@celar-ui/svelte 2.0.1 → 2.1.0

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 (41) hide show
  1. package/dist/buttons/styles/button_utils.css +1 -1
  2. package/dist/containment/Container.svelte +15 -2
  3. package/dist/containment/Container.svelte.d.ts +3 -0
  4. package/dist/containment/Spacer.svelte +1 -1
  5. package/dist/containment/styles/avatar.css +1 -1
  6. package/dist/containment/styles/breadcrumb.css +1 -1
  7. package/dist/containment/styles/card.css +1 -1
  8. package/dist/containment/styles/container.css +2 -17
  9. package/dist/containment/styles/surface-container.css +2 -22
  10. package/dist/inputs/Checkbox.svelte +1 -1
  11. package/dist/inputs/ColorInput.svelte +2 -2
  12. package/dist/inputs/FileInput.svelte +2 -2
  13. package/dist/inputs/RadioItem.svelte +1 -1
  14. package/dist/inputs/Slider.svelte +3 -3
  15. package/dist/inputs/Switch.svelte +1 -1
  16. package/dist/inputs/TagInput.svelte +1 -1
  17. package/dist/inputs/TextInput.svelte +2 -2
  18. package/dist/inputs/styles/radio_group.css +1 -1
  19. package/dist/misc/Badge.svelte +1 -1
  20. package/dist/misc/DuckSpinner.svelte +1 -1
  21. package/dist/misc/Gap.svelte +1 -1
  22. package/dist/misc/LinearProgressIndicator.svelte +1 -1
  23. package/dist/navigation/AdaptiveSidebar.svelte +1 -1
  24. package/dist/navigation/AppBar.svelte +1 -1
  25. package/dist/navigation/NavigationBar.svelte +1 -1
  26. package/dist/navigation/NavigationBarButton.svelte +1 -1
  27. package/dist/navigation/styles/navigation_drawer.css +1 -1
  28. package/dist/overlay/CommandDialog.svelte +3 -0
  29. package/dist/overlay/CommandDialog.svelte.d.ts +3 -0
  30. package/dist/overlay/Dialog.svelte +9 -0
  31. package/dist/overlay/Dialog.svelte.d.ts +3 -0
  32. package/dist/overlay/MinimalDialog.svelte +9 -0
  33. package/dist/overlay/MinimalDialog.svelte.d.ts +3 -0
  34. package/dist/overlay/styles/command.css +1 -1
  35. package/dist/overlay/styles/dialog.css +10 -1
  36. package/dist/overlay/styles/popover.css +1 -1
  37. package/dist/overlay/styles/surface-dialog.css +1 -1
  38. package/package.json +9 -6
  39. package/src/bin/gen-theme.ts +71 -0
  40. package/src/styles/index.css +49 -0
  41. package/src/styles/theme.css +84 -84
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @utility button-base {
4
4
  @apply relative m-0 box-border inline-block h-fit w-fit cursor-pointer border-none p-0 no-underline transition-all select-none;
@@ -6,13 +6,26 @@
6
6
  xs?: boolean;
7
7
  sm?: boolean;
8
8
  md?: boolean;
9
+ lg?: boolean;
10
+ xl?: boolean;
11
+ x2xl?: boolean;
9
12
  fluid?: boolean;
10
13
  }
11
14
 
12
- let { children, xs, sm, md, fluid, ...rest }: ContainerProps = $props();
15
+ let { children, xs, sm, md, lg, xl, x2xl, fluid, ...rest }: ContainerProps = $props();
13
16
  </script>
14
17
 
