@pathscale/ui 1.2.9 → 1.2.11

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 (125) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +59 -59
  3. package/dist/components/accordion/Accordion.css +158 -158
  4. package/dist/components/alert/Alert.css +116 -116
  5. package/dist/components/avatar/Avatar.css +124 -124
  6. package/dist/components/badge/Badge.css +164 -164
  7. package/dist/components/breadcrumbs/Breadcrumbs.css +63 -63
  8. package/dist/components/button/Button.css +194 -194
  9. package/dist/components/button-group/ButtonGroup.css +117 -117
  10. package/dist/components/calendar/Calendar.css +258 -258
  11. package/dist/components/card/Card.css +110 -110
  12. package/dist/components/chatbubble/ChatBubble.css +164 -164
  13. package/dist/components/checkbox/Checkbox.css +183 -183
  14. package/dist/components/checkbox-group/CheckboxGroup.css +10 -10
  15. package/dist/components/chip/Chip.css +197 -197
  16. package/dist/components/close-button/CloseButton.css +81 -81
  17. package/dist/components/color-area/ColorArea.css +54 -54
  18. package/dist/components/color-field/ColorField.css +88 -88
  19. package/dist/components/color-picker/ColorPicker.css +28 -28
  20. package/dist/components/color-slider/ColorSlider.css +57 -57
  21. package/dist/components/color-swatch/ColorSwatch.css +84 -84
  22. package/dist/components/color-swatch-picker/ColorSwatchPicker.css +12 -12
  23. package/dist/components/color-wheel-flower/ColorWheelFlower.css +147 -147
  24. package/dist/components/combo-box/ComboBox.css +344 -344
  25. package/dist/components/date-field/DateField.css +215 -215
  26. package/dist/components/date-picker/DatePicker.css +143 -143
  27. package/dist/components/date-range-picker/DateRangePicker.css +149 -149
  28. package/dist/components/description/Description.css +10 -10
  29. package/dist/components/disclosure/Disclosure.css +84 -84
  30. package/dist/components/disclosure-group/DisclosureGroup.css +9 -9
  31. package/dist/components/drawer/Drawer.css +463 -463
  32. package/dist/components/dropdown/Dropdown.css +211 -211
  33. package/dist/components/empty-state/EmptyState.css +39 -39
  34. package/dist/components/error-message/ErrorMessage.css +20 -20
  35. package/dist/components/field-error/FieldError.css +27 -27
  36. package/dist/components/fieldset/Fieldset.css +30 -30
  37. package/dist/components/flex/Flex.css +5 -5
  38. package/dist/components/floating-dock/FloatingDock.css +208 -208
  39. package/dist/components/footer/footer.css +51 -51
  40. package/dist/components/form/Form.css +5 -5
  41. package/dist/components/glass-panel/GlassPanel.css +359 -359
  42. package/dist/components/glow-card/GlowCard.css +100 -100
  43. package/dist/components/grid/Grid.css +5 -5
  44. package/dist/components/header/Header.css +13 -13
  45. package/dist/components/icon/Icon.css +10 -10
  46. package/dist/components/immersive-landing/ImmersiveLanding.css +565 -565
  47. package/dist/components/input/Input.css +155 -155
  48. package/dist/components/input-group/InputGroup.css +172 -172
  49. package/dist/components/input-otp/InputOTP.css +170 -170
  50. package/dist/components/kbd/Kbd.css +60 -60
  51. package/dist/components/label/Label.css +30 -30
  52. package/dist/components/language-switcher/LanguageSwitcher.css +56 -56
  53. package/dist/components/link/Link.css +131 -131
  54. package/dist/components/list-box/ListBox.css +148 -148
  55. package/dist/components/live-chat/LiveChat.css +324 -324
  56. package/dist/components/menu/Menu.css +199 -199
  57. package/dist/components/metal-border/MetalBorder.classes.d.ts +26 -0
  58. package/dist/components/metal-border/MetalBorder.classes.js +27 -0
  59. package/dist/components/metal-border/MetalBorder.css +40 -0
  60. package/dist/components/metal-border/MetalBorder.d.ts +20 -0
  61. package/dist/components/metal-border/MetalBorder.js +322 -0
  62. package/dist/components/metal-border/engine/color.d.ts +4 -0
  63. package/dist/components/metal-border/engine/color.js +69 -0
  64. package/dist/components/metal-border/engine/glow/geometry.d.ts +35 -0
  65. package/dist/components/metal-border/engine/glow/geometry.js +176 -0
  66. package/dist/components/metal-border/engine/glow/glow.d.ts +38 -0
  67. package/dist/components/metal-border/engine/glow/glow.js +246 -0
  68. package/dist/components/metal-border/engine/index.d.ts +4 -0
  69. package/dist/components/metal-border/engine/index.js +2 -0
  70. package/dist/components/metal-border/engine/perfConfig.d.ts +9 -0
  71. package/dist/components/metal-border/engine/perfConfig.js +10 -0
  72. package/dist/components/metal-border/engine/presets.d.ts +57 -0
  73. package/dist/components/metal-border/engine/presets.js +214 -0
  74. package/dist/components/metal-border/engine/renderer/core.d.ts +69 -0
  75. package/dist/components/metal-border/engine/renderer/core.js +156 -0
  76. package/dist/components/metal-border/engine/renderer/loop.d.ts +30 -0
  77. package/dist/components/metal-border/engine/renderer/loop.js +248 -0
  78. package/dist/components/metal-border/engine/renderer/sampling.d.ts +14 -0
  79. package/dist/components/metal-border/engine/renderer/sampling.js +145 -0
  80. package/dist/components/metal-border/engine/shaders.d.ts +36 -0
  81. package/dist/components/metal-border/engine/shaders.js +215 -0
  82. package/dist/components/metal-border/engine/tween.d.ts +17 -0
  83. package/dist/components/metal-border/engine/tween.js +28 -0
  84. package/dist/components/metal-border/index.d.ts +2 -0
  85. package/dist/components/metal-border/index.js +1 -0
  86. package/dist/components/meter/Meter.css +89 -89
  87. package/dist/components/modal/Modal.css +320 -320
  88. package/dist/components/navbar/Navbar.css +110 -110
  89. package/dist/components/noise-background/NoiseBackground.css +66 -66
  90. package/dist/components/number-field/NumberField.css +198 -198
  91. package/dist/components/pagination/Pagination.css +121 -121
  92. package/dist/components/popover/Popover.css +117 -117
  93. package/dist/components/progress-bar/ProgressBar.css +104 -104
  94. package/dist/components/progress-circle/ProgressCircle.css +82 -82
  95. package/dist/components/radio/Radio.css +129 -129
  96. package/dist/components/radio-group/RadioGroup.css +58 -58
  97. package/dist/components/range-calendar/RangeCalendar.css +51 -51
  98. package/dist/components/scroll-shadow/ScrollShadow.css +93 -93
  99. package/dist/components/search-field/SearchField.css +183 -183
  100. package/dist/components/select/Select.css +284 -284
  101. package/dist/components/separator/Separator.css +35 -35
  102. package/dist/components/skeleton/Skeleton.css +95 -95
  103. package/dist/components/slider/Slider.css +122 -122
  104. package/dist/components/spinner/Spinner.css +131 -131
  105. package/dist/components/surface/Surface.css +37 -37
  106. package/dist/components/table/Table.css +426 -426
  107. package/dist/components/tabs/Tabs.css +203 -203
  108. package/dist/components/tag/Tag.css +121 -121
  109. package/dist/components/tag-group/TagGroup.css +22 -22
  110. package/dist/components/text/Text.css +66 -66
  111. package/dist/components/text-area/TextArea.css +95 -95
  112. package/dist/components/text-field/TextField.css +33 -33
  113. package/dist/components/time-field/TimeField.css +215 -215
  114. package/dist/components/toast/Toast.css +344 -344
  115. package/dist/components/toggle/Toggle.css +237 -237
  116. package/dist/components/toolbar/Toolbar.css +55 -55
  117. package/dist/components/tooltip/Tooltip.css +153 -153
  118. package/dist/index.css +74 -74
  119. package/dist/index.d.ts +2 -0
  120. package/dist/index.js +1 -0
  121. package/dist/purge-manifest.json +15100 -14847
  122. package/dist/styles/base/index.css +43 -43
  123. package/dist/styles/themes/dark.css +141 -141
  124. package/dist/styles/themes/light.css +143 -143
  125. package/package.json +3 -3
