@smwb/ui-react 2.7.0 → 2.9.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 (602) hide show
  1. package/AI_LESS_OVERRIDES.md +84 -21
  2. package/AI_THEMING.md +72 -28
  3. package/README.md +681 -0
  4. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  5. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  6. package/dist/assets/styles/less/components/button/button.entry.css +1 -1
  7. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  8. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  9. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  10. package/dist/assets/styles/less/components/commandPalette/commandPalette.entry.css +1 -0
  11. package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
  12. package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
  13. package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
  14. package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
  15. package/dist/assets/styles/less/components/list/list.entry.css +1 -1
  16. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  17. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  18. package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
  19. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  20. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  21. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  22. package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
  23. package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
  24. package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
  25. package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
  26. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  27. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  28. package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
  29. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  30. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  31. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  32. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  33. package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
  34. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  35. package/dist/assets/styles/less/connects/rt/table.entry.css +1 -1
  36. package/dist/assets/styles/less/tokens.entry.css +1 -1
  37. package/dist/components/base/icon/icon.d.ts +6 -2
  38. package/dist/components/base/icon/icon.js +49 -37
  39. package/dist/components/base/icon/icon.js.map +1 -1
  40. package/dist/components/base/ripple/ripple.d.ts +3 -0
  41. package/dist/components/base/ripple/ripple.js +38 -23
  42. package/dist/components/base/ripple/ripple.js.map +1 -1
  43. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  44. package/dist/components/dataDisplay/avatar/avatar.js +50 -37
  45. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  46. package/dist/components/dataDisplay/badge/badge.js +37 -28
  47. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  48. package/dist/components/dataDisplay/card/card.d.ts +30 -2
  49. package/dist/components/dataDisplay/card/card.js +50 -23
  50. package/dist/components/dataDisplay/card/card.js.map +1 -1
  51. package/dist/components/dataDisplay/carousel/carousel.js +70 -70
  52. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  53. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  54. package/dist/components/dataDisplay/chart/chart.js +66 -53
  55. package/dist/components/dataDisplay/chart/chart.js.map +1 -1
  56. package/dist/components/dataDisplay/chat/chat.d.ts +43 -1
  57. package/dist/components/dataDisplay/chat/chat.js +179 -150
  58. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  59. package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
  60. package/dist/components/dataDisplay/chat/chatComposer.js +31 -29
  61. package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
  62. package/dist/components/dataDisplay/chat/chatIconButton.d.ts +1 -1
  63. package/dist/components/dataDisplay/chat/chatIconButton.js +30 -26
  64. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  65. package/dist/components/dataDisplay/chat/chatLayout.d.ts +3 -1
  66. package/dist/components/dataDisplay/chat/chatLayout.js +56 -55
  67. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  68. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +3 -1
  69. package/dist/components/dataDisplay/chat/index.d.ts +1 -1
  70. package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
  71. package/dist/components/dataDisplay/chat/utils.js.map +1 -1
  72. package/dist/components/dataDisplay/chip/chip.d.ts +31 -0
  73. package/dist/components/dataDisplay/chip/chip.js +110 -83
  74. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  75. package/dist/components/dataDisplay/chipGroup/chipGroup.js +34 -30
  76. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  77. package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
  78. package/dist/components/dataDisplay/dagView/dagLayout.js +289 -0
  79. package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  80. package/dist/components/dataDisplay/dagView/dagView.d.ts +157 -0
  81. package/dist/components/dataDisplay/dagView/dagView.js +543 -0
  82. package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
  83. package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
  84. package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
  85. package/dist/components/dataDisplay/dagView/panZoom.js +171 -0
  86. package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
  87. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  88. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  89. package/dist/components/dataDisplay/diffStat/diffStat.d.ts +54 -0
  90. package/dist/components/dataDisplay/diffStat/diffStat.js +63 -0
  91. package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  92. package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
  93. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  94. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  95. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  96. package/dist/components/dataDisplay/kanban/kanban.js +46 -35
  97. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  98. package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
  99. package/dist/components/dataDisplay/kbd/kbd.d.ts +40 -0
  100. package/dist/components/dataDisplay/kbd/kbd.js +27 -0
  101. package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
  102. package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
  103. package/dist/components/dataDisplay/kbd/kbdKeys.js +72 -0
  104. package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  105. package/dist/components/dataDisplay/lazyImage/lazyImage.js +31 -30
  106. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  107. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  108. package/dist/components/dataDisplay/list/list.js +15 -14
  109. package/dist/components/dataDisplay/list/list.js.map +1 -1
  110. package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
  111. package/dist/components/dataDisplay/list/listItem.js +47 -24
  112. package/dist/components/dataDisplay/list/listItem.js.map +1 -1
  113. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  114. package/dist/components/dataDisplay/meter/meter.js +24 -23
  115. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  116. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  117. package/dist/components/dataDisplay/personChip/personChip.js +39 -27
  118. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  119. package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
  120. package/dist/components/dataDisplay/qrCode/qrCode.d.ts +28 -0
  121. package/dist/components/dataDisplay/qrCode/qrCode.js +78 -0
  122. package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  123. package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
  124. package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  125. package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  126. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  127. package/dist/components/dataDisplay/stat/stat.js +25 -13
  128. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  129. package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
  130. package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
  131. package/dist/components/dataDisplay/statusDot/statusDot.js +30 -0
  132. package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  133. package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
  134. package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +53 -0
  135. package/dist/components/dataDisplay/swimlanes/swimlanes.js +357 -0
  136. package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  137. package/dist/components/dataDisplay/table/table.d.ts +16 -1
  138. package/dist/components/dataDisplay/table/table.js +40 -36
  139. package/dist/components/dataDisplay/table/table.js.map +1 -1
  140. package/dist/components/dataDisplay/table/tableBody.js +10 -4
  141. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  142. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  143. package/dist/components/dataDisplay/table/tableCell.js +20 -13
  144. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  145. package/dist/components/dataDisplay/table/tableColumns.d.ts +83 -0
  146. package/dist/components/dataDisplay/table/tableColumns.js +112 -0
  147. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  148. package/dist/components/dataDisplay/table/tableHead.js +9 -3
  149. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  150. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +24 -3
  151. package/dist/components/dataDisplay/table/tableHeadCell.js +60 -65
  152. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  153. package/dist/components/dataDisplay/table/tableRow.d.ts +3 -1
  154. package/dist/components/dataDisplay/table/tableRow.js +28 -16
  155. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  156. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  157. package/dist/components/dataDisplay/thumbCard/thumbCard.js +79 -59
  158. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  159. package/dist/components/dataDisplay/treeView/treeView.d.ts +19 -1
  160. package/dist/components/dataDisplay/treeView/treeView.js +113 -91
  161. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  162. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  163. package/dist/components/feedBack/emptyState/emptyState.js +22 -12
  164. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  165. package/dist/components/feedBack/message/message.d.ts +2 -0
  166. package/dist/components/feedBack/message/message.js +30 -19
  167. package/dist/components/feedBack/message/message.js.map +1 -1
  168. package/dist/components/feedBack/modal/modal.js +84 -63
  169. package/dist/components/feedBack/modal/modal.js.map +1 -1
  170. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  171. package/dist/components/feedBack/skeleton/skeleton.js +37 -34
  172. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  173. package/dist/components/feedBack/snackbar/snackbar.js +104 -103
  174. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  175. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  176. package/dist/components/feedBack/tooltip/tooltip.js +67 -47
  177. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  178. package/dist/components/inputs/button/button.d.ts +15 -1
  179. package/dist/components/inputs/button/button.js +73 -63
  180. package/dist/components/inputs/button/button.js.map +1 -1
  181. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  182. package/dist/components/inputs/buttonGroups/buttonGroup.js +40 -36
  183. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  184. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  185. package/dist/components/inputs/checkbox/checkbox.js +84 -59
  186. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  187. package/dist/components/inputs/composer/composer.d.ts +149 -0
  188. package/dist/components/inputs/composer/composer.js +219 -0
  189. package/dist/components/inputs/composer/composer.js.map +1 -0
  190. package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
  191. package/dist/components/inputs/composer/composerFiles.js +19 -0
  192. package/dist/components/inputs/composer/composerFiles.js.map +1 -0
  193. package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
  194. package/dist/components/inputs/composer/composerKeys.js +7 -0
  195. package/dist/components/inputs/composer/composerKeys.js.map +1 -0
  196. package/dist/components/inputs/composer/index.d.ts +3 -0
  197. package/dist/components/inputs/datePicker/datePicker.js +170 -164
  198. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  199. package/dist/components/inputs/datePicker/datePickerDay.d.ts +1 -1
  200. package/dist/components/inputs/datePicker/datePickerDay.js +52 -44
  201. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  202. package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +1 -1
  203. package/dist/components/inputs/datePicker/datePickerIconButton.js +32 -28
  204. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  205. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
  206. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  207. package/dist/components/inputs/floatingButton/floatingButton.js +32 -30
  208. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  209. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  210. package/dist/components/inputs/radioButton/radioButton.js +77 -58
  211. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  212. package/dist/components/inputs/rating/rating.d.ts +8 -0
  213. package/dist/components/inputs/rating/rating.js +85 -70
  214. package/dist/components/inputs/rating/rating.js.map +1 -1
  215. package/dist/components/inputs/selectField/dropdownMenu.d.ts +20 -1
  216. package/dist/components/inputs/selectField/dropdownMenu.js +266 -113
  217. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  218. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  219. package/dist/components/inputs/selectField/optionNavigation.js +38 -0
  220. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  221. package/dist/components/inputs/selectField/selectField.d.ts +31 -1
  222. package/dist/components/inputs/selectField/selectField.js +358 -218
  223. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  224. package/dist/components/inputs/slider/slider.d.ts +22 -1
  225. package/dist/components/inputs/slider/slider.js +330 -261
  226. package/dist/components/inputs/slider/slider.js.map +1 -1
  227. package/dist/components/inputs/textField/textField.d.ts +7 -0
  228. package/dist/components/inputs/textField/textField.js +118 -100
  229. package/dist/components/inputs/textField/textField.js.map +1 -1
  230. package/dist/components/inputs/textField/textFieldWrapper.d.ts +15 -1
  231. package/dist/components/inputs/textField/textFieldWrapper.js +45 -34
  232. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  233. package/dist/components/inputs/timePicker/timePicker.js +91 -85
  234. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  235. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  236. package/dist/components/inputs/toggle/toggle.js +80 -61
  237. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  238. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  239. package/dist/components/inputs/valueSlider/valueSlider.js +23 -22
  240. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  241. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  242. package/dist/components/layout/appLayout/appLayout.js +25 -24
  243. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  244. package/dist/components/layout/divider/divider.d.ts +2 -0
  245. package/dist/components/layout/divider/divider.js +23 -22
  246. package/dist/components/layout/divider/divider.js.map +1 -1
  247. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  248. package/dist/components/layout/floatingWindow/floatingWindow.js +145 -139
  249. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  250. package/dist/components/layout/grid/grid.d.ts +12 -1
  251. package/dist/components/layout/grid/grid.js +51 -36
  252. package/dist/components/layout/grid/grid.js.map +1 -1
  253. package/dist/components/layout/page/page.d.ts +2 -0
  254. package/dist/components/layout/page/page.js +16 -8
  255. package/dist/components/layout/page/page.js.map +1 -1
  256. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  257. package/dist/components/layout/pageHeader/pageHeader.js +22 -13
  258. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  259. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  260. package/dist/components/layout/sectionHeader/sectionHeader.js +37 -27
  261. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  262. package/dist/components/layout/sheet/sheet.d.ts +14 -0
  263. package/dist/components/layout/sheet/sheet.js +148 -132
  264. package/dist/components/layout/sheet/sheet.js.map +1 -1
  265. package/dist/components/layout/stack/stack.d.ts +2 -0
  266. package/dist/components/layout/stack/stack.js +29 -17
  267. package/dist/components/layout/stack/stack.js.map +1 -1
  268. package/dist/components/layout/tabGroups/index.d.ts +4 -0
  269. package/dist/components/layout/tabGroups/tabGroups.d.ts +94 -0
  270. package/dist/components/layout/tabGroups/tabGroups.js +783 -0
  271. package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
  272. package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
  273. package/dist/components/layout/tabGroups/tabGroupsFocus.js +199 -0
  274. package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  275. package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
  276. package/dist/components/layout/tabGroups/tabGroupsLayout.js +497 -0
  277. package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  278. package/dist/components/navigation/appBar/appBar.d.ts +24 -0
  279. package/dist/components/navigation/appBar/appBar.js +39 -33
  280. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  281. package/dist/components/navigation/bottomBar/bottomBar.js +81 -77
  282. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  283. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  284. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +29 -27
  285. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  286. package/dist/components/navigation/commandPalette/commandPalette.d.ts +111 -0
  287. package/dist/components/navigation/commandPalette/commandPalette.js +337 -0
  288. package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
  289. package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
  290. package/dist/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  291. package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  292. package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
  293. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  294. package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  295. package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
  296. package/dist/components/navigation/commandPalette/index.d.ts +4 -0
  297. package/dist/components/navigation/menu/menu.d.ts +12 -0
  298. package/dist/components/navigation/menu/menu.js.map +1 -1
  299. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  300. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  301. package/dist/components/navigation/menu/menuFloating.js +42 -30
  302. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  303. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  304. package/dist/components/navigation/menu/menuItem.js +60 -48
  305. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  306. package/dist/components/navigation/menu/menuList.d.ts +5 -1
  307. package/dist/components/navigation/menu/menuList.js +30 -19
  308. package/dist/components/navigation/menu/menuList.js.map +1 -1
  309. package/dist/components/navigation/menu/menuSubmenu.js +53 -40
  310. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  311. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  312. package/dist/components/navigation/pagination/pagination.js +51 -49
  313. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  314. package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
  315. package/dist/components/navigation/sidebar/sidebar.js +65 -62
  316. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  317. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  318. package/dist/components/navigation/stepper/stepper.js +37 -28
  319. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  320. package/dist/components/navigation/tabs/index.d.ts +3 -1
  321. package/dist/components/navigation/tabs/tab/tab.d.ts +88 -1
  322. package/dist/components/navigation/tabs/tab/tab.js +116 -35
  323. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  324. package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +19 -0
  325. package/dist/components/navigation/tabs/tabPanel/tabPanel.js +27 -0
  326. package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  327. package/dist/components/navigation/tabs/tabs.d.ts +80 -4
  328. package/dist/components/navigation/tabs/tabs.js +369 -148
  329. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  330. package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
  331. package/dist/components/navigation/tabs/tabs.utils.js +11 -0
  332. package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
  333. package/dist/components/navigation/tabs/tabsContext.d.ts +11 -0
  334. package/dist/components/navigation/tabs/tabsContext.js +6 -0
  335. package/dist/components/navigation/tabs/tabsContext.js.map +1 -0
  336. package/dist/connects/rt/table/headerCellRenderer.d.ts +4 -1
  337. package/dist/connects/rt/table/headerCellRenderer.js +45 -15
  338. package/dist/connects/rt/table/headerCellRenderer.js.map +1 -1
  339. package/dist/connects/rt/table/table.d.ts +15 -1
  340. package/dist/connects/rt/table/table.js +125 -131
  341. package/dist/connects/rt/table/table.js.map +1 -1
  342. package/dist/headless/components/base/icon/icon.js +49 -37
  343. package/dist/headless/components/base/icon/icon.js.map +1 -1
  344. package/dist/headless/components/base/ripple/ripple.js +42 -27
  345. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  346. package/dist/headless/components/dataDisplay/avatar/avatar.js +51 -38
  347. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  348. package/dist/headless/components/dataDisplay/badge/badge.js +37 -28
  349. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
  350. package/dist/headless/components/dataDisplay/card/card.js +50 -23
  351. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  352. package/dist/headless/components/dataDisplay/carousel/carousel.js +55 -55
  353. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  354. package/dist/headless/components/dataDisplay/chat/chat.js +179 -150
  355. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  356. package/dist/headless/components/dataDisplay/chat/chatComposer.js +31 -29
  357. package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
  358. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +30 -26
  359. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  360. package/dist/headless/components/dataDisplay/chat/chatLayout.js +56 -55
  361. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  362. package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
  363. package/dist/headless/components/dataDisplay/chip/chip.js +108 -81
  364. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  365. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +35 -31
  366. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  367. package/dist/headless/components/dataDisplay/dagView/dagLayout.js +289 -0
  368. package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
  369. package/dist/headless/components/dataDisplay/dagView/dagView.js +541 -0
  370. package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
  371. package/dist/headless/components/dataDisplay/dagView/panZoom.js +171 -0
  372. package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
  373. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  374. package/dist/headless/components/dataDisplay/diffStat/diffStat.js +61 -0
  375. package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
  376. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  377. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  378. package/dist/headless/components/dataDisplay/kanban/kanban.js +45 -34
  379. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  380. package/dist/headless/components/dataDisplay/kbd/kbd.js +25 -0
  381. package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
  382. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +72 -0
  383. package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
  384. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +30 -29
  385. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  386. package/dist/headless/components/dataDisplay/list/list.js +15 -14
  387. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  388. package/dist/headless/components/dataDisplay/list/listItem.js +47 -24
  389. package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
  390. package/dist/headless/components/dataDisplay/meter/meter.js +19 -18
  391. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  392. package/dist/headless/components/dataDisplay/personChip/personChip.js +39 -27
  393. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  394. package/dist/headless/components/dataDisplay/qrCode/qrCode.js +76 -0
  395. package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
  396. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
  397. package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
  398. package/dist/headless/components/dataDisplay/stat/stat.js +27 -15
  399. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  400. package/dist/headless/components/dataDisplay/statusDot/statusDot.js +28 -0
  401. package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
  402. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +355 -0
  403. package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
  404. package/dist/headless/components/dataDisplay/table/table.js +40 -36
  405. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  406. package/dist/headless/components/dataDisplay/table/tableBody.js +10 -4
  407. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  408. package/dist/headless/components/dataDisplay/table/tableCell.js +20 -13
  409. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  410. package/dist/headless/components/dataDisplay/table/tableColumns.js +112 -0
  411. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  412. package/dist/headless/components/dataDisplay/table/tableHead.js +9 -3
  413. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  414. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +60 -65
  415. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  416. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -16
  417. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  418. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +78 -58
  419. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  420. package/dist/headless/components/dataDisplay/treeView/treeView.js +113 -91
  421. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  422. package/dist/headless/components/feedBack/emptyState/emptyState.js +21 -11
  423. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  424. package/dist/headless/components/feedBack/message/message.js +31 -20
  425. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  426. package/dist/headless/components/feedBack/modal/modal.js +84 -63
  427. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  428. package/dist/headless/components/feedBack/skeleton/skeleton.js +38 -35
  429. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  430. package/dist/headless/components/feedBack/snackbar/snackbar.js +108 -107
  431. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  432. package/dist/headless/components/feedBack/tooltip/tooltip.js +67 -47
  433. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  434. package/dist/headless/components/inputs/button/button.js +73 -63
  435. package/dist/headless/components/inputs/button/button.js.map +1 -1
  436. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +40 -36
  437. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  438. package/dist/headless/components/inputs/checkbox/checkbox.js +85 -60
  439. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  440. package/dist/headless/components/inputs/composer/composer.js +217 -0
  441. package/dist/headless/components/inputs/composer/composer.js.map +1 -0
  442. package/dist/headless/components/inputs/composer/composerFiles.js +19 -0
  443. package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
  444. package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
  445. package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
  446. package/dist/headless/components/inputs/datePicker/datePicker.js +170 -164
  447. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  448. package/dist/headless/components/inputs/datePicker/datePickerDay.js +52 -44
  449. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  450. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +32 -28
  451. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  452. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
  453. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  454. package/dist/headless/components/inputs/floatingButton/floatingButton.js +32 -30
  455. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  456. package/dist/headless/components/inputs/radioButton/radioButton.js +77 -58
  457. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  458. package/dist/headless/components/inputs/rating/rating.js +85 -70
  459. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  460. package/dist/headless/components/inputs/selectField/dropdownMenu.js +266 -113
  461. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  462. package/dist/headless/components/inputs/selectField/optionNavigation.js +38 -0
  463. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  464. package/dist/headless/components/inputs/selectField/selectField.js +358 -218
  465. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  466. package/dist/headless/components/inputs/slider/slider.js +330 -261
  467. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  468. package/dist/headless/components/inputs/textField/textField.js +118 -100
  469. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  470. package/dist/headless/components/inputs/textField/textFieldWrapper.js +45 -34
  471. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  472. package/dist/headless/components/inputs/timePicker/timePicker.js +91 -85
  473. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  474. package/dist/headless/components/inputs/toggle/toggle.js +79 -60
  475. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  476. package/dist/headless/components/inputs/valueSlider/valueSlider.js +25 -24
  477. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  478. package/dist/headless/components/layout/appLayout/appLayout.js +27 -26
  479. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  480. package/dist/headless/components/layout/divider/divider.js +18 -17
  481. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  482. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +145 -139
  483. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  484. package/dist/headless/components/layout/grid/grid.js +48 -33
  485. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  486. package/dist/headless/components/layout/page/page.js +15 -7
  487. package/dist/headless/components/layout/page/page.js.map +1 -1
  488. package/dist/headless/components/layout/pageHeader/pageHeader.js +20 -11
  489. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  490. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +36 -26
  491. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  492. package/dist/headless/components/layout/sheet/sheet.js +156 -140
  493. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  494. package/dist/headless/components/layout/stack/stack.js +29 -17
  495. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  496. package/dist/headless/components/layout/tabGroups/tabGroups.js +781 -0
  497. package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
  498. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +199 -0
  499. package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
  500. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +497 -0
  501. package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
  502. package/dist/headless/components/navigation/appBar/appBar.js +35 -29
  503. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  504. package/dist/headless/components/navigation/bottomBar/bottomBar.js +81 -77
  505. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  506. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +32 -30
  507. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  508. package/dist/headless/components/navigation/commandPalette/commandPalette.js +335 -0
  509. package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
  510. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
  511. package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
  512. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
  513. package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
  514. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  515. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  516. package/dist/headless/components/navigation/menu/menuFloating.js +42 -30
  517. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  518. package/dist/headless/components/navigation/menu/menuItem.js +60 -48
  519. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  520. package/dist/headless/components/navigation/menu/menuList.js +30 -19
  521. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  522. package/dist/headless/components/navigation/menu/menuSubmenu.js +53 -40
  523. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  524. package/dist/headless/components/navigation/pagination/pagination.js +51 -49
  525. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  526. package/dist/headless/components/navigation/sidebar/sidebar.js +55 -52
  527. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  528. package/dist/headless/components/navigation/stepper/stepper.js +42 -33
  529. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  530. package/dist/headless/components/navigation/tabs/tab/tab.js +117 -36
  531. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  532. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +25 -0
  533. package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
  534. package/dist/headless/components/navigation/tabs/tabs.js +362 -141
  535. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  536. package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
  537. package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
  538. package/dist/headless/components/navigation/tabs/tabsContext.js +6 -0
  539. package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -0
  540. package/dist/headless/hooks/useDismissOnEscape.js +16 -0
  541. package/dist/headless/hooks/useDismissOnEscape.js.map +1 -0
  542. package/dist/headless/hooks/useFocusTrap.js +24 -20
  543. package/dist/headless/hooks/useFocusTrap.js.map +1 -1
  544. package/dist/headless/hooks/useHelperText.js +13 -0
  545. package/dist/headless/hooks/useHelperText.js.map +1 -0
  546. package/dist/headless/hooks/useKeyboardShortcut.js +19 -0
  547. package/dist/headless/hooks/useKeyboardShortcut.js.map +1 -0
  548. package/dist/headless/index.js +360 -316
  549. package/dist/headless/index.js.map +1 -1
  550. package/dist/headless/utils/controlProps.js +14 -0
  551. package/dist/headless/utils/controlProps.js.map +1 -0
  552. package/dist/headless/utils/keyboardShortcut.js +49 -0
  553. package/dist/headless/utils/keyboardShortcut.js.map +1 -0
  554. package/dist/headless/utils/linkAttrs.js +13 -0
  555. package/dist/headless/utils/linkAttrs.js.map +1 -0
  556. package/dist/headless/utils/overlayLayer.js +14 -7
  557. package/dist/headless/utils/overlayLayer.js.map +1 -1
  558. package/dist/headless/utils/ownClick.js +40 -0
  559. package/dist/headless/utils/ownClick.js.map +1 -0
  560. package/dist/headless/utils/readOnlyToggle.js +14 -0
  561. package/dist/headless/utils/readOnlyToggle.js.map +1 -0
  562. package/dist/headless/utils/restoreFocus.js +10 -0
  563. package/dist/headless/utils/restoreFocus.js.map +1 -0
  564. package/dist/hooks/useDismissOnEscape.d.ts +11 -0
  565. package/dist/hooks/useDismissOnEscape.js +16 -0
  566. package/dist/hooks/useDismissOnEscape.js.map +1 -0
  567. package/dist/hooks/useFocusTrap.d.ts +8 -1
  568. package/dist/hooks/useFocusTrap.js +24 -20
  569. package/dist/hooks/useFocusTrap.js.map +1 -1
  570. package/dist/hooks/useHelperText.d.ts +21 -0
  571. package/dist/hooks/useHelperText.js +13 -0
  572. package/dist/hooks/useHelperText.js.map +1 -0
  573. package/dist/hooks/useKeyboardShortcut.d.ts +30 -0
  574. package/dist/hooks/useKeyboardShortcut.js +19 -0
  575. package/dist/hooks/useKeyboardShortcut.js.map +1 -0
  576. package/dist/index.cjs +3 -2
  577. package/dist/index.cjs.map +1 -1
  578. package/dist/index.d.ts +24 -3
  579. package/dist/index.js +360 -316
  580. package/dist/index.js.map +1 -1
  581. package/dist/utils/controlProps.d.ts +16 -0
  582. package/dist/utils/controlProps.js +14 -0
  583. package/dist/utils/controlProps.js.map +1 -0
  584. package/dist/utils/keyboardShortcut.d.ts +12 -0
  585. package/dist/utils/keyboardShortcut.js +49 -0
  586. package/dist/utils/keyboardShortcut.js.map +1 -0
  587. package/dist/utils/linkAttrs.d.ts +13 -0
  588. package/dist/utils/linkAttrs.js +13 -0
  589. package/dist/utils/linkAttrs.js.map +1 -0
  590. package/dist/utils/overlayLayer.d.ts +15 -3
  591. package/dist/utils/overlayLayer.js +14 -7
  592. package/dist/utils/overlayLayer.js.map +1 -1
  593. package/dist/utils/ownClick.d.ts +16 -0
  594. package/dist/utils/ownClick.js +40 -0
  595. package/dist/utils/ownClick.js.map +1 -0
  596. package/dist/utils/readOnlyToggle.d.ts +15 -0
  597. package/dist/utils/readOnlyToggle.js +14 -0
  598. package/dist/utils/readOnlyToggle.js.map +1 -0
  599. package/dist/utils/restoreFocus.d.ts +8 -0
  600. package/dist/utils/restoreFocus.js +10 -0
  601. package/dist/utils/restoreFocus.js.map +1 -0
  602. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"datePickerDay.js","sources":["../../../../../src/components/inputs/datePicker/datePickerDay.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\ninterface DataPickerDayProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"onChange\"> {\n active?: boolean;\n current?: boolean;\n hidden?: boolean;\n outside?: boolean;\n disabled?: boolean;\n inRange?: boolean;\n day: Date;\n onChange?: (event?: React.ChangeEvent<HTMLInputElement>, date?: Date) => void;\n}\n\nexport const DatePickerDay = React.memo(function DataPickerDay({\n className,\n children,\n onMouseDown: onMouseDownProp,\n onChange,\n active,\n current,\n hidden,\n outside,\n disabled,\n inRange,\n day,\n ...rest\n}: DataPickerDayProps) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n },\n [onMouseDownProp]\n );\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = React.useCallback(\n (event: React.PointerEvent<HTMLButtonElement>) => {\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n },\n [disabled]\n );\n\n const onClick = React.useCallback(() => {\n if (!disabled) {\n onChange?.(undefined, day);\n }\n }, [onChange, day, disabled]);\n\n if (hidden) {\n return <span className=\"smwb-date-picker__day-hidden\" />;\n }\n\n const classes = cn(\"smwb-date-picker__day\", className, {\n \"smwb-date-picker__day--active\": !disabled && active,\n \"smwb-date-picker__day--current\": current && !active,\n \"smwb-date-picker__day--outside\": !disabled && outside,\n \"smwb-date-picker__day--disabled\": disabled,\n \"smwb-date-picker__day--in-range\": !disabled && inRange,\n });\n\n return (\n <button\n className={classes}\n type=\"button\"\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n >\n {children}\n {!disabled && <Ripple actionRef={rippleRef} center />}\n </button>\n );\n});\n"],"names":["DatePickerDay","React","className","children","onMouseDownProp","onChange","active","current","hidden","outside","disabled","inRange","day","rest","rippleRef","onMouseDown","event","onPointerDown","_a","onClick","jsx","classes","cn","jsxs","Ripple"],"mappings":";;;;AAeO,MAAMA,IAAgBC,EAAM,KAAK,SAAuB;AAAA,EAC7D,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAaC;AAAA,EACb,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,GAAuB;AACrB,QAAMC,IAAYb,EAAM,OAAyB,IAAI,GAE/Cc,IAAcd,EAAM;AAAA,IACxB,CAACe,MAA+C;AAC9C,MAAAZ,KAAA,QAAAA,EAAkBY;AAAA,IACpB;AAAA,IACA,CAACZ,CAAe;AAAA,EAAA,GAIZa,IAAgBhB,EAAM;AAAA,IAC1B,CAACe,MAAiD;;AAChD,MAAKN,MACHQ,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,IAEhC;AAAA,IACA,CAACN,CAAQ;AAAA,EAAA,GAGLS,IAAUlB,EAAM,YAAY,MAAM;AACtC,IAAKS,KACHL,KAAA,QAAAA,EAAW,QAAWO;AAAA,EAE1B,GAAG,CAACP,GAAUO,GAAKF,CAAQ,CAAC;AAE5B,MAAIF;AACF,WAAO,gBAAAY,EAAC,QAAA,EAAK,WAAU,+BAAA,CAA+B;AAGxD,QAAMC,IAAUC,EAAG,yBAAyBpB,GAAW;AAAA,IACrD,iCAAiC,CAACQ,KAAYJ;AAAA,IAC9C,kCAAkCC,KAAW,CAACD;AAAA,IAC9C,kCAAkC,CAACI,KAAYD;AAAA,IAC/C,mCAAmCC;AAAA,IACnC,mCAAmC,CAACA,KAAYC;AAAA,EAAA,CACjD;AAED,SACE,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,MACX,MAAK;AAAA,MACL,aAAAN;AAAA,MACA,eAAAE;AAAA,MACA,SAAAE;AAAA,MACA,UAAAT;AAAA,MACC,GAAGG;AAAA,MAEH,UAAA;AAAA,QAAAV;AAAA,QACA,CAACO,KAAY,gBAAAU,EAACI,KAAO,WAAWV,GAAW,QAAM,GAAA,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGzD,CAAC;"}
