@smwb/ui-solid 0.2.2 → 0.4.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 (861) hide show
  1. package/dist/components/dataDisplay/carousel/carousel.js +7 -7
  2. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  3. package/dist/components/dataDisplay/chat/chatAttachmentImage.js +17 -17
  4. package/dist/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -1
  5. package/dist/components/dataDisplay/chat/chatShell.js +16 -16
  6. package/dist/components/dataDisplay/chat/chatShell.js.map +1 -1
  7. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +25 -25
  8. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  9. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +15 -15
  10. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  11. package/dist/components/feedBack/modal/modal.js +29 -29
  12. package/dist/components/feedBack/modal/modal.js.map +1 -1
  13. package/dist/components/inputs/datePicker/datePicker.js +43 -43
  14. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  15. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +46 -46
  16. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  17. package/dist/components/inputs/selectField/dropdownMenu.js +30 -30
  18. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  19. package/dist/components/inputs/slider/slider.js +48 -48
  20. package/dist/components/inputs/slider/slider.js.map +1 -1
  21. package/dist/components/inputs/timePicker/timePicker.js +31 -31
  22. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  23. package/dist/components/layout/sheet/sheet.js +29 -29
  24. package/dist/components/layout/sheet/sheet.js.map +1 -1
  25. package/dist/headless/components/dataDisplay/carousel/carousel.js +20 -20
  26. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  27. package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js +17 -17
  28. package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -1
  29. package/dist/headless/components/dataDisplay/chat/chatShell.js +16 -16
  30. package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -1
  31. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +25 -25
  32. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  33. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +15 -15
  34. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  35. package/dist/headless/components/feedBack/modal/modal.js +25 -25
  36. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  37. package/dist/headless/components/inputs/datePicker/datePicker.js +43 -43
  38. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  39. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +46 -46
  40. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  41. package/dist/headless/components/inputs/selectField/dropdownMenu.js +30 -30
  42. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  43. package/dist/headless/components/inputs/slider/slider.js +90 -90
  44. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  45. package/dist/headless/components/inputs/timePicker/timePicker.js +31 -31
  46. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  47. package/dist/headless/components/layout/sheet/sheet.js +29 -29
  48. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  49. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +177 -0
  50. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -0
  51. package/dist/headless/source/components/base/animateHeight/index.js +6 -0
  52. package/dist/headless/source/components/base/animateHeight/index.js.map +7 -0
  53. package/dist/headless/source/components/base/icon/icon.jsx +60 -0
  54. package/dist/headless/source/components/base/icon/icon.jsx.map +1 -0
  55. package/dist/headless/source/components/base/icon/index.js +6 -0
  56. package/dist/headless/source/components/base/icon/index.js.map +7 -0
  57. package/dist/headless/source/components/base/ripple/index.js +6 -0
  58. package/dist/headless/source/components/base/ripple/index.js.map +7 -0
  59. package/dist/headless/source/components/base/ripple/ripple.jsx +63 -0
  60. package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -0
  61. package/dist/headless/source/components/clickAwayListener/clickAwayListener.jsx +73 -0
  62. package/dist/headless/source/components/clickAwayListener/clickAwayListener.jsx.map +1 -0
  63. package/dist/headless/source/components/clickAwayListener/index.js +6 -0
  64. package/dist/headless/source/components/clickAwayListener/index.js.map +7 -0
  65. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +82 -0
  66. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx.map +1 -0
  67. package/dist/headless/source/components/dataDisplay/accordion/index.js +6 -0
  68. package/dist/headless/source/components/dataDisplay/accordion/index.js.map +7 -0
  69. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +95 -0
  70. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -0
  71. package/dist/headless/source/components/dataDisplay/avatar/index.js +7 -0
  72. package/dist/headless/source/components/dataDisplay/avatar/index.js.map +7 -0
  73. package/dist/headless/source/components/dataDisplay/badge/badge.jsx +56 -0
  74. package/dist/headless/source/components/dataDisplay/badge/badge.jsx.map +1 -0
  75. package/dist/headless/source/components/dataDisplay/badge/index.js +6 -0
  76. package/dist/headless/source/components/dataDisplay/badge/index.js.map +7 -0
  77. package/dist/headless/source/components/dataDisplay/card/card.jsx +54 -0
  78. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -0
  79. package/dist/headless/source/components/dataDisplay/card/index.js +6 -0
  80. package/dist/headless/source/components/dataDisplay/card/index.js.map +7 -0
  81. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +407 -0
  82. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -0
  83. package/dist/headless/source/components/dataDisplay/carousel/index.js +6 -0
  84. package/dist/headless/source/components/dataDisplay/carousel/index.js.map +7 -0
  85. package/dist/headless/source/components/dataDisplay/carousel/utils.js +76 -0
  86. package/dist/headless/source/components/dataDisplay/carousel/utils.js.map +7 -0
  87. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +155 -0
  88. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -0
  89. package/dist/headless/source/components/dataDisplay/chat/chatAttachmentImage.jsx +53 -0
  90. package/dist/headless/source/components/dataDisplay/chat/chatAttachmentImage.jsx.map +1 -0
  91. package/dist/headless/source/components/dataDisplay/chat/chatAttachments.jsx +35 -0
  92. package/dist/headless/source/components/dataDisplay/chat/chatAttachments.jsx.map +1 -0
  93. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +170 -0
  94. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -0
  95. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +55 -0
  96. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -0
  97. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +38 -0
  98. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -0
  99. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +121 -0
  100. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -0
  101. package/dist/headless/source/components/dataDisplay/chat/chatMessageAvatar.jsx +19 -0
  102. package/dist/headless/source/components/dataDisplay/chat/chatMessageAvatar.jsx.map +1 -0
  103. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +56 -0
  104. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -0
  105. package/dist/headless/source/components/dataDisplay/chat/chatMessageIncoming.jsx +21 -0
  106. package/dist/headless/source/components/dataDisplay/chat/chatMessageIncoming.jsx.map +1 -0
  107. package/dist/headless/source/components/dataDisplay/chat/chatMessageItem.jsx +56 -0
  108. package/dist/headless/source/components/dataDisplay/chat/chatMessageItem.jsx.map +1 -0
  109. package/dist/headless/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +25 -0
  110. package/dist/headless/source/components/dataDisplay/chat/chatMessageOutgoing.jsx.map +1 -0
  111. package/dist/headless/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +33 -0
  112. package/dist/headless/source/components/dataDisplay/chat/chatMessageSkeleton.jsx.map +1 -0
  113. package/dist/headless/source/components/dataDisplay/chat/chatMessageStatus.jsx +35 -0
  114. package/dist/headless/source/components/dataDisplay/chat/chatMessageStatus.jsx.map +1 -0
  115. package/dist/headless/source/components/dataDisplay/chat/chatMessageSystem.jsx +17 -0
  116. package/dist/headless/source/components/dataDisplay/chat/chatMessageSystem.jsx.map +1 -0
  117. package/dist/headless/source/components/dataDisplay/chat/chatMessages.jsx +63 -0
  118. package/dist/headless/source/components/dataDisplay/chat/chatMessages.jsx.map +1 -0
  119. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +60 -0
  120. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -0
  121. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +66 -0
  122. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx.map +1 -0
  123. package/dist/headless/source/components/dataDisplay/chat/index.js +82 -0
  124. package/dist/headless/source/components/dataDisplay/chat/index.js.map +7 -0
  125. package/dist/headless/source/components/dataDisplay/chat/types.js +25 -0
  126. package/dist/headless/source/components/dataDisplay/chat/types.js.map +7 -0
  127. package/dist/headless/source/components/dataDisplay/chat/useChatFileUpload.js +49 -0
  128. package/dist/headless/source/components/dataDisplay/chat/useChatFileUpload.js.map +7 -0
  129. package/dist/headless/source/components/dataDisplay/chat/useChatInfiniteScroll.js +27 -0
  130. package/dist/headless/source/components/dataDisplay/chat/useChatInfiniteScroll.js.map +7 -0
  131. package/dist/headless/source/components/dataDisplay/chat/useChatStickToBottom.js +54 -0
  132. package/dist/headless/source/components/dataDisplay/chat/useChatStickToBottom.js.map +7 -0
  133. package/dist/headless/source/components/dataDisplay/chat/utils.js +103 -0
  134. package/dist/headless/source/components/dataDisplay/chat/utils.js.map +7 -0
  135. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +119 -0
  136. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -0
  137. package/dist/headless/source/components/dataDisplay/chip/index.js +6 -0
  138. package/dist/headless/source/components/dataDisplay/chip/index.js.map +7 -0
  139. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +164 -0
  140. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -0
  141. package/dist/headless/source/components/dataDisplay/expansionPanel/index.js +6 -0
  142. package/dist/headless/source/components/dataDisplay/expansionPanel/index.js.map +7 -0
  143. package/dist/headless/source/components/dataDisplay/imagesList/imagesList.jsx +25 -0
  144. package/dist/headless/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -0
  145. package/dist/headless/source/components/dataDisplay/imagesList/imagesList.types.js +1 -0
  146. package/dist/headless/source/components/dataDisplay/imagesList/imagesList.types.js.map +7 -0
  147. package/dist/headless/source/components/dataDisplay/imagesList/imagesListContext.js +8 -0
  148. package/dist/headless/source/components/dataDisplay/imagesList/imagesListContext.js.map +7 -0
  149. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +55 -0
  150. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -0
  151. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +30 -0
  152. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx.map +1 -0
  153. package/dist/headless/source/components/dataDisplay/imagesList/index.js +12 -0
  154. package/dist/headless/source/components/dataDisplay/imagesList/index.js.map +7 -0
  155. package/dist/headless/source/components/dataDisplay/list/index.js +8 -0
  156. package/dist/headless/source/components/dataDisplay/list/index.js.map +7 -0
  157. package/dist/headless/source/components/dataDisplay/list/list.jsx +24 -0
  158. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -0
  159. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +53 -0
  160. package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -0
  161. package/dist/headless/source/components/dataDisplay/table/index.js +17 -0
  162. package/dist/headless/source/components/dataDisplay/table/index.js.map +7 -0
  163. package/dist/headless/source/components/dataDisplay/table/table.jsx +46 -0
  164. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -0
  165. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +15 -0
  166. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -0
  167. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +16 -0
  168. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -0
  169. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +15 -0
  170. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -0
  171. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +53 -0
  172. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -0
  173. package/dist/headless/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +47 -0
  174. package/dist/headless/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -0
  175. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +25 -0
  176. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -0
  177. package/dist/headless/source/components/dataDisplay/treeView/index.js +6 -0
  178. package/dist/headless/source/components/dataDisplay/treeView/index.js.map +7 -0
  179. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +172 -0
  180. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -0
  181. package/dist/headless/source/components/dataDisplay/typography/index.js +6 -0
  182. package/dist/headless/source/components/dataDisplay/typography/index.js.map +7 -0
  183. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +57 -0
  184. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -0
  185. package/dist/headless/source/components/feedBack/message/index.js +7 -0
  186. package/dist/headless/source/components/feedBack/message/index.js.map +7 -0
  187. package/dist/headless/source/components/feedBack/message/message.jsx +51 -0
  188. package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -0
  189. package/dist/headless/source/components/feedBack/modal/index.js +6 -0
  190. package/dist/headless/source/components/feedBack/modal/index.js.map +7 -0
  191. package/dist/headless/source/components/feedBack/modal/modal.jsx +101 -0
  192. package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -0
  193. package/dist/headless/source/components/feedBack/progressIndicator/index.js +7 -0
  194. package/dist/headless/source/components/feedBack/progressIndicator/index.js.map +7 -0
  195. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +68 -0
  196. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -0
  197. package/dist/headless/source/components/feedBack/skeleton/index.js +6 -0
  198. package/dist/headless/source/components/feedBack/skeleton/index.js.map +7 -0
  199. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +65 -0
  200. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -0
  201. package/dist/headless/source/components/feedBack/snackbar/index.js +10 -0
  202. package/dist/headless/source/components/feedBack/snackbar/index.js.map +7 -0
  203. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +196 -0
  204. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -0
  205. package/dist/headless/source/components/feedBack/snackbar/useSnackbarsPortal.js +21 -0
  206. package/dist/headless/source/components/feedBack/snackbar/useSnackbarsPortal.js.map +7 -0
  207. package/dist/headless/source/components/feedBack/tooltip/index.js +6 -0
  208. package/dist/headless/source/components/feedBack/tooltip/index.js.map +7 -0
  209. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +92 -0
  210. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -0
  211. package/dist/headless/source/components/inputs/button/button.jsx +101 -0
  212. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -0
  213. package/dist/headless/source/components/inputs/button/index.js +6 -0
  214. package/dist/headless/source/components/inputs/button/index.js.map +7 -0
  215. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +72 -0
  216. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -0
  217. package/dist/headless/source/components/inputs/buttonGroups/buttonGroupContext.js +8 -0
  218. package/dist/headless/source/components/inputs/buttonGroups/buttonGroupContext.js.map +7 -0
  219. package/dist/headless/source/components/inputs/buttonGroups/index.js +9 -0
  220. package/dist/headless/source/components/inputs/buttonGroups/index.js.map +7 -0
  221. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +86 -0
  222. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -0
  223. package/dist/headless/source/components/inputs/checkbox/index.js +6 -0
  224. package/dist/headless/source/components/inputs/checkbox/index.js.map +7 -0
  225. package/dist/headless/source/components/inputs/datePicker/dataPickerDays.jsx +87 -0
  226. package/dist/headless/source/components/inputs/datePicker/dataPickerDays.jsx.map +1 -0
  227. package/dist/headless/source/components/inputs/datePicker/dataPickerHeader.jsx +40 -0
  228. package/dist/headless/source/components/inputs/datePicker/dataPickerHeader.jsx.map +1 -0
  229. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +57 -0
  230. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -0
  231. package/dist/headless/source/components/inputs/datePicker/dateFormat.js +89 -0
  232. package/dist/headless/source/components/inputs/datePicker/dateFormat.js.map +7 -0
  233. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +241 -0
  234. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -0
  235. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +48 -0
  236. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -0
  237. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +52 -0
  238. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -0
  239. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +36 -0
  240. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -0
  241. package/dist/headless/source/components/inputs/datePicker/datePickerList.jsx +44 -0
  242. package/dist/headless/source/components/inputs/datePicker/datePickerList.jsx.map +1 -0
  243. package/dist/headless/source/components/inputs/datePicker/dateUtils.js +232 -0
  244. package/dist/headless/source/components/inputs/datePicker/dateUtils.js.map +7 -0
  245. package/dist/headless/source/components/inputs/datePicker/index.js +24 -0
  246. package/dist/headless/source/components/inputs/datePicker/index.js.map +7 -0
  247. package/dist/headless/source/components/inputs/datePicker/openView.js +10 -0
  248. package/dist/headless/source/components/inputs/datePicker/openView.js.map +7 -0
  249. package/dist/headless/source/components/inputs/datePicker/useDateInput.js +56 -0
  250. package/dist/headless/source/components/inputs/datePicker/useDateInput.js.map +7 -0
  251. package/dist/headless/source/components/inputs/dateTimePicker/dateTimeFormat.js +119 -0
  252. package/dist/headless/source/components/inputs/dateTimePicker/dateTimeFormat.js.map +7 -0
  253. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +200 -0
  254. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -0
  255. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +57 -0
  256. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx.map +1 -0
  257. package/dist/headless/source/components/inputs/dateTimePicker/index.js +20 -0
  258. package/dist/headless/source/components/inputs/dateTimePicker/index.js.map +7 -0
  259. package/dist/headless/source/components/inputs/dateTimePicker/useDateTimeInput.js +85 -0
  260. package/dist/headless/source/components/inputs/dateTimePicker/useDateTimeInput.js.map +7 -0
  261. package/dist/headless/source/components/inputs/fileDrop/countPreview.jsx +17 -0
  262. package/dist/headless/source/components/inputs/fileDrop/countPreview.jsx.map +1 -0
  263. package/dist/headless/source/components/inputs/fileDrop/fileDrop.jsx +72 -0
  264. package/dist/headless/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -0
  265. package/dist/headless/source/components/inputs/fileDrop/index.js +14 -0
  266. package/dist/headless/source/components/inputs/fileDrop/index.js.map +7 -0
  267. package/dist/headless/source/components/inputs/fileDrop/preview.jsx +41 -0
  268. package/dist/headless/source/components/inputs/fileDrop/preview.jsx.map +1 -0
  269. package/dist/headless/source/components/inputs/fileDrop/previewWrapper.jsx +27 -0
  270. package/dist/headless/source/components/inputs/fileDrop/previewWrapper.jsx.map +1 -0
  271. package/dist/headless/source/components/inputs/fileDrop/utils.js +7 -0
  272. package/dist/headless/source/components/inputs/fileDrop/utils.js.map +7 -0
  273. package/dist/headless/source/components/inputs/fileInput/fileInput.jsx +46 -0
  274. package/dist/headless/source/components/inputs/fileInput/fileInput.jsx.map +1 -0
  275. package/dist/headless/source/components/inputs/fileInput/index.js +6 -0
  276. package/dist/headless/source/components/inputs/fileInput/index.js.map +7 -0
  277. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +30 -0
  278. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -0
  279. package/dist/headless/source/components/inputs/floatingButton/index.js +6 -0
  280. package/dist/headless/source/components/inputs/floatingButton/index.js.map +7 -0
  281. package/dist/headless/source/components/inputs/radioButton/index.js +6 -0
  282. package/dist/headless/source/components/inputs/radioButton/index.js.map +7 -0
  283. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +75 -0
  284. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -0
  285. package/dist/headless/source/components/inputs/rating/index.js +6 -0
  286. package/dist/headless/source/components/inputs/rating/index.js.map +7 -0
  287. package/dist/headless/source/components/inputs/rating/rating.jsx +124 -0
  288. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -0
  289. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +141 -0
  290. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -0
  291. package/dist/headless/source/components/inputs/selectField/index.js +8 -0
  292. package/dist/headless/source/components/inputs/selectField/index.js.map +7 -0
  293. package/dist/headless/source/components/inputs/selectField/selectField.jsx +272 -0
  294. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -0
  295. package/dist/headless/source/components/inputs/slider/index.js +6 -0
  296. package/dist/headless/source/components/inputs/slider/index.js.map +7 -0
  297. package/dist/headless/source/components/inputs/slider/slider.jsx +404 -0
  298. package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -0
  299. package/dist/headless/source/components/inputs/slider/utils.js +49 -0
  300. package/dist/headless/source/components/inputs/slider/utils.js.map +7 -0
  301. package/dist/headless/source/components/inputs/textField/index.js +9 -0
  302. package/dist/headless/source/components/inputs/textField/index.js.map +7 -0
  303. package/dist/headless/source/components/inputs/textField/textField.jsx +137 -0
  304. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -0
  305. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +31 -0
  306. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -0
  307. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +83 -0
  308. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -0
  309. package/dist/headless/source/components/inputs/textField/types.js +1 -0
  310. package/dist/headless/source/components/inputs/textField/types.js.map +7 -0
  311. package/dist/headless/source/components/inputs/textField/utils.js +13 -0
  312. package/dist/headless/source/components/inputs/textField/utils.js.map +7 -0
  313. package/dist/headless/source/components/inputs/timePicker/index.js +14 -0
  314. package/dist/headless/source/components/inputs/timePicker/index.js.map +7 -0
  315. package/dist/headless/source/components/inputs/timePicker/timeFormat.js +78 -0
  316. package/dist/headless/source/components/inputs/timePicker/timeFormat.js.map +7 -0
  317. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +114 -0
  318. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -0
  319. package/dist/headless/source/components/inputs/timePicker/timePickerColumns.jsx +42 -0
  320. package/dist/headless/source/components/inputs/timePicker/timePickerColumns.jsx.map +1 -0
  321. package/dist/headless/source/components/inputs/timePicker/timePickerInput.jsx +57 -0
  322. package/dist/headless/source/components/inputs/timePicker/timePickerInput.jsx.map +1 -0
  323. package/dist/headless/source/components/inputs/timePicker/timePickerList.jsx +36 -0
  324. package/dist/headless/source/components/inputs/timePicker/timePickerList.jsx.map +1 -0
  325. package/dist/headless/source/components/inputs/timePicker/timeUtils.js +96 -0
  326. package/dist/headless/source/components/inputs/timePicker/timeUtils.js.map +7 -0
  327. package/dist/headless/source/components/inputs/timePicker/useTimeInput.js +57 -0
  328. package/dist/headless/source/components/inputs/timePicker/useTimeInput.js.map +7 -0
  329. package/dist/headless/source/components/inputs/toggle/index.js +6 -0
  330. package/dist/headless/source/components/inputs/toggle/index.js.map +7 -0
  331. package/dist/headless/source/components/inputs/toggle/toggle.jsx +77 -0
  332. package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -0
  333. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +101 -0
  334. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -0
  335. package/dist/headless/source/components/layout/appLayout/index.js +6 -0
  336. package/dist/headless/source/components/layout/appLayout/index.js.map +7 -0
  337. package/dist/headless/source/components/layout/divider/divider.jsx +68 -0
  338. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -0
  339. package/dist/headless/source/components/layout/divider/index.js +6 -0
  340. package/dist/headless/source/components/layout/divider/index.js.map +7 -0
  341. package/dist/headless/source/components/layout/grid/grid.jsx +112 -0
  342. package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -0
  343. package/dist/headless/source/components/layout/grid/index.js +8 -0
  344. package/dist/headless/source/components/layout/grid/index.js.map +7 -0
  345. package/dist/headless/source/components/layout/page/index.js +6 -0
  346. package/dist/headless/source/components/layout/page/index.js.map +7 -0
  347. package/dist/headless/source/components/layout/page/page.jsx +28 -0
  348. package/dist/headless/source/components/layout/page/page.jsx.map +1 -0
  349. package/dist/headless/source/components/layout/pageHeader/index.js +6 -0
  350. package/dist/headless/source/components/layout/pageHeader/index.js.map +7 -0
  351. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +52 -0
  352. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -0
  353. package/dist/headless/source/components/layout/screenDivider/index.js +6 -0
  354. package/dist/headless/source/components/layout/screenDivider/index.js.map +7 -0
  355. package/dist/headless/source/components/layout/screenDivider/screenDivider.jsx +129 -0
  356. package/dist/headless/source/components/layout/screenDivider/screenDivider.jsx.map +1 -0
  357. package/dist/headless/source/components/layout/sheet/index.js +6 -0
  358. package/dist/headless/source/components/layout/sheet/index.js.map +7 -0
  359. package/dist/headless/source/components/layout/sheet/sheet.jsx +261 -0
  360. package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -0
  361. package/dist/headless/source/components/layout/stack/index.js +6 -0
  362. package/dist/headless/source/components/layout/stack/index.js.map +7 -0
  363. package/dist/headless/source/components/layout/stack/stack.jsx +53 -0
  364. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -0
  365. package/dist/headless/source/components/navigation/appBar/appBar.jsx +65 -0
  366. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -0
  367. package/dist/headless/source/components/navigation/appBar/index.js +6 -0
  368. package/dist/headless/source/components/navigation/appBar/index.js.map +7 -0
  369. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +134 -0
  370. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -0
  371. package/dist/headless/source/components/navigation/bottomBar/index.js +6 -0
  372. package/dist/headless/source/components/navigation/bottomBar/index.js.map +7 -0
  373. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +62 -0
  374. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -0
  375. package/dist/headless/source/components/navigation/breadcrumbs/index.js +6 -0
  376. package/dist/headless/source/components/navigation/breadcrumbs/index.js.map +7 -0
  377. package/dist/headless/source/components/navigation/menu/index.js +23 -0
  378. package/dist/headless/source/components/navigation/menu/index.js.map +7 -0
  379. package/dist/headless/source/components/navigation/menu/menu.jsx +27 -0
  380. package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -0
  381. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +18 -0
  382. package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -0
  383. package/dist/headless/source/components/navigation/menu/menuContext.js +14 -0
  384. package/dist/headless/source/components/navigation/menu/menuContext.js.map +7 -0
  385. package/dist/headless/source/components/navigation/menu/menuDivider.jsx +19 -0
  386. package/dist/headless/source/components/navigation/menu/menuDivider.jsx.map +1 -0
  387. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +84 -0
  388. package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -0
  389. package/dist/headless/source/components/navigation/menu/menuItem.jsx +68 -0
  390. package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -0
  391. package/dist/headless/source/components/navigation/menu/menuItemIcon.jsx +25 -0
  392. package/dist/headless/source/components/navigation/menu/menuItemIcon.jsx.map +1 -0
  393. package/dist/headless/source/components/navigation/menu/menuItemText.jsx +25 -0
  394. package/dist/headless/source/components/navigation/menu/menuItemText.jsx.map +1 -0
  395. package/dist/headless/source/components/navigation/menu/menuList.jsx +46 -0
  396. package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -0
  397. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +86 -0
  398. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -0
  399. package/dist/headless/source/components/navigation/pagination/index.js +6 -0
  400. package/dist/headless/source/components/navigation/pagination/index.js.map +7 -0
  401. package/dist/headless/source/components/navigation/pagination/pagination.jsx +142 -0
  402. package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -0
  403. package/dist/headless/source/components/navigation/sidebar/index.js +6 -0
  404. package/dist/headless/source/components/navigation/sidebar/index.js.map +7 -0
  405. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +114 -0
  406. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -0
  407. package/dist/headless/source/components/navigation/stepper/index.js +6 -0
  408. package/dist/headless/source/components/navigation/stepper/index.js.map +7 -0
  409. package/dist/headless/source/components/navigation/stepper/stepper.jsx +82 -0
  410. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -0
  411. package/dist/headless/source/components/navigation/tabs/index.js +10 -0
  412. package/dist/headless/source/components/navigation/tabs/index.js.map +7 -0
  413. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +75 -0
  414. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -0
  415. package/dist/headless/source/components/navigation/tabs/tabs.jsx +141 -0
  416. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -0
  417. package/dist/headless/source/components/navigation/tabs/tabsContext.js +8 -0
  418. package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +7 -0
  419. package/dist/headless/source/index.js +309 -0
  420. package/dist/headless/source/index.js.map +7 -0
  421. package/dist/headless/source/primitives/callHandler.js +12 -0
  422. package/dist/headless/source/primitives/callHandler.js.map +7 -0
  423. package/dist/headless/source/primitives/createControllableState.js +19 -0
  424. package/dist/headless/source/primitives/createControllableState.js.map +7 -0
  425. package/dist/headless/source/primitives/createCssTransition.js +59 -0
  426. package/dist/headless/source/primitives/createCssTransition.js.map +7 -0
  427. package/dist/headless/source/primitives/createDropzone.js +46 -0
  428. package/dist/headless/source/primitives/createDropzone.js.map +7 -0
  429. package/dist/headless/source/primitives/createFloating.js +48 -0
  430. package/dist/headless/source/primitives/createFloating.js.map +7 -0
  431. package/dist/headless/source/primitives/createFocusTrap.js +50 -0
  432. package/dist/headless/source/primitives/createFocusTrap.js.map +7 -0
  433. package/dist/headless/source/primitives/createId.js +9 -0
  434. package/dist/headless/source/primitives/createId.js.map +7 -0
  435. package/dist/headless/source/primitives/createMaskedInput.js +35 -0
  436. package/dist/headless/source/primitives/createMaskedInput.js.map +7 -0
  437. package/dist/headless/source/primitives/createTheme.js +51 -0
  438. package/dist/headless/source/primitives/createTheme.js.map +7 -0
  439. package/dist/headless/source/primitives/createVirtualList.js +19 -0
  440. package/dist/headless/source/primitives/createVirtualList.js.map +7 -0
  441. package/dist/headless/source/primitives/mergeRefs.js +13 -0
  442. package/dist/headless/source/primitives/mergeRefs.js.map +7 -0
  443. package/dist/headless/source/ssr-published.ssr-spec.jsx +35 -0
  444. package/dist/headless/source/ssr-published.ssr-spec.jsx.map +1 -0
  445. package/dist/headless/source/ssr.ssr-spec.jsx +113 -0
  446. package/dist/headless/source/ssr.ssr-spec.jsx.map +1 -0
  447. package/dist/headless/source/utils/animate.js +35 -0
  448. package/dist/headless/source/utils/animate.js.map +7 -0
  449. package/dist/headless/source/utils/debounce.js +23 -0
  450. package/dist/headless/source/utils/debounce.js.map +7 -0
  451. package/dist/headless/source/utils/floating.js +42 -0
  452. package/dist/headless/source/utils/floating.js.map +7 -0
  453. package/dist/headless/source/utils/throttle.js +41 -0
  454. package/dist/headless/source/utils/throttle.js.map +7 -0
  455. package/dist/source/components/base/animateHeight/animateHeight.jsx +177 -0
  456. package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -0
  457. package/dist/source/components/base/animateHeight/index.js +6 -0
  458. package/dist/source/components/base/animateHeight/index.js.map +7 -0
  459. package/dist/source/components/base/icon/icon.jsx +61 -0
  460. package/dist/source/components/base/icon/icon.jsx.map +1 -0
  461. package/dist/source/components/base/icon/index.js +6 -0
  462. package/dist/source/components/base/icon/index.js.map +7 -0
  463. package/dist/source/components/base/ripple/index.js +6 -0
  464. package/dist/source/components/base/ripple/index.js.map +7 -0
  465. package/dist/source/components/base/ripple/ripple.jsx +64 -0
  466. package/dist/source/components/base/ripple/ripple.jsx.map +1 -0
  467. package/dist/source/components/clickAwayListener/clickAwayListener.jsx +73 -0
  468. package/dist/source/components/clickAwayListener/clickAwayListener.jsx.map +1 -0
  469. package/dist/source/components/clickAwayListener/index.js +6 -0
  470. package/dist/source/components/clickAwayListener/index.js.map +7 -0
  471. package/dist/source/components/dataDisplay/accordion/accordion.jsx +83 -0
  472. package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -0
  473. package/dist/source/components/dataDisplay/accordion/index.js +6 -0
  474. package/dist/source/components/dataDisplay/accordion/index.js.map +7 -0
  475. package/dist/source/components/dataDisplay/avatar/avatar.jsx +96 -0
  476. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -0
  477. package/dist/source/components/dataDisplay/avatar/index.js +7 -0
  478. package/dist/source/components/dataDisplay/avatar/index.js.map +7 -0
  479. package/dist/source/components/dataDisplay/badge/badge.jsx +57 -0
  480. package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -0
  481. package/dist/source/components/dataDisplay/badge/index.js +6 -0
  482. package/dist/source/components/dataDisplay/badge/index.js.map +7 -0
  483. package/dist/source/components/dataDisplay/card/card.jsx +55 -0
  484. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -0
  485. package/dist/source/components/dataDisplay/card/index.js +6 -0
  486. package/dist/source/components/dataDisplay/card/index.js.map +7 -0
  487. package/dist/source/components/dataDisplay/carousel/carousel.jsx +408 -0
  488. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -0
  489. package/dist/source/components/dataDisplay/carousel/index.js +6 -0
  490. package/dist/source/components/dataDisplay/carousel/index.js.map +7 -0
  491. package/dist/source/components/dataDisplay/carousel/utils.js +76 -0
  492. package/dist/source/components/dataDisplay/carousel/utils.js.map +7 -0
  493. package/dist/source/components/dataDisplay/chat/chat.jsx +156 -0
  494. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -0
  495. package/dist/source/components/dataDisplay/chat/chatAttachmentImage.jsx +53 -0
  496. package/dist/source/components/dataDisplay/chat/chatAttachmentImage.jsx.map +1 -0
  497. package/dist/source/components/dataDisplay/chat/chatAttachments.jsx +35 -0
  498. package/dist/source/components/dataDisplay/chat/chatAttachments.jsx.map +1 -0
  499. package/dist/source/components/dataDisplay/chat/chatComposer.jsx +170 -0
  500. package/dist/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -0
  501. package/dist/source/components/dataDisplay/chat/chatHeader.jsx +55 -0
  502. package/dist/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -0
  503. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +38 -0
  504. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -0
  505. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +121 -0
  506. package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -0
  507. package/dist/source/components/dataDisplay/chat/chatMessageAvatar.jsx +19 -0
  508. package/dist/source/components/dataDisplay/chat/chatMessageAvatar.jsx.map +1 -0
  509. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +56 -0
  510. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -0
  511. package/dist/source/components/dataDisplay/chat/chatMessageIncoming.jsx +21 -0
  512. package/dist/source/components/dataDisplay/chat/chatMessageIncoming.jsx.map +1 -0
  513. package/dist/source/components/dataDisplay/chat/chatMessageItem.jsx +56 -0
  514. package/dist/source/components/dataDisplay/chat/chatMessageItem.jsx.map +1 -0
  515. package/dist/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +25 -0
  516. package/dist/source/components/dataDisplay/chat/chatMessageOutgoing.jsx.map +1 -0
  517. package/dist/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +33 -0
  518. package/dist/source/components/dataDisplay/chat/chatMessageSkeleton.jsx.map +1 -0
  519. package/dist/source/components/dataDisplay/chat/chatMessageStatus.jsx +35 -0
  520. package/dist/source/components/dataDisplay/chat/chatMessageStatus.jsx.map +1 -0
  521. package/dist/source/components/dataDisplay/chat/chatMessageSystem.jsx +17 -0
  522. package/dist/source/components/dataDisplay/chat/chatMessageSystem.jsx.map +1 -0
  523. package/dist/source/components/dataDisplay/chat/chatMessages.jsx +63 -0
  524. package/dist/source/components/dataDisplay/chat/chatMessages.jsx.map +1 -0
  525. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +60 -0
  526. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -0
  527. package/dist/source/components/dataDisplay/chat/chatShell.jsx +66 -0
  528. package/dist/source/components/dataDisplay/chat/chatShell.jsx.map +1 -0
  529. package/dist/source/components/dataDisplay/chat/index.js +82 -0
  530. package/dist/source/components/dataDisplay/chat/index.js.map +7 -0
  531. package/dist/source/components/dataDisplay/chat/types.js +25 -0
  532. package/dist/source/components/dataDisplay/chat/types.js.map +7 -0
  533. package/dist/source/components/dataDisplay/chat/useChatFileUpload.js +49 -0
  534. package/dist/source/components/dataDisplay/chat/useChatFileUpload.js.map +7 -0
  535. package/dist/source/components/dataDisplay/chat/useChatInfiniteScroll.js +27 -0
  536. package/dist/source/components/dataDisplay/chat/useChatInfiniteScroll.js.map +7 -0
  537. package/dist/source/components/dataDisplay/chat/useChatStickToBottom.js +54 -0
  538. package/dist/source/components/dataDisplay/chat/useChatStickToBottom.js.map +7 -0
  539. package/dist/source/components/dataDisplay/chat/utils.js +103 -0
  540. package/dist/source/components/dataDisplay/chat/utils.js.map +7 -0
  541. package/dist/source/components/dataDisplay/chip/chip.jsx +120 -0
  542. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -0
  543. package/dist/source/components/dataDisplay/chip/index.js +6 -0
  544. package/dist/source/components/dataDisplay/chip/index.js.map +7 -0
  545. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +165 -0
  546. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -0
  547. package/dist/source/components/dataDisplay/expansionPanel/index.js +6 -0
  548. package/dist/source/components/dataDisplay/expansionPanel/index.js.map +7 -0
  549. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +26 -0
  550. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -0
  551. package/dist/source/components/dataDisplay/imagesList/imagesList.types.js +1 -0
  552. package/dist/source/components/dataDisplay/imagesList/imagesList.types.js.map +7 -0
  553. package/dist/source/components/dataDisplay/imagesList/imagesListContext.js +8 -0
  554. package/dist/source/components/dataDisplay/imagesList/imagesListContext.js.map +7 -0
  555. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +56 -0
  556. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -0
  557. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +30 -0
  558. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx.map +1 -0
  559. package/dist/source/components/dataDisplay/imagesList/index.js +12 -0
  560. package/dist/source/components/dataDisplay/imagesList/index.js.map +7 -0
  561. package/dist/source/components/dataDisplay/list/index.js +8 -0
  562. package/dist/source/components/dataDisplay/list/index.js.map +7 -0
  563. package/dist/source/components/dataDisplay/list/list.jsx +25 -0
  564. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -0
  565. package/dist/source/components/dataDisplay/list/listItem.jsx +53 -0
  566. package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -0
  567. package/dist/source/components/dataDisplay/table/index.js +17 -0
  568. package/dist/source/components/dataDisplay/table/index.js.map +7 -0
  569. package/dist/source/components/dataDisplay/table/table.jsx +47 -0
  570. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -0
  571. package/dist/source/components/dataDisplay/table/tableBody.jsx +15 -0
  572. package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -0
  573. package/dist/source/components/dataDisplay/table/tableCell.jsx +16 -0
  574. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -0
  575. package/dist/source/components/dataDisplay/table/tableHead.jsx +15 -0
  576. package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -0
  577. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +53 -0
  578. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -0
  579. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +48 -0
  580. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -0
  581. package/dist/source/components/dataDisplay/table/tableRow.jsx +25 -0
  582. package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -0
  583. package/dist/source/components/dataDisplay/treeView/index.js +6 -0
  584. package/dist/source/components/dataDisplay/treeView/index.js.map +7 -0
  585. package/dist/source/components/dataDisplay/treeView/treeView.jsx +173 -0
  586. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -0
  587. package/dist/source/components/dataDisplay/typography/index.js +6 -0
  588. package/dist/source/components/dataDisplay/typography/index.js.map +7 -0
  589. package/dist/source/components/dataDisplay/typography/typography.jsx +58 -0
  590. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -0
  591. package/dist/source/components/feedBack/message/index.js +7 -0
  592. package/dist/source/components/feedBack/message/index.js.map +7 -0
  593. package/dist/source/components/feedBack/message/message.jsx +52 -0
  594. package/dist/source/components/feedBack/message/message.jsx.map +1 -0
  595. package/dist/source/components/feedBack/modal/index.js +6 -0
  596. package/dist/source/components/feedBack/modal/index.js.map +7 -0
  597. package/dist/source/components/feedBack/modal/modal.jsx +102 -0
  598. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -0
  599. package/dist/source/components/feedBack/progressIndicator/index.js +7 -0
  600. package/dist/source/components/feedBack/progressIndicator/index.js.map +7 -0
  601. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +69 -0
  602. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -0
  603. package/dist/source/components/feedBack/skeleton/index.js +6 -0
  604. package/dist/source/components/feedBack/skeleton/index.js.map +7 -0
  605. package/dist/source/components/feedBack/skeleton/skeleton.jsx +66 -0
  606. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -0
  607. package/dist/source/components/feedBack/snackbar/index.js +10 -0
  608. package/dist/source/components/feedBack/snackbar/index.js.map +7 -0
  609. package/dist/source/components/feedBack/snackbar/snackbar.jsx +197 -0
  610. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -0
  611. package/dist/source/components/feedBack/snackbar/useSnackbarsPortal.js +21 -0
  612. package/dist/source/components/feedBack/snackbar/useSnackbarsPortal.js.map +7 -0
  613. package/dist/source/components/feedBack/tooltip/index.js +6 -0
  614. package/dist/source/components/feedBack/tooltip/index.js.map +7 -0
  615. package/dist/source/components/feedBack/tooltip/tooltip.jsx +93 -0
  616. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -0
  617. package/dist/source/components/inputs/button/button.jsx +102 -0
  618. package/dist/source/components/inputs/button/button.jsx.map +1 -0
  619. package/dist/source/components/inputs/button/index.js +6 -0
  620. package/dist/source/components/inputs/button/index.js.map +7 -0
  621. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +73 -0
  622. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -0
  623. package/dist/source/components/inputs/buttonGroups/buttonGroupContext.js +8 -0
  624. package/dist/source/components/inputs/buttonGroups/buttonGroupContext.js.map +7 -0
  625. package/dist/source/components/inputs/buttonGroups/index.js +9 -0
  626. package/dist/source/components/inputs/buttonGroups/index.js.map +7 -0
  627. package/dist/source/components/inputs/checkbox/checkbox.jsx +87 -0
  628. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -0
  629. package/dist/source/components/inputs/checkbox/index.js +6 -0
  630. package/dist/source/components/inputs/checkbox/index.js.map +7 -0
  631. package/dist/source/components/inputs/datePicker/dataPickerDays.jsx +87 -0
  632. package/dist/source/components/inputs/datePicker/dataPickerDays.jsx.map +1 -0
  633. package/dist/source/components/inputs/datePicker/dataPickerHeader.jsx +40 -0
  634. package/dist/source/components/inputs/datePicker/dataPickerHeader.jsx.map +1 -0
  635. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +57 -0
  636. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -0
  637. package/dist/source/components/inputs/datePicker/dateFormat.js +89 -0
  638. package/dist/source/components/inputs/datePicker/dateFormat.js.map +7 -0
  639. package/dist/source/components/inputs/datePicker/datePicker.jsx +242 -0
  640. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -0
  641. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +48 -0
  642. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -0
  643. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +52 -0
  644. package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -0
  645. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +36 -0
  646. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -0
  647. package/dist/source/components/inputs/datePicker/datePickerList.jsx +44 -0
  648. package/dist/source/components/inputs/datePicker/datePickerList.jsx.map +1 -0
  649. package/dist/source/components/inputs/datePicker/dateUtils.js +232 -0
  650. package/dist/source/components/inputs/datePicker/dateUtils.js.map +7 -0
  651. package/dist/source/components/inputs/datePicker/index.js +24 -0
  652. package/dist/source/components/inputs/datePicker/index.js.map +7 -0
  653. package/dist/source/components/inputs/datePicker/openView.js +10 -0
  654. package/dist/source/components/inputs/datePicker/openView.js.map +7 -0
  655. package/dist/source/components/inputs/datePicker/useDateInput.js +56 -0
  656. package/dist/source/components/inputs/datePicker/useDateInput.js.map +7 -0
  657. package/dist/source/components/inputs/dateTimePicker/dateTimeFormat.js +119 -0
  658. package/dist/source/components/inputs/dateTimePicker/dateTimeFormat.js.map +7 -0
  659. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +200 -0
  660. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -0
  661. package/dist/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +57 -0
  662. package/dist/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx.map +1 -0
  663. package/dist/source/components/inputs/dateTimePicker/index.js +20 -0
  664. package/dist/source/components/inputs/dateTimePicker/index.js.map +7 -0
  665. package/dist/source/components/inputs/dateTimePicker/useDateTimeInput.js +85 -0
  666. package/dist/source/components/inputs/dateTimePicker/useDateTimeInput.js.map +7 -0
  667. package/dist/source/components/inputs/fileDrop/countPreview.jsx +17 -0
  668. package/dist/source/components/inputs/fileDrop/countPreview.jsx.map +1 -0
  669. package/dist/source/components/inputs/fileDrop/fileDrop.jsx +73 -0
  670. package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -0
  671. package/dist/source/components/inputs/fileDrop/index.js +14 -0
  672. package/dist/source/components/inputs/fileDrop/index.js.map +7 -0
  673. package/dist/source/components/inputs/fileDrop/preview.jsx +41 -0
  674. package/dist/source/components/inputs/fileDrop/preview.jsx.map +1 -0
  675. package/dist/source/components/inputs/fileDrop/previewWrapper.jsx +27 -0
  676. package/dist/source/components/inputs/fileDrop/previewWrapper.jsx.map +1 -0
  677. package/dist/source/components/inputs/fileDrop/utils.js +7 -0
  678. package/dist/source/components/inputs/fileDrop/utils.js.map +7 -0
  679. package/dist/source/components/inputs/fileInput/fileInput.jsx +47 -0
  680. package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -0
  681. package/dist/source/components/inputs/fileInput/index.js +6 -0
  682. package/dist/source/components/inputs/fileInput/index.js.map +7 -0
  683. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +31 -0
  684. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -0
  685. package/dist/source/components/inputs/floatingButton/index.js +6 -0
  686. package/dist/source/components/inputs/floatingButton/index.js.map +7 -0
  687. package/dist/source/components/inputs/radioButton/index.js +6 -0
  688. package/dist/source/components/inputs/radioButton/index.js.map +7 -0
  689. package/dist/source/components/inputs/radioButton/radioButton.jsx +76 -0
  690. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -0
  691. package/dist/source/components/inputs/rating/index.js +6 -0
  692. package/dist/source/components/inputs/rating/index.js.map +7 -0
  693. package/dist/source/components/inputs/rating/rating.jsx +125 -0
  694. package/dist/source/components/inputs/rating/rating.jsx.map +1 -0
  695. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +141 -0
  696. package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -0
  697. package/dist/source/components/inputs/selectField/index.js +8 -0
  698. package/dist/source/components/inputs/selectField/index.js.map +7 -0
  699. package/dist/source/components/inputs/selectField/selectField.jsx +273 -0
  700. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -0
  701. package/dist/source/components/inputs/slider/index.js +6 -0
  702. package/dist/source/components/inputs/slider/index.js.map +7 -0
  703. package/dist/source/components/inputs/slider/slider.jsx +405 -0
  704. package/dist/source/components/inputs/slider/slider.jsx.map +1 -0
  705. package/dist/source/components/inputs/slider/utils.js +49 -0
  706. package/dist/source/components/inputs/slider/utils.js.map +7 -0
  707. package/dist/source/components/inputs/textField/index.js +9 -0
  708. package/dist/source/components/inputs/textField/index.js.map +7 -0
  709. package/dist/source/components/inputs/textField/textField.jsx +138 -0
  710. package/dist/source/components/inputs/textField/textField.jsx.map +1 -0
  711. package/dist/source/components/inputs/textField/textFieldAdornment.jsx +31 -0
  712. package/dist/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -0
  713. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +83 -0
  714. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -0
  715. package/dist/source/components/inputs/textField/types.js +1 -0
  716. package/dist/source/components/inputs/textField/types.js.map +7 -0
  717. package/dist/source/components/inputs/textField/utils.js +13 -0
  718. package/dist/source/components/inputs/textField/utils.js.map +7 -0
  719. package/dist/source/components/inputs/timePicker/index.js +14 -0
  720. package/dist/source/components/inputs/timePicker/index.js.map +7 -0
  721. package/dist/source/components/inputs/timePicker/timeFormat.js +78 -0
  722. package/dist/source/components/inputs/timePicker/timeFormat.js.map +7 -0
  723. package/dist/source/components/inputs/timePicker/timePicker.jsx +115 -0
  724. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -0
  725. package/dist/source/components/inputs/timePicker/timePickerColumns.jsx +42 -0
  726. package/dist/source/components/inputs/timePicker/timePickerColumns.jsx.map +1 -0
  727. package/dist/source/components/inputs/timePicker/timePickerInput.jsx +57 -0
  728. package/dist/source/components/inputs/timePicker/timePickerInput.jsx.map +1 -0
  729. package/dist/source/components/inputs/timePicker/timePickerList.jsx +36 -0
  730. package/dist/source/components/inputs/timePicker/timePickerList.jsx.map +1 -0
  731. package/dist/source/components/inputs/timePicker/timeUtils.js +96 -0
  732. package/dist/source/components/inputs/timePicker/timeUtils.js.map +7 -0
  733. package/dist/source/components/inputs/timePicker/useTimeInput.js +57 -0
  734. package/dist/source/components/inputs/timePicker/useTimeInput.js.map +7 -0
  735. package/dist/source/components/inputs/toggle/index.js +6 -0
  736. package/dist/source/components/inputs/toggle/index.js.map +7 -0
  737. package/dist/source/components/inputs/toggle/toggle.jsx +78 -0
  738. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -0
  739. package/dist/source/components/layout/appLayout/appLayout.jsx +102 -0
  740. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -0
  741. package/dist/source/components/layout/appLayout/index.js +6 -0
  742. package/dist/source/components/layout/appLayout/index.js.map +7 -0
  743. package/dist/source/components/layout/divider/divider.jsx +69 -0
  744. package/dist/source/components/layout/divider/divider.jsx.map +1 -0
  745. package/dist/source/components/layout/divider/index.js +6 -0
  746. package/dist/source/components/layout/divider/index.js.map +7 -0
  747. package/dist/source/components/layout/grid/grid.jsx +113 -0
  748. package/dist/source/components/layout/grid/grid.jsx.map +1 -0
  749. package/dist/source/components/layout/grid/index.js +8 -0
  750. package/dist/source/components/layout/grid/index.js.map +7 -0
  751. package/dist/source/components/layout/page/index.js +6 -0
  752. package/dist/source/components/layout/page/index.js.map +7 -0
  753. package/dist/source/components/layout/page/page.jsx +29 -0
  754. package/dist/source/components/layout/page/page.jsx.map +1 -0
  755. package/dist/source/components/layout/pageHeader/index.js +6 -0
  756. package/dist/source/components/layout/pageHeader/index.js.map +7 -0
  757. package/dist/source/components/layout/pageHeader/pageHeader.jsx +53 -0
  758. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -0
  759. package/dist/source/components/layout/screenDivider/index.js +6 -0
  760. package/dist/source/components/layout/screenDivider/index.js.map +7 -0
  761. package/dist/source/components/layout/screenDivider/screenDivider.jsx +130 -0
  762. package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -0
  763. package/dist/source/components/layout/sheet/index.js +6 -0
  764. package/dist/source/components/layout/sheet/index.js.map +7 -0
  765. package/dist/source/components/layout/sheet/sheet.jsx +262 -0
  766. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -0
  767. package/dist/source/components/layout/stack/index.js +6 -0
  768. package/dist/source/components/layout/stack/index.js.map +7 -0
  769. package/dist/source/components/layout/stack/stack.jsx +54 -0
  770. package/dist/source/components/layout/stack/stack.jsx.map +1 -0
  771. package/dist/source/components/navigation/appBar/appBar.jsx +66 -0
  772. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -0
  773. package/dist/source/components/navigation/appBar/index.js +6 -0
  774. package/dist/source/components/navigation/appBar/index.js.map +7 -0
  775. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +135 -0
  776. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -0
  777. package/dist/source/components/navigation/bottomBar/index.js +6 -0
  778. package/dist/source/components/navigation/bottomBar/index.js.map +7 -0
  779. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +63 -0
  780. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -0
  781. package/dist/source/components/navigation/breadcrumbs/index.js +6 -0
  782. package/dist/source/components/navigation/breadcrumbs/index.js.map +7 -0
  783. package/dist/source/components/navigation/menu/index.js +23 -0
  784. package/dist/source/components/navigation/menu/index.js.map +7 -0
  785. package/dist/source/components/navigation/menu/menu.jsx +28 -0
  786. package/dist/source/components/navigation/menu/menu.jsx.map +1 -0
  787. package/dist/source/components/navigation/menu/menuComponent.jsx +18 -0
  788. package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -0
  789. package/dist/source/components/navigation/menu/menuContext.js +14 -0
  790. package/dist/source/components/navigation/menu/menuContext.js.map +7 -0
  791. package/dist/source/components/navigation/menu/menuDivider.jsx +19 -0
  792. package/dist/source/components/navigation/menu/menuDivider.jsx.map +1 -0
  793. package/dist/source/components/navigation/menu/menuFloating.jsx +84 -0
  794. package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -0
  795. package/dist/source/components/navigation/menu/menuItem.jsx +68 -0
  796. package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -0
  797. package/dist/source/components/navigation/menu/menuItemIcon.jsx +25 -0
  798. package/dist/source/components/navigation/menu/menuItemIcon.jsx.map +1 -0
  799. package/dist/source/components/navigation/menu/menuItemText.jsx +25 -0
  800. package/dist/source/components/navigation/menu/menuItemText.jsx.map +1 -0
  801. package/dist/source/components/navigation/menu/menuList.jsx +46 -0
  802. package/dist/source/components/navigation/menu/menuList.jsx.map +1 -0
  803. package/dist/source/components/navigation/menu/menuSubmenu.jsx +86 -0
  804. package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -0
  805. package/dist/source/components/navigation/pagination/index.js +6 -0
  806. package/dist/source/components/navigation/pagination/index.js.map +7 -0
  807. package/dist/source/components/navigation/pagination/pagination.jsx +143 -0
  808. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -0
  809. package/dist/source/components/navigation/sidebar/index.js +6 -0
  810. package/dist/source/components/navigation/sidebar/index.js.map +7 -0
  811. package/dist/source/components/navigation/sidebar/sidebar.jsx +115 -0
  812. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -0
  813. package/dist/source/components/navigation/stepper/index.js +6 -0
  814. package/dist/source/components/navigation/stepper/index.js.map +7 -0
  815. package/dist/source/components/navigation/stepper/stepper.jsx +83 -0
  816. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -0
  817. package/dist/source/components/navigation/tabs/index.js +10 -0
  818. package/dist/source/components/navigation/tabs/index.js.map +7 -0
  819. package/dist/source/components/navigation/tabs/tab/tab.jsx +76 -0
  820. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -0
  821. package/dist/source/components/navigation/tabs/tabs.jsx +142 -0
  822. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -0
  823. package/dist/source/components/navigation/tabs/tabsContext.js +8 -0
  824. package/dist/source/components/navigation/tabs/tabsContext.js.map +7 -0
  825. package/dist/source/index.js +309 -0
  826. package/dist/source/index.js.map +7 -0
  827. package/dist/source/primitives/callHandler.js +12 -0
  828. package/dist/source/primitives/callHandler.js.map +7 -0
  829. package/dist/source/primitives/createControllableState.js +19 -0
  830. package/dist/source/primitives/createControllableState.js.map +7 -0
  831. package/dist/source/primitives/createCssTransition.js +59 -0
  832. package/dist/source/primitives/createCssTransition.js.map +7 -0
  833. package/dist/source/primitives/createDropzone.js +46 -0
  834. package/dist/source/primitives/createDropzone.js.map +7 -0
  835. package/dist/source/primitives/createFloating.js +48 -0
  836. package/dist/source/primitives/createFloating.js.map +7 -0
  837. package/dist/source/primitives/createFocusTrap.js +50 -0
  838. package/dist/source/primitives/createFocusTrap.js.map +7 -0
  839. package/dist/source/primitives/createId.js +9 -0
  840. package/dist/source/primitives/createId.js.map +7 -0
  841. package/dist/source/primitives/createMaskedInput.js +35 -0
  842. package/dist/source/primitives/createMaskedInput.js.map +7 -0
  843. package/dist/source/primitives/createTheme.js +51 -0
  844. package/dist/source/primitives/createTheme.js.map +7 -0
  845. package/dist/source/primitives/createVirtualList.js +19 -0
  846. package/dist/source/primitives/createVirtualList.js.map +7 -0
  847. package/dist/source/primitives/mergeRefs.js +13 -0
  848. package/dist/source/primitives/mergeRefs.js.map +7 -0
  849. package/dist/source/ssr-published.ssr-spec.jsx +35 -0
  850. package/dist/source/ssr-published.ssr-spec.jsx.map +1 -0
  851. package/dist/source/ssr.ssr-spec.jsx +113 -0
  852. package/dist/source/ssr.ssr-spec.jsx.map +1 -0
  853. package/dist/source/utils/animate.js +35 -0
  854. package/dist/source/utils/animate.js.map +7 -0
  855. package/dist/source/utils/debounce.js +23 -0
  856. package/dist/source/utils/debounce.js.map +7 -0
  857. package/dist/source/utils/floating.js +42 -0
  858. package/dist/source/utils/floating.js.map +7 -0
  859. package/dist/source/utils/throttle.js +41 -0
  860. package/dist/source/utils/throttle.js.map +7 -0
  861. package/package.json +8 -3
