@bexis2/bexis2-core-ui 0.0.18 → 0.0.19

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.
Files changed (46) hide show
  1. package/dist/TableView.svelte +1 -0
  2. package/dist/TableView.svelte.d.ts +23 -0
  3. package/dist/components/File/FileIcon.svelte +49 -0
  4. package/dist/components/File/FileIcon.svelte.d.ts +23 -0
  5. package/dist/components/File/FileInfo.svelte +14 -0
  6. package/dist/components/File/FileInfo.svelte.d.ts +27 -0
  7. package/dist/components/File/FileUploader.svelte +135 -0
  8. package/dist/components/File/FileUploader.svelte.d.ts +27 -0
  9. package/dist/components/ListView.svelte +6 -0
  10. package/dist/components/ListView.svelte.d.ts +14 -0
  11. package/dist/components/Spinner/Spinner.svelte +8 -0
  12. package/dist/components/Spinner/Spinner.svelte.d.ts +23 -0
  13. package/dist/css/core.ui.css +2 -0
  14. package/dist/css/themes/theme-bexis2.css +98 -0
  15. package/dist/css/themes/theme-crimson.css +100 -0
  16. package/dist/css/themes/theme-gold-nouveau.css +140 -0
  17. package/dist/css/themes/theme-hamlindigo.css +111 -0
  18. package/dist/css/themes/theme-modern.css +127 -0
  19. package/dist/css/themes/theme-rocket.css +119 -0
  20. package/dist/css/themes/theme-sahara.css +128 -0
  21. package/dist/css/themes/theme-seafoam.css +121 -0
  22. package/dist/css/themes/theme-seasonal.css +115 -0
  23. package/dist/css/themes/theme-skeleton.css +118 -0
  24. package/dist/css/themes/theme-vintage.css +125 -0
  25. package/dist/index.d.ts +9 -0
  26. package/dist/index.js +9 -0
  27. package/dist/models/Models.d.ts +31 -0
  28. package/dist/models/Models.js +1 -0
  29. package/dist/services/Api.d.ts +7 -0
  30. package/dist/services/Api.js +44 -0
  31. package/dist/stores/apistore.d.ts +4 -0
  32. package/dist/stores/apistore.js +22 -0
  33. package/package.json +5 -1
  34. package/.eslintignore +0 -13
  35. package/.eslintrc.cjs +0 -20
  36. package/.github/workflows/main.yml +0 -44
  37. package/.prettierignore +0 -13
  38. package/.prettierrc +0 -9
  39. package/playwright.config.ts +0 -11
  40. package/postcss.config.cjs +0 -6
  41. package/static/favicon.png +0 -0
  42. package/svelte.config.js +0 -23
  43. package/tailwind.config.cjs +0 -9
  44. package/tests/test.ts +0 -6
  45. package/tsconfig.json +0 -19
  46. package/vite.config.ts +0 -9
