@celar-ui/svelte 1.8.2 → 2.0.1

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 (101) hide show
  1. package/dist/buttons/BaseButton.svelte +0 -2
  2. package/dist/buttons/BaseButton.svelte.d.ts +0 -1
  3. package/dist/buttons/ElevatedButton.svelte +1 -3
  4. package/dist/buttons/ElevatedButton.svelte.d.ts +1 -1
  5. package/dist/buttons/ExpandedTextButton.svelte +2 -2
  6. package/dist/buttons/ExpandedTextButton.svelte.d.ts +1 -1
  7. package/dist/buttons/FilledButton.svelte +1 -2
  8. package/dist/buttons/FilledButton.svelte.d.ts +1 -1
  9. package/dist/buttons/IconButton.svelte +1 -1
  10. package/dist/buttons/IconButton.svelte.d.ts +1 -1
  11. package/dist/buttons/OutlinedButton.svelte +1 -3
  12. package/dist/buttons/OutlinedButton.svelte.d.ts +1 -1
  13. package/dist/buttons/TextBaseButton.svelte +16 -46
  14. package/dist/buttons/TextButton.svelte +1 -3
  15. package/dist/buttons/TextButton.svelte.d.ts +1 -1
  16. package/dist/buttons/styles/button_utils.css +37 -0
  17. package/dist/buttons/styles/elevated_button.css +19 -0
  18. package/dist/buttons/styles/expanded_text_button.css +23 -0
  19. package/dist/buttons/styles/filled_button.css +21 -0
  20. package/dist/buttons/styles/icon_button.css +42 -0
  21. package/dist/buttons/styles/outlined_button.css +21 -0
  22. package/dist/buttons/styles/text_button.css +22 -0
  23. package/dist/containment/Avatar.svelte +1 -1
  24. package/dist/containment/Avatar.svelte.d.ts +1 -1
  25. package/dist/containment/Breadcrumb.svelte +1 -23
  26. package/dist/containment/Breadcrumb.svelte.d.ts +1 -0
  27. package/dist/containment/Card.svelte +1 -1
  28. package/dist/containment/Card.svelte.d.ts +1 -1
  29. package/dist/containment/Container.svelte +1 -1
  30. package/dist/containment/Container.svelte.d.ts +1 -1
  31. package/dist/containment/Spacer.svelte +17 -11
  32. package/dist/containment/SurfaceContainer.svelte +1 -1
  33. package/dist/containment/SurfaceContainer.svelte.d.ts +1 -1
  34. package/dist/containment/styles/avatar.css +20 -0
  35. package/dist/containment/styles/breadcrumb.css +27 -0
  36. package/dist/containment/styles/card.css +7 -0
  37. package/dist/containment/styles/container.css +26 -0
  38. package/dist/containment/styles/surface-container.css +29 -0
  39. package/dist/inputs/Checkbox.svelte +45 -45
  40. package/dist/inputs/ColorInput.svelte +61 -51
  41. package/dist/inputs/FileInput.svelte +39 -30
  42. package/dist/inputs/RadioGroup.svelte +1 -2
  43. package/dist/inputs/RadioGroup.svelte.d.ts +1 -1
  44. package/dist/inputs/RadioItem.svelte +36 -36
  45. package/dist/inputs/Slider.svelte +77 -86
  46. package/dist/inputs/Switch.svelte +47 -54
  47. package/dist/inputs/TagInput.svelte +72 -67
  48. package/dist/inputs/TextInput.svelte +72 -76
  49. package/dist/inputs/styles/radio_group.css +6 -0
  50. package/dist/misc/Badge.svelte +48 -40
  51. package/dist/misc/DotSpinner.svelte +8 -4
  52. package/dist/misc/DuckSpinner.svelte +92 -70
  53. package/dist/misc/Gap.svelte +12 -6
  54. package/dist/misc/LinearProgressIndicator.svelte +38 -29
  55. package/dist/navigation/AdaptiveSidebar.svelte +64 -70
  56. package/dist/navigation/AdaptiveSidebar.svelte.d.ts +1 -1
  57. package/dist/navigation/AppBar.svelte +39 -31
  58. package/dist/navigation/NavigationBar.svelte +26 -35
  59. package/dist/navigation/NavigationBarButton.svelte +42 -33
  60. package/dist/navigation/NavigationDrawer.svelte +1 -81
  61. package/dist/navigation/NavigationDrawer.svelte.d.ts +1 -0
  62. package/dist/navigation/styles/navigation_drawer.css +93 -0
  63. package/dist/overlay/CommandDialog.svelte +1 -1
  64. package/dist/overlay/CommandDialog.svelte.d.ts +1 -1
  65. package/dist/overlay/Dialog.svelte +1 -1
  66. package/dist/overlay/Dialog.svelte.d.ts +1 -1
  67. package/dist/overlay/MinimalDialog.svelte +1 -1
  68. package/dist/overlay/MinimalDialog.svelte.d.ts +1 -1
  69. package/dist/overlay/MinimalSurfaceDialog.svelte +3 -3
  70. package/dist/overlay/MinimalSurfaceDialog.svelte.d.ts +3 -3
  71. package/dist/overlay/Popover.svelte +1 -1
  72. package/dist/overlay/Popover.svelte.d.ts +1 -1
  73. package/dist/overlay/styles/command.css +124 -0
  74. package/dist/overlay/styles/dialog.css +65 -0
  75. package/dist/overlay/styles/popover.css +9 -0
  76. package/dist/overlay/styles/surface-dialog.css +21 -0
  77. package/package.json +18 -18
  78. package/src/styles/index.css +6 -0
  79. package/src/styles/theme.css +94 -0
  80. package/dist/buttons/styles/base_button.scss +0 -30
  81. package/dist/buttons/styles/elevated_button.scss +0 -20
  82. package/dist/buttons/styles/expanded_text_button.scss +0 -20
  83. package/dist/buttons/styles/filled_button.scss +0 -17
  84. package/dist/buttons/styles/icon_button.scss +0 -38
  85. package/dist/buttons/styles/outlined_button.scss +0 -18
  86. package/dist/buttons/styles/text_button.scss +0 -17
  87. package/dist/containment/styles/avatar.scss +0 -16
  88. package/dist/containment/styles/card.scss +0 -3
  89. package/dist/containment/styles/container.scss +0 -22
  90. package/dist/containment/styles/surface-container.scss +0 -27
  91. package/dist/inputs/styles/radio_group.scss +0 -3
  92. package/dist/overlay/styles/command.scss +0 -121
  93. package/dist/overlay/styles/dialog.scss +0 -69
  94. package/dist/overlay/styles/popover.scss +0 -5
  95. package/dist/overlay/styles/surface-dialog.scss +0 -17
  96. package/src/styles/colors.scss +0 -43
  97. package/src/styles/config.scss +0 -1
  98. package/src/styles/misc.scss +0 -15
  99. package/src/styles/scheme.scss +0 -80
  100. package/src/styles/spacing.scss +0 -23
  101. package/src/styles/utils.scss +0 -27