@@ -1,170 +1,170 @@
1
- @layer components {
2
- .input-otp {
3
- position: relative;
4
- display: flex;
5
- align-items: center;
6
- gap: 0.5rem;
7
- }
8
-
9
- .input-otp[data-disabled="true"] {
10
- cursor: not-allowed;
11
- opacity: 0.5;
12
- }
13
-
14
- .input-otp__input {
15
- position: absolute;
16
- width: 1px;
17
- height: 1px;
18
- padding: 0;
19
- margin: -1px;
20
- overflow: hidden;
21
- clip: rect(0 0 0 0);
22
- white-space: nowrap;
23
- border: 0;
24
- opacity: 0;
25
- pointer-events: none;
26
- }
27
-
28
- .input-otp__group {
29
- display: flex;
30
- align-items: center;
31
- gap: 0.5rem;
32
- }
33
-
34
- .input-otp__slot {
35
- position: relative;
36
- display: flex;
37
- width: 2.375rem;
38
- height: 2.5rem;
39
- flex: 1;
40
- align-items: center;
41
- justify-content: center;
42
- border-radius: var(--radius-field, 0.75rem);
43
- border: var(--border-width-field, 1px) solid var(--color-field-border, var(--color-base-300));
44
- background-color: var(--color-field, var(--color-base-100));
45
- color: var(--color-field-foreground, var(--color-base-content));
46
- font-size: 0.875rem;
47
- font-weight: 600;
48
- line-height: 1.25rem;
49
- box-shadow:
50
- 0 1px 0 color-mix(in oklab, var(--color-base-content) 8%, transparent),
51
- 0 1px 0 color-mix(in oklab, var(--color-base-100) 60%, transparent) inset;
52
- outline: none;
53
- transition:
54
- background-color 150ms var(--ease-smooth),
55
- border-color 150ms var(--ease-smooth),
56
- box-shadow 150ms var(--ease-out);
57
- }
58
-
59
- @media (prefers-reduced-motion: reduce) {
60
- .input-otp__slot {
61
- transition: none;
62
- }
63
- }
64
-
65
- @media (hover: hover) {
66
- .input-otp__slot:hover:not([data-disabled="true"]) {
67
- background-color: var(--color-field-hover, var(--color-base-200));
68
- border-color: var(--color-field-border-hover, color-mix(in oklab, var(--color-base-content) 22%, transparent));
69
- }
70
- }
71
-
72
- .input-otp__slot[data-active="true"] {
73
- z-index: 1;
74
- border-color: var(--color-field-border-focus, var(--color-accent));
75
- background-color: var(--color-field-focus, var(--color-base-100));
76
- box-shadow:
77
- 0 0 0 3px color-mix(in oklab, var(--color-accent) 22%, transparent),
78
- 0 1px 0 color-mix(in oklab, var(--color-accent) 24%, transparent);
79
- }
80
-
81
- .input-otp__slot[data-filled="true"] {
82
- background-color: var(--color-field-focus, var(--color-base-100));
83
- }
84
-
85
- .input-otp__slot[data-disabled="true"] {
86
- cursor: not-allowed;
87
- border-color: var(--color-base-300);
88
- background-color: var(--color-base-200);
89
- color: color-mix(in oklab, var(--color-base-content) 45%, transparent);
90
- box-shadow: none;
91
- }
92
-
93
- .input-otp__slot[data-invalid="true"] {
94
- border-color: var(--color-field-border-invalid, var(--color-danger));
95
- background-color: var(--color-field-focus, var(--color-base-100));
96
- box-shadow:
97
- 0 0 0 3px color-mix(in oklab, var(--color-danger) 20%, transparent),
98
- 0 1px 0 color-mix(in oklab, var(--color-danger) 20%, transparent);
99
- }
100
-
101
- .input-otp__slot-value {
102
- font-size: 1.125rem;
103
- line-height: 1.5rem;
104
- letter-spacing: -0.27px;
105
- transform-origin: bottom center;
106
- animation: input-otp-slot-value-in 250ms var(--ease-smooth) both;
107
- }
108
-
109
- .input-otp__caret {
110
- position: absolute;
111
- width: 2px;
112
- height: 1rem;
113
- border-radius: 4px;
114
- background-color: var(--color-field-placeholder, color-mix(in oklab, var(--color-base-content) 45%, transparent));
115
- animation: input-otp-caret-blink 1.1s step-end infinite;
116
- }
117
-
118
- .input-otp__separator {
119
- width: 6px;
120
- height: 2px;
121
- flex-shrink: 0;
122
- border-radius: 4px;
123
- background-color: var(--color-separator, var(--color-base-300));
124
- }
125
-
126
- .input-otp--secondary .input-otp__slot {
127
- box-shadow: none;
128
- background-color: var(--input-otp-slot-bg, var(--color-base-200));
129
- }
130
-
131
- @media (hover: hover) {
132
- .input-otp--secondary .input-otp__slot:hover:not([data-disabled="true"]) {
133
- background-color: var(--input-otp-slot-bg-hover, var(--color-base-300));
134
- }
135
- }
136
-
137
- .input-otp--secondary .input-otp__slot[data-active="true"],
138
- .input-otp--secondary .input-otp__slot[data-filled="true"] {
139
- background-color: var(--input-otp-slot-bg-focus, var(--color-base-200));
140
- }
141
-
142
- @media (prefers-reduced-motion: reduce) {
143
- .input-otp__slot-value,
144
- .input-otp__caret {
145
- animation: none;
146
- }
147
- }
148
-
149
- @keyframes input-otp-slot-value-in {
150
- 0% {
151
- opacity: 0;
152
- transform: translateY(8px) scale(0.8);
153
- }
154
- 100% {
155
- opacity: 1;
156
- transform: translateY(0) scale(1);
157
- }
158
- }
159
-
160
- @keyframes input-otp-caret-blink {
161
- 0%,
162
- 50% {
163
- opacity: 1;
164
- }
165
- 50.01%,
166
- 100% {
167
- opacity: 0;
168
- }
169
- }
170
- }
1
+ @layer components {
2
+ .input-otp {
3
+ position: relative;
4
+ display: flex;
5
+ align-items: center;
6
+ gap: 0.5rem;
7
+ }
8
+
9
+ .input-otp[data-disabled="true"] {
10
+ cursor: not-allowed;
11
+ opacity: 0.5;
12
+ }
13
+
14
+ .input-otp__input {
15
+ position: absolute;
16
+ width: 1px;
17
+ height: 1px;
18
+ padding: 0;
19
+ margin: -1px;
20
+ overflow: hidden;
21
+ clip: rect(0 0 0 0);
22
+ white-space: nowrap;
23
+ border: 0;
24
+ opacity: 0;
25
+ pointer-events: none;
26
+ }
27
+
28
+ .input-otp__group {
29
+ display: flex;
30
+ align-items: center;
31
+ gap: 0.5rem;
32
+ }
33
+
34
+ .input-otp__slot {
35
+ position: relative;
36
+ display: flex;
37
+ width: 2.375rem;
38
+ height: 2.5rem;
39
+ flex: 1;
40
+ align-items: center;
41
+ justify-content: center;
42
+ border-radius: var(--radius-field, 0.75rem);
43
+ border: var(--border-width-field, 1px) solid var(--color-field-border, var(--color-base-300));
44
+ background-color: var(--color-field, var(--color-base-100));
45
+ color: var(--color-field-foreground, var(--color-base-content));
46
+ font-size: 0.875rem;
47
+ font-weight: 600;
48
+ line-height: 1.25rem;
49
+ box-shadow:
50
+ 0 1px 0 color-mix(in oklab, var(--color-base-content) 8%, transparent),
51
+ 0 1px 0 color-mix(in oklab, var(--color-base-100) 60%, transparent) inset;
52
+ outline: none;
53
+ transition:
54
+ background-color 150ms var(--ease-smooth),
55
+ border-color 150ms var(--ease-smooth),
56
+ box-shadow 150ms var(--ease-out);
57
+ }
58
+
59
+ @media (prefers-reduced-motion: reduce) {
60
+ .input-otp__slot {
61
+ transition: none;
62
+ }
63
+ }
64
+
65
+ @media (hover: hover) {
66
+ .input-otp__slot:hover:not([data-disabled="true"]) {
67
+ background-color: var(--color-field-hover, var(--color-base-200));
68
+ border-color: var(--color-field-border-hover, color-mix(in oklab, var(--color-base-content) 22%, transparent));
69
+ }
70
+ }
71
+
72
+ .input-otp__slot[data-active="true"] {
73
+ z-index: 1;
74
+ border-color: var(--color-field-border-focus, var(--color-accent));
75
+ background-color: var(--color-field-focus, var(--color-base-100));
76
+ box-shadow:
77
+ 0 0 0 3px color-mix(in oklab, var(--color-accent) 22%, transparent),
78
+ 0 1px 0 color-mix(in oklab, var(--color-accent) 24%, transparent);
79
+ }
80
+
81
+ .input-otp__slot[data-filled="true"] {
82
+ background-color: var(--color-field-focus, var(--color-base-100));
83
+ }
84
+
85
+ .input-otp__slot[data-disabled="true"] {
86
+ cursor: not-allowed;
87
+ border-color: var(--color-base-300);
88
+ background-color: var(--color-base-200);
89
+ color: color-mix(in oklab, var(--color-base-content) 45%, transparent);
90
+ box-shadow: none;
91
+ }
92
+
93
+ .input-otp__slot[data-invalid="true"] {
94
+ border-color: var(--color-field-border-invalid, var(--color-danger));
95
+ background-color: var(--color-field-focus, var(--color-base-100));
96
+ box-shadow:
97
+ 0 0 0 3px color-mix(in oklab, var(--color-danger) 20%, transparent),
98
+ 0 1px 0 color-mix(in oklab, var(--color-danger) 20%, transparent);
99
+ }
100
+
101
+ .input-otp__slot-value {
102
+ font-size: 1.125rem;
103
+ line-height: 1.5rem;
104
+ letter-spacing: -0.27px;
105
+ transform-origin: bottom center;
106
+ animation: input-otp-slot-value-in 250ms var(--ease-smooth) both;
107
+ }
108
+
109
+ .input-otp__caret {
110
+ position: absolute;
111
+ width: 2px;
112
+ height: 1rem;
113
+ border-radius: 4px;
114
+ background-color: var(--color-field-placeholder, color-mix(in oklab, var(--color-base-content) 45%, transparent));
115
+ animation: input-otp-caret-blink 1.1s step-end infinite;
116
+ }
117
+
118
+ .input-otp__separator {
119
+ width: 6px;
120
+ height: 2px;
121
+ flex-shrink: 0;
122
+ border-radius: 4px;
123
+ background-color: var(--color-separator, var(--color-base-300));
124
+ }
125
+
126
+ .input-otp--secondary .input-otp__slot {
127
+ box-shadow: none;
128
+ background-color: var(--input-otp-slot-bg, var(--color-base-200));
129
+ }
130
+
131
+ @media (hover: hover) {
132
+ .input-otp--secondary .input-otp__slot:hover:not([data-disabled="true"]) {
133
+ background-color: var(--input-otp-slot-bg-hover, var(--color-base-300));
134
+ }
135
+ }
136
+
137
+ .input-otp--secondary .input-otp__slot[data-active="true"],
138
+ .input-otp--secondary .input-otp__slot[data-filled="true"] {
139
+ background-color: var(--input-otp-slot-bg-focus, var(--color-base-200));
140
+ }
141
+
142
+ @media (prefers-reduced-motion: reduce) {
143
+ .input-otp__slot-value,
144
+ .input-otp__caret {
145
+ animation: none;
146
+ }
147
+ }
148
+
149
+ @keyframes input-otp-slot-value-in {
150
+ 0% {
151
+ opacity: 0;
152
+ transform: translateY(8px) scale(0.8);
153
+ }
154
+ 100% {
155
+ opacity: 1;
156
+ transform: translateY(0) scale(1);
157
+ }
158
+ }
159
+
160
+ @keyframes input-otp-caret-blink {
161
+ 0%,
162
+ 50% {
163
+ opacity: 1;
164
+ }
165
+ 50.01%,
166
+ 100% {
167
+ opacity: 0;
168
+ }
169
+ }
170
+ }
@@ -1,60 +1,60 @@
1
- @layer components {
2
- .kbd {
3
- display: inline-flex;
4
- align-items: center;
5
- justify-content: center;
6
- gap: 0.125rem;
7
- min-width: 1.5rem;
8
- height: 1.5rem;
9
- padding-inline: 0.5rem;
10
- border-radius: 0.5rem;
11
- text-align: center;
12
- vertical-align: middle;
13
- white-space: nowrap;
14
- font-family: var(
15
- --font-sans,
16
- ui-sans-serif,
17
- system-ui,
18
- -apple-system,
19
- "Segoe UI",
20
- sans-serif
21
- );
22
- font-size: 0.875rem;
23
- font-weight: 500;
24
- line-height: 1;
25
- word-spacing: -0.25rem;
26
- }
27
-
28
- .kbd--default {
29
- background-color: var(--color-default, var(--color-base-200));
30
- color: var(
31
- --color-muted,
32
- color-mix(in oklab, var(--color-base-content) 72%, transparent)
33
- );
34
- border: 1px solid
35
- color-mix(in oklab, var(--color-base-content) 16%, transparent);
36
- }
37
-
38
- .kbd--light {
39
- background-color: transparent;
40
- color: var(
41
- --color-muted,
42
- color-mix(in oklab, var(--color-base-content) 72%, transparent)
43
- );
44
- border: 1px solid transparent;
45
- }
46
-
47
- .kbd__abbr {
48
- display: inline-flex;
49
- align-items: center;
50
- justify-content: center;
51
- text-decoration: none;
52
- font-style: normal;
53
- }
54
-
55
- .kbd__content {
56
- display: inline-flex;
57
- align-items: center;
58
- justify-content: center;
59
- }
60
- }
1
+ @layer components {
2
+ .kbd {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ gap: 0.125rem;
7
+ min-width: 1.5rem;
8
+ height: 1.5rem;
9
+ padding-inline: 0.5rem;
10
+ border-radius: 0.5rem;
11
+ text-align: center;
12
+ vertical-align: middle;
13
+ white-space: nowrap;
14
+ font-family: var(
15
+ --font-sans,
16
+ ui-sans-serif,
17
+ system-ui,
18
+ -apple-system,
19
+ "Segoe UI",
20
+ sans-serif
21
+ );
22
+ font-size: 0.875rem;
23
+ font-weight: 500;
24
+ line-height: 1;
25
+ word-spacing: -0.25rem;
26
+ }
27
+
28
+ .kbd--default {
29
+ background-color: var(--color-default, var(--color-base-200));
30
+ color: var(
31
+ --color-muted,
32
+ color-mix(in oklab, var(--color-base-content) 72%, transparent)
33
+ );
34
+ border: 1px solid
35
+ color-mix(in oklab, var(--color-base-content) 16%, transparent);
36
+ }
37
+
38
+ .kbd--light {
39
+ background-color: transparent;
40
+ color: var(
41
+ --color-muted,
42
+ color-mix(in oklab, var(--color-base-content) 72%, transparent)
43
+ );
44
+ border: 1px solid transparent;
45
+ }
46
+
47
+ .kbd__abbr {
48
+ display: inline-flex;
49
+ align-items: center;
50
+ justify-content: center;
51
+ text-decoration: none;
52
+ font-style: normal;
53
+ }
54
+
55
+ .kbd__content {
56
+ display: inline-flex;
57
+ align-items: center;
58
+ justify-content: center;
59
+ }
60
+ }
@@ -1,30 +1,30 @@
1
- @layer components {
2
- .label {
3
- font-size: 0.875rem;
4
- line-height: 1.25rem;
5
- font-weight: 500;
6
- color: var(--color-foreground);
7
- }
8
-
9
- .label--required::after,
10
- [data-required="true"]:not([role="group"]):not([role="radiogroup"]):not([role="checkboxgroup"])
11
- > .label::after,
12
- [data-required="true"]:not([data-slot="radio"]):not([data-slot="checkbox"]) > .label::after {
13
- margin-inline-start: 0.125rem;
14
- color: var(--color-danger);
15
- content: "*";
16
- }
17
-
18
- .label--disabled,
19
- [data-disabled="true"] .label {
20
- opacity: var(--disabled-opacity, 0.5);
21
- cursor: var(--cursor-disabled, not-allowed);
22
- pointer-events: none;
23
- }
24
-
25
- .label--invalid,
26
- [data-invalid="true"] .label,
27
- [aria-invalid="true"] .label {
28
- color: var(--color-danger);
29
- }
30
- }
1
+ @layer components {
2
+ .label {
3
+ font-size: 0.875rem;
4
+ line-height: 1.25rem;
5
+ font-weight: 500;
6
+ color: var(--color-foreground);
7
+ }
8
+
9
+ .label--required::after,
10
+ [data-required="true"]:not([role="group"]):not([role="radiogroup"]):not([role="checkboxgroup"])
11
+ > .label::after,
12
+ [data-required="true"]:not([data-slot="radio"]):not([data-slot="checkbox"]) > .label::after {
13
+ margin-inline-start: 0.125rem;
14
+ color: var(--color-danger);
15
+ content: "*";
16
+ }
17
+
18
+ .label--disabled,
19
+ [data-disabled="true"] .label {
20
+ opacity: var(--disabled-opacity, 0.5);
21
+ cursor: var(--cursor-disabled, not-allowed);
22
+ pointer-events: none;
23
+ }
24
+
25
+ .label--invalid,
26
+ [data-invalid="true"] .label,
27
+ [aria-invalid="true"] .label {
28
+ color: var(--color-danger);
29
+ }
30
+ }
@@ -1,56 +1,56 @@
1
- @layer components {
2
- .language-switcher {
3
- display: inline-flex;
4
- }
5
-
6
- .language-switcher__trigger {
7
- display: inline-flex;
8
- min-height: 2rem;
9
- min-width: 2.25rem;
10
- align-items: center;
11
- justify-content: center;
12
- border-radius: var(--radius-field);
13
- border: 1px solid color-mix(in oklab, var(--color-base-content) 18%, transparent);
14
- background: var(--color-base-100);
15
- color: var(--color-base-content);
16
- padding: 0.25rem 0.5rem;
17
- font-size: 0.75rem;
18
- font-weight: 700;
19
- text-transform: uppercase;
20
- transition:
21
- background-color 150ms ease,
22
- border-color 150ms ease,
23
- color 150ms ease;
24
- }
25
-
26
- .language-switcher__trigger:hover {
27
- background: var(--color-base-200);
28
- }
29
-
30
- .language-switcher__trigger:focus-visible {
31
- outline: 2px solid color-mix(in oklab, var(--color-primary) 70%, transparent);
32
- outline-offset: 2px;
33
- }
34
-
35
- .language-switcher__loading-icon {
36
- animation: language-switcher-spin 0.9s linear infinite;
37
- }
38
-
39
- .language-switcher__locale {
40
- letter-spacing: 0.04em;
41
- }
42
-
43
- .language-switcher__menu {
44
- min-width: 8rem;
45
- }
46
-
47
- .language-switcher__item--selected {
48
- background: var(--color-base-200);
49
- }
50
-
51
- @keyframes language-switcher-spin {
52
- to {
53
- transform: rotate(360deg);
54
- }
55
- }
56
- }
1
+ @layer components {
2
+ .language-switcher {
3
+ display: inline-flex;
4
+ }
5
+
6
+ .language-switcher__trigger {
7
+ display: inline-flex;
8
+ min-height: 2rem;
9
+ min-width: 2.25rem;
10
+ align-items: center;
11
+ justify-content: center;
12
+ border-radius: var(--radius-field);
13
+ border: 1px solid color-mix(in oklab, var(--color-base-content) 18%, transparent);
14
+ background: var(--color-base-100);
15
+ color: var(--color-base-content);
16
+ padding: 0.25rem 0.5rem;
17
+ font-size: 0.75rem;
18
+ font-weight: 700;
19
+ text-transform: uppercase;
20
+ transition:
21
+ background-color 150ms ease,
22
+ border-color 150ms ease,
23
+ color 150ms ease;
24
+ }
25
+
26
+ .language-switcher__trigger:hover {
27
+ background: var(--color-base-200);
28
+ }
29
+
30
+ .language-switcher__trigger:focus-visible {
31
+ outline: 2px solid color-mix(in oklab, var(--color-primary) 70%, transparent);
32
+ outline-offset: 2px;
33
+ }
34
+
35
+ .language-switcher__loading-icon {
36
+ animation: language-switcher-spin 0.9s linear infinite;
37
+ }
38
+
39
+ .language-switcher__locale {
40
+ letter-spacing: 0.04em;
41
+ }
42
+
43
+ .language-switcher__menu {
44
+ min-width: 8rem;
45
+ }
46
+
47
+ .language-switcher__item--selected {
48
+ background: var(--color-base-200);
49
+ }
50
+
51
+ @keyframes language-switcher-spin {
52
+ to {
53
+ transform: rotate(360deg);
54
+ }
55
+ }
56
+ }