@kaizen/components 0.0.0-canary-package-bundler-v2-20241113055116 → 0.0.0-canary-link-button-wip-canary-20241121010628

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 (99) hide show
  1. package/codemods/README.md +16 -1
  2. package/codemods/upgradeIconV1/getNewIconPropsFromOldIconName.ts +9 -9
  3. package/dist/cjs/EmptyState/EmptyState.cjs +15 -17
  4. package/dist/cjs/EmptyState/EmptyState.module.css.cjs +20 -0
  5. package/dist/cjs/Filter/FilterBar/FilterBar.cjs +1 -3
  6. package/dist/cjs/Filter/FilterBar/FilterBar.module.css.cjs +0 -1
  7. package/dist/cjs/GuidanceBlock/GuidanceBlock.cjs +1 -1
  8. package/dist/cjs/GuidanceBlock/GuidanceBlock.module.css.cjs +28 -0
  9. package/dist/cjs/__actions__/Button/v3/Button.cjs +43 -8
  10. package/dist/cjs/__actions__/Button/v3/Button.module.css.cjs +21 -0
  11. package/dist/cjs/__actions__/Button/v3/subcomponents/ButtonContent/ButtonContent.cjs +37 -0
  12. package/dist/cjs/__actions__/Button/v3/subcomponents/ButtonContent/ButtonContent.module.css.cjs +9 -0
  13. package/dist/cjs/__actions__/Button/v3/subcomponents/PendingContent/PendingContent.cjs +35 -0
  14. package/dist/cjs/__actions__/Button/v3/subcomponents/PendingContent/PendingContent.module.css.cjs +8 -0
  15. package/dist/cjs/__overlays__/Tooltip/v3/Tooltip.cjs +2 -2
  16. package/dist/esm/Calendar/CalendarPopover/CalendarPopover.mjs +1 -1
  17. package/dist/esm/EmptyState/EmptyState.mjs +16 -18
  18. package/dist/esm/EmptyState/EmptyState.module.css.mjs +18 -0
  19. package/dist/esm/Filter/FilterBar/FilterBar.mjs +1 -3
  20. package/dist/esm/Filter/FilterBar/FilterBar.module.css.mjs +0 -1
  21. package/dist/esm/Filter/FilterMultiSelect/subcomponents/ListBox/ListBox.mjs +1 -1
  22. package/dist/esm/GuidanceBlock/GuidanceBlock.mjs +1 -1
  23. package/dist/esm/GuidanceBlock/GuidanceBlock.module.css.mjs +26 -0
  24. package/dist/esm/MultiSelect/subcomponents/Popover/Popover.mjs +1 -1
  25. package/dist/esm/RichTextEditor/RichTextEditor/RichTextEditor.mjs +1 -1
  26. package/dist/esm/RichTextEditor/RichTextEditor/schema.mjs +1 -1
  27. package/dist/esm/RichTextEditor/utils/schema/nodes.mjs +1 -1
  28. package/dist/esm/TimeField/TimeField.mjs +1 -1
  29. package/dist/esm/__actions__/Button/v3/Button.mjs +44 -9
  30. package/dist/esm/__actions__/Button/v3/Button.module.css.mjs +19 -0
  31. package/dist/esm/__actions__/Button/v3/subcomponents/ButtonContent/ButtonContent.mjs +28 -0
  32. package/dist/esm/__actions__/Button/v3/subcomponents/ButtonContent/ButtonContent.module.css.mjs +7 -0
  33. package/dist/esm/__actions__/Button/v3/subcomponents/PendingContent/PendingContent.mjs +26 -0
  34. package/dist/esm/__actions__/Button/v3/subcomponents/PendingContent/PendingContent.module.css.mjs +6 -0
  35. package/dist/esm/__overlays__/Tooltip/v1/Tooltip.mjs +1 -1
  36. package/dist/esm/__overlays__/Tooltip/v3/Tooltip.mjs +1 -1
  37. package/dist/styles.css +568 -488
  38. package/dist/types/EmptyState/EmptyState.d.ts +2 -1
  39. package/dist/types/__actions__/Button/v3/Button.d.ts +17 -4
  40. package/dist/types/__actions__/Button/v3/index.d.ts +1 -0
  41. package/dist/types/__actions__/Button/v3/subcomponents/ButtonContent/ButtonContent.d.ts +11 -0
  42. package/dist/types/__actions__/Button/v3/subcomponents/ButtonContent/index.d.ts +1 -0
  43. package/dist/types/__actions__/Button/v3/subcomponents/PendingContent/PendingContent.d.ts +5 -0
  44. package/dist/types/__actions__/Button/v3/subcomponents/PendingContent/index.d.ts +1 -0
  45. package/dist/types/__actions__/Button/v3/subcomponents/index.d.ts +2 -0
  46. package/dist/types/__actions__/Button/v3/types.d.ts +21 -0
  47. package/dist/types/__actions__/LinkButton/index.d.ts +1 -0
  48. package/dist/types/__actions__/LinkButton/v3/LinkButton.d.ts +11 -0
  49. package/dist/types/__actions__/LinkButton/v3/index.d.ts +1 -0
  50. package/package.json +8 -8
  51. package/src/EmptyState/EmptyState.module.css +114 -0
  52. package/src/EmptyState/EmptyState.tsx +18 -20
  53. package/src/EmptyState/_docs/EmptyState.stickersheet.stories.tsx +55 -39
  54. package/src/Filter/FilterBar/FilterBar.module.css +0 -4
  55. package/src/Filter/FilterBar/FilterBar.tsx +12 -14
  56. package/src/GuidanceBlock/{GuidanceBlock.module.scss → GuidanceBlock.module.css} +60 -114
  57. package/src/GuidanceBlock/GuidanceBlock.tsx +1 -1
  58. package/src/__actions__/Button/v3/Button.module.css +235 -0
  59. package/src/__actions__/Button/v3/Button.tsx +95 -29
  60. package/src/__actions__/Button/v3/_docs/Button--api-specification.mdx +151 -0
  61. package/src/__actions__/Button/v3/_docs/Button--usage-guidelines.mdx +30 -0
  62. package/src/__actions__/Button/v3/_docs/Button.docs.stories.tsx +112 -50
  63. package/src/__actions__/Button/v3/_docs/Button.spec.stories.tsx +80 -120
  64. package/src/__actions__/Button/v3/_docs/Button.stickersheet.stories.tsx +183 -81
  65. package/src/__actions__/Button/v3/index.ts +1 -0
  66. package/src/__actions__/Button/v3/subcomponents/ButtonContent/ButtonContent.module.css +19 -0
  67. package/src/__actions__/Button/v3/subcomponents/ButtonContent/ButtonContent.tsx +40 -0
  68. package/src/__actions__/Button/v3/subcomponents/ButtonContent/index.ts +1 -0
  69. package/src/__actions__/Button/v3/subcomponents/PendingContent/PendingContent.module.css +16 -0
  70. package/src/__actions__/Button/v3/subcomponents/PendingContent/PendingContent.tsx +28 -0
  71. package/src/__actions__/Button/v3/subcomponents/PendingContent/index.ts +1 -0
  72. package/src/__actions__/Button/v3/subcomponents/index.ts +2 -0
  73. package/src/__actions__/Button/v3/types.ts +25 -0
  74. package/src/__actions__/LinkButton/index.ts +1 -0
  75. package/src/__actions__/LinkButton/v3/LinkButton.module.css +4 -0
  76. package/src/__actions__/LinkButton/v3/LinkButton.tsx +71 -0
  77. package/src/__actions__/LinkButton/v3/_docs/LinkButton--api-specification.mdx +200 -0
  78. package/src/__actions__/LinkButton/v3/_docs/LinkButton.doc.stories.tsx +131 -0
  79. package/src/__actions__/LinkButton/v3/_docs/LinkButton.spec.stories.tsx +100 -0
  80. package/src/__actions__/LinkButton/v3/index.ts +1 -0
  81. package/src/__actions__/Menu/v3/_docs/Menu.docs.stories.tsx +54 -18
  82. package/src/__actions__/Menu/v3/_docs/Menu.spec.stories.tsx +30 -10
  83. package/src/__actions__/Menu/v3/_docs/Menu.stories.tsx +12 -4
  84. package/src/__future__/Icon/_docs/Icon.docs.stories.tsx +7 -7
  85. package/src/__overlays__/Tooltip/v3/Tooltip.tsx +1 -1
  86. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.spec.stories.tsx +2 -0
  87. package/dist/cjs/EmptyState/EmptyState.module.scss.cjs +0 -23
  88. package/dist/cjs/GuidanceBlock/GuidanceBlock.module.scss.cjs +0 -33
  89. package/dist/cjs/__actions__/Button/v3/Button.module.scss.cjs +0 -9
  90. package/dist/esm/EmptyState/EmptyState.module.scss.mjs +0 -21
  91. package/dist/esm/GuidanceBlock/GuidanceBlock.module.scss.mjs +0 -31
  92. package/dist/esm/__actions__/Button/v3/Button.module.scss.mjs +0 -7
  93. package/src/EmptyState/EmptyState.module.scss +0 -177
  94. package/src/EmptyState/EmptyState.spec.tsx +0 -48
  95. package/src/EmptyState/_mixins.scss +0 -44
  96. package/src/__actions__/Button/v3/Button.module.scss +0 -104
  97. package/src/__actions__/Button/v3/_docs/ApiSpecification.mdx +0 -173
  98. package/src/__actions__/Button/v3/_docs/Button.mdx +0 -41
  99. package/src/__actions__/Button/v3/_docs/Button.stories.tsx +0 -98