@@ -1,4 +1,4 @@
1
- import './styles/dialog.scss';
1
+ import './styles/dialog.css';
2
2
  import { type DialogContentProps } from 'bits-ui';
3
3
  import type { Snippet } from 'svelte';
4
4
  export type MinimalDialogProps = DialogContentProps & {
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
- import './styles/dialog.scss';
3
- import '../containment/styles/surface-container.scss';
4
- import './styles/surface-dialog.scss';
2
+ import './styles/dialog.css';
3
+ import '../containment/styles/surface-container.css';
4
+ import './styles/surface-dialog.css';
5
5
 
6
6
  import MinimalDialog, { type MinimalDialogProps } from './MinimalDialog.svelte';
7
7
  import type { Snippet } from 'svelte';
@@ -1,6 +1,6 @@
1
- import './styles/dialog.scss';
2
- import '../containment/styles/surface-container.scss';
3
- import './styles/surface-dialog.scss';
1
+ import './styles/dialog.css';
2
+ import '../containment/styles/surface-container.css';
3
+ import './styles/surface-dialog.css';
4
4
  import { type MinimalDialogProps } from './MinimalDialog.svelte';
5
5
  import type { Snippet } from 'svelte';
6
6
  type MinimalSurfaceDialogProps = MinimalDialogProps & {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from 'svelte';
3
- import './styles/popover.scss';
3
+ import './styles/popover.css';
4
4
  import { scale } from 'svelte/transition';
5
5
  import { Popover as BitsPopover, type PopoverContentProps } from 'bits-ui';
6
6
 
@@ -1,5 +1,5 @@
1
1
  import type { Snippet } from 'svelte';
2
- import './styles/popover.scss';
2
+ import './styles/popover.css';
3
3
  import { type PopoverContentProps } from 'bits-ui';
4
4
  type PopoverProps = PopoverContentProps & {
5
5
  open?: boolean;
@@ -0,0 +1,124 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-command-dialog] {
5
+ top: 25dvh;
6
+ left: calc(50lvw - --spacing(4));
7
+ transform: translate(-50%, 0);
8
+ max-height: calc(75dvh - --spacing(8));
9
+
10
+ [data-command-input] {
11
+ @apply border-onBackground/20 border border-solid transition-colors;
12
+ background-color: var(--color-background);
13
+ border-radius: var(--radius-lg);
14
+ padding: --spacing(2);
15
+ font-size: inherit;
16
+ font-family: inherit;
17
+ line-height: 1.5;
18
+ color: var(--color-onSurface);
19
+ outline: none;
20
+ width: 100%;
21
+ box-sizing: border-box;
22
+
23
+ &::placeholder {
24
+ @apply text-onBackground/70;
25
+ }
26
+
27
+ &:focus {
28
+ border-color: var(--color-primary);
29
+ }
30
+ }
31
+
32
+ [data-command-list] {
33
+ flex: 1;
34
+ overflow-y: auto;
35
+ overflow-x: hidden;
36
+ margin-top: --spacing(4);
37
+ }
38
+
39
+ [data-command-viewport] {
40
+ display: flex;
41
+ flex-direction: column;
42
+ gap: --spacing(1);
43
+ }
44
+
45
+ [data-command-group] {
46
+ display: flex;
47
+ flex-direction: column;
48
+ gap: --spacing(1);
49
+
50
+ &:not(:first-child) {
51
+ margin-top: --spacing(3);
52
+ }
53
+ }
54
+
55
+ [data-command-group-heading] {
56
+ font-weight: 600;
57
+ font-size: 0.8em;
58
+ color: --alpha(var(--color-onSurface) / 60%);
59
+ text-transform: uppercase;
60
+ letter-spacing: 0.05em;
61
+ margin-bottom: --spacing(2);
62
+ }
63
+
64
+ [data-command-group-items] {
65
+ display: flex;
66
+ flex-direction: column;
67
+ gap: --spacing(1);
68
+ }
69
+
70
+ [data-command-item] {
71
+ display: flex;
72
+ align-items: center;
73
+ justify-content: space-between;
74
+ gap: --spacing(3);
75
+ padding: --spacing(3);
76
+ border-radius: var(--radius-lg);
77
+ cursor: pointer;
78
+ line-height: 1.5;
79
+ color: var(--color-onSurface);
80
+ background-color: transparent;
81
+ border: none;
82
+ text-align: left;
83
+ width: 100%;
84
+ outline: none;
85
+ box-sizing: border-box;
86
+
87
+ &[data-selected] {
88
+ background-color: var(--color-primaryContainer);
89
+ color: var(--color-onPrimaryContainer);
90
+ }
91
+
92
+ &[data-disabled] {
93
+ opacity: 0.5;
94
+ cursor: not-allowed;
95
+
96
+ &:hover {
97
+ background-color: transparent;
98
+ }
99
+ }
100
+
101
+ &:focus-visible {
102
+ @apply shadow-md;
103
+ background-color: var(--color-primaryContainer);
104
+ color: var(--color-onPrimaryContainer);
105
+ }
106
+
107
+ [data-command-item-shortcut] {
108
+ @apply border-onBackground/20 border border-solid;
109
+ font-size: 0.9rem;
110
+ color: var(--color-onSurface);
111
+ background-color: var(--color-surfaceDim);
112
+ padding: --spacing(1) --spacing(1.5);
113
+ border-radius: var(--radius-lg);
114
+ font-family:
115
+ ui-monospace, SFMono-Regular, 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace;
116
+ }
117
+ }
118
+
119
+ [data-command-empty] {
120
+ @apply text-onSurface/50;
121
+ text-align: center;
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,65 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-celar-dialog-overlay] {
5
+ @apply bg-onBackground/10 backdrop-blur;
6
+ position: fixed;
7
+ top: 0;
8
+ left: 0;
9
+ width: 100%;
10
+ height: 100%;
11
+ z-index: 100;
12
+ }
13
+
14
+ [data-celar-dialog-content] {
15
+ @apply shadow-xl;
16
+ box-sizing: border-box;
17
+ position: fixed;
18
+ top: calc(50dvh - --spacing(4));
19
+ left: calc(50lvw - --spacing(4));
20
+ transform: translate(-50%, -50%);
21
+ max-width: calc(100% - --spacing(8));
22
+ max-height: calc(100dvh - --spacing(8));
23
+ margin: --spacing(4);
24
+ background-color: var(--color-background);
25
+ border-radius: var(--radius-2xl);
26
+ overflow: hidden;
27
+ z-index: 101;
28
+
29
+ &[data-xs='true'] {
30
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint-xs));
31
+ }
32
+ &[data-sm='true'] {
33
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint-sm));
34
+ }
35
+ &[data-md='true'] {
36
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint-md));
37
+ }
38
+ &[data-fluid='true'] {
39
+ width: 100%;
40
+ }
41
+ }
42
+
43
+ [data-dialog-header] {
44
+ height: --spacing(12);
45
+ display: flex;
46
+ justify-content: space-between;
47
+ align-items: center;
48
+ padding-left: --spacing(4);
49
+ padding-right: --spacing(1.5);
50
+ overflow: hidden;
51
+ }
52
+
53
+ [data-celar-dialog-title] {
54
+ overflow: hidden;
55
+ text-overflow: ellipsis;
56
+ white-space: nowrap;
57
+ }
58
+
59
+ [data-dialog-body] {
60
+ box-sizing: border-box;
61
+ max-height: calc(100dvh - --spacing(20));
62
+ overflow-y: auto;
63
+ padding: --spacing(4);
64
+ }
65
+ }
@@ -0,0 +1,9 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-popover-content] {
5
+ z-index: var(--z-index, 120);
6
+ max-width: 100vw;
7
+ margin: --spacing(2) auto;
8
+ }
9
+ }
@@ -0,0 +1,21 @@
1
+ @reference '$style/index.css';
2
+
3
+ @layer components {
4
+ [data-minimal-surface-dialog] {
5
+ border-radius: var(--radius-4xl);
6
+
7
+ [data-dialog-body] {
8
+ [data-surface-dialog-body] {
9
+ border-radius: var(--radius-4xl);
10
+ background-color: var(--color-surfaceContainerLowest);
11
+ padding: --spacing(4);
12
+ }
13
+ [data-surface-dialog-header] {
14
+ margin-block-end: --spacing(4);
15
+ }
16
+ [data-surface-dialog-footer] {
17
+ margin-block-start: --spacing(4);
18
+ }
19
+ }
20
+ }
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celar-ui/svelte",
3
- "version": "1.8.2",
3
+ "version": "2.0.1",
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": "vite build && npm run prepack",
16
+ "build": "bun run gen-theme && 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",
@@ -22,7 +22,7 @@
22
22
  "format": "prettier --write .",
23
23
  "lint": "prettier --check . && eslint .",
24
24
  "npm-publish": "bun run build && export $(grep -v '^#' ../../.env | xargs) && npm publish --access=public",
25
- "gen-colors": "bun run ./scripts/gen-colors.ts"
25
+ "gen-theme": "bun run ./src/bin/gen-theme.ts"
26
26
  },
