@celar-ui/svelte 1.8.1 → 2.0.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 (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 +15 -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 +43 -45
  40. package/dist/inputs/ColorInput.svelte +63 -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 +38 -36
  45. package/dist/inputs/Slider.svelte +78 -86
  46. package/dist/inputs/Switch.svelte +49 -54
  47. package/dist/inputs/TagInput.svelte +77 -67
  48. package/dist/inputs/TextInput.svelte +83 -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 -71
  56. package/dist/navigation/AdaptiveSidebar.svelte.d.ts +1 -1
  57. package/dist/navigation/AppBar.svelte +39 -32
  58. package/dist/navigation/NavigationBar.svelte +27 -35
  59. package/dist/navigation/NavigationBarButton.svelte +42 -33
  60. package/dist/navigation/NavigationDrawer.svelte +1 -82
  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 +125 -0
  74. package/dist/overlay/styles/dialog.css +64 -0
  75. package/dist/overlay/styles/popover.css +9 -0
  76. package/dist/overlay/styles/surface-dialog.css +21 -0
  77. package/package.json +23 -21
  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,5 +1,5 @@
1
1
  <script lang="ts">
2
- import './styles/dialog.scss';
2
+ import './styles/dialog.css';
3
3
  import { fade, fly } from 'svelte/transition';
4
4
  import { Dialog as BitDialog, type DialogContentProps } from 'bits-ui';
5
5
  import type { Snippet } from 'svelte';
@@ -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,125 @@
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;
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
+ transition: border-color var(--tw-duration, 150ms) ease-in-out;
21
+ width: 100%;
22
+ box-sizing: border-box;
23
+
24
+ &::placeholder {
25
+ @apply text-onBackground/70;
26
+ }
27
+
28
+ &:focus {
29
+ border-color: var(--color-primary);
30
+ }
31
+ }
32
+
33
+ [data-command-list] {
34
+ flex: 1;
35
+ overflow-y: auto;
36
+ overflow-x: hidden;
37
+ margin-top: --spacing(4);
38
+ }
39
+
40
+ [data-command-viewport] {
41
+ display: flex;
42
+ flex-direction: column;
43
+ gap: --spacing(1);
44
+ }
45
+
46
+ [data-command-group] {
47
+ display: flex;
48
+ flex-direction: column;
49
+ gap: --spacing(1);
50
+
51
+ &:not(:first-child) {
52
+ margin-top: --spacing(3);
53
+ }
54
+ }
55
+
56
+ [data-command-group-heading] {
57
+ font-weight: 600;
58
+ font-size: 0.8em;
59
+ color: --alpha(var(--color-onSurface) / 60%);
60
+ text-transform: uppercase;
61
+ letter-spacing: 0.05em;
62
+ margin-bottom: --spacing(2);
63
+ }
64
+
65
+ [data-command-group-items] {
66
+ display: flex;
67
+ flex-direction: column;
68
+ gap: --spacing(1);
69
+ }
70
+
71
+ [data-command-item] {
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: space-between;
75
+ gap: --spacing(3);
76
+ padding: --spacing(3);
77
+ border-radius: var(--radius-lg);
78
+ cursor: pointer;
79
+ line-height: 1.5;
80
+ color: var(--color-onSurface);
81
+ background-color: transparent;
82
+ border: none;
83
+ text-align: left;
84
+ width: 100%;
85
+ outline: none;
86
+ box-sizing: border-box;
87
+
88
+ &[data-selected] {
89
+ background-color: var(--color-primaryContainer);
90
+ color: var(--color-onPrimaryContainer);
91
+ }
92
+
93
+ &[data-disabled] {
94
+ opacity: 0.5;
95
+ cursor: not-allowed;
96
+
97
+ &:hover {
98
+ background-color: transparent;
99
+ }
100
+ }
101
+
102
+ &:focus-visible {
103
+ @apply shadow-md;
104
+ background-color: var(--color-primaryContainer);
105
+ color: var(--color-onPrimaryContainer);
106
+ }
107
+
108
+ [data-command-item-shortcut] {
109
+ @apply border-onBackground/20 border border-solid;
110
+ font-size: 0.9rem;
111
+ color: var(--color-onSurface);
112
+ background-color: var(--color-surfaceDim);
113
+ padding: --spacing(1) --spacing(1.5);
114
+ border-radius: var(--radius-lg);
115
+ font-family:
116
+ ui-monospace, SFMono-Regular, 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace;
117
+ }
118
+ }
119
+
120
+ [data-command-empty] {
121
+ @apply text-onSurface/50;
122
+ text-align: center;
123
+ }
124
+ }
125
+ }
@@ -0,0 +1,64 @@
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
+ box-sizing: border-box shadow-xl;
16
+ position: fixed;
17
+ top: calc(50dvh - --spacing(4));
18
+ left: calc(50lvw - --spacing(4));
19
+ transform: translate(-50%, -50%);
20
+ max-width: calc(100% - --spacing(8));
21
+ max-height: calc(100dvh - --spacing(8));
22
+ margin: --spacing(4);
23
+ background-color: var(--color-background);
24
+ border-radius: var(--radius-2xl);
25
+ overflow: hidden;
26
+ z-index: 101;
27
+
28
+ &[data-xs='true'] {
29
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint-xs));
30
+ }
31
+ &[data-sm='true'] {
32
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint--sm));
33
+ }
34
+ &[data-md='true'] {
35
+ max-width: min(calc(100% - --spacing(8)), var(--breakpoint--md));
36
+ }
37
+ &[data-fluid='true'] {
38
+ width: 100%;
39
+ }
40
+ }
41
+
42
+ [data-dialog-header] {
43
+ height: --spacing(12);
44
+ display: flex;
45
+ justify-content: space-between;
46
+ align-items: center;
47
+ padding-left: --spacing(4);
48
+ padding-right: --spacing(1.5);
49
+ overflow: hidden;
50
+ }
51
+
52
+ [data-celar-dialog-title] {
53
+ overflow: hidden;
54
+ text-overflow: ellipsis;
55
+ white-space: nowrap;
56
+ }
57
+
58
+ [data-dialog-body] {
59
+ box-sizing: border-box;
60
+ max-height: calc(100dvh - --spacing(20));
61
+ overflow-y: auto;
62
+ padding: --spacing(4);
63
+ }
64
+ }
@@ -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.1",
3
+ "version": "2.0.0",
4
4
  "license": "MIT",