@@ -0,0 +1 @@
1
+ <h1>table</h1>
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} TableViewProps */
2
+ /** @typedef {typeof __propDef.events} TableViewEvents */
3
+ /** @typedef {typeof __propDef.slots} TableViewSlots */
4
+ export default class TableView extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type TableViewProps = typeof __propDef.props;
11
+ export type TableViewEvents = typeof __propDef.events;
12
+ export type TableViewSlots = typeof __propDef.slots;
13
+ import { SvelteComponentTyped } from "svelte";
14
+ declare const __propDef: {
15
+ props: {
16
+ [x: string]: never;
17
+ };
18
+ events: {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export {};
@@ -0,0 +1,49 @@
1
+ <script>
2
+
3
+ import Fa from 'svelte-fa'
4
+ import { faFileAudio } from '@fortawesome/free-regular-svg-icons'
5
+ import { faFileVideo } from '@fortawesome/free-regular-svg-icons'
6
+ import { faFileWord } from '@fortawesome/free-regular-svg-icons'
7
+ import { faFilePdf } from '@fortawesome/free-regular-svg-icons'
8
+ import { faFileExcel } from '@fortawesome/free-regular-svg-icons'
9
+ import { faFileAlt } from '@fortawesome/free-regular-svg-icons'
10
+ import { faFileImage } from '@fortawesome/free-regular-svg-icons'
11
+ import { faFileArchive } from '@fortawesome/free-regular-svg-icons'
12
+
13
+ export let type = "";
14
+
15
+ </script>
16
+
17
+ {#if type.includes("excel") || type.includes("spreadsheetml")}
18
+ <Fa icon={faFileExcel} />
19
+ {/if}
20
+
21
+ {#if type.includes("text")}
22
+ <Fa icon={faFileAlt} />
23
+ {/if}
24
+
25
+ {#if type.includes("image")}
26
+ <Fa icon={faFileImage} />
27
+ {/if}
28
+
29
+ {#if type.includes("audio")}
30
+ <Fa icon={faFileAudio} />
31
+ {/if}
32
+
33
+ {#if type.includes("video")}
34
+ <Fa icon={faFileVideo} />
35
+ {/if}
36
+
37
+ {#if type.includes("word")}
38
+ <Fa icon={faFileWord} />
39
+ {/if}
40
+
41
+ {#if type.includes("pdf")}
42
+ <Fa icon={faFilePdf} />
43
+ {/if}
44
+
45
+ {#if type.includes("zip")}
46
+ <Fa icon={faFileArchive} />
47
+ {/if}
48
+
49
+
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} FileIconProps */
2
+ /** @typedef {typeof __propDef.events} FileIconEvents */
3
+ /** @typedef {typeof __propDef.slots} FileIconSlots */
4
+ export default class FileIcon extends SvelteComponentTyped<{
5
+ type?: string | undefined;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type FileIconProps = typeof __propDef.props;
11
+ export type FileIconEvents = typeof __propDef.events;
12
+ export type FileIconSlots = typeof __propDef.slots;
13
+ import { SvelteComponentTyped } from "svelte";
14
+ declare const __propDef: {
15
+ props: {
16
+ type?: string | undefined;
17
+ };
18
+ events: {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export {};
@@ -0,0 +1,14 @@
1
+ <script>
2
+
3
+ import FileIcon from './FileIcon.svelte';
4
+
5
+ export let name="";
6
+ export let type = "";
7
+ // export let description;
8
+ export let size = "";
9
+
10
+ </script>
11
+
12
+ <div style="font-size:{size}">
13
+ <FileIcon {type} /> {name}
14
+ </div>
@@ -0,0 +1,27 @@
1
+ /** @typedef {typeof __propDef.props} FileInfoProps */
2
+ /** @typedef {typeof __propDef.events} FileInfoEvents */
3
+ /** @typedef {typeof __propDef.slots} FileInfoSlots */
4
+ export default class FileInfo extends SvelteComponentTyped<{
5
+ type?: string | undefined;
6
+ name?: string | undefined;
7
+ size?: string | undefined;
8
+ }, {
9
+ [evt: string]: CustomEvent<any>;
10
+ }, {}> {
11
+ }
12
+ export type FileInfoProps = typeof __propDef.props;
13
+ export type FileInfoEvents = typeof __propDef.events;
14
+ export type FileInfoSlots = typeof __propDef.slots;
15
+ import { SvelteComponentTyped } from "svelte";
16
+ declare const __propDef: {
17
+ props: {
18
+ type?: string | undefined;
19
+ name?: string | undefined;
20
+ size?: string | undefined;
21
+ };
22
+ events: {
23
+ [evt: string]: CustomEvent<any>;
24
+ };
25
+ slots: {};
26
+ };
27
+ export {};
@@ -0,0 +1,135 @@
1
+ <script>import DropZone from "svelte-file-dropzone/Dropzone.svelte";
2
+ import Fa from "svelte-fa/src/fa.svelte";
3
+ import Spinner from "../Spinner/Spinner.svelte";
4
+ import { createEventDispatcher } from "svelte";
5
+ import { faTrash } from "@fortawesome/free-solid-svg-icons";
6
+ import { faSave } from "@fortawesome/free-regular-svg-icons";
7
+ import { faFileUpload } from "@fortawesome/free-solid-svg-icons";
8
+ import { Api } from "../../services/Api.js";
9
+ export let id = 0;
10
+ export let version = 1;
11
+ import { onMount } from "svelte";
12
+ export let start = "";
13
+ export let submit = "";
14
+ export let context = "";
15
+ export let data;
16
+ $:
17
+ model = data;
18
+ $:
19
+ submitBt = "submit";
20
+ let maxSize = 0;
21
+ const dispatch = createEventDispatcher();
22
+ let fx;
23
+ let files = { accepted: [], rejected: [] };
24
+ $:
25
+ files;
26
+ onMount(async () => {
27
+ console.log("fileupload - OnMount", data);
28
+ if (!data) {
29
+ load();
30
+ } else {
31
+ model = data;
32
+ }
33
+ if (model) {
34
+ submitBt += context;
35
+ maxSize = model.maxSize * 1024 * 1024;
36
+ }
37
+ });
38
+ async function load() {
39
+ let url = start + "?id=" + id + "&version=" + version;
40
+ const res = await Api.get(url);
41
+ model = await res.data();
42
+ console.log("fileupload", model);
43
+ }
44
+ function handleFilesSelect(e) {
45
+ console.log("handleFilesSelect", e);
46
+ console.log("files", files);
47
+ const { acceptedFiles, fileRejections } = e.detail;
48
+ files.accepted = [...files.accepted, ...acceptedFiles];
49
+ files.rejected = [...files.rejected, ...fileRejections];
50
+ console.log("acceptedFiles", acceptedFiles);
51
+ console.log("files.accepted", files.accepted);
52
+ if (fileRejections.length > 0) {
53
+ console.log("the dropped file is not supported.");
54
+ console.log(files.rejected);
55
+ let messages = [""];
56
+ for (let index = 0; index < fileRejections.length; index++) {
57
+ const element = fileRejections[index];
58
+ messages.push(getErrorMessage(element));
59
+ }
60
+ console.log(messages);
61
+ dispatch("error", { messages });
62
+ files.rejected = [];
63
+ }
64
+ if (acceptedFiles.length > 0) {
65
+ document.getElementById(submitBt)?.click();
66
+ }
67
+ }
68
+ function getErrorMessage(rejected) {
69
+ let message = "";
70
+ message = rejected.file.path + " : ";
71
+ let errors = rejected.errors;
72
+ for (let index = 0; index < errors.length; index++) {
73
+ const error = errors[index];
74
+ message += error.message;
75
+ }
76
+ return message;
77
+ }
78
+ async function handleSubmit() {
79
+ console.log("SUBMIT");
80
+ dispatch("submit");
81
+ let url = submit + "?id=" + id;
82
+ console.log("SUBMIT");
83
+ if (files.accepted.length > 0) {
84
+ console.log(files);
85
+ const formData = new FormData();
86
+ formData.append("files", "123");
87
+ for (var i = 0; i < files.accepted.length; i++) {
88
+ formData.append(files.accepted[i].name, files.accepted[i]);
89
+ }
90
+ const response = await Api.post(url, formData);
91
+ if (response.status == 200) {
92
+ dispatch("submited");
93
+ let message = files.accepted.length + " is/are uploaded";
94
+ dispatch("success", { text: message });
95
+ files.accepted = [];
96
+ }
97
+ }
98
+ }
99
+ </script>
100
+
101
+ <form on:submit|preventDefault={handleSubmit}>
102
+ {#if model}
103
+ <!--if model exist -->
104
+ <div>
105
+
106
+ <DropZone
107
+ on:drop={handleFilesSelect}
108
+ accept={model.accept}
109
+ multiple={model.multiple}
110
+ {maxSize}>
111
+
112
+ <b style="font-size:xx-large"><Fa icon={faFileUpload}/></b>
113
+ <span><b>Drag 'n' drop some files here, or click to select files</b>
114
+ <b>max file : {model.maxSize} mb</b></span>
115
+ <p>
116
+ {#if model.accept}
117
+ {#each model.accept as ext}
118
+ {ext} ,
119
+ {/each}
120
+ {/if}
121
+ </p>
122
+ </DropZone>
123
+
124
+ </div>
125
+
126
+ <button id="{submitBt}" color="primary" style="display:none" ><Fa icon={faSave}/></button>
127
+
128
+ {:else} <!-- while data is not loaded show a loading information -->
129
+
130
+ <Spinner/>
131
+ {/if}
132
+
133
+ </form>
134
+
135
+
@@ -0,0 +1,27 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ import type { FileUploaderModel } from '../../models/Models.js';
3
+ declare const __propDef: {
4
+ props: {
5
+ id?: number | undefined;
6
+ version?: number | undefined;
7
+ start?: string | undefined;
8
+ submit?: string | undefined;
9
+ context?: string | undefined;
10
+ data: FileUploaderModel | undefined;
11
+ };
12
+ events: {
13
+ error: CustomEvent<any>;
14
+ submit: CustomEvent<any>;
15
+ submited: CustomEvent<any>;
16
+ success: CustomEvent<any>;
17
+ } & {
18
+ [evt: string]: CustomEvent<any>;
19
+ };
20
+ slots: {};
21
+ };
22
+ export type FileUploaderProps = typeof __propDef.props;
23
+ export type FileUploaderEvents = typeof __propDef.events;
24
+ export type FileUploaderSlots = typeof __propDef.slots;
25
+ export default class FileUploader extends SvelteComponentTyped<FileUploaderProps, FileUploaderEvents, FileUploaderSlots> {
26
+ }
27
+ export {};
@@ -0,0 +1,6 @@
1
+ <script>let result = { name: "david" };
2
+ </script>
3
+
4
+ <h1>MyList</h1>
5
+ {result.name}
6
+ <b>from bexis-lib</b>
@@ -0,0 +1,14 @@
1
+ import { SvelteComponentTyped } from "svelte";
2
+ declare const __propDef: {
3
+ props: Record<string, never>;
4
+ events: {
5
+ [evt: string]: CustomEvent<any>;
6
+ };
7
+ slots: {};
8
+ };
9
+ export type ListViewProps = typeof __propDef.props;
10
+ export type ListViewEvents = typeof __propDef.events;
11
+ export type ListViewSlots = typeof __propDef.slots;
12
+ export default class ListView extends SvelteComponentTyped<ListViewProps, ListViewEvents, ListViewSlots> {
13
+ }
14
+ export {};
@@ -0,0 +1,8 @@
1
+ <div
2
+ 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]"
3
+ role="status">
4
+ <span
5
+ class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
6
+ >Loading...</span
7
+ >
8
+ </div>
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} SpinnerProps */
2
+ /** @typedef {typeof __propDef.events} SpinnerEvents */
3
+ /** @typedef {typeof __propDef.slots} SpinnerSlots */
4
+ export default class Spinner extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type SpinnerProps = typeof __propDef.props;
11
+ export type SpinnerEvents = typeof __propDef.events;
12
+ export type SpinnerSlots = typeof __propDef.slots;
13
+ import { SvelteComponentTyped } from "svelte";
14
+ declare const __propDef: {
15
+ props: {
16
+ [x: string]: never;
17
+ };
18
+ events: {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export {};
@@ -0,0 +1,2 @@
1
+ /*place global styles here */
2
+ html, body { @apply h-full; }
@@ -0,0 +1,98 @@
1
+ :root {
2
+ /* =~= Theme Properties =~= */
3
+ --theme-font-family-base: system-ui;
4
+ --theme-font-family-heading: system-ui;
5
+ --theme-font-color-base: 0 0 0;
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: 0 0 0;
12
+ --on-secondary: 0 0 0;
13
+ --on-tertiary: 0 0 0;
14
+ --on-success: 0 0 0;
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 | #ef4444 */
64
+ --color-warning-50: 253 227 227; /* ⬅ #fde3e3 */
65
+ --color-warning-100: 252 218 218; /* ⬅ #fcdada */
66
+ --color-warning-200: 251 208 208; /* ⬅ #fbd0d0 */
67
+ --color-warning-300: 249 180 180; /* ⬅ #f9b4b4 */
68
+ --color-warning-400: 244 124 124; /* ⬅ #f47c7c */
69
+ --color-warning-500: 239 68 68; /* ⬅ #ef4444 */
70
+ --color-warning-600: 215 61 61; /* ⬅ #d73d3d */
71
+ --color-warning-700: 179 51 51; /* ⬅ #b33333 */
72
+ --color-warning-800: 143 41 41; /* ⬅ #8f2929 */
73
+ --color-warning-900: 117 33 33; /* ⬅ #752121 */
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 | #FFFFFF */
86
+ --color-surface-50: 255 255 255; /* ⬅ #ffffff */
87
+ --color-surface-100: 255 255 255; /* ⬅ #ffffff */
88
+ --color-surface-200: 255 255 255; /* ⬅ #ffffff */
89
+ --color-surface-300: 255 255 255; /* ⬅ #ffffff */
90
+ --color-surface-400: 255 255 255; /* ⬅ #ffffff */
91
+ --color-surface-500: 255 255 255; /* ⬅ #FFFFFF */
92
+ --color-surface-600: 230 230 230; /* ⬅ #e6e6e6 */
93
+ --color-surface-700: 191 191 191; /* ⬅ #bfbfbf */
94
+ /* dark mode surface | #1f2937 */
95
+ --color-surface-800: 19 25 33; /* ⬅ #131921 */
96
+ --color-surface-900: 15 20 27; /* ⬅ #0f141b */
97
+
98
+ }
@@ -0,0 +1,100 @@
1
+ /* =~= Crimson Theme - made by GitHub user @ak4zh for the Skeleton community theme contest. =~= */
2
+ /* https://github.com/skeletonlabs/skeleton/discussions/401 */
3
+
4
+ :root {
5
+ /* =~= Theme Styles =~= */
6
+ --theme-font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
7
+ 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
8
+ --theme-font-family-heading: system-ui;
9
+ --theme-font-color-base: var(--color-surface-900);
10
+ --theme-font-color-dark: var(--color-surface-50);
11
+ --theme-rounded-base: 24px;
12
+ --theme-rounded-container: 24px;
13
+ --theme-border-base: 1px;
14
+ /* =~= Theme On-X Colors =~= */
15
+ --on-primary: 255 255 255;
16
+ --on-secondary: 255 255 255;
17
+ --on-tertiary: 0 0 0;
18
+ --on-success: 0 0 0;
19
+ --on-warning: 0 0 0;
20
+ --on-error: 0 0 0;
21
+ --on-surface: 255 255 255;
22
+ /* =~= Theme Colors =~= */
23
+ /* primary | #d4163c */
24
+ --color-primary-50: 249 220 226; /* ⬅ #f9dce2 */
25
+ --color-primary-100: 246 208 216; /* ⬅ #f6d0d8 */
26
+ --color-primary-200: 244 197 206; /* ⬅ #f4c5ce */
27
+ --color-primary-300: 238 162 177; /* ⬅ #eea2b1 */
28
+ --color-primary-400: 225 92 119; /* ⬅ #e15c77 */
29
+ --color-primary-500: 212 22 60; /* ⬅ #d4163c */
30
+ --color-primary-600: 191 20 54; /* ⬅ #bf1436 */
31
+ --color-primary-700: 159 17 45; /* ⬅ #9f112d */
32
+ --color-primary-800: 127 13 36; /* ⬅ #7f0d24 */
33
+ --color-primary-900: 104 11 29; /* ⬅ #680b1d */
34
+ /* secondary | #4685af */
35
+ --color-secondary-50: 227 237 243; /* ⬅ #e3edf3 */
36
+ --color-secondary-100: 218 231 239; /* ⬅ #dae7ef */
37
+ --color-secondary-200: 209 225 235; /* ⬅ #d1e1eb */
38
+ --color-secondary-300: 181 206 223; /* ⬅ #b5cedf */
39
+ --color-secondary-400: 126 170 199; /* ⬅ #7eaac7 */
40
+ --color-secondary-500: 70 133 175; /* ⬅ #4685af */
41
+ --color-secondary-600: 63 120 158; /* ⬅ #3f789e */
42
+ --color-secondary-700: 53 100 131; /* ⬅ #356483 */
43
+ --color-secondary-800: 42 80 105; /* ⬅ #2a5069 */
44
+ --color-secondary-900: 34 65 86; /* ⬅ #224156 */
45
+ /* tertiary | #c0b6b4 */
46
+ --color-tertiary-50: 246 244 244; /* ⬅ #f6f4f4 */
47
+ --color-tertiary-100: 242 240 240; /* ⬅ #f2f0f0 */
48
+ --color-tertiary-200: 239 237 236; /* ⬅ #efedec */
49
+ --color-tertiary-300: 230 226 225; /* ⬅ #e6e2e1 */
50
+ --color-tertiary-400: 211 204 203; /* ⬅ #d3cccb */
51
+ --color-tertiary-500: 192 182 180; /* ⬅ #c0b6b4 */
52
+ --color-tertiary-600: 173 164 162; /* ⬅ #ada4a2 */
53
+ --color-tertiary-700: 144 137 135; /* ⬅ #908987 */
54
+ --color-tertiary-800: 115 109 108; /* ⬅ #736d6c */
55
+ --color-tertiary-900: 94 89 88; /* ⬅ #5e5958 */
56
+ /* success | #c1dd97 */
57
+ --color-success-50: 246 250 239; /* ⬅ #f6faef */
58
+ --color-success-100: 243 248 234; /* ⬅ #f3f8ea */
59
+ --color-success-200: 240 247 229; /* ⬅ #f0f7e5 */
60
+ --color-success-300: 230 241 213; /* ⬅ #e6f1d5 */
61
+ --color-success-400: 212 231 182; /* ⬅ #d4e7b6 */
62
+ --color-success-500: 193 221 151; /* ⬅ #c1dd97 */
63
+ --color-success-600: 174 199 136; /* ⬅ #aec788 */
64
+ --color-success-700: 145 166 113; /* ⬅ #91a671 */
65
+ --color-success-800: 116 133 91; /* ⬅ #74855b */
66
+ --color-success-900: 95 108 74; /* ⬅ #5f6c4a */
67
+ /* warning | #e4c25e */
68
+ --color-warning-50: 251 246 231; /* ⬅ #fbf6e7 */
69
+ --color-warning-100: 250 243 223; /* ⬅ #faf3df */
70
+ --color-warning-200: 248 240 215; /* ⬅ #f8f0d7 */
71
+ --color-warning-300: 244 231 191; /* ⬅ #f4e7bf */
72
+ --color-warning-400: 236 212 142; /* ⬅ #ecd48e */
73
+ --color-warning-500: 228 194 94; /* ⬅ #e4c25e */
74
+ --color-warning-600: 205 175 85; /* ⬅ #cdaf55 */
75
+ --color-warning-700: 171 146 71; /* ⬅ #ab9247 */
76
+ --color-warning-800: 137 116 56; /* ⬅ #897438 */
77
+ --color-warning-900: 112 95 46; /* ⬅ #705f2e */
78
+ /* error | #d27f81 */
79
+ --color-error-50: 248 236 236; /* ⬅ #f8ecec */
80
+ --color-error-100: 246 229 230; /* ⬅ #f6e5e6 */
81
+ --color-error-200: 244 223 224; /* ⬅ #f4dfe0 */
82
+ --color-error-300: 237 204 205; /* ⬅ #edcccd */
83
+ --color-error-400: 224 165 167; /* ⬅ #e0a5a7 */
84
+ --color-error-500: 210 127 129; /* ⬅ #d27f81 */
85
+ --color-error-600: 189 114 116; /* ⬅ #bd7274 */
86
+ --color-error-700: 158 95 97; /* ⬅ #9e5f61 */
87
+ --color-error-800: 126 76 77; /* ⬅ #7e4c4d */
88
+ --color-error-900: 103 62 63; /* ⬅ #673e3f */
89
+ /* surface | #2b2e40 */
90
+ --color-surface-50: 223 224 226; /* ⬅ #dfe0e2 */
91
+ --color-surface-100: 213 213 217; /* ⬅ #d5d5d9 */
92
+ --color-surface-200: 202 203 207; /* ⬅ #cacbcf */
93
+ --color-surface-300: 170 171 179; /* ⬅ #aaabb3 */
94
+ --color-surface-400: 107 109 121; /* ⬅ #6b6d79 */
95
+ --color-surface-500: 43 46 64; /* ⬅ #2b2e40 */
96
+ --color-surface-600: 39 41 58; /* ⬅ #27293a */
97
+ --color-surface-700: 32 35 48; /* ⬅ #202330 */
98
+ --color-surface-800: 26 28 38; /* ⬅ #1a1c26 */
99
+ --color-surface-900: 21 23 31; /* ⬅ #15171f */
100
+ }