@spark-ui/components 16.2.3 → 17.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 (181) hide show
  1. package/dist/{Button-DPncfbbM.mjs → Button-1M9DcZl0.mjs} +25 -79
  2. package/dist/Button-1M9DcZl0.mjs.map +1 -0
  3. package/dist/Button-FZceRWG2.js +2 -0
  4. package/dist/Button-FZceRWG2.js.map +1 -0
  5. package/dist/{Icon-C23-htlD.mjs → Icon-BO327oHU.mjs} +8 -9
  6. package/dist/Icon-BO327oHU.mjs.map +1 -0
  7. package/dist/Icon-C-cNTnzd.js +2 -0
  8. package/dist/Icon-C-cNTnzd.js.map +1 -0
  9. package/dist/{IconButton-D3g86WpZ.js → IconButton-BR1bJSQA.js} +2 -2
  10. package/dist/{IconButton-D3g86WpZ.js.map → IconButton-BR1bJSQA.js.map} +1 -1
  11. package/dist/{IconButton-Bfd-6BAD.mjs → IconButton-DdB3Pq13.mjs} +2 -2
  12. package/dist/{IconButton-Bfd-6BAD.mjs.map → IconButton-DdB3Pq13.mjs.map} +1 -1
  13. package/dist/Spinner-Br4Rp9V2.js +2 -0
  14. package/dist/Spinner-Br4Rp9V2.js.map +1 -0
  15. package/dist/{Spinner-aLrtE2JN.mjs → Spinner-Co3AjkQV.mjs} +7 -8
  16. package/dist/Spinner-Co3AjkQV.mjs.map +1 -0
  17. package/dist/TextLink-5MvP0P8D.js +2 -0
  18. package/dist/TextLink-5MvP0P8D.js.map +1 -0
  19. package/dist/{TextLink-D7mOCjY_.mjs → TextLink-Cc_LeVcx.mjs} +10 -11
  20. package/dist/TextLink-Cc_LeVcx.mjs.map +1 -0
  21. package/dist/accordion/index.js +1 -1
  22. package/dist/accordion/index.mjs +1 -1
  23. package/dist/avatar/index.js +1 -1
  24. package/dist/avatar/index.mjs +2 -2
  25. package/dist/badge/BadgeItem.styles.d.ts +1 -1
  26. package/dist/badge/index.js +1 -1
  27. package/dist/badge/index.js.map +1 -1
  28. package/dist/badge/index.mjs +10 -11
  29. package/dist/badge/index.mjs.map +1 -1
  30. package/dist/breadcrumb/index.js +1 -1
  31. package/dist/breadcrumb/index.mjs +2 -2
  32. package/dist/button/Button.styles.d.ts +1 -1
  33. package/dist/button/index.js +1 -1
  34. package/dist/button/index.mjs +1 -1
  35. package/dist/button/variants/contrast.d.ts +0 -4
  36. package/dist/button/variants/filled.d.ts +0 -4
  37. package/dist/button/variants/ghost.d.ts +0 -4
  38. package/dist/button/variants/outlined.d.ts +0 -4
  39. package/dist/button/variants/tinted.d.ts +0 -4
  40. package/dist/card/Backdrop.d.ts +1 -1
  41. package/dist/card/Card.styles.d.ts +1 -1
  42. package/dist/card/Content.styles.d.ts +1 -1
  43. package/dist/card/index.js +1 -1
  44. package/dist/card/index.js.map +1 -1
  45. package/dist/card/index.mjs +12 -31
  46. package/dist/card/index.mjs.map +1 -1
  47. package/dist/carousel/CarouselPageIndicator.d.ts +1 -1
  48. package/dist/carousel/index.js +1 -1
  49. package/dist/carousel/index.js.map +1 -1
  50. package/dist/carousel/index.mjs +29 -29
  51. package/dist/carousel/index.mjs.map +1 -1
  52. package/dist/checkbox/CheckboxInput.styles.d.ts +1 -1
  53. package/dist/checkbox/index.js +1 -1
  54. package/dist/checkbox/index.js.map +1 -1
  55. package/dist/checkbox/index.mjs +26 -33
  56. package/dist/checkbox/index.mjs.map +1 -1
  57. package/dist/chip/Chip.styles.d.ts +1 -1
  58. package/dist/chip/index.js +1 -1
  59. package/dist/chip/index.js.map +1 -1
  60. package/dist/chip/index.mjs +33 -68
  61. package/dist/chip/index.mjs.map +1 -1
  62. package/dist/chip/variants/dashed.d.ts +0 -4
  63. package/dist/chip/variants/outlined.d.ts +0 -4
  64. package/dist/chip/variants/tinted.d.ts +0 -4
  65. package/dist/combobox/index.js +1 -1
  66. package/dist/combobox/index.mjs +3 -3
  67. package/dist/dialog/index.js +1 -1
  68. package/dist/dialog/index.mjs +2 -2
  69. package/dist/drawer/index.js +1 -1
  70. package/dist/drawer/index.mjs +2 -2
  71. package/dist/dropdown/index.js +1 -1
  72. package/dist/dropdown/index.mjs +1 -1
  73. package/dist/file-upload/index.js +1 -1
  74. package/dist/file-upload/index.js.map +1 -1
  75. package/dist/file-upload/index.mjs +4 -4
  76. package/dist/file-upload/index.mjs.map +1 -1
  77. package/dist/form-field/index.js +1 -1
  78. package/dist/form-field/index.mjs +1 -1
  79. package/dist/icon/Icon.styles.d.ts +1 -1
  80. package/dist/icon/index.js +1 -1
  81. package/dist/icon/index.mjs +1 -1
  82. package/dist/icon-button/index.js +1 -1
  83. package/dist/icon-button/index.mjs +1 -1
  84. package/dist/input/index.js +1 -1
  85. package/dist/input/index.mjs +1 -1
  86. package/dist/pagination/index.js +1 -1
  87. package/dist/pagination/index.mjs +3 -3
  88. package/dist/popover/PopoverContent.styles.d.ts +1 -1
  89. package/dist/popover/PopoverContext.d.ts +1 -1
  90. package/dist/popover/index.js +1 -1
  91. package/dist/popover/index.js.map +1 -1
  92. package/dist/popover/index.mjs +33 -35
  93. package/dist/popover/index.mjs.map +1 -1
  94. package/dist/progress/ProgressIndicator.d.ts +1 -1
  95. package/dist/progress/index.js +1 -1
  96. package/dist/progress/index.js.map +1 -1
  97. package/dist/progress/index.mjs +42 -43
  98. package/dist/progress/index.mjs.map +1 -1
  99. package/dist/progress-tracker/ProgressTrackerStep.styles.d.ts +1 -1
  100. package/dist/progress-tracker/ProgressTrackerStepIndicator.styles.d.ts +1 -1
  101. package/dist/progress-tracker/index.js +1 -1
  102. package/dist/progress-tracker/index.js.map +1 -1
  103. package/dist/progress-tracker/index.mjs +38 -38
  104. package/dist/progress-tracker/index.mjs.map +1 -1
  105. package/dist/radio-group/RadioIndicator.styles.d.ts +1 -1
  106. package/dist/radio-group/RadioInput.styles.d.ts +1 -1
  107. package/dist/radio-group/index.js +1 -1
  108. package/dist/radio-group/index.js.map +1 -1
  109. package/dist/radio-group/index.mjs +47 -53
  110. package/dist/radio-group/index.mjs.map +1 -1
  111. package/dist/rating/index.js +1 -1
  112. package/dist/rating/index.mjs +1 -1
  113. package/dist/rating-display/index.js +1 -1
  114. package/dist/rating-display/index.mjs +1 -1
  115. package/dist/scrolling-list/index.js +1 -1
  116. package/dist/scrolling-list/index.mjs +3 -3
  117. package/dist/segmented-gauge/SegmentedGauge.d.ts +1 -1
  118. package/dist/segmented-gauge/SegmentedGaugeContext.d.ts +1 -1
  119. package/dist/segmented-gauge/index.js +1 -1
  120. package/dist/segmented-gauge/index.js.map +1 -1
  121. package/dist/segmented-gauge/index.mjs +14 -16
  122. package/dist/segmented-gauge/index.mjs.map +1 -1
  123. package/dist/select/index.js +1 -1
  124. package/dist/select/index.mjs +1 -1
  125. package/dist/slider/SliderThumb.styles.d.ts +1 -1
  126. package/dist/slider/SliderTrack.styles.d.ts +1 -1
  127. package/dist/slider/index.js +1 -1
  128. package/dist/slider/index.js.map +1 -1
  129. package/dist/slider/index.mjs +3 -5
  130. package/dist/slider/index.mjs.map +1 -1
  131. package/dist/snackbar/SnackbarItem.styles.d.ts +1 -1
  132. package/dist/snackbar/index.js +1 -1
  133. package/dist/snackbar/index.js.map +1 -1
  134. package/dist/snackbar/index.mjs +24 -35
  135. package/dist/snackbar/index.mjs.map +1 -1
  136. package/dist/snackbar/snackbarVariants.d.ts +0 -8
  137. package/dist/spinner/Spinner.styles.d.ts +1 -1
  138. package/dist/spinner/index.js +1 -1
  139. package/dist/spinner/index.mjs +1 -1
  140. package/dist/stepper/index.js +1 -1
  141. package/dist/stepper/index.mjs +2 -2
  142. package/dist/switch/SwitchInput.styles.d.ts +1 -1
  143. package/dist/switch/index.js +1 -1
  144. package/dist/switch/index.js.map +1 -1
  145. package/dist/switch/index.mjs +22 -23
  146. package/dist/switch/index.mjs.map +1 -1
  147. package/dist/tabs/TabsTrigger.styles.d.ts +1 -1
  148. package/dist/tabs/index.js +1 -1
  149. package/dist/tabs/index.js.map +1 -1
  150. package/dist/tabs/index.mjs +20 -21
  151. package/dist/tabs/index.mjs.map +1 -1
  152. package/dist/tag/Tag.styles.d.ts +1 -1
  153. package/dist/tag/index.js +1 -1
  154. package/dist/tag/index.js.map +1 -1
  155. package/dist/tag/index.mjs +15 -31
  156. package/dist/tag/index.mjs.map +1 -1
  157. package/dist/tag/variants/filled.d.ts +0 -4
  158. package/dist/tag/variants/outlined.d.ts +0 -4
  159. package/dist/tag/variants/tinted.d.ts +0 -4
  160. package/dist/text-link/TextLink.d.ts +1 -1
  161. package/dist/text-link/index.js +1 -1
  162. package/dist/text-link/index.mjs +1 -1
  163. package/dist/toast/Toast.styles.d.ts +1 -1
  164. package/dist/toast/index.js +1 -1
  165. package/dist/toast/index.js.map +1 -1
  166. package/dist/toast/index.mjs +25 -37
  167. package/dist/toast/index.mjs.map +1 -1
  168. package/dist/toast/types.d.ts +1 -1
  169. package/package.json +4 -4
  170. package/dist/Button-B6rA3-e5.js +0 -2
  171. package/dist/Button-B6rA3-e5.js.map +0 -1
  172. package/dist/Button-DPncfbbM.mjs.map +0 -1
  173. package/dist/Icon-C23-htlD.mjs.map +0 -1
  174. package/dist/Icon-CF0W0LKr.js +0 -2
  175. package/dist/Icon-CF0W0LKr.js.map +0 -1
  176. package/dist/Spinner-_Kffli3B.js +0 -2
  177. package/dist/Spinner-_Kffli3B.js.map +0 -1
  178. package/dist/Spinner-aLrtE2JN.mjs.map +0 -1
  179. package/dist/TextLink-C3xDLsbC.js +0 -2
  180. package/dist/TextLink-C3xDLsbC.js.map +0 -1
  181. package/dist/TextLink-D7mOCjY_.mjs.map +0 -1
@@ -1,9 +1,9 @@
1
- import { jsx as a, jsxs as V, Fragment as I } from "react/jsx-runtime";
1
+ import { jsx as o, jsxs as V, Fragment as I } from "react/jsx-runtime";
2
2
  import { cva as M, cx as S } from "class-variance-authority";
3
3
  import { useMemo as k } from "react";
4
4
  import { S as N, w as E } from "./Slot-DLY1rJrG.mjs";
5
- import { S as j } from "./Spinner-aLrtE2JN.mjs";
6
- import { tw as e, makeVariants as s } from "@spark-ui/internal-utils";
5
+ import { S as j } from "./Spinner-Co3AjkQV.mjs";
6
+ import { tw as e, makeVariants as i } from "@spark-ui/internal-utils";
7
7
  const B = [
8
8
  // Main
9
9
  {
@@ -41,18 +41,6 @@ const B = [
41
41
  "focus-visible:bg-accent-hovered"
42
42
  ])
43
43
  },
