@servicetitan/anvil2 1.48.1 → 1.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/{Alert-Cz_w_cw0.js → Alert-aGBkujwE.js} +4 -4
  3. package/dist/{Alert-Cz_w_cw0.js.map → Alert-aGBkujwE.js.map} +1 -1
  4. package/dist/Alert.js +1 -1
  5. package/dist/{Announcement-C1xSJkl0.js → Announcement-BPwFNhYe.js} +4 -4
  6. package/dist/{Announcement-C1xSJkl0.js.map → Announcement-BPwFNhYe.js.map} +1 -1
  7. package/dist/Announcement.js +1 -1
  8. package/dist/{AnvilProvider-DDo8ZcIA.js → AnvilProvider-DBYMPYAO.js} +3 -3
  9. package/dist/{AnvilProvider-DDo8ZcIA.js.map → AnvilProvider-DBYMPYAO.js.map} +1 -1
  10. package/dist/AnvilProvider.js +1 -1
  11. package/dist/{Avatar-VQrimv28.js → Avatar-DeEV-v-b.js} +2 -2
  12. package/dist/{Avatar-VQrimv28.js.map → Avatar-DeEV-v-b.js.map} +1 -1
  13. package/dist/{Avatar-Bbwk2MCy.js → Avatar-gtxslf5v.js} +2 -2
  14. package/dist/{Avatar-Bbwk2MCy.js.map → Avatar-gtxslf5v.js.map} +1 -1
  15. package/dist/Avatar.js +2 -2
  16. package/dist/{Badge-DOnID5l5.js → Badge-DY5xJkqi.js} +2 -2
  17. package/dist/{Badge-DOnID5l5.js.map → Badge-DY5xJkqi.js.map} +1 -1
  18. package/dist/Badge.js +1 -1
  19. package/dist/{Breadcrumbs-DKqd8VRz.js → Breadcrumbs-DjR-2OEH.js} +5 -5
  20. package/dist/{Breadcrumbs-DKqd8VRz.js.map → Breadcrumbs-DjR-2OEH.js.map} +1 -1
  21. package/dist/Breadcrumbs.js +1 -1
  22. package/dist/{Button-DzcOa6iJ.js → Button-92_FKAyV.js} +3 -3
  23. package/dist/{Button-DzcOa6iJ.js.map → Button-92_FKAyV.js.map} +1 -1
  24. package/dist/Button.js +1 -1
  25. package/dist/{ButtonCompound-Dvr3Fres.js → ButtonCompound-COdSELhh.js} +2 -2
  26. package/dist/{ButtonCompound-Dvr3Fres.js.map → ButtonCompound-COdSELhh.js.map} +1 -1
  27. package/dist/ButtonCompound.js +1 -1
  28. package/dist/{ButtonLink-DGIRpyK6.js → ButtonLink-C0zR7Wnb.js} +3 -3
  29. package/dist/{ButtonLink-DGIRpyK6.js.map → ButtonLink-C0zR7Wnb.js.map} +1 -1
  30. package/dist/ButtonLink.js +1 -1
  31. package/dist/{ButtonToggle-Dv6VAm4W.js → ButtonToggle--sKvhBoA.js} +3 -3
  32. package/dist/{ButtonToggle-Dv6VAm4W.js.map → ButtonToggle--sKvhBoA.js.map} +1 -1
  33. package/dist/ButtonToggle.js +1 -1
  34. package/dist/{Calendar-NDOcurOz.js → Calendar-BkJs1qTF.js} +59 -69
  35. package/dist/Calendar-BkJs1qTF.js.map +1 -0
  36. package/dist/{Calendar-8bP4LsQV.js → Calendar-WHERvu2Y.js} +2 -2
  37. package/dist/{Calendar-8bP4LsQV.js.map → Calendar-WHERvu2Y.js.map} +1 -1
  38. package/dist/Calendar.css +52 -51
  39. package/dist/Calendar.js +2 -2
  40. package/dist/{Card-Cyoz-LaD.js → Card-Ch3sMUo5.js} +2 -2
  41. package/dist/{Card-Cyoz-LaD.js.map → Card-Ch3sMUo5.js.map} +1 -1
  42. package/dist/Card.js +1 -1
  43. package/dist/{Checkbox-Bsa1FgoI.js → Checkbox-Bhjj-jM4.js} +5 -5
  44. package/dist/{Checkbox-Bsa1FgoI.js.map → Checkbox-Bhjj-jM4.js.map} +1 -1
  45. package/dist/{Checkbox-BJnt8TFk.js → Checkbox-C5Qjq_tU.js} +2 -2
  46. package/dist/{Checkbox-BJnt8TFk.js.map → Checkbox-C5Qjq_tU.js.map} +1 -1
  47. package/dist/Checkbox.js +2 -2
  48. package/dist/{Chip-BGa1Inb8.js → Chip-X2EwdZ97.js} +4 -4
  49. package/dist/{Chip-BGa1Inb8.js.map → Chip-X2EwdZ97.js.map} +1 -1
  50. package/dist/Chip.js +1 -1
  51. package/dist/{Combobox-BfqKpX1v.js → Combobox-C4COM7BZ.js} +13 -13
  52. package/dist/{Combobox-BfqKpX1v.js.map → Combobox-C4COM7BZ.js.map} +1 -1
  53. package/dist/Combobox.js +1 -1
  54. package/dist/{DataTable-xUON92DR.js → DataTable-BkNCMaVu.js} +93 -89
  55. package/dist/DataTable-BkNCMaVu.js.map +1 -0
  56. package/dist/{DateField-Cm0FIG3Y.js → DateField-BNleIuS8.js} +6 -6
  57. package/dist/{DateField-Cm0FIG3Y.js.map → DateField-BNleIuS8.js.map} +1 -1
  58. package/dist/DateField.js +1 -1
  59. package/dist/{DateFieldRange-CGGqW_cg.js → DateFieldRange-BBgvno-_.js} +11 -8
  60. package/dist/{DateFieldRange-CGGqW_cg.js.map → DateFieldRange-BBgvno-_.js.map} +1 -1
  61. package/dist/DateFieldRange.js +1 -1
  62. package/dist/{DateFieldSingle-BYWuJ3IL.js → DateFieldSingle-Bcwkxogy.js} +11 -8
  63. package/dist/{DateFieldSingle-BYWuJ3IL.js.map → DateFieldSingle-Bcwkxogy.js.map} +1 -1
  64. package/dist/DateFieldSingle.js +1 -1
  65. package/dist/DateFieldYearless-DnVJaBBq.js +133 -0
  66. package/dist/DateFieldYearless-DnVJaBBq.js.map +1 -0
  67. package/dist/DateFieldYearless.js +1 -1
  68. package/dist/DateFieldYearlessRange-BivGidsU.js +178 -0
  69. package/dist/DateFieldYearlessRange-BivGidsU.js.map +1 -0
  70. package/dist/DateFieldYearlessRange.css +36 -0
  71. package/dist/DateFieldYearlessRange.d.ts +2 -0
  72. package/dist/DateFieldYearlessRange.js +2 -0
  73. package/dist/DateFieldYearlessRange.js.map +1 -0
  74. package/dist/{DaysOfTheWeek-BIi9dyJP.js → DaysOfTheWeek-Dn6zHxpt.js} +6 -6
  75. package/dist/{DaysOfTheWeek-BIi9dyJP.js.map → DaysOfTheWeek-Dn6zHxpt.js.map} +1 -1
  76. package/dist/DaysOfTheWeek.js +1 -1
  77. package/dist/{Details-Bg7QzlOm.js → Details-CkaKTRvc.js} +3 -3
  78. package/dist/{Details-Bg7QzlOm.js.map → Details-CkaKTRvc.js.map} +1 -1
  79. package/dist/Details.js +1 -1
  80. package/dist/{Dialog-fJClGTI6.js → Dialog-CxH4Vnbb.js} +4 -4
  81. package/dist/{Dialog-fJClGTI6.js.map → Dialog-CxH4Vnbb.js.map} +1 -1
  82. package/dist/Dialog.js +1 -1
  83. package/dist/{Divider-DYZFKug1.js → Divider-Olv8yWXD.js} +2 -2
  84. package/dist/{Divider-DYZFKug1.js.map → Divider-Olv8yWXD.js.map} +1 -1
  85. package/dist/Divider.js +1 -1
  86. package/dist/Dnd.js +1 -1
  87. package/dist/DndSort.js +7 -6
  88. package/dist/DndSort.js.map +1 -1
  89. package/dist/{Drawer-DyHDRTR-.js → Drawer-BLfDJU-e.js} +4 -4
  90. package/dist/{Drawer-DyHDRTR-.js.map → Drawer-BLfDJU-e.js.map} +1 -1
  91. package/dist/Drawer.js +1 -1
  92. package/dist/{EditCard-LdyduHqX.js → EditCard-Ds1UXJIS.js} +6 -6
  93. package/dist/{EditCard-LdyduHqX.js.map → EditCard-Ds1UXJIS.js.map} +1 -1
  94. package/dist/EditCard.js +1 -1
  95. package/dist/{FieldLabel-DIlzcPIQ.js → FieldLabel-CHMCV9wX.js} +38 -19
  96. package/dist/FieldLabel-CHMCV9wX.js.map +1 -0
  97. package/dist/FieldLabel.css +22 -7
  98. package/dist/FieldLabel.js +1 -1
  99. package/dist/{FieldMessage-BbARBii0.js → FieldMessage-DWONT3dr.js} +2 -2
  100. package/dist/{FieldMessage-BbARBii0.js.map → FieldMessage-DWONT3dr.js.map} +1 -1
  101. package/dist/FieldMessage.js +1 -1
  102. package/dist/{Flex-GLF5XRJg.js → Flex-CjPHUTeq.js} +2 -2
  103. package/dist/{Flex-GLF5XRJg.js.map → Flex-CjPHUTeq.js.map} +1 -1
  104. package/dist/Flex.js +1 -1
  105. package/dist/{Grid-BpAt2zA7.js → Grid-DW2cAuHi.js} +2 -2
  106. package/dist/{Grid-BpAt2zA7.js.map → Grid-DW2cAuHi.js.map} +1 -1
  107. package/dist/Grid.js +1 -1
  108. package/dist/{Helper-DHoKHqxV.js → Helper-DjWotFtO.js} +2 -2
  109. package/dist/{Helper-DHoKHqxV.js.map → Helper-DjWotFtO.js.map} +1 -1
  110. package/dist/{Icon-TcJbUdTz.js → Icon-BSuTVNaa.js} +2 -2
  111. package/dist/{Icon-TcJbUdTz.js.map → Icon-BSuTVNaa.js.map} +1 -1
  112. package/dist/Icon.js +1 -1
  113. package/dist/{InputMask-B6oJlChY.js → InputMask-Cd01c3Tj.js} +2 -2
  114. package/dist/{InputMask-B6oJlChY.js.map → InputMask-Cd01c3Tj.js.map} +1 -1
  115. package/dist/InputMask.js +1 -1
  116. package/dist/{Link-Br_AJ7Af.js → Link-DuYh7Xl2.js} +3 -3
  117. package/dist/{Link-Br_AJ7Af.js.map → Link-DuYh7Xl2.js.map} +1 -1
  118. package/dist/Link.js +1 -1
  119. package/dist/{LinkButton-CwiVzaro.js → LinkButton-pIUNATNE.js} +2 -2
  120. package/dist/{LinkButton-CwiVzaro.js.map → LinkButton-pIUNATNE.js.map} +1 -1
  121. package/dist/LinkButton.js +1 -1
  122. package/dist/{ListView-fBFSagWO.js → ListView-CZ5T8bR1.js} +3 -3
  123. package/dist/{ListView-fBFSagWO.js.map → ListView-CZ5T8bR1.js.map} +1 -1
  124. package/dist/ListView.js +1 -1
  125. package/dist/{Listbox-gtZ2Ao_I.js → Listbox-C-n4IVVj.js} +5 -5
  126. package/dist/{Listbox-gtZ2Ao_I.js.map → Listbox-C-n4IVVj.js.map} +1 -1
  127. package/dist/Listbox.js +1 -1
  128. package/dist/{LocalizationProvider-Cqattc3O.js → LocalizationProvider-u6xdKCBi.js} +2 -2
  129. package/dist/{LocalizationProvider-Cqattc3O.js.map → LocalizationProvider-u6xdKCBi.js.map} +1 -1
  130. package/dist/LocalizationProvider.js +1 -1
  131. package/dist/{Menu-CBbUK_sX.js → Menu-DUAfSImY.js} +4 -4
  132. package/dist/{Menu-CBbUK_sX.js.map → Menu-DUAfSImY.js.map} +1 -1
  133. package/dist/Menu.js +1 -1
  134. package/dist/{NumberField-CNskrtsN.js → NumberField-C62E56_v.js} +7 -7
  135. package/dist/{NumberField-CNskrtsN.js.map → NumberField-C62E56_v.js.map} +1 -1
  136. package/dist/NumberField.js +1 -1
  137. package/dist/Overflow.js +2 -3
  138. package/dist/Overflow.js.map +1 -1
  139. package/dist/{Page-4VdFrCjy.js → Page-CGZQ-nsg.js} +15 -15
  140. package/dist/Page-CGZQ-nsg.js.map +1 -0
  141. package/dist/Page.js +1 -1
  142. package/dist/{Pagination-CQjNN1yN.js → Pagination-BHEEnNas.js} +6 -6
  143. package/dist/{Pagination-CQjNN1yN.js.map → Pagination-BHEEnNas.js.map} +1 -1
  144. package/dist/Pagination.js +1 -1
  145. package/dist/{Popover--c9PXAVi.js → Popover-CIPg_ZgX.js} +5 -4
  146. package/dist/Popover-CIPg_ZgX.js.map +1 -0
  147. package/dist/Popover.js +1 -1
  148. package/dist/{ProgressBar-CXMuhBQV.js → ProgressBar-CUpF9fFW.js} +6 -6
  149. package/dist/{ProgressBar-CXMuhBQV.js.map → ProgressBar-CUpF9fFW.js.map} +1 -1
  150. package/dist/ProgressBar.js +1 -1
  151. package/dist/{Radio-CTYs8JpI.js → Radio-CyCFna1X.js} +2 -2
  152. package/dist/{Radio-CTYs8JpI.js.map → Radio-CyCFna1X.js.map} +1 -1
  153. package/dist/Radio.js +2 -2
  154. package/dist/{RadioGroup-BVGnsTuG.js → RadioGroup-DRS2EjVH.js} +5 -5
  155. package/dist/{RadioGroup-BVGnsTuG.js.map → RadioGroup-DRS2EjVH.js.map} +1 -1
  156. package/dist/{SearchField-DLqva3o3.js → SearchField-DrgNbG3I.js} +3 -3
  157. package/dist/{SearchField-DLqva3o3.js.map → SearchField-DrgNbG3I.js.map} +1 -1
  158. package/dist/SearchField.js +1 -1
  159. package/dist/{SegmentedControl-1OzOQmCp.js → SegmentedControl-DK1cwC7A.js} +12 -3
  160. package/dist/SegmentedControl-DK1cwC7A.js.map +1 -0
  161. package/dist/SegmentedControl.js +1 -1
  162. package/dist/{SelectCard-Dw7zW0UN.js → SelectCard-lBcnP5j5.js} +4 -4
  163. package/dist/{SelectCard-Dw7zW0UN.js.map → SelectCard-lBcnP5j5.js.map} +1 -1
  164. package/dist/SelectCard.js +1 -1
  165. package/dist/{SelectTrigger-BQNqyG3M.js → SelectTrigger-qvoGCkb1.js} +5 -5
  166. package/dist/{SelectTrigger-BQNqyG3M.js.map → SelectTrigger-qvoGCkb1.js.map} +1 -1
  167. package/dist/SelectTrigger.js +1 -1
  168. package/dist/{SelectTriggerBase-B-fxog4U.js → SelectTriggerBase-C4gebtca.js} +6 -6
  169. package/dist/{SelectTriggerBase-B-fxog4U.js.map → SelectTriggerBase-C4gebtca.js.map} +1 -1
  170. package/dist/{SideNav-COiPAIph.js → SideNav-B1sH17Uc.js} +3 -3
  171. package/dist/{SideNav-COiPAIph.js.map → SideNav-B1sH17Uc.js.map} +1 -1
  172. package/dist/SideNav.js +1 -1
  173. package/dist/Skeleton.js +1 -1
  174. package/dist/{Stepper-xcgOQzru.js → Stepper-BZr9ytpD.js} +7 -4
  175. package/dist/Stepper-BZr9ytpD.js.map +1 -0
  176. package/dist/Stepper.js +1 -1
  177. package/dist/{Switch-mhyHJeex.js → Switch-BXDPs2mD.js} +8 -6
  178. package/dist/Switch-BXDPs2mD.js.map +1 -0
  179. package/dist/Switch.js +1 -1
  180. package/dist/{Tab-BISlFW_i.js → Tab-6UavokJJ.js} +3 -3
  181. package/dist/{Tab-BISlFW_i.js.map → Tab-6UavokJJ.js.map} +1 -1
  182. package/dist/Tab.js +1 -1
  183. package/dist/Table.js +1 -1
  184. package/dist/{Text-CDzLZl1O.js → Text-kPA-VzsB.js} +2 -2
  185. package/dist/{Text-CDzLZl1O.js.map → Text-kPA-VzsB.js.map} +1 -1
  186. package/dist/Text.js +1 -1
  187. package/dist/{TextField-CUrYEZR4.js → TextField-CpVkZxMT.js} +2 -2
  188. package/dist/{TextField-CUrYEZR4.js.map → TextField-CpVkZxMT.js.map} +1 -1
  189. package/dist/{TextField-DPTJjF8V.js → TextField-CygbgVVt.js} +6 -5
  190. package/dist/TextField-CygbgVVt.js.map +1 -0
  191. package/dist/TextField.js +1 -1
  192. package/dist/{Textarea-f0jAKcvn.js → Textarea-DacevzmW.js} +4 -4
  193. package/dist/{Textarea-f0jAKcvn.js.map → Textarea-DacevzmW.js.map} +1 -1
  194. package/dist/Textarea.js +1 -1
  195. package/dist/{ThemeProvider-CUiXHn4p.js → ThemeProvider-Bmsz__5N.js} +2 -2
  196. package/dist/{ThemeProvider-CUiXHn4p.js.map → ThemeProvider-Bmsz__5N.js.map} +1 -1
  197. package/dist/ThemeProvider.js +1 -1
  198. package/dist/{TimeField-CGSwrpl0.js → TimeField-BkOB5ESa.js} +8 -7
  199. package/dist/{TimeField-CGSwrpl0.js.map → TimeField-BkOB5ESa.js.map} +1 -1
  200. package/dist/TimeField.js +1 -1
  201. package/dist/Toast.js +2 -2
  202. package/dist/{Toaster-C6iB4h0P.js → Toaster-BxbR-XcR.js} +2 -2
  203. package/dist/{Toaster-C6iB4h0P.js.map → Toaster-BxbR-XcR.js.map} +1 -1
  204. package/dist/{Toaster-D72xHdfH.js → Toaster-Dg7M4W4U.js} +4 -4
  205. package/dist/{Toaster-D72xHdfH.js.map → Toaster-Dg7M4W4U.js.map} +1 -1
  206. package/dist/{Toolbar-CcJa_YpH.js → Toolbar-XcfHQftc.js} +20 -20
  207. package/dist/{Toolbar-CcJa_YpH.js.map → Toolbar-XcfHQftc.js.map} +1 -1
  208. package/dist/Toolbar.js +1 -1
  209. package/dist/{Tooltip-BOfdwyTv.js → Tooltip-CZsoFe6C.js} +2 -2
  210. package/dist/{Tooltip-BOfdwyTv.js.map → Tooltip-CZsoFe6C.js.map} +1 -1
  211. package/dist/Tooltip.js +1 -1
  212. package/dist/YearlessDateInputWithPicker-MHLlAdrH.js +949 -0
  213. package/dist/YearlessDateInputWithPicker-MHLlAdrH.js.map +1 -0
  214. package/dist/YearlessDateInputWithPicker.css +199 -0
  215. package/dist/beta/components/Table/DataTable/DataTable.d.ts +4 -4
  216. package/dist/beta/components/Table/DataTable/internal/useAsyncData.d.ts +5 -0
  217. package/dist/beta.js +4 -4
  218. package/dist/components/DateFieldYearless/DateFieldYearless.d.ts +57 -3
  219. package/dist/components/DateFieldYearless/internal/PickerList.d.ts +61 -0
  220. package/dist/components/DateFieldYearless/internal/PickerListOption.d.ts +61 -0
  221. package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +51 -0
  222. package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +134 -0
  223. package/dist/components/DateFieldYearless/internal/YearlessDateSelectionPopover.d.ts +27 -0
  224. package/dist/components/DateFieldYearless/internal/maskito/yearlessDatePlaceholderMask.d.ts +3 -1
  225. package/dist/components/DateFieldYearless/internal/maskito/yearlessDateSegmentsStepping.d.ts +12 -0
  226. package/dist/components/DateFieldYearless/internal/utils.d.ts +50 -1
  227. package/dist/components/DateFieldYearlessRange/DateFieldYearlessRange.d.ts +59 -0
  228. package/dist/components/DateFieldYearlessRange/index.d.ts +1 -0
  229. package/dist/components/Dnd/DndHandleButton.d.ts +2 -1
  230. package/dist/components/FieldLabel/FieldLabel.d.ts +9 -48
  231. package/dist/components/FieldLabel/internal/FieldLabelMoreInfoIcon.d.ts +3 -1
  232. package/dist/components/Popover/Popover.d.ts +1 -0
  233. package/dist/components/Popover/PopoverContent.d.ts +8 -0
  234. package/dist/components/index.d.ts +1 -0
  235. package/dist/{index-CUVkL0hr.js → index-ByS9WvPk.js} +4 -3
  236. package/dist/index-ByS9WvPk.js.map +1 -0
  237. package/dist/{index.esm-BwMVvxTV.js → index.esm-C2ZhC_8d.js} +2 -2
  238. package/dist/{index.esm-BwMVvxTV.js.map → index.esm-C2ZhC_8d.js.map} +1 -1
  239. package/dist/index.js +68 -67
  240. package/dist/index.js.map +1 -1
  241. package/dist/{useLayoutPropsUtil-C7FVYB8F.js → useLayoutPropsUtil-BlIWftBb.js} +2 -2
  242. package/dist/{useLayoutPropsUtil-C7FVYB8F.js.map → useLayoutPropsUtil-BlIWftBb.js.map} +1 -1
  243. package/dist/{utils-CyPyKUVh.js → utils-aSAOVHjX.js} +2 -2
  244. package/dist/{utils-CyPyKUVh.js.map → utils-aSAOVHjX.js.map} +1 -1
  245. package/package.json +2 -1
  246. package/dist/Calendar-NDOcurOz.js.map +0 -1
  247. package/dist/DataTable-xUON92DR.js.map +0 -1
  248. package/dist/DateFieldYearless-BXRgNWzy.js +0 -266
  249. package/dist/DateFieldYearless-BXRgNWzy.js.map +0 -1
  250. package/dist/FieldLabel-DIlzcPIQ.js.map +0 -1
  251. package/dist/Page-4VdFrCjy.js.map +0 -1
  252. package/dist/Popover--c9PXAVi.js.map +0 -1
  253. package/dist/SegmentedControl-1OzOQmCp.js.map +0 -1
  254. package/dist/Stepper-xcgOQzru.js.map +0 -1
  255. package/dist/Switch-mhyHJeex.js.map +0 -1
  256. package/dist/TextField-DPTJjF8V.js.map +0 -1
  257. package/dist/components/DateFieldYearless/internal/MaskedYearlessDateInput.d.ts +0 -35
  258. package/dist/index-CUVkL0hr.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ import { YearlessDateMode, YearlessDate } from '../types';