@@ -1 +1 @@
1
- {"version":3,"file":"datePicker.js","sources":["../../../../src/components/inputs/datePicker/datePicker.tsx"],"sourcesContent":["import { type JSX, Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { TextField, type TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"./dataPickerHeader\";\nimport { DataPickerDays } from \"./dataPickerDays\";\nimport { DatePickerList } from \"./datePickerList\";\nimport { DataPickerInput } from \"./dataPickerInput\";\nimport { DatePickerIconButton } from \"./datePickerIconButton\";\nimport { OpenView } from \"./openView\";\nimport {\n type WeekStart,\n getDisplayDate,\n getMonths,\n getYears,\n isValidDate,\n setMonth,\n setYear,\n} from \"./dateUtils\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport { OpenView } from \"./openView\";\n\nexport interface DatePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n /** Earliest selectable date (inclusive). */\n minDate?: Date | undefined;\n /** Latest selectable date (inclusive). */\n maxDate?: Date | undefined;\n /** Predicate to disable arbitrary days. */\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n /** BCP-47 locale for calendar labels (day/month/year names). */\n locale?: string | undefined;\n /** Input format pattern with tokens dd, MM, yyyy, e.g. \"dd/MM/yyyy\". */\n format?: string | undefined;\n /** Enables date-range selection. */\n range?: boolean | undefined;\n /** Controlled range value `[start, end]`. */\n rangeValue?: [Date | undefined, Date | undefined] | undefined;\n /** Called when the range changes. */\n onRangeChange?: ((range: [Date | undefined, Date | undefined]) => void) | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n /** Accessible label for the calendar popup dialog. */\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DatePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DatePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DatePicker(props: DatePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"range\",\n \"rangeValue\",\n \"onRangeChange\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n const isRangeControlled = (): boolean => local.rangeValue !== undefined;\n const [rangeState, setRangeState] = createSignal<[Date | undefined, Date | undefined]>([undefined, undefined]);\n const currentRange = (): [Date | undefined, Date | undefined] =>\n isRangeControlled() && local.rangeValue ? local.rangeValue : rangeState();\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(isValidDate(initialValue) ? initialValue : new Date());\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let calendarEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (v: Date): void => {\n setViewValue(v);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const onChange = (event?: Event, date?: Date): void => {\n if (local.range) {\n if (!date) return;\n const [start, end] = currentRange();\n let next: [Date | undefined, Date | undefined];\n if (!start || (start && end)) {\n next = [date, undefined];\n } else {\n next = isValidDate(start) && date.getTime() < start.getTime() ? [date, start] : [start, date];\n }\n if (!isRangeControlled()) setRangeState(next);\n local.onRangeChange?.(next);\n if (next[0] && next[1]) setIsOpen(false);\n return;\n }\n local.onChange?.(event, date, props);\n setIsOpen(false);\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (calendarEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n range={local.range}\n rangeStart={currentRange()[0]}\n rangeEnd={currentRange()[1]}\n />\n );\n }\n };\n\n const rangeDisplay = (): string =>\n local.range && (currentRange()[0] || currentRange()[1])\n ? `${getDisplayDate(currentRange()[0], local.format)} – ${getDisplayDate(currentRange()[1], local.format)}`\n : \"\";\n\n const anchorRef = mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement));\n\n return (\n <>\n <Show\n when={local.range}\n fallback={\n <DataPickerInput\n ref={anchorRef}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n }\n >\n <TextField\n ref={anchorRef}\n value={rangeDisplay()}\n readOnly\n onChange={() => undefined}\n disabled={Boolean(local.disabled)}\n {...(local.format ? { placeholder: `${local.format} – ${local.format}` } : {})}\n endAdornment={\n <Show when={!local.disableCalendar}>\n <DatePickerIconButton\n edge=\"end\"\n onClick={onToggle}\n disabled={Boolean(local.disabled)}\n data-testid=\"date-picker-icon-button\"\n >\n <Show\n when={local.calendarIcon}\n fallback={<Icon name=\"calendar_today\" fill={1} weight={500} size={24} />}\n >\n {local.calendarIcon}\n </Show>\n </DatePickerIconButton>\n </Show>\n }\n {...rest}\n />\n </Show>\n <Show when={mounted()}>\n <Portal mount={document.body}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (calendarEl = el as HTMLElement))}\n class=\"smwb-date-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-picker\"\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date\"}\n >\n <div class=\"smwb-date-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-picker__body\">{view()}</div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["FADE_MS","DatePicker","props","local","rest","splitProps","value","undefined","Date","isRangeControlled","rangeValue","rangeState","setRangeState","createSignal","currentRange","initialValue","viewValue","setViewValue","isValidDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","calendarEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","onChange","event","date","range","start","end","next","getTime","onRangeChange","onToggle","prev","onClickAway","target","contains","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","disableCalendar","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","rangeStart","rangeEnd","rangeDisplay","getDisplayDate","format","anchorRef","mergeRefs","ref","setReference","el","Show","when","fallback","DataPickerInput","_$mergeProps","onBlur","calendarIcon","children","TextField","readOnly","Boolean","placeholder","endAdornment","DatePickerIconButton","edge","onClick","Icon","name","fill","weight","size","Portal","mount","document","body","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_ref$","setFloating","_$use","_$insert","DataPickerHeader","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":"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"}
1
+ {"version":3,"file":"datePicker.js","sources":["../../../../src/components/inputs/datePicker/datePicker.tsx"],"sourcesContent":["import { type JSX, Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { TextField, type TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"./dataPickerHeader\";\nimport { DataPickerDays } from \"./dataPickerDays\";\nimport { DatePickerList } from \"./datePickerList\";\nimport { DataPickerInput } from \"./dataPickerInput\";\nimport { DatePickerIconButton } from \"./datePickerIconButton\";\nimport { OpenView } from \"./openView\";\nimport {\n type WeekStart,\n getDisplayDate,\n getMonths,\n getYears,\n isValidDate,\n setMonth,\n setYear,\n} from \"./dateUtils\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport { OpenView } from \"./openView\";\n\nexport interface DatePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n /** Earliest selectable date (inclusive). */\n minDate?: Date | undefined;\n /** Latest selectable date (inclusive). */\n maxDate?: Date | undefined;\n /** Predicate to disable arbitrary days. */\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n /** BCP-47 locale for calendar labels (day/month/year names). */\n locale?: string | undefined;\n /** Input format pattern with tokens dd, MM, yyyy, e.g. \"dd/MM/yyyy\". */\n format?: string | undefined;\n /** Enables date-range selection. */\n range?: boolean | undefined;\n /** Controlled range value `[start, end]`. */\n rangeValue?: [Date | undefined, Date | undefined] | undefined;\n /** Called when the range changes. */\n onRangeChange?: ((range: [Date | undefined, Date | undefined]) => void) | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n /** Accessible label for the calendar popup dialog. */\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DatePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DatePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DatePicker(props: DatePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"range\",\n \"rangeValue\",\n \"onRangeChange\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n const isRangeControlled = (): boolean => local.rangeValue !== undefined;\n const [rangeState, setRangeState] = createSignal<[Date | undefined, Date | undefined]>([undefined, undefined]);\n const currentRange = (): [Date | undefined, Date | undefined] =>\n isRangeControlled() && local.rangeValue ? local.rangeValue : rangeState();\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(isValidDate(initialValue) ? initialValue : new Date());\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let calendarEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (v: Date): void => {\n setViewValue(v);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const onChange = (event?: Event, date?: Date): void => {\n if (local.range) {\n if (!date) return;\n const [start, end] = currentRange();\n let next: [Date | undefined, Date | undefined];\n if (!start || (start && end)) {\n next = [date, undefined];\n } else {\n next = isValidDate(start) && date.getTime() < start.getTime() ? [date, start] : [start, date];\n }\n if (!isRangeControlled()) setRangeState(next);\n local.onRangeChange?.(next);\n if (next[0] && next[1]) setIsOpen(false);\n return;\n }\n local.onChange?.(event, date, props);\n setIsOpen(false);\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (calendarEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n range={local.range}\n rangeStart={currentRange()[0]}\n rangeEnd={currentRange()[1]}\n />\n );\n }\n };\n\n const rangeDisplay = (): string =>\n local.range && (currentRange()[0] || currentRange()[1])\n ? `${getDisplayDate(currentRange()[0], local.format)} – ${getDisplayDate(currentRange()[1], local.format)}`\n : \"\";\n\n const anchorRef = mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement));\n\n return (\n <>\n <Show\n when={local.range}\n fallback={\n <DataPickerInput\n ref={anchorRef}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n }\n >\n <TextField\n ref={anchorRef}\n value={rangeDisplay()}\n readOnly\n onChange={() => undefined}\n disabled={Boolean(local.disabled)}\n {...(local.format ? { placeholder: `${local.format} – ${local.format}` } : {})}\n endAdornment={\n <Show when={!local.disableCalendar}>\n <DatePickerIconButton\n edge=\"end\"\n onClick={onToggle}\n disabled={Boolean(local.disabled)}\n data-testid=\"date-picker-icon-button\"\n >\n <Show\n when={local.calendarIcon}\n fallback={<Icon name=\"calendar_today\" fill={1} weight={500} size={24} />}\n >\n {local.calendarIcon}\n </Show>\n </DatePickerIconButton>\n </Show>\n }\n {...rest}\n />\n </Show>\n <Show when={mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (calendarEl = el as HTMLElement))}\n class=\"smwb-date-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-picker\"\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date\"}\n >\n <div class=\"smwb-date-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-picker__body\">{view()}</div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["FADE_MS","DatePicker","props","local","rest","splitProps","value","undefined","Date","isRangeControlled","rangeValue","rangeState","setRangeState","createSignal","currentRange","initialValue","viewValue","setViewValue","isValidDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","calendarEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","onChange","event","date","range","start","end","next","getTime","onRangeChange","onToggle","prev","onClickAway","target","contains","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","disableCalendar","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","rangeStart","rangeEnd","rangeDisplay","getDisplayDate","format","anchorRef","mergeRefs","ref","setReference","el","Show","when","fallback","DataPickerInput","_$mergeProps","onBlur","calendarIcon","children","TextField","readOnly","Boolean","placeholder","endAdornment","DatePickerIconButton","edge","onClick","Icon","name","fill","weight","size","Portal","mount","isServer","document","body","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_ref$","setFloating","_$use","_$insert","DataPickerHeader","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":"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"}
@@ -1,25 +1,25 @@
1
- import { createComponent as i, mergeProps as ee, Portal as te, use as ae, insert as b, effect as re, style as ne, setAttribute as oe, template as ie } from "solid-js/web";
2
- import { splitProps as se, createSignal as u, createEffect as L, createMemo as le, onCleanup as me, Show as ce } from "solid-js";
3
- import { buildFloatingMiddleware as ue, resolvePlacement as de } from "../../../utils/floating.js";
4
- import { createFloating as ge } from "../../../primitives/createFloating.js";
5
- import { DataPickerHeader as fe } from "../datePicker/dataPickerHeader.js";
6
- import { DataPickerDays as he } from "../datePicker/dataPickerDays.js";
1
+ import { createComponent as i, mergeProps as ee, Portal as te, use as re, insert as b, effect as ae, style as ne, setAttribute as oe, isServer as ie, template as se } from "solid-js/web";
2
+ import { splitProps as le, createSignal as u, createEffect as L, createMemo as me, onCleanup as ce, Show as ue } from "solid-js";
3
+ import { buildFloatingMiddleware as de, resolvePlacement as ge } from "../../../utils/floating.js";
4
+ import { createFloating as fe } from "../../../primitives/createFloating.js";
5
+ import { DataPickerHeader as he } from "../datePicker/dataPickerHeader.js";
6
+ import { DataPickerDays as pe } from "../datePicker/dataPickerDays.js";
7
7
  import { DatePickerList as E } from "../datePicker/datePickerList.js";
8
- import { isValidDate as w, getMonths as pe, getYears as ve, setYear as be, setMonth as we } from "../datePicker/dateUtils.js";
9
- import { OpenView as r } from "../datePicker/openView.js";
10
- import { TimePickerColumns as De } from "../timePicker/timePickerColumns.js";
11
- import { isValidTimeDate as D, mergeTime as Ce, DEFAULT_TIME_FORMAT as ye, mergeDate as ke } from "../timePicker/timeUtils.js";
12
- import { DateTimePickerInput as _e } from "./dateTimePickerInput.js";
8
+ import { isValidDate as w, getMonths as ve, getYears as be, setYear as we, setMonth as De } from "../datePicker/dateUtils.js";
9
+ import { OpenView as a } from "../datePicker/openView.js";
10
+ import { TimePickerColumns as Ce } from "../timePicker/timePickerColumns.js";
11
+ import { isValidTimeDate as D, mergeTime as ye, DEFAULT_TIME_FORMAT as ke, mergeDate as _e } from "../timePicker/timeUtils.js";
12
+ import { DateTimePickerInput as Fe } from "./dateTimePickerInput.js";
13
13
  import { mergeRefs as I } from "../../../primitives/mergeRefs.js";
14
- import { ClickAwayListener as Fe } from "../../clickAwayListener/clickAwayListener.js";
15
- var Me = /* @__PURE__ */ ie('<div class="smwb-date-picker smwb-date-time-picker"data-testid=date-time-picker role=dialog aria-modal=false style="transition:opacity 150ms ease-in-out"><div class="smwb-date-picker__inner smwb-date-time-picker__inner"><div class=smwb-date-time-picker__content><div class="smwb-date-picker__body smwb-date-time-picker__body">');
16
- const Te = 150;
17
- function qe(C) {
18
- const [e, Y] = se(C, ["value", "onChange", "showDaysOutsideMonth", "disablePast", "disableFuture", "weekStartsOn", "placement", "disabled", "disableCalendar", "calendarAriaLabel", "minDate", "maxDate", "isDateDisabled", "locale", "format", "timeFormat", "calendarIcon", "onBlur", "ref"]), l = () => e.value === void 0 ? void 0 : new Date(e.value), f = l(), [o, m] = u(w(f) || D(f) ? f : /* @__PURE__ */ new Date()), [d, g] = u(r.days), [H, y] = u(!1);
14
+ import { ClickAwayListener as Me } from "../../clickAwayListener/clickAwayListener.js";
15
+ var Te = /* @__PURE__ */ se('<div class="smwb-date-picker smwb-date-time-picker"data-testid=date-time-picker role=dialog aria-modal=false style="transition:opacity 150ms ease-in-out"><div class="smwb-date-picker__inner smwb-date-time-picker__inner"><div class=smwb-date-time-picker__content><div class="smwb-date-picker__body smwb-date-time-picker__body">');
16
+ const Ve = 150;
17
+ function Ue(C) {
18
+ const [e, Y] = le(C, ["value", "onChange", "showDaysOutsideMonth", "disablePast", "disableFuture", "weekStartsOn", "placement", "disabled", "disableCalendar", "calendarAriaLabel", "minDate", "maxDate", "isDateDisabled", "locale", "format", "timeFormat", "calendarIcon", "onBlur", "ref"]), l = () => e.value === void 0 ? void 0 : new Date(e.value), f = l(), [o, m] = u(w(f) || D(f) ? f : /* @__PURE__ */ new Date()), [d, g] = u(a.days), [H, y] = u(!1);
19
19
  let k, _;
20
- const F = () => de(e.placement ?? "bottom-start"), h = ge({
20
+ const F = () => ge(e.placement ?? "bottom-start"), h = fe({
21
21
  placement: () => F().placement,
22
- middleware: () => ue(F())
22
+ middleware: () => de(F())
23
23
  });
24
24
  L(() => {
25
25
  if (e.disabled) return;
@@ -29,37 +29,37 @@ function qe(C) {
29
29
  const $ = () => e.weekStartsOn ?? 1, x = (t) => {
30
30
  m(t);
31
31
  }, B = () => {
32
- g(d() === r.months ? r.days : r.months);
32
+ g(d() === a.months ? a.days : a.months);
33
33
  }, R = () => {
34
- g(d() === r.years ? r.days : r.years);
34
+ g(d() === a.years ? a.days : a.years);
35
35
  }, q = (t) => {
36
- m(we(o(), t)), g(r.days);
36
+ m(De(o(), t)), g(a.days);
37
37
  }, U = (t) => {
38
- m(be(o(), t)), g(r.days);
38
+ m(we(o(), t)), g(a.days);
39
39
  }, M = (t) => {
40
40
  m(t), e.onChange?.(void 0, t, C);
41
- }, j = (t, a) => {
42
- if (!a) return;
41
+ }, j = (t, r) => {
42
+ if (!r) return;
43
43
  const n = l(), v = D(n) ? n : o();
44
- M(ke(a, v));
44
+ M(_e(r, v));
45
45
  }, z = (t) => {
46
- const a = l(), n = w(a) ? a : o();
47
- M(Ce(n, t));
46
+ const r = l(), n = w(r) ? r : o();
47
+ M(ye(n, t));
48
48
  }, G = () => {
49
49
  e.disabled || y((t) => !t);
50
50
  }, J = (t) => {
51
- const a = t.target;
52
- _?.contains(a) || k?.contains(a) || y(!1);
53
- }, K = () => e.timeFormat ? e.timeFormat : e.format?.includes("HH:mm:ss") ? "HH:mm:ss" : ye, N = le(() => pe(e.locale)), Q = ve((/* @__PURE__ */ new Date()).getFullYear(), 100), T = () => H() && !e.disabled && !e.disableCalendar, [V, O] = u(T()), [W, P] = u(!1);
51
+ const r = t.target;
52
+ _?.contains(r) || k?.contains(r) || y(!1);
53
+ }, K = () => e.timeFormat ? e.timeFormat : e.format?.includes("HH:mm:ss") ? "HH:mm:ss" : ke, N = me(() => ve(e.locale)), Q = be((/* @__PURE__ */ new Date()).getFullYear(), 100), T = () => H() && !e.disabled && !e.disableCalendar, [V, O] = u(T()), [W, P] = u(!1);
54
54
  let p, c;
55
55
  L(() => {
56
- T() ? (c !== void 0 && clearTimeout(c), O(!0), p = requestAnimationFrame(() => P(!0))) : (P(!1), V() && (c = setTimeout(() => O(!1), Te)));
57
- }), me(() => {
56
+ T() ? (c !== void 0 && clearTimeout(c), O(!0), p = requestAnimationFrame(() => P(!0))) : (P(!1), V() && (c = setTimeout(() => O(!1), Ve)));
57
+ }), ce(() => {
58
58
  p !== void 0 && cancelAnimationFrame(p), c !== void 0 && clearTimeout(c);
59
59
  });
60
60
  const X = () => {
61
61
  switch (d()) {
62
- case r.months:
62
+ case a.months:
63
63
  return i(E, {
64
64
  get value() {
65
65
  return o().getMonth();
@@ -69,7 +69,7 @@ function qe(C) {
69
69
  },
70
70
  onChange: q
71
71
  });
72
- case r.years:
72
+ case a.years:
73
73
  return i(E, {
74
74
  get value() {
75
75
  return o().getFullYear();
@@ -78,7 +78,7 @@ function qe(C) {
78
78
  onChange: U
79
79
  });
80
80
  default:
81
- return i(he, {
81
+ return i(pe, {
82
82
  get viewValue() {
83
83
  return o();
84
84
  },
@@ -113,10 +113,10 @@ function qe(C) {
113
113
  });
114
114
  }
115
115
  };
116
- return [i(_e, ee({
116
+ return [i(Fe, ee({
117
117
  ref(t) {
118
- var a = I(e.ref, h.setReference, (n) => k = n);
119
- typeof a == "function" && a(t);
118
+ var r = I(e.ref, h.setReference, (n) => k = n);
119
+ typeof r == "function" && r(t);
120
120
  },
121
121
  get value() {
122
122
  return e.value;
@@ -140,21 +140,21 @@ function qe(C) {
140
140
  get calendarIcon() {
141
141
  return e.calendarIcon;
142
142
  }
143
- }, Y)), i(ce, {
143
+ }, Y)), i(ue, {
144
144
  get when() {
145
145
  return V();
146
146
  },
147
147
  get children() {
148
148
  return i(te, {
149
149
  get mount() {
150
- return document.body;
150
+ return ie ? void 0 : document.body;
151
151
  },
152
152
  get children() {
153
- return i(Fe, {
153
+ return i(Me, {
154
154
  onClickAway: J,
155
155
  get children() {
156
- var t = Me(), a = t.firstChild, n = a.firstChild, v = n.firstChild, S = I(h.setFloating, (s) => _ = s);
157
- return typeof S == "function" && ae(S, t), b(a, i(fe, {
156
+ var t = Te(), r = t.firstChild, n = r.firstChild, v = n.firstChild, S = I(h.setFloating, (s) => _ = s);
157
+ return typeof S == "function" && re(S, t), b(r, i(he, {
158
158
  get viewValue() {
159
159
  return o();
160
160
  },
@@ -167,7 +167,7 @@ function qe(C) {
167
167
  onChange: x,
168
168
  onMonthLabelClick: B,
169
169
  onYearLabelClick: R
170
- }), n), b(v, X), b(n, i(De, {
170
+ }), n), b(v, X), b(n, i(Ce, {
171
171
  get value() {
172
172
  return o();
173
173
  },
@@ -175,7 +175,7 @@ function qe(C) {
175
175
  return K();
176
176
  },
177
177
  onChange: z
178
- }), null), re((s) => {
178
+ }), null), ae((s) => {
179
179
  var Z = {
180
180
  ...h.floatingStyles(),
181
181
  opacity: W() ? 1 : 0
@@ -193,6 +193,6 @@ function qe(C) {
193
193
  })];
194
194
  }
195
195
  export {
196
- qe as DateTimePicker
196
+ Ue as DateTimePicker
197
197
  };
198
198
  //# sourceMappingURL=dateTimePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dateTimePicker.js","sources":["../../../../src/components/inputs/dateTimePicker/dateTimePicker.tsx"],"sourcesContent":["import { type JSX, Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport type { TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"../datePicker/dataPickerHeader\";\nimport { DataPickerDays } from \"../datePicker/dataPickerDays\";\nimport { DatePickerList } from \"../datePicker/datePickerList\";\nimport { type WeekStart, getMonths, getYears, isValidDate, setMonth, setYear } from \"../datePicker/dateUtils\";\nimport { OpenView } from \"../datePicker/openView\";\nimport { TimePickerColumns } from \"../timePicker/timePickerColumns\";\nimport { DEFAULT_TIME_FORMAT, isValidTimeDate, mergeDate, mergeTime } from \"../timePicker/timeUtils\";\nimport { DateTimePickerInput } from \"./dateTimePickerInput\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface DateTimePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n minDate?: Date | undefined;\n maxDate?: Date | undefined;\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n locale?: string | undefined;\n /** Input format with tokens dd, MM, yyyy, HH, mm, ss, e.g. \"dd/MM/yyyy HH:mm\". */\n format?: string | undefined;\n /** Time portion format when using the clock columns. Defaults to \"HH:mm\". */\n timeFormat?: string | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DateTimePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DateTimePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DateTimePicker(props: DateTimePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"timeFormat\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(\n isValidDate(initialValue) || isValidTimeDate(initialValue) ? initialValue : new Date()\n );\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let popupEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) || isValidTimeDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (next: Date): void => {\n setViewValue(next);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const emitChange = (next: Date): void => {\n setViewValue(next);\n local.onChange?.(undefined, next, props);\n };\n\n const onDateChange = (_event?: Event, date?: Date): void => {\n if (!date) return;\n const v = value();\n const timeSource = isValidTimeDate(v) ? v : viewValue();\n emitChange(mergeDate(date, timeSource));\n };\n\n const onTimeChange = (timeDate: Date): void => {\n const v = value();\n const dateSource = isValidDate(v) ? v : viewValue();\n emitChange(mergeTime(dateSource, timeDate));\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (popupEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const resolvedTimeFormat = (): string => {\n if (local.timeFormat) return local.timeFormat;\n if (local.format?.includes(\"HH:mm:ss\")) return \"HH:mm:ss\";\n return DEFAULT_TIME_FORMAT;\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onDateChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n />\n );\n }\n };\n\n return (\n <>\n <DateTimePickerInput\n ref={mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement))}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n <Show when={mounted()}>\n <Portal mount={document.body}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (popupEl = el as HTMLElement))}\n class=\"smwb-date-picker smwb-date-time-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-time-picker\"\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date and time\"}\n >\n <div class=\"smwb-date-picker__inner smwb-date-time-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-time-picker__content\">\n <div class=\"smwb-date-picker__body smwb-date-time-picker__body\">{view()}</div>\n <TimePickerColumns value={viewValue()} format={resolvedTimeFormat()} onChange={onTimeChange} />\n </div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DateTimePicker;\n"],"names":["FADE_MS","DateTimePicker","props","local","rest","splitProps","value","undefined","Date","initialValue","viewValue","setViewValue","createSignal","isValidDate","isValidTimeDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","popupEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","next","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","emitChange","onChange","onDateChange","_event","date","timeSource","mergeDate","onTimeChange","timeDate","dateSource","mergeTime","onToggle","prev","onClickAway","event","target","contains","resolvedTimeFormat","timeFormat","format","includes","DEFAULT_TIME_FORMAT","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","disableCalendar","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","DateTimePickerInput","_$mergeProps","ref","r$","_ref$","mergeRefs","setReference","el","onBlur","calendarIcon","Show","when","children","Portal","mount","document","body","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","_ref$2","setFloating","_$use","_$insert","DataPickerHeader","TimePickerColumns","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":";;;;;;;;;;;;;;;AAyCA,MAAMA,KAAU;AAET,SAASC,GAAeC,GAAyC;AACtE,QAAM,CAACC,GAAOC,CAAI,IAAIC,GAAWH,GAAO,CACtC,SACA,YACA,wBACA,eACA,iBACA,gBACA,aACA,YACA,mBACA,qBACA,WACA,WACA,kBACA,UACA,UACA,cACA,gBACA,UACA,KAAK,CACN,GAEKI,IAAQA,MAAyBH,EAAMG,UAAUC,SAAYA,SAAY,IAAIC,KAAKL,EAAMG,KAAK,GAE7FG,IAAeH,EAAAA,GACf,CAACI,GAAWC,CAAY,IAAIC,EAChCC,EAAYJ,CAAY,KAAKK,EAAgBL,CAAY,IAAIA,IAAe,oBAAID,MAClF,GACM,CAACO,GAAUC,CAAW,IAAIJ,EAAuBK,EAASC,IAAI,GAC9D,CAACC,GAAQC,CAAS,IAAIR,EAAa,EAAK;AAE9C,MAAIS,GACAC;AAEJ,QAAMC,IAAWA,MAA2CC,GAAiBrB,EAAMsB,aAAa,cAAc,GACxGC,IAAWC,GAAe;AAAA,IAC9BF,WAAWA,MAAMF,EAAAA,EAAWE;AAAAA,IAC5BG,YAAYA,MAAMC,GAAwBN,EAAAA,CAAU;AAAA,EAAA,CACrD;AAEDO,EAAAA,EAAa,MAAM;AACjB,QAAI3B,EAAM4B,SAAU;AACpB,UAAMC,IAAI1B,EAAAA;AACVK,IAAAA,EAAaE,EAAYmB,CAAC,KAAKlB,EAAgBkB,CAAC,IAAIA,IAAI,oBAAIxB,MAAM;AAAA,EACpE,CAAC;AAED,QAAMyB,IAAeA,MAAiB9B,EAAM8B,gBAAgB,GAEtDC,IAAoBA,CAACC,MAAqB;AAC9CxB,IAAAA,EAAawB,CAAI;AAAA,EACnB,GAEMC,IAAoBA,MAAY;AACpCpB,IAAAA,EAAYD,QAAeE,EAASoB,SAASpB,EAASC,OAAOD,EAASoB,MAAM;AAAA,EAC9E,GAEMC,IAAmBA,MAAY;AACnCtB,IAAAA,EAAYD,QAAeE,EAASsB,QAAQtB,EAASC,OAAOD,EAASsB,KAAK;AAAA,EAC5E,GAEMC,IAAgBA,CAACC,MAAwB;AAC7C9B,IAAAA,EAAa+B,GAAShC,EAAAA,GAAa+B,CAAK,CAAC,GACzCzB,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEMyB,IAAeA,CAACC,MAAuB;AAC3CjC,IAAAA,EAAakC,GAAQnC,EAAAA,GAAakC,CAAI,CAAC,GACvC5B,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEM4B,IAAaA,CAACX,MAAqB;AACvCxB,IAAAA,EAAawB,CAAI,GACjBhC,EAAM4C,WAAWxC,QAAW4B,GAAMjC,CAAK;AAAA,EACzC,GAEM8C,IAAeA,CAACC,GAAgBC,MAAsB;AAC1D,QAAI,CAACA,EAAM;AACX,UAAMlB,IAAI1B,EAAAA,GACJ6C,IAAarC,EAAgBkB,CAAC,IAAIA,IAAItB,EAAAA;AAC5CoC,IAAAA,EAAWM,GAAUF,GAAMC,CAAU,CAAC;AAAA,EACxC,GAEME,IAAeA,CAACC,MAAyB;AAC7C,UAAMtB,IAAI1B,EAAAA,GACJiD,IAAa1C,EAAYmB,CAAC,IAAIA,IAAItB,EAAAA;AACxCoC,IAAAA,EAAWU,GAAUD,GAAYD,CAAQ,CAAC;AAAA,EAC5C,GAEMG,IAAWA,MAAY;AAC3B,IAAKtD,EAAM4B,YAAUX,EAAWsC,CAAAA,MAAS,CAACA,CAAI;AAAA,EAChD,GAEMC,IAAcA,CAACC,MAAyC;AAC5D,UAAMC,IAASD,EAAMC;AACrB,IAAIvC,GAASwC,SAASD,CAAM,KAAKxC,GAAUyC,SAASD,CAAM,KAC1DzC,EAAU,EAAK;AAAA,EACjB,GAEM2C,IAAqBA,MACrB5D,EAAM6D,aAAmB7D,EAAM6D,aAC/B7D,EAAM8D,QAAQC,SAAS,UAAU,IAAU,aACxCC,IAGH9B,IAAS+B,GAAW,MAAMC,GAAUlE,EAAMmE,MAAM,CAAC,GACjD/B,IAAQgC,IAAS,oBAAI/D,QAAOgE,YAAAA,GAAe,GAAG,GAE9CC,IAAaA,MAAetD,EAAAA,KAAY,CAAChB,EAAM4B,YAAY,CAAC5B,EAAMuE,iBAClE,CAACC,GAASC,CAAU,IAAIhE,EAAa6D,GAAY,GACjD,CAACI,GAAOC,CAAQ,IAAIlE,EAAa,EAAK;AAC5C,MAAImE,GACAC;AAEJlD,EAAAA,EAAa,MAAM;AACjB,IAAI2C,OACEO,MAAUzE,UAAW0E,aAAaD,CAAK,GAC3CJ,EAAW,EAAI,GACfG,IAAMG,sBAAsB,MAAMJ,EAAS,EAAI,CAAC,MAEhDA,EAAS,EAAK,GACVH,EAAAA,MAAWK,IAAQG,WAAW,MAAMP,EAAW,EAAK,GAAG5E,EAAO;AAAA,EAEtE,CAAC,GACDoF,GAAU,MAAM;AACd,IAAIL,MAAQxE,UAAW8E,qBAAqBN,CAAG,GAC3CC,MAAUzE,UAAW0E,aAAaD,CAAK;AAAA,EAC7C,CAAC;AAED,QAAMM,IAAOA,MAAmB;AAC9B,YAAQvE,KAAS;AAAA,MACf,KAAKE,EAASoB;AACZ,eAAAkD,EAAQC,GAAc;AAAA,UAAA,IAAClF,QAAK;AAAA,mBAAEI,EAAAA,EAAY+E,SAAAA;AAAAA,UAAU;AAAA,UAAA,IAAEC,QAAK;AAAA,mBAAErD,EAAAA;AAAAA,UAAQ;AAAA,UAAEU,UAAUP;AAAAA,QAAAA,CAAa;AAAA,MAChG,KAAKvB,EAASsB;AACZ,eAAAgD,EAAQC,GAAc;AAAA,UAAA,IAAClF,QAAK;AAAA,mBAAEI,EAAAA,EAAY8D,YAAAA;AAAAA,UAAa;AAAA,UAAEkB,OAAOnD;AAAAA,UAAOQ,UAAUJ;AAAAA,QAAAA,CAAY;AAAA,MAC/F;AACE,eAAA4C,EACGI,IAAc;AAAA,UAAA,IACbjF,YAAS;AAAA,mBAAEA,EAAAA;AAAAA,UAAW;AAAA,UAAA,IACtBJ,QAAK;AAAA,mBAAEA,EAAAA;AAAAA,UAAO;AAAA,UAAA,IACdsF,uBAAoB;AAAA,mBAAEzF,EAAMyF;AAAAA,UAAoB;AAAA,UAChD7C,UAAUC;AAAAA,UAAY,IACtB6C,cAAW;AAAA,mBAAE1F,EAAM0F;AAAAA,UAAW;AAAA,UAAA,IAC9BC,gBAAa;AAAA,mBAAE3F,EAAM2F;AAAAA,UAAa;AAAA,UAAA,IAClC7D,eAAY;AAAA,mBAAEA,EAAAA;AAAAA,UAAc;AAAA,UAAA,IAC5B8D,UAAO;AAAA,mBAAE5F,EAAM4F;AAAAA,UAAO;AAAA,UAAA,IACtBC,UAAO;AAAA,mBAAE7F,EAAM6F;AAAAA,UAAO;AAAA,UAAA,IACtBC,iBAAc;AAAA,mBAAE9F,EAAM8F;AAAAA,UAAc;AAAA,UAAA,IACpC3B,SAAM;AAAA,mBAAEnE,EAAMmE;AAAAA,UAAM;AAAA,QAAA,CAAA;AAAA,IAAA;AAAA,EAI9B;AAEA,SAAA,CAAAiB,EAEKW,IAAmBC,GAAA;AAAA,IAAAC,IAAAC,GAAA;AAAA,UAAAC,IACbC,EAAUpG,EAAMiG,KAAK1E,EAAS8E,cAAeC,CAAAA,MAAQpF,IAAWoF,CAAkB;AAAC,aAAAH,KAAA,cAAAA,EAAAD,CAAA;AAAA,IAAA;AAAA,IAAA,IACxF/F,QAAK;AAAA,aAAEH,EAAMG;AAAAA,IAAK;AAAA,IAAA,IAClByC,WAAQ;AAAA,aAAE5C,EAAM4C;AAAAA,IAAQ;AAAA,IAAA,IACxB2D,SAAM;AAAA,aAAEvG,EAAMuG;AAAAA,IAAM;AAAA,IACpBjD,UAAAA;AAAAA,IAAkB,IAClB1B,WAAQ;AAAA,aAAE5B,EAAM4B;AAAAA,IAAQ;AAAA,IAAA,IACxB2C,kBAAe;AAAA,aAAEvE,EAAMuE;AAAAA,IAAe;AAAA,IAAA,IACtCT,SAAM;AAAA,aAAE9D,EAAM8D;AAAAA,IAAM;AAAA,IAAA,IACpB0C,eAAY;AAAA,aAAExG,EAAMwG;AAAAA,IAAY;AAAA,EAAA,GAC5BvG,CAAI,CAAA,GAAAmF,EAETqB,IAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAElC,EAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAmC,WAAA;AAAA,aAAAvB,EAClBwB,IAAM;AAAA,QAAA,IAACC,QAAK;AAAA,iBAAEC,SAASC;AAAAA,QAAI;AAAA,QAAA,IAAAJ,WAAA;AAAA,iBAAAvB,EACzB4B,IAAiB;AAAA,YAACxD,aAAAA;AAAAA,YAAwB,IAAAmD,WAAA;AAAA,kBAAAM,IAAAC,MAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAAAD,EAAAD,YAAAG,IAElCnB,EAAU7E,EAASiG,aAAclB,CAAAA,MAAQnF,IAAUmF,CAAkB;AAAC,4BAAAiB,KAAA,cAAAE,GAAAF,GAAAN,CAAA,GAAAS,EAAAP,GAAA/B,EAaxEuC,IAAgB;AAAA,gBAAA,IACfpH,YAAS;AAAA,yBAAEA,EAAAA;AAAAA,gBAAW;AAAA,gBAAA,IACtB4D,SAAM;AAAA,yBAAEnE,EAAMmE;AAAAA,gBAAM;AAAA,gBAAA,IACpBvD,WAAQ;AAAA,yBAAEA,EAAAA;AAAAA,gBAAU;AAAA,gBACpBgC,UAAUb;AAAAA,gBACVE,mBAAAA;AAAAA,gBACAE,kBAAAA;AAAAA,cAAAA,CAAkC,GAAAkF,CAAA,GAAAK,EAAAJ,GAG+BnC,CAAI,GAAAuC,EAAAL,GAAAjC,EACpEwC,IAAiB;AAAA,gBAAA,IAACzH,QAAK;AAAA,yBAAEI,EAAAA;AAAAA,gBAAW;AAAA,gBAAA,IAAEuD,SAAM;AAAA,yBAAEF,EAAAA;AAAAA,gBAAoB;AAAA,gBAAEhB,UAAUM;AAAAA,cAAAA,CAAY,GAAA,IAAA,GAAA2E,GAAAC,CAAAA,MAAA;AAAA,oBAAAC,IArBxF;AAAA,kBACL,GAAGxG,EAASyG,eAAAA;AAAAA,kBAEZC,SAASvD,EAAAA,IAAU,IAAI;AAAA,gBAAA,GACxBwD,IAIWlI,EAAMmI,qBAAqB;AAAsBL,uBAAAA,EAAAM,IAAAC,GAAApB,GAAAc,GAAAD,EAAAM,CAAA,GAAAF,MAAAJ,EAAAQ,KAAAC,GAAAtB,GAAA,cAAAa,EAAAQ,IAAAJ,CAAA,GAAAJ;AAAAA,cAAA,GAAA;AAAA,gBAAAM,GAAAhI;AAAAA,gBAAAkI,GAAAlI;AAAAA,cAAAA,CAAA,GAAA6G;AAAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,CAAA;AAsB3E;"}
1
+ {"version":3,"file":"dateTimePicker.js","sources":["../../../../src/components/inputs/dateTimePicker/dateTimePicker.tsx"],"sourcesContent":["import { type JSX, Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport type { TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"../datePicker/dataPickerHeader\";\nimport { DataPickerDays } from \"../datePicker/dataPickerDays\";\nimport { DatePickerList } from \"../datePicker/datePickerList\";\nimport { type WeekStart, getMonths, getYears, isValidDate, setMonth, setYear } from \"../datePicker/dateUtils\";\nimport { OpenView } from \"../datePicker/openView\";\nimport { TimePickerColumns } from \"../timePicker/timePickerColumns\";\nimport { DEFAULT_TIME_FORMAT, isValidTimeDate, mergeDate, mergeTime } from \"../timePicker/timeUtils\";\nimport { DateTimePickerInput } from \"./dateTimePickerInput\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface DateTimePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n minDate?: Date | undefined;\n maxDate?: Date | undefined;\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n locale?: string | undefined;\n /** Input format with tokens dd, MM, yyyy, HH, mm, ss, e.g. \"dd/MM/yyyy HH:mm\". */\n format?: string | undefined;\n /** Time portion format when using the clock columns. Defaults to \"HH:mm\". */\n timeFormat?: string | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DateTimePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DateTimePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DateTimePicker(props: DateTimePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"timeFormat\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(\n isValidDate(initialValue) || isValidTimeDate(initialValue) ? initialValue : new Date()\n );\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let popupEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) || isValidTimeDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (next: Date): void => {\n setViewValue(next);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const emitChange = (next: Date): void => {\n setViewValue(next);\n local.onChange?.(undefined, next, props);\n };\n\n const onDateChange = (_event?: Event, date?: Date): void => {\n if (!date) return;\n const v = value();\n const timeSource = isValidTimeDate(v) ? v : viewValue();\n emitChange(mergeDate(date, timeSource));\n };\n\n const onTimeChange = (timeDate: Date): void => {\n const v = value();\n const dateSource = isValidDate(v) ? v : viewValue();\n emitChange(mergeTime(dateSource, timeDate));\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (popupEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const resolvedTimeFormat = (): string => {\n if (local.timeFormat) return local.timeFormat;\n if (local.format?.includes(\"HH:mm:ss\")) return \"HH:mm:ss\";\n return DEFAULT_TIME_FORMAT;\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onDateChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n />\n );\n }\n };\n\n return (\n <>\n <DateTimePickerInput\n ref={mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement))}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n <Show when={mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (popupEl = el as HTMLElement))}\n class=\"smwb-date-picker smwb-date-time-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-time-picker\"\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date and time\"}\n >\n <div class=\"smwb-date-picker__inner smwb-date-time-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-time-picker__content\">\n <div class=\"smwb-date-picker__body smwb-date-time-picker__body\">{view()}</div>\n <TimePickerColumns value={viewValue()} format={resolvedTimeFormat()} onChange={onTimeChange} />\n </div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DateTimePicker;\n"],"names":["FADE_MS","DateTimePicker","props","local","rest","splitProps","value","undefined","Date","initialValue","viewValue","setViewValue","createSignal","isValidDate","isValidTimeDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","popupEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","next","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","emitChange","onChange","onDateChange","_event","date","timeSource","mergeDate","onTimeChange","timeDate","dateSource","mergeTime","onToggle","prev","onClickAway","event","target","contains","resolvedTimeFormat","timeFormat","format","includes","DEFAULT_TIME_FORMAT","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","disableCalendar","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","DateTimePickerInput","_$mergeProps","ref","r$","_ref$","mergeRefs","setReference","el","onBlur","calendarIcon","Show","when","children","Portal","mount","isServer","document","body","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","_ref$2","setFloating","_$use","_$insert","DataPickerHeader","TimePickerColumns","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":";;;;;;;;;;;;;;;AAyCA,MAAMA,KAAU;AAET,SAASC,GAAeC,GAAyC;AACtE,QAAM,CAACC,GAAOC,CAAI,IAAIC,GAAWH,GAAO,CACtC,SACA,YACA,wBACA,eACA,iBACA,gBACA,aACA,YACA,mBACA,qBACA,WACA,WACA,kBACA,UACA,UACA,cACA,gBACA,UACA,KAAK,CACN,GAEKI,IAAQA,MAAyBH,EAAMG,UAAUC,SAAYA,SAAY,IAAIC,KAAKL,EAAMG,KAAK,GAE7FG,IAAeH,EAAAA,GACf,CAACI,GAAWC,CAAY,IAAIC,EAChCC,EAAYJ,CAAY,KAAKK,EAAgBL,CAAY,IAAIA,IAAe,oBAAID,MAClF,GACM,CAACO,GAAUC,CAAW,IAAIJ,EAAuBK,EAASC,IAAI,GAC9D,CAACC,GAAQC,CAAS,IAAIR,EAAa,EAAK;AAE9C,MAAIS,GACAC;AAEJ,QAAMC,IAAWA,MAA2CC,GAAiBrB,EAAMsB,aAAa,cAAc,GACxGC,IAAWC,GAAe;AAAA,IAC9BF,WAAWA,MAAMF,EAAAA,EAAWE;AAAAA,IAC5BG,YAAYA,MAAMC,GAAwBN,EAAAA,CAAU;AAAA,EAAA,CACrD;AAEDO,EAAAA,EAAa,MAAM;AACjB,QAAI3B,EAAM4B,SAAU;AACpB,UAAMC,IAAI1B,EAAAA;AACVK,IAAAA,EAAaE,EAAYmB,CAAC,KAAKlB,EAAgBkB,CAAC,IAAIA,IAAI,oBAAIxB,MAAM;AAAA,EACpE,CAAC;AAED,QAAMyB,IAAeA,MAAiB9B,EAAM8B,gBAAgB,GAEtDC,IAAoBA,CAACC,MAAqB;AAC9CxB,IAAAA,EAAawB,CAAI;AAAA,EACnB,GAEMC,IAAoBA,MAAY;AACpCpB,IAAAA,EAAYD,QAAeE,EAASoB,SAASpB,EAASC,OAAOD,EAASoB,MAAM;AAAA,EAC9E,GAEMC,IAAmBA,MAAY;AACnCtB,IAAAA,EAAYD,QAAeE,EAASsB,QAAQtB,EAASC,OAAOD,EAASsB,KAAK;AAAA,EAC5E,GAEMC,IAAgBA,CAACC,MAAwB;AAC7C9B,IAAAA,EAAa+B,GAAShC,EAAAA,GAAa+B,CAAK,CAAC,GACzCzB,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEMyB,IAAeA,CAACC,MAAuB;AAC3CjC,IAAAA,EAAakC,GAAQnC,EAAAA,GAAakC,CAAI,CAAC,GACvC5B,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEM4B,IAAaA,CAACX,MAAqB;AACvCxB,IAAAA,EAAawB,CAAI,GACjBhC,EAAM4C,WAAWxC,QAAW4B,GAAMjC,CAAK;AAAA,EACzC,GAEM8C,IAAeA,CAACC,GAAgBC,MAAsB;AAC1D,QAAI,CAACA,EAAM;AACX,UAAMlB,IAAI1B,EAAAA,GACJ6C,IAAarC,EAAgBkB,CAAC,IAAIA,IAAItB,EAAAA;AAC5CoC,IAAAA,EAAWM,GAAUF,GAAMC,CAAU,CAAC;AAAA,EACxC,GAEME,IAAeA,CAACC,MAAyB;AAC7C,UAAMtB,IAAI1B,EAAAA,GACJiD,IAAa1C,EAAYmB,CAAC,IAAIA,IAAItB,EAAAA;AACxCoC,IAAAA,EAAWU,GAAUD,GAAYD,CAAQ,CAAC;AAAA,EAC5C,GAEMG,IAAWA,MAAY;AAC3B,IAAKtD,EAAM4B,YAAUX,EAAWsC,CAAAA,MAAS,CAACA,CAAI;AAAA,EAChD,GAEMC,IAAcA,CAACC,MAAyC;AAC5D,UAAMC,IAASD,EAAMC;AACrB,IAAIvC,GAASwC,SAASD,CAAM,KAAKxC,GAAUyC,SAASD,CAAM,KAC1DzC,EAAU,EAAK;AAAA,EACjB,GAEM2C,IAAqBA,MACrB5D,EAAM6D,aAAmB7D,EAAM6D,aAC/B7D,EAAM8D,QAAQC,SAAS,UAAU,IAAU,aACxCC,IAGH9B,IAAS+B,GAAW,MAAMC,GAAUlE,EAAMmE,MAAM,CAAC,GACjD/B,IAAQgC,IAAS,oBAAI/D,QAAOgE,YAAAA,GAAe,GAAG,GAE9CC,IAAaA,MAAetD,EAAAA,KAAY,CAAChB,EAAM4B,YAAY,CAAC5B,EAAMuE,iBAClE,CAACC,GAASC,CAAU,IAAIhE,EAAa6D,GAAY,GACjD,CAACI,GAAOC,CAAQ,IAAIlE,EAAa,EAAK;AAC5C,MAAImE,GACAC;AAEJlD,EAAAA,EAAa,MAAM;AACjB,IAAI2C,OACEO,MAAUzE,UAAW0E,aAAaD,CAAK,GAC3CJ,EAAW,EAAI,GACfG,IAAMG,sBAAsB,MAAMJ,EAAS,EAAI,CAAC,MAEhDA,EAAS,EAAK,GACVH,EAAAA,MAAWK,IAAQG,WAAW,MAAMP,EAAW,EAAK,GAAG5E,EAAO;AAAA,EAEtE,CAAC,GACDoF,GAAU,MAAM;AACd,IAAIL,MAAQxE,UAAW8E,qBAAqBN,CAAG,GAC3CC,MAAUzE,UAAW0E,aAAaD,CAAK;AAAA,EAC7C,CAAC;AAED,QAAMM,IAAOA,MAAmB;AAC9B,YAAQvE,KAAS;AAAA,MACf,KAAKE,EAASoB;AACZ,eAAAkD,EAAQC,GAAc;AAAA,UAAA,IAAClF,QAAK;AAAA,mBAAEI,EAAAA,EAAY+E,SAAAA;AAAAA,UAAU;AAAA,UAAA,IAAEC,QAAK;AAAA,mBAAErD,EAAAA;AAAAA,UAAQ;AAAA,UAAEU,UAAUP;AAAAA,QAAAA,CAAa;AAAA,MAChG,KAAKvB,EAASsB;AACZ,eAAAgD,EAAQC,GAAc;AAAA,UAAA,IAAClF,QAAK;AAAA,mBAAEI,EAAAA,EAAY8D,YAAAA;AAAAA,UAAa;AAAA,UAAEkB,OAAOnD;AAAAA,UAAOQ,UAAUJ;AAAAA,QAAAA,CAAY;AAAA,MAC/F;AACE,eAAA4C,EACGI,IAAc;AAAA,UAAA,IACbjF,YAAS;AAAA,mBAAEA,EAAAA;AAAAA,UAAW;AAAA,UAAA,IACtBJ,QAAK;AAAA,mBAAEA,EAAAA;AAAAA,UAAO;AAAA,UAAA,IACdsF,uBAAoB;AAAA,mBAAEzF,EAAMyF;AAAAA,UAAoB;AAAA,UAChD7C,UAAUC;AAAAA,UAAY,IACtB6C,cAAW;AAAA,mBAAE1F,EAAM0F;AAAAA,UAAW;AAAA,UAAA,IAC9BC,gBAAa;AAAA,mBAAE3F,EAAM2F;AAAAA,UAAa;AAAA,UAAA,IAClC7D,eAAY;AAAA,mBAAEA,EAAAA;AAAAA,UAAc;AAAA,UAAA,IAC5B8D,UAAO;AAAA,mBAAE5F,EAAM4F;AAAAA,UAAO;AAAA,UAAA,IACtBC,UAAO;AAAA,mBAAE7F,EAAM6F;AAAAA,UAAO;AAAA,UAAA,IACtBC,iBAAc;AAAA,mBAAE9F,EAAM8F;AAAAA,UAAc;AAAA,UAAA,IACpC3B,SAAM;AAAA,mBAAEnE,EAAMmE;AAAAA,UAAM;AAAA,QAAA,CAAA;AAAA,IAAA;AAAA,EAI9B;AAEA,SAAA,CAAAiB,EAEKW,IAAmBC,GAAA;AAAA,IAAAC,IAAAC,GAAA;AAAA,UAAAC,IACbC,EAAUpG,EAAMiG,KAAK1E,EAAS8E,cAAeC,CAAAA,MAAQpF,IAAWoF,CAAkB;AAAC,aAAAH,KAAA,cAAAA,EAAAD,CAAA;AAAA,IAAA;AAAA,IAAA,IACxF/F,QAAK;AAAA,aAAEH,EAAMG;AAAAA,IAAK;AAAA,IAAA,IAClByC,WAAQ;AAAA,aAAE5C,EAAM4C;AAAAA,IAAQ;AAAA,IAAA,IACxB2D,SAAM;AAAA,aAAEvG,EAAMuG;AAAAA,IAAM;AAAA,IACpBjD,UAAAA;AAAAA,IAAkB,IAClB1B,WAAQ;AAAA,aAAE5B,EAAM4B;AAAAA,IAAQ;AAAA,IAAA,IACxB2C,kBAAe;AAAA,aAAEvE,EAAMuE;AAAAA,IAAe;AAAA,IAAA,IACtCT,SAAM;AAAA,aAAE9D,EAAM8D;AAAAA,IAAM;AAAA,IAAA,IACpB0C,eAAY;AAAA,aAAExG,EAAMwG;AAAAA,IAAY;AAAA,EAAA,GAC5BvG,CAAI,CAAA,GAAAmF,EAETqB,IAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAElC,EAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAmC,WAAA;AAAA,aAAAvB,EAClBwB,IAAM;AAAA,QAAA,IAACC,QAAK;AAAA,iBAAGC,KAAW1G,SAAY2G,SAASC;AAAAA,QAAa;AAAA,QAAA,IAAAL,WAAA;AAAA,iBAAAvB,EAC1D6B,IAAiB;AAAA,YAACzD,aAAAA;AAAAA,YAAwB,IAAAmD,WAAA;AAAA,kBAAAO,IAAAC,MAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAAAD,EAAAD,YAAAG,IAElCpB,EAAU7E,EAASkG,aAAcnB,CAAAA,MAAQnF,IAAUmF,CAAkB;AAAC,4BAAAkB,KAAA,cAAAE,GAAAF,GAAAN,CAAA,GAAAS,EAAAP,GAAAhC,EAaxEwC,IAAgB;AAAA,gBAAA,IACfrH,YAAS;AAAA,yBAAEA,EAAAA;AAAAA,gBAAW;AAAA,gBAAA,IACtB4D,SAAM;AAAA,yBAAEnE,EAAMmE;AAAAA,gBAAM;AAAA,gBAAA,IACpBvD,WAAQ;AAAA,yBAAEA,EAAAA;AAAAA,gBAAU;AAAA,gBACpBgC,UAAUb;AAAAA,gBACVE,mBAAAA;AAAAA,gBACAE,kBAAAA;AAAAA,cAAAA,CAAkC,GAAAmF,CAAA,GAAAK,EAAAJ,GAG+BpC,CAAI,GAAAwC,EAAAL,GAAAlC,EACpEyC,IAAiB;AAAA,gBAAA,IAAC1H,QAAK;AAAA,yBAAEI,EAAAA;AAAAA,gBAAW;AAAA,gBAAA,IAAEuD,SAAM;AAAA,yBAAEF,EAAAA;AAAAA,gBAAoB;AAAA,gBAAEhB,UAAUM;AAAAA,cAAAA,CAAY,GAAA,IAAA,GAAA4E,GAAAC,CAAAA,MAAA;AAAA,oBAAAC,IArBxF;AAAA,kBACL,GAAGzG,EAAS0G,eAAAA;AAAAA,kBAEZC,SAASxD,EAAAA,IAAU,IAAI;AAAA,gBAAA,GACxByD,IAIWnI,EAAMoI,qBAAqB;AAAsBL,uBAAAA,EAAAM,IAAAC,GAAApB,GAAAc,GAAAD,EAAAM,CAAA,GAAAF,MAAAJ,EAAAQ,KAAAC,GAAAtB,GAAA,cAAAa,EAAAQ,IAAAJ,CAAA,GAAAJ;AAAAA,cAAA,GAAA;AAAA,gBAAAM,GAAAjI;AAAAA,gBAAAmI,GAAAnI;AAAAA,cAAAA,CAAA,GAAA8G;AAAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,CAAA;AAsB3E;"}
@@ -1,18 +1,18 @@
1
- import { createComponent as r, Portal as L, insert as u, addEventListener as S, effect as O, setStyleProperty as d, template as o, memo as R } from "solid-js/web";
2
- import { createSignal as W, createEffect as x, onCleanup as A, Show as l, For as b } from "solid-js";
3
- import { createVirtualList as D } from "../../../primitives/createVirtualList.js";
4
- import { Menu as P } from "../../navigation/menu/menu.js";
5
- import { TextField as T } from "../textField/textField.js";
6
- import { MenuDivider as V } from "../../navigation/menu/menuDivider.js";
7
- import { ProgressIndicator as F } from "../../feedBack/progressIndicator/progressIndicator.js";
1
+ import { createComponent as r, Portal as L, insert as u, addEventListener as S, effect as O, setStyleProperty as d, isServer as R, template as o, memo as W } from "solid-js/web";
2
+ import { createSignal as A, createEffect as x, onCleanup as D, Show as l, For as b } from "solid-js";
3
+ import { createVirtualList as P } from "../../../primitives/createVirtualList.js";
4
+ import { Menu as T } from "../../navigation/menu/menu.js";
5
+ import { TextField as V } from "../textField/textField.js";
6
+ import { MenuDivider as F } from "../../navigation/menu/menuDivider.js";
7
+ import { ProgressIndicator as G } from "../../feedBack/progressIndicator/progressIndicator.js";
8
8
  import { MenuItem as $ } from "../../navigation/menu/menuItem.js";
9
- var G = /* @__PURE__ */ o("<span class=smwb-select-field__option__helper-text>"), Y = /* @__PURE__ */ o("<li class=smwb-select-field__group-label role=presentation>"), z = /* @__PURE__ */ o("<li class=smwb-select-field__menu-search>"), K = /* @__PURE__ */ o("<div class=smwb-select-field__menu-loading>"), N = /* @__PURE__ */ o("<li role=presentation class=smwb-select-field__virtual-viewport><div class=smwb-select-field__virtual-scroller style=overflow-y:auto><div style=position:relative><ul role=presentation class=smwb-select-field__virtual-list style=list-style:none;margin:0;padding:0>"), j = /* @__PURE__ */ o("<li class=smwb-select-field__empty-items>");
10
- function ee(t) {
11
- const C = () => Array.isArray(t.value) ? t.value : [t.value], m = () => t.items.some((e) => !!e.group), M = () => t.itemHeight ?? 40, h = () => t.menuMaxHeight || 240, g = () => !!t.virtualized && !m() && !t.isLoading && t.items.length > 0, s = D({
9
+ var Y = /* @__PURE__ */ o("<span class=smwb-select-field__option__helper-text>"), z = /* @__PURE__ */ o("<li class=smwb-select-field__group-label role=presentation>"), K = /* @__PURE__ */ o("<li class=smwb-select-field__menu-search>"), N = /* @__PURE__ */ o("<div class=smwb-select-field__menu-loading>"), j = /* @__PURE__ */ o("<li role=presentation class=smwb-select-field__virtual-viewport><div class=smwb-select-field__virtual-scroller style=overflow-y:auto><div style=position:relative><ul role=presentation class=smwb-select-field__virtual-list style=list-style:none;margin:0;padding:0>"), q = /* @__PURE__ */ o("<li class=smwb-select-field__empty-items>");
10
+ function te(t) {
11
+ const C = () => Array.isArray(t.value) ? t.value : [t.value], m = () => t.items.some((e) => !!e.group), M = () => t.itemHeight ?? 40, h = () => t.menuMaxHeight || 240, g = () => !!t.virtualized && !m() && !t.isLoading && t.items.length > 0, s = P({
12
12
  itemCount: () => g() ? t.items.length : 0,
13
13
  itemHeight: M,
14
14
  viewportHeight: h
15
- }), [f, k] = W();
15
+ }), [v, k] = A();
16
16
  x(() => {
17
17
  const e = t.anchorElement();
18
18
  t.isOpen && e && k(e.clientWidth);
@@ -21,7 +21,7 @@ function ee(t) {
21
21
  const e = (n) => {
22
22
  n.key === "Escape" && t.onClose();
23
23
  };
24
- document.addEventListener("keydown", e), A(() => document.removeEventListener("keydown", e));
24
+ document.addEventListener("keydown", e), D(() => document.removeEventListener("keydown", e));
25
25
  });
26
26
  const E = (e) => {
27
27
  const n = [];
@@ -35,7 +35,7 @@ function ee(t) {
35
35
  item: a
36
36
  });
37
37
  return n;
38
- }, v = (e) => r($, {
38
+ }, f = (e) => r($, {
39
39
  get value() {
40
40
  return e.value;
41
41
  },
@@ -52,22 +52,22 @@ function ee(t) {
52
52
  return t.optionRenderer;
53
53
  },
54
54
  get children() {
55
- return [R(() => e.text), r(l, {
55
+ return [W(() => e.text), r(l, {
56
56
  get when() {
57
57
  return e.helperText;
58
58
  },
59
59
  get children() {
60
- var n = G();
60
+ var n = Y();
61
61
  return u(n, () => e.helperText), n;
62
62
  }
63
63
  })];
64
64
  }
65
65
  }), I = (e) => e.kind === "group" ? (() => {
66
- var n = Y();
66
+ var n = z();
67
67
  return u(n, () => e.group), n;
68
- })() : v(e.item), H = () => ({
69
- ...f() ? {
70
- "min-width": `${f()}px`
68
+ })() : f(e.item), H = () => ({
69
+ ...v() ? {
70
+ "min-width": `${v()}px`
71
71
  } : {},
72
72
  ...t.menuMaxHeight ? {
73
73
  "max-height": `${t.menuMaxHeight}px`,
@@ -76,10 +76,10 @@ function ee(t) {
76
76
  });
77
77
  return r(L, {
78
78
  get mount() {
79
- return t.container ?? document.body;
79
+ return R ? void 0 : t.container ?? document.body;
80
80
  },
81
81
  get children() {
82
- return r(P, {
82
+ return r(T, {
83
83
  get isOpen() {
84
84
  return t.isOpen;
85
85
  },
@@ -100,8 +100,8 @@ function ee(t) {
100
100
  },
101
101
  get children() {
102
102
  return [(() => {
103
- var e = z();
104
- return u(e, r(T, {
103
+ var e = K();
104
+ return u(e, r(V, {
105
105
  class: "smwb-select-field__menu-search-input",
106
106
  type: "text",
107
107
  placeholder: "Найти...",
@@ -111,15 +111,15 @@ function ee(t) {
111
111
  onChange: (n) => t.onSearchInputChange?.(n),
112
112
  fullWidth: !0
113
113
  })), e;
114
- })(), r(V, {})];
114
+ })(), r(F, {})];
115
115
  }
116
116
  }), r(l, {
117
117
  get when() {
118
118
  return t.isLoading;
119
119
  },
120
120
  get children() {
121
- var e = K();
122
- return u(e, r(F, {
121
+ var e = N();
122
+ return u(e, r(G, {
123
123
  type: "indeterminate",
124
124
  variant: "circular",
125
125
  class: "smwb-select-field__menu__loader"
@@ -145,7 +145,7 @@ function ee(t) {
145
145
  return !t.createOption;
146
146
  },
147
147
  get children() {
148
- var e = j();
148
+ var e = q();
149
149
  return u(e, () => t.menuNoItemsMessage || "Опций не найдено."), e;
150
150
  }
151
151
  });
@@ -161,12 +161,12 @@ function ee(t) {
161
161
  });
162
162
  },
163
163
  get children() {
164
- var e = N(), n = e.firstChild, c = n.firstChild, a = c.firstChild;
164
+ var e = j(), n = e.firstChild, c = n.firstChild, a = c.firstChild;
165
165
  return S(n, "scroll", s.onScroll), u(a, r(b, {
166
166
  get each() {
167
167
  return t.items.slice(s.startIndex(), s.endIndex());
168
168
  },
169
- children: (i) => v(i)
169
+ children: (i) => f(i)
170
170
  })), O((i) => {
171
171
  var _ = `${h()}px`, w = `${s.totalHeight()}px`, y = `translateY(${s.offsetY()}px)`;
172
172
  return _ !== i.e && d(n, "max-height", i.e = _), w !== i.t && d(c, "height", i.t = w), y !== i.a && d(a, "transform", i.a = y), i;
@@ -197,6 +197,6 @@ function ee(t) {
197
197
  });
198
198
  }
199
199
  export {
200
- ee as DropdownMenu
200
+ te as DropdownMenu
201
201
  };
202
202
  //# sourceMappingURL=dropdownMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdownMenu.js","sources":["../../../../src/components/inputs/selectField/dropdownMenu.tsx"],"sourcesContent":["import { type Accessor, type JSX, For, Show, createEffect, createSignal, onCleanup } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport type { Middleware } from \"@floating-ui/dom\";\nimport { Menu, MenuDivider, MenuItem } from \"../../navigation/menu\";\nimport { TextField } from \"../textField\";\nimport { ProgressIndicator } from \"../../feedBack/progressIndicator\";\nimport { createVirtualList } from \"../../../primitives/createVirtualList\";\n\nexport interface DropdownItem {\n key?: string | number;\n text: string;\n value: string | number | undefined | null;\n helperText?: string;\n disabled?: boolean;\n /** Optional group label; consecutive items sharing it get a group header. */\n group?: string;\n}\n\ntype SearchEvent = Event & { currentTarget: HTMLInputElement };\ntype ItemEvent = Event & { currentTarget: Element; target: Element };\n\nexport interface DropdownItemProps {\n menuMaxHeight?: number | undefined;\n menuMiddleware?: Middleware[] | undefined;\n menuNoItemsMessage?: JSX.Element;\n search?: boolean | undefined;\n onSearchInputChange?: ((event: SearchEvent) => void) | undefined;\n items: DropdownItem[];\n searchValue?: string | number | undefined;\n isOpen: boolean;\n onClose: () => void;\n anchorElement: Accessor<HTMLElement | null>;\n value?: undefined | null | string | number | (undefined | null | string | number)[];\n onItemClick: (event: ItemEvent, item: DropdownItem) => void;\n isLoading?: boolean | undefined;\n optionRenderer?: ((args: import(\"../../navigation/menu\").MenuItemProps) => JSX.Element) | undefined;\n container?: HTMLElement | undefined;\n createOption?: { text: JSX.Element; onCreate: (event: ItemEvent) => void } | undefined;\n virtualized?: boolean | undefined;\n itemHeight?: number | undefined;\n}\n\ntype Row = { kind: \"group\"; group?: string | undefined } | { kind: \"item\"; item: DropdownItem };\n\nexport function DropdownMenu(props: DropdownItemProps): JSX.Element {\n const valueArray = (): Array<string | number | undefined | null> =>\n Array.isArray(props.value) ? props.value : [props.value];\n const hasGroups = (): boolean => props.items.some((i) => !!i.group);\n const itemHeight = (): number => props.itemHeight ?? 40;\n const viewportHeight = (): number => props.menuMaxHeight || 240;\n const useVirtual = (): boolean => !!props.virtualized && !hasGroups() && !props.isLoading && props.items.length > 0;\n\n const virtual = createVirtualList({\n itemCount: () => (useVirtual() ? props.items.length : 0),\n itemHeight,\n viewportHeight,\n });\n\n const [menuMinWidth, setMenuMinWidth] = createSignal<number>();\n\n createEffect(() => {\n const anchor = props.anchorElement();\n if (props.isOpen && anchor) setMenuMinWidth(anchor.clientWidth);\n });\n\n createEffect(() => {\n if (!props.isOpen) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"Escape\") props.onClose();\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const toRows = (list: DropdownItem[]): Row[] => {\n const out: Row[] = [];\n let lastGroup: string | undefined;\n for (const el of list) {\n if (hasGroups() && el.group !== lastGroup) {\n lastGroup = el.group;\n out.push({ kind: \"group\", group: el.group });\n }\n out.push({ kind: \"item\", item: el });\n }\n return out;\n };\n\n const renderItem = (el: DropdownItem): JSX.Element => (\n <MenuItem\n value={el.value}\n disabled={el.disabled}\n selected={!!valueArray().find((v) => v === el.value)}\n onClick={(e) => {\n if (!el.disabled) props.onItemClick(e as ItemEvent, el);\n }}\n optionRenderer={props.optionRenderer}\n >\n {el.text}\n <Show when={el.helperText}>\n <span class=\"smwb-select-field__option__helper-text\">{el.helperText}</span>\n </Show>\n </MenuItem>\n );\n\n const renderRow = (row: Row): JSX.Element =>\n row.kind === \"group\" ? (\n <li class=\"smwb-select-field__group-label\" role=\"presentation\">\n {row.group}\n </li>\n ) : (\n renderItem(row.item)\n );\n\n const menuStyle = (): JSX.CSSProperties => ({\n ...(menuMinWidth() ? { \"min-width\": `${menuMinWidth()}px` } : {}),\n ...(props.menuMaxHeight ? { \"max-height\": `${props.menuMaxHeight}px`, \"overflow-y\": \"auto\" } : {}),\n });\n\n return (\n <Portal mount={props.container ?? document.body}>\n <Menu\n isOpen={props.isOpen}\n onClose={() => props.onClose()}\n anchorElement={props.anchorElement()}\n middleware={props.menuMiddleware}\n style={menuStyle()}\n >\n <Show when={props.search}>\n <li class=\"smwb-select-field__menu-search\">\n <TextField\n class=\"smwb-select-field__menu-search-input\"\n type=\"text\"\n placeholder=\"Найти...\"\n value={props.searchValue}\n onChange={(e) => props.onSearchInputChange?.(e as SearchEvent)}\n fullWidth\n />\n </li>\n <MenuDivider />\n </Show>\n\n <Show when={props.isLoading}>\n <div class=\"smwb-select-field__menu-loading\">\n <ProgressIndicator type=\"indeterminate\" variant=\"circular\" class=\"smwb-select-field__menu__loader\" />\n </div>\n </Show>\n\n <Show when={!props.isLoading}>\n <Show\n when={useVirtual()}\n fallback={\n <Show\n when={props.items.length > 0}\n fallback={\n <Show when={!props.createOption}>\n <li class=\"smwb-select-field__empty-items\">{props.menuNoItemsMessage || \"Опций не найдено.\"}</li>\n </Show>\n }\n >\n <For each={toRows(props.items)}>{(row) => renderRow(row)}</For>\n </Show>\n }\n >\n <li role=\"presentation\" class=\"smwb-select-field__virtual-viewport\">\n <div\n class=\"smwb-select-field__virtual-scroller\"\n style={{ \"max-height\": `${viewportHeight()}px`, \"overflow-y\": \"auto\" }}\n onScroll={virtual.onScroll}\n >\n <div style={{ height: `${virtual.totalHeight()}px`, position: \"relative\" }}>\n <ul\n role=\"presentation\"\n class=\"smwb-select-field__virtual-list\"\n style={{ transform: `translateY(${virtual.offsetY()}px)`, \"list-style\": \"none\", margin: \"0\", padding: \"0\" }}\n >\n <For each={props.items.slice(virtual.startIndex(), virtual.endIndex())}>{(el) => renderItem(el)}</For>\n </ul>\n </div>\n </div>\n </li>\n </Show>\n </Show>\n\n <Show when={props.createOption}>\n {(createOption) => (\n <MenuItem\n value=\"__create__\"\n onClick={(e) => createOption().onCreate(e as ItemEvent)}\n class=\"smwb-select-field__create-option\"\n >\n {createOption().text}\n </MenuItem>\n )}\n </Show>\n </Menu>\n </Portal>\n );\n}\n\nexport default DropdownMenu;\n"],"names":["DropdownMenu","props","valueArray","Array","isArray","value","hasGroups","items","some","i","group","itemHeight","viewportHeight","menuMaxHeight","useVirtual","virtualized","isLoading","length","virtual","createVirtualList","itemCount","menuMinWidth","setMenuMinWidth","createSignal","createEffect","anchor","anchorElement","isOpen","clientWidth","onKeyDown","event","key","onClose","document","addEventListener","onCleanup","removeEventListener","toRows","list","out","lastGroup","el","push","kind","item","renderItem","_$createComponent","MenuItem","disabled","selected","find","v","onClick","e","onItemClick","optionRenderer","children","_$memo","text","Show","when","helperText","_el$","_tmpl$","_$insert","renderRow","row","_el$2","_tmpl$2","menuStyle","Portal","mount","container","body","Menu","middleware","menuMiddleware","style","search","_el$3","_tmpl$3","TextField","type","placeholder","searchValue","onChange","onSearchInputChange","fullWidth","MenuDivider","_el$4","_tmpl$4","ProgressIndicator","variant","fallback","createOption","_el$9","_tmpl$6","menuNoItemsMessage","For","each","_el$5","_tmpl$5","_el$6","firstChild","_el$7","_el$8","_$addEventListener","onScroll","slice","startIndex","endIndex","_$effect","_p$","_v$","_v$2","totalHeight","_v$3","offsetY","_$setStyleProperty","t","a","undefined","onCreate"],"mappings":";;;;;;;;;AA4CO,SAASA,GAAaC,GAAuC;AAClE,QAAMC,IAAaA,MACjBC,MAAMC,QAAQH,EAAMI,KAAK,IAAIJ,EAAMI,QAAQ,CAACJ,EAAMI,KAAK,GACnDC,IAAYA,MAAeL,EAAMM,MAAMC,KAAMC,CAAAA,MAAM,CAAC,CAACA,EAAEC,KAAK,GAC5DC,IAAaA,MAAcV,EAAMU,cAAc,IAC/CC,IAAiBA,MAAcX,EAAMY,iBAAiB,KACtDC,IAAaA,MAAe,CAAC,CAACb,EAAMc,eAAe,CAACT,OAAe,CAACL,EAAMe,aAAaf,EAAMM,MAAMU,SAAS,GAE5GC,IAAUC,EAAkB;AAAA,IAChCC,WAAWA,MAAON,EAAAA,IAAeb,EAAMM,MAAMU,SAAS;AAAA,IACtDN,YAAAA;AAAAA,IACAC,gBAAAA;AAAAA,EAAAA,CACD,GAEK,CAACS,GAAcC,CAAe,IAAIC,EAAAA;AAExCC,EAAAA,EAAa,MAAM;AACjB,UAAMC,IAASxB,EAAMyB,cAAAA;AACrB,IAAIzB,EAAM0B,UAAUF,KAAQH,EAAgBG,EAAOG,WAAW;AAAA,EAChE,CAAC,GAEDJ,EAAa,MAAM;AACjB,QAAI,CAACvB,EAAM0B,OAAQ;AACnB,UAAME,IAAYA,CAACC,MAA+B;AAChD,MAAIA,EAAMC,QAAQ,YAAU9B,EAAM+B,QAAAA;AAAAA,IACpC;AACAC,aAASC,iBAAiB,WAAWL,CAAS,GAC9CM,EAAU,MAAMF,SAASG,oBAAoB,WAAWP,CAAS,CAAC;AAAA,EACpE,CAAC;AAED,QAAMQ,IAASA,CAACC,MAAgC;AAC9C,UAAMC,IAAa,CAAA;AACnB,QAAIC;AACJ,eAAWC,KAAMH;AACf,MAAIhC,EAAAA,KAAemC,EAAG/B,UAAU8B,MAC9BA,IAAYC,EAAG/B,OACf6B,EAAIG,KAAK;AAAA,QAAEC,MAAM;AAAA,QAASjC,OAAO+B,EAAG/B;AAAAA,MAAAA,CAAO,IAE7C6B,EAAIG,KAAK;AAAA,QAAEC,MAAM;AAAA,QAAQC,MAAMH;AAAAA,MAAAA,CAAI;AAErC,WAAOF;AAAAA,EACT,GAEMM,IAAaA,CAACJ,MAA8BK,EAC/CC,GAAQ;AAAA,IAAA,IACP1C,QAAK;AAAA,aAAEoC,EAAGpC;AAAAA,IAAK;AAAA,IAAA,IACf2C,WAAQ;AAAA,aAAEP,EAAGO;AAAAA,IAAQ;AAAA,IAAA,IACrBC,WAAQ;AAAA,aAAE,CAAC,CAAC/C,EAAAA,EAAagD,KAAMC,CAAAA,MAAMA,MAAMV,EAAGpC,KAAK;AAAA,IAAC;AAAA,IACpD+C,SAAUC,CAAAA,MAAM;AACd,MAAKZ,EAAGO,YAAU/C,EAAMqD,YAAYD,GAAgBZ,CAAE;AAAA,IACxD;AAAA,IAAC,IACDc,iBAAc;AAAA,aAAEtD,EAAMsD;AAAAA,IAAc;AAAA,IAAA,IAAAC,WAAA;AAAA,aAAA,CAAAC,QAEnChB,EAAGiB,IAAI,GAAAZ,EACPa,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAEnB,EAAGoB;AAAAA,QAAU;AAAA,QAAA,IAAAL,WAAA;AAAA,cAAAM,IAAAC,EAAAA;AAAAC,iBAAAA,EAAAF,GAAA,MAC+BrB,EAAGoB,UAAU,GAAAC;AAAAA,QAAA;AAAA,MAAA,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,GAKnEG,IAAYA,CAACC,MACjBA,EAAIvB,SAAS,WAAO,MAAA;AAAA,QAAAwB,IAAAC,EAAAA;AAAAJ,WAAAA,EAAAG,GAAA,MAEfD,EAAIxD,KAAK,GAAAyD;AAAAA,EAAA,OAGZtB,EAAWqB,EAAItB,IAAI,GAGjByB,IAAYA,OAA0B;AAAA,IAC1C,GAAIhD,MAAiB;AAAA,MAAE,aAAa,GAAGA,EAAAA,CAAc;AAAA,IAAA,IAAS,CAAA;AAAA,IAC9D,GAAIpB,EAAMY,gBAAgB;AAAA,MAAE,cAAc,GAAGZ,EAAMY,aAAa;AAAA,MAAM,cAAc;AAAA,IAAA,IAAW,CAAA;AAAA,EAAC;AAGlG,SAAAiC,EACGwB,GAAM;AAAA,IAAA,IAACC,QAAK;AAAA,aAAEtE,EAAMuE,aAAavC,SAASwC;AAAAA,IAAI;AAAA,IAAA,IAAAjB,WAAA;AAAA,aAAAV,EAC5C4B,GAAI;AAAA,QAAA,IACH/C,SAAM;AAAA,iBAAE1B,EAAM0B;AAAAA,QAAM;AAAA,QACpBK,SAASA,MAAM/B,EAAM+B,QAAAA;AAAAA,QAAS,IAC9BN,gBAAa;AAAA,iBAAEzB,EAAMyB,cAAAA;AAAAA,QAAe;AAAA,QAAA,IACpCiD,aAAU;AAAA,iBAAE1E,EAAM2E;AAAAA,QAAc;AAAA,QAAA,IAChCC,QAAK;AAAA,iBAAER,EAAAA;AAAAA,QAAW;AAAA,QAAA,IAAAb,WAAA;AAAA,iBAAA,CAAAV,EAEjBa,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAE3D,EAAM6E;AAAAA,YAAM;AAAA,YAAA,IAAAtB,WAAA;AAAA,qBAAA,EAAA,MAAA;AAAA,oBAAAuB,IAAAC,EAAAA;AAAAhB,uBAAAA,EAAAe,GAAAjC,EAEnBmC,GAAS;AAAA,kBAAA,OAAA;AAAA,kBAERC,MAAI;AAAA,kBACJC,aAAW;AAAA,kBAAA,IACX9E,QAAK;AAAA,2BAAEJ,EAAMmF;AAAAA,kBAAW;AAAA,kBACxBC,UAAWhC,CAAAA,MAAMpD,EAAMqF,sBAAsBjC,CAAgB;AAAA,kBAC7DkC,WAAS;AAAA,gBAAA,CAAA,CAAA,GAAAR;AAAAA,cAAA,MAAAjC,EAGZ0C,GAAW,CAAA,CAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA,GAAA1C,EAGba,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAE3D,EAAMe;AAAAA,YAAS;AAAA,YAAA,IAAAwC,WAAA;AAAA,kBAAAiC,IAAAC,EAAAA;AAAA1B,qBAAAA,EAAAyB,GAAA3C,EAEtB6C,GAAiB;AAAA,gBAACT,MAAI;AAAA,gBAAiBU,SAAO;AAAA,gBAAA,OAAA;AAAA,cAAA,CAAA,CAAA,GAAAH;AAAAA,YAAA;AAAA,UAAA,CAAA,GAAA3C,EAIlDa,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAE,CAAC3D,EAAMe;AAAAA,YAAS;AAAA,YAAA,IAAAwC,WAAA;AAAA,qBAAAV,EACzBa,GAAI;AAAA,gBAAA,IACHC,OAAI;AAAA,yBAAE9C,EAAAA;AAAAA,gBAAY;AAAA,gBAAA,IAClB+E,WAAQ;AAAA,yBAAA/C,EACLa,GAAI;AAAA,oBAAA,IACHC,OAAI;AAAA,6BAAE3D,EAAMM,MAAMU,SAAS;AAAA,oBAAC;AAAA,oBAAA,IAC5B4E,WAAQ;AAAA,6BAAA/C,EACLa,GAAI;AAAA,wBAAA,IAACC,OAAI;AAAA,iCAAE,CAAC3D,EAAM6F;AAAAA,wBAAY;AAAA,wBAAA,IAAAtC,WAAA;AAAA,8BAAAuC,IAAAC,EAAAA;AAAAhC,iCAAAA,EAAA+B,GAAA,MACe9F,EAAMgG,sBAAsB,mBAAmB,GAAAF;AAAAA,wBAAA;AAAA,sBAAA,CAAA;AAAA,oBAAA;AAAA,oBAAA,IAAAvC,WAAA;AAAA,6BAAAV,EAI9FoD,GAAG;AAAA,wBAAA,IAACC,OAAI;AAAA,iCAAE9D,EAAOpC,EAAMM,KAAK;AAAA,wBAAC;AAAA,wBAAAiD,UAAIU,CAAAA,MAAQD,EAAUC,CAAG;AAAA,sBAAA,CAAC;AAAA,oBAAA;AAAA,kBAAA,CAAA;AAAA,gBAAA;AAAA,gBAAA,IAAAV,WAAA;AAAA,sBAAA4C,IAAAC,KAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAAAD,EAAAD;AAAAG,yBAAAA,EAAAJ,GAAA,UAQ9CpF,EAAQyF,QAAQ,GAAA3C,EAAAyC,GAAA3D,EAQrBoD,GAAG;AAAA,oBAAA,IAACC,OAAI;AAAA,6BAAElG,EAAMM,MAAMqG,MAAM1F,EAAQ2F,cAAc3F,EAAQ4F,UAAU;AAAA,oBAAC;AAAA,oBAAAtD,UAAIf,CAAAA,MAAOI,EAAWJ,CAAE;AAAA,kBAAA,CAAC,CAAA,GAAAsE,EAAAC,CAAAA,MAAA;AAAA,wBAAAC,IAT5E,GAAGrG,EAAAA,CAAgB,MAAIsG,IAGxB,GAAGhG,EAAQiG,YAAAA,CAAa,MAAIC,IAI1B,cAAclG,EAAQmG,SAAS;AAAKJ,2BAAAA,MAAAD,EAAA3D,KAAAiE,EAAAhB,GAAA,cAAAU,EAAA3D,IAAA4D,CAAA,GAAAC,MAAAF,EAAAO,KAAAD,EAAAd,GAAA,UAAAQ,EAAAO,IAAAL,CAAA,GAAAE,MAAAJ,EAAAQ,KAAAF,EAAAb,GAAA,aAAAO,EAAAQ,IAAAJ,CAAA,GAAAJ;AAAAA,kBAAA,GAAA;AAAA,oBAAA3D,GAAAoE;AAAAA,oBAAAF,GAAAE;AAAAA,oBAAAD,GAAAC;AAAAA,kBAAAA,CAAA,GAAArB;AAAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA,GAAAtD,EAUnEa,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAE3D,EAAM6F;AAAAA,YAAY;AAAA,YAAAtC,UAC1BsC,CAAAA,MAAYhD,EACXC,GAAQ;AAAA,cACP1C,OAAK;AAAA,cACL+C,SAAUC,CAAAA,MAAMyC,EAAAA,EAAe4B,SAASrE,CAAc;AAAA,cAAC,OAAA;AAAA,cAAA,IAAAG,WAAA;AAAA,uBAGtDsC,IAAepC;AAAAA,cAAI;AAAA,YAAA,CAAA;AAAA,UAAA,CAEvB,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAKX;"}
1
+ {"version":3,"file":"dropdownMenu.js","sources":["../../../../src/components/inputs/selectField/dropdownMenu.tsx"],"sourcesContent":["import { type Accessor, type JSX, For, Show, createEffect, createSignal, onCleanup } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport type { Middleware } from \"@floating-ui/dom\";\nimport { Menu, MenuDivider, MenuItem } from \"../../navigation/menu\";\nimport { TextField } from \"../textField\";\nimport { ProgressIndicator } from \"../../feedBack/progressIndicator\";\nimport { createVirtualList } from \"../../../primitives/createVirtualList\";\n\nexport interface DropdownItem {\n key?: string | number;\n text: string;\n value: string | number | undefined | null;\n helperText?: string;\n disabled?: boolean;\n /** Optional group label; consecutive items sharing it get a group header. */\n group?: string;\n}\n\ntype SearchEvent = Event & { currentTarget: HTMLInputElement };\ntype ItemEvent = Event & { currentTarget: Element; target: Element };\n\nexport interface DropdownItemProps {\n menuMaxHeight?: number | undefined;\n menuMiddleware?: Middleware[] | undefined;\n menuNoItemsMessage?: JSX.Element;\n search?: boolean | undefined;\n onSearchInputChange?: ((event: SearchEvent) => void) | undefined;\n items: DropdownItem[];\n searchValue?: string | number | undefined;\n isOpen: boolean;\n onClose: () => void;\n anchorElement: Accessor<HTMLElement | null>;\n value?: undefined | null | string | number | (undefined | null | string | number)[];\n onItemClick: (event: ItemEvent, item: DropdownItem) => void;\n isLoading?: boolean | undefined;\n optionRenderer?: ((args: import(\"../../navigation/menu\").MenuItemProps) => JSX.Element) | undefined;\n container?: HTMLElement | undefined;\n createOption?: { text: JSX.Element; onCreate: (event: ItemEvent) => void } | undefined;\n virtualized?: boolean | undefined;\n itemHeight?: number | undefined;\n}\n\ntype Row = { kind: \"group\"; group?: string | undefined } | { kind: \"item\"; item: DropdownItem };\n\nexport function DropdownMenu(props: DropdownItemProps): JSX.Element {\n const valueArray = (): Array<string | number | undefined | null> =>\n Array.isArray(props.value) ? props.value : [props.value];\n const hasGroups = (): boolean => props.items.some((i) => !!i.group);\n const itemHeight = (): number => props.itemHeight ?? 40;\n const viewportHeight = (): number => props.menuMaxHeight || 240;\n const useVirtual = (): boolean => !!props.virtualized && !hasGroups() && !props.isLoading && props.items.length > 0;\n\n const virtual = createVirtualList({\n itemCount: () => (useVirtual() ? props.items.length : 0),\n itemHeight,\n viewportHeight,\n });\n\n const [menuMinWidth, setMenuMinWidth] = createSignal<number>();\n\n createEffect(() => {\n const anchor = props.anchorElement();\n if (props.isOpen && anchor) setMenuMinWidth(anchor.clientWidth);\n });\n\n createEffect(() => {\n if (!props.isOpen) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"Escape\") props.onClose();\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const toRows = (list: DropdownItem[]): Row[] => {\n const out: Row[] = [];\n let lastGroup: string | undefined;\n for (const el of list) {\n if (hasGroups() && el.group !== lastGroup) {\n lastGroup = el.group;\n out.push({ kind: \"group\", group: el.group });\n }\n out.push({ kind: \"item\", item: el });\n }\n return out;\n };\n\n const renderItem = (el: DropdownItem): JSX.Element => (\n <MenuItem\n value={el.value}\n disabled={el.disabled}\n selected={!!valueArray().find((v) => v === el.value)}\n onClick={(e) => {\n if (!el.disabled) props.onItemClick(e as ItemEvent, el);\n }}\n optionRenderer={props.optionRenderer}\n >\n {el.text}\n <Show when={el.helperText}>\n <span class=\"smwb-select-field__option__helper-text\">{el.helperText}</span>\n </Show>\n </MenuItem>\n );\n\n const renderRow = (row: Row): JSX.Element =>\n row.kind === \"group\" ? (\n <li class=\"smwb-select-field__group-label\" role=\"presentation\">\n {row.group}\n </li>\n ) : (\n renderItem(row.item)\n );\n\n const menuStyle = (): JSX.CSSProperties => ({\n ...(menuMinWidth() ? { \"min-width\": `${menuMinWidth()}px` } : {}),\n ...(props.menuMaxHeight ? { \"max-height\": `${props.menuMaxHeight}px`, \"overflow-y\": \"auto\" } : {}),\n });\n\n return (\n <Portal mount={(isServer ? undefined : (props.container ?? document.body)) as Node}>\n <Menu\n isOpen={props.isOpen}\n onClose={() => props.onClose()}\n anchorElement={props.anchorElement()}\n middleware={props.menuMiddleware}\n style={menuStyle()}\n >\n <Show when={props.search}>\n <li class=\"smwb-select-field__menu-search\">\n <TextField\n class=\"smwb-select-field__menu-search-input\"\n type=\"text\"\n placeholder=\"Найти...\"\n value={props.searchValue}\n onChange={(e) => props.onSearchInputChange?.(e as SearchEvent)}\n fullWidth\n />\n </li>\n <MenuDivider />\n </Show>\n\n <Show when={props.isLoading}>\n <div class=\"smwb-select-field__menu-loading\">\n <ProgressIndicator type=\"indeterminate\" variant=\"circular\" class=\"smwb-select-field__menu__loader\" />\n </div>\n </Show>\n\n <Show when={!props.isLoading}>\n <Show\n when={useVirtual()}\n fallback={\n <Show\n when={props.items.length > 0}\n fallback={\n <Show when={!props.createOption}>\n <li class=\"smwb-select-field__empty-items\">{props.menuNoItemsMessage || \"Опций не найдено.\"}</li>\n </Show>\n }\n >\n <For each={toRows(props.items)}>{(row) => renderRow(row)}</For>\n </Show>\n }\n >\n <li role=\"presentation\" class=\"smwb-select-field__virtual-viewport\">\n <div\n class=\"smwb-select-field__virtual-scroller\"\n style={{ \"max-height\": `${viewportHeight()}px`, \"overflow-y\": \"auto\" }}\n onScroll={virtual.onScroll}\n >\n <div style={{ height: `${virtual.totalHeight()}px`, position: \"relative\" }}>\n <ul\n role=\"presentation\"\n class=\"smwb-select-field__virtual-list\"\n style={{ transform: `translateY(${virtual.offsetY()}px)`, \"list-style\": \"none\", margin: \"0\", padding: \"0\" }}\n >\n <For each={props.items.slice(virtual.startIndex(), virtual.endIndex())}>{(el) => renderItem(el)}</For>\n </ul>\n </div>\n </div>\n </li>\n </Show>\n </Show>\n\n <Show when={props.createOption}>\n {(createOption) => (\n <MenuItem\n value=\"__create__\"\n onClick={(e) => createOption().onCreate(e as ItemEvent)}\n class=\"smwb-select-field__create-option\"\n >\n {createOption().text}\n </MenuItem>\n )}\n </Show>\n </Menu>\n </Portal>\n );\n}\n\nexport default DropdownMenu;\n"],"names":["DropdownMenu","props","valueArray","Array","isArray","value","hasGroups","items","some","i","group","itemHeight","viewportHeight","menuMaxHeight","useVirtual","virtualized","isLoading","length","virtual","createVirtualList","itemCount","menuMinWidth","setMenuMinWidth","createSignal","createEffect","anchor","anchorElement","isOpen","clientWidth","onKeyDown","event","key","onClose","document","addEventListener","onCleanup","removeEventListener","toRows","list","out","lastGroup","el","push","kind","item","renderItem","_$createComponent","MenuItem","disabled","selected","find","v","onClick","e","onItemClick","optionRenderer","children","_$memo","text","Show","when","helperText","_el$","_tmpl$","_$insert","renderRow","row","_el$2","_tmpl$2","menuStyle","Portal","mount","isServer","undefined","container","body","Menu","middleware","menuMiddleware","style","search","_el$3","_tmpl$3","TextField","type","placeholder","searchValue","onChange","onSearchInputChange","fullWidth","MenuDivider","_el$4","_tmpl$4","ProgressIndicator","variant","fallback","createOption","_el$9","_tmpl$6","menuNoItemsMessage","For","each","_el$5","_tmpl$5","_el$6","firstChild","_el$7","_el$8","_$addEventListener","onScroll","slice","startIndex","endIndex","_$effect","_p$","_v$","_v$2","totalHeight","_v$3","offsetY","_$setStyleProperty","t","a","onCreate"],"mappings":"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"}