15
- <section {...rest} data-container data-xs={xs} data-sm={sm} data-md={md} data-fluid={fluid}>
18
+ <section
19
+ {...rest}
20
+ data-container
21
+ data-xs={xs}
22
+ data-sm={sm}
23
+ data-md={md}
24
+ data-lg={lg}
25
+ data-xl={xl}
26
+ data-2xl={x2xl}
27
+ data-fluid={fluid}
28
+ >
16
29
  {#if children}
17
30
  {@render children()}
18
31
  {/if}
@@ -4,6 +4,9 @@ export interface ContainerProps extends HTMLAttributes<HTMLElement> {
4
4
  xs?: boolean;
5
5
  sm?: boolean;
6
6
  md?: boolean;
7
+ lg?: boolean;
8
+ xl?: boolean;
9
+ x2xl?: boolean;
7
10
  fluid?: boolean;
8
11
  }
9
12
  declare const Container: import("svelte").Component<ContainerProps, {}, "">;
@@ -28,7 +28,7 @@
28
28
  </div>
29
29
 
30
30
  <style>
31
- @reference '$style/index.css';
31
+ @reference '@celar-ui/svelte/styles/index.css';
32
32
 
33
33
  @layer components {
34
34
  [data-spacer] {
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-avatar-root] {
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-breadcrumb] {
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-card] {
@@ -1,26 +1,11 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-container] {
5
+ @apply container-sizing;
5
6
  position: relative;
6
7
  margin: 0 auto;
7
8
  padding: --spacing(4);
8
9
  box-sizing: border-box;
9
-
10
- &[data-xs='true'] {
11
- max-width: var(--breakpoint-xs);
12
- }
13
-
14
- &[data-sm='true'] {
15
- max-width: var(--breakpoint-sm);
16
- }
17
-
18
- &[data-md='true'] {
19
- max-width: var(--breakpoint-md);
20
- }
21
-
22
- &[data-fluid='true'] {
23
- width: 100%;
24
- }
25
10
  }
26
11
  }
@@ -1,29 +1,9 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-surface-container] {
5
- --color-background: var(--color-surface);
6
-
5
+ @apply elevated;
7
6
  border-radius: var(--radius-4xl);
8
7
  background-color: var(--color-background);
9
-
10
- &[data-elevated='0'] {
11
- --color-background: var(--color-surfaceContainerLowest);
12
- }
13
- &[data-elevated='1'] {
14
- --color-background: var(--color-surface);
15
- }
16
- &[data-elevated='2'] {
17
- --color-background: var(--color-surfaceContainerLow);
18
- }
19
- &[data-elevated='3'] {
20
- --color-background: var(--color-surfaceContainer);
21
- }
22
- &[data-elevated='4'] {
23
- --color-background: var(--color-surfaceContainerHigh);
24
- }
25
- &[data-elevated='5'] {
26
- --color-background: var(--color-surfaceContainerHighest);
27
- }
28
8
  }
29
9
  }
@@ -55,7 +55,7 @@
55
55
  </label>
56
56
 
57
57
  <style>
58
- @reference '$style/index.css';
58
+ @reference '@celar-ui/svelte/styles/index.css';
59
59
 
