@televet/kibble-ui 5.0.28 → 5.0.29-sc.1

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 (148) hide show
  1. package/dist/chunks/{avatarGroup.component-z6SzTzKR.js → avatarGroup.component-CUHMxiIc.js} +2 -2
  2. package/dist/chunks/{avatarGroup.component-z6SzTzKR.js.map → avatarGroup.component-CUHMxiIc.js.map} +1 -1
  3. package/dist/chunks/{avatarGroup.component-CUOKTQHZ.js → avatarGroup.component-ClqXmemB.js} +2 -2
  4. package/dist/chunks/{avatarGroup.component-CUOKTQHZ.js.map → avatarGroup.component-ClqXmemB.js.map} +1 -1
  5. package/dist/chunks/{buttonGroup.component-CYJxaqK1.js → buttonGroup.component-B4APVs0L.js} +2 -2
  6. package/dist/chunks/{buttonGroup.component-CYJxaqK1.js.map → buttonGroup.component-B4APVs0L.js.map} +1 -1
  7. package/dist/chunks/{buttonGroup.component-CHbRCpMI.js → buttonGroup.component-BRafsTrY.js} +2 -2
  8. package/dist/chunks/{buttonGroup.component-CHbRCpMI.js.map → buttonGroup.component-BRafsTrY.js.map} +1 -1
  9. package/dist/chunks/{calendar.component-BpDNoBAZ.js → calendar.component-BswlIQ5W.js} +2 -2
  10. package/dist/chunks/{calendar.component-BpDNoBAZ.js.map → calendar.component-BswlIQ5W.js.map} +1 -1
  11. package/dist/chunks/{calendar.component-C2bzItDq.js → calendar.component-Dt452bDI.js} +2 -2
  12. package/dist/chunks/{calendar.component-C2bzItDq.js.map → calendar.component-Dt452bDI.js.map} +1 -1
  13. package/dist/chunks/{checkbox.component-CrTnnQ30.js → checkbox.component-CyVZ9Xv2.js} +2 -2
  14. package/dist/chunks/{checkbox.component-CrTnnQ30.js.map → checkbox.component-CyVZ9Xv2.js.map} +1 -1
  15. package/dist/chunks/{checkbox.component-Bytw6Mk1.js → checkbox.component-DGIWgnM4.js} +2 -2
  16. package/dist/chunks/{checkbox.component-Bytw6Mk1.js.map → checkbox.component-DGIWgnM4.js.map} +1 -1
  17. package/dist/chunks/{checkboxGroup.component-Bf_yc-Fl.js → checkboxGroup.component-D4YLYJPy.js} +3 -3
  18. package/dist/chunks/{checkboxGroup.component-Bf_yc-Fl.js.map → checkboxGroup.component-D4YLYJPy.js.map} +1 -1
  19. package/dist/chunks/{checkboxGroup.component-CndHvReL.js → checkboxGroup.component-DVEQJk7I.js} +2 -2
  20. package/dist/chunks/{checkboxGroup.component-CndHvReL.js.map → checkboxGroup.component-DVEQJk7I.js.map} +1 -1
  21. package/dist/chunks/{conversationCard.component-BKXSq7NS.js → conversationCard.component-CXEHIrKJ.js} +2 -2
  22. package/dist/chunks/{conversationCard.component-BKXSq7NS.js.map → conversationCard.component-CXEHIrKJ.js.map} +1 -1
  23. package/dist/chunks/{conversationCard.component-Mn3eYMW_.js → conversationCard.component-DZnnZcAz.js} +2 -2
  24. package/dist/chunks/{conversationCard.component-Mn3eYMW_.js.map → conversationCard.component-DZnnZcAz.js.map} +1 -1
  25. package/dist/chunks/{datePicker.component-DQ0a5vhA.js → datePicker.component-CLkxmQLL.js} +2 -2
  26. package/dist/chunks/{datePicker.component-DQ0a5vhA.js.map → datePicker.component-CLkxmQLL.js.map} +1 -1
  27. package/dist/chunks/{datePicker.component-CHBO_Jrk.js → datePicker.component-DQzmsw2J.js} +3 -3
  28. package/dist/chunks/{datePicker.component-CHBO_Jrk.js.map → datePicker.component-DQzmsw2J.js.map} +1 -1
  29. package/dist/chunks/{datePicker.provider-CDhsnFSD.js → datePicker.provider-CcGhcyCp.js} +2 -2
  30. package/dist/chunks/{datePicker.provider-CDhsnFSD.js.map → datePicker.provider-CcGhcyCp.js.map} +1 -1
  31. package/dist/chunks/{datePicker.provider-o-sEPUJe.js → datePicker.provider-DvJrNnut.js} +2 -2
  32. package/dist/chunks/{datePicker.provider-o-sEPUJe.js.map → datePicker.provider-DvJrNnut.js.map} +1 -1
  33. package/dist/chunks/{dateTimePicker.component-B1tTKUZU.js → dateTimePicker.component-BwC0c08U.js} +4 -4
  34. package/dist/chunks/{dateTimePicker.component-B1tTKUZU.js.map → dateTimePicker.component-BwC0c08U.js.map} +1 -1
  35. package/dist/chunks/{dateTimePicker.component-oLZ5KXWa.js → dateTimePicker.component-DS_GGUy_.js} +2 -2
  36. package/dist/chunks/{dateTimePicker.component-oLZ5KXWa.js.map → dateTimePicker.component-DS_GGUy_.js.map} +1 -1
  37. package/dist/chunks/{menu.component-CNbEm3SL.js → menu.component-B_rE1WZ2.js} +2 -2
  38. package/dist/chunks/{menu.component-CNbEm3SL.js.map → menu.component-B_rE1WZ2.js.map} +1 -1
  39. package/dist/chunks/{menu.component-DwnU1N2a.js → menu.component-CAttpI-a.js} +3 -3
  40. package/dist/chunks/{menu.component-DwnU1N2a.js.map → menu.component-CAttpI-a.js.map} +1 -1
  41. package/dist/chunks/{numberInput.component-B0P7w6Av.js → numberInput.component-B7c9cP1S.js} +2 -2
  42. package/dist/chunks/{numberInput.component-B0P7w6Av.js.map → numberInput.component-B7c9cP1S.js.map} +1 -1
  43. package/dist/chunks/{numberInput.component-Bpl3NGJU.js → numberInput.component-D2lVvZHf.js} +2 -2
  44. package/dist/chunks/{numberInput.component-Bpl3NGJU.js.map → numberInput.component-D2lVvZHf.js.map} +1 -1
  45. package/dist/chunks/{pinInput.types-xxX7jDUo.js → pinInput.types-CtkczGt3.js} +2 -2
  46. package/dist/chunks/{pinInput.types-xxX7jDUo.js.map → pinInput.types-CtkczGt3.js.map} +1 -1
  47. package/dist/chunks/{pinInput.types-B0WLZ-4e.js → pinInput.types-DOs4a1N6.js} +2 -2
  48. package/dist/chunks/{pinInput.types-B0WLZ-4e.js.map → pinInput.types-DOs4a1N6.js.map} +1 -1
  49. package/dist/chunks/{radioGroup.types-4D0zmi0v.js → radioGroup.types-CGGPDvBR.js} +2 -2
  50. package/dist/chunks/{radioGroup.types-4D0zmi0v.js.map → radioGroup.types-CGGPDvBR.js.map} +1 -1
  51. package/dist/chunks/{radioGroup.types-Dbfon_Lr.js → radioGroup.types-CiHxP4xM.js} +3 -3
  52. package/dist/chunks/{radioGroup.types-Dbfon_Lr.js.map → radioGroup.types-CiHxP4xM.js.map} +1 -1
  53. package/dist/chunks/{rating.component-DOUCmD0Y.js → rating.component-C6qlmmF7.js} +2 -2
  54. package/dist/chunks/{rating.component-DOUCmD0Y.js.map → rating.component-C6qlmmF7.js.map} +1 -1
  55. package/dist/chunks/{rating.component-DlCpQ5GH.js → rating.component-DwiIqg9E.js} +2 -2
  56. package/dist/chunks/{rating.component-DlCpQ5GH.js.map → rating.component-DwiIqg9E.js.map} +1 -1
  57. package/dist/chunks/{ratingDots.component-Qk8qlPmN.js → ratingDots.component-BpimXANy.js} +2 -2
  58. package/dist/chunks/{ratingDots.component-Qk8qlPmN.js.map → ratingDots.component-BpimXANy.js.map} +1 -1
  59. package/dist/chunks/{ratingDots.component-pc5p1mua.js → ratingDots.component-CMljyqn1.js} +2 -2
  60. package/dist/chunks/{ratingDots.component-pc5p1mua.js.map → ratingDots.component-CMljyqn1.js.map} +1 -1
  61. package/dist/chunks/{select.component-DIrbeCPd.js → select.component-CmKal46A.js} +3 -3
  62. package/dist/chunks/{select.component-DIrbeCPd.js.map → select.component-CmKal46A.js.map} +1 -1
  63. package/dist/chunks/{select.component-CzyXxbhS.js → select.component-LmZa9UrH.js} +2 -2
  64. package/dist/chunks/{select.component-CzyXxbhS.js.map → select.component-LmZa9UrH.js.map} +1 -1
  65. package/dist/chunks/{switch.component-WMd5cinZ.js → switch.component-BANAbt7_.js} +2 -2
  66. package/dist/chunks/{switch.component-WMd5cinZ.js.map → switch.component-BANAbt7_.js.map} +1 -1
  67. package/dist/chunks/{switch.component-BKahX4Bw.js → switch.component-BSdPjnqI.js} +2 -2
  68. package/dist/chunks/{switch.component-BKahX4Bw.js.map → switch.component-BSdPjnqI.js.map} +1 -1
  69. package/dist/chunks/{tagBlock.component-CNwLyYYb.js → tagBlock.component-CAoe7WiN.js} +2 -2
  70. package/dist/chunks/{tagBlock.component-CNwLyYYb.js.map → tagBlock.component-CAoe7WiN.js.map} +1 -1
  71. package/dist/chunks/{tagBlock.component-fnt27QP6.js → tagBlock.component-DFnrBQW3.js} +2 -2
  72. package/dist/chunks/{tagBlock.component-fnt27QP6.js.map → tagBlock.component-DFnrBQW3.js.map} +1 -1
  73. package/dist/chunks/{textInput.component-DAan7BwF.js → textInput.component-CHOXUd8x.js} +2 -2
  74. package/dist/chunks/{textInput.component-DAan7BwF.js.map → textInput.component-CHOXUd8x.js.map} +1 -1
  75. package/dist/chunks/{textInput.component-BDJuvT1c.js → textInput.component-KjxR5ln_.js} +2 -2
  76. package/dist/chunks/{textInput.component-BDJuvT1c.js.map → textInput.component-KjxR5ln_.js.map} +1 -1
  77. package/dist/chunks/{textarea.component-1Gvjelye.js → textarea.component-BtE7Ec9v.js} +2 -2
  78. package/dist/chunks/{textarea.component-1Gvjelye.js.map → textarea.component-BtE7Ec9v.js.map} +1 -1
  79. package/dist/chunks/{textarea.component-B-tQg_4m.js → textarea.component-Co5FVeAZ.js} +2 -2
  80. package/dist/chunks/{textarea.component-B-tQg_4m.js.map → textarea.component-Co5FVeAZ.js.map} +1 -1
  81. package/dist/chunks/{theme.provider-CD72J0A7.js → theme.provider-BEOF1dv4.js} +175 -167
  82. package/dist/chunks/theme.provider-BEOF1dv4.js.map +1 -0
  83. package/dist/chunks/{theme.provider-DpFjsbLx.js → theme.provider-CfNsrvgx.js} +3 -3
  84. package/dist/chunks/theme.provider-CfNsrvgx.js.map +1 -0
  85. package/dist/chunks/{timePicker.component-CvQ9kF_7.js → timePicker.component-O5_k6YYo.js} +2 -2
  86. package/dist/chunks/{timePicker.component-CvQ9kF_7.js.map → timePicker.component-O5_k6YYo.js.map} +1 -1
  87. package/dist/chunks/{timePicker.component-D2gDf5fp.js → timePicker.component-uf5hCWTW.js} +2 -2
  88. package/dist/chunks/{timePicker.component-D2gDf5fp.js.map → timePicker.component-uf5hCWTW.js.map} +1 -1
  89. package/dist/chunks/{timeRange.component-DL2vskjy.js → timeRange.component-CjQ7PYJR.js} +2 -2
  90. package/dist/chunks/{timeRange.component-DL2vskjy.js.map → timeRange.component-CjQ7PYJR.js.map} +1 -1
  91. package/dist/chunks/{timeRange.component-DfOq2mGR.js → timeRange.component-Crv2OP7C.js} +2 -2
  92. package/dist/chunks/{timeRange.component-DfOq2mGR.js.map → timeRange.component-Crv2OP7C.js.map} +1 -1
  93. package/dist/chunks/{withFormControl-d2CEvsH2.js → withFormControl-CMerPa0c.js} +2 -2
  94. package/dist/chunks/{withFormControl-d2CEvsH2.js.map → withFormControl-CMerPa0c.js.map} +1 -1
  95. package/dist/chunks/{withFormControl-DVeqCX53.js → withFormControl-FQcw75ZS.js} +24 -25
  96. package/dist/chunks/{withFormControl-DVeqCX53.js.map → withFormControl-FQcw75ZS.js.map} +1 -1
  97. package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
  98. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  99. package/dist/cjs/components/Calendar/index.cjs +1 -1
  100. package/dist/cjs/components/Checkbox/index.cjs +1 -1
  101. package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
  102. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  103. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  104. package/dist/cjs/components/DateTimePicker/index.cjs +1 -1
  105. package/dist/cjs/components/Menu/index.cjs +1 -1
  106. package/dist/cjs/components/NumberInput/index.cjs +1 -1
  107. package/dist/cjs/components/PinInput/index.cjs +1 -1
  108. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  109. package/dist/cjs/components/Rating/index.cjs +1 -1
  110. package/dist/cjs/components/RatingDots/index.cjs +1 -1
  111. package/dist/cjs/components/Select/index.cjs +1 -1
  112. package/dist/cjs/components/Switch/index.cjs +1 -1
  113. package/dist/cjs/components/TagBlock/index.cjs +1 -1
  114. package/dist/cjs/components/TextInput/index.cjs +1 -1
  115. package/dist/cjs/components/Textarea/index.cjs +1 -1
  116. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  117. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  118. package/dist/cjs/components/index.cjs +1 -1
  119. package/dist/cjs/index.cjs +1 -1
  120. package/dist/cjs/theme/index.cjs +1 -1
  121. package/dist/esm/components/AvatarGroup/index.js +1 -1
  122. package/dist/esm/components/ButtonGroup/index.js +1 -1
  123. package/dist/esm/components/Calendar/index.js +1 -1
  124. package/dist/esm/components/Checkbox/index.js +1 -1
  125. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  126. package/dist/esm/components/ConversationCard/index.js +1 -1
  127. package/dist/esm/components/DatePicker/index.js +2 -2
  128. package/dist/esm/components/DateTimePicker/index.js +1 -1
  129. package/dist/esm/components/Menu/index.js +1 -1
  130. package/dist/esm/components/NumberInput/index.js +1 -1
  131. package/dist/esm/components/PinInput/index.js +1 -1
  132. package/dist/esm/components/RadioGroup/index.js +1 -1
  133. package/dist/esm/components/Rating/index.js +1 -1
  134. package/dist/esm/components/RatingDots/index.js +1 -1
  135. package/dist/esm/components/Select/index.js +1 -1
  136. package/dist/esm/components/Switch/index.js +1 -1
  137. package/dist/esm/components/TagBlock/index.js +1 -1
  138. package/dist/esm/components/TextInput/index.js +1 -1
  139. package/dist/esm/components/Textarea/index.js +1 -1
  140. package/dist/esm/components/TimePicker/index.js +1 -1
  141. package/dist/esm/components/TimeRange/index.js +1 -1
  142. package/dist/esm/components/index.js +22 -22
  143. package/dist/esm/index.js +23 -23
  144. package/dist/esm/theme/index.js +1 -1
  145. package/dist/types/theme/recipes/Field/field.recipe.d.ts +1 -0
  146. package/package.json +1 -1
  147. package/dist/chunks/theme.provider-CD72J0A7.js.map +0 -1
  148. package/dist/chunks/theme.provider-DpFjsbLx.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { useMemo as i, useState as l, createElement as k } from "react";
