@televet/kibble-ui 4.0.0-beta.64 → 4.0.0-beta.66

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 (193) hide show
  1. package/dist/chunks/{alert.types-BdMaGbwu.js → alert.types-DYf5xFEG.js} +3 -3
  2. package/dist/chunks/{alert.types-BdMaGbwu.js.map → alert.types-DYf5xFEG.js.map} +1 -1
  3. package/dist/chunks/{alert.types-C1GVh2D6.js → alert.types-DbqCOYr5.js} +2 -2
  4. package/dist/chunks/{alert.types-C1GVh2D6.js.map → alert.types-DbqCOYr5.js.map} +1 -1
  5. package/dist/chunks/{avatar.component-BKp_pbGA.js → avatar.component-Bk8VVA0l.js} +2 -2
  6. package/dist/chunks/{avatar.component-BKp_pbGA.js.map → avatar.component-Bk8VVA0l.js.map} +1 -1
  7. package/dist/chunks/{avatar.component-BRjxOsjQ.js → avatar.component-TAfT1LM1.js} +2 -2
  8. package/dist/chunks/{avatar.component-BRjxOsjQ.js.map → avatar.component-TAfT1LM1.js.map} +1 -1
  9. package/dist/chunks/{avatarGroup.component-B3cA6J2Z.js → avatarGroup.component-BGF4gl5d.js} +2 -2
  10. package/dist/chunks/{avatarGroup.component-B3cA6J2Z.js.map → avatarGroup.component-BGF4gl5d.js.map} +1 -1
  11. package/dist/chunks/{avatarGroup.component-DIfCXmiw.js → avatarGroup.component-CZnhQOWy.js} +2 -2
  12. package/dist/chunks/{avatarGroup.component-DIfCXmiw.js.map → avatarGroup.component-CZnhQOWy.js.map} +1 -1
  13. package/dist/chunks/{buttonGroup.component-DuNSCwga.js → buttonGroup.component-CGxtwaQg.js} +2 -2
  14. package/dist/chunks/{buttonGroup.component-DuNSCwga.js.map → buttonGroup.component-CGxtwaQg.js.map} +1 -1
  15. package/dist/chunks/{buttonGroup.component-CLTkO5BF.js → buttonGroup.component-IGM-yn-V.js} +2 -2
  16. package/dist/chunks/{buttonGroup.component-CLTkO5BF.js.map → buttonGroup.component-IGM-yn-V.js.map} +1 -1
  17. package/dist/chunks/{characterCounter.component-BEg4MItI.js → characterCounter.component-CWDjnYNU.js} +2 -2
  18. package/dist/chunks/{characterCounter.component-BEg4MItI.js.map → characterCounter.component-CWDjnYNU.js.map} +1 -1
  19. package/dist/chunks/{characterCounter.component-C2e2l-WJ.js → characterCounter.component-WOgGxKRq.js} +2 -2
  20. package/dist/chunks/{characterCounter.component-C2e2l-WJ.js.map → characterCounter.component-WOgGxKRq.js.map} +1 -1
  21. package/dist/chunks/{checkbox.component-Dxvk8exv.js → checkbox.component-B6-MOy86.js} +3 -3
  22. package/dist/chunks/{checkbox.component-Dxvk8exv.js.map → checkbox.component-B6-MOy86.js.map} +1 -1
  23. package/dist/chunks/{checkbox.component-CYpG_LI3.js → checkbox.component-nkydue0g.js} +2 -2
  24. package/dist/chunks/{checkbox.component-CYpG_LI3.js.map → checkbox.component-nkydue0g.js.map} +1 -1
  25. package/dist/chunks/{checkboxGroup.component-DXuYKyDD.js → checkboxGroup.component-B1HL2vbn.js} +2 -2
  26. package/dist/chunks/{checkboxGroup.component-DXuYKyDD.js.map → checkboxGroup.component-B1HL2vbn.js.map} +1 -1
  27. package/dist/chunks/{checkboxGroup.component-CCY-tnlz.js → checkboxGroup.component-DCg4fRL0.js} +3 -3
  28. package/dist/chunks/{checkboxGroup.component-CCY-tnlz.js.map → checkboxGroup.component-DCg4fRL0.js.map} +1 -1
  29. package/dist/chunks/{conversationCard.component-BbV9kzvn.js → conversationCard.component-2jO70XtY.js} +2 -2
  30. package/dist/chunks/{conversationCard.component-BbV9kzvn.js.map → conversationCard.component-2jO70XtY.js.map} +1 -1
  31. package/dist/chunks/{conversationCard.component-DvUZFdws.js → conversationCard.component-Uv0-JSnX.js} +6 -6
  32. package/dist/chunks/{conversationCard.component-DvUZFdws.js.map → conversationCard.component-Uv0-JSnX.js.map} +1 -1
  33. package/dist/chunks/{datePicker.component-CaX-nDYU.js → datePicker.component-CM8TIMiW.js} +2 -2
  34. package/dist/chunks/{datePicker.component-CaX-nDYU.js.map → datePicker.component-CM8TIMiW.js.map} +1 -1
  35. package/dist/chunks/{datePicker.component-CfULnyaz.js → datePicker.component-DeOquWMk.js} +4 -4
  36. package/dist/chunks/{datePicker.component-CfULnyaz.js.map → datePicker.component-DeOquWMk.js.map} +1 -1
  37. package/dist/chunks/{heading.component-CUa8MRJt.js → heading.component-Bu1JbEVn.js} +2 -2
  38. package/dist/chunks/{heading.component-CUa8MRJt.js.map → heading.component-Bu1JbEVn.js.map} +1 -1
  39. package/dist/chunks/{heading.component-Cuqs0DsG.js → heading.component-wD7BkQLG.js} +2 -2
  40. package/dist/chunks/{heading.component-Cuqs0DsG.js.map → heading.component-wD7BkQLG.js.map} +1 -1
  41. package/dist/chunks/{menu.component-DuEKWjJe.js → menu.component-BKY1dybr.js} +5 -5
  42. package/dist/chunks/{menu.component-DuEKWjJe.js.map → menu.component-BKY1dybr.js.map} +1 -1
  43. package/dist/chunks/{menu.component-DzEdcGnQ.js → menu.component-DllVICUa.js} +2 -2
  44. package/dist/chunks/{menu.component-DzEdcGnQ.js.map → menu.component-DllVICUa.js.map} +1 -1
  45. package/dist/chunks/{modal.types-SzYLypgs.js → modal.types-Bsq-uLZ0.js} +2 -2
  46. package/dist/chunks/{modal.types-SzYLypgs.js.map → modal.types-Bsq-uLZ0.js.map} +1 -1
  47. package/dist/chunks/{modal.types-Cg8WeIe5.js → modal.types-CRH5aJ0U.js} +2 -2
  48. package/dist/chunks/{modal.types-Cg8WeIe5.js.map → modal.types-CRH5aJ0U.js.map} +1 -1
  49. package/dist/chunks/{pinInput.types-DzJ8G-cv.js → pinInput.types-B-BknmcG.js} +2 -2
  50. package/dist/chunks/{pinInput.types-DzJ8G-cv.js.map → pinInput.types-B-BknmcG.js.map} +1 -1
  51. package/dist/chunks/{pinInput.types-D73AXb6j.js → pinInput.types-tJTQQJxe.js} +2 -2
  52. package/dist/chunks/{pinInput.types-D73AXb6j.js.map → pinInput.types-tJTQQJxe.js.map} +1 -1
  53. package/dist/chunks/{popover.component-DXcu1TE5.js → popover.component-CLMQkEDo.js} +2 -2
  54. package/dist/chunks/{popover.component-DXcu1TE5.js.map → popover.component-CLMQkEDo.js.map} +1 -1
  55. package/dist/chunks/{popover.component-BNH2Qyh6.js → popover.component-MbM0Ajnr.js} +3 -3
  56. package/dist/chunks/{popover.component-BNH2Qyh6.js.map → popover.component-MbM0Ajnr.js.map} +1 -1
  57. package/dist/chunks/{radioGroup.component-6Sb4sfkk.js → radioGroup.component-DAGmgDZ2.js} +2 -2
  58. package/dist/chunks/{radioGroup.component-6Sb4sfkk.js.map → radioGroup.component-DAGmgDZ2.js.map} +1 -1
  59. package/dist/chunks/{radioGroup.component-Dy-hsu8-.js → radioGroup.component-DEPDXEhQ.js} +4 -4
  60. package/dist/chunks/{radioGroup.component-Dy-hsu8-.js.map → radioGroup.component-DEPDXEhQ.js.map} +1 -1
  61. package/dist/chunks/{ratingDots.component-DMe19wON.js → ratingDots.component-BB7vPYdN.js} +2 -2
  62. package/dist/chunks/{ratingDots.component-DMe19wON.js.map → ratingDots.component-BB7vPYdN.js.map} +1 -1
  63. package/dist/chunks/{ratingDots.component-k9LJL9Eu.js → ratingDots.component-C32gNAmO.js} +3 -3
  64. package/dist/chunks/{ratingDots.component-k9LJL9Eu.js.map → ratingDots.component-C32gNAmO.js.map} +1 -1
  65. package/dist/chunks/{select.component-CuiKCzV4.js → select.component-BtBJUTF2.js} +2 -2
  66. package/dist/chunks/{select.component-CuiKCzV4.js.map → select.component-BtBJUTF2.js.map} +1 -1
  67. package/dist/chunks/{select.component-InxmAsNH.js → select.component-DfkLDyYt.js} +5 -5
  68. package/dist/chunks/{select.component-InxmAsNH.js.map → select.component-DfkLDyYt.js.map} +1 -1
  69. package/dist/chunks/{sortableList.component-CaPRUdXt.js → sortableList.component-B0lnVMXW.js} +2 -2
  70. package/dist/chunks/{sortableList.component-CaPRUdXt.js.map → sortableList.component-B0lnVMXW.js.map} +1 -1
  71. package/dist/chunks/{sortableList.component-B9CPjKG7.js → sortableList.component-B88NRcwx.js} +2 -2
  72. package/dist/chunks/{sortableList.component-B9CPjKG7.js.map → sortableList.component-B88NRcwx.js.map} +1 -1
  73. package/dist/chunks/{spinner.component-CWdZsQ1n.js → spinner.component-DVjwuOVs.js} +2 -2
  74. package/dist/chunks/{spinner.component-CWdZsQ1n.js.map → spinner.component-DVjwuOVs.js.map} +1 -1
  75. package/dist/chunks/{spinner.component-DWZ_4aTj.js → spinner.component-DWh3YuBJ.js} +2 -2
  76. package/dist/chunks/{spinner.component-DWZ_4aTj.js.map → spinner.component-DWh3YuBJ.js.map} +1 -1
  77. package/dist/chunks/{styledAvatar.types-BXftd-Wf.js → styledAvatar.types-ClVT0QDd.js} +2 -2
  78. package/dist/chunks/{styledAvatar.types-BXftd-Wf.js.map → styledAvatar.types-ClVT0QDd.js.map} +1 -1
  79. package/dist/chunks/{styledAvatar.types-D4XrEFve.js → styledAvatar.types-DamSY23W.js} +2 -2
  80. package/dist/chunks/{styledAvatar.types-D4XrEFve.js.map → styledAvatar.types-DamSY23W.js.map} +1 -1
  81. package/dist/chunks/{switch.component-vDh8eC0O.js → switch.component-BEkYEUKY.js} +2 -2
  82. package/dist/chunks/{switch.component-vDh8eC0O.js.map → switch.component-BEkYEUKY.js.map} +1 -1
  83. package/dist/chunks/{switch.component-Ct8hEoT2.js → switch.component-DjbXfvMa.js} +2 -2
  84. package/dist/chunks/{switch.component-Ct8hEoT2.js.map → switch.component-DjbXfvMa.js.map} +1 -1
  85. package/dist/chunks/{tabs.component-CuCzoee6.js → tabs.component-Bmg0kB-p.js} +2 -2
  86. package/dist/chunks/{tabs.component-CuCzoee6.js.map → tabs.component-Bmg0kB-p.js.map} +1 -1
  87. package/dist/chunks/{tabs.component-DDmnq9Yj.js → tabs.component-Bn_7bf0X.js} +2 -2
  88. package/dist/chunks/{tabs.component-DDmnq9Yj.js.map → tabs.component-Bn_7bf0X.js.map} +1 -1
  89. package/dist/chunks/{tagBlock.component-LJYc9GiQ.js → tagBlock.component-3ypfB6tz.js} +5 -5
  90. package/dist/chunks/{tagBlock.component-LJYc9GiQ.js.map → tagBlock.component-3ypfB6tz.js.map} +1 -1
  91. package/dist/chunks/{tagBlock.component-Cvlqt0tt.js → tagBlock.component-x3oh7uht.js} +2 -2
  92. package/dist/chunks/{tagBlock.component-Cvlqt0tt.js.map → tagBlock.component-x3oh7uht.js.map} +1 -1
  93. package/dist/chunks/{textInput.component-HHNykQ9Q.js → textInput.component-B1--78Mp.js} +2 -2
  94. package/dist/chunks/{textInput.component-HHNykQ9Q.js.map → textInput.component-B1--78Mp.js.map} +1 -1
  95. package/dist/chunks/{textInput.component--WvGHJxt.js → textInput.component-D9Dl8cP3.js} +3 -3
  96. package/dist/chunks/{textInput.component--WvGHJxt.js.map → textInput.component-D9Dl8cP3.js.map} +1 -1
  97. package/dist/chunks/{textarea.component-FFs6Uln9.js → textarea.component-BxC5lB4t.js} +2 -2
  98. package/dist/chunks/{textarea.component-FFs6Uln9.js.map → textarea.component-BxC5lB4t.js.map} +1 -1
  99. package/dist/chunks/{textarea.component--AjIMSc1.js → textarea.component-DZXDIbZg.js} +3 -3
  100. package/dist/chunks/{textarea.component--AjIMSc1.js.map → textarea.component-DZXDIbZg.js.map} +1 -1
  101. package/dist/chunks/{theme.provider-BEb3gD55.js → theme.provider-CpxxMiXd.js} +4 -4
  102. package/dist/chunks/{theme.provider-BEb3gD55.js.map → theme.provider-CpxxMiXd.js.map} +1 -1
  103. package/dist/chunks/{theme.provider-C5Ltz2zj.js → theme.provider-DmGvaymX.js} +258 -258
  104. package/dist/chunks/{theme.provider-C5Ltz2zj.js.map → theme.provider-DmGvaymX.js.map} +1 -1
  105. package/dist/chunks/{timePicker.component-Bah1y2Pc.js → timePicker.component-DnFPWIcy.js} +3 -3
  106. package/dist/chunks/{timePicker.component-Bah1y2Pc.js.map → timePicker.component-DnFPWIcy.js.map} +1 -1
  107. package/dist/chunks/{timePicker.component-BxmUXWNg.js → timePicker.component-F9o8MNWu.js} +2 -2
  108. package/dist/chunks/{timePicker.component-BxmUXWNg.js.map → timePicker.component-F9o8MNWu.js.map} +1 -1
  109. package/dist/chunks/{timeRange.component-C0ZHjvEa.js → timeRange.component-Bh2FiRi8.js} +2 -2
  110. package/dist/chunks/{timeRange.component-C0ZHjvEa.js.map → timeRange.component-Bh2FiRi8.js.map} +1 -1
  111. package/dist/chunks/{timeRange.component-BhdUqy0y.js → timeRange.component-Bj-9ynHS.js} +2 -2
  112. package/dist/chunks/{timeRange.component-BhdUqy0y.js.map → timeRange.component-Bj-9ynHS.js.map} +1 -1
  113. package/dist/chunks/{timestamp.component-BOksAchA.js → timestamp.component-BKr4dkxB.js} +2 -2
  114. package/dist/chunks/{timestamp.component-BOksAchA.js.map → timestamp.component-BKr4dkxB.js.map} +1 -1
  115. package/dist/chunks/{timestamp.component-DLh53lam.js → timestamp.component-CfjeVkJs.js} +2 -2
  116. package/dist/chunks/{timestamp.component-DLh53lam.js.map → timestamp.component-CfjeVkJs.js.map} +1 -1
  117. package/dist/chunks/{withFormControl-DhWavZor.js → withFormControl-BHjeRAfg.js} +2 -2
  118. package/dist/chunks/{withFormControl-DhWavZor.js.map → withFormControl-BHjeRAfg.js.map} +1 -1
  119. package/dist/chunks/{withFormControl-3s6IRbl0.js → withFormControl-KA9fAHrR.js} +2 -2
  120. package/dist/chunks/{withFormControl-3s6IRbl0.js.map → withFormControl-KA9fAHrR.js.map} +1 -1
  121. package/dist/chunks/{withTruncation-D8W737TN.js → withTruncation-CQUQzrTa.js} +1 -2
  122. package/dist/chunks/{withTruncation-D8W737TN.js.map → withTruncation-CQUQzrTa.js.map} +1 -1
  123. package/dist/chunks/{withTruncation-nuzHzFsq.js → withTruncation-DguVvIAI.js} +2 -2
  124. package/dist/chunks/{withTruncation-nuzHzFsq.js.map → withTruncation-DguVvIAI.js.map} +1 -1
  125. package/dist/cjs/components/Alert/index.cjs +1 -1
  126. package/dist/cjs/components/Avatar/index.cjs +1 -1
  127. package/dist/cjs/components/AvatarGroup/index.cjs +1 -1
  128. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  129. package/dist/cjs/components/CharacterCounter/index.cjs +1 -1
  130. package/dist/cjs/components/Checkbox/index.cjs +1 -1
  131. package/dist/cjs/components/CheckboxGroup/index.cjs +1 -1
  132. package/dist/cjs/components/ConversationCard/index.cjs +1 -1
  133. package/dist/cjs/components/DatePicker/index.cjs +1 -1
  134. package/dist/cjs/components/Heading/index.cjs +1 -1
  135. package/dist/cjs/components/Menu/index.cjs +1 -1
  136. package/dist/cjs/components/Modal/index.cjs +1 -1
  137. package/dist/cjs/components/PinInput/index.cjs +1 -1
  138. package/dist/cjs/components/Popover/index.cjs +1 -1
  139. package/dist/cjs/components/RadioGroup/index.cjs +1 -1
  140. package/dist/cjs/components/RatingDots/index.cjs +1 -1
  141. package/dist/cjs/components/Select/index.cjs +1 -1
  142. package/dist/cjs/components/SortableList/index.cjs +1 -1
  143. package/dist/cjs/components/Spinner/index.cjs +1 -1
  144. package/dist/cjs/components/StyledAvatar/index.cjs +1 -1
  145. package/dist/cjs/components/Switch/index.cjs +1 -1
  146. package/dist/cjs/components/Tabs/index.cjs +1 -1
  147. package/dist/cjs/components/TagBlock/index.cjs +1 -1
  148. package/dist/cjs/components/Text/index.cjs +1 -1
  149. package/dist/cjs/components/TextInput/index.cjs +1 -1
  150. package/dist/cjs/components/Textarea/index.cjs +1 -1
  151. package/dist/cjs/components/TimePicker/index.cjs +1 -1
  152. package/dist/cjs/components/TimeRange/index.cjs +1 -1
  153. package/dist/cjs/components/Timestamp/index.cjs +1 -1
  154. package/dist/cjs/components/Tooltip/index.cjs +1 -1
  155. package/dist/cjs/components/index.cjs +1 -1
  156. package/dist/cjs/index.cjs +1 -1
  157. package/dist/cjs/theme/index.cjs +1 -1
  158. package/dist/esm/components/Alert/index.js +1 -1
  159. package/dist/esm/components/Avatar/index.js +1 -1
  160. package/dist/esm/components/AvatarGroup/index.js +1 -1
  161. package/dist/esm/components/ButtonGroup/index.js +1 -1
  162. package/dist/esm/components/CharacterCounter/index.js +1 -1
  163. package/dist/esm/components/Checkbox/index.js +1 -1
  164. package/dist/esm/components/CheckboxGroup/index.js +1 -1
  165. package/dist/esm/components/ConversationCard/index.js +1 -1
  166. package/dist/esm/components/DatePicker/index.js +1 -1
  167. package/dist/esm/components/Heading/index.js +1 -1
  168. package/dist/esm/components/Menu/index.js +1 -1
  169. package/dist/esm/components/Modal/index.js +1 -1
  170. package/dist/esm/components/PinInput/index.js +1 -1
  171. package/dist/esm/components/Popover/index.js +1 -1
  172. package/dist/esm/components/RadioGroup/index.js +1 -1
  173. package/dist/esm/components/RatingDots/index.js +1 -1
  174. package/dist/esm/components/Select/index.js +1 -1
  175. package/dist/esm/components/SortableList/index.js +1 -1
  176. package/dist/esm/components/Spinner/index.js +1 -1
  177. package/dist/esm/components/StyledAvatar/index.js +1 -1
  178. package/dist/esm/components/Switch/index.js +1 -1
  179. package/dist/esm/components/Tabs/index.js +1 -1
  180. package/dist/esm/components/TagBlock/index.js +1 -1
  181. package/dist/esm/components/Text/index.js +1 -1
  182. package/dist/esm/components/TextInput/index.js +1 -1
  183. package/dist/esm/components/Textarea/index.js +1 -1
  184. package/dist/esm/components/TimePicker/index.js +1 -1
  185. package/dist/esm/components/TimeRange/index.js +1 -1
  186. package/dist/esm/components/Timestamp/index.js +1 -1
  187. package/dist/esm/components/Tooltip/index.js +1 -1
  188. package/dist/esm/components/index.js +29 -29
  189. package/dist/esm/index.js +30 -30
  190. package/dist/esm/theme/index.js +1 -1
  191. package/dist/types/components/Menu/menu.recipe.d.ts +1 -1
  192. package/dist/types/components/Modal/modal.recipe.d.ts +1 -1
  193. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { j as o } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { useCallback as h, useRef as w, useEffect as H, useState as b, useMemo as R } from "react";
