@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,41 +1,43 @@
1
- import { jsxs as R, jsx as d } from "react/jsx-runtime";
2
- import e from "react";
3
- import w from "clsx";
4
- import { Ripple as x } from "../../base/ripple/ripple.js";
5
- const h = e.forwardRef(function({
6
- children: m,
7
- className: i,
8
- onMouseDown: t,
9
- variant: f = "default",
10
- size: a = "medium",
11
- color: s = "primary",
12
- type: c = "button",
13
- ...l
14
- }, u) {
15
- const o = e.useRef(null), b = (n) => {
16
- t == null || t(n);
17
- }, p = (n) => {
18
- var r;
19
- (r = o.current) == null || r.onRipple(n);
1
+ import { jsxs as p, jsx as x } from "react/jsx-runtime";
2
+ import c from "react";
3
+ import $ from "clsx";
4
+ import { Ripple as g } from "../../base/ripple/ripple.js";
5
+ const y = c.forwardRef(function({
6
+ children: i,
7
+ className: l,
8
+ onMouseDown: m,
9
+ // The button sets this on its root too; its own handler calls the caller's first.
10
+ onPointerDown: f,
11
+ variant: e = "default",
12
+ size: r = "medium",
13
+ color: u = "primary",
14
+ type: b = "button",
15
+ ...n
16
+ }, R) {
17
+ const a = c.useRef(null), d = (t) => {
18
+ m == null || m(t);
19
+ }, o = (t) => {
20
+ var s;
21
+ f == null || f(t), (s = a.current) == null || s.onRipple(t);
20
22
  };
21
- return /* @__PURE__ */ R(
23
+ return /* @__PURE__ */ p(
22
24
  "button",
23
25
  {
24
- ref: u,
25
- type: c,
26
- className: w("smwb-fab", `smwb-${f}`, `smwb-${a}`, `smwb-fab_color-${s}`, i),
27
- onMouseDown: b,
28
- onPointerDown: p,
29
- ...l,
26
+ ref: R,
27
+ type: b,
28
+ className: $("smwb-fab", `smwb-${e}`, `smwb-${r}`, `smwb-fab_color-${u}`, l),
29
+ onMouseDown: d,
30
+ onPointerDown: o,
31
+ ...n,
30
32
  children: [
31
- m,
32
- /* @__PURE__ */ d(x, { actionRef: o })
33
+ i,
34
+ /* @__PURE__ */ x(g, { actionRef: a })
33
35
  ]
34
36
  }
35
37
  );
36
38
  });
37
39
  export {
38
- h as FloatingButton,
39
- h as default
40
+ y as FloatingButton,
41
+ y as default
40
42
  };
41
43
  //# sourceMappingURL=floatingButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"floatingButton.js","sources":["../../../../../src/components/inputs/floatingButton/floatingButton.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes } from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\nexport type FloatingButtonColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface FloatingButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n variant?: \"extended\" | \"default\";\n size?: \"small\" | \"medium\" | \"large\";\n /** Semantic color. Resolves through the shared `--smui-*Color*` tokens. */\n color?: FloatingButtonColor;\n}\n\nexport const FloatingButton = React.forwardRef<HTMLButtonElement, FloatingButtonProps>(function FloatingButton(\n {\n children,\n className,\n onMouseDown: onMouseDownProp,\n variant = \"default\",\n size = \"medium\",\n color = \"primary\",\n type = \"button\",\n ...rest\n },\n ref\n) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n };\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement>) => {\n rippleRef.current?.onRipple(event);\n };\n\n return (\n <button\n ref={ref}\n type={type}\n className={cn(\"smwb-fab\", `smwb-${variant}`, `smwb-${size}`, `smwb-fab_color-${color}`, className)}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {children}\n <Ripple actionRef={rippleRef} />\n </button>\n );\n});\n\nexport default FloatingButton;\n"],"names":["FloatingButton","React","children","className","onMouseDownProp","variant","size","color","type","rest","ref","rippleRef","onMouseDown","event","onPointerDown","_a","jsxs","cn","jsx","Ripple"],"mappings":";;;;AAcO,MAAMA,IAAiBC,EAAM,WAAmD,SACrF;AAAA,EACE,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAaC;AAAA,EACb,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAYV,EAAM,OAAyB,IAAI,GAE/CW,IAAc,CAACC,MAA+C;AAClE,IAAAT,KAAA,QAAAA,EAAkBS;AAAA,EACpB,GAGMC,IAAgB,CAACD,MAAiD;;AACtE,KAAAE,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,EAC9B;AAEA,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAN;AAAA,MACA,MAAAF;AAAA,MACA,WAAWS,EAAG,YAAY,QAAQZ,CAAO,IAAI,QAAQC,CAAI,IAAI,kBAAkBC,CAAK,IAAIJ,CAAS;AAAA,MACjG,aAAAS;AAAA,MACA,eAAAE;AAAA,MACC,GAAGL;AAAA,MAEH,UAAA;AAAA,QAAAP;AAAA,QACD,gBAAAgB,EAACC,GAAA,EAAO,WAAWR,EAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpC,CAAC;"}
1
+ {"version":3,"file":"floatingButton.js","sources":["../../../../../src/components/inputs/floatingButton/floatingButton.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes } from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\nexport type FloatingButtonColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface FloatingButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n variant?: \"extended\" | \"default\";\n size?: \"small\" | \"medium\" | \"large\";\n /** Semantic color. Resolves through the shared `--smui-*Color*` tokens. */\n color?: FloatingButtonColor;\n}\n\nexport const FloatingButton = React.forwardRef<HTMLButtonElement, FloatingButtonProps>(function FloatingButton(\n {\n children,\n className,\n onMouseDown: onMouseDownProp,\n // The button sets this on its root too; its own handler calls the caller's first.\n onPointerDown: onPointerDownProp,\n variant = \"default\",\n size = \"medium\",\n color = \"primary\",\n type = \"button\",\n ...rest\n },\n ref\n) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n };\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement>) => {\n onPointerDownProp?.(event);\n rippleRef.current?.onRipple(event);\n };\n\n return (\n <button\n ref={ref}\n type={type}\n className={cn(\"smwb-fab\", `smwb-${variant}`, `smwb-${size}`, `smwb-fab_color-${color}`, className)}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {children}\n <Ripple actionRef={rippleRef} />\n </button>\n );\n});\n\nexport default FloatingButton;\n"],"names":["FloatingButton","React","children","className","onMouseDownProp","onPointerDownProp","variant","size","color","type","rest","ref","rippleRef","onMouseDown","event","onPointerDown","_a","jsxs","cn","jsx","Ripple"],"mappings":";;;;AAcO,MAAMA,IAAiBC,EAAM,WAAmD,SACrF;AAAA,EACE,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAaC;AAAA;AAAA,EAEb,eAAeC;AAAA,EACf,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAYX,EAAM,OAAyB,IAAI,GAE/CY,IAAc,CAACC,MAA+C;AAClE,IAAAV,KAAA,QAAAA,EAAkBU;AAAA,EACpB,GAGMC,IAAgB,CAACD,MAAiD;;AACtE,IAAAT,KAAA,QAAAA,EAAoBS,KACpBE,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,EAC9B;AAEA,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAN;AAAA,MACA,MAAAF;AAAA,MACA,WAAWS,EAAG,YAAY,QAAQZ,CAAO,IAAI,QAAQC,CAAI,IAAI,kBAAkBC,CAAK,IAAIL,CAAS;AAAA,MACjG,aAAAU;AAAA,MACA,eAAAE;AAAA,MACC,GAAGL;AAAA,MAEH,UAAA;AAAA,QAAAR;AAAA,QACD,gBAAAiB,EAACC,GAAA,EAAO,WAAWR,EAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGpC,CAAC;"}
@@ -1,68 +1,87 @@
1
- import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
- import x from "react";
3
- import i from "clsx";
4
- import { useId as g } from "../../../hooks/useId.js";
5
- import { TextFieldWrapper as y } from "../textField/textFieldWrapper.js";
6
- const F = x.forwardRef(function(r, b) {
1
+ import { jsx as i, jsxs as h } from "react/jsx-runtime";
2
+ import B from "react";
3
+ import s from "clsx";
4
+ import { useHelperText as C } from "../../../hooks/useHelperText.js";
5
+ import { useId as R } from "../../../hooks/useId.js";
6
+ import { cancelToggle as I, forgetCancelledToggle as j } from "../../../utils/readOnlyToggle.js";
7
+ import { TextFieldWrapper as q } from "../textField/textFieldWrapper.js";
8
+ const A = B.forwardRef(function(e, u) {
7
9
  const {
8
- label: l,
9
- disabled: a,
10
- readOnly: s,
11
- required: m,
12
- name: p,
13
- id: u,
14
- size: w = "medium",
15
- color: f = "primary",
16
- helperText: _,
17
- error: t,
18
- onChange: d,
19
- className: h,
20
- ...N
21
- } = r, n = g(u), v = (o) => {
22
- if (s) {
23
- o.preventDefault();
10
+ label: t,
11
+ disabled: d,
12
+ readOnly: r,
13
+ required: o,
14
+ name: w,
15
+ id: _,
16
+ size: g = "medium",
17
+ color: x = "primary",
18
+ "data-testid": y = "radio",
19
+ helperText: c,
20
+ error: m,
21
+ onChange: l,
22
+ className: N,
23
+ "aria-describedby": k,
24
+ ...T
25
+ } = e, n = R(_), b = C(c, { describedBy: k }), v = (a) => {
26
+ if (r) {
27
+ j(a, e.checked);
24
28
  return;
25
29
  }
26
- d == null || d(o, r.value !== void 0 ? r.value : o.target.checked, r);
30
+ l == null || l(a, e.value !== void 0 ? e.value : a.target.checked, e);
31
+ }, p = (a) => {
32
+ var f;
33
+ (f = e.onClick) == null || f.call(e, a), r && I(a, e.checked);
27
34
  };
28
- return /* @__PURE__ */ e(y, { helperText: _, disabled: a, error: t, className: "smwb-text-field-checkbox", children: /* @__PURE__ */ c(
29
- "label",
35
+ return /* @__PURE__ */ i(
36
+ q,
30
37
  {
31
- htmlFor: n,
32
- className: i("smwb-radio", `smwb-radio_size-${w}`, `smwb-radio_color-${f}`, {
33
- "smwb-disabled": a,
34
- "smwb-readonly": s
35
- }),
36
- children: [
37
- /* @__PURE__ */ c("span", { className: "smwb-radio__wrapper", children: [
38
- /* @__PURE__ */ e(
39
- "input",
40
- {
41
- id: n,
42
- name: p,
43
- disabled: a,
44
- readOnly: s,
45
- required: m,
46
- "aria-invalid": t || void 0,
47
- "aria-required": m || void 0,
48
- className: i("smwb-radio__input", h),
49
- type: "radio",
50
- "data-testid": "radio",
51
- ref: b,
52
- ...N,
53
- onChange: v
54
- }
55
- ),
56
- /* @__PURE__ */ e("span", { className: i("smwb-radio__btn", { "smwb-disabled": a }) }),
57
- /* @__PURE__ */ e("span", { className: i("smwb-radio__bg", { "smwb-disabled": a }) })
58
- ] }),
59
- l && /* @__PURE__ */ e("span", { className: "smwb-radio__label", children: l })
60
- ]
38
+ helperText: c,
39
+ helperTextId: b.id,
40
+ disabled: d,
41
+ error: m,
42
+ className: "smwb-text-field-checkbox",
43
+ children: /* @__PURE__ */ h(
44
+ "label",
45
+ {
46
+ htmlFor: n,
47
+ className: s("smwb-radio", `smwb-radio_size-${g}`, `smwb-radio_color-${x}`, {
48
+ "smwb-disabled": d,
49
+ "smwb-readonly": r
50
+ }),
51
+ children: [
52
+ /* @__PURE__ */ h("span", { className: "smwb-radio__wrapper", children: [
53
+ /* @__PURE__ */ i(
54
+ "input",
55
+ {
56
+ id: n,
57
+ name: w,
58
+ disabled: d,
59
+ readOnly: r,
60
+ required: o,
61
+ "aria-invalid": m || void 0,
62
+ "aria-required": o || void 0,
63
+ "aria-describedby": b.describedBy,
64
+ className: s("smwb-radio__input", N),
65
+ type: "radio",
66
+ "data-testid": y,
67
+ ref: u,
68
+ ...T,
69
+ onChange: v,
70
+ onClick: p
71
+ }
72
+ ),
73
+ /* @__PURE__ */ i("span", { className: s("smwb-radio__btn", { "smwb-disabled": d }) }),
74
+ /* @__PURE__ */ i("span", { className: s("smwb-radio__bg", { "smwb-disabled": d }) })
75
+ ] }),
76
+ t && /* @__PURE__ */ i("span", { className: "smwb-radio__label", children: t })
77
+ ]
78
+ }
79
+ )
61
80
  }
62
- ) });
81
+ );
63
82
  });
64
83
  export {
65
- F as RadioButton,
66
- F as default
84
+ A as RadioButton,
85
+ A as default
67
86
  };
68
87
  //# sourceMappingURL=radioButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radioButton.js","sources":["../../../../../src/components/inputs/radioButton/radioButton.tsx"],"sourcesContent":["import React, { InputHTMLAttributes } from \"react\";\nimport cn from \"clsx\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { useId } from \"../../../hooks/useId\";\nimport type { SelectionControlColor, SelectionControlSize } from \"../checkbox/checkbox\";\n\nexport interface RadioButtonProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"size\"> {\n label?: string;\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n name?: string;\n id?: string;\n checked?: boolean;\n size?: SelectionControlSize;\n color?: SelectionControlColor;\n helperText?: React.ReactNode;\n error?: boolean;\n /** Unified handler: `(event, value, data)` where `value` is the radio's value (or checked state). */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n value: string | number | readonly string[] | boolean | undefined,\n data: RadioButtonProps\n ) => void;\n}\n\nexport const RadioButton = React.forwardRef<HTMLInputElement, RadioButtonProps>(function RadioButton(props, ref) {\n const {\n label,\n disabled,\n readOnly,\n required,\n name,\n id: idProp,\n size = \"medium\",\n color = \"primary\",\n helperText,\n error,\n onChange,\n className,\n ...args\n } = props;\n const id = useId(idProp);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly) {\n e.preventDefault();\n return;\n }\n onChange?.(e, props.value !== undefined ? props.value : e.target.checked, props);\n };\n\n return (\n <TextFieldWrapper helperText={helperText} disabled={disabled} error={error} className=\"smwb-text-field-checkbox\">\n <label\n htmlFor={id}\n className={cn(\"smwb-radio\", `smwb-radio_size-${size}`, `smwb-radio_color-${color}`, {\n \"smwb-disabled\": disabled,\n \"smwb-readonly\": readOnly,\n })}\n >\n <span className=\"smwb-radio__wrapper\">\n <input\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n aria-invalid={error || undefined}\n aria-required={required || undefined}\n className={cn(\"smwb-radio__input\", className)}\n type=\"radio\"\n data-testid=\"radio\"\n ref={ref}\n {...args}\n onChange={handleChange}\n />\n <span className={cn(\"smwb-radio__btn\", { \"smwb-disabled\": disabled })} />\n <span className={cn(\"smwb-radio__bg\", { \"smwb-disabled\": disabled })} />\n </span>\n {label && <span className=\"smwb-radio__label\">{label}</span>}\n </label>\n </TextFieldWrapper>\n );\n});\n\nexport default RadioButton;\n"],"names":["RadioButton","React","props","ref","label","disabled","readOnly","required","name","idProp","size","color","helperText","error","onChange","className","args","id","useId","handleChange","e","TextFieldWrapper","jsxs","cn","jsx"],"mappings":";;;;;AA0BO,MAAMA,IAAcC,EAAM,WAA+C,SAAqBC,GAAOC,GAAK;AAC/G,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,IAAIC;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,OAAAC,IAAQ;AAAA,IACR,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDd,GACEe,IAAKC,EAAMT,CAAM,GAEjBU,IAAe,CAACC,MAA2C;AAC/D,QAAId,GAAU;AACZ,MAAAc,EAAE,eAAA;AACF;AAAA,IACF;AACA,IAAAN,KAAA,QAAAA,EAAWM,GAAGlB,EAAM,UAAU,SAAYA,EAAM,QAAQkB,EAAE,OAAO,SAASlB;AAAA,EAC5E;AAEA,2BACGmB,GAAA,EAAiB,YAAAT,GAAwB,UAAAP,GAAoB,OAAAQ,GAAc,WAAU,4BACpF,UAAA,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAASL;AAAA,MACT,WAAWM,EAAG,cAAc,mBAAmBb,CAAI,IAAI,oBAAoBC,CAAK,IAAI;AAAA,QAClF,iBAAiBN;AAAA,QACjB,iBAAiBC;AAAA,MAAA,CAClB;AAAA,MAED,UAAA;AAAA,QAAA,gBAAAgB,EAAC,QAAA,EAAK,WAAU,uBACd,UAAA;AAAA,UAAA,gBAAAE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,IAAAP;AAAA,cACA,MAAAT;AAAA,cACA,UAAAH;AAAA,cACA,UAAAC;AAAA,cACA,UAAAC;AAAA,cACA,gBAAcM,KAAS;AAAA,cACvB,iBAAeN,KAAY;AAAA,cAC3B,WAAWgB,EAAG,qBAAqBR,CAAS;AAAA,cAC5C,MAAK;AAAA,cACL,eAAY;AAAA,cACZ,KAAAZ;AAAA,cACC,GAAGa;AAAA,cACJ,UAAUG;AAAA,YAAA;AAAA,UAAA;AAAA,UAEZ,gBAAAK,EAAC,UAAK,WAAWD,EAAG,mBAAmB,EAAE,iBAAiBlB,EAAA,CAAU,GAAG;AAAA,UACvE,gBAAAmB,EAAC,UAAK,WAAWD,EAAG,kBAAkB,EAAE,iBAAiBlB,EAAA,CAAU,EAAA,CAAG;AAAA,QAAA,GACxE;AAAA,QACCD,KAAS,gBAAAoB,EAAC,QAAA,EAAK,WAAU,qBAAqB,UAAApB,EAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEzD;AAEJ,CAAC;"}
1
+ {"version":3,"file":"radioButton.js","sources":["../../../../../src/components/inputs/radioButton/radioButton.tsx"],"sourcesContent":["import React, { InputHTMLAttributes } from \"react\";\nimport cn from \"clsx\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { useHelperText } from \"../../../hooks/useHelperText\";\nimport { useId } from \"../../../hooks/useId\";\nimport { cancelToggle, forgetCancelledToggle } from \"../../../utils/readOnlyToggle\";\nimport type { SelectionControlColor, SelectionControlSize } from \"../checkbox/checkbox\";\n\nexport interface RadioButtonProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\" | \"size\"> {\n label?: string;\n disabled?: boolean;\n /**\n * Keeps the radio as it is: clicks on it or its label, Space and the arrow keys of its group do not check it, and\n * `onChange` is not called. It stays focusable.\n *\n * The input does not tell assistive technology it is read-only: ARIA has no read-only state for a single radio,\n * only for its group. Put `role=\"radiogroup\"`, a name and `aria-readonly=\"true\"` on the element around the radios.\n */\n readOnly?: boolean;\n required?: boolean;\n name?: string;\n id?: string;\n checked?: boolean;\n size?: SelectionControlSize;\n color?: SelectionControlColor;\n helperText?: React.ReactNode;\n error?: boolean;\n /** Unified handler: `(event, value, data)` where `value` is the radio's value (or checked state). */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n value: string | number | readonly string[] | boolean | undefined,\n data: RadioButtonProps\n ) => void;\n /** Test id of the `<input>`; `radio` unless given. */\n \"data-testid\"?: string;\n}\n\nexport const RadioButton = React.forwardRef<HTMLInputElement, RadioButtonProps>(function RadioButton(props, ref) {\n const {\n label,\n disabled,\n readOnly,\n required,\n name,\n id: idProp,\n size = \"medium\",\n color = \"primary\",\n \"data-testid\": dataTestId = \"radio\",\n helperText,\n error,\n onChange,\n className,\n \"aria-describedby\": ariaDescribedBy,\n ...args\n } = props;\n const id = useId(idProp);\n const helper = useHelperText(helperText, { describedBy: ariaDescribedBy });\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (readOnly) {\n forgetCancelledToggle(e, props.checked);\n return;\n }\n onChange?.(e, props.value !== undefined ? props.value : e.target.checked, props);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n props.onClick?.(e);\n if (readOnly) cancelToggle(e, props.checked);\n };\n\n return (\n <TextFieldWrapper\n helperText={helperText}\n helperTextId={helper.id}\n disabled={disabled}\n error={error}\n className=\"smwb-text-field-checkbox\"\n >\n <label\n htmlFor={id}\n className={cn(\"smwb-radio\", `smwb-radio_size-${size}`, `smwb-radio_color-${color}`, {\n \"smwb-disabled\": disabled,\n \"smwb-readonly\": readOnly,\n })}\n >\n <span className=\"smwb-radio__wrapper\">\n <input\n id={id}\n name={name}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n aria-invalid={error || undefined}\n aria-required={required || undefined}\n aria-describedby={helper.describedBy}\n className={cn(\"smwb-radio__input\", className)}\n type=\"radio\"\n data-testid={dataTestId}\n ref={ref}\n {...args}\n onChange={handleChange}\n onClick={handleClick}\n />\n <span className={cn(\"smwb-radio__btn\", { \"smwb-disabled\": disabled })} />\n <span className={cn(\"smwb-radio__bg\", { \"smwb-disabled\": disabled })} />\n </span>\n {label && <span className=\"smwb-radio__label\">{label}</span>}\n </label>\n </TextFieldWrapper>\n );\n});\n\nexport default RadioButton;\n"],"names":["RadioButton","React","props","ref","label","disabled","readOnly","required","name","idProp","size","color","dataTestId","helperText","error","onChange","className","ariaDescribedBy","args","id","useId","helper","useHelperText","handleChange","e","forgetCancelledToggle","handleClick","_a","cancelToggle","jsx","TextFieldWrapper","jsxs","cn"],"mappings":";;;;;;;AAqCO,MAAMA,IAAcC,EAAM,WAA+C,SAAqBC,GAAOC,GAAK;AAC/G,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,IAAIC;AAAA,IACJ,MAAAC,IAAO;AAAA,IACP,OAAAC,IAAQ;AAAA,IACR,eAAeC,IAAa;AAAA,IAC5B,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,oBAAoBC;AAAA,IACpB,GAAGC;AAAA,EAAA,IACDhB,GACEiB,IAAKC,EAAMX,CAAM,GACjBY,IAASC,EAAcT,GAAY,EAAE,aAAaI,GAAiB,GAEnEM,IAAe,CAACC,MAA2C;AAC/D,QAAIlB,GAAU;AACZ,MAAAmB,EAAsBD,GAAGtB,EAAM,OAAO;AACtC;AAAA,IACF;AACA,IAAAa,KAAA,QAAAA,EAAWS,GAAGtB,EAAM,UAAU,SAAYA,EAAM,QAAQsB,EAAE,OAAO,SAAStB;AAAA,EAC5E,GAEMwB,IAAc,CAACF,MAA0C;;AAC7D,KAAAG,IAAAzB,EAAM,YAAN,QAAAyB,EAAA,KAAAzB,GAAgBsB,IACZlB,KAAUsB,EAAaJ,GAAGtB,EAAM,OAAO;AAAA,EAC7C;AAEA,SACE,gBAAA2B;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAAjB;AAAA,MACA,cAAcQ,EAAO;AAAA,MACrB,UAAAhB;AAAA,MACA,OAAAS;AAAA,MACA,WAAU;AAAA,MAEV,UAAA,gBAAAiB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAASZ;AAAA,UACT,WAAWa,EAAG,cAAc,mBAAmBtB,CAAI,IAAI,oBAAoBC,CAAK,IAAI;AAAA,YAClF,iBAAiBN;AAAA,YACjB,iBAAiBC;AAAA,UAAA,CAClB;AAAA,UAED,UAAA;AAAA,YAAA,gBAAAyB,EAAC,QAAA,EAAK,WAAU,uBACd,UAAA;AAAA,cAAA,gBAAAF;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,IAAAV;AAAA,kBACA,MAAAX;AAAA,kBACA,UAAAH;AAAA,kBACA,UAAAC;AAAA,kBACA,UAAAC;AAAA,kBACA,gBAAcO,KAAS;AAAA,kBACvB,iBAAeP,KAAY;AAAA,kBAC3B,oBAAkBc,EAAO;AAAA,kBACzB,WAAWW,EAAG,qBAAqBhB,CAAS;AAAA,kBAC5C,MAAK;AAAA,kBACL,eAAaJ;AAAA,kBACb,KAAAT;AAAA,kBACC,GAAGe;AAAA,kBACJ,UAAUK;AAAA,kBACV,SAASG;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEX,gBAAAG,EAAC,UAAK,WAAWG,EAAG,mBAAmB,EAAE,iBAAiB3B,EAAA,CAAU,GAAG;AAAA,cACvE,gBAAAwB,EAAC,UAAK,WAAWG,EAAG,kBAAkB,EAAE,iBAAiB3B,EAAA,CAAU,EAAA,CAAG;AAAA,YAAA,GACxE;AAAA,YACCD,KAAS,gBAAAyB,EAAC,QAAA,EAAK,WAAU,qBAAqB,UAAAzB,EAAA,CAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACvD;AAAA,EAAA;AAGN,CAAC;"}
@@ -1,84 +1,99 @@
1
- import { jsxs as N, jsx as i } from "react/jsx-runtime";
2
- import { forwardRef as I, useState as v } from "react";
3
- import $ from "clsx";
4
- import { Icon as H } from "../../base/icon/icon.js";
5
- const W = I(function({
6
- className: L,
7
- value: d,
8
- defaultValue: j = 0,
9
- max: o = 5,
10
- precision: c = 1,
11
- readOnly: g = !1,
12
- disabled: y = !1,
13
- size: f = 28,
14
- icon: u,
15
- emptyIcon: w,
16
- name: h,
17
- color: k = "primary",
18
- error: D,
19
- helperText: _,
20
- id: E,
21
- onChange: s
22
- }, K) {
23
- const M = d !== void 0, [S, R] = v(j), [p, b] = v(null), n = d !== void 0 ? d : S, B = p != null ? p : n, l = !g && !y, A = (t, r) => {
24
- if (c === 1)
1
+ import { jsxs as H, jsx as s } from "react/jsx-runtime";
2
+ import { forwardRef as Q, useState as B } from "react";
3
+ import j from "clsx";
4
+ import { Icon as E } from "../../base/icon/icon.js";
5
+ import { useHelperText as V, hasHelperText as W } from "../../../hooks/useHelperText.js";
6
+ const rt = Q(function({
7
+ className: K,
8
+ value: u,
9
+ defaultValue: S = 0,
10
+ max: n = 5,
11
+ precision: m = 1,
12
+ readOnly: i = !1,
13
+ disabled: w = !1,
14
+ size: d = 28,
15
+ icon: _,
16
+ emptyIcon: b,
17
+ name: k,
18
+ color: D = "primary",
19
+ error: M,
20
+ helperText: p,
21
+ id: T,
22
+ "aria-label": g,
23
+ "aria-describedby": x,
24
+ onChange: e
25
+ }, F) {
26
+ const R = u !== void 0, [L, N] = B(S), [v, h] = B(null), l = u !== void 0 ? u : L, U = v != null ? v : l, a = !i && !w, $ = (t, r) => {
27
+ if (m === 1)
25
28
  return r + 1;
26
- const { left: a, width: e } = t.currentTarget.getBoundingClientRect(), G = t.clientX - a < e / 2;
27
- return r + (G ? 0.5 : 1);
28
- }, F = (t, r) => {
29
- if (!l)
29
+ const { left: o, width: c } = t.currentTarget.getBoundingClientRect(), P = t.clientX - o < c / 2;
30
+ return r + (P ? 0.5 : 1);
31
+ }, X = (t, r) => {
32
+ if (!a)
30
33
  return;
31
- const a = A(t, r);
32
- M || R(a), s == null || s(a);
33
- }, U = u != null ? u : /* @__PURE__ */ i(H, { name: "star", fill: 1, size: f }), X = w != null ? w : /* @__PURE__ */ i(H, { name: "star", size: f }), m = (t) => {
34
- const r = Math.max(0, Math.min(o, t));
35
- M || R(r), s == null || s(r);
36
- }, q = (t) => {
37
- l && (t.key === "ArrowRight" || t.key === "ArrowUp" ? (t.preventDefault(), m(n + c)) : t.key === "ArrowLeft" || t.key === "ArrowDown" ? (t.preventDefault(), m(n - c)) : t.key === "Home" ? (t.preventDefault(), m(0)) : t.key === "End" && (t.preventDefault(), m(o)));
38
- };
39
- return /* @__PURE__ */ N(
34
+ const o = $(t, r);
35
+ R || N(o), e == null || e(o);
36
+ }, q = _ != null ? _ : /* @__PURE__ */ s(E, { name: "star", fill: 1, size: d }), G = b != null ? b : /* @__PURE__ */ s(E, { name: "star", size: d }), f = (t) => {
37
+ const r = Math.max(0, Math.min(n, t));
38
+ R || N(r), e == null || e(r);
39
+ }, I = (t) => {
40
+ a && (t.key === "ArrowRight" || t.key === "ArrowUp" ? (t.preventDefault(), f(l + m)) : t.key === "ArrowLeft" || t.key === "ArrowDown" ? (t.preventDefault(), f(l - m)) : t.key === "Home" ? (t.preventDefault(), f(0)) : t.key === "End" && (t.preventDefault(), f(n)));
41
+ }, A = V(p, { describedBy: x }), y = `${l} of ${n}`, J = i ? g ? `${g} ${y}` : y : g || "Rating";
42
+ return /* @__PURE__ */ H(
40
43
  "span",
41
44
  {
42
- ref: K,
43
- id: E,
44
- className: $(
45
+ className: j(
45
46
  "smwb-rating",
46
- { "smwb-rating_readonly": g, "smwb-rating_disabled": y, "smwb-rating_error": D },
47
- k !== "primary" && `smwb-rating_color-${k}`,
48
- L
47
+ { "smwb-rating_readonly": i, "smwb-rating_disabled": w, "smwb-rating_error": M },
48
+ D !== "primary" && `smwb-rating_color-${D}`,
49
+ K
49
50
  ),
50
- "data-testid": "rating",
51
- role: "img",
52
- "aria-label": `${n} of ${o}`,
53
- tabIndex: l ? 0 : void 0,
54
- onKeyDown: l ? q : void 0,
55
51
  children: [
56
- Array.from({ length: o }, (t, r) => {
57
- const a = Math.max(0, Math.min(1, B - r));
58
- return /* @__PURE__ */ N(
59
- "span",
60
- {
61
- className: "smwb-rating__item",
62
- style: { width: f, height: f, cursor: l ? "pointer" : "default" },
63
- onClick: (e) => F(e, r),
64
- onMouseMove: l && c === 0.5 ? (e) => b(A(e, r)) : l ? () => b(r + 1) : void 0,
65
- onMouseLeave: l ? () => b(null) : void 0,
66
- children: [
67
- /* @__PURE__ */ i("span", { className: "smwb-rating__icon smwb-rating__icon_empty", children: X }),
68
- /* @__PURE__ */ i("span", { className: "smwb-rating__icon smwb-rating__icon_filled", style: { width: `${a * 100}%` }, children: U })
69
- ]
70
- },
71
- r
72
- );
73
- }),
74
- h ? /* @__PURE__ */ i("input", { type: "hidden", name: h, value: n, readOnly: !0 }) : null,
75
- _ != null && _ !== !1 ? /* @__PURE__ */ i("span", { className: $("smwb-rating__helper", D && "smwb-rating__helper_error"), children: _ }) : null
52
+ /* @__PURE__ */ s(
53
+ "span",
54
+ {
55
+ ref: F,
56
+ id: T,
57
+ className: "smwb-rating__control",
58
+ "data-testid": "rating",
59
+ role: i ? "img" : "slider",
60
+ "aria-label": J,
61
+ "aria-valuemin": i ? void 0 : 0,
62
+ "aria-valuemax": i ? void 0 : n,
63
+ "aria-valuenow": i ? void 0 : l,
64
+ "aria-valuetext": i ? void 0 : y,
65
+ "aria-disabled": !i && w ? !0 : void 0,
66
+ "aria-describedby": A.describedBy,
67
+ tabIndex: a ? 0 : void 0,
68
+ onKeyDown: a ? I : void 0,
69
+ children: Array.from({ length: n }, (t, r) => {
70
+ const o = Math.max(0, Math.min(1, U - r));
71
+ return /* @__PURE__ */ H(
72
+ "span",
73
+ {
74
+ className: "smwb-rating__item",
75
+ style: { width: d, height: d, cursor: a ? "pointer" : "default" },
76
+ onClick: (c) => X(c, r),
77
+ onMouseMove: a && m === 0.5 ? (c) => h($(c, r)) : a ? () => h(r + 1) : void 0,
78
+ onMouseLeave: () => h(null),
79
+ children: [
80
+ /* @__PURE__ */ s("span", { className: "smwb-rating__icon smwb-rating__icon_empty", children: G }),
81
+ /* @__PURE__ */ s("span", { className: "smwb-rating__icon smwb-rating__icon_filled", style: { width: `${o * 100}%` }, children: q })
82
+ ]
83
+ },
84
+ r
85
+ );
86
+ })
87
+ }
88
+ ),
89
+ k ? /* @__PURE__ */ s("input", { type: "hidden", name: k, value: l, readOnly: !0 }) : null,
90
+ W(p) ? /* @__PURE__ */ s("span", { id: A.id, className: j("smwb-rating__helper", M && "smwb-rating__helper_error"), children: p }) : null
76
91
  ]
77
92
  }
78
93
  );
79
94
  });
80
95
  export {
81
- W as Rating,
82
- W as default
96
+ rt as Rating,
97
+ rt as default
83
98
  };
84
99
  //# sourceMappingURL=rating.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rating.js","sources":["../../../../../src/components/inputs/rating/rating.tsx"],"sourcesContent":["import { forwardRef, KeyboardEvent, MouseEvent, ReactNode, useState } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\n\nexport type RatingColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface RatingProps {\n className?: string;\n /** Controlled value. */\n value?: number;\n /** Uncontrolled initial value. */\n defaultValue?: number;\n /** Number of icons. */\n max?: number;\n /** Smallest selectable increment: 1 (whole) or 0.5 (half). */\n precision?: 1 | 0.5;\n readOnly?: boolean;\n disabled?: boolean;\n size?: number;\n /** Filled icon (Material Symbols name). */\n icon?: ReactNode;\n /** Empty icon (Material Symbols name). */\n emptyIcon?: ReactNode;\n name?: string;\n /** Color of the filled icons. */\n color?: RatingColor;\n /** Renders the control in an error state. */\n error?: boolean;\n /** Supporting text shown below the control. */\n helperText?: ReactNode;\n id?: string;\n onChange?: (value: number) => void;\n}\n\nexport const Rating = forwardRef<HTMLSpanElement, RatingProps>(function Rating(\n {\n className,\n value,\n defaultValue = 0,\n max = 5,\n precision = 1,\n readOnly = false,\n disabled = false,\n size = 28,\n icon,\n emptyIcon,\n name,\n color = \"primary\",\n error,\n helperText,\n id,\n onChange,\n },\n ref\n) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState(defaultValue);\n const [hover, setHover] = useState<number | null>(null);\n\n const current = value !== undefined ? value : internal;\n const display = hover ?? current;\n\n const interactive = !readOnly && !disabled;\n\n const valueFromEvent = (event: MouseEvent<HTMLSpanElement>, starIndex: number): number => {\n if (precision === 1) {\n return starIndex + 1;\n }\n const { left, width } = event.currentTarget.getBoundingClientRect();\n const isLeftHalf = event.clientX - left < width / 2;\n return starIndex + (isLeftHalf ? 0.5 : 1);\n };\n\n const handleSelect = (event: MouseEvent<HTMLSpanElement>, starIndex: number) => {\n if (!interactive) {\n return;\n }\n const next = valueFromEvent(event, starIndex);\n if (!isControlled) {\n setInternal(next);\n }\n onChange?.(next);\n };\n\n const filledIcon = icon ?? <Icon name=\"star\" fill={1} size={size} />;\n const blankIcon = emptyIcon ?? <Icon name=\"star\" size={size} />;\n\n const commit = (next: number) => {\n const clamped = Math.max(0, Math.min(max, next));\n if (!isControlled) {\n setInternal(clamped);\n }\n onChange?.(clamped);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLSpanElement>) => {\n if (!interactive) {\n return;\n }\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n commit(current + precision);\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n commit(current - precision);\n } else if (event.key === \"Home\") {\n event.preventDefault();\n commit(0);\n } else if (event.key === \"End\") {\n event.preventDefault();\n commit(max);\n }\n };\n\n return (\n <span\n ref={ref}\n id={id}\n className={cn(\n \"smwb-rating\",\n { \"smwb-rating_readonly\": readOnly, \"smwb-rating_disabled\": disabled, \"smwb-rating_error\": error },\n color !== \"primary\" && `smwb-rating_color-${color}`,\n className\n )}\n data-testid=\"rating\"\n role=\"img\"\n aria-label={`${current} of ${max}`}\n tabIndex={interactive ? 0 : undefined}\n onKeyDown={interactive ? handleKeyDown : undefined}\n >\n {Array.from({ length: max }, (_, index) => {\n const fillRatio = Math.max(0, Math.min(1, display - index));\n return (\n <span\n key={index}\n className=\"smwb-rating__item\"\n style={{ width: size, height: size, cursor: interactive ? \"pointer\" : \"default\" }}\n onClick={(event) => handleSelect(event, index)}\n onMouseMove={\n interactive && precision === 0.5\n ? (event) => setHover(valueFromEvent(event, index))\n : interactive\n ? () => setHover(index + 1)\n : undefined\n }\n onMouseLeave={interactive ? () => setHover(null) : undefined}\n >\n <span className=\"smwb-rating__icon smwb-rating__icon_empty\">{blankIcon}</span>\n <span className=\"smwb-rating__icon smwb-rating__icon_filled\" style={{ width: `${fillRatio * 100}%` }}>\n {filledIcon}\n </span>\n </span>\n );\n })}\n {name ? <input type=\"hidden\" name={name} value={current} readOnly /> : null}\n {helperText != null && helperText !== false ? (\n <span className={cn(\"smwb-rating__helper\", error && \"smwb-rating__helper_error\")}>{helperText}</span>\n ) : null}\n </span>\n );\n});\n\nexport default Rating;\n"],"names":["Rating","forwardRef","className","value","defaultValue","max","precision","readOnly","disabled","size","icon","emptyIcon","name","color","error","helperText","id","onChange","ref","isControlled","internal","setInternal","useState","hover","setHover","current","display","interactive","valueFromEvent","event","starIndex","left","width","isLeftHalf","handleSelect","next","filledIcon","jsx","Icon","blankIcon","commit","clamped","handleKeyDown","jsxs","cn","_","index","fillRatio"],"mappings":"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"}
1
+ {"version":3,"file":"rating.js","sources":["../../../../../src/components/inputs/rating/rating.tsx"],"sourcesContent":["import { forwardRef, KeyboardEvent, MouseEvent, ReactNode, useState } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { hasHelperText, useHelperText } from \"../../../hooks/useHelperText\";\n\nexport type RatingColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface RatingProps {\n className?: string;\n /** Controlled value. */\n value?: number;\n /** Uncontrolled initial value. */\n defaultValue?: number;\n /** Number of icons. */\n max?: number;\n /** Smallest selectable increment: 1 (whole) or 0.5 (half). */\n precision?: 1 | 0.5;\n readOnly?: boolean;\n disabled?: boolean;\n size?: number;\n /** Filled icon (Material Symbols name). */\n icon?: ReactNode;\n /** Empty icon (Material Symbols name). */\n emptyIcon?: ReactNode;\n name?: string;\n /** Color of the filled icons. */\n color?: RatingColor;\n /** Renders the control in an error state. */\n error?: boolean;\n /** Supporting text shown below the control. */\n helperText?: ReactNode;\n /** Id of the control: the slider, or the image of a read-only rating. */\n id?: string;\n /**\n * What is rated: the accessible name of the slider, \"Rating\" by default. A read-only rating is an image named by\n * its value (\"3 of 5\"), after this label.\n */\n \"aria-label\"?: string;\n /** Ids of more elements that describe the control, after its helper text. */\n \"aria-describedby\"?: string;\n onChange?: (value: number) => void;\n}\n\nexport const Rating = forwardRef<HTMLSpanElement, RatingProps>(function Rating(\n {\n className,\n value,\n defaultValue = 0,\n max = 5,\n precision = 1,\n readOnly = false,\n disabled = false,\n size = 28,\n icon,\n emptyIcon,\n name,\n color = \"primary\",\n error,\n helperText,\n id,\n \"aria-label\": ariaLabel,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n },\n ref\n) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState(defaultValue);\n const [hover, setHover] = useState<number | null>(null);\n\n const current = value !== undefined ? value : internal;\n const display = hover ?? current;\n\n const interactive = !readOnly && !disabled;\n\n const valueFromEvent = (event: MouseEvent<HTMLSpanElement>, starIndex: number): number => {\n if (precision === 1) {\n return starIndex + 1;\n }\n const { left, width } = event.currentTarget.getBoundingClientRect();\n const isLeftHalf = event.clientX - left < width / 2;\n return starIndex + (isLeftHalf ? 0.5 : 1);\n };\n\n const handleSelect = (event: MouseEvent<HTMLSpanElement>, starIndex: number) => {\n if (!interactive) {\n return;\n }\n const next = valueFromEvent(event, starIndex);\n if (!isControlled) {\n setInternal(next);\n }\n onChange?.(next);\n };\n\n const filledIcon = icon ?? <Icon name=\"star\" fill={1} size={size} />;\n const blankIcon = emptyIcon ?? <Icon name=\"star\" size={size} />;\n\n const commit = (next: number) => {\n const clamped = Math.max(0, Math.min(max, next));\n if (!isControlled) {\n setInternal(clamped);\n }\n onChange?.(clamped);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLSpanElement>) => {\n if (!interactive) {\n return;\n }\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n commit(current + precision);\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n commit(current - precision);\n } else if (event.key === \"Home\") {\n event.preventDefault();\n commit(0);\n } else if (event.key === \"End\") {\n event.preventDefault();\n commit(max);\n }\n };\n\n const helper = useHelperText(helperText, { describedBy: ariaDescribedBy });\n const valueText = `${current} of ${max}`;\n // The slider is named by what is rated. An image has no value, so its name\n // carries the value too.\n const label = readOnly ? (ariaLabel ? `${ariaLabel} ${valueText}` : valueText) : ariaLabel || \"Rating\";\n\n // The control is a slider, or an image named by its value when the rating is\n // read-only. The helper text stays outside it: the children of a slider or an\n // image are presentational, so assistive technology would never read it.\n return (\n <span\n className={cn(\n \"smwb-rating\",\n { \"smwb-rating_readonly\": readOnly, \"smwb-rating_disabled\": disabled, \"smwb-rating_error\": error },\n color !== \"primary\" && `smwb-rating_color-${color}`,\n className\n )}\n >\n <span\n ref={ref}\n id={id}\n className=\"smwb-rating__control\"\n data-testid=\"rating\"\n role={readOnly ? \"img\" : \"slider\"}\n aria-label={label}\n aria-valuemin={readOnly ? undefined : 0}\n aria-valuemax={readOnly ? undefined : max}\n aria-valuenow={readOnly ? undefined : current}\n aria-valuetext={readOnly ? undefined : valueText}\n aria-disabled={!readOnly && disabled ? true : undefined}\n aria-describedby={helper.describedBy}\n tabIndex={interactive ? 0 : undefined}\n onKeyDown={interactive ? handleKeyDown : undefined}\n >\n {Array.from({ length: max }, (_, index) => {\n const fillRatio = Math.max(0, Math.min(1, display - index));\n return (\n <span\n key={index}\n className=\"smwb-rating__item\"\n style={{ width: size, height: size, cursor: interactive ? \"pointer\" : \"default\" }}\n onClick={(event) => handleSelect(event, index)}\n onMouseMove={\n interactive && precision === 0.5\n ? (event) => setHover(valueFromEvent(event, index))\n : interactive\n ? () => setHover(index + 1)\n : undefined\n }\n // Always clears the preview, so a rating that turns read-only while\n // hovered does not keep it.\n onMouseLeave={() => setHover(null)}\n >\n <span className=\"smwb-rating__icon smwb-rating__icon_empty\">{blankIcon}</span>\n <span className=\"smwb-rating__icon smwb-rating__icon_filled\" style={{ width: `${fillRatio * 100}%` }}>\n {filledIcon}\n </span>\n </span>\n );\n })}\n </span>\n {name ? <input type=\"hidden\" name={name} value={current} readOnly /> : null}\n {hasHelperText(helperText) ? (\n <span id={helper.id} className={cn(\"smwb-rating__helper\", error && \"smwb-rating__helper_error\")}>\n {helperText}\n </span>\n ) : null}\n </span>\n );\n});\n\nexport default Rating;\n"],"names":["Rating","forwardRef","className","value","defaultValue","max","precision","readOnly","disabled","size","icon","emptyIcon","name","color","error","helperText","id","ariaLabel","ariaDescribedBy","onChange","ref","isControlled","internal","setInternal","useState","hover","setHover","current","display","interactive","valueFromEvent","event","starIndex","left","width","isLeftHalf","handleSelect","next","filledIcon","jsx","Icon","blankIcon","commit","clamped","handleKeyDown","helper","useHelperText","valueText","label","jsxs","cn","_","index","fillRatio","hasHelperText"],"mappings":"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"}