@@ -1,27 +1,5 @@
1
- @import "~@kaizen/design-tokens/sass/shadow";
2
- @import "~@kaizen/design-tokens/sass/border";
3
- @import "~@kaizen/design-tokens/sass/layout";
4
- @import "~@kaizen/design-tokens/sass/color";
5
- @import "~@kaizen/design-tokens/sass/animation";
6
- @import "~@kaizen/design-tokens/sass/spacing";
7
- @import "../../styles/utils/responsive";
8
- @import "../../styles/utils/button-reset";
9
-
10
- @mixin guidance-block-under-480 {
11
- @media (max-width: 480px) {
12
- @content;
13
- }
14
- }
15
-
16
- $bannerPadding: $spacing-lg;
17
- $ca-banner-fade-out: opacity $animation-duration-slow ease;
18
- $ca-banner-collapse-height-delayed: margin-top $animation-duration-fast
19
- $animation-duration-slow ease;
20
- $illustration-size: 155px;
21
- $scene-illustration-size: 300px;
22
-
23
1
  .rightMargin {
24
- margin-right: $spacing-8;
2
+ margin-right: var(--spacing-8);
25
3
  }
26
4
 
27
5
  .noRightMargin {
@@ -34,30 +12,34 @@ $scene-illustration-size: 300px;
34
12
 
35
13
  .banner {
36
14
  --border-width: var(--border-width-1);
15
+ --banner-padding: var(--spacing-lg);
37
16
 
38
17
  display: flex;
39
18
  flex-direction: column;
40
- gap: $spacing-sm;
19
+ gap: var(--spacing-12);
41
20
  min-width: 320px;
42
- max-width: $layout-breakpoints-large;
21
+ max-width: var(--layout-breakpoints-large);
43
22
  border: var(--border-width) var(--border-solid-border-style);
44
- border-radius: $border-solid-border-radius;
45
- padding: calc(#{$bannerPadding} - var(--border-width));
46
- box-shadow: $shadow-small-box-shadow;
23
+ border-radius: var(--border-solid-border-radius);
24
+ padding: calc(var(--banner-padding) - var(--border-width));
25
+ box-shadow: var(--shadow-small-box-shadow);
47
26
  position: relative;
48
27
  top: -1px;
49
- transition: $ca-banner-fade-out, $ca-banner-collapse-height-delayed;
50
- color: $color-purple-800;
51
-
52
- @include ca-media-desktop {
53
- min-height: calc(12rem - calc(#{$bannerPadding} * 2));
28
+ transition:
29
+ opacity var(--animation-duration-slow) ease,
30
+ margin-top var(--animation-duration-fast) var(--animation-duration-slow)
31
+ ease;
32
+ color: var(--color-purple-800);
33
+
34
+ @media (width >= 1024px) {
35
+ min-height: calc(12rem - calc(var(--banner-padding) * 2));
54
36
  flex-direction: row;
55
- gap: $spacing-md;
37
+ gap: var(--spacing-24);
56
38
  width: auto;
57
39
  align-items: center;
58
40
  }
59
41
 
60
- @include ca-media-mobile {
42
+ @media (width <= 767px) {
61
43
  min-width: unset;
62
44
  }
63
45
  }
@@ -65,29 +47,32 @@ $scene-illustration-size: 300px;
65
47
  .illustrationWrapper {
66
48
  display: flex;
67
49
 
68
- @include ca-media-tablet {
50
+ @media (768px <= width <= 1023px) {
69
51
  text-align: center;
70
52
  justify-content: center;
71
53
  align-self: center;
72
- padding: $spacing-sm;
54
+ padding: var(--spacing-12);
73
55
  }
74
56
 
75
- @include ca-media-mobile {
57
+ @media (width <= 767px) {
76
58
  display: none;
77
59
  }
78
60
  }
79
61
 
80
62
  .illustration {
81
- width: $illustration-size;
82
- height: $illustration-size;
63
+ --illustration-size: 155px;
64
+ --scene-illustration-size: 300px;
65
+
66
+ width: var(--illustration-size);
67
+ height: var(--illustration-size);
83
68
 
84
- // This has been created to handle scene illustrations consistently until the tile component is created
69
+ /* This has been created to handle scene illustrations consistently until the tile component is created */
85
70
  .hasSceneIllustration & {
86
71
  display: flex;
87
72
  justify-content: center;
88
- max-width: $scene-illustration-size;
89
- max-height: $scene-illustration-size;
90
- width: $scene-illustration-size;
73
+ max-width: var(--scene-illustration-size);
74
+ max-height: var(--scene-illustration-size);
75
+ width: var(--scene-illustration-size);
91
76
  height: auto;
92
77
 
93
78
  figure {
@@ -110,19 +95,19 @@ $scene-illustration-size: 300px;
110
95
  align-self: center;
111
96
  max-width: 780px;
112
97
 
113
- @include ca-media-desktop {
114
- padding: 0 $spacing-sm;
98
+ @media (width >= 1024px) {
99
+ padding: 0 var(--spacing-12);
115
100
  text-align: left;
116
101
  }
117
102
 
118
- @include ca-media-mobile {
119
- margin: $spacing-sm;
103
+ @media (width <= 767px) {
104
+ margin: var(--spacing-12);
120
105
  max-width: 100%;
121
106
  }
122
107
 
123
108
  [dir="rtl"] & {
124
- @include ca-media-desktop {
125
- padding: 0 $spacing-sm;
109
+ @media (width >= 1024px) {
110
+ padding: 0 var(--spacing-12);
126
111
  text-align: right;
127
112
  }
128
113
  }
@@ -133,9 +118,9 @@ $scene-illustration-size: 300px;
133
118
  flex: 1;
134
119
  align-items: center;
135
120
  justify-content: space-between;
136
- gap: $spacing-md;
121
+ gap: var(--spacing-24);
137
122
 
138
- @include ca-media-tablet-and-under {
123
+ @media (width <= 1023px) {
139
124
  flex-direction: column;
140
125
  width: 100%;
141
126
  align-items: unset;
@@ -147,17 +132,17 @@ $scene-illustration-size: 300px;
147
132
  flex: 1 0 auto;
148
133
  justify-content: center;
149
134
  flex-direction: row-reverse;
150
- gap: $spacing-sm;
135
+ gap: var(--spacing-12);
151
136
  min-width: max-content;
152
137
 
153
- @include ca-media-tablet-and-up {
138
+ @media (width >= 768px) {
154
139
  text-align: center;
155
140
  }
156
141
 
157
- @include ca-media-mobile {
142
+ @media (width <= 767px) {
158
143
  flex-direction: column;
159
144
  width: 100%;
160
- margin-top: $spacing-xs;
145
+ margin-top: var(--spacing-6);
161
146
  }
162
147
 
163
148
  [dir="rtl"] & svg {
@@ -166,51 +151,12 @@ $scene-illustration-size: 300px;
166
151
  }
167
152
 
168
153
  .hidden {
169
- opacity: 0%;
154
+ opacity: 0;
170
155
  margin-bottom: 0;
171
156
  }
172
157
 
173
158
  .headingWrapper {
174
- margin-bottom: $spacing-md;
175
- }
176
-
177
- .cancel {
178
- @include button-reset;
179
-
180
- cursor: pointer;
181
- position: absolute;
182
- top: $spacing-sm;
183
- right: $spacing-sm;
184
- color: $color-purple-800;
185
-
186
- .icon {
187
- opacity: 70%;
188
- transition: $animation-duration-fast opacity;
189
- }
190
-
191
- &:disabled,
192
- &.disabled {
193
- .icon {
194
- opacity: 30%;
195
- }
196
- }
197
-
198
- &:not(:disabled, .disabled) {
199
- &:hover,
200
- &:focus,
201
- &.hover {
202
- .icon {
203
- opacity: 100%;
204
- }
205
- }
206
-
207
- &:active,
208
- &.active {
209
- .icon {
210
- opacity: 100%;
211
- }
212
- }
213
- }
159
+ margin-bottom: var(--spacing-24);
214
160
  }
215
161
 
216
162
  .default {
@@ -220,54 +166,54 @@ $scene-illustration-size: 300px;
220
166
 
221
167
  .positive {
222
168
  border-color: var(--color-green-500);
223
- background: $color-green-100;
169
+ background: var(--color-green-100);
224
170
  }
225
171
 
226
172
  .negative,
227
173
  .assertive {
228
174
  border-color: var(--color-red-500);
229
- background: $color-red-100;
175
+ background: var(--color-red-100);
230
176
  }
231
177
 
232
178
  .informative {
233
179
  border-color: var(--color-blue-400);
234
- background: $color-blue-100;
180
+ background: var(--color-blue-100);
235
181
  }
236
182
 
237
183
  .cautionary {
238
184
  border-color: var(--color-yellow-700);
239
- background: $color-yellow-100;
185
+ background: var(--color-yellow-100);
240
186
  }
241
187
 
242
188
  .prominent {
243
189
  border-color: var(--color-purple-400);
244
- background: $color-purple-100;
190
+ background: var(--color-purple-100);
245
191
  }
246
192
 
247
193
  .inline,
248
194
  .stacked {
249
195
  flex-flow: row wrap;
250
196
  align-items: unset;
251
- gap: $spacing-md;
197
+ gap: var(--spacing-24);
252
198
  min-width: unset;
253
199
 
254
- @include ca-media-tablet-and-under {
200
+ @media (width <= 1023px) {
255
201
  flex-direction: unset;
256
202
  }
257
203
 
258
204
  .illustrationWrapper {
259
- margin-right: $spacing-sm;
205
+ margin-right: var(--spacing-12);
260
206
 
261
207
  [dir="rtl"] & {
262
- margin-left: $spacing-sm;
208
+ margin-left: var(--spacing-12);
263
209
  margin-right: inherit;
264
210
  }
265
211
 
266
- @include ca-media-tablet {
212
+ @media (768px <= width <= 1023px) {
267
213
  padding: 0;
268
214
  }
269
215
 
270
- @include ca-media-mobile {
216
+ @media (width <= 767px) {
271
217
  display: flex;
272
218
  }
273
219
  }
@@ -281,36 +227,36 @@ $scene-illustration-size: 300px;
281
227
  max-width: unset;
282
228
  min-width: 320px;
283
229
 
284
- @include ca-media-desktop {
230
+ @media (width >= 1024px) {
285
231
  padding: 0;
286
232
  }
287
233
 
288
- @include ca-media-mobile {
234
+ @media (width <= 767px) {
289
235
  margin: 0;
290
236
  }
291
237
 
292
238
  [dir="rtl"] & {
293
239
  text-align: right;
294
240
 
295
- @include ca-media-desktop {
241
+ @media (width >= 1024px) {
296
242
  padding: 0;
297
243
  }
298
244
  }
299
245
  }
300
246
 
301
247
  .buttonContainer {
302
- padding-left: $spacing-sm;
248
+ padding-left: var(--spacing-12);
303
249
  justify-content: flex-start;
304
250
  width: unset;
305
251
  min-width: unset;
306
252
 
307
- @include ca-media-mobile {
253
+ @media (width <= 767px) {
308
254
  flex-direction: row-reverse;
309
255
  }
310
256
 
311
257
  [dir="rtl"] & {
312
258
  padding-left: 0;
313
- padding-right: $spacing-sm;
259
+ padding-right: var(--spacing-12);
314
260
  }
315
261
 
316
262
  > * {
@@ -8,7 +8,7 @@ import { Button, ButtonProps } from "~components/__actions__/v2"
8
8
  import { Icon } from "~components/__future__/Icon"
9
9
  import { Tooltip, TooltipProps } from "~components/__overlays__/Tooltip/v1"
10
10
  import { VariantType } from "./types"
11
- import styles from "./GuidanceBlock.module.scss"
11
+ import styles from "./GuidanceBlock.module.css"
12
12
 
13
13
  export type ActionProps = ButtonProps & {
14
14
  tooltip?: TooltipProps
@@ -0,0 +1,235 @@
1
+ .button {
2
+ /* RESET */
3
+ appearance: none;
4
+ background: transparent;
5
+ font: inherit;
6
+ margin: 0;
7
+ outline: none;
8
+ -webkit-font-smoothing: antialiased;
9
+ -moz-osx-font-smoothing: grayscale;
10
+
11
+ --button-min-x-y: var(--spacing-40);
12
+ --button-border-width: var(--border-solid-border-width);
13
+ --button-padding-y: calc(var(--spacing-8) - var(--button-border-width));
14
+ --button-padding-x: calc(var(--spacing-16) - var(--button-border-width));
15
+
16
+ background-color: var(--button-bg-color, var(--color-blue-500));
17
+ border: var(--button-border-width) solid;
18
+ border-radius: var(--border-solid-border-radius);
19
+ border-color: var(--button-border-color, var(--color-blue-500));
20
+ box-sizing: border-box;
21
+ color: var(--button-text-color, var(--color-white));
22
+ display: inline-flex;
23
+ align-items: center;
24
+ justify-content: center;
25
+ text-align: start;
26
+ font-family: var(
27
+ --button-font-family,
28
+ var(--typography-paragraph-body-font-family)
29
+ );
30
+ font-weight: var(--button-font-weight, 500);
31
+ font-size: var(--button-font-size, 1rem);
32
+ line-height: var(--button-line-height, 1.5rem);
33
+ min-height: var(--button-min-x-y);
34
+ min-width: var(--button-min-x-y);
35
+ position: relative;
36
+ padding: var(--button-padding-y) var(--button-padding-x);
37
+
38
+ &[data-hovered] {
39
+ --button-bg-color: var(--color-blue-600);
40
+ --button-border-color: var(--color-blue-600);
41
+ }
42
+
43
+ &[data-pressed] {
44
+ --button-bg-color: var(--color-blue-700);
45
+ --button-border-color: var(--color-blue-700);
46
+ }
47
+
48
+ &[data-pending] {
49
+ --button-bg-color: var(--color-blue-700);
50
+ --button-border-color: var(--color-blue-700);
51
+ }
52
+
53
+ &[data-focus-visible]::after {
54
+ content: "";
55
+ position: absolute;
56
+ background: transparent;
57
+ border-color: var(--color-blue-500);
58
+ border-radius: var(--border-focus-ring-border-radius);
59
+ border-width: var(--border-focus-ring-border-width);
60
+ border-style: var(--border-focus-ring-border-style);
61
+ inset: calc(-1 * (var(--border-focus-ring-border-width) * 2) - 1px);
62
+ }
63
+ }
64
+
65
+ .fullWidth {
66
+ width: 100%;
67
+ }
68
+
69
+ .small {
70
+ --button-font-size: 0.75rem;
71
+ --button-line-height: 1rem;
72
+ --button-min-x-y: var(--spacing-32);
73
+ --icon-size: 16;
74
+ }
75
+
76
+ .medium {
77
+ --button-padding-x: calc(var(--spacing-20) - var(--button-border-width));
78
+ --button-padding-y: calc(var(--spacing-8) - var(--button-border-width));
79
+ --button-min-x-y: var(--spacing-40);
80
+ --icon-size: 24;
81
+ }
82
+
83
+ .large {
84
+ --button-padding-x: calc(var(--spacing-24) - var(--button-border-width));
85
+ --button-padding-y: calc(var(--spacing-12) - var(--button-border-width));
86
+ --button-min-x-y: var(--spacing-48);
87
+ --icon-size: 24;
88
+ }
89
+
90
+ .smallIconButton,
91
+ .mediumIconButton {
92
+ --button-padding-x: calc(var(--spacing-8) - var(--button-border-width));
93
+ --button-padding-y: calc(var(--spacing-8) - var(--button-border-width));
94
+ }
95
+
96
+ .largeIconButton {
97
+ --button-padding-x: calc(var(--spacing-12) - var(--button-border-width));
98
+ --button-padding-y: calc(var(--spacing-12) - var(--button-border-width));
99
+ }
100
+
101
+ .secondary {
102
+ --button-bg-color: var(--color-white);
103
+ --button-border-color: var(--color-gray-500);
104
+ --button-text-color: var(--color-purple-800);
105
+
106
+ &[data-hovered] {
107
+ --button-bg-color: var(--color-gray-200);
108
+ --button-border-color: var(--color-gray-600);
109
+ }
110
+
111
+ &[data-pressed] {
112
+ --button-bg-color: var(--color-gray-300);
113
+ --button-border-color: var(--color-black);
114
+ }
115
+
116
+ &[data-pending] {
117
+ --button-bg-color: var(--color-gray-300);
118
+ --button-border-color: var(--color-black);
119
+ }
120
+ }
121
+
122
+ .tertiary {
123
+ --button-bg-color: transparent;
124
+ --button-border-color: transparent;
125
+ --button-text-color: var(--color-purple-800);
126
+
127
+ &[data-hovered] {
128
+ --button-bg-color: var(--color-gray-200);
129
+ --button-border-color: var(--color-gray-200);
130
+ }
131
+
132
+ &[data-pressed] {
133
+ --button-bg-color: var(--color-gray-300);
134
+ --button-border-color: var(--color-gray-300);
135
+ }
136
+
137
+ &[data-pending] {
138
+ --button-bg-color: var(--color-gray-300);
139
+ --button-border-color: var(--color-gray-300);
140
+ }
141
+ }
142
+
143
+ .primaryReversed,
144
+ .secondaryReversed,
145
+ .tertiaryReversed {
146
+ &[data-focus-visible]::after {
147
+ border-color: var(--color-blue-300);
148
+ }
149
+ }
150
+
151
+ .primaryReversed {
152
+ --button-bg-color: var(--color-white);
153
+ --button-border-color: var(--color-white);
154
+ --button-text-color: var(--color-purple-800);
155
+
156
+ &[data-hovered] {
157
+ --button-bg-color: var(--color-white);
158
+ --button-border-color: var(--color-white);
159
+ }
160
+
161
+ &[data-pressed] {
162
+ --button-bg-color: var(--color-white);
163
+ --button-border-color: var(--color-white);
164
+ }
165
+
166
+ &[data-pending] {
167
+ --button-bg-color: var(--color-white);
168
+ --button-border-color: var(--color-white);
169
+ }
170
+ }
171
+
172
+ .secondaryReversed {
173
+ --button-bg-color: transparent;
174
+ --button-border-color: var(--color-white);
175
+ --button-text-color: var(--color-white);
176
+
177
+ &[data-hovered] {
178
+ --button-bg-color: rgba(var(--color-white-rgb), 0.2);
179
+ --button-border-color: var(--color-white);
180
+ }
181
+
182
+ &[data-pressed] {
183
+ --button-bg-color: rgba(var(--color-white-rgb), 0.1);
184
+ --button-border-color: var(--color-white);
185
+ }
186
+
187
+ &[data-pending] {
188
+ --button-bg-color: rgba(var(--color-white-rgb), 0.1);
189
+ --button-border-color: var(--color-white);
190
+ }
191
+ }
192
+
193
+ .tertiaryReversed {
194
+ --button-bg-color: transparent;
195
+ --button-border-color: transparent;
196
+ --button-text-color: var(--color-white);
197
+
198
+ &[data-hovered] {
199
+ --button-bg-color: rgba(var(--color-white-rgb), 0.2);
200
+ --button-border-color: transparent;
201
+ }
202
+
203
+ &[data-pressed] {
204
+ --button-bg-color: rgba(var(--color-white-rgb), 0.1);
205
+ --button-border-color: transparent;
206
+ }
207
+
208
+ &[data-pending] {
209
+ --button-bg-color: rgba(var(--color-white-rgb), 0.1);
210
+ --button-border-color: transparent;
211
+ }
212
+ }
213
+
214
+ .isDisabled {
215
+ --button-bg-color: var(--color-gray-400);
216
+ --button-border-color: var(--color-gray-400);
217
+ --button-text-color: var(--color-white);
218
+
219
+ &[data-hovered] {
220
+ --button-bg-color: var(--color-gray-400);
221
+ --button-border-color: var(--color-gray-400);
222
+ }
223
+ }
224
+
225
+ .hideContentWidth {
226
+ position: absolute;
227
+ left: 50%;
228
+ top: 50%;
229
+ transform: translate(-50%, -50%);
230
+ visibility: hidden;
231
+ }
232
+
233
+ .retainContentWidth {
234
+ visibility: hidden;
235
+ }