@smwb/ui-react 2.6.3 → 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 (640) hide show
  1. package/AI_LESS_OVERRIDES.md +4 -2
  2. package/AI_THEMING.md +17 -1
  3. package/README.md +111 -35
  4. package/dist/assets/styles/less/components/accordion/accordion.entry.css +1 -1
  5. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  6. package/dist/assets/styles/less/components/card/card.entry.css +1 -1
  7. package/dist/assets/styles/less/components/chart/chart.entry.css +1 -0
  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/descriptionList/descriptionList.entry.css +1 -0
  11. package/dist/assets/styles/less/components/emptyState/emptyState.entry.css +1 -0
  12. package/dist/assets/styles/less/components/kanban/kanban.entry.css +1 -0
  13. package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
  14. package/dist/assets/styles/less/components/meter/meter.entry.css +1 -0
  15. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -0
  16. package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -1
  17. package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
  18. package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
  19. package/dist/assets/styles/less/components/sectionHeader/sectionHeader.entry.css +1 -0
  20. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  21. package/dist/assets/styles/less/components/stat/stat.entry.css +1 -0
  22. package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -1
  23. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  24. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  25. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  26. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  27. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
  28. package/dist/assets/styles/less/components/timeline/timeline.entry.css +1 -0
  29. package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
  30. package/dist/assets/styles/less/components/tooltip/tooltip.entry.css +1 -1
  31. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  32. package/dist/assets/styles/less/connects/rt/table.entry.css +1 -0
  33. package/dist/assets/styles/less/tokens.entry.css +1 -0
  34. package/dist/chart.d.ts +2 -0
  35. package/dist/chart.js +8 -0
  36. package/dist/chart.js.map +1 -0
  37. package/dist/components/base/icon/icon.d.ts +6 -2
  38. package/dist/components/base/icon/icon.js +51 -38
  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 +42 -26
  42. package/dist/components/base/ripple/ripple.js.map +1 -1
  43. package/dist/components/dataDisplay/accordion/accordion.d.ts +18 -1
  44. package/dist/components/dataDisplay/accordion/accordion.js +77 -54
  45. package/dist/components/dataDisplay/accordion/accordion.js.map +1 -1
  46. package/dist/components/dataDisplay/assetGrid/assetGrid.js +15 -14
  47. package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -1
  48. package/dist/components/dataDisplay/avatar/avatar.d.ts +8 -0
  49. package/dist/components/dataDisplay/avatar/avatar.js +66 -38
  50. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  51. package/dist/components/dataDisplay/badge/badge.js +41 -31
  52. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  53. package/dist/components/dataDisplay/card/card.d.ts +30 -2
  54. package/dist/components/dataDisplay/card/card.js +51 -23
  55. package/dist/components/dataDisplay/card/card.js.map +1 -1
  56. package/dist/components/dataDisplay/carousel/carousel.js +80 -79
  57. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  58. package/dist/components/dataDisplay/chart/chart.d.ts +67 -0
  59. package/dist/components/dataDisplay/chart/chart.js +146 -0
  60. package/dist/components/dataDisplay/chart/chart.js.map +1 -0
  61. package/dist/components/dataDisplay/chart/chartTheme.d.ts +35 -0
  62. package/dist/components/dataDisplay/chart/chartTheme.js +74 -0
  63. package/dist/components/dataDisplay/chart/chartTheme.js.map +1 -0
  64. package/dist/components/dataDisplay/chart/index.d.ts +4 -0
  65. package/dist/components/dataDisplay/chat/chat.js +5 -4
  66. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  67. package/dist/components/dataDisplay/chat/chatIconButton.d.ts +1 -1
  68. package/dist/components/dataDisplay/chat/chatIconButton.js +30 -26
  69. package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  70. package/dist/components/dataDisplay/chat/chatLayout.d.ts +3 -1
  71. package/dist/components/dataDisplay/chat/chatLayout.js +56 -55
  72. package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
  73. package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +3 -1
  74. package/dist/components/dataDisplay/chip/chip.d.ts +31 -0
  75. package/dist/components/dataDisplay/chip/chip.js +112 -84
  76. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  77. package/dist/components/dataDisplay/chipGroup/chipGroup.js +37 -32
  78. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  79. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +45 -0
  80. package/dist/components/dataDisplay/descriptionList/descriptionList.js +43 -0
  81. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  82. package/dist/components/dataDisplay/descriptionList/index.d.ts +2 -0
  83. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +145 -99
  84. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  85. package/dist/components/dataDisplay/imagesList/imagesList.js +11 -10
  86. package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -1
  87. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +31 -24
  88. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  89. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.d.ts +1 -1
  90. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +16 -13
  91. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  92. package/dist/components/dataDisplay/kanban/index.d.ts +2 -0
  93. package/dist/components/dataDisplay/kanban/kanban.d.ts +53 -0
  94. package/dist/components/dataDisplay/kanban/kanban.js +74 -0
  95. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -0
  96. package/dist/components/dataDisplay/lazyImage/lazyImage.js +33 -31
  97. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  98. package/dist/components/dataDisplay/list/list.d.ts +2 -0
  99. package/dist/components/dataDisplay/list/list.js +17 -15
  100. package/dist/components/dataDisplay/list/list.js.map +1 -1
  101. package/dist/components/dataDisplay/meter/index.d.ts +2 -0
  102. package/dist/components/dataDisplay/meter/meter.d.ts +35 -0
  103. package/dist/components/dataDisplay/meter/meter.js +63 -0
  104. package/dist/components/dataDisplay/meter/meter.js.map +1 -0
  105. package/dist/components/dataDisplay/personChip/index.d.ts +2 -0
  106. package/dist/components/dataDisplay/personChip/personChip.d.ts +33 -0
  107. package/dist/components/dataDisplay/personChip/personChip.js +73 -0
  108. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -0
  109. package/dist/components/dataDisplay/stat/index.d.ts +2 -0
  110. package/dist/components/dataDisplay/stat/stat.d.ts +38 -0
  111. package/dist/components/dataDisplay/stat/stat.js +60 -0
  112. package/dist/components/dataDisplay/stat/stat.js.map +1 -0
  113. package/dist/components/dataDisplay/table/table.d.ts +22 -0
  114. package/dist/components/dataDisplay/table/table.js +42 -32
  115. package/dist/components/dataDisplay/table/table.js.map +1 -1
  116. package/dist/components/dataDisplay/table/tableBody.js +10 -4
  117. package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
  118. package/dist/components/dataDisplay/table/tableCell.d.ts +11 -1
  119. package/dist/components/dataDisplay/table/tableCell.js +20 -4
  120. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  121. package/dist/components/dataDisplay/table/tableColumns.d.ts +83 -0
  122. package/dist/components/dataDisplay/table/tableColumns.js +112 -0
  123. package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
  124. package/dist/components/dataDisplay/table/tableHead.js +9 -3
  125. package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
  126. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +34 -3
  127. package/dist/components/dataDisplay/table/tableHeadCell.js +61 -36
  128. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  129. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +10 -9
  130. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -1
  131. package/dist/components/dataDisplay/table/tableRow.d.ts +3 -1
  132. package/dist/components/dataDisplay/table/tableRow.js +28 -16
  133. package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
  134. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
  135. package/dist/components/dataDisplay/thumbCard/thumbCard.js +81 -60
  136. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  137. package/dist/components/dataDisplay/timeline/index.d.ts +2 -0
  138. package/dist/components/dataDisplay/timeline/timeline.d.ts +43 -0
  139. package/dist/components/dataDisplay/timeline/timeline.js +44 -0
  140. package/dist/components/dataDisplay/timeline/timeline.js.map +1 -0
  141. package/dist/components/dataDisplay/treeView/treeView.d.ts +2 -0
  142. package/dist/components/dataDisplay/treeView/treeView.js +26 -24
  143. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  144. package/dist/components/dataDisplay/typography/typography.d.ts +4 -0
  145. package/dist/components/dataDisplay/typography/typography.js +41 -23
  146. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  147. package/dist/components/feedBack/confirmDialog/confirmDialog.js +14 -13
  148. package/dist/components/feedBack/confirmDialog/confirmDialog.js.map +1 -1
  149. package/dist/components/feedBack/emptyState/emptyState.d.ts +28 -0
  150. package/dist/components/feedBack/emptyState/emptyState.js +37 -0
  151. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -0
  152. package/dist/components/feedBack/emptyState/index.d.ts +2 -0
  153. package/dist/components/feedBack/message/message.d.ts +2 -0
  154. package/dist/components/feedBack/message/message.js +33 -21
  155. package/dist/components/feedBack/message/message.js.map +1 -1
  156. package/dist/components/feedBack/modal/modal.js +44 -43
  157. package/dist/components/feedBack/modal/modal.js.map +1 -1
  158. package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +14 -1
  159. package/dist/components/feedBack/progressIndicator/progressIndicator.js +72 -40
  160. package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  161. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +32 -31
  162. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  163. package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
  164. package/dist/components/feedBack/skeleton/skeleton.js +40 -36
  165. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  166. package/dist/components/feedBack/snackbar/snackbar.js +110 -108
  167. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  168. package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
  169. package/dist/components/feedBack/tooltip/tooltip.js +77 -49
  170. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  171. package/dist/components/inputs/button/button.d.ts +2 -0
  172. package/dist/components/inputs/button/button.js +67 -62
  173. package/dist/components/inputs/button/button.js.map +1 -1
  174. package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
  175. package/dist/components/inputs/buttonGroups/buttonGroup.js +42 -37
  176. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  177. package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
  178. package/dist/components/inputs/checkbox/checkbox.js +86 -60
  179. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  180. package/dist/components/inputs/datePicker/datePicker.js +179 -170
  181. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  182. package/dist/components/inputs/datePicker/datePickerDay.d.ts +1 -1
  183. package/dist/components/inputs/datePicker/datePickerDay.js +52 -44
  184. package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
  185. package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +1 -1
  186. package/dist/components/inputs/datePicker/datePickerIconButton.js +32 -28
  187. package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  188. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +165 -157
  189. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  190. package/dist/components/inputs/fileDrop/fileDrop.js +13 -12
  191. package/dist/components/inputs/fileDrop/fileDrop.js.map +1 -1
  192. package/dist/components/inputs/fileInput/fileInput.js +4 -3
  193. package/dist/components/inputs/fileInput/fileInput.js.map +1 -1
  194. package/dist/components/inputs/floatingButton/floatingButton.js +34 -31
  195. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  196. package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
  197. package/dist/components/inputs/radioButton/radioButton.js +79 -59
  198. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  199. package/dist/components/inputs/rating/rating.d.ts +8 -0
  200. package/dist/components/inputs/rating/rating.js +87 -71
  201. package/dist/components/inputs/rating/rating.js.map +1 -1
  202. package/dist/components/inputs/selectField/dropdownMenu.d.ts +20 -1
  203. package/dist/components/inputs/selectField/dropdownMenu.js +265 -109
  204. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  205. package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
  206. package/dist/components/inputs/selectField/optionNavigation.js +38 -0
  207. package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
  208. package/dist/components/inputs/selectField/selectField.d.ts +33 -1
  209. package/dist/components/inputs/selectField/selectField.js +365 -214
  210. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  211. package/dist/components/inputs/slider/slider.d.ts +22 -1
  212. package/dist/components/inputs/slider/slider.js +332 -262
  213. package/dist/components/inputs/slider/slider.js.map +1 -1
  214. package/dist/components/inputs/textField/textField.d.ts +7 -0
  215. package/dist/components/inputs/textField/textField.js +118 -99
  216. package/dist/components/inputs/textField/textField.js.map +1 -1
  217. package/dist/components/inputs/textField/textFieldWrapper.d.ts +15 -1
  218. package/dist/components/inputs/textField/textFieldWrapper.js +45 -34
  219. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  220. package/dist/components/inputs/textField/utils.d.ts +1 -1
  221. package/dist/components/inputs/timePicker/timePicker.js +94 -85
  222. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  223. package/dist/components/inputs/toggle/toggle.d.ts +4 -0
  224. package/dist/components/inputs/toggle/toggle.js +81 -61
  225. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  226. package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
  227. package/dist/components/inputs/valueSlider/valueSlider.js +24 -22
  228. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  229. package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
  230. package/dist/components/layout/appLayout/appLayout.js +35 -33
  231. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  232. package/dist/components/layout/divider/divider.d.ts +2 -0
  233. package/dist/components/layout/divider/divider.js +24 -22
  234. package/dist/components/layout/divider/divider.js.map +1 -1
  235. package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
  236. package/dist/components/layout/floatingWindow/floatingWindow.js +147 -140
  237. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  238. package/dist/components/layout/grid/grid.d.ts +12 -1
  239. package/dist/components/layout/grid/grid.js +50 -34
  240. package/dist/components/layout/grid/grid.js.map +1 -1
  241. package/dist/components/layout/page/page.d.ts +2 -0
  242. package/dist/components/layout/page/page.js +18 -9
  243. package/dist/components/layout/page/page.js.map +1 -1
  244. package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
  245. package/dist/components/layout/pageHeader/pageHeader.js +22 -12
  246. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  247. package/dist/components/layout/screenDivider/screenDivider.js +19 -18
  248. package/dist/components/layout/screenDivider/screenDivider.js.map +1 -1
  249. package/dist/components/layout/sectionHeader/index.d.ts +2 -0
  250. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +33 -0
  251. package/dist/components/layout/sectionHeader/sectionHeader.js +77 -0
  252. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  253. package/dist/components/layout/sheet/sheet.d.ts +2 -0
  254. package/dist/components/layout/sheet/sheet.js +82 -80
  255. package/dist/components/layout/sheet/sheet.js.map +1 -1
  256. package/dist/components/layout/stack/stack.d.ts +2 -0
  257. package/dist/components/layout/stack/stack.js +33 -20
  258. package/dist/components/layout/stack/stack.js.map +1 -1
  259. package/dist/components/navigation/appBar/appBar.d.ts +2 -0
  260. package/dist/components/navigation/appBar/appBar.js +20 -18
  261. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  262. package/dist/components/navigation/bottomBar/bottomBar.js +83 -78
  263. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  264. package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
  265. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +31 -28
  266. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  267. package/dist/components/navigation/menu/menu.d.ts +12 -0
  268. package/dist/components/navigation/menu/menu.js +6 -5
  269. package/dist/components/navigation/menu/menu.js.map +1 -1
  270. package/dist/components/navigation/menu/menuContext.d.ts +2 -0
  271. package/dist/components/navigation/menu/menuContext.js.map +1 -1
  272. package/dist/components/navigation/menu/menuFloating.js +42 -30
  273. package/dist/components/navigation/menu/menuFloating.js.map +1 -1
  274. package/dist/components/navigation/menu/menuItem.d.ts +4 -0
  275. package/dist/components/navigation/menu/menuItem.js +60 -48
  276. package/dist/components/navigation/menu/menuItem.js.map +1 -1
  277. package/dist/components/navigation/menu/menuList.d.ts +5 -1
  278. package/dist/components/navigation/menu/menuList.js +30 -19
  279. package/dist/components/navigation/menu/menuList.js.map +1 -1
  280. package/dist/components/navigation/menu/menuSubmenu.js +53 -40
  281. package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
  282. package/dist/components/navigation/overflowMenu/overflowMenu.js +16 -15
  283. package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -1
  284. package/dist/components/navigation/pagination/pagination.d.ts +2 -0
  285. package/dist/components/navigation/pagination/pagination.js +53 -50
  286. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  287. package/dist/components/navigation/sidebar/sidebar.js +46 -44
  288. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  289. package/dist/components/navigation/stepper/stepper.d.ts +12 -2
  290. package/dist/components/navigation/stepper/stepper.js +43 -31
  291. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  292. package/dist/components/navigation/tabs/tab/tab.d.ts +2 -0
  293. package/dist/components/navigation/tabs/tab/tab.js +44 -41
  294. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  295. package/dist/components/navigation/tabs/tabs.d.ts +18 -0
  296. package/dist/components/navigation/tabs/tabs.js +139 -87
  297. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  298. package/dist/connects/rt/table/draggableHeader.d.ts +1 -1
  299. package/dist/connects/rt/table/draggableHeader.js.map +1 -0
  300. package/dist/connects/rt/table/headerCellRenderer.d.ts +9 -0
  301. package/dist/connects/rt/table/headerCellRenderer.js +51 -0
  302. package/dist/connects/rt/table/headerCellRenderer.js.map +1 -0
  303. package/dist/connects/rt/table/table.d.ts +17 -1
  304. package/dist/connects/rt/table/table.js +194 -0
  305. package/dist/connects/rt/table/table.js.map +1 -0
  306. package/dist/connects/rt/table/utils.js.map +1 -0
  307. package/dist/headless/components/base/icon/icon.js +49 -37
  308. package/dist/headless/components/base/icon/icon.js.map +1 -1
  309. package/dist/headless/components/base/ripple/ripple.js +42 -27
  310. package/dist/headless/components/base/ripple/ripple.js.map +1 -1
  311. package/dist/headless/components/dataDisplay/accordion/accordion.js +76 -54
  312. package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -1
  313. package/dist/headless/components/dataDisplay/avatar/avatar.js +62 -35
  314. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  315. package/dist/headless/components/dataDisplay/badge/badge.js +37 -28
  316. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
  317. package/dist/headless/components/dataDisplay/card/card.js +50 -23
  318. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  319. package/dist/headless/components/dataDisplay/carousel/carousel.js +55 -55
  320. package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
  321. package/dist/headless/components/dataDisplay/chat/chatIconButton.js +30 -26
  322. package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
  323. package/dist/headless/components/dataDisplay/chat/chatLayout.js +56 -55
  324. package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
  325. package/dist/headless/components/dataDisplay/chip/chip.js +108 -81
  326. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  327. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +35 -31
  328. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  329. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +41 -0
  330. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  331. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
  332. package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  333. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +29 -23
  334. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  335. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +16 -13
  336. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  337. package/dist/headless/components/dataDisplay/kanban/kanban.js +72 -0
  338. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -0
  339. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +30 -29
  340. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  341. package/dist/headless/components/dataDisplay/list/list.js +15 -14
  342. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  343. package/dist/headless/components/dataDisplay/meter/meter.js +61 -0
  344. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -0
  345. package/dist/headless/components/dataDisplay/personChip/personChip.js +71 -0
  346. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -0
  347. package/dist/headless/components/dataDisplay/stat/stat.js +58 -0
  348. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -0
  349. package/dist/headless/components/dataDisplay/table/table.js +40 -31
  350. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  351. package/dist/headless/components/dataDisplay/table/tableBody.js +10 -4
  352. package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
  353. package/dist/headless/components/dataDisplay/table/tableCell.js +20 -4
  354. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  355. package/dist/headless/components/dataDisplay/table/tableColumns.js +112 -0
  356. package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
  357. package/dist/headless/components/dataDisplay/table/tableHead.js +9 -3
  358. package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
  359. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +61 -36
  360. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  361. package/dist/headless/components/dataDisplay/table/tableRow.js +28 -16
  362. package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
  363. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +78 -58
  364. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  365. package/dist/headless/components/dataDisplay/timeline/timeline.js +42 -0
  366. package/dist/headless/components/dataDisplay/timeline/timeline.js.map +1 -0
  367. package/dist/headless/components/dataDisplay/treeView/treeView.js +24 -23
  368. package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
  369. package/dist/headless/components/dataDisplay/typography/typography.js +39 -22
  370. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  371. package/dist/headless/components/feedBack/emptyState/emptyState.js +35 -0
  372. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -0
  373. package/dist/headless/components/feedBack/message/message.js +31 -20
  374. package/dist/headless/components/feedBack/message/message.js.map +1 -1
  375. package/dist/headless/components/feedBack/modal/modal.js +44 -44
  376. package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
  377. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +70 -39
  378. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  379. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +30 -30
  380. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  381. package/dist/headless/components/feedBack/skeleton/skeleton.js +38 -35
  382. package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
  383. package/dist/headless/components/feedBack/snackbar/snackbar.js +108 -107
  384. package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
  385. package/dist/headless/components/feedBack/tooltip/tooltip.js +75 -48
  386. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  387. package/dist/headless/components/inputs/button/button.js +62 -58
  388. package/dist/headless/components/inputs/button/button.js.map +1 -1
  389. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +40 -36
  390. package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  391. package/dist/headless/components/inputs/checkbox/checkbox.js +85 -60
  392. package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
  393. package/dist/headless/components/inputs/datePicker/datePicker.js +177 -169
  394. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  395. package/dist/headless/components/inputs/datePicker/datePickerDay.js +52 -44
  396. package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
  397. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +32 -28
  398. package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
  399. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +165 -157
  400. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  401. package/dist/headless/components/inputs/floatingButton/floatingButton.js +32 -30
  402. package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
  403. package/dist/headless/components/inputs/radioButton/radioButton.js +77 -58
  404. package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
  405. package/dist/headless/components/inputs/rating/rating.js +85 -70
  406. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  407. package/dist/headless/components/inputs/selectField/dropdownMenu.js +265 -109
  408. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  409. package/dist/headless/components/inputs/selectField/optionNavigation.js +38 -0
  410. package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
  411. package/dist/headless/components/inputs/selectField/selectField.js +360 -210
  412. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  413. package/dist/headless/components/inputs/slider/slider.js +330 -261
  414. package/dist/headless/components/inputs/slider/slider.js.map +1 -1
  415. package/dist/headless/components/inputs/textField/textField.js +118 -100
  416. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  417. package/dist/headless/components/inputs/textField/textFieldWrapper.js +45 -34
  418. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  419. package/dist/headless/components/inputs/timePicker/timePicker.js +92 -84
  420. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  421. package/dist/headless/components/inputs/toggle/toggle.js +79 -60
  422. package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
  423. package/dist/headless/components/inputs/valueSlider/valueSlider.js +25 -24
  424. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  425. package/dist/headless/components/layout/appLayout/appLayout.js +27 -26
  426. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  427. package/dist/headless/components/layout/divider/divider.js +18 -17
  428. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  429. package/dist/headless/components/layout/floatingWindow/floatingWindow.js +145 -139
  430. package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  431. package/dist/headless/components/layout/grid/grid.js +48 -33
  432. package/dist/headless/components/layout/grid/grid.js.map +1 -1
  433. package/dist/headless/components/layout/page/page.js +15 -7
  434. package/dist/headless/components/layout/page/page.js.map +1 -1
  435. package/dist/headless/components/layout/pageHeader/pageHeader.js +20 -11
  436. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  437. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +75 -0
  438. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  439. package/dist/headless/components/layout/sheet/sheet.js +80 -79
  440. package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
  441. package/dist/headless/components/layout/stack/stack.js +29 -17
  442. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  443. package/dist/headless/components/navigation/appBar/appBar.js +15 -14
  444. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  445. package/dist/headless/components/navigation/bottomBar/bottomBar.js +81 -77
  446. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  447. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +32 -30
  448. package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  449. package/dist/headless/components/navigation/menu/menu.js.map +1 -1
  450. package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
  451. package/dist/headless/components/navigation/menu/menuFloating.js +42 -30
  452. package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
  453. package/dist/headless/components/navigation/menu/menuItem.js +60 -48
  454. package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
  455. package/dist/headless/components/navigation/menu/menuList.js +30 -19
  456. package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
  457. package/dist/headless/components/navigation/menu/menuSubmenu.js +53 -40
  458. package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
  459. package/dist/headless/components/navigation/pagination/pagination.js +51 -49
  460. package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
  461. package/dist/headless/components/navigation/sidebar/sidebar.js +29 -28
  462. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  463. package/dist/headless/components/navigation/stepper/stepper.js +41 -30
  464. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  465. package/dist/headless/components/navigation/tabs/tab/tab.js +41 -39
  466. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  467. package/dist/headless/components/navigation/tabs/tabs.js +137 -86
  468. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  469. package/dist/headless/hooks/useDismissOnEscape.js +16 -0
  470. package/dist/headless/hooks/useDismissOnEscape.js.map +1 -0
  471. package/dist/headless/hooks/useFocusTrap.js +1 -0
  472. package/dist/headless/hooks/useFocusTrap.js.map +1 -1
  473. package/dist/headless/hooks/useHelperText.js +13 -0
  474. package/dist/headless/hooks/useHelperText.js.map +1 -0
  475. package/dist/headless/hooks/useSafeLayoutEffect.js +4 -2
  476. package/dist/headless/hooks/useSafeLayoutEffect.js.map +1 -1
  477. package/dist/headless/icons/catalog.js +78 -1
  478. package/dist/headless/icons/catalog.js.map +1 -1
  479. package/dist/headless/icons/index.js +596 -574
  480. package/dist/headless/icons/index.js.map +1 -1
  481. package/dist/headless/icons/svg/accountTree.js +9 -0
  482. package/dist/headless/icons/svg/accountTree.js.map +1 -0
  483. package/dist/headless/icons/svg/callSplit.js +9 -0
  484. package/dist/headless/icons/svg/callSplit.js.map +1 -0
  485. package/dist/headless/icons/svg/deviceHub.js +8 -0
  486. package/dist/headless/icons/svg/deviceHub.js.map +1 -0
  487. package/dist/headless/icons/svg/editNote.js +9 -0
  488. package/dist/headless/icons/svg/editNote.js.map +1 -0
  489. package/dist/headless/icons/svg/filterList.js +9 -0
  490. package/dist/headless/icons/svg/filterList.js.map +1 -0
  491. package/dist/headless/icons/svg/forkRight.js +8 -0
  492. package/dist/headless/icons/svg/forkRight.js.map +1 -0
  493. package/dist/headless/icons/svg/groups.js +9 -0
  494. package/dist/headless/icons/svg/groups.js.map +1 -0
  495. package/dist/headless/icons/svg/hub.js +8 -0
  496. package/dist/headless/icons/svg/hub.js.map +1 -0
  497. package/dist/headless/icons/svg/index.js +598 -576
  498. package/dist/headless/icons/svg/index.js.map +1 -1
  499. package/dist/headless/icons/svg/lan.js +9 -0
  500. package/dist/headless/icons/svg/lan.js.map +1 -0
  501. package/dist/headless/icons/svg/personOff.js +9 -0
  502. package/dist/headless/icons/svg/personOff.js.map +1 -0
  503. package/dist/headless/icons/svg/schema.js +9 -0
  504. package/dist/headless/icons/svg/schema.js.map +1 -0
  505. package/dist/headless/index.js +209 -183
  506. package/dist/headless/index.js.map +1 -1
  507. package/dist/headless/utils/controlProps.js +14 -0
  508. package/dist/headless/utils/controlProps.js.map +1 -0
  509. package/dist/headless/utils/overlayLayer.js +14 -7
  510. package/dist/headless/utils/overlayLayer.js.map +1 -1
  511. package/dist/headless/utils/ownClick.js +40 -0
  512. package/dist/headless/utils/ownClick.js.map +1 -0
  513. package/dist/headless/utils/readOnlyToggle.js +14 -0
  514. package/dist/headless/utils/readOnlyToggle.js.map +1 -0
  515. package/dist/hooks/useDismissOnEscape.d.ts +11 -0
  516. package/dist/hooks/useDismissOnEscape.js +16 -0
  517. package/dist/hooks/useDismissOnEscape.js.map +1 -0
  518. package/dist/hooks/useFocusTrap.d.ts +2 -0
  519. package/dist/hooks/useFocusTrap.js +1 -0
  520. package/dist/hooks/useFocusTrap.js.map +1 -1
  521. package/dist/hooks/useHelperText.d.ts +21 -0
  522. package/dist/hooks/useHelperText.js +13 -0
  523. package/dist/hooks/useHelperText.js.map +1 -0
  524. package/dist/hooks/useSafeLayoutEffect.d.ts +7 -1
  525. package/dist/hooks/useSafeLayoutEffect.js +4 -2
  526. package/dist/hooks/useSafeLayoutEffect.js.map +1 -1
  527. package/dist/icons/catalog.d.ts +1 -1
  528. package/dist/icons/catalog.js +78 -1
  529. package/dist/icons/catalog.js.map +1 -1
  530. package/dist/icons/index.js +596 -574
  531. package/dist/icons/index.js.map +1 -1
  532. package/dist/icons/svg/accountTree.d.ts +4 -0
  533. package/dist/icons/svg/accountTree.js +9 -0
  534. package/dist/icons/svg/accountTree.js.map +1 -0
  535. package/dist/icons/svg/callSplit.d.ts +4 -0
  536. package/dist/icons/svg/callSplit.js +9 -0
  537. package/dist/icons/svg/callSplit.js.map +1 -0
  538. package/dist/icons/svg/deviceHub.d.ts +4 -0
  539. package/dist/icons/svg/deviceHub.js +8 -0
  540. package/dist/icons/svg/deviceHub.js.map +1 -0
  541. package/dist/icons/svg/editNote.d.ts +4 -0
  542. package/dist/icons/svg/editNote.js +9 -0
  543. package/dist/icons/svg/editNote.js.map +1 -0
  544. package/dist/icons/svg/filterList.d.ts +4 -0
  545. package/dist/icons/svg/filterList.js +9 -0
  546. package/dist/icons/svg/filterList.js.map +1 -0
  547. package/dist/icons/svg/forkRight.d.ts +4 -0
  548. package/dist/icons/svg/forkRight.js +8 -0
  549. package/dist/icons/svg/forkRight.js.map +1 -0
  550. package/dist/icons/svg/groups.d.ts +4 -0
  551. package/dist/icons/svg/groups.js +9 -0
  552. package/dist/icons/svg/groups.js.map +1 -0
  553. package/dist/icons/svg/hub.d.ts +4 -0
  554. package/dist/icons/svg/hub.js +8 -0
  555. package/dist/icons/svg/hub.js.map +1 -0
  556. package/dist/icons/svg/index.d.ts +11 -0
  557. package/dist/icons/svg/index.js +598 -576
  558. package/dist/icons/svg/index.js.map +1 -1
  559. package/dist/icons/svg/lan.d.ts +4 -0
  560. package/dist/icons/svg/lan.js +9 -0
  561. package/dist/icons/svg/lan.js.map +1 -0
  562. package/dist/icons/svg/personOff.d.ts +4 -0
  563. package/dist/icons/svg/personOff.js +9 -0
  564. package/dist/icons/svg/personOff.js.map +1 -0
  565. package/dist/icons/svg/schema.d.ts +4 -0
  566. package/dist/icons/svg/schema.js +9 -0
  567. package/dist/icons/svg/schema.js.map +1 -0
  568. package/dist/icons.cjs +1 -1
  569. package/dist/icons.cjs.map +1 -1
  570. package/dist/index.cjs +2 -2
  571. package/dist/index.cjs.map +1 -1
  572. package/dist/index.d.ts +16 -0
  573. package/dist/index.js +209 -183
  574. package/dist/index.js.map +1 -1
  575. package/dist/utils/controlProps.d.ts +16 -0
  576. package/dist/utils/controlProps.js +14 -0
  577. package/dist/utils/controlProps.js.map +1 -0
  578. package/dist/utils/overlayLayer.d.ts +15 -3
  579. package/dist/utils/overlayLayer.js +14 -7
  580. package/dist/utils/overlayLayer.js.map +1 -1
  581. package/dist/utils/ownClick.d.ts +16 -0
  582. package/dist/utils/ownClick.js +40 -0
  583. package/dist/utils/ownClick.js.map +1 -0
  584. package/dist/utils/readOnlyToggle.d.ts +15 -0
  585. package/dist/utils/readOnlyToggle.js +14 -0
  586. package/dist/utils/readOnlyToggle.js.map +1 -0
  587. package/package.json +18 -7
  588. package/dist/react-table/components/base/icon/icon.js +0 -60
  589. package/dist/react-table/components/base/icon/icon.js.map +0 -1
  590. package/dist/react-table/components/base/icon/iconProvider.js +0 -15
  591. package/dist/react-table/components/base/icon/iconProvider.js.map +0 -1
  592. package/dist/react-table/components/dataDisplay/table/table.js +0 -37
  593. package/dist/react-table/components/dataDisplay/table/table.js.map +0 -1
  594. package/dist/react-table/components/dataDisplay/table/tableBody.js +0 -7
  595. package/dist/react-table/components/dataDisplay/table/tableBody.js.map +0 -1
  596. package/dist/react-table/components/dataDisplay/table/tableCell.js +0 -7
  597. package/dist/react-table/components/dataDisplay/table/tableCell.js.map +0 -1
  598. package/dist/react-table/components/dataDisplay/table/tableHead.js +0 -7
  599. package/dist/react-table/components/dataDisplay/table/tableHead.js.map +0 -1
  600. package/dist/react-table/components/dataDisplay/table/tableHeadCell.js +0 -48
  601. package/dist/react-table/components/dataDisplay/table/tableHeadCell.js.map +0 -1
  602. package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js +0 -40
  603. package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js.map +0 -1
  604. package/dist/react-table/components/dataDisplay/table/tableRow.js +0 -20
  605. package/dist/react-table/components/dataDisplay/table/tableRow.js.map +0 -1
  606. package/dist/react-table/components/feedBack/message/message.js +0 -31
  607. package/dist/react-table/components/feedBack/message/message.js.map +0 -1
  608. package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js +0 -51
  609. package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js.map +0 -1
  610. package/dist/react-table/components/inputs/textField/textField.js +0 -125
  611. package/dist/react-table/components/inputs/textField/textField.js.map +0 -1
  612. package/dist/react-table/components/inputs/textField/textFieldAdornment.js +0 -25
  613. package/dist/react-table/components/inputs/textField/textFieldAdornment.js.map +0 -1
  614. package/dist/react-table/components/inputs/textField/textFieldWrapper.js +0 -50
  615. package/dist/react-table/components/inputs/textField/textFieldWrapper.js.map +0 -1
  616. package/dist/react-table/components/inputs/textField/utils.js +0 -11
  617. package/dist/react-table/components/inputs/textField/utils.js.map +0 -1
  618. package/dist/react-table/connects/rt/table/draggableHeader.js.map +0 -1
  619. package/dist/react-table/connects/rt/table/headerCellRenderer.js +0 -14
  620. package/dist/react-table/connects/rt/table/headerCellRenderer.js.map +0 -1
  621. package/dist/react-table/connects/rt/table/table.js +0 -180
  622. package/dist/react-table/connects/rt/table/table.js.map +0 -1
  623. package/dist/react-table/connects/rt/table/utils.js.map +0 -1
  624. package/dist/react-table/hooks/useForkRef.js +0 -13
  625. package/dist/react-table/hooks/useForkRef.js.map +0 -1
  626. package/dist/react-table/hooks/useSafeLayoutEffect.js +0 -6
  627. package/dist/react-table/hooks/useSafeLayoutEffect.js.map +0 -1
  628. package/dist/react-table/icons/config.js +0 -9
  629. package/dist/react-table/icons/config.js.map +0 -1
  630. package/dist/react-table/icons/registry.js +0 -12
  631. package/dist/react-table/icons/registry.js.map +0 -1
  632. package/dist/react-table/icons/store.js +0 -10
  633. package/dist/react-table/icons/store.js.map +0 -1
  634. package/dist/react-table/utils/setRef.js +0 -7
  635. package/dist/react-table/utils/setRef.js.map +0 -1
  636. package/dist/storybook/storyPlay.d.ts +0 -28
  637. /package/dist/{react-table/connects → connects}/rt/table/draggableHeader.js +0 -0
  638. /package/dist/{react-table/connects → connects}/rt/table/utils.js +0 -0
  639. /package/dist/{react-table/react-table.js → react-table.js} +0 -0
  640. /package/dist/{react-table/react-table.js.map → react-table.js.map} +0 -0
