@smwb/ui-react 2.6.3 → 2.7.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 (416) hide show
  1. package/AI_LESS_OVERRIDES.md +4 -2
  2. package/AI_THEMING.md +17 -1
  3. package/README.md +84 -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/chart/chart.entry.css +1 -0
  7. package/dist/assets/styles/less/components/descriptionList/descriptionList.entry.css +1 -0
  8. package/dist/assets/styles/less/components/emptyState/emptyState.entry.css +1 -0
  9. package/dist/assets/styles/less/components/kanban/kanban.entry.css +1 -0
  10. package/dist/assets/styles/less/components/meter/meter.entry.css +1 -0
  11. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -0
  12. package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -1
  13. package/dist/assets/styles/less/components/sectionHeader/sectionHeader.entry.css +1 -0
  14. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  15. package/dist/assets/styles/less/components/stat/stat.entry.css +1 -0
  16. package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -1
  17. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  18. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  19. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  20. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  21. package/dist/assets/styles/less/components/timeline/timeline.entry.css +1 -0
  22. package/dist/assets/styles/less/components/tooltip/tooltip.entry.css +1 -1
  23. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  24. package/dist/assets/styles/less/connects/rt/table.entry.css +1 -0
  25. package/dist/assets/styles/less/tokens.entry.css +1 -0
  26. package/dist/chart.d.ts +2 -0
  27. package/dist/chart.js +8 -0
  28. package/dist/chart.js.map +1 -0
  29. package/dist/components/base/icon/icon.js +8 -7
  30. package/dist/components/base/icon/icon.js.map +1 -1
  31. package/dist/components/base/ripple/ripple.js +11 -10
  32. package/dist/components/base/ripple/ripple.js.map +1 -1
  33. package/dist/components/dataDisplay/accordion/accordion.d.ts +18 -1
  34. package/dist/components/dataDisplay/accordion/accordion.js +77 -54
  35. package/dist/components/dataDisplay/accordion/accordion.js.map +1 -1
  36. package/dist/components/dataDisplay/assetGrid/assetGrid.js +15 -14
  37. package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -1
  38. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  39. package/dist/components/dataDisplay/avatar/avatar.js +45 -30
  40. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  41. package/dist/components/dataDisplay/badge/badge.js +11 -10
  42. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  43. package/dist/components/dataDisplay/card/card.js +16 -15
  44. package/dist/components/dataDisplay/card/card.js.map +1 -1
  45. package/dist/components/dataDisplay/carousel/carousel.js +23 -22
  46. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  47. package/dist/components/dataDisplay/chart/chart.d.ts +65 -0
  48. package/dist/components/dataDisplay/chart/chart.js +133 -0
  49. package/dist/components/dataDisplay/chart/chart.js.map +1 -0
  50. package/dist/components/dataDisplay/chart/chartTheme.d.ts +35 -0
  51. package/dist/components/dataDisplay/chart/chartTheme.js +74 -0
  52. package/dist/components/dataDisplay/chart/chartTheme.js.map +1 -0
  53. package/dist/components/dataDisplay/chart/index.d.ts +4 -0
  54. package/dist/components/dataDisplay/chat/chat.js +5 -4
  55. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  56. package/dist/components/dataDisplay/chip/chip.js +5 -4
  57. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  58. package/dist/components/dataDisplay/chipGroup/chipGroup.js +10 -9
  59. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  60. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +37 -0
  61. package/dist/components/dataDisplay/descriptionList/descriptionList.js +43 -0
  62. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  63. package/dist/components/dataDisplay/descriptionList/index.d.ts +2 -0
  64. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +5 -4
  65. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  66. package/dist/components/dataDisplay/imagesList/imagesList.js +11 -10
  67. package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -1
  68. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +31 -24
  69. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  70. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.d.ts +1 -1
  71. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +16 -13
  72. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  73. package/dist/components/dataDisplay/kanban/index.d.ts +2 -0
  74. package/dist/components/dataDisplay/kanban/kanban.d.ts +47 -0
  75. package/dist/components/dataDisplay/kanban/kanban.js +63 -0
  76. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -0
  77. package/dist/components/dataDisplay/lazyImage/lazyImage.js +9 -8
  78. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  79. package/dist/components/dataDisplay/list/list.js +11 -10
  80. package/dist/components/dataDisplay/list/list.js.map +1 -1
  81. package/dist/components/dataDisplay/meter/index.d.ts +2 -0
  82. package/dist/components/dataDisplay/meter/meter.d.ts +33 -0
  83. package/dist/components/dataDisplay/meter/meter.js +62 -0
  84. package/dist/components/dataDisplay/meter/meter.js.map +1 -0
  85. package/dist/components/dataDisplay/personChip/index.d.ts +2 -0
  86. package/dist/components/dataDisplay/personChip/personChip.d.ts +31 -0
  87. package/dist/components/dataDisplay/personChip/personChip.js +61 -0
  88. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -0
  89. package/dist/components/dataDisplay/stat/index.d.ts +2 -0
  90. package/dist/components/dataDisplay/stat/stat.d.ts +36 -0
  91. package/dist/components/dataDisplay/stat/stat.js +48 -0
  92. package/dist/components/dataDisplay/stat/stat.js.map +1 -0
  93. package/dist/components/dataDisplay/table/table.d.ts +7 -0
  94. package/dist/components/dataDisplay/table/table.js +21 -15
  95. package/dist/components/dataDisplay/table/table.js.map +1 -1
  96. package/dist/components/dataDisplay/table/tableCell.d.ts +3 -1
  97. package/dist/components/dataDisplay/table/tableCell.js +11 -2
  98. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  99. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +11 -1
  100. package/dist/components/dataDisplay/table/tableHeadCell.js +54 -24
  101. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  102. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +10 -9
  103. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -1
  104. package/dist/components/dataDisplay/thumbCard/thumbCard.js +10 -9
  105. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  106. package/dist/components/dataDisplay/timeline/index.d.ts +2 -0
  107. package/dist/components/dataDisplay/timeline/timeline.d.ts +43 -0
  108. package/dist/components/dataDisplay/timeline/timeline.js +44 -0
  109. package/dist/components/dataDisplay/timeline/timeline.js.map +1 -0
  110. package/dist/components/dataDisplay/treeView/treeView.js +5 -4
  111. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  112. package/dist/components/dataDisplay/typography/typography.d.ts +4 -0
  113. package/dist/components/dataDisplay/typography/typography.js +41 -23
  114. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  115. package/dist/components/feedBack/confirmDialog/confirmDialog.js +14 -13
  116. package/dist/components/feedBack/confirmDialog/confirmDialog.js.map +1 -1
  117. package/dist/components/feedBack/emptyState/emptyState.d.ts +26 -0
  118. package/dist/components/feedBack/emptyState/emptyState.js +27 -0
  119. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -0
  120. package/dist/components/feedBack/emptyState/index.d.ts +2 -0
  121. package/dist/components/feedBack/message/message.js +8 -7
  122. package/dist/components/feedBack/message/message.js.map +1 -1
  123. package/dist/components/feedBack/modal/modal.js +5 -4
  124. package/dist/components/feedBack/modal/modal.js.map +1 -1
  125. package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +14 -1
  126. package/dist/components/feedBack/progressIndicator/progressIndicator.js +72 -40
  127. package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  128. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +32 -31
  129. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  130. package/dist/components/feedBack/skeleton/skeleton.js +17 -16
  131. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  132. package/dist/components/feedBack/snackbar/snackbar.js +6 -5
  133. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  134. package/dist/components/feedBack/tooltip/tooltip.js +57 -49
  135. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  136. package/dist/components/inputs/button/button.js +16 -15
  137. package/dist/components/inputs/button/button.js.map +1 -1
  138. package/dist/components/inputs/buttonGroups/buttonGroup.js +5 -4
  139. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  140. package/dist/components/inputs/checkbox/checkbox.js +10 -9
  141. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  142. package/dist/components/inputs/datePicker/datePicker.js +123 -120
  143. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  144. package/dist/components/inputs/dateTimePicker/dateTimePicker.js +121 -119
  145. package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  146. package/dist/components/inputs/fileDrop/fileDrop.js +13 -12
  147. package/dist/components/inputs/fileDrop/fileDrop.js.map +1 -1
  148. package/dist/components/inputs/fileInput/fileInput.js +4 -3
  149. package/dist/components/inputs/fileInput/fileInput.js.map +1 -1
  150. package/dist/components/inputs/floatingButton/floatingButton.js +17 -16
  151. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  152. package/dist/components/inputs/radioButton/radioButton.js +11 -10
  153. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  154. package/dist/components/inputs/rating/rating.js +18 -17
  155. package/dist/components/inputs/rating/rating.js.map +1 -1
  156. package/dist/components/inputs/selectField/dropdownMenu.d.ts +1 -1
  157. package/dist/components/inputs/selectField/dropdownMenu.js +72 -69
  158. package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
  159. package/dist/components/inputs/selectField/selectField.d.ts +2 -0
  160. package/dist/components/inputs/selectField/selectField.js +128 -117
  161. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  162. package/dist/components/inputs/slider/slider.js +4 -3
  163. package/dist/components/inputs/slider/slider.js.map +1 -1
  164. package/dist/components/inputs/textField/textField.js +16 -15
  165. package/dist/components/inputs/textField/textField.js.map +1 -1
  166. package/dist/components/inputs/textField/utils.d.ts +1 -1
  167. package/dist/components/inputs/timePicker/timePicker.js +66 -63
  168. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  169. package/dist/components/inputs/toggle/toggle.js +14 -13
  170. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  171. package/dist/components/inputs/valueSlider/valueSlider.js +9 -8
  172. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  173. package/dist/components/layout/appLayout/appLayout.js +20 -19
  174. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  175. package/dist/components/layout/divider/divider.js +9 -8
  176. package/dist/components/layout/divider/divider.js.map +1 -1
  177. package/dist/components/layout/floatingWindow/floatingWindow.js +4 -3
  178. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  179. package/dist/components/layout/grid/grid.js +17 -16
  180. package/dist/components/layout/grid/grid.js.map +1 -1
  181. package/dist/components/layout/page/page.js +9 -8
  182. package/dist/components/layout/page/page.js.map +1 -1
  183. package/dist/components/layout/pageHeader/pageHeader.js +10 -9
  184. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  185. package/dist/components/layout/screenDivider/screenDivider.js +19 -18
  186. package/dist/components/layout/screenDivider/screenDivider.js.map +1 -1
  187. package/dist/components/layout/sectionHeader/index.d.ts +2 -0
  188. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +31 -0
  189. package/dist/components/layout/sectionHeader/sectionHeader.js +67 -0
  190. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  191. package/dist/components/layout/sheet/sheet.js +5 -4
  192. package/dist/components/layout/sheet/sheet.js.map +1 -1
  193. package/dist/components/layout/stack/stack.js +10 -9
  194. package/dist/components/layout/stack/stack.js.map +1 -1
  195. package/dist/components/navigation/appBar/appBar.js +18 -17
  196. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  197. package/dist/components/navigation/bottomBar/bottomBar.js +5 -4
  198. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  199. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +5 -4
  200. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  201. package/dist/components/navigation/menu/menu.js +6 -5
  202. package/dist/components/navigation/menu/menu.js.map +1 -1
  203. package/dist/components/navigation/overflowMenu/overflowMenu.js +16 -15
  204. package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -1
  205. package/dist/components/navigation/pagination/pagination.js +5 -4
  206. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  207. package/dist/components/navigation/sidebar/sidebar.js +13 -12
  208. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  209. package/dist/components/navigation/stepper/stepper.d.ts +10 -2
  210. package/dist/components/navigation/stepper/stepper.js +33 -30
  211. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  212. package/dist/components/navigation/tabs/tab/tab.d.ts +2 -0
  213. package/dist/components/navigation/tabs/tab/tab.js +14 -13
  214. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  215. package/dist/components/navigation/tabs/tabs.d.ts +12 -0
  216. package/dist/components/navigation/tabs/tabs.js +138 -83
  217. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  218. package/dist/connects/rt/table/draggableHeader.d.ts +1 -1
  219. package/dist/connects/rt/table/draggableHeader.js.map +1 -0
  220. package/dist/connects/rt/table/headerCellRenderer.d.ts +6 -0
  221. package/dist/connects/rt/table/headerCellRenderer.js +21 -0
  222. package/dist/connects/rt/table/headerCellRenderer.js.map +1 -0
  223. package/dist/connects/rt/table/table.d.ts +2 -0
  224. package/dist/connects/rt/table/table.js +200 -0
  225. package/dist/connects/rt/table/table.js.map +1 -0
  226. package/dist/connects/rt/table/utils.js.map +1 -0
  227. package/dist/headless/components/dataDisplay/accordion/accordion.js +76 -54
  228. package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -1
  229. package/dist/headless/components/dataDisplay/avatar/avatar.js +45 -31
  230. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  231. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +41 -0
  232. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  233. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +29 -23
  234. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  235. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +16 -13
  236. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
  237. package/dist/headless/components/dataDisplay/kanban/kanban.js +61 -0
  238. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -0
  239. package/dist/headless/components/dataDisplay/meter/meter.js +60 -0
  240. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -0
  241. package/dist/headless/components/dataDisplay/personChip/personChip.js +59 -0
  242. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -0
  243. package/dist/headless/components/dataDisplay/stat/stat.js +46 -0
  244. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -0
  245. package/dist/headless/components/dataDisplay/table/table.js +16 -11
  246. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  247. package/dist/headless/components/dataDisplay/table/tableCell.js +11 -2
  248. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  249. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +54 -24
  250. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  251. package/dist/headless/components/dataDisplay/timeline/timeline.js +42 -0
  252. package/dist/headless/components/dataDisplay/timeline/timeline.js.map +1 -0
  253. package/dist/headless/components/dataDisplay/typography/typography.js +39 -22
  254. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  255. package/dist/headless/components/feedBack/emptyState/emptyState.js +25 -0
  256. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -0
  257. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +70 -39
  258. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  259. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +30 -30
  260. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  261. package/dist/headless/components/feedBack/tooltip/tooltip.js +53 -46
  262. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  263. package/dist/headless/components/inputs/datePicker/datePicker.js +112 -110
  264. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  265. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +121 -119
  266. package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
  267. package/dist/headless/components/inputs/selectField/dropdownMenu.js +72 -69
  268. package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
  269. package/dist/headless/components/inputs/selectField/selectField.js +109 -99
  270. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  271. package/dist/headless/components/inputs/timePicker/timePicker.js +65 -63
  272. package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
  273. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +65 -0
  274. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  275. package/dist/headless/components/navigation/stepper/stepper.js +31 -29
  276. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  277. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  278. package/dist/headless/components/navigation/tabs/tabs.js +129 -75
  279. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  280. package/dist/headless/hooks/useSafeLayoutEffect.js +4 -2
  281. package/dist/headless/hooks/useSafeLayoutEffect.js.map +1 -1
  282. package/dist/headless/icons/catalog.js +78 -1
  283. package/dist/headless/icons/catalog.js.map +1 -1
  284. package/dist/headless/icons/index.js +596 -574
  285. package/dist/headless/icons/index.js.map +1 -1
  286. package/dist/headless/icons/svg/accountTree.js +9 -0
  287. package/dist/headless/icons/svg/accountTree.js.map +1 -0
  288. package/dist/headless/icons/svg/callSplit.js +9 -0
  289. package/dist/headless/icons/svg/callSplit.js.map +1 -0
  290. package/dist/headless/icons/svg/deviceHub.js +8 -0
  291. package/dist/headless/icons/svg/deviceHub.js.map +1 -0
  292. package/dist/headless/icons/svg/editNote.js +9 -0
  293. package/dist/headless/icons/svg/editNote.js.map +1 -0
  294. package/dist/headless/icons/svg/filterList.js +9 -0
  295. package/dist/headless/icons/svg/filterList.js.map +1 -0
  296. package/dist/headless/icons/svg/forkRight.js +8 -0
  297. package/dist/headless/icons/svg/forkRight.js.map +1 -0
  298. package/dist/headless/icons/svg/groups.js +9 -0
  299. package/dist/headless/icons/svg/groups.js.map +1 -0
  300. package/dist/headless/icons/svg/hub.js +8 -0
  301. package/dist/headless/icons/svg/hub.js.map +1 -0
  302. package/dist/headless/icons/svg/index.js +598 -576
  303. package/dist/headless/icons/svg/index.js.map +1 -1
  304. package/dist/headless/icons/svg/lan.js +9 -0
  305. package/dist/headless/icons/svg/lan.js.map +1 -0
  306. package/dist/headless/icons/svg/personOff.js +9 -0
  307. package/dist/headless/icons/svg/personOff.js.map +1 -0
  308. package/dist/headless/icons/svg/schema.js +9 -0
  309. package/dist/headless/icons/svg/schema.js.map +1 -0
  310. package/dist/headless/index.js +209 -183
  311. package/dist/headless/index.js.map +1 -1
  312. package/dist/hooks/useSafeLayoutEffect.d.ts +7 -1
  313. package/dist/hooks/useSafeLayoutEffect.js +4 -2
  314. package/dist/hooks/useSafeLayoutEffect.js.map +1 -1
  315. package/dist/icons/catalog.d.ts +1 -1
  316. package/dist/icons/catalog.js +78 -1
  317. package/dist/icons/catalog.js.map +1 -1
  318. package/dist/icons/index.js +596 -574
  319. package/dist/icons/index.js.map +1 -1
  320. package/dist/icons/svg/accountTree.d.ts +4 -0
  321. package/dist/icons/svg/accountTree.js +9 -0
  322. package/dist/icons/svg/accountTree.js.map +1 -0
  323. package/dist/icons/svg/callSplit.d.ts +4 -0
  324. package/dist/icons/svg/callSplit.js +9 -0
  325. package/dist/icons/svg/callSplit.js.map +1 -0
  326. package/dist/icons/svg/deviceHub.d.ts +4 -0
  327. package/dist/icons/svg/deviceHub.js +8 -0
  328. package/dist/icons/svg/deviceHub.js.map +1 -0
  329. package/dist/icons/svg/editNote.d.ts +4 -0
  330. package/dist/icons/svg/editNote.js +9 -0
  331. package/dist/icons/svg/editNote.js.map +1 -0
  332. package/dist/icons/svg/filterList.d.ts +4 -0
  333. package/dist/icons/svg/filterList.js +9 -0
  334. package/dist/icons/svg/filterList.js.map +1 -0
  335. package/dist/icons/svg/forkRight.d.ts +4 -0
  336. package/dist/icons/svg/forkRight.js +8 -0
  337. package/dist/icons/svg/forkRight.js.map +1 -0
  338. package/dist/icons/svg/groups.d.ts +4 -0
  339. package/dist/icons/svg/groups.js +9 -0
  340. package/dist/icons/svg/groups.js.map +1 -0
  341. package/dist/icons/svg/hub.d.ts +4 -0
  342. package/dist/icons/svg/hub.js +8 -0
  343. package/dist/icons/svg/hub.js.map +1 -0
  344. package/dist/icons/svg/index.d.ts +11 -0
  345. package/dist/icons/svg/index.js +598 -576
  346. package/dist/icons/svg/index.js.map +1 -1
  347. package/dist/icons/svg/lan.d.ts +4 -0
  348. package/dist/icons/svg/lan.js +9 -0
  349. package/dist/icons/svg/lan.js.map +1 -0
  350. package/dist/icons/svg/personOff.d.ts +4 -0
  351. package/dist/icons/svg/personOff.js +9 -0
  352. package/dist/icons/svg/personOff.js.map +1 -0
  353. package/dist/icons/svg/schema.d.ts +4 -0
  354. package/dist/icons/svg/schema.js +9 -0
  355. package/dist/icons/svg/schema.js.map +1 -0
  356. package/dist/icons.cjs +1 -1
  357. package/dist/icons.cjs.map +1 -1
  358. package/dist/index.cjs +2 -2
  359. package/dist/index.cjs.map +1 -1
  360. package/dist/index.d.ts +16 -0
  361. package/dist/index.js +209 -183
  362. package/dist/index.js.map +1 -1
  363. package/package.json +18 -7
  364. package/dist/react-table/components/base/icon/icon.js +0 -60
  365. package/dist/react-table/components/base/icon/icon.js.map +0 -1
  366. package/dist/react-table/components/base/icon/iconProvider.js +0 -15
  367. package/dist/react-table/components/base/icon/iconProvider.js.map +0 -1
  368. package/dist/react-table/components/dataDisplay/table/table.js +0 -37
  369. package/dist/react-table/components/dataDisplay/table/table.js.map +0 -1
  370. package/dist/react-table/components/dataDisplay/table/tableBody.js +0 -7
  371. package/dist/react-table/components/dataDisplay/table/tableBody.js.map +0 -1
  372. package/dist/react-table/components/dataDisplay/table/tableCell.js +0 -7
  373. package/dist/react-table/components/dataDisplay/table/tableCell.js.map +0 -1
  374. package/dist/react-table/components/dataDisplay/table/tableHead.js +0 -7
  375. package/dist/react-table/components/dataDisplay/table/tableHead.js.map +0 -1
  376. package/dist/react-table/components/dataDisplay/table/tableHeadCell.js +0 -48
  377. package/dist/react-table/components/dataDisplay/table/tableHeadCell.js.map +0 -1
  378. package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js +0 -40
  379. package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js.map +0 -1
  380. package/dist/react-table/components/dataDisplay/table/tableRow.js +0 -20
  381. package/dist/react-table/components/dataDisplay/table/tableRow.js.map +0 -1
  382. package/dist/react-table/components/feedBack/message/message.js +0 -31
  383. package/dist/react-table/components/feedBack/message/message.js.map +0 -1
  384. package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js +0 -51
  385. package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js.map +0 -1
  386. package/dist/react-table/components/inputs/textField/textField.js +0 -125
  387. package/dist/react-table/components/inputs/textField/textField.js.map +0 -1
  388. package/dist/react-table/components/inputs/textField/textFieldAdornment.js +0 -25
  389. package/dist/react-table/components/inputs/textField/textFieldAdornment.js.map +0 -1
  390. package/dist/react-table/components/inputs/textField/textFieldWrapper.js +0 -50
  391. package/dist/react-table/components/inputs/textField/textFieldWrapper.js.map +0 -1
  392. package/dist/react-table/components/inputs/textField/utils.js +0 -11
  393. package/dist/react-table/components/inputs/textField/utils.js.map +0 -1
  394. package/dist/react-table/connects/rt/table/draggableHeader.js.map +0 -1
  395. package/dist/react-table/connects/rt/table/headerCellRenderer.js +0 -14
  396. package/dist/react-table/connects/rt/table/headerCellRenderer.js.map +0 -1
  397. package/dist/react-table/connects/rt/table/table.js +0 -180
  398. package/dist/react-table/connects/rt/table/table.js.map +0 -1
  399. package/dist/react-table/connects/rt/table/utils.js.map +0 -1
  400. package/dist/react-table/hooks/useForkRef.js +0 -13
  401. package/dist/react-table/hooks/useForkRef.js.map +0 -1
  402. package/dist/react-table/hooks/useSafeLayoutEffect.js +0 -6
  403. package/dist/react-table/hooks/useSafeLayoutEffect.js.map +0 -1
  404. package/dist/react-table/icons/config.js +0 -9
  405. package/dist/react-table/icons/config.js.map +0 -1
  406. package/dist/react-table/icons/registry.js +0 -12
  407. package/dist/react-table/icons/registry.js.map +0 -1
  408. package/dist/react-table/icons/store.js +0 -10
  409. package/dist/react-table/icons/store.js.map +0 -1
  410. package/dist/react-table/utils/setRef.js +0 -7
  411. package/dist/react-table/utils/setRef.js.map +0 -1
  412. package/dist/storybook/storyPlay.d.ts +0 -28
  413. /package/dist/{react-table/connects → connects}/rt/table/draggableHeader.js +0 -0
  414. /package/dist/{react-table/connects → connects}/rt/table/utils.js +0 -0
  415. /package/dist/{react-table/react-table.js → react-table.js} +0 -0
  416. /package/dist/{react-table/react-table.js.map → react-table.js.map} +0 -0
