Merge branch 'dev' into docs_updates_to_assistant_id
This commit is contained in:
commit
5a6c20c4c9
10
README.md
10
README.md
@ -76,31 +76,31 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute
|
|||||||
<tr style="text-align:center">
|
<tr style="text-align:center">
|
||||||
<td style="text-align:center"><b>Experimental (Nightly Build)</b></td>
|
<td style="text-align:center"><b>Experimental (Nightly Build)</b></td>
|
||||||
<td style="text-align:center">
|
<td style="text-align:center">
|
||||||
<a href='https://delta.jan.ai/latest/jan-win-x64-0.4.7-291.exe'>
|
<a href='https://delta.jan.ai/latest/jan-win-x64-0.4.7-293.exe'>
|
||||||
<img src='./docs/static/img/windows.png' style="height:14px; width: 14px" />
|
<img src='./docs/static/img/windows.png' style="height:14px; width: 14px" />
|
||||||
<b>jan.exe</b>
|
<b>jan.exe</b>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align:center">
|
<td style="text-align:center">
|
||||||
<a href='https://delta.jan.ai/latest/jan-mac-x64-0.4.7-291.dmg'>
|
<a href='https://delta.jan.ai/latest/jan-mac-x64-0.4.7-293.dmg'>
|
||||||
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
|
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
|
||||||
<b>Intel</b>
|
<b>Intel</b>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align:center">
|
<td style="text-align:center">
|
||||||
<a href='https://delta.jan.ai/latest/jan-mac-arm64-0.4.7-291.dmg'>
|
<a href='https://delta.jan.ai/latest/jan-mac-arm64-0.4.7-293.dmg'>
|
||||||
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
|
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
|
||||||
<b>M1/M2</b>
|
<b>M1/M2</b>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align:center">
|
<td style="text-align:center">
|
||||||
<a href='https://delta.jan.ai/latest/jan-linux-amd64-0.4.7-291.deb'>
|
<a href='https://delta.jan.ai/latest/jan-linux-amd64-0.4.7-293.deb'>
|
||||||
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
|
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
|
||||||
<b>jan.deb</b>
|
<b>jan.deb</b>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align:center">
|
<td style="text-align:center">
|
||||||
<a href='https://delta.jan.ai/latest/jan-linux-x86_64-0.4.7-291.AppImage'>
|
<a href='https://delta.jan.ai/latest/jan-linux-x86_64-0.4.7-293.AppImage'>
|
||||||
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
|
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
|
||||||
<b>jan.AppImage</b>
|
<b>jan.AppImage</b>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@ -42,6 +42,24 @@ export class Downloader implements Processor {
|
|||||||
// Downloading file to a temp file first
|
// Downloading file to a temp file first
|
||||||
const downloadingTempFile = `${destination}.download`
|
const downloadingTempFile = `${destination}.download`
|
||||||
|
|
||||||
|
// adding initial download state
|
||||||
|
const initialDownloadState: DownloadState = {
|
||||||
|
modelId,
|
||||||
|
fileName,
|
||||||
|
time: {
|
||||||
|
elapsed: 0,
|
||||||
|
remaining: 0,
|
||||||
|
},
|
||||||
|
speed: 0,
|
||||||
|
percent: 0,
|
||||||
|
size: {
|
||||||
|
total: 0,
|
||||||
|
transferred: 0,
|
||||||
|
},
|
||||||
|
downloadState: 'downloading',
|
||||||
|
}
|
||||||
|
DownloadManager.instance.downloadProgressMap[modelId] = initialDownloadState
|
||||||
|
|
||||||
progress(rq, {})
|
progress(rq, {})
|
||||||
.on('progress', (state: any) => {
|
.on('progress', (state: any) => {
|
||||||
const downloadState: DownloadState = {
|
const downloadState: DownloadState = {
|
||||||
|
|||||||
@ -93,6 +93,110 @@ paths:
|
|||||||
"temperature": 0.7,
|
"temperature": 0.7,
|
||||||
"top_p": 0.95
|
"top_p": 0.95
|
||||||
}'
|
}'
|
||||||
|
- lang: JavaScript
|
||||||
|
source: |-
|
||||||
|
const data = {
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
content: 'You are a helpful assistant.',
|
||||||
|
role: 'system'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: 'Hello!',
|
||||||
|
role: 'user'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
model: 'tinyllama-1.1b',
|
||||||
|
stream: true,
|
||||||
|
max_tokens: 2048,
|
||||||
|
stop: ['hello'],
|
||||||
|
frequency_penalty: 0,
|
||||||
|
presence_penalty: 0,
|
||||||
|
temperature: 0.7,
|
||||||
|
top_p: 0.95
|
||||||
|
};
|
||||||
|
|
||||||
|
fetch('http://localhost:1337/v1/chat/completions', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify(data)
|
||||||
|
})
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
- lang: Node.js
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
const data = {
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
content: 'You are a helpful assistant.',
|
||||||
|
role: 'system'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
content: 'Hello!',
|
||||||
|
role: 'user'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
model: 'tinyllama-1.1b',
|
||||||
|
stream: true,
|
||||||
|
max_tokens: 2048,
|
||||||
|
stop: ['hello'],
|
||||||
|
frequency_penalty: 0,
|
||||||
|
presence_penalty: 0,
|
||||||
|
temperature: 0.7,
|
||||||
|
top_p: 0.95
|
||||||
|
};
|
||||||
|
|
||||||
|
fetch('http://localhost:1337/v1/chat/completions', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
'Accept': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify(data)
|
||||||
|
})
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
- lang: Python
|
||||||
|
source: >-
|
||||||
|
import requests
|
||||||
|
|
||||||
|
import json
|
||||||
|
|
||||||
|
|
||||||
|
data = {
|
||||||
|
"messages": [
|
||||||
|
{
|
||||||
|
"content": "You are a helpful assistant.",
|
||||||
|
"role": "system"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"content": "Hello!",
|
||||||
|
"role": "user"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"model": "tinyllama-1.1b",
|
||||||
|
"stream": true,
|
||||||
|
"max_tokens": 2048,
|
||||||
|
"stop": [
|
||||||
|
"hello"
|
||||||
|
],
|
||||||
|
"frequency_penalty": 0,
|
||||||
|
"presence_penalty": 0,
|
||||||
|
"temperature": 0.7,
|
||||||
|
"top_p": 0.95
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
response =
|
||||||
|
requests.post('http://localhost:1337/v1/chat/completions',
|
||||||
|
json=data)
|
||||||
|
|
||||||
|
print(response.json())
|
||||||
/models:
|
/models:
|
||||||
get:
|
get:
|
||||||
operationId: listModels
|
operationId: listModels
|
||||||
@ -113,10 +217,38 @@ paths:
|
|||||||
$ref: specs/models.yaml#/components/schemas/ListModelsResponse
|
$ref: specs/models.yaml#/components/schemas/ListModelsResponse
|
||||||
x-codeSamples:
|
x-codeSamples:
|
||||||
- lang: cURL
|
- lang: cURL
|
||||||
source: |
|
source: |-
|
||||||
curl -X 'GET' \
|
curl -X 'GET' \
|
||||||
'http://localhost:1337/v1/models' \
|
'http://localhost:1337/v1/models' \
|
||||||
-H 'accept: application/json'
|
-H 'accept: application/json'
|
||||||
|
- lang: JavaScript
|
||||||
|
source: |-
|
||||||
|
const response = await fetch('http://localhost:1337/v1/models', {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {Accept: 'application/json'}
|
||||||
|
});
|
||||||
|
const data = await response.json();
|
||||||
|
- lang: Python
|
||||||
|
source: |-
|
||||||
|
import requests
|
||||||
|
|
||||||
|
url = 'http://localhost:1337/v1/models'
|
||||||
|
headers = {'Accept': 'application/json'}
|
||||||
|
response = requests.get(url, headers=headers)
|
||||||
|
data = response.json()
|
||||||
|
- lang: Node.js
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
const url = 'http://localhost:1337/v1/models';
|
||||||
|
const options = {
|
||||||
|
method: 'GET',
|
||||||
|
headers: { Accept: 'application/json' }
|
||||||
|
};
|
||||||
|
|
||||||
|
fetch(url, options)
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(json => console.log(json));
|
||||||
/models/download/{model_id}:
|
/models/download/{model_id}:
|
||||||
get:
|
get:
|
||||||
operationId: downloadModel
|
operationId: downloadModel
|
||||||
@ -143,10 +275,40 @@ paths:
|
|||||||
$ref: specs/models.yaml#/components/schemas/DownloadModelResponse
|
$ref: specs/models.yaml#/components/schemas/DownloadModelResponse
|
||||||
x-codeSamples:
|
x-codeSamples:
|
||||||
- lang: cURL
|
- lang: cURL
|
||||||
source: |
|
source: |-
|
||||||
curl -X 'GET' \
|
curl -X 'GET' \
|
||||||
'http://localhost:1337/v1/models/download/{model_id}' \
|
'http://localhost:1337/v1/models/download/{model_id}' \
|
||||||
-H 'accept: application/json'
|
-H 'accept: application/json'
|
||||||
|
- lang: JavaScript
|
||||||
|
source: >-
|
||||||
|
const response = await
|
||||||
|
fetch('http://localhost:1337/v1/models/download/{model_id}', {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {accept: 'application/json'}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
const data = await response.json();
|
||||||
|
- lang: Node.js
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
fetch('http://localhost:1337/v1/models/download/{model_id}', {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {accept: 'application/json'}
|
||||||
|
})
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(data => console.log(data));
|
||||||
|
- lang: Python
|
||||||
|
source: >-
|
||||||
|
import requests
|
||||||
|
|
||||||
|
|
||||||
|
response =
|
||||||
|
requests.get('http://localhost:1337/v1/models/download/{model_id}',
|
||||||
|
headers={'accept': 'application/json'})
|
||||||
|
|
||||||
|
data = response.json()
|
||||||
/models/{model_id}:
|
/models/{model_id}:
|
||||||
get:
|
get:
|
||||||
operationId: retrieveModel
|
operationId: retrieveModel
|
||||||
@ -176,10 +338,47 @@ paths:
|
|||||||
$ref: specs/models.yaml#/components/schemas/GetModelResponse
|
$ref: specs/models.yaml#/components/schemas/GetModelResponse
|
||||||
x-codeSamples:
|
x-codeSamples:
|
||||||
- lang: cURL
|
- lang: cURL
|
||||||
source: |
|
source: |-
|
||||||
curl -X 'GET' \
|
curl -X 'GET' \
|
||||||
'http://localhost:1337/v1/models/{model_id}' \
|
'http://localhost:1337/v1/models/{model_id}' \
|
||||||
-H 'accept: application/json'
|
-H 'accept: application/json'
|
||||||
|
- lang: JavaScript
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
const modelId = 'mistral-ins-7b-q4';
|
||||||
|
|
||||||
|
fetch(`http://localhost:1337/v1/models/${modelId}`, {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {'accept': 'application/json'}
|
||||||
|
})
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(json => console.log(json));
|
||||||
|
- lang: Node.js
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
const modelId = 'mistral-ins-7b-q4';
|
||||||
|
|
||||||
|
fetch(`http://localhost:1337/v1/models/${modelId}`, {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {'accept': 'application/json'}
|
||||||
|
})
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(json => console.log(json));
|
||||||
|
- lang: Python
|
||||||
|
source: >-
|
||||||
|
import requests
|
||||||
|
|
||||||
|
|
||||||
|
model_id = 'mistral-ins-7b-q4'
|
||||||
|
|
||||||
|
|
||||||
|
response =
|
||||||
|
requests.get(f'http://localhost:1337/v1/models/{model_id}',
|
||||||
|
headers={'accept': 'application/json'})
|
||||||
|
|
||||||
|
print(response.json())
|
||||||
delete:
|
delete:
|
||||||
operationId: deleteModel
|
operationId: deleteModel
|
||||||
tags:
|
tags:
|
||||||
@ -207,10 +406,45 @@ paths:
|
|||||||
$ref: specs/models.yaml#/components/schemas/DeleteModelResponse
|
$ref: specs/models.yaml#/components/schemas/DeleteModelResponse
|
||||||
x-codeSamples:
|
x-codeSamples:
|
||||||
- lang: cURL
|
- lang: cURL
|
||||||
source: |
|
source: |-
|
||||||
curl -X 'DELETE' \
|
curl -X 'DELETE' \
|
||||||
'http://localhost:1337/v1/models/{model_id}' \
|
'http://localhost:1337/v1/models/{model_id}' \
|
||||||
-H 'accept: application/json'
|
-H 'accept: application/json'
|
||||||
|
- lang: JavaScript
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
const modelId = 'mistral-ins-7b-q4';
|
||||||
|
|
||||||
|
fetch(`http://localhost:1337/v1/models/${modelId}`, {
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: { 'accept': 'application/json' }
|
||||||
|
})
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(json => console.log(json));
|
||||||
|
- lang: Node.js
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
const modelId = 'mistral-ins-7b-q4';
|
||||||
|
|
||||||
|
fetch(`http://localhost:1337/v1/models/${modelId}`, {
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: { 'accept': 'application/json' }
|
||||||
|
})
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(json => console.log(json));
|
||||||
|
- lang: Python
|
||||||
|
source: >-
|
||||||
|
import requests
|
||||||
|
|
||||||
|
|
||||||
|
model_id = 'mistral-ins-7b-q4'
|
||||||
|
|
||||||
|
|
||||||
|
response =
|
||||||
|
requests.delete(f'http://localhost:1337/v1/models/{model_id}',
|
||||||
|
headers={'accept': 'application/json'})
|
||||||
/threads:
|
/threads:
|
||||||
post:
|
post:
|
||||||
operationId: createThread
|
operationId: createThread
|
||||||
@ -249,6 +483,73 @@ paths:
|
|||||||
"content": "How does AI work? Explain it in simple terms."
|
"content": "How does AI work? Explain it in simple terms."
|
||||||
}]
|
}]
|
||||||
}'
|
}'
|
||||||
|
- lang: JavaScript
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
fetch('http://localhost:1337/v1/threads', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
role: 'user',
|
||||||
|
content: 'Hello, what is AI?',
|
||||||
|
file_ids: ['file-abc123']
|
||||||
|
},
|
||||||
|
{
|
||||||
|
role: 'user',
|
||||||
|
content: 'How does AI work? Explain it in simple terms.'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
});
|
||||||
|
- lang: Node.js
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
fetch('http://localhost:1337/v1/threads', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
messages: [
|
||||||
|
{
|
||||||
|
role: 'user',
|
||||||
|
content: 'Hello, what is AI?',
|
||||||
|
file_ids: ['file-abc123']
|
||||||
|
},
|
||||||
|
{
|
||||||
|
role: 'user',
|
||||||
|
content: 'How does AI work? Explain it in simple terms.'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
});
|
||||||
|
- lang: Python
|
||||||
|
source: |-
|
||||||
|
import requests
|
||||||
|
|
||||||
|
url = 'http://localhost:1337/v1/threads'
|
||||||
|
payload = {
|
||||||
|
'messages': [
|
||||||
|
{
|
||||||
|
'role': 'user',
|
||||||
|
'content': 'Hello, what is AI?',
|
||||||
|
'file_ids': ['file-abc123']
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'role': 'user',
|
||||||
|
'content': 'How does AI work? Explain it in simple terms.'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
response = requests.post(url, json=payload)
|
||||||
|
print(response.text)
|
||||||
get:
|
get:
|
||||||
operationId: listThreads
|
operationId: listThreads
|
||||||
tags:
|
tags:
|
||||||
@ -282,9 +583,36 @@ paths:
|
|||||||
metadata: {}
|
metadata: {}
|
||||||
x-codeSamples:
|
x-codeSamples:
|
||||||
- lang: cURL
|
- lang: cURL
|
||||||
source: |
|
source: |-
|
||||||
curl http://localhost:1337/v1/threads \
|
curl http://localhost:1337/v1/threads \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json"
|
||||||
|
- lang: JavaScript
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
fetch('http://localhost:1337/v1/threads', {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {'Content-Type': 'application/json'}
|
||||||
|
}).then(res => res.json())
|
||||||
|
.then(json => console.log(json));
|
||||||
|
- lang: Node.js
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
fetch('http://localhost:1337/v1/threads', {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {'Content-Type': 'application/json'}
|
||||||
|
}).then(res => res.json())
|
||||||
|
.then(json => console.log(json));
|
||||||
|
- lang: Python
|
||||||
|
source: |-
|
||||||
|
import requests
|
||||||
|
|
||||||
|
url = 'http://localhost:1337/v1/threads'
|
||||||
|
headers = {'Content-Type': 'application/json'}
|
||||||
|
|
||||||
|
response = requests.get(url, headers=headers)
|
||||||
|
print(response.json())
|
||||||
/threads/{thread_id}:
|
/threads/{thread_id}:
|
||||||
get:
|
get:
|
||||||
operationId: getThread
|
operationId: getThread
|
||||||
@ -442,9 +770,35 @@ paths:
|
|||||||
metadata: {}
|
metadata: {}
|
||||||
x-codeSamples:
|
x-codeSamples:
|
||||||
- lang: cURL
|
- lang: cURL
|
||||||
source: |
|
source: |-
|
||||||
curl http://localhost:1337/v1/assistants \
|
curl http://localhost:1337/v1/assistants \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json"
|
||||||
|
- lang: JavaScript
|
||||||
|
source: |-
|
||||||
|
fetch('http://localhost:1337/v1/assistants', {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
- lang: Node.js
|
||||||
|
source: |-
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
fetch('http://localhost:1337/v1/assistants', {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
- lang: Python
|
||||||
|
source: |-
|
||||||
|
import requests
|
||||||
|
|
||||||
|
url = 'http://localhost:1337/v1/assistants'
|
||||||
|
headers = {'Content-Type': 'application/json'}
|
||||||
|
|
||||||
|
response = requests.get(url, headers=headers)
|
||||||
/assistants/{assistant_id}:
|
/assistants/{assistant_id}:
|
||||||
get:
|
get:
|
||||||
operationId: getAssistant
|
operationId: getAssistant
|
||||||
|
|||||||
@ -42,69 +42,10 @@
|
|||||||
--danger: 346.8 77.2% 49.8%;
|
--danger: 346.8 77.2% 49.8%;
|
||||||
--danger-foreground: 355.7 100% 97.3%;
|
--danger-foreground: 355.7 100% 97.3%;
|
||||||
|
|
||||||
|
--secondary: 60 4.8% 95.9%;
|
||||||
|
--secondary-foreground: 24 9.8% 10%;
|
||||||
|
|
||||||
--border: 20 5.9% 90%;
|
--border: 20 5.9% 90%;
|
||||||
--input: 20 5.9% 90%;
|
--input: 20 5.9% 90%;
|
||||||
--ring: 20 14.3% 4.1%;
|
--ring: 20 14.3% 4.1%;
|
||||||
|
|
||||||
.primary-blue {
|
|
||||||
--primary: 221 83% 53%;
|
|
||||||
--primary-foreground: 210 40% 98%;
|
|
||||||
|
|
||||||
--secondary: 60 4.8% 95.9%;
|
|
||||||
--secondary-foreground: 24 9.8% 10%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.primary-green {
|
|
||||||
--primary: 142.1 76.2% 36.3%;
|
|
||||||
--primary-foreground: 355.7 100% 97.3%;
|
|
||||||
|
|
||||||
--secondary: 240 4.8% 95.9%;
|
|
||||||
--secondary-foreground: 240 5.9% 10%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.primary-purple {
|
|
||||||
--primary: 262.1 83.3% 57.8%;
|
|
||||||
--primary-foreground: 210 20% 98%;
|
|
||||||
|
|
||||||
--secondary: 220 14.3% 95.9%;
|
|
||||||
--secondary-foreground: 220.9 39.3% 11%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark {
|
|
||||||
--background: 20 14.3% 4.1%;
|
|
||||||
--foreground: 60 9.1% 97.8%;
|
|
||||||
|
|
||||||
--muted: 12 6.5% 15.1%;
|
|
||||||
--muted-foreground: 24 5.4% 63.9%;
|
|
||||||
|
|
||||||
--danger: 346.8 77.2% 49.8%;
|
|
||||||
--danger-foreground: 355.7 100% 97.3%;
|
|
||||||
|
|
||||||
--border: 12 6.5% 15.1%;
|
|
||||||
--input: 12 6.5% 15.1%;
|
|
||||||
--ring: 35.5 91.7% 32.9%;
|
|
||||||
|
|
||||||
.primary-blue {
|
|
||||||
--primary: 221 83% 53%;
|
|
||||||
--primary-foreground: 222.2 47.4% 11.2%;
|
|
||||||
|
|
||||||
--secondary: 12 6.5% 15.1%;
|
|
||||||
--secondary-foreground: 60 9.1% 97.8%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.primary-green {
|
|
||||||
--primary: 142.1 70.6% 45.3%;
|
|
||||||
--primary-foreground: 144.9 80.4% 10%;
|
|
||||||
--secondary: 240 3.7% 15.9%;
|
|
||||||
--secondary-foreground: 0 0% 98%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.primary-purple {
|
|
||||||
--primary: 263.4 70% 50.4%;
|
|
||||||
--primary-foreground: 210 20% 98%;
|
|
||||||
|
|
||||||
--secondary: 215 27.9% 16.9%;
|
|
||||||
--secondary-foreground: 210 20% 98%;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user