1
+ {"version":3,"file":"datePickerDay.js","sources":["../../../../../src/components/inputs/datePicker/datePickerDay.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\ninterface DataPickerDayProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"onChange\"> {\n active?: boolean;\n current?: boolean;\n hidden?: boolean;\n outside?: boolean;\n disabled?: boolean;\n inRange?: boolean;\n day: Date;\n onChange?: (event?: React.ChangeEvent<HTMLInputElement>, date?: Date) => void;\n}\n\nexport const DatePickerDay = React.memo(function DataPickerDay({\n className,\n children,\n onMouseDown: onMouseDownProp,\n // The day sets these on its root too; its own handlers call the caller's first.\n onPointerDown: onPointerDownProp,\n onClick: onClickProp,\n // A default: the caller's type wins.\n type = \"button\",\n onChange,\n active,\n current,\n hidden,\n outside,\n disabled,\n inRange,\n day,\n ...rest\n}: DataPickerDayProps) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n },\n [onMouseDownProp]\n );\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = React.useCallback(\n (event: React.PointerEvent<HTMLButtonElement>) => {\n onPointerDownProp?.(event);\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n },\n [onPointerDownProp, disabled]\n );\n\n const onClick = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n onClickProp?.(event);\n if (!disabled) {\n onChange?.(undefined, day);\n }\n },\n [onClickProp, onChange, day, disabled]\n );\n\n if (hidden) {\n return <span className=\"smwb-date-picker__day-hidden\" />;\n }\n\n const classes = cn(\"smwb-date-picker__day\", className, {\n \"smwb-date-picker__day--active\": !disabled && active,\n \"smwb-date-picker__day--current\": current && !active,\n \"smwb-date-picker__day--outside\": !disabled && outside,\n \"smwb-date-picker__day--disabled\": disabled,\n \"smwb-date-picker__day--in-range\": !disabled && inRange,\n });\n\n return (\n <button\n className={classes}\n type={type}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n onClick={onClick}\n disabled={disabled}\n {...rest}\n >\n {children}\n {!disabled && <Ripple actionRef={rippleRef} center />}\n </button>\n );\n});\n"],"names":["DatePickerDay","React","className","children","onMouseDownProp","onPointerDownProp","onClickProp","type","onChange","active","current","hidden","outside","disabled","inRange","day","rest","rippleRef","onMouseDown","event","onPointerDown","_a","onClick","jsx","classes","cn","jsxs","Ripple"],"mappings":";;;;AAeO,MAAMA,IAAgBC,EAAM,KAAK,SAAuB;AAAA,EAC7D,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAaC;AAAA;AAAA,EAEb,eAAeC;AAAA,EACf,SAASC;AAAA;AAAA,EAET,MAAAC,IAAO;AAAA,EACP,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,GAAuB;AACrB,QAAMC,IAAYhB,EAAM,OAAyB,IAAI,GAE/CiB,IAAcjB,EAAM;AAAA,IACxB,CAACkB,MAA+C;AAC9C,MAAAf,KAAA,QAAAA,EAAkBe;AAAA,IACpB;AAAA,IACA,CAACf,CAAe;AAAA,EAAA,GAIZgB,IAAgBnB,EAAM;AAAA,IAC1B,CAACkB,MAAiD;;AAChD,MAAAd,KAAA,QAAAA,EAAoBc,IACfN,MACHQ,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,IAEhC;AAAA,IACA,CAACd,GAAmBQ,CAAQ;AAAA,EAAA,GAGxBS,IAAUrB,EAAM;AAAA,IACpB,CAACkB,MAA+C;AAC9C,MAAAb,KAAA,QAAAA,EAAca,IACTN,KACHL,KAAA,QAAAA,EAAW,QAAWO;AAAA,IAE1B;AAAA,IACA,CAACT,GAAaE,GAAUO,GAAKF,CAAQ;AAAA,EAAA;AAGvC,MAAIF;AACF,WAAO,gBAAAY,EAAC,QAAA,EAAK,WAAU,+BAAA,CAA+B;AAGxD,QAAMC,IAAUC,EAAG,yBAAyBvB,GAAW;AAAA,IACrD,iCAAiC,CAACW,KAAYJ;AAAA,IAC9C,kCAAkCC,KAAW,CAACD;AAAA,IAC9C,kCAAkC,CAACI,KAAYD;AAAA,IAC/C,mCAAmCC;AAAA,IACnC,mCAAmC,CAACA,KAAYC;AAAA,EAAA,CACjD;AAED,SACE,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,MACX,MAAAjB;AAAA,MACA,aAAAW;AAAA,MACA,eAAAE;AAAA,MACA,SAAAE;AAAA,MACA,UAAAT;AAAA,MACC,GAAGG;AAAA,MAEH,UAAA;AAAA,QAAAb;AAAA,QACA,CAACU,KAAY,gBAAAU,EAACI,KAAO,WAAWV,GAAW,QAAM,GAAA,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGzD,CAAC;"}
@@ -1,44 +1,48 @@
1
- import { jsxs as l, jsx as _ } from "react/jsx-runtime";
2
- import f from "react";
3
- import { Ripple as d } from "../../base/ripple/ripple.js";
4
- import k from "clsx";
5
- function g({
1
+ import { jsxs as p, jsx as d } from "react/jsx-runtime";
2
+ import k from "react";
3
+ import { Ripple as R } from "../../base/ripple/ripple.js";
4
+ import x from "clsx";
5
+ function B({
6
6
  className: r,
7
- children: m,
8
- onMouseDown: e,
7
+ children: a,
8
+ onMouseDown: c,
9
+ // The button sets this on its root too; its own handler calls the caller's first.
10
+ onPointerDown: i,
11
+ // A default: the caller's type wins.
12
+ type: u = "button",
9
13
  disabled: t,
10
- size: s = "medium",
11
- edge: c,
12
- ...a
14
+ size: b = "medium",
15
+ edge: n,
16
+ ...l
13
17
  }) {
14
- const o = f.useRef(null), p = (n) => {
15
- e == null || e(n);
16
- }, u = (n) => {
17
- var i;
18
- t || (i = o.current) == null || i.onRipple(n);
19
- }, b = k("smwb-date-picker__icon-button", r, {
20
- "smwb-date-picker__icon-button--small": s === "small",
21
- "smwb-date-picker__icon-button--edge-start": c === "start",
22
- "smwb-date-picker__icon-button--edge-end": c === "end",
18
+ const m = k.useRef(null), o = (e) => {
19
+ c == null || c(e);
20
+ }, _ = (e) => {
21
+ var s;
22
+ i == null || i(e), t || (s = m.current) == null || s.onRipple(e);
23
+ }, f = x("smwb-date-picker__icon-button", r, {
24
+ "smwb-date-picker__icon-button--small": b === "small",
25
+ "smwb-date-picker__icon-button--edge-start": n === "start",
26
+ "smwb-date-picker__icon-button--edge-end": n === "end",
23
27
  "smwb-date-picker__icon-button--disabled": t
24
28
  });
25
- return /* @__PURE__ */ l(
29
+ return /* @__PURE__ */ p(
26
30
  "button",
27
31
  {
28
- onMouseDown: p,
29
- onPointerDown: u,
30
- type: "button",
31
- className: b,
32
+ onMouseDown: o,
33
+ onPointerDown: _,
34
+ type: u,
35
+ className: f,
32
36
  disabled: t,
33
- ...a,
37
+ ...l,
34
38
  children: [
35
- m,
36
- !t && /* @__PURE__ */ _(d, { actionRef: o, center: !0 })
39
+ a,
40
+ !t && /* @__PURE__ */ d(R, { actionRef: m, center: !0 })
37
41
  ]
38
42
  }
39
43
  );
40
44
  }
41
45
  export {
42
- g as DatePickerIconButton
46
+ B as DatePickerIconButton
43
47
  };
44
48
  //# sourceMappingURL=datePickerIconButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datePickerIconButton.js","sources":["../../../../../src/components/inputs/datePicker/datePickerIconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport cn from \"clsx\";\n\nexport type DataPickerIconButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n size?: \"medium\" | \"small\";\n edge?: \"start\" | \"end\";\n};\n\nexport function DatePickerIconButton({\n className,\n children,\n onMouseDown: onMouseDownProp,\n disabled,\n size = \"medium\",\n edge,\n ...rest\n}: DataPickerIconButtonProps) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n };\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement>) => {\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n };\n\n const classes = cn(\"smwb-date-picker__icon-button\", className, {\n \"smwb-date-picker__icon-button--small\": size === \"small\",\n \"smwb-date-picker__icon-button--edge-start\": edge === \"start\",\n \"smwb-date-picker__icon-button--edge-end\": edge === \"end\",\n \"smwb-date-picker__icon-button--disabled\": disabled,\n });\n\n return (\n <button\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n type=\"button\"\n className={classes}\n disabled={disabled}\n {...rest}\n >\n {children}\n {!disabled && <Ripple actionRef={rippleRef} center />}\n </button>\n );\n}\n"],"names":["DatePickerIconButton","className","children","onMouseDownProp","disabled","size","edge","rest","rippleRef","React","onMouseDown","event","onPointerDown","_a","classes","cn","jsxs","jsx","Ripple"],"mappings":";;;;AASO,SAASA,EAAqB;AAAA,EACnC,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAaC;AAAA,EACb,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,GAAGC;AACL,GAA8B;AAC5B,QAAMC,IAAYC,EAAM,OAAyB,IAAI,GAE/CC,IAAc,CAACC,MAA+C;AAClE,IAAAR,KAAA,QAAAA,EAAkBQ;AAAA,EACpB,GAGMC,IAAgB,CAACD,MAAiD;;AACtE,IAAKP,MACHS,IAAAL,EAAU,YAAV,QAAAK,EAAmB,SAASF;AAAA,EAEhC,GAEMG,IAAUC,EAAG,iCAAiCd,GAAW;AAAA,IAC7D,wCAAwCI,MAAS;AAAA,IACjD,6CAA6CC,MAAS;AAAA,IACtD,2CAA2CA,MAAS;AAAA,IACpD,2CAA2CF;AAAA,EAAA,CAC5C;AAED,SACE,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAAN;AAAA,MACA,eAAAE;AAAA,MACA,MAAK;AAAA,MACL,WAAWE;AAAA,MACX,UAAAV;AAAA,MACC,GAAGG;AAAA,MAEH,UAAA;AAAA,QAAAL;AAAA,QACA,CAACE,KAAY,gBAAAa,EAACC,KAAO,WAAWV,GAAW,QAAM,GAAA,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGzD;"}
1
+ {"version":3,"file":"datePickerIconButton.js","sources":["../../../../../src/components/inputs/datePicker/datePickerIconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport cn from \"clsx\";\n\nexport type DataPickerIconButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n size?: \"medium\" | \"small\";\n edge?: \"start\" | \"end\";\n};\n\nexport function DatePickerIconButton({\n className,\n children,\n onMouseDown: onMouseDownProp,\n // The button sets this on its root too; its own handler calls the caller's first.\n onPointerDown: onPointerDownProp,\n // A default: the caller's type wins.\n type = \"button\",\n disabled,\n size = \"medium\",\n edge,\n ...rest\n}: DataPickerIconButtonProps) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n };\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement>) => {\n onPointerDownProp?.(event);\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n };\n\n const classes = cn(\"smwb-date-picker__icon-button\", className, {\n \"smwb-date-picker__icon-button--small\": size === \"small\",\n \"smwb-date-picker__icon-button--edge-start\": edge === \"start\",\n \"smwb-date-picker__icon-button--edge-end\": edge === \"end\",\n \"smwb-date-picker__icon-button--disabled\": disabled,\n });\n\n return (\n <button\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n type={type}\n className={classes}\n disabled={disabled}\n {...rest}\n >\n {children}\n {!disabled && <Ripple actionRef={rippleRef} center />}\n </button>\n );\n}\n"],"names":["DatePickerIconButton","className","children","onMouseDownProp","onPointerDownProp","type","disabled","size","edge","rest","rippleRef","React","onMouseDown","event","onPointerDown","_a","classes","cn","jsxs","jsx","Ripple"],"mappings":";;;;AASO,SAASA,EAAqB;AAAA,EACnC,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAaC;AAAA;AAAA,EAEb,eAAeC;AAAA;AAAA,EAEf,MAAAC,IAAO;AAAA,EACP,UAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,GAAGC;AACL,GAA8B;AAC5B,QAAMC,IAAYC,EAAM,OAAyB,IAAI,GAE/CC,IAAc,CAACC,MAA+C;AAClE,IAAAV,KAAA,QAAAA,EAAkBU;AAAA,EACpB,GAGMC,IAAgB,CAACD,MAAiD;;AACtE,IAAAT,KAAA,QAAAA,EAAoBS,IACfP,MACHS,IAAAL,EAAU,YAAV,QAAAK,EAAmB,SAASF;AAAA,EAEhC,GAEMG,IAAUC,EAAG,iCAAiChB,GAAW;AAAA,IAC7D,wCAAwCM,MAAS;AAAA,IACjD,6CAA6CC,MAAS;AAAA,IACtD,2CAA2CA,MAAS;AAAA,IACpD,2CAA2CF;AAAA,EAAA,CAC5C;AAED,SACE,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAAN;AAAA,MACA,eAAAE;AAAA,MACA,MAAAT;AAAA,MACA,WAAWW;AAAA,MACX,UAAAV;AAAA,MACC,GAAGG;AAAA,MAEH,UAAA;AAAA,QAAAP;AAAA,QACA,CAACI,KAAY,gBAAAa,EAACC,KAAO,WAAWV,GAAW,QAAM,GAAA,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGzD;"}
@@ -1,197 +1,203 @@
1
- import { jsx as n, jsxs as C, Fragment as pe } from "react/jsx-runtime";
2
- import he, { useMemo as y, useState as w, useRef as Y, useCallback as r } from "react";
3
- import { useFloating as ge, autoUpdate as ye } from "@floating-ui/react";
4
- import we from "react-transition-group/Transition";
5
- import { resolvePlacement as ke, buildFloatingMiddleware as be } from "../../../utils/floating.js";
6
- import { useSafeLayoutEffect as x } from "../../../hooks/useSafeLayoutEffect.js";
7
- import { useForkRef as A } from "../../../hooks/useForkRef.js";
8
- import { DataPickerHeader as De } from "../datePicker/dataPickerHeader.js";
9
- import { DataPickerDays as ve } from "../datePicker/dataPickerDays.js";
10
- import { DatePickerList as H } from "../datePicker/datePickerList.js";
11
- import { isValidDate as F, setMonth as Ce, setYear as Fe, getMonths as Re, getYears as Te } from "../datePicker/utils.js";
1
+ import { jsx as a, jsxs as _, Fragment as he } from "react/jsx-runtime";
2
+ import ge, { useMemo as k, useState as b, useRef as A, useCallback as r, useEffect as we } from "react";
3
+ import { useFloating as ke, autoUpdate as be } from "@floating-ui/react";
4
+ import ve from "react-transition-group/Transition";
5
+ import { resolvePlacement as De, buildFloatingMiddleware as Ce } from "../../../utils/floating.js";
6
+ import { useSafeLayoutEffect as H } from "../../../hooks/useSafeLayoutEffect.js";
7
+ import { useForkRef as I } from "../../../hooks/useForkRef.js";
8
+ import { isTopOverlayLayer as Fe } from "../../../utils/overlayLayer.js";
9
+ import { DataPickerHeader as Te } from "../datePicker/dataPickerHeader.js";
10
+ import { DataPickerDays as Re } from "../datePicker/dataPickerDays.js";
11
+ import { DatePickerList as N } from "../datePicker/datePickerList.js";
12
+ import { isValidDate as P, setMonth as _e, setYear as Pe, getMonths as Ee, getYears as Me } from "../datePicker/utils.js";
12
13
  import { OpenView as o } from "../datePicker/datePicker.js";
13
- import { DateTimePickerInput as _e } from "./dateTimePickerInput.js";
14
- import { TimePickerColumns as Pe } from "../timePicker/timePickerColumns.js";
15
- import { isValidTimeDate as R, mergeDate as Me, mergeTime as Ve, DEFAULT_TIME_FORMAT as Oe } from "../timePicker/timeUtils.js";
16
- import { createPortal as Se } from "react-dom";
17
- import { ClickAwayListener as Le } from "../../clickAwayListener/clickAwayListener.js";
18
- const Ee = (T) => ({
19
- transition: `opacity ${T}ms ease-in-out`,
14
+ import { DateTimePickerInput as Oe } from "./dateTimePickerInput.js";
15
+ import { TimePickerColumns as Le } from "../timePicker/timePickerColumns.js";
16
+ import { isValidTimeDate as E, mergeDate as Ve, mergeTime as Se, DEFAULT_TIME_FORMAT as Ye } from "../timePicker/timeUtils.js";
17
+ import { createPortal as xe } from "react-dom";
18
+ import { ClickAwayListener as Ae } from "../../clickAwayListener/clickAwayListener.js";
19
+ const He = (M) => ({
20
+ transition: `opacity ${M}ms ease-in-out`,
20
21
  opacity: 0
21
- }), Ye = {
22
+ }), Ie = {
22
23
  entering: { opacity: 1 },
23
24
  entered: { opacity: 1 },
24
25
  exiting: { opacity: 0 }
25
- }, Ze = he.forwardRef(function(k, I) {
26
+ }, at = ge.forwardRef(function(v, B) {
26
27
  const {
27
- value: b,
28
- onChange: l,
29
- showDaysOutsideMonth: N,
30
- disablePast: B,
31
- disableFuture: j,
32
- weekStartsOn: U = 1,
33
- placement: $ = "bottom-start",
34
- disabled: s,
35
- disableCalendar: _,
36
- calendarAriaLabel: q = "Choose date and time",
37
- minDate: z,
38
- maxDate: G,
39
- isDateDisabled: J,
40
- locale: u,
41
- format: m,
42
- timeFormat: D,
43
- calendarIcon: K,
44
- onBlur: Q,
45
- ...W
46
- } = k, t = y(() => b === void 0 ? void 0 : new Date(b), [b]), [a, d] = w(
47
- () => F(t) || R(t) ? t : /* @__PURE__ */ new Date()
48
- ), [c, f] = w(o.days), [P, M] = w(!1), V = Y(null), v = Y(null), O = ke($), { refs: S, floatingStyles: X } = ge({
49
- open: P,
50
- placement: O.placement,
51
- whileElementsMounted: ye,
52
- middleware: be(O)
53
- }), Z = A(V, S.setReference, I), ee = A(v, S.setFloating), [L, te] = w();
54
- x(() => {
55
- te(document.body);
56
- }, []), x(() => {
57
- s || d(F(t) || R(t) ? t : /* @__PURE__ */ new Date());
58
- }, [t, s]);
28
+ value: D,
29
+ onChange: d,
30
+ showDaysOutsideMonth: j,
31
+ disablePast: U,
32
+ disableFuture: K,
33
+ weekStartsOn: $ = 1,
34
+ placement: q = "bottom-start",
35
+ disabled: c,
36
+ disableCalendar: O,
37
+ calendarAriaLabel: z = "Choose date and time",
38
+ minDate: G,
39
+ maxDate: J,
40
+ isDateDisabled: Q,
41
+ locale: p,
42
+ format: u,
43
+ timeFormat: C,
44
+ calendarIcon: W,
45
+ onBlur: X,
46
+ ...Z
47
+ } = v, t = k(() => D === void 0 ? void 0 : new Date(D), [D]), [n, f] = b(
48
+ () => P(t) || E(t) ? t : /* @__PURE__ */ new Date()
49
+ ), [m, y] = b(o.days), [L, F] = b(!1), T = A(null), h = A(null), V = De(q), { refs: S, floatingStyles: ee } = ke({
50
+ open: L,
51
+ placement: V.placement,
52
+ whileElementsMounted: be,
53
+ middleware: Ce(V)
54
+ }), te = I(T, S.setReference, B), ne = I(h, S.setFloating), [Y, oe] = b();
55
+ H(() => {
56
+ oe(document.body);
57
+ }, []), H(() => {
58
+ c || f(P(t) || E(t) ? t : /* @__PURE__ */ new Date());
59
+ }, [t, c]);
59
60
  const ae = r((e) => {
60
- d(e);
61
- }, []), oe = r(() => {
62
- f(c === o.months ? o.days : o.months);
63
- }, [c]), ne = r(() => {
64
- f(c === o.years ? o.days : o.years);
65
- }, [c]), re = r(
61
+ f(e);
62
+ }, []), re = r(() => {
63
+ y(m === o.months ? o.days : o.months);
64
+ }, [m]), ie = r(() => {
65
+ y(m === o.years ? o.days : o.years);
66
+ }, [m]), se = r(
66
67
  (e) => {
67
- d(Ce(a, e)), f(o.days);
68
+ f(_e(n, e)), y(o.days);
68
69
  },
69
- [a]
70
- ), ie = r(
70
+ [n]
71
+ ), ce = r(
71
72
  (e) => {
72
- d(Fe(a, e)), f(o.days);
73
+ f(Pe(n, e)), y(o.days);
73
74
  },
74
- [a]
75
- ), p = r(
75
+ [n]
76
+ ), g = r(
76
77
  (e) => {
77
- d(e), l == null || l(void 0, e, k);
78
+ f(e), d == null || d(void 0, e, v);
78
79
  },
79
- [l, k]
80
- ), se = r(
80
+ [d, v]
81
+ ), me = r(
81
82
  (e, i) => {
82
83
  if (!i)
83
84
  return;
84
- const g = R(t) ? t : a;
85
- p(Me(i, g));
85
+ const s = E(t) ? t : n;
86
+ g(Ve(i, s));
86
87
  },
87
- [p, t, a]
88
- ), ce = r(
88
+ [g, t, n]
89
+ ), le = r(
89
90
  (e) => {
90
- const i = F(t) ? t : a;
91
- p(Ve(i, e));
91
+ const i = P(t) ? t : n;
92
+ g(Se(i, e));
92
93
  },
93
- [p, t, a]
94
- ), le = r(() => {
95
- s || M((e) => !e);
96
- }, [s]), me = r((e) => {
97
- var g, E;
94
+ [g, t, n]
95
+ ), de = r(() => {
96
+ c || F((e) => !e);
97
+ }, [c]), ue = r((e) => {
98
+ var s, l;
98
99
  const i = e.target;
99
- (g = v.current) != null && g.contains(i) || (E = V.current) != null && E.contains(i) || M(!1);
100
- }, []), de = y(() => D || (m != null && m.includes("HH:mm:ss") ? "HH:mm:ss" : Oe), [m, D]), ue = y(() => Re(u), [u]), fe = y(() => Te((/* @__PURE__ */ new Date()).getFullYear(), 100), []);
101
- let h = null;
102
- switch (c) {
100
+ (s = h.current) != null && s.contains(i) || (l = T.current) != null && l.contains(i) || F(!1);
101
+ }, []), R = L && !c && !O;
102
+ we(() => {
103
+ if (!R)
104
+ return;
105
+ const e = (i) => {
106
+ var x;
107
+ const s = h.current;
108
+ if (i.key !== "Escape" || !s || !Fe(s))
109
+ return;
110
+ F(!1);
111
+ const l = document.activeElement;
112
+ (!l || l === document.body || s.contains(l)) && ((x = T.current) == null || x.focus());
113
+ };
114
+ return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
115
+ }, [R]);
116
+ const fe = k(() => C || (u != null && u.includes("HH:mm:ss") ? "HH:mm:ss" : Ye), [u, C]), pe = k(() => Ee(p), [p]), ye = k(() => Me((/* @__PURE__ */ new Date()).getFullYear(), 100), []);
117
+ let w = null;
118
+ switch (m) {
103
119
  case o.days:
104
- h = /* @__PURE__ */ n(
105
- ve,
120
+ w = /* @__PURE__ */ a(
121
+ Re,
106
122
  {
107
- viewValue: a,
123
+ viewValue: n,
108
124
  value: t,
109
- showDaysOutsideMonth: N,
110
- onChange: se,
111
- disablePast: B,
112
- disableFuture: j,
113
- weekStartsOn: U,
114
- minDate: z,
115
- maxDate: G,
116
- isDateDisabled: J,
117
- locale: u
125
+ showDaysOutsideMonth: j,
126
+ onChange: me,
127
+ disablePast: U,
128
+ disableFuture: K,
129
+ weekStartsOn: $,
130
+ minDate: G,
131
+ maxDate: J,
132
+ isDateDisabled: Q,
133
+ locale: p
118
134
  }
119
135
  );
120
136
  break;
121
137
  case o.months:
122
- h = /* @__PURE__ */ n(H, { value: a.getMonth(), items: ue, onChange: re });
138
+ w = /* @__PURE__ */ a(N, { value: n.getMonth(), items: pe, onChange: se });
123
139
  break;
124
140
  case o.years:
125
- h = /* @__PURE__ */ n(H, { value: a.getFullYear(), items: fe, onChange: ie });
141
+ w = /* @__PURE__ */ a(N, { value: n.getFullYear(), items: ye, onChange: ce });
126
142
  break;
127
143
  }
128
- return /* @__PURE__ */ C(pe, { children: [
129
- /* @__PURE__ */ n(
130
- _e,
144
+ return /* @__PURE__ */ _(he, { children: [
145
+ /* @__PURE__ */ a(
146
+ Oe,
131
147
  {
132
- ref: Z,
148
+ ref: te,
133
149
  value: t,
134
- onChange: l,
135
- onBlur: Q,
136
- onToggle: le,
137
- disabled: s,
138
- disableCalendar: _,
139
- format: m,
140
- calendarIcon: K,
141
- ...W
150
+ onChange: d,
151
+ onBlur: X,
152
+ onToggle: de,
153
+ disabled: c,
154
+ disableCalendar: O,
155
+ format: u,
156
+ calendarIcon: W,
157
+ ...Z
142
158
  }
143
159
  ),
144
- L ? Se(
145
- /* @__PURE__ */ n(
146
- we,
160
+ Y ? xe(
161
+ /* @__PURE__ */ a(ve, { nodeRef: h, in: R, timeout: 150, mountOnEnter: !0, unmountOnExit: !0, children: (e) => /* @__PURE__ */ a(Ae, { onClickAway: ue, children: /* @__PURE__ */ a(
162
+ "div",
147
163
  {
148
- nodeRef: v,
149
- in: P && !s && !_,
150
- timeout: 150,
151
- mountOnEnter: !0,
152
- unmountOnExit: !0,
153
- children: (e) => /* @__PURE__ */ n(Le, { onClickAway: me, children: /* @__PURE__ */ n(
154
- "div",
155
- {
156
- ref: ee,
157
- className: "smwb-date-picker smwb-date-time-picker",
158
- style: {
159
- ...X,
160
- ...Ee(150),
161
- ...Ye[e]
162
- },
163
- "data-testid": "date-time-picker",
164
- "data-smwb-overlay-layer": "",
165
- role: "dialog",
166
- "aria-modal": "false",
167
- "aria-label": q,
168
- children: /* @__PURE__ */ C("div", { className: "smwb-date-picker__inner smwb-date-time-picker__inner", children: [
169
- /* @__PURE__ */ n(
170
- De,
171
- {
172
- viewValue: a,
173
- locale: u,
174
- openView: c,
175
- onChange: ae,
176
- onMonthLabelClick: oe,
177
- onYearLabelClick: ne
178
- }
179
- ),
180
- /* @__PURE__ */ C("div", { className: "smwb-date-time-picker__content", children: [
181
- /* @__PURE__ */ n("div", { className: "smwb-date-picker__body smwb-date-time-picker__body", children: h }),
182
- /* @__PURE__ */ n(Pe, { value: a, format: de, onChange: ce })
183
- ] })
184
- ] })
185
- }
186
- ) })
164
+ ref: ne,
165
+ className: "smwb-date-picker smwb-date-time-picker",
166
+ style: {
167
+ ...ee,
168
+ ...He(150),
169
+ ...Ie[e]
170
+ },
171
+ "data-testid": "date-time-picker",
172
+ "data-smwb-overlay-layer": "",
173
+ role: "dialog",
174
+ "aria-modal": "false",
175
+ "aria-label": z,
176
+ children: /* @__PURE__ */ _("div", { className: "smwb-date-picker__inner smwb-date-time-picker__inner", children: [
177
+ /* @__PURE__ */ a(
178
+ Te,
179
+ {
180
+ viewValue: n,
181
+ locale: p,
182
+ openView: m,
183
+ onChange: ae,
184
+ onMonthLabelClick: re,
185
+ onYearLabelClick: ie
186
+ }
187
+ ),
188
+ /* @__PURE__ */ _("div", { className: "smwb-date-time-picker__content", children: [
189
+ /* @__PURE__ */ a("div", { className: "smwb-date-picker__body smwb-date-time-picker__body", children: w }),
190
+ /* @__PURE__ */ a(Le, { value: n, format: fe, onChange: le })
191
+ ] })
192
+ ] })
187
193
  }
188
- ),
189
- L
194
+ ) }) }),
195
+ Y
190
196
  ) : null
191
197
  ] });
192
198
  });
193
199
  export {
194
- Ze as DateTimePicker,
195
- Ze as default
200
+ at as DateTimePicker,
201
+ at as default
196
202
  };
197
203
  //# sourceMappingURL=dateTimePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dateTimePicker.js","sources":["../../../../../src/components/inputs/dateTimePicker/dateTimePicker.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from \"react\";\nimport { autoUpdate, useFloating } from \"@floating-ui/react\";\nimport Transition, { TransitionStatus } from \"react-transition-group/Transition\";\nimport { buildFloatingMiddleware, Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { useSafeLayoutEffect } from \"../../../hooks/useSafeLayoutEffect\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { TextFieldProps } from \"../textField\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { DataPickerHeader } from \"../datePicker/dataPickerHeader\";\nimport { DataPickerDays } from \"../datePicker/dataPickerDays\";\nimport { DatePickerList } from \"../datePicker/datePickerList\";\nimport { getMonths, setMonth, getYears, setYear, isValidDate } from \"../datePicker/utils\";\nimport { OpenView } from \"../datePicker/datePicker\";\nimport { DateTimePickerInput } from \"./dateTimePickerInput\";\nimport { TimePickerColumns } from \"../timePicker/timePickerColumns\";\nimport { DEFAULT_TIME_FORMAT, isValidTimeDate, mergeDate, mergeTime } from \"../timePicker/timeUtils\";\nimport { createPortal } from \"react-dom\";\n\nconst defaultStyle = (duration: number) => ({\n transition: `opacity ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n} as Record<TransitionStatus, { opacity: number }>;\n\nexport interface DateTimePickerProps extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\"> {\n showDaysOutsideMonth?: boolean;\n disablePast?: boolean;\n disableFuture?: boolean;\n minDate?: Date;\n maxDate?: Date;\n isDateDisabled?: (day: Date) => boolean;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n locale?: string;\n /** Input format with tokens dd, MM, yyyy, HH, mm, ss, e.g. \"dd/MM/yyyy HH:mm\". */\n format?: string;\n /** Time portion format when using the clock columns. Defaults to \"HH:mm\". */\n timeFormat?: string;\n placement?: Placement;\n disableCalendar?: boolean;\n label?: string;\n calendarAriaLabel?: string;\n autoComplete?: string;\n value?: Date | string;\n calendarIcon?: React.ReactNode;\n onChange?: (event?: React.ChangeEvent<HTMLInputElement>, value?: Date, data?: DateTimePickerProps) => void;\n onBlur?: (event?: React.FocusEvent<HTMLInputElement>, value?: Date, data?: DateTimePickerProps) => void;\n}\n\nexport const DateTimePicker = React.forwardRef(function DateTimePicker(props: DateTimePickerProps, ref) {\n const {\n value: valueProp,\n onChange: onChangeProp,\n showDaysOutsideMonth,\n disablePast,\n disableFuture,\n weekStartsOn = 1,\n placement = \"bottom-start\",\n disabled,\n disableCalendar,\n calendarAriaLabel = \"Choose date and time\",\n minDate,\n maxDate,\n isDateDisabled,\n locale,\n format,\n timeFormat,\n calendarIcon,\n onBlur: onBlurProp,\n ...rest\n } = props;\n const value = useMemo(() => (valueProp === undefined ? undefined : new Date(valueProp)), [valueProp]);\n const [viewValue, setViewValue] = useState<Date>(() =>\n isValidDate(value) || isValidTimeDate(value) ? value : new Date()\n );\n const [openView, setOpenView] = useState<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = useState(false);\n\n const anchorRef = useRef<HTMLDivElement | null>(null);\n const popupRef = useRef<HTMLDivElement | null>(null);\n\n const resolved = resolvePlacement(placement);\n const { refs, floatingStyles } = useFloating({\n open: isOpen,\n placement: resolved.placement,\n whileElementsMounted: autoUpdate,\n middleware: buildFloatingMiddleware(resolved),\n });\n\n const anchorForkRef = useForkRef(anchorRef, refs.setReference, ref);\n const popupForkRef = useForkRef(popupRef, refs.setFloating);\n\n // The calendar is portalled: its target is resolved in the browser only. A server\n // render (no document) and the first client render emit nothing there, so the\n // picker renders and hydrates on a server-rendered page.\n const [portalRoot, setPortalRoot] = useState<HTMLElement>();\n useSafeLayoutEffect(() => {\n setPortalRoot(document.body);\n }, []);\n\n useSafeLayoutEffect(() => {\n if (disabled) {\n return;\n }\n\n setViewValue(isValidDate(value) || isValidTimeDate(value) ? value : new Date());\n }, [value, disabled]);\n\n const onViewValueChange = useCallback((next: Date) => {\n setViewValue(next);\n }, []);\n\n const onMonthLabelClick = useCallback(() => {\n setOpenView(openView === OpenView.months ? OpenView.days : OpenView.months);\n }, [openView]);\n\n const onYearLabelClick = useCallback(() => {\n setOpenView(openView === OpenView.years ? OpenView.days : OpenView.years);\n }, [openView]);\n\n const onMonthChange = useCallback(\n (month: number) => {\n setViewValue(setMonth(viewValue, month));\n setOpenView(OpenView.days);\n },\n [viewValue]\n );\n\n const onYearChange = useCallback(\n (year: number) => {\n setViewValue(setYear(viewValue, year));\n setOpenView(OpenView.days);\n },\n [viewValue]\n );\n\n const emitChange = useCallback(\n (next: Date) => {\n setViewValue(next);\n onChangeProp?.(undefined, next, props);\n },\n [onChangeProp, props]\n );\n\n const onDateChange = useCallback(\n (_event?: React.ChangeEvent<HTMLInputElement>, date?: Date) => {\n if (!date) {\n return;\n }\n\n const timeSource = isValidTimeDate(value) ? value : viewValue;\n emitChange(mergeDate(date, timeSource));\n },\n [emitChange, value, viewValue]\n );\n\n const onTimeChange = useCallback(\n (timeDate: Date) => {\n const dateSource = isValidDate(value) ? value : viewValue;\n emitChange(mergeTime(dateSource, timeDate));\n },\n [emitChange, value, viewValue]\n );\n\n const onToggle = useCallback(() => {\n if (!disabled) {\n setIsOpen((prevState) => !prevState);\n }\n }, [disabled]);\n\n const onClickAway = useCallback((event: Event | React.SyntheticEvent) => {\n const target = event.target as HTMLElement;\n\n if (popupRef.current?.contains(target) || anchorRef.current?.contains(target)) {\n return;\n }\n\n setIsOpen(false);\n }, []);\n\n const resolvedTimeFormat = useMemo(() => {\n if (timeFormat) {\n return timeFormat;\n }\n\n if (format?.includes(\"HH:mm:ss\")) {\n return \"HH:mm:ss\";\n }\n\n return DEFAULT_TIME_FORMAT;\n }, [format, timeFormat]);\n\n const months = useMemo(() => getMonths(locale), [locale]);\n const years = useMemo(() => getYears(new Date().getFullYear(), 100), []);\n\n let view: React.ReactNode = null;\n\n switch (openView) {\n case OpenView.days:\n view = (\n <DataPickerDays\n viewValue={viewValue}\n value={value}\n showDaysOutsideMonth={showDaysOutsideMonth}\n onChange={onDateChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n weekStartsOn={weekStartsOn}\n minDate={minDate}\n maxDate={maxDate}\n isDateDisabled={isDateDisabled}\n locale={locale}\n />\n );\n break;\n case OpenView.months:\n view = <DatePickerList value={viewValue.getMonth()} items={months} onChange={onMonthChange} />;\n break;\n case OpenView.years:\n view = <DatePickerList value={viewValue.getFullYear()} items={years} onChange={onYearChange} />;\n break;\n }\n\n return (\n <>\n <DateTimePickerInput\n ref={anchorForkRef}\n value={value}\n onChange={onChangeProp}\n onBlur={onBlurProp}\n onToggle={onToggle}\n disabled={disabled}\n disableCalendar={disableCalendar}\n format={format}\n calendarIcon={calendarIcon}\n {...rest}\n />\n {portalRoot\n ? createPortal(\n <Transition\n nodeRef={popupRef}\n in={isOpen && !disabled && !disableCalendar}\n timeout={150}\n mountOnEnter\n unmountOnExit\n >\n {(state) => (\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={popupForkRef}\n className=\"smwb-date-picker smwb-date-time-picker\"\n style={{\n ...floatingStyles,\n ...defaultStyle(150),\n ...transitionStyles[state],\n }}\n data-testid=\"date-time-picker\"\n data-smwb-overlay-layer=\"\"\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={calendarAriaLabel}\n >\n <div className=\"smwb-date-picker__inner smwb-date-time-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue}\n locale={locale}\n openView={openView}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div className=\"smwb-date-time-picker__content\">\n <div className=\"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 )}\n </Transition>,\n portalRoot\n )\n : null}\n </>\n );\n});\n\nexport default DateTimePicker;\n"],"names":["defaultStyle","duration","transitionStyles","DateTimePicker","React","props","ref","valueProp","onChangeProp","showDaysOutsideMonth","disablePast","disableFuture","weekStartsOn","placement","disabled","disableCalendar","calendarAriaLabel","minDate","maxDate","isDateDisabled","locale","format","timeFormat","calendarIcon","onBlurProp","rest","value","useMemo","viewValue","setViewValue","useState","isValidDate","isValidTimeDate","openView","setOpenView","OpenView","isOpen","setIsOpen","anchorRef","useRef","popupRef","resolved","resolvePlacement","refs","floatingStyles","useFloating","autoUpdate","buildFloatingMiddleware","anchorForkRef","useForkRef","popupForkRef","portalRoot","setPortalRoot","useSafeLayoutEffect","onViewValueChange","useCallback","next","onMonthLabelClick","onYearLabelClick","onMonthChange","month","setMonth","onYearChange","year","setYear","emitChange","onDateChange","_event","date","timeSource","mergeDate","onTimeChange","timeDate","dateSource","mergeTime","onToggle","prevState","onClickAway","event","target","_a","_b","resolvedTimeFormat","DEFAULT_TIME_FORMAT","months","getMonths","years","getYears","view","jsx","DataPickerDays","DatePickerList","jsxs","Fragment","DateTimePickerInput","createPortal","Transition","state","ClickAwayListener","DataPickerHeader","TimePickerColumns"],"mappings":"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"}
1
+ {"version":3,"file":"dateTimePicker.js","sources":["../../../../../src/components/inputs/dateTimePicker/dateTimePicker.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { autoUpdate, useFloating } from \"@floating-ui/react\";\nimport Transition, { TransitionStatus } from \"react-transition-group/Transition\";\nimport { buildFloatingMiddleware, Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { useSafeLayoutEffect } from \"../../../hooks/useSafeLayoutEffect\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { isTopOverlayLayer } from \"../../../utils/overlayLayer\";\nimport { TextFieldProps } from \"../textField\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { DataPickerHeader } from \"../datePicker/dataPickerHeader\";\nimport { DataPickerDays } from \"../datePicker/dataPickerDays\";\nimport { DatePickerList } from \"../datePicker/datePickerList\";\nimport { getMonths, setMonth, getYears, setYear, isValidDate } from \"../datePicker/utils\";\nimport { OpenView } from \"../datePicker/datePicker\";\nimport { DateTimePickerInput } from \"./dateTimePickerInput\";\nimport { TimePickerColumns } from \"../timePicker/timePickerColumns\";\nimport { DEFAULT_TIME_FORMAT, isValidTimeDate, mergeDate, mergeTime } from \"../timePicker/timeUtils\";\nimport { createPortal } from \"react-dom\";\n\nconst defaultStyle = (duration: number) => ({\n transition: `opacity ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n} as Record<TransitionStatus, { opacity: number }>;\n\nexport interface DateTimePickerProps extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\"> {\n showDaysOutsideMonth?: boolean;\n disablePast?: boolean;\n disableFuture?: boolean;\n minDate?: Date;\n maxDate?: Date;\n isDateDisabled?: (day: Date) => boolean;\n weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n locale?: string;\n /** Input format with tokens dd, MM, yyyy, HH, mm, ss, e.g. \"dd/MM/yyyy HH:mm\". */\n format?: string;\n /** Time portion format when using the clock columns. Defaults to \"HH:mm\". */\n timeFormat?: string;\n placement?: Placement;\n disableCalendar?: boolean;\n label?: string;\n calendarAriaLabel?: string;\n autoComplete?: string;\n value?: Date | string;\n calendarIcon?: React.ReactNode;\n onChange?: (event?: React.ChangeEvent<HTMLInputElement>, value?: Date, data?: DateTimePickerProps) => void;\n onBlur?: (event?: React.FocusEvent<HTMLInputElement>, value?: Date, data?: DateTimePickerProps) => void;\n}\n\nexport const DateTimePicker = React.forwardRef(function DateTimePicker(props: DateTimePickerProps, ref) {\n const {\n value: valueProp,\n onChange: onChangeProp,\n showDaysOutsideMonth,\n disablePast,\n disableFuture,\n weekStartsOn = 1,\n placement = \"bottom-start\",\n disabled,\n disableCalendar,\n calendarAriaLabel = \"Choose date and time\",\n minDate,\n maxDate,\n isDateDisabled,\n locale,\n format,\n timeFormat,\n calendarIcon,\n onBlur: onBlurProp,\n ...rest\n } = props;\n const value = useMemo(() => (valueProp === undefined ? undefined : new Date(valueProp)), [valueProp]);\n const [viewValue, setViewValue] = useState<Date>(() =>\n isValidDate(value) || isValidTimeDate(value) ? value : new Date()\n );\n const [openView, setOpenView] = useState<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = useState(false);\n\n const anchorRef = useRef<HTMLDivElement | null>(null);\n const popupRef = useRef<HTMLDivElement | null>(null);\n\n const resolved = resolvePlacement(placement);\n const { refs, floatingStyles } = useFloating({\n open: isOpen,\n placement: resolved.placement,\n whileElementsMounted: autoUpdate,\n middleware: buildFloatingMiddleware(resolved),\n });\n\n const anchorForkRef = useForkRef(anchorRef, refs.setReference, ref);\n const popupForkRef = useForkRef(popupRef, refs.setFloating);\n\n // The calendar is portalled: its target is resolved in the browser only. A server\n // render (no document) and the first client render emit nothing there, so the\n // picker renders and hydrates on a server-rendered page.\n const [portalRoot, setPortalRoot] = useState<HTMLElement>();\n useSafeLayoutEffect(() => {\n setPortalRoot(document.body);\n }, []);\n\n useSafeLayoutEffect(() => {\n if (disabled) {\n return;\n }\n\n setViewValue(isValidDate(value) || isValidTimeDate(value) ? value : new Date());\n }, [value, disabled]);\n\n const onViewValueChange = useCallback((next: Date) => {\n setViewValue(next);\n }, []);\n\n const onMonthLabelClick = useCallback(() => {\n setOpenView(openView === OpenView.months ? OpenView.days : OpenView.months);\n }, [openView]);\n\n const onYearLabelClick = useCallback(() => {\n setOpenView(openView === OpenView.years ? OpenView.days : OpenView.years);\n }, [openView]);\n\n const onMonthChange = useCallback(\n (month: number) => {\n setViewValue(setMonth(viewValue, month));\n setOpenView(OpenView.days);\n },\n [viewValue]\n );\n\n const onYearChange = useCallback(\n (year: number) => {\n setViewValue(setYear(viewValue, year));\n setOpenView(OpenView.days);\n },\n [viewValue]\n );\n\n const emitChange = useCallback(\n (next: Date) => {\n setViewValue(next);\n onChangeProp?.(undefined, next, props);\n },\n [onChangeProp, props]\n );\n\n const onDateChange = useCallback(\n (_event?: React.ChangeEvent<HTMLInputElement>, date?: Date) => {\n if (!date) {\n return;\n }\n\n const timeSource = isValidTimeDate(value) ? value : viewValue;\n emitChange(mergeDate(date, timeSource));\n },\n [emitChange, value, viewValue]\n );\n\n const onTimeChange = useCallback(\n (timeDate: Date) => {\n const dateSource = isValidDate(value) ? value : viewValue;\n emitChange(mergeTime(dateSource, timeDate));\n },\n [emitChange, value, viewValue]\n );\n\n const onToggle = useCallback(() => {\n if (!disabled) {\n setIsOpen((prevState) => !prevState);\n }\n }, [disabled]);\n\n const onClickAway = useCallback((event: Event | React.SyntheticEvent) => {\n const target = event.target as HTMLElement;\n\n if (popupRef.current?.contains(target) || anchorRef.current?.contains(target)) {\n return;\n }\n\n setIsOpen(false);\n }, []);\n\n const panelOpen = isOpen && !disabled && !disableCalendar;\n\n // Escape closes the panel while it is the topmost overlay layer, so the next one\n // reaches a Modal or Sheet around the picker. Focus left in the panel (or on\n // <body> after a click there) goes back to the input rather than being lost.\n useEffect(() => {\n if (!panelOpen) {\n return;\n }\n const onKeyDown = (event: KeyboardEvent) => {\n const panel = popupRef.current;\n if (event.key !== \"Escape\" || !panel || !isTopOverlayLayer(panel)) {\n return;\n }\n setIsOpen(false);\n const active = document.activeElement;\n if (!active || active === document.body || panel.contains(active)) {\n anchorRef.current?.focus();\n }\n };\n document.addEventListener(\"keydown\", onKeyDown);\n\n return () => document.removeEventListener(\"keydown\", onKeyDown);\n }, [panelOpen]);\n\n const resolvedTimeFormat = useMemo(() => {\n if (timeFormat) {\n return timeFormat;\n }\n\n if (format?.includes(\"HH:mm:ss\")) {\n return \"HH:mm:ss\";\n }\n\n return DEFAULT_TIME_FORMAT;\n }, [format, timeFormat]);\n\n const months = useMemo(() => getMonths(locale), [locale]);\n const years = useMemo(() => getYears(new Date().getFullYear(), 100), []);\n\n let view: React.ReactNode = null;\n\n switch (openView) {\n case OpenView.days:\n view = (\n <DataPickerDays\n viewValue={viewValue}\n value={value}\n showDaysOutsideMonth={showDaysOutsideMonth}\n onChange={onDateChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n weekStartsOn={weekStartsOn}\n minDate={minDate}\n maxDate={maxDate}\n isDateDisabled={isDateDisabled}\n locale={locale}\n />\n );\n break;\n case OpenView.months:\n view = <DatePickerList value={viewValue.getMonth()} items={months} onChange={onMonthChange} />;\n break;\n case OpenView.years:\n view = <DatePickerList value={viewValue.getFullYear()} items={years} onChange={onYearChange} />;\n break;\n }\n\n return (\n <>\n <DateTimePickerInput\n ref={anchorForkRef}\n value={value}\n onChange={onChangeProp}\n onBlur={onBlurProp}\n onToggle={onToggle}\n disabled={disabled}\n disableCalendar={disableCalendar}\n format={format}\n calendarIcon={calendarIcon}\n {...rest}\n />\n {portalRoot\n ? createPortal(\n <Transition nodeRef={popupRef} in={panelOpen} timeout={150} mountOnEnter unmountOnExit>\n {(state) => (\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={popupForkRef}\n className=\"smwb-date-picker smwb-date-time-picker\"\n style={{\n ...floatingStyles,\n ...defaultStyle(150),\n ...transitionStyles[state],\n }}\n data-testid=\"date-time-picker\"\n data-smwb-overlay-layer=\"\"\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={calendarAriaLabel}\n >\n <div className=\"smwb-date-picker__inner smwb-date-time-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue}\n locale={locale}\n openView={openView}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div className=\"smwb-date-time-picker__content\">\n <div className=\"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 )}\n </Transition>,\n portalRoot\n )\n : null}\n </>\n );\n});\n\nexport default DateTimePicker;\n"],"names":["defaultStyle","duration","transitionStyles","DateTimePicker","React","props","ref","valueProp","onChangeProp","showDaysOutsideMonth","disablePast","disableFuture","weekStartsOn","placement","disabled","disableCalendar","calendarAriaLabel","minDate","maxDate","isDateDisabled","locale","format","timeFormat","calendarIcon","onBlurProp","rest","value","useMemo","viewValue","setViewValue","useState","isValidDate","isValidTimeDate","openView","setOpenView","OpenView","isOpen","setIsOpen","anchorRef","useRef","popupRef","resolved","resolvePlacement","refs","floatingStyles","useFloating","autoUpdate","buildFloatingMiddleware","anchorForkRef","useForkRef","popupForkRef","portalRoot","setPortalRoot","useSafeLayoutEffect","onViewValueChange","useCallback","next","onMonthLabelClick","onYearLabelClick","onMonthChange","month","setMonth","onYearChange","year","setYear","emitChange","onDateChange","_event","date","timeSource","mergeDate","onTimeChange","timeDate","dateSource","mergeTime","onToggle","prevState","onClickAway","event","target","_a","_b","panelOpen","useEffect","onKeyDown","panel","isTopOverlayLayer","active","resolvedTimeFormat","DEFAULT_TIME_FORMAT","months","getMonths","years","getYears","view","jsx","DataPickerDays","DatePickerList","jsxs","Fragment","DateTimePickerInput","createPortal","Transition","state","ClickAwayListener","DataPickerHeader","TimePickerColumns"],"mappings":"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"}