@televet/kibble-ui 5.0.30 → 5.0.32-ne.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 (196) hide show
  1. package/dist/chunks/{alert.component-B2kzYzhv.js → alert.component-DjFZO6Ks.js} +3 -3
  2. package/dist/chunks/{alert.component-B2kzYzhv.js.map → alert.component-DjFZO6Ks.js.map} +1 -1
  3. package/dist/chunks/{avatar.component-BL6D6Lw_.js → avatar.component-BwOAO1qR.js} +3 -3
  4. package/dist/chunks/{avatar.component-BL6D6Lw_.js.map → avatar.component-BwOAO1qR.js.map} +1 -1
  5. package/dist/chunks/{avatarGroup.component-ClqXmemB.js → avatarGroup.component-CmVL5P6U.js} +2 -2
  6. package/dist/chunks/{avatarGroup.component-ClqXmemB.js.map → avatarGroup.component-CmVL5P6U.js.map} +1 -1
  7. package/dist/chunks/{avatarGroup.component-CUHMxiIc.js → avatarGroup.component-D11DeW7v.js} +5 -5
  8. package/dist/chunks/{avatarGroup.component-CUHMxiIc.js.map → avatarGroup.component-D11DeW7v.js.map} +1 -1
  9. package/dist/chunks/button.recipe-PiD70IbE.js +2 -0
  10. package/dist/chunks/button.recipe-PiD70IbE.js.map +1 -0
  11. package/dist/chunks/{button.recipe-CZ-PlRrK.js → button.recipe-iar6jvoT.js} +42 -45
  12. package/dist/chunks/button.recipe-iar6jvoT.js.map +1 -0
  13. package/dist/chunks/{buttonGroup.component-B4APVs0L.js → buttonGroup.component-B0aITG8l.js} +2 -2
  14. package/dist/chunks/{buttonGroup.component-B4APVs0L.js.map → buttonGroup.component-B0aITG8l.js.map} +1 -1
  15. package/dist/chunks/{buttonGroup.component-BRafsTrY.js → buttonGroup.component-DU6vLWb8.js} +2 -2
  16. package/dist/chunks/{buttonGroup.component-BRafsTrY.js.map → buttonGroup.component-DU6vLWb8.js.map} +1 -1
  17. package/dist/chunks/{calendar.component-BswlIQ5W.js → calendar.component-CraOSJrP.js} +2 -2
  18. package/dist/chunks/{calendar.component-BswlIQ5W.js.map → calendar.component-CraOSJrP.js.map} +1 -1
  19. package/dist/chunks/{calendar.component-Dt452bDI.js → calendar.component-DBf462dd.js} +2 -2
  20. package/dist/chunks/{calendar.component-Dt452bDI.js.map → calendar.component-DBf462dd.js.map} +1 -1
  21. package/dist/chunks/{characterCounter.component-Cm9yEHjz.js → characterCounter.component-B45KB7Xu.js} +3 -3
  22. package/dist/chunks/{characterCounter.component-Cm9yEHjz.js.map → characterCounter.component-B45KB7Xu.js.map} +1 -1
  23. package/dist/chunks/{checkbox.component-DGIWgnM4.js → checkbox.component-BoqZIgZE.js} +4 -4
  24. package/dist/chunks/{checkbox.component-DGIWgnM4.js.map → checkbox.component-BoqZIgZE.js.map} +1 -1
  25. package/dist/chunks/{checkboxGroup.component-D4YLYJPy.js → checkboxGroup.component-B0QCi1NL.js} +3 -3
  26. package/dist/chunks/{checkboxGroup.component-D4YLYJPy.js.map → checkboxGroup.component-B0QCi1NL.js.map} +1 -1
  27. package/dist/chunks/{config-Djkl1N81.js → config-BV2SsQL7.js} +3 -3
  28. package/dist/chunks/{config-Djkl1N81.js.map → config-BV2SsQL7.js.map} +1 -1
  29. package/dist/chunks/{conversationCard.component-CXEHIrKJ.js → conversationCard.component-BwnANqAs.js} +2 -2
  30. package/dist/chunks/{conversationCard.component-CXEHIrKJ.js.map → conversationCard.component-BwnANqAs.js.map} +1 -1
  31. package/dist/chunks/{conversationCard.component-DZnnZcAz.js → conversationCard.component-FImxU2or.js} +9 -9
  32. package/dist/chunks/{conversationCard.component-DZnnZcAz.js.map → conversationCard.component-FImxU2or.js.map} +1 -1
  33. package/dist/chunks/{datePicker.component-DQzmsw2J.js → datePicker.component-3BLIgqtC.js} +5 -5
  34. package/dist/chunks/{datePicker.component-DQzmsw2J.js.map → datePicker.component-3BLIgqtC.js.map} +1 -1
  35. package/dist/chunks/{datePicker.component-CLkxmQLL.js → datePicker.component-D9xUr5e7.js} +2 -2
  36. package/dist/chunks/{datePicker.component-CLkxmQLL.js.map → datePicker.component-D9xUr5e7.js.map} +1 -1
  37. package/dist/chunks/{datePicker.provider-CcGhcyCp.js → datePicker.provider-CdrTfoem.js} +2 -2
  38. package/dist/chunks/{datePicker.provider-CcGhcyCp.js.map → datePicker.provider-CdrTfoem.js.map} +1 -1
  39. package/dist/chunks/{datePicker.provider-DvJrNnut.js → datePicker.provider-nQBNT52b.js} +4 -4
  40. package/dist/chunks/{datePicker.provider-DvJrNnut.js.map → datePicker.provider-nQBNT52b.js.map} +1 -1
  41. package/dist/chunks/{dateTimePicker.component-BwC0c08U.js → dateTimePicker.component-BCCUPilQ.js} +6 -6
  42. package/dist/chunks/{dateTimePicker.component-BwC0c08U.js.map → dateTimePicker.component-BCCUPilQ.js.map} +1 -1
  43. package/dist/chunks/{dateTimePicker.component-DS_GGUy_.js → dateTimePicker.component-DV9iQjYb.js} +2 -2
  44. package/dist/chunks/{dateTimePicker.component-DS_GGUy_.js.map → dateTimePicker.component-DV9iQjYb.js.map} +1 -1
  45. package/dist/chunks/{heading.component-BBTU00_w.js → heading.component-D8oRhIr6.js} +2 -2
  46. package/dist/chunks/{heading.component-BBTU00_w.js.map → heading.component-D8oRhIr6.js.map} +1 -1
  47. package/dist/chunks/{index-CcwGiuyq.js → index-CYrGgSXK.js} +2 -2
  48. package/dist/chunks/{index-CcwGiuyq.js.map → index-CYrGgSXK.js.map} +1 -1
  49. package/dist/chunks/{logo.types-C5GwpHjM.js → logo.types-Bv_56edz.js} +6 -6
  50. package/dist/chunks/{logo.types-C5GwpHjM.js.map → logo.types-Bv_56edz.js.map} +1 -1
  51. package/dist/chunks/{maintenanceBanner.types-BiSgtHkP.js → maintenanceBanner.types-Bey20P0-.js} +2 -2
  52. package/dist/chunks/{maintenanceBanner.types-BiSgtHkP.js.map → maintenanceBanner.types-Bey20P0-.js.map} +1 -1
  53. package/dist/chunks/menu.component-FO_IaQrY.js +2 -0
  54. package/dist/chunks/menu.component-FO_IaQrY.js.map +1 -0
  55. package/dist/chunks/{menu.component-CAttpI-a.js → menu.component-f_E3xGpR.js} +205 -199
  56. package/dist/chunks/menu.component-f_E3xGpR.js.map +1 -0
  57. package/dist/chunks/{modal.types-DlvB1lQC.js → modal.types-rCenUZ8B.js} +2 -2
  58. package/dist/chunks/{modal.types-DlvB1lQC.js.map → modal.types-rCenUZ8B.js.map} +1 -1
  59. package/dist/chunks/{notificationCounter.component-DhfVkkOQ.js → notificationCounter.component-DikPb9gS.js} +3 -3
  60. package/dist/chunks/{notificationCounter.component-DhfVkkOQ.js.map → notificationCounter.component-DikPb9gS.js.map} +1 -1
  61. package/dist/chunks/{numberInput.component-D2lVvZHf.js → numberInput.component-CcYDFacQ.js} +2 -2
  62. package/dist/chunks/{numberInput.component-D2lVvZHf.js.map → numberInput.component-CcYDFacQ.js.map} +1 -1
  63. package/dist/chunks/{pinInput.types-DOs4a1N6.js → pinInput.types-CljHTAqz.js} +2 -2
  64. package/dist/chunks/{pinInput.types-DOs4a1N6.js.map → pinInput.types-CljHTAqz.js.map} +1 -1
  65. package/dist/chunks/{popover.component-65oNmbmB.js → popover.component-xBwO82bL.js} +5 -5
  66. package/dist/chunks/{popover.component-65oNmbmB.js.map → popover.component-xBwO82bL.js.map} +1 -1
  67. package/dist/chunks/{popover.recipe-DPwwsWLb.js → popover.recipe-BZo9u5OS.js} +2 -2
  68. package/dist/chunks/{popover.recipe-DPwwsWLb.js.map → popover.recipe-BZo9u5OS.js.map} +1 -1
  69. package/dist/chunks/radioGroup.types-UVzl0SAh.js +2 -0
  70. package/dist/chunks/{radioGroup.types-CGGPDvBR.js.map → radioGroup.types-UVzl0SAh.js.map} +1 -1
  71. package/dist/chunks/radioGroup.types-khflhs4Z.js +237 -0
  72. package/dist/chunks/{radioGroup.types-CiHxP4xM.js.map → radioGroup.types-khflhs4Z.js.map} +1 -1
  73. package/dist/chunks/{rating.component-DwiIqg9E.js → rating.component-BogjwNOM.js} +2 -2
  74. package/dist/chunks/{rating.component-DwiIqg9E.js.map → rating.component-BogjwNOM.js.map} +1 -1
  75. package/dist/chunks/{ratingDots.component-BpimXANy.js → ratingDots.component-Cg74ctjO.js} +4 -4
  76. package/dist/chunks/{ratingDots.component-BpimXANy.js.map → ratingDots.component-Cg74ctjO.js.map} +1 -1
  77. package/dist/chunks/{select.component-CmKal46A.js → select.component-BYIMZguq.js} +5 -5
  78. package/dist/chunks/{select.component-CmKal46A.js.map → select.component-BYIMZguq.js.map} +1 -1
  79. package/dist/chunks/{semanticTokens.records-CmeaObFQ.js → semanticTokens.records-B-TIeSHG.js} +2 -2
  80. package/dist/chunks/semanticTokens.records-B-TIeSHG.js.map +1 -0
  81. package/dist/chunks/{semanticTokens.records-Di2_gv9n.js → semanticTokens.records-DMKJxF9q.js} +23 -4
  82. package/dist/chunks/semanticTokens.records-DMKJxF9q.js.map +1 -0
  83. package/dist/chunks/{sortableList.component-05kG3QEM.js → sortableList.component-DXEpIVec.js} +2 -2
  84. package/dist/chunks/{sortableList.component-05kG3QEM.js.map → sortableList.component-DXEpIVec.js.map} +1 -1
  85. package/dist/chunks/{spinner.component-CQ-JWUon.js → spinner.component-BxtAqNQO.js} +3 -3
  86. package/dist/chunks/{spinner.component-CQ-JWUon.js.map → spinner.component-BxtAqNQO.js.map} +1 -1
  87. package/dist/chunks/{styledAvatar.types-BaOkOA8K.js → styledAvatar.types-DwJd2uWS.js} +2 -2
  88. package/dist/chunks/{styledAvatar.types-BaOkOA8K.js.map → styledAvatar.types-DwJd2uWS.js.map} +1 -1
  89. package/dist/chunks/{swatch.types-CkrkMi11.js → swatch.types--B4k8Ncc.js} +2 -2
  90. package/dist/chunks/{swatch.types-CkrkMi11.js.map → swatch.types--B4k8Ncc.js.map} +1 -1
  91. package/dist/chunks/{switch.component-BANAbt7_.js → switch.component-Yr0uRws8.js} +2 -2
  92. package/dist/chunks/{switch.component-BANAbt7_.js.map → switch.component-Yr0uRws8.js.map} +1 -1
  93. package/dist/chunks/{tab.types-CTlxVEvQ.js → tab.types-DOXmd70v.js} +3 -3
  94. package/dist/chunks/{tab.types-CTlxVEvQ.js.map → tab.types-DOXmd70v.js.map} +1 -1
  95. package/dist/chunks/{tagBlock.component-CAoe7WiN.js → tagBlock.component-BjnJ-IwL.js} +5 -5
  96. package/dist/chunks/{tagBlock.component-CAoe7WiN.js.map → tagBlock.component-BjnJ-IwL.js.map} +1 -1
  97. package/dist/chunks/{tagBlock.component-DFnrBQW3.js → tagBlock.component-DhvIcKi9.js} +2 -2
  98. package/dist/chunks/{tagBlock.component-DFnrBQW3.js.map → tagBlock.component-DhvIcKi9.js.map} +1 -1
  99. package/dist/chunks/{text.component-C9jh_JMO.js → text.component-DbJw4Y9-.js} +2 -2
  100. package/dist/chunks/{text.component-C9jh_JMO.js.map → text.component-DbJw4Y9-.js.map} +1 -1
  101. package/dist/chunks/{textInput.component-CHOXUd8x.js → textInput.component-Co3pNJhe.js} +3 -3
  102. package/dist/chunks/{textInput.component-CHOXUd8x.js.map → textInput.component-Co3pNJhe.js.map} +1 -1
  103. package/dist/chunks/{textarea.component-Co5FVeAZ.js → textarea.component-CAn7c-Io.js} +3 -3
  104. package/dist/chunks/{textarea.component-Co5FVeAZ.js.map → textarea.component-CAn7c-Io.js.map} +1 -1
  105. package/dist/chunks/{theme.provider-CfNsrvgx.js → theme.provider-C9i42gSe.js} +3 -3
  106. package/dist/chunks/{theme.provider-CfNsrvgx.js.map → theme.provider-C9i42gSe.js.map} +1 -1
  107. package/dist/chunks/{theme.provider-BEOF1dv4.js → theme.provider-DMENNJUS.js} +832 -687
  108. package/dist/chunks/{theme.provider-BEOF1dv4.js.map → theme.provider-DMENNJUS.js.map} +1 -1
  109. package/dist/chunks/{timePicker.component-O5_k6YYo.js → timePicker.component-CvRaqRrd.js} +4 -4
  110. package/dist/chunks/{timePicker.component-O5_k6YYo.js.map → timePicker.component-CvRaqRrd.js.map} +1 -1
  111. package/dist/chunks/{timeRange.component-Crv2OP7C.js → timeRange.component-DFZaJT2U.js} +2 -2
  112. package/dist/chunks/{timeRange.component-Crv2OP7C.js.map → timeRange.component-DFZaJT2U.js.map} +1 -1
  113. package/dist/chunks/{timestamp.component-CRz-1i68.js → timestamp.component-gXQy-j4t.js} +3 -3
  114. package/dist/chunks/{timestamp.component-CRz-1i68.js.map → timestamp.component-gXQy-j4t.js.map} +1 -1
  115. package/dist/chunks/{tooltip.component-CHohp2qn.js → tooltip.component-BWCTmG_j.js} +2 -2
  116. package/dist/chunks/{tooltip.component-CHohp2qn.js.map → tooltip.component-BWCTmG_j.js.map} +1 -1
  117. package/dist/chunks/{withFormControl-FQcw75ZS.js → withFormControl-BDEeuT0h.js} +2 -2
  118. package/dist/chunks/{withFormControl-FQcw75ZS.js.map → withFormControl-BDEeuT0h.js.map} +1 -1
  119. package/dist/chunks/{withTruncation-DW62mTHW.js → withTruncation-BsdDiS0y.js} +2 -2
  120. package/dist/chunks/{withTruncation-DW62mTHW.js.map → withTruncation-BsdDiS0y.js.map} +1 -1
  121. package/dist/chunks/{wrap-Cu5ZEseD.js → wrap-cM2ut8a7.js} +2 -2
  122. package/dist/chunks/{wrap-Cu5ZEseD.js.map → wrap-cM2ut8a7.js.map} +1 -1
  123. package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
  124. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  125. package/dist/cjs/components/Calendar/index.cjs +1 -1
  126. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  127. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  128. package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
  129. package/dist/cjs/components/Menu/index.cjs +1 -1
  130. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  131. package/dist/cjs/components/TagBlock/index.cjs +1 -1
  132. package/dist/cjs/components/index.cjs +1 -1
  133. package/dist/cjs/index.cjs +1 -1
  134. package/dist/cjs/theme/index.cjs +1 -1
  135. package/dist/cjs/theme/semanticTokens/index.cjs +1 -1
  136. package/dist/cjs/theme/semanticTokens/index.cjs.map +1 -1
  137. package/dist/esm/chakra/index.js +5 -5
  138. package/dist/esm/components/Alert/index.js +1 -1
  139. package/dist/esm/components/Avatar/index.js +1 -1
  140. package/dist/esm/components/AvatarGroup/index.js +1 -1
  141. package/dist/esm/components/ButtonGroup/index.js +1 -1
  142. package/dist/esm/components/Calendar/index.js +1 -1
  143. package/dist/esm/components/CharacterCounter/index.js +1 -1
  144. package/dist/esm/components/Checkbox/index.js +1 -1
  145. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  146. package/dist/esm/components/ConversationCard/index.js +1 -1
  147. package/dist/esm/components/DatePicker/index.js +2 -2
  148. package/dist/esm/components/DateTimePicker/index.js +1 -1
  149. package/dist/esm/components/Heading/index.js +1 -1
  150. package/dist/esm/components/Logo/index.js +1 -1
  151. package/dist/esm/components/MaintenanceBanner/index.js +1 -1
  152. package/dist/esm/components/Menu/index.js +1 -1
  153. package/dist/esm/components/Modal/index.js +1 -1
  154. package/dist/esm/components/NotificationCounter/index.js +1 -1
  155. package/dist/esm/components/NumberInput/index.js +1 -1
  156. package/dist/esm/components/PinInput/index.js +1 -1
  157. package/dist/esm/components/Popover/index.js +1 -1
  158. package/dist/esm/components/RadioGroup/index.js +1 -1
  159. package/dist/esm/components/Rating/index.js +1 -1
  160. package/dist/esm/components/RatingDots/index.js +1 -1
  161. package/dist/esm/components/Select/index.js +1 -1
  162. package/dist/esm/components/SortableList/index.js +1 -1
  163. package/dist/esm/components/Spinner/index.js +1 -1
  164. package/dist/esm/components/StyledAvatar/index.js +1 -1
  165. package/dist/esm/components/Swatch/index.js +1 -1
  166. package/dist/esm/components/Switch/index.js +1 -1
  167. package/dist/esm/components/Tabs/index.js +1 -1
  168. package/dist/esm/components/TagBlock/index.js +1 -1
  169. package/dist/esm/components/Text/index.js +1 -1
  170. package/dist/esm/components/TextInput/index.js +1 -1
  171. package/dist/esm/components/Textarea/index.js +1 -1
  172. package/dist/esm/components/TimePicker/index.js +1 -1
  173. package/dist/esm/components/TimeRange/index.js +1 -1
  174. package/dist/esm/components/Timestamp/index.js +1 -1
  175. package/dist/esm/components/Tooltip/index.js +1 -1
  176. package/dist/esm/components/index.js +39 -39
  177. package/dist/esm/index.js +40 -40
  178. package/dist/esm/theme/index.js +1 -1
  179. package/dist/esm/theme/semanticTokens/index.js +3 -2
  180. package/dist/esm/theme/semanticTokens/index.js.map +1 -1
  181. package/dist/types/components/Button/button.records.d.ts +16 -0
  182. package/dist/types/components/RadioGroup/radioGroup.component.d.ts +3 -2
  183. package/dist/types/components/RadioGroup/radioGroup.recipe.d.ts +35 -3
  184. package/dist/types/components/RadioGroup/radioGroup.types.d.ts +1 -1
  185. package/dist/types/theme/semanticTokens/semanticTokens.config.d.ts +10 -2
  186. package/package.json +1 -1
  187. package/dist/chunks/button.recipe-CZ-PlRrK.js.map +0 -1
  188. package/dist/chunks/button.recipe-DyIe5w68.js +0 -2
  189. package/dist/chunks/button.recipe-DyIe5w68.js.map +0 -1
  190. package/dist/chunks/menu.component-B_rE1WZ2.js +0 -2
  191. package/dist/chunks/menu.component-B_rE1WZ2.js.map +0 -1
  192. package/dist/chunks/menu.component-CAttpI-a.js.map +0 -1
  193. package/dist/chunks/radioGroup.types-CGGPDvBR.js +0 -2
  194. package/dist/chunks/radioGroup.types-CiHxP4xM.js +0 -228
  195. package/dist/chunks/semanticTokens.records-CmeaObFQ.js.map +0 -1
  196. package/dist/chunks/semanticTokens.records-Di2_gv9n.js.map +0 -1
