@televet/kibble-ui 5.0.30 → 5.0.31

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 (167) hide show
  1. package/dist/chunks/{alert.component-B2kzYzhv.js → alert.component-DjFZO6Ks.js} +3 -3
  2. package/dist/chunks/{alert.component-B2kzYzhv.js.map → alert.component-DjFZO6Ks.js.map} +1 -1
  3. package/dist/chunks/{avatar.component-BL6D6Lw_.js → avatar.component-BwOAO1qR.js} +3 -3
  4. package/dist/chunks/{avatar.component-BL6D6Lw_.js.map → avatar.component-BwOAO1qR.js.map} +1 -1
  5. package/dist/chunks/{avatarGroup.component-CUHMxiIc.js → avatarGroup.component-Dvq2vG4z.js} +5 -5
  6. package/dist/chunks/{avatarGroup.component-CUHMxiIc.js.map → avatarGroup.component-Dvq2vG4z.js.map} +1 -1
  7. package/dist/chunks/button.recipe-PiD70IbE.js +2 -0
  8. package/dist/chunks/button.recipe-PiD70IbE.js.map +1 -0
  9. package/dist/chunks/{button.recipe-CZ-PlRrK.js → button.recipe-iar6jvoT.js} +42 -45
  10. package/dist/chunks/button.recipe-iar6jvoT.js.map +1 -0
  11. package/dist/chunks/{buttonGroup.component-B4APVs0L.js → buttonGroup.component-Ce5TKLEN.js} +2 -2
  12. package/dist/chunks/{buttonGroup.component-B4APVs0L.js.map → buttonGroup.component-Ce5TKLEN.js.map} +1 -1
  13. package/dist/chunks/{calendar.component-BswlIQ5W.js → calendar.component-D0IcPD3-.js} +2 -2
  14. package/dist/chunks/{calendar.component-BswlIQ5W.js.map → calendar.component-D0IcPD3-.js.map} +1 -1
  15. package/dist/chunks/{characterCounter.component-Cm9yEHjz.js → characterCounter.component-B45KB7Xu.js} +3 -3
  16. package/dist/chunks/{characterCounter.component-Cm9yEHjz.js.map → characterCounter.component-B45KB7Xu.js.map} +1 -1
  17. package/dist/chunks/{checkbox.component-DGIWgnM4.js → checkbox.component-BoqZIgZE.js} +4 -4
  18. package/dist/chunks/{checkbox.component-DGIWgnM4.js.map → checkbox.component-BoqZIgZE.js.map} +1 -1
  19. package/dist/chunks/{checkboxGroup.component-D4YLYJPy.js → checkboxGroup.component-B0QCi1NL.js} +3 -3
  20. package/dist/chunks/{checkboxGroup.component-D4YLYJPy.js.map → checkboxGroup.component-B0QCi1NL.js.map} +1 -1
  21. package/dist/chunks/{config-Djkl1N81.js → config-BV2SsQL7.js} +3 -3
  22. package/dist/chunks/{config-Djkl1N81.js.map → config-BV2SsQL7.js.map} +1 -1
  23. package/dist/chunks/{conversationCard.component-DZnnZcAz.js → conversationCard.component-sKlfIP1V.js} +9 -9
  24. package/dist/chunks/{conversationCard.component-DZnnZcAz.js.map → conversationCard.component-sKlfIP1V.js.map} +1 -1
  25. package/dist/chunks/{datePicker.component-DQzmsw2J.js → datePicker.component-C-rCSpQD.js} +5 -5
  26. package/dist/chunks/{datePicker.component-DQzmsw2J.js.map → datePicker.component-C-rCSpQD.js.map} +1 -1
  27. package/dist/chunks/{datePicker.provider-DvJrNnut.js → datePicker.provider-rPzC-iBh.js} +4 -4
  28. package/dist/chunks/{datePicker.provider-DvJrNnut.js.map → datePicker.provider-rPzC-iBh.js.map} +1 -1
  29. package/dist/chunks/{dateTimePicker.component-BwC0c08U.js → dateTimePicker.component-CYFud4bA.js} +6 -6
  30. package/dist/chunks/{dateTimePicker.component-BwC0c08U.js.map → dateTimePicker.component-CYFud4bA.js.map} +1 -1
  31. package/dist/chunks/{heading.component-BBTU00_w.js → heading.component-D8oRhIr6.js} +2 -2
  32. package/dist/chunks/{heading.component-BBTU00_w.js.map → heading.component-D8oRhIr6.js.map} +1 -1
  33. package/dist/chunks/{index-CcwGiuyq.js → index-CYrGgSXK.js} +2 -2
  34. package/dist/chunks/{index-CcwGiuyq.js.map → index-CYrGgSXK.js.map} +1 -1
  35. package/dist/chunks/{logo.types-C5GwpHjM.js → logo.types-Bv_56edz.js} +6 -6
  36. package/dist/chunks/{logo.types-C5GwpHjM.js.map → logo.types-Bv_56edz.js.map} +1 -1
  37. package/dist/chunks/{maintenanceBanner.types-BiSgtHkP.js → maintenanceBanner.types-Bey20P0-.js} +2 -2
  38. package/dist/chunks/{maintenanceBanner.types-BiSgtHkP.js.map → maintenanceBanner.types-Bey20P0-.js.map} +1 -1
  39. package/dist/chunks/{menu.component-CAttpI-a.js → menu.component-8gDv-vKT.js} +6 -6
  40. package/dist/chunks/{menu.component-CAttpI-a.js.map → menu.component-8gDv-vKT.js.map} +1 -1
  41. package/dist/chunks/{modal.types-DlvB1lQC.js → modal.types-rCenUZ8B.js} +2 -2
  42. package/dist/chunks/{modal.types-DlvB1lQC.js.map → modal.types-rCenUZ8B.js.map} +1 -1
  43. package/dist/chunks/{notificationCounter.component-DhfVkkOQ.js → notificationCounter.component-DikPb9gS.js} +3 -3
  44. package/dist/chunks/{notificationCounter.component-DhfVkkOQ.js.map → notificationCounter.component-DikPb9gS.js.map} +1 -1
  45. package/dist/chunks/{numberInput.component-D2lVvZHf.js → numberInput.component-CcYDFacQ.js} +2 -2
  46. package/dist/chunks/{numberInput.component-D2lVvZHf.js.map → numberInput.component-CcYDFacQ.js.map} +1 -1
  47. package/dist/chunks/{pinInput.types-DOs4a1N6.js → pinInput.types-CljHTAqz.js} +2 -2
  48. package/dist/chunks/{pinInput.types-DOs4a1N6.js.map → pinInput.types-CljHTAqz.js.map} +1 -1
  49. package/dist/chunks/{popover.component-65oNmbmB.js → popover.component-xBwO82bL.js} +5 -5
  50. package/dist/chunks/{popover.component-65oNmbmB.js.map → popover.component-xBwO82bL.js.map} +1 -1
  51. package/dist/chunks/{popover.recipe-DPwwsWLb.js → popover.recipe-BZo9u5OS.js} +2 -2
  52. package/dist/chunks/{popover.recipe-DPwwsWLb.js.map → popover.recipe-BZo9u5OS.js.map} +1 -1
  53. package/dist/chunks/radioGroup.types-BIhmFPWh.js +2 -0
  54. package/dist/chunks/{radioGroup.types-CGGPDvBR.js.map → radioGroup.types-BIhmFPWh.js.map} +1 -1
  55. package/dist/chunks/radioGroup.types-BM87sySx.js +237 -0
  56. package/dist/chunks/{radioGroup.types-CiHxP4xM.js.map → radioGroup.types-BM87sySx.js.map} +1 -1
  57. package/dist/chunks/{rating.component-DwiIqg9E.js → rating.component-BogjwNOM.js} +2 -2
  58. package/dist/chunks/{rating.component-DwiIqg9E.js.map → rating.component-BogjwNOM.js.map} +1 -1
  59. package/dist/chunks/{ratingDots.component-BpimXANy.js → ratingDots.component-Cg74ctjO.js} +4 -4
  60. package/dist/chunks/{ratingDots.component-BpimXANy.js.map → ratingDots.component-Cg74ctjO.js.map} +1 -1
  61. package/dist/chunks/{select.component-CmKal46A.js → select.component-BYIMZguq.js} +5 -5
  62. package/dist/chunks/{select.component-CmKal46A.js.map → select.component-BYIMZguq.js.map} +1 -1
  63. package/dist/chunks/{semanticTokens.records-CmeaObFQ.js → semanticTokens.records-B-TIeSHG.js} +2 -2
  64. package/dist/chunks/semanticTokens.records-B-TIeSHG.js.map +1 -0
  65. package/dist/chunks/{semanticTokens.records-Di2_gv9n.js → semanticTokens.records-DMKJxF9q.js} +23 -4
  66. package/dist/chunks/semanticTokens.records-DMKJxF9q.js.map +1 -0
  67. package/dist/chunks/{sortableList.component-05kG3QEM.js → sortableList.component-DXEpIVec.js} +2 -2
  68. package/dist/chunks/{sortableList.component-05kG3QEM.js.map → sortableList.component-DXEpIVec.js.map} +1 -1
  69. package/dist/chunks/{spinner.component-CQ-JWUon.js → spinner.component-BxtAqNQO.js} +3 -3
  70. package/dist/chunks/{spinner.component-CQ-JWUon.js.map → spinner.component-BxtAqNQO.js.map} +1 -1
  71. package/dist/chunks/{styledAvatar.types-BaOkOA8K.js → styledAvatar.types-DwJd2uWS.js} +2 -2
  72. package/dist/chunks/{styledAvatar.types-BaOkOA8K.js.map → styledAvatar.types-DwJd2uWS.js.map} +1 -1
  73. package/dist/chunks/{swatch.types-CkrkMi11.js → swatch.types--B4k8Ncc.js} +2 -2
  74. package/dist/chunks/{swatch.types-CkrkMi11.js.map → swatch.types--B4k8Ncc.js.map} +1 -1
  75. package/dist/chunks/{switch.component-BANAbt7_.js → switch.component-Yr0uRws8.js} +2 -2
  76. package/dist/chunks/{switch.component-BANAbt7_.js.map → switch.component-Yr0uRws8.js.map} +1 -1
  77. package/dist/chunks/{tab.types-CTlxVEvQ.js → tab.types-DOXmd70v.js} +3 -3
  78. package/dist/chunks/{tab.types-CTlxVEvQ.js.map → tab.types-DOXmd70v.js.map} +1 -1
  79. package/dist/chunks/{tagBlock.component-CAoe7WiN.js → tagBlock.component-R6Ee1sH9.js} +5 -5
  80. package/dist/chunks/{tagBlock.component-CAoe7WiN.js.map → tagBlock.component-R6Ee1sH9.js.map} +1 -1
  81. package/dist/chunks/{text.component-C9jh_JMO.js → text.component-DbJw4Y9-.js} +2 -2
  82. package/dist/chunks/{text.component-C9jh_JMO.js.map → text.component-DbJw4Y9-.js.map} +1 -1
  83. package/dist/chunks/{textInput.component-CHOXUd8x.js → textInput.component-Co3pNJhe.js} +3 -3
  84. package/dist/chunks/{textInput.component-CHOXUd8x.js.map → textInput.component-Co3pNJhe.js.map} +1 -1
  85. package/dist/chunks/{textarea.component-Co5FVeAZ.js → textarea.component-CAn7c-Io.js} +3 -3
  86. package/dist/chunks/{textarea.component-Co5FVeAZ.js.map → textarea.component-CAn7c-Io.js.map} +1 -1
  87. package/dist/chunks/{theme.provider-CfNsrvgx.js → theme.provider-C9i42gSe.js} +3 -3
  88. package/dist/chunks/{theme.provider-CfNsrvgx.js.map → theme.provider-C9i42gSe.js.map} +1 -1
  89. package/dist/chunks/{theme.provider-BEOF1dv4.js → theme.provider-DMENNJUS.js} +832 -687
  90. package/dist/chunks/{theme.provider-BEOF1dv4.js.map → theme.provider-DMENNJUS.js.map} +1 -1
  91. package/dist/chunks/{timePicker.component-O5_k6YYo.js → timePicker.component-CvRaqRrd.js} +4 -4
  92. package/dist/chunks/{timePicker.component-O5_k6YYo.js.map → timePicker.component-CvRaqRrd.js.map} +1 -1
  93. package/dist/chunks/{timeRange.component-Crv2OP7C.js → timeRange.component-DFZaJT2U.js} +2 -2
  94. package/dist/chunks/{timeRange.component-Crv2OP7C.js.map → timeRange.component-DFZaJT2U.js.map} +1 -1
  95. package/dist/chunks/{timestamp.component-CRz-1i68.js → timestamp.component-gXQy-j4t.js} +3 -3
  96. package/dist/chunks/{timestamp.component-CRz-1i68.js.map → timestamp.component-gXQy-j4t.js.map} +1 -1
  97. package/dist/chunks/{tooltip.component-CHohp2qn.js → tooltip.component-BWCTmG_j.js} +2 -2
  98. package/dist/chunks/{tooltip.component-CHohp2qn.js.map → tooltip.component-BWCTmG_j.js.map} +1 -1
  99. package/dist/chunks/{withFormControl-FQcw75ZS.js → withFormControl-BDEeuT0h.js} +2 -2
  100. package/dist/chunks/{withFormControl-FQcw75ZS.js.map → withFormControl-BDEeuT0h.js.map} +1 -1
  101. package/dist/chunks/{withTruncation-DW62mTHW.js → withTruncation-BsdDiS0y.js} +2 -2
  102. package/dist/chunks/{withTruncation-DW62mTHW.js.map → withTruncation-BsdDiS0y.js.map} +1 -1
  103. package/dist/chunks/{wrap-Cu5ZEseD.js → wrap-cM2ut8a7.js} +2 -2
  104. package/dist/chunks/{wrap-Cu5ZEseD.js.map → wrap-cM2ut8a7.js.map} +1 -1
  105. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  106. package/dist/cjs/components/index.cjs +1 -1
  107. package/dist/cjs/index.cjs +1 -1
  108. package/dist/cjs/theme/index.cjs +1 -1
  109. package/dist/cjs/theme/semanticTokens/index.cjs +1 -1
  110. package/dist/cjs/theme/semanticTokens/index.cjs.map +1 -1
  111. package/dist/esm/chakra/index.js +5 -5
  112. package/dist/esm/components/Alert/index.js +1 -1
  113. package/dist/esm/components/Avatar/index.js +1 -1
  114. package/dist/esm/components/AvatarGroup/index.js +1 -1
  115. package/dist/esm/components/ButtonGroup/index.js +1 -1
  116. package/dist/esm/components/Calendar/index.js +1 -1
  117. package/dist/esm/components/CharacterCounter/index.js +1 -1
  118. package/dist/esm/components/Checkbox/index.js +1 -1
  119. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  120. package/dist/esm/components/ConversationCard/index.js +1 -1
  121. package/dist/esm/components/DatePicker/index.js +2 -2
  122. package/dist/esm/components/DateTimePicker/index.js +1 -1
  123. package/dist/esm/components/Heading/index.js +1 -1
  124. package/dist/esm/components/Logo/index.js +1 -1
  125. package/dist/esm/components/MaintenanceBanner/index.js +1 -1
  126. package/dist/esm/components/Menu/index.js +1 -1
  127. package/dist/esm/components/Modal/index.js +1 -1
  128. package/dist/esm/components/NotificationCounter/index.js +1 -1
  129. package/dist/esm/components/NumberInput/index.js +1 -1
  130. package/dist/esm/components/PinInput/index.js +1 -1
  131. package/dist/esm/components/Popover/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/SortableList/index.js +1 -1
  137. package/dist/esm/components/Spinner/index.js +1 -1
  138. package/dist/esm/components/StyledAvatar/index.js +1 -1
  139. package/dist/esm/components/Swatch/index.js +1 -1
  140. package/dist/esm/components/Switch/index.js +1 -1
  141. package/dist/esm/components/Tabs/index.js +1 -1
  142. package/dist/esm/components/TagBlock/index.js +1 -1
  143. package/dist/esm/components/Text/index.js +1 -1
  144. package/dist/esm/components/TextInput/index.js +1 -1
  145. package/dist/esm/components/Textarea/index.js +1 -1
  146. package/dist/esm/components/TimePicker/index.js +1 -1
  147. package/dist/esm/components/TimeRange/index.js +1 -1
  148. package/dist/esm/components/Timestamp/index.js +1 -1
  149. package/dist/esm/components/Tooltip/index.js +1 -1
  150. package/dist/esm/components/index.js +39 -39
  151. package/dist/esm/index.js +40 -40
  152. package/dist/esm/theme/index.js +1 -1
  153. package/dist/esm/theme/semanticTokens/index.js +3 -2
  154. package/dist/esm/theme/semanticTokens/index.js.map +1 -1
  155. package/dist/types/components/Button/button.records.d.ts +16 -0
  156. package/dist/types/components/RadioGroup/radioGroup.component.d.ts +3 -2
  157. package/dist/types/components/RadioGroup/radioGroup.recipe.d.ts +35 -3
  158. package/dist/types/components/RadioGroup/radioGroup.types.d.ts +1 -1
  159. package/dist/types/theme/semanticTokens/semanticTokens.config.d.ts +10 -2
  160. package/package.json +1 -1
  161. package/dist/chunks/button.recipe-CZ-PlRrK.js.map +0 -1
  162. package/dist/chunks/button.recipe-DyIe5w68.js +0 -2
  163. package/dist/chunks/button.recipe-DyIe5w68.js.map +0 -1
  164. package/dist/chunks/radioGroup.types-CGGPDvBR.js +0 -2
  165. package/dist/chunks/radioGroup.types-CiHxP4xM.js +0 -228
  166. package/dist/chunks/semanticTokens.records-CmeaObFQ.js.map +0 -1
  167. package/dist/chunks/semanticTokens.records-Di2_gv9n.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { j as o } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { useCallback as b, useRef as J, useEffect as T, useState as k, useMemo as R } from "react";
3
- import { W as K } from "./textInput.component-CHOXUd8x.js";
4
- import { P as Q } from "./popover.component-65oNmbmB.js";
3
+ import { W as K } from "./textInput.component-Co3pNJhe.js";
4
+ import { P as Q } from "./popover.component-xBwO82bL.js";
5
5
  import { I as U } from "./icon.component-PV_nHBId.js";
6
6
  import { u as X } from "./useIconTextSizeMap-BK-pUrQv.js";
7
7
  import { f as Z } from "./format-dJJ72A--.js";
8
8
  import { B as S } from "./index-9BerxEcw.js";
9
- import { a as ee, d as te } from "./config-Djkl1N81.js";
9
+ import { b as ee, d as te } from "./config-BV2SsQL7.js";
10
10
  import { u as re } from "./use-recipe-d63ABaZ3.js";