3
+ import { PassThroughPropsWithRef, Size } from '../../../types';
4
+ export type YearlessDateInputChange = {
5
+ event: React.ChangeEvent<HTMLInputElement> | null;
6
+ value: YearlessDate | null;
7
+ isInputValid: boolean;
8
+ isInputEmpty: boolean;
9
+ };
10
+ export type YearlessDateInputChangeHandler = (change: YearlessDateInputChange) => void;
11
+ export type YearlessDateInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "value" | "ref" | "size"> & {
12
+ onChange: YearlessDateInputChangeHandler;
13
+ mode?: YearlessDateMode;
14
+ value?: YearlessDate | null;
15
+ error?: boolean;
16
+ size?: Extract<Size, "small" | "medium" | "large">;
17
+ wrapperProps?: PassThroughPropsWithRef<"div">;
18
+ rootProps?: PassThroughPropsWithRef<"div">;
19
+ loading?: boolean;
20
+ enableStepping?: boolean;
21
+ };
22
+ export type YearlessDateInputRef = HTMLInputElement & {
23
+ setValue: (value: YearlessDate | null) => {
24
+ value: YearlessDate | null;
25
+ isInputValid: boolean;
26
+ isInputEmpty: boolean;
27
+ };
28
+ removePlaceholder: (value: string) => string;
29
+ };
30
+ /**
31
+ * A masked date input component that allows for the input of a date in a specific format.
32
+ *
33
+ * Provides a `setDate` method that can be used to set the date from outside the component (e.g from a calendar).
34
+ *
35
+ * @internal This component is not intended to be used directly in consumer code.
36
+ *
37
+ * @param props - The props for the MaskedDateInput component.
38
+ * @param props.onChange - The function to call when the date changes.
39
+ * @param props.mode - The mode of the date input.
40
+ */
41
+ export declare const YearlessDateInput: import('react').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "ref" | "value" | "onChange"> & {
42
+ onChange: YearlessDateInputChangeHandler;
43
+ mode?: YearlessDateMode;
44
+ value?: YearlessDate | null;
45
+ error?: boolean;
46
+ size?: Extract<Size, "small" | "medium" | "large">;
47
+ wrapperProps?: PassThroughPropsWithRef<"div">;
48
+ rootProps?: PassThroughPropsWithRef<"div">;
49
+ loading?: boolean;
50
+ enableStepping?: boolean;
51
+ } & import('react').RefAttributes<YearlessDateInputRef>>;
@@ -0,0 +1,134 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ import { YearlessDateMode, YearlessDate } from '../types';
3
+ import { DateFieldYearlessChangeHandler } from '../DateFieldYearless';
4
+ import { Size } from '../../../types';
5
+ export type YearlessDateInputWithPickerProps = Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "value" | "ref" | "size" | "defaultValue" | "onFocus" | "onBlur"> & {
6
+ /**
7
+ * The controlled value of the date field
8
+ */
9
+ value?: YearlessDate | null;
10
+ /**
11
+ * The default value for uncontrolled usage
12
+ */
13
+ defaultValue?: YearlessDate | null;
14
+ /**
15
+ * The function to call when the date value changes
16
+ */
17
+ onChange?: DateFieldYearlessChangeHandler;
18
+ /**
19
+ * The date format mode (mm/dd or dd/mm)
20
+ */
21
+ mode?: YearlessDateMode;
22
+ /**
23
+ * Whether the field is required
24
+ */
25
+ required?: boolean;
26
+ /**
27
+ * The minimum allowed date
28
+ */
29
+ minDate?: YearlessDate | null;
30
+ /**
31
+ * The maximum allowed date
32
+ */
33
+ maxDate?: YearlessDate | null;
34
+ /**
35
+ * Configuration for unavailable dates
36
+ */
37
+ unavailable?: {
38
+ /**
39
+ * Array of dates that are not selectable
40
+ */
41
+ dates?: YearlessDate[];
42
+ };
43
+ /**
44
+ * Whether the picker is disabled
45
+ */
46
+ disablePicker?: boolean;
47
+ /**
48
+ * The size of the input
49
+ */
50
+ size?: Extract<Size, "small" | "medium" | "large">;
51
+ /**
52
+ * Whether the input has an error
53
+ */
54
+ error?: boolean;
55
+ /**
56
+ * Whether the input is in loading state
57
+ */
58
+ loading?: boolean;
59
+ /**
60
+ * Function to call when the input is focused
61
+ */
62
+ onFocus?: (event: React.FocusEvent) => void;
63
+ /**
64
+ * Function to call when the input is blurred
65
+ */
66
+ onBlur?: (event: React.FocusEvent) => void;
67
+ };
68
+ export type YearlessDateInputWithPickerRef = {
69
+ focus: () => void;
70
+ setValue: (value: YearlessDate | null) => void;
71
+ };
72
+ export declare const YearlessDateInputWithPicker: import('react').ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "ref" | "value" | "onBlur" | "onFocus" | "onChange" | "defaultValue"> & {
73
+ /**
74
+ * The controlled value of the date field
75
+ */
76
+ value?: YearlessDate | null;
77
+ /**
78
+ * The default value for uncontrolled usage
79
+ */
80
+ defaultValue?: YearlessDate | null;
81
+ /**
82
+ * The function to call when the date value changes
83
+ */
84
+ onChange?: DateFieldYearlessChangeHandler;
85
+ /**
86
+ * The date format mode (mm/dd or dd/mm)
87
+ */
88
+ mode?: YearlessDateMode;
89
+ /**
90
+ * Whether the field is required
91
+ */
92
+ required?: boolean;
93
+ /**
94
+ * The minimum allowed date
95
+ */
96
+ minDate?: YearlessDate | null;
97
+ /**
98
+ * The maximum allowed date
99
+ */
100
+ maxDate?: YearlessDate | null;
101
+ /**
102
+ * Configuration for unavailable dates
103
+ */
104
+ unavailable?: {
105
+ /**
106
+ * Array of dates that are not selectable
107
+ */
108
+ dates?: YearlessDate[];
109
+ };
110
+ /**
111
+ * Whether the picker is disabled
112
+ */
113
+ disablePicker?: boolean;
114
+ /**
115
+ * The size of the input
116
+ */
117
+ size?: Extract<Size, "small" | "medium" | "large">;
118
+ /**
119
+ * Whether the input has an error
120
+ */
121
+ error?: boolean;
122
+ /**
123
+ * Whether the input is in loading state
124
+ */
125
+ loading?: boolean;
126
+ /**
127
+ * Function to call when the input is focused
128
+ */
129
+ onFocus?: (event: React.FocusEvent) => void;
130
+ /**
131
+ * Function to call when the input is blurred
132
+ */
133
+ onBlur?: (event: React.FocusEvent) => void;
134
+ } & import('react').RefAttributes<YearlessDateInputWithPickerRef>>;
@@ -0,0 +1,27 @@
1
+ import { RefObject } from 'react';
2
+ import { YearlessDateMode } from '..';
3
+ import { PopoverTriggerProps } from '../../Popover/PopoverTrigger';
4
+ /**
5
+ * Props for the YearlessDateSelectionPopover component
6
+ */
7
+ export type YearlessDateSelectionPopoverProps = {
8
+ popoverRef: RefObject<{
9
+ openPopover: () => void;
10
+ closePopover: () => void;
11
+ }>;
12
+ popoverContentRef: RefObject<HTMLDivElement>;
13
+ month: number | null;
14
+ day: number | null;
15
+ onMonthChange: (month: number | null) => void;
16
+ onDayChange: (day: number | null) => void;
17
+ onClose: () => void;
18
+ mode: YearlessDateMode;
19
+ onFocus?: (event: React.FocusEvent) => void;
20
+ onBlur?: (event: React.FocusEvent) => void;
21
+ } & PopoverTriggerProps;
22
+ /**
23
+ * A yearless date selection tool built into a popover.
24
+ * @param param0
25
+ * @returns
26
+ */
27
+ export declare function YearlessDateSelectionPopover({ children, popoverRef, popoverContentRef, month, day, onMonthChange, onDayChange, onClose, mode, onFocus, onBlur, }: YearlessDateSelectionPopoverProps): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { YearlessDateMode } from '../../types';
2
- declare const yearlessDatePlaceholderMask: ({ mode, separator, placeholder, }: {
2
+ declare const yearlessDatePlaceholderMask: ({ mode, separator, placeholder, enableStepping, }: {
3
3
  mode: YearlessDateMode;
4
+ enableStepping: boolean;
4
5
  separator?: string;
5
6
  placeholder: string;
6
7
  }) => {
@@ -12,5 +13,6 @@ declare const yearlessDatePlaceholderMask: ({ mode, separator, placeholder, }: {
12
13
  overwriteMode: "replace" | "shift" | ((elementState: import('@maskito/core/src/lib/types').ElementState) => "replace" | "shift");
13
14
  };
14
15
  removePlaceholder: (value: string) => string;
16
+ transform: (value: string) => string;
15
17
  };
16
18
  export default yearlessDatePlaceholderMask;
@@ -0,0 +1,12 @@
1
+ import { MaskitoPlugin } from '@maskito/core';
2
+ import { YearlessDateMode } from '../../types';
3
+ /**
4
+ * Creates a Maskito plugin for yearless date segment stepping
5
+ * @param mode - The date format mode (mm/dd or dd/mm)
6
+ * @returns MaskitoPlugin that handles arrow key navigation
7
+ * @example
8
+ * const plugin = createYearlessDateSegmentsSteppingPlugin({ mode: "mm/dd" });
9
+ */
10
+ export declare function createYearlessDateSegmentsSteppingPlugin({ mode, }: {
11
+ mode: YearlessDateMode;
12
+ }): MaskitoPlugin;
@@ -1,4 +1,4 @@
1
- import { YearlessDate } from '../types';
1
+ import { YearlessDate, YearlessDateMode } from '../types';
2
2
  export declare function validateYearlessDate({ value, constraints, }: {
3
3
  value: YearlessDate | null;
4
4
  constraints: {
@@ -10,3 +10,52 @@ export declare function validateYearlessDate({ value, constraints, }: {
10
10
  maxDate?: YearlessDate | null;
11
11
  };
12
12
  }): boolean;
13
+ /**
14
+ * Return list of months
15
+ * 🌍 localeName: name of local,
16
+ * ✅ monthFormat: short, numeric, long (Default)
17
+ */
18
+ export declare function getMonthNames({ locale, format, }: {
19
+ locale: string;
20
+ format: Intl.DateTimeFormatOptions["month"];
21
+ }): string[];
22
+ /**
23
+ * Given a text value, parse it into a YearlessDate object and validate it.
24
+ * @param value - The text value to parse.
25
+ * @param mode - The mode of the date input.
26
+ * @param removePlaceholder - The function to remove the placeholder from the text value.
27
+ * @returns An object containing the parsed YearlessDate object, the input validity, and the input emptiness.
28
+ */
29
+ export declare function parseInputValue(value: string, mode: YearlessDateMode, removePlaceholder: (value: string) => string): {
30
+ value: YearlessDate | null;
31
+ isInputValid: boolean;
32
+ isInputEmpty: boolean;
33
+ };
34
+ /**
35
+ * Swap the mode of a date input.
36
+ * @param inputString - The text value to swap the mode of.
37
+ * @param previousMode - The previous mode of the date input.
38
+ * @param mode - The new mode of the date input.
39
+ * @returns The text value with the new mode.
40
+ */
41
+ export declare function swapMode(inputString: string, previousMode: YearlessDateMode, mode: YearlessDateMode): string;
42
+ /**
43
+ * Convert a YearlessDate object into a text value.
44
+ * @param day - The day of the date.
45
+ * @param month - The month of the date.
46
+ * @param mode - The mode of the date input.
47
+ * @returns The stringified date.
48
+ */
49
+ export declare function stringifyYearlessDate(day: number | string | null, month: number | string | null, mode: YearlessDateMode): string;
50
+ /**
51
+ * Get the number of days in a given month.
52
+ * @param month - The month number (1-12)
53
+ * @returns The number of days in the month
54
+ */
55
+ export declare function getDaysInMonth(month: number): number;
56
+ /**
57
+ * Get months that don't have enough days for the given day.
58
+ * @param day - The day number (1-31)
59
+ * @returns Array of month numbers that don't have enough days for the given day
60
+ */
61
+ export declare function getInvalidMonthsForDay(day: number): number[];
@@ -0,0 +1,59 @@
1
+ import { ReactElement } from 'react';
2
+ import { HelperProps } from '../../internal/components';
3
+ import { LayoutUtilProps, Size } from '../../types';
4
+ import { FieldLabelProps } from '../FieldLabel';
5
+ import { YearlessDate, YearlessDateMode } from '../DateFieldYearless/types';
6
+ export type DateFieldYearlessRangeValue = {
7
+ startDate: YearlessDate | null;
8
+ endDate: YearlessDate | null;
9
+ };
10
+ export type DateFieldYearlessRangeChange = {
11
+ startDate: YearlessDate | null;
12
+ endDate: YearlessDate | null;
13
+ };
14
+ export type DateFieldYearlessRangeChangeHandler = (change: DateFieldYearlessRangeChange) => void;
15
+ export type DateFieldYearlessRangeProps = {
16
+ /**
17
+ * The controlled value of the date field
18
+ */
19
+ value?: DateFieldYearlessRangeValue;
20
+ /**
21
+ * The default value for uncontrolled usage
22
+ */
23
+ defaultValue?: DateFieldYearlessRangeValue;
24
+ /**
25
+ * The function to call when the date value changes
26
+ */
27
+ onChange?: DateFieldYearlessRangeChangeHandler;
28
+ /**
29
+ * The date format mode (mm/dd or dd/mm)
30
+ */
31
+ mode?: YearlessDateMode;
32
+ /**
33
+ * Whether the field is required
34
+ */
35
+ required?: boolean;
36
+ /**
37
+ * Whether the picker is disabled
38
+ */
39
+ disablePicker?: boolean;
40
+ /**
41
+ * Whether to disable the hint
42
+ */
43
+ disableHint?: boolean;
44
+ error?: ReactElement | string | boolean;
45
+ label: string;
46
+ hideLabel?: boolean;
47
+ size?: Extract<Size, "small" | "medium" | "large">;
48
+ description?: HelperProps["description"];
49
+ errorAriaLive?: HelperProps["errorAriaLive"];
50
+ disabled?: boolean;
51
+ onFocus?: (event: React.FocusEvent) => void;
52
+ onBlur?: (event: React.FocusEvent) => void;
53
+ id?: string;
54
+ startLabel?: string;
55
+ endLabel?: string;
56
+ legendProps?: Omit<FieldLabelProps, "el">;
57
+ moreInfo?: FieldLabelProps["moreInfo"];
58
+ } & LayoutUtilProps;
59
+ export declare const DateFieldYearlessRange: (props: DateFieldYearlessRangeProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './DateFieldYearlessRange';
@@ -16,7 +16,7 @@ export interface DndHandleButtonProps extends React.ComponentPropsWithoutRef<typ
16
16
  * Features:
17
17
  * - Interactive button with drag handle icon
18
18
  * - Visual feedback for active drag state
19
- * - Accessible with proper ARIA attributes
19
+ * - Accessible with proper ARIA attributes (defaults to "Drag handle")
20
20
  * - Extends ButtonCompound functionality
21
21
  * - Customizable styling through className prop
22
22
  * - Supports all standard button props
@@ -25,6 +25,7 @@ export interface DndHandleButtonProps extends React.ComponentPropsWithoutRef<typ
25
25
  * @example
26
26
  * <DndHandleButton
27
27
  * isActive={isDragging}
28
+ * aria-label="Drag task item"
28
29
  * className="custom-handle-button"
29
30
  * onClick={handleClick}
30
31
  * />
@@ -1,9 +1,9 @@
1
- import { ComponentPropsWithoutRef, ReactNode } from 'react';
1
+ import { ComponentPropsWithoutRef, ReactNode, ElementType, JSX, JSXElementConstructor } from 'react';
2
2
  import { TooltipProps } from '../Tooltip';
3
- /**
4
- * Props for the FieldLabel component.
5
- */
6
- export type FieldLabelProps = Omit<ComponentPropsWithoutRef<"label">, "id"> & {
3
+ type IntrinsicAttributes<E extends keyof JSX.IntrinsicElements | JSXElementConstructor<unknown>> = JSX.LibraryManagedAttributes<E, ComponentPropsWithoutRef<E>>;
4
+ type FieldLabelOwnProps<E extends ElementType = ElementType> = {
5
+ /** The HTML element to render */
6
+ el?: E;
7
7
  /** Unique identifier for the label element */
8
8
  id?: string;
9
9
  /**
@@ -20,47 +20,8 @@ export type FieldLabelProps = Omit<ComponentPropsWithoutRef<"label">, "id"> & {
20
20
  openMoreInfo?: TooltipProps["open"];
21
21
  };
22
22
  /**
23
- * FieldLabel component for form field labels with optional required indicator and help tooltip.
24
- *
25
- * Features:
26
- * - Accessible form label with proper semantic HTML
27
- * - Optional required field indicator with red asterisk
28
- * - Help tooltip with info icon for additional context
29
- * - Screen reader support for required field announcement
30
- * - Controlled and uncontrolled tooltip state management
31
- * - Flexible content support for label text and help information
32
- * - Proper ARIA attributes and semantic structure
33
- * - Responsive design with consistent typography
34
- *
35
- * @example
36
- * <FieldLabel htmlFor="email" required>
37
- * Email Address
38
- * </FieldLabel>
39
- * <input id="email" type="email" />
40
- *
41
- * @example
42
- * <FieldLabel
43
- * htmlFor="password"
44
- * required
45
- * moreInfo="Password must be at least 8 characters long"
46
- * >
47
- * Password
48
- * </FieldLabel>
49
- * <input id="password" type="password" />
23
+ * Props for the FieldLabel component.
50
24
  */
51
- export declare const FieldLabel: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref">, "id"> & {
52
- /** Unique identifier for the label element */
53
- id?: string;
54
- /**
55
- * Whether the field is required. Shows a red asterisk (*) when true.
56
- * @default false
57
- */
58
- required?: boolean;
59
- /** Additional information to display in a tooltip */
60
- moreInfo?: ReactNode;
61
- /**
62
- * Controls the open state of the more info tooltip.
63
- * @default false
64
- */
65
- openMoreInfo?: TooltipProps["open"];
66
- } & import('react').RefAttributes<HTMLLabelElement>>;
25
+ export type FieldLabelProps<E extends ElementType = ElementType> = FieldLabelOwnProps<E> & Omit<IntrinsicAttributes<E>, keyof FieldLabelOwnProps>;
26
+ export declare const FieldLabel: <E extends ElementType = "label">(props: FieldLabelProps<E>) => JSX.Element;
27
+ export {};
@@ -5,8 +5,10 @@ import { FieldLabelProps } from '../FieldLabel';
5
5
  * @param props - Component props
6
6
  * @param props.moreInfo - The content to display in the tooltip
7
7
  * @param props.openMoreInfo - Controls the tooltip open state
8
+ * @param props.listenForHover - Whether to listen for hover events
8
9
  */
9
- export declare const FieldLabelMoreInfoIcon: ({ moreInfo, openMoreInfo, }: {
10
+ export declare const FieldLabelMoreInfoIcon: ({ moreInfo, openMoreInfo, listenForHover, }: {
10
11
  moreInfo: FieldLabelProps["moreInfo"];
11
12
  openMoreInfo: FieldLabelProps["openMoreInfo"];
13
+ listenForHover?: boolean;
12
14
  }) => import("react/jsx-runtime").JSX.Element;
@@ -397,6 +397,7 @@ export declare const Popover: import('react').ForwardRefExoticComponent<{
397
397
  */
398
398
  Content: import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, "popover"> & {
399
399
  scrollerRef?: import('react').RefObject<HTMLDivElement>;
400
+ hideWhileClosed?: boolean;
400
401
  } & import('react').RefAttributes<HTMLDivElement>>;
401
402
  /**
402
403
  * PopoverClose component for closing the popover.
@@ -8,6 +8,10 @@ export type PopoverContentProps = Omit<ComponentPropsWithoutRef<"div">, "popover
8
8
  * Reference to the scrollable content area
9
9
  */
10
10
  scrollerRef?: RefObject<HTMLDivElement>;
11
+ /**
12
+ * Whether to remove the content from the DOM while the popover is closed
13
+ */
14
+ hideWhileClosed?: boolean;
11
15
  };
12
16
  /**
13
17
  * PopoverContent component for the main popover content area.
@@ -43,4 +47,8 @@ export declare const PopoverContent: import('react').ForwardRefExoticComponent<O
43
47
  * Reference to the scrollable content area
44
48
  */
45
49
  scrollerRef?: RefObject<HTMLDivElement>;
50
+ /**
51
+ * Whether to remove the content from the DOM while the popover is closed
52
+ */
53
+ hideWhileClosed?: boolean;
46
54
  } & import('react').RefAttributes<HTMLDivElement>>;
@@ -16,6 +16,7 @@ export * from './DateField';
16
16
  export * from './DateFieldRange';
17
17
  export * from './DateFieldSingle';
18
18
  export * from './DateFieldYearless';
19
+ export * from './DateFieldYearlessRange';
19
20
  export * from './DaysOfTheWeek';
20
21
  export * from './Details';
21
22
  export * from './Dialog';
@@ -1,9 +1,9 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { I as Icon } from './Icon-TcJbUdTz.js';
2
+ import { I as Icon } from './Icon-BSuTVNaa.js';
3
3
  import * as React from 'react';
4
4
  import { forwardRef } from 'react';
5
5
  import { c as cx } from './index-tZvMCc77.js';
6
- import { B as ButtonCompound } from './ButtonCompound-Dvr3Fres.js';
6
+ import { B as ButtonCompound } from './ButtonCompound-COdSELhh.js';
7
7
 
8
8
  import './index.css';const SvgDragIndicator = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }));
9
9
 
@@ -31,6 +31,7 @@ const DndHandleButton = forwardRef(({ isActive = false, className, ...props }, r
31
31
  className: handleButtonClasses,
32
32
  type: "button",
33
33
  shape: "rounded",
34
+ "aria-label": "Drag handle",
34
35
  ...props,
35
36
  children: /* @__PURE__ */ jsx(DndHandle, {})
36
37
  }
@@ -103,4 +104,4 @@ const Dnd = {
103
104
  };
104
105
 
105
106
  export { Dnd as D, DndSortLine as a, DndHandleButton as b, DndHandle as c, styles as s };
106
- //# sourceMappingURL=index-CUVkL0hr.js.map
107
+ //# sourceMappingURL=index-ByS9WvPk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-ByS9WvPk.js","sources":["../../hammer-icon/mdi/round/drag_indicator.svg","../src/components/Dnd/DndHandle.tsx","../src/components/Dnd/DndHandleButton.tsx","../src/components/Dnd/DndSortLine.tsx","../src/components/Dnd/DndZone.tsx","../src/components/Dnd/index.ts"],"sourcesContent":["import * as React from \"react\";\nconst SvgDragIndicator = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\" }));\nexport default SvgDragIndicator;\n","import { Icon } from \"../Icon\";\nimport DragIndicator from \"@servicetitan/hammer-icon/mdi/round/drag_indicator.svg\";\nimport styles from \"./DndHandle.module.scss\";\nimport cx from \"classnames\";\n\n/**\n * Props for the DndHandle component\n */\nexport type DndHandleProps = {\n /**\n * Additional CSS class names to apply to the drag handle.\n */\n className?: string;\n};\n\n/**\n * A reusable drag handle icon component for drag and drop interactions.\n *\n * Features:\n * - Standardized drag indicator icon\n * - Accessible with proper ARIA attributes\n * - Customizable styling through className prop\n * - Consistent visual appearance across applications\n * - Lightweight and performant\n * - Supports all standard HTML element props\n *\n * @example\n * <DndHandle className=\"custom-drag-handle\" />\n */\nexport function DndHandle({ className }: { className?: string }) {\n const handleClasses = cx(styles.handle, className);\n return (\n <Icon svg={DragIndicator} className={handleClasses} role=\"presentation\" />\n );\n}\n","import { ButtonCompound } from \"../ButtonCompound\";\nimport handleStyles from \"./DndHandle.module.scss\";\nimport cx from \"classnames\";\nimport { forwardRef } from \"react\";\nimport { DndHandle } from \"./DndHandle\";\n\n/**\n * Props for the DndHandleButton component\n * @extends React.ComponentPropsWithoutRef<typeof ButtonCompound>\n */\nexport interface DndHandleButtonProps\n extends React.ComponentPropsWithoutRef<typeof ButtonCompound> {\n /**\n * Indicates whether the handle is currently being dragged.\n * @default false\n */\n isActive?: boolean;\n}\n\n/**\n * A reusable drag handle button component for drag and drop functionality.\n *\n * Features:\n * - Interactive button with drag handle icon\n * - Visual feedback for active drag state\n * - Accessible with proper ARIA attributes (defaults to \"Drag handle\")\n * - Extends ButtonCompound functionality\n * - Customizable styling through className prop\n * - Supports all standard button props\n * - Consistent visual appearance across applications\n *\n * @example\n * <DndHandleButton\n * isActive={isDragging}\n * aria-label=\"Drag task item\"\n * className=\"custom-handle-button\"\n * onClick={handleClick}\n * />\n */\nexport const DndHandleButton = forwardRef<\n HTMLButtonElement,\n DndHandleButtonProps\n>(({ isActive = false, className, ...props }, ref) => {\n const handleButtonClasses = cx(className, handleStyles[\"handle-button\"], {\n [handleStyles[\"active\"]]: isActive,\n });\n\n return (\n <ButtonCompound\n ref={ref}\n className={handleButtonClasses}\n type=\"button\"\n shape=\"rounded\"\n aria-label=\"Drag handle\"\n {...props}\n >\n <DndHandle />\n </ButtonCompound>\n );\n});\n\nDndHandleButton.displayName = \"DndHandleButton\";\n","import cx from \"classnames\";\n\nimport styles from \"./Dnd.module.scss\";\nimport { CSSProperties } from \"react\";\n\n/**\n * Props for the DndSortLine component\n * @extends React.ComponentPropsWithoutRef<\"div\">\n */\nexport type SortLineProps = React.ComponentPropsWithoutRef<\"div\"> & {\n /**\n * The offset of the line from the item. This is a CSS value, typically negative.\n */\n offset: string;\n /**\n * The orientation of the sort - Note this may be counterintuitive, as the line is rendered perpendicular to the sort.\n */\n orientation: \"horizontal\" | \"vertical\";\n /**\n * The position of the line relative to a target item.\n */\n position: \"before\" | \"after\";\n};\n\n/**\n * A visual indicator line that shows where an item will be dropped during drag and drop operations.\n *\n * Features:\n * - Visual feedback for drop positioning\n * - Configurable orientation (horizontal/vertical)\n * - Adjustable positioning (before/after)\n * - Customizable offset for precise placement\n * - Accessible with proper ARIA attributes\n * - Automatic CSS class management\n * - Supports all standard HTML div props\n *\n * @example\n * <DndSortLine\n * offset=\"-10px\"\n * orientation=\"vertical\"\n * position=\"after\"\n * className=\"custom-drop-line\"\n * />\n */\nexport const DndSortLine = ({\n offset,\n orientation,\n position,\n ...rest\n}: SortLineProps) => {\n const classes = cx(\n styles[\"drop-line\"],\n styles[`orientation-${orientation}`],\n styles[`position-${position}`],\n );\n\n return (\n <div\n aria-hidden\n className={classes}\n style={{ \"--drop-line-offset\": offset } as CSSProperties}\n {...rest}\n />\n );\n};\n","import { ElementType, forwardRef, ReactNode } from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./Dnd.module.scss\";\n\n/**\n * Props for the DndZone component\n * @extends Omit<React.ComponentPropsWithoutRef<T>, \"el\" | \"ref\">\n */\nexport type DndZoneProps<T extends ElementType = \"div\"> = {\n /**\n * The HTML element type to render. Can be any valid HTML element or React component.\n * @default \"div\"\n */\n el?: T;\n /**\n * The content to be rendered inside the drop zone.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names to apply to the drop zone.\n */\n className?: string;\n /**\n * Indicates whether a draggable item is currently over this drop zone.\n */\n isOver: boolean;\n /**\n * Indicates whether the current drag operation is valid for this drop zone.\n */\n isValid: boolean;\n /**\n * Indicates whether any item is currently being dragged.\n */\n isDragging: boolean;\n} & Omit<React.ComponentPropsWithoutRef<T>, \"el\" | \"ref\">;\n\n/**\n * Base styling component for drop zones that handles visual states and styling.\n *\n * Features:\n * - Configurable HTML element rendering with the 'el' prop\n * - Visual feedback for drag states (over, valid, dragging)\n * - Automatic CSS class management based on drag state\n * - Supports all standard HTML element props\n * - Accessible with proper ARIA attributes\n * - Flexible styling through className prop\n * - Responsive design that adapts to container\n *\n * @example\n * <DndZone\n * isOver={isOver}\n * isValid={isValid}\n * isDragging={isDragging}\n * className=\"custom-drop-zone\"\n * >\n * Drop items here\n * </DndZone>\n */\nexport const DndZone = forwardRef<HTMLDivElement, DndZoneProps<ElementType>>(\n (\n {\n el: Component = \"div\" as ElementType,\n children,\n className,\n isDragging,\n isOver,\n isValid,\n ...rest\n },\n ref,\n ) => {\n const classes = cx(className, {\n [styles[\"drop-zone\"]]: true,\n [styles[\"over-valid\"]]: isDragging && isOver && isValid,\n [styles[\"over-invalid\"]]: isDragging && isOver && !isValid,\n [styles[\"active-not-over\"]]: isDragging && !isOver,\n });\n\n return (\n <Component ref={ref} className={classes} {...rest}>\n {children}\n </Component>\n );\n },\n);\n\nDndZone.displayName = \"DndZoneBase\";\n","import { DndHandle } from \"./DndHandle\";\nimport { DndHandleButton } from \"./DndHandleButton\";\nimport { DndSortLine } from \"./DndSortLine\";\nimport { DndZone } from \"./DndZone\";\n\nexport const Dnd = {\n Handle: DndHandle,\n HandleButton: DndHandleButton,\n SortLine: DndSortLine,\n Zone: DndZone,\n};\n"],"names":["styles","DragIndicator"],"mappings":"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"}
@@ -3008,5 +3008,5 @@ function maskitoNumberOptionsGenerator({ max = Number.MAX_SAFE_INTEGER, min = Nu
3008
3008
  : 'shift' });
3009
3009
  }
3010
3010
 
3011
- export { maskitoWithPlaceholder as a, maskitoParseDate as b, maskitoDateRangeOptionsGenerator as c, maskitoNumberOptionsGenerator as d, maskitoParseNumber as e, maskitoStringifyNumber as f, maskitoTimeOptionsGenerator as g, maskitoDateOptionsGenerator as m, useMaskito as u };
3012
- //# sourceMappingURL=index.esm-BwMVvxTV.js.map
3011
+ export { maskitoWithPlaceholder as a, maskitoParseDate as b, maskitoDateRangeOptionsGenerator as c, maskitoNumberOptionsGenerator as d, maskitoParseNumber as e, maskitoStringifyNumber as f, maskitoUpdateElement as g, maskitoTransform as h, maskitoTimeOptionsGenerator as i, maskitoDateOptionsGenerator as m, useMaskito as u };
3012
+ //# sourceMappingURL=index.esm-C2ZhC_8d.js.map