3
3
  import { a as M, A as p } from "./avatar.component-BL6D6Lw_.js";
4
- import { M as N } from "./menu.component-DwnU1N2a.js";
4
+ import { M as N } from "./menu.component-CAttpI-a.js";
5
5
  import { W as R } from "./text.component-C9jh_JMO.js";
6
6
  import { B as G } from "./button.component-BO6oee_V.js";
7
7
  import { T as O } from "./tooltip.component-CHohp2qn.js";
@@ -72,4 +72,4 @@ const X = ({
72
72
  export {
73
73
  X as A
74
74
  };
75
- //# sourceMappingURL=avatarGroup.component-z6SzTzKR.js.map
75
+ //# sourceMappingURL=avatarGroup.component-CUHMxiIc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatarGroup.component-z6SzTzKR.js","sources":["../../src/components/AvatarGroup/avatarGroup.component.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { AvatarGroup as CAvatarGroup, AvatarGroupProps as CAvatarGroupProps } from '@chakra-ui/react/avatar';\nimport { Avatar, AvatarProps } from 'components/Avatar/avatar.component';\nimport { AvatarSize, AvatarVariant } from 'components/Avatar/avatar.types';\nimport { Menu, MenuProps } from 'components/Menu';\nimport { Text } from 'components/Text/text.component';\nimport { Button, ButtonProps } from 'components/Button';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface AvatarGroupProps extends CAvatarGroupProps {\n /** Tooltip text for when the add button is hovered. */\n addButtonTooltipText?: string;\n /** Array of avatars to display in the group. */\n avatars: AvatarProps[];\n /** Maximum number of avatars to display before it shows a counter instead. */\n max?: number;\n /** Callback function when the add button is clicked. */\n onAdd?: () => void;\n /** Callback function when the remove button is clicked. */\n onRemove?: (value?: string) => void;\n /** If true, an add button will be displayed at the end of the avatar group.\n * @default true\n */\n showAddButton?: boolean;\n /** If true, a remove button will be displayed when hovering over an avatar.\n * @default false\n */\n showRemoveAvatarButton?: boolean;\n /** Size of the avatars in the group.\n * @default md\n */\n size?: AvatarSize;\n /** Variant of the avatars in the group.\n * @default default\n */\n variant?: AvatarVariant;\n /** Props to customize the add button Menu. See `Menu` for more information. */\n menuProps?: Omit<MenuProps, 'buttonProps'>;\n /** Data test id for the avatar group.\n * @default kibble-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const AvatarGroup = ({\n avatars,\n max = 3,\n onAdd,\n onRemove,\n showAddButton = true,\n showRemoveAvatarButton = false,\n size = 'md',\n variant = 'default',\n menuProps,\n addButtonTooltipText,\n ['data-testid']: dataTestId = 'kibble-avatar-group',\n ...rest\n}: AvatarGroupProps): React.JSX.Element => {\n const mergedNames = useMemo(() => avatars.map((avatar) => avatar.name).join(', '), [avatars]);\n const spacing = size === 'xs' || size === 'sm' ? -1 : -2;\n const [hideTooltip, setHideTooltip] = useState(false);\n const [menuOpen, setMenuOpen] = useState(false);\n\n const buttonProps: ButtonProps = useMemo(() => {\n return {\n size: size === 'xl' ? 'lg' : size,\n variant: 'ghostNeutral',\n borderRadius: 'full',\n borderWidth: '1px',\n iconName: 'plus',\n borderColor: 'border',\n };\n }, [size]);\n\n return (\n <CAvatarGroup\n className=\"AvatarGroup\"\n data-testid={dataTestId}\n gap={0}\n spaceX={spacing}\n stacking=\"first-on-top\"\n size={size}\n {...rest}\n >\n {avatars.length > max ? (\n <Avatar size={size} variant=\"contrast\" showRemoveButton={false} tooltipProps={{ label: mergedNames }}>\n <Text size={size === 'xs' || size === 'sm' ? 'xs' : 'sm'} variant=\"onContrast\">\n {avatars.length.toString()}\n </Text>\n </Avatar>\n ) : (\n avatars.map((avatar) => (\n <Avatar\n {...avatar}\n key={avatar.name}\n size={size}\n variant={variant || avatar.variant}\n showRemoveButton={showRemoveAvatarButton}\n onRemove={onRemove}\n />\n ))\n )}\n {showAddButton && (\n <Tooltip disabled={!addButtonTooltipText?.length || hideTooltip} label={addButtonTooltipText || ''}>\n {menuProps ? (\n <Box>\n <Menu\n open={menuOpen}\n data-testid={`${dataTestId}-add-button`}\n {...menuProps}\n onOpenChange={({ open }) => {\n setHideTooltip(open);\n setMenuOpen(open);\n }}\n buttonProps={{\n ...buttonProps,\n hideCaret: true,\n }}\n />\n </Box>\n ) : (\n <Button {...buttonProps} onClick={onAdd} />\n )}\n </Tooltip>\n )}\n </CAvatarGroup>\n );\n};\n"],"names":["AvatarGroup","avatars","max","onAdd","onRemove","showAddButton","showRemoveAvatarButton","size","variant","menuProps","addButtonTooltipText","dataTestId","rest","mergedNames","useMemo","avatar","spacing","hideTooltip","setHideTooltip","useState","menuOpen","setMenuOpen","buttonProps","jsxs","CAvatarGroup","jsx","Avatar","Text","createElement","Tooltip","Box","Menu","open","Button"],"mappings":";;;;;;;;AA6CO,MAAMA,IAAc,CAAC;AAAA,EAC1B,SAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,wBAAAC,IAAyB;AAAA,EACzB,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,GAAGC;AACL,MAA2C;AACzC,QAAMC,IAAcC,EAAQ,MAAMb,EAAQ,IAAI,CAACc,MAAWA,EAAO,IAAI,EAAE,KAAK,IAAI,GAAG,CAACd,CAAO,CAAC,GACtFe,IAAUT,MAAS,QAAQA,MAAS,OAAO,KAAK,IAChD,CAACU,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAUC,CAAW,IAAIF,EAAS,EAAK,GAExCG,IAA2BR,EAAQ,OAChC;AAAA,IACL,MAAMP,MAAS,OAAO,OAAOA;AAAA,IAC7B,SAAS;AAAA,IACT,cAAc;AAAA,IACd,aAAa;AAAA,IACb,UAAU;AAAA,IACV,aAAa;AAAA,EACf,IACC,CAACA,CAAI,CAAC;AAGP,SAAAgB,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAab;AAAA,MACb,KAAK;AAAA,MACL,QAAQK;AAAA,MACR,UAAS;AAAA,MACT,MAAAT;AAAA,MACC,GAAGK;AAAA,MAEH,UAAA;AAAA,QAAAX,EAAQ,SAASC,IACfuB,gBAAAA,EAAAA,IAAAC,GAAA,EAAO,MAAAnB,GAAY,SAAQ,YAAW,kBAAkB,IAAO,cAAc,EAAE,OAAOM,EAAY,GACjG,gCAACc,GAAK,EAAA,MAAMpB,MAAS,QAAQA,MAAS,OAAO,OAAO,MAAM,SAAQ,cAC/D,UAAAN,EAAQ,OAAO,YAClB,EACF,CAAA,IAEAA,EAAQ,IAAI,CAACc,MACX,gBAAAa;AAAA,UAACF;AAAA,UAAA;AAAA,YACE,GAAGX;AAAA,YACJ,KAAKA,EAAO;AAAA,YACZ,MAAAR;AAAA,YACA,SAASC,KAAWO,EAAO;AAAA,YAC3B,kBAAkBT;AAAA,YAClB,UAAAF;AAAA,UAAA;AAAA,QAAA,CAEH;AAAA,QAEFC,KACCoB,gBAAAA,EAAA,IAACI,GAAQ,EAAA,UAAU,CAACnB,GAAsB,UAAUO,GAAa,OAAOP,KAAwB,IAC7F,UAAAD,0BACEqB,GACC,EAAA,UAAAL,gBAAAA,EAAA;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,MAAMX;AAAA,YACN,eAAa,GAAGT,CAAU;AAAA,YACzB,GAAGF;AAAA,YACJ,cAAc,CAAC,EAAE,MAAAuB,QAAW;AAC1B,cAAAd,EAAec,CAAI,GACnBX,EAAYW,CAAI;AAAA,YAClB;AAAA,YACA,aAAa;AAAA,cACX,GAAGV;AAAA,cACH,WAAW;AAAA,YAAA;AAAA,UACb;AAAA,QAAA,GAEJ,IAECG,gBAAAA,EAAA,IAAAQ,GAAA,EAAQ,GAAGX,GAAa,SAASnB,GAAO,EAE7C,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
1
+ {"version":3,"file":"avatarGroup.component-CUHMxiIc.js","sources":["../../src/components/AvatarGroup/avatarGroup.component.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { AvatarGroup as CAvatarGroup, AvatarGroupProps as CAvatarGroupProps } from '@chakra-ui/react/avatar';\nimport { Avatar, AvatarProps } from 'components/Avatar/avatar.component';\nimport { AvatarSize, AvatarVariant } from 'components/Avatar/avatar.types';\nimport { Menu, MenuProps } from 'components/Menu';\nimport { Text } from 'components/Text/text.component';\nimport { Button, ButtonProps } from 'components/Button';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface AvatarGroupProps extends CAvatarGroupProps {\n /** Tooltip text for when the add button is hovered. */\n addButtonTooltipText?: string;\n /** Array of avatars to display in the group. */\n avatars: AvatarProps[];\n /** Maximum number of avatars to display before it shows a counter instead. */\n max?: number;\n /** Callback function when the add button is clicked. */\n onAdd?: () => void;\n /** Callback function when the remove button is clicked. */\n onRemove?: (value?: string) => void;\n /** If true, an add button will be displayed at the end of the avatar group.\n * @default true\n */\n showAddButton?: boolean;\n /** If true, a remove button will be displayed when hovering over an avatar.\n * @default false\n */\n showRemoveAvatarButton?: boolean;\n /** Size of the avatars in the group.\n * @default md\n */\n size?: AvatarSize;\n /** Variant of the avatars in the group.\n * @default default\n */\n variant?: AvatarVariant;\n /** Props to customize the add button Menu. See `Menu` for more information. */\n menuProps?: Omit<MenuProps, 'buttonProps'>;\n /** Data test id for the avatar group.\n * @default kibble-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const AvatarGroup = ({\n avatars,\n max = 3,\n onAdd,\n onRemove,\n showAddButton = true,\n showRemoveAvatarButton = false,\n size = 'md',\n variant = 'default',\n menuProps,\n addButtonTooltipText,\n ['data-testid']: dataTestId = 'kibble-avatar-group',\n ...rest\n}: AvatarGroupProps): React.JSX.Element => {\n const mergedNames = useMemo(() => avatars.map((avatar) => avatar.name).join(', '), [avatars]);\n const spacing = size === 'xs' || size === 'sm' ? -1 : -2;\n const [hideTooltip, setHideTooltip] = useState(false);\n const [menuOpen, setMenuOpen] = useState(false);\n\n const buttonProps: ButtonProps = useMemo(() => {\n return {\n size: size === 'xl' ? 'lg' : size,\n variant: 'ghostNeutral',\n borderRadius: 'full',\n borderWidth: '1px',\n iconName: 'plus',\n borderColor: 'border',\n };\n }, [size]);\n\n return (\n <CAvatarGroup\n className=\"AvatarGroup\"\n data-testid={dataTestId}\n gap={0}\n spaceX={spacing}\n stacking=\"first-on-top\"\n size={size}\n {...rest}\n >\n {avatars.length > max ? (\n <Avatar size={size} variant=\"contrast\" showRemoveButton={false} tooltipProps={{ label: mergedNames }}>\n <Text size={size === 'xs' || size === 'sm' ? 'xs' : 'sm'} variant=\"onContrast\">\n {avatars.length.toString()}\n </Text>\n </Avatar>\n ) : (\n avatars.map((avatar) => (\n <Avatar\n {...avatar}\n key={avatar.name}\n size={size}\n variant={variant || avatar.variant}\n showRemoveButton={showRemoveAvatarButton}\n onRemove={onRemove}\n />\n ))\n )}\n {showAddButton && (\n <Tooltip disabled={!addButtonTooltipText?.length || hideTooltip} label={addButtonTooltipText || ''}>\n {menuProps ? (\n <Box>\n <Menu\n open={menuOpen}\n data-testid={`${dataTestId}-add-button`}\n {...menuProps}\n onOpenChange={({ open }) => {\n setHideTooltip(open);\n setMenuOpen(open);\n }}\n buttonProps={{\n ...buttonProps,\n hideCaret: true,\n }}\n />\n </Box>\n ) : (\n <Button {...buttonProps} onClick={onAdd} />\n )}\n </Tooltip>\n )}\n </CAvatarGroup>\n );\n};\n"],"names":["AvatarGroup","avatars","max","onAdd","onRemove","showAddButton","showRemoveAvatarButton","size","variant","menuProps","addButtonTooltipText","dataTestId","rest","mergedNames","useMemo","avatar","spacing","hideTooltip","setHideTooltip","useState","menuOpen","setMenuOpen","buttonProps","jsxs","CAvatarGroup","jsx","Avatar","Text","createElement","Tooltip","Box","Menu","open","Button"],"mappings":";;;;;;;;AA6CO,MAAMA,IAAc,CAAC;AAAA,EAC1B,SAAAC;AAAA,EACA,KAAAC,IAAM;AAAA,EACN,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,wBAAAC,IAAyB;AAAA,EACzB,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,GAAGC;AACL,MAA2C;AACzC,QAAMC,IAAcC,EAAQ,MAAMb,EAAQ,IAAI,CAACc,MAAWA,EAAO,IAAI,EAAE,KAAK,IAAI,GAAG,CAACd,CAAO,CAAC,GACtFe,IAAUT,MAAS,QAAQA,MAAS,OAAO,KAAK,IAChD,CAACU,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9C,CAACC,GAAUC,CAAW,IAAIF,EAAS,EAAK,GAExCG,IAA2BR,EAAQ,OAChC;AAAA,IACL,MAAMP,MAAS,OAAO,OAAOA;AAAA,IAC7B,SAAS;AAAA,IACT,cAAc;AAAA,IACd,aAAa;AAAA,IACb,UAAU;AAAA,IACV,aAAa;AAAA,EACf,IACC,CAACA,CAAI,CAAC;AAGP,SAAAgB,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAab;AAAA,MACb,KAAK;AAAA,MACL,QAAQK;AAAA,MACR,UAAS;AAAA,MACT,MAAAT;AAAA,MACC,GAAGK;AAAA,MAEH,UAAA;AAAA,QAAAX,EAAQ,SAASC,IACfuB,gBAAAA,EAAAA,IAAAC,GAAA,EAAO,MAAAnB,GAAY,SAAQ,YAAW,kBAAkB,IAAO,cAAc,EAAE,OAAOM,EAAY,GACjG,gCAACc,GAAK,EAAA,MAAMpB,MAAS,QAAQA,MAAS,OAAO,OAAO,MAAM,SAAQ,cAC/D,UAAAN,EAAQ,OAAO,YAClB,EACF,CAAA,IAEAA,EAAQ,IAAI,CAACc,MACX,gBAAAa;AAAA,UAACF;AAAA,UAAA;AAAA,YACE,GAAGX;AAAA,YACJ,KAAKA,EAAO;AAAA,YACZ,MAAAR;AAAA,YACA,SAASC,KAAWO,EAAO;AAAA,YAC3B,kBAAkBT;AAAA,YAClB,UAAAF;AAAA,UAAA;AAAA,QAAA,CAEH;AAAA,QAEFC,KACCoB,gBAAAA,EAAA,IAACI,GAAQ,EAAA,UAAU,CAACnB,GAAsB,UAAUO,GAAa,OAAOP,KAAwB,IAC7F,UAAAD,0BACEqB,GACC,EAAA,UAAAL,gBAAAA,EAAA;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,MAAMX;AAAA,YACN,eAAa,GAAGT,CAAU;AAAA,YACzB,GAAGF;AAAA,YACJ,cAAc,CAAC,EAAE,MAAAuB,QAAW;AAC1B,cAAAd,EAAec,CAAI,GACnBX,EAAYW,CAAI;AAAA,YAClB;AAAA,YACA,aAAa;AAAA,cACX,GAAGV;AAAA,cACH,WAAW;AAAA,YAAA;AAAA,UACb;AAAA,QAAA,GAEJ,IAECG,gBAAAA,EAAA,IAAAQ,GAAA,EAAQ,GAAGX,GAAa,SAASnB,GAAO,EAE7C,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";const o=require("./jsx-runtime-BjDatQAs.js"),r=require("react"),s=require("./avatar.component-BGgZoVJS.js"),f=require("./menu.component-CNbEm3SL.js"),A=require("./text.component-D5GpbfNx.js"),C=require("./button.component-DjdgBXDC.js"),_=require("./tooltip.component-DBw-hAPU.js"),k=require("./index-BQRnVsAg.js"),G=({avatars:n,max:c=3,onAdd:l,onRemove:m,showAddButton:x=!0,showRemoveAvatarButton:d=!1,size:t="md",variant:j="default",menuProps:a,addButtonTooltipText:u,["data-testid"]:i="kibble-avatar-group",...h})=>{const b=r.useMemo(()=>n.map(e=>e.name).join(", "),[n]),g=t==="xs"||t==="sm"?-1:-2,[R,v]=r.useState(!1),[q,E]=r.useState(!1),p=r.useMemo(()=>({size:t==="xl"?"lg":t,variant:"ghostNeutral",borderRadius:"full",borderWidth:"1px",iconName:"plus",borderColor:"border"}),[t]);return o.jsxRuntimeExports.jsxs(s.AvatarGroup,{className:"AvatarGroup","data-testid":i,gap:0,spaceX:g,stacking:"first-on-top",size:t,...h,children:[n.length>c?o.jsxRuntimeExports.jsx(s.Avatar,{size:t,variant:"contrast",showRemoveButton:!1,tooltipProps:{label:b},children:o.jsxRuntimeExports.jsx(A.WrappedText,{size:t==="xs"||t==="sm"?"xs":"sm",variant:"onContrast",children:n.length.toString()})}):n.map(e=>r.createElement(s.Avatar,{...e,key:e.name,size:t,variant:j||e.variant,showRemoveButton:d,onRemove:m})),x&&o.jsxRuntimeExports.jsx(_.Tooltip,{disabled:!u?.length||R,label:u||"",children:a?o.jsxRuntimeExports.jsx(k.Box,{children:o.jsxRuntimeExports.jsx(f.Menu,{open:q,"data-testid":`${i}-add-button`,...a,onOpenChange:({open:e})=>{v(e),E(e)},buttonProps:{...p,hideCaret:!0}})}):o.jsxRuntimeExports.jsx(C.Button,{...p,onClick:l})})]})};exports.AvatarGroup=G;
2
- //# sourceMappingURL=avatarGroup.component-CUOKTQHZ.js.map
1
+ "use strict";const o=require("./jsx-runtime-BjDatQAs.js"),r=require("react"),s=require("./avatar.component-BGgZoVJS.js"),f=require("./menu.component-B_rE1WZ2.js"),A=require("./text.component-D5GpbfNx.js"),C=require("./button.component-DjdgBXDC.js"),_=require("./tooltip.component-DBw-hAPU.js"),k=require("./index-BQRnVsAg.js"),G=({avatars:n,max:c=3,onAdd:l,onRemove:m,showAddButton:x=!0,showRemoveAvatarButton:d=!1,size:t="md",variant:j="default",menuProps:a,addButtonTooltipText:u,["data-testid"]:i="kibble-avatar-group",...h})=>{const b=r.useMemo(()=>n.map(e=>e.name).join(", "),[n]),g=t==="xs"||t==="sm"?-1:-2,[R,v]=r.useState(!1),[q,E]=r.useState(!1),p=r.useMemo(()=>({size:t==="xl"?"lg":t,variant:"ghostNeutral",borderRadius:"full",borderWidth:"1px",iconName:"plus",borderColor:"border"}),[t]);return o.jsxRuntimeExports.jsxs(s.AvatarGroup,{className:"AvatarGroup","data-testid":i,gap:0,spaceX:g,stacking:"first-on-top",size:t,...h,children:[n.length>c?o.jsxRuntimeExports.jsx(s.Avatar,{size:t,variant:"contrast",showRemoveButton:!1,tooltipProps:{label:b},children:o.jsxRuntimeExports.jsx(A.WrappedText,{size:t==="xs"||t==="sm"?"xs":"sm",variant:"onContrast",children:n.length.toString()})}):n.map(e=>r.createElement(s.Avatar,{...e,key:e.name,size:t,variant:j||e.variant,showRemoveButton:d,onRemove:m})),x&&o.jsxRuntimeExports.jsx(_.Tooltip,{disabled:!u?.length||R,label:u||"",children:a?o.jsxRuntimeExports.jsx(k.Box,{children:o.jsxRuntimeExports.jsx(f.Menu,{open:q,"data-testid":`${i}-add-button`,...a,onOpenChange:({open:e})=>{v(e),E(e)},buttonProps:{...p,hideCaret:!0}})}):o.jsxRuntimeExports.jsx(C.Button,{...p,onClick:l})})]})};exports.AvatarGroup=G;
2
+ //# sourceMappingURL=avatarGroup.component-ClqXmemB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatarGroup.component-CUOKTQHZ.js","sources":["../../src/components/AvatarGroup/avatarGroup.component.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { AvatarGroup as CAvatarGroup, AvatarGroupProps as CAvatarGroupProps } from '@chakra-ui/react/avatar';\nimport { Avatar, AvatarProps } from 'components/Avatar/avatar.component';\nimport { AvatarSize, AvatarVariant } from 'components/Avatar/avatar.types';\nimport { Menu, MenuProps } from 'components/Menu';\nimport { Text } from 'components/Text/text.component';\nimport { Button, ButtonProps } from 'components/Button';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface AvatarGroupProps extends CAvatarGroupProps {\n /** Tooltip text for when the add button is hovered. */\n addButtonTooltipText?: string;\n /** Array of avatars to display in the group. */\n avatars: AvatarProps[];\n /** Maximum number of avatars to display before it shows a counter instead. */\n max?: number;\n /** Callback function when the add button is clicked. */\n onAdd?: () => void;\n /** Callback function when the remove button is clicked. */\n onRemove?: (value?: string) => void;\n /** If true, an add button will be displayed at the end of the avatar group.\n * @default true\n */\n showAddButton?: boolean;\n /** If true, a remove button will be displayed when hovering over an avatar.\n * @default false\n */\n showRemoveAvatarButton?: boolean;\n /** Size of the avatars in the group.\n * @default md\n */\n size?: AvatarSize;\n /** Variant of the avatars in the group.\n * @default default\n */\n variant?: AvatarVariant;\n /** Props to customize the add button Menu. See `Menu` for more information. */\n menuProps?: Omit<MenuProps, 'buttonProps'>;\n /** Data test id for the avatar group.\n * @default kibble-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const AvatarGroup = ({\n avatars,\n max = 3,\n onAdd,\n onRemove,\n showAddButton = true,\n showRemoveAvatarButton = false,\n size = 'md',\n variant = 'default',\n menuProps,\n addButtonTooltipText,\n ['data-testid']: dataTestId = 'kibble-avatar-group',\n ...rest\n}: AvatarGroupProps): React.JSX.Element => {\n const mergedNames = useMemo(() => avatars.map((avatar) => avatar.name).join(', '), [avatars]);\n const spacing = size === 'xs' || size === 'sm' ? -1 : -2;\n const [hideTooltip, setHideTooltip] = useState(false);\n const [menuOpen, setMenuOpen] = useState(false);\n\n const buttonProps: ButtonProps = useMemo(() => {\n return {\n size: size === 'xl' ? 'lg' : size,\n variant: 'ghostNeutral',\n borderRadius: 'full',\n borderWidth: '1px',\n iconName: 'plus',\n borderColor: 'border',\n };\n }, [size]);\n\n return (\n <CAvatarGroup\n className=\"AvatarGroup\"\n data-testid={dataTestId}\n gap={0}\n spaceX={spacing}\n stacking=\"first-on-top\"\n size={size}\n {...rest}\n >\n {avatars.length > max ? (\n <Avatar size={size} variant=\"contrast\" showRemoveButton={false} tooltipProps={{ label: mergedNames }}>\n <Text size={size === 'xs' || size === 'sm' ? 'xs' : 'sm'} variant=\"onContrast\">\n {avatars.length.toString()}\n </Text>\n </Avatar>\n ) : (\n avatars.map((avatar) => (\n <Avatar\n {...avatar}\n key={avatar.name}\n size={size}\n variant={variant || avatar.variant}\n showRemoveButton={showRemoveAvatarButton}\n onRemove={onRemove}\n />\n ))\n )}\n {showAddButton && (\n <Tooltip disabled={!addButtonTooltipText?.length || hideTooltip} label={addButtonTooltipText || ''}>\n {menuProps ? (\n <Box>\n <Menu\n open={menuOpen}\n data-testid={`${dataTestId}-add-button`}\n {...menuProps}\n onOpenChange={({ open }) => {\n setHideTooltip(open);\n setMenuOpen(open);\n }}\n buttonProps={{\n ...buttonProps,\n hideCaret: true,\n }}\n />\n </Box>\n ) : (\n <Button {...buttonProps} onClick={onAdd} />\n )}\n </Tooltip>\n )}\n </CAvatarGroup>\n );\n};\n"],"names":["AvatarGroup","avatars","max","onAdd","onRemove","showAddButton","showRemoveAvatarButton","size","variant","menuProps","addButtonTooltipText","dataTestId","rest","mergedNames","useMemo","avatar","spacing","hideTooltip","setHideTooltip","useState","menuOpen","setMenuOpen","buttonProps","jsxs","CAvatarGroup","jsx","Avatar","Text","createElement","Tooltip","Box","Menu","open","Button"],"mappings":"uUA6CaA,EAAc,CAAC,CAC1B,QAAAC,EACA,IAAAC,EAAM,EACN,MAAAC,EACA,SAAAC,EACA,cAAAC,EAAgB,GAChB,uBAAAC,EAAyB,GACzB,KAAAC,EAAO,KACP,QAAAC,EAAU,UACV,UAAAC,EACA,qBAAAC,EACA,CAAC,eAAgBC,EAAa,sBAC9B,GAAGC,CACL,IAA2C,CACzC,MAAMC,EAAcC,EAAA,QAAQ,IAAMb,EAAQ,IAAKc,GAAWA,EAAO,IAAI,EAAE,KAAK,IAAI,EAAG,CAACd,CAAO,CAAC,EACtFe,EAAUT,IAAS,MAAQA,IAAS,KAAO,GAAK,GAChD,CAACU,EAAaC,CAAc,EAAIC,EAAAA,SAAS,EAAK,EAC9C,CAACC,EAAUC,CAAW,EAAIF,EAAAA,SAAS,EAAK,EAExCG,EAA2BR,EAAAA,QAAQ,KAChC,CACL,KAAMP,IAAS,KAAO,KAAOA,EAC7B,QAAS,eACT,aAAc,OACd,YAAa,MACb,SAAU,OACV,YAAa,QACf,GACC,CAACA,CAAI,CAAC,EAGP,OAAAgB,EAAA,kBAAA,KAACC,EAAA,YAAA,CACC,UAAU,cACV,cAAab,EACb,IAAK,EACL,OAAQK,EACR,SAAS,eACT,KAAAT,EACC,GAAGK,EAEH,SAAA,CAAAX,EAAQ,OAASC,EACfuB,EAAAA,kBAAAA,IAAAC,EAAAA,OAAA,CAAO,KAAAnB,EAAY,QAAQ,WAAW,iBAAkB,GAAO,aAAc,CAAE,MAAOM,CAAY,EACjG,iCAACc,EAAAA,YAAK,CAAA,KAAMpB,IAAS,MAAQA,IAAS,KAAO,KAAO,KAAM,QAAQ,aAC/D,SAAAN,EAAQ,OAAO,WAClB,CACF,CAAA,EAEAA,EAAQ,IAAKc,GACXa,EAAA,cAACF,EAAA,OAAA,CACE,GAAGX,EACJ,IAAKA,EAAO,KACZ,KAAAR,EACA,QAASC,GAAWO,EAAO,QAC3B,iBAAkBT,EAClB,SAAAF,CAAA,CAAA,CAEH,EAEFC,GACCoB,EAAA,kBAAA,IAACI,UAAQ,CAAA,SAAU,CAACnB,GAAsB,QAAUO,EAAa,MAAOP,GAAwB,GAC7F,SAAAD,0BACEqB,EACC,IAAA,CAAA,SAAAL,EAAA,kBAAA,IAACM,EAAA,KAAA,CACC,KAAMX,EACN,cAAa,GAAGT,CAAU,cACzB,GAAGF,EACJ,aAAc,CAAC,CAAE,KAAAuB,KAAW,CAC1Bd,EAAec,CAAI,EACnBX,EAAYW,CAAI,CAClB,EACA,YAAa,CACX,GAAGV,EACH,UAAW,EAAA,CACb,CAAA,EAEJ,EAECG,EAAA,kBAAA,IAAAQ,SAAA,CAAQ,GAAGX,EAAa,QAASnB,EAAO,CAE7C,CAAA,CAAA,CAAA,CAEJ,CAEJ"}
1
+ {"version":3,"file":"avatarGroup.component-ClqXmemB.js","sources":["../../src/components/AvatarGroup/avatarGroup.component.tsx"],"sourcesContent":["import React, { useMemo, useState } from 'react';\nimport { AvatarGroup as CAvatarGroup, AvatarGroupProps as CAvatarGroupProps } from '@chakra-ui/react/avatar';\nimport { Avatar, AvatarProps } from 'components/Avatar/avatar.component';\nimport { AvatarSize, AvatarVariant } from 'components/Avatar/avatar.types';\nimport { Menu, MenuProps } from 'components/Menu';\nimport { Text } from 'components/Text/text.component';\nimport { Button, ButtonProps } from 'components/Button';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface AvatarGroupProps extends CAvatarGroupProps {\n /** Tooltip text for when the add button is hovered. */\n addButtonTooltipText?: string;\n /** Array of avatars to display in the group. */\n avatars: AvatarProps[];\n /** Maximum number of avatars to display before it shows a counter instead. */\n max?: number;\n /** Callback function when the add button is clicked. */\n onAdd?: () => void;\n /** Callback function when the remove button is clicked. */\n onRemove?: (value?: string) => void;\n /** If true, an add button will be displayed at the end of the avatar group.\n * @default true\n */\n showAddButton?: boolean;\n /** If true, a remove button will be displayed when hovering over an avatar.\n * @default false\n */\n showRemoveAvatarButton?: boolean;\n /** Size of the avatars in the group.\n * @default md\n */\n size?: AvatarSize;\n /** Variant of the avatars in the group.\n * @default default\n */\n variant?: AvatarVariant;\n /** Props to customize the add button Menu. See `Menu` for more information. */\n menuProps?: Omit<MenuProps, 'buttonProps'>;\n /** Data test id for the avatar group.\n * @default kibble-avatar-group\n */\n 'data-testid'?: string;\n}\n\nexport const AvatarGroup = ({\n avatars,\n max = 3,\n onAdd,\n onRemove,\n showAddButton = true,\n showRemoveAvatarButton = false,\n size = 'md',\n variant = 'default',\n menuProps,\n addButtonTooltipText,\n ['data-testid']: dataTestId = 'kibble-avatar-group',\n ...rest\n}: AvatarGroupProps): React.JSX.Element => {\n const mergedNames = useMemo(() => avatars.map((avatar) => avatar.name).join(', '), [avatars]);\n const spacing = size === 'xs' || size === 'sm' ? -1 : -2;\n const [hideTooltip, setHideTooltip] = useState(false);\n const [menuOpen, setMenuOpen] = useState(false);\n\n const buttonProps: ButtonProps = useMemo(() => {\n return {\n size: size === 'xl' ? 'lg' : size,\n variant: 'ghostNeutral',\n borderRadius: 'full',\n borderWidth: '1px',\n iconName: 'plus',\n borderColor: 'border',\n };\n }, [size]);\n\n return (\n <CAvatarGroup\n className=\"AvatarGroup\"\n data-testid={dataTestId}\n gap={0}\n spaceX={spacing}\n stacking=\"first-on-top\"\n size={size}\n {...rest}\n >\n {avatars.length > max ? (\n <Avatar size={size} variant=\"contrast\" showRemoveButton={false} tooltipProps={{ label: mergedNames }}>\n <Text size={size === 'xs' || size === 'sm' ? 'xs' : 'sm'} variant=\"onContrast\">\n {avatars.length.toString()}\n </Text>\n </Avatar>\n ) : (\n avatars.map((avatar) => (\n <Avatar\n {...avatar}\n key={avatar.name}\n size={size}\n variant={variant || avatar.variant}\n showRemoveButton={showRemoveAvatarButton}\n onRemove={onRemove}\n />\n ))\n )}\n {showAddButton && (\n <Tooltip disabled={!addButtonTooltipText?.length || hideTooltip} label={addButtonTooltipText || ''}>\n {menuProps ? (\n <Box>\n <Menu\n open={menuOpen}\n data-testid={`${dataTestId}-add-button`}\n {...menuProps}\n onOpenChange={({ open }) => {\n setHideTooltip(open);\n setMenuOpen(open);\n }}\n buttonProps={{\n ...buttonProps,\n hideCaret: true,\n }}\n />\n </Box>\n ) : (\n <Button {...buttonProps} onClick={onAdd} />\n )}\n </Tooltip>\n )}\n </CAvatarGroup>\n );\n};\n"],"names":["AvatarGroup","avatars","max","onAdd","onRemove","showAddButton","showRemoveAvatarButton","size","variant","menuProps","addButtonTooltipText","dataTestId","rest","mergedNames","useMemo","avatar","spacing","hideTooltip","setHideTooltip","useState","menuOpen","setMenuOpen","buttonProps","jsxs","CAvatarGroup","jsx","Avatar","Text","createElement","Tooltip","Box","Menu","open","Button"],"mappings":"uUA6CaA,EAAc,CAAC,CAC1B,QAAAC,EACA,IAAAC,EAAM,EACN,MAAAC,EACA,SAAAC,EACA,cAAAC,EAAgB,GAChB,uBAAAC,EAAyB,GACzB,KAAAC,EAAO,KACP,QAAAC,EAAU,UACV,UAAAC,EACA,qBAAAC,EACA,CAAC,eAAgBC,EAAa,sBAC9B,GAAGC,CACL,IAA2C,CACzC,MAAMC,EAAcC,EAAA,QAAQ,IAAMb,EAAQ,IAAKc,GAAWA,EAAO,IAAI,EAAE,KAAK,IAAI,EAAG,CAACd,CAAO,CAAC,EACtFe,EAAUT,IAAS,MAAQA,IAAS,KAAO,GAAK,GAChD,CAACU,EAAaC,CAAc,EAAIC,EAAAA,SAAS,EAAK,EAC9C,CAACC,EAAUC,CAAW,EAAIF,EAAAA,SAAS,EAAK,EAExCG,EAA2BR,EAAAA,QAAQ,KAChC,CACL,KAAMP,IAAS,KAAO,KAAOA,EAC7B,QAAS,eACT,aAAc,OACd,YAAa,MACb,SAAU,OACV,YAAa,QACf,GACC,CAACA,CAAI,CAAC,EAGP,OAAAgB,EAAA,kBAAA,KAACC,EAAA,YAAA,CACC,UAAU,cACV,cAAab,EACb,IAAK,EACL,OAAQK,EACR,SAAS,eACT,KAAAT,EACC,GAAGK,EAEH,SAAA,CAAAX,EAAQ,OAASC,EACfuB,EAAAA,kBAAAA,IAAAC,EAAAA,OAAA,CAAO,KAAAnB,EAAY,QAAQ,WAAW,iBAAkB,GAAO,aAAc,CAAE,MAAOM,CAAY,EACjG,iCAACc,EAAAA,YAAK,CAAA,KAAMpB,IAAS,MAAQA,IAAS,KAAO,KAAO,KAAM,QAAQ,aAC/D,SAAAN,EAAQ,OAAO,WAClB,CACF,CAAA,EAEAA,EAAQ,IAAKc,GACXa,EAAA,cAACF,EAAA,OAAA,CACE,GAAGX,EACJ,IAAKA,EAAO,KACZ,KAAAR,EACA,QAASC,GAAWO,EAAO,QAC3B,iBAAkBT,EAClB,SAAAF,CAAA,CAAA,CAEH,EAEFC,GACCoB,EAAA,kBAAA,IAACI,UAAQ,CAAA,SAAU,CAACnB,GAAsB,QAAUO,EAAa,MAAOP,GAAwB,GAC7F,SAAAD,0BACEqB,EACC,IAAA,CAAA,SAAAL,EAAA,kBAAA,IAACM,EAAA,KAAA,CACC,KAAMX,EACN,cAAa,GAAGT,CAAU,cACzB,GAAGF,EACJ,aAAc,CAAC,CAAE,KAAAuB,KAAW,CAC1Bd,EAAec,CAAI,EACnBX,EAAYW,CAAI,CAClB,EACA,YAAa,CACX,GAAGV,EACH,UAAW,EAAA,CACb,CAAA,EAEJ,EAECG,EAAA,kBAAA,IAAAQ,SAAA,CAAQ,GAAGX,EAAa,QAASnB,EAAO,CAE7C,CAAA,CAAA,CAAA,CAEJ,CAEJ"}
@@ -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-DwnU1N2a.js";
4
+ import { M as P } from "./menu.component-CAttpI-a.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-CYJxaqK1.js.map
70
+ //# sourceMappingURL=buttonGroup.component-B4APVs0L.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttonGroup.component-CYJxaqK1.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-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,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-CNbEm3SL.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-CHbRCpMI.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-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 +1 @@
1
- {"version":3,"file":"buttonGroup.component-CHbRCpMI.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-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,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-o-sEPUJe.js";
3
+ import { u, a as p, b as D, c as x } from "./datePicker.provider-DvJrNnut.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-BpDNoBAZ.js.map
62
+ //# sourceMappingURL=calendar.component-BswlIQ5W.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.component-BpDNoBAZ.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-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,2 +1,2 @@
1
- "use strict";const s=require("./jsx-runtime-BjDatQAs.js"),h=require("./index-BQRnVsAg.js"),o=require("./datePicker.provider-CDhsnFSD.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-C2bzItDq.js.map
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 +1 @@
1
- {"version":3,"file":"calendar.component-C2bzItDq.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-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,2 +1,2 @@
1
- "use strict";const s=require("./jsx-runtime-BjDatQAs.js"),l=require("react"),A=require("./withFormControl-d2CEvsH2.js"),O=require("./text.component-D5GpbfNx.js"),F=require("./tooltip.component-DBw-hAPU.js"),H=require("./create-slot-recipe-context-HXE1VazG.js"),m=require("./factory-a2SJjEvR.js"),M=require("./attr-BMs6szZx.js"),W=require("./empty-B5_AO6Pg.js"),D=require("./use-recipe-DaPWl_pL.js"),d=require("./use-locale-context-ym21RUxU.js"),R=require("./checkbox.anatomy-DM39E2Q9.js"),Y=require("./index-Ts8g8jZd.js"),b=require("./index-CQURjLlA.js"),P=require("./use-field-context-Cm29IQ7H.js"),B=o=>o&&o.__esModule?o:{default:o},U=B(l),[y,f]=d.createContext({name:"CheckboxContext",hookName:"useCheckboxContext",providerName:"<CheckboxProvider />"}),E=l.forwardRef((o,t)=>{const e=f(),r=b.mergeProps(e.getControlProps(),o);return s.jsxRuntimeExports.jsx(d.ark.div,{...r,ref:t})});E.displayName="CheckboxControl";function z(o){const{value:t,onChange:e,defaultValue:r}=o,[n,i]=l.useState(r),c=t!==void 0,a=c?t:n,x=l.useCallback(h=>(c||i(h),e?.(h)),[c,e]);return[a,x]}function J(o={}){const{defaultValue:t,value:e,onValueChange:r,disabled:n,readOnly:i,name:c,invalid:a}=o,x=!(n||i),h=Y.useEvent(r,{sync:!0}),[k,p]=z({value:e,defaultValue:t||[],onChange:h}),C=u=>k.some(j=>String(j)===String(u)),v=u=>{C(u)?I(u):g(u)},g=u=>{x&&(C(u)||p(k.concat(u)))},I=u=>{x&&p(k.filter(j=>String(j)!==String(u)))};return{isChecked:C,value:k,name:c,disabled:!!n,readOnly:!!i,invalid:!!a,setValue:p,addValue:g,toggleValue:v,getItemProps:u=>({checked:u.value!=null?C(u.value):void 0,onCheckedChange(){u.value!=null&&v(u.value)},name:c,disabled:n,readOnly:i,invalid:a})}}const[K,Q]=d.createContext({name:"CheckboxGroupContext",hookName:"useCheckboxGroupContext",providerName:"<CheckboxGroupProvider />",strict:!1}),q=l.forwardRef((o,t)=>{const[e,r]=d.createSplitProps()(o,["defaultValue","value","onValueChange","disabled","invalid","readOnly","name"]),n=J(e);return s.jsxRuntimeExports.jsx(K,{value:n,children:s.jsxRuntimeExports.jsx(d.ark.div,{ref:t,role:"group",...r,...R.checkboxAnatomy.build().group.attrs})})});q.displayName="CheckboxGroup";const _=l.forwardRef((o,t)=>{const e=f(),r=b.mergeProps(e.getHiddenInputProps(),o),n=P.useFieldContext();return s.jsxRuntimeExports.jsx(d.ark.input,{"aria-describedby":n?.ariaDescribedby,...r,ref:t})});_.displayName="CheckboxHiddenInput";const N=l.forwardRef((o,t)=>{const e=f(),r=b.mergeProps(e.getLabelProps(),o);return s.jsxRuntimeExports.jsx(d.ark.span,{...r,ref:t})});N.displayName="CheckboxLabel";const X=(o={})=>{const t=Q(),e=P.useFieldContext(),r=l.useMemo(()=>b.mergeProps(o,t?.getItemProps({value:o.value})??{}),[o,t]),n=l.useId(),{getRootNode:i}=d.useEnvironmentContext(),{dir:c}=d.useLocaleContext(),a={id:n,ids:{label:e?.ids.label,hiddenInput:e?.ids.control},dir:c,disabled:e?.disabled,readOnly:e?.readOnly,invalid:e?.invalid,required:e?.required,getRootNode:i,...r},x=d.useMachine(R.machine,a);return R.connect(x,d.normalizeProps)},V=l.forwardRef((o,t)=>{const[e,r]=d.createSplitProps()(o,["checked","defaultChecked","disabled","form","id","ids","invalid","name","onCheckedChange","readOnly","required","value"]),n=X(e),i=b.mergeProps(n.getRootProps(),r);return s.jsxRuntimeExports.jsx(y,{value:n,children:s.jsxRuntimeExports.jsx(d.ark.label,{...i,ref:t})})});V.displayName="CheckboxRoot";const w=l.forwardRef((o,t)=>{const[{value:e},r]=d.createSplitProps()(o,["value"]),n=b.mergeProps(e.getRootProps(),r);return s.jsxRuntimeExports.jsx(y,{value:e,children:s.jsxRuntimeExports.jsx(d.ark.label,{...n,ref:t})})});w.displayName="CheckboxRootProvider";const Z=l.forwardRef(function(t,e){const r=D.useRecipe({key:"checkmark",recipe:t.recipe}),[n,i]=r.splitVariantProps(t),{checked:c,indeterminate:a,disabled:x,unstyled:h,children:k,...p}=i,C=h?W.EMPTY_STYLES:r(n);return s.jsxRuntimeExports.jsx(m.chakra.svg,{ref:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3px",strokeLinecap:"round",strokeLinejoin:"round","data-state":a?"indeterminate":c?"checked":"unchecked","data-disabled":M.dataAttr(x),css:[C,t.css],...p,children:a?s.jsxRuntimeExports.jsx("path",{d:"M5 12h14"}):c?s.jsxRuntimeExports.jsx("polyline",{points:"20 6 9 17 4 12"}):null})}),{withProvider:S,withContext:G,useStyles:T}=H.createSlotRecipeContext({key:"checkbox"});S(w,"root",{forwardAsChild:!0});const ee=S(V,"root",{forwardAsChild:!0}),te=G(N,"label",{forwardAsChild:!0}),$=l.forwardRef(function(t,e){const{checked:r,indeterminate:n,...i}=t,c=f(),a=T();return r&&c.checked?s.jsxRuntimeExports.jsx(m.chakra.svg,{ref:e,asChild:!0,...i,css:[a.indicator,t.css],children:r}):n&&c.indeterminate?s.jsxRuntimeExports.jsx(m.chakra.svg,{ref:e,asChild:!0,...i,css:[a.indicator,t.css],children:n}):s.jsxRuntimeExports.jsx(Z,{ref:e,checked:c.checked,indeterminate:c.indeterminate,disabled:c.disabled,unstyled:!0,...i,css:[a.indicator,t.css]})}),oe=G(E,"control",{forwardAsChild:!0,defaultProps:{children:s.jsxRuntimeExports.jsx($,{})}}),re=m.chakra(q,{base:{display:"flex",flexDirection:"column",gap:"1.5"}},{forwardAsChild:!0}),ne=_,L=U.default.forwardRef(({checkboxRef:o,children:t,onContrast:e,rootRef:r,size:n="md",withCard:i=!1,tooltipLabel:c,["data-testid"]:a="kibble-checkbox",...x},h)=>{const k=e?"onContrast":"default",p=s.jsxRuntimeExports.jsxs(ee,{className:"Checkbox",checked:x.checked,"data-testid":a,ref:r,variant:k,size:n,withCard:i,...x,children:[s.jsxRuntimeExports.jsx(ne,{className:"Checkbox__Input","data-testid":`${a}-input`,ref:o||h}),s.jsxRuntimeExports.jsx(oe,{className:"Checkbox__Control","data-testid":`${a}-control`,children:s.jsxRuntimeExports.jsx($,{className:"Checkbox__Indicator","data-testid":`${a}-indicator`})}),!!t&&s.jsxRuntimeExports.jsx(te,{className:"Checkbox__Label","data-testid":`${a}-label`,...i&&typeof t!="string"&&{mt:"-4px"},children:typeof t=="string"?s.jsxRuntimeExports.jsx(O.WrappedText,{size:n,lineHeight:"unset",variant:e?"onContrast":"default",children:t}):t})]});return c?s.jsxRuntimeExports.jsx(F.Tooltip,{label:c,onContrast:e,"data-testid":`${a}-tooltip`,children:p}):p});L.displayName="Checkbox";const se=A.withFormControl(L);exports.CheckboxGroup=re;exports.WrappedCheckbox=se;
2
- //# sourceMappingURL=checkbox.component-CrTnnQ30.js.map
1
+ "use strict";const s=require("./jsx-runtime-BjDatQAs.js"),l=require("react"),A=require("./withFormControl-CMerPa0c.js"),O=require("./text.component-D5GpbfNx.js"),F=require("./tooltip.component-DBw-hAPU.js"),H=require("./create-slot-recipe-context-HXE1VazG.js"),m=require("./factory-a2SJjEvR.js"),M=require("./attr-BMs6szZx.js"),W=require("./empty-B5_AO6Pg.js"),D=require("./use-recipe-DaPWl_pL.js"),d=require("./use-locale-context-ym21RUxU.js"),R=require("./checkbox.anatomy-DM39E2Q9.js"),Y=require("./index-Ts8g8jZd.js"),b=require("./index-CQURjLlA.js"),P=require("./use-field-context-Cm29IQ7H.js"),B=o=>o&&o.__esModule?o:{default:o},U=B(l),[y,f]=d.createContext({name:"CheckboxContext",hookName:"useCheckboxContext",providerName:"<CheckboxProvider />"}),E=l.forwardRef((o,t)=>{const e=f(),r=b.mergeProps(e.getControlProps(),o);return s.jsxRuntimeExports.jsx(d.ark.div,{...r,ref:t})});E.displayName="CheckboxControl";function z(o){const{value:t,onChange:e,defaultValue:r}=o,[n,i]=l.useState(r),c=t!==void 0,a=c?t:n,x=l.useCallback(h=>(c||i(h),e?.(h)),[c,e]);return[a,x]}function J(o={}){const{defaultValue:t,value:e,onValueChange:r,disabled:n,readOnly:i,name:c,invalid:a}=o,x=!(n||i),h=Y.useEvent(r,{sync:!0}),[k,p]=z({value:e,defaultValue:t||[],onChange:h}),C=u=>k.some(j=>String(j)===String(u)),v=u=>{C(u)?I(u):g(u)},g=u=>{x&&(C(u)||p(k.concat(u)))},I=u=>{x&&p(k.filter(j=>String(j)!==String(u)))};return{isChecked:C,value:k,name:c,disabled:!!n,readOnly:!!i,invalid:!!a,setValue:p,addValue:g,toggleValue:v,getItemProps:u=>({checked:u.value!=null?C(u.value):void 0,onCheckedChange(){u.value!=null&&v(u.value)},name:c,disabled:n,readOnly:i,invalid:a})}}const[K,Q]=d.createContext({name:"CheckboxGroupContext",hookName:"useCheckboxGroupContext",providerName:"<CheckboxGroupProvider />",strict:!1}),q=l.forwardRef((o,t)=>{const[e,r]=d.createSplitProps()(o,["defaultValue","value","onValueChange","disabled","invalid","readOnly","name"]),n=J(e);return s.jsxRuntimeExports.jsx(K,{value:n,children:s.jsxRuntimeExports.jsx(d.ark.div,{ref:t,role:"group",...r,...R.checkboxAnatomy.build().group.attrs})})});q.displayName="CheckboxGroup";const _=l.forwardRef((o,t)=>{const e=f(),r=b.mergeProps(e.getHiddenInputProps(),o),n=P.useFieldContext();return s.jsxRuntimeExports.jsx(d.ark.input,{"aria-describedby":n?.ariaDescribedby,...r,ref:t})});_.displayName="CheckboxHiddenInput";const N=l.forwardRef((o,t)=>{const e=f(),r=b.mergeProps(e.getLabelProps(),o);return s.jsxRuntimeExports.jsx(d.ark.span,{...r,ref:t})});N.displayName="CheckboxLabel";const X=(o={})=>{const t=Q(),e=P.useFieldContext(),r=l.useMemo(()=>b.mergeProps(o,t?.getItemProps({value:o.value})??{}),[o,t]),n=l.useId(),{getRootNode:i}=d.useEnvironmentContext(),{dir:c}=d.useLocaleContext(),a={id:n,ids:{label:e?.ids.label,hiddenInput:e?.ids.control},dir:c,disabled:e?.disabled,readOnly:e?.readOnly,invalid:e?.invalid,required:e?.required,getRootNode:i,...r},x=d.useMachine(R.machine,a);return R.connect(x,d.normalizeProps)},V=l.forwardRef((o,t)=>{const[e,r]=d.createSplitProps()(o,["checked","defaultChecked","disabled","form","id","ids","invalid","name","onCheckedChange","readOnly","required","value"]),n=X(e),i=b.mergeProps(n.getRootProps(),r);return s.jsxRuntimeExports.jsx(y,{value:n,children:s.jsxRuntimeExports.jsx(d.ark.label,{...i,ref:t})})});V.displayName="CheckboxRoot";const w=l.forwardRef((o,t)=>{const[{value:e},r]=d.createSplitProps()(o,["value"]),n=b.mergeProps(e.getRootProps(),r);return s.jsxRuntimeExports.jsx(y,{value:e,children:s.jsxRuntimeExports.jsx(d.ark.label,{...n,ref:t})})});w.displayName="CheckboxRootProvider";const Z=l.forwardRef(function(t,e){const r=D.useRecipe({key:"checkmark",recipe:t.recipe}),[n,i]=r.splitVariantProps(t),{checked:c,indeterminate:a,disabled:x,unstyled:h,children:k,...p}=i,C=h?W.EMPTY_STYLES:r(n);return s.jsxRuntimeExports.jsx(m.chakra.svg,{ref:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3px",strokeLinecap:"round",strokeLinejoin:"round","data-state":a?"indeterminate":c?"checked":"unchecked","data-disabled":M.dataAttr(x),css:[C,t.css],...p,children:a?s.jsxRuntimeExports.jsx("path",{d:"M5 12h14"}):c?s.jsxRuntimeExports.jsx("polyline",{points:"20 6 9 17 4 12"}):null})}),{withProvider:S,withContext:G,useStyles:T}=H.createSlotRecipeContext({key:"checkbox"});S(w,"root",{forwardAsChild:!0});const ee=S(V,"root",{forwardAsChild:!0}),te=G(N,"label",{forwardAsChild:!0}),$=l.forwardRef(function(t,e){const{checked:r,indeterminate:n,...i}=t,c=f(),a=T();return r&&c.checked?s.jsxRuntimeExports.jsx(m.chakra.svg,{ref:e,asChild:!0,...i,css:[a.indicator,t.css],children:r}):n&&c.indeterminate?s.jsxRuntimeExports.jsx(m.chakra.svg,{ref:e,asChild:!0,...i,css:[a.indicator,t.css],children:n}):s.jsxRuntimeExports.jsx(Z,{ref:e,checked:c.checked,indeterminate:c.indeterminate,disabled:c.disabled,unstyled:!0,...i,css:[a.indicator,t.css]})}),oe=G(E,"control",{forwardAsChild:!0,defaultProps:{children:s.jsxRuntimeExports.jsx($,{})}}),re=m.chakra(q,{base:{display:"flex",flexDirection:"column",gap:"1.5"}},{forwardAsChild:!0}),ne=_,L=U.default.forwardRef(({checkboxRef:o,children:t,onContrast:e,rootRef:r,size:n="md",withCard:i=!1,tooltipLabel:c,["data-testid"]:a="kibble-checkbox",...x},h)=>{const k=e?"onContrast":"default",p=s.jsxRuntimeExports.jsxs(ee,{className:"Checkbox",checked:x.checked,"data-testid":a,ref:r,variant:k,size:n,withCard:i,...x,children:[s.jsxRuntimeExports.jsx(ne,{className:"Checkbox__Input","data-testid":`${a}-input`,ref:o||h}),s.jsxRuntimeExports.jsx(oe,{className:"Checkbox__Control","data-testid":`${a}-control`,children:s.jsxRuntimeExports.jsx($,{className:"Checkbox__Indicator","data-testid":`${a}-indicator`})}),!!t&&s.jsxRuntimeExports.jsx(te,{className:"Checkbox__Label","data-testid":`${a}-label`,...i&&typeof t!="string"&&{mt:"-4px"},children:typeof t=="string"?s.jsxRuntimeExports.jsx(O.WrappedText,{size:n,lineHeight:"unset",variant:e?"onContrast":"default",children:t}):t})]});return c?s.jsxRuntimeExports.jsx(F.Tooltip,{label:c,onContrast:e,"data-testid":`${a}-tooltip`,children:p}):p});L.displayName="Checkbox";const se=A.withFormControl(L);exports.CheckboxGroup=re;exports.WrappedCheckbox=se;
2
+ //# sourceMappingURL=checkbox.component-CyVZ9Xv2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.component-CrTnnQ30.js","sources":["../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-control.js","../../node_modules/@ark-ui/react/dist/utils/use-controllable-state.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-label.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkmark/checkmark.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkbox/checkbox.js","../../src/components/Checkbox/checkbox.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxProvider, useCheckboxContext] = createContext({\n name: \"CheckboxContext\",\n hookName: \"useCheckboxContext\",\n providerName: \"<CheckboxProvider />\"\n});\n\nexport { CheckboxProvider, useCheckboxContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxControl = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nCheckboxControl.displayName = \"CheckboxControl\";\n\nexport { CheckboxControl };\n","'use client';\nimport { useState, useCallback } from 'react';\n\nfunction useControllableState(props) {\n const { value, onChange, defaultValue } = props;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const controlled = value !== void 0;\n const currentValue = controlled ? value : uncontrolledValue;\n const setValue = useCallback(\n (value2) => {\n if (controlled) {\n return onChange?.(value2);\n }\n setUncontrolledValue(value2);\n return onChange?.(value2);\n },\n [controlled, onChange]\n );\n return [currentValue, setValue];\n}\n\nexport { useControllableState };\n","'use client';\nimport { useControllableState } from '../../utils/use-controllable-state.js';\nimport { useEvent } from '../../utils/use-event.js';\n\nfunction useCheckboxGroup(props = {}) {\n const { defaultValue, value: controlledValue, onValueChange, disabled, readOnly, name, invalid } = props;\n const interactive = !(disabled || readOnly);\n const onChangeProp = useEvent(onValueChange, { sync: true });\n const [value, setValue] = useControllableState({\n value: controlledValue,\n defaultValue: defaultValue || [],\n onChange: onChangeProp\n });\n const isChecked = (val) => {\n return value.some((v) => String(v) === String(val));\n };\n const toggleValue = (val) => {\n isChecked(val) ? removeValue(val) : addValue(val);\n };\n const addValue = (val) => {\n if (!interactive) return;\n if (isChecked(val)) return;\n setValue(value.concat(val));\n };\n const removeValue = (val) => {\n if (!interactive) return;\n setValue(value.filter((v) => String(v) !== String(val)));\n };\n const getItemProps = (props2) => {\n return {\n checked: props2.value != null ? isChecked(props2.value) : void 0,\n onCheckedChange() {\n if (props2.value != null) {\n toggleValue(props2.value);\n }\n },\n name,\n disabled,\n readOnly,\n invalid\n };\n };\n return {\n isChecked,\n value,\n name,\n disabled: !!disabled,\n readOnly: !!readOnly,\n invalid: !!invalid,\n setValue,\n addValue,\n toggleValue,\n getItemProps\n };\n}\n\nexport { useCheckboxGroup };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxGroupContextProvider, useCheckboxGroupContext] = createContext({\n name: \"CheckboxGroupContext\",\n hookName: \"useCheckboxGroupContext\",\n providerName: \"<CheckboxGroupProvider />\",\n strict: false\n});\n\nexport { CheckboxGroupContextProvider, useCheckboxGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { checkboxAnatomy } from './checkbox.anatomy.js';\nimport { useCheckboxGroup } from './use-checkbox-group.js';\nimport { CheckboxGroupContextProvider } from './use-checkbox-group-context.js';\n\nconst CheckboxGroup = forwardRef((props, ref) => {\n const [checkboxGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"disabled\",\n \"invalid\",\n \"readOnly\",\n \"name\"\n ]);\n const checkboxGroup = useCheckboxGroup(checkboxGroupProps);\n return /* @__PURE__ */ jsx(CheckboxGroupContextProvider, { value: checkboxGroup, children: /* @__PURE__ */ jsx(ark.div, { ref, role: \"group\", ...localProps, ...checkboxAnatomy.build().group.attrs }) });\n});\nCheckboxGroup.displayName = \"CheckboxGroup\";\n\nexport { CheckboxGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxHiddenInput = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getHiddenInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nCheckboxHiddenInput.displayName = \"CheckboxHiddenInput\";\n\nexport { CheckboxHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxLabel = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nCheckboxLabel.displayName = \"CheckboxLabel\";\n\nexport { CheckboxLabel };\n","'use client';\nimport * as checkbox from '@zag-js/checkbox';\nimport { mergeProps, useMachine, normalizeProps } from '@zag-js/react';\nimport { useMemo, useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxGroupContext } from './use-checkbox-group-context.js';\n\nconst useCheckbox = (ownProps = {}) => {\n const checkboxGroup = useCheckboxGroupContext();\n const field = useFieldContext();\n const props = useMemo(() => {\n return mergeProps(ownProps, checkboxGroup?.getItemProps({ value: ownProps.value }) ?? {});\n }, [ownProps, checkboxGroup]);\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenInput: field?.ids.control\n },\n dir,\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n invalid: field?.invalid,\n required: field?.required,\n getRootNode,\n ...props\n };\n const service = useMachine(checkbox.machine, machineProps);\n return checkbox.connect(service, normalizeProps);\n};\n\nexport { useCheckbox };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useCheckbox } from './use-checkbox.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRoot = forwardRef((props, ref) => {\n const [useCheckboxProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"defaultChecked\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"name\",\n \"onCheckedChange\",\n \"readOnly\",\n \"required\",\n \"value\"\n ]);\n const checkbox = useCheckbox(useCheckboxProps);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRoot.displayName = \"CheckboxRoot\";\n\nexport { CheckboxRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRootProvider = forwardRef((props, ref) => {\n const [{ value: checkbox }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRootProvider.displayName = \"CheckboxRootProvider\";\n\nexport { CheckboxRootProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { dataAttr } from '../../utils/attr.js';\nimport { EMPTY_STYLES } from '../../styled-system/empty.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\n\nconst Checkmark = forwardRef(\n function Checkmark2(props, ref) {\n const recipe = useRecipe({ key: \"checkmark\", recipe: props.recipe });\n const [variantProps, restProps] = recipe.splitVariantProps(props);\n const { checked, indeterminate, disabled, unstyled, children, ...rest } = restProps;\n const styles = unstyled ? EMPTY_STYLES : recipe(variantProps);\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"3px\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"data-state\": indeterminate ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\",\n \"data-disabled\": dataAttr(disabled),\n css: [styles, props.css],\n ...rest,\n children: indeterminate ? /* @__PURE__ */ jsx(\"path\", { d: \"M5 12h14\" }) : checked ? /* @__PURE__ */ jsx(\"polyline\", { points: \"20 6 9 17 4 12\" }) : null\n }\n );\n }\n);\n\nexport { Checkmark };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Checkbox, useCheckboxContext } from '@ark-ui/react/checkbox';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { Checkmark } from '../checkmark/checkmark.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useCheckboxStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"checkbox\" });\nconst CheckboxRootProvider = withProvider(Checkbox.RootProvider, \"root\", { forwardAsChild: true });\nconst CheckboxRoot = withProvider(\n Checkbox.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst CheckboxPropsProvider = PropsProvider;\nconst CheckboxLabel = withContext(\n Checkbox.Label,\n \"label\",\n { forwardAsChild: true }\n);\nconst CheckboxIndicator = forwardRef(function CheckboxIndicator2(props, ref) {\n const { checked, indeterminate, ...rest } = props;\n const api = useCheckboxContext();\n const styles = useCheckboxStyles();\n if (checked && api.checked) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n asChild: true,\n ...rest,\n css: [styles.indicator, props.css],\n children: checked\n }\n );\n }\n if (indeterminate && api.indeterminate) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n asChild: true,\n ...rest,\n css: [styles.indicator, props.css],\n children: indeterminate\n }\n );\n }\n return /* @__PURE__ */ jsx(\n Checkmark,\n {\n ref,\n checked: api.checked,\n indeterminate: api.indeterminate,\n disabled: api.disabled,\n unstyled: true,\n ...rest,\n css: [styles.indicator, props.css]\n }\n );\n});\nconst CheckboxControl = withContext(\n Checkbox.Control,\n \"control\",\n {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckboxIndicator, {}) }\n }\n);\nconst CheckboxGroup = chakra(\n Checkbox.Group,\n {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"1.5\"\n }\n },\n { forwardAsChild: true }\n);\nconst CheckboxContext = Checkbox.Context;\nconst CheckboxHiddenInput = Checkbox.HiddenInput;\n\nexport { CheckboxContext, CheckboxControl, CheckboxGroup, CheckboxHiddenInput, CheckboxIndicator, CheckboxLabel, CheckboxPropsProvider, CheckboxRoot, CheckboxRootProvider, useCheckboxStyles };\n","import React from 'react';\nimport { Checkbox as CCheckbox } from '@chakra-ui/react/checkbox';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { Text } from 'components/Text/text.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport { CheckedChangeDetails, CheckedState } from './checkbox.types';\n\nexport interface CheckboxProps extends WithFormControlProps, Omit<CCheckbox.RootProps, 'onChange'> {\n /** Ref to the hidden input element. */\n checkboxRef?: React.Ref<HTMLInputElement | null>;\n /** Ref to the checkbox component. */\n rootRef?: React.Ref<HTMLLabelElement | null>;\n /** Size of the checkbox.\n * @default md\n */\n size?: FormControlSize;\n /**\n * If true, the checkbox will be wrapped in a Card component.\n * @default false\n */\n withCard?: boolean;\n /** Callback function when the checkbox value changes. */\n onCheckedChange?: (details: CheckedChangeDetails) => void;\n /** If true, the checkbox will be checked. Use `indeterminate` to show a checkbox with a dash in the middle. */\n checked?: CheckedState;\n /** Tooltip text to show when hovering over the checkbox input or label. */\n tooltipLabel?: string;\n /** Data test id for the checkbox.\n * @default kibble-checkbox\n */\n 'data-testid'?: string;\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n checkboxRef,\n children,\n onContrast,\n rootRef,\n size = 'md',\n withCard = false,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-checkbox',\n ...rest\n },\n ref,\n ): React.ReactNode => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n const checkboxContent = (\n <CCheckbox.Root\n className=\"Checkbox\"\n checked={rest.checked}\n data-testid={dataTestId}\n ref={rootRef}\n variant={_computedVariant}\n size={size}\n withCard={withCard}\n {...rest}\n >\n <CCheckbox.HiddenInput\n className=\"Checkbox__Input\"\n data-testid={`${dataTestId}-input`}\n ref={checkboxRef || ref}\n />\n <CCheckbox.Control className=\"Checkbox__Control\" data-testid={`${dataTestId}-control`}>\n <CCheckbox.Indicator className=\"Checkbox__Indicator\" data-testid={`${dataTestId}-indicator`} />\n </CCheckbox.Control>\n {!!children && (\n <CCheckbox.Label\n className=\"Checkbox__Label\"\n data-testid={`${dataTestId}-label`}\n {...(withCard && typeof children !== 'string' && { mt: '-4px' })}\n >\n {typeof children === 'string' ? (\n <Text size={size} lineHeight=\"unset\" variant={onContrast ? 'onContrast' : 'default'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </CCheckbox.Label>\n )}\n </CCheckbox.Root>\n );\n\n if (tooltipLabel) {\n return (\n <Tooltip label={tooltipLabel} onContrast={onContrast} data-testid={`${dataTestId}-tooltip`}>\n {checkboxContent}\n </Tooltip>\n );\n }\n\n return checkboxContent;\n },\n);\n\nCheckbox.displayName = 'Checkbox';\nconst WrappedCheckbox = withFormControl<CheckboxProps>(Checkbox);\n\nexport { WrappedCheckbox as Checkbox };\n"],"names":["CheckboxProvider","useCheckboxContext","createContext","CheckboxControl","forwardRef","props","ref","checkbox","mergedProps","mergeProps","jsx","ark","useControllableState","value","onChange","defaultValue","uncontrolledValue","setUncontrolledValue","useState","controlled","currentValue","setValue","useCallback","value2","useCheckboxGroup","controlledValue","onValueChange","disabled","readOnly","name","invalid","interactive","onChangeProp","useEvent","isChecked","val","v","toggleValue","removeValue","addValue","props2","CheckboxGroupContextProvider","useCheckboxGroupContext","CheckboxGroup","checkboxGroupProps","localProps","createSplitProps","checkboxGroup","checkboxAnatomy","CheckboxHiddenInput","field","useFieldContext","CheckboxLabel","useCheckbox","ownProps","useMemo","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","checkbox.machine","checkbox.connect","normalizeProps","CheckboxRoot","useCheckboxProps","CheckboxRootProvider","Checkmark","recipe","useRecipe","variantProps","restProps","checked","indeterminate","unstyled","children","rest","styles","EMPTY_STYLES","chakra","dataAttr","withProvider","withContext","useCheckboxStyles","createSlotRecipeContext","Checkbox.RootProvider","Checkbox.Root","Checkbox.Label","CheckboxIndicator","api","Checkbox.Control","Checkbox.Group","Checkbox.HiddenInput","Checkbox","React","checkboxRef","onContrast","rootRef","size","withCard","tooltipLabel","dataTestId","_computedVariant","checkboxContent","jsxs","CCheckbox.Root","CCheckbox.HiddenInput","CCheckbox.Control","CCheckbox.Indicator","CCheckbox.Label","Text","Tooltip","WrappedCheckbox","withFormControl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
1
+ {"version":3,"file":"checkbox.component-CyVZ9Xv2.js","sources":["../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-control.js","../../node_modules/@ark-ui/react/dist/utils/use-controllable-state.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox-group-context.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-group.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-label.js","../../node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root.js","../../node_modules/@ark-ui/react/dist/components/checkbox/checkbox-root-provider.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkmark/checkmark.js","../../node_modules/@chakra-ui/react/dist/esm/components/checkbox/checkbox.js","../../src/components/Checkbox/checkbox.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxProvider, useCheckboxContext] = createContext({\n name: \"CheckboxContext\",\n hookName: \"useCheckboxContext\",\n providerName: \"<CheckboxProvider />\"\n});\n\nexport { CheckboxProvider, useCheckboxContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxControl = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getControlProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nCheckboxControl.displayName = \"CheckboxControl\";\n\nexport { CheckboxControl };\n","'use client';\nimport { useState, useCallback } from 'react';\n\nfunction useControllableState(props) {\n const { value, onChange, defaultValue } = props;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const controlled = value !== void 0;\n const currentValue = controlled ? value : uncontrolledValue;\n const setValue = useCallback(\n (value2) => {\n if (controlled) {\n return onChange?.(value2);\n }\n setUncontrolledValue(value2);\n return onChange?.(value2);\n },\n [controlled, onChange]\n );\n return [currentValue, setValue];\n}\n\nexport { useControllableState };\n","'use client';\nimport { useControllableState } from '../../utils/use-controllable-state.js';\nimport { useEvent } from '../../utils/use-event.js';\n\nfunction useCheckboxGroup(props = {}) {\n const { defaultValue, value: controlledValue, onValueChange, disabled, readOnly, name, invalid } = props;\n const interactive = !(disabled || readOnly);\n const onChangeProp = useEvent(onValueChange, { sync: true });\n const [value, setValue] = useControllableState({\n value: controlledValue,\n defaultValue: defaultValue || [],\n onChange: onChangeProp\n });\n const isChecked = (val) => {\n return value.some((v) => String(v) === String(val));\n };\n const toggleValue = (val) => {\n isChecked(val) ? removeValue(val) : addValue(val);\n };\n const addValue = (val) => {\n if (!interactive) return;\n if (isChecked(val)) return;\n setValue(value.concat(val));\n };\n const removeValue = (val) => {\n if (!interactive) return;\n setValue(value.filter((v) => String(v) !== String(val)));\n };\n const getItemProps = (props2) => {\n return {\n checked: props2.value != null ? isChecked(props2.value) : void 0,\n onCheckedChange() {\n if (props2.value != null) {\n toggleValue(props2.value);\n }\n },\n name,\n disabled,\n readOnly,\n invalid\n };\n };\n return {\n isChecked,\n value,\n name,\n disabled: !!disabled,\n readOnly: !!readOnly,\n invalid: !!invalid,\n setValue,\n addValue,\n toggleValue,\n getItemProps\n };\n}\n\nexport { useCheckboxGroup };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [CheckboxGroupContextProvider, useCheckboxGroupContext] = createContext({\n name: \"CheckboxGroupContext\",\n hookName: \"useCheckboxGroupContext\",\n providerName: \"<CheckboxGroupProvider />\",\n strict: false\n});\n\nexport { CheckboxGroupContextProvider, useCheckboxGroupContext };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { checkboxAnatomy } from './checkbox.anatomy.js';\nimport { useCheckboxGroup } from './use-checkbox-group.js';\nimport { CheckboxGroupContextProvider } from './use-checkbox-group-context.js';\n\nconst CheckboxGroup = forwardRef((props, ref) => {\n const [checkboxGroupProps, localProps] = createSplitProps()(props, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"disabled\",\n \"invalid\",\n \"readOnly\",\n \"name\"\n ]);\n const checkboxGroup = useCheckboxGroup(checkboxGroupProps);\n return /* @__PURE__ */ jsx(CheckboxGroupContextProvider, { value: checkboxGroup, children: /* @__PURE__ */ jsx(ark.div, { ref, role: \"group\", ...localProps, ...checkboxAnatomy.build().group.attrs }) });\n});\nCheckboxGroup.displayName = \"CheckboxGroup\";\n\nexport { CheckboxGroup };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxHiddenInput = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getHiddenInputProps(), props);\n const field = useFieldContext();\n return /* @__PURE__ */ jsx(ark.input, { \"aria-describedby\": field?.ariaDescribedby, ...mergedProps, ref });\n});\nCheckboxHiddenInput.displayName = \"CheckboxHiddenInput\";\n\nexport { CheckboxHiddenInput };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { ark } from '../factory.js';\nimport { useCheckboxContext } from './use-checkbox-context.js';\n\nconst CheckboxLabel = forwardRef((props, ref) => {\n const checkbox = useCheckboxContext();\n const mergedProps = mergeProps(checkbox.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nCheckboxLabel.displayName = \"CheckboxLabel\";\n\nexport { CheckboxLabel };\n","'use client';\nimport * as checkbox from '@zag-js/checkbox';\nimport { mergeProps, useMachine, normalizeProps } from '@zag-js/react';\nimport { useMemo, useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\nimport { useFieldContext } from '../field/use-field-context.js';\nimport { useCheckboxGroupContext } from './use-checkbox-group-context.js';\n\nconst useCheckbox = (ownProps = {}) => {\n const checkboxGroup = useCheckboxGroupContext();\n const field = useFieldContext();\n const props = useMemo(() => {\n return mergeProps(ownProps, checkboxGroup?.getItemProps({ value: ownProps.value }) ?? {});\n }, [ownProps, checkboxGroup]);\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n ids: {\n label: field?.ids.label,\n hiddenInput: field?.ids.control\n },\n dir,\n disabled: field?.disabled,\n readOnly: field?.readOnly,\n invalid: field?.invalid,\n required: field?.required,\n getRootNode,\n ...props\n };\n const service = useMachine(checkbox.machine, machineProps);\n return checkbox.connect(service, normalizeProps);\n};\n\nexport { useCheckbox };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useCheckbox } from './use-checkbox.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRoot = forwardRef((props, ref) => {\n const [useCheckboxProps, localProps] = createSplitProps()(props, [\n \"checked\",\n \"defaultChecked\",\n \"disabled\",\n \"form\",\n \"id\",\n \"ids\",\n \"invalid\",\n \"name\",\n \"onCheckedChange\",\n \"readOnly\",\n \"required\",\n \"value\"\n ]);\n const checkbox = useCheckbox(useCheckboxProps);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRoot.displayName = \"CheckboxRoot\";\n\nexport { CheckboxRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { CheckboxProvider } from './use-checkbox-context.js';\n\nconst CheckboxRootProvider = forwardRef((props, ref) => {\n const [{ value: checkbox }, localProps] = createSplitProps()(props, [\"value\"]);\n const mergedProps = mergeProps(checkbox.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(CheckboxProvider, { value: checkbox, children: /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref }) });\n});\nCheckboxRootProvider.displayName = \"CheckboxRootProvider\";\n\nexport { CheckboxRootProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { forwardRef } from 'react';\nimport { dataAttr } from '../../utils/attr.js';\nimport { EMPTY_STYLES } from '../../styled-system/empty.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { useRecipe } from '../../styled-system/use-recipe.js';\n\nconst Checkmark = forwardRef(\n function Checkmark2(props, ref) {\n const recipe = useRecipe({ key: \"checkmark\", recipe: props.recipe });\n const [variantProps, restProps] = recipe.splitVariantProps(props);\n const { checked, indeterminate, disabled, unstyled, children, ...rest } = restProps;\n const styles = unstyled ? EMPTY_STYLES : recipe(variantProps);\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"3px\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"data-state\": indeterminate ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\",\n \"data-disabled\": dataAttr(disabled),\n css: [styles, props.css],\n ...rest,\n children: indeterminate ? /* @__PURE__ */ jsx(\"path\", { d: \"M5 12h14\" }) : checked ? /* @__PURE__ */ jsx(\"polyline\", { points: \"20 6 9 17 4 12\" }) : null\n }\n );\n }\n);\n\nexport { Checkmark };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Checkbox, useCheckboxContext } from '@ark-ui/react/checkbox';\nimport { forwardRef } from 'react';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { Checkmark } from '../checkmark/checkmark.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useCheckboxStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"checkbox\" });\nconst CheckboxRootProvider = withProvider(Checkbox.RootProvider, \"root\", { forwardAsChild: true });\nconst CheckboxRoot = withProvider(\n Checkbox.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst CheckboxPropsProvider = PropsProvider;\nconst CheckboxLabel = withContext(\n Checkbox.Label,\n \"label\",\n { forwardAsChild: true }\n);\nconst CheckboxIndicator = forwardRef(function CheckboxIndicator2(props, ref) {\n const { checked, indeterminate, ...rest } = props;\n const api = useCheckboxContext();\n const styles = useCheckboxStyles();\n if (checked && api.checked) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n asChild: true,\n ...rest,\n css: [styles.indicator, props.css],\n children: checked\n }\n );\n }\n if (indeterminate && api.indeterminate) {\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n asChild: true,\n ...rest,\n css: [styles.indicator, props.css],\n children: indeterminate\n }\n );\n }\n return /* @__PURE__ */ jsx(\n Checkmark,\n {\n ref,\n checked: api.checked,\n indeterminate: api.indeterminate,\n disabled: api.disabled,\n unstyled: true,\n ...rest,\n css: [styles.indicator, props.css]\n }\n );\n});\nconst CheckboxControl = withContext(\n Checkbox.Control,\n \"control\",\n {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(CheckboxIndicator, {}) }\n }\n);\nconst CheckboxGroup = chakra(\n Checkbox.Group,\n {\n base: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"1.5\"\n }\n },\n { forwardAsChild: true }\n);\nconst CheckboxContext = Checkbox.Context;\nconst CheckboxHiddenInput = Checkbox.HiddenInput;\n\nexport { CheckboxContext, CheckboxControl, CheckboxGroup, CheckboxHiddenInput, CheckboxIndicator, CheckboxLabel, CheckboxPropsProvider, CheckboxRoot, CheckboxRootProvider, useCheckboxStyles };\n","import React from 'react';\nimport { Checkbox as CCheckbox } from '@chakra-ui/react/checkbox';\nimport { withFormControl, WithFormControlProps } from 'hocs/withFormControl/withFormControl';\nimport { FormControlSize } from 'hocs/withFormControl/withFormControl.types';\nimport { Text } from 'components/Text/text.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport { CheckedChangeDetails, CheckedState } from './checkbox.types';\n\nexport interface CheckboxProps extends WithFormControlProps, Omit<CCheckbox.RootProps, 'onChange'> {\n /** Ref to the hidden input element. */\n checkboxRef?: React.Ref<HTMLInputElement | null>;\n /** Ref to the checkbox component. */\n rootRef?: React.Ref<HTMLLabelElement | null>;\n /** Size of the checkbox.\n * @default md\n */\n size?: FormControlSize;\n /**\n * If true, the checkbox will be wrapped in a Card component.\n * @default false\n */\n withCard?: boolean;\n /** Callback function when the checkbox value changes. */\n onCheckedChange?: (details: CheckedChangeDetails) => void;\n /** If true, the checkbox will be checked. Use `indeterminate` to show a checkbox with a dash in the middle. */\n checked?: CheckedState;\n /** Tooltip text to show when hovering over the checkbox input or label. */\n tooltipLabel?: string;\n /** Data test id for the checkbox.\n * @default kibble-checkbox\n */\n 'data-testid'?: string;\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n checkboxRef,\n children,\n onContrast,\n rootRef,\n size = 'md',\n withCard = false,\n tooltipLabel,\n ['data-testid']: dataTestId = 'kibble-checkbox',\n ...rest\n },\n ref,\n ): React.ReactNode => {\n const _computedVariant = onContrast ? 'onContrast' : 'default';\n\n const checkboxContent = (\n <CCheckbox.Root\n className=\"Checkbox\"\n checked={rest.checked}\n data-testid={dataTestId}\n ref={rootRef}\n variant={_computedVariant}\n size={size}\n withCard={withCard}\n {...rest}\n >\n <CCheckbox.HiddenInput\n className=\"Checkbox__Input\"\n data-testid={`${dataTestId}-input`}\n ref={checkboxRef || ref}\n />\n <CCheckbox.Control className=\"Checkbox__Control\" data-testid={`${dataTestId}-control`}>\n <CCheckbox.Indicator className=\"Checkbox__Indicator\" data-testid={`${dataTestId}-indicator`} />\n </CCheckbox.Control>\n {!!children && (\n <CCheckbox.Label\n className=\"Checkbox__Label\"\n data-testid={`${dataTestId}-label`}\n {...(withCard && typeof children !== 'string' && { mt: '-4px' })}\n >\n {typeof children === 'string' ? (\n <Text size={size} lineHeight=\"unset\" variant={onContrast ? 'onContrast' : 'default'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </CCheckbox.Label>\n )}\n </CCheckbox.Root>\n );\n\n if (tooltipLabel) {\n return (\n <Tooltip label={tooltipLabel} onContrast={onContrast} data-testid={`${dataTestId}-tooltip`}>\n {checkboxContent}\n </Tooltip>\n );\n }\n\n return checkboxContent;\n },\n);\n\nCheckbox.displayName = 'Checkbox';\nconst WrappedCheckbox = withFormControl<CheckboxProps>(Checkbox);\n\nexport { WrappedCheckbox as Checkbox };\n"],"names":["CheckboxProvider","useCheckboxContext","createContext","CheckboxControl","forwardRef","props","ref","checkbox","mergedProps","mergeProps","jsx","ark","useControllableState","value","onChange","defaultValue","uncontrolledValue","setUncontrolledValue","useState","controlled","currentValue","setValue","useCallback","value2","useCheckboxGroup","controlledValue","onValueChange","disabled","readOnly","name","invalid","interactive","onChangeProp","useEvent","isChecked","val","v","toggleValue","removeValue","addValue","props2","CheckboxGroupContextProvider","useCheckboxGroupContext","CheckboxGroup","checkboxGroupProps","localProps","createSplitProps","checkboxGroup","checkboxAnatomy","CheckboxHiddenInput","field","useFieldContext","CheckboxLabel","useCheckbox","ownProps","useMemo","id","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","service","useMachine","checkbox.machine","checkbox.connect","normalizeProps","CheckboxRoot","useCheckboxProps","CheckboxRootProvider","Checkmark","recipe","useRecipe","variantProps","restProps","checked","indeterminate","unstyled","children","rest","styles","EMPTY_STYLES","chakra","dataAttr","withProvider","withContext","useCheckboxStyles","createSlotRecipeContext","Checkbox.RootProvider","Checkbox.Root","Checkbox.Label","CheckboxIndicator","api","Checkbox.Control","Checkbox.Group","Checkbox.HiddenInput","Checkbox","React","checkboxRef","onContrast","rootRef","size","withCard","tooltipLabel","dataTestId","_computedVariant","checkboxContent","jsxs","CCheckbox.Root","CCheckbox.HiddenInput","CCheckbox.Control","CCheckbox.Indicator","CCheckbox.Label","Text","Tooltip","WrappedCheckbox","withFormControl"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
@@ -1,6 +1,6 @@
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-DVeqCX53.js";
3
+ import { w as F } from "./withFormControl-FQcw75ZS.js";
4
4
  import { W as Y } from "./text.component-C9jh_JMO.js";
5
5
  import { T as B } from "./tooltip.component-CHohp2qn.js";
6
6
  import { c as U } from "./create-slot-recipe-context-D_FXDJGp.js";
@@ -268,4 +268,4 @@ export {
268
268
  $e as C,
269
269
  we as W
270
270
  };
271
- //# sourceMappingURL=checkbox.component-Bytw6Mk1.js.map
271
+ //# sourceMappingURL=checkbox.component-DGIWgnM4.js.map