11
11
  import { u as V } from "./create-slot-recipe-context-D_FXDJGp.js";
12
12
  const se = ee({
@@ -217,4 +217,4 @@ export {
217
217
  d as M,
218
218
  he as T
219
219
  };
220
- //# sourceMappingURL=timePicker.component-O5_k6YYo.js.map
220
+ //# sourceMappingURL=timePicker.component-CvRaqRrd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timePicker.component-O5_k6YYo.js","sources":["../../src/components/TimePicker/components/TimeOption/timeOption.recipe.ts","../../src/components/TimePicker/components/TimeOption/timeOption.component.tsx","../../src/components/TimePicker/timePicker.recipe.ts","../../src/components/TimePicker/components/TimeList/timeList.component.tsx","../../src/components/TimePicker/timePicker.types.ts","../../src/components/TimePicker/timePicker.component.tsx"],"sourcesContent":["import { defineRecipe } from '@chakra-ui/react/styled-system';\n\nexport const timeOptionRecipe = defineRecipe({\n base: {\n borderRadius: '4px',\n cursor: 'pointer',\n fontSize: 'sm',\n px: 3,\n py: 1,\n textAlign: 'center',\n },\n variants: {\n selected: {\n true: {\n background: 'background.secondary',\n color: 'text.contrast',\n _hover: {\n background: 'background.secondary.hover',\n },\n },\n false: {\n background: 'background',\n color: 'text.subtle',\n _hover: {\n background: 'background.secondaryAlpha.hover',\n },\n },\n },\n },\n defaultVariants: {\n selected: false,\n },\n});\n","import React, { useCallback } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { useRecipe } from '@chakra-ui/react/styled-system';\nimport { timeOptionRecipe } from './timeOption.recipe';\n\ninterface TimeOptionProps {\n /** Ref to the option component. */\n innerRef?: React.Ref<HTMLDivElement | null> | null;\n /** Callback function to be called when the option is clicked. */\n onClick: (selectedValue: string) => void;\n /** If true, the option will be selected. */\n selected: boolean;\n /** Value of the option. */\n value: string;\n /** Data test id for the option.\n * @default kibble-timepicker-option\n */\n 'data-testid'?: string;\n}\n\nexport const TimeOption = ({\n value,\n innerRef,\n onClick,\n selected,\n ['data-testid']: dataTestId = 'kibble-timepicker-option',\n}: TimeOptionProps): React.JSX.Element => {\n const recipe = useRecipe({ recipe: timeOptionRecipe });\n const styles = recipe({ selected });\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedValue = event.currentTarget.textContent || '';\n onClick(selectedValue);\n },\n [onClick],\n );\n\n return (\n <Box className=\"TimePicker__Option\" data-testid={dataTestId} ref={innerRef} onClick={handleClick} css={styles}>\n {value}\n </Box>\n );\n};\n","import { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nexport const timePickerRecipe = defineSlotRecipe({\n slots: ['trigger', 'container', 'list'],\n base: {\n trigger: {\n width: '100%',\n },\n container: {\n display: 'flex',\n gap: 1.5,\n height: '186px',\n overflow: 'hidden',\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n overflowY: 'auto',\n '&::webkit-scrollbar': {\n display: 'none',\n },\n },\n },\n});\n","import React, { useEffect, useRef } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { TimeOption } from '../TimeOption/timeOption.component';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { timePickerRecipe } from '../../timePicker.recipe';\n\ninterface ScrollContainerProps {\n /** Options to display in the list. */\n options: string[];\n /** Type of the option. */\n optionType: 'hour' | 'minute' | 'meridiem';\n /** Selected value of the list. */\n selectedValue?: string;\n /** Callback function to be called when the option is clicked. */\n onClick: (value: string) => void;\n /** Determines if the list is open. */\n open: boolean;\n /** Data test id for the list.\n * @default kibble-timepicker-list\n */\n 'data-testid'?: string;\n}\n\nexport const TimeList = ({\n options,\n optionType,\n selectedValue,\n onClick,\n open = false,\n ['data-testid']: dataTestId = 'kibble-timepicker-list',\n}: ScrollContainerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && itemRef.current) {\n requestAnimationFrame(() => {\n if (itemRef.current) {\n itemRef.current.scrollIntoView({ block: 'center' });\n }\n });\n }\n }, [open, selectedValue]);\n\n return (\n <Box className=\"TimePicker__List\" data-testid={`${dataTestId}-${optionType}-list`} css={styles.list}>\n {options.map((option) => {\n const isSelected = option === selectedValue;\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={isSelected ? itemRef : null}\n value={option}\n selected={option === selectedValue}\n onClick={onClick}\n data-testid={`${dataTestId}-${optionType}-option-${option}`}\n />\n );\n })}\n </Box>\n );\n};\n","export enum Meridiem {\n AM = 'AM',\n PM = 'PM',\n}\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { TextInput, TextInputProps } from 'components/TextInput/textInput.component';\nimport { Popover } from 'components/Popover/popover.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { useIconTextSizeMap } from 'hooks/useIconTextSizeMap';\nimport format from 'date-fns/format';\nimport { Box } from '@chakra-ui/react/box';\nimport { TimeList } from './components/TimeList/timeList.component';\nimport { Meridiem } from './timePicker.types';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { timePickerRecipe } from './timePicker.recipe';\nimport { Placement } from 'shared/types/placement';\n\nexport interface TimePickerProps {\n /** Initial time to be displayed in the input field. */\n initialTime?: Date;\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /**\n * Interval of minutes to be displayed in the dropdown.\n * @default 5\n */\n minuteInterval?: number;\n /** Callback function triggered when the time is changed. */\n onTimeChange?: (time: Date) => void;\n /** Callback function triggered when the time picker is closed. */\n onClose?: (time?: Date) => void;\n /**\n * Placement of the dropdown relative to the input field.\n * @default bottom\n */\n placement?: Placement;\n /**\n * Data test id for the time picker.\n * @default kibble-timepicker\n */\n 'data-testid'?: string;\n}\n\nexport const TimePicker = ({\n initialTime,\n inputProps,\n minuteInterval = 5,\n onTimeChange,\n onClose,\n placement = 'bottom',\n ['data-testid']: dataTestId = 'kibble-timepicker',\n}: TimePickerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const [isOpen, setIsOpen] = useState(false);\n const [selectedTime, setSelectedTime] = useState(initialTime);\n const [selectedHour, setSelectedHour] = useState<string | undefined>();\n const [selectedMinute, setSelectedMinute] = useState<string | undefined>();\n const [selectedMeridiem, setSelectedMeridiem] = useState<string | undefined>();\n\n const formattedTime = useMemo(() => {\n if (!selectedTime) return '';\n return format(selectedTime, 'h:mm aa');\n }, [selectedTime]);\n\n const formatNumber = (number: number | string): string => {\n const formattedValue = number.toString();\n if (formattedValue.length === 1) {\n return `0${formattedValue}`;\n }\n\n return formattedValue;\n };\n\n const hourOptions = useMemo(() => {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((hour) => hour.toString());\n }, []);\n\n const minuteOptions = useMemo(() => {\n const minutes = [];\n for (let i = 0; i < 60; i += minuteInterval) {\n minutes.push(i);\n }\n\n return minutes.map(formatNumber);\n }, [minuteInterval]);\n\n const meridiemOptions = [Meridiem.AM, Meridiem.PM];\n\n const handleTimeChange = useCallback(\n (hour?: string, minute?: string, meridiem?: string) => {\n const _hour = hour || '12';\n const _minute = minute || '00';\n const _meridiem = meridiem || 'AM';\n let meridiemAdjustment = 0;\n\n if (!hour) {\n setSelectedHour('12');\n }\n if (!minute) {\n setSelectedMinute('00');\n }\n if (!meridiem) {\n setSelectedMeridiem('AM');\n }\n\n // set 1-11pm to 13-23. Don't set 12pm to 24\n if (_meridiem === Meridiem.PM && Number(_hour) < 12) {\n meridiemAdjustment = 12;\n }\n\n // set 12am to 00\n if (_meridiem === Meridiem.AM && Number(_hour) === 12) {\n meridiemAdjustment = -12;\n }\n\n const hours = Number(_hour) + meridiemAdjustment;\n const time = new Date().setHours(hours, Number(_minute), 0, 0);\n const date = new Date(time);\n setSelectedTime(date);\n\n if (onTimeChange) {\n onTimeChange(date);\n }\n },\n [onTimeChange],\n );\n\n const handleHourClick = useCallback(\n (value: string) => {\n setSelectedHour(value);\n handleTimeChange(value, selectedMinute, selectedMeridiem);\n },\n [handleTimeChange, selectedMeridiem, selectedMinute],\n );\n\n const handleMinuteClick = useCallback(\n (value: string) => {\n setSelectedMinute(value);\n handleTimeChange(selectedHour, value, selectedMeridiem);\n },\n [handleTimeChange, selectedHour, selectedMeridiem],\n );\n\n const handleMeridiemClick = useCallback(\n (value: string) => {\n setSelectedMeridiem(value);\n handleTimeChange(selectedHour, selectedMinute, value);\n },\n [handleTimeChange, selectedHour, selectedMinute],\n );\n\n useEffect(() => {\n // Set default selections based on value passed in\n if (initialTime) {\n const localTime = new Date(initialTime);\n\n // calculate hours\n const hours = localTime.getHours();\n const adjustedHours = hours % 12 || 12;\n\n setSelectedTime(initialTime);\n setSelectedHour(adjustedHours.toString());\n setSelectedMinute(localTime.getMinutes().toString());\n setSelectedMeridiem(localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM);\n }\n }, [initialTime]);\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={({ open }) => {\n setIsOpen(open);\n if (!open && onClose) {\n onClose(selectedTime);\n }\n }}\n anchor={\n <Box className=\"TimePicker__Trigger\" data-testid={`${dataTestId}-trigger`} css={styles.trigger}>\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={<Icon size={useIconTextSizeMap(inputProps?.size || 'md')} name=\"clock\" />}\n value={formattedTime}\n readOnly\n cursor=\"pointer\"\n {...inputProps}\n {...(isOpen && { 'data-focus': 'true' })}\n />\n </Box>\n }\n contentProps={{ w: 'max-content' }}\n placement={placement}\n variant={inputProps?.onContrast ? 'contrast' : 'default'}\n showArrow={false}\n >\n <Box className=\"TimePicker__Container\" data-testid={`${dataTestId}-container`} css={styles.container}>\n <TimeList\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n onClick={handleHourClick}\n open={isOpen}\n data-testid={`${dataTestId}-hour-list`}\n />\n <TimeList\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={selectedMinute ? formatNumber(selectedMinute) : undefined}\n onClick={handleMinuteClick}\n open={isOpen}\n data-testid={`${dataTestId}-minute-list`}\n />\n <TimeList\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n onClick={handleMeridiemClick}\n open={isOpen}\n data-testid={`${dataTestId}-meridiem-list`}\n />\n </Box>\n </Popover>\n );\n};\n"],"names":["timeOptionRecipe","defineRecipe","TimeOption","value","innerRef","onClick","selected","dataTestId","styles","useRecipe","handleClick","useCallback","event","selectedValue","jsx","Box","timePickerRecipe","defineSlotRecipe","TimeList","options","optionType","open","useSlotRecipe","itemRef","useRef","useEffect","option","isSelected","Meridiem","TimePicker","initialTime","inputProps","minuteInterval","onTimeChange","onClose","placement","isOpen","setIsOpen","useState","selectedTime","setSelectedTime","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedMeridiem","setSelectedMeridiem","formattedTime","useMemo","format","formatNumber","number","formattedValue","hourOptions","hour","minuteOptions","minutes","i","meridiemOptions","handleTimeChange","minute","meridiem","_hour","_minute","_meridiem","meridiemAdjustment","hours","time","date","handleHourClick","handleMinuteClick","handleMeridiemClick","localTime","adjustedHours","Popover","TextInput","Icon","useIconTextSizeMap","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"timePicker.component-CvRaqRrd.js","sources":["../../src/components/TimePicker/components/TimeOption/timeOption.recipe.ts","../../src/components/TimePicker/components/TimeOption/timeOption.component.tsx","../../src/components/TimePicker/timePicker.recipe.ts","../../src/components/TimePicker/components/TimeList/timeList.component.tsx","../../src/components/TimePicker/timePicker.types.ts","../../src/components/TimePicker/timePicker.component.tsx"],"sourcesContent":["import { defineRecipe } from '@chakra-ui/react/styled-system';\n\nexport const timeOptionRecipe = defineRecipe({\n base: {\n borderRadius: '4px',\n cursor: 'pointer',\n fontSize: 'sm',\n px: 3,\n py: 1,\n textAlign: 'center',\n },\n variants: {\n selected: {\n true: {\n background: 'background.secondary',\n color: 'text.contrast',\n _hover: {\n background: 'background.secondary.hover',\n },\n },\n false: {\n background: 'background',\n color: 'text.subtle',\n _hover: {\n background: 'background.secondaryAlpha.hover',\n },\n },\n },\n },\n defaultVariants: {\n selected: false,\n },\n});\n","import React, { useCallback } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { useRecipe } from '@chakra-ui/react/styled-system';\nimport { timeOptionRecipe } from './timeOption.recipe';\n\ninterface TimeOptionProps {\n /** Ref to the option component. */\n innerRef?: React.Ref<HTMLDivElement | null> | null;\n /** Callback function to be called when the option is clicked. */\n onClick: (selectedValue: string) => void;\n /** If true, the option will be selected. */\n selected: boolean;\n /** Value of the option. */\n value: string;\n /** Data test id for the option.\n * @default kibble-timepicker-option\n */\n 'data-testid'?: string;\n}\n\nexport const TimeOption = ({\n value,\n innerRef,\n onClick,\n selected,\n ['data-testid']: dataTestId = 'kibble-timepicker-option',\n}: TimeOptionProps): React.JSX.Element => {\n const recipe = useRecipe({ recipe: timeOptionRecipe });\n const styles = recipe({ selected });\n\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const selectedValue = event.currentTarget.textContent || '';\n onClick(selectedValue);\n },\n [onClick],\n );\n\n return (\n <Box className=\"TimePicker__Option\" data-testid={dataTestId} ref={innerRef} onClick={handleClick} css={styles}>\n {value}\n </Box>\n );\n};\n","import { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nexport const timePickerRecipe = defineSlotRecipe({\n slots: ['trigger', 'container', 'list'],\n base: {\n trigger: {\n width: '100%',\n },\n container: {\n display: 'flex',\n gap: 1.5,\n height: '186px',\n overflow: 'hidden',\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n overflowY: 'auto',\n '&::webkit-scrollbar': {\n display: 'none',\n },\n },\n },\n});\n","import React, { useEffect, useRef } from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { TimeOption } from '../TimeOption/timeOption.component';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { timePickerRecipe } from '../../timePicker.recipe';\n\ninterface ScrollContainerProps {\n /** Options to display in the list. */\n options: string[];\n /** Type of the option. */\n optionType: 'hour' | 'minute' | 'meridiem';\n /** Selected value of the list. */\n selectedValue?: string;\n /** Callback function to be called when the option is clicked. */\n onClick: (value: string) => void;\n /** Determines if the list is open. */\n open: boolean;\n /** Data test id for the list.\n * @default kibble-timepicker-list\n */\n 'data-testid'?: string;\n}\n\nexport const TimeList = ({\n options,\n optionType,\n selectedValue,\n onClick,\n open = false,\n ['data-testid']: dataTestId = 'kibble-timepicker-list',\n}: ScrollContainerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const itemRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && itemRef.current) {\n requestAnimationFrame(() => {\n if (itemRef.current) {\n itemRef.current.scrollIntoView({ block: 'center' });\n }\n });\n }\n }, [open, selectedValue]);\n\n return (\n <Box className=\"TimePicker__List\" data-testid={`${dataTestId}-${optionType}-list`} css={styles.list}>\n {options.map((option) => {\n const isSelected = option === selectedValue;\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={isSelected ? itemRef : null}\n value={option}\n selected={option === selectedValue}\n onClick={onClick}\n data-testid={`${dataTestId}-${optionType}-option-${option}`}\n />\n );\n })}\n </Box>\n );\n};\n","export enum Meridiem {\n AM = 'AM',\n PM = 'PM',\n}\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { TextInput, TextInputProps } from 'components/TextInput/textInput.component';\nimport { Popover } from 'components/Popover/popover.component';\nimport { Icon } from 'components/Icon/icon.component';\nimport { useIconTextSizeMap } from 'hooks/useIconTextSizeMap';\nimport format from 'date-fns/format';\nimport { Box } from '@chakra-ui/react/box';\nimport { TimeList } from './components/TimeList/timeList.component';\nimport { Meridiem } from './timePicker.types';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { timePickerRecipe } from './timePicker.recipe';\nimport { Placement } from 'shared/types/placement';\n\nexport interface TimePickerProps {\n /** Initial time to be displayed in the input field. */\n initialTime?: Date;\n /** Props to customize the input field. See `TextInput` for more information. */\n inputProps?: Omit<TextInputProps, 'onChange' | 'value' | 'isClearable' | 'onClear'>;\n /**\n * Interval of minutes to be displayed in the dropdown.\n * @default 5\n */\n minuteInterval?: number;\n /** Callback function triggered when the time is changed. */\n onTimeChange?: (time: Date) => void;\n /** Callback function triggered when the time picker is closed. */\n onClose?: (time?: Date) => void;\n /**\n * Placement of the dropdown relative to the input field.\n * @default bottom\n */\n placement?: Placement;\n /**\n * Data test id for the time picker.\n * @default kibble-timepicker\n */\n 'data-testid'?: string;\n}\n\nexport const TimePicker = ({\n initialTime,\n inputProps,\n minuteInterval = 5,\n onTimeChange,\n onClose,\n placement = 'bottom',\n ['data-testid']: dataTestId = 'kibble-timepicker',\n}: TimePickerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const [isOpen, setIsOpen] = useState(false);\n const [selectedTime, setSelectedTime] = useState(initialTime);\n const [selectedHour, setSelectedHour] = useState<string | undefined>();\n const [selectedMinute, setSelectedMinute] = useState<string | undefined>();\n const [selectedMeridiem, setSelectedMeridiem] = useState<string | undefined>();\n\n const formattedTime = useMemo(() => {\n if (!selectedTime) return '';\n return format(selectedTime, 'h:mm aa');\n }, [selectedTime]);\n\n const formatNumber = (number: number | string): string => {\n const formattedValue = number.toString();\n if (formattedValue.length === 1) {\n return `0${formattedValue}`;\n }\n\n return formattedValue;\n };\n\n const hourOptions = useMemo(() => {\n return [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((hour) => hour.toString());\n }, []);\n\n const minuteOptions = useMemo(() => {\n const minutes = [];\n for (let i = 0; i < 60; i += minuteInterval) {\n minutes.push(i);\n }\n\n return minutes.map(formatNumber);\n }, [minuteInterval]);\n\n const meridiemOptions = [Meridiem.AM, Meridiem.PM];\n\n const handleTimeChange = useCallback(\n (hour?: string, minute?: string, meridiem?: string) => {\n const _hour = hour || '12';\n const _minute = minute || '00';\n const _meridiem = meridiem || 'AM';\n let meridiemAdjustment = 0;\n\n if (!hour) {\n setSelectedHour('12');\n }\n if (!minute) {\n setSelectedMinute('00');\n }\n if (!meridiem) {\n setSelectedMeridiem('AM');\n }\n\n // set 1-11pm to 13-23. Don't set 12pm to 24\n if (_meridiem === Meridiem.PM && Number(_hour) < 12) {\n meridiemAdjustment = 12;\n }\n\n // set 12am to 00\n if (_meridiem === Meridiem.AM && Number(_hour) === 12) {\n meridiemAdjustment = -12;\n }\n\n const hours = Number(_hour) + meridiemAdjustment;\n const time = new Date().setHours(hours, Number(_minute), 0, 0);\n const date = new Date(time);\n setSelectedTime(date);\n\n if (onTimeChange) {\n onTimeChange(date);\n }\n },\n [onTimeChange],\n );\n\n const handleHourClick = useCallback(\n (value: string) => {\n setSelectedHour(value);\n handleTimeChange(value, selectedMinute, selectedMeridiem);\n },\n [handleTimeChange, selectedMeridiem, selectedMinute],\n );\n\n const handleMinuteClick = useCallback(\n (value: string) => {\n setSelectedMinute(value);\n handleTimeChange(selectedHour, value, selectedMeridiem);\n },\n [handleTimeChange, selectedHour, selectedMeridiem],\n );\n\n const handleMeridiemClick = useCallback(\n (value: string) => {\n setSelectedMeridiem(value);\n handleTimeChange(selectedHour, selectedMinute, value);\n },\n [handleTimeChange, selectedHour, selectedMinute],\n );\n\n useEffect(() => {\n // Set default selections based on value passed in\n if (initialTime) {\n const localTime = new Date(initialTime);\n\n // calculate hours\n const hours = localTime.getHours();\n const adjustedHours = hours % 12 || 12;\n\n setSelectedTime(initialTime);\n setSelectedHour(adjustedHours.toString());\n setSelectedMinute(localTime.getMinutes().toString());\n setSelectedMeridiem(localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM);\n }\n }, [initialTime]);\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={({ open }) => {\n setIsOpen(open);\n if (!open && onClose) {\n onClose(selectedTime);\n }\n }}\n anchor={\n <Box className=\"TimePicker__Trigger\" data-testid={`${dataTestId}-trigger`} css={styles.trigger}>\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={<Icon size={useIconTextSizeMap(inputProps?.size || 'md')} name=\"clock\" />}\n value={formattedTime}\n readOnly\n cursor=\"pointer\"\n {...inputProps}\n {...(isOpen && { 'data-focus': 'true' })}\n />\n </Box>\n }\n contentProps={{ w: 'max-content' }}\n placement={placement}\n variant={inputProps?.onContrast ? 'contrast' : 'default'}\n showArrow={false}\n >\n <Box className=\"TimePicker__Container\" data-testid={`${dataTestId}-container`} css={styles.container}>\n <TimeList\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n onClick={handleHourClick}\n open={isOpen}\n data-testid={`${dataTestId}-hour-list`}\n />\n <TimeList\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={selectedMinute ? formatNumber(selectedMinute) : undefined}\n onClick={handleMinuteClick}\n open={isOpen}\n data-testid={`${dataTestId}-minute-list`}\n />\n <TimeList\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n onClick={handleMeridiemClick}\n open={isOpen}\n data-testid={`${dataTestId}-meridiem-list`}\n />\n </Box>\n </Popover>\n );\n};\n"],"names":["timeOptionRecipe","defineRecipe","TimeOption","value","innerRef","onClick","selected","dataTestId","styles","useRecipe","handleClick","useCallback","event","selectedValue","jsx","Box","timePickerRecipe","defineSlotRecipe","TimeList","options","optionType","open","useSlotRecipe","itemRef","useRef","useEffect","option","isSelected","Meridiem","TimePicker","initialTime","inputProps","minuteInterval","onTimeChange","onClose","placement","isOpen","setIsOpen","useState","selectedTime","setSelectedTime","selectedHour","setSelectedHour","selectedMinute","setSelectedMinute","selectedMeridiem","setSelectedMeridiem","formattedTime","useMemo","format","formatNumber","number","formattedValue","hourOptions","hour","minuteOptions","minutes","i","meridiemOptions","handleTimeChange","minute","meridiem","_hour","_minute","_meridiem","meridiemAdjustment","hours","time","date","handleHourClick","handleMinuteClick","handleMeridiemClick","localTime","adjustedHours","Popover","TextInput","Icon","useIconTextSizeMap","jsxs"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { B as o } from "./index-9BerxEcw.js";
3
- import { T as i } from "./timePicker.component-O5_k6YYo.js";
3
+ import { T as i } from "./timePicker.component-CvRaqRrd.js";
4
4
  import { F as n } from "./flex-CX-8gE9T.js";
5
5
  const l = ({
6
6
  endTimePickerProps: r,
@@ -16,4 +16,4 @@ const l = ({
16
16
  export {
17
17
  l as T
18
18
  };
19
- //# sourceMappingURL=timeRange.component-Crv2OP7C.js.map
19
+ //# sourceMappingURL=timeRange.component-DFZaJT2U.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeRange.component-Crv2OP7C.js","sources":["../../src/components/TimeRange/timeRange.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex, FlexProps } from '@chakra-ui/react/flex';\nimport { TimePicker, TimePickerProps } from 'components/TimePicker/timePicker.component';\n\nexport interface TimeRangeProps extends FlexProps {\n /**\n * Element that separates the start and end time pickers. By default, a dash is used.\n * @default -\n */\n separator?: React.ReactNode;\n /** Props for the end time picker. See `TimePicker` for more information. */\n endTimePickerProps: TimePickerProps;\n /** Props for the start time picker. See `TimePicker` for more information. */\n startTimePickerProps: TimePickerProps;\n /**\n * Data test id for the time range.\n * @default kibble-time-range\n */\n 'data-testid'?: string;\n}\n\nexport const TimeRange = ({\n endTimePickerProps,\n separator = '-',\n startTimePickerProps,\n ['data-testid']: dataTestId = 'kibble-time-range',\n ...rest\n}: TimeRangeProps): React.JSX.Element => {\n return (\n <Flex className=\"TimeRange\" data-testid={dataTestId} {...rest}>\n <TimePicker {...startTimePickerProps} data-testid={`${dataTestId}-start-time-picker`} />\n <Box alignSelf=\"center\" mx={1}>\n {separator}\n </Box>\n <TimePicker {...endTimePickerProps} data-testid={`${dataTestId}-end-time-picker`} />\n </Flex>\n );\n};\n"],"names":["TimeRange","endTimePickerProps","separator","startTimePickerProps","dataTestId","rest","Flex","jsx","TimePicker","Box"],"mappings":";;;;AAsBO,MAAMA,IAAY,CAAC;AAAA,EACxB,oBAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,sBAAAC;AAAA,EACA,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,GAAGC;AACL,6BAEKC,GAAK,EAAA,WAAU,aAAY,eAAaF,GAAa,GAAGC,GACvD,UAAA;AAAA,EAAAE,gBAAAA,MAACC,KAAY,GAAGL,GAAsB,eAAa,GAAGC,CAAU,sBAAsB;AAAA,wBACrFK,GAAI,EAAA,WAAU,UAAS,IAAI,GACzB,UACHP,GAAA;AAAA,wBACCM,GAAY,EAAA,GAAGP,GAAoB,eAAa,GAAGG,CAAU,mBAAoB,CAAA;AAAA,GACpF;"}
1
+ {"version":3,"file":"timeRange.component-DFZaJT2U.js","sources":["../../src/components/TimeRange/timeRange.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Box } from '@chakra-ui/react/box';\nimport { Flex, FlexProps } from '@chakra-ui/react/flex';\nimport { TimePicker, TimePickerProps } from 'components/TimePicker/timePicker.component';\n\nexport interface TimeRangeProps extends FlexProps {\n /**\n * Element that separates the start and end time pickers. By default, a dash is used.\n * @default -\n */\n separator?: React.ReactNode;\n /** Props for the end time picker. See `TimePicker` for more information. */\n endTimePickerProps: TimePickerProps;\n /** Props for the start time picker. See `TimePicker` for more information. */\n startTimePickerProps: TimePickerProps;\n /**\n * Data test id for the time range.\n * @default kibble-time-range\n */\n 'data-testid'?: string;\n}\n\nexport const TimeRange = ({\n endTimePickerProps,\n separator = '-',\n startTimePickerProps,\n ['data-testid']: dataTestId = 'kibble-time-range',\n ...rest\n}: TimeRangeProps): React.JSX.Element => {\n return (\n <Flex className=\"TimeRange\" data-testid={dataTestId} {...rest}>\n <TimePicker {...startTimePickerProps} data-testid={`${dataTestId}-start-time-picker`} />\n <Box alignSelf=\"center\" mx={1}>\n {separator}\n </Box>\n <TimePicker {...endTimePickerProps} data-testid={`${dataTestId}-end-time-picker`} />\n </Flex>\n );\n};\n"],"names":["TimeRange","endTimePickerProps","separator","startTimePickerProps","dataTestId","rest","Flex","jsx","TimePicker","Box"],"mappings":";;;;AAsBO,MAAMA,IAAY,CAAC;AAAA,EACxB,oBAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,sBAAAC;AAAA,EACA,CAAC,gBAAgBC,IAAa;AAAA,EAC9B,GAAGC;AACL,6BAEKC,GAAK,EAAA,WAAU,aAAY,eAAaF,GAAa,GAAGC,GACvD,UAAA;AAAA,EAAAE,gBAAAA,MAACC,KAAY,GAAGL,GAAsB,eAAa,GAAGC,CAAU,sBAAsB;AAAA,wBACrFK,GAAI,EAAA,WAAU,UAAS,IAAI,GACzB,UACHP,GAAA;AAAA,wBACCM,GAAY,EAAA,GAAGP,GAAoB,eAAa,GAAGG,CAAU,mBAAoB,CAAA;AAAA,GACpF;"}
@@ -1,7 +1,7 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { useMemo as f } from "react";
3
- import { W as x } from "./text.component-C9jh_JMO.js";
4
- import { T as n } from "./tooltip.component-CHohp2qn.js";
3
+ import { W as x } from "./text.component-DbJw4Y9-.js";
4
+ import { T as n } from "./tooltip.component-BWCTmG_j.js";
5
5
  import { f as c } from "./format-dJJ72A--.js";
6
6
  import { i as d } from "./isToday-Q8lj3mkM.js";
7
7
  const M = ({
@@ -33,4 +33,4 @@ const M = ({
33
33
  export {
34
34
  M as T
35
35
  };
36
- //# sourceMappingURL=timestamp.component-CRz-1i68.js.map
36
+ //# sourceMappingURL=timestamp.component-gXQy-j4t.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.component-CRz-1i68.js","sources":["../../src/components/Timestamp/timestamp.component.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { Text, TextProps } from 'components/Text/text.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\n\nexport interface TimestampProps {\n /** The date to be shown. If it's today, it'll only show the time not the full date */\n date: Date;\n /**\n * Format of the time. See date-fns documentation for available formats.\n * @default h:mma\n */\n timeFormat?: string;\n /**\n * Format of the date. See date-fns documentation for available formats.\n * @default M/d/yy\n */\n dateFormat?: string;\n /**\n * If true and the date is today, it will only show the time not the full date.\n * @default true\n */\n shouldTodayDisplayTimeOnly?: boolean;\n /** Text shown on hover. If no text is provided, the tooltip wont be shown */\n tooltipLabel?: string;\n /** Configuration for the Text component. See the `Text` stories for more information. */\n textProps?: Omit<TextProps, 'children'>;\n /** Data test id for the timestamp. */\n 'data-testid'?: string;\n}\n\nexport const Timestamp = ({\n date,\n timeFormat = 'h:mma',\n dateFormat = 'M/d/yy',\n shouldTodayDisplayTimeOnly = true,\n tooltipLabel,\n textProps,\n ['data-testid']: dataTestId = 'kibble-timestamp',\n}: TimestampProps): React.JSX.Element => {\n const stamp = useMemo(\n () => format(date, isToday(date) && shouldTodayDisplayTimeOnly ? timeFormat : dateFormat),\n [date, dateFormat, shouldTodayDisplayTimeOnly, timeFormat],\n );\n\n return (\n <Tooltip disabled={!tooltipLabel} label={tooltipLabel || ''}>\n <Text\n className=\"Timestamp\"\n data-testid={dataTestId}\n variant=\"subtle\"\n size=\"xs\"\n textTransform=\"lowercase\"\n {...textProps}\n >\n {stamp}\n </Text>\n </Tooltip>\n );\n};\n"],"names":["Timestamp","date","timeFormat","dateFormat","shouldTodayDisplayTimeOnly","tooltipLabel","textProps","dataTestId","stamp","useMemo","format","isToday","Tooltip","jsx","Text"],"mappings":";;;;;;AAgCO,MAAMA,IAAY,CAAC;AAAA,EACxB,MAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,4BAAAC,IAA6B;AAAA,EAC7B,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,CAAC,gBAAgBC,IAAa;AAChC,MAAyC;AACvC,QAAMC,IAAQC;AAAA,IACZ,MAAMC,EAAOT,GAAMU,EAAQV,CAAI,KAAKG,IAA6BF,IAAaC,CAAU;AAAA,IACxF,CAACF,GAAME,GAAYC,GAA4BF,CAAU;AAAA,EAC3D;AAEA,+BACGU,GAAQ,EAAA,UAAU,CAACP,GAAc,OAAOA,KAAgB,IACvD,UAAAQ,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAaP;AAAA,MACb,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,eAAc;AAAA,MACb,GAAGD;AAAA,MAEH,UAAAE;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;"}
1
+ {"version":3,"file":"timestamp.component-gXQy-j4t.js","sources":["../../src/components/Timestamp/timestamp.component.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { Text, TextProps } from 'components/Text/text.component';\nimport { Tooltip } from 'components/Tooltip/tooltip.component';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\n\nexport interface TimestampProps {\n /** The date to be shown. If it's today, it'll only show the time not the full date */\n date: Date;\n /**\n * Format of the time. See date-fns documentation for available formats.\n * @default h:mma\n */\n timeFormat?: string;\n /**\n * Format of the date. See date-fns documentation for available formats.\n * @default M/d/yy\n */\n dateFormat?: string;\n /**\n * If true and the date is today, it will only show the time not the full date.\n * @default true\n */\n shouldTodayDisplayTimeOnly?: boolean;\n /** Text shown on hover. If no text is provided, the tooltip wont be shown */\n tooltipLabel?: string;\n /** Configuration for the Text component. See the `Text` stories for more information. */\n textProps?: Omit<TextProps, 'children'>;\n /** Data test id for the timestamp. */\n 'data-testid'?: string;\n}\n\nexport const Timestamp = ({\n date,\n timeFormat = 'h:mma',\n dateFormat = 'M/d/yy',\n shouldTodayDisplayTimeOnly = true,\n tooltipLabel,\n textProps,\n ['data-testid']: dataTestId = 'kibble-timestamp',\n}: TimestampProps): React.JSX.Element => {\n const stamp = useMemo(\n () => format(date, isToday(date) && shouldTodayDisplayTimeOnly ? timeFormat : dateFormat),\n [date, dateFormat, shouldTodayDisplayTimeOnly, timeFormat],\n );\n\n return (\n <Tooltip disabled={!tooltipLabel} label={tooltipLabel || ''}>\n <Text\n className=\"Timestamp\"\n data-testid={dataTestId}\n variant=\"subtle\"\n size=\"xs\"\n textTransform=\"lowercase\"\n {...textProps}\n >\n {stamp}\n </Text>\n </Tooltip>\n );\n};\n"],"names":["Timestamp","date","timeFormat","dateFormat","shouldTodayDisplayTimeOnly","tooltipLabel","textProps","dataTestId","stamp","useMemo","format","isToday","Tooltip","jsx","Text"],"mappings":";;;;;;AAgCO,MAAMA,IAAY,CAAC;AAAA,EACxB,MAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,4BAAAC,IAA6B;AAAA,EAC7B,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,CAAC,gBAAgBC,IAAa;AAChC,MAAyC;AACvC,QAAMC,IAAQC;AAAA,IACZ,MAAMC,EAAOT,GAAMU,EAAQV,CAAI,KAAKG,IAA6BF,IAAaC,CAAU;AAAA,IACxF,CAACF,GAAME,GAAYC,GAA4BF,CAAU;AAAA,EAC3D;AAEA,+BACGU,GAAQ,EAAA,UAAU,CAACP,GAAc,OAAOA,KAAgB,IACvD,UAAAQ,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAaP;AAAA,MACb,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,eAAc;AAAA,MACb,GAAGD;AAAA,MAEH,UAAAE;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;"}
@@ -1,6 +1,6 @@
1
1
  import { j as s } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { forwardRef as g, useId as F } from "react";
3
- import { d as B } from "./config-Djkl1N81.js";
3
+ import { d as B } from "./config-BV2SsQL7.js";
4
4
  import { a6 as l, f as U, p as Y, C as M } from "./index-BcafYtXX.js";
5
5
  import { u as R, g as f, a as q, s as N, c as w, d as L, P as z } from "./index-DcmJgLUo.js";
6
6
  import { t as J } from "./index-mXLFPoCI.js";
@@ -517,4 +517,4 @@ export {
517
517
  A as i,
518
518
  u
519
519
  };
520
- //# sourceMappingURL=tooltip.component-CHohp2qn.js.map
520
+ //# sourceMappingURL=tooltip.component-BWCTmG_j.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.component-CHohp2qn.js","sources":["../../node_modules/@ark-ui/react/dist/components/hover-card/use-hover-card-context.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-arrow.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-content.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-context.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-positioner.js","../../node_modules/@zag-js/hover-card/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/hover-card/use-hover-card.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-root.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-root-provider.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-trigger.js","../../node_modules/@chakra-ui/react/dist/esm/components/hover-card/hover-card.js","../../src/components/Tooltip/tooltip.recipe.ts","../../src/components/Tooltip/tooltip.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [HoverCardProvider, useHoverCardContext] = createContext({\n name: \"HoverCardContext\",\n hookName: \"useHoverCardContext\",\n providerName: \"<HoverCardProvider />\"\n});\n\nexport { HoverCardProvider, useHoverCardContext };\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 { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardArrow = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardArrow.displayName = \"HoverCardArrow\";\n\nexport { HoverCardArrow };\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 { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardArrowTip = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardArrowTip.displayName = \"HoverCardArrowTip\";\n\nexport { HoverCardArrowTip };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardContent = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(hoverCard.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nHoverCardContent.displayName = \"HoverCardContent\";\n\nexport { HoverCardContent };\n","'use client';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardContext = (props) => props.children(useHoverCardContext());\n\nexport { HoverCardContext };\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 { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardPositioner = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardPositioner.displayName = \"HoverCardPositioner\";\n\nexport { HoverCardPositioner };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/hover-card.anatomy.ts\nvar anatomy = createAnatomy(\"hoverCard\").parts(\"arrow\", \"arrowTip\", \"trigger\", \"positioner\", \"content\");\nvar parts = anatomy.build();\n\n// src/hover-card.dom.ts\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `hover-card:${ctx.id}:trigger`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `hover-card:${ctx.id}:content`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `hover-card:${ctx.id}:popper`;\nvar getArrowId = (ctx) => ctx.ids?.arrow ?? `hover-card:${ctx.id}:arrow`;\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\n\n// src/hover-card.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, context, scope } = service;\n const open = state.hasTag(\"open\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: context.get(\"currentPlacement\")\n });\n return {\n open,\n setOpen(nextOpen) {\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options });\n },\n getArrowProps() {\n return normalize.element({\n id: getArrowId(scope),\n ...parts.arrow.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrow\n });\n },\n getArrowTipProps() {\n return normalize.element({\n ...parts.arrowTip.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrowTip\n });\n },\n getTriggerProps() {\n return normalize.element({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n \"data-placement\": context.get(\"currentPlacement\"),\n id: getTriggerId(scope),\n \"data-state\": open ? \"open\" : \"closed\",\n onPointerEnter(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_ENTER\", src: \"trigger\" });\n },\n onPointerLeave(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_LEAVE\", src: \"trigger\" });\n },\n onFocus() {\n send({ type: \"TRIGGER_FOCUS\" });\n },\n onBlur() {\n send({ type: \"TRIGGER_BLUR\" });\n }\n });\n },\n getPositionerProps() {\n return normalize.element({\n id: getPositionerId(scope),\n ...parts.positioner.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: prop(\"dir\"),\n id: getContentId(scope),\n hidden: !open,\n tabIndex: -1,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-placement\": context.get(\"currentPlacement\"),\n onPointerEnter(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_ENTER\", src: \"content\" });\n },\n onPointerLeave(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_LEAVE\", src: \"content\" });\n }\n });\n }\n };\n}\nvar { not, and } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n openDelay: 700,\n closeDelay: 300,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"closed\";\n },\n context({ prop, bindable }) {\n return {\n open: bindable(() => ({\n defaultValue: prop(\"defaultOpen\"),\n value: prop(\"open\"),\n onChange(value) {\n prop(\"onOpenChange\")?.({ open: value });\n }\n })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n })),\n isPointer: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n watch({ track, context, action }) {\n track([() => context.get(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n states: {\n closed: {\n tags: [\"closed\"],\n entry: [\"clearIsPointer\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n POINTER_ENTER: {\n target: \"opening\",\n actions: [\"setIsPointer\"]\n },\n TRIGGER_FOCUS: {\n target: \"opening\"\n },\n OPEN: {\n target: \"opening\"\n }\n }\n },\n opening: {\n tags: [\"closed\"],\n effects: [\"waitForOpenDelay\"],\n on: {\n OPEN_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n POINTER_LEAVE: [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n TRIGGER_BLUR: [\n {\n guard: and(\"isOpenControlled\", not(\"isPointer\")),\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n guard: not(\"isPointer\"),\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n },\n open: {\n tags: [\"open\"],\n effects: [\"trackDismissableElement\", \"trackPositioning\"],\n on: {\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n POINTER_ENTER: {\n actions: [\"setIsPointer\"]\n },\n POINTER_LEAVE: {\n target: \"closing\"\n },\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n TRIGGER_BLUR: [\n {\n guard: and(\"isOpenControlled\", not(\"isPointer\")),\n actions: [\"invokeOnClose\"]\n },\n {\n guard: not(\"isPointer\"),\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"POSITIONING.SET\": {\n actions: [\"reposition\"]\n }\n }\n },\n closing: {\n tags: [\"open\"],\n effects: [\"trackPositioning\", \"waitForCloseDelay\"],\n on: {\n CLOSE_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n POINTER_ENTER: {\n target: \"open\",\n // no need to invokeOnOpen here because it's still open (but about to close)\n actions: [\"setIsPointer\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n isPointer: ({ context }) => !!context.get(\"isPointer\"),\n isOpenControlled: ({ prop }) => prop(\"open\") != null\n },\n effects: {\n waitForOpenDelay({ send, prop }) {\n const id = setTimeout(() => {\n send({ type: \"OPEN_DELAY\" });\n }, prop(\"openDelay\"));\n return () => clearTimeout(id);\n },\n waitForCloseDelay({ send, prop }) {\n const id = setTimeout(() => {\n send({ type: \"CLOSE_DELAY\" });\n }, prop(\"closeDelay\"));\n return () => clearTimeout(id);\n },\n trackPositioning({ context, prop, scope }) {\n if (!context.get(\"currentPlacement\")) {\n context.set(\"currentPlacement\", prop(\"positioning\").placement);\n }\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(getTriggerEl(scope), getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackDismissableElement({ send, scope, prop }) {\n const getContentEl2 = () => getContentEl(scope);\n return trackDismissableElement(getContentEl2, {\n defer: true,\n exclude: [getTriggerEl(scope)],\n onDismiss() {\n send({ type: \"CLOSE\", src: \"interact-outside\" });\n },\n onInteractOutside: prop(\"onInteractOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onFocusOutside(event) {\n event.preventDefault();\n prop(\"onFocusOutside\")?.(event);\n }\n });\n }\n },\n actions: {\n invokeOnClose({ prop }) {\n prop(\"onOpenChange\")?.({ open: false });\n },\n invokeOnOpen({ prop }) {\n prop(\"onOpenChange\")?.({ open: true });\n },\n setIsPointer({ context }) {\n context.set(\"isPointer\", true);\n },\n clearIsPointer({ context }) {\n context.set(\"isPointer\", false);\n },\n reposition({ context, prop, scope, event }) {\n const getPositionerEl2 = () => getPositionerEl(scope);\n getPlacement(getTriggerEl(scope), getPositionerEl2, {\n ...prop(\"positioning\"),\n ...event.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n toggleVisibility({ prop, event, send }) {\n queueMicrotask(() => {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n });\n }\n }\n }\n});\nvar props = createProps()([\n \"closeDelay\",\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"onOpenChange\",\n \"defaultOpen\",\n \"open\",\n \"openDelay\",\n \"positioning\",\n \"onInteractOutside\",\n \"onPointerDownOutside\",\n \"onFocusOutside\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport * as hoverCard from '@zag-js/hover-card';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useHoverCard = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(hoverCard.machine, machineProps);\n return hoverCard.connect(service, normalizeProps);\n};\n\nexport { useHoverCard };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useHoverCard } from './use-hover-card.js';\nimport { HoverCardProvider } from './use-hover-card-context.js';\n\nconst HoverCardRoot = (props) => {\n const [presenceProps, { children, ...localProps }] = splitPresenceProps(props);\n const hoverCard = useHoverCard(localProps);\n const presence = usePresence(mergeProps({ present: hoverCard.open }, presenceProps));\n return /* @__PURE__ */ jsx(HoverCardProvider, { value: hoverCard, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { HoverCardRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { HoverCardProvider } from './use-hover-card-context.js';\n\nconst HoverCardRootProvider = (props) => {\n const [presenceProps, { value: hoverCard, children }] = splitPresenceProps(props);\n const presence = usePresence(mergeProps({ present: hoverCard.open }, presenceProps));\n return /* @__PURE__ */ jsx(HoverCardProvider, { value: hoverCard, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { HoverCardRootProvider };\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 { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardTrigger = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nHoverCardTrigger.displayName = \"HoverCardTrigger\";\n\nexport { HoverCardTrigger };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { HoverCard } from '@ark-ui/react/hover-card';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useHoverCardStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"hoverCard\" });\nconst HoverCardRootProvider = withRootProvider(HoverCard.RootProvider);\nconst HoverCardRoot = withRootProvider(\n HoverCard.Root\n);\nconst HoverCardPropsProvider = PropsProvider;\nconst HoverCardTrigger = withContext(HoverCard.Trigger, \"trigger\", { forwardAsChild: true });\nconst HoverCardPositioner = withContext(HoverCard.Positioner, \"positioner\", { forwardAsChild: true });\nconst HoverCardContent = withContext(HoverCard.Content, \"content\", { forwardAsChild: true });\nconst HoverCardArrowTip = withContext(HoverCard.ArrowTip, \"arrowTip\", { forwardAsChild: true });\nconst HoverCardArrow = withContext(\n HoverCard.Arrow,\n \"arrow\",\n {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(HoverCardArrowTip, {}) }\n }\n);\nconst HoverCardContext = HoverCard.Context;\n\nexport { HoverCardArrow, HoverCardArrowTip, HoverCardContent, HoverCardContext, HoverCardPositioner, HoverCardPropsProvider, HoverCardRoot, HoverCardRootProvider, HoverCardTrigger, useHoverCardStyles };\n","import { hoverCardAnatomy } from '@chakra-ui/react/anatomy';\nimport { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nexport const tooltipRecipe = defineSlotRecipe({\n slots: hoverCardAnatomy.keys(),\n base: {\n arrow: {\n '--arrow-size': '10px',\n },\n arrowTip: {\n border: 'none',\n },\n content: {\n '--hovercard-bg': 'colors.background.overlay.contrast',\n border: 'none',\n borderRadius: 'base',\n boxShadow: 'none',\n color: 'text.contrast',\n fontSize: 'sm',\n lineHeight: '150%',\n padding: 2,\n zIndex: 'tooltip',\n },\n trigger: {\n textAlign: 'left',\n width: 'max-content',\n lineHeight: 0,\n },\n },\n variants: {\n onContrast: {\n true: {\n content: {\n '--hovercard-bg': 'colors.background.overlay',\n color: 'text',\n },\n },\n },\n },\n});\n","import React, { forwardRef } from 'react';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { HoverCard } from '@chakra-ui/react/hover-card';\nimport { Placement } from 'shared/types/placement';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { tooltipRecipe } from './tooltip.recipe';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface TooltipProps extends Omit<HoverCard.RootProps, 'children'> {\n /** The element that the tooltip will be attached to. The tooltip will be shown when the user hovers over this element. */\n children?: React.ReactNode;\n /**\n * Controls whether the tooltip is shown on hover or not\n * @default false\n */\n disabled?: boolean;\n /** The text to be displayed in the tooltip */\n label: string;\n /**\n * Sets the placement of the tooltip in relation to the designated element. If the chosen placement puts the tooltip out-of-bounds of the viewport, the placement will automatically adjust. You should, however, choose a placement that works best with orientation of the element.\n * @default top\n */\n placement?: Placement;\n /**\n * Controls whether the tooltip is rendered in a portal or not. Portals are used to render components outside of their parent components DOM hierarchy.\n * @default true\n */\n portalled?: boolean;\n /** Ref to the portal element. */\n portalRef?: React.RefObject<HTMLElement | null>;\n /**\n * If true, the tooltip will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /**\n * Data test id for the tooltip.\n * @default kibble-tooltip\n */\n 'data-testid'?: string;\n /** Props to customize the trigger of the tooltip. */\n triggerProps?: HoverCard.TriggerProps;\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n disabled = false,\n openDelay = 750,\n placement = 'top',\n positioning,\n portalled = true,\n label,\n onContrast = false,\n ['data-testid']: dataTestId = 'kibble-tooltip',\n triggerProps,\n ...rest\n },\n ref,\n ): React.ReactNode => {\n const recipe = useSlotRecipe({ recipe: tooltipRecipe });\n const styles = recipe({ onContrast });\n\n if (!children) return <></>;\n if (disabled || !label) return children;\n\n return (\n <HoverCard.Root\n positioning={{\n ...positioning,\n placement: positioning?.placement || placement,\n }}\n openDelay={openDelay}\n {...rest}\n >\n <HoverCard.Trigger\n as={Box}\n className=\"Tooltip__Trigger\"\n data-testid={`${dataTestId}-trigger`}\n css={styles.trigger}\n {...triggerProps}\n >\n {children}\n </HoverCard.Trigger>\n <Portal disabled={!portalled}>\n <HoverCard.Positioner className=\"Tooltip\" data-testid={dataTestId}>\n <HoverCard.Content\n className=\"Tooltip__Content\"\n data-testid={`${dataTestId}-content`}\n ref={ref}\n css={styles.content}\n >\n <HoverCard.Arrow className=\"Tooltip__Arrow\" data-testid={`${dataTestId}-arrow`} css={styles.arrow}>\n <HoverCard.ArrowTip css={styles.arrowTip} />\n </HoverCard.Arrow>\n {label}\n </HoverCard.Content>\n </HoverCard.Positioner>\n </Portal>\n </HoverCard.Root>\n );\n },\n);\n\nTooltip.displayName = 'Tooltip';\n"],"names":["HoverCardProvider","useHoverCardContext","createContext","HoverCardArrow","forwardRef","props","ref","hoverCard","mergedProps","mergeProps","jsx","ark","HoverCardArrowTip","HoverCardContent","presence","usePresenceContext","composeRefs","HoverCardContext","HoverCardPositioner","anatomy","createAnatomy","parts","getTriggerId","ctx","getContentId","getPositionerId","getArrowId","getTriggerEl","getContentEl","getPositionerEl","connect","service","normalize","state","send","prop","context","scope","open","popperStyles","getPlacementStyles","nextOpen","options","event","not","and","createGuards","machine","createMachine","props2","bindable","value","track","action","id","getPositionerEl2","getPlacement","data","trackDismissableElement","createProps","useHoverCard","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","useMachine","hoverCard.machine","hoverCard.connect","normalizeProps","HoverCardRoot","presenceProps","children","localProps","splitPresenceProps","usePresence","PresenceProvider","HoverCardRootProvider","HoverCardTrigger","withRootProvider","withContext","PropsProvider","createSlotRecipeContext","HoverCard.RootProvider","HoverCard.Root","HoverCardPropsProvider","HoverCard.Trigger","HoverCard.Positioner","HoverCard.Content","HoverCard.ArrowTip","HoverCard.Arrow","HoverCard.Context","tooltipRecipe","defineSlotRecipe","hoverCardAnatomy","Tooltip","disabled","openDelay","placement","positioning","portalled","label","onContrast","dataTestId","triggerProps","rest","styles","useSlotRecipe","jsxs","Box","Portal","Fragment"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}
1
+ {"version":3,"file":"tooltip.component-BWCTmG_j.js","sources":["../../node_modules/@ark-ui/react/dist/components/hover-card/use-hover-card-context.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-arrow.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-arrow-tip.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-content.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-context.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-positioner.js","../../node_modules/@zag-js/hover-card/dist/index.mjs","../../node_modules/@ark-ui/react/dist/components/hover-card/use-hover-card.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-root.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-root-provider.js","../../node_modules/@ark-ui/react/dist/components/hover-card/hover-card-trigger.js","../../node_modules/@chakra-ui/react/dist/esm/components/hover-card/hover-card.js","../../src/components/Tooltip/tooltip.recipe.ts","../../src/components/Tooltip/tooltip.component.tsx"],"sourcesContent":["'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [HoverCardProvider, useHoverCardContext] = createContext({\n name: \"HoverCardContext\",\n hookName: \"useHoverCardContext\",\n providerName: \"<HoverCardProvider />\"\n});\n\nexport { HoverCardProvider, useHoverCardContext };\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 { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardArrow = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getArrowProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardArrow.displayName = \"HoverCardArrow\";\n\nexport { HoverCardArrow };\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 { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardArrowTip = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getArrowTipProps(), props);\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardArrowTip.displayName = \"HoverCardArrowTip\";\n\nexport { HoverCardArrowTip };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { ark } from '../factory.js';\nimport { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardContent = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const presence = usePresenceContext();\n const mergedProps = mergeProps(hoverCard.getContentProps(), presence.getPresenceProps(), props);\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });\n});\nHoverCardContent.displayName = \"HoverCardContent\";\n\nexport { HoverCardContent };\n","'use client';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardContext = (props) => props.children(useHoverCardContext());\n\nexport { HoverCardContext };\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 { usePresenceContext } from '../presence/use-presence-context.js';\nimport { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardPositioner = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getPositionerProps(), props);\n const presence = usePresenceContext();\n if (presence.unmounted) {\n return null;\n }\n return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });\n});\nHoverCardPositioner.displayName = \"HoverCardPositioner\";\n\nexport { HoverCardPositioner };\n","import { createAnatomy } from '@zag-js/anatomy';\nimport { getPlacement, getPlacementStyles } from '@zag-js/popper';\nimport { createGuards, createMachine } from '@zag-js/core';\nimport { trackDismissableElement } from '@zag-js/dismissable';\nimport { createProps } from '@zag-js/types';\nimport { createSplitProps } from '@zag-js/utils';\n\n// src/hover-card.anatomy.ts\nvar anatomy = createAnatomy(\"hoverCard\").parts(\"arrow\", \"arrowTip\", \"trigger\", \"positioner\", \"content\");\nvar parts = anatomy.build();\n\n// src/hover-card.dom.ts\nvar getTriggerId = (ctx) => ctx.ids?.trigger ?? `hover-card:${ctx.id}:trigger`;\nvar getContentId = (ctx) => ctx.ids?.content ?? `hover-card:${ctx.id}:content`;\nvar getPositionerId = (ctx) => ctx.ids?.positioner ?? `hover-card:${ctx.id}:popper`;\nvar getArrowId = (ctx) => ctx.ids?.arrow ?? `hover-card:${ctx.id}:arrow`;\nvar getTriggerEl = (ctx) => ctx.getById(getTriggerId(ctx));\nvar getContentEl = (ctx) => ctx.getById(getContentId(ctx));\nvar getPositionerEl = (ctx) => ctx.getById(getPositionerId(ctx));\n\n// src/hover-card.connect.ts\nfunction connect(service, normalize) {\n const { state, send, prop, context, scope } = service;\n const open = state.hasTag(\"open\");\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: context.get(\"currentPlacement\")\n });\n return {\n open,\n setOpen(nextOpen) {\n const open2 = state.hasTag(\"open\");\n if (open2 === nextOpen) return;\n send({ type: nextOpen ? \"OPEN\" : \"CLOSE\" });\n },\n reposition(options = {}) {\n send({ type: \"POSITIONING.SET\", options });\n },\n getArrowProps() {\n return normalize.element({\n id: getArrowId(scope),\n ...parts.arrow.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrow\n });\n },\n getArrowTipProps() {\n return normalize.element({\n ...parts.arrowTip.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.arrowTip\n });\n },\n getTriggerProps() {\n return normalize.element({\n ...parts.trigger.attrs,\n dir: prop(\"dir\"),\n \"data-placement\": context.get(\"currentPlacement\"),\n id: getTriggerId(scope),\n \"data-state\": open ? \"open\" : \"closed\",\n onPointerEnter(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_ENTER\", src: \"trigger\" });\n },\n onPointerLeave(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_LEAVE\", src: \"trigger\" });\n },\n onFocus() {\n send({ type: \"TRIGGER_FOCUS\" });\n },\n onBlur() {\n send({ type: \"TRIGGER_BLUR\" });\n }\n });\n },\n getPositionerProps() {\n return normalize.element({\n id: getPositionerId(scope),\n ...parts.positioner.attrs,\n dir: prop(\"dir\"),\n style: popperStyles.floating\n });\n },\n getContentProps() {\n return normalize.element({\n ...parts.content.attrs,\n dir: prop(\"dir\"),\n id: getContentId(scope),\n hidden: !open,\n tabIndex: -1,\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-placement\": context.get(\"currentPlacement\"),\n onPointerEnter(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_ENTER\", src: \"content\" });\n },\n onPointerLeave(event) {\n if (event.pointerType === \"touch\") return;\n send({ type: \"POINTER_LEAVE\", src: \"content\" });\n }\n });\n }\n };\n}\nvar { not, and } = createGuards();\nvar machine = createMachine({\n props({ props: props2 }) {\n return {\n openDelay: 700,\n closeDelay: 300,\n ...props2,\n positioning: {\n placement: \"bottom\",\n ...props2.positioning\n }\n };\n },\n initialState({ prop }) {\n const open = prop(\"open\") || prop(\"defaultOpen\");\n return open ? \"open\" : \"closed\";\n },\n context({ prop, bindable }) {\n return {\n open: bindable(() => ({\n defaultValue: prop(\"defaultOpen\"),\n value: prop(\"open\"),\n onChange(value) {\n prop(\"onOpenChange\")?.({ open: value });\n }\n })),\n currentPlacement: bindable(() => ({\n defaultValue: void 0\n })),\n isPointer: bindable(() => ({\n defaultValue: false\n }))\n };\n },\n watch({ track, context, action }) {\n track([() => context.get(\"open\")], () => {\n action([\"toggleVisibility\"]);\n });\n },\n states: {\n closed: {\n tags: [\"closed\"],\n entry: [\"clearIsPointer\"],\n on: {\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n POINTER_ENTER: {\n target: \"opening\",\n actions: [\"setIsPointer\"]\n },\n TRIGGER_FOCUS: {\n target: \"opening\"\n },\n OPEN: {\n target: \"opening\"\n }\n }\n },\n opening: {\n tags: [\"closed\"],\n effects: [\"waitForOpenDelay\"],\n on: {\n OPEN_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnOpen\"]\n },\n {\n target: \"open\",\n actions: [\"invokeOnOpen\"]\n }\n ],\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n POINTER_LEAVE: [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n TRIGGER_BLUR: [\n {\n guard: and(\"isOpenControlled\", not(\"isPointer\")),\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n guard: not(\"isPointer\"),\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n // We trigger toggleVisibility manually since the `ctx.open` has not changed yet (at this point)\n actions: [\"invokeOnClose\", \"toggleVisibility\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ]\n }\n },\n open: {\n tags: [\"open\"],\n effects: [\"trackDismissableElement\", \"trackPositioning\"],\n on: {\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n POINTER_ENTER: {\n actions: [\"setIsPointer\"]\n },\n POINTER_LEAVE: {\n target: \"closing\"\n },\n CLOSE: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n TRIGGER_BLUR: [\n {\n guard: and(\"isOpenControlled\", not(\"isPointer\")),\n actions: [\"invokeOnClose\"]\n },\n {\n guard: not(\"isPointer\"),\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"POSITIONING.SET\": {\n actions: [\"reposition\"]\n }\n }\n },\n closing: {\n tags: [\"open\"],\n effects: [\"trackPositioning\", \"waitForCloseDelay\"],\n on: {\n CLOSE_DELAY: [\n {\n guard: \"isOpenControlled\",\n actions: [\"invokeOnClose\"]\n },\n {\n target: \"closed\",\n actions: [\"invokeOnClose\"]\n }\n ],\n \"CONTROLLED.CLOSE\": {\n target: \"closed\"\n },\n \"CONTROLLED.OPEN\": {\n target: \"open\"\n },\n POINTER_ENTER: {\n target: \"open\",\n // no need to invokeOnOpen here because it's still open (but about to close)\n actions: [\"setIsPointer\"]\n }\n }\n }\n },\n implementations: {\n guards: {\n isPointer: ({ context }) => !!context.get(\"isPointer\"),\n isOpenControlled: ({ prop }) => prop(\"open\") != null\n },\n effects: {\n waitForOpenDelay({ send, prop }) {\n const id = setTimeout(() => {\n send({ type: \"OPEN_DELAY\" });\n }, prop(\"openDelay\"));\n return () => clearTimeout(id);\n },\n waitForCloseDelay({ send, prop }) {\n const id = setTimeout(() => {\n send({ type: \"CLOSE_DELAY\" });\n }, prop(\"closeDelay\"));\n return () => clearTimeout(id);\n },\n trackPositioning({ context, prop, scope }) {\n if (!context.get(\"currentPlacement\")) {\n context.set(\"currentPlacement\", prop(\"positioning\").placement);\n }\n const getPositionerEl2 = () => getPositionerEl(scope);\n return getPlacement(getTriggerEl(scope), getPositionerEl2, {\n ...prop(\"positioning\"),\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n trackDismissableElement({ send, scope, prop }) {\n const getContentEl2 = () => getContentEl(scope);\n return trackDismissableElement(getContentEl2, {\n defer: true,\n exclude: [getTriggerEl(scope)],\n onDismiss() {\n send({ type: \"CLOSE\", src: \"interact-outside\" });\n },\n onInteractOutside: prop(\"onInteractOutside\"),\n onPointerDownOutside: prop(\"onPointerDownOutside\"),\n onFocusOutside(event) {\n event.preventDefault();\n prop(\"onFocusOutside\")?.(event);\n }\n });\n }\n },\n actions: {\n invokeOnClose({ prop }) {\n prop(\"onOpenChange\")?.({ open: false });\n },\n invokeOnOpen({ prop }) {\n prop(\"onOpenChange\")?.({ open: true });\n },\n setIsPointer({ context }) {\n context.set(\"isPointer\", true);\n },\n clearIsPointer({ context }) {\n context.set(\"isPointer\", false);\n },\n reposition({ context, prop, scope, event }) {\n const getPositionerEl2 = () => getPositionerEl(scope);\n getPlacement(getTriggerEl(scope), getPositionerEl2, {\n ...prop(\"positioning\"),\n ...event.options,\n defer: true,\n listeners: false,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement);\n }\n });\n },\n toggleVisibility({ prop, event, send }) {\n queueMicrotask(() => {\n send({ type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\", previousEvent: event });\n });\n }\n }\n }\n});\nvar props = createProps()([\n \"closeDelay\",\n \"dir\",\n \"getRootNode\",\n \"id\",\n \"ids\",\n \"onOpenChange\",\n \"defaultOpen\",\n \"open\",\n \"openDelay\",\n \"positioning\",\n \"onInteractOutside\",\n \"onPointerDownOutside\",\n \"onFocusOutside\"\n]);\nvar splitProps = createSplitProps(props);\n\nexport { anatomy, connect, machine, props, splitProps };\n","'use client';\nimport * as hoverCard from '@zag-js/hover-card';\nimport { useMachine, normalizeProps } from '@zag-js/react';\nimport { useId } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useLocaleContext } from '../../providers/locale/use-locale-context.js';\n\nconst useHoverCard = (props) => {\n const id = useId();\n const { getRootNode } = useEnvironmentContext();\n const { dir } = useLocaleContext();\n const machineProps = {\n id,\n dir,\n getRootNode,\n ...props\n };\n const service = useMachine(hoverCard.machine, machineProps);\n return hoverCard.connect(service, normalizeProps);\n};\n\nexport { useHoverCard };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { useHoverCard } from './use-hover-card.js';\nimport { HoverCardProvider } from './use-hover-card-context.js';\n\nconst HoverCardRoot = (props) => {\n const [presenceProps, { children, ...localProps }] = splitPresenceProps(props);\n const hoverCard = useHoverCard(localProps);\n const presence = usePresence(mergeProps({ present: hoverCard.open }, presenceProps));\n return /* @__PURE__ */ jsx(HoverCardProvider, { value: hoverCard, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { HoverCardRoot };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { splitPresenceProps } from '../presence/split-presence-props.js';\nimport { usePresence } from '../presence/use-presence.js';\nimport { PresenceProvider } from '../presence/use-presence-context.js';\nimport { HoverCardProvider } from './use-hover-card-context.js';\n\nconst HoverCardRootProvider = (props) => {\n const [presenceProps, { value: hoverCard, children }] = splitPresenceProps(props);\n const presence = usePresence(mergeProps({ present: hoverCard.open }, presenceProps));\n return /* @__PURE__ */ jsx(HoverCardProvider, { value: hoverCard, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children }) });\n};\n\nexport { HoverCardRootProvider };\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 { useHoverCardContext } from './use-hover-card-context.js';\n\nconst HoverCardTrigger = forwardRef((props, ref) => {\n const hoverCard = useHoverCardContext();\n const mergedProps = mergeProps(hoverCard.getTriggerProps(), props);\n return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });\n});\nHoverCardTrigger.displayName = \"HoverCardTrigger\";\n\nexport { HoverCardTrigger };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { HoverCard } from '@ark-ui/react/hover-card';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\n\nconst {\n withRootProvider,\n withContext,\n useStyles: useHoverCardStyles,\n PropsProvider\n} = createSlotRecipeContext({ key: \"hoverCard\" });\nconst HoverCardRootProvider = withRootProvider(HoverCard.RootProvider);\nconst HoverCardRoot = withRootProvider(\n HoverCard.Root\n);\nconst HoverCardPropsProvider = PropsProvider;\nconst HoverCardTrigger = withContext(HoverCard.Trigger, \"trigger\", { forwardAsChild: true });\nconst HoverCardPositioner = withContext(HoverCard.Positioner, \"positioner\", { forwardAsChild: true });\nconst HoverCardContent = withContext(HoverCard.Content, \"content\", { forwardAsChild: true });\nconst HoverCardArrowTip = withContext(HoverCard.ArrowTip, \"arrowTip\", { forwardAsChild: true });\nconst HoverCardArrow = withContext(\n HoverCard.Arrow,\n \"arrow\",\n {\n forwardAsChild: true,\n defaultProps: { children: /* @__PURE__ */ jsx(HoverCardArrowTip, {}) }\n }\n);\nconst HoverCardContext = HoverCard.Context;\n\nexport { HoverCardArrow, HoverCardArrowTip, HoverCardContent, HoverCardContext, HoverCardPositioner, HoverCardPropsProvider, HoverCardRoot, HoverCardRootProvider, HoverCardTrigger, useHoverCardStyles };\n","import { hoverCardAnatomy } from '@chakra-ui/react/anatomy';\nimport { defineSlotRecipe } from '@chakra-ui/react/styled-system';\n\nexport const tooltipRecipe = defineSlotRecipe({\n slots: hoverCardAnatomy.keys(),\n base: {\n arrow: {\n '--arrow-size': '10px',\n },\n arrowTip: {\n border: 'none',\n },\n content: {\n '--hovercard-bg': 'colors.background.overlay.contrast',\n border: 'none',\n borderRadius: 'base',\n boxShadow: 'none',\n color: 'text.contrast',\n fontSize: 'sm',\n lineHeight: '150%',\n padding: 2,\n zIndex: 'tooltip',\n },\n trigger: {\n textAlign: 'left',\n width: 'max-content',\n lineHeight: 0,\n },\n },\n variants: {\n onContrast: {\n true: {\n content: {\n '--hovercard-bg': 'colors.background.overlay',\n color: 'text',\n },\n },\n },\n },\n});\n","import React, { forwardRef } from 'react';\nimport { Portal } from '@chakra-ui/react/portal';\nimport { HoverCard } from '@chakra-ui/react/hover-card';\nimport { Placement } from 'shared/types/placement';\nimport { useSlotRecipe } from '@chakra-ui/react/styled-system';\nimport { tooltipRecipe } from './tooltip.recipe';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface TooltipProps extends Omit<HoverCard.RootProps, 'children'> {\n /** The element that the tooltip will be attached to. The tooltip will be shown when the user hovers over this element. */\n children?: React.ReactNode;\n /**\n * Controls whether the tooltip is shown on hover or not\n * @default false\n */\n disabled?: boolean;\n /** The text to be displayed in the tooltip */\n label: string;\n /**\n * Sets the placement of the tooltip in relation to the designated element. If the chosen placement puts the tooltip out-of-bounds of the viewport, the placement will automatically adjust. You should, however, choose a placement that works best with orientation of the element.\n * @default top\n */\n placement?: Placement;\n /**\n * Controls whether the tooltip is rendered in a portal or not. Portals are used to render components outside of their parent components DOM hierarchy.\n * @default true\n */\n portalled?: boolean;\n /** Ref to the portal element. */\n portalRef?: React.RefObject<HTMLElement | null>;\n /**\n * If true, the tooltip will render a contrasting variant.\n * @default false\n */\n onContrast?: boolean;\n /**\n * Data test id for the tooltip.\n * @default kibble-tooltip\n */\n 'data-testid'?: string;\n /** Props to customize the trigger of the tooltip. */\n triggerProps?: HoverCard.TriggerProps;\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, TooltipProps>(\n (\n {\n children,\n disabled = false,\n openDelay = 750,\n placement = 'top',\n positioning,\n portalled = true,\n label,\n onContrast = false,\n ['data-testid']: dataTestId = 'kibble-tooltip',\n triggerProps,\n ...rest\n },\n ref,\n ): React.ReactNode => {\n const recipe = useSlotRecipe({ recipe: tooltipRecipe });\n const styles = recipe({ onContrast });\n\n if (!children) return <></>;\n if (disabled || !label) return children;\n\n return (\n <HoverCard.Root\n positioning={{\n ...positioning,\n placement: positioning?.placement || placement,\n }}\n openDelay={openDelay}\n {...rest}\n >\n <HoverCard.Trigger\n as={Box}\n className=\"Tooltip__Trigger\"\n data-testid={`${dataTestId}-trigger`}\n css={styles.trigger}\n {...triggerProps}\n >\n {children}\n </HoverCard.Trigger>\n <Portal disabled={!portalled}>\n <HoverCard.Positioner className=\"Tooltip\" data-testid={dataTestId}>\n <HoverCard.Content\n className=\"Tooltip__Content\"\n data-testid={`${dataTestId}-content`}\n ref={ref}\n css={styles.content}\n >\n <HoverCard.Arrow className=\"Tooltip__Arrow\" data-testid={`${dataTestId}-arrow`} css={styles.arrow}>\n <HoverCard.ArrowTip css={styles.arrowTip} />\n </HoverCard.Arrow>\n {label}\n </HoverCard.Content>\n </HoverCard.Positioner>\n </Portal>\n </HoverCard.Root>\n );\n },\n);\n\nTooltip.displayName = 'Tooltip';\n"],"names":["HoverCardProvider","useHoverCardContext","createContext","HoverCardArrow","forwardRef","props","ref","hoverCard","mergedProps","mergeProps","jsx","ark","HoverCardArrowTip","HoverCardContent","presence","usePresenceContext","composeRefs","HoverCardContext","HoverCardPositioner","anatomy","createAnatomy","parts","getTriggerId","ctx","getContentId","getPositionerId","getArrowId","getTriggerEl","getContentEl","getPositionerEl","connect","service","normalize","state","send","prop","context","scope","open","popperStyles","getPlacementStyles","nextOpen","options","event","not","and","createGuards","machine","createMachine","props2","bindable","value","track","action","id","getPositionerEl2","getPlacement","data","trackDismissableElement","createProps","useHoverCard","useId","getRootNode","useEnvironmentContext","dir","useLocaleContext","machineProps","useMachine","hoverCard.machine","hoverCard.connect","normalizeProps","HoverCardRoot","presenceProps","children","localProps","splitPresenceProps","usePresence","PresenceProvider","HoverCardRootProvider","HoverCardTrigger","withRootProvider","withContext","PropsProvider","createSlotRecipeContext","HoverCard.RootProvider","HoverCard.Root","HoverCardPropsProvider","HoverCard.Trigger","HoverCard.Positioner","HoverCard.Content","HoverCard.ArrowTip","HoverCard.Arrow","HoverCard.Context","tooltipRecipe","defineSlotRecipe","hoverCardAnatomy","Tooltip","disabled","openDelay","placement","positioning","portalled","label","onContrast","dataTestId","triggerProps","rest","styles","useSlotRecipe","jsxs","Box","Portal","Fragment"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}
@@ -1,5 +1,5 @@
1
1
  import { j as t } from "./jsx-runtime-C5mzlN2N.js";
2
- import { W as V } from "./text.component-C9jh_JMO.js";
2
+ import { W as V } from "./text.component-DbJw4Y9-.js";
3
3
  import { fontSizes as X } from "../esm/theme/tokens/typography/index.js";
4
4
  import { I as Y } from "./icon.component-PV_nHBId.js";
5
5
  import { B as ee } from "./index-9BerxEcw.js";
@@ -380,4 +380,4 @@ const $e = y(function(e, r) {
380
380
  export {
381
381
  Ze as w
382
382
  };
383
- //# sourceMappingURL=withFormControl-FQcw75ZS.js.map
383
+ //# sourceMappingURL=withFormControl-BDEeuT0h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withFormControl-FQcw75ZS.js","sources":["../../node_modules/@ark-ui/react/dist/components/field/field-error-text.js","../../node_modules/@ark-ui/react/dist/components/field/field-helper-text.js","../../node_modules/@ark-ui/react/dist/components/field/field-label.js","../../node_modules/@ark-ui/react/dist/utils/use-safe-layout-effect.js","../../node_modules/@ark-ui/react/dist/components/fieldset/use-fieldset-context.js","../../node_modules/@ark-ui/react/dist/components/field/use-field.js","../../node_modules/@ark-ui/react/dist/components/field/field-root.js","../../node_modules/@chakra-ui/react/dist/esm/components/icon/icon.js","../../node_modules/@chakra-ui/react/dist/esm/components/icon/create-icon.js","../../node_modules/@chakra-ui/react/dist/esm/components/field/field.js","../../src/hocs/withFormControl/withFormControl.records.ts","../../src/hocs/withFormControl/withFormControl.tsx"],"sourcesContent":["'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 './use-field-context.js';\n\nconst FieldErrorText = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field.getErrorTextProps(), props);\n if (field?.invalid) {\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n }\n return null;\n});\nFieldErrorText.displayName = \"FieldErrorText\";\n\nexport { FieldErrorText };\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 './use-field-context.js';\n\nconst FieldHelperText = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getHelperTextProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nFieldHelperText.displayName = \"FieldHelperText\";\n\nexport { FieldHelperText };\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 './use-field-context.js';\n\nconst FieldLabel = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nFieldLabel.displayName = \"FieldLabel\";\n\nexport { FieldLabel };\n","'use client';\nimport { useLayoutEffect, useEffect } from 'react';\n\nconst useSafeLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\nexport { useSafeLayoutEffect };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [FieldsetProvider, useFieldsetContext] = createContext({\n name: \"FieldsetContext\",\n hookName: \"useFieldsetContext\",\n providerName: \"<FieldsetProvider />\",\n strict: false\n});\n\nexport { FieldsetProvider, useFieldsetContext };\n","'use client';\nimport { dataAttr, ariaAttr } from '@zag-js/dom-query';\nimport { useState, useId, useRef, useMemo } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useSafeLayoutEffect } from '../../utils/use-safe-layout-effect.js';\nimport { useFieldsetContext } from '../fieldset/use-fieldset-context.js';\nimport { parts } from './field.anatomy.js';\n\nconst useField = (props = {}) => {\n const fieldset = useFieldsetContext();\n const env = useEnvironmentContext();\n const { ids, disabled = Boolean(fieldset?.disabled), invalid = false, readOnly = false, required = false } = props;\n const [hasErrorText, setHasErrorText] = useState(false);\n const [hasHelperText, setHasHelperText] = useState(false);\n const uid = useId();\n const id = props.id ?? uid;\n const rootRef = useRef(null);\n const rootId = ids?.control ?? `field::${id}`;\n const errorTextId = ids?.errorText ?? `field::${id}::error-text`;\n const helperTextId = ids?.helperText ?? `field::${id}::helper-text`;\n const labelId = ids?.label ?? `field::${id}::label`;\n useSafeLayoutEffect(() => {\n const rootNode = rootRef.current;\n if (!rootNode) return;\n const checkTextElements = () => {\n const docOrShadowRoot = env.getRootNode();\n setHasErrorText(!!docOrShadowRoot.getElementById(errorTextId));\n setHasHelperText(!!docOrShadowRoot.getElementById(helperTextId));\n };\n checkTextElements();\n const win = env.getWindow();\n const observer = new win.MutationObserver(checkTextElements);\n observer.observe(rootNode, { childList: true, subtree: true });\n return () => observer.disconnect();\n }, [env, errorTextId, helperTextId]);\n const labelIds = useMemo(() => {\n const ids2 = [];\n if (hasErrorText && invalid) ids2.push(errorTextId);\n if (hasHelperText) ids2.push(helperTextId);\n return ids2.join(\" \") || void 0;\n }, [invalid, errorTextId, helperTextId, hasErrorText, hasHelperText]);\n const getRootProps = useMemo(\n () => () => ({\n ...parts.root.attrs,\n id: rootId,\n ref: rootRef,\n role: \"group\",\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly)\n }),\n [disabled, invalid, readOnly, rootId]\n );\n const getLabelProps = useMemo(\n () => () => ({\n ...parts.label.attrs,\n id: labelId,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly),\n htmlFor: id\n }),\n [disabled, invalid, readOnly, id, labelId]\n );\n const getControlProps = useMemo(\n () => () => ({\n \"aria-describedby\": labelIds,\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"data-required\": dataAttr(required),\n \"data-readonly\": dataAttr(readOnly),\n id,\n required,\n disabled,\n readOnly\n }),\n [labelIds, invalid, required, readOnly, id, disabled]\n );\n const getInputProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.input.attrs\n }),\n [getControlProps]\n );\n const getTextareaProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.textarea.attrs\n }),\n [getControlProps]\n );\n const getSelectProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.select.attrs\n }),\n [getControlProps]\n );\n const getHelperTextProps = useMemo(\n () => () => ({\n id: helperTextId,\n ...parts.helperText.attrs,\n \"data-disabled\": dataAttr(disabled)\n }),\n [disabled, helperTextId]\n );\n const getErrorTextProps = useMemo(\n () => () => ({\n id: errorTextId,\n ...parts.errorText.attrs,\n \"aria-live\": \"polite\"\n }),\n [errorTextId]\n );\n const getRequiredIndicatorProps = useMemo(\n () => () => ({\n \"aria-hidden\": true,\n ...parts.requiredIndicator.attrs\n }),\n []\n );\n return {\n ariaDescribedby: labelIds,\n ids: {\n root: rootId,\n control: id,\n label: labelId,\n errorText: errorTextId,\n helperText: helperTextId\n },\n refs: {\n rootRef\n },\n disabled,\n invalid,\n readOnly,\n required,\n getLabelProps,\n getRootProps,\n getInputProps,\n getTextareaProps,\n getSelectProps,\n getHelperTextProps,\n getErrorTextProps,\n getRequiredIndicatorProps\n };\n};\n\nexport { useField };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useField } from './use-field.js';\nimport { FieldProvider } from './use-field-context.js';\n\nconst FieldRoot = forwardRef((props, ref) => {\n const [useFieldProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"ids\",\n \"disabled\",\n \"invalid\",\n \"readOnly\",\n \"required\"\n ]);\n const field = useField(useFieldProps);\n const mergedProps = mergeProps(field.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(FieldProvider, { value: field, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(ref, field.refs.rootRef) }) });\n});\nFieldRoot.displayName = \"FieldRoot\";\n\nexport { FieldRoot };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport * as React from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst { useRecipeResult, PropsProvider } = createRecipeContext({ key: \"icon\" });\nconst Icon = React.forwardRef(\n function Icon2(props, ref) {\n const {\n styles,\n className,\n props: otherProps\n } = useRecipeResult({ asChild: !props.as, ...props });\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n focusable: false,\n \"aria-hidden\": \"true\",\n ...otherProps,\n css: [styles, props.css],\n className: cx(className, props.className)\n }\n );\n }\n);\nconst IconPropsProvider = PropsProvider;\n\nexport { Icon, IconPropsProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Children, forwardRef } from 'react';\nimport { Icon } from './icon.js';\n\nfunction createIcon(options) {\n const {\n viewBox = \"0 0 24 24\",\n d: pathDefinition,\n displayName,\n defaultProps = {}\n } = options;\n const path = Children.toArray(options.path);\n const Comp = forwardRef((props, ref) => /* @__PURE__ */ jsx(\n Icon,\n {\n ref,\n asChild: false,\n viewBox,\n ...defaultProps,\n ...props,\n children: path.length ? path : /* @__PURE__ */ jsx(\"path\", { fill: \"currentColor\", d: pathDefinition })\n }\n ));\n Comp.displayName = displayName;\n return Comp;\n}\n\nexport { createIcon };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Field, useFieldContext } from '@ark-ui/react/field';\nimport { forwardRef } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { createIcon } from '../icon/create-icon.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useFieldStyles,\n useClassNames,\n PropsProvider\n} = createSlotRecipeContext({ key: \"field\" });\nconst FieldRoot = withProvider(\n Field.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst FieldPropsProvider = PropsProvider;\nconst FieldLabel = withContext(\n Field.Label,\n \"label\",\n { forwardAsChild: true }\n);\nconst FieldHelperText = withContext(Field.HelperText, \"helperText\", { forwardAsChild: true });\nconst FieldErrorText = withContext(\n Field.ErrorText,\n \"errorText\",\n { forwardAsChild: true }\n);\nconst FieldErrorIcon = createIcon({\n d: \"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z\"\n});\nconst FieldRequiredIndicator = forwardRef(function RequiredIndicator(props, ref) {\n const { fallback, children = \"*\", ...restProps } = props;\n const field = useFieldContext();\n const classNames = useClassNames();\n const styles = useFieldStyles();\n if (!field?.required) {\n return fallback;\n }\n return /* @__PURE__ */ jsx(\n chakra.span,\n {\n ref,\n \"aria-hidden\": \"true\",\n ...restProps,\n className: cx(classNames.requiredIndicator, props.className),\n css: [styles.requiredIndicator, props.css],\n children\n }\n );\n});\n\nexport { FieldErrorIcon, FieldErrorText, FieldHelperText, FieldLabel, FieldPropsProvider, FieldRequiredIndicator, FieldRoot, useFieldStyles };\n","import { FormControlSize } from './withFormControl.types';\n\nexport const optionalTextSizeMap: Record<FormControlSize, number> = {\n sm: 10,\n md: 12,\n lg: 14,\n};\n","import React from 'react';\nimport { Field } from '@chakra-ui/react/field';\nimport { FormControlLabelPosition, FormControlSize } from './withFormControl.types';\nimport { SystemStyleObject } from '@chakra-ui/react/styled-system';\nimport { TypographyVariant } from 'shared/types/typography';\nimport { Text } from 'components/Text/text.component';\nimport { optionalTextSizeMap } from './withFormControl.records';\nimport { fontSizes } from '@televet/kibble-primitives/core/typography';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface WithFormControlProps {\n /** If true, the form control will be disabled.\n * @default false\n */\n disabled?: boolean;\n /** The error text to be displayed when the form control is invalid.\n * @default Field is invalid\n */\n errorText?: string;\n /** Props to customize the form control. */\n formControlStyle?: SystemStyleObject;\n /** If true, the form control will take the full width of its container.\n * @default true\n */\n fullWidth?: boolean;\n /** The helper text to be displayed below the form control. */\n helperText?: string;\n /** If true, the form control will be displayed inline with the label. */\n inlineField?: boolean;\n /** If true, the form control will be invalid.\n * @default false\n */\n invalid?: boolean;\n /** The variant of the invalid icon.\n * @default danger\n */\n invalidIconColor?: TypographyVariant;\n /** The label to be displayed above the form control. */\n label?: string | React.ReactNode;\n /** The position of the label relative to the form control.\n * @default start\n */\n labelPosition?: FormControlLabelPosition;\n /** Props to customize the label. */\n labelStyle?: SystemStyleObject;\n /** If true, the form control will be styled for contrast mode.\n * @default false\n */\n onContrast?: boolean;\n /** If true, the form element will be read only.\n * @default false\n */\n readOnly?: boolean;\n /** If true, the form control will be required.\n * @default false\n */\n required?: boolean;\n /** If true, the form control will show an optional text.\n * @default false\n */\n showOptionalElement?: boolean;\n /** The size of the form control.\n * @default md\n */\n size?: FormControlSize;\n /** If true, the form control will show an invalid icon.\n * @default false\n */\n useInvalidIcon?: boolean;\n /** If true, the form control will show an invalid text.\n * @default true\n */\n useInvalidText?: boolean;\n /** Data test id for the form control.\n */\n 'data-testid'?: string;\n}\n\nexport const withFormControl = <P extends WithFormControlProps>(Component: React.ComponentType<P>): React.FC<P> => {\n const WithFormControl = ({\n disabled = false,\n errorText = 'Field is invalid',\n formControlStyle,\n fullWidth = true,\n helperText,\n inlineField = false,\n invalid = false,\n invalidIconColor = 'danger',\n label,\n labelPosition = 'start',\n labelStyle,\n onContrast = false,\n readOnly = false,\n required = false,\n showOptionalElement = false,\n size = 'md',\n useInvalidIcon = false,\n useInvalidText = true,\n ['data-testid']: dataTestId,\n ...props\n }: WithFormControlProps): React.JSX.Element => {\n const labelComponent = (\n <Field.Label\n className=\"FormControl__Label\"\n color={onContrast ? 'text.contrast' : 'text'}\n display=\"flex\"\n flexDirection=\"row\"\n gap={1}\n fontSize={fontSizes[size]}\n data-testid={dataTestId ? `${dataTestId}-form-control-label` : undefined}\n {...labelStyle}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <Box as=\"span\">{label}</Box>\n <Field.RequiredIndicator\n className=\"FormControl__RequiredIndicator\"\n data-testid={dataTestId ? `${dataTestId}-form-control-required-indicator` : undefined}\n color={onContrast ? 'text.danger.contrast' : 'text.danger'}\n {...(!required && {\n fallback: showOptionalElement ? (\n <Text\n as=\"span\"\n variant={onContrast ? 'subtleOnContrast' : 'subtle'}\n fontSize={optionalTextSizeMap[size]}\n display=\"contents\"\n ml={1}\n >\n (Optional)\n </Text>\n ) : (\n <></>\n ),\n })}\n />\n </Field.Label>\n );\n\n return (\n <Field.Root\n className=\"FormControl group\"\n disabled={disabled}\n invalid={invalid}\n readOnly={readOnly}\n required={required}\n width={fullWidth ? '100%' : 'auto'}\n data-testid={dataTestId ? `${dataTestId}-form-control-root` : undefined}\n {...formControlStyle}\n >\n <Flex\n className=\"FormControl__Container\"\n flexDirection={inlineField ? 'row' : 'column'}\n w={inlineField ? 'max-content' : '100%'}\n gap={2}\n alignItems={inlineField ? 'center' : 'flex-start'}\n data-testid={dataTestId ? `${dataTestId}-form-control-container` : undefined}\n >\n {label && labelPosition === 'start' && labelComponent}\n <Flex className=\"FormControl__Content\" alignItems=\"center\" gap={2} w={inlineField ? 'max-content' : '100%'}>\n <Component\n disabled={disabled}\n invalid={invalid}\n onContrast={onContrast}\n readOnly={readOnly}\n required={required}\n size={size}\n data-testid={dataTestId ? `${dataTestId}` : undefined}\n {...(props as P)}\n />\n {useInvalidIcon && invalid && (\n <Icon\n className=\"FormControl__InvalidIcon\"\n data-testid={dataTestId ? `${dataTestId}-form-control-invalid-icon` : undefined}\n name=\"warningSign\"\n variant={invalidIconColor}\n size={size}\n />\n )}\n </Flex>\n {label && labelPosition === 'end' && labelComponent}\n </Flex>\n {useInvalidText && invalid && (\n <Field.ErrorText\n className=\"FormControl__ErrorText\"\n fontSize=\"xs\"\n color={onContrast ? 'text.danger.contrast' : 'text.danger'}\n data-testid={dataTestId ? `${dataTestId}-form-control-error-text` : undefined}\n >\n {errorText}\n </Field.ErrorText>\n )}\n {helperText && (\n <Field.HelperText\n className=\"FormControl__HelperText\"\n fontSize=\"xs\"\n color={onContrast ? 'text.subtle.contrast' : 'text.subtle'}\n data-testid={dataTestId ? `${dataTestId}-form-control-helper-text` : undefined}\n >\n {helperText}\n </Field.HelperText>\n )}\n </Field.Root>\n );\n };\n\n WithFormControl.displayName = `withFormControl(${Component.displayName || Component.name}`;\n return WithFormControl;\n};\n"],"names":["FieldErrorText","forwardRef","props","ref","field","useFieldContext","mergedProps","mergeProps","jsx","ark","FieldHelperText","FieldLabel","useSafeLayoutEffect","useLayoutEffect","useEffect","FieldsetProvider","useFieldsetContext","createContext","useField","fieldset","env","useEnvironmentContext","ids","disabled","invalid","readOnly","required","hasErrorText","setHasErrorText","useState","hasHelperText","setHasHelperText","uid","useId","id","rootRef","useRef","rootId","errorTextId","helperTextId","labelId","rootNode","checkTextElements","docOrShadowRoot","win","observer","labelIds","useMemo","ids2","getRootProps","parts","dataAttr","getLabelProps","getControlProps","ariaAttr","getInputProps","getTextareaProps","getSelectProps","getHelperTextProps","getErrorTextProps","getRequiredIndicatorProps","FieldRoot","useFieldProps","localProps","createSplitProps","FieldProvider","composeRefs","useRecipeResult","createRecipeContext","Icon","React","styles","className","otherProps","chakra","cx","createIcon","options","viewBox","pathDefinition","displayName","defaultProps","path","Children","Comp","withProvider","withContext","useFieldStyles","useClassNames","createSlotRecipeContext","Field.Root","Field.Label","Field.HelperText","Field.ErrorText","FieldRequiredIndicator","fallback","children","restProps","classNames","optionalTextSizeMap","withFormControl","Component","WithFormControl","errorText","formControlStyle","fullWidth","helperText","inlineField","invalidIconColor","label","labelPosition","labelStyle","onContrast","showOptionalElement","size","useInvalidIcon","useInvalidText","dataTestId","labelComponent","jsxs","fontSizes","e","Box","Field.RequiredIndicator","Text","Fragment","Flex"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
1
+ {"version":3,"file":"withFormControl-BDEeuT0h.js","sources":["../../node_modules/@ark-ui/react/dist/components/field/field-error-text.js","../../node_modules/@ark-ui/react/dist/components/field/field-helper-text.js","../../node_modules/@ark-ui/react/dist/components/field/field-label.js","../../node_modules/@ark-ui/react/dist/utils/use-safe-layout-effect.js","../../node_modules/@ark-ui/react/dist/components/fieldset/use-fieldset-context.js","../../node_modules/@ark-ui/react/dist/components/field/use-field.js","../../node_modules/@ark-ui/react/dist/components/field/field-root.js","../../node_modules/@chakra-ui/react/dist/esm/components/icon/icon.js","../../node_modules/@chakra-ui/react/dist/esm/components/icon/create-icon.js","../../node_modules/@chakra-ui/react/dist/esm/components/field/field.js","../../src/hocs/withFormControl/withFormControl.records.ts","../../src/hocs/withFormControl/withFormControl.tsx"],"sourcesContent":["'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 './use-field-context.js';\n\nconst FieldErrorText = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field.getErrorTextProps(), props);\n if (field?.invalid) {\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n }\n return null;\n});\nFieldErrorText.displayName = \"FieldErrorText\";\n\nexport { FieldErrorText };\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 './use-field-context.js';\n\nconst FieldHelperText = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getHelperTextProps(), props);\n return /* @__PURE__ */ jsx(ark.span, { ...mergedProps, ref });\n});\nFieldHelperText.displayName = \"FieldHelperText\";\n\nexport { FieldHelperText };\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 './use-field-context.js';\n\nconst FieldLabel = forwardRef((props, ref) => {\n const field = useFieldContext();\n const mergedProps = mergeProps(field?.getLabelProps(), props);\n return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });\n});\nFieldLabel.displayName = \"FieldLabel\";\n\nexport { FieldLabel };\n","'use client';\nimport { useLayoutEffect, useEffect } from 'react';\n\nconst useSafeLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\nexport { useSafeLayoutEffect };\n","'use client';\nimport { createContext } from '../../utils/create-context.js';\n\nconst [FieldsetProvider, useFieldsetContext] = createContext({\n name: \"FieldsetContext\",\n hookName: \"useFieldsetContext\",\n providerName: \"<FieldsetProvider />\",\n strict: false\n});\n\nexport { FieldsetProvider, useFieldsetContext };\n","'use client';\nimport { dataAttr, ariaAttr } from '@zag-js/dom-query';\nimport { useState, useId, useRef, useMemo } from 'react';\nimport { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';\nimport { useSafeLayoutEffect } from '../../utils/use-safe-layout-effect.js';\nimport { useFieldsetContext } from '../fieldset/use-fieldset-context.js';\nimport { parts } from './field.anatomy.js';\n\nconst useField = (props = {}) => {\n const fieldset = useFieldsetContext();\n const env = useEnvironmentContext();\n const { ids, disabled = Boolean(fieldset?.disabled), invalid = false, readOnly = false, required = false } = props;\n const [hasErrorText, setHasErrorText] = useState(false);\n const [hasHelperText, setHasHelperText] = useState(false);\n const uid = useId();\n const id = props.id ?? uid;\n const rootRef = useRef(null);\n const rootId = ids?.control ?? `field::${id}`;\n const errorTextId = ids?.errorText ?? `field::${id}::error-text`;\n const helperTextId = ids?.helperText ?? `field::${id}::helper-text`;\n const labelId = ids?.label ?? `field::${id}::label`;\n useSafeLayoutEffect(() => {\n const rootNode = rootRef.current;\n if (!rootNode) return;\n const checkTextElements = () => {\n const docOrShadowRoot = env.getRootNode();\n setHasErrorText(!!docOrShadowRoot.getElementById(errorTextId));\n setHasHelperText(!!docOrShadowRoot.getElementById(helperTextId));\n };\n checkTextElements();\n const win = env.getWindow();\n const observer = new win.MutationObserver(checkTextElements);\n observer.observe(rootNode, { childList: true, subtree: true });\n return () => observer.disconnect();\n }, [env, errorTextId, helperTextId]);\n const labelIds = useMemo(() => {\n const ids2 = [];\n if (hasErrorText && invalid) ids2.push(errorTextId);\n if (hasHelperText) ids2.push(helperTextId);\n return ids2.join(\" \") || void 0;\n }, [invalid, errorTextId, helperTextId, hasErrorText, hasHelperText]);\n const getRootProps = useMemo(\n () => () => ({\n ...parts.root.attrs,\n id: rootId,\n ref: rootRef,\n role: \"group\",\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly)\n }),\n [disabled, invalid, readOnly, rootId]\n );\n const getLabelProps = useMemo(\n () => () => ({\n ...parts.label.attrs,\n id: labelId,\n \"data-disabled\": dataAttr(disabled),\n \"data-invalid\": dataAttr(invalid),\n \"data-readonly\": dataAttr(readOnly),\n htmlFor: id\n }),\n [disabled, invalid, readOnly, id, labelId]\n );\n const getControlProps = useMemo(\n () => () => ({\n \"aria-describedby\": labelIds,\n \"aria-invalid\": ariaAttr(invalid),\n \"data-invalid\": dataAttr(invalid),\n \"data-required\": dataAttr(required),\n \"data-readonly\": dataAttr(readOnly),\n id,\n required,\n disabled,\n readOnly\n }),\n [labelIds, invalid, required, readOnly, id, disabled]\n );\n const getInputProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.input.attrs\n }),\n [getControlProps]\n );\n const getTextareaProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.textarea.attrs\n }),\n [getControlProps]\n );\n const getSelectProps = useMemo(\n () => () => ({\n ...getControlProps(),\n ...parts.select.attrs\n }),\n [getControlProps]\n );\n const getHelperTextProps = useMemo(\n () => () => ({\n id: helperTextId,\n ...parts.helperText.attrs,\n \"data-disabled\": dataAttr(disabled)\n }),\n [disabled, helperTextId]\n );\n const getErrorTextProps = useMemo(\n () => () => ({\n id: errorTextId,\n ...parts.errorText.attrs,\n \"aria-live\": \"polite\"\n }),\n [errorTextId]\n );\n const getRequiredIndicatorProps = useMemo(\n () => () => ({\n \"aria-hidden\": true,\n ...parts.requiredIndicator.attrs\n }),\n []\n );\n return {\n ariaDescribedby: labelIds,\n ids: {\n root: rootId,\n control: id,\n label: labelId,\n errorText: errorTextId,\n helperText: helperTextId\n },\n refs: {\n rootRef\n },\n disabled,\n invalid,\n readOnly,\n required,\n getLabelProps,\n getRootProps,\n getInputProps,\n getTextareaProps,\n getSelectProps,\n getHelperTextProps,\n getErrorTextProps,\n getRequiredIndicatorProps\n };\n};\n\nexport { useField };\n","'use client';\nimport { jsx } from 'react/jsx-runtime';\nimport { mergeProps } from '@zag-js/react';\nimport { forwardRef } from 'react';\nimport { composeRefs } from '../../utils/compose-refs.js';\nimport { createSplitProps } from '../../utils/create-split-props.js';\nimport { ark } from '../factory.js';\nimport { useField } from './use-field.js';\nimport { FieldProvider } from './use-field-context.js';\n\nconst FieldRoot = forwardRef((props, ref) => {\n const [useFieldProps, localProps] = createSplitProps()(props, [\n \"id\",\n \"ids\",\n \"disabled\",\n \"invalid\",\n \"readOnly\",\n \"required\"\n ]);\n const field = useField(useFieldProps);\n const mergedProps = mergeProps(field.getRootProps(), localProps);\n return /* @__PURE__ */ jsx(FieldProvider, { value: field, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(ref, field.refs.rootRef) }) });\n});\nFieldRoot.displayName = \"FieldRoot\";\n\nexport { FieldRoot };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport * as React from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { createRecipeContext } from '../../styled-system/create-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\n\nconst { useRecipeResult, PropsProvider } = createRecipeContext({ key: \"icon\" });\nconst Icon = React.forwardRef(\n function Icon2(props, ref) {\n const {\n styles,\n className,\n props: otherProps\n } = useRecipeResult({ asChild: !props.as, ...props });\n return /* @__PURE__ */ jsx(\n chakra.svg,\n {\n ref,\n focusable: false,\n \"aria-hidden\": \"true\",\n ...otherProps,\n css: [styles, props.css],\n className: cx(className, props.className)\n }\n );\n }\n);\nconst IconPropsProvider = PropsProvider;\n\nexport { Icon, IconPropsProvider };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Children, forwardRef } from 'react';\nimport { Icon } from './icon.js';\n\nfunction createIcon(options) {\n const {\n viewBox = \"0 0 24 24\",\n d: pathDefinition,\n displayName,\n defaultProps = {}\n } = options;\n const path = Children.toArray(options.path);\n const Comp = forwardRef((props, ref) => /* @__PURE__ */ jsx(\n Icon,\n {\n ref,\n asChild: false,\n viewBox,\n ...defaultProps,\n ...props,\n children: path.length ? path : /* @__PURE__ */ jsx(\"path\", { fill: \"currentColor\", d: pathDefinition })\n }\n ));\n Comp.displayName = displayName;\n return Comp;\n}\n\nexport { createIcon };\n","\"use strict\";\n\"use client\";\nimport { jsx } from 'react/jsx-runtime';\nimport { Field, useFieldContext } from '@ark-ui/react/field';\nimport { forwardRef } from 'react';\nimport { cx } from '../../utils/cx.js';\nimport { createSlotRecipeContext } from '../../styled-system/create-slot-recipe-context.js';\nimport { chakra } from '../../styled-system/factory.js';\nimport { createIcon } from '../icon/create-icon.js';\n\nconst {\n withProvider,\n withContext,\n useStyles: useFieldStyles,\n useClassNames,\n PropsProvider\n} = createSlotRecipeContext({ key: \"field\" });\nconst FieldRoot = withProvider(\n Field.Root,\n \"root\",\n { forwardAsChild: true }\n);\nconst FieldPropsProvider = PropsProvider;\nconst FieldLabel = withContext(\n Field.Label,\n \"label\",\n { forwardAsChild: true }\n);\nconst FieldHelperText = withContext(Field.HelperText, \"helperText\", { forwardAsChild: true });\nconst FieldErrorText = withContext(\n Field.ErrorText,\n \"errorText\",\n { forwardAsChild: true }\n);\nconst FieldErrorIcon = createIcon({\n d: \"M11.983,0a12.206,12.206,0,0,0-8.51,3.653A11.8,11.8,0,0,0,0,12.207,11.779,11.779,0,0,0,11.8,24h.214A12.111,12.111,0,0,0,24,11.791h0A11.766,11.766,0,0,0,11.983,0ZM10.5,16.542a1.476,1.476,0,0,1,1.449-1.53h.027a1.527,1.527,0,0,1,1.523,1.47,1.475,1.475,0,0,1-1.449,1.53h-.027A1.529,1.529,0,0,1,10.5,16.542ZM11,12.5v-6a1,1,0,0,1,2,0v6a1,1,0,1,1-2,0Z\"\n});\nconst FieldRequiredIndicator = forwardRef(function RequiredIndicator(props, ref) {\n const { fallback, children = \"*\", ...restProps } = props;\n const field = useFieldContext();\n const classNames = useClassNames();\n const styles = useFieldStyles();\n if (!field?.required) {\n return fallback;\n }\n return /* @__PURE__ */ jsx(\n chakra.span,\n {\n ref,\n \"aria-hidden\": \"true\",\n ...restProps,\n className: cx(classNames.requiredIndicator, props.className),\n css: [styles.requiredIndicator, props.css],\n children\n }\n );\n});\n\nexport { FieldErrorIcon, FieldErrorText, FieldHelperText, FieldLabel, FieldPropsProvider, FieldRequiredIndicator, FieldRoot, useFieldStyles };\n","import { FormControlSize } from './withFormControl.types';\n\nexport const optionalTextSizeMap: Record<FormControlSize, number> = {\n sm: 10,\n md: 12,\n lg: 14,\n};\n","import React from 'react';\nimport { Field } from '@chakra-ui/react/field';\nimport { FormControlLabelPosition, FormControlSize } from './withFormControl.types';\nimport { SystemStyleObject } from '@chakra-ui/react/styled-system';\nimport { TypographyVariant } from 'shared/types/typography';\nimport { Text } from 'components/Text/text.component';\nimport { optionalTextSizeMap } from './withFormControl.records';\nimport { fontSizes } from '@televet/kibble-primitives/core/typography';\nimport { Flex } from '@chakra-ui/react/flex';\nimport { Icon } from 'components/Icon/icon.component';\nimport { Box } from '@chakra-ui/react/box';\n\nexport interface WithFormControlProps {\n /** If true, the form control will be disabled.\n * @default false\n */\n disabled?: boolean;\n /** The error text to be displayed when the form control is invalid.\n * @default Field is invalid\n */\n errorText?: string;\n /** Props to customize the form control. */\n formControlStyle?: SystemStyleObject;\n /** If true, the form control will take the full width of its container.\n * @default true\n */\n fullWidth?: boolean;\n /** The helper text to be displayed below the form control. */\n helperText?: string;\n /** If true, the form control will be displayed inline with the label. */\n inlineField?: boolean;\n /** If true, the form control will be invalid.\n * @default false\n */\n invalid?: boolean;\n /** The variant of the invalid icon.\n * @default danger\n */\n invalidIconColor?: TypographyVariant;\n /** The label to be displayed above the form control. */\n label?: string | React.ReactNode;\n /** The position of the label relative to the form control.\n * @default start\n */\n labelPosition?: FormControlLabelPosition;\n /** Props to customize the label. */\n labelStyle?: SystemStyleObject;\n /** If true, the form control will be styled for contrast mode.\n * @default false\n */\n onContrast?: boolean;\n /** If true, the form element will be read only.\n * @default false\n */\n readOnly?: boolean;\n /** If true, the form control will be required.\n * @default false\n */\n required?: boolean;\n /** If true, the form control will show an optional text.\n * @default false\n */\n showOptionalElement?: boolean;\n /** The size of the form control.\n * @default md\n */\n size?: FormControlSize;\n /** If true, the form control will show an invalid icon.\n * @default false\n */\n useInvalidIcon?: boolean;\n /** If true, the form control will show an invalid text.\n * @default true\n */\n useInvalidText?: boolean;\n /** Data test id for the form control.\n */\n 'data-testid'?: string;\n}\n\nexport const withFormControl = <P extends WithFormControlProps>(Component: React.ComponentType<P>): React.FC<P> => {\n const WithFormControl = ({\n disabled = false,\n errorText = 'Field is invalid',\n formControlStyle,\n fullWidth = true,\n helperText,\n inlineField = false,\n invalid = false,\n invalidIconColor = 'danger',\n label,\n labelPosition = 'start',\n labelStyle,\n onContrast = false,\n readOnly = false,\n required = false,\n showOptionalElement = false,\n size = 'md',\n useInvalidIcon = false,\n useInvalidText = true,\n ['data-testid']: dataTestId,\n ...props\n }: WithFormControlProps): React.JSX.Element => {\n const labelComponent = (\n <Field.Label\n className=\"FormControl__Label\"\n color={onContrast ? 'text.contrast' : 'text'}\n display=\"flex\"\n flexDirection=\"row\"\n gap={1}\n fontSize={fontSizes[size]}\n data-testid={dataTestId ? `${dataTestId}-form-control-label` : undefined}\n {...labelStyle}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n <Box as=\"span\">{label}</Box>\n <Field.RequiredIndicator\n className=\"FormControl__RequiredIndicator\"\n data-testid={dataTestId ? `${dataTestId}-form-control-required-indicator` : undefined}\n color={onContrast ? 'text.danger.contrast' : 'text.danger'}\n {...(!required && {\n fallback: showOptionalElement ? (\n <Text\n as=\"span\"\n variant={onContrast ? 'subtleOnContrast' : 'subtle'}\n fontSize={optionalTextSizeMap[size]}\n display=\"contents\"\n ml={1}\n >\n (Optional)\n </Text>\n ) : (\n <></>\n ),\n })}\n />\n </Field.Label>\n );\n\n return (\n <Field.Root\n className=\"FormControl group\"\n disabled={disabled}\n invalid={invalid}\n readOnly={readOnly}\n required={required}\n width={fullWidth ? '100%' : 'auto'}\n data-testid={dataTestId ? `${dataTestId}-form-control-root` : undefined}\n {...formControlStyle}\n >\n <Flex\n className=\"FormControl__Container\"\n flexDirection={inlineField ? 'row' : 'column'}\n w={inlineField ? 'max-content' : '100%'}\n gap={2}\n alignItems={inlineField ? 'center' : 'flex-start'}\n data-testid={dataTestId ? `${dataTestId}-form-control-container` : undefined}\n >\n {label && labelPosition === 'start' && labelComponent}\n <Flex className=\"FormControl__Content\" alignItems=\"center\" gap={2} w={inlineField ? 'max-content' : '100%'}>\n <Component\n disabled={disabled}\n invalid={invalid}\n onContrast={onContrast}\n readOnly={readOnly}\n required={required}\n size={size}\n data-testid={dataTestId ? `${dataTestId}` : undefined}\n {...(props as P)}\n />\n {useInvalidIcon && invalid && (\n <Icon\n className=\"FormControl__InvalidIcon\"\n data-testid={dataTestId ? `${dataTestId}-form-control-invalid-icon` : undefined}\n name=\"warningSign\"\n variant={invalidIconColor}\n size={size}\n />\n )}\n </Flex>\n {label && labelPosition === 'end' && labelComponent}\n </Flex>\n {useInvalidText && invalid && (\n <Field.ErrorText\n className=\"FormControl__ErrorText\"\n fontSize=\"xs\"\n color={onContrast ? 'text.danger.contrast' : 'text.danger'}\n data-testid={dataTestId ? `${dataTestId}-form-control-error-text` : undefined}\n >\n {errorText}\n </Field.ErrorText>\n )}\n {helperText && (\n <Field.HelperText\n className=\"FormControl__HelperText\"\n fontSize=\"xs\"\n color={onContrast ? 'text.subtle.contrast' : 'text.subtle'}\n data-testid={dataTestId ? `${dataTestId}-form-control-helper-text` : undefined}\n >\n {helperText}\n </Field.HelperText>\n )}\n </Field.Root>\n );\n };\n\n WithFormControl.displayName = `withFormControl(${Component.displayName || Component.name}`;\n return WithFormControl;\n};\n"],"names":["FieldErrorText","forwardRef","props","ref","field","useFieldContext","mergedProps","mergeProps","jsx","ark","FieldHelperText","FieldLabel","useSafeLayoutEffect","useLayoutEffect","useEffect","FieldsetProvider","useFieldsetContext","createContext","useField","fieldset","env","useEnvironmentContext","ids","disabled","invalid","readOnly","required","hasErrorText","setHasErrorText","useState","hasHelperText","setHasHelperText","uid","useId","id","rootRef","useRef","rootId","errorTextId","helperTextId","labelId","rootNode","checkTextElements","docOrShadowRoot","win","observer","labelIds","useMemo","ids2","getRootProps","parts","dataAttr","getLabelProps","getControlProps","ariaAttr","getInputProps","getTextareaProps","getSelectProps","getHelperTextProps","getErrorTextProps","getRequiredIndicatorProps","FieldRoot","useFieldProps","localProps","createSplitProps","FieldProvider","composeRefs","useRecipeResult","createRecipeContext","Icon","React","styles","className","otherProps","chakra","cx","createIcon","options","viewBox","pathDefinition","displayName","defaultProps","path","Children","Comp","withProvider","withContext","useFieldStyles","useClassNames","createSlotRecipeContext","Field.Root","Field.Label","Field.HelperText","Field.ErrorText","FieldRequiredIndicator","fallback","children","restProps","classNames","optionalTextSizeMap","withFormControl","Component","WithFormControl","errorText","formControlStyle","fullWidth","helperText","inlineField","invalidIconColor","label","labelPosition","labelStyle","onContrast","showOptionalElement","size","useInvalidIcon","useInvalidText","dataTestId","labelComponent","jsxs","fontSizes","e","Box","Field.RequiredIndicator","Text","Fragment","Flex"],"mappings":";;;;;;;;;;;;;;;AAOA,MAAMA,IAAiBC,EAAW,CAACC,GAAOC,MAAQ;AAChD,QAAMC,IAAQC,EAAiB,GACzBC,IAAcC,EAAWH,EAAM,kBAAiB,GAAIF,CAAK;AAC/D,SAAIE,GAAO,UACcI,gBAAAA,EAAAA,IAAIC,EAAI,MAAM,EAAE,GAAGH,GAAa,KAAAH,GAAK,IAEvD;AACT,CAAC;AACDH,EAAe,cAAc;ACR7B,MAAMU,IAAkBT,EAAW,CAACC,GAAOC,MAAQ;AACjD,QAAMC,IAAQC,EAAiB,GACzBC,IAAcC,EAAWH,GAAO,mBAAkB,GAAIF,CAAK;AACjE,SAAuBM,gBAAAA,EAAAA,IAAIC,EAAI,MAAM,EAAE,GAAGH,GAAa,KAAAH,GAAK;AAC9D,CAAC;AACDO,EAAgB,cAAc;ACL9B,MAAMC,IAAaV,EAAW,CAACC,GAAOC,MAAQ;AAC5C,QAAMC,IAAQC,EAAiB,GACzBC,IAAcC,EAAWH,GAAO,cAAa,GAAIF,CAAK;AAC5D,SAAuBM,gBAAAA,EAAAA,IAAIC,EAAI,OAAO,EAAE,GAAGH,GAAa,KAAAH,GAAK;AAC/D,CAAC;AACDQ,EAAW,cAAc;ACTzB,MAAMC,KAAsB,OAAO,SAAW,MAAcC,KAAkBC,ICAxE,CAACC,IAAkBC,EAAkB,IAAIC,GAAc;AAAA,EAC3D,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,QAAQ;AACV,CAAC,GCAKC,KAAW,CAAChB,IAAQ,OAAO;AAC/B,QAAMiB,IAAWH,GAAoB,GAC/BI,IAAMC,GAAuB,GAC7B,EAAE,KAAAC,GAAK,UAAAC,IAAW,EAAQJ,GAAU,UAAW,SAAAK,IAAU,IAAO,UAAAC,IAAW,IAAO,UAAAC,IAAW,GAAO,IAAGxB,GACvG,CAACyB,GAAcC,CAAe,IAAIC,EAAS,EAAK,GAChD,CAACC,GAAeC,CAAgB,IAAIF,EAAS,EAAK,GAClDG,IAAMC,GAAO,GACbC,IAAKhC,EAAM,MAAM8B,GACjBG,IAAUC,GAAO,IAAI,GACrBC,IAASf,GAAK,WAAW,UAAUY,CAAE,IACrCI,IAAchB,GAAK,aAAa,UAAUY,CAAE,gBAC5CK,IAAejB,GAAK,cAAc,UAAUY,CAAE,iBAC9CM,IAAUlB,GAAK,SAAS,UAAUY,CAAE;AAC1C,EAAAtB,GAAoB,MAAM;AACxB,UAAM6B,IAAWN,EAAQ;AACzB,QAAI,CAACM,EAAU;AACf,UAAMC,IAAoB,MAAM;AAC9B,YAAMC,IAAkBvB,EAAI,YAAa;AACzC,MAAAQ,EAAgB,CAAC,CAACe,EAAgB,eAAeL,CAAW,CAAC,GAC7DP,EAAiB,CAAC,CAACY,EAAgB,eAAeJ,CAAY,CAAC;AAAA,IAChE;AACD,IAAAG,EAAmB;AACnB,UAAME,IAAMxB,EAAI,UAAW,GACrByB,IAAW,IAAID,EAAI,iBAAiBF,CAAiB;AAC3D,WAAAG,EAAS,QAAQJ,GAAU,EAAE,WAAW,IAAM,SAAS,IAAM,GACtD,MAAMI,EAAS,WAAY;AAAA,EACnC,GAAE,CAACzB,GAAKkB,GAAaC,CAAY,CAAC;AACnC,QAAMO,IAAWC,EAAQ,MAAM;AAC7B,UAAMC,IAAO,CAAE;AACf,WAAIrB,KAAgBH,KAASwB,EAAK,KAAKV,CAAW,GAC9CR,KAAekB,EAAK,KAAKT,CAAY,GAClCS,EAAK,KAAK,GAAG,KAAK;AAAA,EAC7B,GAAK,CAACxB,GAASc,GAAaC,GAAcZ,GAAcG,CAAa,CAAC,GAC9DmB,IAAeF;AAAA,IACnB,MAAM,OAAO;AAAA,MACX,GAAGG,EAAM,KAAK;AAAA,MACd,IAAIb;AAAA,MACJ,KAAKF;AAAA,MACL,MAAM;AAAA,MACN,iBAAiBgB,EAAS5B,CAAQ;AAAA,MAClC,gBAAgB4B,EAAS3B,CAAO;AAAA,MAChC,iBAAiB2B,EAAS1B,CAAQ;AAAA,IACxC;AAAA,IACI,CAACF,GAAUC,GAASC,GAAUY,CAAM;AAAA,EACrC,GACKe,IAAgBL;AAAA,IACpB,MAAM,OAAO;AAAA,MACX,GAAGG,EAAM,MAAM;AAAA,MACf,IAAIV;AAAA,MACJ,iBAAiBW,EAAS5B,CAAQ;AAAA,MAClC,gBAAgB4B,EAAS3B,CAAO;AAAA,MAChC,iBAAiB2B,EAAS1B,CAAQ;AAAA,MAClC,SAASS;AAAA,IACf;AAAA,IACI,CAACX,GAAUC,GAASC,GAAUS,GAAIM,CAAO;AAAA,EAC1C,GACKa,IAAkBN;AAAA,IACtB,MAAM,OAAO;AAAA,MACX,oBAAoBD;AAAA,MACpB,gBAAgBQ,GAAS9B,CAAO;AAAA,MAChC,gBAAgB2B,EAAS3B,CAAO;AAAA,MAChC,iBAAiB2B,EAASzB,CAAQ;AAAA,MAClC,iBAAiByB,EAAS1B,CAAQ;AAAA,MAClC,IAAAS;AAAA,MACA,UAAAR;AAAA,MACA,UAAAH;AAAA,MACA,UAAAE;AAAA,IACN;AAAA,IACI,CAACqB,GAAUtB,GAASE,GAAUD,GAAUS,GAAIX,CAAQ;AAAA,EACrD,GACKgC,IAAgBR;AAAA,IACpB,MAAM,OAAO;AAAA,MACX,GAAGM,EAAiB;AAAA,MACpB,GAAGH,EAAM,MAAM;AAAA,IACrB;AAAA,IACI,CAACG,CAAe;AAAA,EACjB,GACKG,IAAmBT;AAAA,IACvB,MAAM,OAAO;AAAA,MACX,GAAGM,EAAiB;AAAA,MACpB,GAAGH,EAAM,SAAS;AAAA,IACxB;AAAA,IACI,CAACG,CAAe;AAAA,EACjB,GACKI,IAAiBV;AAAA,IACrB,MAAM,OAAO;AAAA,MACX,GAAGM,EAAiB;AAAA,MACpB,GAAGH,EAAM,OAAO;AAAA,IACtB;AAAA,IACI,CAACG,CAAe;AAAA,EACjB,GACKK,IAAqBX;AAAA,IACzB,MAAM,OAAO;AAAA,MACX,IAAIR;AAAA,MACJ,GAAGW,EAAM,WAAW;AAAA,MACpB,iBAAiBC,EAAS5B,CAAQ;AAAA,IACxC;AAAA,IACI,CAACA,GAAUgB,CAAY;AAAA,EACxB,GACKoB,IAAoBZ;AAAA,IACxB,MAAM,OAAO;AAAA,MACX,IAAIT;AAAA,MACJ,GAAGY,EAAM,UAAU;AAAA,MACnB,aAAa;AAAA,IACnB;AAAA,IACI,CAACZ,CAAW;AAAA,EACb,GACKsB,IAA4Bb;AAAA,IAChC,MAAM,OAAO;AAAA,MACX,eAAe;AAAA,MACf,GAAGG,EAAM,kBAAkB;AAAA,IACjC;AAAA,IACI,CAAA;AAAA,EACD;AACD,SAAO;AAAA,IACL,iBAAiBJ;AAAA,IACjB,KAAK;AAAA,MACH,MAAMT;AAAA,MACN,SAASH;AAAA,MACT,OAAOM;AAAA,MACP,WAAWF;AAAA,MACX,YAAYC;AAAA,IACb;AAAA,IACD,MAAM;AAAA,MACJ,SAAAJ;AAAA,IACD;AAAA,IACD,UAAAZ;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAA0B;AAAA,IACA,cAAAH;AAAA,IACA,eAAAM;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,2BAAAC;AAAA,EACD;AACH,GCzIMC,IAAY5D,EAAW,CAACC,GAAOC,MAAQ;AAC3C,QAAM,CAAC2D,GAAeC,CAAU,IAAIC,GAAgB,EAAG9D,GAAO;AAAA,IAC5D;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG,GACKE,IAAQc,GAAS4C,CAAa,GAC9BxD,IAAcC,EAAWH,EAAM,aAAY,GAAI2D,CAAU;AAC/D,SAAuBvD,gBAAAA,EAAG,IAACyD,IAAe,EAAE,OAAO7D,GAAO,UAA0BI,gBAAAA,EAAAA,IAAIC,EAAI,KAAK,EAAE,GAAGH,GAAa,KAAK4D,GAAY/D,GAAKC,EAAM,KAAK,OAAO,EAAG,CAAA,GAAG;AACnK,CAAC;AACDyD,EAAU,cAAc;ACfxB,MAAM,EAAE,iBAAAM,GAA+B,IAAIC,GAAoB,EAAE,KAAK,OAAM,CAAE,GACxEC,KAAOC,GAAM;AAAA,EACjB,SAAepE,GAAOC,GAAK;AACzB,UAAM;AAAA,MACJ,QAAAoE;AAAA,MACA,WAAAC;AAAA,MACA,OAAOC;AAAA,IACb,IAAQN,GAAgB,EAAE,SAAS,CAACjE,EAAM,IAAI,GAAGA,GAAO;AACpD,WAAuBM,gBAAAA,EAAG;AAAA,MACxBkE,EAAO;AAAA,MACP;AAAA,QACE,KAAAvE;AAAA,QACA,WAAW;AAAA,QACX,eAAe;AAAA,QACf,GAAGsE;AAAA,QACH,KAAK,CAACF,GAAQrE,EAAM,GAAG;AAAA,QACvB,WAAWyE,EAAGH,GAAWtE,EAAM,SAAS;AAAA,MAChD;AAAA,IACK;AAAA,EACL;AACA;ACtBA,SAAS0E,GAAWC,GAAS;AAC3B,QAAM;AAAA,IACJ,SAAAC,IAAU;AAAA,IACV,GAAGC;AAAA,IACH,aAAAC;AAAA,IACA,cAAAC,IAAe,CAAA;AAAA,EACnB,IAAMJ,GACEK,IAAOC,GAAS,QAAQN,EAAQ,IAAI,GACpCO,IAAOnF,EAAW,CAACC,GAAOC,MAAwBK,gBAAAA,EAAG;AAAA,IACzD6D;AAAA,IACA;AAAA,MACE,KAAAlE;AAAA,MACA,SAAS;AAAA,MACT,SAAA2E;AAAA,MACA,GAAGG;AAAA,MACH,GAAG/E;AAAA,MACH,UAAUgF,EAAK,SAASA,IAAuB1E,gBAAAA,EAAG,IAAC,QAAQ,EAAE,MAAM,gBAAgB,GAAGuE,EAAgB,CAAA;AAAA,IAC5G;AAAA,EACA,CAAG;AACD,SAAAK,EAAK,cAAcJ,GACZI;AACT;ACjBA,MAAM;AAAA,EACJ,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAWC;AAAA,EACX,eAAAC;AAEF,IAAIC,GAAwB,EAAE,KAAK,QAAO,CAAE,GACtC5B,KAAYwB;AAAA,EAChBK;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB,GAEM/E,KAAa2E;AAAA,EACjBK;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB,GACMjF,KAAkB4E,EAAYM,GAAkB,cAAc,EAAE,gBAAgB,IAAM,GACtF5F,KAAiBsF;AAAA,EACrBO;AAAAA,EACA;AAAA,EACA,EAAE,gBAAgB,GAAI;AACxB;AACuBjB,GAAW;AAAA,EAChC,GAAG;AACL,CAAC;AACD,MAAMkB,KAAyB7F,EAAW,SAA2BC,GAAOC,GAAK;AAC/E,QAAM,EAAE,UAAA4F,GAAU,UAAAC,IAAW,KAAK,GAAGC,EAAW,IAAG/F,GAC7CE,IAAQC,EAAiB,GACzB6F,IAAaV,GAAe,GAC5BjB,IAASgB,GAAgB;AAC/B,SAAKnF,GAAO,WAGWI,gBAAAA,EAAG;AAAA,IACxBkE,EAAO;AAAA,IACP;AAAA,MACE,KAAAvE;AAAA,MACA,eAAe;AAAA,MACf,GAAG8F;AAAA,MACH,WAAWtB,EAAGuB,EAAW,mBAAmBhG,EAAM,SAAS;AAAA,MAC3D,KAAK,CAACqE,EAAO,mBAAmBrE,EAAM,GAAG;AAAA,MACzC,UAAA8F;AAAA,IACN;AAAA,EACG,IAZQD;AAaX,CAAC,GCtDYI,KAAuD;AAAA,EAClE,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GC0EaC,KAAkB,CAAiCC,MAAmD;AACjH,QAAMC,IAAkB,CAAC;AAAA,IACvB,UAAA/E,IAAW;AAAA,IACX,WAAAgF,IAAY;AAAA,IACZ,kBAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,YAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,SAAAnF,IAAU;AAAA,IACV,kBAAAoF,IAAmB;AAAA,IACnB,OAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,YAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,UAAAvF,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,qBAAAuF,IAAsB;AAAA,IACtB,MAAAC,IAAO;AAAA,IACP,gBAAAC,IAAiB;AAAA,IACjB,gBAAAC,IAAiB;AAAA,IACjB,CAAC,gBAAgBC;AAAA,IACjB,GAAGnH;AAAA,EAAA,MAC0C;AAC7C,UAAMoH,IACJC,gBAAAA,EAAA;AAAA,MAAC5B;AAAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAOqB,IAAa,kBAAkB;AAAA,QACtC,SAAQ;AAAA,QACR,eAAc;AAAA,QACd,KAAK;AAAA,QACL,UAAUQ,EAAUN,CAAI;AAAA,QACxB,eAAaG,IAAa,GAAGA,CAAU,wBAAwB;AAAA,QAC9D,GAAGN;AAAA,QACJ,SAAS,CAACU,MAAM;AACd,UAAAA,EAAE,gBAAgB;AAAA,QACpB;AAAA,QAEA,UAAA;AAAA,UAACjH,gBAAAA,EAAA,IAAAkH,IAAA,EAAI,IAAG,QAAQ,UAAMb,GAAA;AAAA,UACtBrG,gBAAAA,EAAA;AAAA,YAACmH;AAAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,eAAaN,IAAa,GAAGA,CAAU,qCAAqC;AAAA,cAC5E,OAAOL,IAAa,yBAAyB;AAAA,cAC5C,GAAI,CAACtF,KAAY;AAAA,gBAChB,UAAUuF,IACRzG,gBAAAA,EAAA;AAAA,kBAACoH;AAAAA,kBAAA;AAAA,oBACC,IAAG;AAAA,oBACH,SAASZ,IAAa,qBAAqB;AAAA,oBAC3C,UAAUb,GAAoBe,CAAI;AAAA,oBAClC,SAAQ;AAAA,oBACR,IAAI;AAAA,oBACL,UAAA;AAAA,kBAAA;AAAA,gBAAA,IAIC1G,gBAAAA,EAAAA,IAAAqH,EAAAA,UAAA,CAAA,CAAA;AAAA,cAAA;AAAA,YAEN;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAIA,WAAAN,gBAAAA,EAAA;AAAA,MAAC7B;AAAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,UAAAnE;AAAA,QACA,SAAAC;AAAA,QACA,UAAAC;AAAA,QACA,UAAAC;AAAA,QACA,OAAO+E,IAAY,SAAS;AAAA,QAC5B,eAAaY,IAAa,GAAGA,CAAU,uBAAuB;AAAA,QAC7D,GAAGb;AAAA,QAEJ,UAAA;AAAA,UAAAe,gBAAAA,EAAA;AAAA,YAACO;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,eAAenB,IAAc,QAAQ;AAAA,cACrC,GAAGA,IAAc,gBAAgB;AAAA,cACjC,KAAK;AAAA,cACL,YAAYA,IAAc,WAAW;AAAA,cACrC,eAAaU,IAAa,GAAGA,CAAU,4BAA4B;AAAA,cAElE,UAAA;AAAA,gBAAAR,KAASC,MAAkB,WAAWQ;AAAA,gBACvCC,gBAAAA,EAAAA,KAACO,GAAK,EAAA,WAAU,wBAAuB,YAAW,UAAS,KAAK,GAAG,GAAGnB,IAAc,gBAAgB,QAClG,UAAA;AAAA,kBAAAnG,gBAAAA,EAAA;AAAA,oBAAC6F;AAAA,oBAAA;AAAA,sBACC,UAAA9E;AAAA,sBACA,SAAAC;AAAA,sBACA,YAAAwF;AAAA,sBACA,UAAAvF;AAAA,sBACA,UAAAC;AAAA,sBACA,MAAAwF;AAAA,sBACA,eAAaG,IAAa,GAAGA,CAAU,KAAK;AAAA,sBAC3C,GAAInH;AAAA,oBAAA;AAAA,kBACP;AAAA,kBACCiH,KAAkB3F,KACjBhB,gBAAAA,EAAA;AAAA,oBAAC6D;AAAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,eAAagD,IAAa,GAAGA,CAAU,+BAA+B;AAAA,sBACtE,MAAK;AAAA,sBACL,SAAST;AAAA,sBACT,MAAAM;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACF,GAEJ;AAAA,gBACCL,KAASC,MAAkB,SAASQ;AAAA,cAAA;AAAA,YAAA;AAAA,UACvC;AAAA,UACCF,KAAkB5F,KACjBhB,gBAAAA,EAAA;AAAA,YAACqF;AAAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,UAAS;AAAA,cACT,OAAOmB,IAAa,yBAAyB;AAAA,cAC7C,eAAaK,IAAa,GAAGA,CAAU,6BAA6B;AAAA,cAEnE,UAAAd;AAAA,YAAA;AAAA,UACH;AAAA,UAEDG,KACClG,gBAAAA,EAAA;AAAA,YAACoF;AAAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,UAAS;AAAA,cACT,OAAOoB,IAAa,yBAAyB;AAAA,cAC7C,eAAaK,IAAa,GAAGA,CAAU,8BAA8B;AAAA,cAEpE,UAAAX;AAAA,YAAA;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAEJ;AAAA,EAEJ;AAEA,SAAAJ,EAAgB,cAAc,mBAAmBD,EAAU,eAAeA,EAAU,IAAI,IACjFC;AACT;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}