@televet/kibble-ui 4.0.0-beta.14 → 4.0.0-beta.16

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 (554) hide show
  1. package/README.md +40 -0
  2. package/dist/chunks/{alert.types-Bnf8isvq.js → alert.types-CiHDB6qK.js} +2 -2
  3. package/dist/chunks/{alert.types-Bnf8isvq.js.map → alert.types-CiHDB6qK.js.map} +1 -1
  4. package/dist/chunks/{alert.types-kskv5PHB.js → alert.types-CvARYqVc.js} +3 -3
  5. package/dist/chunks/{alert.types-kskv5PHB.js.map → alert.types-CvARYqVc.js.map} +1 -1
  6. package/dist/chunks/{avatar.component-Coq-0l7p.js → avatar.component-B14bRpeL.js} +2 -2
  7. package/dist/chunks/{avatar.component-Coq-0l7p.js.map → avatar.component-B14bRpeL.js.map} +1 -1
  8. package/dist/chunks/{avatar.component-DzvE2D-d.js → avatar.component-DLqm7tQt.js} +2 -2
  9. package/dist/chunks/{avatar.component-DzvE2D-d.js.map → avatar.component-DLqm7tQt.js.map} +1 -1
  10. package/dist/chunks/{avatarGroup.component-DES1ekL9.js → avatarGroup.component-4kVezqP-.js} +2 -2
  11. package/dist/chunks/{avatarGroup.component-DES1ekL9.js.map → avatarGroup.component-4kVezqP-.js.map} +1 -1
  12. package/dist/chunks/{avatarGroup.component-D-U0aMDv.js → avatarGroup.component-DIDIECGK.js} +2 -2
  13. package/dist/chunks/{avatarGroup.component-D-U0aMDv.js.map → avatarGroup.component-DIDIECGK.js.map} +1 -1
  14. package/dist/chunks/{button.component-BiW8RE1U.js → button.component-CA9bIFbq.js} +2 -2
  15. package/dist/chunks/{button.component-BiW8RE1U.js.map → button.component-CA9bIFbq.js.map} +1 -1
  16. package/dist/chunks/{button.component-Dufh_y5v.js → button.component-DDjwI0xh.js} +2 -2
  17. package/dist/chunks/{button.component-Dufh_y5v.js.map → button.component-DDjwI0xh.js.map} +1 -1
  18. package/dist/chunks/{buttonGroup.component-DcCHtB7Q.js → buttonGroup.component-BLRJnRJW.js} +3 -3
  19. package/dist/chunks/{buttonGroup.component-DcCHtB7Q.js.map → buttonGroup.component-BLRJnRJW.js.map} +1 -1
  20. package/dist/chunks/{buttonGroup.component-sM0NngWF.js → buttonGroup.component-DKnPmFIM.js} +2 -2
  21. package/dist/chunks/{buttonGroup.component-sM0NngWF.js.map → buttonGroup.component-DKnPmFIM.js.map} +1 -1
  22. package/dist/chunks/{checkbox.component-DgyH37fL.js → checkbox.component-BN9GeeiB.js} +2 -2
  23. package/dist/chunks/{checkbox.component-DgyH37fL.js.map → checkbox.component-BN9GeeiB.js.map} +1 -1
  24. package/dist/chunks/{checkbox.component-DQVpdkqO.js → checkbox.component-BnNl7j1h.js} +2 -2
  25. package/dist/chunks/{checkbox.component-DQVpdkqO.js.map → checkbox.component-BnNl7j1h.js.map} +1 -1
  26. package/dist/chunks/{checkboxGroup.component-CcjCexJ4.js → checkboxGroup.component-CMSLo_U5.js} +2 -2
  27. package/dist/chunks/{checkboxGroup.component-CcjCexJ4.js.map → checkboxGroup.component-CMSLo_U5.js.map} +1 -1
  28. package/dist/chunks/{checkboxGroup.component-C8cndZPg.js → checkboxGroup.component-DNwf69Ss.js} +3 -3
  29. package/dist/chunks/{checkboxGroup.component-C8cndZPg.js.map → checkboxGroup.component-DNwf69Ss.js.map} +1 -1
  30. package/dist/chunks/{conversationCard.component-DKIHpfpL.js → conversationCard.component-CAKvEh_2.js} +5 -5
  31. package/dist/chunks/{conversationCard.component-DKIHpfpL.js.map → conversationCard.component-CAKvEh_2.js.map} +1 -1
  32. package/dist/chunks/{conversationCard.component-CcWQpwrW.js → conversationCard.component-D56k22in.js} +2 -2
  33. package/dist/chunks/{conversationCard.component-CcWQpwrW.js.map → conversationCard.component-D56k22in.js.map} +1 -1
  34. package/dist/chunks/{datePicker.component-Q_KcgvIw.js → datePicker.component-D1WtrZJd.js} +5 -5
  35. package/dist/chunks/{datePicker.component-Q_KcgvIw.js.map → datePicker.component-D1WtrZJd.js.map} +1 -1
  36. package/dist/chunks/{datePicker.component-BthgWsMj.js → datePicker.component-ZmMJoE3c.js} +2 -2
  37. package/dist/chunks/{datePicker.component-BthgWsMj.js.map → datePicker.component-ZmMJoE3c.js.map} +1 -1
  38. package/dist/chunks/icon.component-CzjzLiO_.js +2 -0
  39. package/dist/chunks/{icon.component-Bmtf4XKw.js.map → icon.component-CzjzLiO_.js.map} +1 -1
  40. package/dist/chunks/{icon.component-B-BWWGO3.js → icon.component-w5bWbfVU.js} +2 -2
  41. package/dist/chunks/{icon.component-B-BWWGO3.js.map → icon.component-w5bWbfVU.js.map} +1 -1
  42. package/dist/chunks/{link.component-DZnXQz1W.js → link.component-Cmdnhc-F.js} +2 -2
  43. package/dist/chunks/{link.component-DZnXQz1W.js.map → link.component-Cmdnhc-F.js.map} +1 -1
  44. package/dist/chunks/{link.component-COhBuuX3.js → link.component-DGC1Xu5B.js} +2 -2
  45. package/dist/chunks/{link.component-COhBuuX3.js.map → link.component-DGC1Xu5B.js.map} +1 -1
  46. package/dist/chunks/{menu.component-BEj878EN.js → menu.component-BCRZgrRr.js} +2 -2
  47. package/dist/chunks/{menu.component-BEj878EN.js.map → menu.component-BCRZgrRr.js.map} +1 -1
  48. package/dist/chunks/{menu.component-CR9SH_jk.js → menu.component-Bscyjw7R.js} +5 -5
  49. package/dist/chunks/{menu.component-CR9SH_jk.js.map → menu.component-Bscyjw7R.js.map} +1 -1
  50. package/dist/chunks/{modal.types-ChWBgALC.js → modal.types-BfXHtZ4i.js} +2 -2
  51. package/dist/chunks/{modal.types-ChWBgALC.js.map → modal.types-BfXHtZ4i.js.map} +1 -1
  52. package/dist/chunks/{modal.types-CofEmV4v.js → modal.types-CELCFObr.js} +2 -2
  53. package/dist/chunks/{modal.types-CofEmV4v.js.map → modal.types-CELCFObr.js.map} +1 -1
  54. package/dist/chunks/{popover.component-CzYfOF7z.js → popover.component-CW5KsTYh.js} +2 -2
  55. package/dist/chunks/{popover.component-CzYfOF7z.js.map → popover.component-CW5KsTYh.js.map} +1 -1
  56. package/dist/chunks/{popover.component-C1e_jTLD.js → popover.component-CzKeBedr.js} +2 -2
  57. package/dist/chunks/{popover.component-C1e_jTLD.js.map → popover.component-CzKeBedr.js.map} +1 -1
  58. package/dist/chunks/{radioGroup.component-B1ZdhI8z.js → radioGroup.component-DP9JgY1J.js} +2 -2
  59. package/dist/chunks/radioGroup.component-DP9JgY1J.js.map +1 -0
  60. package/dist/chunks/{radioGroup.component-CsmHziwM.js → radioGroup.component-kn8czn3N.js} +3 -3
  61. package/dist/chunks/radioGroup.component-kn8czn3N.js.map +1 -0
  62. package/dist/chunks/{ratingDots.component-DFHojz_X.js → ratingDots.component-D0FX80wA.js} +2 -2
  63. package/dist/chunks/{ratingDots.component-DFHojz_X.js.map → ratingDots.component-D0FX80wA.js.map} +1 -1
  64. package/dist/chunks/{ratingDots.component-HugaFu0D.js → ratingDots.component-D5-xY2db.js} +2 -2
  65. package/dist/chunks/{ratingDots.component-HugaFu0D.js.map → ratingDots.component-D5-xY2db.js.map} +1 -1
  66. package/dist/chunks/{select.component-h5lPMmWB.js → select.component-CQQ4z--7.js} +2 -2
  67. package/dist/chunks/{select.component-h5lPMmWB.js.map → select.component-CQQ4z--7.js.map} +1 -1
  68. package/dist/chunks/{select.component-HI7aJx11.js → select.component-CqvAx7vP.js} +4 -4
  69. package/dist/chunks/{select.component-HI7aJx11.js.map → select.component-CqvAx7vP.js.map} +1 -1
  70. package/dist/chunks/{sortableList.component-B2hSRuex.js → sortableList.component-DcjKdsDK.js} +2 -2
  71. package/dist/chunks/{sortableList.component-B2hSRuex.js.map → sortableList.component-DcjKdsDK.js.map} +1 -1
  72. package/dist/chunks/{sortableList.component-DAIHsGEA.js → sortableList.component-_DXfCTac.js} +2 -2
  73. package/dist/chunks/{sortableList.component-DAIHsGEA.js.map → sortableList.component-_DXfCTac.js.map} +1 -1
  74. package/dist/chunks/{styledAvatar.types-DbSO8s7o.js → styledAvatar.types-ByQoyukM.js} +2 -2
  75. package/dist/chunks/{styledAvatar.types-DbSO8s7o.js.map → styledAvatar.types-ByQoyukM.js.map} +1 -1
  76. package/dist/chunks/{styledAvatar.types-Cj3j5vXC.js → styledAvatar.types-CpU5SOAS.js} +2 -2
  77. package/dist/chunks/{styledAvatar.types-Cj3j5vXC.js.map → styledAvatar.types-CpU5SOAS.js.map} +1 -1
  78. package/dist/chunks/{switch.component-B1fXLRiO.js → switch.component-C9WMHurt.js} +2 -2
  79. package/dist/chunks/{switch.component-B1fXLRiO.js.map → switch.component-C9WMHurt.js.map} +1 -1
  80. package/dist/chunks/{switch.component-PH9nS7eN.js → switch.component-diomUHZW.js} +2 -2
  81. package/dist/chunks/{switch.component-PH9nS7eN.js.map → switch.component-diomUHZW.js.map} +1 -1
  82. package/dist/chunks/{tabs.component-DaUZITBw.js → tabs.component-Bp1Lu8Xb.js} +2 -2
  83. package/dist/chunks/{tabs.component-DaUZITBw.js.map → tabs.component-Bp1Lu8Xb.js.map} +1 -1
  84. package/dist/chunks/{tabs.component-6iPTLCx6.js → tabs.component-D6QT597P.js} +2 -2
  85. package/dist/chunks/{tabs.component-6iPTLCx6.js.map → tabs.component-D6QT597P.js.map} +1 -1
  86. package/dist/chunks/{tagBlock.component-Ch60_R7X.js → tagBlock.component-B99Qzj2K.js} +3 -3
  87. package/dist/chunks/{tagBlock.component-Ch60_R7X.js.map → tagBlock.component-B99Qzj2K.js.map} +1 -1
  88. package/dist/chunks/{tagBlock.component-Bx_hcjU4.js → tagBlock.component-BKnmbWil.js} +2 -2
  89. package/dist/chunks/{tagBlock.component-Bx_hcjU4.js.map → tagBlock.component-BKnmbWil.js.map} +1 -1
  90. package/dist/chunks/{textInput.component-CdPvTnhj.js → textInput.component-BalBo9uP.js} +2 -2
  91. package/dist/chunks/{textInput.component-CdPvTnhj.js.map → textInput.component-BalBo9uP.js.map} +1 -1
  92. package/dist/chunks/{textInput.component-LjDvSnBy.js → textInput.component-K4f7h4pP.js} +3 -3
  93. package/dist/chunks/{textInput.component-LjDvSnBy.js.map → textInput.component-K4f7h4pP.js.map} +1 -1
  94. package/dist/chunks/{textarea.component-CKEdjCAq.js → textarea.component-8tjcO0T7.js} +2 -2
  95. package/dist/chunks/{textarea.component-CKEdjCAq.js.map → textarea.component-8tjcO0T7.js.map} +1 -1
  96. package/dist/chunks/{textarea.component-C7l9zJKx.js → textarea.component-Cmbax8lT.js} +2 -2
  97. package/dist/chunks/{textarea.component-C7l9zJKx.js.map → textarea.component-Cmbax8lT.js.map} +1 -1
  98. package/dist/chunks/{timePicker.component-BLYPjS1u.js → timePicker.component-BwYdnFmw.js} +2 -2
  99. package/dist/chunks/{timePicker.component-BLYPjS1u.js.map → timePicker.component-BwYdnFmw.js.map} +1 -1
  100. package/dist/chunks/{timePicker.component-DFT36RN_.js → timePicker.component-DGKUi5P9.js} +4 -4
  101. package/dist/chunks/{timePicker.component-DFT36RN_.js.map → timePicker.component-DGKUi5P9.js.map} +1 -1
  102. package/dist/chunks/{timeRange.component-CzJjkQzN.js → timeRange.component-BhDFpXK-.js} +2 -2
  103. package/dist/chunks/{timeRange.component-CzJjkQzN.js.map → timeRange.component-BhDFpXK-.js.map} +1 -1
  104. package/dist/chunks/{timeRange.component-KETq7cDb.js → timeRange.component-uYrO4YEs.js} +2 -2
  105. package/dist/chunks/{timeRange.component-KETq7cDb.js.map → timeRange.component-uYrO4YEs.js.map} +1 -1
  106. package/dist/chunks/{withFormControl-C7uVEpxe.js → withFormControl-BJSHfbF_.js} +2 -2
  107. package/dist/chunks/{withFormControl-C7uVEpxe.js.map → withFormControl-BJSHfbF_.js.map} +1 -1
  108. package/dist/chunks/{withFormControl-DSNvvAPD.js → withFormControl-CDQGc9aO.js} +2 -2
  109. package/dist/chunks/{withFormControl-DSNvvAPD.js.map → withFormControl-CDQGc9aO.js.map} +1 -1
  110. package/dist/cjs/cli/generate-theme-types.cjs +6 -0
  111. package/dist/cjs/cli/generate-theme-types.cjs.map +1 -0
  112. package/dist/cjs/cli/postinstall.cjs +3 -0
  113. package/dist/cjs/cli/postinstall.cjs.map +1 -0
  114. package/dist/cjs/components/Alert.cjs +2 -0
  115. package/dist/cjs/components/Alert.cjs.map +1 -0
  116. package/dist/cjs/components/Avatar.cjs +2 -0
  117. package/dist/cjs/components/Avatar.cjs.map +1 -0
  118. package/dist/cjs/components/AvatarGroup.cjs +2 -0
  119. package/dist/cjs/components/AvatarGroup.cjs.map +1 -0
  120. package/dist/cjs/components/Button.cjs +2 -0
  121. package/dist/cjs/components/Button.cjs.map +1 -0
  122. package/dist/cjs/components/ButtonGroup.cjs +2 -0
  123. package/dist/cjs/components/ButtonGroup.cjs.map +1 -0
  124. package/dist/cjs/components/Card.cjs +2 -0
  125. package/dist/cjs/components/Card.cjs.map +1 -0
  126. package/dist/cjs/components/CharacterCounter.cjs +2 -0
  127. package/dist/cjs/components/CharacterCounter.cjs.map +1 -0
  128. package/dist/cjs/components/Checkbox.cjs +2 -0
  129. package/dist/cjs/components/Checkbox.cjs.map +1 -0
  130. package/dist/cjs/components/CheckboxGroup.cjs +2 -0
  131. package/dist/cjs/components/CheckboxGroup.cjs.map +1 -0
  132. package/dist/cjs/components/DatePicker.cjs +2 -0
  133. package/dist/cjs/components/DatePicker.cjs.map +1 -0
  134. package/dist/cjs/components/Heading.cjs +2 -0
  135. package/dist/cjs/components/Heading.cjs.map +1 -0
  136. package/dist/cjs/components/Icon/generated.cjs +2 -0
  137. package/dist/cjs/components/Icon/generated.cjs.map +1 -0
  138. package/dist/cjs/components/Icon.cjs +2 -0
  139. package/dist/cjs/components/Icon.cjs.map +1 -0
  140. package/dist/cjs/components/Link.cjs +2 -0
  141. package/dist/cjs/components/Link.cjs.map +1 -0
  142. package/dist/cjs/components/Menu.cjs +2 -0
  143. package/dist/cjs/components/Menu.cjs.map +1 -0
  144. package/dist/cjs/components/Modal.cjs +2 -0
  145. package/dist/cjs/components/Modal.cjs.map +1 -0
  146. package/dist/cjs/components/NotificationCounter.cjs +2 -0
  147. package/dist/cjs/components/NotificationCounter.cjs.map +1 -0
  148. package/dist/cjs/components/Picture.cjs +2 -0
  149. package/dist/{esm/components/Picture/index.js.map → cjs/components/Picture.cjs.map} +1 -1
  150. package/dist/cjs/components/Popover.cjs +2 -0
  151. package/dist/cjs/components/Popover.cjs.map +1 -0
  152. package/dist/cjs/components/RadioGroup.cjs +2 -0
  153. package/dist/cjs/components/RadioGroup.cjs.map +1 -0
  154. package/dist/cjs/components/RatingDots.cjs +2 -0
  155. package/dist/cjs/components/RatingDots.cjs.map +1 -0
  156. package/dist/cjs/components/Select.cjs +2 -0
  157. package/dist/cjs/components/Select.cjs.map +1 -0
  158. package/dist/cjs/components/SortableList.cjs +2 -0
  159. package/dist/cjs/components/SortableList.cjs.map +1 -0
  160. package/dist/cjs/components/Spinner.cjs +2 -0
  161. package/dist/cjs/components/Spinner.cjs.map +1 -0
  162. package/dist/cjs/components/Swatch.cjs +2 -0
  163. package/dist/cjs/components/Swatch.cjs.map +1 -0
  164. package/dist/cjs/components/Switch.cjs +2 -0
  165. package/dist/cjs/components/Switch.cjs.map +1 -0
  166. package/dist/cjs/components/Tabs.cjs +2 -0
  167. package/dist/cjs/components/Tabs.cjs.map +1 -0
  168. package/dist/cjs/components/Tag.cjs +2 -0
  169. package/dist/cjs/components/Tag.cjs.map +1 -0
  170. package/dist/cjs/components/Text.cjs +2 -0
  171. package/dist/cjs/components/Text.cjs.map +1 -0
  172. package/dist/cjs/components/TextInput.cjs +2 -0
  173. package/dist/cjs/components/TextInput.cjs.map +1 -0
  174. package/dist/cjs/components/Textarea.cjs +2 -0
  175. package/dist/cjs/components/Textarea.cjs.map +1 -0
  176. package/dist/cjs/components/TimePicker.cjs +2 -0
  177. package/dist/cjs/components/TimePicker.cjs.map +1 -0
  178. package/dist/cjs/components/TimeRange.cjs +2 -0
  179. package/dist/cjs/components/TimeRange.cjs.map +1 -0
  180. package/dist/cjs/components/Tooltip.cjs +2 -0
  181. package/dist/cjs/components/Tooltip.cjs.map +1 -0
  182. package/dist/cjs/components.cjs +2 -0
  183. package/dist/cjs/components.cjs.map +1 -0
  184. package/dist/cjs/hocs.cjs +2 -0
  185. package/dist/cjs/hocs.cjs.map +1 -0
  186. package/dist/cjs/hooks.cjs +2 -0
  187. package/dist/cjs/hooks.cjs.map +1 -0
  188. package/dist/cjs/index.cjs +1 -1
  189. package/dist/cjs/patterns/ConversationCard.cjs +2 -0
  190. package/dist/cjs/patterns/ConversationCard.cjs.map +1 -0
  191. package/dist/cjs/patterns/StyledAvatar.cjs +2 -0
  192. package/dist/cjs/patterns/StyledAvatar.cjs.map +1 -0
  193. package/dist/cjs/patterns/TagBlock.cjs +2 -0
  194. package/dist/cjs/patterns/TagBlock.cjs.map +1 -0
  195. package/dist/cjs/patterns/Timestamp.cjs +2 -0
  196. package/dist/cjs/patterns/Timestamp.cjs.map +1 -0
  197. package/dist/cjs/patterns.cjs +2 -0
  198. package/dist/cjs/patterns.cjs.map +1 -0
  199. package/dist/cjs/shared/{types/index.cjs → types.cjs} +1 -1
  200. package/dist/cjs/shared/types.cjs.map +1 -0
  201. package/dist/cjs/theme/{semanticTokens/index.cjs → semanticTokens.cjs} +1 -1
  202. package/dist/cjs/theme/semanticTokens.cjs.map +1 -0
  203. package/dist/cjs/theme/tokens/blurs.cjs +2 -0
  204. package/dist/cjs/theme/tokens/blurs.cjs.map +1 -0
  205. package/dist/cjs/theme/tokens/borders.cjs +2 -0
  206. package/dist/cjs/theme/tokens/borders.cjs.map +1 -0
  207. package/dist/cjs/theme/tokens/{colors/index.cjs → colors.cjs} +1 -1
  208. package/dist/cjs/theme/tokens/colors.cjs.map +1 -0
  209. package/dist/cjs/theme/tokens/shadows.cjs +2 -0
  210. package/dist/cjs/theme/tokens/shadows.cjs.map +1 -0
  211. package/dist/cjs/theme/tokens/sizes.cjs +2 -0
  212. package/dist/cjs/theme/tokens/sizes.cjs.map +1 -0
  213. package/dist/cjs/theme/tokens/spacing.cjs +2 -0
  214. package/dist/cjs/theme/tokens/spacing.cjs.map +1 -0
  215. package/dist/cjs/theme/tokens/transitions.cjs +2 -0
  216. package/dist/cjs/theme/tokens/transitions.cjs.map +1 -0
  217. package/dist/cjs/theme/tokens/typography.cjs +2 -0
  218. package/dist/cjs/theme/tokens/typography.cjs.map +1 -0
  219. package/dist/cjs/theme/tokens/zIndices.cjs +2 -0
  220. package/dist/cjs/theme/tokens/zIndices.cjs.map +1 -0
  221. package/dist/cjs/theme/tokens.cjs +2 -0
  222. package/dist/cjs/theme/tokens.cjs.map +1 -0
  223. package/dist/cjs/theme.cjs +24 -0
  224. package/dist/cjs/theme.cjs.map +1 -0
  225. package/dist/esm/cli/generate-theme-types.js +22 -0
  226. package/dist/esm/cli/generate-theme-types.js.map +1 -0
  227. package/dist/esm/cli/postinstall.js +21 -0
  228. package/dist/esm/cli/postinstall.js.map +1 -0
  229. package/dist/esm/components/Alert.js +6 -0
  230. package/dist/esm/components/Alert.js.map +1 -0
  231. package/dist/esm/components/Avatar.js +8 -0
  232. package/dist/esm/components/Avatar.js.map +1 -0
  233. package/dist/esm/components/AvatarGroup.js +5 -0
  234. package/dist/esm/components/AvatarGroup.js.map +1 -0
  235. package/dist/esm/components/Button.js +11 -0
  236. package/dist/esm/components/Button.js.map +1 -0
  237. package/dist/esm/components/ButtonGroup.js +5 -0
  238. package/dist/esm/components/ButtonGroup.js.map +1 -0
  239. package/dist/esm/components/Card.js +7 -0
  240. package/dist/esm/components/Card.js.map +1 -0
  241. package/dist/esm/components/CharacterCounter.js +5 -0
  242. package/dist/esm/components/CharacterCounter.js.map +1 -0
  243. package/dist/esm/components/Checkbox.js +5 -0
  244. package/dist/esm/components/Checkbox.js.map +1 -0
  245. package/dist/esm/components/CheckboxGroup.js +5 -0
  246. package/dist/esm/components/CheckboxGroup.js.map +1 -0
  247. package/dist/esm/components/DatePicker.js +6 -0
  248. package/dist/esm/components/DatePicker.js.map +1 -0
  249. package/dist/esm/components/Heading.js +5 -0
  250. package/dist/esm/components/Heading.js.map +1 -0
  251. package/dist/esm/components/Icon/{generated/index.js → generated.js} +2 -2
  252. package/dist/esm/components/Icon/generated.js.map +1 -0
  253. package/dist/esm/components/Icon.js +7 -0
  254. package/dist/esm/components/Icon.js.map +1 -0
  255. package/dist/esm/components/Link.js +5 -0
  256. package/dist/esm/components/Link.js.map +1 -0
  257. package/dist/esm/components/Menu.js +5 -0
  258. package/dist/esm/components/Menu.js.map +1 -0
  259. package/dist/esm/components/Modal.js +9 -0
  260. package/dist/esm/components/Modal.js.map +1 -0
  261. package/dist/esm/components/{NotificationCounter/index.js → NotificationCounter.js} +2 -2
  262. package/dist/esm/components/NotificationCounter.js.map +1 -0
  263. package/dist/esm/components/{Picture/index.js → Picture.js} +3 -3
  264. package/dist/esm/components/Picture.js.map +1 -0
  265. package/dist/esm/components/Popover.js +9 -0
  266. package/dist/esm/components/Popover.js.map +1 -0
  267. package/dist/esm/components/RadioGroup.js +5 -0
  268. package/dist/esm/components/RadioGroup.js.map +1 -0
  269. package/dist/esm/components/RatingDots.js +5 -0
  270. package/dist/esm/components/RatingDots.js.map +1 -0
  271. package/dist/esm/components/Select.js +5 -0
  272. package/dist/esm/components/Select.js.map +1 -0
  273. package/dist/esm/components/SortableList.js +5 -0
  274. package/dist/esm/components/SortableList.js.map +1 -0
  275. package/dist/esm/components/Spinner.js +7 -0
  276. package/dist/esm/components/Spinner.js.map +1 -0
  277. package/dist/esm/components/{Swatch/index.js → Swatch.js} +3 -3
  278. package/dist/esm/components/Swatch.js.map +1 -0
  279. package/dist/esm/components/Switch.js +5 -0
  280. package/dist/esm/components/Switch.js.map +1 -0
  281. package/dist/esm/components/Tabs.js +5 -0
  282. package/dist/esm/components/Tabs.js.map +1 -0
  283. package/dist/esm/components/Tag.js +8 -0
  284. package/dist/esm/components/Tag.js.map +1 -0
  285. package/dist/esm/components/Text.js +5 -0
  286. package/dist/esm/components/Text.js.map +1 -0
  287. package/dist/esm/components/TextInput.js +5 -0
  288. package/dist/esm/components/TextInput.js.map +1 -0
  289. package/dist/esm/components/Textarea.js +5 -0
  290. package/dist/esm/components/Textarea.js.map +1 -0
  291. package/dist/esm/components/TimePicker.js +6 -0
  292. package/dist/esm/components/TimePicker.js.map +1 -0
  293. package/dist/esm/components/TimeRange.js +5 -0
  294. package/dist/esm/components/TimeRange.js.map +1 -0
  295. package/dist/esm/components/Tooltip.js +5 -0
  296. package/dist/esm/components/Tooltip.js.map +1 -0
  297. package/dist/esm/components.js +102 -0
  298. package/dist/esm/components.js.map +1 -0
  299. package/dist/esm/{hocs/index.js → hocs.js} +3 -3
  300. package/dist/esm/hocs.js.map +1 -0
  301. package/dist/esm/{hooks/index.js → hooks.js} +2 -2
  302. package/dist/esm/hooks.js.map +1 -0
  303. package/dist/esm/index.js +59 -62
  304. package/dist/esm/patterns/ConversationCard.js +5 -0
  305. package/dist/esm/patterns/ConversationCard.js.map +1 -0
  306. package/dist/esm/patterns/StyledAvatar.js +6 -0
  307. package/dist/esm/patterns/StyledAvatar.js.map +1 -0
  308. package/dist/esm/patterns/TagBlock.js +6 -0
  309. package/dist/esm/patterns/TagBlock.js.map +1 -0
  310. package/dist/esm/patterns/Timestamp.js +5 -0
  311. package/dist/esm/patterns/Timestamp.js.map +1 -0
  312. package/dist/esm/patterns.js +13 -0
  313. package/dist/esm/patterns.js.map +1 -0
  314. package/dist/esm/shared/{types/index.js → types.js} +1 -1
  315. package/dist/esm/shared/types.js.map +1 -0
  316. package/dist/esm/theme/{semanticTokens/index.js → semanticTokens.js} +1 -1
  317. package/dist/esm/theme/semanticTokens.js.map +1 -0
  318. package/dist/esm/theme/tokens/blurs.js +2 -0
  319. package/dist/esm/theme/tokens/blurs.js.map +1 -0
  320. package/dist/esm/theme/tokens/borders.js +2 -0
  321. package/dist/esm/theme/tokens/borders.js.map +1 -0
  322. package/dist/esm/theme/tokens/{colors/index.js → colors.js} +1 -1
  323. package/dist/esm/theme/tokens/colors.js.map +1 -0
  324. package/dist/esm/theme/tokens/shadows.js +2 -0
  325. package/dist/esm/theme/tokens/shadows.js.map +1 -0
  326. package/dist/esm/theme/tokens/sizes.js +2 -0
  327. package/dist/esm/theme/tokens/sizes.js.map +1 -0
  328. package/dist/esm/theme/tokens/spacing.js +2 -0
  329. package/dist/esm/theme/tokens/spacing.js.map +1 -0
  330. package/dist/esm/theme/tokens/transitions.js +2 -0
  331. package/dist/esm/theme/tokens/transitions.js.map +1 -0
  332. package/dist/esm/theme/tokens/typography.js +2 -0
  333. package/dist/esm/theme/tokens/typography.js.map +1 -0
  334. package/dist/esm/theme/tokens/zIndices.js +2 -0
  335. package/dist/esm/theme/tokens/zIndices.js.map +1 -0
  336. package/dist/esm/theme/tokens.js +5 -0
  337. package/dist/esm/theme/tokens.js.map +1 -0
  338. package/dist/esm/{theme/index.js → theme.js} +10 -13
  339. package/dist/esm/theme.js.map +1 -0
  340. package/dist/types/cli/generate-theme-types.d.ts +2 -0
  341. package/dist/types/cli/postinstall.d.ts +2 -0
  342. package/dist/types/theme/index.d.ts +1 -4
  343. package/dist/types/theme/providers/theme.provider.d.ts +2 -1
  344. package/package.json +10 -5
  345. package/dist/chunks/icon.component-Bmtf4XKw.js +0 -2
  346. package/dist/chunks/radioGroup.component-B1ZdhI8z.js.map +0 -1
  347. package/dist/chunks/radioGroup.component-CsmHziwM.js.map +0 -1
  348. package/dist/cjs/components/Alert/index.cjs +0 -2
  349. package/dist/cjs/components/Alert/index.cjs.map +0 -1
  350. package/dist/cjs/components/Avatar/index.cjs +0 -2
  351. package/dist/cjs/components/Avatar/index.cjs.map +0 -1
  352. package/dist/cjs/components/AvatarGroup/index.cjs +0 -2
  353. package/dist/cjs/components/AvatarGroup/index.cjs.map +0 -1
  354. package/dist/cjs/components/Button/index.cjs +0 -2
  355. package/dist/cjs/components/Button/index.cjs.map +0 -1
  356. package/dist/cjs/components/ButtonGroup/index.cjs +0 -2
  357. package/dist/cjs/components/ButtonGroup/index.cjs.map +0 -1
  358. package/dist/cjs/components/Card/index.cjs +0 -2
  359. package/dist/cjs/components/Card/index.cjs.map +0 -1
  360. package/dist/cjs/components/CharacterCounter/index.cjs +0 -2
  361. package/dist/cjs/components/CharacterCounter/index.cjs.map +0 -1
  362. package/dist/cjs/components/Checkbox/index.cjs +0 -2
  363. package/dist/cjs/components/Checkbox/index.cjs.map +0 -1
  364. package/dist/cjs/components/CheckboxGroup/index.cjs +0 -2
  365. package/dist/cjs/components/CheckboxGroup/index.cjs.map +0 -1
  366. package/dist/cjs/components/DatePicker/index.cjs +0 -2
  367. package/dist/cjs/components/DatePicker/index.cjs.map +0 -1
  368. package/dist/cjs/components/Heading/index.cjs +0 -2
  369. package/dist/cjs/components/Heading/index.cjs.map +0 -1
  370. package/dist/cjs/components/Icon/generated/index.cjs +0 -2
  371. package/dist/cjs/components/Icon/generated/index.cjs.map +0 -1
  372. package/dist/cjs/components/Icon/index.cjs +0 -2
  373. package/dist/cjs/components/Icon/index.cjs.map +0 -1
  374. package/dist/cjs/components/Link/index.cjs +0 -2
  375. package/dist/cjs/components/Link/index.cjs.map +0 -1
  376. package/dist/cjs/components/Menu/index.cjs +0 -2
  377. package/dist/cjs/components/Menu/index.cjs.map +0 -1
  378. package/dist/cjs/components/Modal/index.cjs +0 -2
  379. package/dist/cjs/components/Modal/index.cjs.map +0 -1
  380. package/dist/cjs/components/NotificationCounter/index.cjs +0 -2
  381. package/dist/cjs/components/NotificationCounter/index.cjs.map +0 -1
  382. package/dist/cjs/components/Picture/index.cjs +0 -2
  383. package/dist/cjs/components/Picture/index.cjs.map +0 -1
  384. package/dist/cjs/components/Popover/index.cjs +0 -2
  385. package/dist/cjs/components/Popover/index.cjs.map +0 -1
  386. package/dist/cjs/components/RadioGroup/index.cjs +0 -2
  387. package/dist/cjs/components/RadioGroup/index.cjs.map +0 -1
  388. package/dist/cjs/components/RatingDots/index.cjs +0 -2
  389. package/dist/cjs/components/RatingDots/index.cjs.map +0 -1
  390. package/dist/cjs/components/Select/index.cjs +0 -2
  391. package/dist/cjs/components/Select/index.cjs.map +0 -1
  392. package/dist/cjs/components/SortableList/index.cjs +0 -2
  393. package/dist/cjs/components/SortableList/index.cjs.map +0 -1
  394. package/dist/cjs/components/Spinner/index.cjs +0 -2
  395. package/dist/cjs/components/Spinner/index.cjs.map +0 -1
  396. package/dist/cjs/components/Swatch/index.cjs +0 -2
  397. package/dist/cjs/components/Swatch/index.cjs.map +0 -1
  398. package/dist/cjs/components/Switch/index.cjs +0 -2
  399. package/dist/cjs/components/Switch/index.cjs.map +0 -1
  400. package/dist/cjs/components/Tabs/index.cjs +0 -2
  401. package/dist/cjs/components/Tabs/index.cjs.map +0 -1
  402. package/dist/cjs/components/Tag/index.cjs +0 -2
  403. package/dist/cjs/components/Tag/index.cjs.map +0 -1
  404. package/dist/cjs/components/Text/index.cjs +0 -2
  405. package/dist/cjs/components/Text/index.cjs.map +0 -1
  406. package/dist/cjs/components/TextInput/index.cjs +0 -2
  407. package/dist/cjs/components/TextInput/index.cjs.map +0 -1
  408. package/dist/cjs/components/Textarea/index.cjs +0 -2
  409. package/dist/cjs/components/Textarea/index.cjs.map +0 -1
  410. package/dist/cjs/components/TimePicker/index.cjs +0 -2
  411. package/dist/cjs/components/TimePicker/index.cjs.map +0 -1
  412. package/dist/cjs/components/TimeRange/index.cjs +0 -2
  413. package/dist/cjs/components/TimeRange/index.cjs.map +0 -1
  414. package/dist/cjs/components/Tooltip/index.cjs +0 -2
  415. package/dist/cjs/components/Tooltip/index.cjs.map +0 -1
  416. package/dist/cjs/components/index.cjs +0 -2
  417. package/dist/cjs/components/index.cjs.map +0 -1
  418. package/dist/cjs/hocs/index.cjs +0 -2
  419. package/dist/cjs/hocs/index.cjs.map +0 -1
  420. package/dist/cjs/hooks/index.cjs +0 -2
  421. package/dist/cjs/hooks/index.cjs.map +0 -1
  422. package/dist/cjs/patterns/ConversationCard/index.cjs +0 -2
  423. package/dist/cjs/patterns/ConversationCard/index.cjs.map +0 -1
  424. package/dist/cjs/patterns/StyledAvatar/index.cjs +0 -2
  425. package/dist/cjs/patterns/StyledAvatar/index.cjs.map +0 -1
  426. package/dist/cjs/patterns/TagBlock/index.cjs +0 -2
  427. package/dist/cjs/patterns/TagBlock/index.cjs.map +0 -1
  428. package/dist/cjs/patterns/Timestamp/index.cjs +0 -2
  429. package/dist/cjs/patterns/Timestamp/index.cjs.map +0 -1
  430. package/dist/cjs/patterns/index.cjs +0 -2
  431. package/dist/cjs/patterns/index.cjs.map +0 -1
  432. package/dist/cjs/shared/types/index.cjs.map +0 -1
  433. package/dist/cjs/theme/index.cjs +0 -24
  434. package/dist/cjs/theme/index.cjs.map +0 -1
  435. package/dist/cjs/theme/semanticTokens/index.cjs.map +0 -1
  436. package/dist/cjs/theme/tokens/blurs/index.cjs +0 -2
  437. package/dist/cjs/theme/tokens/blurs/index.cjs.map +0 -1
  438. package/dist/cjs/theme/tokens/borders/index.cjs +0 -2
  439. package/dist/cjs/theme/tokens/borders/index.cjs.map +0 -1
  440. package/dist/cjs/theme/tokens/colors/index.cjs.map +0 -1
  441. package/dist/cjs/theme/tokens/index.cjs +0 -2
  442. package/dist/cjs/theme/tokens/index.cjs.map +0 -1
  443. package/dist/cjs/theme/tokens/shadows/index.cjs +0 -2
  444. package/dist/cjs/theme/tokens/shadows/index.cjs.map +0 -1
  445. package/dist/cjs/theme/tokens/sizes/index.cjs +0 -2
  446. package/dist/cjs/theme/tokens/sizes/index.cjs.map +0 -1
  447. package/dist/cjs/theme/tokens/spacing/index.cjs +0 -2
  448. package/dist/cjs/theme/tokens/spacing/index.cjs.map +0 -1
  449. package/dist/cjs/theme/tokens/transitions/index.cjs +0 -2
  450. package/dist/cjs/theme/tokens/transitions/index.cjs.map +0 -1
  451. package/dist/cjs/theme/tokens/typography/index.cjs +0 -2
  452. package/dist/cjs/theme/tokens/typography/index.cjs.map +0 -1
  453. package/dist/cjs/theme/tokens/zIndices/index.cjs +0 -2
  454. package/dist/cjs/theme/tokens/zIndices/index.cjs.map +0 -1
  455. package/dist/esm/components/Alert/index.js +0 -6
  456. package/dist/esm/components/Alert/index.js.map +0 -1
  457. package/dist/esm/components/Avatar/index.js +0 -8
  458. package/dist/esm/components/Avatar/index.js.map +0 -1
  459. package/dist/esm/components/AvatarGroup/index.js +0 -5
  460. package/dist/esm/components/AvatarGroup/index.js.map +0 -1
  461. package/dist/esm/components/Button/index.js +0 -11
  462. package/dist/esm/components/Button/index.js.map +0 -1
  463. package/dist/esm/components/ButtonGroup/index.js +0 -5
  464. package/dist/esm/components/ButtonGroup/index.js.map +0 -1
  465. package/dist/esm/components/Card/index.js +0 -7
  466. package/dist/esm/components/Card/index.js.map +0 -1
  467. package/dist/esm/components/CharacterCounter/index.js +0 -5
  468. package/dist/esm/components/CharacterCounter/index.js.map +0 -1
  469. package/dist/esm/components/Checkbox/index.js +0 -5
  470. package/dist/esm/components/Checkbox/index.js.map +0 -1
  471. package/dist/esm/components/CheckboxGroup/index.js +0 -5
  472. package/dist/esm/components/CheckboxGroup/index.js.map +0 -1
  473. package/dist/esm/components/DatePicker/index.js +0 -6
  474. package/dist/esm/components/DatePicker/index.js.map +0 -1
  475. package/dist/esm/components/Heading/index.js +0 -5
  476. package/dist/esm/components/Heading/index.js.map +0 -1
  477. package/dist/esm/components/Icon/generated/index.js.map +0 -1
  478. package/dist/esm/components/Icon/index.js +0 -7
  479. package/dist/esm/components/Icon/index.js.map +0 -1
  480. package/dist/esm/components/Link/index.js +0 -5
  481. package/dist/esm/components/Link/index.js.map +0 -1
  482. package/dist/esm/components/Menu/index.js +0 -5
  483. package/dist/esm/components/Menu/index.js.map +0 -1
  484. package/dist/esm/components/Modal/index.js +0 -9
  485. package/dist/esm/components/Modal/index.js.map +0 -1
  486. package/dist/esm/components/NotificationCounter/index.js.map +0 -1
  487. package/dist/esm/components/Popover/index.js +0 -9
  488. package/dist/esm/components/Popover/index.js.map +0 -1
  489. package/dist/esm/components/RadioGroup/index.js +0 -5
  490. package/dist/esm/components/RadioGroup/index.js.map +0 -1
  491. package/dist/esm/components/RatingDots/index.js +0 -5
  492. package/dist/esm/components/RatingDots/index.js.map +0 -1
  493. package/dist/esm/components/Select/index.js +0 -5
  494. package/dist/esm/components/Select/index.js.map +0 -1
  495. package/dist/esm/components/SortableList/index.js +0 -5
  496. package/dist/esm/components/SortableList/index.js.map +0 -1
  497. package/dist/esm/components/Spinner/index.js +0 -7
  498. package/dist/esm/components/Spinner/index.js.map +0 -1
  499. package/dist/esm/components/Swatch/index.js.map +0 -1
  500. package/dist/esm/components/Switch/index.js +0 -5
  501. package/dist/esm/components/Switch/index.js.map +0 -1
  502. package/dist/esm/components/Tabs/index.js +0 -5
  503. package/dist/esm/components/Tabs/index.js.map +0 -1
  504. package/dist/esm/components/Tag/index.js +0 -8
  505. package/dist/esm/components/Tag/index.js.map +0 -1
  506. package/dist/esm/components/Text/index.js +0 -5
  507. package/dist/esm/components/Text/index.js.map +0 -1
  508. package/dist/esm/components/TextInput/index.js +0 -5
  509. package/dist/esm/components/TextInput/index.js.map +0 -1
  510. package/dist/esm/components/Textarea/index.js +0 -5
  511. package/dist/esm/components/Textarea/index.js.map +0 -1
  512. package/dist/esm/components/TimePicker/index.js +0 -6
  513. package/dist/esm/components/TimePicker/index.js.map +0 -1
  514. package/dist/esm/components/TimeRange/index.js +0 -5
  515. package/dist/esm/components/TimeRange/index.js.map +0 -1
  516. package/dist/esm/components/Tooltip/index.js +0 -5
  517. package/dist/esm/components/Tooltip/index.js.map +0 -1
  518. package/dist/esm/components/index.js +0 -102
  519. package/dist/esm/components/index.js.map +0 -1
  520. package/dist/esm/hocs/index.js.map +0 -1
  521. package/dist/esm/hooks/index.js.map +0 -1
  522. package/dist/esm/patterns/ConversationCard/index.js +0 -5
  523. package/dist/esm/patterns/ConversationCard/index.js.map +0 -1
  524. package/dist/esm/patterns/StyledAvatar/index.js +0 -6
  525. package/dist/esm/patterns/StyledAvatar/index.js.map +0 -1
  526. package/dist/esm/patterns/TagBlock/index.js +0 -6
  527. package/dist/esm/patterns/TagBlock/index.js.map +0 -1
  528. package/dist/esm/patterns/Timestamp/index.js +0 -5
  529. package/dist/esm/patterns/Timestamp/index.js.map +0 -1
  530. package/dist/esm/patterns/index.js +0 -13
  531. package/dist/esm/patterns/index.js.map +0 -1
  532. package/dist/esm/shared/types/index.js.map +0 -1
  533. package/dist/esm/theme/index.js.map +0 -1
  534. package/dist/esm/theme/semanticTokens/index.js.map +0 -1
  535. package/dist/esm/theme/tokens/blurs/index.js +0 -2
  536. package/dist/esm/theme/tokens/blurs/index.js.map +0 -1
  537. package/dist/esm/theme/tokens/borders/index.js +0 -2
  538. package/dist/esm/theme/tokens/borders/index.js.map +0 -1
  539. package/dist/esm/theme/tokens/colors/index.js.map +0 -1
  540. package/dist/esm/theme/tokens/index.js +0 -5
  541. package/dist/esm/theme/tokens/index.js.map +0 -1
  542. package/dist/esm/theme/tokens/shadows/index.js +0 -2
  543. package/dist/esm/theme/tokens/shadows/index.js.map +0 -1
  544. package/dist/esm/theme/tokens/sizes/index.js +0 -2
  545. package/dist/esm/theme/tokens/sizes/index.js.map +0 -1
  546. package/dist/esm/theme/tokens/spacing/index.js +0 -2
  547. package/dist/esm/theme/tokens/spacing/index.js.map +0 -1
  548. package/dist/esm/theme/tokens/transitions/index.js +0 -2
  549. package/dist/esm/theme/tokens/transitions/index.js.map +0 -1
  550. package/dist/esm/theme/tokens/typography/index.js +0 -2
  551. package/dist/esm/theme/tokens/typography/index.js.map +0 -1
  552. package/dist/esm/theme/tokens/zIndices/index.js +0 -2
  553. package/dist/esm/theme/tokens/zIndices/index.js.map +0 -1
  554. package/dist/types/theme/theme.types.d.ts +0 -37
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./vendor-D-x6W6ez.js"),c=require("react"),l=require("./withFormControl-C7uVEpxe.js"),i=require("./chakra-DmF8Cxqs.js"),w=l.withFormControl(({children:e,indeterminate:s=!1,onContrast:r,label:d,size:n="md",switchRef:o,...u})=>{const h=c.useMemo(()=>s?r?"indeterminateOnContrast":"indeterminate":r?"onContrast":"default",[s,r]);return t.jsxRuntimeExports.jsxs(i.SwitchRoot,{className:"Switch","data-testid":"kibble-switch",ref:o,size:n,variant:h,...u,children:[t.jsxRuntimeExports.jsx(i.SwitchHiddenInput,{className:"Switch_Input","data-testid":"kibble-switch-input"}),t.jsxRuntimeExports.jsx(i.SwitchControl,{className:"Switch_Control","data-testid":"kibble-switch-control"}),!!e&&t.jsxRuntimeExports.jsx(i.SwitchLabel,{children:e})]})}),a=c.forwardRef((e,s)=>t.jsxRuntimeExports.jsx(w,{switchRef:s,...e}));a.displayName="Switch";exports.WrappedSwitch=a;
2
- //# sourceMappingURL=switch.component-PH9nS7eN.js.map
1
+ "use strict";const t=require("./vendor-D-x6W6ez.js"),c=require("react"),l=require("./withFormControl-BJSHfbF_.js"),i=require("./chakra-DmF8Cxqs.js"),w=l.withFormControl(({children:e,indeterminate:s=!1,onContrast:r,label:d,size:n="md",switchRef:o,...u})=>{const h=c.useMemo(()=>s?r?"indeterminateOnContrast":"indeterminate":r?"onContrast":"default",[s,r]);return t.jsxRuntimeExports.jsxs(i.SwitchRoot,{className:"Switch","data-testid":"kibble-switch",ref:o,size:n,variant:h,...u,children:[t.jsxRuntimeExports.jsx(i.SwitchHiddenInput,{className:"Switch_Input","data-testid":"kibble-switch-input"}),t.jsxRuntimeExports.jsx(i.SwitchControl,{className:"Switch_Control","data-testid":"kibble-switch-control"}),!!e&&t.jsxRuntimeExports.jsx(i.SwitchLabel,{children:e})]})}),a=c.forwardRef((e,s)=>t.jsxRuntimeExports.jsx(w,{switchRef:s,...e}));a.displayName="Switch";exports.WrappedSwitch=a;
2
+ //# sourceMappingURL=switch.component-diomUHZW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch.component-PH9nS7eN.js","sources":["../../src/components/Switch/switch.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useMemo } from \"react\";\nimport { Switch as CSwitch } from \"@chakra-ui/react/switch\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport interface SwitchProps\n extends WithFormControlProps,\n Omit<CSwitch.RootProps, \"label\" | \"onChange\"> {\n indeterminate?: boolean;\n switchRef?: ForwardedRef<HTMLLabelElement>;\n size?: FormControlSize;\n}\n\nconst Switch = withFormControl(\n ({\n children,\n indeterminate = false,\n onContrast,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n label,\n size = \"md\",\n switchRef,\n ...rest\n }: SwitchProps): React.JSX.Element => {\n const _computedVariant = useMemo(() => {\n if (indeterminate) {\n return onContrast ? \"indeterminateOnContrast\" : \"indeterminate\";\n } else {\n return onContrast ? \"onContrast\" : \"default\";\n }\n }, [indeterminate, onContrast]);\n\n return (\n <CSwitch.Root\n className=\"Switch\"\n data-testid=\"kibble-switch\"\n ref={switchRef}\n size={size}\n variant={_computedVariant}\n {...rest}\n >\n <CSwitch.HiddenInput\n className=\"Switch_Input\"\n data-testid=\"kibble-switch-input\"\n />\n <CSwitch.Control\n className=\"Switch_Control\"\n data-testid=\"kibble-switch-control\"\n />\n {!!children && <CSwitch.Label>{children}</CSwitch.Label>}\n </CSwitch.Root>\n );\n },\n);\n\nconst WrappedSwitch = React.forwardRef(\n (props: SwitchProps, ref: ForwardedRef<HTMLLabelElement>) => (\n <Switch switchRef={ref} {...props} />\n ),\n);\n\nWrappedSwitch.displayName = \"Switch\";\n\nexport { WrappedSwitch as Switch };\n"],"names":["Switch","withFormControl","children","indeterminate","onContrast","label","size","switchRef","rest","_computedVariant","useMemo","jsxs","CSwitch.Root","jsx","CSwitch.HiddenInput","CSwitch.Control","CSwitch.Label","WrappedSwitch","React","props","ref"],"mappings":"qJAgBMA,EAASC,EAAA,gBACb,CAAC,CACC,SAAAC,EACA,cAAAC,EAAgB,GAChB,WAAAC,EAEA,MAAAC,EACA,KAAAC,EAAO,KACP,UAAAC,EACA,GAAGC,CAAA,IACiC,CAC9B,MAAAC,EAAmBC,EAAAA,QAAQ,IAC3BP,EACKC,EAAa,0BAA4B,gBAEzCA,EAAa,aAAe,UAEpC,CAACD,EAAeC,CAAU,CAAC,EAG5B,OAAAO,EAAA,kBAAA,KAACC,EAAQ,WAAR,CACC,UAAU,SACV,cAAY,gBACZ,IAAKL,EACL,KAAAD,EACA,QAASG,EACR,GAAGD,EAEJ,SAAA,CAAAK,EAAA,kBAAA,IAACC,EAAQ,kBAAR,CACC,UAAU,eACV,cAAY,qBAAA,CACd,EACAD,EAAA,kBAAA,IAACE,EAAQ,cAAR,CACC,UAAU,iBACV,cAAY,uBAAA,CACd,EACC,CAAC,CAACb,2BAAac,EAAQ,YAAR,CAAe,SAAAd,CAAS,CAAA,CAAA,CAAA,CAC1C,CAAA,CAGN,EAEMe,EAAgBC,EAAM,WAC1B,CAACC,EAAoBC,IACnBP,wBAACb,GAAO,UAAWoB,EAAM,GAAGD,CAAO,CAAA,CAEvC,EAEAF,EAAc,YAAc"}
1
+ {"version":3,"file":"switch.component-diomUHZW.js","sources":["../../src/components/Switch/switch.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useMemo } from \"react\";\nimport { Switch as CSwitch } from \"@chakra-ui/react/switch\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport interface SwitchProps\n extends WithFormControlProps,\n Omit<CSwitch.RootProps, \"label\" | \"onChange\"> {\n indeterminate?: boolean;\n switchRef?: ForwardedRef<HTMLLabelElement>;\n size?: FormControlSize;\n}\n\nconst Switch = withFormControl(\n ({\n children,\n indeterminate = false,\n onContrast,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n label,\n size = \"md\",\n switchRef,\n ...rest\n }: SwitchProps): React.JSX.Element => {\n const _computedVariant = useMemo(() => {\n if (indeterminate) {\n return onContrast ? \"indeterminateOnContrast\" : \"indeterminate\";\n } else {\n return onContrast ? \"onContrast\" : \"default\";\n }\n }, [indeterminate, onContrast]);\n\n return (\n <CSwitch.Root\n className=\"Switch\"\n data-testid=\"kibble-switch\"\n ref={switchRef}\n size={size}\n variant={_computedVariant}\n {...rest}\n >\n <CSwitch.HiddenInput\n className=\"Switch_Input\"\n data-testid=\"kibble-switch-input\"\n />\n <CSwitch.Control\n className=\"Switch_Control\"\n data-testid=\"kibble-switch-control\"\n />\n {!!children && <CSwitch.Label>{children}</CSwitch.Label>}\n </CSwitch.Root>\n );\n },\n);\n\nconst WrappedSwitch = React.forwardRef(\n (props: SwitchProps, ref: ForwardedRef<HTMLLabelElement>) => (\n <Switch switchRef={ref} {...props} />\n ),\n);\n\nWrappedSwitch.displayName = \"Switch\";\n\nexport { WrappedSwitch as Switch };\n"],"names":["Switch","withFormControl","children","indeterminate","onContrast","label","size","switchRef","rest","_computedVariant","useMemo","jsxs","CSwitch.Root","jsx","CSwitch.HiddenInput","CSwitch.Control","CSwitch.Label","WrappedSwitch","React","props","ref"],"mappings":"qJAgBMA,EAASC,EAAA,gBACb,CAAC,CACC,SAAAC,EACA,cAAAC,EAAgB,GAChB,WAAAC,EAEA,MAAAC,EACA,KAAAC,EAAO,KACP,UAAAC,EACA,GAAGC,CAAA,IACiC,CAC9B,MAAAC,EAAmBC,EAAAA,QAAQ,IAC3BP,EACKC,EAAa,0BAA4B,gBAEzCA,EAAa,aAAe,UAEpC,CAACD,EAAeC,CAAU,CAAC,EAG5B,OAAAO,EAAA,kBAAA,KAACC,EAAQ,WAAR,CACC,UAAU,SACV,cAAY,gBACZ,IAAKL,EACL,KAAAD,EACA,QAASG,EACR,GAAGD,EAEJ,SAAA,CAAAK,EAAA,kBAAA,IAACC,EAAQ,kBAAR,CACC,UAAU,eACV,cAAY,qBAAA,CACd,EACAD,EAAA,kBAAA,IAACE,EAAQ,cAAR,CACC,UAAU,iBACV,cAAY,uBAAA,CACd,EACC,CAAC,CAACb,2BAAac,EAAQ,YAAR,CAAe,SAAAd,CAAS,CAAA,CAAA,CAAA,CAC1C,CAAA,CAGN,EAEMe,EAAgBC,EAAM,WAC1B,CAACC,EAAoBC,IACnBP,wBAACb,GAAO,UAAWoB,EAAM,GAAGD,CAAO,CAAA,CAEvC,EAEAF,EAAc,YAAc"}
@@ -1,5 +1,5 @@
1
1
  import { x as a } from "./vendor-BBfll6i3.js";