27
27
  "files": [
28
28
  "dist",
@@ -41,9 +41,9 @@
41
41
  "types": "./dist/index.d.ts",
42
42
  "svelte": "./dist/index.js"
43
43
  },
44
- "./src/styles/*.scss": {
45
- "import": "./src/styles/*.scss",
46
- "require": "./src/styles/*.scss"
44
+ "./src/styles/*.css": {
45
+ "import": "./src/styles/*.css",
46
+ "require": "./src/styles/*.css"
47
47
  }
48
48
  },
49
49
  "peerDependencies": {
@@ -53,30 +53,30 @@
53
53
  "devDependencies": {
54
54
  "@eslint/compat": "^1.4.1",
55
55
  "@eslint/js": "^9.39.4",
56
- "@iconify-json/hugeicons": "^1.2.24",
56
+ "@iconify-json/hugeicons": "^1.2.25",
57
57
  "@sveltejs/adapter-auto": "^4.0.0",
58
- "@sveltejs/kit": "^2.55.0",
58
+ "@sveltejs/kit": "^2.57.1",
59
59
  "@sveltejs/package": "^2.5.7",
60
60
  "@sveltejs/vite-plugin-svelte": "^5.1.1",
61
- "@types/bun": "^1.3.10",
62
- "autoprefixer": "^10.4.27",
63
- "bits-ui": "^2.16.3",
61
+ "@tailwindcss/vite": "^4.2.2",
62
+ "bits-ui": "^2.17.3",
64
63
  "csstype": "^3.2.3",
65
64
  "eslint": "^9.39.4",
66
65
  "eslint-config-prettier": "^10.1.8",
67
- "eslint-plugin-svelte": "^3.15.2",
66
+ "eslint-plugin-svelte": "^3.17.0",
68
67
  "globals": "^16.5.0",
69
68
  "material-dynamic-colors": "^1.1.4",
70
- "prettier": "^3.8.1",
69
+ "prettier": "^3.8.2",
71
70
  "prettier-plugin-svelte": "^3.5.1",
71
+ "prettier-plugin-tailwindcss": "^0.7.2",
72
72
  "publint": "^0.3.18",
73
- "sass": "^1.98.0",
74
- "svelte": "^5.53.12",
75
- "svelte-check": "^4.4.5",
73
+ "svelte": "^5.55.3",
74
+ "svelte-check": "^4.4.6",
75
+ "tailwindcss": "^4.2.2",
76
76
  "typescript": "^5.9.3",
77
- "typescript-eslint": "^8.57.0",
77
+ "typescript-eslint": "^8.58.1",
78
78
  "unplugin-icons": "^22.5.0",
79
- "vite": "^6.4.1"
79
+ "vite": "^6.4.2"
80
80
  },
81
81
  "keywords": [
82
82
  "svelte"
@@ -0,0 +1,6 @@
1
+ @import 'tailwindcss';
2
+ @import './theme.css';
3
+
4
+ @theme {
5
+ --breakpoint-xs: 30rem;
6
+ }
@@ -0,0 +1,94 @@
1
+ /* Generated by index.ts */
2
+ /* Source color: #ff907f */
3
+
4
+ @custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
5
+
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;
49
+ }
50
+
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;
94
+ }
@@ -1,30 +0,0 @@
1
- [data-button-root] {
2
- display: inline-block;
3
- position: relative;
4
- box-sizing: border-box;
5
- padding: 0;
6
- margin: 0;
7
- transition-duration: var(--transition-dur);
8
- transition-timing-function: ease-in;
9
- cursor: pointer;
10
- border: none;
11
- width: fit-content;
12
- height: fit-content;
13
- font-size: inherit;
14
- font-family: inherit;
15
- user-select: none;
16
- text-decoration: none;
17
- -webkit-tap-highlight-color: transparent;
18
-
19
- &:not([data-active='true']):disabled,
20
- &:not([data-active='true'])[aria-disabled='true'] {
21
- opacity: 0.6;
22
- filter: grayscale(100%);
23
- }
24
-
25
- &:disabled,
26
- &[aria-disabled='true'] {
27
- cursor: default;
28
- pointer-events: none;
29
- }
30
- }
@@ -1,20 +0,0 @@
1
- [data-button-elevated] {
2
- transition-property: box-shadow, opacity, filter, background-color;
3
- box-shadow: 0 1px 1px var(--color-shadow--md);
4
- background-color: var(--color-primaryContainer);
5
- color: var(--color-onPrimaryContainer);
6
-
7
- &:not(:disabled, [data-active='true']):hover {
8
- box-shadow: 0 3px 4px var(--color-shadow--strong);
9
- filter: brightness(1.05);
10
- }
11
-
12
- &:not(:disabled):active {
13
- box-shadow: 0 1px 1px var(--color-shadow--strong);
14
- filter: brightness(1);
15
- }
16
-
17
- &[data-active='true'] {
18
- background-color: var(--color-inversePrimary);
19
- }
20
- }
@@ -1,20 +0,0 @@
1
- [data-button-text-expanded] {
2
- transition-property: background-color, opacity, filter;
3
- background-color: transparent;
4
- color: var(--color-onPrimaryContainer);
5
- display: block;
6
- width: 100%;
7
- overflow: hidden;
8
-
9
- &:not(:disabled, [data-active='true']):hover {
10
- background-color: var(--color-primaryContainer);
11
- }
12
-
13
- &:not(:disabled):active {
14
- filter: brightness(0.95);
15
- }
16
-
17
- &[data-active='true'] {
18
- background-color: var(--color-inversePrimary);
19
- }
20
- }
@@ -1,17 +0,0 @@
1
- [data-button-filled] {
2
- transition-property: opacity, filter;
3
- background-color: var(--color-primary);
4
- color: var(--color-onPrimary);
5
-
6
- &:not(:disabled, [data-active='true']):hover {
7
- filter: brightness(1.2);
8
- }
9
-
10
- &:not(:disabled):active {
11
- filter: brightness(1);
12
- }
13
-
14
- &[data-active='true'] {
15
- filter: brightness(1.3);
16
- }
17
- }
@@ -1,38 +0,0 @@
1
- [data-button-icon] {
2
- flex-grow: 0;
3
- flex-shrink: 0;
4
- transition-property: background-color, opacity, filter;
5
- border-radius: 50%;
6
- background-color: transparent;
7
- color: var(--color-onPrimaryContainer);
8
- padding: var(--gap--half);
9
- aspect-ratio: 1/1;
10
- line-height: 1;
11
-
12
- .button-spinner {
13
- display: flex;
14
- position: absolute;
15
- top: 0;
16
- left: 0;
17
- justify-content: center;
18
- align-items: center;
19
- width: 100%;
20
- height: 100%;
21
- }
22
-
23
- .button-body {
24
- line-height: 0;
25
- }
26
-
27
- &:not(:disabled, [data-active='true']):hover {
28
- background-color: var(--color-primaryContainer);
29
- }
30
-
31
- &:not(:disabled):active {
32
- filter: brightness(0.95);
33
- }
34
-
35
- &[data-active='true'] {
36
- background-color: var(--color-inversePrimary);
37
- }
38
- }
@@ -1,18 +0,0 @@
1
- [data-button-outlined] {
2
- transition-property: background-color, opacity, filter;
3
- background-color: transparent;
4
- color: var(--color-onPrimaryContainer);
5
- border: 1px solid var(--color-border);
6
-
7
- &:not(:disabled, [data-active='true']):hover {
8
- background-color: var(--color-primaryContainer);
9
- }
10
-
11
- &:not(:disabled):active {
12
- filter: brightness(0.95);
13
- }
14
-
15
- &[data-active='true'] {
16
- background-color: var(--color-inversePrimary);
17
- }
18
- }
@@ -1,17 +0,0 @@
1
- [data-button-text] {
2
- transition-property: background-color, opacity, filter;
3
- background-color: transparent;
4
- color: var(--color-onPrimaryContainer);
5
-
6
- &:not(:disabled, [data-active='true']):hover {
7
- background-color: var(--color-primaryContainer);
8
- }
9
-
10
- &:not(:disabled):active {
11
- filter: brightness(0.95);
12
- }
13
-
14
- &[data-active='true'] {
15
- background-color: var(--color-inversePrimary);
16
- }
17
- }
@@ -1,16 +0,0 @@
1
- [data-avatar-root] {
2
- display: block;
3
- position: relative;
4
- background-color: var(--color-surfaceContainerHigh);
5
- aspect-ratio: 1;
6
- width: var(--size);
7
- border-radius: 50%;
8
- overflow: hidden;
9
- }
10
-
11
- [data-avatar-image],
12
- [data-avatar-fallback] {
13
- object-fit: cover;
14
- width: 100%;
15
- height: 100%;
16
- }
@@ -1,3 +0,0 @@
1
- [data-card] {
2
- box-shadow: 0 var(--gap--xs) var(--gap--sm) var(--color-shadow--soft);
3
- }
@@ -1,22 +0,0 @@
1
- [data-container] {
2
- position: relative;
3
- margin: 0 auto;
4
- padding: var(--gap);
5
- box-sizing: border-box;
6
-
7
- &[data-xs='true'] {
8
- max-width: var(--break--xs);
9
- }
10
-
11
- &[data-sm='true'] {
12
- max-width: var(--break--sm);
13
- }
14
-
15
- &[data-md='true'] {
16
- max-width: var(--break--md);
17
- }
18
-
19
- &[data-fluid='true'] {
20
- width: 100%;
21
- }
22
- }