@smwb/ui-react 2.7.0 → 2.8.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 (414) hide show
  1. package/README.md +27 -0
  2. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  3. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  4. package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
  5. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  6. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  7. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
  8. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  9. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  10. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  11. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  12. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  13. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  14. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  15. package/dist/assets/styles/less/connects/rt/table.entry.css +1 -1
  16. package/dist/components/base/icon/icon.d.ts +6 -2
  17. package/dist/components/base/icon/icon.js +49 -37
  18. package/dist/components/base/icon/icon.js.map +1 -1
  19. package/dist/components/base/ripple/ripple.d.ts +3 -0
  20. package/dist/components/base/ripple/ripple.js +38 -23
  21. package/dist/components/base/ripple/ripple.js.map +1 -1
  22. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  23. package/dist/components/dataDisplay/avatar/avatar.js +50 -37
  24. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  25. package/dist/components/dataDisplay/badge/badge.js +37 -28
  26. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  27. package/dist/components/dataDisplay/card/card.d.ts +30 -2
  28. package/dist/components/dataDisplay/card/card.js +50 -23
  29. package/dist/components/dataDisplay/card/card.js.map +1 -1
  30. package/dist/components/dataDisplay/carousel/carousel.js +70 -70
  31. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  32. package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
  33. package/dist/components/dataDisplay/chart/chart.js +66 -53
  34. package/dist/components/dataDisplay/chart/chart.js.map +1 -1
  35. package/dist/components/dataDisplay/chat/chatIconButton.d.ts +1 -1
  36. package/dist/components/dataDisplay/chat/chatIconButton.js +30 -26
  37. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  38. package/dist/components/dataDisplay/chat/chatLayout.d.ts +3 -1
  39. package/dist/components/dataDisplay/chat/chatLayout.js +56 -55
  40. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  41. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +3 -1
  42. package/dist/components/dataDisplay/chip/chip.d.ts +31 -0
  43. package/dist/components/dataDisplay/chip/chip.js +110 -83
  44. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  45. package/dist/components/dataDisplay/chipGroup/chipGroup.js +34 -30
  46. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  47. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
  48. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  49. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  50. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  51. package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
  52. package/dist/components/dataDisplay/kanban/kanban.js +46 -35
  53. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
  54. package/dist/components/dataDisplay/lazyImage/lazyImage.js +31 -30
  55. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  56. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  57. package/dist/components/dataDisplay/list/list.js +15 -14
  58. package/dist/components/dataDisplay/list/list.js.map +1 -1
  59. package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
  60. package/dist/components/dataDisplay/meter/meter.js +24 -23
  61. package/dist/components/dataDisplay/meter/meter.js.map +1 -1
  62. package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
  63. package/dist/components/dataDisplay/personChip/personChip.js +39 -27
  64. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
  65. package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
  66. package/dist/components/dataDisplay/stat/stat.js +25 -13
  67. package/dist/components/dataDisplay/stat/stat.js.map +1 -1
  68. package/dist/components/dataDisplay/table/table.d.ts +16 -1
  69. package/dist/components/dataDisplay/table/table.js +40 -36
  70. package/dist/components/dataDisplay/table/table.js.map +1 -1
  71. package/dist/components/dataDisplay/table/tableBody.js +10 -4
  72. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  73. package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
  74. package/dist/components/dataDisplay/table/tableCell.js +20 -13
  75. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  76. package/dist/components/dataDisplay/table/tableColumns.d.ts +83 -0
  77. package/dist/components/dataDisplay/table/tableColumns.js +112 -0
  78. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  79. package/dist/components/dataDisplay/table/tableHead.js +9 -3
  80. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  81. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +24 -3
  82. package/dist/components/dataDisplay/table/tableHeadCell.js +60 -65
  83. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  84. package/dist/components/dataDisplay/table/tableRow.d.ts +3 -1
  85. package/dist/components/dataDisplay/table/tableRow.js +28 -16
  86. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  87. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  88. package/dist/components/dataDisplay/thumbCard/thumbCard.js +79 -59
  89. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  90. package/dist/components/dataDisplay/treeView/treeView.d.ts +2 -0
  91. package/dist/components/dataDisplay/treeView/treeView.js +24 -23
  92. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  93. package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
  94. package/dist/components/feedBack/emptyState/emptyState.js +22 -12
  95. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
  96. package/dist/components/feedBack/message/message.d.ts +2 -0
  97. package/dist/components/feedBack/message/message.js +30 -19
  98. package/dist/components/feedBack/message/message.js.map +1 -1
  99. package/dist/components/feedBack/modal/modal.js +40 -40
  100. package/dist/components/feedBack/modal/modal.js.map +1 -1
  101. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  102. package/dist/components/feedBack/skeleton/skeleton.js +37 -34
  103. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  104. package/dist/components/feedBack/snackbar/snackbar.js +104 -103
  105. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  106. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  107. package/dist/components/feedBack/tooltip/tooltip.js +67 -47
  108. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  109. package/dist/components/inputs/button/button.d.ts +2 -0
  110. package/dist/components/inputs/button/button.js +62 -58
  111. package/dist/components/inputs/button/button.js.map +1 -1
  112. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  113. package/dist/components/inputs/buttonGroups/buttonGroup.js +40 -36
  114. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  115. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  116. package/dist/components/inputs/checkbox/checkbox.js +84 -59
  117. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  118. package/dist/components/inputs/datePicker/datePicker.js +170 -164
  119. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  120. package/dist/components/inputs/datePicker/datePickerDay.d.ts +1 -1
  121. package/dist/components/inputs/datePicker/datePickerDay.js +52 -44
  122. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  123. package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +1 -1
  124. package/dist/components/inputs/datePicker/datePickerIconButton.js +32 -28
  125. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  126. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
  127. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  128. package/dist/components/inputs/floatingButton/floatingButton.js +32 -30
  129. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  130. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  131. package/dist/components/inputs/radioButton/radioButton.js +77 -58
  132. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  133. package/dist/components/inputs/rating/rating.d.ts +8 -0
  134. package/dist/components/inputs/rating/rating.js +85 -70
  135. package/dist/components/inputs/rating/rating.js.map +1 -1
  136. package/dist/components/inputs/selectField/dropdownMenu.d.ts +20 -1
  137. package/dist/components/inputs/selectField/dropdownMenu.js +266 -113
  138. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  139. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  140. package/dist/components/inputs/selectField/optionNavigation.js +38 -0
  141. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  142. package/dist/components/inputs/selectField/selectField.d.ts +31 -1
  143. package/dist/components/inputs/selectField/selectField.js +358 -218
  144. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  145. package/dist/components/inputs/slider/slider.d.ts +22 -1
  146. package/dist/components/inputs/slider/slider.js +330 -261
  147. package/dist/components/inputs/slider/slider.js.map +1 -1
  148. package/dist/components/inputs/textField/textField.d.ts +7 -0
  149. package/dist/components/inputs/textField/textField.js +118 -100
  150. package/dist/components/inputs/textField/textField.js.map +1 -1
  151. package/dist/components/inputs/textField/textFieldWrapper.d.ts +15 -1
  152. package/dist/components/inputs/textField/textFieldWrapper.js +45 -34
  153. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  154. package/dist/components/inputs/timePicker/timePicker.js +91 -85
  155. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  156. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  157. package/dist/components/inputs/toggle/toggle.js +80 -61
  158. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  159. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  160. package/dist/components/inputs/valueSlider/valueSlider.js +23 -22
  161. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  162. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  163. package/dist/components/layout/appLayout/appLayout.js +25 -24
  164. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  165. package/dist/components/layout/divider/divider.d.ts +2 -0
  166. package/dist/components/layout/divider/divider.js +23 -22
  167. package/dist/components/layout/divider/divider.js.map +1 -1
  168. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  169. package/dist/components/layout/floatingWindow/floatingWindow.js +145 -139
  170. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  171. package/dist/components/layout/grid/grid.d.ts +12 -1
  172. package/dist/components/layout/grid/grid.js +51 -36
  173. package/dist/components/layout/grid/grid.js.map +1 -1
  174. package/dist/components/layout/page/page.d.ts +2 -0
  175. package/dist/components/layout/page/page.js +16 -8
  176. package/dist/components/layout/page/page.js.map +1 -1
  177. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  178. package/dist/components/layout/pageHeader/pageHeader.js +22 -13
  179. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  180. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
  181. package/dist/components/layout/sectionHeader/sectionHeader.js +37 -27
  182. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  183. package/dist/components/layout/sheet/sheet.d.ts +2 -0
  184. package/dist/components/layout/sheet/sheet.js +80 -79
  185. package/dist/components/layout/sheet/sheet.js.map +1 -1
  186. package/dist/components/layout/stack/stack.d.ts +2 -0
  187. package/dist/components/layout/stack/stack.js +29 -17
  188. package/dist/components/layout/stack/stack.js.map +1 -1
  189. package/dist/components/navigation/appBar/appBar.d.ts +2 -0
  190. package/dist/components/navigation/appBar/appBar.js +24 -23
  191. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  192. package/dist/components/navigation/bottomBar/bottomBar.js +81 -77
  193. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  194. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  195. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +29 -27
  196. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  197. package/dist/components/navigation/menu/menu.d.ts +12 -0
  198. package/dist/components/navigation/menu/menu.js.map +1 -1
  199. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  200. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  201. package/dist/components/navigation/menu/menuFloating.js +42 -30
  202. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  203. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  204. package/dist/components/navigation/menu/menuItem.js +60 -48
  205. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  206. package/dist/components/navigation/menu/menuList.d.ts +5 -1
  207. package/dist/components/navigation/menu/menuList.js +30 -19
  208. package/dist/components/navigation/menu/menuList.js.map +1 -1
  209. package/dist/components/navigation/menu/menuSubmenu.js +53 -40
  210. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  211. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  212. package/dist/components/navigation/pagination/pagination.js +51 -49
  213. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  214. package/dist/components/navigation/sidebar/sidebar.js +39 -38
  215. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  216. package/dist/components/navigation/stepper/stepper.d.ts +2 -0
  217. package/dist/components/navigation/stepper/stepper.js +37 -28
  218. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  219. package/dist/components/navigation/tabs/tab/tab.js +42 -40
  220. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  221. package/dist/components/navigation/tabs/tabs.d.ts +6 -0
  222. package/dist/components/navigation/tabs/tabs.js +83 -86
  223. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  224. package/dist/connects/rt/table/headerCellRenderer.d.ts +4 -1
  225. package/dist/connects/rt/table/headerCellRenderer.js +45 -15
  226. package/dist/connects/rt/table/headerCellRenderer.js.map +1 -1
  227. package/dist/connects/rt/table/table.d.ts +15 -1
  228. package/dist/connects/rt/table/table.js +125 -131
  229. package/dist/connects/rt/table/table.js.map +1 -1
  230. package/dist/headless/components/base/icon/icon.js +49 -37
  231. package/dist/headless/components/base/icon/icon.js.map +1 -1
  232. package/dist/headless/components/base/ripple/ripple.js +42 -27
  233. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  234. package/dist/headless/components/dataDisplay/avatar/avatar.js +51 -38
  235. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  236. package/dist/headless/components/dataDisplay/badge/badge.js +37 -28
  237. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
  238. package/dist/headless/components/dataDisplay/card/card.js +50 -23
  239. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  240. package/dist/headless/components/dataDisplay/carousel/carousel.js +55 -55
  241. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  242. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +30 -26
  243. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  244. package/dist/headless/components/dataDisplay/chat/chatLayout.js +56 -55
  245. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  246. package/dist/headless/components/dataDisplay/chip/chip.js +108 -81
  247. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  248. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +35 -31
  249. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  250. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
  251. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  252. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  253. package/dist/headless/components/dataDisplay/kanban/kanban.js +45 -34
  254. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
  255. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +30 -29
  256. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  257. package/dist/headless/components/dataDisplay/list/list.js +15 -14
  258. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  259. package/dist/headless/components/dataDisplay/meter/meter.js +19 -18
  260. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
  261. package/dist/headless/components/dataDisplay/personChip/personChip.js +39 -27
  262. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
  263. package/dist/headless/components/dataDisplay/stat/stat.js +27 -15
  264. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
  265. package/dist/headless/components/dataDisplay/table/table.js +40 -36
  266. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  267. package/dist/headless/components/dataDisplay/table/tableBody.js +10 -4
  268. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  269. package/dist/headless/components/dataDisplay/table/tableCell.js +20 -13
  270. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  271. package/dist/headless/components/dataDisplay/table/tableColumns.js +112 -0
  272. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  273. package/dist/headless/components/dataDisplay/table/tableHead.js +9 -3
  274. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  275. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +60 -65
  276. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  277. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -16
  278. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  279. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +78 -58
  280. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  281. package/dist/headless/components/dataDisplay/treeView/treeView.js +24 -23
  282. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  283. package/dist/headless/components/feedBack/emptyState/emptyState.js +21 -11
  284. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
  285. package/dist/headless/components/feedBack/message/message.js +31 -20
  286. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  287. package/dist/headless/components/feedBack/modal/modal.js +44 -44
  288. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  289. package/dist/headless/components/feedBack/skeleton/skeleton.js +38 -35
  290. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  291. package/dist/headless/components/feedBack/snackbar/snackbar.js +108 -107
  292. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  293. package/dist/headless/components/feedBack/tooltip/tooltip.js +67 -47
  294. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  295. package/dist/headless/components/inputs/button/button.js +62 -58
  296. package/dist/headless/components/inputs/button/button.js.map +1 -1
  297. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +40 -36
  298. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  299. package/dist/headless/components/inputs/checkbox/checkbox.js +85 -60
  300. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  301. package/dist/headless/components/inputs/datePicker/datePicker.js +170 -164
  302. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  303. package/dist/headless/components/inputs/datePicker/datePickerDay.js +52 -44
  304. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  305. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +32 -28
  306. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  307. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
  308. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  309. package/dist/headless/components/inputs/floatingButton/floatingButton.js +32 -30
  310. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  311. package/dist/headless/components/inputs/radioButton/radioButton.js +77 -58
  312. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  313. package/dist/headless/components/inputs/rating/rating.js +85 -70
  314. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  315. package/dist/headless/components/inputs/selectField/dropdownMenu.js +266 -113
  316. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  317. package/dist/headless/components/inputs/selectField/optionNavigation.js +38 -0
  318. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  319. package/dist/headless/components/inputs/selectField/selectField.js +358 -218
  320. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  321. package/dist/headless/components/inputs/slider/slider.js +330 -261
  322. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  323. package/dist/headless/components/inputs/textField/textField.js +118 -100
  324. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  325. package/dist/headless/components/inputs/textField/textFieldWrapper.js +45 -34
  326. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  327. package/dist/headless/components/inputs/timePicker/timePicker.js +91 -85
  328. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  329. package/dist/headless/components/inputs/toggle/toggle.js +79 -60
  330. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  331. package/dist/headless/components/inputs/valueSlider/valueSlider.js +25 -24
  332. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  333. package/dist/headless/components/layout/appLayout/appLayout.js +27 -26
  334. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  335. package/dist/headless/components/layout/divider/divider.js +18 -17
  336. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  337. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +145 -139
  338. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  339. package/dist/headless/components/layout/grid/grid.js +48 -33
  340. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  341. package/dist/headless/components/layout/page/page.js +15 -7
  342. package/dist/headless/components/layout/page/page.js.map +1 -1
  343. package/dist/headless/components/layout/pageHeader/pageHeader.js +20 -11
  344. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  345. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +36 -26
  346. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
  347. package/dist/headless/components/layout/sheet/sheet.js +80 -79
  348. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  349. package/dist/headless/components/layout/stack/stack.js +29 -17
  350. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  351. package/dist/headless/components/navigation/appBar/appBar.js +15 -14
  352. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  353. package/dist/headless/components/navigation/bottomBar/bottomBar.js +81 -77
  354. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  355. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +32 -30
  356. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  357. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  358. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  359. package/dist/headless/components/navigation/menu/menuFloating.js +42 -30
  360. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  361. package/dist/headless/components/navigation/menu/menuItem.js +60 -48
  362. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  363. package/dist/headless/components/navigation/menu/menuList.js +30 -19
  364. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  365. package/dist/headless/components/navigation/menu/menuSubmenu.js +53 -40
  366. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  367. package/dist/headless/components/navigation/pagination/pagination.js +51 -49
  368. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  369. package/dist/headless/components/navigation/sidebar/sidebar.js +29 -28
  370. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  371. package/dist/headless/components/navigation/stepper/stepper.js +42 -33
  372. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  373. package/dist/headless/components/navigation/tabs/tab/tab.js +41 -39
  374. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  375. package/dist/headless/components/navigation/tabs/tabs.js +95 -98
  376. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  377. package/dist/headless/hooks/useDismissOnEscape.js +16 -0
  378. package/dist/headless/hooks/useDismissOnEscape.js.map +1 -0
  379. package/dist/headless/hooks/useFocusTrap.js +1 -0
  380. package/dist/headless/hooks/useFocusTrap.js.map +1 -1
  381. package/dist/headless/hooks/useHelperText.js +13 -0
  382. package/dist/headless/hooks/useHelperText.js.map +1 -0
  383. package/dist/headless/utils/controlProps.js +14 -0
  384. package/dist/headless/utils/controlProps.js.map +1 -0
  385. package/dist/headless/utils/overlayLayer.js +14 -7
  386. package/dist/headless/utils/overlayLayer.js.map +1 -1
  387. package/dist/headless/utils/ownClick.js +40 -0
  388. package/dist/headless/utils/ownClick.js.map +1 -0
  389. package/dist/headless/utils/readOnlyToggle.js +14 -0
  390. package/dist/headless/utils/readOnlyToggle.js.map +1 -0
  391. package/dist/hooks/useDismissOnEscape.d.ts +11 -0
  392. package/dist/hooks/useDismissOnEscape.js +16 -0
  393. package/dist/hooks/useDismissOnEscape.js.map +1 -0
  394. package/dist/hooks/useFocusTrap.d.ts +2 -0
  395. package/dist/hooks/useFocusTrap.js +1 -0
  396. package/dist/hooks/useFocusTrap.js.map +1 -1
  397. package/dist/hooks/useHelperText.d.ts +21 -0
  398. package/dist/hooks/useHelperText.js +13 -0
  399. package/dist/hooks/useHelperText.js.map +1 -0
  400. package/dist/index.cjs +2 -2
  401. package/dist/index.cjs.map +1 -1
  402. package/dist/utils/controlProps.d.ts +16 -0
  403. package/dist/utils/controlProps.js +14 -0
  404. package/dist/utils/controlProps.js.map +1 -0
  405. package/dist/utils/overlayLayer.d.ts +15 -3
  406. package/dist/utils/overlayLayer.js +14 -7
  407. package/dist/utils/overlayLayer.js.map +1 -1
  408. package/dist/utils/ownClick.d.ts +16 -0
  409. package/dist/utils/ownClick.js +40 -0
  410. package/dist/utils/ownClick.js.map +1 -0
  411. package/dist/utils/readOnlyToggle.d.ts +15 -0
  412. package/dist/utils/readOnlyToggle.js +14 -0
  413. package/dist/utils/readOnlyToggle.js.map +1 -0
  414. package/package.json +2 -2
