@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
@@ -1 +1 @@
1
- .smwb-thumb-card{position:relative;display:flex;flex-direction:column;border-radius:8px;overflow:visible;outline:none}.smwb-thumb-card--interactive{cursor:pointer}.smwb-thumb-card--disabled{opacity:.5;pointer-events:none}.smwb-thumb-card__media{position:relative;width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;background-color:var(--smui-surfaceVariant)}.smwb-thumb-card--selected .smwb-thumb-card__media{outline:2px solid var(--smui-primaryColor);outline-offset:1px}.smwb-thumb-card--interactive:focus-visible .smwb-thumb-card__media{outline:2px solid var(--smui-primaryColor);outline-offset:1px}.smwb-thumb-card__slot{position:absolute;top:4px;display:flex;gap:4px;z-index:1}.smwb-thumb-card__slot--start{left:4px}.smwb-thumb-card__slot--end{right:4px}.smwb-thumb-card__caption{margin-top:4px;font-size:.8125rem;color:var(--smui-onSurfaceColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smwb-thumb-card__preview{z-index:1000;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #0000004d;background-color:var(--smui-surfaceBackground);pointer-events:none}.smwb-thumb-card__preview img{display:block;max-width:320px;max-height:320px;object-fit:contain}
1
+ .smwb-thumb-card{position:relative;display:flex;flex-direction:column;border-radius:8px;overflow:visible}.smwb-thumb-card--interactive{cursor:pointer}.smwb-thumb-card--disabled{opacity:.5;pointer-events:none}.smwb-thumb-card__content{display:flex;flex-direction:column;outline:none}.smwb-thumb-card__media{position:relative;width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;background-color:var(--smui-surfaceVariant)}.smwb-thumb-card--selected .smwb-thumb-card__media{outline:2px solid var(--smui-primaryColor);outline-offset:1px}.smwb-thumb-card__content:focus-visible .smwb-thumb-card__media{outline:2px solid var(--smui-primaryColor);outline-offset:1px}.smwb-thumb-card__slot{position:absolute;top:4px;display:flex;gap:4px;z-index:1}.smwb-thumb-card__slot--start{left:4px}.smwb-thumb-card__slot--end{right:4px}.smwb-thumb-card__caption{margin-top:4px;font-size:.8125rem;color:var(--smui-onSurfaceColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smwb-thumb-card__preview{z-index:1000;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #0000004d;background-color:var(--smui-surfaceBackground);pointer-events:none}.smwb-thumb-card__preview img{display:block;max-width:320px;max-height:320px;object-fit:contain}
@@ -0,0 +1 @@
1
+ .smwb-timeline{--smwb-timeline-mark: 24px;--smwb-timeline-pad: 4px;display:grid;row-gap:12px;margin:0;padding:0;list-style:none;font-size:.875rem;line-height:1.45;min-width:0}.smwb-timeline__group{display:grid;row-gap:4px;min-width:0}.smwb-timeline__label{padding:2px 0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--smui-onSurfaceVariant)}.smwb-timeline__items{display:grid;margin:0;padding:0;list-style:none;min-width:0}.smwb-timeline__item{--smwb-timeline-tone: var(--smui-onSurfaceVariant);position:relative;display:grid;grid-template-columns:var(--smwb-timeline-mark) minmax(0,1fr) auto;column-gap:8px;align-items:start;padding:var(--smwb-timeline-pad) 0;min-width:0}.smwb-timeline__item:before{content:"";position:absolute;left:calc(var(--smwb-timeline-mark) / 2 - 1px);top:calc(var(--smwb-timeline-pad) + var(--smwb-timeline-mark));bottom:calc(-1 * var(--smwb-timeline-pad));width:2px;background-color:var(--smui-dividerColor)}.smwb-timeline__item:last-child:before{display:none}.smwb-timeline__mark{display:inline-flex;align-items:center;justify-content:center;width:var(--smwb-timeline-mark);height:var(--smwb-timeline-mark);color:var(--smwb-timeline-tone)}.smwb-timeline__dot{width:8px;height:8px;border-radius:50%;background-color:currentColor}.smwb-timeline__body{min-width:0}.smwb-timeline__title{overflow-wrap:anywhere}.smwb-timeline__title a{color:inherit;text-decoration:none}.smwb-timeline__title a:hover{color:var(--smui-primaryColor);text-decoration:underline}.smwb-timeline__meta{font-size:.75rem;color:var(--smui-onSurfaceVariant);overflow-wrap:anywhere}.smwb-timeline__content{margin-top:4px}.smwb-timeline__time{font-size:.75rem;line-height:1.45rem;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--smui-onSurfaceVariant)}.smwb-timeline__item_tone-info{--smwb-timeline-tone: var(--smui-infoColor)}.smwb-timeline__item_tone-success{--smwb-timeline-tone: var(--smui-successColor)}.smwb-timeline__item_tone-warning{--smwb-timeline-tone: var(--smui-warningColor)}.smwb-timeline__item_tone-error{--smwb-timeline-tone: var(--smui-errorColor)}.smwb-timeline_dense{--smwb-timeline-pad: 2px;row-gap:8px;font-size:.8125rem}.smwb-timeline_sticky-labels .smwb-timeline__label{position:sticky;top:0;z-index:1;background-color:var(--smwb-timeline-label-bg, var(--smui-surfaceBackground))}
@@ -1 +1 @@
1
- .smwb-toggle{width:50px;height:30px;position:relative;cursor:pointer;display:inline-flex}.smwb-toggle__wrapper{display:inline-flex;flex-direction:column;gap:8px}.smwb-toggle__wrapper_label-left{flex-direction:row;align-items:center}.smwb-toggle__wrapper_label-right{flex-direction:row-reverse;align-items:center}.smwb-toggle.smwb-disabled{opacity:.35;pointer-events:none}.smwb-toggle__track{width:100%;height:100%;position:absolute;top:0;left:0;background-color:var(--smui-toggleTrackColor);border-radius:999px;transition:all .2s ease-in-out;border:2px solid var(--smui-toggleBorderColor)}.smwb-toggle__thumb{position:absolute;z-index:1;width:15px;height:15px;border-radius:50%;background-color:#79747e;left:5px;transform:translateY(-50%);top:50%;transition:all .2s ease-in-out;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.smwb-toggle__thumb:before{width:40px;height:40px;border-radius:50%;content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background-color:none;opacity:0;transition:all .2s ease-in-out}.smwb-toggle__thumb:hover:before{transform:translate(-50%,-50%) scale(1);background-color:var(--smui-onSurfaceHover);opacity:1}.smwb-toggle__checkbox{display:none}.smwb-toggle__checkbox:checked~.smwb-toggle__track{background-color:var(--smui-toggleTrackActiveColor);border:2px solid transparent}.smwb-toggle__checkbox:checked~.smwb-toggle__thumb{left:25px;background-color:var(--smui-toggleThumbActiveColor);width:20px;height:20px}.smwb-toggle__checkbox:checked~.smwb-toggle__thumb:hover:before{transform:translate(-50%,-50%) scale(1);background-color:var(--smui-primaryColorHover);opacity:1}.smwb-toggle__checkbox:checked:active~.smwb-toggle__thumb:before{transform:translate(-50%,-50%) scale(1);background-color:var(--smui-primaryColorActive);opacity:1}.smwb-toggle__checkbox:active~.smwb-toggle__thumb:before{transform:translate(-50%,-50%) scale(1);background-color:var(--smui-onSurfaceActive);opacity:1}
1
+ .smwb-toggle{width:50px;height:30px;position:relative;cursor:pointer;display:inline-flex}.smwb-toggle__wrapper{display:inline-flex;flex-direction:column;gap:8px}.smwb-toggle__wrapper_label-left{flex-direction:row;align-items:center}.smwb-toggle__wrapper_label-right{flex-direction:row-reverse;align-items:center}.smwb-toggle.smwb-disabled{opacity:.35;pointer-events:none}.smwb-toggle__track{width:100%;height:100%;position:absolute;top:0;left:0;background-color:var(--smui-toggleTrackColor);border-radius:999px;transition:all .2s ease-in-out;border:2px solid var(--smui-toggleBorderColor)}.smwb-toggle__thumb{position:absolute;z-index:1;width:15px;height:15px;border-radius:50%;background-color:#79747e;left:5px;transform:translateY(-50%);top:50%;transition:all .2s ease-in-out;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.smwb-toggle__thumb:before{width:40px;height:40px;border-radius:50%;content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);background-color:none;opacity:0;transition:all .2s ease-in-out}.smwb-toggle__thumb:hover:before{transform:translate(-50%,-50%) scale(1);background-color:var(--smui-onSurfaceHover);opacity:1}.smwb-toggle__checkbox{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;opacity:0}.smwb-toggle__checkbox:focus-visible~.smwb-toggle__track{outline:2px solid var(--smui-primaryColor);outline-offset:2px}.smwb-toggle__checkbox:checked~.smwb-toggle__track{background-color:var(--smui-toggleTrackActiveColor);border:2px solid transparent}.smwb-toggle__checkbox:checked~.smwb-toggle__thumb{left:25px;background-color:var(--smui-toggleThumbActiveColor);width:20px;height:20px}.smwb-toggle__checkbox:checked~.smwb-toggle__thumb:hover:before{transform:translate(-50%,-50%) scale(1);background-color:var(--smui-primaryColorHover);opacity:1}.smwb-toggle__checkbox:checked:active~.smwb-toggle__thumb:before{transform:translate(-50%,-50%) scale(1);background-color:var(--smui-primaryColorActive);opacity:1}.smwb-toggle__checkbox:active~.smwb-toggle__thumb:before{transform:translate(-50%,-50%) scale(1);background-color:var(--smui-onSurfaceActive);opacity:1}
@@ -1 +1 @@
1
- .smwb-tooltip{border-radius:4px;background-color:var(--smui-tooltipBg);color:var(--smui-tooltipTextColor);z-index:5;font-size:12px;padding:0 8px;height:24px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;overflow:hidden;opacity:0;visibility:hidden;white-space:nowrap;min-width:50px}.smwb-tooltip__ref{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.smwb-tooltip__ref:hover+.smwb-tooltip{visibility:visible;opacity:1}.smwb-tooltip__wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}
1
+ .smwb-tooltip{border-radius:4px;background-color:var(--smui-tooltipBg);color:var(--smui-tooltipTextColor);z-index:5;font-size:12px;padding:0 8px;height:24px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;min-width:50px;animation:smwb-tooltip-in .15s ease-out}.smwb-tooltip__ref{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.smwb-tooltip__wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}@keyframes smwb-tooltip-in{0%{opacity:0}}
@@ -1 +1 @@
1
- .smwb-typography{margin:0;font-family:var(--smui-fontFamily, inherit);color:var(--smui-onSurfaceColor)}.smwb-typography_h1{font-size:48px;font-weight:300;line-height:1.2}.smwb-typography_h2{font-size:40px;font-weight:300;line-height:1.2}.smwb-typography_h3{font-size:32px;font-weight:400;line-height:1.25}.smwb-typography_h4{font-size:28px;font-weight:400;line-height:1.3}.smwb-typography_h5{font-size:24px;font-weight:500;line-height:1.3}.smwb-typography_h6{font-size:20px;font-weight:500;line-height:1.4}.smwb-typography_subtitle1{font-size:16px;font-weight:500;line-height:1.5}.smwb-typography_subtitle2{font-size:14px;font-weight:500;line-height:1.5}.smwb-typography_body1{font-size:16px;font-weight:400;line-height:1.5}.smwb-typography_body2{font-size:14px;font-weight:400;line-height:1.5}.smwb-typography_caption{font-size:12px;font-weight:400;line-height:1.4}.smwb-typography_overline{font-size:12px;font-weight:600;line-height:1.4}.smwb-typography_button{font-size:14px;font-weight:500;line-height:1.75}.smwb-typography_overline,.smwb-typography_button{text-transform:uppercase;letter-spacing:.06em}.smwb-typography_color-primary{color:var(--smui-primaryColor)}.smwb-typography_color-secondary{color:var(--smui-secondaryColor)}.smwb-typography_color-error{color:var(--smui-errorColor)}.smwb-typography_color-success{color:var(--smui-successColor)}.smwb-typography_color-warning{color:var(--smui-warningColor)}.smwb-typography_color-info{color:var(--smui-infoColor)}.smwb-typography_color-textPrimary{color:var(--smui-primaryTextColor)}.smwb-typography_color-textSecondary{color:var(--smui-onSurfaceVariant)}.smwb-typography_color-disabled{color:var(--smui-disabledTextColor)}.smwb-typography_align-left{text-align:left}.smwb-typography_align-center{text-align:center}.smwb-typography_align-right{text-align:right}.smwb-typography_align-justify{text-align:justify}.smwb-typography_gutter{margin-bottom:.35em}.smwb-typography_nowrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
1
+ .smwb-typography{margin:0;font-family:var(--smui-fontFamily, inherit);color:var(--smui-onSurfaceColor)}.smwb-typography_h1{font-size:clamp(2rem,1.5714rem + 1.9048vw,3rem);font-weight:300;line-height:1.2}.smwb-typography_h2{font-size:clamp(1.75rem,1.4286rem + 1.4286vw,2.5rem);font-weight:300;line-height:1.2}.smwb-typography_h3{font-size:clamp(1.5rem,1.2857rem + .9524vw,2rem);font-weight:400;line-height:1.25}.smwb-typography_h4{font-size:clamp(1.375rem,1.2143rem + .7143vw,1.75rem);font-weight:400;line-height:1.3}.smwb-typography_h5{font-size:clamp(1.25rem,1.1429rem + .4762vw,1.5rem);font-weight:500;line-height:1.3}.smwb-typography_h6{font-size:20px;font-weight:500;line-height:1.4}.smwb-typography_subtitle1{font-size:16px;font-weight:500;line-height:1.5}.smwb-typography_subtitle2{font-size:14px;font-weight:500;line-height:1.5}.smwb-typography_body1{font-size:16px;font-weight:400;line-height:1.5}.smwb-typography_body2{font-size:14px;font-weight:400;line-height:1.5}.smwb-typography_caption{font-size:12px;font-weight:400;line-height:1.4}.smwb-typography_overline{font-size:12px;font-weight:600;line-height:1.4;text-transform:var(--smui-font-overline-transform, uppercase);letter-spacing:var(--smui-font-overline-letter-spacing, .06em)}.smwb-typography_button{font-size:14px;font-weight:500;line-height:1.75;text-transform:var(--smui-font-button-transform, uppercase);letter-spacing:var(--smui-font-button-letter-spacing, .06em)}.smwb-typography_color-primary{color:var(--smui-primaryColor)}.smwb-typography_color-secondary{color:var(--smui-secondaryColor)}.smwb-typography_color-error{color:var(--smui-errorColor)}.smwb-typography_color-success{color:var(--smui-successColor)}.smwb-typography_color-warning{color:var(--smui-warningColor)}.smwb-typography_color-info{color:var(--smui-infoColor)}.smwb-typography_color-textPrimary{color:var(--smui-primaryTextColor)}.smwb-typography_color-textSecondary{color:var(--smui-onSurfaceVariant)}.smwb-typography_color-disabled{color:var(--smui-disabledTextColor)}.smwb-typography_align-left{text-align:left}.smwb-typography_align-center{text-align:center}.smwb-typography_align-right{text-align:right}.smwb-typography_align-justify{text-align:justify}.smwb-typography_gutter{margin-bottom:.35em}.smwb-typography_nowrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smwb-typography_clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--smwb-typography-lines);line-clamp:var(--smwb-typography-lines);overflow:hidden;overflow-wrap:break-word}.smwb-typography_tabular-nums{font-variant-numeric:tabular-nums}
@@ -0,0 +1 @@
1
+ .smwb-rt-table--resizer{position:absolute;right:0;top:0;height:100%;width:5px;background:#00000080;cursor:col-resize;user-select:none;touch-action:none}.smwb-rt-table--resizer.smwb-rt-table--isResizing{background:#00f;opacity:1}.smwb-head-cell .smwb-head-cell__actions:has(>.smwb-rt-table--resizer:only-child){margin-inline-start:0}@media(hover:hover){.smwb-rt-table--resizer{opacity:.5}.smwb-head-cell:hover .smwb-rt-table--resizer,*:hover>.smwb-rt-table--resizer{opacity:1}}
@@ -0,0 +1 @@
1
+ :where(:root){--smui-onSurfaceVariant: #49454e;--smui-onSurfaceColor: #1c1b1f;--smui-primaryColor: #6750a4;--smui-fontFamily: "Roboto", sans-serif;--smui-pageBackground: #fff;--smui-scrollThumbColor: color-mix(in srgb, #1c1b1f 38%, transparent);--smui-surfaceBackground: #fffbfe;--smui-primaryTextColor: #000;--smui-onPrimaryColor: #fff;--smui-disabledTextColor: color-mix(in srgb, #1c1b1f 38%, transparent);--smui-outlineColor: #79747e;--smui-onSurfaceHover: color-mix(in srgb, #1c1b1f 8%, transparent);--smui-onSurfaceActive: color-mix(in srgb, #1c1b1f 12%, transparent);--smui-onSurfaceFocus: color-mix(in srgb, #1c1b1f 12%, transparent);--smui-surfaceVariant: #e7e0ec;--smui-disabledBgColor: color-mix(in srgb, #1c1b1f 12%, transparent);--smui-primaryContainer: #eaddff;--smui-onPrimaryContainer: #21005e;--smui-onPrimaryContainerHover: color-mix(in srgb, #000 2%, #eaddff);--smui-onPrimaryContainerActive: color-mix(in srgb, #000 4%, #eaddff);--smui-primaryColorHover: color-mix(in srgb, #6750a4 8%, transparent);--smui-primaryColorActive: color-mix(in srgb, #6750a4 14%, transparent);--smui-primaryColorFocus: color-mix(in srgb, #6750a4 12%, transparent);--smui-secondaryColor: #625b71;--smui-errorColor: red;--smui-successColor: #36913b;--smui-warningColor: #ed6c02;--smui-infoColor: #0288d1;--smui-onSecondaryColor: #fff;--smui-onErrorColor: #fff;--smui-onSuccessColor: #fff;--smui-onWarningColor: #fff;--smui-onInfoColor: #fff;--smui-secondaryColorHover: color-mix(in srgb, #625b71 8%, transparent);--smui-secondaryColorActive: color-mix(in srgb, #625b71 14%, transparent);--smui-secondaryColorFocus: color-mix(in srgb, #625b71 12%, transparent);--smui-errorColorHover: color-mix(in srgb, red 8%, transparent);--smui-errorColorActive: color-mix(in srgb, red 14%, transparent);--smui-errorColorFocus: color-mix(in srgb, red 12%, transparent);--smui-successColorHover: color-mix(in srgb, #36913b 8%, transparent);--smui-successColorActive: color-mix(in srgb, #36913b 14%, transparent);--smui-successColorFocus: color-mix(in srgb, #36913b 12%, transparent);--smui-warningColorHover: color-mix(in srgb, #ed6c02 8%, transparent);--smui-warningColorActive: color-mix(in srgb, #ed6c02 14%, transparent);--smui-warningColorFocus: color-mix(in srgb, #ed6c02 12%, transparent);--smui-infoColorHover: color-mix(in srgb, #0288d1 8%, transparent);--smui-infoColorActive: color-mix(in srgb, #0288d1 14%, transparent);--smui-infoColorFocus: color-mix(in srgb, #0288d1 12%, transparent);--smui-dividerColor: rgba(0, 0, 0, .12);--smui-buttonOutlinedHoverBg: color-mix(in srgb, #6750a4 8%, transparent);--smui-buttonOutlinedActiveBg: color-mix(in srgb, #6750a4 12%, transparent);--smui-buttonOutlinedFocusBg: color-mix(in srgb, #6750a4 12%, transparent);--smui-buttonContainedHoverBg: color-mix(in srgb, #fff 4%, #6750a4);--smui-buttonContainedActiveBg: color-mix(in srgb, #fff 10%, #6750a4);--smui-buttonContainedFocusBg: color-mix(in srgb, #fff 10%, #6750a4);--smui-buttonDisabledBg: color-mix(in srgb, #1c1b1f 12%, transparent);--smui-checkboxBorderColor: #1c1b1f;--smui-checkboxDisabledColor: color-mix(in srgb, #1c1b1f 38%, transparent);--smui-checkboxCheckedBg: #6750a4;--smui-toggleTrackColor: #e7e0ec;--smui-toggleThumbActiveColor: #fffbfe;--smui-toggleTrackActiveColor: #6750a4;--smui-toggleBorderColor: #79747e;--smui-chipsBg: #fffbfe;--smui-chipsIconColorHover: #6750a4;--smui-chipsIconColor: #6750a4;--smui-chipsOutlinedBorder: #79747e;--smui-chipsHoverBg: color-mix(in srgb, #1c1b1f 8%, transparent);--smui-chipsActiveBg: color-mix(in srgb, #1c1b1f 12%, transparent);--smui-chipsSelectedBg: #e8def8;--smui-menuTextColor: #1c1b1f;--smui-menuDividerColor: rgba(0, 0, 0, .12);--smui-menuDisabledTextColor: color-mix(in srgb, #1c1b1f 38%, transparent);--smui-tabIconColor: #49454e;--smui-tabColorDefault: #49454e;--smui-sliderColor: #6750a4;--smui-sliderDisabledColor: #9e9e9e;--smui-fabFocusBg: color-mix(in srgb, #000 4%, #eaddff);--smui-fabActiveBg: color-mix(in srgb, #000 4%, #eaddff);--smui-fabHoverBg: color-mix(in srgb, #000 2%, #eaddff);--smui-indicatorTrackBg: #e7e0ec;--smui-appBarBg: #fffbfe;--smui-appBarContentColor: #49454e;--smui-navItemActiveBg: color-mix(in srgb, #6750a4 8%, transparent);--smui-tableBorderColor: color-mix(in srgb, #000 12%, transparent);--smui-tooltipBg: #6d6d6d;--smui-tooltipTextColor: #fff;--smui-textFieldLabelColor: rgba(0, 0, 0, .6);--smui-textFieldLabelDisabledColor: color-mix(in srgb, #1c1b1f 38%, transparent);--smui-textFieldInputColor: rgba(0, 0, 0, .87);--smui-textFieldInputDisabledColor: color-mix(in srgb, #1c1b1f 38%, transparent);--smui-textFieldNotchedColor: rgba(0, 0, 0, .38);--smui-textFieldNotchedHoverColor: #000;--smui-textFieldNotchedDisabledColor: rgba(0, 0, 0, .26);--smui-textFieldHelperTextColor: rgba(0, 0, 0, .6);--smui-textFieldHelperTextDisabledColor: color-mix(in srgb, #1c1b1f 38%, transparent);--smui-textFieldFilledBorderColor: rgba(0, 0, 0, .42);--smui-textFieldFilledHoverBorderColor: #000;--smui-textFieldFilledDisabledBorderColor: rgba(0, 0, 0, .26);--smui-textFieldFilledBgColor: rgba(0, 0, 0, .05);--smui-textFieldFilledHoverBgColor: rgba(0, 0, 0, .07);--smui-textFieldFilledFocusedBgColor: rgba(0, 0, 0, .12);--smui-textFieldFilledDisabledBgColor: rgba(0, 0, 0, .045);--smui-selectFieldSearchMenuColor: rgba(0, 0, 0, .87);--smui-dataPickerIconDisabledColor: rgba(0, 0, 0, .26);--smui-dataPickerWeekDayColor: rgba(0, 0, 0, .6);--smui-messageBackground: color-mix(in srgb, #6750a4 10%, transparent);--smui-spacing-unit: 4px;--smui-space-xxs: 2px;--smui-space-xs: 4px;--smui-space-sm: 8px;--smui-space-md: 12px;--smui-space-lg: 16px;--smui-space-xl: 20px;--smui-space-xxl: 24px;--smui-space-xxxl: 32px;--smui-radius-xs: 2px;--smui-radius-sm: 4px;--smui-radius-md: 8px;--smui-radius-lg: 12px;--smui-radius-xl: 16px;--smui-radius-xxl: 28px;--smui-elevation-1: 0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12);--smui-elevation-2: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12);--smui-elevation-4: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12);--smui-elevation-6: 0 3px 5px -1px rgba(0, 0, 0, .2), 0 6px 10px 0 rgba(0, 0, 0, .14), 0 1px 18px 0 rgba(0, 0, 0, .12);--smui-elevation-8: 0 5px 5px -3px rgba(0, 0, 0, .2), 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12);--smui-elevation-12: 0 7px 8px -4px rgba(0, 0, 0, .2), 0 12px 17px 2px rgba(0, 0, 0, .14), 0 5px 22px 4px rgba(0, 0, 0, .12);--smui-elevation-24: 0 11px 15px -7px rgba(0, 0, 0, .2), 0 24px 38px 3px rgba(0, 0, 0, .14), 0 9px 46px 8px rgba(0, 0, 0, .12);--smui-bp-sm: 420px;--smui-bp-md: 768px;--smui-bp-lg: 1024px;--smui-bp-xl: 1200px}:where(:root[data-theme=dark]){--smui-onSurfaceVariant: #cac4d0;--smui-onSurfaceColor: #e6e1e5;--smui-primaryColor: #d0bcff;--smui-fontFamily: "Roboto", sans-serif;--smui-pageBackground: #1f1f1f;--smui-scrollThumbColor: rgba(255, 255, 255, .3);--smui-surfaceBackground: #1c1b1f;--smui-primaryTextColor: #fff;--smui-onPrimaryColor: #371e73;--smui-disabledTextColor: color-mix(in srgb, #e6e1e5 38%, transparent);--smui-outlineColor: #938f99;--smui-onSurfaceHover: color-mix(in srgb, #e6e1e5 8%, transparent);--smui-onSurfaceActive: color-mix(in srgb, #e6e1e5 12%, transparent);--smui-onSurfaceFocus: color-mix(in srgb, #e6e1e5 12%, transparent);--smui-surfaceVariant: #49454f;--smui-disabledBgColor: color-mix(in srgb, #e6e1e5 12%, transparent);--smui-primaryContainer: #4f378b;--smui-onPrimaryContainer: #eaddff;--smui-onPrimaryContainerHover: color-mix(in srgb, #fff 6%, #4f378b);--smui-onPrimaryContainerActive: color-mix(in srgb, #fff 10%, #4f378b);--smui-primaryColorHover: color-mix(in srgb, #d0bcff 8%, transparent);--smui-primaryColorActive: color-mix(in srgb, #d0bcff 14%, transparent);--smui-primaryColorFocus: color-mix(in srgb, #d0bcff 12%, transparent);--smui-dividerColor: rgba(255, 255, 255, .12);--smui-buttonOutlinedHoverBg: color-mix(in srgb, #d0bcff 8%, transparent);--smui-buttonOutlinedActiveBg: color-mix(in srgb, #d0bcff 12%, transparent);--smui-buttonOutlinedFocusBg: color-mix(in srgb, #d0bcff 12%, transparent);--smui-buttonContainedHoverBg: color-mix(in srgb, #fff 4%, #d0bcff);--smui-buttonContainedActiveBg: color-mix(in srgb, #fff 8%, #d0bcff);--smui-buttonContainedFocusBg: color-mix(in srgb, #fff 8%, #d0bcff);--smui-buttonDisabledBg: color-mix(in srgb, #e6e1e5 12%, transparent);--smui-checkboxBorderColor: #e6e1e5;--smui-checkboxDisabledColor: rgba(255, 255, 255, .3);--smui-checkboxCheckedBg: #d0bcff;--smui-toggleTrackColor: #49454f;--smui-toggleThumbActiveColor: #6750a4;--smui-toggleTrackActiveColor: #eaddff;--smui-toggleBorderColor: #938f99;--smui-chipsBg: color-mix(in srgb, #e6e1e5 8%, transparent);--smui-chipsIconColorHover: #e6e1e5;--smui-chipsIconColor: color-mix(in srgb, #e6e1e5 60%, transparent);--smui-chipsOutlinedBorder: #938f99;--smui-chipsHoverBg: color-mix(in srgb, #e6e1e5 12%, transparent);--smui-chipsActiveBg: color-mix(in srgb, #e6e1e5 16%, transparent);--smui-chipsSelectedBg: color-mix(in srgb, #e6e1e5 16%, transparent);--smui-menuTextColor: #e6e1e5;--smui-menuDividerColor: rgba(255, 255, 255, .12);--smui-menuDisabledTextColor: rgba(255, 255, 255, .3);--smui-tabIconColor: color-mix(in srgb, #fff 70%, transparent);--smui-tabColorDefault: color-mix(in srgb, #fff 70%, transparent);--smui-tableBorderColor: color-mix(in srgb, #fff 12%, transparent);--smui-sliderColor: #6750a4;--smui-sliderDisabledColor: #9e9e9e;--smui-fabFocusBg: color-mix(in srgb, #fff 10%, #4f378b);--smui-fabActiveBg: color-mix(in srgb, #fff 10%, #4f378b);--smui-fabHoverBg: color-mix(in srgb, #fff 6%, #4f378b);--smui-indicatorTrackBg: #49454f;--smui-appBarBg: #1c1b1f;--smui-appBarContentColor: #cac4d0;--smui-navItemActiveBg: transparent;--smui-tooltipBg: #fff;--smui-tooltipTextColor: #000;--smui-textFieldLabelColor: rgba(255, 255, 255, .7);--smui-textFieldLabelDisabledColor: rgba(255, 255, 255, .5);--smui-textFieldInputColor: #fff;--smui-textFieldInputDisabledColor: rgba(255, 255, 255, .5);--smui-textFieldNotchedColor: rgba(255, 255, 255, .3);--smui-textFieldNotchedHoverColor: #fff;--smui-textFieldNotchedDisabledColor: rgba(255, 255, 255, .3);--smui-textFieldHelperTextColor: rgba(255, 255, 255, .7);--smui-textFieldHelperTextDisabledColor: rgba(255, 255, 255, .5);--smui-textFieldFilledBorderColor: rgba(255, 255, 255, .7);--smui-textFieldFilledHoverBorderColor: #fff;--smui-textFieldFilledDisabledBorderColor: rgba(255, 255, 255, .5);--smui-textFieldFilledBgColor: rgba(255, 255, 255, .09);--smui-textFieldFilledHoverBgColor: rgba(255, 255, 255, .13);--smui-textFieldFilledFocusedBgColor: rgba(255, 255, 255, .13);--smui-textFieldFilledDisabledBgColor: rgba(255, 255, 255, .045);--smui-selectFieldSearchMenuColor: #fff;--smui-dataPickerIconDisabledColor: rgba(255, 255, 255, .5);--smui-dataPickerWeekDayColor: rgba(255, 255, 255, .6);--smui-messageBackground: #323232}
@@ -0,0 +1,2 @@
1
+ export { Chart, chartTheme, readChartPalette } from "./components/dataDisplay/chart";
2
+ export type { ChartProps, ChartEventParams, ChartInstance, ChartModule, ChartOption, ChartPalette, } from "./components/dataDisplay/chart";
package/dist/chart.js ADDED
@@ -0,0 +1,8 @@
1
+ import { Chart as t } from "./components/dataDisplay/chart/chart.js";
2
+ import { chartTheme as h, readChartPalette as o } from "./components/dataDisplay/chart/chartTheme.js";
3
+ export {
4
+ t as Chart,
5
+ h as chartTheme,
6
+ o as readChartPalette
7
+ };
8
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -35,12 +35,16 @@ export interface IconProps extends HTMLAttributes<HTMLSpanElement> {
35
35
  */
36
36
  color?: IconColor | (string & {});
37
37
  /**
38
- * Accessible name. When provided the icon is exposed as
39
- * `role="img"`; otherwise it is `aria-hidden` (decorative).
38
+ * Accessible name, also shown as a tooltip. A non-empty `title`,
39
+ * `aria-label` or `aria-labelledby` names the icon: it is exposed as
40
+ * `role="img"`, or with the `role` you pass. Without any of them the icon is
41
+ * decorative and `aria-hidden`.
40
42
  */
41
43
  title?: string;
42
44
  /** Overrides the icon source for this icon only. See {@link IconSource}. */
43
45
  source?: IconSource;
46
+ /** Test id of the root `<span>`; `icon` unless given. */
47
+ "data-testid"?: string;
44
48
  }
45
49
  export declare const Icon: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<HTMLSpanElement>>;
46
50
  export default Icon;
@@ -1,61 +1,74 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import '../../../assets/styles/less/components/icon/icon.entry.css';/* empty css */
3
- import { forwardRef as L, useSyncExternalStore as C } from "react";
4
- import N from "clsx";
5
- import { getIcon as O } from "../../../icons/registry.js";
6
- import { getIconConfig as R } from "../../../icons/config.js";
7
- import { subscribeIcons as j } from "../../../icons/store.js";
8
- import { useIconSource as B } from "./iconProvider.js";
9
- const E = ["primary", "secondary", "error", "success", "warning", "info", "disabled"], y = /* @__PURE__ */ new Set();
10
- function T(r) {
11
- !R().warnOnMissing || y.has(r) || (y.add(r), console.warn(
1
+ import { jsx as c } from "react/jsx-runtime";
2
+ import '../../../assets/styles/less/components/icon/icon.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { forwardRef as N, useSyncExternalStore as O } from "react";
5
+ import R from "clsx";
6
+ import { getIcon as j } from "../../../icons/registry.js";
7
+ import { getIconConfig as B } from "../../../icons/config.js";
8
+ import { subscribeIcons as E } from "../../../icons/store.js";
9
+ import { useIconSource as T } from "./iconProvider.js";
10
+ const z = ["primary", "secondary", "error", "success", "warning", "info", "disabled"], S = /* @__PURE__ */ new Set();
11
+ function A(r) {
12
+ !B().warnOnMissing || S.has(r) || (S.add(r), console.warn(
12
13
  `[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.`
13
14
  ));
14
15
  }
15
- const W = 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) {
16
- var w, b;
17
- const d = B(_), g = typeof o == "string" ? o : null, m = () => {
18
- var h;
19
- return g === null ? null : (h = O(g)) != null ? h : null;
20
- }, M = C(j, m, m), s = typeof o == "object" ? o : M, p = typeof o == "string" ? o : o.name, t = d === "google" ? "google" : s ? "smwb" : d === "smwb" ? "missing" : "google";
21
- t === "missing" && T(p);
22
- const f = 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;
23
- return /* @__PURE__ */ l(
16
+ const P = N(function({
17
+ className: I,
18
+ weight: d = 400,
19
+ fill: _ = 0,
20
+ size: n = 20,
21
+ grade: v = 100,
22
+ name: o,
23
+ color: i = "inherit",
24
+ title: a,
25
+ source: x,
26
+ "data-testid": M = "icon",
27
+ ...t
28
+ }, $) {
29
+ var w, h, y;
30
+ const u = T(x), m = typeof o == "string" ? o : null, g = () => {
31
+ var p;
32
+ return m === null ? null : (p = j(m)) != null ? p : null;
33
+ }, k = O(E, g, g), e = typeof o == "object" ? o : k, f = typeof o == "string" ? o : o.name, s = u === "google" ? "google" : e ? "smwb" : u === "smwb" ? "missing" : "google";
34
+ s === "missing" && A(f);
35
+ const b = !(a || t["aria-label"] || t["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;
36
+ return /* @__PURE__ */ c(
24
37
  "span",
25
38
  {
26
- ...u,
27
- ref: x,
28
- "data-testid": "icon",
29
- "data-icon-source": t,
30
- role: f ? void 0 : "img",
31
- "aria-hidden": f ? !0 : void 0,
32
- "aria-label": i,
33
- title: i,
39
+ ...t,
40
+ ref: $,
41
+ "data-testid": M,
42
+ "data-icon-source": s,
43
+ role: (w = t.role) != null ? w : b ? void 0 : "img",
44
+ "aria-hidden": b ? !0 : t["aria-hidden"],
45
+ "aria-label": a || t["aria-label"],
46
+ title: a,
34
47
  style: {
35
- ...u.style,
36
- ...t === "google" ? { fontVariationSettings: `'FILL' ${v}, 'wght' ${a}, 'GRAD' ${I}, 'opsz' 48` } : null
48
+ ...t.style,
49
+ ...s === "google" ? { fontVariationSettings: `'FILL' ${_}, 'wght' ${d}, 'GRAD' ${v}, 'opsz' 48` } : null
37
50
  },
38
- className: N("smwb-icon__wrapper", $, S),
39
- children: t === "google" ? /* @__PURE__ */ l("span", { className: "material-symbols-outlined", style: { fontSize: c }, children: p }) : /* @__PURE__ */ l(
51
+ className: R("smwb-icon__wrapper", L, I),
52
+ children: s === "google" ? /* @__PURE__ */ c("span", { className: "material-symbols-outlined", style: { fontSize: l }, children: f }) : /* @__PURE__ */ c(
40
53
  "svg",
41
54
  {
42
55
  className: "smwb-icon__svg",
43
- viewBox: (w = s == null ? void 0 : s.viewBox) != null ? w : "0 0 24 24",
44
- style: { width: c, height: c },
56
+ viewBox: (h = e == null ? void 0 : e.viewBox) != null ? h : "0 0 24 24",
57
+ style: { width: l, height: l },
45
58
  fill: "none",
46
59
  stroke: "currentColor",
47
- strokeWidth: k,
60
+ strokeWidth: C,
48
61
  strokeLinecap: "round",
49
62
  strokeLinejoin: "round",
50
63
  "aria-hidden": "true",
51
- dangerouslySetInnerHTML: { __html: (b = s == null ? void 0 : s.body) != null ? b : "" }
64
+ dangerouslySetInnerHTML: { __html: (y = e == null ? void 0 : e.body) != null ? y : "" }
52
65
  }
53
66
  )
54
67
  }
55
68
  );
56
69
  });
57
70
  export {
58
- W as Icon,
59
- W as default
71
+ P as Icon,
72
+ P as default
60
73
  };
61
74
  //# 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":";;;;;;;;AAWA,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":";;;;;;;;;AAYA,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;"}
@@ -8,12 +8,15 @@ export interface RippleClasses {
8
8
  }
9
9
  export interface RippleProps extends React.HTMLAttributes<HTMLSpanElement> {
10
10
  actionRef: React.Ref<RippleActionsRef>;
11
+ /** Extra classes: `ripple` for the root, `child` for each ripple. */
11
12
  classes?: RippleClasses;
12
13
  center?: boolean;
13
14
  /** Ripple lifetime in ms. */
14
15
  duration?: number;
15
16
  /** Ripple color (any CSS color). Defaults to inherited currentColor. */
16
17
  color?: string;
18
+ /** Test id of the root `<span>`; `ripple` unless given. */
19
+ "data-testid"?: string;
17
20
  }
18
21
  /**
19
22
  * ⚠️ Для правильной работы этого эффекта, установите у компонента родителя CSS: **position: relative;**
@@ -1,40 +1,56 @@
1
1
  import { jsx as R } from "react/jsx-runtime";
2
- import '../../../assets/styles/less/components/ripple/ripple.entry.css';/* empty css */
3
- import u, { forwardRef as N } from "react";
4
- import b from "clsx";
5
- const H = N(function({ actionRef: x, className: l, classes: i, center: g, style: e, duration: f = 600, color: r, ...a }, C) {
6
- const [n, c] = u.useState([]), w = u.useRef(0);
7
- return u.useImperativeHandle(
8
- x,
2
+ import '../../../assets/styles/less/components/ripple/ripple.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import r, { forwardRef as S } from "react";
5
+ import x from "clsx";
6
+ const H = S(function({ actionRef: b, className: T, classes: e, center: u, duration: m = 600, color: l, "data-testid": y = "ripple", ...C }, E) {
7
+ const [n, a] = r.useState([]), f = r.useRef(0), p = r.useRef(/* @__PURE__ */ new Set());
8
+ return r.useEffect(() => {
9
+ const i = p.current;
10
+ return () => {
11
+ i.forEach((g) => clearTimeout(g)), i.clear();
12
+ };
13
+ }, []), r.useImperativeHandle(
14
+ b,
9
15
  () => ({
10
- onRipple(d) {
11
- const t = d.currentTarget.getBoundingClientRect(), h = Math.max(t.width, t.height), p = h / 2;
12
- let o, m;
13
- 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([
16
+ onRipple(i) {
17
+ const t = i.currentTarget.getBoundingClientRect(), d = Math.max(t.width, t.height), o = d / 2;
18
+ let h, c;
19
+ u ? (h = t.width > t.height ? 0 : t.width / 2 - o, c = t.height > t.width ? 0 : t.height / 2 - o) : (h = i.clientX - t.left - o, c = i.clientY - t.top - o), a([
14
20
  ...n,
15
21
  /* @__PURE__ */ R(
16
22
  "span",
17
23
  {
18
- className: b("smwb-ripple__child", i == null ? void 0 : i.child),
24
+ className: x("smwb-ripple__child", e == null ? void 0 : e.child),
19
25
  style: {
20
- ...e,
21
- left: o,
22
- top: m,
23
- width: h,
24
- height: h,
25
- backgroundColor: r != null ? r : e == null ? void 0 : e.backgroundColor
26
- },
27
- ...a
26
+ left: h,
27
+ top: c,
28
+ width: d,
29
+ height: d,
30
+ backgroundColor: l
31
+ }
28
32
  },
29
- w.current
33
+ f.current
30
34
  )
31
- ]), w.current += 1, setTimeout(() => {
32
- c((k) => k.slice(1));
33
- }, f);
35
+ ]), f.current += 1;
36
+ const w = setTimeout(() => {
37
+ p.current.delete(w), a((N) => N.slice(1));
38
+ }, m);
39
+ p.current.add(w);
34
40
  }
35
41
  }),
36
- [a, g, n, i == null ? void 0 : i.child, e, f, r]
37
- ), /* @__PURE__ */ R("span", { ref: C, className: b("smwb-ripple", l, i == null ? void 0 : i.ripple), "data-testid": "ripple", "aria-hidden": "true", children: n });
42
+ [u, n, e == null ? void 0 : e.child, m, l]
43
+ ), /* @__PURE__ */ R(
44
+ "span",
45
+ {
46
+ ...C,
47
+ ref: E,
48
+ className: x("smwb-ripple", T, e == null ? void 0 : e.ripple),
49
+ "data-testid": y,
50
+ "aria-hidden": "true",
51
+ children: n
52
+ }
53
+ );
38
54
  });
39
55
  export {
40
56
  H as Ripple
@@ -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":";;;;AA2BO,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":";;;;;AA+BO,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;"}
@@ -1,7 +1,18 @@
1
1
  import React, { ReactNode } from "react";
2
+ /**
3
+ * `filled` — the header is an app-bar strip on a raised panel (the original look).
4
+ * `outlined` — a bordered card with a flat header: for feeds of records.
5
+ * `plain` — no frame, a divider under each panel: for FAQ-style lists.
6
+ * The flat variants stretch to the container and wrap long titles.
7
+ */
8
+ export type AccordionVariant = "filled" | "outlined" | "plain";
2
9
  export interface AccordionProps {
3
10
  className?: string;
4
- title?: string;
11
+ /** Header text or markup (a date, an author, a badge…). */
12
+ title?: ReactNode;
13
+ /** Secondary line under the title. */
14
+ subtitle?: ReactNode;
15
+ variant?: AccordionVariant;
5
16
  isOpenByDefault?: boolean;
6
17
  /** Controlled open state. When set, the component is controlled. */
7
18
  open?: boolean;
@@ -12,7 +23,13 @@ export interface AccordionProps {
12
23
  id?: string;
13
24
  children?: React.ReactNode;
14
25
  startAdornment?: (isOpen: boolean) => React.ReactNode;
26
+ /** Rendered after the title, before the expand icon. */
27
+ endAdornment?: (isOpen: boolean) => React.ReactNode;
15
28
  noIcon?: boolean;
29
+ /** Create the content on first open instead of up front. */
30
+ lazy?: boolean;
31
+ /** Remove the content once the panel has collapsed (created again on open). */
32
+ unmountOnExit?: boolean;
16
33
  onToggleClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
17
34
  /** Fired with the next open state on toggle. */
18
35
  onChange?: (open: boolean) => void;
@@ -1,62 +1,85 @@
1
- import { jsxs as _, jsx as r } from "react/jsx-runtime";
2
- import '../../../assets/styles/less/components/accordion/accordion.entry.css';/* empty css */
3
- import { forwardRef as z, useState as H } from "react";
4
- import b from "clsx";
5
- import R from "../../base/animateHeight/animateHeight.js";
6
- import { Icon as S } from "../../base/icon/icon.js";
7
- import { useId as q } from "../../../hooks/useId.js";
8
- const M = z(function({
9
- className: u,
10
- title: w,
11
- isOpenByDefault: I = !1,
12
- open: n,
13
- disabled: t,
1
+ import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
+ import '../../../assets/styles/less/components/accordion/accordion.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { forwardRef as J, useState as y } from "react";
5
+ import O from "clsx";
6
+ import K from "../../base/animateHeight/animateHeight.js";
7
+ import { Icon as L } from "../../base/icon/icon.js";
8
+ import { useId as M } from "../../../hooks/useId.js";
9
+ const C = J(function({
10
+ className: $,
11
+ title: j,
12
+ subtitle: l,
13
+ variant: B = "filled",
14
+ isOpenByDefault: H = !1,
15
+ open: m,
16
+ disabled: s,
14
17
  icon: a,
15
- id: x,
16
- children: e,
17
- startAdornment: s,
18
- noIcon: N,
19
- onToggleClick: c,
18
+ id: z,
19
+ children: c,
20
+ startAdornment: n,
21
+ endAdornment: p,
22
+ noIcon: P,
23
+ lazy: R,
24
+ unmountOnExit: _,
25
+ onToggleClick: r,
20
26
  onChange: i
21
- }, h) {
22
- const d = n !== void 0, [v, O] = H(I), o = d ? !!n : v, m = q(x), p = `${m}-content`, f = `${m}-header`, y = b("smwb-accordion__arrow-icon", { "smwb-accordion__arrow-icon_opened": o }), j = ($) => {
23
- if (t)
27
+ }, S) {
28
+ const f = m !== void 0, [q, D] = y(H), o = f ? !!m : q, b = M(z), w = `${b}-content`, u = `${b}-header`, h = !!(R || _), [N, I] = y(o);
29
+ o && !N && I(!0);
30
+ const E = (t) => {
31
+ t === 0 && _ && !o && I(!1);
32
+ }, v = h ? c !== void 0 : !!c, F = O("smwb-accordion__arrow-icon", { "smwb-accordion__arrow-icon_opened": o }), G = (t) => {
33
+ if (s)
24
34
  return;
25
- const l = !o;
26
- d || O(l), i == null || i(l), c == null || c($);
35
+ const x = !o;
36
+ f || D(x), i == null || i(x), r == null || r(t);
27
37
  };
28
- return /* @__PURE__ */ _("div", { ref: h, className: b("smwb-accordion", { "smwb-disabled": t }, u), "data-testid": "accordion", children: [
29
- /* @__PURE__ */ _(
30
- "button",
31
- {
32
- id: f,
33
- className: "smwb-accordion__header",
34
- onClick: j,
35
- type: "button",
36
- disabled: t,
37
- "aria-expanded": o,
38
- "aria-controls": e ? p : void 0,
39
- children: [
40
- s == null ? void 0 : s(o),
41
- /* @__PURE__ */ r("span", { className: "smwb-accordion__title", children: w }),
42
- !N && (a != null ? a : /* @__PURE__ */ r(S, { className: y, name: "expand_more", size: 24 }))
43
- ]
44
- }
45
- ),
46
- e && /* @__PURE__ */ r("div", { id: p, role: "region", "aria-labelledby": f, children: /* @__PURE__ */ r(
47
- R,
48
- {
49
- height: o ? "auto" : 0,
50
- animateOpacity: !0,
51
- duration: 300,
52
- className: "smwb-accordion__content",
53
- children: e
54
- }
55
- ) })
56
- ] });
38
+ return /* @__PURE__ */ d(
39
+ "div",
40
+ {
41
+ ref: S,
42
+ className: O("smwb-accordion", `smwb-accordion_${B}`, { "smwb-disabled": s }, $),
43
+ "data-testid": "accordion",
44
+ children: [
45
+ /* @__PURE__ */ d(
46
+ "button",
47
+ {
48
+ id: u,
49
+ className: "smwb-accordion__header",
50
+ onClick: G,
51
+ type: "button",
52
+ disabled: s,
53
+ "aria-expanded": o,
54
+ "aria-controls": v ? w : void 0,
55
+ children: [
56
+ n == null ? void 0 : n(o),
57
+ /* @__PURE__ */ d("span", { className: "smwb-accordion__heading", children: [
58
+ /* @__PURE__ */ e("span", { className: "smwb-accordion__title", children: j }),
59
+ l ? /* @__PURE__ */ e("span", { className: "smwb-accordion__subtitle", children: l }) : null
60
+ ] }),
61
+ p ? /* @__PURE__ */ e("span", { className: "smwb-accordion__end", children: p(o) }) : null,
62
+ !P && (a != null ? a : /* @__PURE__ */ e(L, { className: F, name: "expand_more", size: 24 }))
63
+ ]
64
+ }
65
+ ),
66
+ v && /* @__PURE__ */ e("div", { id: w, role: "region", "aria-labelledby": u, children: /* @__PURE__ */ e(
67
+ K,
68
+ {
69
+ height: o ? "auto" : 0,
70
+ animateOpacity: !0,
71
+ duration: 300,
72
+ className: "smwb-accordion__content",
73
+ onHeightAnimationEnd: E,
74
+ children: !h || N ? c : null
75
+ }
76
+ ) })
77
+ ]
78
+ }
79
+ );
57
80
  });
58
81
  export {
59
- M as Accordion,
60
- M as default
82
+ C as Accordion,
83
+ C as default
61
84
  };
62
85
  //# sourceMappingURL=accordion.js.map