60
60
  @layer components {
61
61
  [data-checkbox] {
@@ -19,7 +19,7 @@
19
19
  </label>
20
20
 
21
21
  <style>
22
- @reference '$style/index.css';
22
+ @reference '@celar-ui/svelte/styles/index.css';
23
23
 
24
24
  @layer components {
25
25
  [data-color-input] {
@@ -29,7 +29,7 @@
29
29
  justify-content: flex-start;
30
30
  align-items: center;
31
31
  border-radius: var(--radius-2xl);
32
- padding: --spacing(1.5) 0;
32
+ padding: --spacing(2) 0;
33
33
  width: 100%;
34
34
 
35
35
  > input {
@@ -24,7 +24,7 @@
24
24
  </label>
25
25
 
26
26
  <style>
27
- @reference '$style/index.css';
27
+ @reference '@celar-ui/svelte/styles/index.css';
28
28
 
29
29
  @layer components {
30
30
  [data-file-input] {
@@ -34,7 +34,7 @@
34
34
  justify-content: flex-start;
35
35
  align-items: center;
36
36
  border-radius: var(--radius-2xl);
37
- padding: --spacing(1.5) 0;
37
+ padding: --spacing(2) 0;
38
38
  width: 100%;
39
39
 
40
40
  input {
@@ -16,7 +16,7 @@
16
16
  </label>
17
17
 
18
18
  <style>
19
- @reference '$style/index.css';
19
+ @reference '@celar-ui/svelte/styles/index.css';
20
20
 
21
21
  @layer components {
22
22
  [data-radio-item] {
@@ -19,7 +19,7 @@
19
19
  </div>
20
20
 
21
21
  <style>
22
- @reference '$style/index.css';
22
+ @reference '@celar-ui/svelte/styles/index.css';
23
23
 
24
24
  @utility track {
25
25
  @apply box-border h-2 w-full rounded-2xl border-none;
@@ -34,7 +34,7 @@
34
34
  @apply bg-primary h-2 rounded-2xl;
35
35
  }
36
36
  @utility thumb {
37
- @apply bg-primary box-border h-8 w-8 rounded-[50%] border-none;
37
+ @apply bg-primary box-border h-6 w-6 rounded-[50%] border-none;
38
38
  }
39
39
 
40
40
  @layer components {
@@ -77,7 +77,7 @@
77
77
  }
78
78
 
79
79
  &::-webkit-slider-thumb {
80
- margin-top: calc(0.5 * (--spacing(2) - --spacing(8)));
80
+ margin-top: calc(0.5 * --spacing(-4));
81
81
  @apply thumb;
82
82
  }
83
83
  &::-moz-range-thumb {
@@ -18,7 +18,7 @@
18
18
  </label>
19
19
 
20
20
  <style>
21
- @reference '$style/index.css';
21
+ @reference '@celar-ui/svelte/styles/index.css';
22
22
 
23
23
  @layer components {
24
24
  [data-switch] {
@@ -106,7 +106,7 @@
106
106
  </div>
107
107
 
108
108
  <style>
109
- @reference '$style/index.css';
109
+ @reference '@celar-ui/svelte/styles/index.css';
110
110
 
111
111
  @layer components {
112
112
  [data-tag-input] {
@@ -20,7 +20,7 @@
20
20
  </label>
21
21
 
22
22
  <style>
23
- @reference '$style/index.css';
23
+ @reference '@celar-ui/svelte/styles/index.css';
24
24
 
25
25
  @layer components {
26
26
  [data-text-input] {
@@ -35,7 +35,7 @@
35
35
  @apply border-onBackground/20 rounded-2xl border border-solid transition-all;
36
36
  box-sizing: border-box;
37
37
  background-color: transparent;
38
- padding: --spacing(1.5) --spacing(4);
38
+ padding: --spacing(2) --spacing(4);
39
39
  padding-left: --spacing(14);
40
40
  width: 100%;
41
41
  font-size: inherit;
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
  @layer components {
3
3
  [data-radio-group-root] {
4
4
  position: relative;
@@ -14,7 +14,7 @@
14
14
  </span>
15
15
 
16
16
  <style>
17
- @reference '$style/index.css';
17
+ @reference '@celar-ui/svelte/styles/index.css';
18
18
 
19
19
  @layer components {
20
20
  [data-badge] {
@@ -138,7 +138,7 @@
138
138
  </svg>
139
139
 
140
140
  <style>
141
- @reference '$style/index.css';
141
+ @reference '@celar-ui/svelte/styles/index.css';
142
142
 
143
143
  @layer components {
144
144
  [data-duck-spinner] {
@@ -9,7 +9,7 @@
9
9
  <div data-gap style:width={size}></div>
10
10
 
11
11
  <style>
12
- @reference '$style/index.css';
12
+ @reference '@celar-ui/svelte/styles/index.css';
13
13
 
14
14
  @layer components {
15
15
  [data-gap] {
@@ -8,7 +8,7 @@
8
8
  </div>
9
9
 
10
10
  <style>
11
- @reference '$style/index.css';
11
+ @reference '@celar-ui/svelte/styles/index.css';
12
12
 
13
13
  @layer components {
14
14
  [data-linear-progress-indicator] {
@@ -47,7 +47,7 @@
47
47
  </div>
48
48
 
49
49
  <style>
50
- @reference '$style/index.css';
50
+ @reference '@celar-ui/svelte/styles/index.css';
51
51
 
52
52
  @layer components {
53
53
  [data-adaptive-sidebar-backdrop] {
@@ -28,7 +28,7 @@
28
28
  </section>
29
29
 
30
30
  <style>
31
- @reference '$style/index.css';
31
+ @reference '@celar-ui/svelte/styles/index.css';
32
32
 
33
33
  @layer components {
34
34
  [data-app-bar] {
@@ -9,7 +9,7 @@
9
9
  </section>
10
10
 
11
11
  <style>
12
- @reference '$style/index.css';
12
+ @reference '@celar-ui/svelte/styles/index.css';
13
13
 
14
14
  @layer components {
15
15
  [data-navigation-bar] {
@@ -24,7 +24,7 @@
24
24
  </a>
25
25
 
26
26
  <style>
27
- @reference '$style/index.css';
27
+ @reference '@celar-ui/svelte/styles/index.css';
28
28
 
29
29
  @layer components {
30
30
  [data-navigation-bar-button] {
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-navigation-drawer-backdrop] {
@@ -9,6 +9,9 @@
9
9
  xs?: boolean;
10
10
  sm?: boolean;
11
11
  md?: boolean;
12
+ lg?: boolean;
13
+ xl?: boolean;
14
+ x2xl?: boolean;
12
15
  fluid?: boolean;
13
16
  transitionDuration?: number;
14
17
  placeholder?: string;
@@ -8,6 +8,9 @@ type CommandDialogProps = MinimalDialogProps & {
8
8
  xs?: boolean;
9
9
  sm?: boolean;
10
10
  md?: boolean;
11
+ lg?: boolean;
12
+ xl?: boolean;
13
+ x2xl?: boolean;
11
14
  fluid?: boolean;
12
15
  transitionDuration?: number;
13
16
  placeholder?: string;
@@ -13,6 +13,9 @@
13
13
  xs?: boolean;
14
14
  sm?: boolean;
15
15
  md?: boolean;
16
+ lg?: boolean;
17
+ xl?: boolean;
18
+ x2xl?: boolean;
16
19
  fluid?: boolean;
17
20
  transitionDuration?: number;
18
21
  };
@@ -26,6 +29,9 @@
26
29
  xs,
27
30
  sm,
28
31
  md,
32
+ lg,
33
+ xl,
34
+ x2xl,
29
35
  fluid,
30
36
  transitionDuration = 200,
31
37
  ...rest
@@ -52,6 +58,9 @@
52
58
  data-xs={xs}
53
59
  data-sm={sm}
54
60
  data-md={md}
61
+ data-lg={lg}
62
+ data-xl={xl}
63
+ data-2xl={x2xl}
55
64
  data-fluid={fluid}
56
65
  data-celar-dialog-content
57
66
  >
@@ -11,6 +11,9 @@ export type DialogProps = Omit<DialogContentProps, 'title'> & {
11
11
  xs?: boolean;
12
12
  sm?: boolean;
13
13
  md?: boolean;
14
+ lg?: boolean;
15
+ xl?: boolean;
16
+ x2xl?: boolean;
14
17
  fluid?: boolean;
15
18
  transitionDuration?: number;
16
19
  };
@@ -10,6 +10,9 @@
10
10
  xs?: boolean;
11
11
  sm?: boolean;
12
12
  md?: boolean;
13
+ lg?: boolean;
14
+ xl?: boolean;
15
+ x2xl?: boolean;
13
16
  fluid?: boolean;
14
17
  transitionDuration?: number;
15
18
  };
@@ -21,6 +24,9 @@
21
24
  xs,
22
25
  sm,
23
26
  md,
27
+ lg,
28
+ xl,
29
+ x2xl,
24
30
  fluid,
25
31
  transitionDuration = 200,
26
32
  ...rest
@@ -47,6 +53,9 @@
47
53
  data-xs={xs}
48
54
  data-sm={sm}
49
55
  data-md={md}
56
+ data-lg={lg}
57
+ data-xl={xl}
58
+ data-2xl={x2xl}
50
59
  data-fluid={fluid}
51
60
  data-celar-dialog-content
52
61
  >
@@ -9,6 +9,9 @@ export type MinimalDialogProps = DialogContentProps & {
9
9
  xs?: boolean;
10
10
  sm?: boolean;
11
11
  md?: boolean;
12
+ lg?: boolean;
13
+ xl?: boolean;
14
+ x2xl?: boolean;
12
15
  fluid?: boolean;
13
16
  transitionDuration?: number;
14
17
  };
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-command-dialog] {
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-celar-dialog-overlay] {
@@ -35,6 +35,15 @@
35
35
  &[data-md='true'] {
36
36
  max-width: min(calc(100% - --spacing(8)), var(--breakpoint-md));
37
37
  }
38
+ &[data-lg='true'] {
39
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint-lg));
40
+ }
41
+ &[data-xl='true'] {
42
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint-xl));
43
+ }
44
+ &[data-2xl='true'] {
45
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint-2xl));
46
+ }
38
47
  &[data-fluid='true'] {
39
48
  width: 100%;
40
49
  }
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-popover-content] {
@@ -1,4 +1,4 @@
1
- @reference '$style/index.css';
1
+ @reference '@celar-ui/svelte/styles/index.css';
2
2
 
3
3
  @layer components {
4
4
  [data-minimal-surface-dialog] {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celar-ui/svelte",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "license": "MIT",
5
5
  "author": {
6
6
  "name": "cuikho210",
@@ -13,7 +13,7 @@
13
13
  },
14
14
  "scripts": {
15
15
  "dev": "vite dev",
16
- "build": "bun run gen-theme && vite build && bun run prepack",
16
+ "build": "vite build && bun run prepack",
17
17
  "preview": "vite preview",
18
18
  "prepare": "svelte-kit sync || echo ''",
19
19
  "prepack": "svelte-kit sync && svelte-package && publint",
@@ -27,6 +27,7 @@
27
27
  "files": [
28
28
  "dist",
29
29
  "src/styles",
30
+ "src/bin",
30
31
  "!dist/**/*.test.*",
31
32
  "!dist/**/*.spec.*"
32
33
  ],
@@ -41,10 +42,12 @@
41
42
  "types": "./dist/index.d.ts",
42
43
  "svelte": "./dist/index.js"
43
44
  },
44
- "./src/styles/*.css": {
45
- "import": "./src/styles/*.css",
46
- "require": "./src/styles/*.css"
47
- }
45
+ "./styles/index.css": "./src/styles/index.css",
46
+ "./styles/theme.css": "./src/styles/theme.css",
47
+ "./styles/*.css": "./src/styles/*.css"
48
+ },
49
+ "bin": {
50
+ "gen-theme": "./src/bin/gen-theme.ts"
48
51
  },
49
52
  "peerDependencies": {
50
53
  "bits-ui": "^2.8.0",
@@ -0,0 +1,71 @@
1
+ #!/usr/bin/env bun
2
+
3
+ /**
4
+ * Generate Tailwind 4 @theme CSS from Material Color Utilities theme output.
5
+ * Usage: bun index.ts <output-path>
6
+ *
7
+ * This script generates a CSS file with @variant and @theme directives,
8
+ * using the output of Material Color Utilities' themeFromSourceColor.
9
+ */
10
+
11
+ import materialDynamicColors from 'material-dynamic-colors';
12
+ import { mkdir, writeFile } from 'node:fs/promises';
13
+ import path from 'node:path';
14
+
15
+ // ---- CONFIGURABLE SOURCE COLOR / OUTPUT ----
16
+ const argv = process.argv.slice(2);
17
+ const getFlag = (names: string[]) => {
18
+ const i = argv.findIndex((a) => names.includes(a));
19
+ if (i >= 0 && argv[i + 1] && !argv[i + 1].startsWith('--')) return argv[i + 1];
20
+ const kv = argv.find((a) => names.some((n) => a.startsWith(`${n}=`)));
21
+ return kv ? kv.split('=').slice(1).join('=') : undefined;
22
+ };
23
+ const sourceColor = (getFlag(['--color', '-c']) || process.env.SOURCE_COLOR || '#ff907f').trim();
24
+ const outputPath = path.resolve(
25
+ process.cwd(),
26
+ getFlag(['--out', '-o']) || process.env.OUTPUT_PATH || 'src/styles/theme.css'
27
+ );
28
+
29
+ // ---- GENERATE THEME ----
30
+ const theme = await materialDynamicColors(sourceColor);
31
+
32
+ // ---- TAILWIND 4 @THEME CSS OUTPUT ----
33
+ function toThemeVariables(colors: Record<string, string>): string {
34
+ return Object.entries(colors)
35
+ .map(([k, v]) => ` --color-${k}: ${v};`)
36
+ .join('\n');
37
+ }
38
+
39
+ const lightVars = toThemeVariables(theme.light as unknown as Record<string, string>);
40
+ const darkVars = toThemeVariables(theme.dark as unknown as Record<string, string>);
41
+
42
+ const css = `/* Generated by index.ts */
43
+ /* Source color: ${sourceColor} */
44
+
45
+ @custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
46
+
47
+ @theme {
48
+ ${lightVars}
49
+ --color-info: #1a3baa;
50
+ --color-onInfo: #e2ffff;
51
+ --color-success: #2b5f50;
52
+ --color-onSuccess: #e8fef5;
53
+ --color-warning: #8a5a00;
54
+ --color-onWarning: #fff8ec;
55
+ }
56
+
57
+ @variant dark {
58
+ ${darkVars}
59
+ --color-info: #008eff;
60
+ --color-onInfo: #101a3b;
61
+ --color-success: #9bdac7;
62
+ --color-onSuccess: #184d3a;
63
+ --color-warning: #bfa060;
64
+ --color-onWarning: #4a3700;
65
+ }
66
+ `;
67
+
68
+ // ---- WRITE FILE ----
69
+ await mkdir(path.dirname(outputPath), { recursive: true });
70
+ await writeFile(outputPath, css);
71
+ console.log(`Material theme CSS written to ${outputPath}`);
@@ -4,3 +4,52 @@
4
4
  @theme {
5
5
  --breakpoint-xs: 30rem;
6
6
  }
7
+
8
+ @utility container-sizing {
9
+ &[data-xs='true'] {
10
+ max-width: var(--breakpoint-xs);
11
+ }
12
+ &[data-sm='true'] {
13
+ max-width: var(--breakpoint-sm);
14
+ }
15
+ &[data-md='true'] {
16
+ max-width: var(--breakpoint-md);
17
+ }
18
+ &[data-lg='true'] {
19
+ max-width: var(--breakpoint-lg);
20
+ }
21
+ &[data-xl='true'] {
22
+ max-width: var(--breakpoint-xl);
23
+ }
24
+ &[data-2xl='true'] {
25
+ max-width: var(--breakpoint-2xl);
26
+ }
27
+ &[data-fluid='true'] {
28
+ width: 100%;
29
+ }
30
+ }
31
+
32
+ @utility elevated {
33
+ --color-background: var(--color-surface);
34
+
35
+ &[data-elevated='0'] {
36
+ --color-background: var(--color-surfaceContainerLowest);
37
+ }
38
+ &[data-elevated='1'] {
39
+ --color-background: var(--color-surface);
40
+ }
41
+ &[data-elevated='2'] {
42
+ --color-background: var(--color-surfaceContainerLow);
43
+ }
44
+ &[data-elevated='3'] {
45
+ --color-background: var(--color-surfaceContainer);
46
+ }
47
+ &[data-elevated='4'] {
48
+ --color-background: var(--color-surfaceContainerHigh);
49
+ }
50
+ &[data-elevated='5'] {
51
+ --color-background: var(--color-surfaceContainerHighest);
52
+ }
53
+
54
+ background-color: var(--color-background);
55
+ }
@@ -4,91 +4,91 @@
4
4
  @custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
5
5
 
6
6
  @theme {
7
- --color-primary: #9c4235;
8
- --color-onPrimary: #ffffff;
9
- --color-primaryContainer: #ffdad4;
10
- --color-onPrimaryContainer: #410000;
11
- --color-secondary: #775651;
12
- --color-onSecondary: #ffffff;
13
- --color-secondaryContainer: #ffdad4;
14
- --color-onSecondaryContainer: #2c1512;
15
- --color-tertiary: #705c2e;
16
- --color-onTertiary: #ffffff;
17
- --color-tertiaryContainer: #fbdfa6;
18
- --color-onTertiaryContainer: #251a00;
19
- --color-error: #ba1a1a;
20
- --color-onError: #ffffff;
21
- --color-errorContainer: #ffdad6;
22
- --color-onErrorContainer: #410002;
23
- --color-background: #fffbff;
24
- --color-onBackground: #201a19;
25
- --color-surface: #fff8f6;
26
- --color-onSurface: #201a19;
27
- --color-surfaceVariant: #f5ddda;
28
- --color-onSurfaceVariant: #534341;
29
- --color-outline: #857370;
30
- --color-outlineVariant: #d8c2be;
31
- --color-shadow: #000000;
32
- --color-scrim: #000000;
33
- --color-inverseSurface: #362f2e;
34
- --color-inverseOnSurface: #fbeeec;
35
- --color-inversePrimary: #ffb4a8;
36
- --color-surfaceDim: #e4d7d5;
37
- --color-surfaceBright: #fff8f6;
38
- --color-surfaceContainerLowest: #ffffff;
39
- --color-surfaceContainerLow: #fef1ee;
40
- --color-surfaceContainer: #f8ebe9;
41
- --color-surfaceContainerHigh: #f3e5e3;
42
- --color-surfaceContainerHighest: #ede0dd;
43
- --color-info: #1a3baa;
44
- --color-onInfo: #e2ffff;
45
- --color-success: #2b5f50;
46
- --color-onSuccess: #e8fef5;
47
- --color-warning: #8a5a00;
48
- --color-onWarning: #fff8ec;
7
+ --color-primary: #9c4235;
8
+ --color-onPrimary: #ffffff;
9
+ --color-primaryContainer: #ffdad4;
10
+ --color-onPrimaryContainer: #410000;
11
+ --color-secondary: #775651;
12
+ --color-onSecondary: #ffffff;
13
+ --color-secondaryContainer: #ffdad4;
14
+ --color-onSecondaryContainer: #2c1512;
15
+ --color-tertiary: #705c2e;
16
+ --color-onTertiary: #ffffff;
17
+ --color-tertiaryContainer: #fbdfa6;
18
+ --color-onTertiaryContainer: #251a00;
19
+ --color-error: #ba1a1a;
20
+ --color-onError: #ffffff;
21
+ --color-errorContainer: #ffdad6;
22
+ --color-onErrorContainer: #410002;
23
+ --color-background: #fffbff;
24
+ --color-onBackground: #201a19;
25
+ --color-surface: #fff8f6;
26
+ --color-onSurface: #201a19;
27
+ --color-surfaceVariant: #f5ddda;
28
+ --color-onSurfaceVariant: #534341;
29
+ --color-outline: #857370;
30
+ --color-outlineVariant: #d8c2be;
31
+ --color-shadow: #000000;
32
+ --color-scrim: #000000;
33
+ --color-inverseSurface: #362f2e;
34
+ --color-inverseOnSurface: #fbeeec;
35
+ --color-inversePrimary: #ffb4a8;
36
+ --color-surfaceDim: #e4d7d5;
37
+ --color-surfaceBright: #fff8f6;
38
+ --color-surfaceContainerLowest: #ffffff;
39
+ --color-surfaceContainerLow: #fef1ee;
40
+ --color-surfaceContainer: #f8ebe9;
41
+ --color-surfaceContainerHigh: #f3e5e3;
42
+ --color-surfaceContainerHighest: #ede0dd;
43
+ --color-info: #1a3baa;
44
+ --color-onInfo: #e2ffff;
45
+ --color-success: #2b5f50;
46
+ --color-onSuccess: #e8fef5;
47
+ --color-warning: #8a5a00;
48
+ --color-onWarning: #fff8ec;
49
49
  }
50
50
 
51
51
  @variant dark {
52
- --color-primary: #ffb4a8;
53
- --color-onPrimary: #5f150d;
54
- --color-primaryContainer: #7d2b21;
55
- --color-onPrimaryContainer: #ffdad4;
56
- --color-secondary: #e7bdb6;
57
- --color-onSecondary: #442925;
58
- --color-secondaryContainer: #5d3f3b;
59
- --color-onSecondaryContainer: #ffdad4;
60
- --color-tertiary: #dec48c;
61
- --color-onTertiary: #3e2e04;
62
- --color-tertiaryContainer: #564419;
63
- --color-onTertiaryContainer: #fbdfa6;
64
- --color-error: #ffb4ab;
65
- --color-onError: #690005;
66
- --color-errorContainer: #93000a;
67
- --color-onErrorContainer: #ffb4ab;
68
- --color-background: #201a19;
69
- --color-onBackground: #ede0dd;
70
- --color-surface: #181211;
71
- --color-onSurface: #ede0dd;
72
- --color-surfaceVariant: #534341;
73
- --color-onSurfaceVariant: #d8c2be;
74
- --color-outline: #a08c89;
75
- --color-outlineVariant: #534341;
76
- --color-shadow: #000000;
77
- --color-scrim: #000000;
78
- --color-inverseSurface: #ede0dd;
79
- --color-inverseOnSurface: #362f2e;
80
- --color-inversePrimary: #9c4235;
81
- --color-surfaceDim: #181211;
82
- --color-surfaceBright: #3f3736;
83
- --color-surfaceContainerLowest: #120d0c;
84
- --color-surfaceContainerLow: #201a19;
85
- --color-surfaceContainer: #251e1d;
86
- --color-surfaceContainerHigh: #2f2827;
87
- --color-surfaceContainerHighest: #3b3332;
88
- --color-info: #008eff;
89
- --color-onInfo: #101a3b;
90
- --color-success: #9bdac7;
91
- --color-onSuccess: #184d3a;
92
- --color-warning: #bfa060;
93
- --color-onWarning: #4a3700;
52
+ --color-primary: #ffb4a8;
53
+ --color-onPrimary: #5f150d;
54
+ --color-primaryContainer: #7d2b21;
55
+ --color-onPrimaryContainer: #ffdad4;
56
+ --color-secondary: #e7bdb6;
57
+ --color-onSecondary: #442925;
58
+ --color-secondaryContainer: #5d3f3b;
59
+ --color-onSecondaryContainer: #ffdad4;
60
+ --color-tertiary: #dec48c;
61
+ --color-onTertiary: #3e2e04;
62
+ --color-tertiaryContainer: #564419;
63
+ --color-onTertiaryContainer: #fbdfa6;
64
+ --color-error: #ffb4ab;
65
+ --color-onError: #690005;
66
+ --color-errorContainer: #93000a;
67
+ --color-onErrorContainer: #ffb4ab;
68
+ --color-background: #201a19;
69
+ --color-onBackground: #ede0dd;
70
+ --color-surface: #181211;
71
+ --color-onSurface: #ede0dd;
72
+ --color-surfaceVariant: #534341;
73
+ --color-onSurfaceVariant: #d8c2be;
74
+ --color-outline: #a08c89;
75
+ --color-outlineVariant: #534341;
76
+ --color-shadow: #000000;
77
+ --color-scrim: #000000;
78
+ --color-inverseSurface: #ede0dd;
79
+ --color-inverseOnSurface: #362f2e;
80
+ --color-inversePrimary: #9c4235;
81
+ --color-surfaceDim: #181211;
82
+ --color-surfaceBright: #3f3736;
83
+ --color-surfaceContainerLowest: #120d0c;
84
+ --color-surfaceContainerLow: #201a19;
85
+ --color-surfaceContainer: #251e1d;
86
+ --color-surfaceContainerHigh: #2f2827;
87
+ --color-surfaceContainerHighest: #3b3332;
88
+ --color-info: #008eff;
89
+ --color-onInfo: #101a3b;
90
+ --color-success: #9bdac7;
91
+ --color-onSuccess: #184d3a;
92
+ --color-warning: #bfa060;
93
+ --color-onWarning: #4a3700;
94
94
  }