@@ -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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"}
@@ -1,41 +1,43 @@
1
- import { jsxs as R, jsx as d } from "react/jsx-runtime";
2
- import e from "react";
3
- import w from "clsx";
4
- import { Ripple as x } from "../../base/ripple/ripple.js";
5
- const h = e.forwardRef(function({
6
- children: m,
7
- className: i,
8
- onMouseDown: t,
9
- variant: f = "default",
10
- size: a = "medium",
11
- color: s = "primary",
12
- type: c = "button",
13
- ...l
14
- }, u) {
15
- const o = e.useRef(null), b = (n) => {
16
- t == null || t(n);
17
- }, p = (n) => {
18
- var r;
19
- (r = o.current) == null || r.onRipple(n);
1
+ import { jsxs as p, jsx as x } from "react/jsx-runtime";
2
+ import c from "react";
3
+ import $ from "clsx";
4
+ import { Ripple as g } from "../../base/ripple/ripple.js";
5
+ const y = c.forwardRef(function({
6
+ children: i,
7
+ className: l,
8
+ onMouseDown: m,
9
+ // The button sets this on its root too; its own handler calls the caller's first.
10
+ onPointerDown: f,
11
+ variant: e = "default",
12
+ size: r = "medium",
13
+ color: u = "primary",
14
+ type: b = "button",
15
+ ...n
16
+ }, R) {
17
+ const a = c.useRef(null), d = (t) => {
18
+ m == null || m(t);
19
+ }, o = (t) => {
20
+ var s;
21
+ f == null || f(t), (s = a.current) == null || s.onRipple(t);
20
22
  };
21
- return /* @__PURE__ */ R(
23
+ return /* @__PURE__ */ p(
22
24
  "button",
23
25
  {
24
- ref: u,
25
- type: c,
26
- className: w("smwb-fab", `smwb-${f}`, `smwb-${a}`, `smwb-fab_color-${s}`, i),
27
- onMouseDown: b,
28
- onPointerDown: p,
29
- ...l,
26
+ ref: R,
27
+ type: b,
28
+ className: $("smwb-fab", `smwb-${e}`, `smwb-${r}`, `smwb-fab_color-${u}`, l),
29
+ onMouseDown: d,
30
+ onPointerDown: o,
31
+ ...n,
30
32
  children: [
31
- m,
32
- /* @__PURE__ */ d(x, { actionRef: o })
33
+ i,
34
+ /* @__PURE__ */ x(g, { actionRef: a })
33
35
  ]
34
36
  }
35
37
  );
36
38
  });
37
39
  export {
38
- h as FloatingButton,
39
- h as default
40
+ y as FloatingButton,
41
+ y as default
40
42
  };
41
43
  //# sourceMappingURL=floatingButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"floatingButton.js","sources":["../../../../../src/components/inputs/floatingButton/floatingButton.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes } from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\nexport type FloatingButtonColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface FloatingButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n variant?: \"extended\" | \"default\";\n size?: \"small\" | \"medium\" | \"large\";\n /** Semantic color. Resolves through the shared `--smui-*Color*` tokens. */\n color?: FloatingButtonColor;\n}\n\nexport const FloatingButton = React.forwardRef<HTMLButtonElement, FloatingButtonProps>(function FloatingButton(\n {\n children,\n className,\n onMouseDown: onMouseDownProp,\n variant = \"default\",\n size = \"medium\",\n color = \"primary\",\n type = \"button\",\n ...rest\n },\n ref\n) {\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 rippleRef.current?.onRipple(event);\n };\n\n return (\n <button\n ref={ref}\n type={type}\n className={cn(\"smwb-fab\", `smwb-${variant}`, `smwb-${size}`, `smwb-fab_color-${color}`, className)}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {children}\n <Ripple actionRef={rippleRef} />\n </button>\n );\n});\n\nexport default FloatingButton;\n"],"names":["FloatingButton","React","children","className","onMouseDownProp","variant","size","color","type","rest","ref","rippleRef","onMouseDown","event","onPointerDown","_a","jsxs","cn","jsx","Ripple"],"mappings":";;;;AAcO,MAAMA,IAAiBC,EAAM,WAAmD,SACrF;AAAA,EACE,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAaC;AAAA,EACb,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAYV,EAAM,OAAyB,IAAI,GAE/CW,IAAc,CAACC,MAA+C;AAClE,IAAAT,KAAA,QAAAA,EAAkBS;AAAA,EACpB,GAGMC,IAAgB,CAACD,MAAiD;;AACtE,KAAAE,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,EAC9B;AAEA,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAN;AAAA,MACA,MAAAF;AAAA,MACA,WAAWS,EAAG,YAAY,QAAQZ,CAAO,IAAI,QAAQC,CAAI,IAAI,kBAAkBC,CAAK,IAAIJ,CAAS;AAAA,MACjG,aAAAS;AAAA,MACA,eAAAE;AAAA,MACC,GAAGL;AAAA,MAEH,UAAA;AAAA,QAAAP;AAAA,QACD,gBAAAgB,EAACC,GAAA,EAAO,WAAWR,EAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpC,CAAC;"}
1
+ {"version":3,"file":"floatingButton.js","sources":["../../../../../src/components/inputs/floatingButton/floatingButton.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes } from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\nexport type FloatingButtonColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface FloatingButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n variant?: \"extended\" | \"default\";\n size?: \"small\" | \"medium\" | \"large\";\n /** Semantic color. Resolves through the shared `--smui-*Color*` tokens. */\n color?: FloatingButtonColor;\n}\n\nexport const FloatingButton = React.forwardRef<HTMLButtonElement, FloatingButtonProps>(function FloatingButton(\n {\n children,\n className,\n onMouseDown: onMouseDownProp,\n // The button sets this on its root too; its own handler calls the caller's first.\n onPointerDown: onPointerDownProp,\n variant = \"default\",\n size = \"medium\",\n color = \"primary\",\n type = \"button\",\n ...rest\n },\n ref\n) {\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 rippleRef.current?.onRipple(event);\n };\n\n return (\n <button\n ref={ref}\n type={type}\n className={cn(\"smwb-fab\", `smwb-${variant}`, `smwb-${size}`, `smwb-fab_color-${color}`, className)}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {children}\n <Ripple actionRef={rippleRef} />\n </button>\n );\n});\n\nexport default FloatingButton;\n"],"names":["FloatingButton","React","children","className","onMouseDownProp","onPointerDownProp","variant","size","color","type","rest","ref","rippleRef","onMouseDown","event","onPointerDown","_a","jsxs","cn","jsx","Ripple"],"mappings":";;;;AAcO,MAAMA,IAAiBC,EAAM,WAAmD,SACrF;AAAA,EACE,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAaC;AAAA;AAAA,EAEb,eAAeC;AAAA,EACf,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAYX,EAAM,OAAyB,IAAI,GAE/CY,IAAc,CAACC,MAA+C;AAClE,IAAAV,KAAA,QAAAA,EAAkBU;AAAA,EACpB,GAGMC,IAAgB,CAACD,MAAiD;;AACtE,IAAAT,KAAA,QAAAA,EAAoBS,KACpBE,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,EAC9B;AAEA,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAN;AAAA,MACA,MAAAF;AAAA,MACA,WAAWS,EAAG,YAAY,QAAQZ,CAAO,IAAI,QAAQC,CAAI,IAAI,kBAAkBC,CAAK,IAAIL,CAAS;AAAA,MACjG,aAAAU;AAAA,MACA,eAAAE;AAAA,MACC,GAAGL;AAAA,MAEH,UAAA;AAAA,QAAAR;AAAA,QACD,gBAAAiB,EAACC,GAAA,EAAO,WAAWR,EAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpC,CAAC;"}