@@ -1,36 +1,32 @@
1
- import { a } from "./config-Djkl1N81.js";
2
- const t = {
3
- xs: {
4
- fontSize: "xs",
5
- h: 6,
6
- p: "3px 8px",
7
- minW: 6
8
- },
9
- sm: {
10
- fontSize: "sm",
11
- h: 8,
12
- p: "6px 12px",
13
- minW: 8
14
- },
15
- md: {
16
- fontSize: "md",
17
- h: 10,
18
- p: "8px 16px",
19
- minW: 10
20
- },
21
- lg: {
22
- fontSize: "lg",
23
- h: 12,
24
- p: "10px 20px",
25
- minW: 12
26
- }
27
- }, r = {
1
+ import { b as d } from "./config-BV2SsQL7.js";
2
+ const r = {
3
+ xs: { fontSize: "xs", height: 6, paddingBlock: "3px", paddingInline: 2 },
4
+ sm: { fontSize: "sm", height: 8, paddingBlock: "6px", paddingInline: 3 },
5
+ md: { fontSize: "md", height: 10, paddingBlock: "8px", paddingInline: 4 },
6
+ lg: { fontSize: "lg", height: 12, paddingBlock: "10px", paddingInline: 5 }
7
+ }, e = ({
8
+ fontSize: n,
9
+ height: o,
10
+ paddingBlock: s,
11
+ paddingInline: c
12
+ }) => ({
13
+ fontSize: n,
14
+ h: o,
15
+ minW: o,
16
+ py: s,
17
+ px: c
18
+ }), b = {
19
+ xs: e(r.xs),
20
+ sm: e(r.sm),
21
+ md: e(r.md),
22
+ lg: e(r.lg)
23
+ }, a = {
28
24
  color: "text.interactive",
29
25
  bg: "background.secondaryAlpha"
30
- }, e = {
26
+ }, t = {
31
27
  color: "text.interactive.contrast",
32
28
  bg: "background.secondaryAlpha.contrast"
33
- }, o = {
29
+ }, i = {
34
30
  primary: {
35
31
  bg: {
36
32
  base: "background.primary",
@@ -301,8 +297,8 @@ const t = {
301
297
  _disabled: "background"
302
298
  },
303
299
  _active: {
304
- base: r.bg,
305
- _hover: r.bg
300
+ base: a.bg,
301
+ _hover: a.bg
306
302
  }
307
303
  },
308
304
  borderColor: {
@@ -311,12 +307,12 @@ const t = {
311
307
  },
312
308
  color: {
313
309
  base: "text",
314
- _active: r.color,
310
+ _active: a.color,
315
311
  _icon: "text"
316
312
  },
317
313
  _active: {
318
314
  _icon: {
319
- color: r.color
315
+ color: a.color
320
316
  }
321
317
  }
322
318
  },
@@ -328,8 +324,8 @@ const t = {
328
324
  _disabled: "transparent"
329
325
  },
330
326
  _active: {
331
- base: e.bg,
332
- _hover: e.bg
327
+ base: t.bg,
328
+ _hover: t.bg
333
329
  }
334
330
  },
335
331
  borderColor: {
@@ -338,12 +334,12 @@ const t = {
338
334
  },
339
335
  color: {
340
336
  base: "text.contrast",
341
- _active: e.color,
337
+ _active: t.color,
342
338
  _icon: "text.contrast"
343
339
  },
344
340
  _active: {
345
341
  _icon: {
346
- color: e.color
342
+ color: t.color
347
343
  }
348
344
  }
349
345
  },
@@ -616,7 +612,7 @@ const t = {
616
612
  _icon: "text.danger.contrast"
617
613
  }
618
614
  }
619
- }, s = a({
615
+ }, l = d({
620
616
  base: {
621
617
  borderColor: "transparent",
622
618
  borderRadius: "base",
@@ -630,8 +626,8 @@ const t = {
630
626
  }
631
627
  },
632
628
  variants: {
633
- variant: o,
634
- size: t
629
+ variant: i,
630
+ size: b
635
631
  },
636
632
  defaultVariants: {
637
633
  size: "md",
@@ -639,9 +635,10 @@ const t = {
639
635
  }
640
636
  });
641
637
  export {
642
- r as a,
643
- o as b,
644
- s as c,
645
- e as s
638
+ r as B,
639
+ a,
640
+ i as b,
641
+ l as c,
642
+ t as s
646
643
  };
647
- //# sourceMappingURL=button.recipe-CZ-PlRrK.js.map
644
+ //# sourceMappingURL=button.recipe-iar6jvoT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.recipe-iar6jvoT.js","sources":["../../src/components/Button/button.records.ts","../../src/components/Button/button.recipe.ts"],"sourcesContent":["import { ButtonSize } from './button.types';\n\nexport interface ButtonSizeMetrics {\n fontSize: ButtonSize;\n /** Also used as `minWidth`, so an icon-only button stays square. */\n height: number;\n paddingBlock: string;\n paddingInline: number;\n}\n\n/**\n * The canonical Button size scale.\n *\n * Lives here rather than inline in the recipe so anything that has to line up with a Button reads the\n * same numbers — RadioGroup's `chips` type in particular. If these change, chips follow automatically\n * instead of silently drifting.\n */\nexport const ButtonSizeMap: Record<ButtonSize, ButtonSizeMetrics> = {\n xs: { fontSize: 'xs', height: 6, paddingBlock: '3px', paddingInline: 2 },\n sm: { fontSize: 'sm', height: 8, paddingBlock: '6px', paddingInline: 3 },\n md: { fontSize: 'md', height: 10, paddingBlock: '8px', paddingInline: 4 },\n lg: { fontSize: 'lg', height: 12, paddingBlock: '10px', paddingInline: 5 },\n};\n","import { defineRecipe, SystemStyleObject } from '@chakra-ui/react/styled-system';\nimport { ButtonSize, ButtonConfigVariant } from './button.types';\nimport { ButtonSizeMap, ButtonSizeMetrics } from './button.records';\n\nconst toButtonSizeStyle = ({\n fontSize,\n height,\n paddingBlock,\n paddingInline,\n}: ButtonSizeMetrics): SystemStyleObject => ({\n fontSize,\n h: height,\n minW: height,\n py: paddingBlock,\n px: paddingInline,\n});\n\nconst buttonSizeStyles: Record<ButtonSize, SystemStyleObject> = {\n xs: toButtonSizeStyle(ButtonSizeMap.xs),\n sm: toButtonSizeStyle(ButtonSizeMap.sm),\n md: toButtonSizeStyle(ButtonSizeMap.md),\n lg: toButtonSizeStyle(ButtonSizeMap.lg),\n};\n\nexport const secondarySubtleButtonStyles: SystemStyleObject = {\n color: 'text.interactive',\n bg: 'background.secondaryAlpha',\n};\n\nexport const secondarySubtleOnContrastButtonStyles: SystemStyleObject = {\n color: 'text.interactive.contrast',\n bg: 'background.secondaryAlpha.contrast',\n};\n\nexport const buttonVariantStyles: Record<ButtonConfigVariant, SystemStyleObject> = {\n primary: {\n bg: {\n base: 'background.primary',\n _hover: {\n base: 'background.primary.hover',\n _disabled: 'background.primary',\n },\n _active: {\n base: 'background.primary.pressed',\n _hover: 'background.primary.pressed',\n },\n },\n color: {\n base: 'text.contrast',\n _icon: 'text.contrast',\n },\n },\n primaryOnContrast: {\n bg: {\n base: 'background.primary.contrast',\n _hover: {\n base: 'background.primary.contrast.hover',\n _disabled: 'background.primary.contrast',\n },\n _active: {\n base: 'background.primary.contrast.pressed',\n _hover: 'background.primary.contrast.pressed',\n },\n },\n color: {\n base: 'text',\n _icon: 'text',\n },\n },\n primaryAccent: {\n bg: {\n base: 'background.secondary',\n _hover: {\n base: 'background.secondary.hover',\n _disabled: 'background.secondary',\n },\n _active: {\n base: 'background.secondary.pressed',\n _hover: 'background.secondary.pressed',\n },\n },\n color: {\n base: 'text.contrast',\n _icon: 'text.contrast',\n },\n },\n primaryAccentOnContrast: {\n bg: {\n base: 'background.secondary.contrast',\n _hover: {\n base: 'background.secondary.contrast.hover',\n _disabled: 'background.secondary.contrast',\n },\n _active: {\n base: 'background.secondary.contrast.pressed',\n _hover: 'background.secondary.contrast.pressed',\n },\n },\n color: {\n base: 'text',\n _icon: 'text',\n },\n },\n primaryDestructive: {\n bg: {\n base: 'background.destructive',\n _hover: {\n base: 'background.destructive.hover',\n _disabled: 'background.destructive',\n },\n _active: {\n base: 'background.destructive.pressed',\n _hover: 'background.destructive.pressed',\n },\n },\n color: 'text.contrast',\n _icon: {\n color: 'text.contrast',\n },\n },\n primaryDestructiveOnContrast: {\n bg: {\n base: 'background.destructive.contrast',\n _hover: {\n base: 'background.destructive.contrast.hover',\n _disabled: 'background.destructive.contrast',\n },\n _active: {\n base: 'background.destructive.contrast.pressed',\n _hover: 'background.destructive.contrast.pressed',\n },\n },\n color: {\n base: 'text',\n _icon: 'text',\n },\n },\n primaryGradientFull: {\n bg: {\n base: 'background.gradientFull',\n _hover: {\n base: 'background.gradientFull.hover',\n _disabled: 'background.gradientFull',\n },\n _active: {\n base: 'background.gradientFull.pressed',\n _hover: 'background.gradientFull.pressed',\n },\n },\n color: {\n base: 'text.interactive',\n _icon: 'text.interactive',\n },\n borderWidth: '0',\n },\n primaryGradientFullOnContrast: {\n bg: {\n base: 'background.gradientFull.contrast',\n _hover: {\n base: 'background.gradientFull.contrast.hover',\n _disabled: 'background.gradientFull.contrast',\n },\n _active: {\n base: 'background.gradientFull.contrast.pressed',\n _hover: 'background.gradientFull.contrast.pressed',\n },\n },\n color: {\n base: 'text.interactive.contrast',\n _icon: 'text.interactive.contrast',\n },\n borderWidth: '0',\n },\n primaryWarning: {\n bg: {\n base: 'background.warning',\n _hover: {\n base: 'background.warning.hover',\n _disabled: 'background.warning',\n },\n _active: {\n base: 'background.warning.pressed',\n _hover: 'background.warning.pressed',\n },\n },\n color: 'text.contrast',\n _icon: {\n color: 'text.contrast',\n },\n },\n primaryWarningOnContrast: {\n bg: {\n base: 'background.warning.contrast',\n _hover: {\n base: 'background.warning.contrast.hover',\n _disabled: 'background.warning.contrast',\n },\n _active: {\n base: 'background.warning.contrast.pressed',\n _hover: 'background.warning.contrast.pressed',\n },\n },\n color: {\n base: 'text',\n _icon: 'text',\n },\n },\n secondary: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.alpha.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.secondaryAlpha.pressed',\n _hover: 'background.secondaryAlpha.pressed',\n },\n },\n borderColor: {\n base: 'border.strong',\n _active: 'border.focus',\n },\n color: {\n base: 'text',\n _active: 'text.interactive',\n _icon: 'text',\n },\n _active: {\n _icon: {\n color: 'text.interactive',\n },\n },\n },\n secondaryOnContrast: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.alpha.contrast.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.secondaryAlpha.contrast.pressed',\n _hover: 'background.secondaryAlpha.contrast.pressed',\n },\n },\n borderColor: {\n base: 'border.strong.contrast',\n _active: 'border.focus.contrast',\n },\n color: {\n base: 'text.contrast',\n _active: 'text.interactive.contrast',\n _icon: 'text.contrast',\n },\n _active: {\n _icon: {\n color: 'text.interactive.contrast',\n },\n },\n },\n secondaryDestructive: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.alpha.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.destructiveAlpha.pressed',\n _hover: 'background.destructiveAlpha.pressed',\n },\n },\n borderColor: 'border.danger',\n color: 'text.danger',\n _icon: {\n color: 'text.danger',\n },\n },\n secondaryDestructiveOnContrast: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.alpha.contrast.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.destructiveAlpha.contrast.pressed',\n _hover: 'background.destructiveAlpha.contrast.pressed',\n },\n },\n borderColor: 'border.danger.contrast',\n color: 'text.danger.contrast',\n _icon: {\n color: 'text.danger.contrast',\n },\n },\n secondarySubtle: {\n bg: {\n base: 'background',\n _hover: {\n base: 'background.subtle',\n _disabled: 'background',\n },\n _active: {\n base: secondarySubtleButtonStyles.bg,\n _hover: secondarySubtleButtonStyles.bg,\n },\n },\n borderColor: {\n base: 'border',\n _active: 'border.focus.contrast',\n },\n color: {\n base: 'text',\n _active: secondarySubtleButtonStyles.color,\n _icon: 'text',\n },\n _active: {\n _icon: {\n color: secondarySubtleButtonStyles.color,\n },\n },\n },\n secondarySubtleOnContrast: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.contrast.subtle',\n _disabled: 'transparent',\n },\n _active: {\n base: secondarySubtleOnContrastButtonStyles.bg,\n _hover: secondarySubtleOnContrastButtonStyles.bg,\n },\n },\n borderColor: {\n base: 'border.contrast',\n _active: 'border.focus',\n },\n color: {\n base: 'text.contrast',\n _active: secondarySubtleOnContrastButtonStyles.color,\n _icon: 'text.contrast',\n },\n _active: {\n _icon: {\n color: secondarySubtleOnContrastButtonStyles.color,\n },\n },\n },\n secondarySubtleDestructive: {\n bg: {\n base: 'background',\n _hover: {\n base: 'background.subtle',\n _disabled: 'background',\n },\n _active: {\n base: 'background.destructiveAlpha',\n _hover: 'background.destructiveAlpha',\n },\n },\n color: 'text.danger',\n borderColor: 'border',\n _icon: {\n color: 'text.danger',\n },\n },\n secondarySubtleDestructiveOnContrast: {\n bg: {\n base: 'background.contrast',\n _hover: {\n base: 'background.contrast.subtle',\n _disabled: 'background.contrast',\n },\n _active: {\n base: 'background.destructiveAlpha.contrast',\n _hover: 'background.destructiveAlpha.contrast',\n },\n },\n color: 'text.danger.contrast',\n borderColor: 'border.contrast',\n _icon: {\n color: 'text.danger.contrast',\n },\n },\n secondaryGradientFull: {\n borderWidth: '2px',\n color: {\n base: 'text.interactive',\n _icon: 'text.interactive',\n },\n bg: {\n base: 'linear-gradient({colors.background} 0 0) padding-box, {colors.background.gradientFull} border-box',\n _hover: {\n base: '{colors.background.gradientFull} border-box',\n _disabled: 'linear-gradient({colors.background} 0 0) padding-box, {colors.background.gradientFull} border-box',\n },\n _active: {\n base: '{colors.background.gradientFull.hover} border-box',\n _hover: '{colors.background.gradientFull.hover} border-box',\n },\n },\n },\n secondaryGradientFullOnContrast: {\n borderWidth: '2px',\n color: {\n base: 'text.interactive.contrast',\n _icon: 'text.interactive.contrast',\n },\n bg: {\n base: 'linear-gradient({colors.background.contrast} 0 0) padding-box, {colors.background.gradientFull.contrast} border-box',\n _hover: {\n base: '{colors.background.gradientFull.contrast} border-box',\n _disabled:\n 'linear-gradient({colors.background.contrast} 0 0) padding-box, {colors.background.gradientFull.contrast} border-box',\n },\n _active: {\n base: '{colors.background.gradientFull.contrast.hover} border-box',\n _hover: '{colors.background.gradientFull.contrast.hover} border-box',\n },\n },\n },\n tertiary: {\n bg: {\n base: 'background.alpha',\n _hover: {\n base: 'background.alpha.hover',\n _disabled: 'background.alpha',\n },\n _active: {\n base: 'background.secondaryAlpha.pressed',\n _hover: 'background.secondaryAlpha.pressed',\n },\n },\n color: {\n base: 'text',\n _active: 'text.interactive',\n _icon: 'text',\n },\n _active: {\n _icon: {\n color: 'text.interactive',\n },\n },\n },\n tertiaryOnContrast: {\n bg: {\n base: 'background.alpha.contrast',\n _hover: {\n base: 'background.alpha.contrast.hover',\n _disabled: 'background.alpha.contrast',\n },\n _active: {\n base: 'background.secondaryAlpha.contrast.pressed',\n _hover: 'background.secondaryAlpha.contrast.pressed',\n },\n },\n color: {\n base: 'text.contrast',\n _active: 'text.interactive.contrast',\n _icon: 'text.contrast',\n },\n _active: {\n _icon: {\n color: 'text.interactive.contrast',\n },\n },\n },\n tertiaryDestructive: {\n bg: {\n base: 'background.destructiveAlpha',\n _hover: {\n base: 'background.destructiveAlpha.hover',\n _disabled: 'background.destructiveAlpha',\n },\n _active: {\n base: 'background.destructiveAlpha.pressed',\n _hover: 'background.destructiveAlpha.pressed',\n },\n },\n color: {\n base: 'text.danger',\n _icon: 'text.danger',\n },\n },\n tertiaryDestructiveOnContrast: {\n bg: {\n base: 'background.destructiveAlpha.contrast',\n _hover: {\n base: 'background.destructiveAlpha.contrast.hover',\n _disabled: 'background.destructiveAlpha.contrast',\n },\n _active: {\n base: 'background.destructiveAlpha.contrast.pressed',\n _hover: 'background.destructiveAlpha.contrast.pressed',\n },\n },\n color: {\n base: 'text.danger.contrast',\n _icon: 'text.danger.contrast',\n },\n },\n ghost: {\n bg: {\n base: 'transparent',\n _hover: {\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.secondaryAlpha.pressed',\n _hover: 'background.secondaryAlpha.pressed',\n },\n },\n // Separating to override Chakra's variant\n _hover: {\n bg: 'background.secondaryAlpha.hover',\n },\n color: {\n base: 'text.interactive',\n _icon: 'text.interactive',\n },\n },\n ghostOnContrast: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.secondaryAlpha.contrast.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.secondaryAlpha.contrast.pressed',\n _hover: 'background.secondaryAlpha.contrast.pressed',\n },\n },\n color: {\n base: 'text.interactive.contrast',\n _icon: 'text.interactive.contrast',\n },\n },\n ghostNeutral: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.alpha.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.secondaryAlpha.pressed',\n _hover: 'background.secondaryAlpha.pressed',\n },\n },\n color: {\n base: 'text',\n _icon: 'text',\n },\n _active: {\n color: 'text.interactive',\n _icon: {\n color: 'text.interactive',\n },\n },\n },\n ghostNeutralOnContrast: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.alpha.contrast.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.secondaryAlpha.contrast.pressed',\n _hover: 'background.secondaryAlpha.contrast.pressed',\n },\n },\n color: {\n base: 'text.contrast',\n _icon: 'text.contrast',\n _active: 'text.interactive.contrast',\n },\n _active: {\n _icon: {\n color: 'text.interactive.contrast',\n },\n },\n },\n ghostDestructive: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.destructiveAlpha.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.destructiveAlpha.pressed',\n _hover: 'background.destructiveAlpha.pressed',\n },\n },\n color: {\n base: 'text.danger',\n _icon: 'text.danger',\n },\n },\n ghostDestructiveOnContrast: {\n bg: {\n base: 'transparent',\n _hover: {\n base: 'background.destructiveAlpha.contrast.hover',\n _disabled: 'transparent',\n },\n _active: {\n base: 'background.destructiveAlpha.contrast.pressed',\n _hover: 'background.destructiveAlpha.contrast.pressed',\n },\n },\n color: {\n base: 'text.danger.contrast',\n _icon: 'text.danger.contrast',\n },\n },\n};\n\nexport const buttonRecipe = defineRecipe({\n base: {\n borderColor: 'transparent',\n borderRadius: 'base',\n borderWidth: '1px',\n fontWeight: 'semibold',\n letterSpacing: '0.12px',\n lineHeight: '150%',\n _focusVisible: {\n boxShadow: 'none !important',\n outline: 'none !important',\n },\n },\n variants: {\n variant: buttonVariantStyles,\n size: buttonSizeStyles,\n },\n defaultVariants: {\n size: 'md',\n variant: 'primary',\n },\n});\n"],"names":["ButtonSizeMap","toButtonSizeStyle","fontSize","height","paddingBlock","paddingInline","buttonSizeStyles","secondarySubtleButtonStyles","secondarySubtleOnContrastButtonStyles","buttonVariantStyles","buttonRecipe","defineRecipe"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { j as t } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { forwardRef as y, useMemo as c } from "react";
3
3
  import { B as G } from "./button.component-BO6oee_V.js";
4
- import { M as P } from "./menu.component-CAttpI-a.js";
4
+ import { M as P } from "./menu.component-f_E3xGpR.js";
5
5
  import { u as d } from "./use-recipe-d63ABaZ3.js";
6
6
  import { a as R } from "./icon-button-CcZMCNUJ.js";
7
7
  import { G as k } from "./group-CplNJpRQ.js";
@@ -67,4 +67,4 @@ const $ = y(
67
67
  export {
68
68
  E as B
69
69
  };
70
- //# sourceMappingURL=buttonGroup.component-B4APVs0L.js.map
70
+ //# sourceMappingURL=buttonGroup.component-B0aITG8l.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttonGroup.component-B4APVs0L.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/button/button-group.js","../../src/components/ButtonGroup/buttonGroup.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useMemo } from 'react';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\nimport { ButtonPropsProvider } from './button.js';\nimport { Group } from '../group/group.js';\n\nconst ButtonGroup = forwardRef(\n function ButtonGroup2(props, ref) {\n const recipe = useRecipe({ key: \"button\" });\n const [variantProps, otherProps] = useMemo(\n () => recipe.splitVariantProps(props),\n [props, recipe]\n );\n return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });\n }\n);\n\nexport { ButtonGroup };\n","import React, { useMemo } from 'react';\nimport { ButtonGroup as CButtonGroup, ButtonGroupProps as CButtonGroupProps } from '@chakra-ui/react/button';\nimport { GroupedButton } from './buttonGroup.types';\nimport { ButtonConfigVariant, ButtonSize, ButtonVariant } from 'components/Button/button.types';\nimport { Button } from 'components/Button/button.component';\nimport { SystemStyleObject, useRecipe } from '@chakra-ui/react/styled-system';\nimport { Menu, MenuProps } from 'components/Menu/menu.component';\n\nexport interface ButtonGroupProps extends CButtonGroupProps {\n /** An array of button objects to be rendered in the group. */\n buttons: GroupedButton[];\n /** Determines wether the button should render a contrasting variant. */\n onContrast?: boolean;\n /** Size of the button group.\n * @default md\n */\n size?: ButtonSize;\n /** Variants are used to adjust the button look and feel. Choose a variant that aligns with the button intent and role in the overall design. */\n variant?: ButtonVariant;\n /** If provided, a Menu will be rendered as the last element in the group. See `Menu` for more information. */\n menuProps?: MenuProps;\n /** Data test id for the button group.\n * @default kibble-button-group\n */\n 'data-testid'?: string;\n}\n\nexport const ButtonGroup = ({\n attached = true,\n borderColor,\n buttons,\n menuProps,\n onContrast = false,\n size = 'md',\n variant = 'primary',\n ['data-testid']: dataTestId = 'kibble-button-group',\n ...rest\n}: ButtonGroupProps): React.JSX.Element => {\n const computedVariant = useMemo(\n () => `${variant}${onContrast ? 'OnContrast' : ''}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n const recipe = useRecipe({ key: 'button' });\n const styles = recipe({ variant: computedVariant })['@layer recipes'];\n const computedBorderColor =\n styles?.borderColor !== 'var(--chakra-colors-transparent)' ? styles?.borderColor : styles?.color;\n\n const buttonStyles: SystemStyleObject = {\n borderWidth: '1px',\n borderColor: borderColor || computedBorderColor,\n };\n\n return (\n <CButtonGroup className=\"ButtonGroup\" data-testid={dataTestId} attached={attached} {...rest}>\n {buttons.map(({ key, ...rest }, index) => (\n <Button\n key={key || index}\n size={size}\n variant={variant}\n onContrast={onContrast}\n {...rest}\n {...(attached && buttonStyles)}\n />\n ))}\n {menuProps && (\n <Menu\n data-testid={`${dataTestId}-menu`}\n positioning={{ placement: 'bottom' }}\n {...menuProps}\n buttonProps={{\n ...menuProps.buttonProps,\n size,\n variant,\n onContrast,\n ...(attached && {\n ...buttonStyles,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n }}\n />\n )}\n </CButtonGroup>\n );\n};\n"],"names":["ButtonGroup","forwardRef","props","ref","recipe","useRecipe","variantProps","otherProps","useMemo","jsx","ButtonPropsProvider","Group","attached","borderColor","buttons","menuProps","onContrast","size","variant","dataTestId","rest","computedVariant","styles","computedBorderColor","buttonStyles","jsxs","CButtonGroup","key","index","Button","Menu"],"mappings":";;;;;;;AAQA,MAAMA,IAAcC;AAAA,EAClB,SAAsBC,GAAOC,GAAK;AAChC,UAAMC,IAASC,EAAU,EAAE,KAAK,SAAQ,CAAE,GACpC,CAACC,GAAcC,CAAU,IAAIC;AAAA,MACjC,MAAMJ,EAAO,kBAAkBF,CAAK;AAAA,MACpC,CAACA,GAAOE,CAAM;AAAA,IACf;AACD,WAAuBK,gBAAAA,EAAG,IAACC,GAAqB,EAAE,OAAOJ,GAAc,UAA0BG,gBAAAA,MAAIE,GAAO,EAAE,KAAAR,GAAK,GAAGI,EAAU,CAAE,EAAC,CAAE;AAAA,EACzI;AACA,GCUaP,IAAc,CAAC;AAAA,EAC1B,UAAAY,IAAW;AAAA,EACX,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,GAAGC;AACL,MAA2C;AACzC,QAAMC,IAAkBb;AAAA,IACtB,MAAM,GAAGU,CAAO,GAAGF,IAAa,eAAe,EAAE;AAAA,IACjD,CAACA,GAAYE,CAAO;AAAA,EACtB,GAEMI,IADSjB,EAAU,EAAE,KAAK,UAAU,EACpB,EAAE,SAASgB,EAAgB,CAAC,EAAE,gBAAgB,GAC9DE,IACJD,GAAQ,gBAAgB,qCAAqCA,GAAQ,cAAcA,GAAQ,OAEvFE,IAAkC;AAAA,IACtC,aAAa;AAAA,IACb,aAAaX,KAAeU;AAAA,EAC9B;AAGE,SAAAE,gBAAAA,OAACC,KAAa,WAAU,eAAc,eAAaP,GAAY,UAAAP,GAAqB,GAAGQ,GACpF,UAAA;AAAA,IAAAN,EAAQ,IAAI,CAAC,EAAE,KAAAa,GAAK,GAAGP,EAAAA,GAAQQ,MAC9BnB,gBAAAA,EAAA;AAAA,MAACoB;AAAA,MAAA;AAAA,QAEC,MAAAZ;AAAA,QACA,SAAAC;AAAA,QACA,YAAAF;AAAA,QACC,GAAGI;AAAAA,QACH,GAAIR,KAAYY;AAAA,MAAA;AAAA,MALZG,KAAOC;AAAA,IAAA,CAOf;AAAA,IACAb,KACCN,gBAAAA,EAAA;AAAA,MAACqB;AAAA,MAAA;AAAA,QACC,eAAa,GAAGX,CAAU;AAAA,QAC1B,aAAa,EAAE,WAAW,SAAS;AAAA,QAClC,GAAGJ;AAAA,QACJ,aAAa;AAAA,UACX,GAAGA,EAAU;AAAA,UACb,MAAAE;AAAA,UACA,SAAAC;AAAA,UACA,YAAAF;AAAA,UACA,GAAIJ,KAAY;AAAA,YACd,GAAGY;AAAA,YACH,qBAAqB;AAAA,YACrB,wBAAwB;AAAA,UAAA;AAAA,QAC1B;AAAA,MACF;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"buttonGroup.component-B0aITG8l.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/button/button-group.js","../../src/components/ButtonGroup/buttonGroup.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useMemo } from 'react';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\nimport { ButtonPropsProvider } from './button.js';\nimport { Group } from '../group/group.js';\n\nconst ButtonGroup = forwardRef(\n function ButtonGroup2(props, ref) {\n const recipe = useRecipe({ key: \"button\" });\n const [variantProps, otherProps] = useMemo(\n () => recipe.splitVariantProps(props),\n [props, recipe]\n );\n return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });\n }\n);\n\nexport { ButtonGroup };\n","import React, { useMemo } from 'react';\nimport { ButtonGroup as CButtonGroup, ButtonGroupProps as CButtonGroupProps } from '@chakra-ui/react/button';\nimport { GroupedButton } from './buttonGroup.types';\nimport { ButtonConfigVariant, ButtonSize, ButtonVariant } from 'components/Button/button.types';\nimport { Button } from 'components/Button/button.component';\nimport { SystemStyleObject, useRecipe } from '@chakra-ui/react/styled-system';\nimport { Menu, MenuProps } from 'components/Menu/menu.component';\n\nexport interface ButtonGroupProps extends CButtonGroupProps {\n /** An array of button objects to be rendered in the group. */\n buttons: GroupedButton[];\n /** Determines wether the button should render a contrasting variant. */\n onContrast?: boolean;\n /** Size of the button group.\n * @default md\n */\n size?: ButtonSize;\n /** Variants are used to adjust the button look and feel. Choose a variant that aligns with the button intent and role in the overall design. */\n variant?: ButtonVariant;\n /** If provided, a Menu will be rendered as the last element in the group. See `Menu` for more information. */\n menuProps?: MenuProps;\n /** Data test id for the button group.\n * @default kibble-button-group\n */\n 'data-testid'?: string;\n}\n\nexport const ButtonGroup = ({\n attached = true,\n borderColor,\n buttons,\n menuProps,\n onContrast = false,\n size = 'md',\n variant = 'primary',\n ['data-testid']: dataTestId = 'kibble-button-group',\n ...rest\n}: ButtonGroupProps): React.JSX.Element => {\n const computedVariant = useMemo(\n () => `${variant}${onContrast ? 'OnContrast' : ''}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n const recipe = useRecipe({ key: 'button' });\n const styles = recipe({ variant: computedVariant })['@layer recipes'];\n const computedBorderColor =\n styles?.borderColor !== 'var(--chakra-colors-transparent)' ? styles?.borderColor : styles?.color;\n\n const buttonStyles: SystemStyleObject = {\n borderWidth: '1px',\n borderColor: borderColor || computedBorderColor,\n };\n\n return (\n <CButtonGroup className=\"ButtonGroup\" data-testid={dataTestId} attached={attached} {...rest}>\n {buttons.map(({ key, ...rest }, index) => (\n <Button\n key={key || index}\n size={size}\n variant={variant}\n onContrast={onContrast}\n {...rest}\n {...(attached && buttonStyles)}\n />\n ))}\n {menuProps && (\n <Menu\n data-testid={`${dataTestId}-menu`}\n positioning={{ placement: 'bottom' }}\n {...menuProps}\n buttonProps={{\n ...menuProps.buttonProps,\n size,\n variant,\n onContrast,\n ...(attached && {\n ...buttonStyles,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n }}\n />\n )}\n </CButtonGroup>\n );\n};\n"],"names":["ButtonGroup","forwardRef","props","ref","recipe","useRecipe","variantProps","otherProps","useMemo","jsx","ButtonPropsProvider","Group","attached","borderColor","buttons","menuProps","onContrast","size","variant","dataTestId","rest","computedVariant","styles","computedBorderColor","buttonStyles","jsxs","CButtonGroup","key","index","Button","Menu"],"mappings":";;;;;;;AAQA,MAAMA,IAAcC;AAAA,EAClB,SAAsBC,GAAOC,GAAK;AAChC,UAAMC,IAASC,EAAU,EAAE,KAAK,SAAQ,CAAE,GACpC,CAACC,GAAcC,CAAU,IAAIC;AAAA,MACjC,MAAMJ,EAAO,kBAAkBF,CAAK;AAAA,MACpC,CAACA,GAAOE,CAAM;AAAA,IACf;AACD,WAAuBK,gBAAAA,EAAG,IAACC,GAAqB,EAAE,OAAOJ,GAAc,UAA0BG,gBAAAA,MAAIE,GAAO,EAAE,KAAAR,GAAK,GAAGI,EAAU,CAAE,EAAC,CAAE;AAAA,EACzI;AACA,GCUaP,IAAc,CAAC;AAAA,EAC1B,UAAAY,IAAW;AAAA,EACX,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,GAAGC;AACL,MAA2C;AACzC,QAAMC,IAAkBb;AAAA,IACtB,MAAM,GAAGU,CAAO,GAAGF,IAAa,eAAe,EAAE;AAAA,IACjD,CAACA,GAAYE,CAAO;AAAA,EACtB,GAEMI,IADSjB,EAAU,EAAE,KAAK,UAAU,EACpB,EAAE,SAASgB,EAAgB,CAAC,EAAE,gBAAgB,GAC9DE,IACJD,GAAQ,gBAAgB,qCAAqCA,GAAQ,cAAcA,GAAQ,OAEvFE,IAAkC;AAAA,IACtC,aAAa;AAAA,IACb,aAAaX,KAAeU;AAAA,EAC9B;AAGE,SAAAE,gBAAAA,OAACC,KAAa,WAAU,eAAc,eAAaP,GAAY,UAAAP,GAAqB,GAAGQ,GACpF,UAAA;AAAA,IAAAN,EAAQ,IAAI,CAAC,EAAE,KAAAa,GAAK,GAAGP,EAAAA,GAAQQ,MAC9BnB,gBAAAA,EAAA;AAAA,MAACoB;AAAA,MAAA;AAAA,QAEC,MAAAZ;AAAA,QACA,SAAAC;AAAA,QACA,YAAAF;AAAA,QACC,GAAGI;AAAAA,QACH,GAAIR,KAAYY;AAAA,MAAA;AAAA,MALZG,KAAOC;AAAA,IAAA,CAOf;AAAA,IACAb,KACCN,gBAAAA,EAAA;AAAA,MAACqB;AAAA,MAAA;AAAA,QACC,eAAa,GAAGX,CAAU;AAAA,QAC1B,aAAa,EAAE,WAAW,SAAS;AAAA,QAClC,GAAGJ;AAAA,QACJ,aAAa;AAAA,UACX,GAAGA,EAAU;AAAA,UACb,MAAAE;AAAA,UACA,SAAAC;AAAA,UACA,YAAAF;AAAA,UACA,GAAIJ,KAAY;AAAA,YACd,GAAGY;AAAA,YACH,qBAAqB;AAAA,YACrB,wBAAwB;AAAA,UAAA;AAAA,QAC1B;AAAA,MACF;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ;","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),q=require("./button.component-DjdgBXDC.js"),f=require("./menu.component-B_rE1WZ2.js"),a=require("./use-recipe-DaPWl_pL.js"),y=require("./icon-button-B9rScw-E.js"),G=require("./group-_vcW9myt.js"),E=p.forwardRef(function(s,i){const t=a.useRecipe({key:"button"}),[o,u]=p.useMemo(()=>t.splitVariantProps(s),[s,t]);return e.jsxRuntimeExports.jsx(y.ButtonPropsProvider,{value:o,children:e.jsxRuntimeExports.jsx(G.Group,{ref:i,...u})})}),P=({attached:r=!0,borderColor:s,buttons:i,menuProps:t,onContrast:o=!1,size:u="md",variant:n="primary",["data-testid"]:d="kibble-button-group",...l})=>{const x=p.useMemo(()=>`${n}${o?"OnContrast":""}`,[o,n]),c=a.useRecipe({key:"button"})({variant:x})["@layer recipes"],b=c?.borderColor!=="var(--chakra-colors-transparent)"?c?.borderColor:c?.color,m={borderWidth:"1px",borderColor:s||b};return e.jsxRuntimeExports.jsxs(E,{className:"ButtonGroup","data-testid":d,attached:r,...l,children:[i.map(({key:R,...j},B)=>e.jsxRuntimeExports.jsx(q.Button,{size:u,variant:n,onContrast:o,...j,...r&&m},R||B)),t&&e.jsxRuntimeExports.jsx(f.Menu,{"data-testid":`${d}-menu`,positioning:{placement:"bottom"},...t,buttonProps:{...t.buttonProps,size:u,variant:n,onContrast:o,...r&&{...m,borderTopLeftRadius:0,borderBottomLeftRadius:0}}})]})};exports.ButtonGroup=P;
2
- //# sourceMappingURL=buttonGroup.component-BRafsTrY.js.map
1
+ "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),p=require("react"),q=require("./button.component-DjdgBXDC.js"),f=require("./menu.component-FO_IaQrY.js"),a=require("./use-recipe-DaPWl_pL.js"),y=require("./icon-button-B9rScw-E.js"),G=require("./group-_vcW9myt.js"),E=p.forwardRef(function(s,i){const t=a.useRecipe({key:"button"}),[o,u]=p.useMemo(()=>t.splitVariantProps(s),[s,t]);return e.jsxRuntimeExports.jsx(y.ButtonPropsProvider,{value:o,children:e.jsxRuntimeExports.jsx(G.Group,{ref:i,...u})})}),P=({attached:r=!0,borderColor:s,buttons:i,menuProps:t,onContrast:o=!1,size:u="md",variant:n="primary",["data-testid"]:d="kibble-button-group",...l})=>{const x=p.useMemo(()=>`${n}${o?"OnContrast":""}`,[o,n]),c=a.useRecipe({key:"button"})({variant:x})["@layer recipes"],b=c?.borderColor!=="var(--chakra-colors-transparent)"?c?.borderColor:c?.color,m={borderWidth:"1px",borderColor:s||b};return e.jsxRuntimeExports.jsxs(E,{className:"ButtonGroup","data-testid":d,attached:r,...l,children:[i.map(({key:R,...j},B)=>e.jsxRuntimeExports.jsx(q.Button,{size:u,variant:n,onContrast:o,...j,...r&&m},R||B)),t&&e.jsxRuntimeExports.jsx(f.Menu,{"data-testid":`${d}-menu`,positioning:{placement:"bottom"},...t,buttonProps:{...t.buttonProps,size:u,variant:n,onContrast:o,...r&&{...m,borderTopLeftRadius:0,borderBottomLeftRadius:0}}})]})};exports.ButtonGroup=P;
2
+ //# sourceMappingURL=buttonGroup.component-DU6vLWb8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttonGroup.component-BRafsTrY.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/button/button-group.js","../../src/components/ButtonGroup/buttonGroup.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useMemo } from 'react';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\nimport { ButtonPropsProvider } from './button.js';\nimport { Group } from '../group/group.js';\n\nconst ButtonGroup = forwardRef(\n function ButtonGroup2(props, ref) {\n const recipe = useRecipe({ key: \"button\" });\n const [variantProps, otherProps] = useMemo(\n () => recipe.splitVariantProps(props),\n [props, recipe]\n );\n return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });\n }\n);\n\nexport { ButtonGroup };\n","import React, { useMemo } from 'react';\nimport { ButtonGroup as CButtonGroup, ButtonGroupProps as CButtonGroupProps } from '@chakra-ui/react/button';\nimport { GroupedButton } from './buttonGroup.types';\nimport { ButtonConfigVariant, ButtonSize, ButtonVariant } from 'components/Button/button.types';\nimport { Button } from 'components/Button/button.component';\nimport { SystemStyleObject, useRecipe } from '@chakra-ui/react/styled-system';\nimport { Menu, MenuProps } from 'components/Menu/menu.component';\n\nexport interface ButtonGroupProps extends CButtonGroupProps {\n /** An array of button objects to be rendered in the group. */\n buttons: GroupedButton[];\n /** Determines wether the button should render a contrasting variant. */\n onContrast?: boolean;\n /** Size of the button group.\n * @default md\n */\n size?: ButtonSize;\n /** Variants are used to adjust the button look and feel. Choose a variant that aligns with the button intent and role in the overall design. */\n variant?: ButtonVariant;\n /** If provided, a Menu will be rendered as the last element in the group. See `Menu` for more information. */\n menuProps?: MenuProps;\n /** Data test id for the button group.\n * @default kibble-button-group\n */\n 'data-testid'?: string;\n}\n\nexport const ButtonGroup = ({\n attached = true,\n borderColor,\n buttons,\n menuProps,\n onContrast = false,\n size = 'md',\n variant = 'primary',\n ['data-testid']: dataTestId = 'kibble-button-group',\n ...rest\n}: ButtonGroupProps): React.JSX.Element => {\n const computedVariant = useMemo(\n () => `${variant}${onContrast ? 'OnContrast' : ''}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n const recipe = useRecipe({ key: 'button' });\n const styles = recipe({ variant: computedVariant })['@layer recipes'];\n const computedBorderColor =\n styles?.borderColor !== 'var(--chakra-colors-transparent)' ? styles?.borderColor : styles?.color;\n\n const buttonStyles: SystemStyleObject = {\n borderWidth: '1px',\n borderColor: borderColor || computedBorderColor,\n };\n\n return (\n <CButtonGroup className=\"ButtonGroup\" data-testid={dataTestId} attached={attached} {...rest}>\n {buttons.map(({ key, ...rest }, index) => (\n <Button\n key={key || index}\n size={size}\n variant={variant}\n onContrast={onContrast}\n {...rest}\n {...(attached && buttonStyles)}\n />\n ))}\n {menuProps && (\n <Menu\n data-testid={`${dataTestId}-menu`}\n positioning={{ placement: 'bottom' }}\n {...menuProps}\n buttonProps={{\n ...menuProps.buttonProps,\n size,\n variant,\n onContrast,\n ...(attached && {\n ...buttonStyles,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n }}\n />\n )}\n </CButtonGroup>\n );\n};\n"],"names":["ButtonGroup","forwardRef","props","ref","recipe","useRecipe","variantProps","otherProps","useMemo","jsx","ButtonPropsProvider","Group","attached","borderColor","buttons","menuProps","onContrast","size","variant","dataTestId","rest","computedVariant","styles","computedBorderColor","buttonStyles","jsxs","CButtonGroup","key","index","Button","Menu"],"mappings":"iRAQMA,EAAcC,EAAU,WAC5B,SAAsBC,EAAOC,EAAK,CAChC,MAAMC,EAASC,EAAS,UAAC,CAAE,IAAK,QAAQ,CAAE,EACpC,CAACC,EAAcC,CAAU,EAAIC,EAAO,QACxC,IAAMJ,EAAO,kBAAkBF,CAAK,EACpC,CAACA,EAAOE,CAAM,CACf,EACD,OAAuBK,EAAG,kBAAA,IAACC,EAAmB,oBAAE,CAAE,MAAOJ,EAAc,SAA0BG,wBAAIE,EAAAA,MAAO,CAAE,IAAAR,EAAK,GAAGI,CAAU,CAAE,CAAC,CAAE,CACzI,CACA,ECUaP,EAAc,CAAC,CAC1B,SAAAY,EAAW,GACX,YAAAC,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,GACb,KAAAC,EAAO,KACP,QAAAC,EAAU,UACV,CAAC,eAAgBC,EAAa,sBAC9B,GAAGC,CACL,IAA2C,CACzC,MAAMC,EAAkBb,EAAA,QACtB,IAAM,GAAGU,CAAO,GAAGF,EAAa,aAAe,EAAE,GACjD,CAACA,EAAYE,CAAO,CACtB,EAEMI,EADSjB,EAAA,UAAU,CAAE,IAAK,SAAU,EACpB,CAAE,QAASgB,CAAgB,CAAC,EAAE,gBAAgB,EAC9DE,EACJD,GAAQ,cAAgB,mCAAqCA,GAAQ,YAAcA,GAAQ,MAEvFE,EAAkC,CACtC,YAAa,MACb,YAAaX,GAAeU,CAC9B,EAGE,OAAAE,yBAACC,GAAa,UAAU,cAAc,cAAaP,EAAY,SAAAP,EAAqB,GAAGQ,EACpF,SAAA,CAAAN,EAAQ,IAAI,CAAC,CAAE,IAAAa,EAAK,GAAGP,CAAAA,EAAQQ,IAC9BnB,EAAA,kBAAA,IAACoB,EAAA,OAAA,CAEC,KAAAZ,EACA,QAAAC,EACA,WAAAF,EACC,GAAGI,EACH,GAAIR,GAAYY,CAAA,EALZG,GAAOC,CAAA,CAOf,EACAb,GACCN,EAAA,kBAAA,IAACqB,EAAA,KAAA,CACC,cAAa,GAAGX,CAAU,QAC1B,YAAa,CAAE,UAAW,QAAS,EAClC,GAAGJ,EACJ,YAAa,CACX,GAAGA,EAAU,YACb,KAAAE,EACA,QAAAC,EACA,WAAAF,EACA,GAAIJ,GAAY,CACd,GAAGY,EACH,oBAAqB,EACrB,uBAAwB,CAAA,CAC1B,CACF,CAAA,CACF,EAEJ,CAEJ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"buttonGroup.component-DU6vLWb8.js","sources":["../../node_modules/@chakra-ui/react/dist/esm/components/button/button-group.js","../../src/components/ButtonGroup/buttonGroup.component.tsx"],"sourcesContent":["\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef, useMemo } from 'react';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\nimport { ButtonPropsProvider } from './button.js';\nimport { Group } from '../group/group.js';\n\nconst ButtonGroup = forwardRef(\n function ButtonGroup2(props, ref) {\n const recipe = useRecipe({ key: \"button\" });\n const [variantProps, otherProps] = useMemo(\n () => recipe.splitVariantProps(props),\n [props, recipe]\n );\n return /* @__PURE__ */ jsx(ButtonPropsProvider, { value: variantProps, children: /* @__PURE__ */ jsx(Group, { ref, ...otherProps }) });\n }\n);\n\nexport { ButtonGroup };\n","import React, { useMemo } from 'react';\nimport { ButtonGroup as CButtonGroup, ButtonGroupProps as CButtonGroupProps } from '@chakra-ui/react/button';\nimport { GroupedButton } from './buttonGroup.types';\nimport { ButtonConfigVariant, ButtonSize, ButtonVariant } from 'components/Button/button.types';\nimport { Button } from 'components/Button/button.component';\nimport { SystemStyleObject, useRecipe } from '@chakra-ui/react/styled-system';\nimport { Menu, MenuProps } from 'components/Menu/menu.component';\n\nexport interface ButtonGroupProps extends CButtonGroupProps {\n /** An array of button objects to be rendered in the group. */\n buttons: GroupedButton[];\n /** Determines wether the button should render a contrasting variant. */\n onContrast?: boolean;\n /** Size of the button group.\n * @default md\n */\n size?: ButtonSize;\n /** Variants are used to adjust the button look and feel. Choose a variant that aligns with the button intent and role in the overall design. */\n variant?: ButtonVariant;\n /** If provided, a Menu will be rendered as the last element in the group. See `Menu` for more information. */\n menuProps?: MenuProps;\n /** Data test id for the button group.\n * @default kibble-button-group\n */\n 'data-testid'?: string;\n}\n\nexport const ButtonGroup = ({\n attached = true,\n borderColor,\n buttons,\n menuProps,\n onContrast = false,\n size = 'md',\n variant = 'primary',\n ['data-testid']: dataTestId = 'kibble-button-group',\n ...rest\n}: ButtonGroupProps): React.JSX.Element => {\n const computedVariant = useMemo(\n () => `${variant}${onContrast ? 'OnContrast' : ''}` as ButtonConfigVariant,\n [onContrast, variant],\n );\n const recipe = useRecipe({ key: 'button' });\n const styles = recipe({ variant: computedVariant })['@layer recipes'];\n const computedBorderColor =\n styles?.borderColor !== 'var(--chakra-colors-transparent)' ? styles?.borderColor : styles?.color;\n\n const buttonStyles: SystemStyleObject = {\n borderWidth: '1px',\n borderColor: borderColor || computedBorderColor,\n };\n\n return (\n <CButtonGroup className=\"ButtonGroup\" data-testid={dataTestId} attached={attached} {...rest}>\n {buttons.map(({ key, ...rest }, index) => (\n <Button\n key={key || index}\n size={size}\n variant={variant}\n onContrast={onContrast}\n {...rest}\n {...(attached && buttonStyles)}\n />\n ))}\n {menuProps && (\n <Menu\n data-testid={`${dataTestId}-menu`}\n positioning={{ placement: 'bottom' }}\n {...menuProps}\n buttonProps={{\n ...menuProps.buttonProps,\n size,\n variant,\n onContrast,\n ...(attached && {\n ...buttonStyles,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n }}\n />\n )}\n </CButtonGroup>\n );\n};\n"],"names":["ButtonGroup","forwardRef","props","ref","recipe","useRecipe","variantProps","otherProps","useMemo","jsx","ButtonPropsProvider","Group","attached","borderColor","buttons","menuProps","onContrast","size","variant","dataTestId","rest","computedVariant","styles","computedBorderColor","buttonStyles","jsxs","CButtonGroup","key","index","Button","Menu"],"mappings":"iRAQMA,EAAcC,EAAU,WAC5B,SAAsBC,EAAOC,EAAK,CAChC,MAAMC,EAASC,EAAS,UAAC,CAAE,IAAK,QAAQ,CAAE,EACpC,CAACC,EAAcC,CAAU,EAAIC,EAAO,QACxC,IAAMJ,EAAO,kBAAkBF,CAAK,EACpC,CAACA,EAAOE,CAAM,CACf,EACD,OAAuBK,EAAG,kBAAA,IAACC,EAAmB,oBAAE,CAAE,MAAOJ,EAAc,SAA0BG,wBAAIE,EAAAA,MAAO,CAAE,IAAAR,EAAK,GAAGI,CAAU,CAAE,CAAC,CAAE,CACzI,CACA,ECUaP,EAAc,CAAC,CAC1B,SAAAY,EAAW,GACX,YAAAC,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,GACb,KAAAC,EAAO,KACP,QAAAC,EAAU,UACV,CAAC,eAAgBC,EAAa,sBAC9B,GAAGC,CACL,IAA2C,CACzC,MAAMC,EAAkBb,EAAA,QACtB,IAAM,GAAGU,CAAO,GAAGF,EAAa,aAAe,EAAE,GACjD,CAACA,EAAYE,CAAO,CACtB,EAEMI,EADSjB,EAAA,UAAU,CAAE,IAAK,SAAU,EACpB,CAAE,QAASgB,CAAgB,CAAC,EAAE,gBAAgB,EAC9DE,EACJD,GAAQ,cAAgB,mCAAqCA,GAAQ,YAAcA,GAAQ,MAEvFE,EAAkC,CACtC,YAAa,MACb,YAAaX,GAAeU,CAC9B,EAGE,OAAAE,yBAACC,GAAa,UAAU,cAAc,cAAaP,EAAY,SAAAP,EAAqB,GAAGQ,EACpF,SAAA,CAAAN,EAAQ,IAAI,CAAC,CAAE,IAAAa,EAAK,GAAGP,CAAAA,EAAQQ,IAC9BnB,EAAA,kBAAA,IAACoB,EAAA,OAAA,CAEC,KAAAZ,EACA,QAAAC,EACA,WAAAF,EACC,GAAGI,EACH,GAAIR,GAAYY,CAAA,EALZG,GAAOC,CAAA,CAOf,EACAb,GACCN,EAAA,kBAAA,IAACqB,EAAA,KAAA,CACC,cAAa,GAAGX,CAAU,QAC1B,YAAa,CAAE,UAAW,QAAS,EAClC,GAAGJ,EACJ,YAAa,CACX,GAAGA,EAAU,YACb,KAAAE,EACA,QAAAC,EACA,WAAAF,EACA,GAAIJ,GAAY,CACd,GAAGY,EACH,oBAAqB,EACrB,uBAAwB,CAAA,CAC1B,CACF,CAAA,CACF,EAEJ,CAEJ","x_google_ignoreList":[0]}
@@ -1,6 +1,6 @@
1
1
  import { j as a } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { B as l } from "./index-9BerxEcw.js";
3
- import { u, a as p, b as D, c as x } from "./datePicker.provider-DvJrNnut.js";
3
+ import { u, a as p, b as D, c as x } from "./datePicker.provider-nQBNT52b.js";
4
4
  import { D as b } from "./divider.component-CFOh4Nw3.js";
5
5
  import { B as y } from "./button.component-BO6oee_V.js";
6
6
  import { s as f, a as j } from "./format-dJJ72A--.js";
@@ -59,4 +59,4 @@ export {
59
59
  O as a,
60
60
  R as i
61
61
  };
62
- //# sourceMappingURL=calendar.component-BswlIQ5W.js.map
62
+ //# sourceMappingURL=calendar.component-CraOSJrP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.component-BswlIQ5W.js","sources":["../../src/components/Calendar/calendarFooterButton.component.tsx","../../src/components/Calendar/calendar.utils.ts","../../src/components/Calendar/calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Button } from 'components/Button/button.component';\nimport { useDatePickerContext } from 'components/DatePicker/context/datePicker.context';\nimport startOfDay from 'date-fns/startOfDay';\nimport startOfWeek from 'date-fns/startOfWeek';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport endOfWeek from 'date-fns/endOfWeek';\nimport endOfMonth from 'date-fns/endOfMonth';\n\n/**\n * The built-in preset values for CalendarFooterButton.\n *\n * Intentionally kept as plain string literals rather than re-using\n * DateTimePickerDefaultOptionValue to avoid a duplicate star-export conflict:\n * both Calendar and DateTimePicker barrel-export from components/index.ts,\n * and TypeScript silently drops ambiguous re-exports when two barrels supply\n * the same identifier. Keeping CalendarPreset self-contained prevents that\n * collision and makes the Calendar API standalone.\n */\nexport type CalendarPreset = 'today' | 'thisWeek' | 'thisMonth';\n\nexport interface CalendarFooterPresetConfig {\n type: 'preset';\n /** The built-in preset to apply when the button is clicked. */\n value: CalendarPreset;\n /**\n * Override the button label.\n * Defaults: 'today' → 'Today', 'thisWeek' → 'This Week', 'thisMonth' → 'This Month'.\n */\n label?: string;\n /** Optional callback fired after the preset date is selected. */\n onClick?: () => void;\n}\n\nexport interface CalendarFooterCustomConfig {\n type: 'custom';\n /** Button label — required for custom type. */\n label: string;\n /** Handler called when the button is clicked. Full control — no date selection is performed. */\n onClick: () => void;\n}\n\nexport type CalendarFooterConfig = CalendarFooterPresetConfig | CalendarFooterCustomConfig;\n\nconst PRESET_LABELS: Record<CalendarPreset, string> = {\n today: 'Today',\n thisWeek: 'This Week',\n thisMonth: 'This Month',\n};\n\ninterface CalendarFooterButtonProps {\n footer: CalendarFooterConfig;\n /** Data test id for the footer container.\n * @default kibble-calendar-footer\n */\n 'data-testid'?: string;\n}\n\nexport const CalendarFooterButton = ({\n footer,\n ['data-testid']: dataTestId = 'kibble-calendar-footer',\n}: CalendarFooterButtonProps): React.JSX.Element => {\n const { goToDate, onDateSelect, onQuickOptionSelect, firstDayOfWeek } = useDatePickerContext();\n\n const handleClick = (): void => {\n if (footer.type === 'custom') {\n footer.onClick();\n return;\n }\n\n const today = new Date();\n\n switch (footer.value) {\n case 'today': {\n const date = startOfDay(today);\n goToDate(date);\n onDateSelect(date);\n break;\n }\n case 'thisWeek': {\n const weekStartsOn = (firstDayOfWeek ?? 1) as 0 | 1 | 2 | 3 | 4 | 5 | 6;\n const start = startOfWeek(today, { weekStartsOn });\n const end = endOfWeek(today, { weekStartsOn });\n goToDate(start);\n // onQuickOptionSelect sets both dates atomically, avoiding the two-click range flow\n onQuickOptionSelect({ startDate: start, endDate: end });\n break;\n }\n case 'thisMonth': {\n const start = startOfMonth(today);\n const end = endOfMonth(today);\n goToDate(start);\n onQuickOptionSelect({ startDate: start, endDate: end });\n break;\n }\n }\n\n footer.onClick?.();\n };\n\n const label = footer.type === 'custom' ? footer.label : (footer.label ?? PRESET_LABELS[footer.value]);\n\n return (\n <Box data-testid={dataTestId} bg=\"background.secondaryAlpha\" borderRadius=\"md\" p={2} w=\"full\">\n <Button variant=\"secondarySubtle\" size=\"md\" w=\"full\" onClick={handleClick}>\n {label}\n </Button>\n </Box>\n );\n};\n","import { CalendarPreset } from './calendarFooterButton.component';\n\n// Explicit allowlist — new presets default to single-day unless listed here\nconst RANGE_PRESETS = new Set<CalendarPreset>(['thisWeek', 'thisMonth']);\n\n/** Returns true when the preset requires date range selection (week, month). */\nexport const isRangePreset = (value: CalendarPreset): boolean => RANGE_PRESETS.has(value);\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { DatePickerCalendar } from 'components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component';\nimport { DatePickerHeader } from 'components/DatePicker/components/DatePickerHeader/datePickerHeader.component';\nimport { Divider } from 'components/Divider';\nimport { DatePickerProvider } from 'components/DatePicker/context/datePicker.provider';\nimport { DateProps } from 'components/DatePicker/datePicker.types';\nimport { CalendarFooterButton, CalendarFooterConfig } from './calendarFooterButton.component';\nimport { isRangePreset } from './calendar.utils';\n\nexport interface CalendarProps extends DateProps {\n /** Data test id for the calendar.\n * @default kibble-calendar\n */\n 'data-testid'?: string;\n /**\n * If true, the calendar will allow for a date range selection.\n * @default true\n */\n withDateRange?: boolean;\n /**\n * If true, the calendar will show the month and year selectors in the header.\n * @default false\n */\n withHeaderTriggers?: boolean;\n /**\n * Optional footer button configuration. Renders a styled button below the calendar grid.\n *\n * Use `type: 'preset'` for built-in shortcuts ('today' | 'thisWeek' | 'thisMonth') — the\n * component handles the date selection logic automatically.\n *\n * Use `type: 'custom'` to supply your own label and click handler with no built-in date logic.\n *\n * @example\n * // Preset\n * footer={{ type: 'preset', value: 'today', onClick: () => setOpen(false) }}\n *\n * @example\n * // Custom\n * footer={{ type: 'custom', label: 'Reset', onClick: handleReset }}\n */\n footer?: CalendarFooterConfig;\n}\n\nexport const Calendar = ({\n ['data-testid']: dataTestId = 'kibble-calendar',\n withDateRange = true,\n withHeaderTriggers = false,\n footer,\n ...rest\n}: CalendarProps): React.JSX.Element => {\n // Range presets (thisWeek, thisMonth) require date range mode regardless of the withDateRange prop\n const effectiveDateRange = withDateRange || (footer?.type === 'preset' && isRangePreset(footer.value));\n\n return (\n <Box className=\"Calendar\" data-testid={dataTestId} maxW={footer ? '360px' : '340px'}>\n <DatePickerProvider withDateRange={effectiveDateRange} {...rest} standalone>\n <DatePickerHeader withTriggers={withHeaderTriggers} />\n <Divider />\n <DatePickerCalendar />\n {footer && <CalendarFooterButton footer={footer} />}\n </DatePickerProvider>\n </Box>\n );\n};\n"],"names":["PRESET_LABELS","CalendarFooterButton","footer","dataTestId","goToDate","onDateSelect","onQuickOptionSelect","firstDayOfWeek","useDatePickerContext","handleClick","today","date","startOfDay","weekStartsOn","start","startOfWeek","end","endOfWeek","startOfMonth","endOfMonth","label","jsx","Box","Button","RANGE_PRESETS","isRangePreset","value","Calendar","withDateRange","withHeaderTriggers","rest","effectiveDateRange","DatePickerProvider","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":";;;;;;;AA6CA,MAAMA,IAAgD;AAAA,EACpD,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AACb,GAUaC,IAAuB,CAAC;AAAA,EACnC,QAAAC;AAAA,EACA,CAAC,gBAAgBC,IAAa;AAChC,MAAoD;AAClD,QAAM,EAAE,UAAAC,GAAU,cAAAC,GAAc,qBAAAC,GAAqB,gBAAAC,EAAA,IAAmBC,EAAqB,GAEvFC,IAAc,MAAY;AAC1B,QAAAP,EAAO,SAAS,UAAU;AAC5B,MAAAA,EAAO,QAAQ;AACf;AAAA,IAAA;AAGI,UAAAQ,wBAAY,KAAK;AAEvB,YAAQR,EAAO,OAAO;AAAA,MACpB,KAAK,SAAS;AACN,cAAAS,IAAOC,EAAWF,CAAK;AAC7B,QAAAN,EAASO,CAAI,GACbN,EAAaM,CAAI;AACjB;AAAA,MAAA;AAAA,MAEF,KAAK,YAAY;AACf,cAAME,IAAgBN,KAAkB,GAClCO,IAAQC,EAAYL,GAAO,EAAE,cAAAG,GAAc,GAC3CG,IAAMC,EAAUP,GAAO,EAAE,cAAAG,GAAc;AAC7C,QAAAT,EAASU,CAAK,GAEdR,EAAoB,EAAE,WAAWQ,GAAO,SAASE,GAAK;AACtD;AAAA,MAAA;AAAA,MAEF,KAAK,aAAa;AACV,cAAAF,IAAQI,EAAaR,CAAK,GAC1BM,IAAMG,EAAWT,CAAK;AAC5B,QAAAN,EAASU,CAAK,GACdR,EAAoB,EAAE,WAAWQ,GAAO,SAASE,GAAK;AACtD;AAAA,MAAA;AAAA,IACF;AAGF,IAAAd,EAAO,UAAU;AAAA,EACnB,GAEMkB,IAAQlB,EAAO,SAAS,WAAWA,EAAO,QAASA,EAAO,SAASF,EAAcE,EAAO,KAAK;AAGjG,SAAAmB,gBAAAA,EAAA,IAACC,KAAI,eAAanB,GAAY,IAAG,6BAA4B,cAAa,MAAK,GAAG,GAAG,GAAE,QACrF,UAACkB,gBAAAA,EAAA,IAAAE,GAAA,EAAO,SAAQ,mBAAkB,MAAK,MAAK,GAAE,QAAO,SAASd,GAC3D,UAAAW,EAAA,CACH,EACF,CAAA;AAEJ,GC3GMI,IAAoB,oBAAA,IAAoB,CAAC,YAAY,WAAW,CAAC,GAG1DC,IAAgB,CAACC,MAAmCF,EAAc,IAAIE,CAAK,GCsC3EC,IAAW,CAAC;AAAA,EACvB,CAAC,gBAAgBxB,IAAa;AAAA,EAC9B,eAAAyB,IAAgB;AAAA,EAChB,oBAAAC,IAAqB;AAAA,EACrB,QAAA3B;AAAA,EACA,GAAG4B;AACL,MAAwC;AAEtC,QAAMC,IAAqBH,KAAkB1B,GAAQ,SAAS,YAAYuB,EAAcvB,EAAO,KAAK;AAEpG,+BACGoB,GAAI,EAAA,WAAU,YAAW,eAAanB,GAAY,MAAMD,IAAS,UAAU,SAC1E,iCAAC8B,GAAmB,EAAA,eAAeD,GAAqB,GAAGD,GAAM,YAAU,IACzE,UAAA;AAAA,IAACT,gBAAAA,EAAAA,IAAAY,GAAA,EAAiB,cAAcJ,EAAoB,CAAA;AAAA,0BACnDK,GAAQ,EAAA;AAAA,0BACRC,GAAmB,EAAA;AAAA,IACnBjC,KAAWmB,gBAAAA,EAAA,IAAApB,GAAA,EAAqB,QAAAC,EAAgB,CAAA;AAAA,EAAA,EAAA,CACnD,EACF,CAAA;AAEJ;"}
1
+ {"version":3,"file":"calendar.component-CraOSJrP.js","sources":["../../src/components/Calendar/calendarFooterButton.component.tsx","../../src/components/Calendar/calendar.utils.ts","../../src/components/Calendar/calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Button } from 'components/Button/button.component';\nimport { useDatePickerContext } from 'components/DatePicker/context/datePicker.context';\nimport startOfDay from 'date-fns/startOfDay';\nimport startOfWeek from 'date-fns/startOfWeek';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport endOfWeek from 'date-fns/endOfWeek';\nimport endOfMonth from 'date-fns/endOfMonth';\n\n/**\n * The built-in preset values for CalendarFooterButton.\n *\n * Intentionally kept as plain string literals rather than re-using\n * DateTimePickerDefaultOptionValue to avoid a duplicate star-export conflict:\n * both Calendar and DateTimePicker barrel-export from components/index.ts,\n * and TypeScript silently drops ambiguous re-exports when two barrels supply\n * the same identifier. Keeping CalendarPreset self-contained prevents that\n * collision and makes the Calendar API standalone.\n */\nexport type CalendarPreset = 'today' | 'thisWeek' | 'thisMonth';\n\nexport interface CalendarFooterPresetConfig {\n type: 'preset';\n /** The built-in preset to apply when the button is clicked. */\n value: CalendarPreset;\n /**\n * Override the button label.\n * Defaults: 'today' → 'Today', 'thisWeek' → 'This Week', 'thisMonth' → 'This Month'.\n */\n label?: string;\n /** Optional callback fired after the preset date is selected. */\n onClick?: () => void;\n}\n\nexport interface CalendarFooterCustomConfig {\n type: 'custom';\n /** Button label — required for custom type. */\n label: string;\n /** Handler called when the button is clicked. Full control — no date selection is performed. */\n onClick: () => void;\n}\n\nexport type CalendarFooterConfig = CalendarFooterPresetConfig | CalendarFooterCustomConfig;\n\nconst PRESET_LABELS: Record<CalendarPreset, string> = {\n today: 'Today',\n thisWeek: 'This Week',\n thisMonth: 'This Month',\n};\n\ninterface CalendarFooterButtonProps {\n footer: CalendarFooterConfig;\n /** Data test id for the footer container.\n * @default kibble-calendar-footer\n */\n 'data-testid'?: string;\n}\n\nexport const CalendarFooterButton = ({\n footer,\n ['data-testid']: dataTestId = 'kibble-calendar-footer',\n}: CalendarFooterButtonProps): React.JSX.Element => {\n const { goToDate, onDateSelect, onQuickOptionSelect, firstDayOfWeek } = useDatePickerContext();\n\n const handleClick = (): void => {\n if (footer.type === 'custom') {\n footer.onClick();\n return;\n }\n\n const today = new Date();\n\n switch (footer.value) {\n case 'today': {\n const date = startOfDay(today);\n goToDate(date);\n onDateSelect(date);\n break;\n }\n case 'thisWeek': {\n const weekStartsOn = (firstDayOfWeek ?? 1) as 0 | 1 | 2 | 3 | 4 | 5 | 6;\n const start = startOfWeek(today, { weekStartsOn });\n const end = endOfWeek(today, { weekStartsOn });\n goToDate(start);\n // onQuickOptionSelect sets both dates atomically, avoiding the two-click range flow\n onQuickOptionSelect({ startDate: start, endDate: end });\n break;\n }\n case 'thisMonth': {\n const start = startOfMonth(today);\n const end = endOfMonth(today);\n goToDate(start);\n onQuickOptionSelect({ startDate: start, endDate: end });\n break;\n }\n }\n\n footer.onClick?.();\n };\n\n const label = footer.type === 'custom' ? footer.label : (footer.label ?? PRESET_LABELS[footer.value]);\n\n return (\n <Box data-testid={dataTestId} bg=\"background.secondaryAlpha\" borderRadius=\"md\" p={2} w=\"full\">\n <Button variant=\"secondarySubtle\" size=\"md\" w=\"full\" onClick={handleClick}>\n {label}\n </Button>\n </Box>\n );\n};\n","import { CalendarPreset } from './calendarFooterButton.component';\n\n// Explicit allowlist — new presets default to single-day unless listed here\nconst RANGE_PRESETS = new Set<CalendarPreset>(['thisWeek', 'thisMonth']);\n\n/** Returns true when the preset requires date range selection (week, month). */\nexport const isRangePreset = (value: CalendarPreset): boolean => RANGE_PRESETS.has(value);\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { DatePickerCalendar } from 'components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component';\nimport { DatePickerHeader } from 'components/DatePicker/components/DatePickerHeader/datePickerHeader.component';\nimport { Divider } from 'components/Divider';\nimport { DatePickerProvider } from 'components/DatePicker/context/datePicker.provider';\nimport { DateProps } from 'components/DatePicker/datePicker.types';\nimport { CalendarFooterButton, CalendarFooterConfig } from './calendarFooterButton.component';\nimport { isRangePreset } from './calendar.utils';\n\nexport interface CalendarProps extends DateProps {\n /** Data test id for the calendar.\n * @default kibble-calendar\n */\n 'data-testid'?: string;\n /**\n * If true, the calendar will allow for a date range selection.\n * @default true\n */\n withDateRange?: boolean;\n /**\n * If true, the calendar will show the month and year selectors in the header.\n * @default false\n */\n withHeaderTriggers?: boolean;\n /**\n * Optional footer button configuration. Renders a styled button below the calendar grid.\n *\n * Use `type: 'preset'` for built-in shortcuts ('today' | 'thisWeek' | 'thisMonth') — the\n * component handles the date selection logic automatically.\n *\n * Use `type: 'custom'` to supply your own label and click handler with no built-in date logic.\n *\n * @example\n * // Preset\n * footer={{ type: 'preset', value: 'today', onClick: () => setOpen(false) }}\n *\n * @example\n * // Custom\n * footer={{ type: 'custom', label: 'Reset', onClick: handleReset }}\n */\n footer?: CalendarFooterConfig;\n}\n\nexport const Calendar = ({\n ['data-testid']: dataTestId = 'kibble-calendar',\n withDateRange = true,\n withHeaderTriggers = false,\n footer,\n ...rest\n}: CalendarProps): React.JSX.Element => {\n // Range presets (thisWeek, thisMonth) require date range mode regardless of the withDateRange prop\n const effectiveDateRange = withDateRange || (footer?.type === 'preset' && isRangePreset(footer.value));\n\n return (\n <Box className=\"Calendar\" data-testid={dataTestId} maxW={footer ? '360px' : '340px'}>\n <DatePickerProvider withDateRange={effectiveDateRange} {...rest} standalone>\n <DatePickerHeader withTriggers={withHeaderTriggers} />\n <Divider />\n <DatePickerCalendar />\n {footer && <CalendarFooterButton footer={footer} />}\n </DatePickerProvider>\n </Box>\n );\n};\n"],"names":["PRESET_LABELS","CalendarFooterButton","footer","dataTestId","goToDate","onDateSelect","onQuickOptionSelect","firstDayOfWeek","useDatePickerContext","handleClick","today","date","startOfDay","weekStartsOn","start","startOfWeek","end","endOfWeek","startOfMonth","endOfMonth","label","jsx","Box","Button","RANGE_PRESETS","isRangePreset","value","Calendar","withDateRange","withHeaderTriggers","rest","effectiveDateRange","DatePickerProvider","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":";;;;;;;AA6CA,MAAMA,IAAgD;AAAA,EACpD,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AACb,GAUaC,IAAuB,CAAC;AAAA,EACnC,QAAAC;AAAA,EACA,CAAC,gBAAgBC,IAAa;AAChC,MAAoD;AAClD,QAAM,EAAE,UAAAC,GAAU,cAAAC,GAAc,qBAAAC,GAAqB,gBAAAC,EAAA,IAAmBC,EAAqB,GAEvFC,IAAc,MAAY;AAC1B,QAAAP,EAAO,SAAS,UAAU;AAC5B,MAAAA,EAAO,QAAQ;AACf;AAAA,IAAA;AAGI,UAAAQ,wBAAY,KAAK;AAEvB,YAAQR,EAAO,OAAO;AAAA,MACpB,KAAK,SAAS;AACN,cAAAS,IAAOC,EAAWF,CAAK;AAC7B,QAAAN,EAASO,CAAI,GACbN,EAAaM,CAAI;AACjB;AAAA,MAAA;AAAA,MAEF,KAAK,YAAY;AACf,cAAME,IAAgBN,KAAkB,GAClCO,IAAQC,EAAYL,GAAO,EAAE,cAAAG,GAAc,GAC3CG,IAAMC,EAAUP,GAAO,EAAE,cAAAG,GAAc;AAC7C,QAAAT,EAASU,CAAK,GAEdR,EAAoB,EAAE,WAAWQ,GAAO,SAASE,GAAK;AACtD;AAAA,MAAA;AAAA,MAEF,KAAK,aAAa;AACV,cAAAF,IAAQI,EAAaR,CAAK,GAC1BM,IAAMG,EAAWT,CAAK;AAC5B,QAAAN,EAASU,CAAK,GACdR,EAAoB,EAAE,WAAWQ,GAAO,SAASE,GAAK;AACtD;AAAA,MAAA;AAAA,IACF;AAGF,IAAAd,EAAO,UAAU;AAAA,EACnB,GAEMkB,IAAQlB,EAAO,SAAS,WAAWA,EAAO,QAASA,EAAO,SAASF,EAAcE,EAAO,KAAK;AAGjG,SAAAmB,gBAAAA,EAAA,IAACC,KAAI,eAAanB,GAAY,IAAG,6BAA4B,cAAa,MAAK,GAAG,GAAG,GAAE,QACrF,UAACkB,gBAAAA,EAAA,IAAAE,GAAA,EAAO,SAAQ,mBAAkB,MAAK,MAAK,GAAE,QAAO,SAASd,GAC3D,UAAAW,EAAA,CACH,EACF,CAAA;AAEJ,GC3GMI,IAAoB,oBAAA,IAAoB,CAAC,YAAY,WAAW,CAAC,GAG1DC,IAAgB,CAACC,MAAmCF,EAAc,IAAIE,CAAK,GCsC3EC,IAAW,CAAC;AAAA,EACvB,CAAC,gBAAgBxB,IAAa;AAAA,EAC9B,eAAAyB,IAAgB;AAAA,EAChB,oBAAAC,IAAqB;AAAA,EACrB,QAAA3B;AAAA,EACA,GAAG4B;AACL,MAAwC;AAEtC,QAAMC,IAAqBH,KAAkB1B,GAAQ,SAAS,YAAYuB,EAAcvB,EAAO,KAAK;AAEpG,+BACGoB,GAAI,EAAA,WAAU,YAAW,eAAanB,GAAY,MAAMD,IAAS,UAAU,SAC1E,iCAAC8B,GAAmB,EAAA,eAAeD,GAAqB,GAAGD,GAAM,YAAU,IACzE,UAAA;AAAA,IAACT,gBAAAA,EAAAA,IAAAY,GAAA,EAAiB,cAAcJ,EAAoB,CAAA;AAAA,0BACnDK,GAAQ,EAAA;AAAA,0BACRC,GAAmB,EAAA;AAAA,IACnBjC,KAAWmB,gBAAAA,EAAA,IAAApB,GAAA,EAAqB,QAAAC,EAAgB,CAAA;AAAA,EAAA,EAAA,CACnD,EACF,CAAA;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";const s=require("./jsx-runtime-BjDatQAs.js"),h=require("./index-BQRnVsAg.js"),o=require("./datePicker.provider-CcGhcyCp.js"),D=require("./divider.component-BX3zyB7O.js"),b=require("./button.component-DjdgBXDC.js"),x=require("./format-CK7Imh-5.js"),u=require("./endOfMonth-ClO3w4vF.js"),E={today:"Today",thisWeek:"This Week",thisMonth:"This Month"},k=({footer:e,["data-testid"]:d="kibble-calendar-footer"})=>{const{goToDate:a,onDateSelect:n,onQuickOptionSelect:i,firstDayOfWeek:l}=o.useDatePickerContext(),m=()=>{if(e.type==="custom"){e.onClick();return}const r=new Date;switch(e.value){case"today":{const t=x.startOfDay(r);a(t),n(t);break}case"thisWeek":{const t=l??1,c=x.startOfWeek(r,{weekStartsOn:t}),R=u.endOfWeek(r,{weekStartsOn:t});a(c),i({startDate:c,endDate:R});break}case"thisMonth":{const t=u.startOfMonth(r),c=u.endOfMonth(r);a(t),i({startDate:t,endDate:c});break}}e.onClick?.()},j=e.type==="custom"?e.label:e.label??E[e.value];return s.jsxRuntimeExports.jsx(h.Box,{"data-testid":d,bg:"background.secondaryAlpha",borderRadius:"md",p:2,w:"full",children:s.jsxRuntimeExports.jsx(b.Button,{variant:"secondarySubtle",size:"md",w:"full",onClick:m,children:j})})},y=new Set(["thisWeek","thisMonth"]),p=e=>y.has(e),C=({["data-testid"]:e="kibble-calendar",withDateRange:d=!0,withHeaderTriggers:a=!1,footer:n,...i})=>{const l=d||n?.type==="preset"&&p(n.value);return s.jsxRuntimeExports.jsx(h.Box,{className:"Calendar","data-testid":e,maxW:n?"360px":"340px",children:s.jsxRuntimeExports.jsxs(o.DatePickerProvider,{withDateRange:l,...i,standalone:!0,children:[s.jsxRuntimeExports.jsx(o.DatePickerHeader,{withTriggers:a}),s.jsxRuntimeExports.jsx(D.Divider,{}),s.jsxRuntimeExports.jsx(o.DatePickerCalendar,{}),n&&s.jsxRuntimeExports.jsx(k,{footer:n})]})})};exports.Calendar=C;exports.CalendarFooterButton=k;exports.isRangePreset=p;
2
- //# sourceMappingURL=calendar.component-Dt452bDI.js.map
1
+ "use strict";const s=require("./jsx-runtime-BjDatQAs.js"),h=require("./index-BQRnVsAg.js"),o=require("./datePicker.provider-CdrTfoem.js"),D=require("./divider.component-BX3zyB7O.js"),b=require("./button.component-DjdgBXDC.js"),x=require("./format-CK7Imh-5.js"),u=require("./endOfMonth-ClO3w4vF.js"),E={today:"Today",thisWeek:"This Week",thisMonth:"This Month"},k=({footer:e,["data-testid"]:d="kibble-calendar-footer"})=>{const{goToDate:a,onDateSelect:n,onQuickOptionSelect:i,firstDayOfWeek:l}=o.useDatePickerContext(),m=()=>{if(e.type==="custom"){e.onClick();return}const r=new Date;switch(e.value){case"today":{const t=x.startOfDay(r);a(t),n(t);break}case"thisWeek":{const t=l??1,c=x.startOfWeek(r,{weekStartsOn:t}),R=u.endOfWeek(r,{weekStartsOn:t});a(c),i({startDate:c,endDate:R});break}case"thisMonth":{const t=u.startOfMonth(r),c=u.endOfMonth(r);a(t),i({startDate:t,endDate:c});break}}e.onClick?.()},j=e.type==="custom"?e.label:e.label??E[e.value];return s.jsxRuntimeExports.jsx(h.Box,{"data-testid":d,bg:"background.secondaryAlpha",borderRadius:"md",p:2,w:"full",children:s.jsxRuntimeExports.jsx(b.Button,{variant:"secondarySubtle",size:"md",w:"full",onClick:m,children:j})})},y=new Set(["thisWeek","thisMonth"]),p=e=>y.has(e),C=({["data-testid"]:e="kibble-calendar",withDateRange:d=!0,withHeaderTriggers:a=!1,footer:n,...i})=>{const l=d||n?.type==="preset"&&p(n.value);return s.jsxRuntimeExports.jsx(h.Box,{className:"Calendar","data-testid":e,maxW:n?"360px":"340px",children:s.jsxRuntimeExports.jsxs(o.DatePickerProvider,{withDateRange:l,...i,standalone:!0,children:[s.jsxRuntimeExports.jsx(o.DatePickerHeader,{withTriggers:a}),s.jsxRuntimeExports.jsx(D.Divider,{}),s.jsxRuntimeExports.jsx(o.DatePickerCalendar,{}),n&&s.jsxRuntimeExports.jsx(k,{footer:n})]})})};exports.Calendar=C;exports.CalendarFooterButton=k;exports.isRangePreset=p;
2
+ //# sourceMappingURL=calendar.component-DBf462dd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.component-Dt452bDI.js","sources":["../../src/components/Calendar/calendarFooterButton.component.tsx","../../src/components/Calendar/calendar.utils.ts","../../src/components/Calendar/calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Button } from 'components/Button/button.component';\nimport { useDatePickerContext } from 'components/DatePicker/context/datePicker.context';\nimport startOfDay from 'date-fns/startOfDay';\nimport startOfWeek from 'date-fns/startOfWeek';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport endOfWeek from 'date-fns/endOfWeek';\nimport endOfMonth from 'date-fns/endOfMonth';\n\n/**\n * The built-in preset values for CalendarFooterButton.\n *\n * Intentionally kept as plain string literals rather than re-using\n * DateTimePickerDefaultOptionValue to avoid a duplicate star-export conflict:\n * both Calendar and DateTimePicker barrel-export from components/index.ts,\n * and TypeScript silently drops ambiguous re-exports when two barrels supply\n * the same identifier. Keeping CalendarPreset self-contained prevents that\n * collision and makes the Calendar API standalone.\n */\nexport type CalendarPreset = 'today' | 'thisWeek' | 'thisMonth';\n\nexport interface CalendarFooterPresetConfig {\n type: 'preset';\n /** The built-in preset to apply when the button is clicked. */\n value: CalendarPreset;\n /**\n * Override the button label.\n * Defaults: 'today' → 'Today', 'thisWeek' → 'This Week', 'thisMonth' → 'This Month'.\n */\n label?: string;\n /** Optional callback fired after the preset date is selected. */\n onClick?: () => void;\n}\n\nexport interface CalendarFooterCustomConfig {\n type: 'custom';\n /** Button label — required for custom type. */\n label: string;\n /** Handler called when the button is clicked. Full control — no date selection is performed. */\n onClick: () => void;\n}\n\nexport type CalendarFooterConfig = CalendarFooterPresetConfig | CalendarFooterCustomConfig;\n\nconst PRESET_LABELS: Record<CalendarPreset, string> = {\n today: 'Today',\n thisWeek: 'This Week',\n thisMonth: 'This Month',\n};\n\ninterface CalendarFooterButtonProps {\n footer: CalendarFooterConfig;\n /** Data test id for the footer container.\n * @default kibble-calendar-footer\n */\n 'data-testid'?: string;\n}\n\nexport const CalendarFooterButton = ({\n footer,\n ['data-testid']: dataTestId = 'kibble-calendar-footer',\n}: CalendarFooterButtonProps): React.JSX.Element => {\n const { goToDate, onDateSelect, onQuickOptionSelect, firstDayOfWeek } = useDatePickerContext();\n\n const handleClick = (): void => {\n if (footer.type === 'custom') {\n footer.onClick();\n return;\n }\n\n const today = new Date();\n\n switch (footer.value) {\n case 'today': {\n const date = startOfDay(today);\n goToDate(date);\n onDateSelect(date);\n break;\n }\n case 'thisWeek': {\n const weekStartsOn = (firstDayOfWeek ?? 1) as 0 | 1 | 2 | 3 | 4 | 5 | 6;\n const start = startOfWeek(today, { weekStartsOn });\n const end = endOfWeek(today, { weekStartsOn });\n goToDate(start);\n // onQuickOptionSelect sets both dates atomically, avoiding the two-click range flow\n onQuickOptionSelect({ startDate: start, endDate: end });\n break;\n }\n case 'thisMonth': {\n const start = startOfMonth(today);\n const end = endOfMonth(today);\n goToDate(start);\n onQuickOptionSelect({ startDate: start, endDate: end });\n break;\n }\n }\n\n footer.onClick?.();\n };\n\n const label = footer.type === 'custom' ? footer.label : (footer.label ?? PRESET_LABELS[footer.value]);\n\n return (\n <Box data-testid={dataTestId} bg=\"background.secondaryAlpha\" borderRadius=\"md\" p={2} w=\"full\">\n <Button variant=\"secondarySubtle\" size=\"md\" w=\"full\" onClick={handleClick}>\n {label}\n </Button>\n </Box>\n );\n};\n","import { CalendarPreset } from './calendarFooterButton.component';\n\n// Explicit allowlist — new presets default to single-day unless listed here\nconst RANGE_PRESETS = new Set<CalendarPreset>(['thisWeek', 'thisMonth']);\n\n/** Returns true when the preset requires date range selection (week, month). */\nexport const isRangePreset = (value: CalendarPreset): boolean => RANGE_PRESETS.has(value);\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { DatePickerCalendar } from 'components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component';\nimport { DatePickerHeader } from 'components/DatePicker/components/DatePickerHeader/datePickerHeader.component';\nimport { Divider } from 'components/Divider';\nimport { DatePickerProvider } from 'components/DatePicker/context/datePicker.provider';\nimport { DateProps } from 'components/DatePicker/datePicker.types';\nimport { CalendarFooterButton, CalendarFooterConfig } from './calendarFooterButton.component';\nimport { isRangePreset } from './calendar.utils';\n\nexport interface CalendarProps extends DateProps {\n /** Data test id for the calendar.\n * @default kibble-calendar\n */\n 'data-testid'?: string;\n /**\n * If true, the calendar will allow for a date range selection.\n * @default true\n */\n withDateRange?: boolean;\n /**\n * If true, the calendar will show the month and year selectors in the header.\n * @default false\n */\n withHeaderTriggers?: boolean;\n /**\n * Optional footer button configuration. Renders a styled button below the calendar grid.\n *\n * Use `type: 'preset'` for built-in shortcuts ('today' | 'thisWeek' | 'thisMonth') — the\n * component handles the date selection logic automatically.\n *\n * Use `type: 'custom'` to supply your own label and click handler with no built-in date logic.\n *\n * @example\n * // Preset\n * footer={{ type: 'preset', value: 'today', onClick: () => setOpen(false) }}\n *\n * @example\n * // Custom\n * footer={{ type: 'custom', label: 'Reset', onClick: handleReset }}\n */\n footer?: CalendarFooterConfig;\n}\n\nexport const Calendar = ({\n ['data-testid']: dataTestId = 'kibble-calendar',\n withDateRange = true,\n withHeaderTriggers = false,\n footer,\n ...rest\n}: CalendarProps): React.JSX.Element => {\n // Range presets (thisWeek, thisMonth) require date range mode regardless of the withDateRange prop\n const effectiveDateRange = withDateRange || (footer?.type === 'preset' && isRangePreset(footer.value));\n\n return (\n <Box className=\"Calendar\" data-testid={dataTestId} maxW={footer ? '360px' : '340px'}>\n <DatePickerProvider withDateRange={effectiveDateRange} {...rest} standalone>\n <DatePickerHeader withTriggers={withHeaderTriggers} />\n <Divider />\n <DatePickerCalendar />\n {footer && <CalendarFooterButton footer={footer} />}\n </DatePickerProvider>\n </Box>\n );\n};\n"],"names":["PRESET_LABELS","CalendarFooterButton","footer","dataTestId","goToDate","onDateSelect","onQuickOptionSelect","firstDayOfWeek","useDatePickerContext","handleClick","today","date","startOfDay","weekStartsOn","start","startOfWeek","end","endOfWeek","startOfMonth","endOfMonth","label","jsx","Box","Button","RANGE_PRESETS","isRangePreset","value","Calendar","withDateRange","withHeaderTriggers","rest","effectiveDateRange","DatePickerProvider","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":"2SA6CMA,EAAgD,CACpD,MAAO,QACP,SAAU,YACV,UAAW,YACb,EAUaC,EAAuB,CAAC,CACnC,OAAAC,EACA,CAAC,eAAgBC,EAAa,wBAChC,IAAoD,CAClD,KAAM,CAAE,SAAAC,EAAU,aAAAC,EAAc,oBAAAC,EAAqB,eAAAC,CAAA,EAAmBC,EAAAA,qBAAqB,EAEvFC,EAAc,IAAY,CAC1B,GAAAP,EAAO,OAAS,SAAU,CAC5BA,EAAO,QAAQ,EACf,MAAA,CAGI,MAAAQ,MAAY,KAElB,OAAQR,EAAO,MAAO,CACpB,IAAK,QAAS,CACN,MAAAS,EAAOC,aAAWF,CAAK,EAC7BN,EAASO,CAAI,EACbN,EAAaM,CAAI,EACjB,KAAA,CAEF,IAAK,WAAY,CACf,MAAME,EAAgBN,GAAkB,EAClCO,EAAQC,EAAA,YAAYL,EAAO,CAAE,aAAAG,EAAc,EAC3CG,EAAMC,EAAA,UAAUP,EAAO,CAAE,aAAAG,EAAc,EAC7CT,EAASU,CAAK,EAEdR,EAAoB,CAAE,UAAWQ,EAAO,QAASE,EAAK,EACtD,KAAA,CAEF,IAAK,YAAa,CACV,MAAAF,EAAQI,eAAaR,CAAK,EAC1BM,EAAMG,aAAWT,CAAK,EAC5BN,EAASU,CAAK,EACdR,EAAoB,CAAE,UAAWQ,EAAO,QAASE,EAAK,EACtD,KAAA,CACF,CAGFd,EAAO,UAAU,CACnB,EAEMkB,EAAQlB,EAAO,OAAS,SAAWA,EAAO,MAASA,EAAO,OAASF,EAAcE,EAAO,KAAK,EAGjG,OAAAmB,EAAA,kBAAA,IAACC,OAAI,cAAanB,EAAY,GAAG,4BAA4B,aAAa,KAAK,EAAG,EAAG,EAAE,OACrF,SAACkB,EAAA,kBAAA,IAAAE,EAAA,OAAA,CAAO,QAAQ,kBAAkB,KAAK,KAAK,EAAE,OAAO,QAASd,EAC3D,SAAAW,CAAA,CACH,CACF,CAAA,CAEJ,EC3GMI,EAAoB,IAAA,IAAoB,CAAC,WAAY,WAAW,CAAC,EAG1DC,EAAiBC,GAAmCF,EAAc,IAAIE,CAAK,ECsC3EC,EAAW,CAAC,CACvB,CAAC,eAAgBxB,EAAa,kBAC9B,cAAAyB,EAAgB,GAChB,mBAAAC,EAAqB,GACrB,OAAA3B,EACA,GAAG4B,CACL,IAAwC,CAEtC,MAAMC,EAAqBH,GAAkB1B,GAAQ,OAAS,UAAYuB,EAAcvB,EAAO,KAAK,EAEpG,+BACGoB,MAAI,CAAA,UAAU,WAAW,cAAanB,EAAY,KAAMD,EAAS,QAAU,QAC1E,kCAAC8B,EAAmB,mBAAA,CAAA,cAAeD,EAAqB,GAAGD,EAAM,WAAU,GACzE,SAAA,CAACT,EAAAA,kBAAAA,IAAAY,EAAA,iBAAA,CAAiB,aAAcJ,CAAoB,CAAA,0BACnDK,EAAQ,QAAA,EAAA,0BACRC,EAAmB,mBAAA,EAAA,EACnBjC,GAAWmB,EAAA,kBAAA,IAAApB,EAAA,CAAqB,OAAAC,CAAgB,CAAA,CAAA,CAAA,CACnD,CACF,CAAA,CAEJ"}
1
+ {"version":3,"file":"calendar.component-DBf462dd.js","sources":["../../src/components/Calendar/calendarFooterButton.component.tsx","../../src/components/Calendar/calendar.utils.ts","../../src/components/Calendar/calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Button } from 'components/Button/button.component';\nimport { useDatePickerContext } from 'components/DatePicker/context/datePicker.context';\nimport startOfDay from 'date-fns/startOfDay';\nimport startOfWeek from 'date-fns/startOfWeek';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport endOfWeek from 'date-fns/endOfWeek';\nimport endOfMonth from 'date-fns/endOfMonth';\n\n/**\n * The built-in preset values for CalendarFooterButton.\n *\n * Intentionally kept as plain string literals rather than re-using\n * DateTimePickerDefaultOptionValue to avoid a duplicate star-export conflict:\n * both Calendar and DateTimePicker barrel-export from components/index.ts,\n * and TypeScript silently drops ambiguous re-exports when two barrels supply\n * the same identifier. Keeping CalendarPreset self-contained prevents that\n * collision and makes the Calendar API standalone.\n */\nexport type CalendarPreset = 'today' | 'thisWeek' | 'thisMonth';\n\nexport interface CalendarFooterPresetConfig {\n type: 'preset';\n /** The built-in preset to apply when the button is clicked. */\n value: CalendarPreset;\n /**\n * Override the button label.\n * Defaults: 'today' → 'Today', 'thisWeek' → 'This Week', 'thisMonth' → 'This Month'.\n */\n label?: string;\n /** Optional callback fired after the preset date is selected. */\n onClick?: () => void;\n}\n\nexport interface CalendarFooterCustomConfig {\n type: 'custom';\n /** Button label — required for custom type. */\n label: string;\n /** Handler called when the button is clicked. Full control — no date selection is performed. */\n onClick: () => void;\n}\n\nexport type CalendarFooterConfig = CalendarFooterPresetConfig | CalendarFooterCustomConfig;\n\nconst PRESET_LABELS: Record<CalendarPreset, string> = {\n today: 'Today',\n thisWeek: 'This Week',\n thisMonth: 'This Month',\n};\n\ninterface CalendarFooterButtonProps {\n footer: CalendarFooterConfig;\n /** Data test id for the footer container.\n * @default kibble-calendar-footer\n */\n 'data-testid'?: string;\n}\n\nexport const CalendarFooterButton = ({\n footer,\n ['data-testid']: dataTestId = 'kibble-calendar-footer',\n}: CalendarFooterButtonProps): React.JSX.Element => {\n const { goToDate, onDateSelect, onQuickOptionSelect, firstDayOfWeek } = useDatePickerContext();\n\n const handleClick = (): void => {\n if (footer.type === 'custom') {\n footer.onClick();\n return;\n }\n\n const today = new Date();\n\n switch (footer.value) {\n case 'today': {\n const date = startOfDay(today);\n goToDate(date);\n onDateSelect(date);\n break;\n }\n case 'thisWeek': {\n const weekStartsOn = (firstDayOfWeek ?? 1) as 0 | 1 | 2 | 3 | 4 | 5 | 6;\n const start = startOfWeek(today, { weekStartsOn });\n const end = endOfWeek(today, { weekStartsOn });\n goToDate(start);\n // onQuickOptionSelect sets both dates atomically, avoiding the two-click range flow\n onQuickOptionSelect({ startDate: start, endDate: end });\n break;\n }\n case 'thisMonth': {\n const start = startOfMonth(today);\n const end = endOfMonth(today);\n goToDate(start);\n onQuickOptionSelect({ startDate: start, endDate: end });\n break;\n }\n }\n\n footer.onClick?.();\n };\n\n const label = footer.type === 'custom' ? footer.label : (footer.label ?? PRESET_LABELS[footer.value]);\n\n return (\n <Box data-testid={dataTestId} bg=\"background.secondaryAlpha\" borderRadius=\"md\" p={2} w=\"full\">\n <Button variant=\"secondarySubtle\" size=\"md\" w=\"full\" onClick={handleClick}>\n {label}\n </Button>\n </Box>\n );\n};\n","import { CalendarPreset } from './calendarFooterButton.component';\n\n// Explicit allowlist — new presets default to single-day unless listed here\nconst RANGE_PRESETS = new Set<CalendarPreset>(['thisWeek', 'thisMonth']);\n\n/** Returns true when the preset requires date range selection (week, month). */\nexport const isRangePreset = (value: CalendarPreset): boolean => RANGE_PRESETS.has(value);\n","import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { DatePickerCalendar } from 'components/DatePicker/components/DatePickerCalendar/datePickerCalendar.component';\nimport { DatePickerHeader } from 'components/DatePicker/components/DatePickerHeader/datePickerHeader.component';\nimport { Divider } from 'components/Divider';\nimport { DatePickerProvider } from 'components/DatePicker/context/datePicker.provider';\nimport { DateProps } from 'components/DatePicker/datePicker.types';\nimport { CalendarFooterButton, CalendarFooterConfig } from './calendarFooterButton.component';\nimport { isRangePreset } from './calendar.utils';\n\nexport interface CalendarProps extends DateProps {\n /** Data test id for the calendar.\n * @default kibble-calendar\n */\n 'data-testid'?: string;\n /**\n * If true, the calendar will allow for a date range selection.\n * @default true\n */\n withDateRange?: boolean;\n /**\n * If true, the calendar will show the month and year selectors in the header.\n * @default false\n */\n withHeaderTriggers?: boolean;\n /**\n * Optional footer button configuration. Renders a styled button below the calendar grid.\n *\n * Use `type: 'preset'` for built-in shortcuts ('today' | 'thisWeek' | 'thisMonth') — the\n * component handles the date selection logic automatically.\n *\n * Use `type: 'custom'` to supply your own label and click handler with no built-in date logic.\n *\n * @example\n * // Preset\n * footer={{ type: 'preset', value: 'today', onClick: () => setOpen(false) }}\n *\n * @example\n * // Custom\n * footer={{ type: 'custom', label: 'Reset', onClick: handleReset }}\n */\n footer?: CalendarFooterConfig;\n}\n\nexport const Calendar = ({\n ['data-testid']: dataTestId = 'kibble-calendar',\n withDateRange = true,\n withHeaderTriggers = false,\n footer,\n ...rest\n}: CalendarProps): React.JSX.Element => {\n // Range presets (thisWeek, thisMonth) require date range mode regardless of the withDateRange prop\n const effectiveDateRange = withDateRange || (footer?.type === 'preset' && isRangePreset(footer.value));\n\n return (\n <Box className=\"Calendar\" data-testid={dataTestId} maxW={footer ? '360px' : '340px'}>\n <DatePickerProvider withDateRange={effectiveDateRange} {...rest} standalone>\n <DatePickerHeader withTriggers={withHeaderTriggers} />\n <Divider />\n <DatePickerCalendar />\n {footer && <CalendarFooterButton footer={footer} />}\n </DatePickerProvider>\n </Box>\n );\n};\n"],"names":["PRESET_LABELS","CalendarFooterButton","footer","dataTestId","goToDate","onDateSelect","onQuickOptionSelect","firstDayOfWeek","useDatePickerContext","handleClick","today","date","startOfDay","weekStartsOn","start","startOfWeek","end","endOfWeek","startOfMonth","endOfMonth","label","jsx","Box","Button","RANGE_PRESETS","isRangePreset","value","Calendar","withDateRange","withHeaderTriggers","rest","effectiveDateRange","DatePickerProvider","DatePickerHeader","Divider","DatePickerCalendar"],"mappings":"2SA6CMA,EAAgD,CACpD,MAAO,QACP,SAAU,YACV,UAAW,YACb,EAUaC,EAAuB,CAAC,CACnC,OAAAC,EACA,CAAC,eAAgBC,EAAa,wBAChC,IAAoD,CAClD,KAAM,CAAE,SAAAC,EAAU,aAAAC,EAAc,oBAAAC,EAAqB,eAAAC,CAAA,EAAmBC,EAAAA,qBAAqB,EAEvFC,EAAc,IAAY,CAC1B,GAAAP,EAAO,OAAS,SAAU,CAC5BA,EAAO,QAAQ,EACf,MAAA,CAGI,MAAAQ,MAAY,KAElB,OAAQR,EAAO,MAAO,CACpB,IAAK,QAAS,CACN,MAAAS,EAAOC,aAAWF,CAAK,EAC7BN,EAASO,CAAI,EACbN,EAAaM,CAAI,EACjB,KAAA,CAEF,IAAK,WAAY,CACf,MAAME,EAAgBN,GAAkB,EAClCO,EAAQC,EAAA,YAAYL,EAAO,CAAE,aAAAG,EAAc,EAC3CG,EAAMC,EAAA,UAAUP,EAAO,CAAE,aAAAG,EAAc,EAC7CT,EAASU,CAAK,EAEdR,EAAoB,CAAE,UAAWQ,EAAO,QAASE,EAAK,EACtD,KAAA,CAEF,IAAK,YAAa,CACV,MAAAF,EAAQI,eAAaR,CAAK,EAC1BM,EAAMG,aAAWT,CAAK,EAC5BN,EAASU,CAAK,EACdR,EAAoB,CAAE,UAAWQ,EAAO,QAASE,EAAK,EACtD,KAAA,CACF,CAGFd,EAAO,UAAU,CACnB,EAEMkB,EAAQlB,EAAO,OAAS,SAAWA,EAAO,MAASA,EAAO,OAASF,EAAcE,EAAO,KAAK,EAGjG,OAAAmB,EAAA,kBAAA,IAACC,OAAI,cAAanB,EAAY,GAAG,4BAA4B,aAAa,KAAK,EAAG,EAAG,EAAE,OACrF,SAACkB,EAAA,kBAAA,IAAAE,EAAA,OAAA,CAAO,QAAQ,kBAAkB,KAAK,KAAK,EAAE,OAAO,QAASd,EAC3D,SAAAW,CAAA,CACH,CACF,CAAA,CAEJ,EC3GMI,EAAoB,IAAA,IAAoB,CAAC,WAAY,WAAW,CAAC,EAG1DC,EAAiBC,GAAmCF,EAAc,IAAIE,CAAK,ECsC3EC,EAAW,CAAC,CACvB,CAAC,eAAgBxB,EAAa,kBAC9B,cAAAyB,EAAgB,GAChB,mBAAAC,EAAqB,GACrB,OAAA3B,EACA,GAAG4B,CACL,IAAwC,CAEtC,MAAMC,EAAqBH,GAAkB1B,GAAQ,OAAS,UAAYuB,EAAcvB,EAAO,KAAK,EAEpG,+BACGoB,MAAI,CAAA,UAAU,WAAW,cAAanB,EAAY,KAAMD,EAAS,QAAU,QAC1E,kCAAC8B,EAAmB,mBAAA,CAAA,cAAeD,EAAqB,GAAGD,EAAM,WAAU,GACzE,SAAA,CAACT,EAAAA,kBAAAA,IAAAY,EAAA,iBAAA,CAAiB,aAAcJ,CAAoB,CAAA,0BACnDK,EAAQ,QAAA,EAAA,0BACRC,EAAmB,mBAAA,EAAA,EACnBjC,GAAWmB,EAAA,kBAAA,IAAApB,EAAA,CAAqB,OAAAC,CAAgB,CAAA,CAAA,CAAA,CACnD,CACF,CAAA,CAEJ"}
@@ -1,7 +1,7 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { useMemo as u } from "react";
3
- import { W as s } from "./text.component-C9jh_JMO.js";
4
- import { d } from "./config-Djkl1N81.js";
3
+ import { W as s } from "./text.component-DbJw4Y9-.js";
4
+ import { d } from "./config-BV2SsQL7.js";
5
5
  import { u as m } from "./create-slot-recipe-context-D_FXDJGp.js";
6
6
  import { F as p } from "./flex-CX-8gE9T.js";
7
7
  const f = d({
@@ -79,4 +79,4 @@ const f = d({
79
79
  export {
80
80
  k as C
81
81
  };
82
- //# sourceMappingURL=characterCounter.component-Cm9yEHjz.js.map
82
+ //# sourceMappingURL=characterCounter.component-B45KB7Xu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"characterCounter.component-Cm9yEHjz.js","sources":["../../src/components/CharacterCounter/characterCounter.recipe.ts","../../src/components/CharacterCounter/characterCounter.component.tsx"],"sourcesContent":["import { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nexport const characterCounterRecipe = defineSlotRecipe({\n slots: ['root', 'count', 'limit'],\n base: {\n root: {\n gap: 0.5,\n },\n },\n variants: {\n variant: {\n default: {\n root: {\n background: 'background',\n },\n count: {\n color: 'text.subtle',\n },\n limit: {\n color: 'text.subtle',\n },\n },\n onContrast: {\n root: {\n background: 'background.contrast',\n },\n count: {\n color: 'text.subtle.contrast',\n },\n limit: {\n color: 'text.subtle.contrast',\n },\n },\n },\n invalid: {\n true: {\n count: {\n color: 'text.danger',\n },\n },\n false: {},\n },\n },\n compoundVariants: [\n {\n invalid: true,\n variant: 'onContrast',\n css: {\n count: {\n color: 'text.danger.contrast',\n },\n },\n },\n ],\n defaultVariants: {\n variant: 'default',\n invalid: false,\n },\n});\n","import React, { useMemo } from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Text } from 'components/Text/text.component';\nimport { useSlotRecipe } from '@chakra-ui/react';\nimport { characterCounterRecipe } from './characterCounter.recipe';\n\nexport interface BaseCharacterCounterProps {\n /** Current character count. */\n currentCount: number;\n /** If true, the character counter will use a contrasting variant. */\n onContrast?: boolean;\n /** Data test id for the character counter. */\n 'data-testid'?: string;\n}\n\ninterface CharacterCounterWithLimitProps extends BaseCharacterCounterProps {\n /** Character limit for the field. */\n limit: number;\n /** Whether to show the character limit. */\n withLimit?: true;\n}\n\ninterface OnlyCharacterCounterProps extends BaseCharacterCounterProps {\n /** Character limit for the field. */\n limit?: never;\n /** Whether to show the character limit. */\n withLimit?: false;\n}\n\nexport type CharacterCounterProps = CharacterCounterWithLimitProps | OnlyCharacterCounterProps;\n\nexport const CharacterCounter = ({\n currentCount,\n onContrast = false,\n limit,\n withLimit = true,\n ['data-testid']: dataTestId = 'kibble-character-counter',\n}: CharacterCounterProps): React.JSX.Element => {\n const variant = onContrast ? 'onContrast' : 'default';\n const invalid = useMemo(() => {\n if (!limit) return false;\n return currentCount > limit;\n }, [currentCount, limit]);\n const recipe = useSlotRecipe({ recipe: characterCounterRecipe });\n const styles = recipe({ variant, invalid });\n\n return (\n <Flex className=\"CharacterCount\" data-testid={dataTestId} css={styles.root}>\n <Text className=\"CharacterCount__Count\" data-testid={`${dataTestId}-count`} size=\"xs\" css={styles.count}>\n {currentCount}\n </Text>\n {withLimit && (\n <Text className=\"CharacterCount__Limit\" data-testid={`${dataTestId}-limit`} size=\"xs\" css={styles.limit}>\n / {limit}\n </Text>\n )}\n </Flex>\n );\n};\n"],"names":["characterCounterRecipe","defineSlotRecipe","CharacterCounter","currentCount","onContrast","limit","withLimit","dataTestId","variant","invalid","useMemo","styles","useSlotRecipe","jsxs","Flex","jsx","Text"],"mappings":";;;;;;AAEO,MAAMA,IAAyBC,EAAiB;AAAA,EACrD,OAAO,CAAC,QAAQ,SAAS,OAAO;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,KAAK;AAAA,IAAA;AAAA,EAET;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,UACJ,YAAY;AAAA,QACd;AAAA,QACA,OAAO;AAAA,UACL,OAAO;AAAA,QACT;AAAA,QACA,OAAO;AAAA,UACL,OAAO;AAAA,QAAA;AAAA,MAEX;AAAA,MACA,YAAY;AAAA,QACV,MAAM;AAAA,UACJ,YAAY;AAAA,QACd;AAAA,QACA,OAAO;AAAA,UACL,OAAO;AAAA,QACT;AAAA,QACA,OAAO;AAAA,UACL,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IAEJ;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,OAAO;AAAA,UACL,OAAO;AAAA,QAAA;AAAA,MAEX;AAAA,MACA,OAAO,CAAA;AAAA,IAAC;AAAA,EAEZ;AAAA,EACA,kBAAkB;AAAA,IAChB;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,MACT,KAAK;AAAA,QACH,OAAO;AAAA,UACL,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IACF;AAAA,EAEJ;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EAAA;AAEb,CAAC,GC3BYC,IAAmB,CAAC;AAAA,EAC/B,cAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,CAAC,gBAAgBC,IAAa;AAChC,MAAgD;AACxC,QAAAC,IAAUJ,IAAa,eAAe,WACtCK,IAAUC,EAAQ,MACjBL,IACEF,IAAeE,IADH,IAElB,CAACF,GAAcE,CAAK,CAAC,GAElBM,IADSC,EAAc,EAAE,QAAQZ,GAAwB,EACzC,EAAE,SAAAQ,GAAS,SAAAC,GAAS;AAGxC,SAAAI,gBAAAA,OAACC,KAAK,WAAU,kBAAiB,eAAaP,GAAY,KAAKI,EAAO,MACpE,UAAA;AAAA,IAAAI,gBAAAA,EAAA,IAACC,GAAK,EAAA,WAAU,yBAAwB,eAAa,GAAGT,CAAU,UAAU,MAAK,MAAK,KAAKI,EAAO,OAC/F,UACHR,GAAA;AAAA,IACCG,KACCO,gBAAAA,EAAA,KAACG,GAAK,EAAA,WAAU,yBAAwB,eAAa,GAAGT,CAAU,UAAU,MAAK,MAAK,KAAKI,EAAO,OAAO,UAAA;AAAA,MAAA;AAAA,MACpGN;AAAA,IAAA,EACL,CAAA;AAAA,EAAA,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"characterCounter.component-B45KB7Xu.js","sources":["../../src/components/CharacterCounter/characterCounter.recipe.ts","../../src/components/CharacterCounter/characterCounter.component.tsx"],"sourcesContent":["import { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nexport const characterCounterRecipe = defineSlotRecipe({\n slots: ['root', 'count', 'limit'],\n base: {\n root: {\n gap: 0.5,\n },\n },\n variants: {\n variant: {\n default: {\n root: {\n background: 'background',\n },\n count: {\n color: 'text.subtle',\n },\n limit: {\n color: 'text.subtle',\n },\n },\n onContrast: {\n root: {\n background: 'background.contrast',\n },\n count: {\n color: 'text.subtle.contrast',\n },\n limit: {\n color: 'text.subtle.contrast',\n },\n },\n },\n invalid: {\n true: {\n count: {\n color: 'text.danger',\n },\n },\n false: {},\n },\n },\n compoundVariants: [\n {\n invalid: true,\n variant: 'onContrast',\n css: {\n count: {\n color: 'text.danger.contrast',\n },\n },\n },\n ],\n defaultVariants: {\n variant: 'default',\n invalid: false,\n },\n});\n","import React, { useMemo } from 'react';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Text } from 'components/Text/text.component';\nimport { useSlotRecipe } from '@chakra-ui/react';\nimport { characterCounterRecipe } from './characterCounter.recipe';\n\nexport interface BaseCharacterCounterProps {\n /** Current character count. */\n currentCount: number;\n /** If true, the character counter will use a contrasting variant. */\n onContrast?: boolean;\n /** Data test id for the character counter. */\n 'data-testid'?: string;\n}\n\ninterface CharacterCounterWithLimitProps extends BaseCharacterCounterProps {\n /** Character limit for the field. */\n limit: number;\n /** Whether to show the character limit. */\n withLimit?: true;\n}\n\ninterface OnlyCharacterCounterProps extends BaseCharacterCounterProps {\n /** Character limit for the field. */\n limit?: never;\n /** Whether to show the character limit. */\n withLimit?: false;\n}\n\nexport type CharacterCounterProps = CharacterCounterWithLimitProps | OnlyCharacterCounterProps;\n\nexport const CharacterCounter = ({\n currentCount,\n onContrast = false,\n limit,\n withLimit = true,\n ['data-testid']: dataTestId = 'kibble-character-counter',\n}: CharacterCounterProps): React.JSX.Element => {\n const variant = onContrast ? 'onContrast' : 'default';\n const invalid = useMemo(() => {\n if (!limit) return false;\n return currentCount > limit;\n }, [currentCount, limit]);\n const recipe = useSlotRecipe({ recipe: characterCounterRecipe });\n const styles = recipe({ variant, invalid });\n\n return (\n <Flex className=\"CharacterCount\" data-testid={dataTestId} css={styles.root}>\n <Text className=\"CharacterCount__Count\" data-testid={`${dataTestId}-count`} size=\"xs\" css={styles.count}>\n {currentCount}\n </Text>\n {withLimit && (\n <Text className=\"CharacterCount__Limit\" data-testid={`${dataTestId}-limit`} size=\"xs\" css={styles.limit}>\n / {limit}\n </Text>\n )}\n </Flex>\n );\n};\n"],"names":["characterCounterRecipe","defineSlotRecipe","CharacterCounter","currentCount","onContrast","limit","withLimit","dataTestId","variant","invalid","useMemo","styles","useSlotRecipe","jsxs","Flex","jsx","Text"],"mappings":";;;;;;AAEO,MAAMA,IAAyBC,EAAiB;AAAA,EACrD,OAAO,CAAC,QAAQ,SAAS,OAAO;AAAA,EAChC,MAAM;AAAA,IACJ,MAAM;AAAA,MACJ,KAAK;AAAA,IAAA;AAAA,EAET;AAAA,EACA,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,UACJ,YAAY;AAAA,QACd;AAAA,QACA,OAAO;AAAA,UACL,OAAO;AAAA,QACT;AAAA,QACA,OAAO;AAAA,UACL,OAAO;AAAA,QAAA;AAAA,MAEX;AAAA,MACA,YAAY;AAAA,QACV,MAAM;AAAA,UACJ,YAAY;AAAA,QACd;AAAA,QACA,OAAO;AAAA,UACL,OAAO;AAAA,QACT;AAAA,QACA,OAAO;AAAA,UACL,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IAEJ;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,QACJ,OAAO;AAAA,UACL,OAAO;AAAA,QAAA;AAAA,MAEX;AAAA,MACA,OAAO,CAAA;AAAA,IAAC;AAAA,EAEZ;AAAA,EACA,kBAAkB;AAAA,IAChB;AAAA,MACE,SAAS;AAAA,MACT,SAAS;AAAA,MACT,KAAK;AAAA,QACH,OAAO;AAAA,UACL,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IACF;AAAA,EAEJ;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EAAA;AAEb,CAAC,GC3BYC,IAAmB,CAAC;AAAA,EAC/B,cAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,CAAC,gBAAgBC,IAAa;AAChC,MAAgD;AACxC,QAAAC,IAAUJ,IAAa,eAAe,WACtCK,IAAUC,EAAQ,MACjBL,IACEF,IAAeE,IADH,IAElB,CAACF,GAAcE,CAAK,CAAC,GAElBM,IADSC,EAAc,EAAE,QAAQZ,GAAwB,EACzC,EAAE,SAAAQ,GAAS,SAAAC,GAAS;AAGxC,SAAAI,gBAAAA,OAACC,KAAK,WAAU,kBAAiB,eAAaP,GAAY,KAAKI,EAAO,MACpE,UAAA;AAAA,IAAAI,gBAAAA,EAAA,IAACC,GAAK,EAAA,WAAU,yBAAwB,eAAa,GAAGT,CAAU,UAAU,MAAK,MAAK,KAAKI,EAAO,OAC/F,UACHR,GAAA;AAAA,IACCG,KACCO,gBAAAA,EAAA,KAACG,GAAK,EAAA,WAAU,yBAAwB,eAAa,GAAGT,CAAU,UAAU,MAAK,MAAK,KAAKI,EAAO,OAAO,UAAA;AAAA,MAAA;AAAA,MACpGN;AAAA,IAAA,EACL,CAAA;AAAA,EAAA,GAEJ;AAEJ;"}
@@ -1,8 +1,8 @@
1
1
  import { j as n } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import H, { forwardRef as x, useState as W, useCallback as M, useMemo as q, useId as D } from "react";
3
- import { w as F } from "./withFormControl-FQcw75ZS.js";
4
- import { W as Y } from "./text.component-C9jh_JMO.js";
5
- import { T as B } from "./tooltip.component-CHohp2qn.js";
3
+ import { w as F } from "./withFormControl-BDEeuT0h.js";
4
+ import { W as Y } from "./text.component-DbJw4Y9-.js";
5
+ import { T as B } from "./tooltip.component-BWCTmG_j.js";
6
6
  import { c as U } from "./create-slot-recipe-context-D_FXDJGp.js";
7
7
  import { c as C } from "./factory-BQshv7_b.js";
8
8
  import { d as z } from "./attr-sm10PXOd.js";
@@ -268,4 +268,4 @@ export {
268
268
  $e as C,
269
269
  we as W
270
270
  };
271
- //# sourceMappingURL=checkbox.component-DGIWgnM4.js.map
271
+ //# sourceMappingURL=checkbox.component-BoqZIgZE.js.map