5
5
  "author": {
6
6
  "name": "cuikho210",
@@ -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",
@@ -52,31 +52,33 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@eslint/compat": "^1.4.1",
55
- "@eslint/js": "^9.39.1",
56
- "@iconify-json/hugeicons": "^1.2.17",
55
+ "@eslint/js": "^9.39.4",
56
+ "@iconify-json/hugeicons": "^1.2.25",
57
57
  "@sveltejs/adapter-auto": "^4.0.0",
58
- "@sveltejs/kit": "^2.48.4",
59
- "@sveltejs/package": "^2.5.4",
58
+ "@sveltejs/kit": "^2.57.1",
59
+ "@sveltejs/package": "^2.5.7",
60
60
  "@sveltejs/vite-plugin-svelte": "^5.1.1",
61
- "@types/bun": "^1.3.1",
62
- "autoprefixer": "^10.4.21",
63
- "bits-ui": "^2.14.2",
64
- "csstype": "^3.1.3",
65
- "eslint": "^9.39.1",
61
+ "@tailwindcss/vite": "^4.2.2",
62
+ "autoprefixer": "^10.4.27",
63
+ "bits-ui": "^2.17.3",
64
+ "csstype": "^3.2.3",
65
+ "eslint": "^9.39.4",
66
66
  "eslint-config-prettier": "^10.1.8",
67
- "eslint-plugin-svelte": "^3.13.0",
67
+ "eslint-plugin-svelte": "^3.17.0",
68
68
  "globals": "^16.5.0",
69
- "material-dynamic-colors": "^1.1.2",
70
- "prettier": "^3.6.2",
71
- "prettier-plugin-svelte": "^3.4.0",
72
- "publint": "^0.3.15",
73
- "sass": "^1.93.3",
74
- "svelte": "^5.43.4",
75
- "svelte-check": "^4.3.3",
69
+ "material-dynamic-colors": "^1.1.4",
70
+ "prettier": "^3.8.2",
71
+ "prettier-plugin-svelte": "^3.5.1",
72
+ "prettier-plugin-tailwindcss": "^0.7.2",
73
+ "publint": "^0.3.18",
74
+ "sass": "^1.99.0",
75
+ "svelte": "^5.55.3",
76
+ "svelte-check": "^4.4.6",
77
+ "tailwindcss": "^4.2.2",
76
78
  "typescript": "^5.9.3",
77
- "typescript-eslint": "^8.46.3",
79
+ "typescript-eslint": "^8.58.1",
78
80
  "unplugin-icons": "^22.5.0",
79
- "vite": "^6.4.1"
81
+ "vite": "^6.4.2"
80
82
  },
81
83
  "keywords": [
82
84
  "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
- }