@@ -0,0 +1,194 @@
1
+ import { jsxs as v, jsx as o, Fragment as se } from "react/jsx-runtime";
2
+ import '../../../assets/styles/less/connects/rt/table.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import M, { useState as z, useEffect as re } from "react";
5
+ import { getCoreRowModel as me, getPaginationRowModel as ce, getSortedRowModel as ge, getExpandedRowModel as fe, useReactTable as de, flexRender as T } from "@tanstack/react-table";
6
+ import { getColumnName as g, getDefaultColumnSizingState as ue, columnSizingStateReducer as pe } from "./utils.js";
7
+ import { ProgressIndicator as Se } from "../../../components/feedBack/progressIndicator/progressIndicator.js";
8
+ import ze from "../../../components/feedBack/message/message.js";
9
+ import { DraggableColumnHeaderWrapper as he } from "./draggableHeader.js";
10
+ import be from "../../../components/dataDisplay/table/table.js";
11
+ import Ce from "../../../components/dataDisplay/table/tableHead.js";
12
+ import d from "../../../components/dataDisplay/table/tableRow.js";
13
+ import xe from "../../../components/dataDisplay/table/tableHeadCell.js";
14
+ import Re from "../../../components/dataDisplay/table/tableBody.js";
15
+ import h from "../../../components/dataDisplay/table/tableCell.js";
16
+ const He = ({
17
+ data: b,
18
+ columns: i,
19
+ withPagination: I,
20
+ isInfinite: w,
21
+ limit: N = 5,
22
+ limitOptions: J = [5, 10, 15],
23
+ dense: K,
24
+ sortable: E,
25
+ expandable: L,
26
+ draggableColumns: Q,
27
+ columnResizeMode: U = "onChange",
28
+ enableColumnResizing: V,
29
+ onColumnSizingChange: O,
30
+ onColumnOrderChange: X,
31
+ getRowCanExpand: Y,
32
+ renderSubComponent: W,
33
+ cellAlign: y,
34
+ isLoading: j = !1,
35
+ onNextPage: C,
36
+ onPrevPage: x,
37
+ error: P,
38
+ onHeadCellClick: R,
39
+ headerCellInnerRenderer: F,
40
+ onBodyRowClick: u,
41
+ ...D
42
+ }) => {
43
+ var q;
44
+ const [Z, B] = z([]), [k, H] = M.useState(
45
+ i.map((t) => g(t))
46
+ ), [f, ee] = z(null), [r, $] = z(ue(i)), [A, te] = z({
47
+ startOffset: null,
48
+ startSize: null,
49
+ deltaOffset: null,
50
+ deltaPercentage: null,
51
+ isResizingColumn: !1,
52
+ columnSizingStart: []
53
+ });
54
+ re(() => {
55
+ if (f) {
56
+ const t = (f == null ? void 0 : f.offsetWidth) || 0, e = i.filter((n) => n.size), s = t - i.reduce((n, S) => n + (S.size || 0), 0), l = i.length - e.length, a = l ? s / l : 10;
57
+ $(
58
+ i.map((n) => ({
59
+ size: n.size ? n.size : a,
60
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
61
+ name: g(n)
62
+ })).reduce(pe, {})
63
+ ), H(i.map((n) => g(n)));
64
+ }
65
+ }, [f, i]);
66
+ const m = {
67
+ data: b,
68
+ columns: i,
69
+ state: { sorting: Z, columnSizing: r, columnSizingInfo: A, columnOrder: k },
70
+ initialState: { pagination: { pageIndex: 0, pageSize: N } },
71
+ manualPagination: w,
72
+ columnResizeMode: U,
73
+ onColumnOrderChange: H,
74
+ getCoreRowModel: me(),
75
+ onColumnSizingChange: (t) => {
76
+ const e = typeof t == "function" ? t(r) : t, s = {};
77
+ Object.keys(e).forEach((n) => {
78
+ e[n] !== r[n] && (s[n] = e[n]);
79
+ });
80
+ const l = Object.keys(s)[0], a = i.findIndex((n) => g(n) === l);
81
+ if (a >= 0 && a < i.length - 1) {
82
+ const n = g(i[a + 1]);
83
+ e[n] = r[n] - (e[l] - r[l]);
84
+ } else if (a === i.length - 1) {
85
+ const n = g(i[a - 1]);
86
+ e[n] = r[n] - (e[l] - r[l]);
87
+ }
88
+ $(e), O && setTimeout(() => O(r, e));
89
+ },
90
+ onColumnSizingInfoChange: (t) => {
91
+ te(typeof t == "function" ? t(A) : t);
92
+ }
93
+ };
94
+ m.enableColumnResizing = !!V, I && (m.getPaginationRowModel = ce()), E && (m.getSortedRowModel = ge(), m.onSortingChange = B), L && (m.getRowCanExpand = Y, m.getExpandedRowModel = fe());
95
+ const c = de({
96
+ ...m
97
+ }), ne = () => {
98
+ c.nextPage(), C == null || C();
99
+ }, oe = () => {
100
+ c.previousPage(), x == null || x();
101
+ }, ie = (t) => (e) => {
102
+ u == null || u(t, e);
103
+ }, {
104
+ pagination: { pageIndex: le, pageSize: ae }
105
+ } = c.getState();
106
+ let p;
107
+ return I && (p = {
108
+ limit: ae,
109
+ page: le + 1,
110
+ limitOptions: J,
111
+ onNext: ne,
112
+ onPrev: oe,
113
+ onLimitChange: c.setPageSize,
114
+ ...w ? { hasNextPage: b.length >= N } : { totalCount: b.length }
115
+ }), /* @__PURE__ */ v(
116
+ be,
117
+ {
118
+ dense: K,
119
+ isLoading: j,
120
+ ...D,
121
+ paginationSettings: p != null ? p : D.paginationSettings,
122
+ hovered: (q = D.hovered) != null ? q : !!u,
123
+ ref: ee,
124
+ children: [
125
+ /* @__PURE__ */ o(Ce, { children: c.getHeaderGroups().map((t) => /* @__PURE__ */ o(d, { children: t.headers.map((e) => {
126
+ var S, G;
127
+ const s = !!E && e.column.getCanSort(), l = e.getResizeHandler(), a = e.isPlaceholder || (S = e.column.columnDef.meta) == null ? void 0 : S.headerActions, n = e.column.getCanResize() ? /* @__PURE__ */ o(
128
+ "div",
129
+ {
130
+ onMouseDown: (_) => {
131
+ _.preventDefault(), _.stopPropagation(), l(_);
132
+ },
133
+ onTouchStart: l,
134
+ className: `smwb-rt-table--resizer ${e.column.getIsResizing() ? "smwb-rt-table--isResizing" : ""}`
135
+ }
136
+ ) : null;
137
+ return /* @__PURE__ */ o(
138
+ xe,
139
+ {
140
+ cellAlign: y,
141
+ sortable: s,
142
+ sortDirection: e.column.getIsSorted(),
143
+ onSort: () => e.column.toggleSorting(),
144
+ onClick: () => {
145
+ R == null || R(e.column.columnDef);
146
+ },
147
+ style: {
148
+ cursor: s ? "pointer" : "default",
149
+ width: e.getSize()
150
+ },
151
+ actions: a || n ? /* @__PURE__ */ v(se, { children: [
152
+ a ? T(a, e.getContext()) : null,
153
+ n
154
+ ] }) : void 0,
155
+ children: /* @__PURE__ */ o(
156
+ he,
157
+ {
158
+ draggableColumn: Q && ((G = e.column.columnDef.meta) == null ? void 0 : G.draggableColumn),
159
+ table: c,
160
+ onColumnOrderChange: X,
161
+ header: e,
162
+ children: /* @__PURE__ */ o("div", { children: e.isPlaceholder ? null : F ? M.cloneElement(F, { header: e }) : T(e.column.columnDef.header, e.getContext()) })
163
+ },
164
+ e.id
165
+ )
166
+ },
167
+ e.id
168
+ );
169
+ }) }, t.id)) }),
170
+ /* @__PURE__ */ o(Re, { children: j ? /* @__PURE__ */ o(d, { className: "smwb-table__loader__row", children: /* @__PURE__ */ o(h, { className: "smwb-table__loader", children: /* @__PURE__ */ o(Se, { variant: "circular", type: "indeterminate" }) }) }) : P ? /* @__PURE__ */ o(d, { className: "smwb-table__loader__row", children: /* @__PURE__ */ o(h, { className: "smwb-table__loader", children: /* @__PURE__ */ o(ze, { variant: "filled", type: "error", children: P }) }) }) : c.getRowModel().rows.map((t) => /* @__PURE__ */ v(M.Fragment, { children: [
171
+ /* @__PURE__ */ o(d, { onClick: ie(t), children: t.getVisibleCells().map((e) => {
172
+ var s, l, a;
173
+ return /* @__PURE__ */ o(
174
+ h,
175
+ {
176
+ cellAlign: y,
177
+ label: ((l = (s = e.column.columnDef.meta) == null ? void 0 : s.label) != null ? l : typeof e.column.columnDef.header == "string" ? e.column.columnDef.header : void 0) || !1,
178
+ ...(a = e.column.columnDef.meta) == null ? void 0 : a.cellProps,
179
+ children: T(e.column.columnDef.cell, e.getContext())
180
+ },
181
+ e.id
182
+ );
183
+ }) }, t.id),
184
+ t.getIsExpanded() && W && /* @__PURE__ */ o(d, { children: /* @__PURE__ */ o(h, { colSpan: t.getVisibleCells().length, children: W({ row: t }) }) }, `${t.id}_expand`)
185
+ ] }, t.id)) })
186
+ ]
187
+ }
188
+ );
189
+ };
190
+ export {
191
+ He as TableWrapper,
192
+ He as default
193
+ };
194
+ //# sourceMappingURL=table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.js","sources":["../../../../src/connects/rt/table/table.tsx"],"sourcesContent":["import React, { TdHTMLAttributes, useState, useEffect } from \"react\";\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n ColumnDef,\n getPaginationRowModel,\n getExpandedRowModel,\n TableOptions,\n SortingState,\n getSortedRowModel,\n RowData,\n Row,\n ColumnResizeMode,\n ColumnSizingState,\n ColumnSizingInfoState,\n ColumnOrderState,\n HeaderContext,\n Renderable,\n} from \"@tanstack/react-table\";\n\nimport { getColumnName, getDefaultColumnSizingState, columnSizingStateReducer } from \"./utils\";\n\ndeclare module \"@tanstack/table-core\" {\n interface ColumnMeta<TData extends RowData, TValue> {\n cellProps?: TdHTMLAttributes<HTMLTableCellElement>;\n draggableColumn?: boolean;\n /** The column's name on each cell when rows stack as cards (`stackBelow`); a string `header` is used by default. */\n label?: string;\n /**\n * The column's controls in its head cell, such as a filter field or a menu\n * button. They go to the cell's `actions`, after the sort control and\n * outside it, so they stay out of its accessible name, while `header` is\n * drawn inside it. Whatever `flexRender` takes: a node, or a component that\n * gets the header context (`{ column, header, table }`), as `header` does.\n */\n headerActions?: Renderable<HeaderContext<TData, TValue>>;\n }\n}\n\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeadCell,\n TableRow,\n TableProps as SMWBTableProps,\n} from \"../../../components/dataDisplay/table\";\nimport { TablePaginationProps } from \"../../../components/dataDisplay/table\";\nimport ProgressIndicator from \"../../../components/feedBack/progressIndicator/progressIndicator\";\nimport Message from \"../../../components/feedBack/message/message\";\nimport { DraggableColumnHeaderWrapper } from \"./draggableHeader\";\n\nexport type TableProps<TData extends RowData, TValue = unknown> = SMWBTableProps & {\n withPagination?: boolean;\n isInfinite?: boolean;\n dense?: boolean;\n limit?: number;\n limitOptions?: number[];\n sortable?: boolean;\n expandable?: boolean;\n draggableColumns?: boolean;\n enableColumnResizing?: boolean;\n onColumnSizingChange?: (oldValue: ColumnSizingState, newValue: ColumnSizingState) => void;\n onColumnOrderChange?: (oldValue: ColumnOrderState, newValue: ColumnOrderState) => void;\n getRowCanExpand?: (row: Row<TData>) => boolean;\n renderSubComponent?: (props: { row: Row<TData> }) => React.ReactElement;\n cellAlign?: \"left\" | \"right\" | \"center\";\n isLoading?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n error?: string;\n onHeadCellClick?: (colDef?: ColumnDef<TData, TValue>) => void;\n headerCellInnerRenderer?: React.ReactElement;\n onBodyRowClick?: (row: Row<TData>, event: React.MouseEvent<HTMLTableRowElement>) => void;\n data: TData[];\n /**\n * TanStack column definitions. A column's `meta` may add `headerActions`\n * (controls drawn beside the sort control in its head cell), `label` (its\n * name on stacked rows), `cellProps` (attributes of its body cells) and\n * `draggableColumn`.\n */\n columns: ColumnDef<TData, TValue>[];\n columnResizeMode?: ColumnResizeMode;\n};\n\nexport const TableWrapper = <TData extends RowData, TValue = unknown>({\n data,\n columns,\n withPagination,\n isInfinite,\n limit = 5,\n limitOptions = [5, 10, 15],\n dense,\n sortable,\n expandable,\n draggableColumns,\n columnResizeMode = \"onChange\",\n enableColumnResizing,\n onColumnSizingChange,\n onColumnOrderChange,\n getRowCanExpand,\n renderSubComponent,\n cellAlign,\n isLoading = false,\n onNextPage,\n onPrevPage,\n error,\n onHeadCellClick,\n headerCellInnerRenderer,\n onBodyRowClick,\n ...props\n}: TableProps<TData, TValue>) => {\n const [sorting, setSorting] = useState<SortingState>([]);\n const [columnOrder, setColumnOrder] = React.useState<ColumnOrderState>(\n columns.map((column) => getColumnName(column))\n );\n const [tableRef, setTableRef] = useState<HTMLDivElement | null>(null);\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>(getDefaultColumnSizingState(columns));\n const [columnSizingInfo, setColumnSizingInfo] = useState<ColumnSizingInfoState>({\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n });\n useEffect(() => {\n if (tableRef) {\n const totalSize: number = tableRef?.offsetWidth || 0;\n const columnWithSize = columns.filter((el) => el.size);\n const totalSizeWithoutConst = totalSize - columns.reduce((sum, el) => sum + (el.size || 0), 0);\n const columnCountWithoutConstSize = columns.length - columnWithSize.length;\n const avgSize = columnCountWithoutConstSize ? totalSizeWithoutConst / columnCountWithoutConstSize : 10;\n setColumnSizing(\n columns\n .map((el) => ({\n size: el.size ? el.size : avgSize,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: getColumnName(el),\n }))\n .reduce(columnSizingStateReducer, {})\n );\n setColumnOrder(columns.map((column) => getColumnName(column)));\n }\n }, [tableRef, columns]);\n\n const options: TableOptions<TData> = {\n data,\n columns,\n state: { sorting, columnSizing, columnSizingInfo, columnOrder },\n initialState: { pagination: { pageIndex: 0, pageSize: limit } },\n manualPagination: isInfinite,\n columnResizeMode,\n onColumnOrderChange: setColumnOrder,\n getCoreRowModel: getCoreRowModel(),\n onColumnSizingChange: (updater) => {\n const newValue = typeof updater === \"function\" ? updater(columnSizing) : updater;\n const diff: ColumnSizingState = {};\n Object.keys(newValue).forEach((newValueColumn) => {\n if (newValue[newValueColumn] !== columnSizing[newValueColumn]) {\n diff[newValueColumn] = newValue[newValueColumn];\n }\n });\n // Алгоритм не учитывает, что колонки могут меняться местами и что может измениться сразу несколько колонок\n // двигаем соседнюю колонку на столько же, на сколько изменили ширину текущей\n const diffColumnName = Object.keys(diff)[0];\n const columnIndex = columns.findIndex((el) => getColumnName(el) === diffColumnName);\n if (columnIndex >= 0 && columnIndex < columns.length - 1) {\n const rightColumnName = getColumnName(columns[columnIndex + 1]);\n newValue[rightColumnName] =\n columnSizing[rightColumnName] - (newValue[diffColumnName] - columnSizing[diffColumnName]);\n } else if (columnIndex === columns.length - 1) {\n const leftColumnName = getColumnName(columns[columnIndex - 1]);\n newValue[leftColumnName] =\n columnSizing[leftColumnName] - (newValue[diffColumnName] - columnSizing[diffColumnName]);\n }\n setColumnSizing(newValue);\n if (onColumnSizingChange) {\n setTimeout(() => onColumnSizingChange(columnSizing, newValue));\n }\n },\n onColumnSizingInfoChange: (updater) => {\n setColumnSizingInfo(typeof updater === \"function\" ? updater(columnSizingInfo) : updater);\n },\n };\n\n options.enableColumnResizing = !!enableColumnResizing;\n\n if (withPagination) {\n options.getPaginationRowModel = getPaginationRowModel();\n }\n if (sortable) {\n options.getSortedRowModel = getSortedRowModel();\n options.onSortingChange = setSorting;\n }\n if (expandable) {\n options.getRowCanExpand = getRowCanExpand;\n options.getExpandedRowModel = getExpandedRowModel();\n }\n\n const table = useReactTable({\n ...options,\n });\n\n const handleNextPage = () => {\n table.nextPage();\n onNextPage?.();\n };\n\n const handlePrevPage = () => {\n table.previousPage();\n onPrevPage?.();\n };\n\n const handleBodyRowClick = (row: Row<TData>) => (event: React.MouseEvent<HTMLTableRowElement>) => {\n onBodyRowClick?.(row, event);\n };\n\n const {\n pagination: { pageIndex: page, pageSize },\n } = table.getState();\n\n let paginationSettings: TablePaginationProps | undefined = undefined;\n if (withPagination) {\n paginationSettings = {\n limit: pageSize,\n page: page + 1,\n limitOptions,\n onNext: handleNextPage,\n onPrev: handlePrevPage,\n onLimitChange: table.setPageSize,\n ...(isInfinite ? { hasNextPage: data.length >= limit } : { totalCount: data.length }),\n };\n }\n\n return (\n <Table\n dense={dense}\n isLoading={isLoading}\n {...props}\n // While the table paginates, its pagination wins over the caller's\n // paginationSettings; otherwise the caller's stays. `hovered` is a\n // default: the caller's wins, and an explicit undefined keeps it.\n paginationSettings={paginationSettings ?? props.paginationSettings}\n hovered={props.hovered ?? !!onBodyRowClick}\n ref={setTableRef}\n >\n <TableHead>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const canSort = !!sortable && header.column.getCanSort();\n const resizeHandler = header.getResizeHandler();\n const headerActions = header.isPlaceholder ? undefined : header.column.columnDef.meta?.headerActions;\n // The resizer is one of the cell's actions, outside the sort\n // control. The click that ends a press on it goes to the nearest\n // element holding both the press and the release: the resizer, the\n // head cell or an element above it, never the sort control.\n const resizer = header.column.getCanResize() ? (\n <div\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n resizeHandler(e);\n }}\n onTouchStart={resizeHandler}\n className={`smwb-rt-table--resizer ${\n header.column.getIsResizing() ? \"smwb-rt-table--isResizing\" : \"\"\n }`}\n />\n ) : null;\n return (\n <TableHeadCell\n key={header.id}\n cellAlign={cellAlign}\n sortable={canSort}\n sortDirection={header.column.getIsSorted()}\n onSort={() => header.column.toggleSorting()}\n onClick={() => {\n onHeadCellClick?.(header.column.columnDef);\n }}\n style={{\n cursor: canSort ? \"pointer\" : \"default\",\n width: header.getSize(),\n }}\n actions={\n headerActions || resizer ? (\n <>\n {headerActions ? flexRender(headerActions, header.getContext()) : null}\n {resizer}\n </>\n ) : undefined\n }\n >\n <DraggableColumnHeaderWrapper<TData>\n key={header.id}\n draggableColumn={draggableColumns && header.column.columnDef.meta?.draggableColumn}\n table={table}\n onColumnOrderChange={onColumnOrderChange}\n // https://github.com/TanStack/table/issues/4241\n header={header}\n >\n <div>\n {header.isPlaceholder\n ? null\n : headerCellInnerRenderer\n ? React.cloneElement(headerCellInnerRenderer, { header })\n : flexRender(header.column.columnDef.header, header.getContext())}\n </div>\n </DraggableColumnHeaderWrapper>\n </TableHeadCell>\n );\n })}\n </TableRow>\n ))}\n </TableHead>\n <TableBody>\n {isLoading ? (\n <TableRow className=\"smwb-table__loader__row\">\n <TableCell className=\"smwb-table__loader\">\n <ProgressIndicator variant=\"circular\" type=\"indeterminate\" />\n </TableCell>\n </TableRow>\n ) : error ? (\n <TableRow className=\"smwb-table__loader__row\">\n <TableCell className=\"smwb-table__loader\">\n <Message variant=\"filled\" type=\"error\">\n {error}\n </Message>\n </TableCell>\n </TableRow>\n ) : (\n table.getRowModel().rows.map((row) => (\n <React.Fragment key={row.id}>\n <TableRow key={row.id} onClick={handleBodyRowClick(row)}>\n {row.getVisibleCells().map((cell) => {\n return (\n <TableCell\n key={cell.id}\n cellAlign={cellAlign}\n // Without meta.label or a string header, or with an empty\n // one, the cell stays unlabelled, as in Solid: it takes no\n // label from the head cell's content, which may be a control.\n label={\n (cell.column.columnDef.meta?.label ??\n (typeof cell.column.columnDef.header === \"string\"\n ? cell.column.columnDef.header\n : undefined)) ||\n false\n }\n {...cell.column.columnDef.meta?.cellProps}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n );\n })}\n </TableRow>\n {row.getIsExpanded() && renderSubComponent && (\n <TableRow key={`${row.id}_expand`}>\n <TableCell colSpan={row.getVisibleCells().length}>{renderSubComponent({ row })}</TableCell>\n </TableRow>\n )}\n </React.Fragment>\n ))\n )}\n </TableBody>\n </Table>\n );\n};\n\nexport default TableWrapper;\n"],"names":["TableWrapper","data","columns","withPagination","isInfinite","limit","limitOptions","dense","sortable","expandable","draggableColumns","columnResizeMode","enableColumnResizing","onColumnSizingChange","onColumnOrderChange","getRowCanExpand","renderSubComponent","cellAlign","isLoading","onNextPage","onPrevPage","error","onHeadCellClick","headerCellInnerRenderer","onBodyRowClick","props","sorting","setSorting","useState","columnOrder","setColumnOrder","React","column","getColumnName","tableRef","setTableRef","columnSizing","setColumnSizing","getDefaultColumnSizingState","columnSizingInfo","setColumnSizingInfo","useEffect","totalSize","columnWithSize","el","totalSizeWithoutConst","sum","columnCountWithoutConstSize","avgSize","columnSizingStateReducer","options","getCoreRowModel","updater","newValue","diff","newValueColumn","diffColumnName","columnIndex","rightColumnName","leftColumnName","getPaginationRowModel","getSortedRowModel","getExpandedRowModel","table","useReactTable","handleNextPage","handlePrevPage","handleBodyRowClick","row","event","page","pageSize","paginationSettings","jsxs","Table","_a","jsx","TableHead","headerGroup","TableRow","header","canSort","resizeHandler","headerActions","resizer","e","TableHeadCell","Fragment","flexRender","DraggableColumnHeaderWrapper","_b","TableBody","TableCell","ProgressIndicator","Message","cell","_c"],"mappings":";;;;;;;;;;;;;;;AAyFO,MAAMA,KAAe,CAA0C;AAAA,EACpE,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,cAAAC,IAAe,CAAC,GAAG,IAAI,EAAE;AAAA,EACzB,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC,IAAmB;AAAA,EACnB,sBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,GAAGC;AACL,MAAiC;;AAC/B,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAuB,CAAA,CAAE,GACjD,CAACC,GAAaC,CAAc,IAAIC,EAAM;AAAA,IAC1C7B,EAAQ,IAAI,CAAC8B,MAAWC,EAAcD,CAAM,CAAC;AAAA,EAAA,GAEzC,CAACE,GAAUC,EAAW,IAAIP,EAAgC,IAAI,GAC9D,CAACQ,GAAcC,CAAe,IAAIT,EAA4BU,GAA4BpC,CAAO,CAAC,GAClG,CAACqC,GAAkBC,EAAmB,IAAIZ,EAAgC;AAAA,IAC9E,aAAa;AAAA,IACb,WAAW;AAAA,IACX,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,mBAAmB,CAAA;AAAA,EAAC,CACrB;AACD,EAAAa,GAAU,MAAM;AACd,QAAIP,GAAU;AACZ,YAAMQ,KAAoBR,KAAA,gBAAAA,EAAU,gBAAe,GAC7CS,IAAiBzC,EAAQ,OAAO,CAAC0C,MAAOA,EAAG,IAAI,GAC/CC,IAAwBH,IAAYxC,EAAQ,OAAO,CAAC4C,GAAKF,MAAOE,KAAOF,EAAG,QAAQ,IAAI,CAAC,GACvFG,IAA8B7C,EAAQ,SAASyC,EAAe,QAC9DK,IAAUD,IAA8BF,IAAwBE,IAA8B;AACpG,MAAAV;AAAA,QACEnC,EACG,IAAI,CAAC0C,OAAQ;AAAA,UACZ,MAAMA,EAAG,OAAOA,EAAG,OAAOI;AAAA;AAAA,UAE1B,MAAMf,EAAcW,CAAE;AAAA,QAAA,EACtB,EACD,OAAOK,IAA0B,CAAA,CAAE;AAAA,MAAA,GAExCnB,EAAe5B,EAAQ,IAAI,CAAC8B,MAAWC,EAAcD,CAAM,CAAC,CAAC;AAAA,IAC/D;AAAA,EACF,GAAG,CAACE,GAAUhC,CAAO,CAAC;AAEtB,QAAMgD,IAA+B;AAAA,IACnC,MAAAjD;AAAA,IACA,SAAAC;AAAA,IACA,OAAO,EAAE,SAAAwB,GAAS,cAAAU,GAAc,kBAAAG,GAAkB,aAAAV,EAAA;AAAA,IAClD,cAAc,EAAE,YAAY,EAAE,WAAW,GAAG,UAAUxB,IAAM;AAAA,IAC5D,kBAAkBD;AAAA,IAClB,kBAAAO;AAAA,IACA,qBAAqBmB;AAAA,IACrB,iBAAiBqB,GAAA;AAAA,IACjB,sBAAsB,CAACC,MAAY;AACjC,YAAMC,IAAW,OAAOD,KAAY,aAAaA,EAAQhB,CAAY,IAAIgB,GACnEE,IAA0B,CAAA;AAChC,aAAO,KAAKD,CAAQ,EAAE,QAAQ,CAACE,MAAmB;AAChD,QAAIF,EAASE,CAAc,MAAMnB,EAAamB,CAAc,MAC1DD,EAAKC,CAAc,IAAIF,EAASE,CAAc;AAAA,MAElD,CAAC;AAGD,YAAMC,IAAiB,OAAO,KAAKF,CAAI,EAAE,CAAC,GACpCG,IAAcvD,EAAQ,UAAU,CAAC0C,MAAOX,EAAcW,CAAE,MAAMY,CAAc;AAClF,UAAIC,KAAe,KAAKA,IAAcvD,EAAQ,SAAS,GAAG;AACxD,cAAMwD,IAAkBzB,EAAc/B,EAAQuD,IAAc,CAAC,CAAC;AAC9D,QAAAJ,EAASK,CAAe,IACtBtB,EAAasB,CAAe,KAAKL,EAASG,CAAc,IAAIpB,EAAaoB,CAAc;AAAA,MAC3F,WAAWC,MAAgBvD,EAAQ,SAAS,GAAG;AAC7C,cAAMyD,IAAiB1B,EAAc/B,EAAQuD,IAAc,CAAC,CAAC;AAC7D,QAAAJ,EAASM,CAAc,IACrBvB,EAAauB,CAAc,KAAKN,EAASG,CAAc,IAAIpB,EAAaoB,CAAc;AAAA,MAC1F;AACA,MAAAnB,EAAgBgB,CAAQ,GACpBxC,KACF,WAAW,MAAMA,EAAqBuB,GAAciB,CAAQ,CAAC;AAAA,IAEjE;AAAA,IACA,0BAA0B,CAACD,MAAY;AACrC,MAAAZ,GAAoB,OAAOY,KAAY,aAAaA,EAAQb,CAAgB,IAAIa,CAAO;AAAA,IACzF;AAAA,EAAA;AAGF,EAAAF,EAAQ,uBAAuB,CAAC,CAACtC,GAE7BT,MACF+C,EAAQ,wBAAwBU,GAAA,IAE9BpD,MACF0C,EAAQ,oBAAoBW,GAAA,GAC5BX,EAAQ,kBAAkBvB,IAExBlB,MACFyC,EAAQ,kBAAkBnC,GAC1BmC,EAAQ,sBAAsBY,GAAA;AAGhC,QAAMC,IAAQC,GAAc;AAAA,IAC1B,GAAGd;AAAA,EAAA,CACJ,GAEKe,KAAiB,MAAM;AAC3B,IAAAF,EAAM,SAAA,GACN5C,KAAA,QAAAA;AAAA,EACF,GAEM+C,KAAiB,MAAM;AAC3B,IAAAH,EAAM,aAAA,GACN3C,KAAA,QAAAA;AAAA,EACF,GAEM+C,KAAqB,CAACC,MAAoB,CAACC,MAAiD;AAChG,IAAA7C,KAAA,QAAAA,EAAiB4C,GAAKC;AAAA,EACxB,GAEM;AAAA,IACJ,YAAY,EAAE,WAAWC,IAAM,UAAAC,GAAA;AAAA,EAAS,IACtCR,EAAM,SAAA;AAEV,MAAIS;AACJ,SAAIrE,MACFqE,IAAqB;AAAA,IACnB,OAAOD;AAAA,IACP,MAAMD,KAAO;AAAA,IACb,cAAAhE;AAAA,IACA,QAAQ2D;AAAA,IACR,QAAQC;AAAA,IACR,eAAeH,EAAM;AAAA,IACrB,GAAI3D,IAAa,EAAE,aAAaH,EAAK,UAAUI,MAAU,EAAE,YAAYJ,EAAK,OAAA;AAAA,EAAO,IAKrF,gBAAAwE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAAnE;AAAA,MACA,WAAAW;AAAA,MACC,GAAGO;AAAA,MAIJ,oBAAoB+C,KAAA,OAAAA,IAAsB/C,EAAM;AAAA,MAChD,UAASkD,IAAAlD,EAAM,YAAN,OAAAkD,IAAiB,CAAC,CAACnD;AAAA,MAC5B,KAAKW;AAAA,MAEL,UAAA;AAAA,QAAA,gBAAAyC,EAACC,IAAA,EACE,UAAAd,EAAM,gBAAA,EAAkB,IAAI,CAACe,MAC5B,gBAAAF,EAACG,GAAA,EACE,UAAAD,EAAY,QAAQ,IAAI,CAACE,MAAW;;AACnC,gBAAMC,IAAU,CAAC,CAACzE,KAAYwE,EAAO,OAAO,WAAA,GACtCE,IAAgBF,EAAO,iBAAA,GACvBG,IAAgBH,EAAO,kBAA4BL,IAAAK,EAAO,OAAO,UAAU,SAAxB,OAAZ,SAAYL,EAA8B,eAKjFS,IAAUJ,EAAO,OAAO,aAAA,IAC5B,gBAAAJ;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,aAAa,CAACS,MAAM;AAClB,gBAAAA,EAAE,eAAA,GACFA,EAAE,gBAAA,GACFH,EAAcG,CAAC;AAAA,cACjB;AAAA,cACA,cAAcH;AAAA,cACd,WAAW,0BACTF,EAAO,OAAO,cAAA,IAAkB,8BAA8B,EAChE;AAAA,YAAA;AAAA,UAAA,IAEA;AACJ,iBACE,gBAAAJ;AAAA,YAACU;AAAA,YAAA;AAAA,cAEC,WAAArE;AAAA,cACA,UAAUgE;AAAA,cACV,eAAeD,EAAO,OAAO,YAAA;AAAA,cAC7B,QAAQ,MAAMA,EAAO,OAAO,cAAA;AAAA,cAC5B,SAAS,MAAM;AACb,gBAAA1D,KAAA,QAAAA,EAAkB0D,EAAO,OAAO;AAAA,cAClC;AAAA,cACA,OAAO;AAAA,gBACL,QAAQC,IAAU,YAAY;AAAA,gBAC9B,OAAOD,EAAO,QAAA;AAAA,cAAQ;AAAA,cAExB,SACEG,KAAiBC,IACf,gBAAAX,EAAAc,IAAA,EACG,UAAA;AAAA,gBAAAJ,IAAgBK,EAAWL,GAAeH,EAAO,WAAA,CAAY,IAAI;AAAA,gBACjEI;AAAA,cAAA,EAAA,CACH,IACE;AAAA,cAGN,UAAA,gBAAAR;AAAA,gBAACa;AAAA,gBAAA;AAAA,kBAEC,iBAAiB/E,OAAoBgF,IAAAV,EAAO,OAAO,UAAU,SAAxB,gBAAAU,EAA8B;AAAA,kBACnE,OAAA3B;AAAA,kBACA,qBAAAjD;AAAA,kBAEA,QAAAkE;AAAA,kBAEA,UAAA,gBAAAJ,EAAC,SACE,UAAAI,EAAO,gBACJ,OACAzD,IACEQ,EAAM,aAAaR,GAAyB,EAAE,QAAAyD,GAAQ,IACtDQ,EAAWR,EAAO,OAAO,UAAU,QAAQA,EAAO,WAAA,CAAY,EAAA,CACtE;AAAA,gBAAA;AAAA,gBAbKA,EAAO;AAAA,cAAA;AAAA,YAcd;AAAA,YApCKA,EAAO;AAAA,UAAA;AAAA,QAuClB,CAAC,EAAA,GA/DYF,EAAY,EAgE3B,CACD,EAAA,CACH;AAAA,QACA,gBAAAF,EAACe,MACE,UAAAzE,IACC,gBAAA0D,EAACG,KAAS,WAAU,2BAClB,UAAA,gBAAAH,EAACgB,GAAA,EAAU,WAAU,sBACnB,4BAACC,IAAA,EAAkB,SAAQ,YAAW,MAAK,iBAAgB,GAC7D,EAAA,CACF,IACExE,IACF,gBAAAuD,EAACG,GAAA,EAAS,WAAU,2BAClB,UAAA,gBAAAH,EAACgB,GAAA,EAAU,WAAU,sBACnB,UAAA,gBAAAhB,EAACkB,MAAQ,SAAQ,UAAS,MAAK,SAC5B,UAAAzE,EAAA,CACH,EAAA,CACF,GACF,IAEA0C,EAAM,YAAA,EAAc,KAAK,IAAI,CAACK,MAC5B,gBAAAK,EAAC1C,EAAM,UAAN,EACC,UAAA;AAAA,UAAA,gBAAA6C,EAACG,GAAA,EAAsB,SAASZ,GAAmBC,CAAG,GACnD,YAAI,gBAAA,EAAkB,IAAI,CAAC2B,MAAS;;AACnC,mBACE,gBAAAnB;AAAA,cAACgB;AAAA,cAAA;AAAA,gBAEC,WAAA3E;AAAA,gBAIA,SACGyE,KAAAf,IAAAoB,EAAK,OAAO,UAAU,SAAtB,gBAAApB,EAA4B,UAA5B,OAAAe,IACE,OAAOK,EAAK,OAAO,UAAU,UAAW,WACrCA,EAAK,OAAO,UAAU,SACtB,WACN;AAAA,gBAED,IAAGC,IAAAD,EAAK,OAAO,UAAU,SAAtB,gBAAAC,EAA4B;AAAA,gBAE/B,YAAWD,EAAK,OAAO,UAAU,MAAMA,EAAK,YAAY;AAAA,cAAA;AAAA,cAdpDA,EAAK;AAAA,YAAA;AAAA,UAiBhB,CAAC,EAAA,GArBY3B,EAAI,EAsBnB;AAAA,UACCA,EAAI,mBAAmBpD,uBACrB+D,GAAA,EACC,UAAA,gBAAAH,EAACgB,GAAA,EAAU,SAASxB,EAAI,gBAAA,EAAkB,QAAS,UAAApD,EAAmB,EAAE,KAAAoD,EAAA,CAAK,GAAE,EAAA,GADlE,GAAGA,EAAI,EAAE,SAExB;AAAA,QAAA,KA3BiBA,EAAI,EA6BzB,CACD,EAAA,CAEL;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/connects/rt/table/utils.ts"],"sourcesContent":["import { AccessorKeyColumnDef, ColumnDef, ColumnSizingState } from \"@tanstack/react-table\";\n\nexport function columnSizingStateReducer(\n sum: ColumnSizingState,\n el: { name: string; size?: number }\n): ColumnSizingState {\n sum[el.name] = el.size || 0;\n return sum;\n}\n\nexport function getDefaultColumnSizingState<T, K>(columnDef: ColumnDef<T, K>[]): ColumnSizingState {\n return columnDef\n .map((el) => ({\n size: el.size,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: typeof el.header === \"string\" ? el.header : el.id!,\n }))\n .filter((el) => !!el.size)\n .reduce<ColumnSizingState>(columnSizingStateReducer, {});\n}\n\nexport function getColumnName<T, K>(column: ColumnDef<T, K>): string {\n return (\n (column as AccessorKeyColumnDef<T>).accessorKey\n ? (column as AccessorKeyColumnDef<T>).accessorKey\n : typeof column.header === \"string\"\n ? column.header\n : // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n column.id!\n ).toString();\n}\n"],"names":["columnSizingStateReducer","sum","el","getDefaultColumnSizingState","columnDef","getColumnName","column"],"mappings":"AAEO,SAASA,EACdC,GACAC,GACmB;AACnB,SAAAD,EAAIC,EAAG,IAAI,IAAIA,EAAG,QAAQ,GACnBD;AACT;AAEO,SAASE,EAAkCC,GAAiD;AACjG,SAAOA,EACJ,IAAI,CAACF,OAAQ;AAAA,IACZ,MAAMA,EAAG;AAAA;AAAA,IAET,MAAM,OAAOA,EAAG,UAAW,WAAWA,EAAG,SAASA,EAAG;AAAA,EAAA,EACrD,EACD,OAAO,CAACA,MAAO,CAAC,CAACA,EAAG,IAAI,EACxB,OAA0BF,GAA0B,EAAE;AAC3D;AAEO,SAASK,EAAoBC,GAAiC;AACnE,UACGA,EAAmC,cAC/BA,EAAmC,cACpC,OAAOA,EAAO,UAAW,WACvBA,EAAO;AAAA;AAAA,IAEPA,EAAO;AAAA,KACb,SAAA;AACJ;"}
@@ -1,60 +1,72 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import { forwardRef as L, useSyncExternalStore as C } from "react";
3
- import N from "clsx";
4
- import { getIcon as O } from "../../../icons/registry.js";
5
- import { getIconConfig as R } from "../../../icons/config.js";
6
- import { subscribeIcons as j } from "../../../icons/store.js";
7
- import { useIconSource as B } from "./iconProvider.js";
8
- const E = ["primary", "secondary", "error", "success", "warning", "info", "disabled"], y = /* @__PURE__ */ new Set();
9
- function T(r) {
10
- !R().warnOnMissing || y.has(r) || (y.add(r), console.warn(
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import { forwardRef as N, useSyncExternalStore as O } from "react";
3
+ import R from "clsx";
4
+ import { getIcon as j } from "../../../icons/registry.js";
5
+ import { getIconConfig as B } from "../../../icons/config.js";
6
+ import { subscribeIcons as E } from "../../../icons/store.js";
7
+ import { useIconSource as T } from "./iconProvider.js";
8
+ const z = ["primary", "secondary", "error", "success", "warning", "info", "disabled"], S = /* @__PURE__ */ new Set();
9
+ function A(r) {
10
+ !B().warnOnMissing || S.has(r) || (S.add(r), console.warn(
11
11
  `[smwb] Icon "${r}" is not registered. Register it (import { ${r} } from "@smwb/ui-react/icons") or use source="auto" to fall back to Material Symbols.`
12
12
  ));
13
13
  }
14
- const V = L(function({ className: S, weight: a = 400, fill: v = 0, size: n = 20, grade: I = 100, name: o, color: e = "inherit", title: i, source: _, ...u }, x) {
15
- var w, b;
16
- const d = B(_), g = typeof o == "string" ? o : null, m = () => {
17
- var h;
18
- return g === null ? null : (h = O(g)) != null ? h : null;
19
- }, M = C(j, m, m), s = typeof o == "object" ? o : M, f = typeof o == "string" ? o : o.name, t = d === "google" ? "google" : s ? "smwb" : d === "smwb" ? "missing" : "google";
20
- t === "missing" && T(f);
21
- const p = i === void 0, $ = e && E.includes(e) ? `smwb-icon_color-${e}` : null, c = typeof n == "number" ? `${n}px` : n, k = Math.round(Math.min(3, Math.max(1, a / 200)) * 100) / 100;
22
- return /* @__PURE__ */ l(
14
+ const q = N(function({
15
+ className: I,
16
+ weight: d = 400,
17
+ fill: _ = 0,
18
+ size: n = 20,
19
+ grade: v = 100,
20
+ name: o,
21
+ color: i = "inherit",
22
+ title: a,
23
+ source: x,
24
+ "data-testid": M = "icon",
25
+ ...e
26
+ }, $) {
27
+ var w, h, y;
28
+ const u = T(x), g = typeof o == "string" ? o : null, m = () => {
29
+ var p;
30
+ return g === null ? null : (p = j(g)) != null ? p : null;
31
+ }, k = O(E, m, m), t = typeof o == "object" ? o : k, f = typeof o == "string" ? o : o.name, s = u === "google" ? "google" : t ? "smwb" : u === "smwb" ? "missing" : "google";
32
+ s === "missing" && A(f);
33
+ const b = !(a || e["aria-label"] || e["aria-labelledby"]), L = i && z.includes(i) ? `smwb-icon_color-${i}` : null, l = typeof n == "number" ? `${n}px` : n, C = Math.round(Math.min(3, Math.max(1, d / 200)) * 100) / 100;
34
+ return /* @__PURE__ */ c(
23
35
  "span",
24
36
  {
25
- ...u,
26
- ref: x,
27
- "data-testid": "icon",
28
- "data-icon-source": t,
29
- role: p ? void 0 : "img",
30
- "aria-hidden": p ? !0 : void 0,
31
- "aria-label": i,
32
- title: i,
37
+ ...e,
38
+ ref: $,
39
+ "data-testid": M,
40
+ "data-icon-source": s,
41
+ role: (w = e.role) != null ? w : b ? void 0 : "img",
42
+ "aria-hidden": b ? !0 : e["aria-hidden"],
43
+ "aria-label": a || e["aria-label"],
44
+ title: a,
33
45
  style: {
34
- ...u.style,
35
- ...t === "google" ? { fontVariationSettings: `'FILL' ${v}, 'wght' ${a}, 'GRAD' ${I}, 'opsz' 48` } : null
46
+ ...e.style,
47
+ ...s === "google" ? { fontVariationSettings: `'FILL' ${_}, 'wght' ${d}, 'GRAD' ${v}, 'opsz' 48` } : null
36
48
  },
37
- className: N("smwb-icon__wrapper", $, S),
38
- children: t === "google" ? /* @__PURE__ */ l("span", { className: "material-symbols-outlined", style: { fontSize: c }, children: f }) : /* @__PURE__ */ l(
49
+ className: R("smwb-icon__wrapper", L, I),
50
+ children: s === "google" ? /* @__PURE__ */ c("span", { className: "material-symbols-outlined", style: { fontSize: l }, children: f }) : /* @__PURE__ */ c(
39
51
  "svg",
40
52
  {
41
53
  className: "smwb-icon__svg",
42
- viewBox: (w = s == null ? void 0 : s.viewBox) != null ? w : "0 0 24 24",
43
- style: { width: c, height: c },
54
+ viewBox: (h = t == null ? void 0 : t.viewBox) != null ? h : "0 0 24 24",
55
+ style: { width: l, height: l },
44
56
  fill: "none",
45
57
  stroke: "currentColor",
46
- strokeWidth: k,
58
+ strokeWidth: C,
47
59
  strokeLinecap: "round",
48
60
  strokeLinejoin: "round",
49
61
  "aria-hidden": "true",
50
- dangerouslySetInnerHTML: { __html: (b = s == null ? void 0 : s.body) != null ? b : "" }
62
+ dangerouslySetInnerHTML: { __html: (y = t == null ? void 0 : t.body) != null ? y : "" }
51
63
  }
52
64
  )
53
65
  }
54
66
  );
55
67
  });
56
68
  export {
57
- V as Icon,
58
- V as default
69
+ q as Icon,
70
+ q as default
59
71
  };
60
72
  //# sourceMappingURL=icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":["../../../../../src/components/base/icon/icon.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, useSyncExternalStore } from \"react\";\nimport cn from \"clsx\";\nimport { getIcon } from \"../../../icons/registry\";\nimport { getIconConfig } from \"../../../icons/config\";\nimport { subscribeIcons } from \"../../../icons/store\";\nimport type { IconDefinition, IconSource } from \"../../../icons/types\";\nimport { useIconSource } from \"./iconProvider\";\n\nexport type IconColor = \"inherit\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\" | \"disabled\";\n\nconst COLOR_TOKENS = [\"primary\", \"secondary\", \"error\", \"success\", \"warning\", \"info\", \"disabled\"];\n\nconst warned = new Set<string>();\n\nfunction warnMissing(name: string): void {\n if (!getIconConfig().warnOnMissing || warned.has(name)) return;\n warned.add(name);\n // eslint-disable-next-line no-console -- a missing icon is silent otherwise\n console.warn(\n `[smwb] Icon \"${name}\" is not registered. Register it (import { ${name} } from \"@smwb/ui-react/icons\") ` +\n `or use source=\"auto\" to fall back to Material Symbols.`\n );\n}\n\nexport interface IconProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Icon name — the Google Material Symbols name, e.g. `\"arrow_right_alt\"`.\n * Lookup is forgiving: `arrowRightAlt` and `arrow-right-alt` resolve too, as\n * do an icon's aliases.\n *\n * An {@link IconDefinition} may be passed instead, which skips the registry\n * entirely and is the most bundle-friendly form:\n *\n * ```tsx\n * import { arrowRightAlt } from \"@smwb/ui-react/icons\";\n * <Icon name={arrowRightAlt} />\n * ```\n */\n name: string | IconDefinition;\n className?: string;\n /**\n * Material Symbols weight axis (100-700). For the smwb SVG set it maps to the\n * stroke width: 400 → 2px, 700 → 3px, 100 → 1px.\n */\n weight?: number;\n /** Material Symbols FILL axis. Not used by the smwb SVG set (it is a contour set). */\n fill?: 0 | 1;\n /** Pixel number or any CSS length (e.g. \"1.5rem\"). */\n size?: number | string;\n /** Material Symbols GRAD axis. Not used by the smwb SVG set. */\n grade?: number;\n /**\n * Semantic color token; `inherit` (default) keeps the text color.\n * Any string is accepted for backward compatibility, but only known\n * {@link IconColor} tokens emit a color class.\n */\n color?: IconColor | (string & {});\n /**\n * Accessible name. When provided the icon is exposed as\n * `role=\"img\"`; otherwise it is `aria-hidden` (decorative).\n */\n title?: string;\n /** Overrides the icon source for this icon only. See {@link IconSource}. */\n source?: IconSource;\n}\n\nexport const Icon = forwardRef<HTMLSpanElement, IconProps>(function Icon(\n { className, weight = 400, fill = 0, size = 20, grade = 100, name, color = \"inherit\", title, source, ...props },\n ref\n) {\n const resolvedSource = useIconSource(source);\n const lookup = typeof name === \"string\" ? name : null;\n // Subscribing keeps late registrations (lazy chunks, Storybook HMR) from\n // leaving a mounted icon blank. getIcon returns the same object for the same\n // registration, so the snapshot is stable.\n const getSnapshot = () => (lookup === null ? null : (getIcon(lookup) ?? null));\n const registered = useSyncExternalStore(subscribeIcons, getSnapshot, getSnapshot);\n const definition = typeof name === \"object\" ? name : registered;\n const glyph = typeof name === \"string\" ? name : name.name;\n\n const mode =\n resolvedSource === \"google\" ? \"google\" : definition ? \"smwb\" : resolvedSource === \"smwb\" ? \"missing\" : \"google\";\n if (mode === \"missing\") warnMissing(glyph);\n\n const decorative = title === undefined;\n const colorClass = color && COLOR_TOKENS.includes(color) ? `smwb-icon_color-${color}` : null;\n const cssSize = typeof size === \"number\" ? `${size}px` : size;\n const strokeWidth = Math.round(Math.min(3, Math.max(1, weight / 200)) * 100) / 100;\n\n return (\n <span\n {...props}\n ref={ref}\n data-testid=\"icon\"\n data-icon-source={mode}\n role={decorative ? undefined : \"img\"}\n aria-hidden={decorative ? true : undefined}\n aria-label={title}\n title={title}\n style={{\n ...props.style,\n ...(mode === \"google\"\n ? { fontVariationSettings: `'FILL' ${fill}, 'wght' ${weight}, 'GRAD' ${grade}, 'opsz' 48` }\n : null),\n }}\n className={cn(\"smwb-icon__wrapper\", colorClass, className)}\n >\n {mode === \"google\" ? (\n <span className=\"material-symbols-outlined\" style={{ fontSize: cssSize }}>\n {glyph}\n </span>\n ) : (\n <svg\n className=\"smwb-icon__svg\"\n viewBox={definition?.viewBox ?? \"0 0 24 24\"}\n style={{ width: cssSize, height: cssSize }}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n dangerouslySetInnerHTML={{ __html: definition?.body ?? \"\" }}\n />\n )}\n </span>\n );\n});\n\nexport default Icon;\n"],"names":["COLOR_TOKENS","warned","warnMissing","name","getIconConfig","Icon","forwardRef","className","weight","fill","size","grade","color","title","source","props","ref","resolvedSource","useIconSource","lookup","getSnapshot","_a","getIcon","registered","useSyncExternalStore","subscribeIcons","definition","glyph","mode","decorative","colorClass","cssSize","strokeWidth","jsx","cn","_b"],"mappings":";;;;;;;AAUA,MAAMA,IAAe,CAAC,WAAW,aAAa,SAAS,WAAW,WAAW,QAAQ,UAAU,GAEzFC,wBAAa,IAAA;AAEnB,SAASC,EAAYC,GAAoB;AACvC,EAAI,CAACC,EAAA,EAAgB,iBAAiBH,EAAO,IAAIE,CAAI,MACrDF,EAAO,IAAIE,CAAI,GAEf,QAAQ;AAAA,IACN,gBAAgBA,CAAI,8CAA8CA,CAAI;AAAA,EAAA;AAG1E;AA4CO,MAAME,IAAOC,EAAuC,SACzD,EAAE,WAAAC,GAAW,QAAAC,IAAS,KAAK,MAAAC,IAAO,GAAG,MAAAC,IAAO,IAAI,OAAAC,IAAQ,KAAK,MAAAR,GAAM,OAAAS,IAAQ,WAAW,OAAAC,GAAO,QAAAC,GAAQ,GAAGC,EAAA,GACxGC,GACA;;AACA,QAAMC,IAAiBC,EAAcJ,CAAM,GACrCK,IAAS,OAAOhB,KAAS,WAAWA,IAAO,MAI3CiB,IAAc,MAAA;;AAAO,WAAAD,MAAW,OAAO,QAAQE,IAAAC,EAAQH,CAAM,MAAd,OAAAE,IAAmB;AAAA,KAClEE,IAAaC,EAAqBC,GAAgBL,GAAaA,CAAW,GAC1EM,IAAa,OAAOvB,KAAS,WAAWA,IAAOoB,GAC/CI,IAAQ,OAAOxB,KAAS,WAAWA,IAAOA,EAAK,MAE/CyB,IACJX,MAAmB,WAAW,WAAWS,IAAa,SAAST,MAAmB,SAAS,YAAY;AACzG,EAAIW,MAAS,aAAW1B,EAAYyB,CAAK;AAEzC,QAAME,IAAahB,MAAU,QACvBiB,IAAalB,KAASZ,EAAa,SAASY,CAAK,IAAI,mBAAmBA,CAAK,KAAK,MAClFmB,IAAU,OAAOrB,KAAS,WAAW,GAAGA,CAAI,OAAOA,GACnDsB,IAAc,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGxB,IAAS,GAAG,CAAC,IAAI,GAAG,IAAI;AAE/E,SACE,gBAAAyB;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGlB;AAAA,MACJ,KAAAC;AAAA,MACA,eAAY;AAAA,MACZ,oBAAkBY;AAAA,MAClB,MAAMC,IAAa,SAAY;AAAA,MAC/B,eAAaA,IAAa,KAAO;AAAA,MACjC,cAAYhB;AAAA,MACZ,OAAAA;AAAA,MACA,OAAO;AAAA,QACL,GAAGE,EAAM;AAAA,QACT,GAAIa,MAAS,WACT,EAAE,uBAAuB,UAAUnB,CAAI,YAAYD,CAAM,YAAYG,CAAK,cAAA,IAC1E;AAAA,MAAA;AAAA,MAEN,WAAWuB,EAAG,sBAAsBJ,GAAYvB,CAAS;AAAA,MAExD,UAAAqB,MAAS,WACR,gBAAAK,EAAC,QAAA,EAAK,WAAU,6BAA4B,OAAO,EAAE,UAAUF,EAAA,GAC5D,UAAAJ,EAAA,CACH,IAEA,gBAAAM;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,UAASZ,IAAAK,KAAA,gBAAAA,EAAY,YAAZ,OAAAL,IAAuB;AAAA,UAChC,OAAO,EAAE,OAAOU,GAAS,QAAQA,EAAA;AAAA,UACjC,MAAK;AAAA,UACL,QAAO;AAAA,UACP,aAAAC;AAAA,UACA,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,eAAY;AAAA,UACZ,yBAAyB,EAAE,SAAQG,IAAAT,KAAA,gBAAAA,EAAY,SAAZ,OAAAS,IAAoB,GAAA;AAAA,QAAG;AAAA,MAAA;AAAA,IAC5D;AAAA,EAAA;AAIR,CAAC;"}
1
+ {"version":3,"file":"icon.js","sources":["../../../../../src/components/base/icon/icon.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, useSyncExternalStore } from \"react\";\nimport cn from \"clsx\";\nimport { getIcon } from \"../../../icons/registry\";\nimport { getIconConfig } from \"../../../icons/config\";\nimport { subscribeIcons } from \"../../../icons/store\";\nimport type { IconDefinition, IconSource } from \"../../../icons/types\";\nimport { useIconSource } from \"./iconProvider\";\n\nexport type IconColor = \"inherit\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\" | \"disabled\";\n\nconst COLOR_TOKENS = [\"primary\", \"secondary\", \"error\", \"success\", \"warning\", \"info\", \"disabled\"];\n\nconst warned = new Set<string>();\n\nfunction warnMissing(name: string): void {\n if (!getIconConfig().warnOnMissing || warned.has(name)) return;\n warned.add(name);\n // eslint-disable-next-line no-console -- a missing icon is silent otherwise\n console.warn(\n `[smwb] Icon \"${name}\" is not registered. Register it (import { ${name} } from \"@smwb/ui-react/icons\") ` +\n `or use source=\"auto\" to fall back to Material Symbols.`\n );\n}\n\nexport interface IconProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Icon name — the Google Material Symbols name, e.g. `\"arrow_right_alt\"`.\n * Lookup is forgiving: `arrowRightAlt` and `arrow-right-alt` resolve too, as\n * do an icon's aliases.\n *\n * An {@link IconDefinition} may be passed instead, which skips the registry\n * entirely and is the most bundle-friendly form:\n *\n * ```tsx\n * import { arrowRightAlt } from \"@smwb/ui-react/icons\";\n * <Icon name={arrowRightAlt} />\n * ```\n */\n name: string | IconDefinition;\n className?: string;\n /**\n * Material Symbols weight axis (100-700). For the smwb SVG set it maps to the\n * stroke width: 400 → 2px, 700 → 3px, 100 → 1px.\n */\n weight?: number;\n /** Material Symbols FILL axis. Not used by the smwb SVG set (it is a contour set). */\n fill?: 0 | 1;\n /** Pixel number or any CSS length (e.g. \"1.5rem\"). */\n size?: number | string;\n /** Material Symbols GRAD axis. Not used by the smwb SVG set. */\n grade?: number;\n /**\n * Semantic color token; `inherit` (default) keeps the text color.\n * Any string is accepted for backward compatibility, but only known\n * {@link IconColor} tokens emit a color class.\n */\n color?: IconColor | (string & {});\n /**\n * Accessible name, also shown as a tooltip. A non-empty `title`,\n * `aria-label` or `aria-labelledby` names the icon: it is exposed as\n * `role=\"img\"`, or with the `role` you pass. Without any of them the icon is\n * decorative and `aria-hidden`.\n */\n title?: string;\n /** Overrides the icon source for this icon only. See {@link IconSource}. */\n source?: IconSource;\n /** Test id of the root `<span>`; `icon` unless given. */\n \"data-testid\"?: string;\n}\n\nexport const Icon = forwardRef<HTMLSpanElement, IconProps>(function Icon(\n {\n className,\n weight = 400,\n fill = 0,\n size = 20,\n grade = 100,\n name,\n color = \"inherit\",\n title,\n source,\n \"data-testid\": dataTestId = \"icon\",\n ...props\n },\n ref\n) {\n const resolvedSource = useIconSource(source);\n const lookup = typeof name === \"string\" ? name : null;\n // Subscribing keeps late registrations (lazy chunks, Storybook HMR) from\n // leaving a mounted icon blank. getIcon returns the same object for the same\n // registration, so the snapshot is stable.\n const getSnapshot = () => (lookup === null ? null : (getIcon(lookup) ?? null));\n const registered = useSyncExternalStore(subscribeIcons, getSnapshot, getSnapshot);\n const definition = typeof name === \"object\" ? name : registered;\n const glyph = typeof name === \"string\" ? name : name.name;\n\n const mode =\n resolvedSource === \"google\" ? \"google\" : definition ? \"smwb\" : resolvedSource === \"smwb\" ? \"missing\" : \"google\";\n if (mode === \"missing\") warnMissing(glyph);\n\n const decorative = !(title || props[\"aria-label\"] || props[\"aria-labelledby\"]);\n const colorClass = color && COLOR_TOKENS.includes(color) ? `smwb-icon_color-${color}` : null;\n const cssSize = typeof size === \"number\" ? `${size}px` : size;\n const strokeWidth = Math.round(Math.min(3, Math.max(1, weight / 200)) * 100) / 100;\n\n return (\n <span\n {...props}\n ref={ref}\n data-testid={dataTestId}\n data-icon-source={mode}\n // An unnamed icon is hidden over the caller's aria-hidden. A named one is\n // an image unless the caller gives it a role, and a title names it over\n // the caller's aria-label.\n role={props.role ?? (decorative ? undefined : \"img\")}\n aria-hidden={decorative ? true : props[\"aria-hidden\"]}\n aria-label={title || props[\"aria-label\"]}\n title={title}\n style={{\n ...props.style,\n ...(mode === \"google\"\n ? { fontVariationSettings: `'FILL' ${fill}, 'wght' ${weight}, 'GRAD' ${grade}, 'opsz' 48` }\n : null),\n }}\n className={cn(\"smwb-icon__wrapper\", colorClass, className)}\n >\n {mode === \"google\" ? (\n <span className=\"material-symbols-outlined\" style={{ fontSize: cssSize }}>\n {glyph}\n </span>\n ) : (\n <svg\n className=\"smwb-icon__svg\"\n viewBox={definition?.viewBox ?? \"0 0 24 24\"}\n style={{ width: cssSize, height: cssSize }}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n dangerouslySetInnerHTML={{ __html: definition?.body ?? \"\" }}\n />\n )}\n </span>\n );\n});\n\nexport default Icon;\n"],"names":["COLOR_TOKENS","warned","warnMissing","name","getIconConfig","Icon","forwardRef","className","weight","fill","size","grade","color","title","source","dataTestId","props","ref","resolvedSource","useIconSource","lookup","getSnapshot","_a","getIcon","registered","useSyncExternalStore","subscribeIcons","definition","glyph","mode","decorative","colorClass","cssSize","strokeWidth","jsx","cn","_b","_c"],"mappings":";;;;;;;AAUA,MAAMA,IAAe,CAAC,WAAW,aAAa,SAAS,WAAW,WAAW,QAAQ,UAAU,GAEzFC,wBAAa,IAAA;AAEnB,SAASC,EAAYC,GAAoB;AACvC,EAAI,CAACC,EAAA,EAAgB,iBAAiBH,EAAO,IAAIE,CAAI,MACrDF,EAAO,IAAIE,CAAI,GAEf,QAAQ;AAAA,IACN,gBAAgBA,CAAI,8CAA8CA,CAAI;AAAA,EAAA;AAG1E;AAgDO,MAAME,IAAOC,EAAuC,SACzD;AAAA,EACE,WAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAR;AAAA,EACA,OAAAS,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,GACAC,GACA;;AACA,QAAMC,IAAiBC,EAAcL,CAAM,GACrCM,IAAS,OAAOjB,KAAS,WAAWA,IAAO,MAI3CkB,IAAc,MAAA;;AAAO,WAAAD,MAAW,OAAO,QAAQE,IAAAC,EAAQH,CAAM,MAAd,OAAAE,IAAmB;AAAA,KAClEE,IAAaC,EAAqBC,GAAgBL,GAAaA,CAAW,GAC1EM,IAAa,OAAOxB,KAAS,WAAWA,IAAOqB,GAC/CI,IAAQ,OAAOzB,KAAS,WAAWA,IAAOA,EAAK,MAE/C0B,IACJX,MAAmB,WAAW,WAAWS,IAAa,SAAST,MAAmB,SAAS,YAAY;AACzG,EAAIW,MAAS,aAAW3B,EAAY0B,CAAK;AAEzC,QAAME,IAAa,EAAEjB,KAASG,EAAM,YAAY,KAAKA,EAAM,iBAAiB,IACtEe,IAAanB,KAASZ,EAAa,SAASY,CAAK,IAAI,mBAAmBA,CAAK,KAAK,MAClFoB,IAAU,OAAOtB,KAAS,WAAW,GAAGA,CAAI,OAAOA,GACnDuB,IAAc,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGzB,IAAS,GAAG,CAAC,IAAI,GAAG,IAAI;AAE/E,SACE,gBAAA0B;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGlB;AAAA,MACJ,KAAAC;AAAA,MACA,eAAaF;AAAA,MACb,oBAAkBc;AAAA,MAIlB,OAAMP,IAAAN,EAAM,SAAN,OAAAM,IAAeQ,IAAa,SAAY;AAAA,MAC9C,eAAaA,IAAa,KAAOd,EAAM,aAAa;AAAA,MACpD,cAAYH,KAASG,EAAM,YAAY;AAAA,MACvC,OAAAH;AAAA,MACA,OAAO;AAAA,QACL,GAAGG,EAAM;AAAA,QACT,GAAIa,MAAS,WACT,EAAE,uBAAuB,UAAUpB,CAAI,YAAYD,CAAM,YAAYG,CAAK,cAAA,IAC1E;AAAA,MAAA;AAAA,MAEN,WAAWwB,EAAG,sBAAsBJ,GAAYxB,CAAS;AAAA,MAExD,UAAAsB,MAAS,WACR,gBAAAK,EAAC,QAAA,EAAK,WAAU,6BAA4B,OAAO,EAAE,UAAUF,EAAA,GAC5D,UAAAJ,EAAA,CACH,IAEA,gBAAAM;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,UAASE,IAAAT,KAAA,gBAAAA,EAAY,YAAZ,OAAAS,IAAuB;AAAA,UAChC,OAAO,EAAE,OAAOJ,GAAS,QAAQA,EAAA;AAAA,UACjC,MAAK;AAAA,UACL,QAAO;AAAA,UACP,aAAAC;AAAA,UACA,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,eAAY;AAAA,UACZ,yBAAyB,EAAE,SAAQI,IAAAV,KAAA,gBAAAA,EAAY,SAAZ,OAAAU,IAAoB,GAAA;AAAA,QAAG;AAAA,MAAA;AAAA,IAC5D;AAAA,EAAA;AAIR,CAAC;"}
@@ -1,41 +1,56 @@
1
1
  import { jsx as R } from "react/jsx-runtime";
2
- import u, { forwardRef as N } from "react";
3
- import b from "clsx";
4
- const B = N(function({ actionRef: x, className: l, classes: i, center: g, style: e, duration: f = 600, color: r, ...a }, C) {
5
- const [n, c] = u.useState([]), w = u.useRef(0);
6
- return u.useImperativeHandle(
7
- x,
2
+ import r, { forwardRef as S } from "react";
3
+ import x from "clsx";
4
+ const k = S(function({ actionRef: b, className: T, classes: e, center: u, duration: m = 600, color: l, "data-testid": y = "ripple", ...C }, E) {
5
+ const [o, a] = r.useState([]), f = r.useRef(0), p = r.useRef(/* @__PURE__ */ new Set());
6
+ return r.useEffect(() => {
7
+ const i = p.current;
8
+ return () => {
9
+ i.forEach((g) => clearTimeout(g)), i.clear();
10
+ };
11
+ }, []), r.useImperativeHandle(
12
+ b,
8
13
  () => ({
9
- onRipple(d) {
10
- const t = d.currentTarget.getBoundingClientRect(), h = Math.max(t.width, t.height), p = h / 2;
11
- let o, m;
12
- g ? (o = t.width > t.height ? 0 : t.width / 2 - p, m = t.height > t.width ? 0 : t.height / 2 - p) : (o = d.clientX - t.left - p, m = d.clientY - t.top - p), c([
13
- ...n,
14
+ onRipple(i) {
15
+ const t = i.currentTarget.getBoundingClientRect(), d = Math.max(t.width, t.height), n = d / 2;
16
+ let h, c;
17
+ u ? (h = t.width > t.height ? 0 : t.width / 2 - n, c = t.height > t.width ? 0 : t.height / 2 - n) : (h = i.clientX - t.left - n, c = i.clientY - t.top - n), a([
18
+ ...o,
14
19
  /* @__PURE__ */ R(
15
20
  "span",
16
21
  {
17
- className: b("smwb-ripple__child", i == null ? void 0 : i.child),
22
+ className: x("smwb-ripple__child", e == null ? void 0 : e.child),
18
23
  style: {
19
- ...e,
20
- left: o,
21
- top: m,
22
- width: h,
23
- height: h,
24
- backgroundColor: r != null ? r : e == null ? void 0 : e.backgroundColor
25
- },
26
- ...a
24
+ left: h,
25
+ top: c,
26
+ width: d,
27
+ height: d,
28
+ backgroundColor: l
29
+ }
27
30
  },
28
- w.current
31
+ f.current
29
32
  )
30
- ]), w.current += 1, setTimeout(() => {
31
- c((k) => k.slice(1));
32
- }, f);
33
+ ]), f.current += 1;
34
+ const w = setTimeout(() => {
35
+ p.current.delete(w), a((N) => N.slice(1));
36
+ }, m);
37
+ p.current.add(w);
33
38
  }
34
39
  }),
35
- [a, g, n, i == null ? void 0 : i.child, e, f, r]
36
- ), /* @__PURE__ */ R("span", { ref: C, className: b("smwb-ripple", l, i == null ? void 0 : i.ripple), "data-testid": "ripple", "aria-hidden": "true", children: n });
40
+ [u, o, e == null ? void 0 : e.child, m, l]
41
+ ), /* @__PURE__ */ R(
42
+ "span",
43
+ {
44
+ ...C,
45
+ ref: E,
46
+ className: x("smwb-ripple", T, e == null ? void 0 : e.ripple),
47
+ "data-testid": y,
48
+ "aria-hidden": "true",
49
+ children: o
50
+ }
51
+ );
37
52
  });
38
53
  export {
39
- B as Ripple
54
+ k as Ripple
40
55
  };
41
56
  //# sourceMappingURL=ripple.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.js","sources":["../../../../../src/components/base/ripple/ripple.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport cn from \"clsx\";\n\nexport interface RippleActionsRef {\n onRipple: (event: React.MouseEvent) => void;\n}\n\nexport interface RippleClasses {\n ripple?: string;\n child?: string;\n}\n\nexport interface RippleProps extends React.HTMLAttributes<HTMLSpanElement> {\n actionRef: React.Ref<RippleActionsRef>;\n classes?: RippleClasses;\n center?: boolean;\n /** Ripple lifetime in ms. */\n duration?: number;\n /** Ripple color (any CSS color). Defaults to inherited currentColor. */\n color?: string;\n}\n\n/**\n * ⚠️ Для правильной работы этого эффекта, установите у компонента родителя CSS: **position: relative;**\n */\n\nexport const Ripple = forwardRef<HTMLSpanElement, RippleProps>(function Ripple(\n { actionRef, className, classes, center, style, duration = 600, color, ...rest },\n ref\n) {\n const [ripples, setRipples] = React.useState<React.ReactNode[]>([]);\n const nextKey = React.useRef<number>(0);\n\n React.useImperativeHandle(\n actionRef,\n () => ({\n onRipple(event: React.MouseEvent) {\n const target = event.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const diameter = Math.max(rect.width, rect.height);\n const radius = diameter / 2;\n\n let coordX;\n let coordY;\n\n if (center) {\n coordX = rect.width > rect.height ? 0 : rect.width / 2 - radius;\n coordY = rect.height > rect.width ? 0 : rect.height / 2 - radius;\n } else {\n coordX = event.clientX - rect.left - radius;\n coordY = event.clientY - rect.top - radius;\n }\n\n setRipples([\n ...ripples,\n <span\n key={nextKey.current}\n className={cn(\"smwb-ripple__child\", classes?.child)}\n style={{\n ...style,\n left: coordX,\n top: coordY,\n width: diameter,\n height: diameter,\n backgroundColor: color ?? style?.backgroundColor,\n }}\n {...rest}\n />,\n ]);\n\n nextKey.current += 1;\n\n setTimeout(() => {\n setRipples((prevRipples) => prevRipples.slice(1));\n }, duration);\n },\n }),\n [rest, center, ripples, classes?.child, style, duration, color]\n );\n\n return (\n <span ref={ref} className={cn(\"smwb-ripple\", className, classes?.ripple)} data-testid=\"ripple\" aria-hidden=\"true\">\n {ripples}\n </span>\n );\n});\n"],"names":["Ripple","forwardRef","actionRef","className","classes","center","style","duration","color","rest","ref","ripples","setRipples","React","nextKey","event","rect","diameter","radius","coordX","coordY","jsx","cn","prevRipples"],"mappings":";;;AA0BO,MAAMA,IAASC,EAAyC,SAC7D,EAAE,WAAAC,GAAW,WAAAC,GAAW,SAAAC,GAAS,QAAAC,GAAQ,OAAAC,GAAO,UAAAC,IAAW,KAAK,OAAAC,GAAO,GAAGC,EAAA,GAC1EC,GACA;AACA,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAM,SAA4B,CAAA,CAAE,GAC5DC,IAAUD,EAAM,OAAe,CAAC;AAEtC,SAAAA,EAAM;AAAA,IACJX;AAAA,IACA,OAAO;AAAA,MACL,SAASa,GAAyB;AAEhC,cAAMC,IADSD,EAAM,cACD,sBAAA,GACdE,IAAW,KAAK,IAAID,EAAK,OAAOA,EAAK,MAAM,GAC3CE,IAASD,IAAW;AAE1B,YAAIE,GACAC;AAEJ,QAAIf,KACFc,IAASH,EAAK,QAAQA,EAAK,SAAS,IAAIA,EAAK,QAAQ,IAAIE,GACzDE,IAASJ,EAAK,SAASA,EAAK,QAAQ,IAAIA,EAAK,SAAS,IAAIE,MAE1DC,IAASJ,EAAM,UAAUC,EAAK,OAAOE,GACrCE,IAASL,EAAM,UAAUC,EAAK,MAAME,IAGtCN,EAAW;AAAA,UACT,GAAGD;AAAA,UACH,gBAAAU;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAWC,EAAG,sBAAsBlB,KAAA,gBAAAA,EAAS,KAAK;AAAA,cAClD,OAAO;AAAA,gBACL,GAAGE;AAAA,gBACH,MAAMa;AAAA,gBACN,KAAKC;AAAA,gBACL,OAAOH;AAAA,gBACP,QAAQA;AAAA,gBACR,iBAAiBT,KAAA,OAAAA,IAASF,KAAA,gBAAAA,EAAO;AAAA,cAAA;AAAA,cAElC,GAAGG;AAAA,YAAA;AAAA,YAVCK,EAAQ;AAAA,UAAA;AAAA,QAWf,CACD,GAEDA,EAAQ,WAAW,GAEnB,WAAW,MAAM;AACf,UAAAF,EAAW,CAACW,MAAgBA,EAAY,MAAM,CAAC,CAAC;AAAA,QAClD,GAAGhB,CAAQ;AAAA,MACb;AAAA,IAAA;AAAA,IAEF,CAACE,GAAMJ,GAAQM,GAASP,KAAA,gBAAAA,EAAS,OAAOE,GAAOC,GAAUC,CAAK;AAAA,EAAA,GAI9D,gBAAAa,EAAC,QAAA,EAAK,KAAAX,GAAU,WAAWY,EAAG,eAAenB,GAAWC,KAAA,gBAAAA,EAAS,MAAM,GAAG,eAAY,UAAS,eAAY,QACxG,UAAAO,GACH;AAEJ,CAAC;"}
1
+ {"version":3,"file":"ripple.js","sources":["../../../../../src/components/base/ripple/ripple.tsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\nimport cn from \"clsx\";\n\nexport interface RippleActionsRef {\n onRipple: (event: React.MouseEvent) => void;\n}\n\nexport interface RippleClasses {\n ripple?: string;\n child?: string;\n}\n\nexport interface RippleProps extends React.HTMLAttributes<HTMLSpanElement> {\n actionRef: React.Ref<RippleActionsRef>;\n /** Extra classes: `ripple` for the root, `child` for each ripple. */\n classes?: RippleClasses;\n center?: boolean;\n /** Ripple lifetime in ms. */\n duration?: number;\n /** Ripple color (any CSS color). Defaults to inherited currentColor. */\n color?: string;\n /** Test id of the root `<span>`; `ripple` unless given. */\n \"data-testid\"?: string;\n}\n\n/**\n * ⚠️ Для правильной работы этого эффекта, установите у компонента родителя CSS: **position: relative;**\n */\n\nexport const Ripple = forwardRef<HTMLSpanElement, RippleProps>(function Ripple(\n { actionRef, className, classes, center, duration = 600, color, \"data-testid\": dataTestId = \"ripple\", ...rest },\n ref\n) {\n const [ripples, setRipples] = React.useState<React.ReactNode[]>([]);\n const nextKey = React.useRef<number>(0);\n // Removal timers still pending. Unmounting clears them: one left running would\n // set state on the unmounted Ripple, and in a test that ends first it fires\n // after jsdom's teardown, where React's setState throws \"window is not defined\".\n const timeouts = React.useRef(new Set<ReturnType<typeof setTimeout>>());\n\n React.useEffect(() => {\n const pending = timeouts.current;\n return () => {\n pending.forEach((timeout) => clearTimeout(timeout));\n pending.clear();\n };\n }, []);\n\n React.useImperativeHandle(\n actionRef,\n () => ({\n onRipple(event: React.MouseEvent) {\n const target = event.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const diameter = Math.max(rect.width, rect.height);\n const radius = diameter / 2;\n\n let coordX;\n let coordY;\n\n if (center) {\n coordX = rect.width > rect.height ? 0 : rect.width / 2 - radius;\n coordY = rect.height > rect.width ? 0 : rect.height / 2 - radius;\n } else {\n coordX = event.clientX - rect.left - radius;\n coordY = event.clientY - rect.top - radius;\n }\n\n setRipples([\n ...ripples,\n <span\n key={nextKey.current}\n className={cn(\"smwb-ripple__child\", classes?.child)}\n style={{\n left: coordX,\n top: coordY,\n width: diameter,\n height: diameter,\n backgroundColor: color,\n }}\n />,\n ]);\n\n nextKey.current += 1;\n\n const timeout = setTimeout(() => {\n timeouts.current.delete(timeout);\n setRipples((prevRipples) => prevRipples.slice(1));\n }, duration);\n timeouts.current.add(timeout);\n },\n }),\n [center, ripples, classes?.child, duration, color]\n );\n\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\"smwb-ripple\", className, classes?.ripple)}\n data-testid={dataTestId}\n aria-hidden=\"true\"\n >\n {ripples}\n </span>\n );\n});\n"],"names":["Ripple","forwardRef","actionRef","className","classes","center","duration","color","dataTestId","rest","ref","ripples","setRipples","React","nextKey","timeouts","pending","timeout","event","rect","diameter","radius","coordX","coordY","jsx","cn","prevRipples"],"mappings":";;;AA6BO,MAAMA,IAASC,EAAyC,SAC7D,EAAE,WAAAC,GAAW,WAAAC,GAAW,SAAAC,GAAS,QAAAC,GAAQ,UAAAC,IAAW,KAAK,OAAAC,GAAO,eAAeC,IAAa,UAAU,GAAGC,EAAA,GACzGC,GACA;AACA,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAM,SAA4B,CAAA,CAAE,GAC5DC,IAAUD,EAAM,OAAe,CAAC,GAIhCE,IAAWF,EAAM,OAAO,oBAAI,KAAoC;AAEtE,SAAAA,EAAM,UAAU,MAAM;AACpB,UAAMG,IAAUD,EAAS;AACzB,WAAO,MAAM;AACX,MAAAC,EAAQ,QAAQ,CAACC,MAAY,aAAaA,CAAO,CAAC,GAClDD,EAAQ,MAAA;AAAA,IACV;AAAA,EACF,GAAG,CAAA,CAAE,GAELH,EAAM;AAAA,IACJX;AAAA,IACA,OAAO;AAAA,MACL,SAASgB,GAAyB;AAEhC,cAAMC,IADSD,EAAM,cACD,sBAAA,GACdE,IAAW,KAAK,IAAID,EAAK,OAAOA,EAAK,MAAM,GAC3CE,IAASD,IAAW;AAE1B,YAAIE,GACAC;AAEJ,QAAIlB,KACFiB,IAASH,EAAK,QAAQA,EAAK,SAAS,IAAIA,EAAK,QAAQ,IAAIE,GACzDE,IAASJ,EAAK,SAASA,EAAK,QAAQ,IAAIA,EAAK,SAAS,IAAIE,MAE1DC,IAASJ,EAAM,UAAUC,EAAK,OAAOE,GACrCE,IAASL,EAAM,UAAUC,EAAK,MAAME,IAGtCT,EAAW;AAAA,UACT,GAAGD;AAAA,UACH,gBAAAa;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAWC,EAAG,sBAAsBrB,KAAA,gBAAAA,EAAS,KAAK;AAAA,cAClD,OAAO;AAAA,gBACL,MAAMkB;AAAA,gBACN,KAAKC;AAAA,gBACL,OAAOH;AAAA,gBACP,QAAQA;AAAA,gBACR,iBAAiBb;AAAA,cAAA;AAAA,YACnB;AAAA,YARKO,EAAQ;AAAA,UAAA;AAAA,QASf,CACD,GAEDA,EAAQ,WAAW;AAEnB,cAAMG,IAAU,WAAW,MAAM;AAC/B,UAAAF,EAAS,QAAQ,OAAOE,CAAO,GAC/BL,EAAW,CAACc,MAAgBA,EAAY,MAAM,CAAC,CAAC;AAAA,QAClD,GAAGpB,CAAQ;AACX,QAAAS,EAAS,QAAQ,IAAIE,CAAO;AAAA,MAC9B;AAAA,IAAA;AAAA,IAEF,CAACZ,GAAQM,GAASP,KAAA,gBAAAA,EAAS,OAAOE,GAAUC,CAAK;AAAA,EAAA,GAIjD,gBAAAiB;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGf;AAAA,MACJ,KAAAC;AAAA,MACA,WAAWe,EAAG,eAAetB,GAAWC,KAAA,gBAAAA,EAAS,MAAM;AAAA,MACvD,eAAaI;AAAA,MACb,eAAY;AAAA,MAEX,UAAAG;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}