@pathscale/ui 1.2.10 → 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 +2 -2
@@ -1,194 +1,194 @@
1
- @layer components {
2
- .button {
3
- position: relative;
4
- isolation: isolate;
5
- display: inline-flex;
6
- height: 2.5rem;
7
- width: fit-content;
8
- transform-origin: center;
9
- align-items: center;
10
- justify-content: center;
11
- gap: 0.5rem;
12
- white-space: nowrap;
13
- border-radius: 1.5rem;
14
- border: 0;
15
- padding-inline: 1rem;
16
- font-size: 0.875rem;
17
- font-weight: 500;
18
- line-height: 1;
19
- user-select: none;
20
- outline: none;
21
- cursor: pointer;
22
- touch-action: manipulation;
23
- transition:
24
- transform 250ms ease,
25
- background-color 100ms ease,
26
- box-shadow 100ms ease,
27
- color 100ms ease,
28
- opacity 100ms ease;
29
- --button-bg: transparent;
30
- --button-bg-hover: var(--button-bg);
31
- --button-bg-pressed: var(--button-bg-hover);
32
- --button-fg: currentColor;
33
- --button-border: transparent;
34
- background-color: var(--button-bg);
35
- border: 1px solid var(--button-border);
36
- color: var(--button-fg);
37
- }
38
-
39
- .button:focus-visible,
40
- .button[data-focus-visible="true"] {
41
- outline: 2px solid currentColor;
42
- outline-offset: 2px;
43
- }
44
-
45
- .button:disabled,
46
- .button[aria-disabled="true"] {
47
- cursor: not-allowed;
48
- opacity: 0.5;
49
- }
50
-
51
- .button[data-pending="true"] {
52
- cursor: progress;
53
- }
54
-
55
- .button:active,
56
- .button[data-pressed="true"] {
57
- transform: scale(0.97);
58
- background-color: var(--button-bg-pressed);
59
- }
60
-
61
- @media (hover: hover) {
62
- .button:hover,
63
- .button[data-hovered="true"] {
64
- background-color: var(--button-bg-hover);
65
- }
66
- }
67
-
68
- .button__icon {
69
- display: inline-flex;
70
- align-items: center;
71
- justify-content: center;
72
- pointer-events: none;
73
- margin-block: 0.125rem;
74
- height: 1rem;
75
- width: 1rem;
76
- flex-shrink: 0;
77
- align-self: center;
78
- }
79
-
80
- .button__icon > * {
81
- width: 100%;
82
- height: 100%;
83
- pointer-events: none;
84
- }
85
-
86
- .button--sm {
87
- height: 2.25rem;
88
- padding-inline: 0.75rem;
89
- }
90
-
91
- .button--md {
92
- }
93
-
94
- .button--lg {
95
- height: 2.75rem;
96
- font-size: 1rem;
97
- padding-inline: 1.125rem;
98
- }
99
-
100
- .button--sm:active,
101
- .button--sm[data-pressed="true"] {
102
- transform: scale(0.98);
103
- }
104
-
105
- .button--lg:active,
106
- .button--lg[data-pressed="true"] {
107
- transform: scale(0.96);
108
- }
109
-
110
- .button--primary {
111
- --button-bg: var(--color-primary);
112
- --button-bg-hover: color-mix(in oklab, var(--color-primary), #000 8%);
113
- --button-bg-pressed: color-mix(in oklab, var(--color-primary), #000 12%);
114
- --button-fg: var(--color-primary-content);
115
- }
116
-
117
- .button--secondary {
118
- --button-bg: var(--color-base-200);
119
- --button-bg-hover: var(--color-base-300);
120
- --button-bg-pressed: color-mix(in oklab, var(--color-base-300), #000 10%);
121
- --button-fg: var(--color-base-content);
122
- }
123
-
124
- .button--tertiary {
125
- --button-bg: var(--color-base-100);
126
- --button-bg-hover: var(--color-base-200);
127
- --button-bg-pressed: var(--color-base-300);
128
- --button-fg: var(--color-base-content);
129
- --button-border: var(--color-base-300);
130
- }
131
-
132
- .button--outline {
133
- --button-bg: transparent;
134
- --button-bg-hover: color-mix(in oklab, var(--color-base-300), transparent 35%);
135
- --button-bg-pressed: color-mix(in oklab, var(--color-base-300), transparent 10%);
136
- --button-fg: var(--color-base-content);
137
- --button-border: var(--color-base-300);
138
- }
139
-
140
- .button--ghost {
141
- --button-bg: transparent;
142
- --button-bg-hover: var(--color-base-200);
143
- --button-bg-pressed: var(--color-base-300);
144
- --button-fg: var(--color-base-content);
145
- }
146
-
147
- .button--danger {
148
- --button-bg: var(--color-error);
149
- --button-bg-hover: color-mix(in oklab, var(--color-error), #000 8%);
150
- --button-bg-pressed: color-mix(in oklab, var(--color-error), #000 12%);
151
- --button-fg: var(--color-error-content);
152
- }
153
-
154
- .button--danger-soft {
155
- --button-bg: color-mix(in oklab, var(--color-error), var(--color-base-100) 86%);
156
- --button-bg-hover: color-mix(in oklab, var(--color-error), var(--color-base-100) 80%);
157
- --button-bg-pressed: color-mix(in oklab, var(--color-error), var(--color-base-100) 74%);
158
- --button-fg: var(--color-error);
159
- }
160
-
161
- .button--icon-only {
162
- width: 2.5rem;
163
- padding-inline: 0;
164
- }
165
-
166
- .button--icon-only.button--sm {
167
- width: 2.25rem;
168
- }
169
-
170
- .button--icon-only.button--lg {
171
- width: 2.75rem;
172
- }
173
-
174
- .button--full-width {
175
- width: 100%;
176
- }
177
-
178
- .button__spinner {
179
- display: inline-block;
180
- width: 1rem;
181
- height: 1rem;
182
- border-radius: 9999px;
183
- border: 2px solid currentColor;
184
- border-right-color: transparent;
185
- animation: button-spinner 700ms linear infinite;
186
- flex-shrink: 0;
187
- }
188
-
189
- @keyframes button-spinner {
190
- to {
191
- transform: rotate(360deg);
192
- }
193
- }
194
- }
1
+ @layer components {
2
+ .button {
3
+ position: relative;
4
+ isolation: isolate;
5
+ display: inline-flex;
6
+ height: 2.5rem;
7
+ width: fit-content;
8
+ transform-origin: center;
9
+ align-items: center;
10
+ justify-content: center;
11
+ gap: 0.5rem;
12
+ white-space: nowrap;
13
+ border-radius: 1.5rem;
14
+ border: 0;
15
+ padding-inline: 1rem;
16
+ font-size: 0.875rem;
17
+ font-weight: 500;
18
+ line-height: 1;
19
+ user-select: none;
20
+ outline: none;
21
+ cursor: pointer;
22
+ touch-action: manipulation;
23
+ transition:
24
+ transform 250ms ease,
25
+ background-color 100ms ease,
26
+ box-shadow 100ms ease,
27
+ color 100ms ease,
28
+ opacity 100ms ease;
29
+ --button-bg: transparent;
30
+ --button-bg-hover: var(--button-bg);
31
+ --button-bg-pressed: var(--button-bg-hover);
32
+ --button-fg: currentColor;
33
+ --button-border: transparent;
34
+ background-color: var(--button-bg);
35
+ border: 1px solid var(--button-border);
36
+ color: var(--button-fg);
37
+ }
38
+
39
+ .button:focus-visible,
40
+ .button[data-focus-visible="true"] {
41
+ outline: 2px solid currentColor;
42
+ outline-offset: 2px;
43
+ }
44
+
45
+ .button:disabled,
46
+ .button[aria-disabled="true"] {
47
+ cursor: not-allowed;
48
+ opacity: 0.5;
49
+ }
50
+
51
+ .button[data-pending="true"] {
52
+ cursor: progress;
53
+ }
54
+
55
+ .button:active,
56
+ .button[data-pressed="true"] {
57
+ transform: scale(0.97);
58
+ background-color: var(--button-bg-pressed);
59
+ }
60
+
61
+ @media (hover: hover) {
62
+ .button:hover,
63
+ .button[data-hovered="true"] {
64
+ background-color: var(--button-bg-hover);
65
+ }
66
+ }
67
+
68
+ .button__icon {
69
+ display: inline-flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+ pointer-events: none;
73
+ margin-block: 0.125rem;
74
+ height: 1rem;
75
+ width: 1rem;
76
+ flex-shrink: 0;
77
+ align-self: center;
78
+ }
79
+
80
+ .button__icon > * {
81
+ width: 100%;
82
+ height: 100%;
83
+ pointer-events: none;
84
+ }
85
+
86
+ .button--sm {
87
+ height: 2.25rem;
88
+ padding-inline: 0.75rem;
89
+ }
90
+
91
+ .button--md {
92
+ }
93
+
94
+ .button--lg {
95
+ height: 2.75rem;
96
+ font-size: 1rem;
97
+ padding-inline: 1.125rem;
98
+ }
99
+
100
+ .button--sm:active,
101
+ .button--sm[data-pressed="true"] {
102
+ transform: scale(0.98);
103
+ }
104
+
105
+ .button--lg:active,
106
+ .button--lg[data-pressed="true"] {
107
+ transform: scale(0.96);
108
+ }
109
+
110
+ .button--primary {
111
+ --button-bg: var(--color-primary);
112
+ --button-bg-hover: color-mix(in oklab, var(--color-primary), #000 8%);
113
+ --button-bg-pressed: color-mix(in oklab, var(--color-primary), #000 12%);
114
+ --button-fg: var(--color-primary-content);
115
+ }
116
+
117
+ .button--secondary {
118
+ --button-bg: var(--color-base-200);
119
+ --button-bg-hover: var(--color-base-300);
120
+ --button-bg-pressed: color-mix(in oklab, var(--color-base-300), #000 10%);
121
+ --button-fg: var(--color-base-content);
122
+ }
123
+
124
+ .button--tertiary {
125
+ --button-bg: var(--color-base-100);
126
+ --button-bg-hover: var(--color-base-200);
127
+ --button-bg-pressed: var(--color-base-300);
128
+ --button-fg: var(--color-base-content);
129
+ --button-border: var(--color-base-300);
130
+ }
131
+
132
+ .button--outline {
133
+ --button-bg: transparent;
134
+ --button-bg-hover: color-mix(in oklab, var(--color-base-300), transparent 35%);
135
+ --button-bg-pressed: color-mix(in oklab, var(--color-base-300), transparent 10%);
136
+ --button-fg: var(--color-base-content);
137
+ --button-border: var(--color-base-300);
138
+ }
139
+
140
+ .button--ghost {
141
+ --button-bg: transparent;
142
+ --button-bg-hover: var(--color-base-200);
143
+ --button-bg-pressed: var(--color-base-300);
144
+ --button-fg: var(--color-base-content);
145
+ }
146
+
147
+ .button--danger {
148
+ --button-bg: var(--color-error);
149
+ --button-bg-hover: color-mix(in oklab, var(--color-error), #000 8%);
150
+ --button-bg-pressed: color-mix(in oklab, var(--color-error), #000 12%);
151
+ --button-fg: var(--color-error-content);
152
+ }
153
+
154
+ .button--danger-soft {
155
+ --button-bg: color-mix(in oklab, var(--color-error), var(--color-base-100) 86%);
156
+ --button-bg-hover: color-mix(in oklab, var(--color-error), var(--color-base-100) 80%);
157
+ --button-bg-pressed: color-mix(in oklab, var(--color-error), var(--color-base-100) 74%);
158
+ --button-fg: var(--color-error);
159
+ }
160
+
161
+ .button--icon-only {
162
+ width: 2.5rem;
163
+ padding-inline: 0;
164
+ }
165
+
166
+ .button--icon-only.button--sm {
167
+ width: 2.25rem;
168
+ }
169
+
170
+ .button--icon-only.button--lg {
171
+ width: 2.75rem;
172
+ }
173
+
174
+ .button--full-width {
175
+ width: 100%;
176
+ }
177
+
178
+ .button__spinner {
179
+ display: inline-block;
180
+ width: 1rem;
181
+ height: 1rem;
182
+ border-radius: 9999px;
183
+ border: 2px solid currentColor;
184
+ border-right-color: transparent;
185
+ animation: button-spinner 700ms linear infinite;
186
+ flex-shrink: 0;
187
+ }
188
+
189
+ @keyframes button-spinner {
190
+ to {
191
+ transform: rotate(360deg);
192
+ }
193
+ }
194
+ }
@@ -1,117 +1,117 @@
1
- @layer components {
2
- .button-group {
3
- display: inline-flex;
4
- height: auto;
5
- align-items: center;
6
- justify-content: center;
7
- gap: 0;
8
- }
9
-
10
- .button-group--horizontal {
11
- flex-direction: row;
12
- }
13
-
14
- .button-group--vertical {
15
- flex-direction: column;
16
- }
17
-
18
- .button-group .button {
19
- border-radius: 0;
20
- }
21
-
22
- .button-group--horizontal .button:first-child {
23
- border-start-start-radius: 1.5rem;
24
- border-end-start-radius: 1.5rem;
25
- }
26
-
27
- .button-group--horizontal .button:last-child {
28
- border-start-end-radius: 1.5rem;
29
- border-end-end-radius: 1.5rem;
30
- }
31
-
32
- .button-group--horizontal .button:first-child:last-child {
33
- border-radius: 1.5rem;
34
- }
35
-
36
- .button-group--vertical .button:first-child {
37
- border-top-left-radius: 1.5rem;
38
- border-top-right-radius: 1.5rem;
39
- }
40
-
41
- .button-group--vertical .button:last-child {
42
- border-bottom-left-radius: 1.5rem;
43
- border-bottom-right-radius: 1.5rem;
44
- }
45
-
46
- .button-group--vertical .button:first-child:last-child {
47
- border-radius: 1.5rem;
48
- }
49
-
50
- .button-group .button:active,
51
- .button-group .button[data-pressed="true"] {
52
- transform: none;
53
- }
54
-
55
- .button-group .button:focus-visible,
56
- .button-group .button[data-focus-visible="true"] {
57
- outline-offset: -1px;
58
- }
59
-
60
- .button-group__separator {
61
- background-color: currentColor;
62
- opacity: 0.15;
63
- border-radius: 4px;
64
- position: absolute;
65
- pointer-events: none;
66
- transition: opacity 150ms var(--ease-smooth);
67
- }
68
-
69
- @media (prefers-reduced-motion: reduce) {
70
- .button-group__separator {
71
- transition: none;
72
- }
73
- }
74
-
75
- .button-group--horizontal .button-group__separator {
76
- left: -1px;
77
- top: 25%;
78
- width: 1px;
79
- height: 50%;
80
- }
81
-
82
- .button-group--vertical .button-group__separator {
83
- left: 25%;
84
- top: -1px;
85
- width: 50%;
86
- height: 1px;
87
- }
88
-
89
- .button-group--horizontal .button--outline:first-child {
90
- border-inline-end-width: 0;
91
- }
92
-
93
- .button-group--horizontal .button--outline:last-child {
94
- border-inline-start-width: 0;
95
- }
96
-
97
- .button-group--horizontal .button--outline:not(:first-child):not(:last-child) {
98
- border-inline-width: 0;
99
- }
100
-
101
- .button-group--vertical .button--outline:first-child {
102
- border-bottom-width: 0;
103
- }
104
-
105
- .button-group--vertical .button--outline:last-child {
106
- border-top-width: 0;
107
- }
108
-
109
- .button-group--vertical .button--outline:not(:first-child):not(:last-child) {
110
- border-top-width: 0;
111
- border-bottom-width: 0;
112
- }
113
-
114
- .button-group--full-width {
115
- width: 100%;
116
- }
117
- }
1
+ @layer components {
2
+ .button-group {
3
+ display: inline-flex;
4
+ height: auto;
5
+ align-items: center;
6
+ justify-content: center;
7
+ gap: 0;
8
+ }
9
+
10
+ .button-group--horizontal {
11
+ flex-direction: row;
12
+ }
13
+
14
+ .button-group--vertical {
15
+ flex-direction: column;
16
+ }
17
+
18
+ .button-group .button {
19
+ border-radius: 0;
20
+ }
21
+
22
+ .button-group--horizontal .button:first-child {
23
+ border-start-start-radius: 1.5rem;
24
+ border-end-start-radius: 1.5rem;
25
+ }
26
+
27
+ .button-group--horizontal .button:last-child {
28
+ border-start-end-radius: 1.5rem;
29
+ border-end-end-radius: 1.5rem;
30
+ }
31
+
32
+ .button-group--horizontal .button:first-child:last-child {
33
+ border-radius: 1.5rem;
34
+ }
35
+
36
+ .button-group--vertical .button:first-child {
37
+ border-top-left-radius: 1.5rem;
38
+ border-top-right-radius: 1.5rem;
39
+ }
40
+
41
+ .button-group--vertical .button:last-child {
42
+ border-bottom-left-radius: 1.5rem;
43
+ border-bottom-right-radius: 1.5rem;
44
+ }
45
+
46
+ .button-group--vertical .button:first-child:last-child {
47
+ border-radius: 1.5rem;
48
+ }
49
+
50
+ .button-group .button:active,
51
+ .button-group .button[data-pressed="true"] {
52
+ transform: none;
53
+ }
54
+
55
+ .button-group .button:focus-visible,
56
+ .button-group .button[data-focus-visible="true"] {
57
+ outline-offset: -1px;
58
+ }
59
+
60
+ .button-group__separator {
61
+ background-color: currentColor;
62
+ opacity: 0.15;
63
+ border-radius: 4px;
64
+ position: absolute;
65
+ pointer-events: none;
66
+ transition: opacity 150ms var(--ease-smooth);
67
+ }
68
+
69
+ @media (prefers-reduced-motion: reduce) {
70
+ .button-group__separator {
71
+ transition: none;
72
+ }
73
+ }
74
+
75
+ .button-group--horizontal .button-group__separator {
76
+ left: -1px;
77
+ top: 25%;
78
+ width: 1px;
79
+ height: 50%;
80
+ }
81
+
82
+ .button-group--vertical .button-group__separator {
83
+ left: 25%;
84
+ top: -1px;
85
+ width: 50%;
86
+ height: 1px;
87
+ }
88
+
89
+ .button-group--horizontal .button--outline:first-child {
90
+ border-inline-end-width: 0;
91
+ }
92
+
93
+ .button-group--horizontal .button--outline:last-child {
94
+ border-inline-start-width: 0;
95
+ }
96
+
97
+ .button-group--horizontal .button--outline:not(:first-child):not(:last-child) {
98
+ border-inline-width: 0;
99
+ }
100
+
101
+ .button-group--vertical .button--outline:first-child {
102
+ border-bottom-width: 0;
103
+ }
104
+
105
+ .button-group--vertical .button--outline:last-child {
106
+ border-top-width: 0;
107
+ }
108
+
109
+ .button-group--vertical .button--outline:not(:first-child):not(:last-child) {
110
+ border-top-width: 0;
111
+ border-bottom-width: 0;
112
+ }
113
+
114
+ .button-group--full-width {
115
+ width: 100%;
116
+ }
117
+ }