44
- // Basic
45
- {
46
- intent: "basic",
47
- design: "filled",
48
- class: e([
49
- "bg-basic",
50
- "text-on-basic",
51
- "hover:bg-basic-hovered",
52
- "enabled:active:bg-basic-hovered",
53
- "focus-visible:bg-basic-hovered"
54
- ])
55
- },
56
44
  // Success
57
45
  {
58
46
  intent: "success",
@@ -163,16 +151,6 @@ const B = [
163
151
  "focus-visible:bg-accent/dim-5"
164
152
  ])
165
153
  },
166
- {
167
- intent: "basic",
168
- design: "ghost",
169
- class: e([
170
- "text-on-basic-container",
171
- "hover:bg-basic/dim-5",
172
- "enabled:active:bg-basic/dim-5",
173
- "focus-visible:bg-basic/dim-5"
174
- ])
175
- },
176
154
  {
177
155
  intent: "success",
178
156
  design: "ghost",
@@ -274,16 +252,6 @@ const B = [
274
252
  "text-accent"
275
253
  ])
276
254
  },
277
- {
278
- intent: "basic",
279
- design: "outlined",
280
- class: e([
281
- "hover:bg-basic/dim-5",
282
- "enabled:active:bg-basic/dim-5",
283
- "focus-visible:bg-basic/dim-5",
284
- "text-basic"
285
- ])
286
- },
287
255
  {
288
256
  intent: "success",
289
257
  design: "outlined",
@@ -388,17 +356,6 @@ const B = [
388
356
  "focus-visible:bg-accent-container-hovered"
389
357
  ])
390
358
  },
391
- {
392
- intent: "basic",
393
- design: "tinted",
394
- class: e([
395
- "bg-basic-container",
396
- "text-on-basic-container",
397
- "hover:bg-basic-container-hovered",
398
- "enabled:active:bg-basic-container-hovered",
399
- "focus-visible:bg-basic-container-hovered"
400
- ])
401
- },
402
359
  {
403
360
  intent: "success",
404
361
  design: "tinted",
@@ -507,16 +464,6 @@ const B = [
507
464
  "focus-visible:bg-accent-container-hovered"
508
465
  ])
509
466
  },