2
- import { I as r } from "./icon.component-B-BWWGO3.js";
2
+ import { I as r } from "./icon.component-w5bWbfVU.js";
3
3
  import { N as d } from "./notificationCounter.component-CSuqzMTF.js";
4
4
  import { W as n } from "./heading.component-B8niLTxz.js";
5
5
  import { W as c, X as x, Y as T, Z as f } from "./chakra-BqBkjpvZ.js";
@@ -84,4 +84,4 @@ const j = {
84
84
  export {
85
85
  C as T
86
86
  };
87
- //# sourceMappingURL=tabs.component-DaUZITBw.js.map
87
+ //# sourceMappingURL=tabs.component-Bp1Lu8Xb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.component-DaUZITBw.js","sources":["../../src/components/Tabs/components/Tab/tab.records.ts","../../src/components/Tabs/components/Tab/tab.component.tsx","../../src/components/Tabs/tabs.component.tsx"],"sourcesContent":["import { TabSize } from \"./tab.types\";\nimport { NotificationCounterSize } from \"components/NotificationCounter/notificationCounter.types\";\nimport { HeadingSize } from \"components/Heading/heading.types\";\n\nexport const tabNotificationCounterSize: Record<\n TabSize,\n NotificationCounterSize\n> = {\n xs: \"sm\",\n sm: \"md\",\n md: \"md\",\n lg: \"lg\",\n};\n\nexport const tabLabelSize: Record<TabSize, HeadingSize> = {\n xs: \"xs\",\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React from \"react\";\nimport { Tabs } from \"@chakra-ui/react/tabs\";\nimport { Icon, IconName } from \"components/Icon\";\nimport {\n NotificationCounter,\n NotificationCounterProps,\n} from \"components/NotificationCounter/notificationCounter.component\";\nimport { TabIconPosition, TabSize } from \"./tab.types\";\nimport { tabLabelSize, tabNotificationCounterSize } from \"./tab.records\";\nimport { Heading } from \"components/Heading/heading.component\";\n\nexport interface TabProps extends Tabs.TriggerProps {\n iconName?: IconName;\n iconPosition?: TabIconPosition;\n label: string;\n notificationCounterProps?: Omit<NotificationCounterProps, \"size\">;\n showNotificationCounter?: boolean;\n size?: TabSize;\n}\n\nexport const Tab = ({\n iconName,\n iconPosition = \"left\",\n label,\n notificationCounterProps,\n showNotificationCounter,\n size = \"md\",\n ...rest\n}: TabProps): React.JSX.Element => {\n return (\n <Tabs.Trigger className=\"Tab\" data-testid=\"kibble-tab\" {...rest}>\n {!!iconName && iconPosition === \"left\" && (\n <Icon\n className=\"Tab__Icon\"\n data-testid=\"kibble-tab-icon\"\n name={iconName}\n size={size}\n variant=\"default\"\n />\n )}\n <Heading\n className=\"Tab__Label\"\n data-testid=\"kibble-tab-label\"\n size={tabLabelSize[size]}\n >\n {label}\n </Heading>\n {!!iconName && iconPosition === \"right\" && (\n <Icon\n className=\"Tab__Icon\"\n data-testid=\"kibble-tab-icon\"\n name={iconName}\n size={size}\n />\n )}\n {showNotificationCounter && (\n <NotificationCounter\n className=\"Tab__NotificationCounter\"\n data-testid=\"kibble-tab-notification-counter\"\n {...notificationCounterProps}\n size={tabNotificationCounterSize[size]}\n />\n )}\n </Tabs.Trigger>\n );\n};\n","import React from \"react\";\nimport { Tabs as CTabs } from \"@chakra-ui/react/tabs\";\nimport { TabSize } from \"./components/Tab/tab.types\";\nimport { Tab, TabProps } from \"./components/Tab/tab.component\";\nimport { Alignment } from \"shared/types/alignment\";\n\nexport interface TabsProps\n extends Omit<CTabs.RootProps, \"onChange\" | \"variant\"> {\n align?: Alignment;\n onChange?: (value: string) => void;\n size?: TabSize;\n tabs: TabProps[];\n tabsContents?: CTabs.ContentProps[];\n}\n\nexport const Tabs = ({\n align = \"start\",\n onChange,\n size = \"md\",\n tabs,\n tabsContents,\n ...rest\n}: TabsProps): React.JSX.Element => {\n return (\n <CTabs.Root\n className=\"Tabs\"\n data-testid=\"kibble-tabs\"\n justify={align || rest.justify}\n size={size}\n onValueChange={({ value }) => onChange?.(value)}\n {...rest}\n >\n <CTabs.List className=\"Tabs__List\" data-testid=\"kibble-tabs-list\">\n {tabs.map((tab, index) => (\n <Tab key={`tab-${index}`} {...tab} />\n ))}\n </CTabs.List>\n {!!tabsContents &&\n tabsContents.map((tabContent, index) => (\n <CTabs.Content key={`tabContent-${index}`} {...tabContent} />\n ))}\n </CTabs.Root>\n );\n};\n"],"names":["tabNotificationCounterSize","tabLabelSize","Tab","iconName","iconPosition","label","notificationCounterProps","showNotificationCounter","size","rest","jsxs","Tabs.Trigger","jsx","Icon","Heading","NotificationCounter","Tabs","align","onChange","tabs","tabsContents","CTabs.Root","value","CTabs.List","tab","index","tabContent","CTabs.Content"],"mappings":";;;;;AAIO,MAAMA,IAGT;AAAA,EACF,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAA6C;AAAA,EACxD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GCCaC,IAAM,CAAC;AAAA,EAClB,UAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,OAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,MAEIC,gBAAAA,EAAA,KAACC,GAAA,EAAa,WAAU,OAAM,eAAY,cAAc,GAAGF,GACxD,UAAA;AAAA,EAAC,CAAA,CAACN,KAAYC,MAAiB,UAC9BQ,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,MAAMV;AAAA,MACN,MAAAK;AAAA,MACA,SAAQ;AAAA,IAAA;AAAA,EACV;AAAA,EAEFI,gBAAAA,EAAA;AAAA,IAACE;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,MAAMb,EAAaO,CAAI;AAAA,MAEtB,UAAAH;AAAA,IAAA;AAAA,EACH;AAAA,EACC,CAAC,CAACF,KAAYC,MAAiB,WAC9BQ,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,MAAMV;AAAA,MACN,MAAAK;AAAA,IAAA;AAAA,EACF;AAAA,EAEDD,KACCK,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACX,GAAGT;AAAA,MACJ,MAAMN,EAA2BQ,CAAI;AAAA,IAAA;AAAA,EAAA;AACvC,GAEJ,GChDSQ,IAAO,CAAC;AAAA,EACnB,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,MAAAV,IAAO;AAAA,EACP,MAAAW;AAAA,EACA,cAAAC;AAAA,EACA,GAAGX;AACL,MAEIC,gBAAAA,EAAA;AAAA,EAACW;AAAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAY;AAAA,IACZ,SAASJ,KAASR,EAAK;AAAA,IACvB,MAAAD;AAAA,IACA,eAAe,CAAC,EAAE,OAAAc,QAAYJ,IAAWI,CAAK;AAAA,IAC7C,GAAGb;AAAA,IAEJ,UAAA;AAAA,MAACG,gBAAAA,MAAAW,GAAA,EAAW,WAAU,cAAa,eAAY,oBAC5C,YAAK,IAAI,CAACC,GAAKC,MACdb,gBAAAA,EAAA,IAACV,KAA0B,GAAGsB,EAAA,GAApB,OAAOC,CAAK,EAAa,CACpC,GACH;AAAA,MACC,CAAC,CAACL,KACDA,EAAa,IAAI,CAACM,GAAYD,MAC3Bb,gBAAAA,EAAAA,IAAAe,GAAA,EAA2C,GAAGD,KAA3B,cAAcD,CAAK,EAAoB,CAC5D;AAAA,IAAA;AAAA,EAAA;AACL;"}
1
+ {"version":3,"file":"tabs.component-Bp1Lu8Xb.js","sources":["../../src/components/Tabs/components/Tab/tab.records.ts","../../src/components/Tabs/components/Tab/tab.component.tsx","../../src/components/Tabs/tabs.component.tsx"],"sourcesContent":["import { TabSize } from \"./tab.types\";\nimport { NotificationCounterSize } from \"components/NotificationCounter/notificationCounter.types\";\nimport { HeadingSize } from \"components/Heading/heading.types\";\n\nexport const tabNotificationCounterSize: Record<\n TabSize,\n NotificationCounterSize\n> = {\n xs: \"sm\",\n sm: \"md\",\n md: \"md\",\n lg: \"lg\",\n};\n\nexport const tabLabelSize: Record<TabSize, HeadingSize> = {\n xs: \"xs\",\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React from \"react\";\nimport { Tabs } from \"@chakra-ui/react/tabs\";\nimport { Icon, IconName } from \"components/Icon\";\nimport {\n NotificationCounter,\n NotificationCounterProps,\n} from \"components/NotificationCounter/notificationCounter.component\";\nimport { TabIconPosition, TabSize } from \"./tab.types\";\nimport { tabLabelSize, tabNotificationCounterSize } from \"./tab.records\";\nimport { Heading } from \"components/Heading/heading.component\";\n\nexport interface TabProps extends Tabs.TriggerProps {\n iconName?: IconName;\n iconPosition?: TabIconPosition;\n label: string;\n notificationCounterProps?: Omit<NotificationCounterProps, \"size\">;\n showNotificationCounter?: boolean;\n size?: TabSize;\n}\n\nexport const Tab = ({\n iconName,\n iconPosition = \"left\",\n label,\n notificationCounterProps,\n showNotificationCounter,\n size = \"md\",\n ...rest\n}: TabProps): React.JSX.Element => {\n return (\n <Tabs.Trigger className=\"Tab\" data-testid=\"kibble-tab\" {...rest}>\n {!!iconName && iconPosition === \"left\" && (\n <Icon\n className=\"Tab__Icon\"\n data-testid=\"kibble-tab-icon\"\n name={iconName}\n size={size}\n variant=\"default\"\n />\n )}\n <Heading\n className=\"Tab__Label\"\n data-testid=\"kibble-tab-label\"\n size={tabLabelSize[size]}\n >\n {label}\n </Heading>\n {!!iconName && iconPosition === \"right\" && (\n <Icon\n className=\"Tab__Icon\"\n data-testid=\"kibble-tab-icon\"\n name={iconName}\n size={size}\n />\n )}\n {showNotificationCounter && (\n <NotificationCounter\n className=\"Tab__NotificationCounter\"\n data-testid=\"kibble-tab-notification-counter\"\n {...notificationCounterProps}\n size={tabNotificationCounterSize[size]}\n />\n )}\n </Tabs.Trigger>\n );\n};\n","import React from \"react\";\nimport { Tabs as CTabs } from \"@chakra-ui/react/tabs\";\nimport { TabSize } from \"./components/Tab/tab.types\";\nimport { Tab, TabProps } from \"./components/Tab/tab.component\";\nimport { Alignment } from \"shared/types/alignment\";\n\nexport interface TabsProps\n extends Omit<CTabs.RootProps, \"onChange\" | \"variant\"> {\n align?: Alignment;\n onChange?: (value: string) => void;\n size?: TabSize;\n tabs: TabProps[];\n tabsContents?: CTabs.ContentProps[];\n}\n\nexport const Tabs = ({\n align = \"start\",\n onChange,\n size = \"md\",\n tabs,\n tabsContents,\n ...rest\n}: TabsProps): React.JSX.Element => {\n return (\n <CTabs.Root\n className=\"Tabs\"\n data-testid=\"kibble-tabs\"\n justify={align || rest.justify}\n size={size}\n onValueChange={({ value }) => onChange?.(value)}\n {...rest}\n >\n <CTabs.List className=\"Tabs__List\" data-testid=\"kibble-tabs-list\">\n {tabs.map((tab, index) => (\n <Tab key={`tab-${index}`} {...tab} />\n ))}\n </CTabs.List>\n {!!tabsContents &&\n tabsContents.map((tabContent, index) => (\n <CTabs.Content key={`tabContent-${index}`} {...tabContent} />\n ))}\n </CTabs.Root>\n );\n};\n"],"names":["tabNotificationCounterSize","tabLabelSize","Tab","iconName","iconPosition","label","notificationCounterProps","showNotificationCounter","size","rest","jsxs","Tabs.Trigger","jsx","Icon","Heading","NotificationCounter","Tabs","align","onChange","tabs","tabsContents","CTabs.Root","value","CTabs.List","tab","index","tabContent","CTabs.Content"],"mappings":";;;;;AAIO,MAAMA,IAGT;AAAA,EACF,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEaC,IAA6C;AAAA,EACxD,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GCCaC,IAAM,CAAC;AAAA,EAClB,UAAAC;AAAA,EACA,cAAAC,IAAe;AAAA,EACf,OAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,MAEIC,gBAAAA,EAAA,KAACC,GAAA,EAAa,WAAU,OAAM,eAAY,cAAc,GAAGF,GACxD,UAAA;AAAA,EAAC,CAAA,CAACN,KAAYC,MAAiB,UAC9BQ,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,MAAMV;AAAA,MACN,MAAAK;AAAA,MACA,SAAQ;AAAA,IAAA;AAAA,EACV;AAAA,EAEFI,gBAAAA,EAAA;AAAA,IAACE;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,MAAMb,EAAaO,CAAI;AAAA,MAEtB,UAAAH;AAAA,IAAA;AAAA,EACH;AAAA,EACC,CAAC,CAACF,KAAYC,MAAiB,WAC9BQ,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACZ,MAAMV;AAAA,MACN,MAAAK;AAAA,IAAA;AAAA,EACF;AAAA,EAEDD,KACCK,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,eAAY;AAAA,MACX,GAAGT;AAAA,MACJ,MAAMN,EAA2BQ,CAAI;AAAA,IAAA;AAAA,EAAA;AACvC,GAEJ,GChDSQ,IAAO,CAAC;AAAA,EACnB,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,MAAAV,IAAO;AAAA,EACP,MAAAW;AAAA,EACA,cAAAC;AAAA,EACA,GAAGX;AACL,MAEIC,gBAAAA,EAAA;AAAA,EAACW;AAAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,eAAY;AAAA,IACZ,SAASJ,KAASR,EAAK;AAAA,IACvB,MAAAD;AAAA,IACA,eAAe,CAAC,EAAE,OAAAc,QAAYJ,IAAWI,CAAK;AAAA,IAC7C,GAAGb;AAAA,IAEJ,UAAA;AAAA,MAACG,gBAAAA,MAAAW,GAAA,EAAW,WAAU,cAAa,eAAY,oBAC5C,YAAK,IAAI,CAACC,GAAKC,MACdb,gBAAAA,EAAA,IAACV,KAA0B,GAAGsB,EAAA,GAApB,OAAOC,CAAK,EAAa,CACpC,GACH;AAAA,MACC,CAAC,CAACL,KACDA,EAAa,IAAI,CAACM,GAAYD,MAC3Bb,gBAAAA,EAAAA,IAAAe,GAAA,EAA2C,GAAGD,KAA3B,cAAcD,CAAK,EAAoB,CAC5D;AAAA,IAAA;AAAA,EAAA;AACL;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./vendor-D-x6W6ez.js"),m=require("./icon.component-Bmtf4XKw.js"),x=require("./notificationCounter.component-BH6anjzq.js"),d=require("./heading.component-CExbjSBi.js"),o=require("./chakra-DmF8Cxqs.js"),l={xs:"sm",sm:"md",md:"md",lg:"lg"},u={xs:"xs",sm:"xs",md:"sm",lg:"md"},j=({iconName:e,iconPosition:i="left",label:b,notificationCounterProps:r,showNotificationCounter:n,size:s="md",...a})=>t.jsxRuntimeExports.jsxs(o.TabsTrigger,{className:"Tab","data-testid":"kibble-tab",...a,children:[!!e&&i==="left"&&t.jsxRuntimeExports.jsx(m.Icon,{className:"Tab__Icon","data-testid":"kibble-tab-icon",name:e,size:s,variant:"default"}),t.jsxRuntimeExports.jsx(d.WrappedHeading,{className:"Tab__Label","data-testid":"kibble-tab-label",size:u[s],children:b}),!!e&&i==="right"&&t.jsxRuntimeExports.jsx(m.Icon,{className:"Tab__Icon","data-testid":"kibble-tab-icon",name:e,size:s}),n&&t.jsxRuntimeExports.jsx(x.NotificationCounter,{className:"Tab__NotificationCounter","data-testid":"kibble-tab-notification-counter",...r,size:l[s]})]}),p=({align:e="start",onChange:i,size:b="md",tabs:r,tabsContents:n,...s})=>t.jsxRuntimeExports.jsxs(o.TabsRoot,{className:"Tabs","data-testid":"kibble-tabs",justify:e||s.justify,size:b,onValueChange:({value:a})=>i?.(a),...s,children:[t.jsxRuntimeExports.jsx(o.TabsList,{className:"Tabs__List","data-testid":"kibble-tabs-list",children:r.map((a,c)=>t.jsxRuntimeExports.jsx(j,{...a},`tab-${c}`))}),!!n&&n.map((a,c)=>t.jsxRuntimeExports.jsx(o.TabsContent,{...a},`tabContent-${c}`))]});exports.Tabs=p;
2
- //# sourceMappingURL=tabs.component-6iPTLCx6.js.map
1
+ "use strict";const t=require("./vendor-D-x6W6ez.js"),m=require("./icon.component-CzjzLiO_.js"),x=require("./notificationCounter.component-BH6anjzq.js"),d=require("./heading.component-CExbjSBi.js"),o=require("./chakra-DmF8Cxqs.js"),l={xs:"sm",sm:"md",md:"md",lg:"lg"},u={xs:"xs",sm:"xs",md:"sm",lg:"md"},j=({iconName:e,iconPosition:i="left",label:b,notificationCounterProps:r,showNotificationCounter:n,size:s="md",...a})=>t.jsxRuntimeExports.jsxs(o.TabsTrigger,{className:"Tab","data-testid":"kibble-tab",...a,children:[!!e&&i==="left"&&t.jsxRuntimeExports.jsx(m.Icon,{className:"Tab__Icon","data-testid":"kibble-tab-icon",name:e,size:s,variant:"default"}),t.jsxRuntimeExports.jsx(d.WrappedHeading,{className:"Tab__Label","data-testid":"kibble-tab-label",size:u[s],children:b}),!!e&&i==="right"&&t.jsxRuntimeExports.jsx(m.Icon,{className:"Tab__Icon","data-testid":"kibble-tab-icon",name:e,size:s}),n&&t.jsxRuntimeExports.jsx(x.NotificationCounter,{className:"Tab__NotificationCounter","data-testid":"kibble-tab-notification-counter",...r,size:l[s]})]}),p=({align:e="start",onChange:i,size:b="md",tabs:r,tabsContents:n,...s})=>t.jsxRuntimeExports.jsxs(o.TabsRoot,{className:"Tabs","data-testid":"kibble-tabs",justify:e||s.justify,size:b,onValueChange:({value:a})=>i?.(a),...s,children:[t.jsxRuntimeExports.jsx(o.TabsList,{className:"Tabs__List","data-testid":"kibble-tabs-list",children:r.map((a,c)=>t.jsxRuntimeExports.jsx(j,{...a},`tab-${c}`))}),!!n&&n.map((a,c)=>t.jsxRuntimeExports.jsx(o.TabsContent,{...a},`tabContent-${c}`))]});exports.Tabs=p;
2
+ //# sourceMappingURL=tabs.component-D6QT597P.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.component-6iPTLCx6.js","sources":["../../src/components/Tabs/components/Tab/tab.records.ts","../../src/components/Tabs/components/Tab/tab.component.tsx","../../src/components/Tabs/tabs.component.tsx"],"sourcesContent":["import { TabSize } from \"./tab.types\";\nimport { NotificationCounterSize } from \"components/NotificationCounter/notificationCounter.types\";\nimport { HeadingSize } from \"components/Heading/heading.types\";\n\nexport const tabNotificationCounterSize: Record<\n TabSize,\n NotificationCounterSize\n> = {\n xs: \"sm\",\n sm: \"md\",\n md: \"md\",\n lg: \"lg\",\n};\n\nexport const tabLabelSize: Record<TabSize, HeadingSize> = {\n xs: \"xs\",\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React from \"react\";\nimport { Tabs } from \"@chakra-ui/react/tabs\";\nimport { Icon, IconName } from \"components/Icon\";\nimport {\n NotificationCounter,\n NotificationCounterProps,\n} from \"components/NotificationCounter/notificationCounter.component\";\nimport { TabIconPosition, TabSize } from \"./tab.types\";\nimport { tabLabelSize, tabNotificationCounterSize } from \"./tab.records\";\nimport { Heading } from \"components/Heading/heading.component\";\n\nexport interface TabProps extends Tabs.TriggerProps {\n iconName?: IconName;\n iconPosition?: TabIconPosition;\n label: string;\n notificationCounterProps?: Omit<NotificationCounterProps, \"size\">;\n showNotificationCounter?: boolean;\n size?: TabSize;\n}\n\nexport const Tab = ({\n iconName,\n iconPosition = \"left\",\n label,\n notificationCounterProps,\n showNotificationCounter,\n size = \"md\",\n ...rest\n}: TabProps): React.JSX.Element => {\n return (\n <Tabs.Trigger className=\"Tab\" data-testid=\"kibble-tab\" {...rest}>\n {!!iconName && iconPosition === \"left\" && (\n <Icon\n className=\"Tab__Icon\"\n data-testid=\"kibble-tab-icon\"\n name={iconName}\n size={size}\n variant=\"default\"\n />\n )}\n <Heading\n className=\"Tab__Label\"\n data-testid=\"kibble-tab-label\"\n size={tabLabelSize[size]}\n >\n {label}\n </Heading>\n {!!iconName && iconPosition === \"right\" && (\n <Icon\n className=\"Tab__Icon\"\n data-testid=\"kibble-tab-icon\"\n name={iconName}\n size={size}\n />\n )}\n {showNotificationCounter && (\n <NotificationCounter\n className=\"Tab__NotificationCounter\"\n data-testid=\"kibble-tab-notification-counter\"\n {...notificationCounterProps}\n size={tabNotificationCounterSize[size]}\n />\n )}\n </Tabs.Trigger>\n );\n};\n","import React from \"react\";\nimport { Tabs as CTabs } from \"@chakra-ui/react/tabs\";\nimport { TabSize } from \"./components/Tab/tab.types\";\nimport { Tab, TabProps } from \"./components/Tab/tab.component\";\nimport { Alignment } from \"shared/types/alignment\";\n\nexport interface TabsProps\n extends Omit<CTabs.RootProps, \"onChange\" | \"variant\"> {\n align?: Alignment;\n onChange?: (value: string) => void;\n size?: TabSize;\n tabs: TabProps[];\n tabsContents?: CTabs.ContentProps[];\n}\n\nexport const Tabs = ({\n align = \"start\",\n onChange,\n size = \"md\",\n tabs,\n tabsContents,\n ...rest\n}: TabsProps): React.JSX.Element => {\n return (\n <CTabs.Root\n className=\"Tabs\"\n data-testid=\"kibble-tabs\"\n justify={align || rest.justify}\n size={size}\n onValueChange={({ value }) => onChange?.(value)}\n {...rest}\n >\n <CTabs.List className=\"Tabs__List\" data-testid=\"kibble-tabs-list\">\n {tabs.map((tab, index) => (\n <Tab key={`tab-${index}`} {...tab} />\n ))}\n </CTabs.List>\n {!!tabsContents &&\n tabsContents.map((tabContent, index) => (\n <CTabs.Content key={`tabContent-${index}`} {...tabContent} />\n ))}\n </CTabs.Root>\n );\n};\n"],"names":["tabNotificationCounterSize","tabLabelSize","Tab","iconName","iconPosition","label","notificationCounterProps","showNotificationCounter","size","rest","jsxs","Tabs.Trigger","jsx","Icon","Heading","NotificationCounter","Tabs","align","onChange","tabs","tabsContents","CTabs.Root","value","CTabs.List","tab","index","tabContent","CTabs.Content"],"mappings":"uOAIaA,EAGT,CACF,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,IACN,EAEaC,EAA6C,CACxD,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,IACN,ECCaC,EAAM,CAAC,CAClB,SAAAC,EACA,aAAAC,EAAe,OACf,MAAAC,EACA,yBAAAC,EACA,wBAAAC,EACA,KAAAC,EAAO,KACP,GAAGC,CACL,IAEIC,EAAA,kBAAA,KAACC,cAAA,CAAa,UAAU,MAAM,cAAY,aAAc,GAAGF,EACxD,SAAA,CAAC,CAAA,CAACN,GAAYC,IAAiB,QAC9BQ,EAAA,kBAAA,IAACC,EAAA,KAAA,CACC,UAAU,YACV,cAAY,kBACZ,KAAMV,EACN,KAAAK,EACA,QAAQ,SAAA,CACV,EAEFI,EAAA,kBAAA,IAACE,EAAA,eAAA,CACC,UAAU,aACV,cAAY,mBACZ,KAAMb,EAAaO,CAAI,EAEtB,SAAAH,CAAA,CACH,EACC,CAAC,CAACF,GAAYC,IAAiB,SAC9BQ,EAAA,kBAAA,IAACC,EAAA,KAAA,CACC,UAAU,YACV,cAAY,kBACZ,KAAMV,EACN,KAAAK,CAAA,CACF,EAEDD,GACCK,EAAA,kBAAA,IAACG,EAAA,oBAAA,CACC,UAAU,2BACV,cAAY,kCACX,GAAGT,EACJ,KAAMN,EAA2BQ,CAAI,CAAA,CAAA,CACvC,EAEJ,EChDSQ,EAAO,CAAC,CACnB,MAAAC,EAAQ,QACR,SAAAC,EACA,KAAAV,EAAO,KACP,KAAAW,EACA,aAAAC,EACA,GAAGX,CACL,IAEIC,EAAA,kBAAA,KAACW,EAAM,SAAN,CACC,UAAU,OACV,cAAY,cACZ,QAASJ,GAASR,EAAK,QACvB,KAAAD,EACA,cAAe,CAAC,CAAE,MAAAc,KAAYJ,IAAWI,CAAK,EAC7C,GAAGb,EAEJ,SAAA,CAACG,wBAAAW,EAAAA,SAAA,CAAW,UAAU,aAAa,cAAY,mBAC5C,WAAK,IAAI,CAACC,EAAKC,IACdb,EAAA,kBAAA,IAACV,GAA0B,GAAGsB,CAAA,EAApB,OAAOC,CAAK,EAAa,CACpC,EACH,EACC,CAAC,CAACL,GACDA,EAAa,IAAI,CAACM,EAAYD,IAC3Bb,EAAAA,kBAAAA,IAAAe,EAAAA,YAAA,CAA2C,GAAGD,GAA3B,cAAcD,CAAK,EAAoB,CAC5D,CAAA,CAAA,CACL"}
1
+ {"version":3,"file":"tabs.component-D6QT597P.js","sources":["../../src/components/Tabs/components/Tab/tab.records.ts","../../src/components/Tabs/components/Tab/tab.component.tsx","../../src/components/Tabs/tabs.component.tsx"],"sourcesContent":["import { TabSize } from \"./tab.types\";\nimport { NotificationCounterSize } from \"components/NotificationCounter/notificationCounter.types\";\nimport { HeadingSize } from \"components/Heading/heading.types\";\n\nexport const tabNotificationCounterSize: Record<\n TabSize,\n NotificationCounterSize\n> = {\n xs: \"sm\",\n sm: \"md\",\n md: \"md\",\n lg: \"lg\",\n};\n\nexport const tabLabelSize: Record<TabSize, HeadingSize> = {\n xs: \"xs\",\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React from \"react\";\nimport { Tabs } from \"@chakra-ui/react/tabs\";\nimport { Icon, IconName } from \"components/Icon\";\nimport {\n NotificationCounter,\n NotificationCounterProps,\n} from \"components/NotificationCounter/notificationCounter.component\";\nimport { TabIconPosition, TabSize } from \"./tab.types\";\nimport { tabLabelSize, tabNotificationCounterSize } from \"./tab.records\";\nimport { Heading } from \"components/Heading/heading.component\";\n\nexport interface TabProps extends Tabs.TriggerProps {\n iconName?: IconName;\n iconPosition?: TabIconPosition;\n label: string;\n notificationCounterProps?: Omit<NotificationCounterProps, \"size\">;\n showNotificationCounter?: boolean;\n size?: TabSize;\n}\n\nexport const Tab = ({\n iconName,\n iconPosition = \"left\",\n label,\n notificationCounterProps,\n showNotificationCounter,\n size = \"md\",\n ...rest\n}: TabProps): React.JSX.Element => {\n return (\n <Tabs.Trigger className=\"Tab\" data-testid=\"kibble-tab\" {...rest}>\n {!!iconName && iconPosition === \"left\" && (\n <Icon\n className=\"Tab__Icon\"\n data-testid=\"kibble-tab-icon\"\n name={iconName}\n size={size}\n variant=\"default\"\n />\n )}\n <Heading\n className=\"Tab__Label\"\n data-testid=\"kibble-tab-label\"\n size={tabLabelSize[size]}\n >\n {label}\n </Heading>\n {!!iconName && iconPosition === \"right\" && (\n <Icon\n className=\"Tab__Icon\"\n data-testid=\"kibble-tab-icon\"\n name={iconName}\n size={size}\n />\n )}\n {showNotificationCounter && (\n <NotificationCounter\n className=\"Tab__NotificationCounter\"\n data-testid=\"kibble-tab-notification-counter\"\n {...notificationCounterProps}\n size={tabNotificationCounterSize[size]}\n />\n )}\n </Tabs.Trigger>\n );\n};\n","import React from \"react\";\nimport { Tabs as CTabs } from \"@chakra-ui/react/tabs\";\nimport { TabSize } from \"./components/Tab/tab.types\";\nimport { Tab, TabProps } from \"./components/Tab/tab.component\";\nimport { Alignment } from \"shared/types/alignment\";\n\nexport interface TabsProps\n extends Omit<CTabs.RootProps, \"onChange\" | \"variant\"> {\n align?: Alignment;\n onChange?: (value: string) => void;\n size?: TabSize;\n tabs: TabProps[];\n tabsContents?: CTabs.ContentProps[];\n}\n\nexport const Tabs = ({\n align = \"start\",\n onChange,\n size = \"md\",\n tabs,\n tabsContents,\n ...rest\n}: TabsProps): React.JSX.Element => {\n return (\n <CTabs.Root\n className=\"Tabs\"\n data-testid=\"kibble-tabs\"\n justify={align || rest.justify}\n size={size}\n onValueChange={({ value }) => onChange?.(value)}\n {...rest}\n >\n <CTabs.List className=\"Tabs__List\" data-testid=\"kibble-tabs-list\">\n {tabs.map((tab, index) => (\n <Tab key={`tab-${index}`} {...tab} />\n ))}\n </CTabs.List>\n {!!tabsContents &&\n tabsContents.map((tabContent, index) => (\n <CTabs.Content key={`tabContent-${index}`} {...tabContent} />\n ))}\n </CTabs.Root>\n );\n};\n"],"names":["tabNotificationCounterSize","tabLabelSize","Tab","iconName","iconPosition","label","notificationCounterProps","showNotificationCounter","size","rest","jsxs","Tabs.Trigger","jsx","Icon","Heading","NotificationCounter","Tabs","align","onChange","tabs","tabsContents","CTabs.Root","value","CTabs.List","tab","index","tabContent","CTabs.Content"],"mappings":"uOAIaA,EAGT,CACF,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,IACN,EAEaC,EAA6C,CACxD,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,IACN,ECCaC,EAAM,CAAC,CAClB,SAAAC,EACA,aAAAC,EAAe,OACf,MAAAC,EACA,yBAAAC,EACA,wBAAAC,EACA,KAAAC,EAAO,KACP,GAAGC,CACL,IAEIC,EAAA,kBAAA,KAACC,cAAA,CAAa,UAAU,MAAM,cAAY,aAAc,GAAGF,EACxD,SAAA,CAAC,CAAA,CAACN,GAAYC,IAAiB,QAC9BQ,EAAA,kBAAA,IAACC,EAAA,KAAA,CACC,UAAU,YACV,cAAY,kBACZ,KAAMV,EACN,KAAAK,EACA,QAAQ,SAAA,CACV,EAEFI,EAAA,kBAAA,IAACE,EAAA,eAAA,CACC,UAAU,aACV,cAAY,mBACZ,KAAMb,EAAaO,CAAI,EAEtB,SAAAH,CAAA,CACH,EACC,CAAC,CAACF,GAAYC,IAAiB,SAC9BQ,EAAA,kBAAA,IAACC,EAAA,KAAA,CACC,UAAU,YACV,cAAY,kBACZ,KAAMV,EACN,KAAAK,CAAA,CACF,EAEDD,GACCK,EAAA,kBAAA,IAACG,EAAA,oBAAA,CACC,UAAU,2BACV,cAAY,kCACX,GAAGT,EACJ,KAAMN,EAA2BQ,CAAI,CAAA,CAAA,CACvC,EAEJ,EChDSQ,EAAO,CAAC,CACnB,MAAAC,EAAQ,QACR,SAAAC,EACA,KAAAV,EAAO,KACP,KAAAW,EACA,aAAAC,EACA,GAAGX,CACL,IAEIC,EAAA,kBAAA,KAACW,EAAM,SAAN,CACC,UAAU,OACV,cAAY,cACZ,QAASJ,GAASR,EAAK,QACvB,KAAAD,EACA,cAAe,CAAC,CAAE,MAAAc,KAAYJ,IAAWI,CAAK,EAC7C,GAAGb,EAEJ,SAAA,CAACG,wBAAAW,EAAAA,SAAA,CAAW,UAAU,aAAa,cAAY,mBAC5C,WAAK,IAAI,CAACC,EAAKC,IACdb,EAAA,kBAAA,IAACV,GAA0B,GAAGsB,CAAA,EAApB,OAAOC,CAAK,EAAa,CACpC,EACH,EACC,CAAC,CAACL,GACDA,EAAa,IAAI,CAACM,EAAYD,IAC3Bb,EAAAA,kBAAAA,IAAAe,EAAAA,YAAA,CAA2C,GAAGD,GAA3B,cAAcD,CAAK,EAAoB,CAC5D,CAAA,CAAA,CACL"}
@@ -1,8 +1,8 @@
1
1
  import { x as e } from "./vendor-BBfll6i3.js";
2
2
  import T, { useCallback as g } from "react";
3
- import { B as k } from "./button.component-BiW8RE1U.js";
3
+ import { B as k } from "./button.component-CA9bIFbq.js";
4
4
  import { W as N } from "./heading.component-B8niLTxz.js";
5
- import { M as v } from "./menu.component-CR9SH_jk.js";
5
+ import { M as v } from "./menu.component-Bscyjw7R.js";
6
6
  import { S as w } from "./spinner.component-D5tkelNc.js";
7
7
  import { T as W } from "./tag.component-A__B03TA.js";
8
8
  import { W as h } from "./text.component-XYjOAc2s.js";
@@ -182,4 +182,4 @@ export {
182
182
  E as T,
183
183
  d as a
184
184
  };
185
- //# sourceMappingURL=tagBlock.component-Ch60_R7X.js.map
185
+ //# sourceMappingURL=tagBlock.component-B99Qzj2K.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagBlock.component-Ch60_R7X.js","sources":["../../src/patterns/TagBlock/tagBlock.types.ts","../../src/patterns/TagBlock/tagBlock.component.tsx"],"sourcesContent":["export enum TagDisabledState {\n Inactive = \"Inactive\",\n Deleted = \"Deleted\",\n}\n\nexport interface TagBlockTag {\n label: string;\n value: string;\n groupLabel?: string;\n}\n","import React, { useCallback } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { Tag } from \"components/Tag/tag.component\";\nimport { Text } from \"components/Text/text.component\";\nimport { TagBlockTag, TagDisabledState } from \"./tagBlock.types\";\nimport { MenuButtonProps } from \"components/Menu/components/MenuButton/menuButton.components\";\n\ninterface BaseTagBlockProps {\n displayTagsInGroups?: boolean;\n errorText?: string;\n hasError?: boolean;\n loading?: boolean;\n menuProps?: MenuProps;\n onClearAll?: () => void;\n onRemoveTag?: (tag: string, selectedTags: TagBlockTag[]) => void;\n tags: TagBlockTag[];\n title?: string;\n}\n\ninterface DefaultTagBlockProps extends BaseTagBlockProps {\n canBeDeleted?: false;\n onDelete?: never;\n}\n\ninterface DeletableTagBlockProps extends BaseTagBlockProps {\n canBeDeleted: true;\n onDelete: () => void;\n}\n\nexport type TagBlockProps = DefaultTagBlockProps | DeletableTagBlockProps;\n\nconst defaultMenuButtonProps: MenuButtonProps = {\n size: \"sm\",\n variant: \"secondarySubtle\",\n iconName: \"plus\",\n text: \"Add\",\n hideCaret: true,\n};\n\nexport const TagBlock = ({\n title,\n menuProps,\n tags,\n canBeDeleted = false,\n onClearAll,\n onRemoveTag,\n onDelete,\n hasError = false,\n errorText = \"This field contains an error\",\n displayTagsInGroups,\n loading = false,\n}: TagBlockProps): React.JSX.Element => {\n const handleRemoveTag = useCallback(\n (value: string): void => {\n if (onRemoveTag) {\n onRemoveTag(value, tags);\n }\n },\n [onRemoveTag, tags],\n );\n\n const tagsByGroup = React.useMemo(() => {\n if (!displayTagsInGroups) {\n return [];\n }\n const grouped = {} as Record<string, TagBlockTag[]>;\n for (const tag of tags) {\n const group = tag.groupLabel || \"-\";\n if (!grouped[group]) {\n grouped[group] = [];\n }\n grouped[group].push(tag);\n }\n return Object.entries(grouped).map(([groupLabel, tags]) => ({\n groupLabel,\n tags,\n }));\n }, [tags, displayTagsInGroups]);\n\n const renderTags = useCallback(\n (tags: TagBlockTag[]) => {\n return tags.map((tag) => {\n const isDisabled =\n tag.label.includes(TagDisabledState.Inactive) ||\n tag.label.includes(TagDisabledState.Deleted);\n\n return (\n <Tag\n className=\"TagBlock__Tag\"\n data-testid=\"kibble-tag-block-tag\"\n mr={1}\n mb={1}\n key={tag.value}\n label={tag.label}\n onClose={(): void => handleRemoveTag(tag.value)}\n closeButtonDisplay=\"always\"\n fontWeight=\"normal\"\n color={isDisabled ? \"text.placeholder\" : \"text\"}\n size=\"md\"\n />\n );\n });\n },\n [handleRemoveTag],\n );\n\n return (\n <Box\n className=\"TagBlock\"\n data-testid=\"kibble-tag-block\"\n position=\"relative\"\n mb={3}\n py={2}\n pl={4}\n pr={2}\n bg=\"background.subtle\"\n borderRadius=\"lg\"\n boxShadow={hasError ? `0 0 0 2px var(--chakra-colors-border-danger)` : \"\"}\n border=\"1px\"\n borderColor=\"border\"\n overflow={loading ? \"hidden\" : undefined}\n >\n <Flex\n className=\"TagBlock__ButtonContainer\"\n data-testid=\"kibble-tag-block-button-container\"\n justifyContent=\"space-between\"\n >\n <HStack gap={1} minH={10}>\n {title && (\n <Text className=\"TagBlock__Title\" mr={2} fontWeight=\"bold\">\n {title}\n </Text>\n )}\n <Menu\n data-testid=\"kibble-tag-block-menu\"\n {...menuProps}\n buttonProps={menuProps?.buttonProps || defaultMenuButtonProps}\n />\n <Button\n className=\"TagBlock__Button--ClearAll\"\n data-testid=\"kibble-tag-block-clear-all-button\"\n size=\"sm\"\n iconName=\"arrowCircle\"\n variant=\"ghostNeutral\"\n onClick={onClearAll}\n disabled={tags.length <= 0}\n >\n Clear All\n </Button>\n </HStack>\n {canBeDeleted && (\n <Box>\n <Button\n className=\"TagBlock__Button--Delete\"\n data-testid=\"kibble-tag-block-delete-button\"\n iconName=\"trashcan\"\n variant=\"ghostNeutral\"\n onClick={onDelete}\n justifySelf=\"flex-end\"\n />\n </Box>\n )}\n </Flex>\n {Boolean(tags.length) && (\n <Flex\n className=\"TagBlock__TagContainer\"\n data-testid=\"kibble-tag-block-tag-container\"\n mt={2}\n pb={1}\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {displayTagsInGroups && tagsByGroup.length ? (\n <Flex direction=\"column\">\n {tagsByGroup.map(({ groupLabel, tags }) => (\n <Box key={groupLabel} mb={2}>\n <Box\n className=\"TagBlock__GroupTitle\"\n data-testid=\"kibble-tag-block-group-title\"\n >\n <Heading size=\"xs\" pb={2}>\n {groupLabel}\n </Heading>\n </Box>\n <Flex\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderTags(tags)}\n </Flex>\n </Box>\n ))}\n </Flex>\n ) : (\n renderTags(tags)\n )}\n </Flex>\n )}\n {loading && <Spinner fullScreen />}\n {hasError && (\n <Text\n className=\"TagBlock__Error\"\n data-testid=\"kibble-tag-block-error\"\n mt={2}\n size=\"xs\"\n as=\"p\"\n variant=\"danger\"\n >\n {errorText}\n </Text>\n )}\n </Box>\n );\n};\n"],"names":["TagDisabledState","defaultMenuButtonProps","TagBlock","title","menuProps","tags","canBeDeleted","onClearAll","onRemoveTag","onDelete","hasError","errorText","displayTagsInGroups","loading","handleRemoveTag","useCallback","value","tagsByGroup","React","grouped","tag","group","groupLabel","renderTags","isDisabled","jsx","Tag","jsxs","Box","Flex","HStack","Text","Menu","Button","Heading","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"tagBlock.component-B99Qzj2K.js","sources":["../../src/patterns/TagBlock/tagBlock.types.ts","../../src/patterns/TagBlock/tagBlock.component.tsx"],"sourcesContent":["export enum TagDisabledState {\n Inactive = \"Inactive\",\n Deleted = \"Deleted\",\n}\n\nexport interface TagBlockTag {\n label: string;\n value: string;\n groupLabel?: string;\n}\n","import React, { useCallback } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { Tag } from \"components/Tag/tag.component\";\nimport { Text } from \"components/Text/text.component\";\nimport { TagBlockTag, TagDisabledState } from \"./tagBlock.types\";\nimport { MenuButtonProps } from \"components/Menu/components/MenuButton/menuButton.components\";\n\ninterface BaseTagBlockProps {\n displayTagsInGroups?: boolean;\n errorText?: string;\n hasError?: boolean;\n loading?: boolean;\n menuProps?: MenuProps;\n onClearAll?: () => void;\n onRemoveTag?: (tag: string, selectedTags: TagBlockTag[]) => void;\n tags: TagBlockTag[];\n title?: string;\n}\n\ninterface DefaultTagBlockProps extends BaseTagBlockProps {\n canBeDeleted?: false;\n onDelete?: never;\n}\n\ninterface DeletableTagBlockProps extends BaseTagBlockProps {\n canBeDeleted: true;\n onDelete: () => void;\n}\n\nexport type TagBlockProps = DefaultTagBlockProps | DeletableTagBlockProps;\n\nconst defaultMenuButtonProps: MenuButtonProps = {\n size: \"sm\",\n variant: \"secondarySubtle\",\n iconName: \"plus\",\n text: \"Add\",\n hideCaret: true,\n};\n\nexport const TagBlock = ({\n title,\n menuProps,\n tags,\n canBeDeleted = false,\n onClearAll,\n onRemoveTag,\n onDelete,\n hasError = false,\n errorText = \"This field contains an error\",\n displayTagsInGroups,\n loading = false,\n}: TagBlockProps): React.JSX.Element => {\n const handleRemoveTag = useCallback(\n (value: string): void => {\n if (onRemoveTag) {\n onRemoveTag(value, tags);\n }\n },\n [onRemoveTag, tags],\n );\n\n const tagsByGroup = React.useMemo(() => {\n if (!displayTagsInGroups) {\n return [];\n }\n const grouped = {} as Record<string, TagBlockTag[]>;\n for (const tag of tags) {\n const group = tag.groupLabel || \"-\";\n if (!grouped[group]) {\n grouped[group] = [];\n }\n grouped[group].push(tag);\n }\n return Object.entries(grouped).map(([groupLabel, tags]) => ({\n groupLabel,\n tags,\n }));\n }, [tags, displayTagsInGroups]);\n\n const renderTags = useCallback(\n (tags: TagBlockTag[]) => {\n return tags.map((tag) => {\n const isDisabled =\n tag.label.includes(TagDisabledState.Inactive) ||\n tag.label.includes(TagDisabledState.Deleted);\n\n return (\n <Tag\n className=\"TagBlock__Tag\"\n data-testid=\"kibble-tag-block-tag\"\n mr={1}\n mb={1}\n key={tag.value}\n label={tag.label}\n onClose={(): void => handleRemoveTag(tag.value)}\n closeButtonDisplay=\"always\"\n fontWeight=\"normal\"\n color={isDisabled ? \"text.placeholder\" : \"text\"}\n size=\"md\"\n />\n );\n });\n },\n [handleRemoveTag],\n );\n\n return (\n <Box\n className=\"TagBlock\"\n data-testid=\"kibble-tag-block\"\n position=\"relative\"\n mb={3}\n py={2}\n pl={4}\n pr={2}\n bg=\"background.subtle\"\n borderRadius=\"lg\"\n boxShadow={hasError ? `0 0 0 2px var(--chakra-colors-border-danger)` : \"\"}\n border=\"1px\"\n borderColor=\"border\"\n overflow={loading ? \"hidden\" : undefined}\n >\n <Flex\n className=\"TagBlock__ButtonContainer\"\n data-testid=\"kibble-tag-block-button-container\"\n justifyContent=\"space-between\"\n >\n <HStack gap={1} minH={10}>\n {title && (\n <Text className=\"TagBlock__Title\" mr={2} fontWeight=\"bold\">\n {title}\n </Text>\n )}\n <Menu\n data-testid=\"kibble-tag-block-menu\"\n {...menuProps}\n buttonProps={menuProps?.buttonProps || defaultMenuButtonProps}\n />\n <Button\n className=\"TagBlock__Button--ClearAll\"\n data-testid=\"kibble-tag-block-clear-all-button\"\n size=\"sm\"\n iconName=\"arrowCircle\"\n variant=\"ghostNeutral\"\n onClick={onClearAll}\n disabled={tags.length <= 0}\n >\n Clear All\n </Button>\n </HStack>\n {canBeDeleted && (\n <Box>\n <Button\n className=\"TagBlock__Button--Delete\"\n data-testid=\"kibble-tag-block-delete-button\"\n iconName=\"trashcan\"\n variant=\"ghostNeutral\"\n onClick={onDelete}\n justifySelf=\"flex-end\"\n />\n </Box>\n )}\n </Flex>\n {Boolean(tags.length) && (\n <Flex\n className=\"TagBlock__TagContainer\"\n data-testid=\"kibble-tag-block-tag-container\"\n mt={2}\n pb={1}\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {displayTagsInGroups && tagsByGroup.length ? (\n <Flex direction=\"column\">\n {tagsByGroup.map(({ groupLabel, tags }) => (\n <Box key={groupLabel} mb={2}>\n <Box\n className=\"TagBlock__GroupTitle\"\n data-testid=\"kibble-tag-block-group-title\"\n >\n <Heading size=\"xs\" pb={2}>\n {groupLabel}\n </Heading>\n </Box>\n <Flex\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderTags(tags)}\n </Flex>\n </Box>\n ))}\n </Flex>\n ) : (\n renderTags(tags)\n )}\n </Flex>\n )}\n {loading && <Spinner fullScreen />}\n {hasError && (\n <Text\n className=\"TagBlock__Error\"\n data-testid=\"kibble-tag-block-error\"\n mt={2}\n size=\"xs\"\n as=\"p\"\n variant=\"danger\"\n >\n {errorText}\n </Text>\n )}\n </Box>\n );\n};\n"],"names":["TagDisabledState","defaultMenuButtonProps","TagBlock","title","menuProps","tags","canBeDeleted","onClearAll","onRemoveTag","onDelete","hasError","errorText","displayTagsInGroups","loading","handleRemoveTag","useCallback","value","tagsByGroup","React","grouped","tag","group","groupLabel","renderTags","isDisabled","jsx","Tag","jsxs","Box","Flex","HStack","Text","Menu","Button","Heading","Spinner"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./vendor-D-x6W6ez.js"),x=require("react"),j=require("./button.component-Dufh_y5v.js"),R=require("./heading.component-CExbjSBi.js"),C=require("./menu.component-BEj878EN.js"),E=require("./spinner.component-CUuidnSK.js"),T=require("./tag.component-BjOfy3Bw.js"),k=require("./text.component-CBa_saMP.js"),s=require("./chakra-DmF8Cxqs.js");var l=(r=>(r.Inactive="Inactive",r.Deleted="Deleted",r))(l||{});const v={size:"sm",variant:"secondarySubtle",iconName:"plus",text:"Add",hideCaret:!0},N=({title:r,menuProps:u,tags:a,canBeDeleted:h=!1,onClearAll:f,onRemoveTag:i,onDelete:B,hasError:d=!1,errorText:_="This field contains an error",displayTagsInGroups:c,loading:b=!1})=>{const p=x.useCallback(n=>{i&&i(n,a)},[i,a]),m=x.useMemo(()=>{if(!c)return[];const n={};for(const t of a){const o=t.groupLabel||"-";n[o]||(n[o]=[]),n[o].push(t)}return Object.entries(n).map(([t,o])=>({groupLabel:t,tags:o}))},[a,c]),g=x.useCallback(n=>n.map(t=>{const o=t.label.includes(l.Inactive)||t.label.includes(l.Deleted);return e.jsxRuntimeExports.jsx(T.Tag,{className:"TagBlock__Tag","data-testid":"kibble-tag-block-tag",mr:1,mb:1,label:t.label,onClose:()=>p(t.value),closeButtonDisplay:"always",fontWeight:"normal",color:o?"text.placeholder":"text",size:"md"},t.value)}),[p]);return e.jsxRuntimeExports.jsxs(s.Box,{className:"TagBlock","data-testid":"kibble-tag-block",position:"relative",mb:3,py:2,pl:4,pr:2,bg:"background.subtle",borderRadius:"lg",boxShadow:d?"0 0 0 2px var(--chakra-colors-border-danger)":"",border:"1px",borderColor:"border",overflow:b?"hidden":void 0,children:[e.jsxRuntimeExports.jsxs(s.Flex,{className:"TagBlock__ButtonContainer","data-testid":"kibble-tag-block-button-container",justifyContent:"space-between",children:[e.jsxRuntimeExports.jsxs(s.HStack,{gap:1,minH:10,children:[r&&e.jsxRuntimeExports.jsx(k.WrappedText,{className:"TagBlock__Title",mr:2,fontWeight:"bold",children:r}),e.jsxRuntimeExports.jsx(C.Menu,{"data-testid":"kibble-tag-block-menu",...u,buttonProps:u?.buttonProps||v}),e.jsxRuntimeExports.jsx(j.Button,{className:"TagBlock__Button--ClearAll","data-testid":"kibble-tag-block-clear-all-button",size:"sm",iconName:"arrowCircle",variant:"ghostNeutral",onClick:f,disabled:a.length<=0,children:"Clear All"})]}),h&&e.jsxRuntimeExports.jsx(s.Box,{children:e.jsxRuntimeExports.jsx(j.Button,{className:"TagBlock__Button--Delete","data-testid":"kibble-tag-block-delete-button",iconName:"trashcan",variant:"ghostNeutral",onClick:B,justifySelf:"flex-end"})})]}),!!a.length&&e.jsxRuntimeExports.jsx(s.Flex,{className:"TagBlock__TagContainer","data-testid":"kibble-tag-block-tag-container",mt:2,pb:1,alignContent:"space-between",flexWrap:"wrap",justifyContent:"flex-start",alignItems:"flex-start",children:c&&m.length?e.jsxRuntimeExports.jsx(s.Flex,{direction:"column",children:m.map(({groupLabel:n,tags:t})=>e.jsxRuntimeExports.jsxs(s.Box,{mb:2,children:[e.jsxRuntimeExports.jsx(s.Box,{className:"TagBlock__GroupTitle","data-testid":"kibble-tag-block-group-title",children:e.jsxRuntimeExports.jsx(R.WrappedHeading,{size:"xs",pb:2,children:n})}),e.jsxRuntimeExports.jsx(s.Flex,{alignContent:"space-between",flexWrap:"wrap",justifyContent:"flex-start",alignItems:"flex-start",children:g(t)})]},n))}):g(a)}),b&&e.jsxRuntimeExports.jsx(E.Spinner,{fullScreen:!0}),d&&e.jsxRuntimeExports.jsx(k.WrappedText,{className:"TagBlock__Error","data-testid":"kibble-tag-block-error",mt:2,size:"xs",as:"p",variant:"danger",children:_})]})};exports.TagBlock=N;exports.TagDisabledState=l;
2
- //# sourceMappingURL=tagBlock.component-Bx_hcjU4.js.map
1
+ "use strict";const e=require("./vendor-D-x6W6ez.js"),x=require("react"),j=require("./button.component-DDjwI0xh.js"),R=require("./heading.component-CExbjSBi.js"),C=require("./menu.component-BCRZgrRr.js"),E=require("./spinner.component-CUuidnSK.js"),T=require("./tag.component-BjOfy3Bw.js"),k=require("./text.component-CBa_saMP.js"),s=require("./chakra-DmF8Cxqs.js");var l=(r=>(r.Inactive="Inactive",r.Deleted="Deleted",r))(l||{});const v={size:"sm",variant:"secondarySubtle",iconName:"plus",text:"Add",hideCaret:!0},N=({title:r,menuProps:u,tags:a,canBeDeleted:h=!1,onClearAll:f,onRemoveTag:i,onDelete:B,hasError:d=!1,errorText:_="This field contains an error",displayTagsInGroups:c,loading:b=!1})=>{const p=x.useCallback(n=>{i&&i(n,a)},[i,a]),m=x.useMemo(()=>{if(!c)return[];const n={};for(const t of a){const o=t.groupLabel||"-";n[o]||(n[o]=[]),n[o].push(t)}return Object.entries(n).map(([t,o])=>({groupLabel:t,tags:o}))},[a,c]),g=x.useCallback(n=>n.map(t=>{const o=t.label.includes(l.Inactive)||t.label.includes(l.Deleted);return e.jsxRuntimeExports.jsx(T.Tag,{className:"TagBlock__Tag","data-testid":"kibble-tag-block-tag",mr:1,mb:1,label:t.label,onClose:()=>p(t.value),closeButtonDisplay:"always",fontWeight:"normal",color:o?"text.placeholder":"text",size:"md"},t.value)}),[p]);return e.jsxRuntimeExports.jsxs(s.Box,{className:"TagBlock","data-testid":"kibble-tag-block",position:"relative",mb:3,py:2,pl:4,pr:2,bg:"background.subtle",borderRadius:"lg",boxShadow:d?"0 0 0 2px var(--chakra-colors-border-danger)":"",border:"1px",borderColor:"border",overflow:b?"hidden":void 0,children:[e.jsxRuntimeExports.jsxs(s.Flex,{className:"TagBlock__ButtonContainer","data-testid":"kibble-tag-block-button-container",justifyContent:"space-between",children:[e.jsxRuntimeExports.jsxs(s.HStack,{gap:1,minH:10,children:[r&&e.jsxRuntimeExports.jsx(k.WrappedText,{className:"TagBlock__Title",mr:2,fontWeight:"bold",children:r}),e.jsxRuntimeExports.jsx(C.Menu,{"data-testid":"kibble-tag-block-menu",...u,buttonProps:u?.buttonProps||v}),e.jsxRuntimeExports.jsx(j.Button,{className:"TagBlock__Button--ClearAll","data-testid":"kibble-tag-block-clear-all-button",size:"sm",iconName:"arrowCircle",variant:"ghostNeutral",onClick:f,disabled:a.length<=0,children:"Clear All"})]}),h&&e.jsxRuntimeExports.jsx(s.Box,{children:e.jsxRuntimeExports.jsx(j.Button,{className:"TagBlock__Button--Delete","data-testid":"kibble-tag-block-delete-button",iconName:"trashcan",variant:"ghostNeutral",onClick:B,justifySelf:"flex-end"})})]}),!!a.length&&e.jsxRuntimeExports.jsx(s.Flex,{className:"TagBlock__TagContainer","data-testid":"kibble-tag-block-tag-container",mt:2,pb:1,alignContent:"space-between",flexWrap:"wrap",justifyContent:"flex-start",alignItems:"flex-start",children:c&&m.length?e.jsxRuntimeExports.jsx(s.Flex,{direction:"column",children:m.map(({groupLabel:n,tags:t})=>e.jsxRuntimeExports.jsxs(s.Box,{mb:2,children:[e.jsxRuntimeExports.jsx(s.Box,{className:"TagBlock__GroupTitle","data-testid":"kibble-tag-block-group-title",children:e.jsxRuntimeExports.jsx(R.WrappedHeading,{size:"xs",pb:2,children:n})}),e.jsxRuntimeExports.jsx(s.Flex,{alignContent:"space-between",flexWrap:"wrap",justifyContent:"flex-start",alignItems:"flex-start",children:g(t)})]},n))}):g(a)}),b&&e.jsxRuntimeExports.jsx(E.Spinner,{fullScreen:!0}),d&&e.jsxRuntimeExports.jsx(k.WrappedText,{className:"TagBlock__Error","data-testid":"kibble-tag-block-error",mt:2,size:"xs",as:"p",variant:"danger",children:_})]})};exports.TagBlock=N;exports.TagDisabledState=l;
2
+ //# sourceMappingURL=tagBlock.component-BKnmbWil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagBlock.component-Bx_hcjU4.js","sources":["../../src/patterns/TagBlock/tagBlock.types.ts","../../src/patterns/TagBlock/tagBlock.component.tsx"],"sourcesContent":["export enum TagDisabledState {\n Inactive = \"Inactive\",\n Deleted = \"Deleted\",\n}\n\nexport interface TagBlockTag {\n label: string;\n value: string;\n groupLabel?: string;\n}\n","import React, { useCallback } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { Tag } from \"components/Tag/tag.component\";\nimport { Text } from \"components/Text/text.component\";\nimport { TagBlockTag, TagDisabledState } from \"./tagBlock.types\";\nimport { MenuButtonProps } from \"components/Menu/components/MenuButton/menuButton.components\";\n\ninterface BaseTagBlockProps {\n displayTagsInGroups?: boolean;\n errorText?: string;\n hasError?: boolean;\n loading?: boolean;\n menuProps?: MenuProps;\n onClearAll?: () => void;\n onRemoveTag?: (tag: string, selectedTags: TagBlockTag[]) => void;\n tags: TagBlockTag[];\n title?: string;\n}\n\ninterface DefaultTagBlockProps extends BaseTagBlockProps {\n canBeDeleted?: false;\n onDelete?: never;\n}\n\ninterface DeletableTagBlockProps extends BaseTagBlockProps {\n canBeDeleted: true;\n onDelete: () => void;\n}\n\nexport type TagBlockProps = DefaultTagBlockProps | DeletableTagBlockProps;\n\nconst defaultMenuButtonProps: MenuButtonProps = {\n size: \"sm\",\n variant: \"secondarySubtle\",\n iconName: \"plus\",\n text: \"Add\",\n hideCaret: true,\n};\n\nexport const TagBlock = ({\n title,\n menuProps,\n tags,\n canBeDeleted = false,\n onClearAll,\n onRemoveTag,\n onDelete,\n hasError = false,\n errorText = \"This field contains an error\",\n displayTagsInGroups,\n loading = false,\n}: TagBlockProps): React.JSX.Element => {\n const handleRemoveTag = useCallback(\n (value: string): void => {\n if (onRemoveTag) {\n onRemoveTag(value, tags);\n }\n },\n [onRemoveTag, tags],\n );\n\n const tagsByGroup = React.useMemo(() => {\n if (!displayTagsInGroups) {\n return [];\n }\n const grouped = {} as Record<string, TagBlockTag[]>;\n for (const tag of tags) {\n const group = tag.groupLabel || \"-\";\n if (!grouped[group]) {\n grouped[group] = [];\n }\n grouped[group].push(tag);\n }\n return Object.entries(grouped).map(([groupLabel, tags]) => ({\n groupLabel,\n tags,\n }));\n }, [tags, displayTagsInGroups]);\n\n const renderTags = useCallback(\n (tags: TagBlockTag[]) => {\n return tags.map((tag) => {\n const isDisabled =\n tag.label.includes(TagDisabledState.Inactive) ||\n tag.label.includes(TagDisabledState.Deleted);\n\n return (\n <Tag\n className=\"TagBlock__Tag\"\n data-testid=\"kibble-tag-block-tag\"\n mr={1}\n mb={1}\n key={tag.value}\n label={tag.label}\n onClose={(): void => handleRemoveTag(tag.value)}\n closeButtonDisplay=\"always\"\n fontWeight=\"normal\"\n color={isDisabled ? \"text.placeholder\" : \"text\"}\n size=\"md\"\n />\n );\n });\n },\n [handleRemoveTag],\n );\n\n return (\n <Box\n className=\"TagBlock\"\n data-testid=\"kibble-tag-block\"\n position=\"relative\"\n mb={3}\n py={2}\n pl={4}\n pr={2}\n bg=\"background.subtle\"\n borderRadius=\"lg\"\n boxShadow={hasError ? `0 0 0 2px var(--chakra-colors-border-danger)` : \"\"}\n border=\"1px\"\n borderColor=\"border\"\n overflow={loading ? \"hidden\" : undefined}\n >\n <Flex\n className=\"TagBlock__ButtonContainer\"\n data-testid=\"kibble-tag-block-button-container\"\n justifyContent=\"space-between\"\n >\n <HStack gap={1} minH={10}>\n {title && (\n <Text className=\"TagBlock__Title\" mr={2} fontWeight=\"bold\">\n {title}\n </Text>\n )}\n <Menu\n data-testid=\"kibble-tag-block-menu\"\n {...menuProps}\n buttonProps={menuProps?.buttonProps || defaultMenuButtonProps}\n />\n <Button\n className=\"TagBlock__Button--ClearAll\"\n data-testid=\"kibble-tag-block-clear-all-button\"\n size=\"sm\"\n iconName=\"arrowCircle\"\n variant=\"ghostNeutral\"\n onClick={onClearAll}\n disabled={tags.length <= 0}\n >\n Clear All\n </Button>\n </HStack>\n {canBeDeleted && (\n <Box>\n <Button\n className=\"TagBlock__Button--Delete\"\n data-testid=\"kibble-tag-block-delete-button\"\n iconName=\"trashcan\"\n variant=\"ghostNeutral\"\n onClick={onDelete}\n justifySelf=\"flex-end\"\n />\n </Box>\n )}\n </Flex>\n {Boolean(tags.length) && (\n <Flex\n className=\"TagBlock__TagContainer\"\n data-testid=\"kibble-tag-block-tag-container\"\n mt={2}\n pb={1}\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {displayTagsInGroups && tagsByGroup.length ? (\n <Flex direction=\"column\">\n {tagsByGroup.map(({ groupLabel, tags }) => (\n <Box key={groupLabel} mb={2}>\n <Box\n className=\"TagBlock__GroupTitle\"\n data-testid=\"kibble-tag-block-group-title\"\n >\n <Heading size=\"xs\" pb={2}>\n {groupLabel}\n </Heading>\n </Box>\n <Flex\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderTags(tags)}\n </Flex>\n </Box>\n ))}\n </Flex>\n ) : (\n renderTags(tags)\n )}\n </Flex>\n )}\n {loading && <Spinner fullScreen />}\n {hasError && (\n <Text\n className=\"TagBlock__Error\"\n data-testid=\"kibble-tag-block-error\"\n mt={2}\n size=\"xs\"\n as=\"p\"\n variant=\"danger\"\n >\n {errorText}\n </Text>\n )}\n </Box>\n );\n};\n"],"names":["TagDisabledState","defaultMenuButtonProps","TagBlock","title","menuProps","tags","canBeDeleted","onClearAll","onRemoveTag","onDelete","hasError","errorText","displayTagsInGroups","loading","handleRemoveTag","useCallback","value","tagsByGroup","React","grouped","tag","group","groupLabel","renderTags","isDisabled","jsx","Tag","jsxs","Box","Flex","HStack","Text","Menu","Button","Heading","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"tagBlock.component-BKnmbWil.js","sources":["../../src/patterns/TagBlock/tagBlock.types.ts","../../src/patterns/TagBlock/tagBlock.component.tsx"],"sourcesContent":["export enum TagDisabledState {\n Inactive = \"Inactive\",\n Deleted = \"Deleted\",\n}\n\nexport interface TagBlockTag {\n label: string;\n value: string;\n groupLabel?: string;\n}\n","import React, { useCallback } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { HStack } from \"@chakra-ui/react/stack\";\nimport { Button } from \"components/Button/button.component\";\nimport { Heading } from \"components/Heading/heading.component\";\nimport { Menu, MenuProps } from \"components/Menu/menu.component\";\nimport { Spinner } from \"components/Spinner/spinner.component\";\nimport { Tag } from \"components/Tag/tag.component\";\nimport { Text } from \"components/Text/text.component\";\nimport { TagBlockTag, TagDisabledState } from \"./tagBlock.types\";\nimport { MenuButtonProps } from \"components/Menu/components/MenuButton/menuButton.components\";\n\ninterface BaseTagBlockProps {\n displayTagsInGroups?: boolean;\n errorText?: string;\n hasError?: boolean;\n loading?: boolean;\n menuProps?: MenuProps;\n onClearAll?: () => void;\n onRemoveTag?: (tag: string, selectedTags: TagBlockTag[]) => void;\n tags: TagBlockTag[];\n title?: string;\n}\n\ninterface DefaultTagBlockProps extends BaseTagBlockProps {\n canBeDeleted?: false;\n onDelete?: never;\n}\n\ninterface DeletableTagBlockProps extends BaseTagBlockProps {\n canBeDeleted: true;\n onDelete: () => void;\n}\n\nexport type TagBlockProps = DefaultTagBlockProps | DeletableTagBlockProps;\n\nconst defaultMenuButtonProps: MenuButtonProps = {\n size: \"sm\",\n variant: \"secondarySubtle\",\n iconName: \"plus\",\n text: \"Add\",\n hideCaret: true,\n};\n\nexport const TagBlock = ({\n title,\n menuProps,\n tags,\n canBeDeleted = false,\n onClearAll,\n onRemoveTag,\n onDelete,\n hasError = false,\n errorText = \"This field contains an error\",\n displayTagsInGroups,\n loading = false,\n}: TagBlockProps): React.JSX.Element => {\n const handleRemoveTag = useCallback(\n (value: string): void => {\n if (onRemoveTag) {\n onRemoveTag(value, tags);\n }\n },\n [onRemoveTag, tags],\n );\n\n const tagsByGroup = React.useMemo(() => {\n if (!displayTagsInGroups) {\n return [];\n }\n const grouped = {} as Record<string, TagBlockTag[]>;\n for (const tag of tags) {\n const group = tag.groupLabel || \"-\";\n if (!grouped[group]) {\n grouped[group] = [];\n }\n grouped[group].push(tag);\n }\n return Object.entries(grouped).map(([groupLabel, tags]) => ({\n groupLabel,\n tags,\n }));\n }, [tags, displayTagsInGroups]);\n\n const renderTags = useCallback(\n (tags: TagBlockTag[]) => {\n return tags.map((tag) => {\n const isDisabled =\n tag.label.includes(TagDisabledState.Inactive) ||\n tag.label.includes(TagDisabledState.Deleted);\n\n return (\n <Tag\n className=\"TagBlock__Tag\"\n data-testid=\"kibble-tag-block-tag\"\n mr={1}\n mb={1}\n key={tag.value}\n label={tag.label}\n onClose={(): void => handleRemoveTag(tag.value)}\n closeButtonDisplay=\"always\"\n fontWeight=\"normal\"\n color={isDisabled ? \"text.placeholder\" : \"text\"}\n size=\"md\"\n />\n );\n });\n },\n [handleRemoveTag],\n );\n\n return (\n <Box\n className=\"TagBlock\"\n data-testid=\"kibble-tag-block\"\n position=\"relative\"\n mb={3}\n py={2}\n pl={4}\n pr={2}\n bg=\"background.subtle\"\n borderRadius=\"lg\"\n boxShadow={hasError ? `0 0 0 2px var(--chakra-colors-border-danger)` : \"\"}\n border=\"1px\"\n borderColor=\"border\"\n overflow={loading ? \"hidden\" : undefined}\n >\n <Flex\n className=\"TagBlock__ButtonContainer\"\n data-testid=\"kibble-tag-block-button-container\"\n justifyContent=\"space-between\"\n >\n <HStack gap={1} minH={10}>\n {title && (\n <Text className=\"TagBlock__Title\" mr={2} fontWeight=\"bold\">\n {title}\n </Text>\n )}\n <Menu\n data-testid=\"kibble-tag-block-menu\"\n {...menuProps}\n buttonProps={menuProps?.buttonProps || defaultMenuButtonProps}\n />\n <Button\n className=\"TagBlock__Button--ClearAll\"\n data-testid=\"kibble-tag-block-clear-all-button\"\n size=\"sm\"\n iconName=\"arrowCircle\"\n variant=\"ghostNeutral\"\n onClick={onClearAll}\n disabled={tags.length <= 0}\n >\n Clear All\n </Button>\n </HStack>\n {canBeDeleted && (\n <Box>\n <Button\n className=\"TagBlock__Button--Delete\"\n data-testid=\"kibble-tag-block-delete-button\"\n iconName=\"trashcan\"\n variant=\"ghostNeutral\"\n onClick={onDelete}\n justifySelf=\"flex-end\"\n />\n </Box>\n )}\n </Flex>\n {Boolean(tags.length) && (\n <Flex\n className=\"TagBlock__TagContainer\"\n data-testid=\"kibble-tag-block-tag-container\"\n mt={2}\n pb={1}\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {displayTagsInGroups && tagsByGroup.length ? (\n <Flex direction=\"column\">\n {tagsByGroup.map(({ groupLabel, tags }) => (\n <Box key={groupLabel} mb={2}>\n <Box\n className=\"TagBlock__GroupTitle\"\n data-testid=\"kibble-tag-block-group-title\"\n >\n <Heading size=\"xs\" pb={2}>\n {groupLabel}\n </Heading>\n </Box>\n <Flex\n alignContent=\"space-between\"\n flexWrap=\"wrap\"\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderTags(tags)}\n </Flex>\n </Box>\n ))}\n </Flex>\n ) : (\n renderTags(tags)\n )}\n </Flex>\n )}\n {loading && <Spinner fullScreen />}\n {hasError && (\n <Text\n className=\"TagBlock__Error\"\n data-testid=\"kibble-tag-block-error\"\n mt={2}\n size=\"xs\"\n as=\"p\"\n variant=\"danger\"\n >\n {errorText}\n </Text>\n )}\n </Box>\n );\n};\n"],"names":["TagDisabledState","defaultMenuButtonProps","TagBlock","title","menuProps","tags","canBeDeleted","onClearAll","onRemoveTag","onDelete","hasError","errorText","displayTagsInGroups","loading","handleRemoveTag","useCallback","value","tagsByGroup","React","grouped","tag","group","groupLabel","renderTags","isDisabled","jsx","Tag","jsxs","Box","Flex","HStack","Text","Menu","Button","Heading","Spinner"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./vendor-D-x6W6ez.js"),p=require("react"),b=require("./withFormControl-C7uVEpxe.js"),f=require("./button.component-Dufh_y5v.js"),E=require("./characterCounter.component-BXxyn_IB.js"),o=require("./chakra-DmF8Cxqs.js"),R={sm:"xs",md:"sm",lg:"md"},T=b.withFormControl(({charLimit:n=void 0,clearable:r=!1,disabled:s=!1,inputRef:x,invalid:l,leftAddon:d,leftElement:m,onClear:i,onContrast:h,rightAddon:j,rightElement:a,size:u="md",value:e,...I})=>{const C=()=>{i&&i(e||"")};r&&e&&!s&&(a=t.jsxRuntimeExports.jsx(f.Button,{className:"TextInput__ClearButton","data-testid":"kibble-text-input-clear-button",size:R[u],variant:"ghostNeutral",onClick:C,iconName:"close"}));const _=p.useMemo(()=>e?.toString()?.length||0,[e]);return t.jsxRuntimeExports.jsxs(o.Box,{className:"TextInput__Wrapper",position:"relative",w:"100%",children:[t.jsxRuntimeExports.jsx(o.InputGroup,{className:"TextInput__InputGroup","data-testid":"kibble-text-input-group",startElement:m,startElementProps:{color:"inherit",_groupDisabled:{opacity:.6}},endElement:a,endElementProps:{color:"inherit",paddingInline:1.5,_groupDisabled:{opacity:.6}},startAddon:d,endAddon:j,children:t.jsxRuntimeExports.jsx(o.Input,{"data-testid":"kibble-text-input",className:"TextInput",ref:x,value:e,size:u,disabled:s,...l&&{"aria-invalid":!0},variant:h?"onContrast":"default",...I})}),!!n&&t.jsxRuntimeExports.jsx(E.CharacterCounter,{withLimit:!0,limit:n,currentCount:_})]})}),c=p.forwardRef((n,r)=>t.jsxRuntimeExports.jsx(T,{inputRef:r,...n}));c.displayName="TextInput";exports.WrappedTextInput=c;
2
- //# sourceMappingURL=textInput.component-CdPvTnhj.js.map
1
+ "use strict";const t=require("./vendor-D-x6W6ez.js"),p=require("react"),b=require("./withFormControl-BJSHfbF_.js"),f=require("./button.component-DDjwI0xh.js"),E=require("./characterCounter.component-BXxyn_IB.js"),o=require("./chakra-DmF8Cxqs.js"),R={sm:"xs",md:"sm",lg:"md"},T=b.withFormControl(({charLimit:n=void 0,clearable:r=!1,disabled:s=!1,inputRef:x,invalid:l,leftAddon:d,leftElement:m,onClear:i,onContrast:h,rightAddon:j,rightElement:a,size:u="md",value:e,...I})=>{const C=()=>{i&&i(e||"")};r&&e&&!s&&(a=t.jsxRuntimeExports.jsx(f.Button,{className:"TextInput__ClearButton","data-testid":"kibble-text-input-clear-button",size:R[u],variant:"ghostNeutral",onClick:C,iconName:"close"}));const _=p.useMemo(()=>e?.toString()?.length||0,[e]);return t.jsxRuntimeExports.jsxs(o.Box,{className:"TextInput__Wrapper",position:"relative",w:"100%",children:[t.jsxRuntimeExports.jsx(o.InputGroup,{className:"TextInput__InputGroup","data-testid":"kibble-text-input-group",startElement:m,startElementProps:{color:"inherit",_groupDisabled:{opacity:.6}},endElement:a,endElementProps:{color:"inherit",paddingInline:1.5,_groupDisabled:{opacity:.6}},startAddon:d,endAddon:j,children:t.jsxRuntimeExports.jsx(o.Input,{"data-testid":"kibble-text-input",className:"TextInput",ref:x,value:e,size:u,disabled:s,...l&&{"aria-invalid":!0},variant:h?"onContrast":"default",...I})}),!!n&&t.jsxRuntimeExports.jsx(E.CharacterCounter,{withLimit:!0,limit:n,currentCount:_})]})}),c=p.forwardRef((n,r)=>t.jsxRuntimeExports.jsx(T,{inputRef:r,...n}));c.displayName="TextInput";exports.WrappedTextInput=c;
2
+ //# sourceMappingURL=textInput.component-BalBo9uP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textInput.component-CdPvTnhj.js","sources":["../../src/components/TextInput/textInput.records.ts","../../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["import { ButtonSize } from \"components/Button/button.types\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport const closeButtonSizeMap: Record<FormControlSize, ButtonSize> = {\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n} from \"@chakra-ui/react/input\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\nimport { closeButtonSizeMap } from \"./textInput.records\";\n\nexport interface TextInputBaseProps extends WithFormControlProps {\n charLimit?: number;\n inputRef?: ForwardedRef<HTMLInputElement>;\n onContrast?: boolean;\n leftAddon?: React.ReactNode;\n leftElement?: React.ReactNode;\n rightAddon?: React.ReactNode;\n rightElement?: React.ReactNode;\n size?: FormControlSize;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n clearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n clearable?: boolean;\n onClear?: (val: string | number | readonly string[]) => void;\n}\n\nexport type KTextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nexport type TextInputProps = KTextInputProps & CInputProps;\n\nconst TextInput = withFormControl(\n ({\n charLimit = undefined,\n clearable = false,\n disabled = false,\n inputRef,\n invalid,\n leftAddon,\n leftElement,\n onClear,\n onContrast,\n rightAddon,\n rightElement,\n size = \"md\",\n value,\n ...rest\n }: TextInputProps): React.JSX.Element => {\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || \"\");\n }\n };\n\n if (clearable && !!value && !disabled) {\n rightElement = (\n <Button\n className=\"TextInput__ClearButton\"\n data-testid=\"kibble-text-input-clear-button\"\n size={closeButtonSizeMap[size as FormControlSize]}\n variant=\"ghostNeutral\"\n onClick={handleClear}\n iconName=\"close\"\n />\n );\n }\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Box className=\"TextInput__Wrapper\" position=\"relative\" w=\"100%\">\n <InputGroup\n className=\"TextInput__InputGroup\"\n data-testid=\"kibble-text-input-group\"\n startElement={leftElement}\n startElementProps={{\n color: \"inherit\",\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: \"inherit\",\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CInput\n data-testid=\"kibble-text-input\"\n className=\"TextInput\"\n ref={inputRef}\n value={value}\n size={size}\n disabled={disabled}\n {...(invalid && { \"aria-invalid\": true })}\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...rest}\n />\n </InputGroup>\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Box>\n );\n },\n);\n\nconst WrappedTextInput = React.forwardRef(\n (props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n ),\n);\n\nWrappedTextInput.displayName = \"TextInput\";\n\nexport { WrappedTextInput as TextInput };\n"],"names":["closeButtonSizeMap","TextInput","withFormControl","charLimit","clearable","disabled","inputRef","invalid","leftAddon","leftElement","onClear","onContrast","rightAddon","rightElement","size","value","rest","handleClear","jsx","Button","currentCharCount","useMemo","Box","InputGroup","CInput","CharacterCounter","WrappedTextInput","React","props","ref"],"mappings":"uPAGaA,EAA0D,CACrE,GAAI,KACJ,GAAI,KACJ,GAAI,IACN,ECkCMC,EAAYC,EAAA,gBAChB,CAAC,CACC,UAAAC,EAAY,OACZ,UAAAC,EAAY,GACZ,SAAAC,EAAW,GACX,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,YAAAC,EACA,QAAAC,EACA,WAAAC,EACA,WAAAC,EACA,aAAAC,EACA,KAAAC,EAAO,KACP,MAAAC,EACA,GAAGC,CAAA,IACoC,CACvC,MAAMC,EAAc,IAAY,CAC1BP,GACFA,EAAQK,GAAS,EAAE,CAEvB,EAEIX,GAAeW,GAAS,CAACV,IAEzBQ,EAAAK,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,UAAU,yBACV,cAAY,iCACZ,KAAMnB,EAAmBc,CAAuB,EAChD,QAAQ,eACR,QAASG,EACT,SAAS,OAAA,CACX,GAIJ,MAAMG,EAAmBC,EAAA,QACvB,IAAMN,GAAO,YAAY,QAAU,EACnC,CAACA,CAAK,CACR,EAEA,gCACGO,MAAI,CAAA,UAAU,qBAAqB,SAAS,WAAW,EAAE,OACxD,SAAA,CAAAJ,EAAA,kBAAA,IAACK,EAAA,WAAA,CACC,UAAU,wBACV,cAAY,0BACZ,aAAcd,EACd,kBAAmB,CACjB,MAAO,UACP,eAAgB,CAAE,QAAS,EAAI,CACjC,EACA,WAAYI,EACZ,gBAAiB,CACf,MAAO,UACP,cAAe,IACf,eAAgB,CAAE,QAAS,EAAI,CACjC,EACA,WAAYL,EACZ,SAAUI,EAEV,SAAAM,EAAA,kBAAA,IAACM,EAAA,MAAA,CACC,cAAY,oBACZ,UAAU,YACV,IAAKlB,EACL,MAAAS,EACA,KAAAD,EACA,SAAAT,EACC,GAAIE,GAAW,CAAE,eAAgB,EAAK,EACvC,QAASI,EAAa,aAAe,UACpC,GAAGK,CAAA,CAAA,CACN,CACF,EACC,CAAC,CAACb,GACDe,EAAA,kBAAA,IAACO,EAAA,iBAAA,CACC,UAAW,GACX,MAAOtB,EACP,aAAciB,CAAA,CAAA,CAChB,EAEJ,CAAA,CAGN,EAEMM,EAAmBC,EAAM,WAC7B,CAACC,EAAuBC,IACtBX,wBAACjB,GAAU,SAAU4B,EAAM,GAAGD,CAAO,CAAA,CAEzC,EAEAF,EAAiB,YAAc"}
1
+ {"version":3,"file":"textInput.component-BalBo9uP.js","sources":["../../src/components/TextInput/textInput.records.ts","../../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["import { ButtonSize } from \"components/Button/button.types\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport const closeButtonSizeMap: Record<FormControlSize, ButtonSize> = {\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n} from \"@chakra-ui/react/input\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\nimport { closeButtonSizeMap } from \"./textInput.records\";\n\nexport interface TextInputBaseProps extends WithFormControlProps {\n charLimit?: number;\n inputRef?: ForwardedRef<HTMLInputElement>;\n onContrast?: boolean;\n leftAddon?: React.ReactNode;\n leftElement?: React.ReactNode;\n rightAddon?: React.ReactNode;\n rightElement?: React.ReactNode;\n size?: FormControlSize;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n clearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n clearable?: boolean;\n onClear?: (val: string | number | readonly string[]) => void;\n}\n\nexport type KTextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nexport type TextInputProps = KTextInputProps & CInputProps;\n\nconst TextInput = withFormControl(\n ({\n charLimit = undefined,\n clearable = false,\n disabled = false,\n inputRef,\n invalid,\n leftAddon,\n leftElement,\n onClear,\n onContrast,\n rightAddon,\n rightElement,\n size = \"md\",\n value,\n ...rest\n }: TextInputProps): React.JSX.Element => {\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || \"\");\n }\n };\n\n if (clearable && !!value && !disabled) {\n rightElement = (\n <Button\n className=\"TextInput__ClearButton\"\n data-testid=\"kibble-text-input-clear-button\"\n size={closeButtonSizeMap[size as FormControlSize]}\n variant=\"ghostNeutral\"\n onClick={handleClear}\n iconName=\"close\"\n />\n );\n }\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Box className=\"TextInput__Wrapper\" position=\"relative\" w=\"100%\">\n <InputGroup\n className=\"TextInput__InputGroup\"\n data-testid=\"kibble-text-input-group\"\n startElement={leftElement}\n startElementProps={{\n color: \"inherit\",\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: \"inherit\",\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CInput\n data-testid=\"kibble-text-input\"\n className=\"TextInput\"\n ref={inputRef}\n value={value}\n size={size}\n disabled={disabled}\n {...(invalid && { \"aria-invalid\": true })}\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...rest}\n />\n </InputGroup>\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Box>\n );\n },\n);\n\nconst WrappedTextInput = React.forwardRef(\n (props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n ),\n);\n\nWrappedTextInput.displayName = \"TextInput\";\n\nexport { WrappedTextInput as TextInput };\n"],"names":["closeButtonSizeMap","TextInput","withFormControl","charLimit","clearable","disabled","inputRef","invalid","leftAddon","leftElement","onClear","onContrast","rightAddon","rightElement","size","value","rest","handleClear","jsx","Button","currentCharCount","useMemo","Box","InputGroup","CInput","CharacterCounter","WrappedTextInput","React","props","ref"],"mappings":"uPAGaA,EAA0D,CACrE,GAAI,KACJ,GAAI,KACJ,GAAI,IACN,ECkCMC,EAAYC,EAAA,gBAChB,CAAC,CACC,UAAAC,EAAY,OACZ,UAAAC,EAAY,GACZ,SAAAC,EAAW,GACX,SAAAC,EACA,QAAAC,EACA,UAAAC,EACA,YAAAC,EACA,QAAAC,EACA,WAAAC,EACA,WAAAC,EACA,aAAAC,EACA,KAAAC,EAAO,KACP,MAAAC,EACA,GAAGC,CAAA,IACoC,CACvC,MAAMC,EAAc,IAAY,CAC1BP,GACFA,EAAQK,GAAS,EAAE,CAEvB,EAEIX,GAAeW,GAAS,CAACV,IAEzBQ,EAAAK,EAAA,kBAAA,IAACC,EAAA,OAAA,CACC,UAAU,yBACV,cAAY,iCACZ,KAAMnB,EAAmBc,CAAuB,EAChD,QAAQ,eACR,QAASG,EACT,SAAS,OAAA,CACX,GAIJ,MAAMG,EAAmBC,EAAA,QACvB,IAAMN,GAAO,YAAY,QAAU,EACnC,CAACA,CAAK,CACR,EAEA,gCACGO,MAAI,CAAA,UAAU,qBAAqB,SAAS,WAAW,EAAE,OACxD,SAAA,CAAAJ,EAAA,kBAAA,IAACK,EAAA,WAAA,CACC,UAAU,wBACV,cAAY,0BACZ,aAAcd,EACd,kBAAmB,CACjB,MAAO,UACP,eAAgB,CAAE,QAAS,EAAI,CACjC,EACA,WAAYI,EACZ,gBAAiB,CACf,MAAO,UACP,cAAe,IACf,eAAgB,CAAE,QAAS,EAAI,CACjC,EACA,WAAYL,EACZ,SAAUI,EAEV,SAAAM,EAAA,kBAAA,IAACM,EAAA,MAAA,CACC,cAAY,oBACZ,UAAU,YACV,IAAKlB,EACL,MAAAS,EACA,KAAAD,EACA,SAAAT,EACC,GAAIE,GAAW,CAAE,eAAgB,EAAK,EACvC,QAASI,EAAa,aAAe,UACpC,GAAGK,CAAA,CAAA,CACN,CACF,EACC,CAAC,CAACb,GACDe,EAAA,kBAAA,IAACO,EAAA,iBAAA,CACC,UAAW,GACX,MAAOtB,EACP,aAAciB,CAAA,CAAA,CAChB,EAEJ,CAAA,CAGN,EAEMM,EAAmBC,EAAM,WAC7B,CAACC,EAAuBC,IACtBX,wBAACjB,GAAU,SAAU4B,EAAM,GAAGD,CAAO,CAAA,CAEzC,EAEAF,EAAiB,YAAc"}
@@ -1,7 +1,7 @@
1
1
  import { x as t } from "./vendor-BBfll6i3.js";
2
2
  import C, { useMemo as _ } from "react";
3
- import { w as h } from "./withFormControl-DSNvvAPD.js";
4
- import { B as b } from "./button.component-BiW8RE1U.js";
3
+ import { w as h } from "./withFormControl-CDQGc9aO.js";
4
+ import { B as b } from "./button.component-CA9bIFbq.js";
5
5
  import { C as g } from "./characterCounter.component-DhiMcztY.js";
6
6
  import { B as j, K as N, M as T } from "./chakra-BqBkjpvZ.js";
7
7
  const B = {
@@ -95,4 +95,4 @@ k.displayName = "TextInput";
95
95
  export {
96
96
  k as W
97
97
  };
98
- //# sourceMappingURL=textInput.component-LjDvSnBy.js.map
98
+ //# sourceMappingURL=textInput.component-K4f7h4pP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textInput.component-LjDvSnBy.js","sources":["../../src/components/TextInput/textInput.records.ts","../../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["import { ButtonSize } from \"components/Button/button.types\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport const closeButtonSizeMap: Record<FormControlSize, ButtonSize> = {\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n} from \"@chakra-ui/react/input\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\nimport { closeButtonSizeMap } from \"./textInput.records\";\n\nexport interface TextInputBaseProps extends WithFormControlProps {\n charLimit?: number;\n inputRef?: ForwardedRef<HTMLInputElement>;\n onContrast?: boolean;\n leftAddon?: React.ReactNode;\n leftElement?: React.ReactNode;\n rightAddon?: React.ReactNode;\n rightElement?: React.ReactNode;\n size?: FormControlSize;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n clearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n clearable?: boolean;\n onClear?: (val: string | number | readonly string[]) => void;\n}\n\nexport type KTextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nexport type TextInputProps = KTextInputProps & CInputProps;\n\nconst TextInput = withFormControl(\n ({\n charLimit = undefined,\n clearable = false,\n disabled = false,\n inputRef,\n invalid,\n leftAddon,\n leftElement,\n onClear,\n onContrast,\n rightAddon,\n rightElement,\n size = \"md\",\n value,\n ...rest\n }: TextInputProps): React.JSX.Element => {\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || \"\");\n }\n };\n\n if (clearable && !!value && !disabled) {\n rightElement = (\n <Button\n className=\"TextInput__ClearButton\"\n data-testid=\"kibble-text-input-clear-button\"\n size={closeButtonSizeMap[size as FormControlSize]}\n variant=\"ghostNeutral\"\n onClick={handleClear}\n iconName=\"close\"\n />\n );\n }\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Box className=\"TextInput__Wrapper\" position=\"relative\" w=\"100%\">\n <InputGroup\n className=\"TextInput__InputGroup\"\n data-testid=\"kibble-text-input-group\"\n startElement={leftElement}\n startElementProps={{\n color: \"inherit\",\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: \"inherit\",\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CInput\n data-testid=\"kibble-text-input\"\n className=\"TextInput\"\n ref={inputRef}\n value={value}\n size={size}\n disabled={disabled}\n {...(invalid && { \"aria-invalid\": true })}\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...rest}\n />\n </InputGroup>\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Box>\n );\n },\n);\n\nconst WrappedTextInput = React.forwardRef(\n (props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n ),\n);\n\nWrappedTextInput.displayName = \"TextInput\";\n\nexport { WrappedTextInput as TextInput };\n"],"names":["closeButtonSizeMap","TextInput","withFormControl","charLimit","clearable","disabled","inputRef","invalid","leftAddon","leftElement","onClear","onContrast","rightAddon","rightElement","size","value","rest","handleClear","jsx","Button","currentCharCount","useMemo","Box","InputGroup","CInput","CharacterCounter","WrappedTextInput","React","props","ref"],"mappings":";;;;;;AAGO,MAAMA,IAA0D;AAAA,EACrE,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GCkCMC,IAAYC;AAAA,EAChB,CAAC;AAAA,IACC,WAAAC,IAAY;AAAA,IACZ,WAAAC,IAAY;AAAA,IACZ,UAAAC,IAAW;AAAA,IACX,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,MACoC;AACvC,UAAMC,IAAc,MAAY;AAC9B,MAAIP,KACFA,EAAQK,KAAS,EAAE;AAAA,IAEvB;AAEA,IAAIX,KAAeW,KAAS,CAACV,MAEzBQ,IAAAK,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,MAAMnB,EAAmBc,CAAuB;AAAA,QAChD,SAAQ;AAAA,QACR,SAASG;AAAA,QACT,UAAS;AAAA,MAAA;AAAA,IACX;AAIJ,UAAMG,IAAmBC;AAAA,MACvB,MAAMN,GAAO,YAAY,UAAU;AAAA,MACnC,CAACA,CAAK;AAAA,IACR;AAEA,kCACGO,GAAI,EAAA,WAAU,sBAAqB,UAAS,YAAW,GAAE,QACxD,UAAA;AAAA,MAAAJ,gBAAAA,EAAA;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,cAAcd;AAAA,UACd,mBAAmB;AAAA,YACjB,OAAO;AAAA,YACP,gBAAgB,EAAE,SAAS,IAAI;AAAA,UACjC;AAAA,UACA,YAAYI;AAAA,UACZ,iBAAiB;AAAA,YACf,OAAO;AAAA,YACP,eAAe;AAAA,YACf,gBAAgB,EAAE,SAAS,IAAI;AAAA,UACjC;AAAA,UACA,YAAYL;AAAA,UACZ,UAAUI;AAAA,UAEV,UAAAM,gBAAAA,EAAA;AAAA,YAACM;AAAAA,YAAA;AAAA,cACC,eAAY;AAAA,cACZ,WAAU;AAAA,cACV,KAAKlB;AAAA,cACL,OAAAS;AAAA,cACA,MAAAD;AAAA,cACA,UAAAT;AAAA,cACC,GAAIE,KAAW,EAAE,gBAAgB,GAAK;AAAA,cACvC,SAASI,IAAa,eAAe;AAAA,cACpC,GAAGK;AAAA,YAAA;AAAA,UAAA;AAAA,QACN;AAAA,MACF;AAAA,MACC,CAAC,CAACb,KACDe,gBAAAA,EAAA;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,OAAOtB;AAAA,UACP,cAAciB;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB,GAEJ;AAAA,EAAA;AAGN,GAEMM,IAAmBC,EAAM;AAAA,EAC7B,CAACC,GAAuBC,MACtBX,gBAAAA,MAACjB,KAAU,UAAU4B,GAAM,GAAGD,EAAO,CAAA;AAEzC;AAEAF,EAAiB,cAAc;"}
1
+ {"version":3,"file":"textInput.component-K4f7h4pP.js","sources":["../../src/components/TextInput/textInput.records.ts","../../src/components/TextInput/textInput.component.tsx"],"sourcesContent":["import { ButtonSize } from \"components/Button/button.types\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\n\nexport const closeButtonSizeMap: Record<FormControlSize, ButtonSize> = {\n sm: \"xs\",\n md: \"sm\",\n lg: \"md\",\n};\n","import React, { ForwardedRef, useMemo } from \"react\";\nimport { Box } from \"@chakra-ui/react/box\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport {\n Input as CInput,\n InputProps as CInputProps,\n InputGroup,\n} from \"@chakra-ui/react/input\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport { Button } from \"components/Button/button.component\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\nimport { closeButtonSizeMap } from \"./textInput.records\";\n\nexport interface TextInputBaseProps extends WithFormControlProps {\n charLimit?: number;\n inputRef?: ForwardedRef<HTMLInputElement>;\n onContrast?: boolean;\n leftAddon?: React.ReactNode;\n leftElement?: React.ReactNode;\n rightAddon?: React.ReactNode;\n rightElement?: React.ReactNode;\n size?: FormControlSize;\n}\n\nexport interface DefaultTextInputProps extends TextInputBaseProps {\n clearable?: never;\n onClear?: never;\n}\n\nexport interface ClearableTextInputProps extends TextInputBaseProps {\n clearable?: boolean;\n onClear?: (val: string | number | readonly string[]) => void;\n}\n\nexport type KTextInputProps = DefaultTextInputProps | ClearableTextInputProps;\n\nexport type TextInputProps = KTextInputProps & CInputProps;\n\nconst TextInput = withFormControl(\n ({\n charLimit = undefined,\n clearable = false,\n disabled = false,\n inputRef,\n invalid,\n leftAddon,\n leftElement,\n onClear,\n onContrast,\n rightAddon,\n rightElement,\n size = \"md\",\n value,\n ...rest\n }: TextInputProps): React.JSX.Element => {\n const handleClear = (): void => {\n if (onClear) {\n onClear(value || \"\");\n }\n };\n\n if (clearable && !!value && !disabled) {\n rightElement = (\n <Button\n className=\"TextInput__ClearButton\"\n data-testid=\"kibble-text-input-clear-button\"\n size={closeButtonSizeMap[size as FormControlSize]}\n variant=\"ghostNeutral\"\n onClick={handleClear}\n iconName=\"close\"\n />\n );\n }\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Box className=\"TextInput__Wrapper\" position=\"relative\" w=\"100%\">\n <InputGroup\n className=\"TextInput__InputGroup\"\n data-testid=\"kibble-text-input-group\"\n startElement={leftElement}\n startElementProps={{\n color: \"inherit\",\n _groupDisabled: { opacity: 0.6 },\n }}\n endElement={rightElement}\n endElementProps={{\n color: \"inherit\",\n paddingInline: 1.5,\n _groupDisabled: { opacity: 0.6 },\n }}\n startAddon={leftAddon}\n endAddon={rightAddon}\n >\n <CInput\n data-testid=\"kibble-text-input\"\n className=\"TextInput\"\n ref={inputRef}\n value={value}\n size={size}\n disabled={disabled}\n {...(invalid && { \"aria-invalid\": true })}\n variant={onContrast ? \"onContrast\" : \"default\"}\n {...rest}\n />\n </InputGroup>\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Box>\n );\n },\n);\n\nconst WrappedTextInput = React.forwardRef(\n (props: TextInputProps, ref: ForwardedRef<HTMLInputElement>) => (\n <TextInput inputRef={ref} {...props} />\n ),\n);\n\nWrappedTextInput.displayName = \"TextInput\";\n\nexport { WrappedTextInput as TextInput };\n"],"names":["closeButtonSizeMap","TextInput","withFormControl","charLimit","clearable","disabled","inputRef","invalid","leftAddon","leftElement","onClear","onContrast","rightAddon","rightElement","size","value","rest","handleClear","jsx","Button","currentCharCount","useMemo","Box","InputGroup","CInput","CharacterCounter","WrappedTextInput","React","props","ref"],"mappings":";;;;;;AAGO,MAAMA,IAA0D;AAAA,EACrE,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GCkCMC,IAAYC;AAAA,EAChB,CAAC;AAAA,IACC,WAAAC,IAAY;AAAA,IACZ,WAAAC,IAAY;AAAA,IACZ,UAAAC,IAAW;AAAA,IACX,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,MACoC;AACvC,UAAMC,IAAc,MAAY;AAC9B,MAAIP,KACFA,EAAQK,KAAS,EAAE;AAAA,IAEvB;AAEA,IAAIX,KAAeW,KAAS,CAACV,MAEzBQ,IAAAK,gBAAAA,EAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,MAAMnB,EAAmBc,CAAuB;AAAA,QAChD,SAAQ;AAAA,QACR,SAASG;AAAA,QACT,UAAS;AAAA,MAAA;AAAA,IACX;AAIJ,UAAMG,IAAmBC;AAAA,MACvB,MAAMN,GAAO,YAAY,UAAU;AAAA,MACnC,CAACA,CAAK;AAAA,IACR;AAEA,kCACGO,GAAI,EAAA,WAAU,sBAAqB,UAAS,YAAW,GAAE,QACxD,UAAA;AAAA,MAAAJ,gBAAAA,EAAA;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,cAAcd;AAAA,UACd,mBAAmB;AAAA,YACjB,OAAO;AAAA,YACP,gBAAgB,EAAE,SAAS,IAAI;AAAA,UACjC;AAAA,UACA,YAAYI;AAAA,UACZ,iBAAiB;AAAA,YACf,OAAO;AAAA,YACP,eAAe;AAAA,YACf,gBAAgB,EAAE,SAAS,IAAI;AAAA,UACjC;AAAA,UACA,YAAYL;AAAA,UACZ,UAAUI;AAAA,UAEV,UAAAM,gBAAAA,EAAA;AAAA,YAACM;AAAAA,YAAA;AAAA,cACC,eAAY;AAAA,cACZ,WAAU;AAAA,cACV,KAAKlB;AAAA,cACL,OAAAS;AAAA,cACA,MAAAD;AAAA,cACA,UAAAT;AAAA,cACC,GAAIE,KAAW,EAAE,gBAAgB,GAAK;AAAA,cACvC,SAASI,IAAa,eAAe;AAAA,cACpC,GAAGK;AAAA,YAAA;AAAA,UAAA;AAAA,QACN;AAAA,MACF;AAAA,MACC,CAAC,CAACb,KACDe,gBAAAA,EAAA;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,OAAOtB;AAAA,UACP,cAAciB;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB,GAEJ;AAAA,EAAA;AAGN,GAEMM,IAAmBC,EAAM;AAAA,EAC7B,CAACC,GAAuBC,MACtBX,gBAAAA,MAACjB,KAAU,UAAU4B,GAAM,GAAGD,EAAO,CAAA;AAEzC;AAEAF,EAAiB,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./vendor-D-x6W6ez.js"),o=require("react"),d=require("./withFormControl-C7uVEpxe.js"),l=require("./characterCounter.component-BXxyn_IB.js"),n=require("./chakra-DmF8Cxqs.js"),C=d.withFormControl(({charLimit:e=void 0,invalid:r,onContrast:i,resize:x="none",textareaRef:c,value:a,...u})=>{const p=i?"onContrast":"default",m=o.useMemo(()=>a?.toString()?.length||0,[a]);return t.jsxRuntimeExports.jsxs(n.Flex,{className:"Textarea__Wrapper",position:"relative",w:"100%",children:[t.jsxRuntimeExports.jsx(n.Textarea,{className:"Textarea","data-testid":"kibble-textarea",resize:x,variant:p,value:a,...r&&{"aria-invalid":!0},...u,ref:c}),!!e&&t.jsxRuntimeExports.jsx(l.CharacterCounter,{withLimit:!0,limit:e,currentCount:m})]})}),s=o.forwardRef((e,r)=>t.jsxRuntimeExports.jsx(C,{textareaRef:r,...e}));s.displayName="Textarea";exports.WrappedTextArea=s;
2
- //# sourceMappingURL=textarea.component-CKEdjCAq.js.map
1
+ "use strict";const t=require("./vendor-D-x6W6ez.js"),o=require("react"),d=require("./withFormControl-BJSHfbF_.js"),l=require("./characterCounter.component-BXxyn_IB.js"),n=require("./chakra-DmF8Cxqs.js"),C=d.withFormControl(({charLimit:e=void 0,invalid:r,onContrast:i,resize:x="none",textareaRef:c,value:a,...u})=>{const p=i?"onContrast":"default",m=o.useMemo(()=>a?.toString()?.length||0,[a]);return t.jsxRuntimeExports.jsxs(n.Flex,{className:"Textarea__Wrapper",position:"relative",w:"100%",children:[t.jsxRuntimeExports.jsx(n.Textarea,{className:"Textarea","data-testid":"kibble-textarea",resize:x,variant:p,value:a,...r&&{"aria-invalid":!0},...u,ref:c}),!!e&&t.jsxRuntimeExports.jsx(l.CharacterCounter,{withLimit:!0,limit:e,currentCount:m})]})}),s=o.forwardRef((e,r)=>t.jsxRuntimeExports.jsx(C,{textareaRef:r,...e}));s.displayName="Textarea";exports.WrappedTextArea=s;
2
+ //# sourceMappingURL=textarea.component-8tjcO0T7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.component-CKEdjCAq.js","sources":["../../src/components/Textarea/textarea.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useMemo } from \"react\";\nimport {\n Textarea as CTextarea,\n TextareaProps as CTextareaProps,\n} from \"@chakra-ui/react/textarea\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\n\nexport interface TextareaProps extends WithFormControlProps, CTextareaProps {\n charLimit?: number;\n textareaRef?: ForwardedRef<HTMLTextAreaElement>;\n size?: FormControlSize;\n}\n\nconst Textarea = withFormControl(\n ({\n charLimit = undefined,\n invalid,\n onContrast,\n resize = \"none\",\n textareaRef,\n value,\n ...rest\n }: TextareaProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Flex className=\"Textarea__Wrapper\" position=\"relative\" w=\"100%\">\n <CTextarea\n className=\"Textarea\"\n data-testid=\"kibble-textarea\"\n resize={resize}\n variant={_computedVariant}\n value={value}\n {...(invalid && { \"aria-invalid\": true })}\n {...rest}\n ref={textareaRef}\n />\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Flex>\n );\n },\n);\n\nconst WrappedTextArea = React.forwardRef(\n (props: TextareaProps, ref: ForwardedRef<HTMLTextAreaElement>) => (\n <Textarea textareaRef={ref} {...props} />\n ),\n);\n\nWrappedTextArea.displayName = \"Textarea\";\n\nexport { WrappedTextArea as Textarea };\n"],"names":["Textarea","withFormControl","charLimit","invalid","onContrast","resize","textareaRef","value","rest","_computedVariant","currentCharCount","useMemo","Flex","jsx","CTextarea","CharacterCounter","WrappedTextArea","React","props","ref"],"mappings":"2MAmBMA,EAAWC,EAAA,gBACf,CAAC,CACC,UAAAC,EAAY,OACZ,QAAAC,EACA,WAAAC,EACA,OAAAC,EAAS,OACT,YAAAC,EACA,MAAAC,EACA,GAAGC,CAAA,IACmC,CAChC,MAAAC,EAAmBL,EAAa,aAAe,UAE/CM,EAAmBC,EAAA,QACvB,IAAMJ,GAAO,YAAY,QAAU,EACnC,CAACA,CAAK,CACR,EAEA,gCACGK,OAAK,CAAA,UAAU,oBAAoB,SAAS,WAAW,EAAE,OACxD,SAAA,CAAAC,EAAA,kBAAA,IAACC,EAAA,SAAA,CACC,UAAU,WACV,cAAY,kBACZ,OAAAT,EACA,QAASI,EACT,MAAAF,EACC,GAAIJ,GAAW,CAAE,eAAgB,EAAK,EACtC,GAAGK,EACJ,IAAKF,CAAA,CACP,EACC,CAAC,CAACJ,GACDW,EAAA,kBAAA,IAACE,EAAA,iBAAA,CACC,UAAW,GACX,MAAOb,EACP,aAAcQ,CAAA,CAAA,CAChB,EAEJ,CAAA,CAGN,EAEMM,EAAkBC,EAAM,WAC5B,CAACC,EAAsBC,IACrBN,wBAACb,GAAS,YAAamB,EAAM,GAAGD,CAAO,CAAA,CAE3C,EAEAF,EAAgB,YAAc"}
1
+ {"version":3,"file":"textarea.component-8tjcO0T7.js","sources":["../../src/components/Textarea/textarea.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useMemo } from \"react\";\nimport {\n Textarea as CTextarea,\n TextareaProps as CTextareaProps,\n} from \"@chakra-ui/react/textarea\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\n\nexport interface TextareaProps extends WithFormControlProps, CTextareaProps {\n charLimit?: number;\n textareaRef?: ForwardedRef<HTMLTextAreaElement>;\n size?: FormControlSize;\n}\n\nconst Textarea = withFormControl(\n ({\n charLimit = undefined,\n invalid,\n onContrast,\n resize = \"none\",\n textareaRef,\n value,\n ...rest\n }: TextareaProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Flex className=\"Textarea__Wrapper\" position=\"relative\" w=\"100%\">\n <CTextarea\n className=\"Textarea\"\n data-testid=\"kibble-textarea\"\n resize={resize}\n variant={_computedVariant}\n value={value}\n {...(invalid && { \"aria-invalid\": true })}\n {...rest}\n ref={textareaRef}\n />\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Flex>\n );\n },\n);\n\nconst WrappedTextArea = React.forwardRef(\n (props: TextareaProps, ref: ForwardedRef<HTMLTextAreaElement>) => (\n <Textarea textareaRef={ref} {...props} />\n ),\n);\n\nWrappedTextArea.displayName = \"Textarea\";\n\nexport { WrappedTextArea as Textarea };\n"],"names":["Textarea","withFormControl","charLimit","invalid","onContrast","resize","textareaRef","value","rest","_computedVariant","currentCharCount","useMemo","Flex","jsx","CTextarea","CharacterCounter","WrappedTextArea","React","props","ref"],"mappings":"2MAmBMA,EAAWC,EAAA,gBACf,CAAC,CACC,UAAAC,EAAY,OACZ,QAAAC,EACA,WAAAC,EACA,OAAAC,EAAS,OACT,YAAAC,EACA,MAAAC,EACA,GAAGC,CAAA,IACmC,CAChC,MAAAC,EAAmBL,EAAa,aAAe,UAE/CM,EAAmBC,EAAA,QACvB,IAAMJ,GAAO,YAAY,QAAU,EACnC,CAACA,CAAK,CACR,EAEA,gCACGK,OAAK,CAAA,UAAU,oBAAoB,SAAS,WAAW,EAAE,OACxD,SAAA,CAAAC,EAAA,kBAAA,IAACC,EAAA,SAAA,CACC,UAAU,WACV,cAAY,kBACZ,OAAAT,EACA,QAASI,EACT,MAAAF,EACC,GAAIJ,GAAW,CAAE,eAAgB,EAAK,EACtC,GAAGK,EACJ,IAAKF,CAAA,CACP,EACC,CAAC,CAACJ,GACDW,EAAA,kBAAA,IAACE,EAAA,iBAAA,CACC,UAAW,GACX,MAAOb,EACP,aAAcQ,CAAA,CAAA,CAChB,EAEJ,CAAA,CAGN,EAEMM,EAAkBC,EAAM,WAC5B,CAACC,EAAsBC,IACrBN,wBAACb,GAAS,YAAamB,EAAM,GAAGD,CAAO,CAAA,CAE3C,EAEAF,EAAgB,YAAc"}
@@ -1,6 +1,6 @@
1
1
  import { x as r } from "./vendor-BBfll6i3.js";
2
2
  import p, { useMemo as c } from "react";
3
- import { w as d } from "./withFormControl-DSNvvAPD.js";
3
+ import { w as d } from "./withFormControl-CDQGc9aO.js";
4
4
  import { C as f } from "./characterCounter.component-DhiMcztY.js";
5
5
  import { F as l, T as u } from "./chakra-BqBkjpvZ.js";
6
6
  const C = d(
@@ -48,4 +48,4 @@ T.displayName = "Textarea";
48
48
  export {
49
49
  T as W
50
50
  };
51
- //# sourceMappingURL=textarea.component-C7l9zJKx.js.map
51
+ //# sourceMappingURL=textarea.component-Cmbax8lT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.component-C7l9zJKx.js","sources":["../../src/components/Textarea/textarea.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useMemo } from \"react\";\nimport {\n Textarea as CTextarea,\n TextareaProps as CTextareaProps,\n} from \"@chakra-ui/react/textarea\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\n\nexport interface TextareaProps extends WithFormControlProps, CTextareaProps {\n charLimit?: number;\n textareaRef?: ForwardedRef<HTMLTextAreaElement>;\n size?: FormControlSize;\n}\n\nconst Textarea = withFormControl(\n ({\n charLimit = undefined,\n invalid,\n onContrast,\n resize = \"none\",\n textareaRef,\n value,\n ...rest\n }: TextareaProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Flex className=\"Textarea__Wrapper\" position=\"relative\" w=\"100%\">\n <CTextarea\n className=\"Textarea\"\n data-testid=\"kibble-textarea\"\n resize={resize}\n variant={_computedVariant}\n value={value}\n {...(invalid && { \"aria-invalid\": true })}\n {...rest}\n ref={textareaRef}\n />\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Flex>\n );\n },\n);\n\nconst WrappedTextArea = React.forwardRef(\n (props: TextareaProps, ref: ForwardedRef<HTMLTextAreaElement>) => (\n <Textarea textareaRef={ref} {...props} />\n ),\n);\n\nWrappedTextArea.displayName = \"Textarea\";\n\nexport { WrappedTextArea as Textarea };\n"],"names":["Textarea","withFormControl","charLimit","invalid","onContrast","resize","textareaRef","value","rest","_computedVariant","currentCharCount","useMemo","Flex","jsx","CTextarea","CharacterCounter","WrappedTextArea","React","props","ref"],"mappings":";;;;;AAmBA,MAAMA,IAAWC;AAAA,EACf,CAAC;AAAA,IACC,WAAAC,IAAY;AAAA,IACZ,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,MACmC;AAChC,UAAAC,IAAmBL,IAAa,eAAe,WAE/CM,IAAmBC;AAAA,MACvB,MAAMJ,GAAO,YAAY,UAAU;AAAA,MACnC,CAACA,CAAK;AAAA,IACR;AAEA,kCACGK,GAAK,EAAA,WAAU,qBAAoB,UAAS,YAAW,GAAE,QACxD,UAAA;AAAA,MAAAC,gBAAAA,EAAA;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,QAAAT;AAAA,UACA,SAASI;AAAA,UACT,OAAAF;AAAA,UACC,GAAIJ,KAAW,EAAE,gBAAgB,GAAK;AAAA,UACtC,GAAGK;AAAA,UACJ,KAAKF;AAAA,QAAA;AAAA,MACP;AAAA,MACC,CAAC,CAACJ,KACDW,gBAAAA,EAAA;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,OAAOb;AAAA,UACP,cAAcQ;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB,GAEJ;AAAA,EAAA;AAGN,GAEMM,IAAkBC,EAAM;AAAA,EAC5B,CAACC,GAAsBC,MACrBN,gBAAAA,MAACb,KAAS,aAAamB,GAAM,GAAGD,EAAO,CAAA;AAE3C;AAEAF,EAAgB,cAAc;"}
1
+ {"version":3,"file":"textarea.component-Cmbax8lT.js","sources":["../../src/components/Textarea/textarea.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useMemo } from \"react\";\nimport {\n Textarea as CTextarea,\n TextareaProps as CTextareaProps,\n} from \"@chakra-ui/react/textarea\";\nimport { FormControlSize } from \"hocs/withFormControl/withFormControl.types\";\nimport {\n withFormControl,\n WithFormControlProps,\n} from \"hocs/withFormControl/withFormControl\";\nimport { Flex } from \"@chakra-ui/react/flex\";\nimport { CharacterCounter } from \"components/CharacterCounter/characterCounter.component\";\n\nexport interface TextareaProps extends WithFormControlProps, CTextareaProps {\n charLimit?: number;\n textareaRef?: ForwardedRef<HTMLTextAreaElement>;\n size?: FormControlSize;\n}\n\nconst Textarea = withFormControl(\n ({\n charLimit = undefined,\n invalid,\n onContrast,\n resize = \"none\",\n textareaRef,\n value,\n ...rest\n }: TextareaProps): React.JSX.Element => {\n const _computedVariant = onContrast ? \"onContrast\" : \"default\";\n\n const currentCharCount = useMemo(\n () => value?.toString()?.length || 0,\n [value],\n );\n\n return (\n <Flex className=\"Textarea__Wrapper\" position=\"relative\" w=\"100%\">\n <CTextarea\n className=\"Textarea\"\n data-testid=\"kibble-textarea\"\n resize={resize}\n variant={_computedVariant}\n value={value}\n {...(invalid && { \"aria-invalid\": true })}\n {...rest}\n ref={textareaRef}\n />\n {!!charLimit && (\n <CharacterCounter\n withLimit={true}\n limit={charLimit}\n currentCount={currentCharCount}\n />\n )}\n </Flex>\n );\n },\n);\n\nconst WrappedTextArea = React.forwardRef(\n (props: TextareaProps, ref: ForwardedRef<HTMLTextAreaElement>) => (\n <Textarea textareaRef={ref} {...props} />\n ),\n);\n\nWrappedTextArea.displayName = \"Textarea\";\n\nexport { WrappedTextArea as Textarea };\n"],"names":["Textarea","withFormControl","charLimit","invalid","onContrast","resize","textareaRef","value","rest","_computedVariant","currentCharCount","useMemo","Flex","jsx","CTextarea","CharacterCounter","WrappedTextArea","React","props","ref"],"mappings":";;;;;AAmBA,MAAMA,IAAWC;AAAA,EACf,CAAC;AAAA,IACC,WAAAC,IAAY;AAAA,IACZ,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,MACmC;AAChC,UAAAC,IAAmBL,IAAa,eAAe,WAE/CM,IAAmBC;AAAA,MACvB,MAAMJ,GAAO,YAAY,UAAU;AAAA,MACnC,CAACA,CAAK;AAAA,IACR;AAEA,kCACGK,GAAK,EAAA,WAAU,qBAAoB,UAAS,YAAW,GAAE,QACxD,UAAA;AAAA,MAAAC,gBAAAA,EAAA;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA,UACZ,QAAAT;AAAA,UACA,SAASI;AAAA,UACT,OAAAF;AAAA,UACC,GAAIJ,KAAW,EAAE,gBAAgB,GAAK;AAAA,UACtC,GAAGK;AAAA,UACJ,KAAKF;AAAA,QAAA;AAAA,MACP;AAAA,MACC,CAAC,CAACJ,KACDW,gBAAAA,EAAA;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,WAAW;AAAA,UACX,OAAOb;AAAA,UACP,cAAcQ;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB,GAEJ;AAAA,EAAA;AAGN,GAEMM,IAAkBC,EAAM;AAAA,EAC5B,CAACC,GAAsBC,MACrBN,gBAAAA,MAACb,KAAS,aAAamB,GAAM,GAAGD,EAAO,CAAA;AAE3C;AAEAF,EAAgB,cAAc;"}
@@ -1,2 +1,2 @@
1
- "use strict";const n=require("./vendor-D-x6W6ez.js"),t=require("react"),$=require("./textInput.component-CdPvTnhj.js"),L=require("./popover.component-C1e_jTLD.js"),W=require("./icon.component-Bmtf4XKw.js"),Y=require("./useIconTextSizeMap-BXmABb54.js"),F=require("./date-Du64Exix.js"),i=require("./chakra-DmF8Cxqs.js"),G=i.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}}),J=({value:s,innerRef:l,onClick:u,selected:p})=>{const M=i.useRecipe({recipe:G})({selected:p}),m=t.useCallback(r=>{const d=r.currentTarget.textContent||"";u(d)},[u]);return n.jsxRuntimeExports.jsx(i.Box,{className:"TimePicker__Option","data-testid":"kibble-timepicker-option",ref:l,onClick:m,css:M,children:s})},A=i.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:l,selectedValue:u,onClick:p,open:k=!1})=>{const m=i.useSlotRecipe({recipe:A})(),r=t.useRef(null),d=t.useRef(null);return t.useEffect(()=>{k&&d.current&&r.current&&(d.current.scrollTop=r.current?.offsetTop-d.current?.offsetTop)},[k]),n.jsxRuntimeExports.jsx(i.Box,{className:"TimePicker__List","data-testid":`kibble-timepicker-${l}-list`,css:m.list,children:s.map(c=>n.jsxRuntimeExports.jsx(J,{innerRef:c===u?r:null,value:c,selected:c===u,onClick:p,"data-testid":c},`${l}-option-${c}`))})};var a=(s=>(s.AM="AM",s.PM="PM",s))(a||{});const K=({initialTime:s,inputProps:l,minuteInterval:u=5,onTimeChange:p,placement:k="bottom"})=>{const m=i.useSlotRecipe({recipe:A})(),[r,d]=t.useState(!1),[c,E]=t.useState(s),[b,R]=t.useState(),[x,j]=t.useState(),[g,S]=t.useState(),O=t.useMemo(()=>c?F.format(c,"h:mm aa"):"",[c]),y=e=>{const o=e.toString();return o.length===1?`0${o}`:o},N=t.useMemo(()=>[12,1,2,3,4,5,6,7,8,9,10,11].map(e=>e.toString()),[]),q=t.useMemo(()=>{const e=[];for(let o=0;o<60;o+=u)e.push(o);return e.map(y)},[u]),w=[a.AM,a.PM],f=t.useCallback((e,o,h)=>{const T=e||"12",V=o||"00",P=h||"AM";let _=0;e||R("12"),o||j("00"),h||S("AM"),P===a.PM&&Number(T)<12&&(_=12),P===a.AM&&Number(T)===12&&(_=-12);const B=Number(T)+_,D=new Date().setHours(B,Number(V),0,0),v=new Date(D);E(v),p&&p(v)},[p]),H=t.useCallback(e=>{R(e),f(e,x,g)},[f,g,x]),z=t.useCallback(e=>{j(e),f(b,e,g)},[f,b,g]),I=t.useCallback(e=>{S(e),f(b,x,e)},[f,b,x]);return t.useEffect(()=>{if(s){const e=new Date(s),h=e.getHours()%12||12;E(s),R(h.toString()),j(e.getMinutes().toString()),S(e.getHours()>11?a.PM:a.AM)}},[s]),n.jsxRuntimeExports.jsx(L.Popover,{open:r,onOpenChange:({open:e})=>d(e),anchor:n.jsxRuntimeExports.jsx(i.Box,{className:"TimePicker__Trigger","data-testid":"kibble-timepicker-trigger",css:m.trigger,children:n.jsxRuntimeExports.jsx($.WrappedTextInput,{placeholder:"12:00 AM",rightElement:n.jsxRuntimeExports.jsx(W.Icon,{size:Y.useIconTextSizeMap(l?.size||"md"),name:"clock"}),value:O,readOnly:!0,cursor:"pointer",...l,...r&&{"data-focus":"true"}})}),contentProps:{w:"max-content"},variant:"default",placement:k,children:n.jsxRuntimeExports.jsxs(i.Box,{className:"TimePicker__Container","data-testid":"kibble-timepicker-container",css:m.container,children:[n.jsxRuntimeExports.jsx(C,{options:N,optionType:"hour",selectedValue:b,onClick:H,open:r}),n.jsxRuntimeExports.jsx(C,{options:q,optionType:"minute",selectedValue:x?y(x):void 0,onClick:z,open:r}),n.jsxRuntimeExports.jsx(C,{options:w,optionType:"meridiem",selectedValue:g,onClick:I,open:r})]})})};exports.Meridiem=a;exports.TimePicker=K;
2
- //# sourceMappingURL=timePicker.component-BLYPjS1u.js.map
1
+ "use strict";const n=require("./vendor-D-x6W6ez.js"),t=require("react"),$=require("./textInput.component-BalBo9uP.js"),L=require("./popover.component-CzKeBedr.js"),W=require("./icon.component-CzjzLiO_.js"),Y=require("./useIconTextSizeMap-BXmABb54.js"),F=require("./date-Du64Exix.js"),i=require("./chakra-DmF8Cxqs.js"),G=i.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}}),J=({value:s,innerRef:l,onClick:u,selected:p})=>{const M=i.useRecipe({recipe:G})({selected:p}),m=t.useCallback(r=>{const d=r.currentTarget.textContent||"";u(d)},[u]);return n.jsxRuntimeExports.jsx(i.Box,{className:"TimePicker__Option","data-testid":"kibble-timepicker-option",ref:l,onClick:m,css:M,children:s})},A=i.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:l,selectedValue:u,onClick:p,open:k=!1})=>{const m=i.useSlotRecipe({recipe:A})(),r=t.useRef(null),d=t.useRef(null);return t.useEffect(()=>{k&&d.current&&r.current&&(d.current.scrollTop=r.current?.offsetTop-d.current?.offsetTop)},[k]),n.jsxRuntimeExports.jsx(i.Box,{className:"TimePicker__List","data-testid":`kibble-timepicker-${l}-list`,css:m.list,children:s.map(c=>n.jsxRuntimeExports.jsx(J,{innerRef:c===u?r:null,value:c,selected:c===u,onClick:p,"data-testid":c},`${l}-option-${c}`))})};var a=(s=>(s.AM="AM",s.PM="PM",s))(a||{});const K=({initialTime:s,inputProps:l,minuteInterval:u=5,onTimeChange:p,placement:k="bottom"})=>{const m=i.useSlotRecipe({recipe:A})(),[r,d]=t.useState(!1),[c,E]=t.useState(s),[b,R]=t.useState(),[x,j]=t.useState(),[g,S]=t.useState(),O=t.useMemo(()=>c?F.format(c,"h:mm aa"):"",[c]),y=e=>{const o=e.toString();return o.length===1?`0${o}`:o},N=t.useMemo(()=>[12,1,2,3,4,5,6,7,8,9,10,11].map(e=>e.toString()),[]),q=t.useMemo(()=>{const e=[];for(let o=0;o<60;o+=u)e.push(o);return e.map(y)},[u]),w=[a.AM,a.PM],f=t.useCallback((e,o,h)=>{const T=e||"12",V=o||"00",P=h||"AM";let _=0;e||R("12"),o||j("00"),h||S("AM"),P===a.PM&&Number(T)<12&&(_=12),P===a.AM&&Number(T)===12&&(_=-12);const B=Number(T)+_,D=new Date().setHours(B,Number(V),0,0),v=new Date(D);E(v),p&&p(v)},[p]),H=t.useCallback(e=>{R(e),f(e,x,g)},[f,g,x]),z=t.useCallback(e=>{j(e),f(b,e,g)},[f,b,g]),I=t.useCallback(e=>{S(e),f(b,x,e)},[f,b,x]);return t.useEffect(()=>{if(s){const e=new Date(s),h=e.getHours()%12||12;E(s),R(h.toString()),j(e.getMinutes().toString()),S(e.getHours()>11?a.PM:a.AM)}},[s]),n.jsxRuntimeExports.jsx(L.Popover,{open:r,onOpenChange:({open:e})=>d(e),anchor:n.jsxRuntimeExports.jsx(i.Box,{className:"TimePicker__Trigger","data-testid":"kibble-timepicker-trigger",css:m.trigger,children:n.jsxRuntimeExports.jsx($.WrappedTextInput,{placeholder:"12:00 AM",rightElement:n.jsxRuntimeExports.jsx(W.Icon,{size:Y.useIconTextSizeMap(l?.size||"md"),name:"clock"}),value:O,readOnly:!0,cursor:"pointer",...l,...r&&{"data-focus":"true"}})}),contentProps:{w:"max-content"},variant:"default",placement:k,children:n.jsxRuntimeExports.jsxs(i.Box,{className:"TimePicker__Container","data-testid":"kibble-timepicker-container",css:m.container,children:[n.jsxRuntimeExports.jsx(C,{options:N,optionType:"hour",selectedValue:b,onClick:H,open:r}),n.jsxRuntimeExports.jsx(C,{options:q,optionType:"minute",selectedValue:x?y(x):void 0,onClick:z,open:r}),n.jsxRuntimeExports.jsx(C,{options:w,optionType:"meridiem",selectedValue:g,onClick:I,open:r})]})})};exports.Meridiem=a;exports.TimePicker=K;
2
+ //# sourceMappingURL=timePicker.component-BwYdnFmw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timePicker.component-BLYPjS1u.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-BwYdnFmw.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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"}