@@ -1,5 +1,6 @@
1
1
  import { jsx as k, jsxs as g } from "react/jsx-runtime";
2
- import '../../../assets/styles/less/components/snackbar/snackbar.entry.css';/* empty css */
2
+ import '../../../assets/styles/less/components/snackbar/snackbar.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
3
4
  import F, { useState as L, useCallback as G, useContext as q, useRef as E, createContext as y, useEffect as z } from "react";
4
5
  import { v4 as H } from "uuid";
5
6
  import { createPortal as J } from "react-dom";
@@ -68,7 +69,7 @@ const I = y({
68
69
  clearByIdSnackbar: () => {
69
70
  }
70
71
  });
71
- function oe(r) {
72
+ function ce(r) {
72
73
  const {
73
74
  position: l = "top-right",
74
75
  variant: f = "dark",
@@ -184,12 +185,12 @@ const W = F.forwardRef(function({
184
185
  }
185
186
  );
186
187
  });
187
- function ce() {
188
+ function ie() {
188
189
  return q(I);
189
190
  }
190
191
  export {
191
192
  W as Snackbar,
192
- oe as SnackbarProvider,
193
- ce as useSnackbar
193
+ ce as SnackbarProvider,
194
+ ie as useSnackbar
194
195
  };
195
196
  //# sourceMappingURL=snackbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snackbar.js","sources":["../../../../src/components/feedBack/snackbar/snackbar.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { v4 } from \"uuid\";\nimport { createPortal } from \"react-dom\";\nimport cn from \"clsx\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\nimport { useSnackbarsPortal } from \"./useSnackbarsPortal\";\nimport { useEventCallback } from \"../../../hooks/useEventCallback\";\n\nexport const variants = [\"dark\", \"light\", \"danger\", \"success\", \"warning\", \"info\"] as const;\nexport const positions = [\"top\", \"bottom\", \"top-left\", \"top-right\", \"bottom-right\", \"bottom-left\"] as const;\n\nexport type Variants = (typeof variants)[number];\nexport type Position = (typeof positions)[number];\n\nexport interface SnackbarsProviderProps extends React.HTMLAttributes<HTMLElement> {\n variant?: Variants;\n position?: Position;\n autoCloseTime?: number;\n closeOnClick?: boolean;\n autoClose?: boolean;\n component?: React.ElementType;\n}\n\ninterface Snack extends SnackbarsProviderProps {\n id: string;\n message: React.ReactNode;\n}\n\ninterface SnackTransitionProps {\n snack: Snack;\n position: Position;\n variant: Variants;\n className?: string;\n component: React.ElementType;\n autoClose: boolean;\n autoCloseTime: number;\n snackRest: Omit<\n SnackbarsProviderProps,\n \"variant\" | \"position\" | \"autoCloseTime\" | \"autoClose\" | \"closeOnClick\" | \"onClick\" | \"component\" | \"children\"\n >;\n onSnackRemove: (id: string) => (event: React.MouseEvent<HTMLElement>) => void;\n onClose: (id: string) => () => void;\n}\n\nfunction SnackTransition({\n snack,\n position,\n variant,\n className,\n component,\n autoClose,\n autoCloseTime,\n snackRest,\n onSnackRemove,\n onClose,\n}: SnackTransitionProps) {\n const nodeRef = useRef<HTMLDivElement>(null);\n\n return (\n <CSSTransition\n appear\n timeout={125}\n classNames={{\n appear: \"smwb-snackbar-enter\",\n appearActive: \"smwb-snackbar-enter-active\",\n appearDone: \"smwb-snackbar-enter-done\",\n enter: \"smwb-snackbar-enter\",\n enterActive: \"smwb-snackbar-enter-active\",\n enterDone: \"smwb-snackbar-enter-done\",\n exitActive: \"smwb-snackbar-exit-active\",\n }}\n unmountOnExit\n in\n nodeRef={nodeRef}\n >\n <Snackbar\n ref={nodeRef}\n component={snack.component ?? component}\n message={snack.message}\n position={snack.position ?? position}\n variant={snack.variant ?? variant}\n onClick={onSnackRemove(snack.id)}\n className={cn(className, snack.className)}\n isAutoClose={snack.autoClose ?? autoClose}\n autoCloseTime={snack.autoCloseTime ?? autoCloseTime}\n onClose={onClose(snack.id)}\n {...snackRest}\n />\n </CSSTransition>\n );\n}\n\nexport interface AddSnackbarOptions extends SnackbarsProviderProps {\n key?: string;\n message: React.ReactNode;\n}\n\nexport type AddSnackbar = (options: AddSnackbarOptions) => string;\n\nexport interface SnackbarOptions {\n addSnackbar: AddSnackbar;\n clearAllSnackbars: () => void;\n clearFirstSnackbar: () => void;\n clearLastSnackbar: () => void;\n clearByIdSnackbar: (id: string) => void;\n}\n\nconst SnackbarContext = createContext<SnackbarOptions>({\n addSnackbar: () => \"\",\n clearAllSnackbars: () => undefined,\n clearFirstSnackbar: () => undefined,\n clearLastSnackbar: () => undefined,\n clearByIdSnackbar: () => undefined,\n});\n\nexport function SnackbarProvider(props: SnackbarsProviderProps) {\n const {\n position = \"top-right\",\n variant = \"dark\",\n className,\n autoClose = true,\n autoCloseTime = 5000,\n closeOnClick = true,\n onClick,\n component = \"div\",\n children,\n ...rest\n } = props;\n\n const [snacks, setSnacks] = useState<Snack[]>([]);\n const { snackbarDomRoot } = useSnackbarsPortal();\n\n const addSnackbar: AddSnackbar = useCallback((options) => {\n const { key, ...rest } = options;\n\n const id = key ?? v4();\n const snack: Snack = { id, ...rest };\n\n setSnacks((prevState) => {\n const index = prevState.findIndex((item) => item.id === id);\n if (index === -1) {\n return [...prevState, snack];\n }\n const next = [...prevState];\n next[index] = snack;\n return next;\n });\n\n return id;\n }, []);\n\n const clearAllSnackbars = () => {\n setSnacks([]);\n };\n\n const clearFirstSnackbar = () => {\n setSnacks((prevState) => prevState.slice(1));\n };\n\n const clearLastSnackbar = () => {\n setSnacks((prevState) => prevState.slice(0, -1));\n };\n\n const clearByIdSnackbar = (id: string) => {\n setSnacks((prevState) => prevState.filter((value) => value.id !== id));\n };\n\n const onSnackRemove = (id: string) => (event: React.MouseEvent<HTMLElement>) => {\n onClick?.(event);\n\n if (closeOnClick) {\n clearByIdSnackbar(id);\n }\n };\n\n const onClose = (id: string) => () => {\n clearByIdSnackbar(id);\n };\n\n const currentPositions = snacks.reduce(\n (acc, snack) => {\n const currentPosition = snack.position ?? position;\n\n acc[currentPosition] = [...(acc[currentPosition] ?? []), snack];\n\n return acc;\n },\n {} as Record<Position, Snack[]>\n );\n\n const snackbars = (Object.keys(currentPositions) as unknown as typeof positions).map((key) => {\n const snacks = currentPositions[key];\n\n return (\n <TransitionGroup\n key={key}\n className={cn(\"smwb-snackbars\", `smwb-${key}`)}\n data-testid={`snackbars-${key}`}\n appear\n >\n {snacks.map((snack) => (\n <SnackTransition\n key={snack.id}\n snack={snack}\n position={position}\n variant={variant}\n className={className}\n component={component}\n autoClose={autoClose}\n autoCloseTime={autoCloseTime}\n snackRest={rest}\n onSnackRemove={onSnackRemove}\n onClose={onClose}\n />\n ))}\n </TransitionGroup>\n );\n });\n\n return (\n <SnackbarContext.Provider\n value={{ addSnackbar, clearAllSnackbars, clearFirstSnackbar, clearLastSnackbar, clearByIdSnackbar }}\n >\n {children}\n {snackbarDomRoot && createPortal(snackbars, snackbarDomRoot)}\n </SnackbarContext.Provider>\n );\n}\n\nexport interface SnackbarProps extends React.HTMLAttributes<HTMLElement> {\n message?: React.ReactNode;\n variant?: Variants;\n position?: Position;\n component?: React.ElementType;\n isAutoClose?: boolean;\n autoCloseTime?: number;\n onClose?: () => void;\n /** Optional action node rendered after the message (e.g. an Undo button). */\n action?: React.ReactNode;\n}\n\nexport const Snackbar = React.forwardRef(function SnackbarInner(\n {\n className,\n message,\n variant = \"dark\",\n position = \"top-right\",\n onClick,\n component = \"div\",\n isAutoClose,\n autoCloseTime,\n onClose,\n action,\n ...rest\n }: SnackbarProps,\n ref\n) {\n const timerClose = useRef<ReturnType<typeof setTimeout>>();\n\n const setCloseTimer = useEventCallback(() => {\n if (!onClose || !isAutoClose || !autoCloseTime) {\n return;\n }\n\n if (timerClose.current) {\n clearTimeout(timerClose.current);\n }\n\n timerClose.current = setTimeout(() => {\n onClose();\n }, autoCloseTime);\n });\n\n useEffect(() => {\n setCloseTimer();\n\n return () => {\n if (timerClose.current) {\n clearTimeout(timerClose.current);\n }\n };\n }, [setCloseTimer]);\n\n const Element = component;\n\n return (\n <Element\n ref={ref}\n className={cn(\"smwb-snackbar\", className, `smwb-${variant}`, `smwb-${position}`)}\n onClick={onClick}\n role=\"alert\"\n aria-live={variant === \"danger\" ? \"assertive\" : \"polite\"}\n aria-atomic=\"true\"\n {...rest}\n >\n <div className=\"smwb-snackbar__body\">{message}</div>\n {action != null ? <div className=\"smwb-snackbar__action\">{action}</div> : null}\n </Element>\n );\n});\n\nexport function useSnackbar() {\n return useContext(SnackbarContext);\n}\n\nexport default SnackbarProvider;\n"],"names":["SnackTransition","snack","position","variant","className","component","autoClose","autoCloseTime","snackRest","onSnackRemove","onClose","nodeRef","useRef","jsx","CSSTransition","Snackbar","_a","_b","_c","cn","_d","_e","SnackbarContext","createContext","SnackbarProvider","props","closeOnClick","onClick","children","rest","snacks","setSnacks","useState","snackbarDomRoot","useSnackbarsPortal","addSnackbar","useCallback","options","key","id","v4","prevState","index","item","next","clearAllSnackbars","clearFirstSnackbar","clearLastSnackbar","clearByIdSnackbar","value","event","currentPositions","acc","currentPosition","snackbars","TransitionGroup","jsxs","createPortal","React","message","isAutoClose","action","ref","timerClose","setCloseTimer","useEventCallback","useEffect","useSnackbar","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"snackbar.js","sources":["../../../../src/components/feedBack/snackbar/snackbar.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { v4 } from \"uuid\";\nimport { createPortal } from \"react-dom\";\nimport cn from \"clsx\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\nimport { useSnackbarsPortal } from \"./useSnackbarsPortal\";\nimport { useEventCallback } from \"../../../hooks/useEventCallback\";\n\nexport const variants = [\"dark\", \"light\", \"danger\", \"success\", \"warning\", \"info\"] as const;\nexport const positions = [\"top\", \"bottom\", \"top-left\", \"top-right\", \"bottom-right\", \"bottom-left\"] as const;\n\nexport type Variants = (typeof variants)[number];\nexport type Position = (typeof positions)[number];\n\nexport interface SnackbarsProviderProps extends React.HTMLAttributes<HTMLElement> {\n variant?: Variants;\n position?: Position;\n autoCloseTime?: number;\n closeOnClick?: boolean;\n autoClose?: boolean;\n component?: React.ElementType;\n}\n\ninterface Snack extends SnackbarsProviderProps {\n id: string;\n message: React.ReactNode;\n}\n\ninterface SnackTransitionProps {\n snack: Snack;\n position: Position;\n variant: Variants;\n className?: string;\n component: React.ElementType;\n autoClose: boolean;\n autoCloseTime: number;\n snackRest: Omit<\n SnackbarsProviderProps,\n \"variant\" | \"position\" | \"autoCloseTime\" | \"autoClose\" | \"closeOnClick\" | \"onClick\" | \"component\" | \"children\"\n >;\n onSnackRemove: (id: string) => (event: React.MouseEvent<HTMLElement>) => void;\n onClose: (id: string) => () => void;\n}\n\nfunction SnackTransition({\n snack,\n position,\n variant,\n className,\n component,\n autoClose,\n autoCloseTime,\n snackRest,\n onSnackRemove,\n onClose,\n}: SnackTransitionProps) {\n const nodeRef = useRef<HTMLDivElement>(null);\n\n return (\n <CSSTransition\n appear\n timeout={125}\n classNames={{\n appear: \"smwb-snackbar-enter\",\n appearActive: \"smwb-snackbar-enter-active\",\n appearDone: \"smwb-snackbar-enter-done\",\n enter: \"smwb-snackbar-enter\",\n enterActive: \"smwb-snackbar-enter-active\",\n enterDone: \"smwb-snackbar-enter-done\",\n exitActive: \"smwb-snackbar-exit-active\",\n }}\n unmountOnExit\n in\n nodeRef={nodeRef}\n >\n <Snackbar\n ref={nodeRef}\n component={snack.component ?? component}\n message={snack.message}\n position={snack.position ?? position}\n variant={snack.variant ?? variant}\n onClick={onSnackRemove(snack.id)}\n className={cn(className, snack.className)}\n isAutoClose={snack.autoClose ?? autoClose}\n autoCloseTime={snack.autoCloseTime ?? autoCloseTime}\n onClose={onClose(snack.id)}\n {...snackRest}\n />\n </CSSTransition>\n );\n}\n\nexport interface AddSnackbarOptions extends SnackbarsProviderProps {\n key?: string;\n message: React.ReactNode;\n}\n\nexport type AddSnackbar = (options: AddSnackbarOptions) => string;\n\nexport interface SnackbarOptions {\n addSnackbar: AddSnackbar;\n clearAllSnackbars: () => void;\n clearFirstSnackbar: () => void;\n clearLastSnackbar: () => void;\n clearByIdSnackbar: (id: string) => void;\n}\n\nconst SnackbarContext = createContext<SnackbarOptions>({\n addSnackbar: () => \"\",\n clearAllSnackbars: () => undefined,\n clearFirstSnackbar: () => undefined,\n clearLastSnackbar: () => undefined,\n clearByIdSnackbar: () => undefined,\n});\n\nexport function SnackbarProvider(props: SnackbarsProviderProps) {\n const {\n position = \"top-right\",\n variant = \"dark\",\n className,\n autoClose = true,\n autoCloseTime = 5000,\n closeOnClick = true,\n onClick,\n component = \"div\",\n children,\n ...rest\n } = props;\n\n const [snacks, setSnacks] = useState<Snack[]>([]);\n const { snackbarDomRoot } = useSnackbarsPortal();\n\n const addSnackbar: AddSnackbar = useCallback((options) => {\n const { key, ...rest } = options;\n\n const id = key ?? v4();\n const snack: Snack = { id, ...rest };\n\n setSnacks((prevState) => {\n const index = prevState.findIndex((item) => item.id === id);\n if (index === -1) {\n return [...prevState, snack];\n }\n const next = [...prevState];\n next[index] = snack;\n return next;\n });\n\n return id;\n }, []);\n\n const clearAllSnackbars = () => {\n setSnacks([]);\n };\n\n const clearFirstSnackbar = () => {\n setSnacks((prevState) => prevState.slice(1));\n };\n\n const clearLastSnackbar = () => {\n setSnacks((prevState) => prevState.slice(0, -1));\n };\n\n const clearByIdSnackbar = (id: string) => {\n setSnacks((prevState) => prevState.filter((value) => value.id !== id));\n };\n\n const onSnackRemove = (id: string) => (event: React.MouseEvent<HTMLElement>) => {\n onClick?.(event);\n\n if (closeOnClick) {\n clearByIdSnackbar(id);\n }\n };\n\n const onClose = (id: string) => () => {\n clearByIdSnackbar(id);\n };\n\n const currentPositions = snacks.reduce(\n (acc, snack) => {\n const currentPosition = snack.position ?? position;\n\n acc[currentPosition] = [...(acc[currentPosition] ?? []), snack];\n\n return acc;\n },\n {} as Record<Position, Snack[]>\n );\n\n const snackbars = (Object.keys(currentPositions) as unknown as typeof positions).map((key) => {\n const snacks = currentPositions[key];\n\n return (\n <TransitionGroup\n key={key}\n className={cn(\"smwb-snackbars\", `smwb-${key}`)}\n data-testid={`snackbars-${key}`}\n appear\n >\n {snacks.map((snack) => (\n <SnackTransition\n key={snack.id}\n snack={snack}\n position={position}\n variant={variant}\n className={className}\n component={component}\n autoClose={autoClose}\n autoCloseTime={autoCloseTime}\n snackRest={rest}\n onSnackRemove={onSnackRemove}\n onClose={onClose}\n />\n ))}\n </TransitionGroup>\n );\n });\n\n return (\n <SnackbarContext.Provider\n value={{ addSnackbar, clearAllSnackbars, clearFirstSnackbar, clearLastSnackbar, clearByIdSnackbar }}\n >\n {children}\n {snackbarDomRoot && createPortal(snackbars, snackbarDomRoot)}\n </SnackbarContext.Provider>\n );\n}\n\nexport interface SnackbarProps extends React.HTMLAttributes<HTMLElement> {\n message?: React.ReactNode;\n variant?: Variants;\n position?: Position;\n component?: React.ElementType;\n isAutoClose?: boolean;\n autoCloseTime?: number;\n onClose?: () => void;\n /** Optional action node rendered after the message (e.g. an Undo button). */\n action?: React.ReactNode;\n}\n\nexport const Snackbar = React.forwardRef(function SnackbarInner(\n {\n className,\n message,\n variant = \"dark\",\n position = \"top-right\",\n onClick,\n component = \"div\",\n isAutoClose,\n autoCloseTime,\n onClose,\n action,\n ...rest\n }: SnackbarProps,\n ref\n) {\n const timerClose = useRef<ReturnType<typeof setTimeout>>();\n\n const setCloseTimer = useEventCallback(() => {\n if (!onClose || !isAutoClose || !autoCloseTime) {\n return;\n }\n\n if (timerClose.current) {\n clearTimeout(timerClose.current);\n }\n\n timerClose.current = setTimeout(() => {\n onClose();\n }, autoCloseTime);\n });\n\n useEffect(() => {\n setCloseTimer();\n\n return () => {\n if (timerClose.current) {\n clearTimeout(timerClose.current);\n }\n };\n }, [setCloseTimer]);\n\n const Element = component;\n\n return (\n <Element\n ref={ref}\n className={cn(\"smwb-snackbar\", className, `smwb-${variant}`, `smwb-${position}`)}\n onClick={onClick}\n role=\"alert\"\n aria-live={variant === \"danger\" ? \"assertive\" : \"polite\"}\n aria-atomic=\"true\"\n {...rest}\n >\n <div className=\"smwb-snackbar__body\">{message}</div>\n {action != null ? <div className=\"smwb-snackbar__action\">{action}</div> : null}\n </Element>\n );\n});\n\nexport function useSnackbar() {\n return useContext(SnackbarContext);\n}\n\nexport default SnackbarProvider;\n"],"names":["SnackTransition","snack","position","variant","className","component","autoClose","autoCloseTime","snackRest","onSnackRemove","onClose","nodeRef","useRef","jsx","CSSTransition","Snackbar","_a","_b","_c","cn","_d","_e","SnackbarContext","createContext","SnackbarProvider","props","closeOnClick","onClick","children","rest","snacks","setSnacks","useState","snackbarDomRoot","useSnackbarsPortal","addSnackbar","useCallback","options","key","id","v4","prevState","index","item","next","clearAllSnackbars","clearFirstSnackbar","clearLastSnackbar","clearByIdSnackbar","value","event","currentPositions","acc","currentPosition","snackbars","TransitionGroup","jsxs","createPortal","React","message","isAutoClose","action","ref","timerClose","setCloseTimer","useEventCallback","useEffect","useSnackbar","useContext"],"mappings":"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"}
@@ -1,64 +1,72 @@
1
- import { jsxs as S, jsx as f } from "react/jsx-runtime";
2
- import '../../../assets/styles/less/components/tooltip/tooltip.entry.css';/* empty css */
3
- import { forwardRef as X, useState as d, useRef as v, useCallback as u, useEffect as Y } from "react";
4
- import H from "clsx";
5
- import { useFloating as L, autoUpdate as U, offset as V } from "@floating-ui/react";
6
- import { resolvePlacement as q } from "../../../utils/floating.js";
7
- const W = X(function({
8
- className: h,
9
- children: w,
10
- placement: T = "top",
11
- offset: e = { offsetX: 0, offsetY: 0 },
12
- message: k,
13
- open: b,
14
- trigger: o = "hover",
15
- openDelay: s = 0,
16
- closeDelay: c = 0
17
- }, x) {
18
- var m, p;
19
- const i = q(T), [O, r] = d(!1), [R, C] = d(!1), n = v(null), l = v(null), t = u(() => {
20
- n.current !== null && (clearTimeout(n.current), n.current = null), l.current !== null && (clearTimeout(l.current), l.current = null);
1
+ import { jsxs as _, jsx as v } from "react/jsx-runtime";
2
+ import '../../../assets/styles/less/components/tooltip/tooltip.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { forwardRef as M, useState as f, useRef as w, useCallback as d, useEffect as N } from "react";
5
+ import j from "clsx";
6
+ import { useFloating as A, autoUpdate as F, offset as L, flip as S, shift as V } from "@floating-ui/react";
7
+ import { resolvePlacement as X } from "../../../utils/floating.js";
8
+ function Y({ reference: h, placement: u, offset: e, className: a, children: m }) {
9
+ var o, n;
10
+ const l = X(u), { refs: p, floatingStyles: t } = A({
11
+ elements: { reference: h },
12
+ placement: l.placement,
13
+ whileElementsMounted: F,
14
+ middleware: [
15
+ L({ mainAxis: (o = e == null ? void 0 : e.offsetY) != null ? o : 0, crossAxis: (n = e == null ? void 0 : e.offsetX) != null ? n : 0 }),
16
+ // A fixed placement turns to the other side, and slides along it, when the
17
+ // viewport has no room for it.
18
+ ...l.autoMiddleware ? [l.autoMiddleware] : [S(), V({ padding: 8 })]
19
+ ]
20
+ });
21
+ return /* @__PURE__ */ v("div", { ref: p.setFloating, className: j("smwb-tooltip", a), style: t, children: m });
22
+ }
23
+ const Z = M(function({
24
+ className: u,
25
+ children: e,
26
+ placement: a = "top",
27
+ offset: m = { offsetX: 0, offsetY: 0 },
28
+ message: l,
29
+ open: p,
30
+ trigger: t = "hover",
31
+ openDelay: o = 0,
32
+ closeDelay: n = 0
33
+ }, k) {
34
+ const [T, b] = f(null), [P, i] = f(!1), [x, C] = f(!1), s = w(null), c = w(null), r = d(() => {
35
+ s.current !== null && (clearTimeout(s.current), s.current = null), c.current !== null && (clearTimeout(c.current), c.current = null);
21
36
  }, []);
22
- Y(() => () => t(), [t]);
23
- const _ = u(() => {
24
- if (t(), s <= 0) {
25
- r(!0);
37
+ N(() => () => r(), [r]);
38
+ const O = d(() => {
39
+ if (r(), o <= 0) {
40
+ i(!0);
26
41
  return;
27
42
  }
28
- n.current = setTimeout(() => r(!0), s);
29
- }, [t, s]), E = u(() => {
30
- if (t(), c <= 0) {
31
- r(!1);
43
+ s.current = setTimeout(() => i(!0), o);
44
+ }, [r, o]), R = d(() => {
45
+ if (r(), n <= 0) {
46
+ i(!1);
32
47
  return;
33
48
  }
34
- l.current = setTimeout(() => r(!1), c);
35
- }, [t, c]), { refs: a, floatingStyles: M } = L({
36
- placement: i.placement,
37
- whileElementsMounted: U,
38
- middleware: [
39
- V({ mainAxis: (m = e == null ? void 0 : e.offsetY) != null ? m : 0, crossAxis: (p = e == null ? void 0 : e.offsetX) != null ? p : 0 }),
40
- ...i.autoMiddleware ? [i.autoMiddleware] : []
41
- ]
42
- }), N = o === "manual" ? b === !0 : o === "click" ? R : O, P = o === "hover" ? _ : void 0, j = o === "hover" ? E : void 0, A = o === "click" ? () => {
43
- C((F) => !F);
44
- } : void 0;
45
- return /* @__PURE__ */ S("div", { className: "smwb-tooltip__wrapper", role: "tooltip", ref: x, children: [
46
- /* @__PURE__ */ f(
49
+ c.current = setTimeout(() => i(!1), n);
50
+ }, [r, n]);
51
+ return /* @__PURE__ */ _("div", { className: "smwb-tooltip__wrapper", role: "tooltip", ref: k, children: [
52
+ /* @__PURE__ */ v(
47
53
  "div",
48
54
  {
49
55
  className: "smwb-tooltip__ref",
50
- ref: a.setReference,
51
- onPointerEnter: P,
52
- onPointerLeave: j,
53
- onClick: A,
54
- children: w
56
+ ref: b,
57
+ onPointerEnter: t === "hover" ? O : void 0,
58
+ onPointerLeave: t === "hover" ? R : void 0,
59
+ onClick: t === "click" ? () => {
60
+ C((E) => !E);
61
+ } : void 0,
62
+ children: e
55
63
  }
56
64
  ),
57
- N && /* @__PURE__ */ f("div", { ref: a.setFloating, className: H("smwb-tooltip", h), style: M, children: k })
65
+ (t === "manual" ? p === !0 : t === "click" ? x : P) && T ? /* @__PURE__ */ v(Y, { reference: T, placement: a, offset: m, className: u, children: l }) : null
58
66
  ] });
59
67
  });
60
68
  export {
61
- W as Tooltip,
62
- W as default
69
+ Z as Tooltip,
70
+ Z as default
63
71
  };
64
72
  //# sourceMappingURL=tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","sources":["../../../../src/components/feedBack/tooltip/tooltip.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren, useCallback, useEffect, useRef, useState } from \"react\";\nimport cn from \"clsx\";\nimport { autoUpdate, offset as offsetMiddleware, useFloating } from \"@floating-ui/react\";\nimport { Placement, resolvePlacement } from \"../../../utils/floating\";\n\nexport type TooltipTrigger = \"hover\" | \"click\" | \"manual\";\n\nexport interface TooltipProps {\n className?: string;\n offset?: {\n offsetX?: number;\n offsetY?: number;\n };\n message: React.ReactNode;\n placement?: Placement;\n /** Controls tooltip visibility when trigger is manual. */\n open?: boolean;\n /** hover (default): show on pointer enter; click: toggle; manual: use open only. */\n trigger?: TooltipTrigger;\n openDelay?: number;\n closeDelay?: number;\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, PropsWithChildren<TooltipProps>>(function Tooltip(\n {\n className,\n children,\n placement = \"top\",\n offset = { offsetX: 0, offsetY: 0 },\n message,\n open: openProp,\n trigger = \"hover\",\n openDelay = 0,\n closeDelay = 0,\n },\n ref\n) {\n const resolved = resolvePlacement(placement);\n const [hoverOpen, setHoverOpen] = useState(false);\n const [clickOpen, setClickOpen] = useState(false);\n const openTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const closeTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const clearTimers = useCallback(() => {\n if (openTimerRef.current !== null) {\n clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }\n if (closeTimerRef.current !== null) {\n clearTimeout(closeTimerRef.current);\n closeTimerRef.current = null;\n }\n }, []);\n\n useEffect(() => () => clearTimers(), [clearTimers]);\n\n const scheduleOpen = useCallback(() => {\n clearTimers();\n if (openDelay <= 0) {\n setHoverOpen(true);\n return;\n }\n openTimerRef.current = setTimeout(() => setHoverOpen(true), openDelay);\n }, [clearTimers, openDelay]);\n\n const scheduleClose = useCallback(() => {\n clearTimers();\n if (closeDelay <= 0) {\n setHoverOpen(false);\n return;\n }\n closeTimerRef.current = setTimeout(() => setHoverOpen(false), closeDelay);\n }, [clearTimers, closeDelay]);\n\n const { refs, floatingStyles } = useFloating({\n placement: resolved.placement,\n whileElementsMounted: autoUpdate,\n middleware: [\n offsetMiddleware({ mainAxis: offset?.offsetY ?? 0, crossAxis: offset?.offsetX ?? 0 }),\n ...(resolved.autoMiddleware ? [resolved.autoMiddleware] : []),\n ],\n });\n\n const isVisible = trigger === \"manual\" ? openProp === true : trigger === \"click\" ? clickOpen : hoverOpen;\n\n const onPointerEnter = trigger === \"hover\" ? scheduleOpen : undefined;\n const onPointerLeave = trigger === \"hover\" ? scheduleClose : undefined;\n const onClick =\n trigger === \"click\"\n ? () => {\n setClickOpen((prev) => !prev);\n }\n : undefined;\n\n return (\n <div className=\"smwb-tooltip__wrapper\" role=\"tooltip\" ref={ref}>\n <div\n className=\"smwb-tooltip__ref\"\n ref={refs.setReference}\n onPointerEnter={onPointerEnter}\n onPointerLeave={onPointerLeave}\n onClick={onClick}\n >\n {children}\n </div>\n {isVisible && (\n <div ref={refs.setFloating} className={cn(\"smwb-tooltip\", className)} style={floatingStyles}>\n {message}\n </div>\n )}\n </div>\n );\n});\n\nexport default Tooltip;\n"],"names":["Tooltip","forwardRef","className","children","placement","offset","message","openProp","trigger","openDelay","closeDelay","ref","resolved","resolvePlacement","hoverOpen","setHoverOpen","useState","clickOpen","setClickOpen","openTimerRef","useRef","closeTimerRef","clearTimers","useCallback","useEffect","scheduleOpen","scheduleClose","refs","floatingStyles","useFloating","autoUpdate","offsetMiddleware","isVisible","onPointerEnter","onPointerLeave","onClick","prev","jsx","cn"],"mappings":";;;;;;AAwBO,MAAMA,IAAUC,EAA4D,SACjF;AAAA,EACE,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EAAA,QACZC,IAAS,EAAE,SAAS,GAAG,SAAS,EAAA;AAAA,EAChC,SAAAC;AAAA,EACA,MAAMC;AAAA,EACN,SAAAC,IAAU;AAAA,EACV,WAAAC,IAAY;AAAA,EACZ,YAAAC,IAAa;AACf,GACAC,GACA;;AACA,QAAMC,IAAWC,EAAiBT,CAAS,GACrC,CAACU,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAK,GAC1CG,IAAeC,EAA6C,IAAI,GAChEC,IAAgBD,EAA6C,IAAI,GAEjEE,IAAcC,EAAY,MAAM;AACpC,IAAIJ,EAAa,YAAY,SAC3B,aAAaA,EAAa,OAAO,GACjCA,EAAa,UAAU,OAErBE,EAAc,YAAY,SAC5B,aAAaA,EAAc,OAAO,GAClCA,EAAc,UAAU;AAAA,EAE5B,GAAG,CAAA,CAAE;AAEL,EAAAG,EAAU,MAAM,MAAMF,KAAe,CAACA,CAAW,CAAC;AAElD,QAAMG,IAAeF,EAAY,MAAM;AAErC,QADAD,EAAA,GACIb,KAAa,GAAG;AAClB,MAAAM,EAAa,EAAI;AACjB;AAAA,IACF;AACA,IAAAI,EAAa,UAAU,WAAW,MAAMJ,EAAa,EAAI,GAAGN,CAAS;AAAA,EACvE,GAAG,CAACa,GAAab,CAAS,CAAC,GAErBiB,IAAgBH,EAAY,MAAM;AAEtC,QADAD,EAAA,GACIZ,KAAc,GAAG;AACnB,MAAAK,EAAa,EAAK;AAClB;AAAA,IACF;AACA,IAAAM,EAAc,UAAU,WAAW,MAAMN,EAAa,EAAK,GAAGL,CAAU;AAAA,EAC1E,GAAG,CAACY,GAAaZ,CAAU,CAAC,GAEtB,EAAE,MAAAiB,GAAM,gBAAAC,EAAA,IAAmBC,EAAY;AAAA,IAC3C,WAAWjB,EAAS;AAAA,IACpB,sBAAsBkB;AAAA,IACtB,YAAY;AAAA,MACVC,EAAiB,EAAE,WAAU1B,IAAAA,KAAAA,gBAAAA,EAAQ,YAARA,OAAAA,IAAmB,GAAG,YAAWA,IAAAA,KAAAA,gBAAAA,EAAQ,YAARA,OAAAA,IAAmB,GAAG;AAAA,MACpF,GAAIO,EAAS,iBAAiB,CAACA,EAAS,cAAc,IAAI,CAAA;AAAA,IAAC;AAAA,EAC7D,CACD,GAEKoB,IAAYxB,MAAY,WAAWD,MAAa,KAAOC,MAAY,UAAUS,IAAYH,GAEzFmB,IAAiBzB,MAAY,UAAUiB,IAAe,QACtDS,IAAiB1B,MAAY,UAAUkB,IAAgB,QACvDS,IACJ3B,MAAY,UACR,MAAM;AACJ,IAAAU,EAAa,CAACkB,MAAS,CAACA,CAAI;AAAA,EAC9B,IACA;AAEN,2BACG,OAAA,EAAI,WAAU,yBAAwB,MAAK,WAAU,KAAAzB,GACpD,UAAA;AAAA,IAAA,gBAAA0B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,KAAKV,EAAK;AAAA,QACV,gBAAAM;AAAA,QACA,gBAAAC;AAAA,QACA,SAAAC;AAAA,QAEC,UAAAhC;AAAA,MAAA;AAAA,IAAA;AAAA,IAEF6B,KACC,gBAAAK,EAAC,OAAA,EAAI,KAAKV,EAAK,aAAa,WAAWW,EAAG,gBAAgBpC,CAAS,GAAG,OAAO0B,GAC1E,UAAAtB,EAAA,CACH;AAAA,EAAA,GAEJ;AAEJ,CAAC;"}
1
+ {"version":3,"file":"tooltip.js","sources":["../../../../src/components/feedBack/tooltip/tooltip.tsx"],"sourcesContent":["import React, { forwardRef, PropsWithChildren, useCallback, useEffect, useRef, useState } from \"react\";\nimport cn from \"clsx\";\nimport { autoUpdate, flip, offset as offsetMiddleware, shift, useFloating } from \"@floating-ui/react\";\nimport { Placement, resolvePlacement } from \"../../../utils/floating\";\n\nexport type TooltipTrigger = \"hover\" | \"click\" | \"manual\";\n\nexport interface TooltipProps {\n className?: string;\n offset?: {\n offsetX?: number;\n offsetY?: number;\n };\n message: React.ReactNode;\n placement?: Placement;\n /** Controls tooltip visibility when trigger is manual. */\n open?: boolean;\n /** hover (default): show on pointer enter; click: toggle; manual: use open only. */\n trigger?: TooltipTrigger;\n openDelay?: number;\n closeDelay?: number;\n}\n\ninterface TooltipPopupProps {\n reference: HTMLElement;\n placement: Placement;\n offset: TooltipProps[\"offset\"];\n className?: string;\n children: React.ReactNode;\n}\n\n// Floating UI's hooks run layout effects, so they live here and mount only while\n// the tooltip shows: a closed tooltip runs none, on the server included. (Floating\n// UI picks useLayoutEffect when its module loads in a DOM, so a server render in\n// a DOM test environment warned for every closed tooltip.)\nfunction TooltipPopup({ reference, placement, offset, className, children }: TooltipPopupProps) {\n const resolved = resolvePlacement(placement);\n const { refs, floatingStyles } = useFloating({\n elements: { reference },\n placement: resolved.placement,\n whileElementsMounted: autoUpdate,\n middleware: [\n offsetMiddleware({ mainAxis: offset?.offsetY ?? 0, crossAxis: offset?.offsetX ?? 0 }),\n // A fixed placement turns to the other side, and slides along it, when the\n // viewport has no room for it.\n ...(resolved.autoMiddleware ? [resolved.autoMiddleware] : [flip(), shift({ padding: 8 })]),\n ],\n });\n return (\n <div ref={refs.setFloating} className={cn(\"smwb-tooltip\", className)} style={floatingStyles}>\n {children}\n </div>\n );\n}\n\nexport const Tooltip = forwardRef<HTMLDivElement, PropsWithChildren<TooltipProps>>(function Tooltip(\n {\n className,\n children,\n placement = \"top\",\n offset = { offsetX: 0, offsetY: 0 },\n message,\n open: openProp,\n trigger = \"hover\",\n openDelay = 0,\n closeDelay = 0,\n },\n ref\n) {\n const [reference, setReference] = useState<HTMLDivElement | null>(null);\n const [hoverOpen, setHoverOpen] = useState(false);\n const [clickOpen, setClickOpen] = useState(false);\n const openTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const closeTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const clearTimers = useCallback(() => {\n if (openTimerRef.current !== null) {\n clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }\n if (closeTimerRef.current !== null) {\n clearTimeout(closeTimerRef.current);\n closeTimerRef.current = null;\n }\n }, []);\n\n useEffect(() => () => clearTimers(), [clearTimers]);\n\n const scheduleOpen = useCallback(() => {\n clearTimers();\n if (openDelay <= 0) {\n setHoverOpen(true);\n return;\n }\n openTimerRef.current = setTimeout(() => setHoverOpen(true), openDelay);\n }, [clearTimers, openDelay]);\n\n const scheduleClose = useCallback(() => {\n clearTimers();\n if (closeDelay <= 0) {\n setHoverOpen(false);\n return;\n }\n closeTimerRef.current = setTimeout(() => setHoverOpen(false), closeDelay);\n }, [clearTimers, closeDelay]);\n\n const isVisible = trigger === \"manual\" ? openProp === true : trigger === \"click\" ? clickOpen : hoverOpen;\n\n const onPointerEnter = trigger === \"hover\" ? scheduleOpen : undefined;\n const onPointerLeave = trigger === \"hover\" ? scheduleClose : undefined;\n const onClick =\n trigger === \"click\"\n ? () => {\n setClickOpen((prev) => !prev);\n }\n : undefined;\n\n return (\n <div className=\"smwb-tooltip__wrapper\" role=\"tooltip\" ref={ref}>\n <div\n className=\"smwb-tooltip__ref\"\n ref={setReference}\n onPointerEnter={onPointerEnter}\n onPointerLeave={onPointerLeave}\n onClick={onClick}\n >\n {children}\n </div>\n {isVisible && reference ? (\n <TooltipPopup reference={reference} placement={placement} offset={offset} className={className}>\n {message}\n </TooltipPopup>\n ) : null}\n </div>\n );\n});\n\nexport default Tooltip;\n"],"names":["TooltipPopup","reference","placement","offset","className","children","resolved","resolvePlacement","refs","floatingStyles","useFloating","autoUpdate","offsetMiddleware","flip","shift","jsx","cn","Tooltip","forwardRef","message","openProp","trigger","openDelay","closeDelay","ref","setReference","useState","hoverOpen","setHoverOpen","clickOpen","setClickOpen","openTimerRef","useRef","closeTimerRef","clearTimers","useCallback","useEffect","scheduleOpen","scheduleClose","prev"],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { jsx as h, jsxs as y } from "react/jsx-runtime";
2
- import '../../../assets/styles/less/components/button/button.entry.css';/* empty css */
2
+ import '../../../assets/styles/less/components/button/button.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
3
4
  import x from "react";
4
5
  import v from "clsx";
5
6
  import { Ripple as z } from "../../base/ripple/ripple.js";
6
7
  import { Icon as C } from "../../base/icon/icon.js";
7
- const G = x.forwardRef(
8
- function(N, i) {
8
+ const H = x.forwardRef(
9
+ function(N, s) {
9
10
  const {
10
11
  label: e,
11
12
  variant: $ = "contained",
@@ -22,17 +23,17 @@ const G = x.forwardRef(
22
23
  size: E = "medium",
23
24
  colorTheme: _ = "primary",
24
25
  color: r,
25
- ...c
26
- } = N, m = r != null ? r : _, p = x.useRef(null), d = (s) => {
27
- n == null || n(s);
28
- }, b = (s) => {
26
+ ...m
27
+ } = N, c = r != null ? r : _, p = x.useRef(null), d = (i) => {
28
+ n == null || n(i);
29
+ }, b = (i) => {
29
30
  var R;
30
- o || (R = p.current) == null || R.onRipple(s);
31
+ o || (R = p.current) == null || R.onRipple(i);
31
32
  }, f = v(
32
33
  "smwb-button",
33
34
  `smwb-${$}`,
34
35
  `smwb-${E}`,
35
- m === "primary" ? "smwb-primary" : `smwb-button_color-${m}`,
36
+ c === "primary" ? "smwb-primary" : `smwb-button_color-${c}`,
36
37
  j,
37
38
  {
38
39
  "smwb-disabled": o,
@@ -43,14 +44,14 @@ const G = x.forwardRef(
43
44
  "a",
44
45
  {
45
46
  "data-testid": "button-link",
46
- ref: i,
47
+ ref: s,
47
48
  className: f,
48
49
  href: l,
49
50
  target: "_blank",
50
51
  rel: "noreferrer",
51
52
  onMouseDown: d,
52
53
  onPointerDown: b,
53
- ...c,
54
+ ...m,
54
55
  children: [
55
56
  t && w,
56
57
  e || a,
@@ -61,12 +62,12 @@ const G = x.forwardRef(
61
62
  "button",
62
63
  {
63
64
  "data-testid": "button",
64
- ref: i,
65
+ ref: s,
65
66
  className: f,
66
67
  onMouseDown: d,
67
68
  onPointerDown: b,
68
69
  disabled: !!o,
69
- ...c,
70
+ ...m,
70
71
  children: [
71
72
  t && w,
72
73
  e || a,
@@ -77,7 +78,7 @@ const G = x.forwardRef(
77
78
  }
78
79
  );
79
80
  export {
80
- G as Button,
81
- G as default
81
+ H as Button,
82
+ H as default
82
83
  };
83
84
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../../../src/components/inputs/button/button.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport { Icon, IconProps } from \"../../base/icon\";\n\nexport interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\n /**\n * Текст на кнопке.\n */\n label?: string;\n\n /**\n * Вариант стилизации кнопки.\n */\n variant?: \"contained\" | \"text\" | \"outlined\";\n\n /**\n * Размер кнопки.\n */\n size?: \"small\" | \"medium\" | \"large\";\n\n /**\n * Иконка, которая может быть ReactNode (например, <Icon/>) или строкой (url, base64, и т.д.).\n */\n icon?: React.ReactNode | string;\n\n /**\n * Пропсы для иконки (исключая 'name', если в IconProps оно обязательно).\n */\n iconProps?: Omit<IconProps, \"name\">;\n\n /**\n * @deprecated используйте `color`. Оставлено для обратной совместимости.\n */\n colorTheme?: \"primary\";\n\n /**\n * Семантический цвет кнопки. Резолвится через токены `--smui-*Color*`.\n */\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\n /**\n * Ссылка. Если задана, компонент может рендериться как <a>.\n */\n href?: string;\n\n /**\n * Отключённое состояние.\n */\n disabled?: boolean;\n\n /**\n * Тип кнопки.\n */\n type?: \"button\" | \"submit\" | \"reset\";\n\n /**\n * Растягивать кнопку по всей ширине контейнера.\n */\n fullWidth?: boolean;\n\n /**\n * Позиция риппл-эффекта по центру.\n */\n rippleCenter?: boolean;\n\n /**\n * Отключить риппл-эффект.\n */\n disableRipple?: boolean;\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement | HTMLAnchorElement, PropsWithChildren<ButtonProps>>(\n function Button(props, ref) {\n const {\n label,\n variant = \"contained\",\n icon,\n iconProps = {},\n href,\n className,\n disabled,\n children,\n onMouseDown: onMouseDownProp,\n fullWidth,\n rippleCenter,\n disableRipple,\n\n size = \"medium\",\n colorTheme = \"primary\",\n color: colorProp,\n ...rest\n } = props;\n const color = colorProp ?? colorTheme;\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\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 | HTMLAnchorElement>) => {\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n };\n\n const classes = cn(\n \"smwb-button\",\n `smwb-${variant}`,\n `smwb-${size}`,\n color === \"primary\" ? \"smwb-primary\" : `smwb-button_color-${color}`,\n className,\n {\n \"smwb-disabled\": disabled,\n \"smwb-full-width\": fullWidth,\n }\n );\n\n const rippleElement = !disableRipple && <Ripple actionRef={rippleRef} center={rippleCenter} />;\n const iconElement = typeof icon === \"string\" ? <Icon {...iconProps} name={icon} /> : icon;\n\n if (href) {\n return (\n <a\n data-testid=\"button-link\"\n ref={ref as React.LegacyRef<HTMLAnchorElement>}\n className={classes}\n href={href}\n target=\"_blank\"\n rel=\"noreferrer\"\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {icon && iconElement}\n {label ? label : children}\n {rippleElement}\n </a>\n );\n }\n\n return (\n <button\n data-testid=\"button\"\n ref={ref as React.LegacyRef<HTMLButtonElement>}\n className={classes}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n disabled={!!disabled}\n {...rest}\n >\n {icon && iconElement}\n {label ? label : children}\n {rippleElement}\n </button>\n );\n }\n);\nexport default Button;\n"],"names":["Button","React","props","ref","label","variant","icon","iconProps","href","className","disabled","children","onMouseDownProp","fullWidth","rippleCenter","disableRipple","size","colorTheme","colorProp","rest","color","rippleRef","onMouseDown","event","onPointerDown","_a","classes","cn","rippleElement","jsx","Ripple","iconElement","Icon","jsxs"],"mappings":";;;;;;AAyEO,MAAMA,IAASC,EAAM;AAAA,EAC1B,SAAgBC,GAAOC,GAAK;AAC1B,UAAM;AAAA,MACJ,OAAAC;AAAA,MACA,SAAAC,IAAU;AAAA,MACV,MAAAC;AAAA,MACA,WAAAC,IAAY,CAAA;AAAA,MACZ,MAAAC;AAAA,MACA,WAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAaC;AAAA,MACb,WAAAC;AAAA,MACA,cAAAC;AAAA,MACA,eAAAC;AAAA,MAEA,MAAAC,IAAO;AAAA,MACP,YAAAC,IAAa;AAAA,MACb,OAAOC;AAAA,MACP,GAAGC;AAAA,IAAA,IACDjB,GACEkB,IAAQF,KAAA,OAAAA,IAAaD,GACrBI,IAAYpB,EAAM,OAAyB,IAAI,GAE/CqB,IAAc,CAACC,MAAmE;AACtF,MAAAX,KAAA,QAAAA,EAAkBW;AAAA,IACpB,GAGMC,IAAgB,CAACD,MAAqE;;AAC1F,MAAKb,MACHe,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,IAEhC,GAEMG,IAAUC;AAAA,MACd;AAAA,MACA,QAAQtB,CAAO;AAAA,MACf,QAAQW,CAAI;AAAA,MACZI,MAAU,YAAY,iBAAiB,qBAAqBA,CAAK;AAAA,MACjEX;AAAA,MACA;AAAA,QACE,iBAAiBC;AAAA,QACjB,mBAAmBG;AAAA,MAAA;AAAA,IACrB,GAGIe,IAAgB,CAACb,KAAiB,gBAAAc,EAACC,KAAO,WAAWT,GAAW,QAAQP,GAAc,GACtFiB,IAAc,OAAOzB,KAAS,WAAW,gBAAAuB,EAACG,KAAM,GAAGzB,GAAW,MAAMD,EAAA,CAAM,IAAKA;AAErF,WAAIE,IAEA,gBAAAyB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,KAAA9B;AAAA,QACA,WAAWuB;AAAA,QACX,MAAAlB;AAAA,QACA,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,aAAAc;AAAA,QACA,eAAAE;AAAA,QACC,GAAGL;AAAA,QAEH,UAAA;AAAA,UAAAb,KAAQyB;AAAA,UACR3B,KAAgBO;AAAA,UAChBiB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,IAML,gBAAAK;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,KAAA9B;AAAA,QACA,WAAWuB;AAAA,QACX,aAAAJ;AAAA,QACA,eAAAE;AAAA,QACA,UAAU,CAAC,CAACd;AAAA,QACX,GAAGS;AAAA,QAEH,UAAA;AAAA,UAAAb,KAAQyB;AAAA,UACR3B,KAAgBO;AAAA,UAChBiB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;"}
1
+ {"version":3,"file":"button.js","sources":["../../../../src/components/inputs/button/button.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport { Icon, IconProps } from \"../../base/icon\";\n\nexport interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\n /**\n * Текст на кнопке.\n */\n label?: string;\n\n /**\n * Вариант стилизации кнопки.\n */\n variant?: \"contained\" | \"text\" | \"outlined\";\n\n /**\n * Размер кнопки.\n */\n size?: \"small\" | \"medium\" | \"large\";\n\n /**\n * Иконка, которая может быть ReactNode (например, <Icon/>) или строкой (url, base64, и т.д.).\n */\n icon?: React.ReactNode | string;\n\n /**\n * Пропсы для иконки (исключая 'name', если в IconProps оно обязательно).\n */\n iconProps?: Omit<IconProps, \"name\">;\n\n /**\n * @deprecated используйте `color`. Оставлено для обратной совместимости.\n */\n colorTheme?: \"primary\";\n\n /**\n * Семантический цвет кнопки. Резолвится через токены `--smui-*Color*`.\n */\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\n /**\n * Ссылка. Если задана, компонент может рендериться как <a>.\n */\n href?: string;\n\n /**\n * Отключённое состояние.\n */\n disabled?: boolean;\n\n /**\n * Тип кнопки.\n */\n type?: \"button\" | \"submit\" | \"reset\";\n\n /**\n * Растягивать кнопку по всей ширине контейнера.\n */\n fullWidth?: boolean;\n\n /**\n * Позиция риппл-эффекта по центру.\n */\n rippleCenter?: boolean;\n\n /**\n * Отключить риппл-эффект.\n */\n disableRipple?: boolean;\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement | HTMLAnchorElement, PropsWithChildren<ButtonProps>>(\n function Button(props, ref) {\n const {\n label,\n variant = \"contained\",\n icon,\n iconProps = {},\n href,\n className,\n disabled,\n children,\n onMouseDown: onMouseDownProp,\n fullWidth,\n rippleCenter,\n disableRipple,\n\n size = \"medium\",\n colorTheme = \"primary\",\n color: colorProp,\n ...rest\n } = props;\n const color = colorProp ?? colorTheme;\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\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 | HTMLAnchorElement>) => {\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n };\n\n const classes = cn(\n \"smwb-button\",\n `smwb-${variant}`,\n `smwb-${size}`,\n color === \"primary\" ? \"smwb-primary\" : `smwb-button_color-${color}`,\n className,\n {\n \"smwb-disabled\": disabled,\n \"smwb-full-width\": fullWidth,\n }\n );\n\n const rippleElement = !disableRipple && <Ripple actionRef={rippleRef} center={rippleCenter} />;\n const iconElement = typeof icon === \"string\" ? <Icon {...iconProps} name={icon} /> : icon;\n\n if (href) {\n return (\n <a\n data-testid=\"button-link\"\n ref={ref as React.LegacyRef<HTMLAnchorElement>}\n className={classes}\n href={href}\n target=\"_blank\"\n rel=\"noreferrer\"\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {icon && iconElement}\n {label ? label : children}\n {rippleElement}\n </a>\n );\n }\n\n return (\n <button\n data-testid=\"button\"\n ref={ref as React.LegacyRef<HTMLButtonElement>}\n className={classes}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n disabled={!!disabled}\n {...rest}\n >\n {icon && iconElement}\n {label ? label : children}\n {rippleElement}\n </button>\n );\n }\n);\nexport default Button;\n"],"names":["Button","React","props","ref","label","variant","icon","iconProps","href","className","disabled","children","onMouseDownProp","fullWidth","rippleCenter","disableRipple","size","colorTheme","colorProp","rest","color","rippleRef","onMouseDown","event","onPointerDown","_a","classes","cn","rippleElement","jsx","Ripple","iconElement","Icon","jsxs"],"mappings":";;;;;;;AA0EO,MAAMA,IAASC,EAAM;AAAA,EAC1B,SAAgBC,GAAOC,GAAK;AAC1B,UAAM;AAAA,MACJ,OAAAC;AAAA,MACA,SAAAC,IAAU;AAAA,MACV,MAAAC;AAAA,MACA,WAAAC,IAAY,CAAA;AAAA,MACZ,MAAAC;AAAA,MACA,WAAAC;AAAA,MACA,UAAAC;AAAA,MACA,UAAAC;AAAA,MACA,aAAaC;AAAA,MACb,WAAAC;AAAA,MACA,cAAAC;AAAA,MACA,eAAAC;AAAA,MAEA,MAAAC,IAAO;AAAA,MACP,YAAAC,IAAa;AAAA,MACb,OAAOC;AAAA,MACP,GAAGC;AAAA,IAAA,IACDjB,GACEkB,IAAQF,KAAA,OAAAA,IAAaD,GACrBI,IAAYpB,EAAM,OAAyB,IAAI,GAE/CqB,IAAc,CAACC,MAAmE;AACtF,MAAAX,KAAA,QAAAA,EAAkBW;AAAA,IACpB,GAGMC,IAAgB,CAACD,MAAqE;;AAC1F,MAAKb,MACHe,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,IAEhC,GAEMG,IAAUC;AAAA,MACd;AAAA,MACA,QAAQtB,CAAO;AAAA,MACf,QAAQW,CAAI;AAAA,MACZI,MAAU,YAAY,iBAAiB,qBAAqBA,CAAK;AAAA,MACjEX;AAAA,MACA;AAAA,QACE,iBAAiBC;AAAA,QACjB,mBAAmBG;AAAA,MAAA;AAAA,IACrB,GAGIe,IAAgB,CAACb,KAAiB,gBAAAc,EAACC,KAAO,WAAWT,GAAW,QAAQP,GAAc,GACtFiB,IAAc,OAAOzB,KAAS,WAAW,gBAAAuB,EAACG,KAAM,GAAGzB,GAAW,MAAMD,EAAA,CAAM,IAAKA;AAErF,WAAIE,IAEA,gBAAAyB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,KAAA9B;AAAA,QACA,WAAWuB;AAAA,QACX,MAAAlB;AAAA,QACA,QAAO;AAAA,QACP,KAAI;AAAA,QACJ,aAAAc;AAAA,QACA,eAAAE;AAAA,QACC,GAAGL;AAAA,QAEH,UAAA;AAAA,UAAAb,KAAQyB;AAAA,UACR3B,KAAgBO;AAAA,UAChBiB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,IAML,gBAAAK;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,eAAY;AAAA,QACZ,KAAA9B;AAAA,QACA,WAAWuB;AAAA,QACX,aAAAJ;AAAA,QACA,eAAAE;AAAA,QACA,UAAU,CAAC,CAACd;AAAA,QACX,GAAGS;AAAA,QAEH,UAAA;AAAA,UAAAb,KAAQyB;AAAA,UACR3B,KAAgBO;AAAA,UAChBiB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;"}
@@ -1,8 +1,9 @@
1
1
  import { jsx as N } from "react/jsx-runtime";
2
- import '../../../assets/styles/less/components/buttonGroup/buttonGroup.entry.css';/* empty css */
2
+ import '../../../assets/styles/less/components/buttonGroup/buttonGroup.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
3
4
  import r from "react";
4
5
  import T from "clsx";
5
- const _ = r.forwardRef(function(u, c) {
6
+ const $ = r.forwardRef(function(u, c) {
6
7
  const {
7
8
  className: f,
8
9
  children: b,
@@ -47,7 +48,7 @@ const _ = r.forwardRef(function(u, c) {
47
48
  );
48
49
  });
49
50
  export {
50
- _ as ButtonGroup,
51
- _ as default
51
+ $ as ButtonGroup,
52
+ $ as default
52
53
  };
53
54
  //# sourceMappingURL=buttonGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buttonGroup.js","sources":["../../../../src/components/inputs/buttonGroups/buttonGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { ButtonProps } from \"../button\";\n\nexport interface ButtonGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: \"horizontal\" | \"vertical\";\n variant?: \"contained\" | \"text\" | \"outlined\";\n size?: \"small\" | \"medium\" | \"large\";\n fullWidth?: boolean;\n disabled?: boolean;\n /** @deprecated use `color`. */\n colorTheme?: \"primary\";\n /** Semantic color propagated to child buttons. */\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n}\n\nexport const ButtonGroup = React.forwardRef(function ButtonGroup(\n props: ButtonGroupProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const {\n className,\n children,\n variant = \"contained\",\n size = \"medium\",\n orientation = \"horizontal\",\n colorTheme = \"primary\",\n color,\n fullWidth = false,\n disabled = false,\n ...rest\n } = props;\n\n return (\n <div\n ref={ref}\n className={cn(\n \"smwb-button-group\",\n className,\n `smwb-${orientation}`,\n `smwb-${variant}`,\n fullWidth && \"smwb-full-width\",\n disabled\n )}\n role=\"group\"\n data-testid=\"button-group\"\n {...rest}\n >\n {React.Children.map(children, (child) => {\n const element = child as React.ReactElement<ButtonProps>;\n\n return React.cloneElement(element, {\n className: \"smwb-button-group__grouped\",\n fullWidth: orientation === \"vertical\" || (element.props.fullWidth ?? fullWidth),\n variant: element.props.variant ?? variant,\n size: element.props.size ?? size,\n disabled: element.props.disabled ?? disabled,\n colorTheme: element.props.colorTheme ?? colorTheme,\n color: element.props.color ?? color,\n });\n })}\n </div>\n );\n});\n\nexport default ButtonGroup;\n"],"names":["ButtonGroup","React","props","ref","className","children","variant","size","orientation","colorTheme","color","fullWidth","disabled","rest","jsx","cn","child","element","_a","_b","_c","_d","_e","_f"],"mappings":";;;;AAiBO,MAAMA,IAAcC,EAAM,WAAW,SAC1CC,GACAC,GACA;AACA,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,aAAAC,IAAc;AAAA,IACd,YAAAC,IAAa;AAAA,IACb,OAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,EAAA,IACDX;AAEJ,SACE,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAX;AAAA,MACA,WAAWY;AAAA,QACT;AAAA,QACAX;AAAA,QACA,QAAQI,CAAW;AAAA,QACnB,QAAQF,CAAO;AAAA,QACfK,KAAa;AAAA,QACbC;AAAA,MAAA;AAAA,MAEF,MAAK;AAAA,MACL,eAAY;AAAA,MACX,GAAGC;AAAA,MAEH,UAAAZ,EAAM,SAAS,IAAII,GAAU,CAACW,MAAU;;AACvC,cAAMC,IAAUD;AAEhB,eAAOf,EAAM,aAAagB,GAAS;AAAA,UACjC,WAAW;AAAA,UACX,WAAWT,MAAgB,gBAAeU,IAAAD,EAAQ,MAAM,cAAd,OAAAC,IAA2BP;AAAA,UACrE,UAASQ,IAAAF,EAAQ,MAAM,YAAd,OAAAE,IAAyBb;AAAA,UAClC,OAAMc,IAAAH,EAAQ,MAAM,SAAd,OAAAG,IAAsBb;AAAA,UAC5B,WAAUc,IAAAJ,EAAQ,MAAM,aAAd,OAAAI,IAA0BT;AAAA,UACpC,aAAYU,IAAAL,EAAQ,MAAM,eAAd,OAAAK,IAA4Bb;AAAA,UACxC,QAAOc,IAAAN,EAAQ,MAAM,UAAd,OAAAM,IAAuBb;AAAA,QAAA,CAC/B;AAAA,MACH,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
1
+ {"version":3,"file":"buttonGroup.js","sources":["../../../../src/components/inputs/buttonGroups/buttonGroup.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { ButtonProps } from \"../button\";\n\nexport interface ButtonGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n orientation?: \"horizontal\" | \"vertical\";\n variant?: \"contained\" | \"text\" | \"outlined\";\n size?: \"small\" | \"medium\" | \"large\";\n fullWidth?: boolean;\n disabled?: boolean;\n /** @deprecated use `color`. */\n colorTheme?: \"primary\";\n /** Semantic color propagated to child buttons. */\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n}\n\nexport const ButtonGroup = React.forwardRef(function ButtonGroup(\n props: ButtonGroupProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const {\n className,\n children,\n variant = \"contained\",\n size = \"medium\",\n orientation = \"horizontal\",\n colorTheme = \"primary\",\n color,\n fullWidth = false,\n disabled = false,\n ...rest\n } = props;\n\n return (\n <div\n ref={ref}\n className={cn(\n \"smwb-button-group\",\n className,\n `smwb-${orientation}`,\n `smwb-${variant}`,\n fullWidth && \"smwb-full-width\",\n disabled\n )}\n role=\"group\"\n data-testid=\"button-group\"\n {...rest}\n >\n {React.Children.map(children, (child) => {\n const element = child as React.ReactElement<ButtonProps>;\n\n return React.cloneElement(element, {\n className: \"smwb-button-group__grouped\",\n fullWidth: orientation === \"vertical\" || (element.props.fullWidth ?? fullWidth),\n variant: element.props.variant ?? variant,\n size: element.props.size ?? size,\n disabled: element.props.disabled ?? disabled,\n colorTheme: element.props.colorTheme ?? colorTheme,\n color: element.props.color ?? color,\n });\n })}\n </div>\n );\n});\n\nexport default ButtonGroup;\n"],"names":["ButtonGroup","React","props","ref","className","children","variant","size","orientation","colorTheme","color","fullWidth","disabled","rest","jsx","cn","child","element","_a","_b","_c","_d","_e","_f"],"mappings":";;;;;AAkBO,MAAMA,IAAcC,EAAM,WAAW,SAC1CC,GACAC,GACA;AACA,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,aAAAC,IAAc;AAAA,IACd,YAAAC,IAAa;AAAA,IACb,OAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,UAAAC,IAAW;AAAA,IACX,GAAGC;AAAA,EAAA,IACDX;AAEJ,SACE,gBAAAY;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAX;AAAA,MACA,WAAWY;AAAA,QACT;AAAA,QACAX;AAAA,QACA,QAAQI,CAAW;AAAA,QACnB,QAAQF,CAAO;AAAA,QACfK,KAAa;AAAA,QACbC;AAAA,MAAA;AAAA,MAEF,MAAK;AAAA,MACL,eAAY;AAAA,MACX,GAAGC;AAAA,MAEH,UAAAZ,EAAM,SAAS,IAAII,GAAU,CAACW,MAAU;;AACvC,cAAMC,IAAUD;AAEhB,eAAOf,EAAM,aAAagB,GAAS;AAAA,UACjC,WAAW;AAAA,UACX,WAAWT,MAAgB,gBAAeU,IAAAD,EAAQ,MAAM,cAAd,OAAAC,IAA2BP;AAAA,UACrE,UAASQ,IAAAF,EAAQ,MAAM,YAAd,OAAAE,IAAyBb;AAAA,UAClC,OAAMc,IAAAH,EAAQ,MAAM,SAAd,OAAAG,IAAsBb;AAAA,UAC5B,WAAUc,IAAAJ,EAAQ,MAAM,aAAd,OAAAI,IAA0BT;AAAA,UACpC,aAAYU,IAAAL,EAAQ,MAAM,eAAd,OAAAK,IAA4Bb;AAAA,UACxC,QAAOc,IAAAN,EAAQ,MAAM,UAAd,OAAAM,IAAuBb;AAAA,QAAA,CAC/B;AAAA,MACH,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
@@ -1,13 +1,14 @@
1
1
  import { jsx as e, jsxs as g } from "react/jsx-runtime";
2
- import '../../../assets/styles/less/components/checkbox/checkbox.entry.css';/* empty css */
2
+ import '../../../assets/styles/less/components/checkbox/checkbox.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
3
4
  import v from "react";
4
5
  import b from "clsx";
5
6
  import { Icon as d } from "../../base/icon/icon.js";
6
7
  import { useId as y } from "../../../hooks/useId.js";
7
8
  import { TextFieldWrapper as z } from "../textField/textFieldWrapper.js";
8
- const D = v.forwardRef(function(m, h) {
9
+ const O = v.forwardRef(function(o, h) {
9
10
  const {
10
- label: o,
11
+ label: s,
11
12
  disabled: r,
12
13
  readOnly: c,
13
14
  required: t,
@@ -21,12 +22,12 @@ const D = v.forwardRef(function(m, h) {
21
22
  helperText: f,
22
23
  error: n,
23
24
  ...u
24
- } = m, l = y(x), N = (s) => {
25
+ } = o, l = y(x), N = (m) => {
25
26
  if (c) {
26
- s.preventDefault();
27
+ m.preventDefault();
27
28
  return;
28
29
  }
29
- i == null || i(s, s.target.checked, m);
30
+ i == null || i(m, m.target.checked, o);
30
31
  };
31
32
  return /* @__PURE__ */ e(z, { helperText: f, disabled: r, error: n, className: "smwb-text-field-checkbox", children: /* @__PURE__ */ g(
32
33
  "label",
@@ -62,13 +63,13 @@ const D = v.forwardRef(function(m, h) {
62
63
  }
63
64
  ),
64
65
  /* @__PURE__ */ e("span", { className: b("smwb-checkbox__btn", { "smwb-indeterminate": a }), children: a ? /* @__PURE__ */ e(d, { name: "remove", size: 18, className: "smwb-checkbox__icon", weight: 700 }) : /* @__PURE__ */ e(d, { name: "check", size: 17, className: "smwb-checkbox__icon", weight: 700 }) }),
65
- o && /* @__PURE__ */ e("span", { className: "smwb-checkbox__label", children: o })
66
+ s && /* @__PURE__ */ e("span", { className: "smwb-checkbox__label", children: s })
66
67
  ]
67
68
  }
68
69
  ) });
69
70
  });
70
71
  export {
71
- D as Checkbox,
72
- D as default
72
+ O as Checkbox,
73
+ O as default
73
74
  };
74
75
  //# sourceMappingURL=checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../../src/components/inputs/checkbox/checkbox.tsx"],"sourcesContent":["import React, { InputHTMLAttributes } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { useId } from \"../../../hooks/useId\";\n\nexport type SelectionControlSize = \"small\" | \"medium\" | \"large\";\nexport type SelectionControlColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface CheckboxProps 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 indeterminate?: boolean;\n className?: string;\n size?: SelectionControlSize;\n color?: SelectionControlColor;\n /** Unified handler: `(event, checked, data)`. */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>, checked: boolean, data: CheckboxProps) => void;\n helperText?: React.ReactNode;\n error?: boolean;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(props, ref) {\n const {\n label,\n disabled,\n readOnly,\n required,\n name,\n id: idProp,\n indeterminate,\n className,\n size = \"medium\",\n color = \"primary\",\n onChange,\n helperText,\n error,\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, 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(\n \"smwb-checkbox__wrapper\",\n `smwb-checkbox_size-${size}`,\n `smwb-checkbox_color-${color}`,\n className,\n {\n \"smwb-disabled\": disabled,\n \"smwb-readonly\": readOnly,\n \"smwb-indeterminate\": indeterminate,\n }\n )}\n >\n <input\n type=\"checkbox\"\n id={id}\n name={name}\n className=\"smwb-checkbox__input\"\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n aria-invalid={error || undefined}\n aria-required={required || undefined}\n ref={ref}\n {...args}\n onChange={handleChange}\n />\n <span className={cn(\"smwb-checkbox__btn\", { \"smwb-indeterminate\": indeterminate })}>\n {indeterminate ? (\n <Icon name=\"remove\" size={18} className=\"smwb-checkbox__icon\" weight={700} />\n ) : (\n <Icon name=\"check\" size={17} className=\"smwb-checkbox__icon\" weight={700} />\n )}\n </span>\n {label && <span className=\"smwb-checkbox__label\">{label}</span>}\n </label>\n </TextFieldWrapper>\n );\n});\n\nexport default Checkbox;\n"],"names":["Checkbox","React","props","ref","label","disabled","readOnly","required","name","idProp","indeterminate","className","size","color","onChange","helperText","error","args","id","useId","handleChange","e","TextFieldWrapper","jsxs","cn","jsx","Icon"],"mappings":";;;;;;;AA2BO,MAAMA,IAAWC,EAAM,WAA4C,SAAkBC,GAAOC,GAAK;AACtG,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,IAAIC;AAAA,IACJ,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,OAAAC,IAAQ;AAAA,IACR,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDf,GACEgB,IAAKC,EAAMV,CAAM,GAEjBW,IAAe,CAACC,MAA2C;AAC/D,QAAIf,GAAU;AACZ,MAAAe,EAAE,eAAA;AACF;AAAA,IACF;AACA,IAAAP,KAAA,QAAAA,EAAWO,GAAGA,EAAE,OAAO,SAASnB;AAAA,EAClC;AAEA,2BACGoB,GAAA,EAAiB,YAAAP,GAAwB,UAAAV,GAAoB,OAAAW,GAAc,WAAU,4BACpF,UAAA,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAASL;AAAA,MACT,WAAWM;AAAA,QACT;AAAA,QACA,sBAAsBZ,CAAI;AAAA,QAC1B,uBAAuBC,CAAK;AAAA,QAC5BF;AAAA,QACA;AAAA,UACE,iBAAiBN;AAAA,UACjB,iBAAiBC;AAAA,UACjB,sBAAsBI;AAAA,QAAA;AAAA,MACxB;AAAA,MAGF,UAAA;AAAA,QAAA,gBAAAe;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,IAAAP;AAAA,YACA,MAAAV;AAAA,YACA,WAAU;AAAA,YACV,UAAAH;AAAA,YACA,UAAAC;AAAA,YACA,UAAAC;AAAA,YACA,gBAAcS,KAAS;AAAA,YACvB,iBAAeT,KAAY;AAAA,YAC3B,KAAAJ;AAAA,YACC,GAAGc;AAAA,YACJ,UAAUG;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ,gBAAAK,EAAC,QAAA,EAAK,WAAWD,EAAG,sBAAsB,EAAE,sBAAsBd,EAAA,CAAe,GAC9E,UAAAA,IACC,gBAAAe,EAACC,GAAA,EAAK,MAAK,UAAS,MAAM,IAAI,WAAU,uBAAsB,QAAQ,IAAA,CAAK,sBAE1EA,GAAA,EAAK,MAAK,SAAQ,MAAM,IAAI,WAAU,uBAAsB,QAAQ,KAAK,GAE9E;AAAA,QACCtB,KAAS,gBAAAqB,EAAC,QAAA,EAAK,WAAU,wBAAwB,UAAArB,EAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE5D;AAEJ,CAAC;"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../../src/components/inputs/checkbox/checkbox.tsx"],"sourcesContent":["import React, { InputHTMLAttributes } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { useId } from \"../../../hooks/useId\";\n\nexport type SelectionControlSize = \"small\" | \"medium\" | \"large\";\nexport type SelectionControlColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface CheckboxProps 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 indeterminate?: boolean;\n className?: string;\n size?: SelectionControlSize;\n color?: SelectionControlColor;\n /** Unified handler: `(event, checked, data)`. */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>, checked: boolean, data: CheckboxProps) => void;\n helperText?: React.ReactNode;\n error?: boolean;\n}\n\nexport const Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(props, ref) {\n const {\n label,\n disabled,\n readOnly,\n required,\n name,\n id: idProp,\n indeterminate,\n className,\n size = \"medium\",\n color = \"primary\",\n onChange,\n helperText,\n error,\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, 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(\n \"smwb-checkbox__wrapper\",\n `smwb-checkbox_size-${size}`,\n `smwb-checkbox_color-${color}`,\n className,\n {\n \"smwb-disabled\": disabled,\n \"smwb-readonly\": readOnly,\n \"smwb-indeterminate\": indeterminate,\n }\n )}\n >\n <input\n type=\"checkbox\"\n id={id}\n name={name}\n className=\"smwb-checkbox__input\"\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n aria-invalid={error || undefined}\n aria-required={required || undefined}\n ref={ref}\n {...args}\n onChange={handleChange}\n />\n <span className={cn(\"smwb-checkbox__btn\", { \"smwb-indeterminate\": indeterminate })}>\n {indeterminate ? (\n <Icon name=\"remove\" size={18} className=\"smwb-checkbox__icon\" weight={700} />\n ) : (\n <Icon name=\"check\" size={17} className=\"smwb-checkbox__icon\" weight={700} />\n )}\n </span>\n {label && <span className=\"smwb-checkbox__label\">{label}</span>}\n </label>\n </TextFieldWrapper>\n );\n});\n\nexport default Checkbox;\n"],"names":["Checkbox","React","props","ref","label","disabled","readOnly","required","name","idProp","indeterminate","className","size","color","onChange","helperText","error","args","id","useId","handleChange","e","TextFieldWrapper","jsxs","cn","jsx","Icon"],"mappings":";;;;;;;;AA4BO,MAAMA,IAAWC,EAAM,WAA4C,SAAkBC,GAAOC,GAAK;AACtG,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,IAAIC;AAAA,IACJ,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,OAAAC,IAAQ;AAAA,IACR,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDf,GACEgB,IAAKC,EAAMV,CAAM,GAEjBW,IAAe,CAACC,MAA2C;AAC/D,QAAIf,GAAU;AACZ,MAAAe,EAAE,eAAA;AACF;AAAA,IACF;AACA,IAAAP,KAAA,QAAAA,EAAWO,GAAGA,EAAE,OAAO,SAASnB;AAAA,EAClC;AAEA,2BACGoB,GAAA,EAAiB,YAAAP,GAAwB,UAAAV,GAAoB,OAAAW,GAAc,WAAU,4BACpF,UAAA,gBAAAO;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAASL;AAAA,MACT,WAAWM;AAAA,QACT;AAAA,QACA,sBAAsBZ,CAAI;AAAA,QAC1B,uBAAuBC,CAAK;AAAA,QAC5BF;AAAA,QACA;AAAA,UACE,iBAAiBN;AAAA,UACjB,iBAAiBC;AAAA,UACjB,sBAAsBI;AAAA,QAAA;AAAA,MACxB;AAAA,MAGF,UAAA;AAAA,QAAA,gBAAAe;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,IAAAP;AAAA,YACA,MAAAV;AAAA,YACA,WAAU;AAAA,YACV,UAAAH;AAAA,YACA,UAAAC;AAAA,YACA,UAAAC;AAAA,YACA,gBAAcS,KAAS;AAAA,YACvB,iBAAeT,KAAY;AAAA,YAC3B,KAAAJ;AAAA,YACC,GAAGc;AAAA,YACJ,UAAUG;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ,gBAAAK,EAAC,QAAA,EAAK,WAAWD,EAAG,sBAAsB,EAAE,sBAAsBd,EAAA,CAAe,GAC9E,UAAAA,IACC,gBAAAe,EAACC,GAAA,EAAK,MAAK,UAAS,MAAM,IAAI,WAAU,uBAAsB,QAAQ,IAAA,CAAK,sBAE1EA,GAAA,EAAK,MAAK,SAAQ,MAAM,IAAI,WAAU,uBAAsB,QAAQ,KAAK,GAE9E;AAAA,QACCtB,KAAS,gBAAAqB,EAAC,QAAA,EAAK,WAAU,wBAAwB,UAAArB,EAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAE5D;AAEJ,CAAC;"}