510
- {
511
- intent: "basic",
512
- design: "contrast",
513
- class: e([
514
- "text-on-basic-container bg-surface",
515
- "hover:bg-basic-container-hovered",
516
- "enabled:active:bg-basic-container-hovered",
517
- "focus-visible:bg-basic-container-hovered"
518
- ])
519
- },
520
467
  {
521
468
  intent: "success",
522
469
  design: "contrast",
@@ -611,7 +558,7 @@ const B = [
611
558
  * - `contrast`: Button will be surface filled. No borders, plain text.
612
559
  *
613
560
  */
614
- design: s({
561
+ design: i({
615
562
  filled: [],
616
563
  outlined: ["bg-transparent", "border-sm", "border-current"],
617
564
  tinted: [],
@@ -624,11 +571,10 @@ const B = [
624
571
  /**
625
572
  * Color scheme of the button.
626
573
  */
627
- intent: s({
574
+ intent: i({
628
575
  main: [],
629
576
  support: [],
630
577
  accent: [],
631
- basic: [],
632
578
  success: [],
633
579
  alert: [],
634
580
  danger: [],
@@ -640,7 +586,7 @@ const B = [
640
586
  /**
641
587
  * Size of the button.
642
588
  */
643
- size: s({
589
+ size: i({
644
590
  sm: ["min-w-sz-32", "h-sz-32"],
645
591
  md: ["min-w-sz-44", "h-sz-44"],
646
592
  lg: ["min-w-sz-56", "h-sz-56"]
@@ -648,7 +594,7 @@ const B = [
648
594
  /**
649
595
  * Shape of the button.
650
596
  */
651
- shape: s({
597
+ shape: i({
652
598
  rounded: ["rounded-lg"],
653
599
  square: ["rounded-0"],
654
600
  pill: ["rounded-full"]
@@ -690,12 +636,12 @@ const B = [
690
636
  ], q = ({
691
637
  children: l,
692
638
  design: v = "filled",
693
- disabled: o = !1,
694
- intent: g = "main",
639
+ disabled: a = !1,
640
+ intent: u = "main",
695
641
  isLoading: t = !1,
696
642
  loadingLabel: c,
697
- loadingText: i,
698
- shape: u = "rounded",
643
+ loadingText: r,
644
+ shape: g = "rounded",
699
645
  size: f = "md",
700
646
  asChild: d,
701
647
  className: h,
@@ -703,15 +649,15 @@ const B = [
703
649
  ref: p,
704
650
  ...x
705
651
  }) => {
706
- const b = d ? N : "button", r = !!o || t, w = k(() => {
652
+ const b = d ? N : "button", s = !!a || t, w = k(() => {
707
653
  const n = {};
708
- return r && U.forEach((z) => n[z] = void 0), n;
709
- }, [r]), y = {
654
+ return s && U.forEach((z) => n[z] = void 0), n;
655
+ }, [s]), y = {
710
656
  size: "current",
711
- className: i ? "inline-block" : "absolute",
657
+ className: r ? "inline-block" : "absolute",
712
658
  ...c && { "aria-label": c }
713
659
  };
714
- return /* @__PURE__ */ a(
660
+ return /* @__PURE__ */ o(
715
661
  b,
716
662
  {
717
663
  "data-spark-component": "button",
@@ -720,13 +666,13 @@ const B = [
720
666
  className: O({
721
667
  className: h,
722
668
  design: v,
723
- disabled: r,
724
- intent: g,
725
- shape: u,
669
+ disabled: s,
670
+ intent: u,
671
+ shape: g,
726
672
  size: f,
727
673
  underline: m
728
674
  }),
729
- disabled: !!o,
675
+ disabled: !!a,
730
676
  "aria-busy": t,
731
677
  "aria-live": t ? "assertive" : "off",
732
678
  ...x,
@@ -735,13 +681,13 @@ const B = [
735
681
  d,
736
682
  l,
737
683
  (n) => t ? /* @__PURE__ */ V(I, { children: [
738
- /* @__PURE__ */ a(j, { ...y }),
739
- i && i,
740
- /* @__PURE__ */ a(
684
+ /* @__PURE__ */ o(j, { ...y }),
685
+ r && r,
686
+ /* @__PURE__ */ o(
741
687
  "div",
742
688
  {
743
689
  "aria-hidden": !0,
744
- className: S("gap-md", i ? "hidden" : "inline-flex opacity-0"),
690
+ className: S("gap-md", r ? "hidden" : "inline-flex opacity-0"),
745
691
  children: n
746
692
  }
747
693
  )
@@ -755,4 +701,4 @@ export {
755
701
  q as B,
756
702
  O as b
757
703
  };
758
- //# sourceMappingURL=Button-DPncfbbM.mjs.map
704
+ //# sourceMappingURL=Button-1M9DcZl0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-1M9DcZl0.mjs","sources":["../src/button/variants/filled.ts","../src/button/variants/ghost.ts","../src/button/variants/outlined.ts","../src/button/variants/tinted.ts","../src/button/variants/contrast.ts","../src/button/Button.styles.tsx","../src/button/Button.tsx"],"sourcesContent":["import { tw } from '@spark-ui/internal-utils'\n\nexport const filledVariants = [\n // Main\n {\n intent: 'main',\n design: 'filled',\n class: tw([\n 'bg-main',\n 'text-on-main',\n 'hover:bg-main-hovered',\n 'enabled:active:bg-main-hovered',\n 'focus-visible:bg-main-hovered',\n ]),\n },\n // Support\n {\n intent: 'support',\n design: 'filled',\n class: tw([\n 'bg-support',\n 'text-on-support',\n 'hover:bg-support-hovered',\n 'enabled:active:bg-support-hovered',\n 'focus-visible:bg-support-hovered',\n ]),\n },\n // Accent\n {\n intent: 'accent',\n design: 'filled',\n class: tw([\n 'bg-accent',\n 'text-on-accent',\n 'hover:bg-accent-hovered',\n 'enabled:active:bg-accent-hovered',\n 'focus-visible:bg-accent-hovered',\n ]),\n },\n // Success\n {\n intent: 'success',\n design: 'filled',\n class: tw([\n 'bg-success',\n 'text-on-success',\n 'hover:bg-success-hovered',\n 'enabled:active:bg-success-hovered',\n 'focus-visible:bg-success-hovered',\n ]),\n },\n // Alert\n {\n intent: 'alert',\n design: 'filled',\n class: tw([\n 'bg-alert',\n 'text-on-alert',\n 'hover:bg-alert-hovered',\n 'enabled:active:bg-alert-hovered',\n 'focus-visible:bg-alert-hovered',\n ]),\n },\n // Danger\n {\n intent: 'danger',\n design: 'filled',\n class: tw([\n 'text-on-error bg-error',\n 'hover:bg-error-hovered enabled:active:bg-error-hovered',\n 'focus-visible:bg-error-hovered',\n ]),\n },\n // Info\n {\n intent: 'info',\n design: 'filled',\n class: tw([\n 'text-on-error bg-info',\n 'hover:bg-info-hovered enabled:active:bg-info-hovered',\n 'focus-visible:bg-info-hovered',\n ]),\n },\n // Neutral\n {\n intent: 'neutral',\n design: 'filled',\n class: tw([\n 'bg-neutral',\n 'text-on-neutral',\n 'hover:bg-neutral-hovered',\n 'enabled:active:bg-neutral-hovered',\n 'focus-visible:bg-neutral-hovered',\n ]),\n },\n // Surface\n {\n intent: 'surface',\n design: 'filled',\n class: tw([\n 'bg-surface',\n 'text-on-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'filled',\n class: tw([\n 'bg-surface-inverse',\n 'text-on-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const ghostVariants = [\n {\n intent: 'main',\n design: 'ghost',\n class: tw([\n 'text-on-main-container',\n 'hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n ]),\n },\n {\n intent: 'support',\n design: 'ghost',\n class: tw([\n 'text-on-support-container',\n 'hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n ]),\n },\n {\n intent: 'accent',\n design: 'ghost',\n class: tw([\n 'text-on-accent-container',\n 'hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n ]),\n },\n {\n intent: 'success',\n design: 'ghost',\n class: tw([\n 'text-on-success-container',\n 'hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n ]),\n },\n {\n intent: 'alert',\n design: 'ghost',\n class: tw([\n 'text-on-alert-container',\n 'hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n ]),\n },\n {\n intent: 'danger',\n design: 'ghost',\n class: tw([\n 'text-on-error-container',\n 'hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n ]),\n },\n {\n intent: 'info',\n design: 'ghost',\n class: tw([\n 'text-on-info-container',\n 'hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n ]),\n },\n {\n intent: 'neutral',\n design: 'ghost',\n class: tw([\n 'text-on-neutral-container',\n 'hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n ]),\n },\n {\n intent: 'surface',\n design: 'ghost',\n class: tw([\n 'text-surface',\n 'hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'ghost',\n class: tw([\n 'text-surface-inverse',\n 'hover:bg-surface-inverse/dim-5',\n 'enabled:active:bg-surface-inverse/dim-5',\n 'focus-visible:bg-surface-inverse/dim-5',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n {\n intent: 'main',\n design: 'outlined',\n class: tw([\n 'hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'outlined',\n class: tw([\n 'hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'text-support',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'text-accent',\n ]),\n },\n {\n intent: 'success',\n design: 'outlined',\n class: tw([\n 'hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'outlined',\n class: tw([\n 'hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'outlined',\n class: tw([\n 'hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'outlined',\n class: tw([\n 'hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'outlined',\n class: tw([\n 'hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'text-surface',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'outlined',\n class: tw([\n 'hover:bg-surface-inverse/dim-5',\n 'enabled:active:bg-surface-inverse/dim-5',\n 'focus-visible:bg-surface-inverse/dim-5',\n 'text-surface-inverse',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'text-on-main-container',\n 'hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'text-on-support-container',\n 'hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'text-on-accent-container',\n 'hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'text-on-success-container',\n 'hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'text-on-alert-container',\n 'hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'text-on-error-container',\n 'hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'text-on-info-container',\n 'hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'text-on-neutral-container',\n 'hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface',\n 'text-on-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'tinted',\n class: tw([\n 'bg-surface-inverse',\n 'text-on-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const contrastVariants = [\n {\n intent: 'main',\n design: 'contrast',\n class: tw([\n 'text-on-main-contaier bg-surface',\n 'hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'contrast',\n class: tw([\n 'text-on-support-container bg-surface',\n 'hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'contrast',\n class: tw([\n 'text-on-accent-container bg-surface',\n 'hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'contrast',\n class: tw([\n 'text-on-success-container bg-surface',\n 'hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'contrast',\n class: tw([\n 'text-on-alert-container bg-surface',\n 'hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'contrast',\n class: tw([\n 'text-on-error-container bg-surface',\n 'hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'contrast',\n class: tw([\n 'text-on-info-container bg-surface',\n 'hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'contrast',\n class: tw([\n 'text-on-neutral-container bg-surface',\n 'hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'contrast',\n class: tw([\n 'text-on-surface bg-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'contrast',\n class: tw([\n 'text-on-surface-inverse bg-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport {\n contrastVariants,\n filledVariants,\n ghostVariants,\n outlinedVariants,\n tintedVariants,\n} from './variants'\n\nexport const buttonStyles = cva(\n [\n 'u-shadow-border-transition',\n 'box-border inline-flex items-center justify-center gap-md whitespace-nowrap',\n 'default:px-lg',\n 'text-body-1 font-bold',\n 'focus-visible:u-outline',\n ],\n {\n variants: {\n /**\n * Main style of the button.\n *\n * - `filled`: Button will be plain.\n *\n * - `outlined`: Button will be transparent with an outline.\n *\n * - `tinted`: Button will be filled but using a lighter color scheme.\n *\n * - `ghost`: Button will look like a link. No borders, plain text.\n *\n * - `contrast`: Button will be surface filled. No borders, plain text.\n *\n */\n design: makeVariants<'design', ['filled', 'outlined', 'tinted', 'ghost', 'contrast']>({\n filled: [],\n outlined: ['bg-transparent', 'border-sm', 'border-current'],\n tinted: [],\n ghost: ['default:-mx-md px-md hover:bg-main/dim-5'],\n contrast: [],\n }),\n underline: {\n true: ['underline'],\n },\n /**\n * Color scheme of the button.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'surfaceInverse',\n ]\n >({\n main: [],\n support: [],\n accent: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n surfaceInverse: [],\n }),\n /**\n * Size of the button.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['min-w-sz-32', 'h-sz-32'],\n md: ['min-w-sz-44', 'h-sz-44'],\n lg: ['min-w-sz-56', 'h-sz-56'],\n }),\n /**\n * Shape of the button.\n */\n shape: makeVariants<'shape', ['rounded', 'square', 'pill']>({\n rounded: ['rounded-lg'],\n square: ['rounded-0'],\n pill: ['rounded-full'],\n }),\n /**\n * Disable the button, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n false: ['cursor-pointer'],\n },\n },\n compoundVariants: [\n ...filledVariants,\n ...outlinedVariants,\n ...tintedVariants,\n ...ghostVariants,\n ...contrastVariants,\n ],\n defaultVariants: {\n design: 'filled',\n intent: 'main',\n size: 'md',\n shape: 'rounded',\n },\n }\n)\n\nexport type ButtonStylesProps = VariantProps<typeof buttonStyles>\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, type DOMAttributes, Ref, useMemo } from 'react'\n\nimport { Slot, wrapPolymorphicSlot } from '../slot'\nimport { Spinner, type SpinnerProps } from '../spinner'\nimport { buttonStyles, type ButtonStylesProps } from './Button.styles'\n\nexport interface ButtonProps\n extends Omit<ComponentPropsWithoutRef<'button'>, 'disabled'>,\n ButtonStylesProps {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Display a spinner to indicate to the user that the button is loading something after they interacted with it.\n */\n isLoading?: boolean\n /**\n * If your loading state should only display a spinner, it is better to specify a label for it (a11y).\n */\n loadingLabel?: string\n /**\n * If your loading state should also display a label, you can use this prop instead of `loadingLabel`.\n * **Please note that using this can result in layout shifting when the Button goes from loading state to normal state.**\n */\n loadingText?: string\n ref?: Ref<HTMLButtonElement>\n}\n\ntype DOMAttributesEventHandler = keyof Omit<\n DOMAttributes<HTMLButtonElement>,\n 'children' | 'dangerouslySetInnerHTML'\n>\n\nconst blockedEventHandlers: DOMAttributesEventHandler[] = [\n 'onClick',\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseOver',\n 'onMouseOut',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onSubmit',\n]\n\nexport const Button = ({\n children,\n design = 'filled',\n disabled = false,\n intent = 'main',\n isLoading = false,\n loadingLabel,\n loadingText,\n shape = 'rounded',\n size = 'md',\n asChild,\n className,\n underline = false,\n ref,\n ...others\n}: ButtonProps) => {\n const Component = asChild ? Slot : 'button'\n\n const shouldNotInteract = !!disabled || isLoading\n\n const disabledEventHandlers = useMemo(() => {\n const result: Partial<Record<DOMAttributesEventHandler, () => void>> = {}\n\n if (shouldNotInteract) {\n blockedEventHandlers.forEach(eventHandler => (result[eventHandler] = undefined))\n }\n\n return result\n }, [shouldNotInteract])\n\n const spinnerProps = {\n size: 'current' as SpinnerProps['size'],\n className: loadingText ? 'inline-block' : 'absolute',\n ...(loadingLabel && { 'aria-label': loadingLabel }),\n }\n\n return (\n <Component\n data-spark-component=\"button\"\n {...(Component === 'button' && { type: 'button' })}\n ref={ref}\n className={buttonStyles({\n className,\n design,\n disabled: shouldNotInteract,\n intent,\n shape,\n size,\n underline,\n })}\n disabled={!!disabled}\n aria-busy={isLoading}\n aria-live={isLoading ? 'assertive' : 'off'}\n {...others}\n {...disabledEventHandlers}\n >\n {wrapPolymorphicSlot(asChild, children, slotted =>\n isLoading ? (\n <>\n <Spinner {...spinnerProps} />\n {loadingText && loadingText}\n\n <div\n aria-hidden\n className={cx('gap-md', loadingText ? 'hidden' : 'inline-flex opacity-0')}\n >\n {slotted}\n </div>\n </>\n ) : (\n slotted\n )\n )}\n </Component>\n )\n}\n\nButton.displayName = 'Button'\n"],"names":["filledVariants","tw","ghostVariants","outlinedVariants","tintedVariants","contrastVariants","buttonStyles","cva","makeVariants","blockedEventHandlers","Button","children","design","disabled","intent","isLoading","loadingLabel","loadingText","shape","size","asChild","className","underline","ref","others","Component","Slot","shouldNotInteract","disabledEventHandlers","useMemo","result","eventHandler","spinnerProps","jsx","wrapPolymorphicSlot","slotted","jsxs","Fragment","Spinner","cx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("react/jsx-runtime"),l=require("class-variance-authority"),q=require("react"),b=require("./Slot-DQ8z2zsy.js"),I=require("./Spinner-Br4Rp9V2.js"),e=require("@spark-ui/internal-utils"),M=[{intent:"main",design:"filled",class:e.tw(["bg-main","text-on-main","hover:bg-main-hovered","enabled:active:bg-main-hovered","focus-visible:bg-main-hovered"])},{intent:"support",design:"filled",class:e.tw(["bg-support","text-on-support","hover:bg-support-hovered","enabled:active:bg-support-hovered","focus-visible:bg-support-hovered"])},{intent:"accent",design:"filled",class:e.tw(["bg-accent","text-on-accent","hover:bg-accent-hovered","enabled:active:bg-accent-hovered","focus-visible:bg-accent-hovered"])},{intent:"success",design:"filled",class:e.tw(["bg-success","text-on-success","hover:bg-success-hovered","enabled:active:bg-success-hovered","focus-visible:bg-success-hovered"])},{intent:"alert",design:"filled",class:e.tw(["bg-alert","text-on-alert","hover:bg-alert-hovered","enabled:active:bg-alert-hovered","focus-visible:bg-alert-hovered"])},{intent:"danger",design:"filled",class:e.tw(["text-on-error bg-error","hover:bg-error-hovered enabled:active:bg-error-hovered","focus-visible:bg-error-hovered"])},{intent:"info",design:"filled",class:e.tw(["text-on-error bg-info","hover:bg-info-hovered enabled:active:bg-info-hovered","focus-visible:bg-info-hovered"])},{intent:"neutral",design:"filled",class:e.tw(["bg-neutral","text-on-neutral","hover:bg-neutral-hovered","enabled:active:bg-neutral-hovered","focus-visible:bg-neutral-hovered"])},{intent:"surface",design:"filled",class:e.tw(["bg-surface","text-on-surface","hover:bg-surface-hovered","enabled:active:bg-surface-hovered","focus-visible:bg-surface-hovered"])},{intent:"surfaceInverse",design:"filled",class:e.tw(["bg-surface-inverse","text-on-surface-inverse","hover:bg-surface-inverse-hovered","enabled:active:bg-surface-inverse-hovered","focus-visible:bg-surface-inverse-hovered"])}],j=[{intent:"main",design:"ghost",class:e.tw(["text-on-main-container","hover:bg-main/dim-5","enabled:active:bg-main/dim-5","focus-visible:bg-main/dim-5"])},{intent:"support",design:"ghost",class:e.tw(["text-on-support-container","hover:bg-support/dim-5","enabled:active:bg-support/dim-5","focus-visible:bg-support/dim-5"])},{intent:"accent",design:"ghost",class:e.tw(["text-on-accent-container","hover:bg-accent/dim-5","enabled:active:bg-accent/dim-5","focus-visible:bg-accent/dim-5"])},{intent:"success",design:"ghost",class:e.tw(["text-on-success-container","hover:bg-success/dim-5","enabled:active:bg-success/dim-5","focus-visible:bg-success/dim-5"])},{intent:"alert",design:"ghost",class:e.tw(["text-on-alert-container","hover:bg-alert/dim-5","enabled:active:bg-alert/dim-5","focus-visible:bg-alert/dim-5"])},{intent:"danger",design:"ghost",class:e.tw(["text-on-error-container","hover:bg-error/dim-5","enabled:active:bg-error/dim-5","focus-visible:bg-error/dim-5"])},{intent:"info",design:"ghost",class:e.tw(["text-on-info-container","hover:bg-info/dim-5","enabled:active:bg-info/dim-5","focus-visible:bg-info/dim-5"])},{intent:"neutral",design:"ghost",class:e.tw(["text-on-neutral-container","hover:bg-neutral/dim-5","enabled:active:bg-neutral/dim-5","focus-visible:bg-neutral/dim-5"])},{intent:"surface",design:"ghost",class:e.tw(["text-surface","hover:bg-surface/dim-5","enabled:active:bg-surface/dim-5","focus-visible:bg-surface/dim-5"])},{intent:"surfaceInverse",design:"ghost",class:e.tw(["text-surface-inverse","hover:bg-surface-inverse/dim-5","enabled:active:bg-surface-inverse/dim-5","focus-visible:bg-surface-inverse/dim-5"])}],N=[{intent:"main",design:"outlined",class:e.tw(["hover:bg-main/dim-5","enabled:active:bg-main/dim-5","focus-visible:bg-main/dim-5","text-main"])},{intent:"support",design:"outlined",class:e.tw(["hover:bg-support/dim-5","enabled:active:bg-support/dim-5","focus-visible:bg-support/dim-5","text-support"])},{intent:"accent",design:"outlined",class:e.tw(["hover:bg-accent/dim-5","enabled:active:bg-accent/dim-5","focus-visible:bg-accent/dim-5","text-accent"])},{intent:"success",design:"outlined",class:e.tw(["hover:bg-success/dim-5","enabled:active:bg-success/dim-5","focus-visible:bg-success/dim-5","text-success"])},{intent:"alert",design:"outlined",class:e.tw(["hover:bg-alert/dim-5","enabled:active:bg-alert/dim-5","focus-visible:bg-alert/dim-5","text-alert"])},{intent:"danger",design:"outlined",class:e.tw(["hover:bg-error/dim-5","enabled:active:bg-error/dim-5","focus-visible:bg-error/dim-5","text-error"])},{intent:"info",design:"outlined",class:e.tw(["hover:bg-info/dim-5","enabled:active:bg-info/dim-5","focus-visible:bg-info/dim-5","text-info"])},{intent:"neutral",design:"outlined",class:e.tw(["hover:bg-neutral/dim-5","enabled:active:bg-neutral/dim-5","focus-visible:bg-neutral/dim-5","text-neutral"])},{intent:"surface",design:"outlined",class:e.tw(["hover:bg-surface/dim-5","enabled:active:bg-surface/dim-5","focus-visible:bg-surface/dim-5","text-surface"])},{intent:"surfaceInverse",design:"outlined",class:e.tw(["hover:bg-surface-inverse/dim-5","enabled:active:bg-surface-inverse/dim-5","focus-visible:bg-surface-inverse/dim-5","text-surface-inverse"])}],E=[{intent:"main",design:"tinted",class:e.tw(["bg-main-container","text-on-main-container","hover:bg-main-container-hovered","enabled:active:bg-main-container-hovered","focus-visible:bg-main-container-hovered"])},{intent:"support",design:"tinted",class:e.tw(["bg-support-container","text-on-support-container","hover:bg-support-container-hovered","enabled:active:bg-support-container-hovered","focus-visible:bg-support-container-hovered"])},{intent:"accent",design:"tinted",class:e.tw(["bg-accent-container","text-on-accent-container","hover:bg-accent-container-hovered","enabled:active:bg-accent-container-hovered","focus-visible:bg-accent-container-hovered"])},{intent:"success",design:"tinted",class:e.tw(["bg-success-container","text-on-success-container","hover:bg-success-container-hovered","enabled:active:bg-success-container-hovered","focus-visible:bg-success-container-hovered"])},{intent:"alert",design:"tinted",class:e.tw(["bg-alert-container","text-on-alert-container","hover:bg-alert-container-hovered","enabled:active:bg-alert-container-hovered","focus-visible:bg-alert-container-hovered"])},{intent:"danger",design:"tinted",class:e.tw(["bg-error-container","text-on-error-container","hover:bg-error-container-hovered","enabled:active:bg-error-container-hovered","focus-visible:bg-error-container-hovered"])},{intent:"info",design:"tinted",class:e.tw(["bg-info-container","text-on-info-container","hover:bg-info-container-hovered","enabled:active:bg-info-container-hovered","focus-visible:bg-info-container-hovered"])},{intent:"neutral",design:"tinted",class:e.tw(["bg-neutral-container","text-on-neutral-container","hover:bg-neutral-container-hovered","enabled:active:bg-neutral-container-hovered","focus-visible:bg-neutral-container-hovered"])},{intent:"surface",design:"tinted",class:e.tw(["bg-surface","text-on-surface","hover:bg-surface-hovered","enabled:active:bg-surface-hovered","focus-visible:bg-surface-hovered"])},{intent:"surfaceInverse",design:"tinted",class:e.tw(["bg-surface-inverse","text-on-surface-inverse","hover:bg-surface-inverse-hovered","enabled:active:bg-surface-inverse-hovered","focus-visible:bg-surface-inverse-hovered"])}],B=[{intent:"main",design:"contrast",class:e.tw(["text-on-main-contaier bg-surface","hover:bg-main-container-hovered","enabled:active:bg-main-container-hovered","focus-visible:bg-main-container-hovered"])},{intent:"support",design:"contrast",class:e.tw(["text-on-support-container bg-surface","hover:bg-support-container-hovered","enabled:active:bg-support-container-hovered","focus-visible:bg-support-container-hovered"])},{intent:"accent",design:"contrast",class:e.tw(["text-on-accent-container bg-surface","hover:bg-accent-container-hovered","enabled:active:bg-accent-container-hovered","focus-visible:bg-accent-container-hovered"])},{intent:"success",design:"contrast",class:e.tw(["text-on-success-container bg-surface","hover:bg-success-container-hovered","enabled:active:bg-success-container-hovered","focus-visible:bg-success-container-hovered"])},{intent:"alert",design:"contrast",class:e.tw(["text-on-alert-container bg-surface","hover:bg-alert-container-hovered","enabled:active:bg-alert-container-hovered","focus-visible:bg-alert-container-hovered"])},{intent:"danger",design:"contrast",class:e.tw(["text-on-error-container bg-surface","hover:bg-error-container-hovered","enabled:active:bg-error-container-hovered","focus-visible:bg-error-container-hovered"])},{intent:"info",design:"contrast",class:e.tw(["text-on-info-container bg-surface","hover:bg-info-container-hovered","enabled:active:bg-info-container-hovered","focus-visible:bg-info-container-hovered"])},{intent:"neutral",design:"contrast",class:e.tw(["text-on-neutral-container bg-surface","hover:bg-neutral-container-hovered","enabled:active:bg-neutral-container-hovered","focus-visible:bg-neutral-container-hovered"])},{intent:"surface",design:"contrast",class:e.tw(["text-on-surface bg-surface","hover:bg-surface-hovered","enabled:active:bg-surface-hovered","focus-visible:bg-surface-hovered"])},{intent:"surfaceInverse",design:"contrast",class:e.tw(["text-on-surface-inverse bg-surface-inverse","hover:bg-surface-inverse-hovered","enabled:active:bg-surface-inverse-hovered","focus-visible:bg-surface-inverse-hovered"])}],v=l.cva(["u-shadow-border-transition","box-border inline-flex items-center justify-center gap-md whitespace-nowrap","default:px-lg","text-body-1 font-bold","focus-visible:u-outline"],{variants:{design:e.makeVariants({filled:[],outlined:["bg-transparent","border-sm","border-current"],tinted:[],ghost:["default:-mx-md px-md hover:bg-main/dim-5"],contrast:[]}),underline:{true:["underline"]},intent:e.makeVariants({main:[],support:[],accent:[],success:[],alert:[],danger:[],info:[],neutral:[],surface:[],surfaceInverse:[]}),size:e.makeVariants({sm:["min-w-sz-32","h-sz-32"],md:["min-w-sz-44","h-sz-44"],lg:["min-w-sz-56","h-sz-56"]}),shape:e.makeVariants({rounded:["rounded-lg"],square:["rounded-0"],pill:["rounded-full"]}),disabled:{true:["cursor-not-allowed","opacity-dim-3"],false:["cursor-pointer"]}},compoundVariants:[...M,...N,...E,...j,...B],defaultVariants:{design:"filled",intent:"main",size:"md",shape:"rounded"}}),K=["onClick","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","onMouseOver","onMouseOut","onKeyDown","onKeyPress","onKeyUp","onSubmit"],u=({children:g,design:f="filled",disabled:o=!1,intent:h="main",isLoading:s=!1,loadingLabel:a,loadingText:i,shape:m="rounded",size:p="md",asChild:c,className:w,underline:x=!1,ref:y,...V})=>{const d=c?b.Slot:"button",r=!!o||s,z=q.useMemo(()=>{const n={};return r&&K.forEach(S=>n[S]=void 0),n},[r]),k={size:"current",className:i?"inline-block":"absolute",...a&&{"aria-label":a}};return t.jsx(d,{"data-spark-component":"button",...d==="button"&&{type:"button"},ref:y,className:v({className:w,design:f,disabled:r,intent:h,shape:m,size:p,underline:x}),disabled:!!o,"aria-busy":s,"aria-live":s?"assertive":"off",...V,...z,children:b.wrapPolymorphicSlot(c,g,n=>s?t.jsxs(t.Fragment,{children:[t.jsx(I.Spinner,{...k}),i&&i,t.jsx("div",{"aria-hidden":!0,className:l.cx("gap-md",i?"hidden":"inline-flex opacity-0"),children:n})]}):n)})};u.displayName="Button";exports.Button=u;exports.buttonStyles=v;
2
+ //# sourceMappingURL=Button-FZceRWG2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button-FZceRWG2.js","sources":["../src/button/variants/filled.ts","../src/button/variants/ghost.ts","../src/button/variants/outlined.ts","../src/button/variants/tinted.ts","../src/button/variants/contrast.ts","../src/button/Button.styles.tsx","../src/button/Button.tsx"],"sourcesContent":["import { tw } from '@spark-ui/internal-utils'\n\nexport const filledVariants = [\n // Main\n {\n intent: 'main',\n design: 'filled',\n class: tw([\n 'bg-main',\n 'text-on-main',\n 'hover:bg-main-hovered',\n 'enabled:active:bg-main-hovered',\n 'focus-visible:bg-main-hovered',\n ]),\n },\n // Support\n {\n intent: 'support',\n design: 'filled',\n class: tw([\n 'bg-support',\n 'text-on-support',\n 'hover:bg-support-hovered',\n 'enabled:active:bg-support-hovered',\n 'focus-visible:bg-support-hovered',\n ]),\n },\n // Accent\n {\n intent: 'accent',\n design: 'filled',\n class: tw([\n 'bg-accent',\n 'text-on-accent',\n 'hover:bg-accent-hovered',\n 'enabled:active:bg-accent-hovered',\n 'focus-visible:bg-accent-hovered',\n ]),\n },\n // Success\n {\n intent: 'success',\n design: 'filled',\n class: tw([\n 'bg-success',\n 'text-on-success',\n 'hover:bg-success-hovered',\n 'enabled:active:bg-success-hovered',\n 'focus-visible:bg-success-hovered',\n ]),\n },\n // Alert\n {\n intent: 'alert',\n design: 'filled',\n class: tw([\n 'bg-alert',\n 'text-on-alert',\n 'hover:bg-alert-hovered',\n 'enabled:active:bg-alert-hovered',\n 'focus-visible:bg-alert-hovered',\n ]),\n },\n // Danger\n {\n intent: 'danger',\n design: 'filled',\n class: tw([\n 'text-on-error bg-error',\n 'hover:bg-error-hovered enabled:active:bg-error-hovered',\n 'focus-visible:bg-error-hovered',\n ]),\n },\n // Info\n {\n intent: 'info',\n design: 'filled',\n class: tw([\n 'text-on-error bg-info',\n 'hover:bg-info-hovered enabled:active:bg-info-hovered',\n 'focus-visible:bg-info-hovered',\n ]),\n },\n // Neutral\n {\n intent: 'neutral',\n design: 'filled',\n class: tw([\n 'bg-neutral',\n 'text-on-neutral',\n 'hover:bg-neutral-hovered',\n 'enabled:active:bg-neutral-hovered',\n 'focus-visible:bg-neutral-hovered',\n ]),\n },\n // Surface\n {\n intent: 'surface',\n design: 'filled',\n class: tw([\n 'bg-surface',\n 'text-on-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'filled',\n class: tw([\n 'bg-surface-inverse',\n 'text-on-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const ghostVariants = [\n {\n intent: 'main',\n design: 'ghost',\n class: tw([\n 'text-on-main-container',\n 'hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n ]),\n },\n {\n intent: 'support',\n design: 'ghost',\n class: tw([\n 'text-on-support-container',\n 'hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n ]),\n },\n {\n intent: 'accent',\n design: 'ghost',\n class: tw([\n 'text-on-accent-container',\n 'hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n ]),\n },\n {\n intent: 'success',\n design: 'ghost',\n class: tw([\n 'text-on-success-container',\n 'hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n ]),\n },\n {\n intent: 'alert',\n design: 'ghost',\n class: tw([\n 'text-on-alert-container',\n 'hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n ]),\n },\n {\n intent: 'danger',\n design: 'ghost',\n class: tw([\n 'text-on-error-container',\n 'hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n ]),\n },\n {\n intent: 'info',\n design: 'ghost',\n class: tw([\n 'text-on-info-container',\n 'hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n ]),\n },\n {\n intent: 'neutral',\n design: 'ghost',\n class: tw([\n 'text-on-neutral-container',\n 'hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n ]),\n },\n {\n intent: 'surface',\n design: 'ghost',\n class: tw([\n 'text-surface',\n 'hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'ghost',\n class: tw([\n 'text-surface-inverse',\n 'hover:bg-surface-inverse/dim-5',\n 'enabled:active:bg-surface-inverse/dim-5',\n 'focus-visible:bg-surface-inverse/dim-5',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const outlinedVariants = [\n {\n intent: 'main',\n design: 'outlined',\n class: tw([\n 'hover:bg-main/dim-5',\n 'enabled:active:bg-main/dim-5',\n 'focus-visible:bg-main/dim-5',\n 'text-main',\n ]),\n },\n {\n intent: 'support',\n design: 'outlined',\n class: tw([\n 'hover:bg-support/dim-5',\n 'enabled:active:bg-support/dim-5',\n 'focus-visible:bg-support/dim-5',\n 'text-support',\n ]),\n },\n {\n intent: 'accent',\n design: 'outlined',\n class: tw([\n 'hover:bg-accent/dim-5',\n 'enabled:active:bg-accent/dim-5',\n 'focus-visible:bg-accent/dim-5',\n 'text-accent',\n ]),\n },\n {\n intent: 'success',\n design: 'outlined',\n class: tw([\n 'hover:bg-success/dim-5',\n 'enabled:active:bg-success/dim-5',\n 'focus-visible:bg-success/dim-5',\n 'text-success',\n ]),\n },\n {\n intent: 'alert',\n design: 'outlined',\n class: tw([\n 'hover:bg-alert/dim-5',\n 'enabled:active:bg-alert/dim-5',\n 'focus-visible:bg-alert/dim-5',\n 'text-alert',\n ]),\n },\n {\n intent: 'danger',\n design: 'outlined',\n class: tw([\n 'hover:bg-error/dim-5',\n 'enabled:active:bg-error/dim-5',\n 'focus-visible:bg-error/dim-5',\n 'text-error',\n ]),\n },\n {\n intent: 'info',\n design: 'outlined',\n class: tw([\n 'hover:bg-info/dim-5',\n 'enabled:active:bg-info/dim-5',\n 'focus-visible:bg-info/dim-5',\n 'text-info',\n ]),\n },\n {\n intent: 'neutral',\n design: 'outlined',\n class: tw([\n 'hover:bg-neutral/dim-5',\n 'enabled:active:bg-neutral/dim-5',\n 'focus-visible:bg-neutral/dim-5',\n 'text-neutral',\n ]),\n },\n {\n intent: 'surface',\n design: 'outlined',\n class: tw([\n 'hover:bg-surface/dim-5',\n 'enabled:active:bg-surface/dim-5',\n 'focus-visible:bg-surface/dim-5',\n 'text-surface',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'outlined',\n class: tw([\n 'hover:bg-surface-inverse/dim-5',\n 'enabled:active:bg-surface-inverse/dim-5',\n 'focus-visible:bg-surface-inverse/dim-5',\n 'text-surface-inverse',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const tintedVariants = [\n {\n intent: 'main',\n design: 'tinted',\n class: tw([\n 'bg-main-container',\n 'text-on-main-container',\n 'hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'tinted',\n class: tw([\n 'bg-support-container',\n 'text-on-support-container',\n 'hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'tinted',\n class: tw([\n 'bg-accent-container',\n 'text-on-accent-container',\n 'hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'tinted',\n class: tw([\n 'bg-success-container',\n 'text-on-success-container',\n 'hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'tinted',\n class: tw([\n 'bg-alert-container',\n 'text-on-alert-container',\n 'hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'tinted',\n class: tw([\n 'bg-error-container',\n 'text-on-error-container',\n 'hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'tinted',\n class: tw([\n 'bg-info-container',\n 'text-on-info-container',\n 'hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'tinted',\n class: tw([\n 'bg-neutral-container',\n 'text-on-neutral-container',\n 'hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'tinted',\n class: tw([\n 'bg-surface',\n 'text-on-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'tinted',\n class: tw([\n 'bg-surface-inverse',\n 'text-on-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { tw } from '@spark-ui/internal-utils'\n\nexport const contrastVariants = [\n {\n intent: 'main',\n design: 'contrast',\n class: tw([\n 'text-on-main-contaier bg-surface',\n 'hover:bg-main-container-hovered',\n 'enabled:active:bg-main-container-hovered',\n 'focus-visible:bg-main-container-hovered',\n ]),\n },\n {\n intent: 'support',\n design: 'contrast',\n class: tw([\n 'text-on-support-container bg-surface',\n 'hover:bg-support-container-hovered',\n 'enabled:active:bg-support-container-hovered',\n 'focus-visible:bg-support-container-hovered',\n ]),\n },\n {\n intent: 'accent',\n design: 'contrast',\n class: tw([\n 'text-on-accent-container bg-surface',\n 'hover:bg-accent-container-hovered',\n 'enabled:active:bg-accent-container-hovered',\n 'focus-visible:bg-accent-container-hovered',\n ]),\n },\n {\n intent: 'success',\n design: 'contrast',\n class: tw([\n 'text-on-success-container bg-surface',\n 'hover:bg-success-container-hovered',\n 'enabled:active:bg-success-container-hovered',\n 'focus-visible:bg-success-container-hovered',\n ]),\n },\n {\n intent: 'alert',\n design: 'contrast',\n class: tw([\n 'text-on-alert-container bg-surface',\n 'hover:bg-alert-container-hovered',\n 'enabled:active:bg-alert-container-hovered',\n 'focus-visible:bg-alert-container-hovered',\n ]),\n },\n {\n intent: 'danger',\n design: 'contrast',\n class: tw([\n 'text-on-error-container bg-surface',\n 'hover:bg-error-container-hovered',\n 'enabled:active:bg-error-container-hovered',\n 'focus-visible:bg-error-container-hovered',\n ]),\n },\n {\n intent: 'info',\n design: 'contrast',\n class: tw([\n 'text-on-info-container bg-surface',\n 'hover:bg-info-container-hovered',\n 'enabled:active:bg-info-container-hovered',\n 'focus-visible:bg-info-container-hovered',\n ]),\n },\n {\n intent: 'neutral',\n design: 'contrast',\n class: tw([\n 'text-on-neutral-container bg-surface',\n 'hover:bg-neutral-container-hovered',\n 'enabled:active:bg-neutral-container-hovered',\n 'focus-visible:bg-neutral-container-hovered',\n ]),\n },\n {\n intent: 'surface',\n design: 'contrast',\n class: tw([\n 'text-on-surface bg-surface',\n 'hover:bg-surface-hovered',\n 'enabled:active:bg-surface-hovered',\n 'focus-visible:bg-surface-hovered',\n ]),\n },\n {\n intent: 'surfaceInverse',\n design: 'contrast',\n class: tw([\n 'text-on-surface-inverse bg-surface-inverse',\n 'hover:bg-surface-inverse-hovered',\n 'enabled:active:bg-surface-inverse-hovered',\n 'focus-visible:bg-surface-inverse-hovered',\n ]),\n },\n] as const\n","import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nimport {\n contrastVariants,\n filledVariants,\n ghostVariants,\n outlinedVariants,\n tintedVariants,\n} from './variants'\n\nexport const buttonStyles = cva(\n [\n 'u-shadow-border-transition',\n 'box-border inline-flex items-center justify-center gap-md whitespace-nowrap',\n 'default:px-lg',\n 'text-body-1 font-bold',\n 'focus-visible:u-outline',\n ],\n {\n variants: {\n /**\n * Main style of the button.\n *\n * - `filled`: Button will be plain.\n *\n * - `outlined`: Button will be transparent with an outline.\n *\n * - `tinted`: Button will be filled but using a lighter color scheme.\n *\n * - `ghost`: Button will look like a link. No borders, plain text.\n *\n * - `contrast`: Button will be surface filled. No borders, plain text.\n *\n */\n design: makeVariants<'design', ['filled', 'outlined', 'tinted', 'ghost', 'contrast']>({\n filled: [],\n outlined: ['bg-transparent', 'border-sm', 'border-current'],\n tinted: [],\n ghost: ['default:-mx-md px-md hover:bg-main/dim-5'],\n contrast: [],\n }),\n underline: {\n true: ['underline'],\n },\n /**\n * Color scheme of the button.\n */\n intent: makeVariants<\n 'intent',\n [\n 'main',\n 'support',\n 'accent',\n 'success',\n 'alert',\n 'danger',\n 'info',\n 'neutral',\n 'surface',\n 'surfaceInverse',\n ]\n >({\n main: [],\n support: [],\n accent: [],\n success: [],\n alert: [],\n danger: [],\n info: [],\n neutral: [],\n surface: [],\n surfaceInverse: [],\n }),\n /**\n * Size of the button.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['min-w-sz-32', 'h-sz-32'],\n md: ['min-w-sz-44', 'h-sz-44'],\n lg: ['min-w-sz-56', 'h-sz-56'],\n }),\n /**\n * Shape of the button.\n */\n shape: makeVariants<'shape', ['rounded', 'square', 'pill']>({\n rounded: ['rounded-lg'],\n square: ['rounded-0'],\n pill: ['rounded-full'],\n }),\n /**\n * Disable the button, preventing user interaction and adding opacity.\n */\n disabled: {\n true: ['cursor-not-allowed', 'opacity-dim-3'],\n false: ['cursor-pointer'],\n },\n },\n compoundVariants: [\n ...filledVariants,\n ...outlinedVariants,\n ...tintedVariants,\n ...ghostVariants,\n ...contrastVariants,\n ],\n defaultVariants: {\n design: 'filled',\n intent: 'main',\n size: 'md',\n shape: 'rounded',\n },\n }\n)\n\nexport type ButtonStylesProps = VariantProps<typeof buttonStyles>\n","import { cx } from 'class-variance-authority'\nimport { ComponentPropsWithoutRef, type DOMAttributes, Ref, useMemo } from 'react'\n\nimport { Slot, wrapPolymorphicSlot } from '../slot'\nimport { Spinner, type SpinnerProps } from '../spinner'\nimport { buttonStyles, type ButtonStylesProps } from './Button.styles'\n\nexport interface ButtonProps\n extends Omit<ComponentPropsWithoutRef<'button'>, 'disabled'>,\n ButtonStylesProps {\n /**\n * Change the component to the HTML tag or custom component of the only child.\n */\n asChild?: boolean\n /**\n * Display a spinner to indicate to the user that the button is loading something after they interacted with it.\n */\n isLoading?: boolean\n /**\n * If your loading state should only display a spinner, it is better to specify a label for it (a11y).\n */\n loadingLabel?: string\n /**\n * If your loading state should also display a label, you can use this prop instead of `loadingLabel`.\n * **Please note that using this can result in layout shifting when the Button goes from loading state to normal state.**\n */\n loadingText?: string\n ref?: Ref<HTMLButtonElement>\n}\n\ntype DOMAttributesEventHandler = keyof Omit<\n DOMAttributes<HTMLButtonElement>,\n 'children' | 'dangerouslySetInnerHTML'\n>\n\nconst blockedEventHandlers: DOMAttributesEventHandler[] = [\n 'onClick',\n 'onMouseDown',\n 'onMouseUp',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseOver',\n 'onMouseOut',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onSubmit',\n]\n\nexport const Button = ({\n children,\n design = 'filled',\n disabled = false,\n intent = 'main',\n isLoading = false,\n loadingLabel,\n loadingText,\n shape = 'rounded',\n size = 'md',\n asChild,\n className,\n underline = false,\n ref,\n ...others\n}: ButtonProps) => {\n const Component = asChild ? Slot : 'button'\n\n const shouldNotInteract = !!disabled || isLoading\n\n const disabledEventHandlers = useMemo(() => {\n const result: Partial<Record<DOMAttributesEventHandler, () => void>> = {}\n\n if (shouldNotInteract) {\n blockedEventHandlers.forEach(eventHandler => (result[eventHandler] = undefined))\n }\n\n return result\n }, [shouldNotInteract])\n\n const spinnerProps = {\n size: 'current' as SpinnerProps['size'],\n className: loadingText ? 'inline-block' : 'absolute',\n ...(loadingLabel && { 'aria-label': loadingLabel }),\n }\n\n return (\n <Component\n data-spark-component=\"button\"\n {...(Component === 'button' && { type: 'button' })}\n ref={ref}\n className={buttonStyles({\n className,\n design,\n disabled: shouldNotInteract,\n intent,\n shape,\n size,\n underline,\n })}\n disabled={!!disabled}\n aria-busy={isLoading}\n aria-live={isLoading ? 'assertive' : 'off'}\n {...others}\n {...disabledEventHandlers}\n >\n {wrapPolymorphicSlot(asChild, children, slotted =>\n isLoading ? (\n <>\n <Spinner {...spinnerProps} />\n {loadingText && loadingText}\n\n <div\n aria-hidden\n className={cx('gap-md', loadingText ? 'hidden' : 'inline-flex opacity-0')}\n >\n {slotted}\n </div>\n </>\n ) : (\n slotted\n )\n )}\n </Component>\n )\n}\n\nButton.displayName = 'Button'\n"],"names":["filledVariants","tw","ghostVariants","outlinedVariants","tintedVariants","contrastVariants","buttonStyles","cva","makeVariants","blockedEventHandlers","Button","children","design","disabled","intent","isLoading","loadingLabel","loadingText","shape","size","asChild","className","underline","ref","others","Component","Slot","shouldNotInteract","disabledEventHandlers","useMemo","result","eventHandler","spinnerProps","jsx","wrapPolymorphicSlot","slotted","jsxs","Fragment","Spinner","cx"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as i, Fragment as l, jsx as m } from "react/jsx-runtime";
2
- import { Children as u, cloneElement as x } from "react";
3
- import { V as p } from "./VisuallyHidden-DjlV0-CW.mjs";
2
+ import { Children as u, cloneElement as p } from "react";
3
+ import { V as x } from "./VisuallyHidden-DjlV0-CW.mjs";
4
4
  import { makeVariants as r } from "@spark-ui/internal-utils";
5
5
  import { cva as d } from "class-variance-authority";
6
6
  const f = d(["fill-current shrink-0"], {
@@ -13,7 +13,6 @@ const f = d(["fill-current shrink-0"], {
13
13
  main: ["text-main"],
14
14
  support: ["text-support"],
15
15
  accent: ["text-accent"],
16
- basic: ["text-basic"],
17
16
  success: ["text-success"],
18
17
  alert: ["text-alert"],
19
18
  error: ["text-error"],
@@ -37,22 +36,22 @@ const f = d(["fill-current shrink-0"], {
37
36
  size: n = "current",
38
37
  intent: s = "current",
39
38
  children: c,
40
- ...a
39
+ ...o
41
40
  }) => {
42
- const o = u.only(c);
41
+ const a = u.only(c);
43
42
  return /* @__PURE__ */ i(l, { children: [
44
- x(o, {
43
+ p(a, {
45
44
  className: f({ className: e, size: n, intent: s }),
46
45
  "data-spark-component": "icon",
47
46
  "aria-hidden": "true",
48
47
  focusable: "false",
49
- ...a
48
+ ...o
50
49
  }),
51
- t && /* @__PURE__ */ m(p, { children: t })
50
+ t && /* @__PURE__ */ m(x, { children: t })
52
51
  ] });
53
52
  };
54
53
  h.displayName = "Icon";
55
54
  export {
56
55
  h as I
57
56
  };
58
- //# sourceMappingURL=Icon-C23-htlD.mjs.map
57
+ //# sourceMappingURL=Icon-BO327oHU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon-BO327oHU.mjs","sources":["../src/icon/Icon.styles.tsx","../src/icon/Icon.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const iconStyles = cva(['fill-current shrink-0'], {\n variants: {\n /**\n * Color scheme of the icon.\n */\n intent: makeVariants<\n 'intent',\n ['current', 'main', 'support', 'accent', 'success', 'alert', 'error', 'info', 'neutral']\n >({\n current: ['text-current'],\n main: ['text-main'],\n support: ['text-support'],\n accent: ['text-accent'],\n success: ['text-success'],\n alert: ['text-alert'],\n error: ['text-error'],\n info: ['text-info'],\n neutral: ['text-neutral'],\n }),\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['current', 'sm', 'md', 'lg', 'xl']>({\n current: ['u-current-font-size'],\n sm: ['w-sz-16', 'h-sz-16'],\n md: ['w-sz-24', 'h-sz-24'],\n lg: ['w-sz-32', 'h-sz-32'],\n xl: ['w-sz-40', 'h-sz-40'],\n }),\n },\n})\n\nexport type IconVariantsProps = VariantProps<typeof iconStyles>\n","import { Children, cloneElement, ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { iconStyles, IconVariantsProps } from './Icon.styles'\n\nexport interface IconProps extends IconVariantsProps, ComponentPropsWithoutRef<'svg'> {\n /**\n * The svg icon that will be wrapped\n */\n children: ReactNode\n /**\n * The accessible label for the icon. This label will be visually hidden but announced to screen\n * reader users, similar to `alt` text for `img` tags.\n */\n label?: string\n}\n\nexport const Icon = ({\n label,\n className,\n size = 'current',\n intent = 'current',\n children,\n ...others\n}: IconProps) => {\n const child = Children.only(children)\n\n return (\n <>\n {cloneElement(child as ReactElement<Record<string, any>>, {\n className: iconStyles({ className, size, intent }),\n 'data-spark-component': 'icon',\n 'aria-hidden': 'true',\n focusable: 'false',\n ...others,\n })}\n\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </>\n )\n}\n\nIcon.displayName = 'Icon'\n"],"names":["iconStyles","cva","makeVariants","Icon","label","className","size","intent","children","others","child","Children","jsxs","Fragment","cloneElement","jsx","VisuallyHidden"],"mappings":";;;;;AAGO,MAAMA,IAAaC,EAAI,CAAC,uBAAuB,GAAG;AAAA,EACvD,UAAU;AAAA;AAAA;AAAA;AAAA,IAIR,QAAQC,EAGN;AAAA,MACA,SAAS,CAAC,cAAc;AAAA,MACxB,MAAM,CAAC,WAAW;AAAA,MAClB,SAAS,CAAC,cAAc;AAAA,MACxB,QAAQ,CAAC,aAAa;AAAA,MACtB,SAAS,CAAC,cAAc;AAAA,MACxB,OAAO,CAAC,YAAY;AAAA,MACpB,OAAO,CAAC,YAAY;AAAA,MACpB,MAAM,CAAC,WAAW;AAAA,MAClB,SAAS,CAAC,cAAc;AAAA,IAAA,CACzB;AAAA;AAAA;AAAA;AAAA,IAID,MAAMA,EAA0D;AAAA,MAC9D,SAAS,CAAC,qBAAqB;AAAA,MAC/B,IAAI,CAAC,WAAW,SAAS;AAAA,MACzB,IAAI,CAAC,WAAW,SAAS;AAAA,MACzB,IAAI,CAAC,WAAW,SAAS;AAAA,MACzB,IAAI,CAAC,WAAW,SAAS;AAAA,IAAA,CAC1B;AAAA,EAAA;AAEL,CAAC,GChBYC,IAAO,CAAC;AAAA,EACnB,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,QAAAC,IAAS;AAAA,EACT,UAAAC;AAAA,EACA,GAAGC;AACL,MAAiB;AACf,QAAMC,IAAQC,EAAS,KAAKH,CAAQ;AAEpC,SACE,gBAAAI,EAAAC,GAAA,EACG,UAAA;AAAA,IAAAC,EAAaJ,GAA4C;AAAA,MACxD,WAAWV,EAAW,EAAE,WAAAK,GAAW,MAAAC,GAAM,QAAAC,GAAQ;AAAA,MACjD,wBAAwB;AAAA,MACxB,eAAe;AAAA,MACf,WAAW;AAAA,MACX,GAAGE;AAAA,IAAA,CACJ;AAAA,IAEAL,KAAS,gBAAAW,EAACC,GAAA,EAAgB,UAAAZ,EAAA,CAAM;AAAA,EAAA,GACnC;AAEJ;AAEAD,EAAK,cAAc;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),r=require("react"),d=require("./VisuallyHidden-CB6Nx76j.js"),n=require("@spark-ui/internal-utils"),x=require("class-variance-authority"),m=x.cva(["fill-current shrink-0"],{variants:{intent:n.makeVariants({current:["text-current"],main:["text-main"],support:["text-support"],accent:["text-accent"],success:["text-success"],alert:["text-alert"],error:["text-error"],info:["text-info"],neutral:["text-neutral"]}),size:n.makeVariants({current:["u-current-font-size"],sm:["w-sz-16","h-sz-16"],md:["w-sz-24","h-sz-24"],lg:["w-sz-32","h-sz-32"],xl:["w-sz-40","h-sz-40"]})}}),s=({label:t,className:c,size:i="current",intent:a="current",children:u,...o})=>{const l=r.Children.only(u);return e.jsxs(e.Fragment,{children:[r.cloneElement(l,{className:m({className:c,size:i,intent:a}),"data-spark-component":"icon","aria-hidden":"true",focusable:"false",...o}),t&&e.jsx(d.VisuallyHidden,{children:t})]})};s.displayName="Icon";exports.Icon=s;
2
+ //# sourceMappingURL=Icon-C-cNTnzd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon-C-cNTnzd.js","sources":["../src/icon/Icon.styles.tsx","../src/icon/Icon.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nexport const iconStyles = cva(['fill-current shrink-0'], {\n variants: {\n /**\n * Color scheme of the icon.\n */\n intent: makeVariants<\n 'intent',\n ['current', 'main', 'support', 'accent', 'success', 'alert', 'error', 'info', 'neutral']\n >({\n current: ['text-current'],\n main: ['text-main'],\n support: ['text-support'],\n accent: ['text-accent'],\n success: ['text-success'],\n alert: ['text-alert'],\n error: ['text-error'],\n info: ['text-info'],\n neutral: ['text-neutral'],\n }),\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['current', 'sm', 'md', 'lg', 'xl']>({\n current: ['u-current-font-size'],\n sm: ['w-sz-16', 'h-sz-16'],\n md: ['w-sz-24', 'h-sz-24'],\n lg: ['w-sz-32', 'h-sz-32'],\n xl: ['w-sz-40', 'h-sz-40'],\n }),\n },\n})\n\nexport type IconVariantsProps = VariantProps<typeof iconStyles>\n","import { Children, cloneElement, ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { iconStyles, IconVariantsProps } from './Icon.styles'\n\nexport interface IconProps extends IconVariantsProps, ComponentPropsWithoutRef<'svg'> {\n /**\n * The svg icon that will be wrapped\n */\n children: ReactNode\n /**\n * The accessible label for the icon. This label will be visually hidden but announced to screen\n * reader users, similar to `alt` text for `img` tags.\n */\n label?: string\n}\n\nexport const Icon = ({\n label,\n className,\n size = 'current',\n intent = 'current',\n children,\n ...others\n}: IconProps) => {\n const child = Children.only(children)\n\n return (\n <>\n {cloneElement(child as ReactElement<Record<string, any>>, {\n className: iconStyles({ className, size, intent }),\n 'data-spark-component': 'icon',\n 'aria-hidden': 'true',\n focusable: 'false',\n ...others,\n })}\n\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </>\n )\n}\n\nIcon.displayName = 'Icon'\n"],"names":["iconStyles","cva","makeVariants","Icon","label","className","size","intent","children","others","child","Children","jsxs","Fragment","cloneElement","jsx","VisuallyHidden"],"mappings":"2LAGaA,EAAaC,EAAAA,IAAI,CAAC,uBAAuB,EAAG,CACvD,SAAU,CAIR,OAAQC,EAAAA,aAGN,CACA,QAAS,CAAC,cAAc,EACxB,KAAM,CAAC,WAAW,EAClB,QAAS,CAAC,cAAc,EACxB,OAAQ,CAAC,aAAa,EACtB,QAAS,CAAC,cAAc,EACxB,MAAO,CAAC,YAAY,EACpB,MAAO,CAAC,YAAY,EACpB,KAAM,CAAC,WAAW,EAClB,QAAS,CAAC,cAAc,CAAA,CACzB,EAID,KAAMA,EAAAA,aAA0D,CAC9D,QAAS,CAAC,qBAAqB,EAC/B,GAAI,CAAC,UAAW,SAAS,EACzB,GAAI,CAAC,UAAW,SAAS,EACzB,GAAI,CAAC,UAAW,SAAS,EACzB,GAAI,CAAC,UAAW,SAAS,CAAA,CAC1B,CAAA,CAEL,CAAC,EChBYC,EAAO,CAAC,CACnB,MAAAC,EACA,UAAAC,EACA,KAAAC,EAAO,UACP,OAAAC,EAAS,UACT,SAAAC,EACA,GAAGC,CACL,IAAiB,CACf,MAAMC,EAAQC,EAAAA,SAAS,KAAKH,CAAQ,EAEpC,OACEI,EAAAA,KAAAC,WAAA,CACG,SAAA,CAAAC,EAAAA,aAAaJ,EAA4C,CACxD,UAAWV,EAAW,CAAE,UAAAK,EAAW,KAAAC,EAAM,OAAAC,EAAQ,EACjD,uBAAwB,OACxB,cAAe,OACf,UAAW,QACX,GAAGE,CAAA,CACJ,EAEAL,GAASW,EAAAA,IAACC,EAAAA,eAAA,CAAgB,SAAAZ,CAAA,CAAM,CAAA,EACnC,CAEJ,EAEAD,EAAK,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";const u=require("react/jsx-runtime"),l=require("./Button-B6rA3-e5.js"),d=require("@spark-ui/internal-utils"),m=require("class-variance-authority"),p=m.cva(["pl-0 pr-0"],{variants:{size:d.makeVariants({sm:["text-body-1"],md:["text-body-1"],lg:["text-display-3"]})}}),n=({design:e="filled",disabled:o=!1,intent:s="main",shape:a="rounded",size:t="md",className:r,ref:i,...c})=>u.jsx(l.Button,{"data-spark-component":"icon-button",ref:i,className:p({size:t,className:r}),design:e,disabled:o,intent:s,shape:a,size:t,...c});n.displayName="IconButton";exports.IconButton=n;
2
- //# sourceMappingURL=IconButton-D3g86WpZ.js.map
1
+ "use strict";const u=require("react/jsx-runtime"),l=require("./Button-FZceRWG2.js"),d=require("@spark-ui/internal-utils"),m=require("class-variance-authority"),p=m.cva(["pl-0 pr-0"],{variants:{size:d.makeVariants({sm:["text-body-1"],md:["text-body-1"],lg:["text-display-3"]})}}),n=({design:e="filled",disabled:o=!1,intent:s="main",shape:a="rounded",size:t="md",className:r,ref:i,...c})=>u.jsx(l.Button,{"data-spark-component":"icon-button",ref:i,className:p({size:t,className:r}),design:e,disabled:o,intent:s,shape:a,size:t,...c});n.displayName="IconButton";exports.IconButton=n;
2
+ //# sourceMappingURL=IconButton-BR1bJSQA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton-D3g86WpZ.js","sources":["../src/icon-button/IconButton.styles.tsx","../src/icon-button/IconButton.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\n// override the Button component's px-lg padding by using a more specific class selector (pl-0 pr-0)\nexport const iconButtonStyles = cva(['pl-0 pr-0'], {\n variants: {\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['text-body-1'],\n md: ['text-body-1'],\n lg: ['text-display-3'],\n }),\n },\n})\n\nexport type IconButtonStylesProps = VariantProps<typeof iconButtonStyles>\n","import { Ref } from 'react'\n\nimport { Button, ButtonProps } from '../button'\nimport { iconButtonStyles } from './IconButton.styles'\n\nexport interface IconButtonProps extends Omit<ButtonProps, 'loadingText'> {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const IconButton = ({\n design = 'filled',\n disabled = false,\n intent = 'main',\n shape = 'rounded',\n size = 'md',\n className,\n ref,\n ...others\n}: IconButtonProps) => {\n return (\n <Button\n data-spark-component=\"icon-button\"\n ref={ref}\n className={iconButtonStyles({ size, className })}\n design={design}\n disabled={disabled}\n intent={intent}\n shape={shape}\n size={size}\n {...others}\n />\n )\n}\n\nIconButton.displayName = 'IconButton'\n"],"names":["iconButtonStyles","cva","makeVariants","IconButton","design","disabled","intent","shape","size","className","ref","others","jsx","Button"],"mappings":"gKAIaA,EAAmBC,EAAAA,IAAI,CAAC,WAAW,EAAG,CACjD,SAAU,CAIR,KAAMC,EAAAA,aAAyC,CAC7C,GAAI,CAAC,aAAa,EAClB,GAAI,CAAC,aAAa,EAClB,GAAI,CAAC,gBAAgB,CAAA,CACtB,CAAA,CAEL,CAAC,ECLYC,EAAa,CAAC,CACzB,OAAAC,EAAS,SACT,SAAAC,EAAW,GACX,OAAAC,EAAS,OACT,MAAAC,EAAQ,UACR,KAAAC,EAAO,KACP,UAAAC,EACA,IAAAC,EACA,GAAGC,CACL,IAEIC,EAAAA,IAACC,EAAAA,OAAA,CACC,uBAAqB,cACrB,IAAAH,EACA,UAAWV,EAAiB,CAAE,KAAAQ,EAAM,UAAAC,EAAW,EAC/C,OAAAL,EACA,SAAAC,EACA,OAAAC,EACA,MAAAC,EACA,KAAAC,EACC,GAAGG,CAAA,CAAA,EAKVR,EAAW,YAAc"}
1
+ {"version":3,"file":"IconButton-BR1bJSQA.js","sources":["../src/icon-button/IconButton.styles.tsx","../src/icon-button/IconButton.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\n// override the Button component's px-lg padding by using a more specific class selector (pl-0 pr-0)\nexport const iconButtonStyles = cva(['pl-0 pr-0'], {\n variants: {\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['text-body-1'],\n md: ['text-body-1'],\n lg: ['text-display-3'],\n }),\n },\n})\n\nexport type IconButtonStylesProps = VariantProps<typeof iconButtonStyles>\n","import { Ref } from 'react'\n\nimport { Button, ButtonProps } from '../button'\nimport { iconButtonStyles } from './IconButton.styles'\n\nexport interface IconButtonProps extends Omit<ButtonProps, 'loadingText'> {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const IconButton = ({\n design = 'filled',\n disabled = false,\n intent = 'main',\n shape = 'rounded',\n size = 'md',\n className,\n ref,\n ...others\n}: IconButtonProps) => {\n return (\n <Button\n data-spark-component=\"icon-button\"\n ref={ref}\n className={iconButtonStyles({ size, className })}\n design={design}\n disabled={disabled}\n intent={intent}\n shape={shape}\n size={size}\n {...others}\n />\n )\n}\n\nIconButton.displayName = 'IconButton'\n"],"names":["iconButtonStyles","cva","makeVariants","IconButton","design","disabled","intent","shape","size","className","ref","others","jsx","Button"],"mappings":"gKAIaA,EAAmBC,EAAAA,IAAI,CAAC,WAAW,EAAG,CACjD,SAAU,CAIR,KAAMC,EAAAA,aAAyC,CAC7C,GAAI,CAAC,aAAa,EAClB,GAAI,CAAC,aAAa,EAClB,GAAI,CAAC,gBAAgB,CAAA,CACtB,CAAA,CAEL,CAAC,ECLYC,EAAa,CAAC,CACzB,OAAAC,EAAS,SACT,SAAAC,EAAW,GACX,OAAAC,EAAS,OACT,MAAAC,EAAQ,UACR,KAAAC,EAAO,KACP,UAAAC,EACA,IAAAC,EACA,GAAGC,CACL,IAEIC,EAAAA,IAACC,EAAAA,OAAA,CACC,uBAAqB,cACrB,IAAAH,EACA,UAAWV,EAAiB,CAAE,KAAAQ,EAAM,UAAAC,EAAW,EAC/C,OAAAL,EACA,SAAAC,EACA,OAAAC,EACA,MAAAC,EACA,KAAAC,EACC,GAAGG,CAAA,CAAA,EAKVR,EAAW,YAAc"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { B as p } from "./Button-DPncfbbM.mjs";
2
+ import { B as p } from "./Button-1M9DcZl0.mjs";
3
3
  import { makeVariants as d } from "@spark-ui/internal-utils";
4
4
  import { cva as c } from "class-variance-authority";
5
5
  const l = c(["pl-0 pr-0"], {
@@ -40,4 +40,4 @@ u.displayName = "IconButton";
40
40
  export {
41
41
  u as I
42
42
  };
43
- //# sourceMappingURL=IconButton-Bfd-6BAD.mjs.map
43
+ //# sourceMappingURL=IconButton-DdB3Pq13.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton-Bfd-6BAD.mjs","sources":["../src/icon-button/IconButton.styles.tsx","../src/icon-button/IconButton.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\n// override the Button component's px-lg padding by using a more specific class selector (pl-0 pr-0)\nexport const iconButtonStyles = cva(['pl-0 pr-0'], {\n variants: {\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['text-body-1'],\n md: ['text-body-1'],\n lg: ['text-display-3'],\n }),\n },\n})\n\nexport type IconButtonStylesProps = VariantProps<typeof iconButtonStyles>\n","import { Ref } from 'react'\n\nimport { Button, ButtonProps } from '../button'\nimport { iconButtonStyles } from './IconButton.styles'\n\nexport interface IconButtonProps extends Omit<ButtonProps, 'loadingText'> {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const IconButton = ({\n design = 'filled',\n disabled = false,\n intent = 'main',\n shape = 'rounded',\n size = 'md',\n className,\n ref,\n ...others\n}: IconButtonProps) => {\n return (\n <Button\n data-spark-component=\"icon-button\"\n ref={ref}\n className={iconButtonStyles({ size, className })}\n design={design}\n disabled={disabled}\n intent={intent}\n shape={shape}\n size={size}\n {...others}\n />\n )\n}\n\nIconButton.displayName = 'IconButton'\n"],"names":["iconButtonStyles","cva","makeVariants","IconButton","design","disabled","intent","shape","size","className","ref","others","jsx","Button"],"mappings":";;;;AAIO,MAAMA,IAAmBC,EAAI,CAAC,WAAW,GAAG;AAAA,EACjD,UAAU;AAAA;AAAA;AAAA;AAAA,IAIR,MAAMC,EAAyC;AAAA,MAC7C,IAAI,CAAC,aAAa;AAAA,MAClB,IAAI,CAAC,aAAa;AAAA,MAClB,IAAI,CAAC,gBAAgB;AAAA,IAAA,CACtB;AAAA,EAAA;AAEL,CAAC,GCLYC,IAAa,CAAC;AAAA,EACzB,QAAAC,IAAS;AAAA,EACT,UAAAC,IAAW;AAAA,EACX,QAAAC,IAAS;AAAA,EACT,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,WAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,wBAAqB;AAAA,IACrB,KAAAH;AAAA,IACA,WAAWV,EAAiB,EAAE,MAAAQ,GAAM,WAAAC,GAAW;AAAA,IAC/C,QAAAL;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACC,GAAGG;AAAA,EAAA;AAAA;AAKVR,EAAW,cAAc;"}
1
+ {"version":3,"file":"IconButton-DdB3Pq13.mjs","sources":["../src/icon-button/IconButton.styles.tsx","../src/icon-button/IconButton.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\n// override the Button component's px-lg padding by using a more specific class selector (pl-0 pr-0)\nexport const iconButtonStyles = cva(['pl-0 pr-0'], {\n variants: {\n /**\n * Sets the size of the icon.\n */\n size: makeVariants<'size', ['sm', 'md', 'lg']>({\n sm: ['text-body-1'],\n md: ['text-body-1'],\n lg: ['text-display-3'],\n }),\n },\n})\n\nexport type IconButtonStylesProps = VariantProps<typeof iconButtonStyles>\n","import { Ref } from 'react'\n\nimport { Button, ButtonProps } from '../button'\nimport { iconButtonStyles } from './IconButton.styles'\n\nexport interface IconButtonProps extends Omit<ButtonProps, 'loadingText'> {\n 'aria-label': string\n ref?: Ref<HTMLButtonElement>\n}\n\nexport const IconButton = ({\n design = 'filled',\n disabled = false,\n intent = 'main',\n shape = 'rounded',\n size = 'md',\n className,\n ref,\n ...others\n}: IconButtonProps) => {\n return (\n <Button\n data-spark-component=\"icon-button\"\n ref={ref}\n className={iconButtonStyles({ size, className })}\n design={design}\n disabled={disabled}\n intent={intent}\n shape={shape}\n size={size}\n {...others}\n />\n )\n}\n\nIconButton.displayName = 'IconButton'\n"],"names":["iconButtonStyles","cva","makeVariants","IconButton","design","disabled","intent","shape","size","className","ref","others","jsx","Button"],"mappings":";;;;AAIO,MAAMA,IAAmBC,EAAI,CAAC,WAAW,GAAG;AAAA,EACjD,UAAU;AAAA;AAAA;AAAA;AAAA,IAIR,MAAMC,EAAyC;AAAA,MAC7C,IAAI,CAAC,aAAa;AAAA,MAClB,IAAI,CAAC,aAAa;AAAA,MAClB,IAAI,CAAC,gBAAgB;AAAA,IAAA,CACtB;AAAA,EAAA;AAEL,CAAC,GCLYC,IAAa,CAAC;AAAA,EACzB,QAAAC,IAAS;AAAA,EACT,UAAAC,IAAW;AAAA,EACX,QAAAC,IAAS;AAAA,EACT,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,WAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,wBAAqB;AAAA,IACrB,KAAAH;AAAA,IACA,WAAWV,EAAiB,EAAE,MAAAQ,GAAM,WAAAC,GAAW;AAAA,IAC/C,QAAAL;AAAA,IACA,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACC,GAAGG;AAAA,EAAA;AAAA;AAKVR,EAAW,cAAc;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("react/jsx-runtime"),u=require("./VisuallyHidden-CB6Nx76j.js"),c=require("@spark-ui/internal-utils"),l=require("class-variance-authority"),d={intent:"current",size:"current",isBackgroundVisible:!1},b=l.cva(["inline-block","border-solid","rounded-full","border-md","animate-spin"],{variants:{size:{current:["u-current-font-size"],sm:["w-sz-20","h-sz-20"],md:["w-sz-28","h-sz-28"],full:["w-full","h-full"]},intent:c.makeVariants({current:["border-current"],main:["border-main"],support:["border-support"],accent:["border-accent"],success:["border-success"],alert:["border-alert"],error:["border-error"],info:["border-info"],neutral:["border-neutral"]}),isBackgroundVisible:{true:["border-b-neutral-container","border-l-neutral-container"],false:["border-b-transparent","border-l-transparent"]}},defaultVariants:d}),p=({className:n,size:s="current",intent:t="current",label:r,isBackgroundVisible:i,ref:a,...o})=>e.jsx("span",{role:"status","data-spark-component":"spinner",ref:a,className:b({className:n,size:s,intent:t,isBackgroundVisible:i}),...o,children:r&&e.jsx(u.VisuallyHidden,{children:r})});exports.Spinner=p;
2
+ //# sourceMappingURL=Spinner-Br4Rp9V2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner-Br4Rp9V2.js","sources":["../src/spinner/Spinner.styles.tsx","../src/spinner/Spinner.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nconst defaultVariants = {\n intent: 'current',\n size: 'current',\n isBackgroundVisible: false,\n} as const\n\nexport const spinnerStyles = cva(\n ['inline-block', 'border-solid', 'rounded-full', 'border-md', 'animate-spin'],\n {\n variants: {\n /**\n * Use `size` prop to set the size of the spinner. If you want to set the full size for the spinner, don't forget to add a wrapping container with its own size.\n */\n size: {\n current: ['u-current-font-size'],\n sm: ['w-sz-20', 'h-sz-20'],\n md: ['w-sz-28', 'h-sz-28'],\n full: ['w-full', 'h-full'],\n },\n /**\n * Color scheme of the spinner.\n */\n intent: makeVariants<\n 'intent',\n ['current', 'main', 'support', 'accent', 'success', 'alert', 'error', 'info', 'neutral']\n >({\n current: ['border-current'],\n main: ['border-main'],\n support: ['border-support'],\n accent: ['border-accent'],\n success: ['border-success'],\n alert: ['border-alert'],\n error: ['border-error'],\n info: ['border-info'],\n neutral: ['border-neutral'],\n }),\n /**\n * Size of the button.\n */\n isBackgroundVisible: {\n true: ['border-b-neutral-container', 'border-l-neutral-container'],\n false: ['border-b-transparent', 'border-l-transparent'],\n },\n },\n defaultVariants,\n }\n)\n\nexport type SpinnerStylesProps = VariantProps<typeof spinnerStyles>\n","import { ComponentPropsWithRef, PropsWithChildren } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { spinnerStyles, SpinnerStylesProps } from './Spinner.styles'\n\nexport interface SpinnerProps extends ComponentPropsWithRef<'div'>, SpinnerStylesProps {\n /**\n * Use `label` prop for accessibility, it is important to add a fallback loading text. This text will be visible to screen readers.\n */\n label?: string\n}\n\nexport const Spinner = ({\n className,\n size = 'current',\n intent = 'current',\n label,\n isBackgroundVisible,\n ref,\n ...others\n}: PropsWithChildren<SpinnerProps>) => {\n return (\n <span\n role=\"status\"\n data-spark-component=\"spinner\"\n ref={ref}\n className={spinnerStyles({ className, size, intent, isBackgroundVisible })}\n {...others}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </span>\n )\n}\n"],"names":["defaultVariants","spinnerStyles","cva","makeVariants","Spinner","className","size","intent","label","isBackgroundVisible","ref","others","jsx","VisuallyHidden"],"mappings":"wKAGMA,EAAkB,CACtB,OAAQ,UACR,KAAM,UACN,oBAAqB,EACvB,EAEaC,EAAgBC,EAAAA,IAC3B,CAAC,eAAgB,eAAgB,eAAgB,YAAa,cAAc,EAC5E,CACE,SAAU,CAIR,KAAM,CACJ,QAAS,CAAC,qBAAqB,EAC/B,GAAI,CAAC,UAAW,SAAS,EACzB,GAAI,CAAC,UAAW,SAAS,EACzB,KAAM,CAAC,SAAU,QAAQ,CAAA,EAK3B,OAAQC,EAAAA,aAGN,CACA,QAAS,CAAC,gBAAgB,EAC1B,KAAM,CAAC,aAAa,EACpB,QAAS,CAAC,gBAAgB,EAC1B,OAAQ,CAAC,eAAe,EACxB,QAAS,CAAC,gBAAgB,EAC1B,MAAO,CAAC,cAAc,EACtB,MAAO,CAAC,cAAc,EACtB,KAAM,CAAC,aAAa,EACpB,QAAS,CAAC,gBAAgB,CAAA,CAC3B,EAID,oBAAqB,CACnB,KAAM,CAAC,6BAA8B,4BAA4B,EACjE,MAAO,CAAC,uBAAwB,sBAAsB,CAAA,CACxD,EAEF,gBAAAH,CAAA,CAEJ,ECrCaI,EAAU,CAAC,CACtB,UAAAC,EACA,KAAAC,EAAO,UACP,OAAAC,EAAS,UACT,MAAAC,EACA,oBAAAC,EACA,IAAAC,EACA,GAAGC,CACL,IAEIC,EAAAA,IAAC,OAAA,CACC,KAAK,SACL,uBAAqB,UACrB,IAAAF,EACA,UAAWT,EAAc,CAAE,UAAAI,EAAW,KAAAC,EAAM,OAAAC,EAAQ,oBAAAE,EAAqB,EACxE,GAAGE,EAEH,SAAAH,GAASI,EAAAA,IAACC,EAAAA,eAAA,CAAgB,SAAAL,CAAA,CAAM,CAAA,CAAA"}
@@ -1,12 +1,12 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { V as c } from "./VisuallyHidden-DjlV0-CW.mjs";
3
- import { makeVariants as d } from "@spark-ui/internal-utils";
4
- import { cva as l } from "class-variance-authority";
5
- const u = {
3
+ import { makeVariants as l } from "@spark-ui/internal-utils";
4
+ import { cva as u } from "class-variance-authority";
5
+ const d = {
6
6
  intent: "current",
7
7
  size: "current",
8
8
  isBackgroundVisible: !1
9
- }, b = l(
9
+ }, b = u(
10
10
  ["inline-block", "border-solid", "rounded-full", "border-md", "animate-spin"],
11
11
  {
12
12
  variants: {
@@ -22,12 +22,11 @@ const u = {
22
22
  /**
23
23
  * Color scheme of the spinner.
24
24
  */
25
- intent: d({
25
+ intent: l({
26
26
  current: ["border-current"],
27
27
  main: ["border-main"],
28
28
  support: ["border-support"],
29
29
  accent: ["border-accent"],
30
- basic: ["border-basic"],
31
30
  success: ["border-success"],
32
31
  alert: ["border-alert"],
33
32
  error: ["border-error"],
@@ -42,7 +41,7 @@ const u = {
42
41
  false: ["border-b-transparent", "border-l-transparent"]
43
42
  }
44
43
  },
45
- defaultVariants: u
44
+ defaultVariants: d
46
45
  }
47
46
  ), V = ({
48
47
  className: n,
@@ -66,4 +65,4 @@ const u = {
66
65
  export {
67
66
  V as S
68
67
  };
69
- //# sourceMappingURL=Spinner-aLrtE2JN.mjs.map
68
+ //# sourceMappingURL=Spinner-Co3AjkQV.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner-Co3AjkQV.mjs","sources":["../src/spinner/Spinner.styles.tsx","../src/spinner/Spinner.tsx"],"sourcesContent":["import { makeVariants } from '@spark-ui/internal-utils'\nimport { cva, VariantProps } from 'class-variance-authority'\n\nconst defaultVariants = {\n intent: 'current',\n size: 'current',\n isBackgroundVisible: false,\n} as const\n\nexport const spinnerStyles = cva(\n ['inline-block', 'border-solid', 'rounded-full', 'border-md', 'animate-spin'],\n {\n variants: {\n /**\n * Use `size` prop to set the size of the spinner. If you want to set the full size for the spinner, don't forget to add a wrapping container with its own size.\n */\n size: {\n current: ['u-current-font-size'],\n sm: ['w-sz-20', 'h-sz-20'],\n md: ['w-sz-28', 'h-sz-28'],\n full: ['w-full', 'h-full'],\n },\n /**\n * Color scheme of the spinner.\n */\n intent: makeVariants<\n 'intent',\n ['current', 'main', 'support', 'accent', 'success', 'alert', 'error', 'info', 'neutral']\n >({\n current: ['border-current'],\n main: ['border-main'],\n support: ['border-support'],\n accent: ['border-accent'],\n success: ['border-success'],\n alert: ['border-alert'],\n error: ['border-error'],\n info: ['border-info'],\n neutral: ['border-neutral'],\n }),\n /**\n * Size of the button.\n */\n isBackgroundVisible: {\n true: ['border-b-neutral-container', 'border-l-neutral-container'],\n false: ['border-b-transparent', 'border-l-transparent'],\n },\n },\n defaultVariants,\n }\n)\n\nexport type SpinnerStylesProps = VariantProps<typeof spinnerStyles>\n","import { ComponentPropsWithRef, PropsWithChildren } from 'react'\n\nimport { VisuallyHidden } from '../visually-hidden'\nimport { spinnerStyles, SpinnerStylesProps } from './Spinner.styles'\n\nexport interface SpinnerProps extends ComponentPropsWithRef<'div'>, SpinnerStylesProps {\n /**\n * Use `label` prop for accessibility, it is important to add a fallback loading text. This text will be visible to screen readers.\n */\n label?: string\n}\n\nexport const Spinner = ({\n className,\n size = 'current',\n intent = 'current',\n label,\n isBackgroundVisible,\n ref,\n ...others\n}: PropsWithChildren<SpinnerProps>) => {\n return (\n <span\n role=\"status\"\n data-spark-component=\"spinner\"\n ref={ref}\n className={spinnerStyles({ className, size, intent, isBackgroundVisible })}\n {...others}\n >\n {label && <VisuallyHidden>{label}</VisuallyHidden>}\n </span>\n )\n}\n"],"names":["defaultVariants","spinnerStyles","cva","makeVariants","Spinner","className","size","intent","label","isBackgroundVisible","ref","others","jsx","VisuallyHidden"],"mappings":";;;;AAGA,MAAMA,IAAkB;AAAA,EACtB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,qBAAqB;AACvB,GAEaC,IAAgBC;AAAA,EAC3B,CAAC,gBAAgB,gBAAgB,gBAAgB,aAAa,cAAc;AAAA,EAC5E;AAAA,IACE,UAAU;AAAA;AAAA;AAAA;AAAA,MAIR,MAAM;AAAA,QACJ,SAAS,CAAC,qBAAqB;AAAA,QAC/B,IAAI,CAAC,WAAW,SAAS;AAAA,QACzB,IAAI,CAAC,WAAW,SAAS;AAAA,QACzB,MAAM,CAAC,UAAU,QAAQ;AAAA,MAAA;AAAA;AAAA;AAAA;AAAA,MAK3B,QAAQC,EAGN;AAAA,QACA,SAAS,CAAC,gBAAgB;AAAA,QAC1B,MAAM,CAAC,aAAa;AAAA,QACpB,SAAS,CAAC,gBAAgB;AAAA,QAC1B,QAAQ,CAAC,eAAe;AAAA,QACxB,SAAS,CAAC,gBAAgB;AAAA,QAC1B,OAAO,CAAC,cAAc;AAAA,QACtB,OAAO,CAAC,cAAc;AAAA,QACtB,MAAM,CAAC,aAAa;AAAA,QACpB,SAAS,CAAC,gBAAgB;AAAA,MAAA,CAC3B;AAAA;AAAA;AAAA;AAAA,MAID,qBAAqB;AAAA,QACnB,MAAM,CAAC,8BAA8B,4BAA4B;AAAA,QACjE,OAAO,CAAC,wBAAwB,sBAAsB;AAAA,MAAA;AAAA,IACxD;AAAA,IAEF,iBAAAH;AAAA,EAAA;AAEJ,GCrCaI,IAAU,CAAC;AAAA,EACtB,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,QAAAC,IAAS;AAAA,EACT,OAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,wBAAqB;AAAA,IACrB,KAAAF;AAAA,IACA,WAAWT,EAAc,EAAE,WAAAI,GAAW,MAAAC,GAAM,QAAAC,GAAQ,qBAAAE,GAAqB;AAAA,IACxE,GAAGE;AAAA,IAEH,UAAAH,KAAS,gBAAAI,EAACC,GAAA,EAAgB,UAAAL,EAAA,CAAM;AAAA,EAAA;AAAA;"}