@bexis2/bexis2-core-ui 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/TableView.svelte +1 -1
- package/dist/components/File/FileIcon.svelte +45 -45
- package/dist/components/File/FileInfo.svelte +13 -13
- package/dist/components/ListView.svelte +5 -5
- package/dist/components/form/Checkbox.svelte +13 -13
- package/dist/components/form/CheckboxKvPList.svelte +16 -16
- package/dist/components/form/CheckboxList.svelte +10 -10
- package/dist/components/form/DateInput.svelte +14 -14
- package/dist/components/form/DropdownKvP.svelte +54 -54
- package/dist/components/form/NumberInput.svelte +15 -15
- package/dist/components/form/TextArea.svelte +14 -14
- package/dist/components/form/TextInput.svelte +15 -15
- package/dist/components/page/Alert.svelte +28 -28
- package/dist/components/page/BackToTop.svelte +30 -30
- package/dist/components/page/Docs.svelte +22 -22
- package/dist/components/page/ErrorMessage.svelte +8 -8
- package/dist/components/page/Footer.svelte +5 -5
- package/dist/components/page/Header.svelte +5 -5
- package/dist/components/page/HelpPopUp.svelte +30 -30
- package/dist/components/page/PageCaller.js +19 -19
- package/dist/components/page/Spinner.svelte +14 -14
- package/dist/components/page/menu/MenuDataCaller.js +10 -10
- package/dist/css/core.ui.postcss +17 -17
- package/dist/css/themes/theme-bexis2.css +96 -96
- package/dist/css/themes/theme-crimson.css +101 -101
- package/dist/css/themes/theme-gold-nouveau.css +140 -140
- package/dist/css/themes/theme-hamlindigo.css +112 -112
- package/dist/css/themes/theme-modern.css +127 -127
- package/dist/css/themes/theme-rocket.css +119 -119
- package/dist/css/themes/theme-sahara.css +128 -128
- package/dist/css/themes/theme-seafoam.css +122 -122
- package/dist/css/themes/theme-seasonal.css +115 -115
- package/dist/css/themes/theme-skeleton.css +118 -118
- package/dist/css/themes/theme-vintage.css +125 -125
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/services/BaseCaller.js +16 -16
- package/dist/stores/pageStores.js +1 -1
- package/dist/themes/theme-bexis2.d.ts +1 -1
- package/dist/themes/theme-bexis2.js +93 -93
- package/package.json +1 -1
- package/src/lib/TableView.svelte +1 -1
- package/src/lib/components/CodeEditor/CodeEditor.svelte +1 -1
- package/src/lib/components/ListView.svelte +11 -11
- package/src/lib/components/Table/filter.ts +141 -141
- package/src/lib/components/file/FileIcon.svelte +45 -45
- package/src/lib/components/file/FileInfo.svelte +13 -13
- package/src/lib/components/form/Checkbox.svelte +24 -24
- package/src/lib/components/form/CheckboxKvPList.svelte +29 -29
- package/src/lib/components/form/CheckboxList.svelte +21 -21
- package/src/lib/components/form/DateInput.svelte +27 -27
- package/src/lib/components/form/DropdownKvP.svelte +54 -54
- package/src/lib/components/form/NumberInput.svelte +30 -30
- package/src/lib/components/form/TextArea.svelte +28 -28
- package/src/lib/components/form/TextInput.svelte +28 -28
- package/src/lib/components/page/Alert.svelte +41 -41
- package/src/lib/components/page/BackToTop.svelte +30 -30
- package/src/lib/components/page/Docs.svelte +46 -46
- package/src/lib/components/page/ErrorMessage.svelte +10 -10
- package/src/lib/components/page/Footer.svelte +18 -18
- package/src/lib/components/page/Header.svelte +18 -18
- package/src/lib/components/page/HelpPopUp.svelte +72 -72
- package/src/lib/components/page/Notification.svelte +42 -47
- package/src/lib/components/page/Page.svelte +0 -1
- package/src/lib/components/page/PageCaller.js +19 -19
- package/src/lib/components/page/Spinner.svelte +20 -20
- package/src/lib/components/page/menu/MenuDataCaller.js +10 -10
- package/src/lib/css/core.ui.postcss +17 -17
- package/src/lib/css/themes/theme-bexis2.css +96 -96
- package/src/lib/css/themes/theme-crimson.css +101 -101
- package/src/lib/css/themes/theme-gold-nouveau.css +140 -140
- package/src/lib/css/themes/theme-hamlindigo.css +112 -112
- package/src/lib/css/themes/theme-modern.css +127 -127
- package/src/lib/css/themes/theme-rocket.css +119 -119
- package/src/lib/css/themes/theme-sahara.css +128 -128
- package/src/lib/css/themes/theme-seafoam.css +122 -122
- package/src/lib/css/themes/theme-seasonal.css +115 -115
- package/src/lib/css/themes/theme-skeleton.css +118 -118
- package/src/lib/css/themes/theme-vintage.css +125 -125
- package/src/lib/index.ts +5 -0
- package/src/lib/models/Page.ts +40 -40
- package/src/lib/services/Api.ts +55 -55
- package/src/lib/services/BaseCaller.js +16 -16
- package/src/lib/stores/apiStores.ts +34 -34
- package/src/lib/stores/pageStores.ts +4 -3
- package/src/lib/themes/theme-bexis2.ts +95 -97
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { helpStore } from '$store/pageStores';
|
|
3
|
-
import type { helpItemType, helpStoreType } from '$models/Models';
|
|
4
|
-
import Fa from 'svelte-fa/src/fa.svelte';
|
|
5
|
-
import { faQuestion } from '@fortawesome/free-solid-svg-icons';
|
|
6
|
-
|
|
7
|
-
//popup
|
|
8
|
-
import { popup } from '@skeletonlabs/skeleton';
|
|
9
|
-
import type { PopupSettings } from '@skeletonlabs/skeleton';
|
|
10
|
-
//import { computePosition, autoUpdate, offset, shift, flip, arrow } from '@floating-ui/dom';
|
|
11
|
-
//import { storePopup } from '@skeletonlabs/skeleton';
|
|
12
|
-
import delay from 'delay';
|
|
13
|
-
|
|
14
|
-
export let active: boolean = false;
|
|
15
|
-
|
|
16
|
-
let hs: helpStoreType;
|
|
17
|
-
$: helpStore.subscribe((value) => {
|
|
18
|
-
hs = value;
|
|
19
|
-
});
|
|
20
|
-
let helpItem: helpItemType = { id: undefined, name: '', description: '' };
|
|
21
|
-
$: helpItem =
|
|
22
|
-
active === true
|
|
23
|
-
? hs.itemId == ''
|
|
24
|
-
? { id: undefined, name: '', description: '' }
|
|
25
|
-
: hs.helpItems.find((h) => h.id === hs.itemId)!
|
|
26
|
-
: { id: undefined, name: '', description: '' };
|
|
27
|
-
|
|
28
|
-
const helpClick: PopupSettings = {
|
|
29
|
-
event: 'click',
|
|
30
|
-
target: 'helpTarget',
|
|
31
|
-
placement: 'top',
|
|
32
|
-
state: (s) => {
|
|
33
|
-
if (s != true) {
|
|
34
|
-
resetItemId();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
async function resetItemId() {
|
|
40
|
-
await delay(100);
|
|
41
|
-
helpStore.resetItemId();
|
|
42
|
-
}
|
|
43
|
-
</script>
|
|
44
|
-
|
|
45
|
-
{#if active}
|
|
46
|
-
<button
|
|
47
|
-
id="helpButton"
|
|
48
|
-
class="chip variant-filled-warning fixed bottom-5 right-10 shadow-md"
|
|
49
|
-
use:popup={helpClick}><Fa icon={faQuestion} /></button
|
|
50
|
-
>
|
|
51
|
-
|
|
52
|
-
<div
|
|
53
|
-
class="card bg-primary-300 border-solid border-2 border-primary-500 shadow-md"
|
|
54
|
-
data-popup="helpTarget"
|
|
55
|
-
>
|
|
56
|
-
{#if helpItem && helpItem.id}
|
|
57
|
-
<div class="p-5 w-96 space-y-4" id={'helpPopup.' + helpItem.id}>
|
|
58
|
-
<h3 class="h3">{helpItem.name}</h3>
|
|
59
|
-
<p>{@html helpItem.description}</p>
|
|
60
|
-
{#if helpItem.link}
|
|
61
|
-
<p><a class="anchor" href={helpItem.link}>... read more</a></p>
|
|
62
|
-
{/if}
|
|
63
|
-
</div>
|
|
64
|
-
{:else}
|
|
65
|
-
<div class="p-5 w-96 space-y-4" id="helpPopup">
|
|
66
|
-
<h3 class="h3">Help</h3>
|
|
67
|
-
<p>Hover over the Element, you like to know more about.</p>
|
|
68
|
-
</div>
|
|
69
|
-
{/if}
|
|
70
|
-
<div class="arrow variant-filled-primary" />
|
|
71
|
-
</div>
|
|
72
|
-
{/if}
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { helpStore } from '$store/pageStores';
|
|
3
|
+
import type { helpItemType, helpStoreType } from '$models/Models';
|
|
4
|
+
import Fa from 'svelte-fa/src/fa.svelte';
|
|
5
|
+
import { faQuestion } from '@fortawesome/free-solid-svg-icons';
|
|
6
|
+
|
|
7
|
+
//popup
|
|
8
|
+
import { popup } from '@skeletonlabs/skeleton';
|
|
9
|
+
import type { PopupSettings } from '@skeletonlabs/skeleton';
|
|
10
|
+
//import { computePosition, autoUpdate, offset, shift, flip, arrow } from '@floating-ui/dom';
|
|
11
|
+
//import { storePopup } from '@skeletonlabs/skeleton';
|
|
12
|
+
import delay from 'delay';
|
|
13
|
+
|
|
14
|
+
export let active: boolean = false;
|
|
15
|
+
|
|
16
|
+
let hs: helpStoreType;
|
|
17
|
+
$: helpStore.subscribe((value) => {
|
|
18
|
+
hs = value;
|
|
19
|
+
});
|
|
20
|
+
let helpItem: helpItemType = { id: undefined, name: '', description: '' };
|
|
21
|
+
$: helpItem =
|
|
22
|
+
active === true
|
|
23
|
+
? hs.itemId == ''
|
|
24
|
+
? { id: undefined, name: '', description: '' }
|
|
25
|
+
: hs.helpItems.find((h) => h.id === hs.itemId)!
|
|
26
|
+
: { id: undefined, name: '', description: '' };
|
|
27
|
+
|
|
28
|
+
const helpClick: PopupSettings = {
|
|
29
|
+
event: 'click',
|
|
30
|
+
target: 'helpTarget',
|
|
31
|
+
placement: 'top',
|
|
32
|
+
state: (s) => {
|
|
33
|
+
if (s != true) {
|
|
34
|
+
resetItemId();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
async function resetItemId() {
|
|
40
|
+
await delay(100);
|
|
41
|
+
helpStore.resetItemId();
|
|
42
|
+
}
|
|
43
|
+
</script>
|
|
44
|
+
|
|
45
|
+
{#if active}
|
|
46
|
+
<button
|
|
47
|
+
id="helpButton"
|
|
48
|
+
class="chip variant-filled-warning fixed bottom-5 right-10 shadow-md"
|
|
49
|
+
use:popup={helpClick}><Fa icon={faQuestion} /></button
|
|
50
|
+
>
|
|
51
|
+
|
|
52
|
+
<div
|
|
53
|
+
class="card bg-primary-300 border-solid border-2 border-primary-500 shadow-md"
|
|
54
|
+
data-popup="helpTarget"
|
|
55
|
+
>
|
|
56
|
+
{#if helpItem && helpItem.id}
|
|
57
|
+
<div class="p-5 w-96 space-y-4" id={'helpPopup.' + helpItem.id}>
|
|
58
|
+
<h3 class="h3">{helpItem.name}</h3>
|
|
59
|
+
<p>{@html helpItem.description}</p>
|
|
60
|
+
{#if helpItem.link}
|
|
61
|
+
<p><a class="anchor" href={helpItem.link}>... read more</a></p>
|
|
62
|
+
{/if}
|
|
63
|
+
</div>
|
|
64
|
+
{:else}
|
|
65
|
+
<div class="p-5 w-96 space-y-4" id="helpPopup">
|
|
66
|
+
<h3 class="h3">Help</h3>
|
|
67
|
+
<p>Hover over the Element, you like to know more about.</p>
|
|
68
|
+
</div>
|
|
69
|
+
{/if}
|
|
70
|
+
<div class="arrow variant-filled-primary" />
|
|
71
|
+
</div>
|
|
72
|
+
{/if}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import { Toast, getToastStore, type ToastSettings } from '@skeletonlabs/skeleton';
|
|
4
4
|
import { notificationStore } from '$store/pageStores';
|
|
5
5
|
import type { notificationStoreType } from '$models/Models';
|
|
6
|
-
import {notificationType} from '$models/Enums'
|
|
6
|
+
import { notificationType } from '$models/Enums';
|
|
7
7
|
|
|
8
|
-
const toastStore = getToastStore()
|
|
8
|
+
const toastStore = getToastStore();
|
|
9
9
|
|
|
10
10
|
let btnStyle: string;
|
|
11
11
|
$: btnStyle =
|
|
@@ -13,55 +13,50 @@
|
|
|
13
13
|
? notificationStore.getBtnStyle()
|
|
14
14
|
: $notificationStore.btnStyle;
|
|
15
15
|
|
|
16
|
+
$: $notificationStore, triggerToast();
|
|
17
|
+
|
|
18
|
+
onMount(() => {
|
|
19
|
+
toastStore.clear();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
function triggerToast() {
|
|
23
|
+
toastStore.clear();
|
|
24
|
+
|
|
25
|
+
const timeout = 30000;
|
|
26
|
+
let classes = '';
|
|
27
|
+
|
|
28
|
+
if ($notificationStore.message != undefined && $notificationStore.message != '') {
|
|
29
|
+
switch ($notificationStore.notificationType) {
|
|
30
|
+
case notificationType.success:
|
|
31
|
+
classes =
|
|
32
|
+
'bg-success-300 border-solid border-2 border-success-500 shadow-md text-surface-900';
|
|
33
|
+
break;
|
|
34
|
+
case notificationType.warning:
|
|
35
|
+
classes =
|
|
36
|
+
'bg-warning-300 border-solid border-2 border-warning-500 shadow-md text-surface-900';
|
|
37
|
+
break;
|
|
38
|
+
case notificationType.error:
|
|
39
|
+
classes =
|
|
40
|
+
'bg-error-300 border-solid border-2 border-error-500 shadow-md text-surface-900';
|
|
41
|
+
break;
|
|
42
|
+
case notificationType.surface:
|
|
43
|
+
classes =
|
|
44
|
+
'bg-surface-300 border-solid border-2 border-surface-500 shadow-md text-surface-900';
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
16
47
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function triggerToast(){
|
|
24
|
-
toastStore.clear()
|
|
25
|
-
|
|
26
|
-
const timeout = 30000;
|
|
27
|
-
let classes = '';
|
|
28
|
-
|
|
29
|
-
if($notificationStore.message != undefined && $notificationStore.message != '')
|
|
30
|
-
{
|
|
31
|
-
switch ($notificationStore.notificationType) {
|
|
32
|
-
case notificationType.success:
|
|
33
|
-
classes =
|
|
34
|
-
'bg-success-300 border-solid border-2 border-success-500 shadow-md text-surface-900';
|
|
35
|
-
break;
|
|
36
|
-
case notificationType.warning:
|
|
37
|
-
classes =
|
|
38
|
-
'bg-warning-300 border-solid border-2 border-warning-500 shadow-md text-surface-900';
|
|
39
|
-
break;
|
|
40
|
-
case notificationType.error:
|
|
41
|
-
classes =
|
|
42
|
-
'bg-error-300 border-solid border-2 border-error-500 shadow-md text-surface-900';
|
|
43
|
-
break;
|
|
44
|
-
case notificationType.surface:
|
|
45
|
-
classes =
|
|
46
|
-
'bg-surface-300 border-solid border-2 border-surface-500 shadow-md text-surface-900';
|
|
47
|
-
break;
|
|
48
|
+
const notificationToast: ToastSettings = {
|
|
49
|
+
classes: classes,
|
|
50
|
+
message: $notificationStore.message,
|
|
51
|
+
timeout: timeout,
|
|
52
|
+
callback: () => {
|
|
53
|
+
toastStore.clear();
|
|
48
54
|
}
|
|
55
|
+
};
|
|
49
56
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
message: $notificationStore.message,
|
|
53
|
-
timeout: timeout,
|
|
54
|
-
callback: () => {toastStore.clear()}
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
toastStore.trigger(notificationToast);
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
57
|
+
toastStore.trigger(notificationToast);
|
|
58
|
+
}
|
|
61
59
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
60
|
</script>
|
|
66
61
|
|
|
67
62
|
<Toast position="t" buttonDismiss={btnStyle} />
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { Api } from '$lib/services/Api';
|
|
2
|
-
|
|
3
|
-
export const getFooter = async () => {
|
|
4
|
-
try {
|
|
5
|
-
const response = await Api.get('/footer');
|
|
6
|
-
return response.data;
|
|
7
|
-
} catch (error) {
|
|
8
|
-
console.error(error);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export const getHeader = async () => {
|
|
13
|
-
try {
|
|
14
|
-
const response = await Api.get('/header');
|
|
15
|
-
return response.data;
|
|
16
|
-
} catch (error) {
|
|
17
|
-
console.error(error);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
1
|
+
import { Api } from '$lib/services/Api';
|
|
2
|
+
|
|
3
|
+
export const getFooter = async () => {
|
|
4
|
+
try {
|
|
5
|
+
const response = await Api.get('/footer');
|
|
6
|
+
return response.data;
|
|
7
|
+
} catch (error) {
|
|
8
|
+
console.error(error);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const getHeader = async () => {
|
|
13
|
+
try {
|
|
14
|
+
const response = await Api.get('/header');
|
|
15
|
+
return response.data;
|
|
16
|
+
} catch (error) {
|
|
17
|
+
console.error(error);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { positionType } from '$lib/models/Enums';
|
|
3
|
-
|
|
4
|
-
export let textCss = 'text-surface-600';
|
|
5
|
-
export let label = '';
|
|
6
|
-
export let position: positionType = positionType.center;
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<div class="flex justify-{position} items-{position} h-full w-full gap-5 pt-2 {textCss}">
|
|
10
|
-
<div
|
|
11
|
-
class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]"
|
|
12
|
-
role="status"
|
|
13
|
-
>
|
|
14
|
-
<span
|
|
15
|
-
class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
|
|
16
|
-
>Loading...</span
|
|
17
|
-
>
|
|
18
|
-
</div>
|
|
19
|
-
<span>{label}</span>
|
|
20
|
-
</div>
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { positionType } from '$lib/models/Enums';
|
|
3
|
+
|
|
4
|
+
export let textCss = 'text-surface-600';
|
|
5
|
+
export let label = '';
|
|
6
|
+
export let position: positionType = positionType.center;
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<div class="flex justify-{position} items-{position} h-full w-full gap-5 pt-2 {textCss}">
|
|
10
|
+
<div
|
|
11
|
+
class="inline-block h-8 w-8 animate-spin rounded-full border-4 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite]"
|
|
12
|
+
role="status"
|
|
13
|
+
>
|
|
14
|
+
<span
|
|
15
|
+
class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
|
|
16
|
+
>Loading...</span
|
|
17
|
+
>
|
|
18
|
+
</div>
|
|
19
|
+
<span>{label}</span>
|
|
20
|
+
</div>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Api } from '$lib/services/Api';
|
|
2
|
-
|
|
3
|
-
export const getMenuItems = async () => {
|
|
4
|
-
try {
|
|
5
|
-
const response = await Api.get('/menu');
|
|
6
|
-
return response.data;
|
|
7
|
-
} catch (error) {
|
|
8
|
-
console.error(error);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
1
|
+
import { Api } from '$lib/services/Api';
|
|
2
|
+
|
|
3
|
+
export const getMenuItems = async () => {
|
|
4
|
+
try {
|
|
5
|
+
const response = await Api.get('/menu');
|
|
6
|
+
return response.data;
|
|
7
|
+
} catch (error) {
|
|
8
|
+
console.error(error);
|
|
9
|
+
}
|
|
10
|
+
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
/*place global styles here */
|
|
2
|
-
html,
|
|
3
|
-
body {
|
|
4
|
-
@apply h-full;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
h1 {
|
|
8
|
-
@apply text-primary-500;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
:root {
|
|
12
|
-
--background: rgb(var(--color-surface-200));
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
[type='text']:focus {
|
|
16
|
-
--tw-ring-color: #00000;
|
|
17
|
-
}
|
|
1
|
+
/*place global styles here */
|
|
2
|
+
html,
|
|
3
|
+
body {
|
|
4
|
+
@apply h-full;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
h1 {
|
|
8
|
+
@apply text-primary-500;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
:root {
|
|
12
|
+
--background: rgb(var(--color-surface-200));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
[type='text']:focus {
|
|
16
|
+
--tw-ring-color: #00000;
|
|
17
|
+
}
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
/* =~= Theme Properties =~= */
|
|
3
|
-
--theme-font-family-base: system-ui;
|
|
4
|
-
--theme-font-family-heading: system-ui;
|
|
5
|
-
--theme-font-color-base: var(--color-surface-900);
|
|
6
|
-
--theme-font-color-dark: 255 255 255;
|
|
7
|
-
--theme-rounded-base: 4px;
|
|
8
|
-
--theme-rounded-container: 4px;
|
|
9
|
-
--theme-border-base: 1px;
|
|
10
|
-
/* =~= Theme On-X Colors =~= */
|
|
11
|
-
--on-primary: 255 255 255;
|
|
12
|
-
--on-secondary: 255 255 255;
|
|
13
|
-
--on-tertiary: 0 0 0;
|
|
14
|
-
--on-success: 255 255 255;
|
|
15
|
-
--on-warning: 255 255 255;
|
|
16
|
-
--on-error: 255 255 255;
|
|
17
|
-
--on-surface: 0 0 0;
|
|
18
|
-
/* =~= Theme Colors =~= */
|
|
19
|
-
/* primary | #45b2a1 */
|
|
20
|
-
--color-primary-50: 227 243 241; /* ⬅ #e3f3f1 */
|
|
21
|
-
--color-primary-100: 218 240 236; /* ⬅ #daf0ec */
|
|
22
|
-
--color-primary-200: 209 236 232; /* ⬅ #d1ece8 */
|
|
23
|
-
--color-primary-300: 181 224 217; /* ⬅ #b5e0d9 */
|
|
24
|
-
--color-primary-400: 125 201 189; /* ⬅ #7dc9bd */
|
|
25
|
-
--color-primary-500: 69 178 161; /* ⬅ #45b2a1 */
|
|
26
|
-
--color-primary-600: 62 160 145; /* ⬅ #3ea091 */
|
|
27
|
-
--color-primary-700: 52 134 121; /* ⬅ #348679 */
|
|
28
|
-
--color-primary-800: 41 107 97; /* ⬅ #296b61 */
|
|
29
|
-
--color-primary-900: 34 87 79; /* ⬅ #22574f */
|
|
30
|
-
/* secondary | #ff9700 */
|
|
31
|
-
--color-secondary-50: 255 239 217; /* ⬅ #ffefd9 */
|
|
32
|
-
--color-secondary-100: 255 234 204; /* ⬅ #ffeacc */
|
|
33
|
-
--color-secondary-200: 255 229 191; /* ⬅ #ffe5bf */
|
|
34
|
-
--color-secondary-300: 255 213 153; /* ⬅ #ffd599 */
|
|
35
|
-
--color-secondary-400: 255 182 77; /* ⬅ #ffb64d */
|
|
36
|
-
--color-secondary-500: 255 151 0; /* ⬅ #ff9700 */
|
|
37
|
-
--color-secondary-600: 230 136 0; /* ⬅ #e68800 */
|
|
38
|
-
--color-secondary-700: 191 113 0; /* ⬅ #bf7100 */
|
|
39
|
-
--color-secondary-800: 153 91 0; /* ⬅ #995b00 */
|
|
40
|
-
--color-secondary-900: 125 74 0; /* ⬅ #7d4a00 */
|
|
41
|
-
/* tertiary | #bee1da */
|
|
42
|
-
--color-tertiary-50: 245 251 249; /* ⬅ #f5fbf9 */
|
|
43
|
-
--color-tertiary-100: 242 249 248; /* ⬅ #f2f9f8 */
|
|
44
|
-
--color-tertiary-200: 239 248 246; /* ⬅ #eff8f6 */
|
|
45
|
-
--color-tertiary-300: 229 243 240; /* ⬅ #e5f3f0 */
|
|
46
|
-
--color-tertiary-400: 210 234 229; /* ⬅ #d2eae5 */
|
|
47
|
-
--color-tertiary-500: 190 225 218; /* ⬅ #bee1da */
|
|
48
|
-
--color-tertiary-600: 171 203 196; /* ⬅ #abcbc4 */
|
|
49
|
-
--color-tertiary-700: 143 169 164; /* ⬅ #8fa9a4 */
|
|
50
|
-
--color-tertiary-800: 114 135 131; /* ⬅ #728783 */
|
|
51
|
-
--color-tertiary-900: 93 110 107; /* ⬅ #5d6e6b */
|
|
52
|
-
/* success | #4BB543 */
|
|
53
|
-
--color-success-50: 228 244 227; /* ⬅ #e4f4e3 */
|
|
54
|
-
--color-success-100: 219 240 217; /* ⬅ #dbf0d9 */
|
|
55
|
-
--color-success-200: 210 237 208; /* ⬅ #d2edd0 */
|
|
56
|
-
--color-success-300: 183 225 180; /* ⬅ #b7e1b4 */
|
|
57
|
-
--color-success-400: 129 203 123; /* ⬅ #81cb7b */
|
|
58
|
-
--color-success-500: 75 181 67; /* ⬅ #4BB543 */
|
|
59
|
-
--color-success-600: 68 163 60; /* ⬅ #44a33c */
|
|
60
|
-
--color-success-700: 56 136 50; /* ⬅ #388832 */
|
|
61
|
-
--color-success-800: 45 109 40; /* ⬅ #2d6d28 */
|
|
62
|
-
--color-success-900: 37 89 33; /* ⬅ #255921 */
|
|
63
|
-
/* warning | #EAB308 */
|
|
64
|
-
--color-warning-50: 252 244 218; /* ⬅ #fcf4da */
|
|
65
|
-
--color-warning-100: 251 240 206; /* ⬅ #fbf0ce */
|
|
66
|
-
--color-warning-200: 250 236 193; /* ⬅ #faecc1 */
|
|
67
|
-
--color-warning-300: 247 225 156; /* ⬅ #f7e19c */
|
|
68
|
-
--color-warning-400: 240 202 82; /* ⬅ #f0ca52 */
|
|
69
|
-
--color-warning-500: 234 179 8; /* ⬅ #EAB308 */
|
|
70
|
-
--color-warning-600: 211 161 7; /* ⬅ #d3a107 */
|
|
71
|
-
--color-warning-700: 176 134 6; /* ⬅ #b08606 */
|
|
72
|
-
--color-warning-800: 140 107 5; /* ⬅ #8c6b05 */
|
|
73
|
-
--color-warning-900: 115 88 4; /* ⬅ #735804 */
|
|
74
|
-
/* error | #FF0000 */
|
|
75
|
-
--color-error-50: 255 217 217; /* ⬅ #ffd9d9 */
|
|
76
|
-
--color-error-100: 255 204 204; /* ⬅ #ffcccc */
|
|
77
|
-
--color-error-200: 255 191 191; /* ⬅ #ffbfbf */
|
|
78
|
-
--color-error-300: 255 153 153; /* ⬅ #ff9999 */
|
|
79
|
-
--color-error-400: 255 77 77; /* ⬅ #ff4d4d */
|
|
80
|
-
--color-error-500: 255 0 0; /* ⬅ #FF0000 */
|
|
81
|
-
--color-error-600: 230 0 0; /* ⬅ #e60000 */
|
|
82
|
-
--color-error-700: 191 0 0; /* ⬅ #bf0000 */
|
|
83
|
-
--color-error-800: 153 0 0; /* ⬅ #990000 */
|
|
84
|
-
--color-error-900: 125 0 0; /* ⬅ #7d0000 */
|
|
85
|
-
/* surface | #c7c7c7 */
|
|
86
|
-
--color-surface-50: 247 247 247; /* ⬅ #f7f7f7 */
|
|
87
|
-
--color-surface-100: 244 244 244; /* ⬅ #f4f4f4 */
|
|
88
|
-
--color-surface-200: 241 241 241; /* ⬅ #f1f1f1 */
|
|
89
|
-
--color-surface-300: 233 233 233; /* ⬅ #e9e9e9 */
|
|
90
|
-
--color-surface-400: 216 216 216; /* ⬅ #d8d8d8 */
|
|
91
|
-
--color-surface-500: 199 199 199; /* ⬅ #c7c7c7 */
|
|
92
|
-
--color-surface-600: 179 179 179; /* ⬅ #b3b3b3 */
|
|
93
|
-
--color-surface-700: 149 149 149; /* ⬅ #959595 */
|
|
94
|
-
--color-surface-800: 119 119 119; /* ⬅ #777777 */
|
|
95
|
-
--color-surface-900: 98 98 98; /* ⬅ #626262 */
|
|
96
|
-
}
|
|
1
|
+
:root {
|
|
2
|
+
/* =~= Theme Properties =~= */
|
|
3
|
+
--theme-font-family-base: system-ui;
|
|
4
|
+
--theme-font-family-heading: system-ui;
|
|
5
|
+
--theme-font-color-base: var(--color-surface-900);
|
|
6
|
+
--theme-font-color-dark: 255 255 255;
|
|
7
|
+
--theme-rounded-base: 4px;
|
|
8
|
+
--theme-rounded-container: 4px;
|
|
9
|
+
--theme-border-base: 1px;
|
|
10
|
+
/* =~= Theme On-X Colors =~= */
|
|
11
|
+
--on-primary: 255 255 255;
|
|
12
|
+
--on-secondary: 255 255 255;
|
|
13
|
+
--on-tertiary: 0 0 0;
|
|
14
|
+
--on-success: 255 255 255;
|
|
15
|
+
--on-warning: 255 255 255;
|
|
16
|
+
--on-error: 255 255 255;
|
|
17
|
+
--on-surface: 0 0 0;
|
|
18
|
+
/* =~= Theme Colors =~= */
|
|
19
|
+
/* primary | #45b2a1 */
|
|
20
|
+
--color-primary-50: 227 243 241; /* ⬅ #e3f3f1 */
|
|
21
|
+
--color-primary-100: 218 240 236; /* ⬅ #daf0ec */
|
|
22
|
+
--color-primary-200: 209 236 232; /* ⬅ #d1ece8 */
|
|
23
|
+
--color-primary-300: 181 224 217; /* ⬅ #b5e0d9 */
|
|
24
|
+
--color-primary-400: 125 201 189; /* ⬅ #7dc9bd */
|
|
25
|
+
--color-primary-500: 69 178 161; /* ⬅ #45b2a1 */
|
|
26
|
+
--color-primary-600: 62 160 145; /* ⬅ #3ea091 */
|
|
27
|
+
--color-primary-700: 52 134 121; /* ⬅ #348679 */
|
|
28
|
+
--color-primary-800: 41 107 97; /* ⬅ #296b61 */
|
|
29
|
+
--color-primary-900: 34 87 79; /* ⬅ #22574f */
|
|
30
|
+
/* secondary | #ff9700 */
|
|
31
|
+
--color-secondary-50: 255 239 217; /* ⬅ #ffefd9 */
|
|
32
|
+
--color-secondary-100: 255 234 204; /* ⬅ #ffeacc */
|
|
33
|
+
--color-secondary-200: 255 229 191; /* ⬅ #ffe5bf */
|
|
34
|
+
--color-secondary-300: 255 213 153; /* ⬅ #ffd599 */
|
|
35
|
+
--color-secondary-400: 255 182 77; /* ⬅ #ffb64d */
|
|
36
|
+
--color-secondary-500: 255 151 0; /* ⬅ #ff9700 */
|
|
37
|
+
--color-secondary-600: 230 136 0; /* ⬅ #e68800 */
|
|
38
|
+
--color-secondary-700: 191 113 0; /* ⬅ #bf7100 */
|
|
39
|
+
--color-secondary-800: 153 91 0; /* ⬅ #995b00 */
|
|
40
|
+
--color-secondary-900: 125 74 0; /* ⬅ #7d4a00 */
|
|
41
|
+
/* tertiary | #bee1da */
|
|
42
|
+
--color-tertiary-50: 245 251 249; /* ⬅ #f5fbf9 */
|
|
43
|
+
--color-tertiary-100: 242 249 248; /* ⬅ #f2f9f8 */
|
|
44
|
+
--color-tertiary-200: 239 248 246; /* ⬅ #eff8f6 */
|
|
45
|
+
--color-tertiary-300: 229 243 240; /* ⬅ #e5f3f0 */
|
|
46
|
+
--color-tertiary-400: 210 234 229; /* ⬅ #d2eae5 */
|
|
47
|
+
--color-tertiary-500: 190 225 218; /* ⬅ #bee1da */
|
|
48
|
+
--color-tertiary-600: 171 203 196; /* ⬅ #abcbc4 */
|
|
49
|
+
--color-tertiary-700: 143 169 164; /* ⬅ #8fa9a4 */
|
|
50
|
+
--color-tertiary-800: 114 135 131; /* ⬅ #728783 */
|
|
51
|
+
--color-tertiary-900: 93 110 107; /* ⬅ #5d6e6b */
|
|
52
|
+
/* success | #4BB543 */
|
|
53
|
+
--color-success-50: 228 244 227; /* ⬅ #e4f4e3 */
|
|
54
|
+
--color-success-100: 219 240 217; /* ⬅ #dbf0d9 */
|
|
55
|
+
--color-success-200: 210 237 208; /* ⬅ #d2edd0 */
|
|
56
|
+
--color-success-300: 183 225 180; /* ⬅ #b7e1b4 */
|
|
57
|
+
--color-success-400: 129 203 123; /* ⬅ #81cb7b */
|
|
58
|
+
--color-success-500: 75 181 67; /* ⬅ #4BB543 */
|
|
59
|
+
--color-success-600: 68 163 60; /* ⬅ #44a33c */
|
|
60
|
+
--color-success-700: 56 136 50; /* ⬅ #388832 */
|
|
61
|
+
--color-success-800: 45 109 40; /* ⬅ #2d6d28 */
|
|
62
|
+
--color-success-900: 37 89 33; /* ⬅ #255921 */
|
|
63
|
+
/* warning | #EAB308 */
|
|
64
|
+
--color-warning-50: 252 244 218; /* ⬅ #fcf4da */
|
|
65
|
+
--color-warning-100: 251 240 206; /* ⬅ #fbf0ce */
|
|
66
|
+
--color-warning-200: 250 236 193; /* ⬅ #faecc1 */
|
|
67
|
+
--color-warning-300: 247 225 156; /* ⬅ #f7e19c */
|
|
68
|
+
--color-warning-400: 240 202 82; /* ⬅ #f0ca52 */
|
|
69
|
+
--color-warning-500: 234 179 8; /* ⬅ #EAB308 */
|
|
70
|
+
--color-warning-600: 211 161 7; /* ⬅ #d3a107 */
|
|
71
|
+
--color-warning-700: 176 134 6; /* ⬅ #b08606 */
|
|
72
|
+
--color-warning-800: 140 107 5; /* ⬅ #8c6b05 */
|
|
73
|
+
--color-warning-900: 115 88 4; /* ⬅ #735804 */
|
|
74
|
+
/* error | #FF0000 */
|
|
75
|
+
--color-error-50: 255 217 217; /* ⬅ #ffd9d9 */
|
|
76
|
+
--color-error-100: 255 204 204; /* ⬅ #ffcccc */
|
|
77
|
+
--color-error-200: 255 191 191; /* ⬅ #ffbfbf */
|
|
78
|
+
--color-error-300: 255 153 153; /* ⬅ #ff9999 */
|
|
79
|
+
--color-error-400: 255 77 77; /* ⬅ #ff4d4d */
|
|
80
|
+
--color-error-500: 255 0 0; /* ⬅ #FF0000 */
|
|
81
|
+
--color-error-600: 230 0 0; /* ⬅ #e60000 */
|
|
82
|
+
--color-error-700: 191 0 0; /* ⬅ #bf0000 */
|
|
83
|
+
--color-error-800: 153 0 0; /* ⬅ #990000 */
|
|
84
|
+
--color-error-900: 125 0 0; /* ⬅ #7d0000 */
|
|
85
|
+
/* surface | #c7c7c7 */
|
|
86
|
+
--color-surface-50: 247 247 247; /* ⬅ #f7f7f7 */
|
|
87
|
+
--color-surface-100: 244 244 244; /* ⬅ #f4f4f4 */
|
|
88
|
+
--color-surface-200: 241 241 241; /* ⬅ #f1f1f1 */
|
|
89
|
+
--color-surface-300: 233 233 233; /* ⬅ #e9e9e9 */
|
|
90
|
+
--color-surface-400: 216 216 216; /* ⬅ #d8d8d8 */
|
|
91
|
+
--color-surface-500: 199 199 199; /* ⬅ #c7c7c7 */
|
|
92
|
+
--color-surface-600: 179 179 179; /* ⬅ #b3b3b3 */
|
|
93
|
+
--color-surface-700: 149 149 149; /* ⬅ #959595 */
|
|
94
|
+
--color-surface-800: 119 119 119; /* ⬅ #777777 */
|
|
95
|
+
--color-surface-900: 98 98 98; /* ⬅ #626262 */
|
|
96
|
+
}
|