3
- import { W as G } from "./textInput.component--WvGHJxt.js";
4
- import { P as J } from "./popover.component-BNH2Qyh6.js";
3
+ import { W as G } from "./textInput.component-D9Dl8cP3.js";
4
+ import { P as J } from "./popover.component-MbM0Ajnr.js";
5
5
  import { I as K } from "./icon.component-DGNCL1Yc.js";
6
6
  import { u as Q } from "./useIconTextSizeMap-BK-pUrQv.js";
7
7
  import { f as U } from "./format-DgHM6wFr.js";
@@ -246,4 +246,4 @@ export {
246
246
  u as M,
247
247
  fe as T
248
248
  };
249
- //# sourceMappingURL=timePicker.component-Bah1y2Pc.js.map
249
+ //# sourceMappingURL=timePicker.component-DnFPWIcy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timePicker.component-Bah1y2Pc.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 innerRef?: React.RefObject<HTMLDivElement | null> | null;\n onClick: (selectedValue: string) => void;\n selected: boolean;\n value: string;\n}\n\nexport const TimeOption = ({\n value,\n innerRef,\n onClick,\n selected,\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\n className=\"TimePicker__Option\"\n data-testid=\"kibble-timepicker-option\"\n ref={innerRef}\n onClick={handleClick}\n css={styles}\n >\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: string[];\n optionType: \"hour\" | \"minute\" | \"meridiem\";\n selectedValue?: string;\n onClick: (value: string) => void;\n open: boolean;\n}\n\nexport const TimeList = ({\n options,\n optionType,\n selectedValue,\n onClick,\n open = false,\n}: ScrollContainerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop =\n itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [open]);\n\n return (\n <Box\n className=\"TimePicker__List\"\n data-testid={`kibble-timepicker-${optionType}-list`}\n css={styles.list}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n selected={option === selectedValue}\n onClick={onClick}\n data-testid={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 {\n TextInput,\n TextInputProps,\n} 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 initialTime?: Date;\n inputProps?: Omit<\n TextInputProps,\n \"onChange\" | \"value\" | \"isClearable\" | \"onClear\"\n >;\n minuteInterval?: number;\n onTimeChange?: (time: Date) => void;\n placement?: Placement;\n}\n\nexport const TimePicker = ({\n initialTime,\n inputProps,\n minuteInterval = 5,\n onTimeChange,\n placement = \"bottom\",\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<\n string | undefined\n >();\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) =>\n hour.toString(),\n );\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(\n localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM,\n );\n }\n }, [initialTime]);\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={({ open }) => setIsOpen(open)}\n anchor={\n <Box\n className=\"TimePicker__Trigger\"\n data-testid=\"kibble-timepicker-trigger\"\n css={styles.trigger}\n >\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Icon\n size={useIconTextSizeMap(inputProps?.size || \"md\")}\n name=\"clock\"\n />\n }\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 variant=\"default\"\n placement={placement}\n >\n <Box\n className=\"TimePicker__Container\"\n data-testid=\"kibble-timepicker-container\"\n css={styles.container}\n >\n <TimeList\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n onClick={handleHourClick}\n open={isOpen}\n />\n <TimeList\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={\n selectedMinute ? formatNumber(selectedMinute) : undefined\n }\n onClick={handleMinuteClick}\n open={isOpen}\n />\n <TimeList\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n onClick={handleMeridiemClick}\n open={isOpen}\n />\n </Box>\n </Popover>\n );\n};\n"],"names":["timeOptionRecipe","defineRecipe","TimeOption","value","innerRef","onClick","selected","styles","useRecipe","handleClick","useCallback","event","selectedValue","jsx","Box","timePickerRecipe","defineSlotRecipe","TimeList","options","optionType","open","useSlotRecipe","itemRef","useRef","containerRef","useEffect","option","Meridiem","TimePicker","initialTime","inputProps","minuteInterval","onTimeChange","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-DnFPWIcy.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 innerRef?: React.RefObject<HTMLDivElement | null> | null;\n onClick: (selectedValue: string) => void;\n selected: boolean;\n value: string;\n}\n\nexport const TimeOption = ({\n value,\n innerRef,\n onClick,\n selected,\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\n className=\"TimePicker__Option\"\n data-testid=\"kibble-timepicker-option\"\n ref={innerRef}\n onClick={handleClick}\n css={styles}\n >\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: string[];\n optionType: \"hour\" | \"minute\" | \"meridiem\";\n selectedValue?: string;\n onClick: (value: string) => void;\n open: boolean;\n}\n\nexport const TimeList = ({\n options,\n optionType,\n selectedValue,\n onClick,\n open = false,\n}: ScrollContainerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop =\n itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [open]);\n\n return (\n <Box\n className=\"TimePicker__List\"\n data-testid={`kibble-timepicker-${optionType}-list`}\n css={styles.list}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n selected={option === selectedValue}\n onClick={onClick}\n data-testid={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 {\n TextInput,\n TextInputProps,\n} 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 initialTime?: Date;\n inputProps?: Omit<\n TextInputProps,\n \"onChange\" | \"value\" | \"isClearable\" | \"onClear\"\n >;\n minuteInterval?: number;\n onTimeChange?: (time: Date) => void;\n placement?: Placement;\n}\n\nexport const TimePicker = ({\n initialTime,\n inputProps,\n minuteInterval = 5,\n onTimeChange,\n placement = \"bottom\",\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<\n string | undefined\n >();\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) =>\n hour.toString(),\n );\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(\n localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM,\n );\n }\n }, [initialTime]);\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={({ open }) => setIsOpen(open)}\n anchor={\n <Box\n className=\"TimePicker__Trigger\"\n data-testid=\"kibble-timepicker-trigger\"\n css={styles.trigger}\n >\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Icon\n size={useIconTextSizeMap(inputProps?.size || \"md\")}\n name=\"clock\"\n />\n }\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 variant=\"default\"\n placement={placement}\n >\n <Box\n className=\"TimePicker__Container\"\n data-testid=\"kibble-timepicker-container\"\n css={styles.container}\n >\n <TimeList\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n onClick={handleHourClick}\n open={isOpen}\n />\n <TimeList\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={\n selectedMinute ? formatNumber(selectedMinute) : undefined\n }\n onClick={handleMinuteClick}\n open={isOpen}\n />\n <TimeList\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n onClick={handleMeridiemClick}\n open={isOpen}\n />\n </Box>\n </Popover>\n );\n};\n"],"names":["timeOptionRecipe","defineRecipe","TimeOption","value","innerRef","onClick","selected","styles","useRecipe","handleClick","useCallback","event","selectedValue","jsx","Box","timePickerRecipe","defineSlotRecipe","TimeList","options","optionType","open","useSlotRecipe","itemRef","useRef","containerRef","useEffect","option","Meridiem","TimePicker","initialTime","inputProps","minuteInterval","onTimeChange","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,2 +1,2 @@
1
- "use strict";const n=require("./jsx-runtime-BjDatQAs.js"),t=require("react"),W=require("./textInput.component-HHNykQ9Q.js"),Y=require("./popover.component-DXcu1TE5.js"),F=require("./icon.component-C0e0UGBw.js"),G=require("./useIconTextSizeMap-BXmABb54.js"),J=require("./format-BRt-TIiQ.js"),A=require("./config-BFcXpdZo.js"),K=require("./use-recipe-DaPWl_pL.js"),h=require("./box-Baq7UBls.js"),v=require("./use-slot-recipe-8liupslO.js"),Q=A.defineRecipe({base:{borderRadius:"4px",cursor:"pointer",fontSize:"sm",px:3,py:1,textAlign:"center"},variants:{selected:{true:{background:"background.secondary",color:"text.contrast",_hover:{background:"background.secondary.hover"}},false:{background:"background",color:"text.subtle",_hover:{background:"background.secondaryAlpha.hover"}}}},defaultVariants:{selected:!1}}),U=({value:s,innerRef:a,onClick:i,selected:l})=>{const R=K.useRecipe({recipe:Q})({selected:l}),d=t.useCallback(r=>{const p=r.currentTarget.textContent||"";i(p)},[i]);return n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__Option","data-testid":"kibble-timepicker-option",ref:a,onClick:d,css:R,children:s})},O=A.defineSlotRecipe({slots:["trigger","container","list"],base:{trigger:{width:"100%"},container:{display:"flex",gap:1.5,height:"186px",overflow:"hidden"},list:{display:"flex",flexDirection:"column",gap:1,overflowY:"auto","&::webkit-scrollbar":{display:"none"}}}}),C=({options:s,optionType:a,selectedValue:i,onClick:l,open:f=!1})=>{const d=v.useSlotRecipe({recipe:O})(),r=t.useRef(null),p=t.useRef(null);return t.useEffect(()=>{f&&p.current&&r.current&&(p.current.scrollTop=r.current?.offsetTop-p.current?.offsetTop)},[f]),n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__List","data-testid":`kibble-timepicker-${a}-list`,css:d.list,children:s.map(c=>n.jsxRuntimeExports.jsx(U,{innerRef:c===i?r:null,value:c,selected:c===i,onClick:l,"data-testid":c},`${a}-option-${c}`))})};var u=(s=>(s.AM="AM",s.PM="PM",s))(u||{});const X=({initialTime:s,inputProps:a,minuteInterval:i=5,onTimeChange:l,placement:f="bottom"})=>{const d=v.useSlotRecipe({recipe:O})(),[r,p]=t.useState(!1),[c,E]=t.useState(s),[k,j]=t.useState(),[m,M]=t.useState(),[b,S]=t.useState(),N=t.useMemo(()=>c?J.format(c,"h:mm aa"):"",[c]),y=e=>{const o=e.toString();return o.length===1?`0${o}`:o},w=t.useMemo(()=>[12,1,2,3,4,5,6,7,8,9,10,11].map(e=>e.toString()),[]),H=t.useMemo(()=>{const e=[];for(let o=0;o<60;o+=i)e.push(o);return e.map(y)},[i]),z=[u.AM,u.PM],x=t.useCallback((e,o,g)=>{const T=e||"12",D=o||"00",P=g||"AM";let _=0;e||j("12"),o||M("00"),g||S("AM"),P===u.PM&&Number(T)<12&&(_=12),P===u.AM&&Number(T)===12&&(_=-12);const $=Number(T)+_,L=new Date().setHours($,Number(D),0,0),q=new Date(L);E(q),l&&l(q)},[l]),I=t.useCallback(e=>{j(e),x(e,m,b)},[x,b,m]),V=t.useCallback(e=>{M(e),x(k,e,b)},[x,k,b]),B=t.useCallback(e=>{S(e),x(k,m,e)},[x,k,m]);return t.useEffect(()=>{if(s){const e=new Date(s),g=e.getHours()%12||12;E(s),j(g.toString()),M(e.getMinutes().toString()),S(e.getHours()>11?u.PM:u.AM)}},[s]),n.jsxRuntimeExports.jsx(Y.Popover,{open:r,onOpenChange:({open:e})=>p(e),anchor:n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__Trigger","data-testid":"kibble-timepicker-trigger",css:d.trigger,children:n.jsxRuntimeExports.jsx(W.WrappedTextInput,{placeholder:"12:00 AM",rightElement:n.jsxRuntimeExports.jsx(F.Icon,{size:G.useIconTextSizeMap(a?.size||"md"),name:"clock"}),value:N,readOnly:!0,cursor:"pointer",...a,...r&&{"data-focus":"true"}})}),contentProps:{w:"max-content"},variant:"default",placement:f,children:n.jsxRuntimeExports.jsxs(h.Box,{className:"TimePicker__Container","data-testid":"kibble-timepicker-container",css:d.container,children:[n.jsxRuntimeExports.jsx(C,{options:w,optionType:"hour",selectedValue:k,onClick:I,open:r}),n.jsxRuntimeExports.jsx(C,{options:H,optionType:"minute",selectedValue:m?y(m):void 0,onClick:V,open:r}),n.jsxRuntimeExports.jsx(C,{options:z,optionType:"meridiem",selectedValue:b,onClick:B,open:r})]})})};exports.Meridiem=u;exports.TimePicker=X;
2
- //# sourceMappingURL=timePicker.component-BxmUXWNg.js.map
1
+ "use strict";const n=require("./jsx-runtime-BjDatQAs.js"),t=require("react"),W=require("./textInput.component-B1--78Mp.js"),Y=require("./popover.component-CLMQkEDo.js"),F=require("./icon.component-C0e0UGBw.js"),G=require("./useIconTextSizeMap-BXmABb54.js"),J=require("./format-BRt-TIiQ.js"),A=require("./config-BFcXpdZo.js"),K=require("./use-recipe-DaPWl_pL.js"),h=require("./box-Baq7UBls.js"),v=require("./use-slot-recipe-8liupslO.js"),Q=A.defineRecipe({base:{borderRadius:"4px",cursor:"pointer",fontSize:"sm",px:3,py:1,textAlign:"center"},variants:{selected:{true:{background:"background.secondary",color:"text.contrast",_hover:{background:"background.secondary.hover"}},false:{background:"background",color:"text.subtle",_hover:{background:"background.secondaryAlpha.hover"}}}},defaultVariants:{selected:!1}}),U=({value:s,innerRef:a,onClick:i,selected:l})=>{const R=K.useRecipe({recipe:Q})({selected:l}),d=t.useCallback(r=>{const p=r.currentTarget.textContent||"";i(p)},[i]);return n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__Option","data-testid":"kibble-timepicker-option",ref:a,onClick:d,css:R,children:s})},O=A.defineSlotRecipe({slots:["trigger","container","list"],base:{trigger:{width:"100%"},container:{display:"flex",gap:1.5,height:"186px",overflow:"hidden"},list:{display:"flex",flexDirection:"column",gap:1,overflowY:"auto","&::webkit-scrollbar":{display:"none"}}}}),C=({options:s,optionType:a,selectedValue:i,onClick:l,open:f=!1})=>{const d=v.useSlotRecipe({recipe:O})(),r=t.useRef(null),p=t.useRef(null);return t.useEffect(()=>{f&&p.current&&r.current&&(p.current.scrollTop=r.current?.offsetTop-p.current?.offsetTop)},[f]),n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__List","data-testid":`kibble-timepicker-${a}-list`,css:d.list,children:s.map(c=>n.jsxRuntimeExports.jsx(U,{innerRef:c===i?r:null,value:c,selected:c===i,onClick:l,"data-testid":c},`${a}-option-${c}`))})};var u=(s=>(s.AM="AM",s.PM="PM",s))(u||{});const X=({initialTime:s,inputProps:a,minuteInterval:i=5,onTimeChange:l,placement:f="bottom"})=>{const d=v.useSlotRecipe({recipe:O})(),[r,p]=t.useState(!1),[c,E]=t.useState(s),[k,j]=t.useState(),[m,M]=t.useState(),[b,S]=t.useState(),N=t.useMemo(()=>c?J.format(c,"h:mm aa"):"",[c]),y=e=>{const o=e.toString();return o.length===1?`0${o}`:o},w=t.useMemo(()=>[12,1,2,3,4,5,6,7,8,9,10,11].map(e=>e.toString()),[]),H=t.useMemo(()=>{const e=[];for(let o=0;o<60;o+=i)e.push(o);return e.map(y)},[i]),z=[u.AM,u.PM],x=t.useCallback((e,o,g)=>{const T=e||"12",D=o||"00",P=g||"AM";let _=0;e||j("12"),o||M("00"),g||S("AM"),P===u.PM&&Number(T)<12&&(_=12),P===u.AM&&Number(T)===12&&(_=-12);const $=Number(T)+_,L=new Date().setHours($,Number(D),0,0),q=new Date(L);E(q),l&&l(q)},[l]),I=t.useCallback(e=>{j(e),x(e,m,b)},[x,b,m]),V=t.useCallback(e=>{M(e),x(k,e,b)},[x,k,b]),B=t.useCallback(e=>{S(e),x(k,m,e)},[x,k,m]);return t.useEffect(()=>{if(s){const e=new Date(s),g=e.getHours()%12||12;E(s),j(g.toString()),M(e.getMinutes().toString()),S(e.getHours()>11?u.PM:u.AM)}},[s]),n.jsxRuntimeExports.jsx(Y.Popover,{open:r,onOpenChange:({open:e})=>p(e),anchor:n.jsxRuntimeExports.jsx(h.Box,{className:"TimePicker__Trigger","data-testid":"kibble-timepicker-trigger",css:d.trigger,children:n.jsxRuntimeExports.jsx(W.WrappedTextInput,{placeholder:"12:00 AM",rightElement:n.jsxRuntimeExports.jsx(F.Icon,{size:G.useIconTextSizeMap(a?.size||"md"),name:"clock"}),value:N,readOnly:!0,cursor:"pointer",...a,...r&&{"data-focus":"true"}})}),contentProps:{w:"max-content"},variant:"default",placement:f,children:n.jsxRuntimeExports.jsxs(h.Box,{className:"TimePicker__Container","data-testid":"kibble-timepicker-container",css:d.container,children:[n.jsxRuntimeExports.jsx(C,{options:w,optionType:"hour",selectedValue:k,onClick:I,open:r}),n.jsxRuntimeExports.jsx(C,{options:H,optionType:"minute",selectedValue:m?y(m):void 0,onClick:V,open:r}),n.jsxRuntimeExports.jsx(C,{options:z,optionType:"meridiem",selectedValue:b,onClick:B,open:r})]})})};exports.Meridiem=u;exports.TimePicker=X;
2
+ //# sourceMappingURL=timePicker.component-F9o8MNWu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timePicker.component-BxmUXWNg.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 innerRef?: React.RefObject<HTMLDivElement | null> | null;\n onClick: (selectedValue: string) => void;\n selected: boolean;\n value: string;\n}\n\nexport const TimeOption = ({\n value,\n innerRef,\n onClick,\n selected,\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\n className=\"TimePicker__Option\"\n data-testid=\"kibble-timepicker-option\"\n ref={innerRef}\n onClick={handleClick}\n css={styles}\n >\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: string[];\n optionType: \"hour\" | \"minute\" | \"meridiem\";\n selectedValue?: string;\n onClick: (value: string) => void;\n open: boolean;\n}\n\nexport const TimeList = ({\n options,\n optionType,\n selectedValue,\n onClick,\n open = false,\n}: ScrollContainerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop =\n itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [open]);\n\n return (\n <Box\n className=\"TimePicker__List\"\n data-testid={`kibble-timepicker-${optionType}-list`}\n css={styles.list}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n selected={option === selectedValue}\n onClick={onClick}\n data-testid={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 {\n TextInput,\n TextInputProps,\n} 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 initialTime?: Date;\n inputProps?: Omit<\n TextInputProps,\n \"onChange\" | \"value\" | \"isClearable\" | \"onClear\"\n >;\n minuteInterval?: number;\n onTimeChange?: (time: Date) => void;\n placement?: Placement;\n}\n\nexport const TimePicker = ({\n initialTime,\n inputProps,\n minuteInterval = 5,\n onTimeChange,\n placement = \"bottom\",\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<\n string | undefined\n >();\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) =>\n hour.toString(),\n );\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(\n localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM,\n );\n }\n }, [initialTime]);\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={({ open }) => setIsOpen(open)}\n anchor={\n <Box\n className=\"TimePicker__Trigger\"\n data-testid=\"kibble-timepicker-trigger\"\n css={styles.trigger}\n >\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Icon\n size={useIconTextSizeMap(inputProps?.size || \"md\")}\n name=\"clock\"\n />\n }\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 variant=\"default\"\n placement={placement}\n >\n <Box\n className=\"TimePicker__Container\"\n data-testid=\"kibble-timepicker-container\"\n css={styles.container}\n >\n <TimeList\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n onClick={handleHourClick}\n open={isOpen}\n />\n <TimeList\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={\n selectedMinute ? formatNumber(selectedMinute) : undefined\n }\n onClick={handleMinuteClick}\n open={isOpen}\n />\n <TimeList\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n onClick={handleMeridiemClick}\n open={isOpen}\n />\n </Box>\n </Popover>\n );\n};\n"],"names":["timeOptionRecipe","defineRecipe","TimeOption","value","innerRef","onClick","selected","styles","useRecipe","handleClick","useCallback","event","selectedValue","jsx","Box","timePickerRecipe","defineSlotRecipe","TimeList","options","optionType","open","useSlotRecipe","itemRef","useRef","containerRef","useEffect","option","Meridiem","TimePicker","initialTime","inputProps","minuteInterval","onTimeChange","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-F9o8MNWu.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 innerRef?: React.RefObject<HTMLDivElement | null> | null;\n onClick: (selectedValue: string) => void;\n selected: boolean;\n value: string;\n}\n\nexport const TimeOption = ({\n value,\n innerRef,\n onClick,\n selected,\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\n className=\"TimePicker__Option\"\n data-testid=\"kibble-timepicker-option\"\n ref={innerRef}\n onClick={handleClick}\n css={styles}\n >\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: string[];\n optionType: \"hour\" | \"minute\" | \"meridiem\";\n selectedValue?: string;\n onClick: (value: string) => void;\n open: boolean;\n}\n\nexport const TimeList = ({\n options,\n optionType,\n selectedValue,\n onClick,\n open = false,\n}: ScrollContainerProps): React.JSX.Element => {\n const recipe = useSlotRecipe({ recipe: timePickerRecipe });\n const styles = recipe();\n const itemRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (open && containerRef.current && itemRef.current) {\n containerRef.current.scrollTop =\n itemRef.current?.offsetTop - containerRef.current?.offsetTop;\n }\n }, [open]);\n\n return (\n <Box\n className=\"TimePicker__List\"\n data-testid={`kibble-timepicker-${optionType}-list`}\n css={styles.list}\n >\n {options.map((option) => {\n return (\n <TimeOption\n key={`${optionType}-option-${option}`}\n innerRef={option === selectedValue ? itemRef : null}\n value={option}\n selected={option === selectedValue}\n onClick={onClick}\n data-testid={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 {\n TextInput,\n TextInputProps,\n} 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 initialTime?: Date;\n inputProps?: Omit<\n TextInputProps,\n \"onChange\" | \"value\" | \"isClearable\" | \"onClear\"\n >;\n minuteInterval?: number;\n onTimeChange?: (time: Date) => void;\n placement?: Placement;\n}\n\nexport const TimePicker = ({\n initialTime,\n inputProps,\n minuteInterval = 5,\n onTimeChange,\n placement = \"bottom\",\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<\n string | undefined\n >();\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) =>\n hour.toString(),\n );\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(\n localTime.getHours() > 11 ? Meridiem.PM : Meridiem.AM,\n );\n }\n }, [initialTime]);\n\n return (\n <Popover\n open={isOpen}\n onOpenChange={({ open }) => setIsOpen(open)}\n anchor={\n <Box\n className=\"TimePicker__Trigger\"\n data-testid=\"kibble-timepicker-trigger\"\n css={styles.trigger}\n >\n <TextInput\n placeholder=\"12:00 AM\"\n rightElement={\n <Icon\n size={useIconTextSizeMap(inputProps?.size || \"md\")}\n name=\"clock\"\n />\n }\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 variant=\"default\"\n placement={placement}\n >\n <Box\n className=\"TimePicker__Container\"\n data-testid=\"kibble-timepicker-container\"\n css={styles.container}\n >\n <TimeList\n options={hourOptions}\n optionType=\"hour\"\n selectedValue={selectedHour}\n onClick={handleHourClick}\n open={isOpen}\n />\n <TimeList\n options={minuteOptions}\n optionType=\"minute\"\n selectedValue={\n selectedMinute ? formatNumber(selectedMinute) : undefined\n }\n onClick={handleMinuteClick}\n open={isOpen}\n />\n <TimeList\n options={meridiemOptions}\n optionType=\"meridiem\"\n selectedValue={selectedMeridiem}\n onClick={handleMeridiemClick}\n open={isOpen}\n />\n </Box>\n </Popover>\n );\n};\n"],"names":["timeOptionRecipe","defineRecipe","TimeOption","value","innerRef","onClick","selected","styles","useRecipe","handleClick","useCallback","event","selectedValue","jsx","Box","timePickerRecipe","defineSlotRecipe","TimeList","options","optionType","open","useSlotRecipe","itemRef","useRef","containerRef","useEffect","option","Meridiem","TimePicker","initialTime","inputProps","minuteInterval","onTimeChange","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,5 +1,5 @@
1
1
  import { j as e } from "./jsx-runtime-C5mzlN2N.js";
2
- import { T as r } from "./timePicker.component-Bah1y2Pc.js";
2
+ import { T as r } from "./timePicker.component-DnFPWIcy.js";
3
3
  import { F as a } from "./flex-smlF8uQG.js";
4
4
  import { B as o } from "./box-Ck9I7FYv.js";
5
5
  const j = ({
@@ -15,4 +15,4 @@ const j = ({
15
15
  export {
16
16
  j as T
17
17
  };
18
- //# sourceMappingURL=timeRange.component-C0ZHjvEa.js.map
18
+ //# sourceMappingURL=timeRange.component-Bh2FiRi8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeRange.component-C0ZHjvEa.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 {\n TimePicker,\n TimePickerProps,\n} from \"components/TimePicker/timePicker.component\";\n\nexport interface TimeRangeProps extends FlexProps {\n separator?: React.ReactNode;\n endTimePickerProps: TimePickerProps;\n startTimePickerProps: TimePickerProps;\n}\n\nexport const TimeRange = ({\n endTimePickerProps,\n separator,\n startTimePickerProps,\n ...rest\n}: TimeRangeProps): React.JSX.Element => {\n return (\n <Flex className=\"TimeRange\" data-testid=\"kibble-time-range\" {...rest}>\n <TimePicker {...startTimePickerProps} />\n <Box alignSelf=\"center\" mx={1}>\n {separator || \"-\"}\n </Box>\n <TimePicker {...endTimePickerProps} />\n </Flex>\n );\n};\n"],"names":["TimeRange","endTimePickerProps","separator","startTimePickerProps","rest","Flex","jsx","TimePicker","Box"],"mappings":";;;;AAcO,MAAMA,IAAY,CAAC;AAAA,EACxB,oBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,GAAGC;AACL,6BAEKC,GAAK,EAAA,WAAU,aAAY,eAAY,qBAAqB,GAAGD,GAC9D,UAAA;AAAA,EAACE,gBAAAA,EAAAA,IAAAC,GAAA,EAAY,GAAGJ,GAAsB;AAAA,wBACrCK,GAAI,EAAA,WAAU,UAAS,IAAI,GACzB,eAAa,KAChB;AAAA,EACAF,gBAAAA,MAACC,GAAY,EAAA,GAAGN,EAAoB,CAAA;AAAA,GACtC;"}
1
+ {"version":3,"file":"timeRange.component-Bh2FiRi8.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 {\n TimePicker,\n TimePickerProps,\n} from \"components/TimePicker/timePicker.component\";\n\nexport interface TimeRangeProps extends FlexProps {\n separator?: React.ReactNode;\n endTimePickerProps: TimePickerProps;\n startTimePickerProps: TimePickerProps;\n}\n\nexport const TimeRange = ({\n endTimePickerProps,\n separator,\n startTimePickerProps,\n ...rest\n}: TimeRangeProps): React.JSX.Element => {\n return (\n <Flex className=\"TimeRange\" data-testid=\"kibble-time-range\" {...rest}>\n <TimePicker {...startTimePickerProps} />\n <Box alignSelf=\"center\" mx={1}>\n {separator || \"-\"}\n </Box>\n <TimePicker {...endTimePickerProps} />\n </Flex>\n );\n};\n"],"names":["TimeRange","endTimePickerProps","separator","startTimePickerProps","rest","Flex","jsx","TimePicker","Box"],"mappings":";;;;AAcO,MAAMA,IAAY,CAAC;AAAA,EACxB,oBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,GAAGC;AACL,6BAEKC,GAAK,EAAA,WAAU,aAAY,eAAY,qBAAqB,GAAGD,GAC9D,UAAA;AAAA,EAACE,gBAAAA,EAAAA,IAAAC,GAAA,EAAY,GAAGJ,GAAsB;AAAA,wBACrCK,GAAI,EAAA,WAAU,UAAS,IAAI,GACzB,eAAa,KAChB;AAAA,EACAF,gBAAAA,MAACC,GAAY,EAAA,GAAGN,EAAoB,CAAA;AAAA,GACtC;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),i=require("./timePicker.component-BxmUXWNg.js"),x=require("./flex-D14H6HbP.js"),m=require("./box-Baq7UBls.js"),c=({endTimePickerProps:s,separator:t,startTimePickerProps:r,...n})=>e.jsxRuntimeExports.jsxs(x.Flex,{className:"TimeRange","data-testid":"kibble-time-range",...n,children:[e.jsxRuntimeExports.jsx(i.TimePicker,{...r}),e.jsxRuntimeExports.jsx(m.Box,{alignSelf:"center",mx:1,children:t||"-"}),e.jsxRuntimeExports.jsx(i.TimePicker,{...s})]});exports.TimeRange=c;
2
- //# sourceMappingURL=timeRange.component-BhdUqy0y.js.map
1
+ "use strict";const e=require("./jsx-runtime-BjDatQAs.js"),i=require("./timePicker.component-F9o8MNWu.js"),x=require("./flex-D14H6HbP.js"),m=require("./box-Baq7UBls.js"),c=({endTimePickerProps:s,separator:t,startTimePickerProps:r,...n})=>e.jsxRuntimeExports.jsxs(x.Flex,{className:"TimeRange","data-testid":"kibble-time-range",...n,children:[e.jsxRuntimeExports.jsx(i.TimePicker,{...r}),e.jsxRuntimeExports.jsx(m.Box,{alignSelf:"center",mx:1,children:t||"-"}),e.jsxRuntimeExports.jsx(i.TimePicker,{...s})]});exports.TimeRange=c;
2
+ //# sourceMappingURL=timeRange.component-Bj-9ynHS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeRange.component-BhdUqy0y.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 {\n TimePicker,\n TimePickerProps,\n} from \"components/TimePicker/timePicker.component\";\n\nexport interface TimeRangeProps extends FlexProps {\n separator?: React.ReactNode;\n endTimePickerProps: TimePickerProps;\n startTimePickerProps: TimePickerProps;\n}\n\nexport const TimeRange = ({\n endTimePickerProps,\n separator,\n startTimePickerProps,\n ...rest\n}: TimeRangeProps): React.JSX.Element => {\n return (\n <Flex className=\"TimeRange\" data-testid=\"kibble-time-range\" {...rest}>\n <TimePicker {...startTimePickerProps} />\n <Box alignSelf=\"center\" mx={1}>\n {separator || \"-\"}\n </Box>\n <TimePicker {...endTimePickerProps} />\n </Flex>\n );\n};\n"],"names":["TimeRange","endTimePickerProps","separator","startTimePickerProps","rest","Flex","jsx","TimePicker","Box"],"mappings":"yKAcaA,EAAY,CAAC,CACxB,mBAAAC,EACA,UAAAC,EACA,qBAAAC,EACA,GAAGC,CACL,6BAEKC,OAAK,CAAA,UAAU,YAAY,cAAY,oBAAqB,GAAGD,EAC9D,SAAA,CAACE,EAAAA,kBAAAA,IAAAC,EAAA,WAAA,CAAY,GAAGJ,EAAsB,0BACrCK,EAAAA,IAAI,CAAA,UAAU,SAAS,GAAI,EACzB,YAAa,IAChB,EACAF,wBAACC,EAAAA,WAAY,CAAA,GAAGN,CAAoB,CAAA,CAAA,EACtC"}
1
+ {"version":3,"file":"timeRange.component-Bj-9ynHS.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 {\n TimePicker,\n TimePickerProps,\n} from \"components/TimePicker/timePicker.component\";\n\nexport interface TimeRangeProps extends FlexProps {\n separator?: React.ReactNode;\n endTimePickerProps: TimePickerProps;\n startTimePickerProps: TimePickerProps;\n}\n\nexport const TimeRange = ({\n endTimePickerProps,\n separator,\n startTimePickerProps,\n ...rest\n}: TimeRangeProps): React.JSX.Element => {\n return (\n <Flex className=\"TimeRange\" data-testid=\"kibble-time-range\" {...rest}>\n <TimePicker {...startTimePickerProps} />\n <Box alignSelf=\"center\" mx={1}>\n {separator || \"-\"}\n </Box>\n <TimePicker {...endTimePickerProps} />\n </Flex>\n );\n};\n"],"names":["TimeRange","endTimePickerProps","separator","startTimePickerProps","rest","Flex","jsx","TimePicker","Box"],"mappings":"yKAcaA,EAAY,CAAC,CACxB,mBAAAC,EACA,UAAAC,EACA,qBAAAC,EACA,GAAGC,CACL,6BAEKC,OAAK,CAAA,UAAU,YAAY,cAAY,oBAAqB,GAAGD,EAC9D,SAAA,CAACE,EAAAA,kBAAAA,IAAAC,EAAA,WAAA,CAAY,GAAGJ,EAAsB,0BACrCK,EAAAA,IAAI,CAAA,UAAU,SAAS,GAAI,EACzB,YAAa,IAChB,EACAF,wBAACC,EAAAA,WAAY,CAAA,GAAGN,CAAoB,CAAA,CAAA,EACtC"}
@@ -1,6 +1,6 @@
1
1
  import { j as o } from "./jsx-runtime-C5mzlN2N.js";
2
2
  import { useMemo as f } from "react";
3
- import { T as p, W as u } from "./withTruncation-D8W737TN.js";
3
+ import { T as p, W as u } from "./withTruncation-CQUQzrTa.js";
4
4
  import { c as i, n as x, s as n, f as l } from "./format-DgHM6wFr.js";
5
5
  function T(t) {
6
6
  return i(t, Date.now());
@@ -50,4 +50,4 @@ const y = ({
50
50
  export {
51
51
  y as T
52
52
  };
53
- //# sourceMappingURL=timestamp.component-BOksAchA.js.map
53
+ //# sourceMappingURL=timestamp.component-BKr4dkxB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.component-BOksAchA.js","sources":["../../node_modules/date-fns/constructNow.js","../../node_modules/date-fns/isSameDay.js","../../node_modules/date-fns/isToday.js","../../src/components/Timestamp/timestamp.component.tsx"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n * date: DateArg<DateType>,\n * ): boolean {\n * // If we were to use `new Date()` directly, the function would behave\n * // differently in different timezones and return false for the same date.\n * return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { constructNow } from \"./constructNow.js\";\nimport { isSameDay } from \"./isSameDay.js\";\n\n/**\n * The {@link isToday} function options.\n */\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date is today\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport function isToday(date, options) {\n return isSameDay(\n constructFrom(options?.in || date, date),\n constructNow(options?.in || date),\n );\n}\n\n// Fallback for modularized imports:\nexport default isToday;\n","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 date: Date;\n timeFormat?: string;\n dateFormat?: string;\n shouldTodayDisplayTimeOnly?: boolean;\n tooltipLabel?: string;\n textProps?: Omit<TextProps, \"children\">;\n}\n\nexport const Timestamp = ({\n date,\n timeFormat = \"h:mma\",\n dateFormat = \"M/d/yy\",\n shouldTodayDisplayTimeOnly = true,\n tooltipLabel,\n textProps,\n}: TimestampProps): React.JSX.Element => {\n const stamp = useMemo(\n () =>\n format(\n date,\n isToday(date) && shouldTodayDisplayTimeOnly ? timeFormat : dateFormat,\n ),\n [date, dateFormat, shouldTodayDisplayTimeOnly, timeFormat],\n );\n\n return (\n <Tooltip disabled={!tooltipLabel} label={tooltipLabel || \"\"}>\n <Text\n className=\"Timestamp\"\n data-testid=\"kibble-timestamp\"\n variant=\"subtle\"\n size=\"xs\"\n textTransform=\"lowercase\"\n {...textProps}\n >\n {stamp}\n </Text>\n </Tooltip>\n );\n};\n"],"names":["constructNow","date","constructFrom","isSameDay","laterDate","earlierDate","options","dateLeft_","dateRight_","normalizeDates","startOfDay","isToday","Timestamp","timeFormat","dateFormat","shouldTodayDisplayTimeOnly","tooltipLabel","textProps","stamp","useMemo","format","Tooltip","jsx","Text"],"mappings":";;;;AA8BO,SAASA,EAAaC,GAAM;AACjC,SAAOC,EAAcD,GAAM,KAAK,IAAG,CAAE;AACvC;ACIO,SAASE,EAAUC,GAAWC,GAAaC,GAAS;AACzD,QAAM,CAACC,GAAWC,CAAU,IAAIC;AAAA,IAC9BH,GAAS;AAAA,IACTF;AAAA,IACAC;AAAA,EACD;AACD,SAAO,CAACK,EAAWH,CAAS,KAAM,CAACG,EAAWF,CAAU;AAC1D;AChBO,SAASG,EAAQV,GAAMK,GAAS;AACrC,SAAOH;AAAA,IACLD,EAA6BD,GAAMA,CAAI;AAAA,IACvCD,EAA4BC,CAAI;AAAA,EACjC;AACH;ACjBO,MAAMW,IAAY,CAAC;AAAA,EACxB,MAAAX;AAAA,EACA,YAAAY,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,4BAAAC,IAA6B;AAAA,EAC7B,cAAAC;AAAA,EACA,WAAAC;AACF,MAAyC;AACvC,QAAMC,IAAQC;AAAA,IACZ,MACEC;AAAA,MACEnB;AAAA,MACAU,EAAQV,CAAI,KAAKc,IAA6BF,IAAaC;AAAA,IAC7D;AAAA,IACF,CAACb,GAAMa,GAAYC,GAA4BF,CAAU;AAAA,EAC3D;AAEA,+BACGQ,GAAQ,EAAA,UAAU,CAACL,GAAc,OAAOA,KAAgB,IACvD,UAAAM,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,eAAc;AAAA,MACb,GAAGN;AAAA,MAEH,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"timestamp.component-BKr4dkxB.js","sources":["../../node_modules/date-fns/constructNow.js","../../node_modules/date-fns/isSameDay.js","../../node_modules/date-fns/isToday.js","../../src/components/Timestamp/timestamp.component.tsx"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n * date: DateArg<DateType>,\n * ): boolean {\n * // If we were to use `new Date()` directly, the function would behave\n * // differently in different timezones and return false for the same date.\n * return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { constructNow } from \"./constructNow.js\";\nimport { isSameDay } from \"./isSameDay.js\";\n\n/**\n * The {@link isToday} function options.\n */\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date is today\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport function isToday(date, options) {\n return isSameDay(\n constructFrom(options?.in || date, date),\n constructNow(options?.in || date),\n );\n}\n\n// Fallback for modularized imports:\nexport default isToday;\n","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 date: Date;\n timeFormat?: string;\n dateFormat?: string;\n shouldTodayDisplayTimeOnly?: boolean;\n tooltipLabel?: string;\n textProps?: Omit<TextProps, \"children\">;\n}\n\nexport const Timestamp = ({\n date,\n timeFormat = \"h:mma\",\n dateFormat = \"M/d/yy\",\n shouldTodayDisplayTimeOnly = true,\n tooltipLabel,\n textProps,\n}: TimestampProps): React.JSX.Element => {\n const stamp = useMemo(\n () =>\n format(\n date,\n isToday(date) && shouldTodayDisplayTimeOnly ? timeFormat : dateFormat,\n ),\n [date, dateFormat, shouldTodayDisplayTimeOnly, timeFormat],\n );\n\n return (\n <Tooltip disabled={!tooltipLabel} label={tooltipLabel || \"\"}>\n <Text\n className=\"Timestamp\"\n data-testid=\"kibble-timestamp\"\n variant=\"subtle\"\n size=\"xs\"\n textTransform=\"lowercase\"\n {...textProps}\n >\n {stamp}\n </Text>\n </Tooltip>\n );\n};\n"],"names":["constructNow","date","constructFrom","isSameDay","laterDate","earlierDate","options","dateLeft_","dateRight_","normalizeDates","startOfDay","isToday","Timestamp","timeFormat","dateFormat","shouldTodayDisplayTimeOnly","tooltipLabel","textProps","stamp","useMemo","format","Tooltip","jsx","Text"],"mappings":";;;;AA8BO,SAASA,EAAaC,GAAM;AACjC,SAAOC,EAAcD,GAAM,KAAK,IAAG,CAAE;AACvC;ACIO,SAASE,EAAUC,GAAWC,GAAaC,GAAS;AACzD,QAAM,CAACC,GAAWC,CAAU,IAAIC;AAAA,IAC9BH,GAAS;AAAA,IACTF;AAAA,IACAC;AAAA,EACD;AACD,SAAO,CAACK,EAAWH,CAAS,KAAM,CAACG,EAAWF,CAAU;AAC1D;AChBO,SAASG,EAAQV,GAAMK,GAAS;AACrC,SAAOH;AAAA,IACLD,EAA6BD,GAAMA,CAAI;AAAA,IACvCD,EAA4BC,CAAI;AAAA,EACjC;AACH;ACjBO,MAAMW,IAAY,CAAC;AAAA,EACxB,MAAAX;AAAA,EACA,YAAAY,IAAa;AAAA,EACb,YAAAC,IAAa;AAAA,EACb,4BAAAC,IAA6B;AAAA,EAC7B,cAAAC;AAAA,EACA,WAAAC;AACF,MAAyC;AACvC,QAAMC,IAAQC;AAAA,IACZ,MACEC;AAAA,MACEnB;AAAA,MACAU,EAAQV,CAAI,KAAKc,IAA6BF,IAAaC;AAAA,IAC7D;AAAA,IACF,CAACb,GAAMa,GAAYC,GAA4BF,CAAU;AAAA,EAC3D;AAEA,+BACGQ,GAAQ,EAAA,UAAU,CAACL,GAAc,OAAOA,KAAgB,IACvD,UAAAM,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,eAAc;AAAA,MACb,GAAGN;AAAA,MAEH,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;","x_google_ignoreList":[0,1,2]}
@@ -1,2 +1,2 @@
1
- "use strict";const o=require("./jsx-runtime-BjDatQAs.js"),m=require("react"),a=require("./withTruncation-nuzHzFsq.js"),s=require("./format-BRt-TIiQ.js");function x(t){return s.constructFrom(t,Date.now())}function f(t,e,r){const[n,i]=s.normalizeDates(r?.in,t,e);return+s.startOfDay(n)==+s.startOfDay(i)}function p(t,e){return f(s.constructFrom(t,t),x(t))}const l=({date:t,timeFormat:e="h:mma",dateFormat:r="M/d/yy",shouldTodayDisplayTimeOnly:n=!0,tooltipLabel:i,textProps:c})=>{const u=m.useMemo(()=>s.format(t,p(t)&&n?e:r),[t,r,n,e]);return o.jsxRuntimeExports.jsx(a.Tooltip,{disabled:!i,label:i||"",children:o.jsxRuntimeExports.jsx(a.WrappedText,{className:"Timestamp","data-testid":"kibble-timestamp",variant:"subtle",size:"xs",textTransform:"lowercase",...c,children:u})})};exports.Timestamp=l;
2
- //# sourceMappingURL=timestamp.component-DLh53lam.js.map
1
+ "use strict";const o=require("./jsx-runtime-BjDatQAs.js"),m=require("react"),a=require("./withTruncation-DguVvIAI.js"),s=require("./format-BRt-TIiQ.js");function x(t){return s.constructFrom(t,Date.now())}function f(t,e,r){const[n,i]=s.normalizeDates(r?.in,t,e);return+s.startOfDay(n)==+s.startOfDay(i)}function p(t,e){return f(s.constructFrom(t,t),x(t))}const l=({date:t,timeFormat:e="h:mma",dateFormat:r="M/d/yy",shouldTodayDisplayTimeOnly:n=!0,tooltipLabel:i,textProps:c})=>{const u=m.useMemo(()=>s.format(t,p(t)&&n?e:r),[t,r,n,e]);return o.jsxRuntimeExports.jsx(a.Tooltip,{disabled:!i,label:i||"",children:o.jsxRuntimeExports.jsx(a.WrappedText,{className:"Timestamp","data-testid":"kibble-timestamp",variant:"subtle",size:"xs",textTransform:"lowercase",...c,children:u})})};exports.Timestamp=l;
2
+ //# sourceMappingURL=timestamp.component-CfjeVkJs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.component-DLh53lam.js","sources":["../../node_modules/date-fns/constructNow.js","../../node_modules/date-fns/isSameDay.js","../../node_modules/date-fns/isToday.js","../../src/components/Timestamp/timestamp.component.tsx"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n * date: DateArg<DateType>,\n * ): boolean {\n * // If we were to use `new Date()` directly, the function would behave\n * // differently in different timezones and return false for the same date.\n * return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { constructNow } from \"./constructNow.js\";\nimport { isSameDay } from \"./isSameDay.js\";\n\n/**\n * The {@link isToday} function options.\n */\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date is today\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport function isToday(date, options) {\n return isSameDay(\n constructFrom(options?.in || date, date),\n constructNow(options?.in || date),\n );\n}\n\n// Fallback for modularized imports:\nexport default isToday;\n","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 date: Date;\n timeFormat?: string;\n dateFormat?: string;\n shouldTodayDisplayTimeOnly?: boolean;\n tooltipLabel?: string;\n textProps?: Omit<TextProps, \"children\">;\n}\n\nexport const Timestamp = ({\n date,\n timeFormat = \"h:mma\",\n dateFormat = \"M/d/yy\",\n shouldTodayDisplayTimeOnly = true,\n tooltipLabel,\n textProps,\n}: TimestampProps): React.JSX.Element => {\n const stamp = useMemo(\n () =>\n format(\n date,\n isToday(date) && shouldTodayDisplayTimeOnly ? timeFormat : dateFormat,\n ),\n [date, dateFormat, shouldTodayDisplayTimeOnly, timeFormat],\n );\n\n return (\n <Tooltip disabled={!tooltipLabel} label={tooltipLabel || \"\"}>\n <Text\n className=\"Timestamp\"\n data-testid=\"kibble-timestamp\"\n variant=\"subtle\"\n size=\"xs\"\n textTransform=\"lowercase\"\n {...textProps}\n >\n {stamp}\n </Text>\n </Tooltip>\n );\n};\n"],"names":["constructNow","date","constructFrom","isSameDay","laterDate","earlierDate","options","dateLeft_","dateRight_","normalizeDates","startOfDay","isToday","Timestamp","timeFormat","dateFormat","shouldTodayDisplayTimeOnly","tooltipLabel","textProps","stamp","useMemo","format","Tooltip","jsx","Text"],"mappings":"yJA8BO,SAASA,EAAaC,EAAM,CACjC,OAAOC,gBAAcD,EAAM,KAAK,IAAG,CAAE,CACvC,CCIO,SAASE,EAAUC,EAAWC,EAAaC,EAAS,CACzD,KAAM,CAACC,EAAWC,CAAU,EAAIC,EAAc,eAC5CH,GAAS,GACTF,EACAC,CACD,EACD,MAAO,CAACK,EAAAA,WAAWH,CAAS,GAAM,CAACG,EAAAA,WAAWF,CAAU,CAC1D,CChBO,SAASG,EAAQV,EAAMK,EAAS,CACrC,OAAOH,EACLD,EAAa,cAAgBD,EAAMA,CAAI,EACvCD,EAA4BC,CAAI,CACjC,CACH,CCjBO,MAAMW,EAAY,CAAC,CACxB,KAAAX,EACA,WAAAY,EAAa,QACb,WAAAC,EAAa,SACb,2BAAAC,EAA6B,GAC7B,aAAAC,EACA,UAAAC,CACF,IAAyC,CACvC,MAAMC,EAAQC,EAAA,QACZ,IACEC,EAAA,OACEnB,EACAU,EAAQV,CAAI,GAAKc,EAA6BF,EAAaC,CAC7D,EACF,CAACb,EAAMa,EAAYC,EAA4BF,CAAU,CAC3D,EAEA,+BACGQ,UAAQ,CAAA,SAAU,CAACL,EAAc,MAAOA,GAAgB,GACvD,SAAAM,EAAA,kBAAA,IAACC,EAAA,YAAA,CACC,UAAU,YACV,cAAY,mBACZ,QAAQ,SACR,KAAK,KACL,cAAc,YACb,GAAGN,EAEH,SAAAC,CAAA,CAAA,EAEL,CAEJ","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"timestamp.component-CfjeVkJs.js","sources":["../../node_modules/date-fns/constructNow.js","../../node_modules/date-fns/isSameDay.js","../../node_modules/date-fns/isToday.js","../../src/components/Timestamp/timestamp.component.tsx"],"sourcesContent":["import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name constructNow\n * @category Generic Helpers\n * @summary Constructs a new current date using the passed value constructor.\n * @pure false\n *\n * @description\n * The function constructs a new current date using the constructor from\n * the reference date. It helps to build generic functions that accept date\n * extensions and use the current date.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * @param date - The reference date to take constructor from\n *\n * @returns Current date initialized using the given date constructor\n *\n * @example\n * import { constructNow, isSameDay } from 'date-fns'\n *\n * function isToday<DateType extends Date>(\n * date: DateArg<DateType>,\n * ): boolean {\n * // If we were to use `new Date()` directly, the function would behave\n * // differently in different timezones and return false for the same date.\n * return isSameDay(date, constructNow(date));\n * }\n */\nexport function constructNow(date) {\n return constructFrom(date, Date.now());\n}\n\n// Fallback for modularized imports:\nexport default constructNow;\n","import { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link isSameDay} function options.\n */\n\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param laterDate - The first date to check\n * @param earlierDate - The second date to check\n * @param options - An object with options\n *\n * @returns The dates are in the same day (and year and month)\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport function isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// Fallback for modularized imports:\nexport default isSameDay;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { constructNow } from \"./constructNow.js\";\nimport { isSameDay } from \"./isSameDay.js\";\n\n/**\n * The {@link isToday} function options.\n */\n\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * @param date - The date to check\n * @param options - An object with options\n *\n * @returns The date is today\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * const result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\nexport function isToday(date, options) {\n return isSameDay(\n constructFrom(options?.in || date, date),\n constructNow(options?.in || date),\n );\n}\n\n// Fallback for modularized imports:\nexport default isToday;\n","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 date: Date;\n timeFormat?: string;\n dateFormat?: string;\n shouldTodayDisplayTimeOnly?: boolean;\n tooltipLabel?: string;\n textProps?: Omit<TextProps, \"children\">;\n}\n\nexport const Timestamp = ({\n date,\n timeFormat = \"h:mma\",\n dateFormat = \"M/d/yy\",\n shouldTodayDisplayTimeOnly = true,\n tooltipLabel,\n textProps,\n}: TimestampProps): React.JSX.Element => {\n const stamp = useMemo(\n () =>\n format(\n date,\n isToday(date) && shouldTodayDisplayTimeOnly ? timeFormat : dateFormat,\n ),\n [date, dateFormat, shouldTodayDisplayTimeOnly, timeFormat],\n );\n\n return (\n <Tooltip disabled={!tooltipLabel} label={tooltipLabel || \"\"}>\n <Text\n className=\"Timestamp\"\n data-testid=\"kibble-timestamp\"\n variant=\"subtle\"\n size=\"xs\"\n textTransform=\"lowercase\"\n {...textProps}\n >\n {stamp}\n </Text>\n </Tooltip>\n );\n};\n"],"names":["constructNow","date","constructFrom","isSameDay","laterDate","earlierDate","options","dateLeft_","dateRight_","normalizeDates","startOfDay","isToday","Timestamp","timeFormat","dateFormat","shouldTodayDisplayTimeOnly","tooltipLabel","textProps","stamp","useMemo","format","Tooltip","jsx","Text"],"mappings":"yJA8BO,SAASA,EAAaC,EAAM,CACjC,OAAOC,gBAAcD,EAAM,KAAK,IAAG,CAAE,CACvC,CCIO,SAASE,EAAUC,EAAWC,EAAaC,EAAS,CACzD,KAAM,CAACC,EAAWC,CAAU,EAAIC,EAAc,eAC5CH,GAAS,GACTF,EACAC,CACD,EACD,MAAO,CAACK,EAAAA,WAAWH,CAAS,GAAM,CAACG,EAAAA,WAAWF,CAAU,CAC1D,CChBO,SAASG,EAAQV,EAAMK,EAAS,CACrC,OAAOH,EACLD,EAAa,cAAgBD,EAAMA,CAAI,EACvCD,EAA4BC,CAAI,CACjC,CACH,CCjBO,MAAMW,EAAY,CAAC,CACxB,KAAAX,EACA,WAAAY,EAAa,QACb,WAAAC,EAAa,SACb,2BAAAC,EAA6B,GAC7B,aAAAC,EACA,UAAAC,CACF,IAAyC,CACvC,MAAMC,EAAQC,EAAA,QACZ,IACEC,EAAA,OACEnB,EACAU,EAAQV,CAAI,GAAKc,EAA6BF,EAAaC,CAC7D,EACF,CAACb,EAAMa,EAAYC,EAA4BF,CAAU,CAC3D,EAEA,+BACGQ,UAAQ,CAAA,SAAU,CAACL,EAAc,MAAOA,GAAgB,GACvD,SAAAM,EAAA,kBAAA,IAACC,EAAA,YAAA,CACC,UAAU,YACV,cAAY,mBACZ,QAAQ,SACR,KAAK,KACL,cAAc,YACb,GAAGN,EAEH,SAAAC,CAAA,CAAA,EAEL,CAEJ","x_google_ignoreList":[0,1,2]}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("./jsx-runtime-BjDatQAs.js"),Z=require("./withTruncation-nuzHzFsq.js"),h=require("./typography.records-BeoK0Uyj.js"),G=require("./icon.component-C0e0UGBw.js"),k=require("./flex-D14H6HbP.js"),o=require("react"),w=require("./factory-D6tdBUPG.js"),J=require("./create-slot-recipe-context-IwVIgtBt.js"),K=require("./create-recipe-context-sESms8Eo.js"),P=require("./use-field-context-xBX4EpFz.js"),F=require("./portal-TWtD47zg.js"),l=require("./index-BlGAWSIX.js");function Q(e){if(e&&e.__esModule)return e;const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const t=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,t.get?t:{enumerable:!0,get:()=>e[s]})}}return r.default=e,Object.freeze(r)}const U=Q(o),H=o.forwardRef((e,r)=>{const s=P.useFieldContext(),t=l.mergeProps(s.getErrorTextProps(),e);return s?.invalid?n.jsxRuntimeExports.jsx(F.ark.span,{...t,ref:r}):null});H.displayName="FieldErrorText";const L=o.forwardRef((e,r)=>{const s=P.useFieldContext(),t=l.mergeProps(s?.getHelperTextProps(),e);return n.jsxRuntimeExports.jsx(F.ark.span,{...t,ref:r})});L.displayName="FieldHelperText";const O=o.forwardRef((e,r)=>{const s=P.useFieldContext(),t=l.mergeProps(s?.getLabelProps(),e);return n.jsxRuntimeExports.jsx(F.ark.label,{...t,ref:r})});O.displayName="FieldLabel";const V=typeof window<"u"?o.useLayoutEffect:o.useEffect,[pe,X]=F.createContext({name:"FieldsetContext",hookName:"useFieldsetContext",providerName:"<FieldsetProvider />",strict:!1}),Y=(e={})=>{const r=X(),{ids:s,disabled:t=!!r?.disabled,invalid:a=!1,readOnly:i=!1,required:d=!1}=e,[x,p]=o.useState(!1),[y,b]=o.useState(!1),c=e.id??o.useId(),C=o.useRef(null),m=s?.control??`field::${c}`,f=s?.errorText??`field::${c}::error-text`,u=s?.helperText??`field::${c}::helper-text`,E=s?.label??`field::${c}::label`;V(()=>{const j=C.current;if(!j)return;const _=l.getWindow(j),A=_.document,S=()=>{p(!!A.getElementById(f)),b(!!A.getElementById(u))};S();const M=new _.MutationObserver(S);return M.observe(j,{childList:!0,subtree:!0}),()=>M.disconnect()},[f,u]);const R=o.useMemo(()=>{const j=[];return x&&a&&j.push(f),y&&j.push(u),j.join(" ")||void 0},[a,f,u,x,y]),N=o.useMemo(()=>()=>({...h.parts.root.attrs,id:m,ref:C,role:"group","data-disabled":l.dataAttr(t),"data-invalid":l.dataAttr(a),"data-readonly":l.dataAttr(i)}),[t,a,i,m]),v=o.useMemo(()=>()=>({...h.parts.label.attrs,id:E,"data-disabled":l.dataAttr(t),"data-invalid":l.dataAttr(a),"data-readonly":l.dataAttr(i),htmlFor:c}),[t,a,i,c,E]),g=o.useMemo(()=>()=>({"aria-describedby":R,"aria-invalid":l.ariaAttr(a),"data-invalid":l.dataAttr(a),"data-required":l.dataAttr(d),"data-readonly":l.dataAttr(i),id:c,required:d,disabled:t,readOnly:i}),[R,a,d,i,c,t]),T=o.useMemo(()=>()=>({...g(),...h.parts.input.attrs}),[g]),I=o.useMemo(()=>()=>({...g(),...h.parts.textarea.attrs}),[g]),z=o.useMemo(()=>()=>({...g(),...h.parts.select.attrs}),[g]),B=o.useMemo(()=>()=>({id:u,...h.parts.helperText.attrs,"data-disabled":l.dataAttr(t)}),[t,u]),D=o.useMemo(()=>()=>({id:f,...h.parts.errorText.attrs,"aria-live":"polite"}),[f]),W=o.useMemo(()=>()=>({"aria-hidden":!0,...h.parts.requiredIndicator.attrs}),[]);return{ariaDescribedby:R,ids:{root:m,control:c,label:E,errorText:f,helperText:u},refs:{rootRef:C},disabled:t,invalid:a,readOnly:i,required:d,getLabelProps:v,getRootProps:N,getInputProps:T,getTextareaProps:I,getSelectProps:z,getHelperTextProps:B,getErrorTextProps:D,getRequiredIndicatorProps:W}},$=o.forwardRef((e,r)=>{const[s,t]=F.createSplitProps()(e,["id","ids","disabled","invalid","readOnly","required"]),a=Y(s),i=l.mergeProps(a.getRootProps(),t);return n.jsxRuntimeExports.jsx(P.FieldProvider,{value:a,children:n.jsxRuntimeExports.jsx(F.ark.div,{...i,ref:F.composeRefs(r,a.refs.rootRef)})})});$.displayName="FieldRoot";const{useRecipeResult:ee}=K.createRecipeContext({key:"icon"}),te=U.forwardRef(function(r,s){const{styles:t,className:a,props:i}=ee({asChild:!r.as,...r});return n.jsxRuntimeExports.jsx(w.chakra.svg,{ref:s,focusable:!1,"aria-hidden":"true",...i,css:[t,r.css],className:w.cx(a,r.className)})});function re(e){const{viewBox:r="0 0 24 24",d:s,displayName:t,defaultProps:a={}}=e,i=o.Children.toArray(e.path),d=o.forwardRef((x,p)=>n.jsxRuntimeExports.jsx(te,{ref:p,asChild:!1,viewBox:r,...a,...x,children:i.length?i:n.jsxRuntimeExports.jsx("path",{fill:"currentColor",d:s})}));return d.displayName=t,d}const{withProvider:se,withContext:q,useStyles:oe,useClassNames:ae}=J.createSlotRecipeContext({key:"field"}),ne=se($,"root",{forwardAsChild:!0}),ie=q(O,"label",{forwardAsChild:!0}),le=q(L,"helperText",{forwardAsChild:!0}),de=q(H,"errorText",{forwardAsChild:!0});re({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"});const ce=o.forwardRef(function(r,s){const{fallback:t,children:a="*",...i}=r,d=P.useFieldContext(),x=ae(),p=oe();return d?.required?n.jsxRuntimeExports.jsx(w.chakra.span,{ref:s,"aria-hidden":"true",...i,className:w.cx(x.requiredIndicator,r.className),css:[p.requiredIndicator,r.css],children:a}):t}),ue={sm:10,md:12,lg:14},xe=e=>{const r=({disabled:s=!1,errorText:t="Field is invalid",formControlStyle:a,fullWidth:i=!0,helperText:d,inlineField:x=!1,invalid:p=!1,invalidIconColor:y="danger",label:b,labelPosition:c="start",labelStyle:C,onContrast:m=!1,readOnly:f=!1,required:u=!1,showOptionalElement:E=!1,size:R="md",useInvalidIcon:N=!1,useInvalidText:v=!0,...g})=>{const T=n.jsxRuntimeExports.jsxs(ie,{className:"FormControl__Label",color:m?"text.contrast":"text",fontSize:h.fontSizes[R],...C,onClick:I=>{I.stopPropagation()},children:[b,n.jsxRuntimeExports.jsx(ce,{className:"FormControl__RequiredIndicator",color:m?"text.danger.contrast":"text.danger",...!u&&{fallback:E?n.jsxRuntimeExports.jsxs(Z.WrappedText,{variant:m?"subtleOnContrast":"subtle",fontSize:ue[R],children:[" ","(Optional)"]}):n.jsxRuntimeExports.jsx(n.jsxRuntimeExports.Fragment,{})}})]});return n.jsxRuntimeExports.jsxs(ne,{className:"FormControl group",disabled:s,invalid:p,readOnly:f,required:u,width:i?"100%":"auto",...a,children:[n.jsxRuntimeExports.jsxs(k.Flex,{className:"FormControl__Container",flexDirection:x?"row":"column",w:x?"max-content":"100%",gap:2,children:[b&&c==="start"&&T,n.jsxRuntimeExports.jsxs(k.Flex,{className:"FormControl__Content",alignItems:"center",gap:2,w:x?"max-content":"100%",children:[n.jsxRuntimeExports.jsx(e,{disabled:s,invalid:p,onContrast:m,readOnly:f,required:u,size:R,...g}),N&&p&&n.jsxRuntimeExports.jsx(G.Icon,{className:"FormControl__InvalidIcon",name:"warningSign",variant:y,size:R})]}),b&&c==="end"&&T]}),v&&p&&n.jsxRuntimeExports.jsx(de,{className:"FormControl__ErrorText",fontSize:"xs",color:m?"text.danger.contrast":"text.danger",children:t}),d&&n.jsxRuntimeExports.jsx(le,{className:"FormControl__HelperText",fontSize:"xs",color:m?"text.subtle.contrast":"text.subtle",children:d})]})};return r.displayName=`withFormControl(${e.displayName||e.name}`,r};exports.withFormControl=xe;
2
- //# sourceMappingURL=withFormControl-DhWavZor.js.map
1
+ "use strict";const n=require("./jsx-runtime-BjDatQAs.js"),Z=require("./withTruncation-DguVvIAI.js"),h=require("./typography.records-BeoK0Uyj.js"),G=require("./icon.component-C0e0UGBw.js"),k=require("./flex-D14H6HbP.js"),o=require("react"),w=require("./factory-D6tdBUPG.js"),J=require("./create-slot-recipe-context-IwVIgtBt.js"),K=require("./create-recipe-context-sESms8Eo.js"),P=require("./use-field-context-xBX4EpFz.js"),F=require("./portal-TWtD47zg.js"),l=require("./index-BlGAWSIX.js");function Q(e){if(e&&e.__esModule)return e;const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const s in e)if(s!=="default"){const t=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,t.get?t:{enumerable:!0,get:()=>e[s]})}}return r.default=e,Object.freeze(r)}const U=Q(o),H=o.forwardRef((e,r)=>{const s=P.useFieldContext(),t=l.mergeProps(s.getErrorTextProps(),e);return s?.invalid?n.jsxRuntimeExports.jsx(F.ark.span,{...t,ref:r}):null});H.displayName="FieldErrorText";const L=o.forwardRef((e,r)=>{const s=P.useFieldContext(),t=l.mergeProps(s?.getHelperTextProps(),e);return n.jsxRuntimeExports.jsx(F.ark.span,{...t,ref:r})});L.displayName="FieldHelperText";const O=o.forwardRef((e,r)=>{const s=P.useFieldContext(),t=l.mergeProps(s?.getLabelProps(),e);return n.jsxRuntimeExports.jsx(F.ark.label,{...t,ref:r})});O.displayName="FieldLabel";const V=typeof window<"u"?o.useLayoutEffect:o.useEffect,[pe,X]=F.createContext({name:"FieldsetContext",hookName:"useFieldsetContext",providerName:"<FieldsetProvider />",strict:!1}),Y=(e={})=>{const r=X(),{ids:s,disabled:t=!!r?.disabled,invalid:a=!1,readOnly:i=!1,required:d=!1}=e,[x,p]=o.useState(!1),[y,b]=o.useState(!1),c=e.id??o.useId(),C=o.useRef(null),m=s?.control??`field::${c}`,f=s?.errorText??`field::${c}::error-text`,u=s?.helperText??`field::${c}::helper-text`,E=s?.label??`field::${c}::label`;V(()=>{const j=C.current;if(!j)return;const _=l.getWindow(j),A=_.document,S=()=>{p(!!A.getElementById(f)),b(!!A.getElementById(u))};S();const M=new _.MutationObserver(S);return M.observe(j,{childList:!0,subtree:!0}),()=>M.disconnect()},[f,u]);const R=o.useMemo(()=>{const j=[];return x&&a&&j.push(f),y&&j.push(u),j.join(" ")||void 0},[a,f,u,x,y]),N=o.useMemo(()=>()=>({...h.parts.root.attrs,id:m,ref:C,role:"group","data-disabled":l.dataAttr(t),"data-invalid":l.dataAttr(a),"data-readonly":l.dataAttr(i)}),[t,a,i,m]),v=o.useMemo(()=>()=>({...h.parts.label.attrs,id:E,"data-disabled":l.dataAttr(t),"data-invalid":l.dataAttr(a),"data-readonly":l.dataAttr(i),htmlFor:c}),[t,a,i,c,E]),g=o.useMemo(()=>()=>({"aria-describedby":R,"aria-invalid":l.ariaAttr(a),"data-invalid":l.dataAttr(a),"data-required":l.dataAttr(d),"data-readonly":l.dataAttr(i),id:c,required:d,disabled:t,readOnly:i}),[R,a,d,i,c,t]),T=o.useMemo(()=>()=>({...g(),...h.parts.input.attrs}),[g]),I=o.useMemo(()=>()=>({...g(),...h.parts.textarea.attrs}),[g]),z=o.useMemo(()=>()=>({...g(),...h.parts.select.attrs}),[g]),B=o.useMemo(()=>()=>({id:u,...h.parts.helperText.attrs,"data-disabled":l.dataAttr(t)}),[t,u]),D=o.useMemo(()=>()=>({id:f,...h.parts.errorText.attrs,"aria-live":"polite"}),[f]),W=o.useMemo(()=>()=>({"aria-hidden":!0,...h.parts.requiredIndicator.attrs}),[]);return{ariaDescribedby:R,ids:{root:m,control:c,label:E,errorText:f,helperText:u},refs:{rootRef:C},disabled:t,invalid:a,readOnly:i,required:d,getLabelProps:v,getRootProps:N,getInputProps:T,getTextareaProps:I,getSelectProps:z,getHelperTextProps:B,getErrorTextProps:D,getRequiredIndicatorProps:W}},$=o.forwardRef((e,r)=>{const[s,t]=F.createSplitProps()(e,["id","ids","disabled","invalid","readOnly","required"]),a=Y(s),i=l.mergeProps(a.getRootProps(),t);return n.jsxRuntimeExports.jsx(P.FieldProvider,{value:a,children:n.jsxRuntimeExports.jsx(F.ark.div,{...i,ref:F.composeRefs(r,a.refs.rootRef)})})});$.displayName="FieldRoot";const{useRecipeResult:ee}=K.createRecipeContext({key:"icon"}),te=U.forwardRef(function(r,s){const{styles:t,className:a,props:i}=ee({asChild:!r.as,...r});return n.jsxRuntimeExports.jsx(w.chakra.svg,{ref:s,focusable:!1,"aria-hidden":"true",...i,css:[t,r.css],className:w.cx(a,r.className)})});function re(e){const{viewBox:r="0 0 24 24",d:s,displayName:t,defaultProps:a={}}=e,i=o.Children.toArray(e.path),d=o.forwardRef((x,p)=>n.jsxRuntimeExports.jsx(te,{ref:p,asChild:!1,viewBox:r,...a,...x,children:i.length?i:n.jsxRuntimeExports.jsx("path",{fill:"currentColor",d:s})}));return d.displayName=t,d}const{withProvider:se,withContext:q,useStyles:oe,useClassNames:ae}=J.createSlotRecipeContext({key:"field"}),ne=se($,"root",{forwardAsChild:!0}),ie=q(O,"label",{forwardAsChild:!0}),le=q(L,"helperText",{forwardAsChild:!0}),de=q(H,"errorText",{forwardAsChild:!0});re({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"});const ce=o.forwardRef(function(r,s){const{fallback:t,children:a="*",...i}=r,d=P.useFieldContext(),x=ae(),p=oe();return d?.required?n.jsxRuntimeExports.jsx(w.chakra.span,{ref:s,"aria-hidden":"true",...i,className:w.cx(x.requiredIndicator,r.className),css:[p.requiredIndicator,r.css],children:a}):t}),ue={sm:10,md:12,lg:14},xe=e=>{const r=({disabled:s=!1,errorText:t="Field is invalid",formControlStyle:a,fullWidth:i=!0,helperText:d,inlineField:x=!1,invalid:p=!1,invalidIconColor:y="danger",label:b,labelPosition:c="start",labelStyle:C,onContrast:m=!1,readOnly:f=!1,required:u=!1,showOptionalElement:E=!1,size:R="md",useInvalidIcon:N=!1,useInvalidText:v=!0,...g})=>{const T=n.jsxRuntimeExports.jsxs(ie,{className:"FormControl__Label",color:m?"text.contrast":"text",fontSize:h.fontSizes[R],...C,onClick:I=>{I.stopPropagation()},children:[b,n.jsxRuntimeExports.jsx(ce,{className:"FormControl__RequiredIndicator",color:m?"text.danger.contrast":"text.danger",...!u&&{fallback:E?n.jsxRuntimeExports.jsxs(Z.WrappedText,{variant:m?"subtleOnContrast":"subtle",fontSize:ue[R],children:[" ","(Optional)"]}):n.jsxRuntimeExports.jsx(n.jsxRuntimeExports.Fragment,{})}})]});return n.jsxRuntimeExports.jsxs(ne,{className:"FormControl group",disabled:s,invalid:p,readOnly:f,required:u,width:i?"100%":"auto",...a,children:[n.jsxRuntimeExports.jsxs(k.Flex,{className:"FormControl__Container",flexDirection:x?"row":"column",w:x?"max-content":"100%",gap:2,children:[b&&c==="start"&&T,n.jsxRuntimeExports.jsxs(k.Flex,{className:"FormControl__Content",alignItems:"center",gap:2,w:x?"max-content":"100%",children:[n.jsxRuntimeExports.jsx(e,{disabled:s,invalid:p,onContrast:m,readOnly:f,required:u,size:R,...g}),N&&p&&n.jsxRuntimeExports.jsx(G.Icon,{className:"FormControl__InvalidIcon",name:"warningSign",variant:y,size:R})]}),b&&c==="end"&&T]}),v&&p&&n.jsxRuntimeExports.jsx(de,{className:"FormControl__ErrorText",fontSize:"xs",color:m?"text.danger.contrast":"text.danger",children:t}),d&&n.jsxRuntimeExports.jsx(le,{className:"FormControl__HelperText",fontSize:"xs",color:m?"text.subtle.contrast":"text.subtle",children:d})]})};return r.displayName=`withFormControl(${e.displayName||e.name}`,r};exports.withFormControl=xe;
2
+ //# sourceMappingURL=withFormControl-BHjeRAfg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withFormControl-DhWavZor.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 { getWindow, dataAttr, ariaAttr } from '@zag-js/dom-query';\nimport { useState, useId, useRef, useMemo } from 'react';\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 { 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 id = props.id ?? useId();\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 win = getWindow(rootNode);\n const doc = win.document;\n const checkTextElements = () => {\n setHasErrorText(!!doc.getElementById(errorTextId));\n setHasHelperText(!!doc.getElementById(helperTextId));\n };\n checkTextElements();\n const observer = new win.MutationObserver(checkTextElements);\n observer.observe(rootNode, { childList: true, subtree: true });\n return () => observer.disconnect();\n }, [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 {\n FormControlLabelPosition,\n FormControlSize,\n} 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 \"theme/tokens/typography/typography.records\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Icon } from \"components/Icon/icon.component\";\n\nexport interface WithFormControlProps {\n disabled?: boolean;\n errorText?: string;\n formControlStyle?: SystemStyleObject;\n fullWidth?: boolean;\n helperText?: string;\n inlineField?: boolean;\n invalid?: boolean;\n invalidIconColor?: TypographyVariant;\n label?: string | React.ReactNode;\n labelPosition?: FormControlLabelPosition;\n labelStyle?: SystemStyleObject;\n onContrast?: boolean;\n readOnly?: boolean;\n required?: boolean;\n showOptionalElement?: boolean;\n size?: FormControlSize;\n useInvalidIcon?: boolean;\n useInvalidText?: boolean;\n}\n\nexport const withFormControl = <P extends WithFormControlProps>(\n Component: React.ComponentType<P>,\n): 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 ...props\n }: WithFormControlProps): React.JSX.Element => {\n const labelComponent = (\n <Field.Label\n className=\"FormControl__Label\"\n color={onContrast ? \"text.contrast\" : \"text\"}\n fontSize={fontSizes[size]}\n {...labelStyle}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {label}\n <Field.RequiredIndicator\n className=\"FormControl__RequiredIndicator\"\n color={onContrast ? \"text.danger.contrast\" : \"text.danger\"}\n {...(!required && {\n fallback: showOptionalElement ? (\n <Text\n variant={onContrast ? \"subtleOnContrast\" : \"subtle\"}\n fontSize={optionalTextSizeMap[size]}\n >\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 {...formControlStyle}\n >\n <Flex\n className=\"FormControl__Container\"\n flexDirection={inlineField ? \"row\" : \"column\"}\n w={inlineField ? \"max-content\" : \"100%\"}\n gap={2}\n >\n {label && labelPosition === \"start\" && labelComponent}\n <Flex\n className=\"FormControl__Content\"\n alignItems=\"center\"\n gap={2}\n w={inlineField ? \"max-content\" : \"100%\"}\n >\n <Component\n disabled={disabled}\n invalid={invalid}\n onContrast={onContrast}\n readOnly={readOnly}\n required={required}\n size={size}\n {...(props as P)}\n />\n {useInvalidIcon && invalid && (\n <Icon\n className=\"FormControl__InvalidIcon\"\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 >\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 >\n {helperText}\n </Field.HelperText>\n )}\n </Field.Root>\n );\n };\n WithFormControl.displayName = `withFormControl(${Component.displayName || Component.name}`;\n\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","ids","disabled","invalid","readOnly","required","hasErrorText","setHasErrorText","useState","hasHelperText","setHasHelperText","id","useId","rootRef","useRef","rootId","errorTextId","helperTextId","labelId","rootNode","win","getWindow","doc","checkTextElements","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","labelComponent","jsxs","fontSizes","e","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-BHjeRAfg.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 { getWindow, dataAttr, ariaAttr } from '@zag-js/dom-query';\nimport { useState, useId, useRef, useMemo } from 'react';\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 { 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 id = props.id ?? useId();\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 win = getWindow(rootNode);\n const doc = win.document;\n const checkTextElements = () => {\n setHasErrorText(!!doc.getElementById(errorTextId));\n setHasHelperText(!!doc.getElementById(helperTextId));\n };\n checkTextElements();\n const observer = new win.MutationObserver(checkTextElements);\n observer.observe(rootNode, { childList: true, subtree: true });\n return () => observer.disconnect();\n }, [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 {\n FormControlLabelPosition,\n FormControlSize,\n} 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 \"theme/tokens/typography/typography.records\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { Icon } from \"components/Icon/icon.component\";\n\nexport interface WithFormControlProps {\n disabled?: boolean;\n errorText?: string;\n formControlStyle?: SystemStyleObject;\n fullWidth?: boolean;\n helperText?: string;\n inlineField?: boolean;\n invalid?: boolean;\n invalidIconColor?: TypographyVariant;\n label?: string | React.ReactNode;\n labelPosition?: FormControlLabelPosition;\n labelStyle?: SystemStyleObject;\n onContrast?: boolean;\n readOnly?: boolean;\n required?: boolean;\n showOptionalElement?: boolean;\n size?: FormControlSize;\n useInvalidIcon?: boolean;\n useInvalidText?: boolean;\n}\n\nexport const withFormControl = <P extends WithFormControlProps>(\n Component: React.ComponentType<P>,\n): 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 ...props\n }: WithFormControlProps): React.JSX.Element => {\n const labelComponent = (\n <Field.Label\n className=\"FormControl__Label\"\n color={onContrast ? \"text.contrast\" : \"text\"}\n fontSize={fontSizes[size]}\n {...labelStyle}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {label}\n <Field.RequiredIndicator\n className=\"FormControl__RequiredIndicator\"\n color={onContrast ? \"text.danger.contrast\" : \"text.danger\"}\n {...(!required && {\n fallback: showOptionalElement ? (\n <Text\n variant={onContrast ? \"subtleOnContrast\" : \"subtle\"}\n fontSize={optionalTextSizeMap[size]}\n >\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 {...formControlStyle}\n >\n <Flex\n className=\"FormControl__Container\"\n flexDirection={inlineField ? \"row\" : \"column\"}\n w={inlineField ? \"max-content\" : \"100%\"}\n gap={2}\n >\n {label && labelPosition === \"start\" && labelComponent}\n <Flex\n className=\"FormControl__Content\"\n alignItems=\"center\"\n gap={2}\n w={inlineField ? \"max-content\" : \"100%\"}\n >\n <Component\n disabled={disabled}\n invalid={invalid}\n onContrast={onContrast}\n readOnly={readOnly}\n required={required}\n size={size}\n {...(props as P)}\n />\n {useInvalidIcon && invalid && (\n <Icon\n className=\"FormControl__InvalidIcon\"\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 >\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 >\n {helperText}\n </Field.HelperText>\n )}\n </Field.Root>\n );\n };\n WithFormControl.displayName = `withFormControl(${Component.displayName || Component.name}`;\n\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","ids","disabled","invalid","readOnly","required","hasErrorText","setHasErrorText","useState","hasHelperText","setHasHelperText","id","useId","rootRef","useRef","rootId","errorTextId","helperTextId","labelId","rootNode","win","getWindow","doc","checkTextElements","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","labelComponent","jsxs","fontSizes","e","Field.RequiredIndicator","Text","Fragment","Flex"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
@@ -1,5 +1,5 @@
1
1
  import { j as o } from "./jsx-runtime-C5mzlN2N.js";
2
- import { W as Q } from "./withTruncation-D8W737TN.js";
2
+ import { W as Q } from "./withTruncation-CQUQzrTa.js";
3
3
  import { p as g, f as U } from "./typography.records-Xg59taw9.js";
4
4
  import { I as V } from "./icon.component-DGNCL1Yc.js";
5
5
  import { F as q } from "./flex-smlF8uQG.js";
@@ -373,4 +373,4 @@ const ve = T(function(t, r) {
373
373
  export {
374
374
  Be as w
375
375
  };
376
- //# sourceMappingURL=withFormControl-3s6IRbl0.js.map
376
+ //# sourceMappingURL=withFormControl-KA9fAHrR.js.map