@ahrowe/ui 0.34.0 → 0.36.0

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 (1172) hide show
  1. package/README.md +158 -68
  2. package/dist/cjs-types/common/accordion/accordion.d.ts +4 -0
  3. package/dist/cjs-types/common/accordion/accordion.types.d.ts +21 -0
  4. package/dist/cjs-types/common/accordion/index.d.ts +2 -0
  5. package/dist/cjs-types/common/actionButtons/actionButtons.d.ts +2 -0
  6. package/dist/cjs-types/common/actionButtons/actionButtons.types.d.ts +34 -0
  7. package/dist/cjs-types/common/actionButtons/index.d.ts +2 -0
  8. package/dist/cjs-types/common/actionIcon/actionIcon.d.ts +4 -0
  9. package/dist/cjs-types/common/actionIcon/actionIcon.types.d.ts +15 -0
  10. package/dist/cjs-types/common/actionIcon/index.d.ts +2 -0
  11. package/dist/cjs-types/common/alert/alert.d.ts +4 -0
  12. package/dist/cjs-types/common/alert/alert.types.d.ts +30 -0
  13. package/dist/cjs-types/common/alert/index.d.ts +2 -0
  14. package/dist/cjs-types/common/animatedIcon/animatedIcon.d.ts +3 -0
  15. package/dist/cjs-types/common/animatedIcon/animatedIcon.types.d.ts +25 -0
  16. package/dist/cjs-types/common/animatedIcon/index.d.ts +2 -0
  17. package/dist/cjs-types/common/animatedLogo/animatedLogo.d.ts +4 -0
  18. package/dist/cjs-types/common/animatedLogo/animatedLogo.types.d.ts +35 -0
  19. package/dist/cjs-types/common/animatedLogo/index.d.ts +2 -0
  20. package/dist/cjs-types/common/animatedText/animatedText.d.ts +4 -0
  21. package/dist/cjs-types/common/animatedText/animatedText.types.d.ts +65 -0
  22. package/dist/cjs-types/common/animatedText/index.d.ts +2 -0
  23. package/dist/cjs-types/common/avatar/avatar.d.ts +4 -0
  24. package/dist/cjs-types/common/avatar/avatar.types.d.ts +26 -0
  25. package/dist/cjs-types/common/avatar/avatarGroup.d.ts +4 -0
  26. package/dist/cjs-types/common/avatar/index.d.ts +3 -0
  27. package/dist/cjs-types/common/badge/badge.d.ts +4 -0
  28. package/dist/cjs-types/common/badge/badge.types.d.ts +31 -0
  29. package/dist/cjs-types/common/badge/index.d.ts +2 -0
  30. package/dist/cjs-types/common/bodyEnd/bodyEnd.d.ts +4 -0
  31. package/dist/cjs-types/common/bodyEnd/bodyEnd.types.d.ts +4 -0
  32. package/dist/cjs-types/common/bodyEnd/index.d.ts +2 -0
  33. package/dist/cjs-types/common/breadcrumb/breadcrumb.d.ts +4 -0
  34. package/dist/cjs-types/common/breadcrumb/breadcrumb.types.d.ts +33 -0
  35. package/dist/cjs-types/common/breadcrumb/index.d.ts +2 -0
  36. package/dist/cjs-types/common/button/button.d.ts +9 -0
  37. package/dist/cjs-types/common/button/button.types.d.ts +42 -0
  38. package/dist/cjs-types/common/button/index.d.ts +2 -0
  39. package/dist/cjs-types/common/buttonGroup/buttonGroup.d.ts +4 -0
  40. package/dist/cjs-types/common/buttonGroup/buttonGroup.types.d.ts +12 -0
  41. package/dist/cjs-types/common/buttonGroup/index.d.ts +2 -0
  42. package/dist/cjs-types/common/card/Card.d.ts +4 -0
  43. package/dist/cjs-types/common/card/CardActions.d.ts +4 -0
  44. package/dist/cjs-types/common/card/CardContent.d.ts +4 -0
  45. package/dist/cjs-types/common/card/CardHeader.d.ts +4 -0
  46. package/dist/cjs-types/common/card/CardMedia.d.ts +4 -0
  47. package/dist/cjs-types/common/card/card.types.d.ts +55 -0
  48. package/dist/cjs-types/common/card/index.d.ts +6 -0
  49. package/dist/cjs-types/common/carousel/carousel.d.ts +4 -0
  50. package/dist/cjs-types/common/carousel/carousel.types.d.ts +35 -0
  51. package/dist/cjs-types/common/carousel/index.d.ts +2 -0
  52. package/dist/cjs-types/common/checkbox/checkbox.d.ts +4 -0
  53. package/dist/cjs-types/common/checkbox/checkbox.types.d.ts +27 -0
  54. package/dist/cjs-types/common/checkbox/index.d.ts +2 -0
  55. package/dist/cjs-types/common/chip/chip.d.ts +4 -0
  56. package/dist/cjs-types/common/chip/chip.types.d.ts +35 -0
  57. package/dist/cjs-types/common/chip/chipContainer.d.ts +4 -0
  58. package/dist/cjs-types/common/chip/index.d.ts +3 -0
  59. package/dist/cjs-types/common/colorPicker/colorPicker.d.ts +4 -0
  60. package/dist/cjs-types/common/colorPicker/colorPicker.types.d.ts +25 -0
  61. package/dist/cjs-types/common/colorPicker/index.d.ts +2 -0
  62. package/dist/cjs-types/common/colorPicker/toHex.d.ts +11 -0
  63. package/dist/cjs-types/common/configProvider/configProvider.d.ts +13 -0
  64. package/dist/cjs-types/common/configProvider/configProvider.types.d.ts +133 -0
  65. package/dist/cjs-types/common/configProvider/index.d.ts +6 -0
  66. package/dist/cjs-types/common/configProvider/presentation.types.d.ts +14 -0
  67. package/dist/cjs-types/common/configProvider/useComponentDefaults.d.ts +17 -0
  68. package/dist/cjs-types/common/configProvider/useLabels.d.ts +22 -0
  69. package/dist/cjs-types/common/configProvider/usePresentationDefault.d.ts +8 -0
  70. package/dist/cjs-types/common/confirmModal/confirmModal.d.ts +4 -0
  71. package/dist/cjs-types/common/confirmModal/confirmModal.types.d.ts +24 -0
  72. package/dist/cjs-types/common/confirmModal/index.d.ts +2 -0
  73. package/dist/cjs-types/common/datePicker/components/datePickerMonth/datePickerMonth.d.ts +2 -0
  74. package/dist/cjs-types/common/datePicker/components/datePickerMonth/datePickerMonth.types.d.ts +23 -0
  75. package/dist/cjs-types/common/datePicker/components/datePickerMonth/index.d.ts +1 -0
  76. package/dist/cjs-types/common/datePicker/dateFunctions.d.ts +44 -0
  77. package/dist/cjs-types/common/datePicker/datePicker.d.ts +3 -0
  78. package/dist/cjs-types/common/datePicker/datePicker.types.d.ts +60 -0
  79. package/dist/cjs-types/common/datePicker/index.d.ts +2 -0
  80. package/dist/cjs-types/common/divider/divider.d.ts +4 -0
  81. package/dist/cjs-types/common/divider/divider.types.d.ts +21 -0
  82. package/dist/cjs-types/common/divider/index.d.ts +2 -0
  83. package/dist/cjs-types/common/drawer/drawer.d.ts +4 -0
  84. package/dist/cjs-types/common/drawer/drawer.types.d.ts +15 -0
  85. package/dist/cjs-types/common/drawer/index.d.ts +2 -0
  86. package/dist/cjs-types/common/dropZone/dropZone.d.ts +4 -0
  87. package/dist/cjs-types/common/dropZone/dropZone.types.d.ts +90 -0
  88. package/dist/cjs-types/common/dropZone/index.d.ts +2 -0
  89. package/dist/cjs-types/common/dropdown/dropdown.d.ts +4 -0
  90. package/dist/cjs-types/common/dropdown/dropdown.types.d.ts +47 -0
  91. package/dist/cjs-types/common/dropdown/index.d.ts +2 -0
  92. package/dist/cjs-types/common/emptyState/emptyState.d.ts +3 -0
  93. package/dist/cjs-types/common/emptyState/emptyState.types.d.ts +20 -0
  94. package/dist/cjs-types/common/emptyState/index.d.ts +2 -0
  95. package/dist/cjs-types/common/errorBoundary/errorBoundary.d.ts +14 -0
  96. package/dist/cjs-types/common/errorBoundary/errorBoundary.types.d.ts +57 -0
  97. package/dist/cjs-types/common/errorBoundary/index.d.ts +2 -0
  98. package/dist/cjs-types/common/fab/components/fabBase/fabBase.d.ts +3 -0
  99. package/dist/cjs-types/common/fab/components/fabBase/fabBase.types.d.ts +12 -0
  100. package/dist/cjs-types/common/fab/components/fabBase/index.d.ts +1 -0
  101. package/dist/cjs-types/common/fab/fab.d.ts +3 -0
  102. package/dist/cjs-types/common/fab/fab.types.d.ts +22 -0
  103. package/dist/cjs-types/common/fab/index.d.ts +2 -0
  104. package/dist/cjs-types/common/flip/flip.d.ts +3 -0
  105. package/dist/cjs-types/common/flip/flip.types.d.ts +44 -0
  106. package/dist/cjs-types/common/flip/index.d.ts +2 -0
  107. package/dist/cjs-types/common/floorPlan/floorPlan.faces.d.ts +33 -0
  108. package/dist/cjs-types/common/floorPlan/floorPlan.fixtures.d.ts +35 -0
  109. package/dist/cjs-types/common/floorPlan/floorPlan.geometry.d.ts +111 -0
  110. package/dist/cjs-types/common/floorPlan/floorPlan.graph.d.ts +184 -0
  111. package/dist/cjs-types/common/floorPlan/floorPlan.hit.d.ts +26 -0
  112. package/dist/cjs-types/common/floorPlan/floorPlan.json.d.ts +23 -0
  113. package/dist/cjs-types/common/floorPlan/floorPlan.mesh.d.ts +36 -0
  114. package/dist/cjs-types/common/floorPlan/floorPlan.path.d.ts +59 -0
  115. package/dist/cjs-types/common/floorPlan/floorPlan.plan.d.ts +98 -0
  116. package/dist/cjs-types/common/floorPlan/floorPlan.rooms.d.ts +47 -0
  117. package/dist/cjs-types/common/floorPlan/floorPlan.snap.d.ts +101 -0
  118. package/dist/cjs-types/common/floorPlan/floorPlan.triangulate.d.ts +11 -0
  119. package/dist/cjs-types/common/floorPlan/floorPlan.types.d.ts +276 -0
  120. package/dist/cjs-types/common/floorPlan/index.d.ts +30 -0
  121. package/dist/cjs-types/common/floorPlan/legacySvg.d.ts +27 -0
  122. package/dist/cjs-types/common/hooks/useAnchorTracking.d.ts +40 -0
  123. package/dist/cjs-types/common/hooks/useCoarsePointer.d.ts +3 -0
  124. package/dist/cjs-types/common/hooks/useFocusBoundary.d.ts +20 -0
  125. package/dist/cjs-types/common/hooks/useMediaQuery.d.ts +9 -0
  126. package/dist/cjs-types/common/hooks/useOverlay.d.ts +26 -0
  127. package/dist/cjs-types/common/hooks/useScrollEdges.d.ts +18 -0
  128. package/dist/cjs-types/common/hooks/useSheet.d.ts +19 -0
  129. package/dist/cjs-types/common/hooks/useSwipeDismiss.d.ts +33 -0
  130. package/dist/cjs-types/common/hooks/useVisualViewportSize.d.ts +13 -0
  131. package/dist/cjs-types/common/iconPicker/iconPicker.d.ts +3 -0
  132. package/dist/cjs-types/common/iconPicker/iconPicker.types.d.ts +23 -0
  133. package/dist/cjs-types/common/iconPicker/index.d.ts +2 -0
  134. package/dist/cjs-types/common/idleManager/idleManager.d.ts +3 -0
  135. package/dist/cjs-types/common/idleManager/idleManager.types.d.ts +8 -0
  136. package/dist/cjs-types/common/idleManager/index.d.ts +2 -0
  137. package/dist/cjs-types/common/infiniteBlock/useInfiniteScroll.d.ts +5 -0
  138. package/dist/cjs-types/common/input/index.d.ts +2 -0
  139. package/dist/cjs-types/common/input/input.d.ts +4 -0
  140. package/dist/cjs-types/common/input/input.types.d.ts +84 -0
  141. package/dist/cjs-types/common/inputDropdown/index.d.ts +2 -0
  142. package/dist/cjs-types/common/inputDropdown/inputDropdown.d.ts +3 -0
  143. package/dist/cjs-types/common/inputDropdown/inputDropdown.types.d.ts +36 -0
  144. package/dist/cjs-types/common/interactableDiv/index.d.ts +2 -0
  145. package/dist/cjs-types/common/interactableDiv/interactableDiv.d.ts +8 -0
  146. package/dist/cjs-types/common/kanbanBoard/KanbanBoard.d.ts +3 -0
  147. package/dist/cjs-types/common/kanbanBoard/KanbanColumn.d.ts +45 -0
  148. package/dist/cjs-types/common/kanbanBoard/KanbanItem.d.ts +3 -0
  149. package/dist/cjs-types/common/kanbanBoard/index.d.ts +3 -0
  150. package/dist/cjs-types/common/kanbanBoard/kanbanBoard.types.d.ts +129 -0
  151. package/dist/cjs-types/common/kanbanBoard/kanbanBoard.utils.d.ts +60 -0
  152. package/dist/cjs-types/common/klipyPicker/components/gifPreview/gifPreview.d.ts +3 -0
  153. package/dist/cjs-types/common/klipyPicker/components/gifPreview/gifPreview.types.d.ts +7 -0
  154. package/dist/cjs-types/common/klipyPicker/components/gifPreview/index.d.ts +1 -0
  155. package/dist/cjs-types/common/klipyPicker/components/gifView/gifView.d.ts +3 -0
  156. package/dist/cjs-types/common/klipyPicker/components/gifView/gifView.types.d.ts +4 -0
  157. package/dist/cjs-types/common/klipyPicker/components/gifView/index.d.ts +1 -0
  158. package/dist/cjs-types/common/klipyPicker/index.d.ts +2 -0
  159. package/dist/cjs-types/common/klipyPicker/klipyPicker.d.ts +3 -0
  160. package/dist/cjs-types/common/klipyPicker/klipyPicker.types.d.ts +15 -0
  161. package/dist/cjs-types/common/loading/iconLoading/iconLoading.d.ts +5 -0
  162. package/dist/cjs-types/common/loading/iconLoading/index.d.ts +2 -0
  163. package/dist/cjs-types/common/loading/index.d.ts +2 -0
  164. package/dist/cjs-types/common/loading/spinnerLoading/index.d.ts +2 -0
  165. package/dist/cjs-types/common/loading/spinnerLoading/spinnerLoading.d.ts +6 -0
  166. package/dist/cjs-types/common/maskedInput/index.d.ts +2 -0
  167. package/dist/cjs-types/common/maskedInput/mask.d.ts +48 -0
  168. package/dist/cjs-types/common/maskedInput/maskedInput.d.ts +13 -0
  169. package/dist/cjs-types/common/maskedInput/maskedInput.types.d.ts +38 -0
  170. package/dist/cjs-types/common/menu/index.d.ts +2 -0
  171. package/dist/cjs-types/common/menu/menu.d.ts +14 -0
  172. package/dist/cjs-types/common/menu/menu.types.d.ts +55 -0
  173. package/dist/cjs-types/common/modal/index.d.ts +2 -0
  174. package/dist/cjs-types/common/modal/modal.d.ts +3 -0
  175. package/dist/cjs-types/common/modal/modal.types.d.ts +31 -0
  176. package/dist/cjs-types/common/multiSelect/index.d.ts +2 -0
  177. package/dist/cjs-types/common/multiSelect/multiSelect.d.ts +4 -0
  178. package/dist/cjs-types/common/multiSelect/multiSelect.types.d.ts +69 -0
  179. package/dist/cjs-types/common/numberInput/index.d.ts +3 -0
  180. package/dist/cjs-types/common/numberInput/numberInput.d.ts +5 -0
  181. package/dist/cjs-types/common/numberInput/numberInput.types.d.ts +76 -0
  182. package/dist/cjs-types/common/numberInput/useStepRepeat.d.ts +17 -0
  183. package/dist/cjs-types/common/optionPicker/index.d.ts +2 -0
  184. package/dist/cjs-types/common/optionPicker/optionPicker.d.ts +4 -0
  185. package/dist/cjs-types/common/optionPicker/optionPicker.types.d.ts +16 -0
  186. package/dist/cjs-types/common/otpInput/index.d.ts +2 -0
  187. package/dist/cjs-types/common/otpInput/otpInput.d.ts +4 -0
  188. package/dist/cjs-types/common/otpInput/otpInput.types.d.ts +60 -0
  189. package/dist/cjs-types/common/overscroll/index.d.ts +2 -0
  190. package/dist/cjs-types/common/overscroll/overscroll.d.ts +2 -0
  191. package/dist/cjs-types/common/overscroll/overscroll.types.d.ts +14 -0
  192. package/dist/cjs-types/common/pagination/index.d.ts +2 -0
  193. package/dist/cjs-types/common/pagination/pagination.d.ts +4 -0
  194. package/dist/cjs-types/common/pagination/pagination.types.d.ts +45 -0
  195. package/dist/cjs-types/common/planCanvas/index.d.ts +2 -0
  196. package/dist/cjs-types/common/planCanvas/planCanvas.d.ts +7 -0
  197. package/dist/cjs-types/common/planCanvas/planCanvas.types.d.ts +64 -0
  198. package/dist/cjs-types/common/popover/index.d.ts +2 -0
  199. package/dist/cjs-types/common/popover/popover.d.ts +3 -0
  200. package/dist/cjs-types/common/popover/popover.types.d.ts +94 -0
  201. package/dist/cjs-types/common/popover/usePopoverPosition.d.ts +44 -0
  202. package/dist/cjs-types/common/progressBar/index.d.ts +2 -0
  203. package/dist/cjs-types/common/progressBar/progressBar.d.ts +5 -0
  204. package/dist/cjs-types/common/progressBar/progressBar.types.d.ts +18 -0
  205. package/dist/cjs-types/common/radioGroup/index.d.ts +2 -0
  206. package/dist/cjs-types/common/radioGroup/radioGroup.d.ts +4 -0
  207. package/dist/cjs-types/common/radioGroup/radioGroup.types.d.ts +45 -0
  208. package/dist/cjs-types/common/rating/index.d.ts +2 -0
  209. package/dist/cjs-types/common/rating/rating.d.ts +4 -0
  210. package/dist/cjs-types/common/rating/rating.types.d.ts +19 -0
  211. package/dist/cjs-types/common/revealLens/index.d.ts +2 -0
  212. package/dist/cjs-types/common/revealLens/revealLens.d.ts +4 -0
  213. package/dist/cjs-types/common/revealLens/revealLens.types.d.ts +24 -0
  214. package/dist/cjs-types/common/ripple/index.d.ts +2 -0
  215. package/dist/cjs-types/common/ripple/ripple.d.ts +5 -0
  216. package/dist/cjs-types/common/ripple/ripple.types.d.ts +16 -0
  217. package/dist/cjs-types/common/roomDrawer/index.d.ts +2 -0
  218. package/dist/cjs-types/common/roomDrawer/roomDrawer.d.ts +3 -0
  219. package/dist/cjs-types/common/roomDrawer/roomDrawer.types.d.ts +308 -0
  220. package/dist/cjs-types/common/roomDrawer/usePlanHistory.d.ts +24 -0
  221. package/dist/cjs-types/common/roomViewer/index.d.ts +2 -0
  222. package/dist/cjs-types/common/roomViewer/roomViewer.d.ts +10 -0
  223. package/dist/cjs-types/common/roomViewer/roomViewer.types.d.ts +91 -0
  224. package/dist/cjs-types/common/scrollFade/index.d.ts +2 -0
  225. package/dist/cjs-types/common/scrollFade/scrollFade.d.ts +4 -0
  226. package/dist/cjs-types/common/scrollFade/scrollFade.types.d.ts +20 -0
  227. package/dist/cjs-types/common/scrollbarProvider/index.d.ts +2 -0
  228. package/dist/cjs-types/common/scrollbarProvider/scrollbarProvider.d.ts +7 -0
  229. package/dist/cjs-types/common/searchInput/index.d.ts +2 -0
  230. package/dist/cjs-types/common/searchInput/searchInput.d.ts +3 -0
  231. package/dist/cjs-types/common/searchInput/searchInput.types.d.ts +28 -0
  232. package/dist/cjs-types/common/sectionHeader/index.d.ts +2 -0
  233. package/dist/cjs-types/common/sectionHeader/sectionHeader.d.ts +4 -0
  234. package/dist/cjs-types/common/sectionHeader/sectionHeader.types.d.ts +27 -0
  235. package/dist/cjs-types/common/sheetBackdrop/index.d.ts +2 -0
  236. package/dist/cjs-types/common/sheetBackdrop/sheetBackdrop.d.ts +16 -0
  237. package/dist/cjs-types/common/sheetBackdrop/sheetBackdrop.types.d.ts +7 -0
  238. package/dist/cjs-types/common/skeleton/index.d.ts +2 -0
  239. package/dist/cjs-types/common/skeleton/skeleton.d.ts +4 -0
  240. package/dist/cjs-types/common/skeleton/skeleton.types.d.ts +22 -0
  241. package/dist/cjs-types/common/slider/index.d.ts +2 -0
  242. package/dist/cjs-types/common/slider/slider.d.ts +3 -0
  243. package/dist/cjs-types/common/slider/slider.types.d.ts +68 -0
  244. package/dist/cjs-types/common/splitButton/index.d.ts +2 -0
  245. package/dist/cjs-types/common/splitButton/splitButton.d.ts +3 -0
  246. package/dist/cjs-types/common/splitButton/splitButton.types.d.ts +35 -0
  247. package/dist/cjs-types/common/stepper/index.d.ts +2 -0
  248. package/dist/cjs-types/common/stepper/stepper.d.ts +3 -0
  249. package/dist/cjs-types/common/stepper/stepper.types.d.ts +77 -0
  250. package/dist/cjs-types/common/sticky/index.d.ts +1 -0
  251. package/dist/cjs-types/common/sticky/sticky.d.ts +3 -0
  252. package/dist/cjs-types/common/sticky/sticky.types.d.ts +22 -0
  253. package/dist/cjs-types/common/sticky/stickyStack.d.ts +46 -0
  254. package/dist/cjs-types/common/switch/index.d.ts +2 -0
  255. package/dist/cjs-types/common/switch/switch.d.ts +4 -0
  256. package/dist/cjs-types/common/switch/switch.types.d.ts +21 -0
  257. package/dist/cjs-types/common/tabHeader/index.d.ts +2 -0
  258. package/dist/cjs-types/common/tabHeader/tabHeader.d.ts +4 -0
  259. package/dist/cjs-types/common/tabHeader/tabHeader.types.d.ts +20 -0
  260. package/dist/cjs-types/common/textarea/index.d.ts +2 -0
  261. package/dist/cjs-types/common/textarea/textarea.d.ts +3 -0
  262. package/dist/cjs-types/common/textarea/textarea.types.d.ts +2 -0
  263. package/dist/cjs-types/common/themeProvider/defaultTheme.d.ts +7 -0
  264. package/dist/cjs-types/common/themeProvider/index.d.ts +4 -0
  265. package/dist/cjs-types/common/themeProvider/lightTheme.d.ts +13 -0
  266. package/dist/cjs-types/common/themeProvider/theme.types.d.ts +272 -0
  267. package/dist/cjs-types/common/themeProvider/themeProvider.d.ts +38 -0
  268. package/dist/cjs-types/common/themeProvider/themeVariablesContext.d.ts +11 -0
  269. package/dist/cjs-types/common/themeProvider/useTheme.d.ts +4 -0
  270. package/dist/cjs-types/common/tilt/index.d.ts +4 -0
  271. package/dist/cjs-types/common/tilt/tilt.d.ts +3 -0
  272. package/dist/cjs-types/common/tilt/tilt.types.d.ts +40 -0
  273. package/dist/cjs-types/common/tilt/tiltMath.d.ts +24 -0
  274. package/dist/cjs-types/common/tiltGroup/index.d.ts +3 -0
  275. package/dist/cjs-types/common/tiltGroup/tiltGroup.d.ts +6 -0
  276. package/dist/cjs-types/common/tiltGroup/tiltGroup.types.d.ts +16 -0
  277. package/dist/cjs-types/common/timeInput/components/clockDial/clockDial.d.ts +3 -0
  278. package/dist/cjs-types/common/timeInput/components/clockDial/clockDial.types.d.ts +24 -0
  279. package/dist/cjs-types/common/timeInput/components/clockDial/index.d.ts +1 -0
  280. package/dist/cjs-types/common/timeInput/index.d.ts +1 -0
  281. package/dist/cjs-types/common/timeInput/timeFunctions.d.ts +36 -0
  282. package/dist/cjs-types/common/timeInput/timeInput.d.ts +3 -0
  283. package/dist/cjs-types/common/timeInput/timeInput.types.d.ts +44 -0
  284. package/dist/cjs-types/common/timeline/index.d.ts +2 -0
  285. package/dist/cjs-types/common/timeline/timeline.d.ts +3 -0
  286. package/dist/cjs-types/common/timeline/timeline.types.d.ts +51 -0
  287. package/dist/cjs-types/common/timer/index.d.ts +2 -0
  288. package/dist/cjs-types/common/timer/timer.chime.d.ts +1 -0
  289. package/dist/cjs-types/common/timer/timer.d.ts +3 -0
  290. package/dist/cjs-types/common/timer/timer.types.d.ts +110 -0
  291. package/dist/cjs-types/common/toast/index.d.ts +3 -0
  292. package/dist/cjs-types/common/toast/toast.d.ts +11 -0
  293. package/dist/cjs-types/common/toast/toast.types.d.ts +50 -0
  294. package/dist/cjs-types/common/toast/toastProvider.d.ts +8 -0
  295. package/dist/cjs-types/common/toast/toastService.d.ts +7 -0
  296. package/dist/cjs-types/common/tooltip/index.d.ts +2 -0
  297. package/dist/cjs-types/common/tooltip/tooltip.d.ts +3 -0
  298. package/dist/cjs-types/common/tooltip/tooltip.types.d.ts +17 -0
  299. package/dist/cjs-types/common/tree/flattenTree.d.ts +3 -0
  300. package/dist/cjs-types/common/tree/index.d.ts +3 -0
  301. package/dist/cjs-types/common/tree/tree.d.ts +4 -0
  302. package/dist/cjs-types/common/tree/tree.types.d.ts +67 -0
  303. package/dist/cjs-types/common/types/actions.types.d.ts +7 -0
  304. package/dist/cjs-types/common/types/baseProps.types.d.ts +29 -0
  305. package/dist/cjs-types/common/types/icon.types.d.ts +17 -0
  306. package/dist/cjs-types/common/types/slots.types.d.ts +4 -0
  307. package/dist/cjs-types/common/utils/activationKey.d.ts +9 -0
  308. package/dist/cjs-types/common/utils/interactiveTarget.d.ts +7 -0
  309. package/dist/cjs-types/common/utils/listNavigation.d.ts +49 -0
  310. package/dist/cjs-types/common/utils/mergeRefs.d.ts +12 -0
  311. package/dist/cjs-types/common/utils/renderIcon.d.ts +29 -0
  312. package/dist/cjs-types/common/utils/scrollAncestors.d.ts +2 -0
  313. package/dist/cjs-types/common/utils/visualViewport.d.ts +7 -0
  314. package/dist/cjs-types/common/virtualList/index.d.ts +2 -0
  315. package/dist/cjs-types/common/virtualList/useColumnResize.d.ts +59 -0
  316. package/dist/cjs-types/common/virtualList/useColumns.d.ts +52 -0
  317. package/dist/cjs-types/common/virtualList/useHeaderNavigation.d.ts +22 -0
  318. package/dist/cjs-types/common/virtualList/useRowDrag.d.ts +58 -0
  319. package/dist/cjs-types/common/virtualList/useRowNavigation.d.ts +50 -0
  320. package/dist/cjs-types/common/virtualList/useSelection.d.ts +24 -0
  321. package/dist/cjs-types/common/virtualList/useSorting.d.ts +26 -0
  322. package/dist/cjs-types/common/virtualList/useVirtualWindow.d.ts +36 -0
  323. package/dist/cjs-types/common/virtualList/virtualList.d.ts +5 -0
  324. package/dist/cjs-types/common/virtualList/virtualList.types.d.ts +317 -0
  325. package/dist/cjs-types/common/virtualList/virtualList.utils.d.ts +126 -0
  326. package/dist/cjs-types/common/virtualList/virtualListHeader.d.ts +35 -0
  327. package/dist/cjs-types/common/virtualList/virtualRow.d.ts +62 -0
  328. package/dist/cjs-types/common/wizard/index.d.ts +1 -0
  329. package/dist/cjs-types/common/wizard/wizard.d.ts +3 -0
  330. package/dist/cjs-types/common/wizard/wizard.types.d.ts +12 -0
  331. package/dist/cjs-types/hooks/useWindowSize.d.ts +6 -0
  332. package/dist/cjs-types/index.d.ts +154 -0
  333. package/dist/cjs-types/package.json +3 -0
  334. package/dist/cjs-types/services/formValidation/FormValidatorGroupWithForm.d.ts +18 -0
  335. package/dist/cjs-types/services/formValidation/index.d.ts +5 -0
  336. package/dist/cjs-types/services/formValidation/useFormValidatorGroup.d.ts +10 -0
  337. package/dist/cjs-types/services/formValidation/validatableComponent.d.ts +36 -0
  338. package/dist/cjs-types/services/klipy.d.ts +36 -0
  339. package/dist/cjs-types/services/localization.d.ts +3 -0
  340. package/dist/esm/common/accordion/accordion.mjs +1 -1
  341. package/dist/esm/common/accordion/accordion.mjs.map +1 -1
  342. package/dist/esm/common/accordion/accordion.module.mjs +1 -1
  343. package/dist/esm/common/accordion/accordion.module.mjs.map +1 -1
  344. package/dist/esm/common/accordion/accordion.plain.module.mjs +1 -1
  345. package/dist/esm/common/accordion/accordion.plain.module.mjs.map +1 -1
  346. package/dist/esm/common/accordion/accordion.primary.module.mjs +1 -1
  347. package/dist/esm/common/accordion/accordion.primary.module.mjs.map +1 -1
  348. package/dist/esm/common/accordion/accordion.types.mjs +1 -1
  349. package/dist/esm/common/accordion/accordion.types.mjs.map +1 -1
  350. package/dist/esm/common/actionButtons/actionButtons.mjs +1 -1
  351. package/dist/esm/common/actionButtons/actionButtons.mjs.map +1 -1
  352. package/dist/esm/common/actionButtons/actionButtons.module.mjs +1 -1
  353. package/dist/esm/common/actionIcon/actionIcon.mjs +1 -1
  354. package/dist/esm/common/actionIcon/actionIcon.mjs.map +1 -1
  355. package/dist/esm/common/actionIcon/actionIcon.module.mjs +1 -1
  356. package/dist/esm/common/alert/alert.mjs +1 -1
  357. package/dist/esm/common/alert/alert.mjs.map +1 -1
  358. package/dist/esm/common/alert/alert.module.mjs +1 -1
  359. package/dist/esm/common/alert/alert.types.mjs +1 -1
  360. package/dist/esm/common/alert/alert.types.mjs.map +1 -1
  361. package/dist/esm/common/animatedIcon/animatedIcon.mjs +1 -1
  362. package/dist/esm/common/animatedIcon/animatedIcon.mjs.map +1 -1
  363. package/dist/esm/common/animatedIcon/animatedIcon.module.mjs +1 -1
  364. package/dist/esm/common/animatedLogo/animatedLogo.mjs +1 -1
  365. package/dist/esm/common/animatedLogo/animatedLogo.mjs.map +1 -1
  366. package/dist/esm/common/animatedLogo/animatedLogo.module.mjs +1 -1
  367. package/dist/esm/common/animatedText/animatedText.mjs +1 -1
  368. package/dist/esm/common/animatedText/animatedText.mjs.map +1 -1
  369. package/dist/esm/common/animatedText/animatedText.module.mjs +1 -1
  370. package/dist/esm/common/animatedText/animatedText.types.mjs +1 -1
  371. package/dist/esm/common/animatedText/animatedText.types.mjs.map +1 -1
  372. package/dist/esm/common/avatar/avatar.mjs +1 -1
  373. package/dist/esm/common/avatar/avatar.mjs.map +1 -1
  374. package/dist/esm/common/avatar/avatar.module.mjs +1 -1
  375. package/dist/esm/common/avatar/avatarGroup.mjs +1 -1
  376. package/dist/esm/common/avatar/avatarGroup.mjs.map +1 -1
  377. package/dist/esm/common/badge/badge.mjs +1 -1
  378. package/dist/esm/common/badge/badge.mjs.map +1 -1
  379. package/dist/esm/common/badge/badge.module.mjs +1 -1
  380. package/dist/esm/common/badge/badge.types.mjs +1 -1
  381. package/dist/esm/common/badge/badge.types.mjs.map +1 -1
  382. package/dist/esm/common/bodyEnd/bodyEnd.mjs +1 -1
  383. package/dist/esm/common/bodyEnd/bodyEnd.mjs.map +1 -1
  384. package/dist/esm/common/breadcrumb/breadcrumb.mjs +1 -1
  385. package/dist/esm/common/breadcrumb/breadcrumb.mjs.map +1 -1
  386. package/dist/esm/common/breadcrumb/breadcrumb.module.mjs +1 -1
  387. package/dist/esm/common/button/button.mjs +1 -1
  388. package/dist/esm/common/button/button.mjs.map +1 -1
  389. package/dist/esm/common/button/button.module.mjs +1 -1
  390. package/dist/esm/common/button/button.types.mjs +1 -1
  391. package/dist/esm/common/button/button.types.mjs.map +1 -1
  392. package/dist/esm/common/buttonGroup/buttonGroup.mjs +1 -1
  393. package/dist/esm/common/buttonGroup/buttonGroup.mjs.map +1 -1
  394. package/dist/esm/common/buttonGroup/buttonGroup.module.mjs +1 -1
  395. package/dist/esm/common/buttonGroup/buttonGroup.types.mjs +1 -1
  396. package/dist/esm/common/buttonGroup/buttonGroup.types.mjs.map +1 -1
  397. package/dist/esm/common/card/Card.mjs +1 -1
  398. package/dist/esm/common/card/Card.mjs.map +1 -1
  399. package/dist/esm/common/card/CardActions.mjs +1 -1
  400. package/dist/esm/common/card/CardActions.mjs.map +1 -1
  401. package/dist/esm/common/card/CardContent.mjs +1 -1
  402. package/dist/esm/common/card/CardContent.mjs.map +1 -1
  403. package/dist/esm/common/card/CardHeader.mjs +1 -1
  404. package/dist/esm/common/card/CardHeader.mjs.map +1 -1
  405. package/dist/esm/common/card/CardMedia.mjs +1 -1
  406. package/dist/esm/common/card/CardMedia.mjs.map +1 -1
  407. package/dist/esm/common/card/card.module.mjs +1 -1
  408. package/dist/esm/common/card/card.module.mjs.map +1 -1
  409. package/dist/esm/common/card/card.types.mjs +1 -1
  410. package/dist/esm/common/card/card.types.mjs.map +1 -1
  411. package/dist/esm/common/carousel/carousel.mjs +1 -1
  412. package/dist/esm/common/carousel/carousel.mjs.map +1 -1
  413. package/dist/esm/common/carousel/carousel.module.mjs +1 -1
  414. package/dist/esm/common/carousel/carousel.module.mjs.map +1 -1
  415. package/dist/esm/common/checkbox/checkbox.mjs +1 -1
  416. package/dist/esm/common/checkbox/checkbox.mjs.map +1 -1
  417. package/dist/esm/common/checkbox/checkbox.module.mjs +1 -1
  418. package/dist/esm/common/checkbox/checkbox.module.mjs.map +1 -1
  419. package/dist/esm/common/chip/chip.mjs +1 -1
  420. package/dist/esm/common/chip/chip.mjs.map +1 -1
  421. package/dist/esm/common/chip/chip.module.mjs +1 -1
  422. package/dist/esm/common/chip/chip.types.mjs +1 -1
  423. package/dist/esm/common/chip/chip.types.mjs.map +1 -1
  424. package/dist/esm/common/chip/chipContainer.mjs +1 -1
  425. package/dist/esm/common/chip/chipContainer.mjs.map +1 -1
  426. package/dist/esm/common/colorPicker/colorPicker.mjs +1 -1
  427. package/dist/esm/common/colorPicker/colorPicker.mjs.map +1 -1
  428. package/dist/esm/common/colorPicker/colorPicker.module.mjs +1 -1
  429. package/dist/esm/common/colorPicker/colorPicker.module.mjs.map +1 -1
  430. package/dist/esm/common/colorPicker/toHex.mjs +1 -1
  431. package/dist/esm/common/colorPicker/toHex.mjs.map +1 -1
  432. package/dist/esm/common/configProvider/configProvider.mjs +1 -1
  433. package/dist/esm/common/configProvider/configProvider.mjs.map +1 -1
  434. package/dist/esm/common/configProvider/presentation.types.mjs +1 -1
  435. package/dist/esm/common/configProvider/presentation.types.mjs.map +1 -1
  436. package/dist/esm/common/configProvider/useComponentDefaults.mjs +1 -1
  437. package/dist/esm/common/configProvider/useComponentDefaults.mjs.map +1 -1
  438. package/dist/esm/common/configProvider/useLabels.mjs +1 -1
  439. package/dist/esm/common/configProvider/useLabels.mjs.map +1 -1
  440. package/dist/esm/common/configProvider/usePresentationDefault.mjs +1 -1
  441. package/dist/esm/common/configProvider/usePresentationDefault.mjs.map +1 -1
  442. package/dist/esm/common/confirmModal/confirmModal.mjs +1 -1
  443. package/dist/esm/common/confirmModal/confirmModal.mjs.map +1 -1
  444. package/dist/esm/common/datePicker/components/datePickerMonth/datePickerMonth.mjs +1 -1
  445. package/dist/esm/common/datePicker/components/datePickerMonth/datePickerMonth.mjs.map +1 -1
  446. package/dist/esm/common/datePicker/components/datePickerMonth/datePickerMonth.module.mjs +1 -1
  447. package/dist/esm/common/datePicker/dateFunctions.mjs +1 -1
  448. package/dist/esm/common/datePicker/dateFunctions.mjs.map +1 -1
  449. package/dist/esm/common/datePicker/datePicker.mjs +1 -1
  450. package/dist/esm/common/datePicker/datePicker.mjs.map +1 -1
  451. package/dist/esm/common/datePicker/datePicker.module.mjs +1 -1
  452. package/dist/esm/common/divider/divider.mjs +1 -1
  453. package/dist/esm/common/divider/divider.mjs.map +1 -1
  454. package/dist/esm/common/divider/divider.module.mjs +1 -1
  455. package/dist/esm/common/divider/divider.types.mjs +1 -1
  456. package/dist/esm/common/divider/divider.types.mjs.map +1 -1
  457. package/dist/esm/common/drawer/drawer.mjs +1 -1
  458. package/dist/esm/common/drawer/drawer.mjs.map +1 -1
  459. package/dist/esm/common/drawer/drawer.module.mjs +1 -1
  460. package/dist/esm/common/drawer/drawer.module.mjs.map +1 -1
  461. package/dist/esm/common/dropZone/dropZone.mjs +1 -1
  462. package/dist/esm/common/dropZone/dropZone.mjs.map +1 -1
  463. package/dist/esm/common/dropZone/dropZone.module.mjs +1 -1
  464. package/dist/esm/common/dropZone/dropZone.types.mjs +1 -1
  465. package/dist/esm/common/dropZone/dropZone.types.mjs.map +1 -1
  466. package/dist/esm/common/dropdown/dropdown.mjs +1 -1
  467. package/dist/esm/common/dropdown/dropdown.mjs.map +1 -1
  468. package/dist/esm/common/dropdown/dropdown.module.mjs +1 -1
  469. package/dist/esm/common/dropdown/dropdown.module.mjs.map +1 -1
  470. package/dist/esm/common/emptyState/emptyState.mjs +1 -1
  471. package/dist/esm/common/emptyState/emptyState.mjs.map +1 -1
  472. package/dist/esm/common/emptyState/emptyState.module.mjs +1 -1
  473. package/dist/esm/common/errorBoundary/errorBoundary.mjs +1 -1
  474. package/dist/esm/common/errorBoundary/errorBoundary.mjs.map +1 -1
  475. package/dist/esm/common/errorBoundary/errorBoundary.module.mjs +1 -1
  476. package/dist/esm/common/fab/components/fabBase/fabBase.mjs +1 -1
  477. package/dist/esm/common/fab/components/fabBase/fabBase.mjs.map +1 -1
  478. package/dist/esm/common/fab/components/fabBase/fabBase.module.mjs +1 -1
  479. package/dist/esm/common/fab/fab.mjs +1 -1
  480. package/dist/esm/common/fab/fab.mjs.map +1 -1
  481. package/dist/esm/common/fab/fab.module.mjs +1 -1
  482. package/dist/esm/common/fab/fab.module.mjs.map +1 -1
  483. package/dist/esm/common/flip/flip.mjs +1 -1
  484. package/dist/esm/common/flip/flip.mjs.map +1 -1
  485. package/dist/esm/common/flip/flip.module.mjs +1 -1
  486. package/dist/esm/common/floorPlan/floorPlan.faces.mjs +1 -1
  487. package/dist/esm/common/floorPlan/floorPlan.faces.mjs.map +1 -1
  488. package/dist/esm/common/floorPlan/floorPlan.geometry.mjs +1 -1
  489. package/dist/esm/common/floorPlan/floorPlan.geometry.mjs.map +1 -1
  490. package/dist/esm/common/floorPlan/floorPlan.graph.mjs +1 -1
  491. package/dist/esm/common/floorPlan/floorPlan.graph.mjs.map +1 -1
  492. package/dist/esm/common/floorPlan/floorPlan.hit.mjs +1 -1
  493. package/dist/esm/common/floorPlan/floorPlan.hit.mjs.map +1 -1
  494. package/dist/esm/common/floorPlan/floorPlan.json.mjs +1 -1
  495. package/dist/esm/common/floorPlan/floorPlan.json.mjs.map +1 -1
  496. package/dist/esm/common/floorPlan/floorPlan.mesh.mjs +1 -1
  497. package/dist/esm/common/floorPlan/floorPlan.mesh.mjs.map +1 -1
  498. package/dist/esm/common/floorPlan/floorPlan.path.mjs +1 -1
  499. package/dist/esm/common/floorPlan/floorPlan.path.mjs.map +1 -1
  500. package/dist/esm/common/floorPlan/floorPlan.plan.mjs +1 -1
  501. package/dist/esm/common/floorPlan/floorPlan.plan.mjs.map +1 -1
  502. package/dist/esm/common/floorPlan/floorPlan.rooms.mjs +1 -1
  503. package/dist/esm/common/floorPlan/floorPlan.rooms.mjs.map +1 -1
  504. package/dist/esm/common/floorPlan/floorPlan.snap.mjs +1 -1
  505. package/dist/esm/common/floorPlan/floorPlan.snap.mjs.map +1 -1
  506. package/dist/esm/common/floorPlan/floorPlan.triangulate.mjs +1 -1
  507. package/dist/esm/common/floorPlan/floorPlan.triangulate.mjs.map +1 -1
  508. package/dist/esm/common/floorPlan/floorPlan.types.mjs +1 -1
  509. package/dist/esm/common/floorPlan/floorPlan.types.mjs.map +1 -1
  510. package/dist/esm/common/floorPlan/legacySvg.mjs +1 -1
  511. package/dist/esm/common/floorPlan/legacySvg.mjs.map +1 -1
  512. package/dist/esm/common/hooks/useAnchorTracking.mjs +1 -1
  513. package/dist/esm/common/hooks/useAnchorTracking.mjs.map +1 -1
  514. package/dist/esm/common/hooks/useCoarsePointer.mjs +1 -1
  515. package/dist/esm/common/hooks/useCoarsePointer.mjs.map +1 -1
  516. package/dist/esm/common/hooks/useFocusBoundary.mjs +1 -1
  517. package/dist/esm/common/hooks/useFocusBoundary.mjs.map +1 -1
  518. package/dist/esm/common/hooks/useMediaQuery.mjs +1 -1
  519. package/dist/esm/common/hooks/useMediaQuery.mjs.map +1 -1
  520. package/dist/esm/common/hooks/useOverlay.mjs +1 -1
  521. package/dist/esm/common/hooks/useOverlay.mjs.map +1 -1
  522. package/dist/esm/common/hooks/useScrollEdges.mjs +2 -0
  523. package/dist/esm/common/hooks/useScrollEdges.mjs.map +1 -0
  524. package/dist/esm/common/hooks/useSheet.mjs +1 -1
  525. package/dist/esm/common/hooks/useSheet.mjs.map +1 -1
  526. package/dist/esm/common/hooks/useSwipeDismiss.mjs +1 -1
  527. package/dist/esm/common/hooks/useSwipeDismiss.mjs.map +1 -1
  528. package/dist/esm/common/hooks/useVisualViewportSize.mjs +1 -1
  529. package/dist/esm/common/hooks/useVisualViewportSize.mjs.map +1 -1
  530. package/dist/esm/common/iconPicker/iconPicker.mjs +1 -1
  531. package/dist/esm/common/iconPicker/iconPicker.mjs.map +1 -1
  532. package/dist/esm/common/iconPicker/iconPicker.module.mjs +1 -1
  533. package/dist/esm/common/idleManager/idleManager.mjs +1 -1
  534. package/dist/esm/common/idleManager/idleManager.mjs.map +1 -1
  535. package/dist/esm/common/infiniteBlock/useInfiniteScroll.mjs +2 -0
  536. package/dist/esm/common/infiniteBlock/useInfiniteScroll.mjs.map +1 -0
  537. package/dist/esm/common/input/input.mjs +1 -1
  538. package/dist/esm/common/input/input.mjs.map +1 -1
  539. package/dist/esm/common/input/input.module.mjs +1 -1
  540. package/dist/esm/common/input/input.module.mjs.map +1 -1
  541. package/dist/esm/common/input/input.types.mjs +1 -1
  542. package/dist/esm/common/input/input.types.mjs.map +1 -1
  543. package/dist/esm/common/inputDropdown/inputDropdown.mjs +1 -1
  544. package/dist/esm/common/inputDropdown/inputDropdown.mjs.map +1 -1
  545. package/dist/esm/common/inputDropdown/inputDropdown.module.mjs +1 -1
  546. package/dist/esm/common/interactableDiv/index.mjs +1 -1
  547. package/dist/esm/common/interactableDiv/index.mjs.map +1 -1
  548. package/dist/esm/common/interactableDiv/interactableDiv.mjs +1 -1
  549. package/dist/esm/common/interactableDiv/interactableDiv.mjs.map +1 -1
  550. package/dist/esm/common/interactableDiv/interactableDiv.module.mjs +1 -1
  551. package/dist/esm/common/kanbanBoard/KanbanBoard.mjs +1 -1
  552. package/dist/esm/common/kanbanBoard/KanbanBoard.mjs.map +1 -1
  553. package/dist/esm/common/kanbanBoard/KanbanColumn.mjs +1 -1
  554. package/dist/esm/common/kanbanBoard/KanbanColumn.mjs.map +1 -1
  555. package/dist/esm/common/kanbanBoard/KanbanItem.mjs +1 -1
  556. package/dist/esm/common/kanbanBoard/KanbanItem.mjs.map +1 -1
  557. package/dist/esm/common/kanbanBoard/kanbanBoard.module.mjs +1 -1
  558. package/dist/esm/common/kanbanBoard/kanbanBoard.utils.mjs +1 -1
  559. package/dist/esm/common/kanbanBoard/kanbanBoard.utils.mjs.map +1 -1
  560. package/dist/esm/common/klipyPicker/components/gifPreview/gifPreview.mjs +1 -1
  561. package/dist/esm/common/klipyPicker/components/gifPreview/gifPreview.mjs.map +1 -1
  562. package/dist/esm/common/klipyPicker/components/gifPreview/gifPreview.module.mjs +1 -1
  563. package/dist/esm/common/klipyPicker/components/gifPreview/gifPreview.module.mjs.map +1 -1
  564. package/dist/esm/common/klipyPicker/components/gifView/gifView.mjs +1 -1
  565. package/dist/esm/common/klipyPicker/components/gifView/gifView.mjs.map +1 -1
  566. package/dist/esm/common/klipyPicker/components/gifView/gifView.module.mjs +1 -1
  567. package/dist/esm/common/klipyPicker/components/gifView/gifView.module.mjs.map +1 -1
  568. package/dist/esm/common/klipyPicker/klipyPicker.mjs +1 -1
  569. package/dist/esm/common/klipyPicker/klipyPicker.mjs.map +1 -1
  570. package/dist/esm/common/klipyPicker/klipyPicker.module.mjs +1 -1
  571. package/dist/esm/common/loading/iconLoading/iconLoading.mjs +1 -1
  572. package/dist/esm/common/loading/iconLoading/iconLoading.mjs.map +1 -1
  573. package/dist/esm/common/loading/iconLoading/iconLoading.module.mjs +1 -1
  574. package/dist/esm/common/loading/iconLoading/index.mjs +1 -1
  575. package/dist/esm/common/loading/iconLoading/index.mjs.map +1 -1
  576. package/dist/esm/common/loading/spinnerLoading/index.mjs +1 -1
  577. package/dist/esm/common/loading/spinnerLoading/index.mjs.map +1 -1
  578. package/dist/esm/common/loading/spinnerLoading/spinnerLoading.mjs +1 -1
  579. package/dist/esm/common/loading/spinnerLoading/spinnerLoading.mjs.map +1 -1
  580. package/dist/esm/common/loading/spinnerLoading/spinnerLoading.module.mjs +1 -1
  581. package/dist/esm/common/maskedInput/mask.mjs +2 -0
  582. package/dist/esm/common/maskedInput/mask.mjs.map +1 -0
  583. package/dist/esm/common/maskedInput/maskedInput.mjs +2 -0
  584. package/dist/esm/common/maskedInput/maskedInput.mjs.map +1 -0
  585. package/dist/esm/common/menu/menu.mjs +1 -1
  586. package/dist/esm/common/menu/menu.mjs.map +1 -1
  587. package/dist/esm/common/menu/menu.module.mjs +1 -1
  588. package/dist/esm/common/menu/menu.types.mjs +1 -1
  589. package/dist/esm/common/menu/menu.types.mjs.map +1 -1
  590. package/dist/esm/common/modal/modal.mjs +1 -1
  591. package/dist/esm/common/modal/modal.mjs.map +1 -1
  592. package/dist/esm/common/modal/modal.module.mjs +1 -1
  593. package/dist/esm/common/modal/modal.module.mjs.map +1 -1
  594. package/dist/esm/common/multiSelect/multiSelect.mjs +1 -1
  595. package/dist/esm/common/multiSelect/multiSelect.mjs.map +1 -1
  596. package/dist/esm/common/multiSelect/multiSelect.module.mjs +1 -1
  597. package/dist/esm/common/multiSelect/multiSelect.module.mjs.map +1 -1
  598. package/dist/esm/common/numberInput/index.mjs +1 -1
  599. package/dist/esm/common/numberInput/index.mjs.map +1 -1
  600. package/dist/esm/common/numberInput/numberInput.mjs +1 -1
  601. package/dist/esm/common/numberInput/numberInput.mjs.map +1 -1
  602. package/dist/esm/common/numberInput/numberInput.module.mjs +1 -1
  603. package/dist/esm/common/numberInput/useStepRepeat.mjs +1 -1
  604. package/dist/esm/common/numberInput/useStepRepeat.mjs.map +1 -1
  605. package/dist/esm/common/optionPicker/optionPicker.mjs +1 -1
  606. package/dist/esm/common/optionPicker/optionPicker.mjs.map +1 -1
  607. package/dist/esm/common/optionPicker/optionPicker.module.mjs +1 -1
  608. package/dist/esm/common/otpInput/otpInput.mjs +1 -1
  609. package/dist/esm/common/otpInput/otpInput.mjs.map +1 -1
  610. package/dist/esm/common/otpInput/otpInput.module.mjs +1 -1
  611. package/dist/esm/common/otpInput/otpInput.types.mjs +1 -1
  612. package/dist/esm/common/otpInput/otpInput.types.mjs.map +1 -1
  613. package/dist/esm/common/overscroll/overscroll.mjs +1 -1
  614. package/dist/esm/common/overscroll/overscroll.mjs.map +1 -1
  615. package/dist/esm/common/overscroll/overscroll.module.mjs +1 -1
  616. package/dist/esm/common/pagination/pagination.mjs +1 -1
  617. package/dist/esm/common/pagination/pagination.mjs.map +1 -1
  618. package/dist/esm/common/pagination/pagination.module.mjs +1 -1
  619. package/dist/esm/common/planCanvas/planCanvas.mjs +1 -1
  620. package/dist/esm/common/planCanvas/planCanvas.mjs.map +1 -1
  621. package/dist/esm/common/planCanvas/planCanvas.module.mjs +1 -1
  622. package/dist/esm/common/popover/popover.mjs +1 -1
  623. package/dist/esm/common/popover/popover.mjs.map +1 -1
  624. package/dist/esm/common/popover/popover.module.mjs +1 -1
  625. package/dist/esm/common/popover/popover.types.mjs +1 -1
  626. package/dist/esm/common/popover/popover.types.mjs.map +1 -1
  627. package/dist/esm/common/popover/usePopoverPosition.mjs +1 -1
  628. package/dist/esm/common/popover/usePopoverPosition.mjs.map +1 -1
  629. package/dist/esm/common/progressBar/progressBar.mjs +1 -1
  630. package/dist/esm/common/progressBar/progressBar.mjs.map +1 -1
  631. package/dist/esm/common/progressBar/progressBar.module.mjs +1 -1
  632. package/dist/esm/common/progressBar/progressBar.module.mjs.map +1 -1
  633. package/dist/esm/common/radioGroup/radioGroup.mjs +1 -1
  634. package/dist/esm/common/radioGroup/radioGroup.mjs.map +1 -1
  635. package/dist/esm/common/radioGroup/radioGroup.module.mjs +1 -1
  636. package/dist/esm/common/radioGroup/radioGroup.module.mjs.map +1 -1
  637. package/dist/esm/common/radioGroup/radioGroup.types.mjs +1 -1
  638. package/dist/esm/common/radioGroup/radioGroup.types.mjs.map +1 -1
  639. package/dist/esm/common/rating/rating.mjs +1 -1
  640. package/dist/esm/common/rating/rating.mjs.map +1 -1
  641. package/dist/esm/common/rating/rating.module.mjs +1 -1
  642. package/dist/esm/common/rating/rating.module.mjs.map +1 -1
  643. package/dist/esm/common/revealLens/revealLens.mjs +1 -1
  644. package/dist/esm/common/revealLens/revealLens.mjs.map +1 -1
  645. package/dist/esm/common/revealLens/revealLens.module.mjs +1 -1
  646. package/dist/esm/common/ripple/ripple.mjs +1 -1
  647. package/dist/esm/common/ripple/ripple.mjs.map +1 -1
  648. package/dist/esm/common/ripple/ripple.module.mjs +1 -1
  649. package/dist/esm/common/ripple/ripple.module.mjs.map +1 -1
  650. package/dist/esm/common/roomDrawer/roomDrawer.mjs +1 -1
  651. package/dist/esm/common/roomDrawer/roomDrawer.mjs.map +1 -1
  652. package/dist/esm/common/roomDrawer/roomDrawer.module.mjs +1 -1
  653. package/dist/esm/common/roomDrawer/usePlanHistory.mjs +1 -1
  654. package/dist/esm/common/roomDrawer/usePlanHistory.mjs.map +1 -1
  655. package/dist/esm/common/roomViewer/roomViewer.mjs +1 -1
  656. package/dist/esm/common/roomViewer/roomViewer.mjs.map +1 -1
  657. package/dist/esm/common/roomViewer/roomViewer.module.mjs +1 -1
  658. package/dist/esm/common/scrollFade/scrollFade.mjs +2 -0
  659. package/dist/esm/common/scrollFade/scrollFade.mjs.map +1 -0
  660. package/dist/esm/common/scrollFade/scrollFade.module.mjs +2 -0
  661. package/dist/esm/common/scrollFade/scrollFade.module.mjs.map +1 -0
  662. package/dist/esm/common/scrollFade/scrollFade.types.mjs +2 -0
  663. package/dist/esm/common/scrollFade/scrollFade.types.mjs.map +1 -0
  664. package/dist/esm/common/scrollbarProvider/index.mjs +1 -1
  665. package/dist/esm/common/scrollbarProvider/index.mjs.map +1 -1
  666. package/dist/esm/common/scrollbarProvider/scrollbarProvider.mjs +1 -1
  667. package/dist/esm/common/scrollbarProvider/scrollbarProvider.mjs.map +1 -1
  668. package/dist/esm/common/scrollbarProvider/scrollbarProvider.module.mjs +1 -1
  669. package/dist/esm/common/searchInput/searchInput.mjs +1 -1
  670. package/dist/esm/common/searchInput/searchInput.mjs.map +1 -1
  671. package/dist/esm/common/searchInput/searchInput.module.mjs +1 -1
  672. package/dist/esm/common/sectionHeader/sectionHeader.mjs +1 -1
  673. package/dist/esm/common/sectionHeader/sectionHeader.mjs.map +1 -1
  674. package/dist/esm/common/sectionHeader/sectionHeader.module.mjs +1 -1
  675. package/dist/esm/common/sectionHeader/sectionHeader.types.mjs +1 -1
  676. package/dist/esm/common/sectionHeader/sectionHeader.types.mjs.map +1 -1
  677. package/dist/esm/common/sheetBackdrop/sheetBackdrop.mjs +1 -1
  678. package/dist/esm/common/sheetBackdrop/sheetBackdrop.mjs.map +1 -1
  679. package/dist/esm/common/skeleton/skeleton.mjs +1 -1
  680. package/dist/esm/common/skeleton/skeleton.mjs.map +1 -1
  681. package/dist/esm/common/skeleton/skeleton.module.mjs +1 -1
  682. package/dist/esm/common/skeleton/skeleton.types.mjs +1 -1
  683. package/dist/esm/common/skeleton/skeleton.types.mjs.map +1 -1
  684. package/dist/esm/common/slider/slider.mjs +1 -1
  685. package/dist/esm/common/slider/slider.mjs.map +1 -1
  686. package/dist/esm/common/slider/slider.module.mjs +1 -1
  687. package/dist/esm/common/splitButton/splitButton.mjs +1 -1
  688. package/dist/esm/common/splitButton/splitButton.mjs.map +1 -1
  689. package/dist/esm/common/splitButton/splitButton.module.mjs +1 -1
  690. package/dist/esm/common/stepper/stepper.mjs +1 -1
  691. package/dist/esm/common/stepper/stepper.mjs.map +1 -1
  692. package/dist/esm/common/stepper/stepper.module.mjs +1 -1
  693. package/dist/esm/common/stepper/stepper.types.mjs +1 -1
  694. package/dist/esm/common/stepper/stepper.types.mjs.map +1 -1
  695. package/dist/esm/common/sticky/sticky.mjs +1 -1
  696. package/dist/esm/common/sticky/sticky.mjs.map +1 -1
  697. package/dist/esm/common/sticky/sticky.module.mjs +1 -1
  698. package/dist/esm/common/sticky/stickyStack.mjs +1 -1
  699. package/dist/esm/common/sticky/stickyStack.mjs.map +1 -1
  700. package/dist/esm/common/styles/scrollFade.module.mjs +2 -0
  701. package/dist/esm/common/styles/scrollFade.module.mjs.map +1 -0
  702. package/dist/esm/common/styles/sheet.module.mjs +1 -1
  703. package/dist/esm/common/styles/sheet.module.mjs.map +1 -1
  704. package/dist/esm/common/switch/switch.mjs +1 -1
  705. package/dist/esm/common/switch/switch.mjs.map +1 -1
  706. package/dist/esm/common/switch/switch.module.mjs +1 -1
  707. package/dist/esm/common/switch/switch.module.mjs.map +1 -1
  708. package/dist/esm/common/tabHeader/tabHeader.mjs +1 -1
  709. package/dist/esm/common/tabHeader/tabHeader.mjs.map +1 -1
  710. package/dist/esm/common/tabHeader/tabHeader.module.mjs +1 -1
  711. package/dist/esm/common/textarea/textarea.mjs +1 -1
  712. package/dist/esm/common/textarea/textarea.mjs.map +1 -1
  713. package/dist/esm/common/themeProvider/defaultTheme.mjs +1 -1
  714. package/dist/esm/common/themeProvider/defaultTheme.mjs.map +1 -1
  715. package/dist/esm/common/themeProvider/lightTheme.mjs +2 -0
  716. package/dist/esm/common/themeProvider/lightTheme.mjs.map +1 -0
  717. package/dist/esm/common/themeProvider/theme.module.mjs +1 -1
  718. package/dist/esm/common/themeProvider/themeProvider.mjs +1 -1
  719. package/dist/esm/common/themeProvider/themeProvider.mjs.map +1 -1
  720. package/dist/esm/common/themeProvider/themeVariablesContext.mjs +1 -1
  721. package/dist/esm/common/themeProvider/themeVariablesContext.mjs.map +1 -1
  722. package/dist/esm/common/themeProvider/useTheme.mjs +1 -1
  723. package/dist/esm/common/themeProvider/useTheme.mjs.map +1 -1
  724. package/dist/esm/common/tilt/tilt.mjs +1 -1
  725. package/dist/esm/common/tilt/tilt.mjs.map +1 -1
  726. package/dist/esm/common/tilt/tilt.module.mjs +1 -1
  727. package/dist/esm/common/tilt/tiltMath.mjs +1 -1
  728. package/dist/esm/common/tilt/tiltMath.mjs.map +1 -1
  729. package/dist/esm/common/tiltGroup/tiltGroup.mjs +1 -1
  730. package/dist/esm/common/tiltGroup/tiltGroup.mjs.map +1 -1
  731. package/dist/esm/common/timeInput/components/clockDial/clockDial.mjs +1 -1
  732. package/dist/esm/common/timeInput/components/clockDial/clockDial.mjs.map +1 -1
  733. package/dist/esm/common/timeInput/components/clockDial/clockDial.module.mjs +1 -1
  734. package/dist/esm/common/timeInput/timeFunctions.mjs +1 -1
  735. package/dist/esm/common/timeInput/timeFunctions.mjs.map +1 -1
  736. package/dist/esm/common/timeInput/timeInput.mjs +1 -1
  737. package/dist/esm/common/timeInput/timeInput.mjs.map +1 -1
  738. package/dist/esm/common/timeInput/timeInput.module.mjs +1 -1
  739. package/dist/esm/common/timeline/timeline.mjs +1 -1
  740. package/dist/esm/common/timeline/timeline.mjs.map +1 -1
  741. package/dist/esm/common/timeline/timeline.module.mjs +1 -1
  742. package/dist/esm/common/timeline/timeline.types.mjs +1 -1
  743. package/dist/esm/common/timeline/timeline.types.mjs.map +1 -1
  744. package/dist/esm/common/timer/timer.chime.mjs +1 -1
  745. package/dist/esm/common/timer/timer.chime.mjs.map +1 -1
  746. package/dist/esm/common/timer/timer.mjs +1 -1
  747. package/dist/esm/common/timer/timer.mjs.map +1 -1
  748. package/dist/esm/common/timer/timer.module.mjs +1 -1
  749. package/dist/esm/common/toast/toast.mjs +1 -1
  750. package/dist/esm/common/toast/toast.mjs.map +1 -1
  751. package/dist/esm/common/toast/toast.module.mjs +1 -1
  752. package/dist/esm/common/toast/toast.module.mjs.map +1 -1
  753. package/dist/esm/common/toast/toastProvider.mjs +1 -1
  754. package/dist/esm/common/toast/toastProvider.mjs.map +1 -1
  755. package/dist/esm/common/toast/toastService.mjs +1 -1
  756. package/dist/esm/common/toast/toastService.mjs.map +1 -1
  757. package/dist/esm/common/tooltip/tooltip.mjs +1 -1
  758. package/dist/esm/common/tooltip/tooltip.mjs.map +1 -1
  759. package/dist/esm/common/tooltip/tooltip.module.mjs +1 -1
  760. package/dist/esm/common/tree/flattenTree.mjs +1 -1
  761. package/dist/esm/common/tree/flattenTree.mjs.map +1 -1
  762. package/dist/esm/common/tree/tree.mjs +1 -1
  763. package/dist/esm/common/tree/tree.mjs.map +1 -1
  764. package/dist/esm/common/tree/tree.module.mjs +1 -1
  765. package/dist/esm/common/tree/tree.module.mjs.map +1 -1
  766. package/dist/esm/common/utils/activationKey.mjs +1 -1
  767. package/dist/esm/common/utils/activationKey.mjs.map +1 -1
  768. package/dist/esm/common/utils/interactiveTarget.mjs +2 -0
  769. package/dist/esm/common/utils/interactiveTarget.mjs.map +1 -0
  770. package/dist/esm/common/utils/listNavigation.mjs +2 -0
  771. package/dist/esm/common/utils/listNavigation.mjs.map +1 -0
  772. package/dist/esm/common/utils/mergeRefs.mjs +2 -0
  773. package/dist/esm/common/utils/mergeRefs.mjs.map +1 -0
  774. package/dist/esm/common/utils/renderIcon.mjs +1 -1
  775. package/dist/esm/common/utils/renderIcon.mjs.map +1 -1
  776. package/dist/esm/common/utils/scrollAncestors.mjs +1 -1
  777. package/dist/esm/common/utils/scrollAncestors.mjs.map +1 -1
  778. package/dist/esm/common/utils/visualViewport.mjs +1 -1
  779. package/dist/esm/common/utils/visualViewport.mjs.map +1 -1
  780. package/dist/esm/common/virtualList/useColumnResize.mjs +1 -1
  781. package/dist/esm/common/virtualList/useColumnResize.mjs.map +1 -1
  782. package/dist/esm/common/virtualList/useColumns.mjs +1 -1
  783. package/dist/esm/common/virtualList/useColumns.mjs.map +1 -1
  784. package/dist/esm/common/virtualList/useHeaderNavigation.mjs +1 -1
  785. package/dist/esm/common/virtualList/useHeaderNavigation.mjs.map +1 -1
  786. package/dist/esm/common/virtualList/useRowDrag.mjs +1 -1
  787. package/dist/esm/common/virtualList/useRowDrag.mjs.map +1 -1
  788. package/dist/esm/common/virtualList/useRowNavigation.mjs +1 -1
  789. package/dist/esm/common/virtualList/useRowNavigation.mjs.map +1 -1
  790. package/dist/esm/common/virtualList/useSelection.mjs +1 -1
  791. package/dist/esm/common/virtualList/useSelection.mjs.map +1 -1
  792. package/dist/esm/common/virtualList/useSorting.mjs +1 -1
  793. package/dist/esm/common/virtualList/useSorting.mjs.map +1 -1
  794. package/dist/esm/common/virtualList/useVirtualWindow.mjs +1 -1
  795. package/dist/esm/common/virtualList/useVirtualWindow.mjs.map +1 -1
  796. package/dist/esm/common/virtualList/virtualList.mjs +1 -1
  797. package/dist/esm/common/virtualList/virtualList.mjs.map +1 -1
  798. package/dist/esm/common/virtualList/virtualList.module.mjs +1 -1
  799. package/dist/esm/common/virtualList/virtualList.utils.mjs +1 -1
  800. package/dist/esm/common/virtualList/virtualList.utils.mjs.map +1 -1
  801. package/dist/esm/common/virtualList/virtualListHeader.mjs +1 -1
  802. package/dist/esm/common/virtualList/virtualListHeader.mjs.map +1 -1
  803. package/dist/esm/common/virtualList/virtualRow.mjs +1 -1
  804. package/dist/esm/common/virtualList/virtualRow.mjs.map +1 -1
  805. package/dist/esm/common/wizard/wizard.mjs +1 -1
  806. package/dist/esm/common/wizard/wizard.mjs.map +1 -1
  807. package/dist/esm/common/wizard/wizard.module.mjs +1 -1
  808. package/dist/esm/common/wizard/wizard.module.mjs.map +1 -1
  809. package/dist/esm/hooks/useWindowSize.mjs +1 -1
  810. package/dist/esm/hooks/useWindowSize.mjs.map +1 -1
  811. package/dist/esm/index.mjs +1 -1
  812. package/dist/esm/og.png +0 -0
  813. package/dist/esm/services/formValidation/FormValidatorGroupWithForm.mjs +1 -1
  814. package/dist/esm/services/formValidation/FormValidatorGroupWithForm.mjs.map +1 -1
  815. package/dist/esm/services/formValidation/index.mjs +1 -1
  816. package/dist/esm/services/formValidation/useFormValidatorGroup.mjs +1 -1
  817. package/dist/esm/services/formValidation/useFormValidatorGroup.mjs.map +1 -1
  818. package/dist/esm/services/formValidation/validatableComponent.mjs +1 -1
  819. package/dist/esm/services/formValidation/validatableComponent.mjs.map +1 -1
  820. package/dist/esm/services/klipy.mjs +1 -1
  821. package/dist/esm/services/klipy.mjs.map +1 -1
  822. package/dist/esm/services/localization.mjs +1 -1
  823. package/dist/esm/services/localization.mjs.map +1 -1
  824. package/dist/index.cjs +3 -3
  825. package/dist/index.cjs.map +1 -1
  826. package/dist/mcp.js +21432 -56
  827. package/dist/og.png +0 -0
  828. package/dist/style.css +1 -1
  829. package/dist/types/common/accordion/accordion.d.ts +1 -1
  830. package/dist/types/common/accordion/accordion.types.d.ts +1 -1
  831. package/dist/types/common/accordion/index.d.ts +2 -2
  832. package/dist/types/common/actionButtons/actionButtons.d.ts +1 -1
  833. package/dist/types/common/actionButtons/actionButtons.types.d.ts +3 -3
  834. package/dist/types/common/actionButtons/index.d.ts +2 -2
  835. package/dist/types/common/actionIcon/actionIcon.d.ts +1 -1
  836. package/dist/types/common/actionIcon/actionIcon.types.d.ts +5 -3
  837. package/dist/types/common/actionIcon/index.d.ts +2 -2
  838. package/dist/types/common/alert/alert.d.ts +1 -1
  839. package/dist/types/common/alert/alert.types.d.ts +2 -2
  840. package/dist/types/common/alert/index.d.ts +2 -2
  841. package/dist/types/common/animatedIcon/animatedIcon.d.ts +1 -1
  842. package/dist/types/common/animatedIcon/animatedIcon.types.d.ts +1 -1
  843. package/dist/types/common/animatedIcon/index.d.ts +2 -2
  844. package/dist/types/common/animatedLogo/animatedLogo.d.ts +1 -1
  845. package/dist/types/common/animatedLogo/animatedLogo.types.d.ts +1 -1
  846. package/dist/types/common/animatedLogo/index.d.ts +2 -2
  847. package/dist/types/common/animatedText/animatedText.d.ts +1 -1
  848. package/dist/types/common/animatedText/animatedText.types.d.ts +1 -1
  849. package/dist/types/common/animatedText/index.d.ts +2 -2
  850. package/dist/types/common/avatar/avatar.d.ts +1 -1
  851. package/dist/types/common/avatar/avatar.types.d.ts +2 -2
  852. package/dist/types/common/avatar/avatarGroup.d.ts +1 -1
  853. package/dist/types/common/avatar/index.d.ts +3 -3
  854. package/dist/types/common/badge/badge.d.ts +1 -1
  855. package/dist/types/common/badge/badge.types.d.ts +1 -1
  856. package/dist/types/common/badge/index.d.ts +2 -2
  857. package/dist/types/common/bodyEnd/bodyEnd.d.ts +1 -1
  858. package/dist/types/common/bodyEnd/index.d.ts +2 -2
  859. package/dist/types/common/breadcrumb/breadcrumb.d.ts +1 -1
  860. package/dist/types/common/breadcrumb/breadcrumb.types.d.ts +2 -2
  861. package/dist/types/common/breadcrumb/index.d.ts +2 -2
  862. package/dist/types/common/button/button.d.ts +1 -1
  863. package/dist/types/common/button/button.types.d.ts +2 -2
  864. package/dist/types/common/button/index.d.ts +2 -2
  865. package/dist/types/common/buttonGroup/buttonGroup.d.ts +1 -1
  866. package/dist/types/common/buttonGroup/buttonGroup.types.d.ts +1 -1
  867. package/dist/types/common/buttonGroup/index.d.ts +2 -2
  868. package/dist/types/common/card/Card.d.ts +1 -1
  869. package/dist/types/common/card/CardActions.d.ts +1 -1
  870. package/dist/types/common/card/CardContent.d.ts +1 -1
  871. package/dist/types/common/card/CardHeader.d.ts +1 -1
  872. package/dist/types/common/card/CardMedia.d.ts +1 -1
  873. package/dist/types/common/card/card.types.d.ts +6 -4
  874. package/dist/types/common/card/index.d.ts +6 -6
  875. package/dist/types/common/carousel/carousel.d.ts +1 -1
  876. package/dist/types/common/carousel/carousel.types.d.ts +1 -1
  877. package/dist/types/common/carousel/index.d.ts +2 -2
  878. package/dist/types/common/checkbox/checkbox.d.ts +1 -1
  879. package/dist/types/common/checkbox/checkbox.types.d.ts +5 -3
  880. package/dist/types/common/checkbox/index.d.ts +2 -2
  881. package/dist/types/common/chip/chip.d.ts +1 -1
  882. package/dist/types/common/chip/chip.types.d.ts +1 -1
  883. package/dist/types/common/chip/chipContainer.d.ts +1 -1
  884. package/dist/types/common/chip/index.d.ts +3 -3
  885. package/dist/types/common/colorPicker/colorPicker.d.ts +1 -1
  886. package/dist/types/common/colorPicker/colorPicker.types.d.ts +5 -1
  887. package/dist/types/common/colorPicker/index.d.ts +2 -2
  888. package/dist/types/common/configProvider/configProvider.d.ts +2 -2
  889. package/dist/types/common/configProvider/configProvider.types.d.ts +47 -43
  890. package/dist/types/common/configProvider/index.d.ts +6 -6
  891. package/dist/types/common/configProvider/useComponentDefaults.d.ts +1 -1
  892. package/dist/types/common/configProvider/useLabels.d.ts +1 -1
  893. package/dist/types/common/configProvider/usePresentationDefault.d.ts +1 -1
  894. package/dist/types/common/confirmModal/confirmModal.d.ts +1 -1
  895. package/dist/types/common/confirmModal/confirmModal.types.d.ts +2 -2
  896. package/dist/types/common/confirmModal/index.d.ts +2 -2
  897. package/dist/types/common/datePicker/components/datePickerMonth/datePickerMonth.d.ts +1 -1
  898. package/dist/types/common/datePicker/components/datePickerMonth/index.d.ts +1 -1
  899. package/dist/types/common/datePicker/datePicker.d.ts +1 -1
  900. package/dist/types/common/datePicker/datePicker.types.d.ts +2 -2
  901. package/dist/types/common/datePicker/index.d.ts +2 -2
  902. package/dist/types/common/divider/divider.d.ts +1 -1
  903. package/dist/types/common/divider/divider.types.d.ts +1 -1
  904. package/dist/types/common/divider/index.d.ts +2 -2
  905. package/dist/types/common/drawer/drawer.d.ts +1 -1
  906. package/dist/types/common/drawer/drawer.types.d.ts +1 -1
  907. package/dist/types/common/drawer/index.d.ts +2 -2
  908. package/dist/types/common/dropZone/dropZone.d.ts +1 -1
  909. package/dist/types/common/dropZone/dropZone.types.d.ts +1 -1
  910. package/dist/types/common/dropZone/index.d.ts +2 -2
  911. package/dist/types/common/dropdown/dropdown.d.ts +1 -1
  912. package/dist/types/common/dropdown/dropdown.types.d.ts +3 -3
  913. package/dist/types/common/dropdown/index.d.ts +2 -2
  914. package/dist/types/common/emptyState/emptyState.d.ts +1 -1
  915. package/dist/types/common/emptyState/emptyState.types.d.ts +2 -2
  916. package/dist/types/common/emptyState/index.d.ts +2 -2
  917. package/dist/types/common/errorBoundary/errorBoundary.d.ts +1 -1
  918. package/dist/types/common/errorBoundary/errorBoundary.types.d.ts +1 -1
  919. package/dist/types/common/errorBoundary/index.d.ts +2 -2
  920. package/dist/types/common/fab/components/fabBase/fabBase.d.ts +1 -1
  921. package/dist/types/common/fab/components/fabBase/fabBase.types.d.ts +1 -1
  922. package/dist/types/common/fab/components/fabBase/index.d.ts +1 -1
  923. package/dist/types/common/fab/fab.d.ts +1 -1
  924. package/dist/types/common/fab/fab.types.d.ts +2 -2
  925. package/dist/types/common/fab/index.d.ts +2 -2
  926. package/dist/types/common/flip/flip.d.ts +2 -2
  927. package/dist/types/common/flip/flip.types.d.ts +4 -2
  928. package/dist/types/common/flip/index.d.ts +2 -2
  929. package/dist/types/common/floorPlan/floorPlan.faces.d.ts +2 -2
  930. package/dist/types/common/floorPlan/floorPlan.fixtures.d.ts +1 -1
  931. package/dist/types/common/floorPlan/floorPlan.geometry.d.ts +1 -1
  932. package/dist/types/common/floorPlan/floorPlan.graph.d.ts +1 -1
  933. package/dist/types/common/floorPlan/floorPlan.hit.d.ts +1 -1
  934. package/dist/types/common/floorPlan/floorPlan.json.d.ts +1 -1
  935. package/dist/types/common/floorPlan/floorPlan.mesh.d.ts +1 -1
  936. package/dist/types/common/floorPlan/floorPlan.path.d.ts +1 -1
  937. package/dist/types/common/floorPlan/floorPlan.plan.d.ts +1 -1
  938. package/dist/types/common/floorPlan/floorPlan.rooms.d.ts +1 -1
  939. package/dist/types/common/floorPlan/floorPlan.snap.d.ts +1 -1
  940. package/dist/types/common/floorPlan/floorPlan.triangulate.d.ts +1 -1
  941. package/dist/types/common/floorPlan/index.d.ts +22 -22
  942. package/dist/types/common/floorPlan/legacySvg.d.ts +2 -2
  943. package/dist/types/common/hooks/useScrollEdges.d.ts +18 -0
  944. package/dist/types/common/hooks/useSheet.d.ts +1 -1
  945. package/dist/types/common/iconPicker/iconPicker.d.ts +1 -1
  946. package/dist/types/common/iconPicker/iconPicker.types.d.ts +2 -2
  947. package/dist/types/common/iconPicker/index.d.ts +2 -1
  948. package/dist/types/common/idleManager/idleManager.d.ts +1 -1
  949. package/dist/types/common/idleManager/index.d.ts +2 -1
  950. package/dist/types/common/infiniteBlock/useInfiniteScroll.d.ts +5 -0
  951. package/dist/types/common/input/index.d.ts +2 -2
  952. package/dist/types/common/input/input.d.ts +1 -1
  953. package/dist/types/common/input/input.types.d.ts +7 -2
  954. package/dist/types/common/inputDropdown/index.d.ts +2 -1
  955. package/dist/types/common/inputDropdown/inputDropdown.d.ts +1 -1
  956. package/dist/types/common/inputDropdown/inputDropdown.types.d.ts +2 -2
  957. package/dist/types/common/interactableDiv/index.d.ts +1 -1
  958. package/dist/types/common/interactableDiv/interactableDiv.d.ts +4 -3
  959. package/dist/types/common/kanbanBoard/KanbanBoard.d.ts +1 -1
  960. package/dist/types/common/kanbanBoard/KanbanColumn.d.ts +1 -1
  961. package/dist/types/common/kanbanBoard/KanbanItem.d.ts +1 -1
  962. package/dist/types/common/kanbanBoard/index.d.ts +3 -3
  963. package/dist/types/common/kanbanBoard/kanbanBoard.types.d.ts +1 -1
  964. package/dist/types/common/kanbanBoard/kanbanBoard.utils.d.ts +1 -1
  965. package/dist/types/common/klipyPicker/components/gifPreview/gifPreview.d.ts +1 -1
  966. package/dist/types/common/klipyPicker/components/gifPreview/gifPreview.types.d.ts +1 -1
  967. package/dist/types/common/klipyPicker/components/gifPreview/index.d.ts +1 -1
  968. package/dist/types/common/klipyPicker/components/gifView/gifView.d.ts +1 -1
  969. package/dist/types/common/klipyPicker/components/gifView/index.d.ts +1 -1
  970. package/dist/types/common/klipyPicker/index.d.ts +2 -2
  971. package/dist/types/common/klipyPicker/klipyPicker.d.ts +1 -1
  972. package/dist/types/common/klipyPicker/klipyPicker.types.d.ts +1 -1
  973. package/dist/types/common/loading/index.d.ts +2 -2
  974. package/dist/types/common/loading/spinnerLoading/index.d.ts +1 -1
  975. package/dist/types/common/loading/spinnerLoading/spinnerLoading.d.ts +0 -5
  976. package/dist/types/common/maskedInput/index.d.ts +2 -0
  977. package/dist/types/common/maskedInput/mask.d.ts +48 -0
  978. package/dist/types/common/maskedInput/maskedInput.d.ts +13 -0
  979. package/dist/types/common/maskedInput/maskedInput.types.d.ts +38 -0
  980. package/dist/types/common/menu/index.d.ts +2 -2
  981. package/dist/types/common/menu/menu.d.ts +1 -1
  982. package/dist/types/common/menu/menu.types.d.ts +4 -4
  983. package/dist/types/common/modal/index.d.ts +2 -2
  984. package/dist/types/common/modal/modal.d.ts +1 -1
  985. package/dist/types/common/modal/modal.types.d.ts +6 -3
  986. package/dist/types/common/multiSelect/index.d.ts +2 -2
  987. package/dist/types/common/multiSelect/multiSelect.d.ts +1 -1
  988. package/dist/types/common/multiSelect/multiSelect.types.d.ts +3 -3
  989. package/dist/types/common/numberInput/index.d.ts +2 -2
  990. package/dist/types/common/numberInput/numberInput.d.ts +2 -2
  991. package/dist/types/common/numberInput/numberInput.types.d.ts +4 -2
  992. package/dist/types/common/optionPicker/index.d.ts +2 -2
  993. package/dist/types/common/optionPicker/optionPicker.d.ts +1 -1
  994. package/dist/types/common/optionPicker/optionPicker.types.d.ts +1 -1
  995. package/dist/types/common/otpInput/index.d.ts +2 -2
  996. package/dist/types/common/otpInput/otpInput.d.ts +1 -1
  997. package/dist/types/common/otpInput/otpInput.types.d.ts +4 -2
  998. package/dist/types/common/overscroll/index.d.ts +2 -2
  999. package/dist/types/common/overscroll/overscroll.d.ts +1 -1
  1000. package/dist/types/common/pagination/index.d.ts +2 -2
  1001. package/dist/types/common/pagination/pagination.d.ts +1 -1
  1002. package/dist/types/common/pagination/pagination.types.d.ts +2 -2
  1003. package/dist/types/common/planCanvas/index.d.ts +2 -2
  1004. package/dist/types/common/planCanvas/planCanvas.d.ts +2 -2
  1005. package/dist/types/common/planCanvas/planCanvas.types.d.ts +5 -3
  1006. package/dist/types/common/popover/index.d.ts +2 -2
  1007. package/dist/types/common/popover/popover.d.ts +1 -1
  1008. package/dist/types/common/popover/popover.types.d.ts +2 -2
  1009. package/dist/types/common/popover/usePopoverPosition.d.ts +1 -1
  1010. package/dist/types/common/progressBar/index.d.ts +2 -2
  1011. package/dist/types/common/progressBar/progressBar.d.ts +1 -1
  1012. package/dist/types/common/progressBar/progressBar.types.d.ts +1 -1
  1013. package/dist/types/common/radioGroup/index.d.ts +2 -2
  1014. package/dist/types/common/radioGroup/radioGroup.d.ts +1 -1
  1015. package/dist/types/common/radioGroup/radioGroup.types.d.ts +3 -3
  1016. package/dist/types/common/rating/index.d.ts +2 -2
  1017. package/dist/types/common/rating/rating.d.ts +1 -1
  1018. package/dist/types/common/rating/rating.types.d.ts +2 -2
  1019. package/dist/types/common/revealLens/index.d.ts +2 -2
  1020. package/dist/types/common/revealLens/revealLens.d.ts +1 -1
  1021. package/dist/types/common/revealLens/revealLens.types.d.ts +1 -1
  1022. package/dist/types/common/ripple/index.d.ts +2 -2
  1023. package/dist/types/common/ripple/ripple.d.ts +2 -2
  1024. package/dist/types/common/ripple/ripple.types.d.ts +2 -1
  1025. package/dist/types/common/roomDrawer/index.d.ts +2 -2
  1026. package/dist/types/common/roomDrawer/roomDrawer.d.ts +2 -2
  1027. package/dist/types/common/roomDrawer/roomDrawer.types.d.ts +6 -4
  1028. package/dist/types/common/roomDrawer/usePlanHistory.d.ts +2 -2
  1029. package/dist/types/common/roomViewer/index.d.ts +2 -2
  1030. package/dist/types/common/roomViewer/roomViewer.d.ts +2 -2
  1031. package/dist/types/common/roomViewer/roomViewer.types.d.ts +6 -4
  1032. package/dist/types/common/scrollFade/index.d.ts +2 -0
  1033. package/dist/types/common/scrollFade/scrollFade.d.ts +4 -0
  1034. package/dist/types/common/scrollFade/scrollFade.types.d.ts +20 -0
  1035. package/dist/types/common/scrollbarProvider/index.d.ts +1 -1
  1036. package/dist/types/common/searchInput/index.d.ts +2 -2
  1037. package/dist/types/common/searchInput/searchInput.d.ts +2 -2
  1038. package/dist/types/common/searchInput/searchInput.types.d.ts +4 -1
  1039. package/dist/types/common/sectionHeader/index.d.ts +2 -2
  1040. package/dist/types/common/sectionHeader/sectionHeader.d.ts +1 -1
  1041. package/dist/types/common/sectionHeader/sectionHeader.types.d.ts +3 -3
  1042. package/dist/types/common/sheetBackdrop/index.d.ts +2 -2
  1043. package/dist/types/common/sheetBackdrop/sheetBackdrop.d.ts +1 -1
  1044. package/dist/types/common/skeleton/index.d.ts +2 -2
  1045. package/dist/types/common/skeleton/skeleton.d.ts +1 -1
  1046. package/dist/types/common/skeleton/skeleton.types.d.ts +1 -1
  1047. package/dist/types/common/slider/index.d.ts +2 -2
  1048. package/dist/types/common/slider/slider.d.ts +1 -1
  1049. package/dist/types/common/slider/slider.types.d.ts +2 -2
  1050. package/dist/types/common/splitButton/index.d.ts +2 -2
  1051. package/dist/types/common/splitButton/splitButton.d.ts +1 -1
  1052. package/dist/types/common/splitButton/splitButton.types.d.ts +4 -4
  1053. package/dist/types/common/stepper/index.d.ts +2 -2
  1054. package/dist/types/common/stepper/stepper.d.ts +1 -1
  1055. package/dist/types/common/stepper/stepper.types.d.ts +2 -2
  1056. package/dist/types/common/sticky/index.d.ts +1 -1
  1057. package/dist/types/common/sticky/sticky.d.ts +1 -1
  1058. package/dist/types/common/sticky/sticky.types.d.ts +1 -1
  1059. package/dist/types/common/switch/index.d.ts +2 -2
  1060. package/dist/types/common/switch/switch.d.ts +1 -1
  1061. package/dist/types/common/switch/switch.types.d.ts +5 -3
  1062. package/dist/types/common/tabHeader/index.d.ts +2 -2
  1063. package/dist/types/common/tabHeader/tabHeader.d.ts +1 -1
  1064. package/dist/types/common/tabHeader/tabHeader.types.d.ts +2 -2
  1065. package/dist/types/common/textarea/index.d.ts +2 -2
  1066. package/dist/types/common/textarea/textarea.d.ts +1 -1
  1067. package/dist/types/common/textarea/textarea.types.d.ts +1 -1
  1068. package/dist/types/common/themeProvider/defaultTheme.d.ts +1 -1
  1069. package/dist/types/common/themeProvider/index.d.ts +4 -3
  1070. package/dist/types/common/themeProvider/lightTheme.d.ts +13 -0
  1071. package/dist/types/common/themeProvider/theme.types.d.ts +28 -0
  1072. package/dist/types/common/themeProvider/themeProvider.d.ts +1 -1
  1073. package/dist/types/common/tilt/index.d.ts +4 -4
  1074. package/dist/types/common/tilt/tilt.d.ts +2 -2
  1075. package/dist/types/common/tilt/tilt.types.d.ts +5 -3
  1076. package/dist/types/common/tiltGroup/index.d.ts +3 -3
  1077. package/dist/types/common/tiltGroup/tiltGroup.d.ts +1 -1
  1078. package/dist/types/common/tiltGroup/tiltGroup.types.d.ts +1 -1
  1079. package/dist/types/common/timeInput/components/clockDial/clockDial.d.ts +1 -1
  1080. package/dist/types/common/timeInput/components/clockDial/clockDial.types.d.ts +3 -3
  1081. package/dist/types/common/timeInput/components/clockDial/index.d.ts +1 -1
  1082. package/dist/types/common/timeInput/index.d.ts +1 -1
  1083. package/dist/types/common/timeInput/timeInput.d.ts +1 -1
  1084. package/dist/types/common/timeInput/timeInput.types.d.ts +2 -2
  1085. package/dist/types/common/timeline/index.d.ts +2 -2
  1086. package/dist/types/common/timeline/timeline.d.ts +1 -1
  1087. package/dist/types/common/timeline/timeline.types.d.ts +2 -2
  1088. package/dist/types/common/timer/index.d.ts +2 -2
  1089. package/dist/types/common/timer/timer.d.ts +2 -2
  1090. package/dist/types/common/timer/timer.types.d.ts +5 -3
  1091. package/dist/types/common/toast/index.d.ts +3 -3
  1092. package/dist/types/common/toast/toast.d.ts +1 -1
  1093. package/dist/types/common/toast/toast.types.d.ts +1 -1
  1094. package/dist/types/common/toast/toastProvider.d.ts +1 -1
  1095. package/dist/types/common/toast/toastService.d.ts +1 -1
  1096. package/dist/types/common/tooltip/index.d.ts +2 -2
  1097. package/dist/types/common/tooltip/tooltip.d.ts +2 -2
  1098. package/dist/types/common/tooltip/tooltip.types.d.ts +7 -0
  1099. package/dist/types/common/tree/flattenTree.d.ts +1 -1
  1100. package/dist/types/common/tree/index.d.ts +3 -3
  1101. package/dist/types/common/tree/tree.d.ts +1 -1
  1102. package/dist/types/common/tree/tree.types.d.ts +2 -2
  1103. package/dist/types/common/types/actions.types.d.ts +1 -1
  1104. package/dist/types/common/types/baseProps.types.d.ts +6 -0
  1105. package/dist/types/common/types/slots.types.d.ts +1 -1
  1106. package/dist/types/common/utils/interactiveTarget.d.ts +7 -0
  1107. package/dist/types/common/utils/listNavigation.d.ts +49 -0
  1108. package/dist/types/common/utils/mergeRefs.d.ts +12 -0
  1109. package/dist/types/common/utils/renderIcon.d.ts +1 -1
  1110. package/dist/types/common/virtualList/index.d.ts +2 -2
  1111. package/dist/types/common/virtualList/useColumnResize.d.ts +1 -1
  1112. package/dist/types/common/virtualList/useColumns.d.ts +1 -1
  1113. package/dist/types/common/virtualList/useRowDrag.d.ts +1 -1
  1114. package/dist/types/common/virtualList/useRowNavigation.d.ts +1 -1
  1115. package/dist/types/common/virtualList/useSorting.d.ts +1 -1
  1116. package/dist/types/common/virtualList/useVirtualWindow.d.ts +1 -1
  1117. package/dist/types/common/virtualList/virtualList.d.ts +3 -5
  1118. package/dist/types/common/virtualList/virtualList.types.d.ts +4 -2
  1119. package/dist/types/common/virtualList/virtualList.utils.d.ts +1 -1
  1120. package/dist/types/common/virtualList/virtualListHeader.d.ts +4 -4
  1121. package/dist/types/common/virtualList/virtualRow.d.ts +1 -1
  1122. package/dist/types/common/wizard/index.d.ts +1 -1
  1123. package/dist/types/common/wizard/wizard.d.ts +1 -1
  1124. package/dist/types/common/wizard/wizard.types.d.ts +1 -1
  1125. package/dist/types/index.d.ts +153 -153
  1126. package/dist/types/services/formValidation/index.d.ts +3 -3
  1127. package/dist/types/services/formValidation/useFormValidatorGroup.d.ts +1 -1
  1128. package/docs/Accordion.md +9 -0
  1129. package/docs/ActionIcon.md +3 -0
  1130. package/docs/CLAUDE.md +123 -193
  1131. package/docs/Card.md +2 -1
  1132. package/docs/Checkbox.md +1 -0
  1133. package/docs/ColorPicker.md +12 -2
  1134. package/docs/Divider.md +2 -0
  1135. package/docs/Dropdown.md +20 -0
  1136. package/docs/IdleManager.md +38 -8
  1137. package/docs/Input.md +1 -0
  1138. package/docs/InputDropdown.md +11 -0
  1139. package/docs/InteractableDiv.md +7 -1
  1140. package/docs/KlipyPicker.md +2 -2
  1141. package/docs/Loading.md +3 -1
  1142. package/docs/Menu.md +2 -0
  1143. package/docs/Modal.md +34 -10
  1144. package/docs/MultiSelect.md +2 -2
  1145. package/docs/NumberInput.md +1 -0
  1146. package/docs/OtpInput.md +1 -0
  1147. package/docs/Pagination.md +1 -1
  1148. package/docs/Popover.md +2 -0
  1149. package/docs/RadioGroup.md +1 -1
  1150. package/docs/Rating.md +2 -0
  1151. package/docs/Ripple.md +3 -0
  1152. package/docs/RoomViewer.md +3 -5
  1153. package/docs/ScrollFade.md +77 -0
  1154. package/docs/ScrollbarProvider.md +2 -0
  1155. package/docs/SearchInput.md +1 -0
  1156. package/docs/Slider.md +1 -1
  1157. package/docs/Switch.md +1 -0
  1158. package/docs/Textarea.md +1 -0
  1159. package/docs/ThemeProvider.md +30 -1
  1160. package/docs/Timer.md +1 -1
  1161. package/docs/Tooltip.md +23 -1
  1162. package/docs/Wizard.md +1 -1
  1163. package/package.json +39 -16
  1164. package/dist/esm/common/infiniteBlock/infiniteBlock.mjs +0 -2
  1165. package/dist/esm/common/infiniteBlock/infiniteBlock.mjs.map +0 -1
  1166. package/dist/esm/common/infiniteBlock/infiniteBlock.module.mjs +0 -2
  1167. package/dist/esm/common/infiniteBlock/infiniteBlock.module.mjs.map +0 -1
  1168. package/dist/types/common/infiniteBlock/index.d.ts +0 -1
  1169. package/dist/types/common/infiniteBlock/infiniteBlock.d.ts +0 -4
  1170. package/dist/types/common/infiniteBlock/infiniteBlock.types.d.ts +0 -13
  1171. package/docs/Icon.md +0 -27
  1172. package/docs/InfiniteBlock.md +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"datePickerMonth.mjs","names":[],"sources":["../../../../../../package/common/datePicker/components/datePickerMonth/datePickerMonth.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport cx from 'classnames';\n\nimport styles from './datePickerMonth.module.pcss';\nimport { getLocale } from 'services/localization';\nimport InteractableDiv from 'components/common/interactableDiv';\nimport {\n addDays,\n getDateFromDayMonthAndYear,\n getDayMonthAndYearOfDate,\n getDaysInMonth,\n getStartWeekDayOfMonth,\n getWeekDays,\n} from '../../dateFunctions';\nimport type { DatePickerMonthProps } from './datePickerMonth.types';\n\n// Which day gets the sole tab stop when this month first renders (or when the displayed\n// month changes via the header, not via arrow navigation): the selected day if it falls in\n// this month, else today if it falls in this month, else the 1st.\nfunction getDefaultFocusedDay(month: number, year: number, selectionStart: Date | undefined): number {\n if (selectionStart) {\n const sel = getDayMonthAndYearOfDate(selectionStart);\n if (sel.month === month && sel.year === year) return sel.day;\n }\n const today = getDayMonthAndYearOfDate(new Date());\n if (today.month === month && today.year === year) return today.day;\n return 1;\n}\n\nfunction checkSelected(\n day: number,\n month: number,\n year: number,\n selectionStart: Date | undefined,\n selectionEnd: Date | undefined,\n) {\n const {\n day: startDay,\n month: startMonth,\n year: startYear,\n } = selectionStart ? getDayMonthAndYearOfDate(selectionStart) : { day: undefined, month: undefined, year: undefined };\n const {\n day: endDay,\n month: endMonth,\n year: endYear,\n } = selectionEnd ? getDayMonthAndYearOfDate(selectionEnd) : { day: undefined, month: undefined, year: undefined };\n\n const toCheckNoTime = getDateFromDayMonthAndYear(day, month, year);\n\n const isStartDate = day === startDay && month === startMonth && year === startYear;\n const isEndDate = day === endDay && month === endMonth && year === endYear;\n\n let isInRange = false;\n if (\n startDay !== undefined &&\n startMonth !== undefined &&\n startYear !== undefined &&\n endDay !== undefined &&\n endMonth !== undefined &&\n endYear !== undefined\n ) {\n const selectionStartNoTime = getDateFromDayMonthAndYear(startDay, startMonth, startYear);\n const selectionEndNoTime = getDateFromDayMonthAndYear(endDay, endMonth, endYear);\n isInRange =\n toCheckNoTime.getTime() >= selectionStartNoTime.getTime() &&\n toCheckNoTime.getTime() <= selectionEndNoTime.getTime();\n }\n\n return { isStartDate, isInRange, isEndDate };\n}\n\nfunction checkDisabled(\n day: number,\n month: number,\n year: number,\n minDate: Date | null | undefined,\n maxDate: Date | null | undefined,\n): boolean {\n const toCheckNoTime = getDateFromDayMonthAndYear(day, month, year);\n\n if (minDate) {\n const { day: minDay, month: minMonth, year: minYear } = getDayMonthAndYearOfDate(minDate);\n if (toCheckNoTime < getDateFromDayMonthAndYear(minDay, minMonth, minYear)) return true;\n }\n\n if (maxDate) {\n const { day: maxDay, month: maxMonth, year: maxYear } = getDayMonthAndYearOfDate(maxDate);\n if (toCheckNoTime > getDateFromDayMonthAndYear(maxDay, maxMonth, maxYear)) return true;\n }\n\n return false;\n}\n\nfunction checkIsToday(day: number, month: number, year: number): boolean {\n const { day: currDay, month: currMonth, year: currYear } = getDayMonthAndYearOfDate(new Date());\n return day === currDay && month === currMonth && year === currYear;\n}\n\nexport default function DatePickerMonth({\n style,\n className = '',\n month = new Date().getMonth() + 1,\n year = new Date().getFullYear(),\n onSelect = () => null,\n selectionStart,\n selectionEnd,\n minDate = null,\n maxDate = null,\n onNavigateMonth,\n}: DatePickerMonthProps) {\n const locale = getLocale('-');\n const daysInMonth = getDaysInMonth(month, year);\n const startWeekDayOfMonth = getStartWeekDayOfMonth(month, year);\n\n const dayRefs = useRef<Record<number, HTMLDivElement | null>>({});\n const [focusedDay, setFocusedDay] = useState(() => getDefaultFocusedDay(month, year, selectionStart));\n\n // A day arrowed onto in an adjacent month, waiting for that month's grid to render so it\n // can be focused. `onNavigateMonth` only shifts `month`/`year` — the actual DOM focus has\n // to happen after this component re-renders with the new days, hence the effect below.\n const pendingFocusDayRef = useRef<number | null>(null);\n\n useEffect(() => {\n if (pendingFocusDayRef.current != null) {\n const day = pendingFocusDayRef.current;\n pendingFocusDayRef.current = null;\n setFocusedDay(day);\n dayRefs.current[day]?.focus();\n } else {\n // The displayed month changed some other way (header chevrons, month/year dropdowns) —\n // re-pick a sensible tab stop, but don't steal focus from whatever the user just used.\n setFocusedDay(getDefaultFocusedDay(month, year, selectionStart));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [month, year]);\n\n function handleDayKeyDown(event: React.KeyboardEvent<HTMLDivElement>, day: number) {\n let delta = 0;\n if (event.key === 'ArrowRight') delta = 1;\n else if (event.key === 'ArrowLeft') delta = -1;\n else if (event.key === 'ArrowDown') delta = 7;\n else if (event.key === 'ArrowUp') delta = -7;\n else return;\n\n event.preventDefault();\n const next = addDays(day, month, year, delta);\n\n if (next.month !== month || next.year !== year) {\n pendingFocusDayRef.current = next.day;\n onNavigateMonth?.(next.month > month || next.year > year ? 1 : -1);\n } else {\n setFocusedDay(next.day);\n dayRefs.current[next.day]?.focus();\n }\n }\n\n return (\n <div className={cx(styles.datePickerMonth, className)} style={style}>\n <div className={cx(styles.datePickerMonthContent)}>\n {getWeekDays(locale).map((weekDay, index) => (\n <div key={index}>{weekDay}</div>\n ))}\n {Array.from(Array(startWeekDayOfMonth - 1).keys()).map((index) => (\n <div key={index} className={cx(styles.datePickerMonthItem, styles.datePickerMonthPlaceholder)} />\n ))}\n {Array.from(Array(daysInMonth).keys()).map((index) => {\n const day = index + 1;\n const selectedRes = checkSelected(day, month, year, selectionStart, selectionEnd);\n const isDisabled = checkDisabled(day, month, year, minDate, maxDate);\n const isToday = checkIsToday(day, month, year);\n\n return (\n <InteractableDiv\n key={day}\n ref={(el) => {\n dayRefs.current[day] = el;\n }}\n tabIndex={day === focusedDay ? 0 : -1}\n onKeyDown={(event) => handleDayKeyDown(event, day)}\n onClick={() => (isDisabled ? null : onSelect(getDateFromDayMonthAndYear(day, month, year)))}\n className={cx(styles.datePickerMonthDay, styles.datePickerMonthItem, {\n [styles.datePickerMonthDaySelected]: selectedRes.isInRange,\n [styles.datePickerMonthDaySelectedStart]: selectedRes.isStartDate,\n [styles.datePickerMonthDaySelectedEnd]: selectedRes.isEndDate,\n [styles.datePickerMonthDayDisabled]: isDisabled,\n [styles.datePickerMonthDayToday]: isToday,\n })}\n >\n {day}\n </InteractableDiv>\n );\n })}\n {Array.from(Array(42 - (startWeekDayOfMonth + daysInMonth - 1)).keys()).map((index) => (\n <div key={index} className={cx(styles.datePickerMonthItem, styles.datePickerMonthPlaceholder)}>\n &nbsp;\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"datePickerMonth.mjs","names":[],"sources":["../../../../../../package/common/datePicker/components/datePickerMonth/datePickerMonth.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport cx from 'classnames';\n\nimport styles from './datePickerMonth.module.pcss';\nimport { getLocale } from 'services/localization';\nimport InteractableDiv from 'components/common/interactableDiv';\nimport {\n addDays,\n getDateFromDayMonthAndYear,\n getDayMonthAndYearOfDate,\n getDaysInMonth,\n getStartWeekDayOfMonth,\n getWeekDays,\n} from '../../dateFunctions';\nimport type { DatePickerMonthProps } from './datePickerMonth.types';\n\n// Which day gets the sole tab stop when this month first renders (or when the displayed\n// month changes via the header, not via arrow navigation): the selected day if it falls in\n// this month, else today if it falls in this month, else the 1st.\nfunction getDefaultFocusedDay(month: number, year: number, selectionStart: Date | undefined): number {\n if (selectionStart) {\n const sel = getDayMonthAndYearOfDate(selectionStart);\n if (sel.month === month && sel.year === year) return sel.day;\n }\n const today = getDayMonthAndYearOfDate(new Date());\n if (today.month === month && today.year === year) return today.day;\n return 1;\n}\n\nfunction checkSelected(\n day: number,\n month: number,\n year: number,\n selectionStart: Date | undefined,\n selectionEnd: Date | undefined,\n) {\n const {\n day: startDay,\n month: startMonth,\n year: startYear,\n } = selectionStart ? getDayMonthAndYearOfDate(selectionStart) : { day: undefined, month: undefined, year: undefined };\n const {\n day: endDay,\n month: endMonth,\n year: endYear,\n } = selectionEnd ? getDayMonthAndYearOfDate(selectionEnd) : { day: undefined, month: undefined, year: undefined };\n\n const toCheckNoTime = getDateFromDayMonthAndYear(day, month, year);\n\n const isStartDate = day === startDay && month === startMonth && year === startYear;\n const isEndDate = day === endDay && month === endMonth && year === endYear;\n\n let isInRange = false;\n if (\n startDay !== undefined &&\n startMonth !== undefined &&\n startYear !== undefined &&\n endDay !== undefined &&\n endMonth !== undefined &&\n endYear !== undefined\n ) {\n const selectionStartNoTime = getDateFromDayMonthAndYear(startDay, startMonth, startYear);\n const selectionEndNoTime = getDateFromDayMonthAndYear(endDay, endMonth, endYear);\n isInRange =\n toCheckNoTime.getTime() >= selectionStartNoTime.getTime() &&\n toCheckNoTime.getTime() <= selectionEndNoTime.getTime();\n }\n\n return { isStartDate, isInRange, isEndDate };\n}\n\nfunction checkDisabled(\n day: number,\n month: number,\n year: number,\n minDate: Date | null | undefined,\n maxDate: Date | null | undefined,\n): boolean {\n const toCheckNoTime = getDateFromDayMonthAndYear(day, month, year);\n\n if (minDate) {\n const { day: minDay, month: minMonth, year: minYear } = getDayMonthAndYearOfDate(minDate);\n if (toCheckNoTime < getDateFromDayMonthAndYear(minDay, minMonth, minYear)) return true;\n }\n\n if (maxDate) {\n const { day: maxDay, month: maxMonth, year: maxYear } = getDayMonthAndYearOfDate(maxDate);\n if (toCheckNoTime > getDateFromDayMonthAndYear(maxDay, maxMonth, maxYear)) return true;\n }\n\n return false;\n}\n\nfunction checkIsToday(day: number, month: number, year: number): boolean {\n const { day: currDay, month: currMonth, year: currYear } = getDayMonthAndYearOfDate(new Date());\n return day === currDay && month === currMonth && year === currYear;\n}\n\nexport default function DatePickerMonth({\n style,\n className = '',\n month = new Date().getMonth() + 1,\n year = new Date().getFullYear(),\n onSelect = () => null,\n selectionStart,\n selectionEnd,\n minDate = null,\n maxDate = null,\n onNavigateMonth,\n}: DatePickerMonthProps) {\n const locale = getLocale('-');\n const daysInMonth = getDaysInMonth(month, year);\n const startWeekDayOfMonth = getStartWeekDayOfMonth(month, year);\n\n const dayRefs = useRef<Record<number, HTMLDivElement | null>>({});\n const [focusedDay, setFocusedDay] = useState(() => getDefaultFocusedDay(month, year, selectionStart));\n\n // A day arrowed onto in an adjacent month, waiting for that month's grid to render so it\n // can be focused. `onNavigateMonth` only shifts `month`/`year` — the actual DOM focus has\n // to happen after this component re-renders with the new days, hence the effect below.\n const pendingFocusDayRef = useRef<number | null>(null);\n\n useEffect(() => {\n if (pendingFocusDayRef.current != null) {\n const day = pendingFocusDayRef.current;\n pendingFocusDayRef.current = null;\n setFocusedDay(day);\n dayRefs.current[day]?.focus();\n } else {\n // The displayed month changed some other way (header chevrons, month/year dropdowns) —\n // re-pick a sensible tab stop, but don't steal focus from whatever the user just used.\n setFocusedDay(getDefaultFocusedDay(month, year, selectionStart));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [month, year]);\n\n function handleDayKeyDown(event: React.KeyboardEvent<HTMLDivElement>, day: number) {\n let delta = 0;\n if (event.key === 'ArrowRight') delta = 1;\n else if (event.key === 'ArrowLeft') delta = -1;\n else if (event.key === 'ArrowDown') delta = 7;\n else if (event.key === 'ArrowUp') delta = -7;\n else return;\n\n event.preventDefault();\n const next = addDays(day, month, year, delta);\n\n if (next.month !== month || next.year !== year) {\n pendingFocusDayRef.current = next.day;\n onNavigateMonth?.(next.month > month || next.year > year ? 1 : -1);\n } else {\n setFocusedDay(next.day);\n dayRefs.current[next.day]?.focus();\n }\n }\n\n return (\n <div className={cx(styles.datePickerMonth, className)} style={style}>\n <div className={cx(styles.datePickerMonthContent)}>\n {getWeekDays(locale).map((weekDay, index) => (\n <div key={index}>{weekDay}</div>\n ))}\n {Array.from(Array(startWeekDayOfMonth - 1).keys()).map((index) => (\n <div key={index} className={cx(styles.datePickerMonthItem, styles.datePickerMonthPlaceholder)} />\n ))}\n {Array.from(Array(daysInMonth).keys()).map((index) => {\n const day = index + 1;\n const selectedRes = checkSelected(day, month, year, selectionStart, selectionEnd);\n const isDisabled = checkDisabled(day, month, year, minDate, maxDate);\n const isToday = checkIsToday(day, month, year);\n\n return (\n <InteractableDiv\n key={day}\n ref={(el) => {\n dayRefs.current[day] = el;\n }}\n tabIndex={day === focusedDay ? 0 : -1}\n onKeyDown={(event) => handleDayKeyDown(event, day)}\n onClick={() => (isDisabled ? null : onSelect(getDateFromDayMonthAndYear(day, month, year)))}\n className={cx(styles.datePickerMonthDay, styles.datePickerMonthItem, {\n [styles.datePickerMonthDaySelected]: selectedRes.isInRange,\n [styles.datePickerMonthDaySelectedStart]: selectedRes.isStartDate,\n [styles.datePickerMonthDaySelectedEnd]: selectedRes.isEndDate,\n [styles.datePickerMonthDayDisabled]: isDisabled,\n [styles.datePickerMonthDayToday]: isToday,\n })}\n >\n {day}\n </InteractableDiv>\n );\n })}\n {Array.from(Array(42 - (startWeekDayOfMonth + daysInMonth - 1)).keys()).map((index) => (\n <div key={index} className={cx(styles.datePickerMonthItem, styles.datePickerMonthPlaceholder)}>\n &nbsp;\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"seAmBA,SAAS,EAAqB,EAAe,EAAc,EAA0C,CACnG,GAAI,EAAgB,CAClB,IAAM,EAAM,EAAyB,CAAc,EACnD,GAAI,EAAI,QAAU,GAAS,EAAI,OAAS,EAAM,OAAO,EAAI,GAC3D,CACA,IAAM,EAAQ,EAAyB,IAAI,IAAM,EAEjD,OADI,EAAM,QAAU,GAAS,EAAM,OAAS,EAAa,EAAM,IACxD,CACT,CAEA,SAAS,EACP,EACA,EACA,EACA,EACA,EACA,CACA,GAAM,CACJ,IAAK,EACL,MAAO,EACP,KAAM,GACJ,EAAiB,EAAyB,CAAc,EAAI,CAAE,IAAK,IAAA,GAAW,MAAO,IAAA,GAAW,KAAM,IAAA,EAAU,EAC9G,CACJ,IAAK,EACL,MAAO,EACP,KAAM,GACJ,EAAe,EAAyB,CAAY,EAAI,CAAE,IAAK,IAAA,GAAW,MAAO,IAAA,GAAW,KAAM,IAAA,EAAU,EAE1G,EAAgB,EAA2B,EAAK,EAAO,CAAI,EAE3D,EAAc,IAAQ,GAAY,IAAU,GAAc,IAAS,EACnE,EAAY,IAAQ,GAAU,IAAU,GAAY,IAAS,EAE/D,EAAY,GAChB,GACE,IAAa,IAAA,IACb,IAAe,IAAA,IACf,IAAc,IAAA,IACd,IAAW,IAAA,IACX,IAAa,IAAA,IACb,IAAY,IAAA,GACZ,CACA,IAAM,EAAuB,EAA2B,EAAU,EAAY,CAAS,EACjF,EAAqB,EAA2B,EAAQ,EAAU,CAAO,EAC/E,EACE,EAAc,QAAQ,GAAK,EAAqB,QAAQ,GACxD,EAAc,QAAQ,GAAK,EAAmB,QAAQ,CAC1D,CAEA,MAAO,CAAE,cAAa,YAAW,WAAU,CAC7C,CAEA,SAAS,EACP,EACA,EACA,EACA,EACA,EACS,CACT,IAAM,EAAgB,EAA2B,EAAK,EAAO,CAAI,EAEjE,GAAI,EAAS,CACX,GAAM,CAAE,IAAK,EAAQ,MAAO,EAAU,KAAM,GAAY,EAAyB,CAAO,EACxF,GAAI,EAAgB,EAA2B,EAAQ,EAAU,CAAO,EAAG,MAAO,EACpF,CAEA,GAAI,EAAS,CACX,GAAM,CAAE,IAAK,EAAQ,MAAO,EAAU,KAAM,GAAY,EAAyB,CAAO,EACxF,GAAI,EAAgB,EAA2B,EAAQ,EAAU,CAAO,EAAG,MAAO,EACpF,CAEA,MAAO,EACT,CAEA,SAAS,EAAa,EAAa,EAAe,EAAuB,CACvE,GAAM,CAAE,IAAK,EAAS,MAAO,EAAW,KAAM,GAAa,EAAyB,IAAI,IAAM,EAC9F,OAAO,IAAQ,GAAW,IAAU,GAAa,IAAS,CAC5D,CAEA,SAAwB,EAAgB,CACtC,QACA,YAAY,GACZ,QAAQ,IAAI,KAAK,CAAA,CAAE,SAAS,EAAI,EAChC,OAAO,IAAI,KAAK,CAAA,CAAE,YAAY,EAC9B,eAAiB,KACjB,iBACA,eACA,UAAU,KACV,UAAU,KACV,mBACuB,CACvB,IAAM,EAAS,EAAU,GAAG,EACtB,EAAc,EAAe,EAAO,CAAI,EACxC,EAAsB,EAAuB,EAAO,CAAI,EAExD,EAAU,EAA8C,CAAC,CAAC,EAC1D,CAAC,EAAY,GAAiB,MAAe,EAAqB,EAAO,EAAM,CAAc,CAAC,EAK9F,EAAqB,EAAsB,IAAI,EAErD,MAAgB,CACd,GAAI,EAAmB,SAAW,KAAM,CACtC,IAAM,EAAM,EAAmB,QAC/B,EAAmB,QAAU,KAC7B,EAAc,CAAG,EACjB,EAAQ,QAAQ,EAAI,EAAE,MAAM,CAC9B,MAGE,EAAc,EAAqB,EAAO,EAAM,CAAc,CAAC,CAGnE,EAAG,CAAC,EAAO,CAAI,CAAC,EAEhB,SAAS,EAAiB,EAA4C,EAAa,CACjF,IAAI,EAAQ,EACZ,GAAI,EAAM,MAAQ,aAAc,EAAQ,OACnC,GAAI,EAAM,MAAQ,YAAa,EAAQ,QACvC,GAAI,EAAM,MAAQ,YAAa,EAAQ,OACvC,GAAI,EAAM,MAAQ,UAAW,EAAQ,QACrC,OAEL,EAAM,eAAe,EACrB,IAAM,EAAO,EAAQ,EAAK,EAAO,EAAM,CAAK,EAExC,EAAK,QAAU,GAAS,EAAK,OAAS,GACxC,EAAmB,QAAU,EAAK,IAClC,IAAkB,EAAK,MAAQ,GAAS,EAAK,KAAO,EAAO,EAAI,EAAE,IAEjE,EAAc,EAAK,GAAG,EACtB,EAAQ,QAAQ,EAAK,IAAI,EAAE,MAAM,EAErC,CAEA,OACE,EAAC,MAAD,CAAK,UAAW,EAAG,EAAO,gBAAiB,CAAS,EAAU,QAC5D,SAAA,EAAC,MAAD,CAAK,UAAW,EAAG,EAAO,sBAAsB,EAAhD,SAAA,CACG,EAAY,CAAM,CAAC,CAAC,KAAK,EAAS,IACjC,EAAC,MAAD,CAAA,SAAkB,CAAa,EAArB,CAAqB,CAChC,EACA,MAAM,KAAK,MAAM,EAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAK,GACtD,EAAC,MAAD,CAAiB,UAAW,EAAG,EAAO,oBAAqB,EAAO,0BAA0B,CAAI,EAAtF,CAAsF,CACjG,EACA,MAAM,KAAK,MAAM,CAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAK,GAAU,CACpD,IAAM,EAAM,EAAQ,EACd,EAAc,EAAc,EAAK,EAAO,EAAM,EAAgB,CAAY,EAC1E,EAAa,EAAc,EAAK,EAAO,EAAM,EAAS,CAAO,EAC7D,EAAU,EAAa,EAAK,EAAO,CAAI,EAE7C,OACE,EAAC,EAAD,CAEE,IAAM,GAAO,CACX,EAAQ,QAAQ,GAAO,CACzB,EACA,SAAU,IAAQ,EAAa,EAAI,GACnC,UAAY,GAAU,EAAiB,EAAO,CAAG,EACjD,YAAgB,EAAa,KAAO,EAAS,EAA2B,EAAK,EAAO,CAAI,CAAC,EACzF,UAAW,EAAG,EAAO,mBAAoB,EAAO,oBAAqB,EAClE,EAAO,4BAA6B,EAAY,WAChD,EAAO,iCAAkC,EAAY,aACrD,EAAO,+BAAgC,EAAY,WACnD,EAAO,4BAA6B,GACpC,EAAO,yBAA0B,CACpC,CAAC,EAEA,SAAA,CACc,EAhBV,CAgBU,CAErB,CAAC,EACA,MAAM,KAAK,MAAM,IAAM,EAAsB,EAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAK,GAC3E,EAAC,MAAD,CAAiB,UAAW,EAAG,EAAO,oBAAqB,EAAO,0BAA0B,EAAG,SAAA,MAE1F,EAFK,CAEL,CACN,CACE,GACF,CAAA,CAET"}
@@ -1,2 +1,2 @@
1
- var e=`datePickerMonth-item_30WWy`,t=`datePickerMonth-content_9bbSs`,n=`datePickerMonth-day_SaASA`,r=`datePickerMonth-day-today_RXOIr`,i=`datePickerMonth-day-selected_yMF-v`,a=`datePickerMonth-day-selected-start_ftVeI`,o=`datePickerMonth-day-selected-end_MZ2qy`,s=`datePickerMonth-day-disabled_4t0Ci`,c=`datePickerMonth-placeholder_gy1Yx`,l={"datePickerMonth-item":`datePickerMonth-item_30WWy`,datePickerMonthItem:e,"datePickerMonth-content":`datePickerMonth-content_9bbSs`,datePickerMonthContent:t,"datePickerMonth-day":`datePickerMonth-day_SaASA`,datePickerMonthDay:n,"datePickerMonth-day-today":`datePickerMonth-day-today_RXOIr`,datePickerMonthDayToday:r,"datePickerMonth-day-selected":`datePickerMonth-day-selected_yMF-v`,datePickerMonthDaySelected:i,"datePickerMonth-day-selected-start":`datePickerMonth-day-selected-start_ftVeI`,datePickerMonthDaySelectedStart:a,"datePickerMonth-day-selected-end":`datePickerMonth-day-selected-end_MZ2qy`,datePickerMonthDaySelectedEnd:o,"datePickerMonth-day-disabled":`datePickerMonth-day-disabled_4t0Ci`,datePickerMonthDayDisabled:s,"datePickerMonth-placeholder":`datePickerMonth-placeholder_gy1Yx`,datePickerMonthPlaceholder:c};export{t as datePickerMonthContent,n as datePickerMonthDay,s as datePickerMonthDayDisabled,i as datePickerMonthDaySelected,o as datePickerMonthDaySelectedEnd,a as datePickerMonthDaySelectedStart,r as datePickerMonthDayToday,e as datePickerMonthItem,c as datePickerMonthPlaceholder,l as default};
1
+ "use client";var e=`datePickerMonth-item_30WWy`,t=`datePickerMonth-content_9bbSs`,n=`datePickerMonth-day_SaASA`,r=`datePickerMonth-day-today_RXOIr`,i=`datePickerMonth-day-selected_yMF-v`,a=`datePickerMonth-day-selected-start_ftVeI`,o=`datePickerMonth-day-selected-end_MZ2qy`,s=`datePickerMonth-day-disabled_4t0Ci`,c=`datePickerMonth-placeholder_gy1Yx`,l={"datePickerMonth-item":`datePickerMonth-item_30WWy`,datePickerMonthItem:e,"datePickerMonth-content":`datePickerMonth-content_9bbSs`,datePickerMonthContent:t,"datePickerMonth-day":`datePickerMonth-day_SaASA`,datePickerMonthDay:n,"datePickerMonth-day-today":`datePickerMonth-day-today_RXOIr`,datePickerMonthDayToday:r,"datePickerMonth-day-selected":`datePickerMonth-day-selected_yMF-v`,datePickerMonthDaySelected:i,"datePickerMonth-day-selected-start":`datePickerMonth-day-selected-start_ftVeI`,datePickerMonthDaySelectedStart:a,"datePickerMonth-day-selected-end":`datePickerMonth-day-selected-end_MZ2qy`,datePickerMonthDaySelectedEnd:o,"datePickerMonth-day-disabled":`datePickerMonth-day-disabled_4t0Ci`,datePickerMonthDayDisabled:s,"datePickerMonth-placeholder":`datePickerMonth-placeholder_gy1Yx`,datePickerMonthPlaceholder:c};export{t as datePickerMonthContent,n as datePickerMonthDay,s as datePickerMonthDayDisabled,i as datePickerMonthDaySelected,o as datePickerMonthDaySelectedEnd,a as datePickerMonthDaySelectedStart,r as datePickerMonthDayToday,e as datePickerMonthItem,c as datePickerMonthPlaceholder,l as default};
2
2
  //# sourceMappingURL=datePickerMonth.module.mjs.map
@@ -1,2 +1,2 @@
1
- import{getLocale as e}from"../../services/localization.mjs";function t(e,t){return new Date(t,e,0).getDate()}function n(e,t,n){return new Date(Date.UTC(n,t-1,e))}function r(e,t,n,r,i=!1){return new Date(Date.UTC(t,n-1,r)).toLocaleDateString(e,{month:i?`short`:`long`})}function i(t=e(`-`)){return Array.from(Array(12).keys()).map(e=>r(t,2023,e+1,1))}function a(e,t=!0){let n=new Date(Date.UTC(2023,3,10)),r=[];for(let i=0;i<7;i++)r.push(n.toLocaleDateString(e,{weekday:t?`short`:`long`})),n.setDate(n.getDate()+1);return r}function o(e,t){return new Date(Date.UTC(t,e-1,1)).getDay()||7}function s(e,n,r,i){let a=e+i,o=n,s=r;for(;a<1;)--o,o<1&&(o=12,--s),a+=t(o,s);for(;a>t(o,s);)a-=t(o,s),o+=1,o>12&&(o=1,s+=1);return{day:a,month:o,year:s}}function c(e){return{day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()}}function l(e){let t=e.getDate(),n=e.getMonth()+1,r=e.getFullYear();return`${t<10?`0${t}`:t}.${n<10?`0${n}`:n}.${r}`}function u(e,t,n){let r=e,i=n;return r[0]!==`_`&&(r[0]>`3`?(r=`0${r[0]}${t.substring(2)}`,i={start:3,end:3}):r[0]===`3`&&r[1]!==`_`&&r[1]>`1`&&(r=`0${r[1]}${t.substring(2)}`,i={start:3,end:3})),r[3]!==`_`&&r[3]>`1`&&(r=`${r.substring(0,3)}0${r[3]}${t.substring(5)}`,i={start:6,end:6}),r[3]===`1`&&r[4]!==`_`&&r[4]>`2`&&(r=`${r.substring(0,3)}${r[3]}2${t.substring(5)}`),{value:r,selection:i}}export{s as addDays,u as correctDateMaskValue,n as getDateFromDayMonthAndYear,l as getDateString,c as getDayMonthAndYearOfDate,t as getDaysInMonth,r as getMonthName,i as getMonthNames,o as getStartWeekDayOfMonth,a as getWeekDays};
1
+ "use client";import{getLocale as e}from"../../services/localization.mjs";function t(e,t){return new Date(t,e,0).getDate()}function n(e,t,n){return new Date(Date.UTC(n,t-1,e))}function r(e,t,n,r,i=!1){return new Date(Date.UTC(t,n-1,r)).toLocaleDateString(e,{month:i?`short`:`long`})}function i(t=e(`-`)){return Array.from(Array(12).keys()).map(e=>r(t,2023,e+1,1))}function a(e,t=!0){let n=new Date(Date.UTC(2023,3,10)),r=[];for(let i=0;i<7;i++)r.push(n.toLocaleDateString(e,{weekday:t?`short`:`long`})),n.setDate(n.getDate()+1);return r}function o(e,t){return new Date(Date.UTC(t,e-1,1)).getDay()||7}function s(e,n,r,i){let a=e+i,o=n,s=r;for(;a<1;)--o,o<1&&(o=12,--s),a+=t(o,s);for(;a>t(o,s);)a-=t(o,s),o+=1,o>12&&(o=1,s+=1);return{day:a,month:o,year:s}}function c(e){return{day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()}}function l(e){let t=e.getDate(),n=e.getMonth()+1,r=e.getFullYear();return`${t<10?`0${t}`:t}.${n<10?`0${n}`:n}.${r}`}function u(e,t,n){let r=e,i=n;return r[0]!==`_`&&(r[0]>`3`?(r=`0${r[0]}${t.substring(2)}`,i={start:3,end:3}):r[0]===`3`&&r[1]!==`_`&&r[1]>`1`&&(r=`0${r[1]}${t.substring(2)}`,i={start:3,end:3})),r[3]!==`_`&&r[3]>`1`&&(r=`${r.substring(0,3)}0${r[3]}${t.substring(5)}`,i={start:6,end:6}),r[3]===`1`&&r[4]!==`_`&&r[4]>`2`&&(r=`${r.substring(0,3)}${r[3]}2${t.substring(5)}`),{value:r,selection:i}}export{s as addDays,u as correctDateMaskValue,n as getDateFromDayMonthAndYear,l as getDateString,c as getDayMonthAndYearOfDate,t as getDaysInMonth,r as getMonthName,i as getMonthNames,o as getStartWeekDayOfMonth,a as getWeekDays};
2
2
  //# sourceMappingURL=dateFunctions.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dateFunctions.mjs","names":[],"sources":["../../../../package/common/datePicker/dateFunctions.ts"],"sourcesContent":["import { getLocale } from 'services/localization';\n\nexport function getDaysInMonth(month: number, year: number): number {\n return new Date(year, month, 0).getDate();\n}\n\nexport function getDateFromDayMonthAndYear(day: number, month: number, year: number): Date {\n return new Date(Date.UTC(year, month - 1, day));\n}\n\nexport function getMonthName(locale: string, year: number, month: number, day: number, short = false): string {\n const currDate = new Date(Date.UTC(year, month - 1, day));\n return currDate.toLocaleDateString(locale, { month: short ? 'short' : 'long' });\n}\n\nexport function getMonthNames(locale = getLocale('-')): string[] {\n return Array.from(Array(12).keys()).map((index) => getMonthName(locale, 2023, index + 1, 1));\n}\n\nexport function getWeekDays(locale: string, short = true): string[] {\n const currDate = new Date(Date.UTC(2023, 3, 10)); // Random Monday - 10.4.2023\n const weekDays: string[] = [];\n for (let i = 0; i < 7; i++) {\n weekDays.push(currDate.toLocaleDateString(locale, { weekday: short ? 'short' : 'long' }));\n currDate.setDate(currDate.getDate() + 1);\n }\n return weekDays;\n}\n\nexport function getStartWeekDayOfMonth(month: number, year: number): number {\n const start = new Date(Date.UTC(year, month - 1, 1)).getDay();\n return start || 7;\n}\n\n/**\n * Adds `delta` days to a day/month/year triple, rolling over into adjacent months/years as\n * needed. Pure integer arithmetic over `getDaysInMonth` rather than a `Date` object, so it\n * can't drift a day from local-vs-UTC ambiguity the way mutating a UTC-constructed `Date`\n * with its local `setDate` would.\n */\nexport function addDays(\n day: number,\n month: number,\n year: number,\n delta: number,\n): { day: number; month: number; year: number } {\n let d = day + delta;\n let m = month;\n let y = year;\n while (d < 1) {\n m -= 1;\n if (m < 1) {\n m = 12;\n y -= 1;\n }\n d += getDaysInMonth(m, y);\n }\n while (d > getDaysInMonth(m, y)) {\n d -= getDaysInMonth(m, y);\n m += 1;\n if (m > 12) {\n m = 1;\n y += 1;\n }\n }\n return { day: d, month: m, year: y };\n}\n\nexport function getDayMonthAndYearOfDate(date: Date): { day: number; month: number; year: number } {\n return {\n day: date.getDate(),\n month: date.getMonth() + 1,\n year: date.getFullYear(),\n };\n}\n\nexport function getDateString(date: Date): string {\n const day = date.getDate();\n const month = date.getMonth() + 1;\n const year = date.getFullYear();\n\n return `${day < 10 ? `0${day}` : day}.${month < 10 ? `0${month}` : month}.${year}`;\n}\n\nexport interface DateMaskSelection {\n start: number;\n end: number;\n}\n\nexport interface DateMaskState {\n value: string;\n selection: DateMaskSelection | null;\n}\n\n/**\n * Auto-corrects a partially typed `dd.mm.yyyy` mask value so a single out-of-range\n * digit doesn't force the user to backtrack:\n * - a day \"tens\" digit > 3 (e.g. typing `4`) becomes `04` and the caret jumps to the month\n * - a day of `3x` where x > 1 (e.g. `35`) becomes `0x`\n * - a month \"tens\" digit > 1 (e.g. `2`) becomes `02` and the caret jumps to the year\n * - a month `1x` where x > 2 (e.g. `13`) is clamped to `12`\n *\n * `previousValue` supplies the digits to retain for the part of the field that isn't\n * being rewritten. The returned `selection` is the adjusted caret position, or the\n * passed-in `selection` when no correction applies.\n */\nexport function correctDateMaskValue(\n nextValue: string,\n previousValue: string,\n selection: DateMaskSelection | null,\n): DateMaskState {\n let value = nextValue;\n let nextSelection = selection;\n\n if (value[0] !== '_') {\n if (value[0] > '3') {\n value = `0${value[0]}${previousValue.substring(2)}`;\n nextSelection = { start: 3, end: 3 };\n } else if (value[0] === '3') {\n if (value[1] !== '_' && value[1] > '1') {\n value = `0${value[1]}${previousValue.substring(2)}`;\n nextSelection = { start: 3, end: 3 };\n }\n }\n }\n if (value[3] !== '_' && value[3] > '1') {\n value = `${value.substring(0, 3)}0${value[3]}${previousValue.substring(5)}`;\n nextSelection = { start: 6, end: 6 };\n }\n if (value[3] === '1' && value[4] !== '_' && value[4] > '2') {\n value = `${value.substring(0, 3)}${value[3]}2${previousValue.substring(5)}`;\n }\n\n return { value, selection: nextSelection };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"dateFunctions.mjs","names":[],"sources":["../../../../package/common/datePicker/dateFunctions.ts"],"sourcesContent":["import { getLocale } from 'services/localization';\n\nexport function getDaysInMonth(month: number, year: number): number {\n return new Date(year, month, 0).getDate();\n}\n\nexport function getDateFromDayMonthAndYear(day: number, month: number, year: number): Date {\n return new Date(Date.UTC(year, month - 1, day));\n}\n\nexport function getMonthName(locale: string, year: number, month: number, day: number, short = false): string {\n const currDate = new Date(Date.UTC(year, month - 1, day));\n return currDate.toLocaleDateString(locale, { month: short ? 'short' : 'long' });\n}\n\nexport function getMonthNames(locale = getLocale('-')): string[] {\n return Array.from(Array(12).keys()).map((index) => getMonthName(locale, 2023, index + 1, 1));\n}\n\nexport function getWeekDays(locale: string, short = true): string[] {\n const currDate = new Date(Date.UTC(2023, 3, 10)); // Random Monday - 10.4.2023\n const weekDays: string[] = [];\n for (let i = 0; i < 7; i++) {\n weekDays.push(currDate.toLocaleDateString(locale, { weekday: short ? 'short' : 'long' }));\n currDate.setDate(currDate.getDate() + 1);\n }\n return weekDays;\n}\n\nexport function getStartWeekDayOfMonth(month: number, year: number): number {\n const start = new Date(Date.UTC(year, month - 1, 1)).getDay();\n return start || 7;\n}\n\n/**\n * Adds `delta` days to a day/month/year triple, rolling over into adjacent months/years as\n * needed. Pure integer arithmetic over `getDaysInMonth` rather than a `Date` object, so it\n * can't drift a day from local-vs-UTC ambiguity the way mutating a UTC-constructed `Date`\n * with its local `setDate` would.\n */\nexport function addDays(\n day: number,\n month: number,\n year: number,\n delta: number,\n): { day: number; month: number; year: number } {\n let d = day + delta;\n let m = month;\n let y = year;\n while (d < 1) {\n m -= 1;\n if (m < 1) {\n m = 12;\n y -= 1;\n }\n d += getDaysInMonth(m, y);\n }\n while (d > getDaysInMonth(m, y)) {\n d -= getDaysInMonth(m, y);\n m += 1;\n if (m > 12) {\n m = 1;\n y += 1;\n }\n }\n return { day: d, month: m, year: y };\n}\n\nexport function getDayMonthAndYearOfDate(date: Date): { day: number; month: number; year: number } {\n return {\n day: date.getDate(),\n month: date.getMonth() + 1,\n year: date.getFullYear(),\n };\n}\n\nexport function getDateString(date: Date): string {\n const day = date.getDate();\n const month = date.getMonth() + 1;\n const year = date.getFullYear();\n\n return `${day < 10 ? `0${day}` : day}.${month < 10 ? `0${month}` : month}.${year}`;\n}\n\nexport interface DateMaskSelection {\n start: number;\n end: number;\n}\n\nexport interface DateMaskState {\n value: string;\n selection: DateMaskSelection | null;\n}\n\n/**\n * Auto-corrects a partially typed `dd.mm.yyyy` mask value so a single out-of-range\n * digit doesn't force the user to backtrack:\n * - a day \"tens\" digit > 3 (e.g. typing `4`) becomes `04` and the caret jumps to the month\n * - a day of `3x` where x > 1 (e.g. `35`) becomes `0x`\n * - a month \"tens\" digit > 1 (e.g. `2`) becomes `02` and the caret jumps to the year\n * - a month `1x` where x > 2 (e.g. `13`) is clamped to `12`\n *\n * `previousValue` supplies the digits to retain for the part of the field that isn't\n * being rewritten. The returned `selection` is the adjusted caret position, or the\n * passed-in `selection` when no correction applies.\n */\nexport function correctDateMaskValue(\n nextValue: string,\n previousValue: string,\n selection: DateMaskSelection | null,\n): DateMaskState {\n let value = nextValue;\n let nextSelection = selection;\n\n if (value[0] !== '_') {\n if (value[0] > '3') {\n value = `0${value[0]}${previousValue.substring(2)}`;\n nextSelection = { start: 3, end: 3 };\n } else if (value[0] === '3') {\n if (value[1] !== '_' && value[1] > '1') {\n value = `0${value[1]}${previousValue.substring(2)}`;\n nextSelection = { start: 3, end: 3 };\n }\n }\n }\n if (value[3] !== '_' && value[3] > '1') {\n value = `${value.substring(0, 3)}0${value[3]}${previousValue.substring(5)}`;\n nextSelection = { start: 6, end: 6 };\n }\n if (value[3] === '1' && value[4] !== '_' && value[4] > '2') {\n value = `${value.substring(0, 3)}${value[3]}2${previousValue.substring(5)}`;\n }\n\n return { value, selection: nextSelection };\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{useComponentDefaults as e}from"../configProvider/useComponentDefaults.mjs";import t from"../button/button.mjs";import n from"../actionIcon/actionIcon.mjs";import{PopoverAlign as r,PopoverPlacement as i}from"../popover/popover.types.mjs";import ee from"../popover/popover.mjs";import te from"../tooltip/tooltip.mjs";import ne from"../input/input.mjs";import a from"../modal/modal.mjs";import{getLocale as o}from"../../services/localization.mjs";import{correctDateMaskValue as re,getDateFromDayMonthAndYear as ie,getDateString as s,getMonthName as ae,getMonthNames as oe}from"./dateFunctions.mjs";import se from"./components/datePickerMonth/datePickerMonth.mjs";import c from"../dropdown/dropdown.mjs";import l from"./datePicker.module.mjs";import{useEffect as ce,useRef as le,useState as u}from"react";import d from"classnames";import{faChevronLeft as f,faChevronRight as p}from"@fortawesome/free-solid-svg-icons";import{Fragment as m,jsx as h,jsxs as g}from"react/jsx-runtime";import ue from"@mona-health/react-input-mask";function _(_){let{className:de=``,selected:v,onSelect:fe=()=>null,formValidator:y=null,noInput:pe=!1,noHeader:me=!1,isModal:b=!1,isInline:x=!1,onChange:he=()=>null,minDate:S=null,maxDate:C=null,children:ge=null,showClearButton:_e=!1,label:ve=``,isValid:ye=!0,errorMessage:w=``,isRequired:T=!1,startDate:E,endDate:D,style:O,classNames:k,styles:A,...j}=e(`DatePicker`,_),M=()=>y?y.value:v,N=M()??new Date,[P,F]=u(N.getMonth()+1),[I,L]=u(N.getFullYear()),[R,z]=u(!1),[B,V]=u(()=>M()?s(N):``),[be,H]=u(!1),[xe,U]=u(!1),[,Se]=u(0),[Ce,we]=u(v),W=le(y);if(Ce!==v){we(v);let e=v??new Date;F(e.getMonth()+1),L(e.getFullYear()),V(v?s(v):``)}ce(()=>{if(W.current=y,!y)return;let e=()=>{let e=y.value;e?(F(e.getMonth()+1),L(e.getFullYear()),V(s(e))):V(``),Se(e=>e+1)};return y.registerOnUpdateListener(e),()=>y.removeOnUpdateListener(e)},[y]);let Te=()=>y?y.touched&&y.hasError():!ye||!!w,Ee=()=>!!(T||y?.validators.find(e=>e.validatorId===`required`)),G=e=>{V(e?s(e):``),y&&y.set(e),he(e)},K=e=>{G(e),fe(e),z(!1)},q=e=>{F(t=>{let n=t+e;return n<1?(n=12,L(e=>e-1)):n>12&&(n=1,L(e=>e+1)),n})},J=e=>{if(e.match(/\d{2}\.\d{2}\.\d{4}/gi)){let[t,n,r]=e.split(`.`),i=ie(Number(t),Number(n),Number(r));if(i&&i.toString()!==`Invalid Date`&&(!C||i<=C)&&(!S||i>=S))return i}return null},De=({previousState:e,nextState:t})=>{if(!e||t.value===e.value)return t;let n=re(t.value,e.value,t.selection??null),r=J(n.value);return r&&G(r),n},Y=()=>{let e=400,t=new Date().getFullYear()-200;return S&&(t=S.getFullYear()),C&&(e=C.getFullYear()-t+1),Array.from(Array(e).keys()).map(e=>({key:e+t,label:e+t}))},X=M(),Z=Te(),Oe=me?null:g(`div`,{className:d(l.datePickerHeader,k?.header),style:A?.header,children:[h(n,{icon:f,onClick:()=>q(-1)}),h(`div`,{className:l.datePickerHeaderMonthAndYearContainer,children:g(`div`,{className:l.datePickerHeaderMonthAndYear,children:[h(c,{plainStyle:!0,scrollToSelected:!0,onChange:e=>F(e),className:d(l.datePickerHeaderMonth,k?.monthDropdown),style:A?.monthDropdown,value:ae(o(`-`),I,P,1),items:oe().map((e,t)=>({key:t+1,label:e}))}),h(c,{plainStyle:!0,scrollToSelected:!0,useMatLabelStyle:!1,className:d(l.datePickerHeaderYear,k?.yearDropdown),style:A?.yearDropdown,onChange:e=>L(e),value:I,items:Y()})]})}),h(n,{icon:p,onClick:()=>q(1)})]}),Q=g(m,{children:[Oe,h(se,{className:d(l.datePickerMonth,k?.calendar),style:A?.calendar,month:P,year:I,onSelect:K,selectionStart:E??X,selectionEnd:D??X,minDate:S,maxDate:C,onNavigateMonth:q}),_e&&h(t,{onClick:()=>K(null),className:k?.clearButton,style:A?.clearButton,children:`Clear`}),ge]}),$=pe?null:h(ne,{autoComplete:`off`,className:k?.input,style:A?.input,readOnly:b,classNames:b?{input:l.datePickerModalInput}:void 0,label:`${ve}${Ee()?` *`:``}`,value:B,onChange:e=>V(e),onClick:()=>z(!0),customInput:h(ue,{mask:`99.99.9999`,maskPlaceholder:`_`,beforeMaskedStateChange:De}),onBlur:()=>{W.current&&(W.current.touched=!0),H(!1),G(J(B))},onFocus:()=>H(!0),onMouseEnter:()=>U(!0),onMouseLeave:()=>U(!1),isValid:!Z}),ke=x?Q:b?h(a,{hideHeader:!0,isOpen:R,onClose:()=>z(!1),children:Q}):h(ee,{isOpen:R,onOpenChange:e=>z(e),content:Q,placement:i.Bottom,align:r.Start,closeOnTriggerClick:!1,constrainWidth:!1,children:$});return g(`div`,{...j,className:d(l.datePicker,de,k?.root),style:{...O,...A?.root},children:[(b||x)&&$,ke,h(te,{variant:`error`,message:y?y.getCurrentErrorMessage():w||``,isVisible:Z&&(be||xe)})]})}export{_ as default};
1
+ "use client";import{useComponentDefaults as e}from"../configProvider/useComponentDefaults.mjs";import t from"../button/button.mjs";import n from"../actionIcon/actionIcon.mjs";import{PopoverAlign as r,PopoverPlacement as i}from"../popover/popover.types.mjs";import ee from"../popover/popover.mjs";import te from"../tooltip/tooltip.mjs";import ne from"../input/input.mjs";import a from"../modal/modal.mjs";import{getLocale as o}from"../../services/localization.mjs";import{correctDateMaskValue as re,getDateFromDayMonthAndYear as ie,getDateString as s,getMonthName as ae,getMonthNames as oe}from"./dateFunctions.mjs";import se from"./components/datePickerMonth/datePickerMonth.mjs";import c from"../dropdown/dropdown.mjs";import ce from"../maskedInput/maskedInput.mjs";import l from"./datePicker.module.mjs";import{useEffect as le,useRef as u,useState as d}from"react";import f from"classnames";import{faChevronLeft as p,faChevronRight as m}from"@fortawesome/free-solid-svg-icons";import{Fragment as ue,jsx as h,jsxs as g}from"react/jsx-runtime";function _(_){let{className:de=``,selected:v,onSelect:fe=()=>null,formValidator:y=null,noInput:pe=!1,noHeader:me=!1,isModal:b=!1,isInline:x=!1,onChange:he=()=>null,minDate:S=null,maxDate:C=null,children:ge=null,showClearButton:_e=!1,label:ve=``,isValid:ye=!0,errorMessage:w=``,isRequired:T=!1,startDate:E,endDate:D,style:O,classNames:k,styles:A,...j}=e(`DatePicker`,_),M=()=>y?y.value:v,N=M()??new Date,[P,F]=d(N.getMonth()+1),[I,L]=d(N.getFullYear()),[R,z]=d(!1),[B,V]=d(()=>M()?s(N):``),[be,H]=d(!1),[xe,U]=d(!1),[,Se]=d(0),[Ce,we]=d(v),W=u(y);if(Ce!==v){we(v);let e=v??new Date;F(e.getMonth()+1),L(e.getFullYear()),V(v?s(v):``)}le(()=>{if(W.current=y,!y)return;let e=()=>{let e=y.value;e?(F(e.getMonth()+1),L(e.getFullYear()),V(s(e))):V(``),Se(e=>e+1)};return y.registerOnUpdateListener(e),()=>y.removeOnUpdateListener(e)},[y]);let Te=()=>y?y.touched&&y.hasError():!ye||!!w,Ee=()=>!!(T||y?.validators.find(e=>e.validatorId===`required`)),G=e=>{V(e?s(e):``),y&&y.set(e),he(e)},K=e=>{G(e),fe(e),z(!1)},q=e=>{F(t=>{let n=t+e;return n<1?(n=12,L(e=>e-1)):n>12&&(n=1,L(e=>e+1)),n})},J=e=>{if(e.match(/\d{2}\.\d{2}\.\d{4}/gi)){let[t,n,r]=e.split(`.`),i=ie(Number(t),Number(n),Number(r));if(i&&i.toString()!==`Invalid Date`&&(!C||i<=C)&&(!S||i>=S))return i}return null},De=({previousState:e,nextState:t})=>{if(t.value===e.value)return t;let n=re(t.value,e.value,t.selection??null),r=J(n.value);return r&&G(r),n},Y=()=>{let e=400,t=new Date().getFullYear()-200;return S&&(t=S.getFullYear()),C&&(e=C.getFullYear()-t+1),Array.from(Array(e).keys()).map(e=>({key:e+t,label:e+t}))},X=M(),Z=Te(),Oe=me?null:g(`div`,{className:f(l.datePickerHeader,k?.header),style:A?.header,children:[h(n,{icon:p,onClick:()=>q(-1)}),h(`div`,{className:l.datePickerHeaderMonthAndYearContainer,children:g(`div`,{className:l.datePickerHeaderMonthAndYear,children:[h(c,{plainStyle:!0,scrollToSelected:!0,onChange:e=>F(e),className:f(l.datePickerHeaderMonth,k?.monthDropdown),style:A?.monthDropdown,value:ae(o(`-`),I,P,1),items:oe().map((e,t)=>({key:t+1,label:e}))}),h(c,{plainStyle:!0,scrollToSelected:!0,useMatLabelStyle:!1,className:f(l.datePickerHeaderYear,k?.yearDropdown),style:A?.yearDropdown,onChange:e=>L(e),value:I,items:Y()})]})}),h(n,{icon:m,onClick:()=>q(1)})]}),Q=g(ue,{children:[Oe,h(se,{className:f(l.datePickerMonth,k?.calendar),style:A?.calendar,month:P,year:I,onSelect:K,selectionStart:E??X,selectionEnd:D??X,minDate:S,maxDate:C,onNavigateMonth:q}),_e&&h(t,{onClick:()=>K(null),className:k?.clearButton,style:A?.clearButton,children:`Clear`}),ge]}),$=pe?null:h(ne,{autoComplete:`off`,className:k?.input,style:A?.input,readOnly:b,classNames:b?{input:l.datePickerModalInput}:void 0,label:`${ve}${Ee()?` *`:``}`,value:B,onChange:e=>V(e),onClick:()=>z(!0),customInput:h(ce,{mask:`99.99.9999`,beforeMaskedStateChange:De}),onBlur:()=>{W.current&&(W.current.touched=!0),H(!1),G(J(B))},onFocus:()=>H(!0),onMouseEnter:()=>U(!0),onMouseLeave:()=>U(!1),isValid:!Z}),ke=x?Q:b?h(a,{hideHeader:!0,isOpen:R,onClose:()=>z(!1),children:Q}):h(ee,{isOpen:R,onOpenChange:e=>z(e),content:Q,placement:i.Bottom,align:r.Start,closeOnTriggerClick:!1,constrainWidth:!1,children:$});return g(`div`,{...j,className:f(l.datePicker,de,k?.root),style:{...O,...A?.root},children:[(b||x)&&$,ke,h(te,{variant:`error`,message:y?y.getCurrentErrorMessage():w||``,isVisible:Z&&(be||xe)})]})}export{_ as default};
2
2
  //# sourceMappingURL=datePicker.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"datePicker.mjs","names":[],"sources":["../../../../package/common/datePicker/datePicker.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport cx from 'classnames';\nimport Input from '../input';\nimport { useComponentDefaults } from '../configProvider';\nimport DatePickerMonth from './components/datePickerMonth';\nimport { faChevronLeft, faChevronRight } from '@fortawesome/free-solid-svg-icons';\nimport { getLocale } from 'services/localization';\nimport ActionIcon from '../actionIcon';\nimport Modal from '../modal';\nimport Popover from '../popover';\nimport Dropdown from '../dropdown';\nimport { PopoverAlign, PopoverPlacement } from '../popover/popover.types';\nimport InputMask, { InputState, BeforeMaskedStateChangeStates } from '@mona-health/react-input-mask';\nimport {\n getDateFromDayMonthAndYear,\n getMonthName,\n getMonthNames,\n getDateString,\n correctDateMaskValue,\n} from './dateFunctions';\nimport Button from '../button';\nimport Tooltip from '../tooltip';\nimport type { DatePickerProps } from './datePicker.types';\n\nimport styles from './datePicker.module.pcss';\n\nexport default function DatePicker(props: DatePickerProps) {\n const {\n className = '',\n selected,\n onSelect = () => null,\n formValidator = null,\n noInput = false,\n noHeader = false,\n isModal = false,\n isInline = false,\n onChange = () => null,\n minDate = null,\n maxDate = null,\n children = null,\n showClearButton = false,\n label = '',\n isValid = true,\n errorMessage = '',\n isRequired = false,\n startDate,\n endDate,\n style,\n classNames,\n styles: slotStyles,\n ...rest\n } = useComponentDefaults('DatePicker', props);\n const getCurrValue = (): Date | undefined => (formValidator ? (formValidator.value as Date) : selected);\n\n const initialDate = getCurrValue() ?? new Date();\n\n const [currentMonth, setCurrentMonth] = useState(initialDate.getMonth() + 1);\n const [currentYear, setCurrentYear] = useState(initialDate.getFullYear());\n const [isPickerOpen, setIsPickerOpen] = useState(false);\n const [currentDateString, setCurrentDateString] = useState(() => (getCurrValue() ? getDateString(initialDate) : ''));\n const [isFocused, setIsFocused] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n const [, forceUpdate] = useState(0);\n const [prevSelected, setPrevSelected] = useState(selected);\n\n const fvRef = useRef(formValidator);\n\n // Sync navigation view when `selected` prop changes externally\n if (prevSelected !== selected) {\n setPrevSelected(selected);\n const d = selected ?? new Date();\n setCurrentMonth(d.getMonth() + 1);\n setCurrentYear(d.getFullYear());\n setCurrentDateString(selected ? getDateString(selected) : '');\n }\n\n // Subscribe to formValidator updates (external system → setState in callback)\n useEffect(() => {\n fvRef.current = formValidator;\n if (!formValidator) return;\n const listener = () => {\n const val = formValidator.value as Date | undefined;\n if (val) {\n setCurrentMonth(val.getMonth() + 1);\n setCurrentYear(val.getFullYear());\n setCurrentDateString(getDateString(val));\n } else {\n setCurrentDateString('');\n }\n forceUpdate((n: number) => n + 1);\n };\n formValidator.registerOnUpdateListener(listener);\n return () => formValidator.removeOnUpdateListener(listener);\n }, [formValidator]);\n\n const hasError = (): boolean => {\n return formValidator ? formValidator.touched && formValidator.hasError() : !isValid || !!errorMessage;\n };\n\n const computedIsRequired = (): boolean => {\n return !!(\n isRequired || formValidator?.validators.find((v) => (v as { validatorId?: string }).validatorId === 'required')\n );\n };\n\n const handleChange = (date: Date | null) => {\n setCurrentDateString(date ? getDateString(date) : '');\n if (formValidator) formValidator.set(date);\n onChange(date);\n };\n\n const handleSelect = (date: Date | null) => {\n handleChange(date);\n onSelect(date);\n setIsPickerOpen(false);\n };\n\n const changeMonth = (delta: number) => {\n setCurrentMonth((prev) => {\n let next = prev + delta;\n if (next < 1) {\n next = 12;\n setCurrentYear((y) => y - 1);\n } else if (next > 12) {\n next = 1;\n setCurrentYear((y) => y + 1);\n }\n return next;\n });\n };\n\n const tryParseDateString = (dateString: string): Date | null => {\n if (dateString.match(/\\d{2}\\.\\d{2}\\.\\d{4}/gi)) {\n const [day, month, year] = dateString.split('.');\n const parsedDate = getDateFromDayMonthAndYear(Number(day), Number(month), Number(year));\n if (parsedDate && parsedDate.toString() !== 'Invalid Date') {\n const isSmallerThanMaxDate = !maxDate || parsedDate <= maxDate;\n const isBiggerThanMinDate = !minDate || parsedDate >= minDate;\n if (isSmallerThanMaxDate && isBiggerThanMinDate) return parsedDate;\n }\n }\n return null;\n };\n\n const beforeMaskedStateChange = ({ previousState, nextState }: BeforeMaskedStateChangeStates): InputState => {\n // previousState is only supplied on user-driven change events; on mount/focus/blur\n // there is nothing to auto-correct, so the next state passes through unchanged.\n if (!previousState || nextState.value === previousState.value) return nextState;\n\n const corrected = correctDateMaskValue(nextState.value, previousState.value, nextState.selection ?? null);\n\n const parsedDate = tryParseDateString(corrected.value);\n if (parsedDate) handleChange(parsedDate);\n\n return corrected;\n };\n\n const getYearDropdownOptions = () => {\n let length = 400;\n let zeroOffset = new Date().getFullYear() - 200;\n if (minDate) zeroOffset = minDate.getFullYear();\n if (maxDate) length = maxDate.getFullYear() - zeroOffset + 1;\n return Array.from(Array(length).keys()).map((i) => ({ key: i + zeroOffset, label: i + zeroOffset }));\n };\n\n const currValue = getCurrValue();\n const hasErr = hasError();\n\n const header = noHeader ? null : (\n <div className={cx(styles.datePickerHeader, classNames?.header)} style={slotStyles?.header}>\n <ActionIcon icon={faChevronLeft} onClick={() => changeMonth(-1)} />\n <div className={styles.datePickerHeaderMonthAndYearContainer}>\n <div className={styles.datePickerHeaderMonthAndYear}>\n <Dropdown\n plainStyle\n scrollToSelected\n onChange={(v) => setCurrentMonth(v as number)}\n className={cx(styles.datePickerHeaderMonth, classNames?.monthDropdown)}\n style={slotStyles?.monthDropdown}\n value={getMonthName(getLocale('-'), currentYear, currentMonth, 1)}\n items={getMonthNames().map((month, index) => ({ key: index + 1, label: month }))}\n />\n <Dropdown\n plainStyle\n scrollToSelected\n useMatLabelStyle={false}\n className={cx(styles.datePickerHeaderYear, classNames?.yearDropdown)}\n style={slotStyles?.yearDropdown}\n onChange={(v) => setCurrentYear(v as number)}\n value={currentYear}\n items={getYearDropdownOptions()}\n />\n </div>\n </div>\n <ActionIcon icon={faChevronRight} onClick={() => changeMonth(1)} />\n </div>\n );\n\n const pickerContent = (\n <>\n {header}\n <DatePickerMonth\n className={cx(styles.datePickerMonth, classNames?.calendar)}\n style={slotStyles?.calendar}\n month={currentMonth}\n year={currentYear}\n onSelect={handleSelect}\n selectionStart={startDate ?? currValue}\n selectionEnd={endDate ?? currValue}\n minDate={minDate}\n maxDate={maxDate}\n onNavigateMonth={changeMonth}\n />\n {showClearButton && (\n <Button onClick={() => handleSelect(null)} className={classNames?.clearButton} style={slotStyles?.clearButton}>\n Clear\n </Button>\n )}\n {children}\n </>\n );\n\n const input = noInput ? null : (\n <Input\n autoComplete='off'\n className={classNames?.input}\n style={slotStyles?.input}\n readOnly={isModal}\n classNames={isModal ? { input: styles.datePickerModalInput } : undefined}\n label={`${label}${computedIsRequired() ? ' *' : ''}`}\n value={currentDateString}\n onChange={(v) => setCurrentDateString(v as string)}\n onClick={() => setIsPickerOpen(true)}\n customInput={\n <InputMask mask='99.99.9999' maskPlaceholder='_' beforeMaskedStateChange={beforeMaskedStateChange} />\n }\n onBlur={() => {\n if (fvRef.current) fvRef.current.touched = true;\n setIsFocused(false);\n handleChange(tryParseDateString(currentDateString));\n }}\n onFocus={() => setIsFocused(true)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n isValid={!hasErr}\n />\n );\n\n const picker = (() => {\n if (isInline) return pickerContent;\n if (isModal) {\n return (\n <Modal hideHeader isOpen={isPickerOpen} onClose={() => setIsPickerOpen(false)}>\n {pickerContent}\n </Modal>\n );\n }\n return (\n <Popover\n isOpen={isPickerOpen}\n onOpenChange={(open: boolean) => setIsPickerOpen(open)}\n content={pickerContent}\n placement={PopoverPlacement.Bottom}\n align={PopoverAlign.Start}\n // A click to place the caret in the field must not take the panel away.\n // The focus stays there on its own: Popover only follows a keyboard open.\n closeOnTriggerClick={false}\n constrainWidth={false}\n >\n {input}\n </Popover>\n );\n })();\n\n return (\n <div\n {...rest}\n className={cx(styles.datePicker, className, classNames?.root)}\n style={{ ...style, ...slotStyles?.root }}\n >\n {(isModal || isInline) && input}\n {picker}\n <Tooltip\n variant='error'\n message={formValidator ? formValidator.getCurrentErrorMessage() : errorMessage || ''}\n isVisible={hasErr && (isFocused || isHovered)}\n />\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"datePicker.mjs","names":[],"sources":["../../../../package/common/datePicker/datePicker.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport cx from 'classnames';\nimport Input from '../input';\nimport { useComponentDefaults } from '../configProvider';\nimport DatePickerMonth from './components/datePickerMonth';\nimport { faChevronLeft, faChevronRight } from '@fortawesome/free-solid-svg-icons';\nimport { getLocale } from 'services/localization';\nimport ActionIcon from '../actionIcon';\nimport Modal from '../modal';\nimport Popover from '../popover';\nimport Dropdown from '../dropdown';\nimport { PopoverAlign, PopoverPlacement } from '../popover/popover.types';\nimport MaskedInput from '../maskedInput';\nimport type { BeforeMaskedStateChangeStates, MaskState } from '../maskedInput';\nimport {\n getDateFromDayMonthAndYear,\n getMonthName,\n getMonthNames,\n getDateString,\n correctDateMaskValue,\n} from './dateFunctions';\nimport Button from '../button';\nimport Tooltip from '../tooltip';\nimport type { DatePickerProps } from './datePicker.types';\n\nimport styles from './datePicker.module.pcss';\n\nexport default function DatePicker(props: DatePickerProps) {\n const {\n className = '',\n selected,\n onSelect = () => null,\n formValidator = null,\n noInput = false,\n noHeader = false,\n isModal = false,\n isInline = false,\n onChange = () => null,\n minDate = null,\n maxDate = null,\n children = null,\n showClearButton = false,\n label = '',\n isValid = true,\n errorMessage = '',\n isRequired = false,\n startDate,\n endDate,\n style,\n classNames,\n styles: slotStyles,\n ...rest\n } = useComponentDefaults('DatePicker', props);\n const getCurrValue = (): Date | undefined => (formValidator ? (formValidator.value as Date) : selected);\n\n const initialDate = getCurrValue() ?? new Date();\n\n const [currentMonth, setCurrentMonth] = useState(initialDate.getMonth() + 1);\n const [currentYear, setCurrentYear] = useState(initialDate.getFullYear());\n const [isPickerOpen, setIsPickerOpen] = useState(false);\n const [currentDateString, setCurrentDateString] = useState(() => (getCurrValue() ? getDateString(initialDate) : ''));\n const [isFocused, setIsFocused] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n const [, forceUpdate] = useState(0);\n const [prevSelected, setPrevSelected] = useState(selected);\n\n const fvRef = useRef(formValidator);\n\n // Sync navigation view when `selected` prop changes externally\n if (prevSelected !== selected) {\n setPrevSelected(selected);\n const d = selected ?? new Date();\n setCurrentMonth(d.getMonth() + 1);\n setCurrentYear(d.getFullYear());\n setCurrentDateString(selected ? getDateString(selected) : '');\n }\n\n // Subscribe to formValidator updates (external system → setState in callback)\n useEffect(() => {\n fvRef.current = formValidator;\n if (!formValidator) return;\n const listener = () => {\n const val = formValidator.value as Date | undefined;\n if (val) {\n setCurrentMonth(val.getMonth() + 1);\n setCurrentYear(val.getFullYear());\n setCurrentDateString(getDateString(val));\n } else {\n setCurrentDateString('');\n }\n forceUpdate((n: number) => n + 1);\n };\n formValidator.registerOnUpdateListener(listener);\n return () => formValidator.removeOnUpdateListener(listener);\n }, [formValidator]);\n\n const hasError = (): boolean => {\n return formValidator ? formValidator.touched && formValidator.hasError() : !isValid || !!errorMessage;\n };\n\n const computedIsRequired = (): boolean => {\n return !!(\n isRequired || formValidator?.validators.find((v) => (v as { validatorId?: string }).validatorId === 'required')\n );\n };\n\n const handleChange = (date: Date | null) => {\n setCurrentDateString(date ? getDateString(date) : '');\n if (formValidator) formValidator.set(date);\n onChange(date);\n };\n\n const handleSelect = (date: Date | null) => {\n handleChange(date);\n onSelect(date);\n setIsPickerOpen(false);\n };\n\n const changeMonth = (delta: number) => {\n setCurrentMonth((prev) => {\n let next = prev + delta;\n if (next < 1) {\n next = 12;\n setCurrentYear((y) => y - 1);\n } else if (next > 12) {\n next = 1;\n setCurrentYear((y) => y + 1);\n }\n return next;\n });\n };\n\n const tryParseDateString = (dateString: string): Date | null => {\n if (dateString.match(/\\d{2}\\.\\d{2}\\.\\d{4}/gi)) {\n const [day, month, year] = dateString.split('.');\n const parsedDate = getDateFromDayMonthAndYear(Number(day), Number(month), Number(year));\n if (parsedDate && parsedDate.toString() !== 'Invalid Date') {\n const isSmallerThanMaxDate = !maxDate || parsedDate <= maxDate;\n const isBiggerThanMinDate = !minDate || parsedDate >= minDate;\n if (isSmallerThanMaxDate && isBiggerThanMinDate) return parsedDate;\n }\n }\n return null;\n };\n\n const beforeMaskedStateChange = ({ previousState, nextState }: BeforeMaskedStateChangeStates): MaskState => {\n // A change that moved nothing needs no correcting, and re-running the day/month padding on\n // an unchanged value would fight the caret the mask just placed.\n if (nextState.value === previousState.value) return nextState;\n\n const corrected = correctDateMaskValue(nextState.value, previousState.value, nextState.selection ?? null);\n\n const parsedDate = tryParseDateString(corrected.value);\n if (parsedDate) handleChange(parsedDate);\n\n return corrected;\n };\n\n const getYearDropdownOptions = () => {\n let length = 400;\n let zeroOffset = new Date().getFullYear() - 200;\n if (minDate) zeroOffset = minDate.getFullYear();\n if (maxDate) length = maxDate.getFullYear() - zeroOffset + 1;\n return Array.from(Array(length).keys()).map((i) => ({ key: i + zeroOffset, label: i + zeroOffset }));\n };\n\n const currValue = getCurrValue();\n const hasErr = hasError();\n\n const header = noHeader ? null : (\n <div className={cx(styles.datePickerHeader, classNames?.header)} style={slotStyles?.header}>\n <ActionIcon icon={faChevronLeft} onClick={() => changeMonth(-1)} />\n <div className={styles.datePickerHeaderMonthAndYearContainer}>\n <div className={styles.datePickerHeaderMonthAndYear}>\n <Dropdown\n plainStyle\n scrollToSelected\n onChange={(v) => setCurrentMonth(v as number)}\n className={cx(styles.datePickerHeaderMonth, classNames?.monthDropdown)}\n style={slotStyles?.monthDropdown}\n value={getMonthName(getLocale('-'), currentYear, currentMonth, 1)}\n items={getMonthNames().map((month, index) => ({ key: index + 1, label: month }))}\n />\n <Dropdown\n plainStyle\n scrollToSelected\n useMatLabelStyle={false}\n className={cx(styles.datePickerHeaderYear, classNames?.yearDropdown)}\n style={slotStyles?.yearDropdown}\n onChange={(v) => setCurrentYear(v as number)}\n value={currentYear}\n items={getYearDropdownOptions()}\n />\n </div>\n </div>\n <ActionIcon icon={faChevronRight} onClick={() => changeMonth(1)} />\n </div>\n );\n\n const pickerContent = (\n <>\n {header}\n <DatePickerMonth\n className={cx(styles.datePickerMonth, classNames?.calendar)}\n style={slotStyles?.calendar}\n month={currentMonth}\n year={currentYear}\n onSelect={handleSelect}\n selectionStart={startDate ?? currValue}\n selectionEnd={endDate ?? currValue}\n minDate={minDate}\n maxDate={maxDate}\n onNavigateMonth={changeMonth}\n />\n {showClearButton && (\n <Button onClick={() => handleSelect(null)} className={classNames?.clearButton} style={slotStyles?.clearButton}>\n Clear\n </Button>\n )}\n {children}\n </>\n );\n\n const input = noInput ? null : (\n <Input\n autoComplete='off'\n className={classNames?.input}\n style={slotStyles?.input}\n readOnly={isModal}\n classNames={isModal ? { input: styles.datePickerModalInput } : undefined}\n label={`${label}${computedIsRequired() ? ' *' : ''}`}\n value={currentDateString}\n onChange={(v) => setCurrentDateString(v as string)}\n onClick={() => setIsPickerOpen(true)}\n customInput={<MaskedInput mask='99.99.9999' beforeMaskedStateChange={beforeMaskedStateChange} />}\n onBlur={() => {\n if (fvRef.current) fvRef.current.touched = true;\n setIsFocused(false);\n handleChange(tryParseDateString(currentDateString));\n }}\n onFocus={() => setIsFocused(true)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n isValid={!hasErr}\n />\n );\n\n const picker = (() => {\n if (isInline) return pickerContent;\n if (isModal) {\n return (\n <Modal hideHeader isOpen={isPickerOpen} onClose={() => setIsPickerOpen(false)}>\n {pickerContent}\n </Modal>\n );\n }\n return (\n <Popover\n isOpen={isPickerOpen}\n onOpenChange={(open: boolean) => setIsPickerOpen(open)}\n content={pickerContent}\n placement={PopoverPlacement.Bottom}\n align={PopoverAlign.Start}\n // A click to place the caret in the field must not take the panel away.\n // The focus stays there on its own: Popover only follows a keyboard open.\n closeOnTriggerClick={false}\n constrainWidth={false}\n >\n {input}\n </Popover>\n );\n })();\n\n return (\n <div\n {...rest}\n className={cx(styles.datePicker, className, classNames?.root)}\n style={{ ...style, ...slotStyles?.root }}\n >\n {(isModal || isInline) && input}\n {picker}\n <Tooltip\n variant='error'\n message={formValidator ? formValidator.getCurrentErrorMessage() : errorMessage || ''}\n isVisible={hasErr && (isFocused || isHovered)}\n />\n </div>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var e=`datePicker_ZohTp`,t=`datePicker-header_YmSWE`,n=`datePicker-header-monthAndYear_b5ntO`,r=`datePicker-header-monthAndYear-container_Hcgks`,i=`datePicker-header-month_jqFHl`,a=`datePicker-header-year_4egHF`,o=`datePicker-month_7iosT`,s=`datePicker-modalInput_E2Vig`,c={datePicker:e,"datePicker-header":`datePicker-header_YmSWE`,datePickerHeader:t,"datePicker-header-monthAndYear":`datePicker-header-monthAndYear_b5ntO`,datePickerHeaderMonthAndYear:n,"datePicker-header-monthAndYear-container":`datePicker-header-monthAndYear-container_Hcgks`,datePickerHeaderMonthAndYearContainer:r,"datePicker-header-month":`datePicker-header-month_jqFHl`,datePickerHeaderMonth:i,"datePicker-header-year":`datePicker-header-year_4egHF`,datePickerHeaderYear:a,"datePicker-month":`datePicker-month_7iosT`,datePickerMonth:o,"datePicker-modalInput":`datePicker-modalInput_E2Vig`,datePickerModalInput:s};export{e as datePicker,t as datePickerHeader,i as datePickerHeaderMonth,n as datePickerHeaderMonthAndYear,r as datePickerHeaderMonthAndYearContainer,a as datePickerHeaderYear,s as datePickerModalInput,o as datePickerMonth,c as default};
1
+ "use client";var e=`datePicker_ZohTp`,t=`datePicker-header_YmSWE`,n=`datePicker-header-monthAndYear_b5ntO`,r=`datePicker-header-monthAndYear-container_Hcgks`,i=`datePicker-header-month_jqFHl`,a=`datePicker-header-year_4egHF`,o=`datePicker-month_7iosT`,s=`datePicker-modalInput_E2Vig`,c={datePicker:e,"datePicker-header":`datePicker-header_YmSWE`,datePickerHeader:t,"datePicker-header-monthAndYear":`datePicker-header-monthAndYear_b5ntO`,datePickerHeaderMonthAndYear:n,"datePicker-header-monthAndYear-container":`datePicker-header-monthAndYear-container_Hcgks`,datePickerHeaderMonthAndYearContainer:r,"datePicker-header-month":`datePicker-header-month_jqFHl`,datePickerHeaderMonth:i,"datePicker-header-year":`datePicker-header-year_4egHF`,datePickerHeaderYear:a,"datePicker-month":`datePicker-month_7iosT`,datePickerMonth:o,"datePicker-modalInput":`datePicker-modalInput_E2Vig`,datePickerModalInput:s};export{e as datePicker,t as datePickerHeader,i as datePickerHeaderMonth,n as datePickerHeaderMonthAndYear,r as datePickerHeaderMonthAndYearContainer,a as datePickerHeaderYear,s as datePickerModalInput,o as datePickerMonth,c as default};
2
2
  //# sourceMappingURL=datePicker.module.mjs.map
@@ -1,2 +1,2 @@
1
- import{useComponentDefaults as e}from"../configProvider/useComponentDefaults.mjs";import{DividerOrientation as t,DividerTextPosition as n}from"./divider.types.mjs";import r from"./divider.module.mjs";import i from"classnames";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s={[n.Left]:r.dividerTextLeft,[n.Center]:r.dividerTextCenter,[n.Right]:r.dividerTextRight};function c(c){let{text:l,textPosition:u=n.Center,orientation:d=t.Horizontal,className:f,style:p,classNames:m,styles:h,...g}=e(`Divider`,c),_=l!=null&&l!==``,v=d===t.Vertical;return o(`div`,{...g,role:`separator`,"aria-orientation":v?`vertical`:void 0,className:i(r.divider,v&&r.dividerVertical,_&&s[u],f,m?.root),style:{...p,...h?.root},children:[a(`span`,{className:i(r.dividerLine,m?.line),style:h?.line}),_&&a(`span`,{className:i(r.dividerContent,m?.content),style:h?.content,children:l}),_&&a(`span`,{className:i(r.dividerLine,m?.line),style:h?.line})]})}export{c as default};
1
+ "use client";import{useComponentDefaults as e}from"../configProvider/useComponentDefaults.mjs";import{DividerOrientation as t,DividerTextPosition as n}from"./divider.types.mjs";import r from"./divider.module.mjs";import i from"classnames";import{jsx as a,jsxs as o}from"react/jsx-runtime";var s={[n.Left]:r.dividerTextLeft,[n.Center]:r.dividerTextCenter,[n.Right]:r.dividerTextRight};function c(c){let{text:l,textPosition:u=n.Center,orientation:d=t.Horizontal,className:f,style:p,classNames:m,styles:h,...g}=e(`Divider`,c),_=l!=null&&l!==``,v=d===t.Vertical;return o(`div`,{...g,role:`separator`,"aria-orientation":v?`vertical`:void 0,className:i(r.divider,v&&r.dividerVertical,_&&s[u],f,m?.root),style:{...p,...h?.root},children:[a(`span`,{className:i(r.dividerLine,m?.line),style:h?.line}),_&&a(`span`,{className:i(r.dividerContent,m?.content),style:h?.content,children:l}),_&&a(`span`,{className:i(r.dividerLine,m?.line),style:h?.line})]})}export{c as default};
2
2
  //# sourceMappingURL=divider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"divider.mjs","names":[],"sources":["../../../../package/common/divider/divider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport cx from 'classnames';\n\nimport { DividerTextPosition, DividerOrientation } from './divider.types';\nimport type { DividerProps } from './divider.types';\nimport styles from './divider.module.pcss';\nimport { useComponentDefaults } from '../configProvider';\n\nconst CLASS_BY_TEXT_POSITION: Record<DividerTextPosition, string> = {\n [DividerTextPosition.Left]: styles.dividerTextLeft,\n [DividerTextPosition.Center]: styles.dividerTextCenter,\n [DividerTextPosition.Right]: styles.dividerTextRight,\n};\n\nfunction Divider(props: DividerProps): ReactElement {\n const {\n text,\n textPosition = DividerTextPosition.Center,\n orientation = DividerOrientation.Horizontal,\n className,\n style,\n classNames,\n styles: slotStyles,\n ...rest\n } = useComponentDefaults('Divider', props);\n\n const hasText = text != null && text !== '';\n const isVertical = orientation === DividerOrientation.Vertical;\n\n return (\n <div\n {...rest}\n role='separator'\n aria-orientation={isVertical ? 'vertical' : undefined}\n className={cx(\n styles.divider,\n isVertical && styles.dividerVertical,\n hasText && CLASS_BY_TEXT_POSITION[textPosition],\n className,\n classNames?.root,\n )}\n style={{ ...style, ...slotStyles?.root }}\n >\n <span className={cx(styles.dividerLine, classNames?.line)} style={slotStyles?.line} />\n {hasText && (\n <span className={cx(styles.dividerContent, classNames?.content)} style={slotStyles?.content}>\n {text}\n </span>\n )}\n {hasText && <span className={cx(styles.dividerLine, classNames?.line)} style={slotStyles?.line} />}\n </div>\n );\n}\n\nexport default Divider;\n"],"mappings":"oRAQA,IAAM,EAA8D,EACjE,EAAoB,MAAO,EAAO,iBAClC,EAAoB,QAAS,EAAO,mBACpC,EAAoB,OAAQ,EAAO,gBACtC,EAEA,SAAS,EAAQ,EAAmC,CAClD,GAAM,CACJ,OACA,eAAe,EAAoB,OACnC,cAAc,EAAmB,WACjC,YACA,QACA,aACA,OAAQ,EACR,GAAG,GACD,EAAqB,UAAW,CAAK,EAEnC,EAAU,GAAQ,MAAQ,IAAS,GACnC,EAAa,IAAgB,EAAmB,SAEtD,OACE,EAAC,MAAD,CACE,GAAI,EACJ,KAAK,YACL,mBAAkB,EAAa,WAAa,IAAA,GAC5C,UAAW,EACT,EAAO,QACP,GAAc,EAAO,gBACrB,GAAW,EAAuB,GAClC,EACA,GAAY,IACd,EACA,MAAO,CAAE,GAAG,EAAO,GAAG,GAAY,IAAK,EAXzC,SAAA,CAaE,EAAC,OAAD,CAAM,UAAW,EAAG,EAAO,YAAa,GAAY,IAAI,EAAG,MAAO,GAAY,IAAO,CAAA,EACpF,GACC,EAAC,OAAD,CAAM,UAAW,EAAG,EAAO,eAAgB,GAAY,OAAO,EAAG,MAAO,GAAY,QACjF,SAAA,CACG,CAAA,EAEP,GAAW,EAAC,OAAD,CAAM,UAAW,EAAG,EAAO,YAAa,GAAY,IAAI,EAAG,MAAO,GAAY,IAAO,CAAA,CAC9F,GAET"}
1
+ {"version":3,"file":"divider.mjs","names":[],"sources":["../../../../package/common/divider/divider.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport cx from 'classnames';\n\nimport { DividerTextPosition, DividerOrientation } from './divider.types';\nimport type { DividerProps } from './divider.types';\nimport styles from './divider.module.pcss';\nimport { useComponentDefaults } from '../configProvider';\n\nconst CLASS_BY_TEXT_POSITION: Record<DividerTextPosition, string> = {\n [DividerTextPosition.Left]: styles.dividerTextLeft,\n [DividerTextPosition.Center]: styles.dividerTextCenter,\n [DividerTextPosition.Right]: styles.dividerTextRight,\n};\n\nfunction Divider(props: DividerProps): ReactElement {\n const {\n text,\n textPosition = DividerTextPosition.Center,\n orientation = DividerOrientation.Horizontal,\n className,\n style,\n classNames,\n styles: slotStyles,\n ...rest\n } = useComponentDefaults('Divider', props);\n\n const hasText = text != null && text !== '';\n const isVertical = orientation === DividerOrientation.Vertical;\n\n return (\n <div\n {...rest}\n role='separator'\n aria-orientation={isVertical ? 'vertical' : undefined}\n className={cx(\n styles.divider,\n isVertical && styles.dividerVertical,\n hasText && CLASS_BY_TEXT_POSITION[textPosition],\n className,\n classNames?.root,\n )}\n style={{ ...style, ...slotStyles?.root }}\n >\n <span className={cx(styles.dividerLine, classNames?.line)} style={slotStyles?.line} />\n {hasText && (\n <span className={cx(styles.dividerContent, classNames?.content)} style={slotStyles?.content}>\n {text}\n </span>\n )}\n {hasText && <span className={cx(styles.dividerLine, classNames?.line)} style={slotStyles?.line} />}\n </div>\n );\n}\n\nexport default Divider;\n"],"mappings":"iSAQA,IAAM,EAA8D,EACjE,EAAoB,MAAO,EAAO,iBAClC,EAAoB,QAAS,EAAO,mBACpC,EAAoB,OAAQ,EAAO,gBACtC,EAEA,SAAS,EAAQ,EAAmC,CAClD,GAAM,CACJ,OACA,eAAe,EAAoB,OACnC,cAAc,EAAmB,WACjC,YACA,QACA,aACA,OAAQ,EACR,GAAG,GACD,EAAqB,UAAW,CAAK,EAEnC,EAAU,GAAQ,MAAQ,IAAS,GACnC,EAAa,IAAgB,EAAmB,SAEtD,OACE,EAAC,MAAD,CACE,GAAI,EACJ,KAAK,YACL,mBAAkB,EAAa,WAAa,IAAA,GAC5C,UAAW,EACT,EAAO,QACP,GAAc,EAAO,gBACrB,GAAW,EAAuB,GAClC,EACA,GAAY,IACd,EACA,MAAO,CAAE,GAAG,EAAO,GAAG,GAAY,IAAK,EAXzC,SAAA,CAaE,EAAC,OAAD,CAAM,UAAW,EAAG,EAAO,YAAa,GAAY,IAAI,EAAG,MAAO,GAAY,IAAO,CAAA,EACpF,GACC,EAAC,OAAD,CAAM,UAAW,EAAG,EAAO,eAAgB,GAAY,OAAO,EAAG,MAAO,GAAY,QACjF,SAAA,CACG,CAAA,EAEP,GAAW,EAAC,OAAD,CAAM,UAAW,EAAG,EAAO,YAAa,GAAY,IAAI,EAAG,MAAO,GAAY,IAAO,CAAA,CAC9F,GAET"}
@@ -1,2 +1,2 @@
1
- var e=`divider_OO203`,t=`divider-line_nVep8`,n=`divider-content_-y7ou`,r=`divider-text-left_HYmeQ`,i=`divider-text-right_RH5sH`,a=`divider-vertical_CasA6`,o={divider:e,"divider-line":`divider-line_nVep8`,dividerLine:t,"divider-content":`divider-content_-y7ou`,dividerContent:n,"divider-text-left":`divider-text-left_HYmeQ`,dividerTextLeft:r,"divider-text-right":`divider-text-right_RH5sH`,dividerTextRight:i,"divider-vertical":`divider-vertical_CasA6`,dividerVertical:a};export{o as default,e as divider,n as dividerContent,t as dividerLine,r as dividerTextLeft,i as dividerTextRight,a as dividerVertical};
1
+ "use client";var e=`divider_OO203`,t=`divider-line_nVep8`,n=`divider-content_-y7ou`,r=`divider-text-left_HYmeQ`,i=`divider-text-right_RH5sH`,a=`divider-vertical_CasA6`,o={divider:e,"divider-line":`divider-line_nVep8`,dividerLine:t,"divider-content":`divider-content_-y7ou`,dividerContent:n,"divider-text-left":`divider-text-left_HYmeQ`,dividerTextLeft:r,"divider-text-right":`divider-text-right_RH5sH`,dividerTextRight:i,"divider-vertical":`divider-vertical_CasA6`,dividerVertical:a};export{o as default,e as divider,n as dividerContent,t as dividerLine,r as dividerTextLeft,i as dividerTextRight,a as dividerVertical};
2
2
  //# sourceMappingURL=divider.module.mjs.map
@@ -1,2 +1,2 @@
1
- var e=function(e){return e.Left=`left`,e.Center=`center`,e.Right=`right`,e}({}),t=function(e){return e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({});export{t as DividerOrientation,e as DividerTextPosition};
1
+ "use client";var e=function(e){return e.Left=`left`,e.Center=`center`,e.Right=`right`,e}({}),t=function(e){return e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({});export{t as DividerOrientation,e as DividerTextPosition};
2
2
  //# sourceMappingURL=divider.types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"divider.types.mjs","names":[],"sources":["../../../../package/common/divider/divider.types.ts"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport type { SlotClassNames, SlotStyles, HtmlProps } from '../types/slots.types';\n\nexport enum DividerTextPosition {\n Left = 'left',\n Center = 'center',\n Right = 'right',\n}\n\nexport enum DividerOrientation {\n Horizontal = 'horizontal',\n Vertical = 'vertical',\n}\n\nexport type DividerSlots = 'root' | 'line' | 'content';\n\nexport interface DividerProps extends HtmlProps {\n text?: ReactNode;\n textPosition?: DividerTextPosition;\n orientation?: DividerOrientation;\n className?: string;\n style?: CSSProperties;\n classNames?: SlotClassNames<DividerSlots>;\n styles?: SlotStyles<DividerSlots>;\n}\n"],"mappings":"AAGA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,KAAA,OACA,EAAA,OAAA,SACA,EAAA,MAAA,SACF,EAAA,CAAA,CAAA,EAEY,EAAL,SAAA,EAAA,OACL,GAAA,WAAA,aACA,EAAA,SAAA,YACF,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"divider.types.mjs","names":[],"sources":["../../../../package/common/divider/divider.types.ts"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport type { SlotClassNames, SlotStyles, HtmlProps } from '../types/slots.types';\n\nexport enum DividerTextPosition {\n Left = 'left',\n Center = 'center',\n Right = 'right',\n}\n\nexport enum DividerOrientation {\n Horizontal = 'horizontal',\n Vertical = 'vertical',\n}\n\nexport type DividerSlots = 'root' | 'line' | 'content';\n\nexport interface DividerProps extends HtmlProps {\n text?: ReactNode;\n textPosition?: DividerTextPosition;\n orientation?: DividerOrientation;\n className?: string;\n style?: CSSProperties;\n classNames?: SlotClassNames<DividerSlots>;\n styles?: SlotStyles<DividerSlots>;\n}\n"],"mappings":"aAGA,IAAY,EAAL,SAAA,EAAA,OACL,GAAA,KAAA,OACA,EAAA,OAAA,SACA,EAAA,MAAA,SACF,EAAA,CAAA,CAAA,EAEY,EAAL,SAAA,EAAA,OACL,GAAA,WAAA,aACA,EAAA,SAAA,YACF,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import e from"./drawer.module.mjs";import{useEffect as t,useRef as n}from"react";import r from"classnames";import{jsx as i}from"react/jsx-runtime";function a({className:a,isOpen:o=!1,closedWidth:s,openedWidth:c,children:l,style:u,classNames:d,styles:f,...p}){let m=n(null),h=n(null);return t(()=>{let e=new ResizeObserver(()=>{m.current&&h.current&&m.current.style.setProperty(`--drawer-content-width`,`${h.current.scrollWidth}px`)});return h.current&&e.observe(h.current),()=>e.disconnect()},[]),i(`div`,{...p,ref:m,className:r(e.drawer,o&&e.drawerOpen,a,d?.root),style:{...s!==void 0&&{"--drawer-closed-width":s},...c!==void 0&&{"--drawer-opened-width":c},...u,...f?.root},children:i(`div`,{ref:h,className:r(e.drawerContent,d?.content),style:f?.content,children:i(`div`,{className:r(e.drawerContentInner,d?.inner),style:f?.inner,children:l})})})}export{a as default};
1
+ "use client";import e from"./drawer.module.mjs";import{useEffect as t,useRef as n}from"react";import r from"classnames";import{jsx as i}from"react/jsx-runtime";function a({className:a,isOpen:o=!1,closedWidth:s,openedWidth:c,children:l,style:u,classNames:d,styles:f,...p}){let m=n(null),h=n(null);return t(()=>{let e=new ResizeObserver(()=>{m.current&&h.current&&m.current.style.setProperty(`--drawer-content-width`,`${h.current.scrollWidth}px`)});return h.current&&e.observe(h.current),()=>e.disconnect()},[]),i(`div`,{...p,ref:m,className:r(e.drawer,o&&e.drawerOpen,a,d?.root),style:{...s!==void 0&&{"--drawer-closed-width":s},...c!==void 0&&{"--drawer-opened-width":c},...u,...f?.root},children:i(`div`,{ref:h,className:r(e.drawerContent,d?.content),style:f?.content,children:i(`div`,{className:r(e.drawerContentInner,d?.inner),style:f?.inner,children:l})})})}export{a as default};
2
2
  //# sourceMappingURL=drawer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.mjs","names":[],"sources":["../../../../package/common/drawer/drawer.tsx"],"sourcesContent":["import type { ReactElement, CSSProperties } from 'react';\nimport { useRef, useEffect } from 'react';\nimport { DrawerProps } from './drawer.types';\nimport cx from 'classnames';\n\nimport styles from './drawer.module.pcss';\n\nfunction Drawer({\n className,\n isOpen = false,\n closedWidth,\n openedWidth,\n children,\n style,\n classNames,\n styles: slotStyles,\n ...rest\n}: DrawerProps): ReactElement {\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const observer = new ResizeObserver(() => {\n if (containerRef.current && contentRef.current) {\n containerRef.current.style.setProperty('--drawer-content-width', `${contentRef.current.scrollWidth}px`);\n }\n });\n if (contentRef.current) observer.observe(contentRef.current);\n return () => observer.disconnect();\n }, []);\n\n return (\n <div\n {...rest}\n ref={containerRef}\n className={cx(styles.drawer, isOpen && styles.drawerOpen, className, classNames?.root)}\n style={\n {\n ...(closedWidth !== undefined && { '--drawer-closed-width': closedWidth }),\n ...(openedWidth !== undefined && { '--drawer-opened-width': openedWidth }),\n ...style,\n ...slotStyles?.root,\n } as CSSProperties\n }\n >\n <div ref={contentRef} className={cx(styles.drawerContent, classNames?.content)} style={slotStyles?.content}>\n <div className={cx(styles.drawerContentInner, classNames?.inner)} style={slotStyles?.inner}>\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nexport default Drawer;\n"],"mappings":"mJAOA,SAAS,EAAO,CACd,YACA,SAAS,GACT,cACA,cACA,WACA,QACA,aACA,OAAQ,EACR,GAAG,GACyB,CAC5B,IAAM,EAAe,EAAuB,IAAI,EAC1C,EAAa,EAAuB,IAAI,EAY9C,OAVA,MAAgB,CACd,IAAM,EAAW,IAAI,mBAAqB,CACpC,EAAa,SAAW,EAAW,SACrC,EAAa,QAAQ,MAAM,YAAY,yBAA0B,GAAG,EAAW,QAAQ,YAAY,GAAG,CAE1G,CAAC,EAED,OADI,EAAW,SAAS,EAAS,QAAQ,EAAW,OAAO,MAC9C,EAAS,WAAW,CACnC,EAAG,CAAC,CAAC,EAGH,EAAC,MAAD,CACE,GAAI,EACJ,IAAK,EACL,UAAW,EAAG,EAAO,OAAQ,GAAU,EAAO,WAAY,EAAW,GAAY,IAAI,EACrF,MACE,CACE,GAAI,IAAgB,IAAA,IAAa,CAAE,wBAAyB,CAAY,EACxE,GAAI,IAAgB,IAAA,IAAa,CAAE,wBAAyB,CAAY,EACxE,GAAG,EACH,GAAG,GAAY,IACjB,EAGF,SAAA,EAAC,MAAD,CAAK,IAAK,EAAY,UAAW,EAAG,EAAO,cAAe,GAAY,OAAO,EAAG,MAAO,GAAY,QACjG,SAAA,EAAC,MAAD,CAAK,UAAW,EAAG,EAAO,mBAAoB,GAAY,KAAK,EAAG,MAAO,GAAY,MAClF,UACE,CAAA,CACF,CAAA,CACF,CAAA,CAET"}
1
+ {"version":3,"file":"drawer.mjs","names":[],"sources":["../../../../package/common/drawer/drawer.tsx"],"sourcesContent":["import type { ReactElement, CSSProperties } from 'react';\nimport { useRef, useEffect } from 'react';\nimport { DrawerProps } from './drawer.types';\nimport cx from 'classnames';\n\nimport styles from './drawer.module.pcss';\n\nfunction Drawer({\n className,\n isOpen = false,\n closedWidth,\n openedWidth,\n children,\n style,\n classNames,\n styles: slotStyles,\n ...rest\n}: DrawerProps): ReactElement {\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const observer = new ResizeObserver(() => {\n if (containerRef.current && contentRef.current) {\n containerRef.current.style.setProperty('--drawer-content-width', `${contentRef.current.scrollWidth}px`);\n }\n });\n if (contentRef.current) observer.observe(contentRef.current);\n return () => observer.disconnect();\n }, []);\n\n return (\n <div\n {...rest}\n ref={containerRef}\n className={cx(styles.drawer, isOpen && styles.drawerOpen, className, classNames?.root)}\n style={\n {\n ...(closedWidth !== undefined && { '--drawer-closed-width': closedWidth }),\n ...(openedWidth !== undefined && { '--drawer-opened-width': openedWidth }),\n ...style,\n ...slotStyles?.root,\n } as CSSProperties\n }\n >\n <div ref={contentRef} className={cx(styles.drawerContent, classNames?.content)} style={slotStyles?.content}>\n <div className={cx(styles.drawerContentInner, classNames?.inner)} style={slotStyles?.inner}>\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nexport default Drawer;\n"],"mappings":"gKAOA,SAAS,EAAO,CACd,YACA,SAAS,GACT,cACA,cACA,WACA,QACA,aACA,OAAQ,EACR,GAAG,GACyB,CAC5B,IAAM,EAAe,EAAuB,IAAI,EAC1C,EAAa,EAAuB,IAAI,EAY9C,OAVA,MAAgB,CACd,IAAM,EAAW,IAAI,mBAAqB,CACpC,EAAa,SAAW,EAAW,SACrC,EAAa,QAAQ,MAAM,YAAY,yBAA0B,GAAG,EAAW,QAAQ,YAAY,GAAG,CAE1G,CAAC,EAED,OADI,EAAW,SAAS,EAAS,QAAQ,EAAW,OAAO,MAC9C,EAAS,WAAW,CACnC,EAAG,CAAC,CAAC,EAGH,EAAC,MAAD,CACE,GAAI,EACJ,IAAK,EACL,UAAW,EAAG,EAAO,OAAQ,GAAU,EAAO,WAAY,EAAW,GAAY,IAAI,EACrF,MACE,CACE,GAAI,IAAgB,IAAA,IAAa,CAAE,wBAAyB,CAAY,EACxE,GAAI,IAAgB,IAAA,IAAa,CAAE,wBAAyB,CAAY,EACxE,GAAG,EACH,GAAG,GAAY,IACjB,EAGF,SAAA,EAAC,MAAD,CAAK,IAAK,EAAY,UAAW,EAAG,EAAO,cAAe,GAAY,OAAO,EAAG,MAAO,GAAY,QACjG,SAAA,EAAC,MAAD,CAAK,UAAW,EAAG,EAAO,mBAAoB,GAAY,KAAK,EAAG,MAAO,GAAY,MAClF,UACE,CAAA,CACF,CAAA,CACF,CAAA,CAET"}
@@ -1,2 +1,2 @@
1
- var e=`drawer_5SRoc`,t=`drawer-open_-YQ8n`,n=`drawer-content_sHIAP`,r=`drawer-content-inner_f-IDz`,i={drawer:e,"drawer-open":`drawer-open_-YQ8n`,drawerOpen:t,"drawer-content":`drawer-content_sHIAP`,drawerContent:n,"drawer-content-inner":`drawer-content-inner_f-IDz`,drawerContentInner:r};export{i as default,e as drawer,n as drawerContent,r as drawerContentInner,t as drawerOpen};
1
+ "use client";var e=`drawer_5SRoc`,t=`drawer-open_-YQ8n`,n=`drawer-content_sHIAP`,r=`drawer-content-inner_f-IDz`,i={drawer:e,"drawer-open":`drawer-open_-YQ8n`,drawerOpen:t,"drawer-content":`drawer-content_sHIAP`,drawerContent:n,"drawer-content-inner":`drawer-content-inner_f-IDz`,drawerContentInner:r};export{i as default,e as drawer,n as drawerContent,r as drawerContentInner,t as drawerOpen};
2
2
  //# sourceMappingURL=drawer.module.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.module.mjs","names":[],"sources":["../../../../package/common/drawer/drawer.module.pcss"],"sourcesContent":[".drawer {\n height: 100%;\n overflow-x: hidden;\n width: var(--drawer-closed-width, 0);\n transition: width 0.3s ease;\n background: var(--background-accent);\n\n &-open {\n width: var(--drawer-opened-width, var(--drawer-content-width, max-content));\n }\n\n &-content {\n width: max-content;\n height: 100%;\n pointer-events: all;\n\n &-inner {\n height: 100%;\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"drawer.module.mjs","names":[],"sources":["../../../../package/common/drawer/drawer.module.pcss"],"sourcesContent":[".drawer {\n height: 100%;\n overflow-x: hidden;\n width: var(--drawer-closed-width, 0);\n transition: width 0.3s ease;\n background: var(--background-accent);\n\n &-open {\n width: var(--drawer-opened-width, var(--drawer-content-width, max-content));\n }\n\n &-content {\n width: max-content;\n height: 100%;\n pointer-events: all;\n\n &-inner {\n height: 100%;\n }\n }\n}\n\n/* Opening and closing then snaps to the new width instead of sliding to it. */\n@media (prefers-reduced-motion: reduce) {\n .drawer {\n transition: none;\n }\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{isSelfActivation as e}from"../utils/activationKey.mjs";import{DropZoneReturnType as t,DropZoneStatus as n}from"./dropZone.types.mjs";import r from"./dropZone.module.mjs";import{useCallback as i,useEffect as a,useId as o,useRef as s,useState as c}from"react";import l from"classnames";import{jsx as u,jsxs as d}from"react/jsx-runtime";function f(e,t){if(!t.length)return!0;let n=e.name.toLowerCase(),r=e.type.toLowerCase();return t.some(e=>{let t=e.trim().toLowerCase();return t?t.startsWith(`.`)?n.endsWith(t):t.endsWith(`/*`)?r.startsWith(t.slice(0,-1)):r===t:!1})}function p(e,n){return n===t.File?Promise.resolve({ok:!0,value:e}):new Promise(r=>{let i=new FileReader;i.onload=t=>{let n=t.target?.result;if(typeof n!=`string`){r({ok:!1});return}r({ok:!0,value:{name:e.name,size:e.size,type:e.type,lastModified:e.lastModified,data:n}})},i.onerror=()=>r({ok:!1}),n===t.Base64?i.readAsDataURL(e):i.readAsText(e)})}function m(e){return new Promise(t=>{if(e.isFile)e.file(e=>t([e]),()=>t([]));else if(e.isDirectory){let n=e.createReader(),r=[],i=()=>{n.readEntries(e=>{e.length?(r.push(...e),i()):Promise.all(r.map(m)).then(e=>t(e.flat()))},()=>t([]))};i()}else t([])})}function h(e,t){let n=e.items;if(n&&n.length){if(t&&typeof n[0].webkitGetAsEntry==`function`){let e=[];for(let t=0;t<n.length;t+=1)if(n[t].kind===`file`){let r=n[t].webkitGetAsEntry();r&&e.push(r)}if(e.length)return Promise.all(e.map(m)).then(e=>e.flat())}let e=[];for(let t=0;t<n.length;t+=1)if(n[t].kind===`file`){let r=n[t].getAsFile();r&&e.push(r)}return Promise.resolve(e)}return Promise.resolve(Array.from(e.files||[]))}function g({children:m,acceptedTypes:g=[],returnType:_=t.File,openPickerOnClick:v=!1,multiple:y=!0,maxFiles:b,maxSize:x,enablePaste:S=!1,allowDirectories:C=!0,capture:w,disabled:T=!1,unstyled:E=!1,showFileNames:D=!1,files:O,onFilesChanged:k,onReject:A,onStatusChanged:j,className:M,style:N,classNames:P,styles:F,...I}){let[L,ee]=c(n.Idle),R=s(null),z=o(),B=s(L),V=s(0),H=s(0),U=s({acceptedTypes:g,returnType:_,multiple:y,maxFiles:b,maxSize:x,allowDirectories:C,disabled:T,onFilesChanged:k,onReject:A,onStatusChanged:j});a(()=>{U.current={acceptedTypes:g,returnType:_,multiple:y,maxFiles:b,maxSize:x,allowDirectories:C,disabled:T,onFilesChanged:k,onReject:A,onStatusChanged:j}});let W=i(e=>{B.current!==e&&(B.current=e,ee(e),U.current.onStatusChanged?.(e))},[]),G=i(async e=>{let t=U.current,r=[],i=[];for(let n of e)f(n,t.acceptedTypes)?t.maxSize!=null&&n.size>t.maxSize?r.push({file:n,reason:`tooLarge`}):i.push(n):r.push({file:n,reason:`unacceptedType`});t.multiple||(i=i.slice(0,1)),t.maxFiles!=null&&i.length>t.maxFiles&&(i.slice(t.maxFiles).forEach(e=>r.push({file:e,reason:`tooMany`})),i=i.slice(0,t.maxFiles));let a=await Promise.all(i.map(e=>p(e,t.returnType))),o=[];a.forEach((e,t)=>{e.ok?o.push(e.value):r.push({file:i[t],reason:`readError`})}),r.length&&t.onReject?.(r),W(r.length&&!o.length?n.Error:n.Idle),o.length&&t.onFilesChanged?.(o)},[W]);a(()=>{let e=e=>!e||Array.from(e.types||[]).includes(`Files`),t=t=>{!U.current.disabled&&e(t.dataTransfer)&&(V.current+=1,(B.current===n.Idle||B.current===n.Error)&&W(n.Dragging))},r=()=>{V.current=Math.max(0,V.current-1),V.current===0&&B.current===n.Dragging&&W(n.Idle)},i=()=>{V.current=0,H.current=0,B.current===n.Dragging&&W(n.Idle)};return window.addEventListener(`dragenter`,t),window.addEventListener(`dragleave`,r),window.addEventListener(`drop`,i),()=>{window.removeEventListener(`dragenter`,t),window.removeEventListener(`dragleave`,r),window.removeEventListener(`drop`,i)}},[W]);let K=i(e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=T?`none`:`copy`)},[T]),q=i(e=>{e.preventDefault(),e.stopPropagation(),!T&&(H.current+=1,W(n.Active))},[T,W]),J=i(e=>{e.preventDefault(),e.stopPropagation(),H.current=Math.max(0,H.current-1),H.current===0&&W(V.current>0?n.Dragging:n.Idle)},[W]),Y=i(e=>{if(e.preventDefault(),e.stopPropagation(),H.current=0,V.current=0,T||!e.dataTransfer){W(n.Idle);return}W(n.Idle),h(e.dataTransfer,U.current.allowDirectories).then(e=>{e.length&&G(e)})},[T,W,G]),X=i(()=>{!T&&v&&R.current?.click()},[T,v]),Z=i(e=>{let t=Array.from(e.target.files||[]);e.target.value=``,t.length&&G(t)},[G]),Q=i(e=>{if(!S||T)return;let t=Array.from(e.clipboardData?.files||[]);t.length&&(e.preventDefault(),G(t))},[S,T,G]),te=i(t=>{v&&!T&&e(t)&&(t.preventDefault(),X())},[v,T,X]),$=L===n.Dragging||L===n.Active,ne={status:L,isDragging:$,isActive:L===n.Active,disabled:T},re=g.length?g.join(`,`):void 0;return d(`div`,{...I,className:l(r.dropZone,v&&r.dropZoneClickable,T&&r.dropZoneDisabled,!E&&r.dropZoneDefault,!E&&L===n.Dragging&&r.dropZoneDragging,!E&&L===n.Active&&r.dropZoneActive,!E&&L===n.Error&&r.dropZoneError,P?.root,M),style:{...F?.root,...N},onDragEnter:q,onDragLeave:J,onDragOver:K,onDrop:Y,onClick:X,onKeyDown:te,onPaste:S?Q:void 0,role:v?`button`:void 0,tabIndex:v&&!T?0:void 0,"aria-disabled":T||void 0,children:[u(`div`,{className:l(r.dropZoneContent,$&&r.dropZoneContentDragging,P?.content),style:F?.content,children:typeof m==`function`?m(ne):m}),D&&O&&O.length>0&&u(`div`,{className:l(r.dropZoneFileList,P?.fileList),style:F?.fileList,children:O.map((e,t)=>u(`div`,{className:l(r.dropZoneFileItem,P?.fileItem),style:F?.fileItem,children:e.name},`${e.name}-${t}`))}),u(`input`,{ref:R,id:z,type:`file`,className:l(r.dropZoneInput,P?.input),style:F?.input,accept:re,multiple:y,capture:w,disabled:T,onChange:Z,tabIndex:-1,"aria-hidden":`true`})]})}export{g as default};
1
+ "use client";import{isSelfActivation as e}from"../utils/activationKey.mjs";import{DropZoneReturnType as t,DropZoneStatus as n}from"./dropZone.types.mjs";import r from"./dropZone.module.mjs";import{useCallback as i,useEffect as a,useId as o,useRef as s,useState as c}from"react";import l from"classnames";import{jsx as u,jsxs as d}from"react/jsx-runtime";function f(e,t){if(!t.length)return!0;let n=e.name.toLowerCase(),r=e.type.toLowerCase();return t.some(e=>{let t=e.trim().toLowerCase();return t?t.startsWith(`.`)?n.endsWith(t):t.endsWith(`/*`)?r.startsWith(t.slice(0,-1)):r===t:!1})}function p(e,n){return n===t.File?Promise.resolve({ok:!0,value:e}):new Promise(r=>{let i=new FileReader;i.onload=t=>{let n=t.target?.result;if(typeof n!=`string`){r({ok:!1});return}r({ok:!0,value:{name:e.name,size:e.size,type:e.type,lastModified:e.lastModified,data:n}})},i.onerror=()=>r({ok:!1}),n===t.Base64?i.readAsDataURL(e):i.readAsText(e)})}function m(e){return new Promise(t=>{if(e.isFile)e.file(e=>t([e]),()=>t([]));else if(e.isDirectory){let n=e.createReader(),r=[],i=()=>{n.readEntries(e=>{e.length?(r.push(...e),i()):Promise.all(r.map(m)).then(e=>t(e.flat()))},()=>t([]))};i()}else t([])})}function h(e,t){let n=e.items;if(n&&n.length){if(t&&typeof n[0].webkitGetAsEntry==`function`){let e=[];for(let t=0;t<n.length;t+=1)if(n[t].kind===`file`){let r=n[t].webkitGetAsEntry();r&&e.push(r)}if(e.length)return Promise.all(e.map(m)).then(e=>e.flat())}let e=[];for(let t=0;t<n.length;t+=1)if(n[t].kind===`file`){let r=n[t].getAsFile();r&&e.push(r)}return Promise.resolve(e)}return Promise.resolve(Array.from(e.files||[]))}function g({children:m,acceptedTypes:g=[],returnType:_=t.File,openPickerOnClick:v=!1,multiple:y=!0,maxFiles:b,maxSize:x,enablePaste:S=!1,allowDirectories:C=!0,capture:w,disabled:T=!1,unstyled:E=!1,showFileNames:D=!1,files:O,onFilesChanged:k,onReject:A,onStatusChanged:j,className:M,style:N,classNames:P,styles:F,...I}){let[L,ee]=c(n.Idle),R=s(null),z=o(),B=s(L),V=s(0),H=s(0),U=s({acceptedTypes:g,returnType:_,multiple:y,maxFiles:b,maxSize:x,allowDirectories:C,disabled:T,onFilesChanged:k,onReject:A,onStatusChanged:j});a(()=>{U.current={acceptedTypes:g,returnType:_,multiple:y,maxFiles:b,maxSize:x,allowDirectories:C,disabled:T,onFilesChanged:k,onReject:A,onStatusChanged:j}});let W=i(e=>{B.current!==e&&(B.current=e,ee(e),U.current.onStatusChanged?.(e))},[]),G=i(async e=>{let t=U.current,r=[],i=[];for(let n of e)f(n,t.acceptedTypes)?t.maxSize!=null&&n.size>t.maxSize?r.push({file:n,reason:`tooLarge`}):i.push(n):r.push({file:n,reason:`unacceptedType`});t.multiple||(i=i.slice(0,1)),t.maxFiles!=null&&i.length>t.maxFiles&&(i.slice(t.maxFiles).forEach(e=>r.push({file:e,reason:`tooMany`})),i=i.slice(0,t.maxFiles));let a=await Promise.all(i.map(e=>p(e,t.returnType))),o=[];a.forEach((e,t)=>{e.ok?o.push(e.value):r.push({file:i[t],reason:`readError`})}),r.length&&t.onReject?.(r),W(r.length&&!o.length?n.Error:n.Idle),o.length&&t.onFilesChanged?.(o)},[W]);a(()=>{let e=e=>!e||Array.from(e.types||[]).includes(`Files`),t=t=>{!U.current.disabled&&e(t.dataTransfer)&&(V.current+=1,(B.current===n.Idle||B.current===n.Error)&&W(n.Dragging))},r=()=>{V.current=Math.max(0,V.current-1),V.current===0&&B.current===n.Dragging&&W(n.Idle)},i=()=>{V.current=0,H.current=0,B.current===n.Dragging&&W(n.Idle)};return window.addEventListener(`dragenter`,t),window.addEventListener(`dragleave`,r),window.addEventListener(`drop`,i),()=>{window.removeEventListener(`dragenter`,t),window.removeEventListener(`dragleave`,r),window.removeEventListener(`drop`,i)}},[W]);let K=i(e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect=T?`none`:`copy`)},[T]),q=i(e=>{e.preventDefault(),e.stopPropagation(),!T&&(H.current+=1,W(n.Active))},[T,W]),J=i(e=>{e.preventDefault(),e.stopPropagation(),H.current=Math.max(0,H.current-1),H.current===0&&W(V.current>0?n.Dragging:n.Idle)},[W]),Y=i(e=>{if(e.preventDefault(),e.stopPropagation(),H.current=0,V.current=0,T||!e.dataTransfer){W(n.Idle);return}W(n.Idle),h(e.dataTransfer,U.current.allowDirectories).then(e=>{e.length&&G(e)})},[T,W,G]),X=i(()=>{!T&&v&&R.current?.click()},[T,v]),Z=i(e=>{let t=Array.from(e.target.files||[]);e.target.value=``,t.length&&G(t)},[G]),Q=i(e=>{if(!S||T)return;let t=Array.from(e.clipboardData?.files||[]);t.length&&(e.preventDefault(),G(t))},[S,T,G]),te=i(t=>{v&&!T&&e(t)&&(t.preventDefault(),X())},[v,T,X]),$=L===n.Dragging||L===n.Active,ne={status:L,isDragging:$,isActive:L===n.Active,disabled:T},re=g.length?g.join(`,`):void 0;return d(`div`,{...I,className:l(r.dropZone,v&&r.dropZoneClickable,T&&r.dropZoneDisabled,!E&&r.dropZoneDefault,!E&&L===n.Dragging&&r.dropZoneDragging,!E&&L===n.Active&&r.dropZoneActive,!E&&L===n.Error&&r.dropZoneError,P?.root,M),style:{...F?.root,...N},onDragEnter:q,onDragLeave:J,onDragOver:K,onDrop:Y,onClick:X,onKeyDown:te,onPaste:S?Q:void 0,role:v?`button`:void 0,tabIndex:v&&!T?0:void 0,"aria-disabled":T||void 0,children:[u(`div`,{className:l(r.dropZoneContent,$&&r.dropZoneContentDragging,P?.content),style:F?.content,children:typeof m==`function`?m(ne):m}),D&&O&&O.length>0&&u(`div`,{className:l(r.dropZoneFileList,P?.fileList),style:F?.fileList,children:O.map((e,t)=>u(`div`,{className:l(r.dropZoneFileItem,P?.fileItem),style:F?.fileItem,children:e.name},`${e.name}-${t}`))}),u(`input`,{ref:R,id:z,type:`file`,className:l(r.dropZoneInput,P?.input),style:F?.input,accept:re,multiple:y,capture:w,disabled:T,onChange:Z,tabIndex:-1,"aria-hidden":`true`})]})}export{g as default};
2
2
  //# sourceMappingURL=dropZone.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropZone.mjs","names":[],"sources":["../../../../package/common/dropZone/dropZone.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport cx from 'classnames';\n\nimport {\n DropZoneProps,\n DropZoneReturnType,\n DropZoneStatus,\n DropZoneRejection,\n DropZoneRenderState,\n LoadedFile,\n} from './dropZone.types';\n\nimport styles from './dropZone.module.pcss';\nimport { isSelfActivation } from '../utils/activationKey';\n\n// ── Pure helpers ──────────────────────────────────────────────────────────────\n\n/** True when a file matches one of the accepted tokens (extension, mime, or wildcard). */\nfunction matchesAccepted(file: File, acceptedTypes: string[]): boolean {\n if (!acceptedTypes.length) return true;\n const name = file.name.toLowerCase();\n const type = file.type.toLowerCase();\n return acceptedTypes.some((raw) => {\n const accept = raw.trim().toLowerCase();\n if (!accept) return false;\n if (accept.startsWith('.')) return name.endsWith(accept); // extension\n if (accept.endsWith('/*')) return type.startsWith(accept.slice(0, -1)); // wildcard e.g. image/\n return type === accept; // exact mime type\n });\n}\n\ntype ReadResult = { ok: true; value: File | LoadedFile } | { ok: false };\n\n/** Read a single file into the requested return shape. Never rejects — failures resolve to `{ ok: false }`. */\nfunction readFile(file: File, returnType: DropZoneReturnType): Promise<ReadResult> {\n if (returnType === DropZoneReturnType.File) {\n return Promise.resolve({ ok: true, value: file });\n }\n return new Promise<ReadResult>((resolve) => {\n const reader = new FileReader();\n reader.onload = (event) => {\n const data = event.target?.result;\n if (typeof data !== 'string') {\n resolve({ ok: false });\n return;\n }\n resolve({\n ok: true,\n value: { name: file.name, size: file.size, type: file.type, lastModified: file.lastModified, data },\n });\n };\n reader.onerror = () => resolve({ ok: false });\n if (returnType === DropZoneReturnType.Base64) reader.readAsDataURL(file);\n else reader.readAsText(file);\n });\n}\n\n/** Recursively flatten a dropped file-system entry into a list of Files. */\nfunction readEntry(entry: FileSystemEntry): Promise<File[]> {\n return new Promise((resolve) => {\n if (entry.isFile) {\n (entry as FileSystemFileEntry).file(\n (file) => resolve([file]),\n () => resolve([]),\n );\n } else if (entry.isDirectory) {\n const reader = (entry as FileSystemDirectoryEntry).createReader();\n const collected: FileSystemEntry[] = [];\n const readBatch = () => {\n // readEntries yields entries in chunks — keep calling until it returns empty.\n reader.readEntries(\n (batch) => {\n if (!batch.length) {\n Promise.all(collected.map(readEntry)).then((nested) => resolve(nested.flat()));\n } else {\n collected.push(...batch);\n readBatch();\n }\n },\n () => resolve([]),\n );\n };\n readBatch();\n } else {\n resolve([]);\n }\n });\n}\n\n/**\n * Extract Files from a drop's DataTransfer. `webkitGetAsEntry()` must be called\n * synchronously within the drop handler, so all entries are captured before any await.\n */\nfunction gatherFiles(dataTransfer: DataTransfer, allowDirectories: boolean): Promise<File[]> {\n const items = dataTransfer.items;\n if (items && items.length) {\n if (allowDirectories && typeof items[0].webkitGetAsEntry === 'function') {\n const entries: FileSystemEntry[] = [];\n for (let i = 0; i < items.length; i += 1) {\n if (items[i].kind === 'file') {\n const entry = items[i].webkitGetAsEntry();\n if (entry) entries.push(entry);\n }\n }\n if (entries.length) {\n return Promise.all(entries.map(readEntry)).then((nested) => nested.flat());\n }\n }\n const files: File[] = [];\n for (let i = 0; i < items.length; i += 1) {\n if (items[i].kind === 'file') {\n const file = items[i].getAsFile();\n if (file) files.push(file);\n }\n }\n return Promise.resolve(files);\n }\n return Promise.resolve(Array.from(dataTransfer.files || []));\n}\n\n// ── Component ───────────────────────────────────────────────────────────────\n\nfunction DropZone({\n children,\n acceptedTypes = [],\n returnType = DropZoneReturnType.File,\n openPickerOnClick = false,\n multiple = true,\n maxFiles,\n maxSize,\n enablePaste = false,\n allowDirectories = true,\n capture,\n disabled = false,\n unstyled = false,\n showFileNames = false,\n files,\n onFilesChanged,\n onReject,\n onStatusChanged,\n className,\n style,\n classNames,\n styles: slotStyles,\n ...rest\n}: DropZoneProps) {\n const [status, setStatus] = useState<DropZoneStatus>(DropZoneStatus.Idle);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputId = useId();\n const statusRef = useRef(status);\n const windowDragDepth = useRef(0);\n const zoneDragDepth = useRef(0);\n\n // Latest props/callbacks, so the once-mounted window listeners never read stale values.\n const cfg = useRef({\n acceptedTypes,\n returnType,\n multiple,\n maxFiles,\n maxSize,\n allowDirectories,\n disabled,\n onFilesChanged,\n onReject,\n onStatusChanged,\n });\n useEffect(() => {\n cfg.current = {\n acceptedTypes,\n returnType,\n multiple,\n maxFiles,\n maxSize,\n allowDirectories,\n disabled,\n onFilesChanged,\n onReject,\n onStatusChanged,\n };\n });\n\n const changeStatus = useCallback((next: DropZoneStatus) => {\n if (statusRef.current === next) return;\n statusRef.current = next;\n setStatus(next);\n cfg.current.onStatusChanged?.(next);\n }, []);\n\n const processFiles = useCallback(\n async (incoming: File[]) => {\n const c = cfg.current;\n const rejections: DropZoneRejection[] = [];\n let accepted: File[] = [];\n\n for (const file of incoming) {\n if (!matchesAccepted(file, c.acceptedTypes)) {\n rejections.push({ file, reason: 'unacceptedType' });\n } else if (c.maxSize != null && file.size > c.maxSize) {\n rejections.push({ file, reason: 'tooLarge' });\n } else {\n accepted.push(file);\n }\n }\n\n if (!c.multiple) accepted = accepted.slice(0, 1);\n if (c.maxFiles != null && accepted.length > c.maxFiles) {\n accepted.slice(c.maxFiles).forEach((file) => rejections.push({ file, reason: 'tooMany' }));\n accepted = accepted.slice(0, c.maxFiles);\n }\n\n // Read in input order — Promise.all preserves index regardless of completion order.\n const results = await Promise.all(accepted.map((file) => readFile(file, c.returnType)));\n const loaded: (File | LoadedFile)[] = [];\n results.forEach((result, index) => {\n if (result.ok) loaded.push(result.value);\n else rejections.push({ file: accepted[index], reason: 'readError' });\n });\n\n if (rejections.length) c.onReject?.(rejections);\n changeStatus(rejections.length && !loaded.length ? DropZoneStatus.Error : DropZoneStatus.Idle);\n if (loaded.length) c.onFilesChanged?.(loaded);\n },\n [changeStatus],\n );\n\n // Window-level drag tracking via an enter/leave depth counter (robust against bubbling).\n useEffect(() => {\n const hasFiles = (dt: DataTransfer | null) => !dt || Array.from(dt.types || []).includes('Files');\n\n const onWindowDragEnter = (e: DragEvent) => {\n if (cfg.current.disabled || !hasFiles(e.dataTransfer)) return;\n windowDragDepth.current += 1;\n if (statusRef.current === DropZoneStatus.Idle || statusRef.current === DropZoneStatus.Error) {\n changeStatus(DropZoneStatus.Dragging);\n }\n };\n const onWindowDragLeave = () => {\n windowDragDepth.current = Math.max(0, windowDragDepth.current - 1);\n if (windowDragDepth.current === 0 && statusRef.current === DropZoneStatus.Dragging) {\n changeStatus(DropZoneStatus.Idle);\n }\n };\n const onWindowDrop = () => {\n windowDragDepth.current = 0;\n zoneDragDepth.current = 0;\n if (statusRef.current === DropZoneStatus.Dragging) changeStatus(DropZoneStatus.Idle);\n };\n\n window.addEventListener('dragenter', onWindowDragEnter);\n window.addEventListener('dragleave', onWindowDragLeave);\n window.addEventListener('drop', onWindowDrop);\n return () => {\n window.removeEventListener('dragenter', onWindowDragEnter);\n window.removeEventListener('dragleave', onWindowDragLeave);\n window.removeEventListener('drop', onWindowDrop);\n };\n }, [changeStatus]);\n\n const onDragOver = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer) e.dataTransfer.dropEffect = disabled ? 'none' : 'copy';\n },\n [disabled],\n );\n\n const onDragEnter = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n if (disabled) return;\n zoneDragDepth.current += 1;\n changeStatus(DropZoneStatus.Active);\n },\n [disabled, changeStatus],\n );\n\n const onDragLeave = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n zoneDragDepth.current = Math.max(0, zoneDragDepth.current - 1);\n if (zoneDragDepth.current === 0) {\n // Left the zone, but a drag may still be active elsewhere in the window.\n changeStatus(windowDragDepth.current > 0 ? DropZoneStatus.Dragging : DropZoneStatus.Idle);\n }\n },\n [changeStatus],\n );\n\n const onDrop = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n zoneDragDepth.current = 0;\n windowDragDepth.current = 0;\n if (disabled || !e.dataTransfer) {\n changeStatus(DropZoneStatus.Idle);\n return;\n }\n changeStatus(DropZoneStatus.Idle);\n // gatherFiles captures any directory entries synchronously before awaiting.\n gatherFiles(e.dataTransfer, cfg.current.allowDirectories).then((collected) => {\n if (collected.length) processFiles(collected);\n });\n },\n [disabled, changeStatus, processFiles],\n );\n\n const openPicker = useCallback(() => {\n if (disabled || !openPickerOnClick) return;\n inputRef.current?.click();\n }, [disabled, openPickerOnClick]);\n\n const onInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const selected = Array.from(e.target.files || []);\n // Reset so picking the same file again still fires onChange.\n e.target.value = '';\n if (selected.length) processFiles(selected);\n },\n [processFiles],\n );\n\n const onPaste = useCallback(\n (e: React.ClipboardEvent<HTMLDivElement>) => {\n if (!enablePaste || disabled) return;\n const pasted = Array.from(e.clipboardData?.files || []);\n if (pasted.length) {\n e.preventDefault();\n processFiles(pasted);\n }\n },\n [enablePaste, disabled, processFiles],\n );\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!openPickerOnClick || disabled) return;\n if (!isSelfActivation(e)) return;\n e.preventDefault();\n openPicker();\n },\n [openPickerOnClick, disabled, openPicker],\n );\n\n const isDragging = status === DropZoneStatus.Dragging || status === DropZoneStatus.Active;\n const renderState: DropZoneRenderState = {\n status,\n isDragging,\n isActive: status === DropZoneStatus.Active,\n disabled,\n };\n\n const acceptAttr = acceptedTypes.length ? acceptedTypes.join(',') : undefined;\n\n return (\n <div\n {...rest}\n className={cx(\n styles.dropZone,\n openPickerOnClick && styles.dropZoneClickable,\n disabled && styles.dropZoneDisabled,\n !unstyled && styles.dropZoneDefault,\n !unstyled && status === DropZoneStatus.Dragging && styles.dropZoneDragging,\n !unstyled && status === DropZoneStatus.Active && styles.dropZoneActive,\n !unstyled && status === DropZoneStatus.Error && styles.dropZoneError,\n classNames?.root,\n className,\n )}\n style={{ ...slotStyles?.root, ...style }}\n onDragEnter={onDragEnter}\n onDragLeave={onDragLeave}\n onDragOver={onDragOver}\n onDrop={onDrop}\n onClick={openPicker}\n onKeyDown={onKeyDown}\n onPaste={enablePaste ? onPaste : undefined}\n role={openPickerOnClick ? 'button' : undefined}\n tabIndex={openPickerOnClick && !disabled ? 0 : undefined}\n aria-disabled={disabled || undefined}\n >\n <div\n className={cx(styles.dropZoneContent, isDragging && styles.dropZoneContentDragging, classNames?.content)}\n style={slotStyles?.content}\n >\n {typeof children === 'function' ? children(renderState) : children}\n </div>\n\n {showFileNames && files && files.length > 0 && (\n <div className={cx(styles.dropZoneFileList, classNames?.fileList)} style={slotStyles?.fileList}>\n {files.map((file, index) => (\n <div\n key={`${file.name}-${index}`}\n className={cx(styles.dropZoneFileItem, classNames?.fileItem)}\n style={slotStyles?.fileItem}\n >\n {file.name}\n </div>\n ))}\n </div>\n )}\n\n <input\n ref={inputRef}\n id={inputId}\n type='file'\n className={cx(styles.dropZoneInput, classNames?.input)}\n style={slotStyles?.input}\n accept={acceptAttr}\n multiple={multiple}\n capture={capture}\n disabled={disabled}\n onChange={onInputChange}\n tabIndex={-1}\n aria-hidden='true'\n />\n </div>\n );\n}\n\nexport default DropZone;\n"],"mappings":"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"}
1
+ {"version":3,"file":"dropZone.mjs","names":[],"sources":["../../../../package/common/dropZone/dropZone.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useId, useRef, useState } from 'react';\nimport cx from 'classnames';\n\nimport {\n DropZoneProps,\n DropZoneReturnType,\n DropZoneStatus,\n DropZoneRejection,\n DropZoneRenderState,\n LoadedFile,\n} from './dropZone.types';\n\nimport styles from './dropZone.module.pcss';\nimport { isSelfActivation } from '../utils/activationKey';\n\n// ── Pure helpers ──────────────────────────────────────────────────────────────\n\n/** True when a file matches one of the accepted tokens (extension, mime, or wildcard). */\nfunction matchesAccepted(file: File, acceptedTypes: string[]): boolean {\n if (!acceptedTypes.length) return true;\n const name = file.name.toLowerCase();\n const type = file.type.toLowerCase();\n return acceptedTypes.some((raw) => {\n const accept = raw.trim().toLowerCase();\n if (!accept) return false;\n if (accept.startsWith('.')) return name.endsWith(accept); // extension\n if (accept.endsWith('/*')) return type.startsWith(accept.slice(0, -1)); // wildcard e.g. image/\n return type === accept; // exact mime type\n });\n}\n\ntype ReadResult = { ok: true; value: File | LoadedFile } | { ok: false };\n\n/** Read a single file into the requested return shape. Never rejects — failures resolve to `{ ok: false }`. */\nfunction readFile(file: File, returnType: DropZoneReturnType): Promise<ReadResult> {\n if (returnType === DropZoneReturnType.File) {\n return Promise.resolve({ ok: true, value: file });\n }\n return new Promise<ReadResult>((resolve) => {\n const reader = new FileReader();\n reader.onload = (event) => {\n const data = event.target?.result;\n if (typeof data !== 'string') {\n resolve({ ok: false });\n return;\n }\n resolve({\n ok: true,\n value: { name: file.name, size: file.size, type: file.type, lastModified: file.lastModified, data },\n });\n };\n reader.onerror = () => resolve({ ok: false });\n if (returnType === DropZoneReturnType.Base64) reader.readAsDataURL(file);\n else reader.readAsText(file);\n });\n}\n\n/** Recursively flatten a dropped file-system entry into a list of Files. */\nfunction readEntry(entry: FileSystemEntry): Promise<File[]> {\n return new Promise((resolve) => {\n if (entry.isFile) {\n (entry as FileSystemFileEntry).file(\n (file) => resolve([file]),\n () => resolve([]),\n );\n } else if (entry.isDirectory) {\n const reader = (entry as FileSystemDirectoryEntry).createReader();\n const collected: FileSystemEntry[] = [];\n const readBatch = () => {\n // readEntries yields entries in chunks — keep calling until it returns empty.\n reader.readEntries(\n (batch) => {\n if (!batch.length) {\n Promise.all(collected.map(readEntry)).then((nested) => resolve(nested.flat()));\n } else {\n collected.push(...batch);\n readBatch();\n }\n },\n () => resolve([]),\n );\n };\n readBatch();\n } else {\n resolve([]);\n }\n });\n}\n\n/**\n * Extract Files from a drop's DataTransfer. `webkitGetAsEntry()` must be called\n * synchronously within the drop handler, so all entries are captured before any await.\n */\nfunction gatherFiles(dataTransfer: DataTransfer, allowDirectories: boolean): Promise<File[]> {\n const items = dataTransfer.items;\n if (items && items.length) {\n if (allowDirectories && typeof items[0].webkitGetAsEntry === 'function') {\n const entries: FileSystemEntry[] = [];\n for (let i = 0; i < items.length; i += 1) {\n if (items[i].kind === 'file') {\n const entry = items[i].webkitGetAsEntry();\n if (entry) entries.push(entry);\n }\n }\n if (entries.length) {\n return Promise.all(entries.map(readEntry)).then((nested) => nested.flat());\n }\n }\n const files: File[] = [];\n for (let i = 0; i < items.length; i += 1) {\n if (items[i].kind === 'file') {\n const file = items[i].getAsFile();\n if (file) files.push(file);\n }\n }\n return Promise.resolve(files);\n }\n return Promise.resolve(Array.from(dataTransfer.files || []));\n}\n\n// ── Component ───────────────────────────────────────────────────────────────\n\nfunction DropZone({\n children,\n acceptedTypes = [],\n returnType = DropZoneReturnType.File,\n openPickerOnClick = false,\n multiple = true,\n maxFiles,\n maxSize,\n enablePaste = false,\n allowDirectories = true,\n capture,\n disabled = false,\n unstyled = false,\n showFileNames = false,\n files,\n onFilesChanged,\n onReject,\n onStatusChanged,\n className,\n style,\n classNames,\n styles: slotStyles,\n ...rest\n}: DropZoneProps) {\n const [status, setStatus] = useState<DropZoneStatus>(DropZoneStatus.Idle);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputId = useId();\n const statusRef = useRef(status);\n const windowDragDepth = useRef(0);\n const zoneDragDepth = useRef(0);\n\n // Latest props/callbacks, so the once-mounted window listeners never read stale values.\n const cfg = useRef({\n acceptedTypes,\n returnType,\n multiple,\n maxFiles,\n maxSize,\n allowDirectories,\n disabled,\n onFilesChanged,\n onReject,\n onStatusChanged,\n });\n useEffect(() => {\n cfg.current = {\n acceptedTypes,\n returnType,\n multiple,\n maxFiles,\n maxSize,\n allowDirectories,\n disabled,\n onFilesChanged,\n onReject,\n onStatusChanged,\n };\n });\n\n const changeStatus = useCallback((next: DropZoneStatus) => {\n if (statusRef.current === next) return;\n statusRef.current = next;\n setStatus(next);\n cfg.current.onStatusChanged?.(next);\n }, []);\n\n const processFiles = useCallback(\n async (incoming: File[]) => {\n const c = cfg.current;\n const rejections: DropZoneRejection[] = [];\n let accepted: File[] = [];\n\n for (const file of incoming) {\n if (!matchesAccepted(file, c.acceptedTypes)) {\n rejections.push({ file, reason: 'unacceptedType' });\n } else if (c.maxSize != null && file.size > c.maxSize) {\n rejections.push({ file, reason: 'tooLarge' });\n } else {\n accepted.push(file);\n }\n }\n\n if (!c.multiple) accepted = accepted.slice(0, 1);\n if (c.maxFiles != null && accepted.length > c.maxFiles) {\n accepted.slice(c.maxFiles).forEach((file) => rejections.push({ file, reason: 'tooMany' }));\n accepted = accepted.slice(0, c.maxFiles);\n }\n\n // Read in input order — Promise.all preserves index regardless of completion order.\n const results = await Promise.all(accepted.map((file) => readFile(file, c.returnType)));\n const loaded: (File | LoadedFile)[] = [];\n results.forEach((result, index) => {\n if (result.ok) loaded.push(result.value);\n else rejections.push({ file: accepted[index], reason: 'readError' });\n });\n\n if (rejections.length) c.onReject?.(rejections);\n changeStatus(rejections.length && !loaded.length ? DropZoneStatus.Error : DropZoneStatus.Idle);\n if (loaded.length) c.onFilesChanged?.(loaded);\n },\n [changeStatus],\n );\n\n // Window-level drag tracking via an enter/leave depth counter (robust against bubbling).\n useEffect(() => {\n const hasFiles = (dt: DataTransfer | null) => !dt || Array.from(dt.types || []).includes('Files');\n\n const onWindowDragEnter = (e: DragEvent) => {\n if (cfg.current.disabled || !hasFiles(e.dataTransfer)) return;\n windowDragDepth.current += 1;\n if (statusRef.current === DropZoneStatus.Idle || statusRef.current === DropZoneStatus.Error) {\n changeStatus(DropZoneStatus.Dragging);\n }\n };\n const onWindowDragLeave = () => {\n windowDragDepth.current = Math.max(0, windowDragDepth.current - 1);\n if (windowDragDepth.current === 0 && statusRef.current === DropZoneStatus.Dragging) {\n changeStatus(DropZoneStatus.Idle);\n }\n };\n const onWindowDrop = () => {\n windowDragDepth.current = 0;\n zoneDragDepth.current = 0;\n if (statusRef.current === DropZoneStatus.Dragging) changeStatus(DropZoneStatus.Idle);\n };\n\n window.addEventListener('dragenter', onWindowDragEnter);\n window.addEventListener('dragleave', onWindowDragLeave);\n window.addEventListener('drop', onWindowDrop);\n return () => {\n window.removeEventListener('dragenter', onWindowDragEnter);\n window.removeEventListener('dragleave', onWindowDragLeave);\n window.removeEventListener('drop', onWindowDrop);\n };\n }, [changeStatus]);\n\n const onDragOver = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n if (e.dataTransfer) e.dataTransfer.dropEffect = disabled ? 'none' : 'copy';\n },\n [disabled],\n );\n\n const onDragEnter = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n if (disabled) return;\n zoneDragDepth.current += 1;\n changeStatus(DropZoneStatus.Active);\n },\n [disabled, changeStatus],\n );\n\n const onDragLeave = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n zoneDragDepth.current = Math.max(0, zoneDragDepth.current - 1);\n if (zoneDragDepth.current === 0) {\n // Left the zone, but a drag may still be active elsewhere in the window.\n changeStatus(windowDragDepth.current > 0 ? DropZoneStatus.Dragging : DropZoneStatus.Idle);\n }\n },\n [changeStatus],\n );\n\n const onDrop = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n e.stopPropagation();\n zoneDragDepth.current = 0;\n windowDragDepth.current = 0;\n if (disabled || !e.dataTransfer) {\n changeStatus(DropZoneStatus.Idle);\n return;\n }\n changeStatus(DropZoneStatus.Idle);\n // gatherFiles captures any directory entries synchronously before awaiting.\n gatherFiles(e.dataTransfer, cfg.current.allowDirectories).then((collected) => {\n if (collected.length) processFiles(collected);\n });\n },\n [disabled, changeStatus, processFiles],\n );\n\n const openPicker = useCallback(() => {\n if (disabled || !openPickerOnClick) return;\n inputRef.current?.click();\n }, [disabled, openPickerOnClick]);\n\n const onInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const selected = Array.from(e.target.files || []);\n // Reset so picking the same file again still fires onChange.\n e.target.value = '';\n if (selected.length) processFiles(selected);\n },\n [processFiles],\n );\n\n const onPaste = useCallback(\n (e: React.ClipboardEvent<HTMLDivElement>) => {\n if (!enablePaste || disabled) return;\n const pasted = Array.from(e.clipboardData?.files || []);\n if (pasted.length) {\n e.preventDefault();\n processFiles(pasted);\n }\n },\n [enablePaste, disabled, processFiles],\n );\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (!openPickerOnClick || disabled) return;\n if (!isSelfActivation(e)) return;\n e.preventDefault();\n openPicker();\n },\n [openPickerOnClick, disabled, openPicker],\n );\n\n const isDragging = status === DropZoneStatus.Dragging || status === DropZoneStatus.Active;\n const renderState: DropZoneRenderState = {\n status,\n isDragging,\n isActive: status === DropZoneStatus.Active,\n disabled,\n };\n\n const acceptAttr = acceptedTypes.length ? acceptedTypes.join(',') : undefined;\n\n return (\n <div\n {...rest}\n className={cx(\n styles.dropZone,\n openPickerOnClick && styles.dropZoneClickable,\n disabled && styles.dropZoneDisabled,\n !unstyled && styles.dropZoneDefault,\n !unstyled && status === DropZoneStatus.Dragging && styles.dropZoneDragging,\n !unstyled && status === DropZoneStatus.Active && styles.dropZoneActive,\n !unstyled && status === DropZoneStatus.Error && styles.dropZoneError,\n classNames?.root,\n className,\n )}\n style={{ ...slotStyles?.root, ...style }}\n onDragEnter={onDragEnter}\n onDragLeave={onDragLeave}\n onDragOver={onDragOver}\n onDrop={onDrop}\n onClick={openPicker}\n onKeyDown={onKeyDown}\n onPaste={enablePaste ? onPaste : undefined}\n role={openPickerOnClick ? 'button' : undefined}\n tabIndex={openPickerOnClick && !disabled ? 0 : undefined}\n aria-disabled={disabled || undefined}\n >\n <div\n className={cx(styles.dropZoneContent, isDragging && styles.dropZoneContentDragging, classNames?.content)}\n style={slotStyles?.content}\n >\n {typeof children === 'function' ? children(renderState) : children}\n </div>\n\n {showFileNames && files && files.length > 0 && (\n <div className={cx(styles.dropZoneFileList, classNames?.fileList)} style={slotStyles?.fileList}>\n {files.map((file, index) => (\n <div\n key={`${file.name}-${index}`}\n className={cx(styles.dropZoneFileItem, classNames?.fileItem)}\n style={slotStyles?.fileItem}\n >\n {file.name}\n </div>\n ))}\n </div>\n )}\n\n <input\n ref={inputRef}\n id={inputId}\n type='file'\n className={cx(styles.dropZoneInput, classNames?.input)}\n style={slotStyles?.input}\n accept={acceptAttr}\n multiple={multiple}\n capture={capture}\n disabled={disabled}\n onChange={onInputChange}\n tabIndex={-1}\n aria-hidden='true'\n />\n </div>\n );\n}\n\nexport default DropZone;\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var e=`dropZone_9iJZy`,t=`dropZone-clickable_pcRhf`,n=`dropZone-disabled_YWcMp`,r=`dropZone-default_5dSsT`,i=`dropZone-dragging_nGSL3`,a=`dropZone-active_Rov1w`,o=`dropZone-error_hlnmB`,s=`dropZone-content_1QDk7`,c=`dropZone-content-dragging_ettwl`,l=`dropZone-fileList_si3X1`,u=`dropZone-fileItem_fES6y`,d=`dropZone-input_4DGty`,f={dropZone:e,"dropZone-clickable":`dropZone-clickable_pcRhf`,dropZoneClickable:t,"dropZone-disabled":`dropZone-disabled_YWcMp`,dropZoneDisabled:n,"dropZone-default":`dropZone-default_5dSsT`,dropZoneDefault:r,"dropZone-dragging":`dropZone-dragging_nGSL3`,dropZoneDragging:i,"dropZone-active":`dropZone-active_Rov1w`,dropZoneActive:a,"dropZone-error":`dropZone-error_hlnmB`,dropZoneError:o,"dropZone-content":`dropZone-content_1QDk7`,dropZoneContent:s,"dropZone-content-dragging":`dropZone-content-dragging_ettwl`,dropZoneContentDragging:c,"dropZone-fileList":`dropZone-fileList_si3X1`,dropZoneFileList:l,"dropZone-fileItem":`dropZone-fileItem_fES6y`,dropZoneFileItem:u,"dropZone-input":`dropZone-input_4DGty`,dropZoneInput:d};export{f as default,e as dropZone,a as dropZoneActive,t as dropZoneClickable,s as dropZoneContent,c as dropZoneContentDragging,r as dropZoneDefault,n as dropZoneDisabled,i as dropZoneDragging,o as dropZoneError,u as dropZoneFileItem,l as dropZoneFileList,d as dropZoneInput};
1
+ "use client";var e=`dropZone_9iJZy`,t=`dropZone-clickable_pcRhf`,n=`dropZone-disabled_YWcMp`,r=`dropZone-default_5dSsT`,i=`dropZone-dragging_nGSL3`,a=`dropZone-active_Rov1w`,o=`dropZone-error_hlnmB`,s=`dropZone-content_1QDk7`,c=`dropZone-content-dragging_ettwl`,l=`dropZone-fileList_si3X1`,u=`dropZone-fileItem_fES6y`,d=`dropZone-input_4DGty`,f={dropZone:e,"dropZone-clickable":`dropZone-clickable_pcRhf`,dropZoneClickable:t,"dropZone-disabled":`dropZone-disabled_YWcMp`,dropZoneDisabled:n,"dropZone-default":`dropZone-default_5dSsT`,dropZoneDefault:r,"dropZone-dragging":`dropZone-dragging_nGSL3`,dropZoneDragging:i,"dropZone-active":`dropZone-active_Rov1w`,dropZoneActive:a,"dropZone-error":`dropZone-error_hlnmB`,dropZoneError:o,"dropZone-content":`dropZone-content_1QDk7`,dropZoneContent:s,"dropZone-content-dragging":`dropZone-content-dragging_ettwl`,dropZoneContentDragging:c,"dropZone-fileList":`dropZone-fileList_si3X1`,dropZoneFileList:l,"dropZone-fileItem":`dropZone-fileItem_fES6y`,dropZoneFileItem:u,"dropZone-input":`dropZone-input_4DGty`,dropZoneInput:d};export{f as default,e as dropZone,a as dropZoneActive,t as dropZoneClickable,s as dropZoneContent,c as dropZoneContentDragging,r as dropZoneDefault,n as dropZoneDisabled,i as dropZoneDragging,o as dropZoneError,u as dropZoneFileItem,l as dropZoneFileList,d as dropZoneInput};
2
2
  //# sourceMappingURL=dropZone.module.mjs.map
@@ -1,2 +1,2 @@
1
- var e=function(e){return e.Idle=`idle`,e.Dragging=`dragging`,e.Active=`active`,e.Error=`error`,e}({}),t=function(e){return e.File=`file`,e.Base64=`base64`,e.Text=`text`,e}({});export{t as DropZoneReturnType,e as DropZoneStatus};
1
+ "use client";var e=function(e){return e.Idle=`idle`,e.Dragging=`dragging`,e.Active=`active`,e.Error=`error`,e}({}),t=function(e){return e.File=`file`,e.Base64=`base64`,e.Text=`text`,e}({});export{t as DropZoneReturnType,e as DropZoneStatus};
2
2
  //# sourceMappingURL=dropZone.types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropZone.types.mjs","names":[],"sources":["../../../../package/common/dropZone/dropZone.types.ts"],"sourcesContent":["import type React from 'react';\nimport type { SlotClassNames, SlotStyles, HtmlProps } from '../types/slots.types';\n\nexport enum DropZoneStatus {\n /** Nothing is happening. */\n Idle = 'idle',\n /** A file drag is somewhere in the window — the zone is \"armed\". */\n Dragging = 'dragging',\n /** A file drag is hovering directly over this zone. */\n Active = 'active',\n /** The last drop / selection was rejected. */\n Error = 'error',\n}\n\nexport enum DropZoneReturnType {\n /** Emit the raw `File` objects (default). */\n File = 'file',\n /** Read each file as a base64 data URL and emit `LoadedFile`. */\n Base64 = 'base64',\n /** Read each file as UTF-8 text and emit `LoadedFile`. */\n Text = 'text',\n}\n\nexport interface LoadedFile {\n name: string;\n size: number;\n type: string;\n lastModified: number;\n /** The FileReader result — a base64 data URL or text, depending on `returnType`. */\n data: string;\n}\n\nexport type DropZoneRejectionReason =\n /** File extension / mime type not in `acceptedTypes`. */\n | 'unacceptedType'\n /** File exceeds `maxSize`. */\n | 'tooLarge'\n /** More files than `maxFiles` were provided. */\n | 'tooMany'\n /** Reading the file (base64 / text) failed. */\n | 'readError';\n\nexport interface DropZoneRejection {\n file: File;\n reason: DropZoneRejectionReason;\n}\n\nexport interface DropZoneRenderState {\n status: DropZoneStatus;\n /** A drag is anywhere in the window (zone armed) or directly over it. */\n isDragging: boolean;\n /** A drag is directly over this zone. */\n isActive: boolean;\n disabled: boolean;\n}\n\nexport type DropZoneSlots = 'root' | 'content' | 'fileList' | 'fileItem' | 'input';\n\nexport interface DropZoneProps extends Omit<HtmlProps, 'children'> {\n /** Static content, or a render function that receives the live drop state. */\n children?: React.ReactNode | ((state: DropZoneRenderState) => React.ReactNode);\n\n /**\n * Accepted file types: extensions (`'.png'`), mime types (`'image/png'`),\n * or wildcards (`'image/*'`). Empty / omitted means accept everything.\n * Also drives the native picker's `accept` attribute.\n */\n acceptedTypes?: string[];\n /** Output shape for each accepted file. Default: `File`. */\n returnType?: DropZoneReturnType;\n\n /** Open the native file picker when the zone is clicked. */\n openPickerOnClick?: boolean;\n /** Allow more than one file. Default: `true`. */\n multiple?: boolean;\n /** Reject files beyond this count (extras reported via `onReject`). */\n maxFiles?: number;\n /** Reject files larger than this many bytes. */\n maxSize?: number;\n /** Accept files pasted from the clipboard while the zone is focused. */\n enablePaste?: boolean;\n /** Recurse into dropped directories. Default: `true`. */\n allowDirectories?: boolean;\n\n /** Native `capture` attribute (mobile camera / mic). */\n capture?: boolean | 'user' | 'environment';\n disabled?: boolean;\n\n /** Drop the built-in border / background styling; keep only base layout. */\n unstyled?: boolean;\n /** Render the names of `files` beneath the content. */\n showFileNames?: boolean;\n /** Files whose names are listed when `showFileNames` is set. */\n files?: (File | LoadedFile)[];\n\n onFilesChanged?: (files: (File | LoadedFile)[]) => void;\n onReject?: (rejections: DropZoneRejection[]) => void;\n onStatusChanged?: (status: DropZoneStatus) => void;\n\n className?: string;\n style?: React.CSSProperties;\n classNames?: SlotClassNames<DropZoneSlots>;\n styles?: SlotStyles<DropZoneSlots>;\n}\n"],"mappings":"AAGA,IAAY,EAAL,SAAA,EAAA,OAEL,GAAA,KAAA,OAEA,EAAA,SAAA,WAEA,EAAA,OAAA,SAEA,EAAA,MAAA,SACF,EAAA,CAAA,CAAA,EAEY,EAAL,SAAA,EAAA,OAEL,GAAA,KAAA,OAEA,EAAA,OAAA,SAEA,EAAA,KAAA,QACF,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"dropZone.types.mjs","names":[],"sources":["../../../../package/common/dropZone/dropZone.types.ts"],"sourcesContent":["import type React from 'react';\nimport type { SlotClassNames, SlotStyles, HtmlProps } from '../types/slots.types';\n\nexport enum DropZoneStatus {\n /** Nothing is happening. */\n Idle = 'idle',\n /** A file drag is somewhere in the window — the zone is \"armed\". */\n Dragging = 'dragging',\n /** A file drag is hovering directly over this zone. */\n Active = 'active',\n /** The last drop / selection was rejected. */\n Error = 'error',\n}\n\nexport enum DropZoneReturnType {\n /** Emit the raw `File` objects (default). */\n File = 'file',\n /** Read each file as a base64 data URL and emit `LoadedFile`. */\n Base64 = 'base64',\n /** Read each file as UTF-8 text and emit `LoadedFile`. */\n Text = 'text',\n}\n\nexport interface LoadedFile {\n name: string;\n size: number;\n type: string;\n lastModified: number;\n /** The FileReader result — a base64 data URL or text, depending on `returnType`. */\n data: string;\n}\n\nexport type DropZoneRejectionReason =\n /** File extension / mime type not in `acceptedTypes`. */\n | 'unacceptedType'\n /** File exceeds `maxSize`. */\n | 'tooLarge'\n /** More files than `maxFiles` were provided. */\n | 'tooMany'\n /** Reading the file (base64 / text) failed. */\n | 'readError';\n\nexport interface DropZoneRejection {\n file: File;\n reason: DropZoneRejectionReason;\n}\n\nexport interface DropZoneRenderState {\n status: DropZoneStatus;\n /** A drag is anywhere in the window (zone armed) or directly over it. */\n isDragging: boolean;\n /** A drag is directly over this zone. */\n isActive: boolean;\n disabled: boolean;\n}\n\nexport type DropZoneSlots = 'root' | 'content' | 'fileList' | 'fileItem' | 'input';\n\nexport interface DropZoneProps extends Omit<HtmlProps, 'children'> {\n /** Static content, or a render function that receives the live drop state. */\n children?: React.ReactNode | ((state: DropZoneRenderState) => React.ReactNode);\n\n /**\n * Accepted file types: extensions (`'.png'`), mime types (`'image/png'`),\n * or wildcards (`'image/*'`). Empty / omitted means accept everything.\n * Also drives the native picker's `accept` attribute.\n */\n acceptedTypes?: string[];\n /** Output shape for each accepted file. Default: `File`. */\n returnType?: DropZoneReturnType;\n\n /** Open the native file picker when the zone is clicked. */\n openPickerOnClick?: boolean;\n /** Allow more than one file. Default: `true`. */\n multiple?: boolean;\n /** Reject files beyond this count (extras reported via `onReject`). */\n maxFiles?: number;\n /** Reject files larger than this many bytes. */\n maxSize?: number;\n /** Accept files pasted from the clipboard while the zone is focused. */\n enablePaste?: boolean;\n /** Recurse into dropped directories. Default: `true`. */\n allowDirectories?: boolean;\n\n /** Native `capture` attribute (mobile camera / mic). */\n capture?: boolean | 'user' | 'environment';\n disabled?: boolean;\n\n /** Drop the built-in border / background styling; keep only base layout. */\n unstyled?: boolean;\n /** Render the names of `files` beneath the content. */\n showFileNames?: boolean;\n /** Files whose names are listed when `showFileNames` is set. */\n files?: (File | LoadedFile)[];\n\n onFilesChanged?: (files: (File | LoadedFile)[]) => void;\n onReject?: (rejections: DropZoneRejection[]) => void;\n onStatusChanged?: (status: DropZoneStatus) => void;\n\n className?: string;\n style?: React.CSSProperties;\n classNames?: SlotClassNames<DropZoneSlots>;\n styles?: SlotStyles<DropZoneSlots>;\n}\n"],"mappings":"aAGA,IAAY,EAAL,SAAA,EAAA,OAEL,GAAA,KAAA,OAEA,EAAA,SAAA,WAEA,EAAA,OAAA,SAEA,EAAA,MAAA,SACF,EAAA,CAAA,CAAA,EAEY,EAAL,SAAA,EAAA,OAEL,GAAA,KAAA,OAEA,EAAA,OAAA,SAEA,EAAA,KAAA,QACF,EAAA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import{useComponentDefaults as e}from"../configProvider/useComponentDefaults.mjs";import{usePresentationDefault as t}from"../configProvider/usePresentationDefault.mjs";import{Presentation as n}from"../configProvider/presentation.types.mjs";import ee from"../styles/sheet.module.mjs";import{PopoverAlign as te,PopoverPlacement as ne}from"../popover/popover.types.mjs";import r from"../hooks/useSheet.mjs";import re from"../popover/popover.mjs";import i from"../tooltip/tooltip.mjs";import ie from"../infiniteBlock/infiniteBlock.mjs";import a from"./dropdown.module.mjs";import{useEffect as o,useLayoutEffect as s,useRef as c,useState as l}from"react";import u from"classnames";import{FontAwesomeIcon as ae}from"@fortawesome/react-fontawesome";import{faChevronDown as oe}from"@fortawesome/free-solid-svg-icons";import{jsx as d,jsxs as f}from"react/jsx-runtime";import se from"downshift";function p(p){let{errorMessage:m=``,className:ce=``,style:le,label:h=``,value:ue=``,isValid:de=!0,tabIndex:g=0,isRequired:_=!1,customProps:v={},isRow:fe=!1,disabled:y=!1,readOnly:b=!1,onScroll:pe=()=>Promise.resolve(),onClick:x,onChange:S,onFocus:me=null,onBlur:he=null,onMouseEnter:ge=null,onMouseLeave:_e=null,dropdownLabel:ve,isDropdownListWider:C=!1,formValidator:w=null,classNames:T,styles:E,items:D=[],useMatLabelStyle:O=!0,alwaysFloatLabel:k=!1,placeholder:A=``,plainStyle:j=!1,scrollToSelected:M=!1,presentation:N,reactRef:P,...F}=e(`Dropdown`,p),[I,L]=l(!1),[ye,R]=l(!1),[,be]=l(0),z=c(w),B=c(null),V=c(null),[H,xe]=l(!1),Se=t(),U=N??Se??n.Default,{isSheet:W}=r(U);s(()=>{let e=B.current,t=V.current;H&&!W&&e&&t&&(t.style.fontSize=window.getComputedStyle(e).fontSize)},[H,W]),o(()=>{if(z.current=w,!z.current)return;z.current.label=h??``,z.current.validate();let e=()=>be(e=>e+1);return z.current.registerOnUpdateListener(e),()=>z.current?.removeOnUpdateListener(e)},[w,h]);let Ce=e=>{R(!0),ge?.(e)},we=e=>{R(!1),_e?.(e)},Te=e=>{L(!0),me?.(e)},Ee=e=>{z.current&&(z.current.touched=!0),L(!1),he?.(e)},De=()=>w?w.touched&&w.hasError():!de||!!m,G=()=>!!(_||w?.validators.find(e=>e.validatorId===`required`)),K=e=>{w?(w.set(e),S?.(w.value,v)):S?.(e,v)},q=ve,J=w?w.value:ue,Y=De();D.forEach(e=>{e.key===J&&(q=e.label)});let X=q||J,Z=X==null||typeof X==`string`&&X.trim()===``,Q=G()?d(`span`,{className:a.requiredMark,children:`*`}):null,Oe=h&&G()?`${h} *`:h,$=I&&!b;return f(`div`,{...F,className:u(ce,T?.root,a.dropdownLabel,a.dropdown,{[a.dropdownLabelColumn]:!fe}),style:{...le,...E?.root},onMouseEnter:Ce,onMouseLeave:we,children:[d(se,{...b?{isOpen:!1}:{},onChange:e=>K((e||{key:``}).key),itemToString:e=>e?String(e.key):``,selectedItem:D.find(e=>e.key===J)??null,onStateChange:e=>{typeof e.isOpen==`boolean`&&xe(e.isOpen)},stateReducer:(e,t)=>M&&Object.prototype.hasOwnProperty.call(t,`isOpen`)?{...t,highlightedIndex:t.isOpen?D.indexOf(e.selectedItem):null}:t,children:({getItemProps:e,getMenuProps:t,getToggleButtonProps:n,closeMenu:r,isOpen:i,selectedItem:o,highlightedIndex:s,setHighlightedIndex:c})=>d(`div`,{children:d(re,{isOpen:!y&&!b&&i,onOpenChange:e=>{e||r()},placement:ne.Bottom,align:te.Start,offset:0,withArrow:!1,constrainWidth:!1,width:`trigger`,closeOnTriggerClick:!1,focusOnOpen:!1,presentation:U,classNames:{panel:a.dropdownPanel},content:d(`div`,{...t({ref:e=>{V.current=e},"aria-label":h||A||void 0},{suppressRefError:!0}),className:u(!W&&a.dropdownInputListAnim,{[a.dropdownInputListAnimWider]:C&&!W}),children:d(ie,{onScroll:pe,className:u(a.dropdownInputList,W&&ee.sheetScroll,T?.list),style:E?.list,setHighlightedIndex:c,children:D.map((t,n)=>d(`div`,{...e({index:n,item:t,disabled:!!t.disabled}),style:E?.option,className:u(a.dropdownInputListItem,T?.option,{[a.dropdownInputListItemActive]:s===n,[a.dropdownInputListItemSelected]:o===t,[a.dropdownInputListItemDisabled]:!!t.disabled}),children:t.label},t.key))})}),children:f(`div`,{ref:B,onFocus:Te,onBlur:Ee,className:u(a.dropdownInput,{[a.dropdownInputPlain]:j,[a.dropdownInputReadOnly]:b&&!y},T?.field),style:E?.field,children:[d(`button`,{tabIndex:g,type:`button`,disabled:y,"aria-readonly":b||void 0,className:u(a.dropdownInputButton,{[a.dropdownInputButtonDisabled]:y,[a.dropdownInputButtonReadOnly]:b&&!y},T?.control),style:{...C?{padding:`6px`,border:`none`}:{},...E?.control},...n(),onClick:e=>{n().onClick?.(e),x?.(e)},ref:P,children:Z?`\xA0`:X}),d(`button`,{type:`button`,tabIndex:-1,disabled:y,className:u(a.dropdownInputButtonIcon,T?.icon),style:E?.icon,...n(),onMouseDown:e=>e.preventDefault(),onClick:e=>{n().onClick?.(e),x?.(e)},children:!y&&!b&&d(ae,{icon:oe,className:u(a.dropdownInputButtonIconArrow,{[a.dropdownInputButtonIconArrowOpen]:i})})}),d(`fieldset`,{className:u(a.dropdownFieldset,{[a.dropdownBorderPlain]:j,[a.dropdownBorderFocused]:$,[a.dropdownBorderInvalid]:Y,[a.dropdownBorderError]:Y}),children:d(`legend`,{className:u(a.dropdownFieldsetLegend,{[a.dropdownFieldsetLegendActive]:O&&(k||$||!Z)}),children:d(`span`,{children:Oe})})}),O&&h&&f(`div`,{className:u(a.dropdownMatLabel,{[a.dropdownMatLabelFloating]:k||$||!Z},T?.label),style:E?.label,children:[h,Q]}),O&&A&&d(`div`,{className:u(a.dropdownPlaceholder,$&&!q&&a.dropdownPlaceholderShown),children:A})]})})})}),h&&!O&&f(`div`,{className:u(a.dropdownLabelText,T?.label),style:E?.label,children:[h,Q]}),d(i,{variant:`error`,message:w?w.getCurrentErrorMessage():m||``,isVisible:Y&&(I||ye)})]})}export{p as default};
1
+ "use client";import{useComponentDefaults as e}from"../configProvider/useComponentDefaults.mjs";import{usePresentationDefault as t}from"../configProvider/usePresentationDefault.mjs";import{Presentation as n}from"../configProvider/presentation.types.mjs";import r from"../loading/spinnerLoading/index.mjs";import i from"../styles/sheet.module.mjs";import{PopoverAlign as ee,PopoverPlacement as te}from"../popover/popover.types.mjs";import ne from"../hooks/useSheet.mjs";import re from"../popover/popover.mjs";import ie from"../tooltip/tooltip.mjs";import{useInfiniteScroll as ae}from"../infiniteBlock/useInfiniteScroll.mjs";import{edgeIndex as oe,nextIndex as se,scrollOptionIntoView as ce}from"../utils/listNavigation.mjs";import a from"./dropdown.module.mjs";import{useEffect as o,useId as le,useLayoutEffect as ue,useRef as s,useState as c}from"react";import l from"classnames";import{FontAwesomeIcon as de}from"@fortawesome/react-fontawesome";import{faChevronDown as fe}from"@fortawesome/free-solid-svg-icons";import{jsx as u,jsxs as d}from"react/jsx-runtime";var pe=500;function f(f){let{errorMessage:p=``,className:me=``,style:he,label:m=``,value:ge=``,isValid:_e=!0,tabIndex:ve=0,isRequired:ye=!1,customProps:h={},isRow:be=!1,disabled:g=!1,readOnly:_=!1,onScroll:xe=()=>Promise.resolve(),onClick:v,onChange:y,onFocus:Se=null,onBlur:Ce=null,onMouseEnter:we=null,onMouseLeave:Te=null,dropdownLabel:Ee,isDropdownListWider:b=!1,formValidator:x=null,classNames:S,styles:C,items:w=[],useMatLabelStyle:T=!0,alwaysFloatLabel:E=!1,placeholder:D=``,plainStyle:O=!1,scrollToSelected:De=!1,presentation:Oe,reactRef:ke,...Ae}=e(`Dropdown`,f),[je,Me]=c(!1),[Ne,Pe]=c(!1),[,Fe]=c(0),k=s(x),A=s(null),j=s(null),M=s(null),[Ie,Le]=c(!1),[N,P]=c(null),F=s({buffer:``,at:0}),I=le(),L=`${I}-listbox`,R=`${I}-label`,z=e=>`${I}-option-${e}`,B=!g&&!_,V=Ie&&B,{isLoading:Re,sentinelRef:ze}=ae(M,xe,!1),Be=t(),H=Oe??Be??n.Default,{isSheet:U}=ne(H);ue(()=>{let e=A.current,t=j.current;V&&!U&&e&&t&&(t.style.fontSize=window.getComputedStyle(e).fontSize)},[V,U]),o(()=>{if(k.current=x,!k.current)return;k.current.label=m??``,k.current.validate();let e=()=>Fe(e=>e+1);return k.current.registerOnUpdateListener(e),()=>k.current?.removeOnUpdateListener(e)},[x,m]);let W=x?x.value:ge,G=w.findIndex(e=>e.key===W);o(()=>{V&&N!==null&&ce(M.current,document.getElementById(z(N)))},[V,N]);let Ve=e=>{Pe(!0),we?.(e)},He=e=>{Pe(!1),Te?.(e)},Ue=e=>{Me(!0),Se?.(e)},We=e=>{k.current&&(k.current.touched=!0),Me(!1),Ce?.(e)},Ge=()=>x?x.touched&&x.hasError():!_e||!!p,K=()=>!!(ye||x?.validators.find(e=>e.validatorId===`required`)),Ke=e=>{x?(x.set(e),y?.(x.value,h)):y?.(e,h)};function q(e){(!e||B)&&(Le(e),e?P(De&&G>=0?G:null):F.current={buffer:``,at:0})}function J(e){e.disabled||(Ke(e.key),q(!1))}let qe={isDisabled:e=>!!w[e].disabled};function Je(e){let t=Date.now(),n=t-F.current.at>pe?e:F.current.buffer+e;F.current={buffer:n,at:t};let r=n.toLowerCase(),i=w.findIndex(e=>!e.disabled&&typeof e.label==`string`&&e.label.toLowerCase().startsWith(r));i!==-1&&(V?P(i):J(w[i]))}function Ye(e){if(B){if(!V){e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Enter`||e.key===` `?(e.preventDefault(),q(!0)):e.key.length===1&&Je(e.key);return}if(e.key===`ArrowDown`||e.key===`ArrowUp`)e.preventDefault(),P(se(N,e.key===`ArrowDown`?1:-1,w.length,qe));else if(e.key===`Home`||e.key===`End`)e.preventDefault(),P(oe(e.key===`Home`?`first`:`last`,w.length,qe));else if(e.key===`Enter`||e.key===` `){e.preventDefault();let t=N===null?void 0:w[N];t?J(t):q(!1)}else e.key===`Escape`||e.key===`Tab`?q(!1):e.key.length===1&&Je(e.key)}}let Y=Ee,X=Ge();w.forEach(e=>{e.key===W&&(Y=e.label)});let Z=Y||W,Q=Z==null||typeof Z==`string`&&Z.trim()===``,Xe=K()?u(`span`,{className:a.requiredMark,children:`*`}):null,Ze=m&&K()?`${m} *`:m,$=je&&!_;return d(`div`,{...Ae,className:l(me,S?.root,a.dropdownLabel,a.dropdown,{[a.dropdownLabelColumn]:!be}),style:{...he,...C?.root},onMouseEnter:Ve,onMouseLeave:He,children:[u(`div`,{children:u(re,{isOpen:V,onOpenChange:q,disabled:!B,placement:te.Bottom,align:ee.Start,offset:0,withArrow:!1,constrainWidth:!1,width:`trigger`,focusOnOpen:!1,presentation:H,classNames:{panel:a.dropdownPanel},content:u(`div`,{ref:j,className:l(!U&&a.dropdownInputListAnim,{[a.dropdownInputListAnimWider]:b&&!U}),children:d(`div`,{ref:M,id:L,role:`listbox`,"aria-label":m||D||void 0,className:l(a.dropdownInputList,U&&i.sheetScroll,S?.list),style:C?.list,children:[w.map((e,t)=>u(`div`,{id:z(t),role:`option`,"aria-selected":e.key===W,"aria-disabled":e.disabled||void 0,style:C?.option,className:l(a.dropdownInputListItem,S?.option,{[a.dropdownInputListItemActive]:N===t,[a.dropdownInputListItemSelected]:e.key===W,[a.dropdownInputListItemDisabled]:!!e.disabled}),onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>P(t),onClick:()=>J(e),children:e.label},e.key)),u(`div`,{ref:ze,className:a.dropdownSentinel,"aria-hidden":`true`}),Re&&u(`div`,{className:a.dropdownLoadMore,"aria-hidden":`true`,children:u(r,{className:a.dropdownLoadMoreSpinner})})]})}),children:d(`div`,{ref:A,onFocus:Ue,onBlur:We,className:l(a.dropdownInput,{[a.dropdownInputPlain]:O,[a.dropdownInputReadOnly]:_&&!g},S?.field),style:C?.field,children:[u(`button`,{tabIndex:ve,type:`button`,disabled:g,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":V,"aria-controls":L,"aria-activedescendant":V&&N!==null?z(N):void 0,"aria-labelledby":m?R:void 0,"aria-label":m?void 0:D||void 0,"aria-readonly":_||void 0,className:l(a.dropdownInputButton,{[a.dropdownInputButtonDisabled]:g,[a.dropdownInputButtonReadOnly]:_&&!g},S?.control),style:{...b?{padding:`6px`,border:`none`}:{},...C?.control},onKeyDown:Ye,onClick:v,ref:ke,children:Q?`\xA0`:Z}),u(`button`,{type:`button`,tabIndex:-1,disabled:g,"aria-hidden":`true`,className:l(a.dropdownInputButtonIcon,S?.icon),style:C?.icon,onMouseDown:e=>e.preventDefault(),onClick:v,children:!g&&!_&&u(de,{icon:fe,className:l(a.dropdownInputButtonIconArrow,{[a.dropdownInputButtonIconArrowOpen]:V})})}),u(`fieldset`,{className:l(a.dropdownFieldset,{[a.dropdownBorderPlain]:O,[a.dropdownBorderFocused]:$,[a.dropdownBorderInvalid]:X,[a.dropdownBorderError]:X}),children:u(`legend`,{className:l(a.dropdownFieldsetLegend,{[a.dropdownFieldsetLegendActive]:T&&(E||$||!Q)}),children:u(`span`,{children:Ze})})}),T&&m&&d(`div`,{id:R,className:l(a.dropdownMatLabel,{[a.dropdownMatLabelFloating]:E||$||!Q},S?.label),style:C?.label,children:[m,Xe]}),T&&D&&u(`div`,{className:l(a.dropdownPlaceholder,$&&!Y&&a.dropdownPlaceholderShown),children:D})]})})}),m&&!T&&d(`div`,{id:R,className:l(a.dropdownLabelText,S?.label),style:C?.label,children:[m,Xe]}),u(ie,{variant:`error`,message:x?x.getCurrentErrorMessage():p||``,isVisible:X&&(je||Ne)})]})}export{f as default};
2
2
  //# sourceMappingURL=dropdown.mjs.map