@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,51 +1,82 @@
1
- import { jsx as i, jsxs as b, Fragment as _ } from "react/jsx-runtime";
2
- import { useRef as v, useEffect as w, forwardRef as h } from "react";
1
+ import { jsx as c, jsxs as $, Fragment as M } from "react/jsx-runtime";
2
+ import { useRef as R, useEffect as k, forwardRef as x } from "react";
3
3
  import m from "clsx";
4
- const P = h(function({ type: r, variant: e, className: c, progressValue: a = 0, color: s = "primary", size: d = "medium", id: u, ...f }, n) {
5
- const l = {
4
+ const j = x(function({
5
+ type: r,
6
+ variant: s,
7
+ className: t,
8
+ progressValue: i = 0,
9
+ max: e = 100,
10
+ color: u = "primary",
11
+ size: y = "medium",
12
+ fullWidth: N,
13
+ width: a,
14
+ valueLabel: l,
15
+ id: P,
16
+ ...g
17
+ }, d) {
18
+ const f = {
6
19
  role: "progressbar",
7
- "aria-label": f["aria-label"],
8
- id: u,
9
- ...r === "determinate" ? { "aria-valuenow": a, "aria-valuemin": 0, "aria-valuemax": 100 } : {}
10
- }, o = s !== "primary" ? `smwb-indicator_color-${s}` : null;
11
- return e === "circular" ? /* @__PURE__ */ i(
20
+ "aria-label": g["aria-label"],
21
+ id: P,
22
+ ...r === "determinate" ? { "aria-valuenow": i, "aria-valuemin": 0, "aria-valuemax": e } : {}
23
+ }, b = u !== "primary" ? `smwb-indicator_color-${u}` : null, _ = Math.min(100, Math.max(0, e > 0 ? i / e * 100 : 0));
24
+ if (s === "circular")
25
+ return /* @__PURE__ */ c(
26
+ "div",
27
+ {
28
+ ref: d,
29
+ className: m("smwb-indicator_circular", `smwb-${r}`, b, `smwb-indicator_size-${y}`, t),
30
+ ...f,
31
+ children: r === "determinate" ? /* @__PURE__ */ c(z, { progressValue: _ }) : /* @__PURE__ */ $(M, { children: [
32
+ /* @__PURE__ */ c("div", { className: "smwb-indicator_circular__thumb" }),
33
+ /* @__PURE__ */ c("div", {}),
34
+ /* @__PURE__ */ c("div", {}),
35
+ /* @__PURE__ */ c("div", {})
36
+ ] })
37
+ }
38
+ );
39
+ const v = { "smwb-indicator_full-width": N }, h = a !== void 0 ? { width: typeof a == "number" ? `${a}px` : a } : void 0, w = (n) => /* @__PURE__ */ c(
12
40
  "div",
13
41
  {
14
- ref: n,
15
- className: m("smwb-indicator_circular", `smwb-${r}`, o, `smwb-indicator_size-${d}`, c),
16
- ...l,
17
- children: r === "determinate" ? /* @__PURE__ */ i($, { progressValue: a }) : /* @__PURE__ */ b(_, { children: [
18
- /* @__PURE__ */ i("div", { className: "smwb-indicator_circular__thumb" }),
19
- /* @__PURE__ */ i("div", {}),
20
- /* @__PURE__ */ i("div", {}),
21
- /* @__PURE__ */ i("div", {})
22
- ] })
42
+ ref: n ? d : void 0,
43
+ className: m("smwb-indicator_linear", `smwb-${r}`, b, n && v, n && t),
44
+ style: n ? h : void 0,
45
+ ...f,
46
+ children: /* @__PURE__ */ c(
47
+ "div",
48
+ {
49
+ className: "smwb-indicator_linear__thumb",
50
+ style: r === "determinate" ? { width: `${_}%` } : {}
51
+ }
52
+ )
23
53
  }
24
- ) : /* @__PURE__ */ i("div", { ref: n, className: m("smwb-indicator_linear", `smwb-${r}`, o, c), ...l, children: /* @__PURE__ */ i(
25
- "div",
26
- {
27
- className: "smwb-indicator_linear__thumb",
28
- style: r === "determinate" ? { width: `${a}%` } : {}
29
- }
30
- ) });
54
+ );
55
+ if (!l || r !== "determinate")
56
+ return w(!0);
57
+ const p = e === 100 ? `${Math.round(i)}%` : `${i} / ${e}`;
58
+ return /* @__PURE__ */ $("div", { ref: d, className: m("smwb-indicator_labeled", v, t), style: h, children: [
59
+ w(!1),
60
+ /* @__PURE__ */ c("span", { className: "smwb-indicator__value", children: typeof l == "function" ? l(i, e) : p })
61
+ ] });
31
62
  });
32
- function $({ progressValue: t = 0 }) {
33
- const r = v(null);
34
- return w(() => {
35
- var c;
63
+ function z({ progressValue: o = 0 }) {
64
+ const r = R(null);
65
+ return k(() => {
66
+ var t;
36
67
  if (!r.current || !r.current.r) return;
37
- const e = (c = r.current) == null ? void 0 : c.r.baseVal.value;
38
- if (e && r.current) {
39
- const a = 2 * Math.PI * e;
40
- r.current.style.strokeDasharray = `${a} ${a}`, r.current.style.strokeDashoffset = `${a}`;
41
- const s = a - t / 100 * a;
42
- r.current.style.strokeDashoffset = `${s}`;
68
+ const s = (t = r.current) == null ? void 0 : t.r.baseVal.value;
69
+ if (s && r.current) {
70
+ const i = 2 * Math.PI * s;
71
+ r.current.style.strokeDasharray = `${i} ${i}`, r.current.style.strokeDashoffset = `${i}`;
72
+ const e = i - o / 100 * i;
73
+ r.current.style.strokeDashoffset = `${e}`;
43
74
  }
44
- }, [r, t]), /* @__PURE__ */ i("svg", { className: "smwb-indicator_circular__svg", children: /* @__PURE__ */ i("circle", { className: "smwb-indicator_circular__circle", cx: "24", cy: "24", r: "22", ref: r }) });
75
+ }, [r, o]), /* @__PURE__ */ c("svg", { className: "smwb-indicator_circular__svg", children: /* @__PURE__ */ c("circle", { className: "smwb-indicator_circular__circle", cx: "24", cy: "24", r: "22", ref: r }) });
45
76
  }
46
77
  export {
47
- $ as CircularProgress,
48
- P as ProgressIndicator,
49
- P as default
78
+ z as CircularProgress,
79
+ j as ProgressIndicator,
80
+ j as default
50
81
  };
51
82
  //# sourceMappingURL=progressIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progressIndicator.js","sources":["../../../../../src/components/feedBack/progressIndicator/progressIndicator.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useEffect } from \"react\";\nimport cn from \"clsx\";\n\nexport type ProgressColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface ProgressIndicatorProps {\n className?: string;\n variant: \"circular\" | \"linear\";\n type: \"determinate\" | \"indeterminate\";\n progressValue?: number;\n /** Semantic color. */\n color?: ProgressColor;\n /** Circular size preset. */\n size?: \"small\" | \"medium\" | \"large\";\n /** Accessible name for the progress bar. */\n \"aria-label\"?: string;\n id?: string;\n}\n\nexport const ProgressIndicator = forwardRef<HTMLDivElement, ProgressIndicatorProps>(function ProgressIndicator(\n { type, variant, className, progressValue = 0, color = \"primary\", size = \"medium\", id, ...rest },\n ref\n) {\n const ariaProps = {\n role: \"progressbar\" as const,\n \"aria-label\": rest[\"aria-label\"],\n id,\n ...(type === \"determinate\" ? { \"aria-valuenow\": progressValue, \"aria-valuemin\": 0, \"aria-valuemax\": 100 } : {}),\n };\n const colorClass = color !== \"primary\" ? `smwb-indicator_color-${color}` : null;\n\n if (variant === \"circular\") {\n return (\n <div\n ref={ref}\n className={cn(\"smwb-indicator_circular\", `smwb-${type}`, colorClass, `smwb-indicator_size-${size}`, className)}\n {...ariaProps}\n >\n {type === \"determinate\" ? (\n <CircularProgress progressValue={progressValue} />\n ) : (\n <>\n <div className=\"smwb-indicator_circular__thumb\" />\n <div></div>\n <div></div>\n <div></div>\n </>\n )}\n </div>\n );\n }\n\n return (\n <div ref={ref} className={cn(\"smwb-indicator_linear\", `smwb-${type}`, colorClass, className)} {...ariaProps}>\n <div\n className=\"smwb-indicator_linear__thumb\"\n style={type === \"determinate\" ? { width: `${progressValue}%` } : {}}\n ></div>\n </div>\n );\n});\n\nexport interface CircularProgressProps {\n progressValue?: number;\n}\n\nexport function CircularProgress({ progressValue = 0 }: CircularProgressProps) {\n const circleRef = useRef<SVGCircleElement>(null);\n\n useEffect(() => {\n if (!circleRef.current || !circleRef.current.r) return;\n\n const circleRadius = circleRef.current?.r.baseVal.value;\n if (circleRadius && circleRef.current) {\n const circleLength = 2 * Math.PI * circleRadius;\n circleRef.current.style.strokeDasharray = `${circleLength} ${circleLength}`;\n circleRef.current.style.strokeDashoffset = `${circleLength}`;\n\n const offset = circleLength - (progressValue / 100) * circleLength;\n circleRef.current.style.strokeDashoffset = `${offset}`;\n }\n }, [circleRef, progressValue]);\n\n return (\n <svg className=\"smwb-indicator_circular__svg\">\n <circle className=\"smwb-indicator_circular__circle\" cx=\"24\" cy=\"24\" r=\"22\" ref={circleRef} />\n </svg>\n );\n}\n\nexport default ProgressIndicator;\n"],"names":["ProgressIndicator","forwardRef","type","variant","className","progressValue","color","size","id","rest","ref","ariaProps","colorClass","jsx","cn","CircularProgress","jsxs","Fragment","circleRef","useRef","useEffect","circleRadius","_a","circleLength","offset"],"mappings":";;;AAmBO,MAAMA,IAAoBC,EAAmD,SAClF,EAAE,MAAAC,GAAM,SAAAC,GAAS,WAAAC,GAAW,eAAAC,IAAgB,GAAG,OAAAC,IAAQ,WAAW,MAAAC,IAAO,UAAU,IAAAC,GAAI,GAAGC,EAAA,GAC1FC,GACA;AACA,QAAMC,IAAY;AAAA,IAChB,MAAM;AAAA,IACN,cAAcF,EAAK,YAAY;AAAA,IAC/B,IAAAD;AAAA,IACA,GAAIN,MAAS,gBAAgB,EAAE,iBAAiBG,GAAe,iBAAiB,GAAG,iBAAiB,QAAQ,CAAA;AAAA,EAAC,GAEzGO,IAAaN,MAAU,YAAY,wBAAwBA,CAAK,KAAK;AAE3E,SAAIH,MAAY,aAEZ,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACA,WAAWI,EAAG,2BAA2B,QAAQZ,CAAI,IAAIU,GAAY,uBAAuBL,CAAI,IAAIH,CAAS;AAAA,MAC5G,GAAGO;AAAA,MAEH,gBAAS,gBACR,gBAAAE,EAACE,GAAA,EAAiB,eAAAV,EAAA,CAA8B,IAEhD,gBAAAW,EAAAC,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,iCAAA,CAAiC;AAAA,0BAC/C,OAAA,EAAI;AAAA,0BACJ,OAAA,EAAI;AAAA,0BACJ,OAAA,CAAA,CAAI;AAAA,MAAA,EAAA,CACP;AAAA,IAAA;AAAA,EAAA,IAON,gBAAAA,EAAC,OAAA,EAAI,KAAAH,GAAU,WAAWI,EAAG,yBAAyB,QAAQZ,CAAI,IAAIU,GAAYR,CAAS,GAAI,GAAGO,GAChG,UAAA,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAOX,MAAS,gBAAgB,EAAE,OAAO,GAAGG,CAAa,QAAQ,CAAA;AAAA,IAAC;AAAA,EAAA,GAEtE;AAEJ,CAAC;AAMM,SAASU,EAAiB,EAAE,eAAAV,IAAgB,KAA4B;AAC7E,QAAMa,IAAYC,EAAyB,IAAI;AAE/C,SAAAC,EAAU,MAAM;;AACd,QAAI,CAACF,EAAU,WAAW,CAACA,EAAU,QAAQ,EAAG;AAEhD,UAAMG,KAAeC,IAAAJ,EAAU,YAAV,gBAAAI,EAAmB,EAAE,QAAQ;AAClD,QAAID,KAAgBH,EAAU,SAAS;AACrC,YAAMK,IAAe,IAAI,KAAK,KAAKF;AACnC,MAAAH,EAAU,QAAQ,MAAM,kBAAkB,GAAGK,CAAY,IAAIA,CAAY,IACzEL,EAAU,QAAQ,MAAM,mBAAmB,GAAGK,CAAY;AAE1D,YAAMC,IAASD,IAAgBlB,IAAgB,MAAOkB;AACtD,MAAAL,EAAU,QAAQ,MAAM,mBAAmB,GAAGM,CAAM;AAAA,IACtD;AAAA,EACF,GAAG,CAACN,GAAWb,CAAa,CAAC,qBAG1B,OAAA,EAAI,WAAU,gCACb,UAAA,gBAAAQ,EAAC,YAAO,WAAU,mCAAkC,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,KAAKK,GAAW,GAC7F;AAEJ;"}
1
+ {"version":3,"file":"progressIndicator.js","sources":["../../../../../src/components/feedBack/progressIndicator/progressIndicator.tsx"],"sourcesContent":["import React, { forwardRef, useRef, useEffect, type CSSProperties, type ReactNode } from \"react\";\nimport cn from \"clsx\";\n\nexport type ProgressColor = \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface ProgressIndicatorProps {\n className?: string;\n variant: \"circular\" | \"linear\";\n type: \"determinate\" | \"indeterminate\";\n progressValue?: number;\n /** Upper bound of `progressValue` (100 by default): with `max={14}`, `progressValue={3}` is 3 of 14. */\n max?: number;\n /** Semantic color. */\n color?: ProgressColor;\n /** Circular size preset. */\n size?: \"small\" | \"medium\" | \"large\";\n /** Linear: fill the container's width instead of the fixed 240px track. */\n fullWidth?: boolean;\n /** Linear: the width, in px or any CSS length. */\n width?: number | string;\n /**\n * Linear, determinate: the value as text beside the bar. `true` shows a\n * percentage — or \"3 / 14\" with a custom `max`; a function formats it, e.g.\n * `(value, max) => <>{value} of {max}</>`.\n */\n valueLabel?: boolean | ((value: number, max: number) => ReactNode);\n /** Accessible name for the progress bar. */\n \"aria-label\"?: string;\n id?: string;\n}\n\nexport const ProgressIndicator = forwardRef<HTMLDivElement, ProgressIndicatorProps>(function ProgressIndicator(\n {\n type,\n variant,\n className,\n progressValue = 0,\n max = 100,\n color = \"primary\",\n size = \"medium\",\n fullWidth,\n width,\n valueLabel,\n id,\n ...rest\n },\n ref\n) {\n const ariaProps = {\n role: \"progressbar\" as const,\n \"aria-label\": rest[\"aria-label\"],\n id,\n ...(type === \"determinate\" ? { \"aria-valuenow\": progressValue, \"aria-valuemin\": 0, \"aria-valuemax\": max } : {}),\n };\n const colorClass = color !== \"primary\" ? `smwb-indicator_color-${color}` : null;\n const percent = Math.min(100, Math.max(0, max > 0 ? (progressValue / max) * 100 : 0));\n\n if (variant === \"circular\") {\n return (\n <div\n ref={ref}\n className={cn(\"smwb-indicator_circular\", `smwb-${type}`, colorClass, `smwb-indicator_size-${size}`, className)}\n {...ariaProps}\n >\n {type === \"determinate\" ? (\n <CircularProgress progressValue={percent} />\n ) : (\n <>\n <div className=\"smwb-indicator_circular__thumb\" />\n <div></div>\n <div></div>\n <div></div>\n </>\n )}\n </div>\n );\n }\n\n // Width class and style go on the outermost element: the bar, or the wrapper\n // that also holds the value label.\n const sizeClass = { \"smwb-indicator_full-width\": fullWidth };\n const sizeStyle: CSSProperties | undefined =\n width !== undefined ? { width: typeof width === \"number\" ? `${width}px` : width } : undefined;\n const bar = (outer: boolean) => (\n <div\n ref={outer ? ref : undefined}\n className={cn(\"smwb-indicator_linear\", `smwb-${type}`, colorClass, outer && sizeClass, outer && className)}\n style={outer ? sizeStyle : undefined}\n {...ariaProps}\n >\n <div\n className=\"smwb-indicator_linear__thumb\"\n style={type === \"determinate\" ? { width: `${percent}%` } : {}}\n ></div>\n </div>\n );\n\n if (!valueLabel || type !== \"determinate\") {\n return bar(true);\n }\n const defaultText = max === 100 ? `${Math.round(progressValue)}%` : `${progressValue} / ${max}`;\n return (\n <div ref={ref} className={cn(\"smwb-indicator_labeled\", sizeClass, className)} style={sizeStyle}>\n {bar(false)}\n <span className=\"smwb-indicator__value\">\n {typeof valueLabel === \"function\" ? valueLabel(progressValue, max) : defaultText}\n </span>\n </div>\n );\n});\n\nexport interface CircularProgressProps {\n /** Percent, 0–100. */\n progressValue?: number;\n}\n\nexport function CircularProgress({ progressValue = 0 }: CircularProgressProps) {\n const circleRef = useRef<SVGCircleElement>(null);\n\n useEffect(() => {\n if (!circleRef.current || !circleRef.current.r) return;\n\n const circleRadius = circleRef.current?.r.baseVal.value;\n if (circleRadius && circleRef.current) {\n const circleLength = 2 * Math.PI * circleRadius;\n circleRef.current.style.strokeDasharray = `${circleLength} ${circleLength}`;\n circleRef.current.style.strokeDashoffset = `${circleLength}`;\n\n const offset = circleLength - (progressValue / 100) * circleLength;\n circleRef.current.style.strokeDashoffset = `${offset}`;\n }\n }, [circleRef, progressValue]);\n\n return (\n <svg className=\"smwb-indicator_circular__svg\">\n <circle className=\"smwb-indicator_circular__circle\" cx=\"24\" cy=\"24\" r=\"22\" ref={circleRef} />\n </svg>\n );\n}\n\nexport default ProgressIndicator;\n"],"names":["ProgressIndicator","forwardRef","type","variant","className","progressValue","max","color","size","fullWidth","width","valueLabel","id","rest","ref","ariaProps","colorClass","percent","jsx","cn","CircularProgress","jsxs","Fragment","sizeClass","sizeStyle","bar","outer","defaultText","circleRef","useRef","useEffect","circleRadius","_a","circleLength","offset"],"mappings":"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"}
@@ -1,55 +1,55 @@
1
- import { jsxs as f, jsx as i } from "react/jsx-runtime";
2
- import S from "clsx";
3
- import { Modal as l } from "../modal/modal.js";
4
- import { TextField as T } from "../../inputs/textField/textField.js";
5
- import { Button as h } from "../../inputs/button/button.js";
1
+ import { jsxs as h, jsx as i } from "react/jsx-runtime";
2
+ import j from "clsx";
3
+ import { Modal as r } from "../modal/modal.js";
4
+ import { TextField as m } from "../../inputs/textField/textField.js";
5
+ import { Button as x } from "../../inputs/button/button.js";
6
6
  function D({
7
7
  open: k,
8
8
  title: o,
9
9
  nameLabel: t,
10
10
  name: d,
11
11
  onNameChange: s,
12
- previewSrc: w,
13
- onCapture: _,
12
+ previewSrc: f,
13
+ onCapture: w,
14
14
  captureLabel: v,
15
- busy: r,
15
+ busy: l,
16
16
  confirmLabel: u,
17
- cancelLabel: x,
18
- onConfirm: p,
19
- onClose: e,
20
- children: F,
21
- className: j
17
+ cancelLabel: e,
18
+ onConfirm: n,
19
+ onClose: _,
20
+ children: p,
21
+ className: F
22
22
  }) {
23
- const m = s !== void 0 || d !== void 0;
24
- return /* @__PURE__ */ f(l, { open: k, onClose: e, size: "medium", children: [
25
- /* @__PURE__ */ i(l.Header, { children: o != null ? o : "Save" }),
26
- /* @__PURE__ */ i(l.Content, { children: /* @__PURE__ */ f("div", { className: S("smwb-save-asset-dialog__body", j), children: [
27
- m ? /* @__PURE__ */ i(
28
- T,
23
+ const c = s !== void 0 || d !== void 0, a = o != null ? o : "Save";
24
+ return /* @__PURE__ */ h(r, { open: k, onClose: _, size: "medium", "aria-label": a, children: [
25
+ /* @__PURE__ */ i(r.Header, { children: a }),
26
+ /* @__PURE__ */ i(r.Content, { children: /* @__PURE__ */ h("div", { className: j("smwb-save-asset-dialog__body", F), children: [
27
+ c ? /* @__PURE__ */ i(
28
+ m,
29
29
  {
30
30
  label: t != null ? t : "Name",
31
31
  value: d != null ? d : "",
32
32
  fullWidth: !0,
33
- disabled: !!r,
34
- onChange: (z) => s == null ? void 0 : s(z.currentTarget.value)
33
+ disabled: !!l,
34
+ onChange: (g) => s == null ? void 0 : s(g.currentTarget.value)
35
35
  }
36
36
  ) : null,
37
- w ? /* @__PURE__ */ i("div", { className: "smwb-save-asset-dialog__preview", children: /* @__PURE__ */ i("img", { src: w, alt: "" }) }) : null,
38
- _ ? /* @__PURE__ */ i(
39
- h,
37
+ f ? /* @__PURE__ */ i("div", { className: "smwb-save-asset-dialog__preview", children: /* @__PURE__ */ i("img", { src: f, alt: "" }) }) : null,
38
+ w ? /* @__PURE__ */ i(
39
+ x,
40
40
  {
41
41
  variant: "outlined",
42
42
  size: "small",
43
- disabled: !!r,
44
- onClick: () => _(),
43
+ disabled: !!l,
44
+ onClick: () => w(),
45
45
  label: v != null ? v : "Capture preview"
46
46
  }
47
47
  ) : null,
48
- F
48
+ p
49
49
  ] }) }),
50
- /* @__PURE__ */ f(l.Footer, { children: [
51
- /* @__PURE__ */ i(h, { variant: "text", disabled: !!r, onClick: () => e(), label: x != null ? x : "Cancel" }),
52
- /* @__PURE__ */ i(h, { variant: "contained", disabled: !!r, onClick: () => p(), label: u != null ? u : "Save" })
50
+ /* @__PURE__ */ h(r.Footer, { children: [
51
+ /* @__PURE__ */ i(x, { variant: "text", disabled: !!l, onClick: () => _(), label: e != null ? e : "Cancel" }),
52
+ /* @__PURE__ */ i(x, { variant: "contained", disabled: !!l, onClick: () => n(), label: u != null ? u : "Save" })
53
53
  ] })
54
54
  ] });
55
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"saveAssetDialog.js","sources":["../../../../../src/components/feedBack/saveAssetDialog/saveAssetDialog.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Modal } from \"../modal\";\nimport { Button } from \"../../inputs/button\";\nimport { TextField } from \"../../inputs/textField\";\n\nexport interface SaveAssetDialogProps {\n open: boolean;\n title?: string;\n /** Label for the name field. Omit `onNameChange` AND `name` to hide the field. */\n nameLabel?: string;\n name?: string;\n onNameChange?: (name: string) => void;\n /** Preview image URL (e.g. a freshly captured thumbnail). */\n previewSrc?: string;\n /** Shows a Capture button when provided. */\n onCapture?: () => void;\n captureLabel?: string;\n /** Disables the actions + name field while a save/capture is in flight. */\n busy?: boolean;\n confirmLabel?: string;\n cancelLabel?: string;\n onConfirm: () => void;\n onClose: () => void;\n /** Extra content between the name field/preview and the actions. */\n children?: React.ReactNode;\n className?: string;\n}\n\n/**\n * A \"name it / preview a thumbnail / confirm-cancel\" dialog on `Modal` — the\n * save/capture flow apps hand-build for every asset. Pairs with srv-solid's\n * asset store: `onConfirm` uploads the captured `previewSrc`.\n */\nexport function SaveAssetDialog({\n open,\n title,\n nameLabel,\n name,\n onNameChange,\n previewSrc,\n onCapture,\n captureLabel,\n busy,\n confirmLabel,\n cancelLabel,\n onConfirm,\n onClose,\n children,\n className,\n}: SaveAssetDialogProps): React.ReactElement {\n const showNameField = onNameChange !== undefined || name !== undefined;\n\n return (\n <Modal open={open} onClose={onClose} size=\"medium\">\n <Modal.Header>{title ?? \"Save\"}</Modal.Header>\n <Modal.Content>\n <div className={cn(\"smwb-save-asset-dialog__body\", className)}>\n {showNameField ? (\n <TextField\n label={nameLabel ?? \"Name\"}\n value={name ?? \"\"}\n fullWidth\n disabled={!!busy}\n onChange={(event) => onNameChange?.(event.currentTarget.value)}\n />\n ) : null}\n {previewSrc ? (\n <div className=\"smwb-save-asset-dialog__preview\">\n <img src={previewSrc} alt=\"\" />\n </div>\n ) : null}\n {onCapture ? (\n <Button\n variant=\"outlined\"\n size=\"small\"\n disabled={!!busy}\n onClick={() => onCapture()}\n label={captureLabel ?? \"Capture preview\"}\n />\n ) : null}\n {children}\n </div>\n </Modal.Content>\n <Modal.Footer>\n <Button variant=\"text\" disabled={!!busy} onClick={() => onClose()} label={cancelLabel ?? \"Cancel\"} />\n <Button variant=\"contained\" disabled={!!busy} onClick={() => onConfirm()} label={confirmLabel ?? \"Save\"} />\n </Modal.Footer>\n </Modal>\n );\n}\n\nexport default SaveAssetDialog;\n"],"names":["SaveAssetDialog","open","title","nameLabel","name","onNameChange","previewSrc","onCapture","captureLabel","busy","confirmLabel","cancelLabel","onConfirm","onClose","children","className","showNameField","jsxs","Modal","jsx","cn","TextField","event","Button"],"mappings":";;;;;AAkCO,SAASA,EAAgB;AAAA,EAC9B,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AACF,GAA6C;AAC3C,QAAMC,IAAgBX,MAAiB,UAAaD,MAAS;AAE7D,SACE,gBAAAa,EAACC,GAAA,EAAM,MAAAjB,GAAY,SAAAY,GAAkB,MAAK,UACxC,UAAA;AAAA,IAAA,gBAAAM,EAACD,EAAM,QAAN,EAAc,UAAAhB,KAAA,OAAAA,IAAS,QAAO;AAAA,IAC/B,gBAAAiB,EAACD,EAAM,SAAN,EACC,UAAA,gBAAAD,EAAC,SAAI,WAAWG,EAAG,gCAAgCL,CAAS,GACzD,UAAA;AAAA,MAAAC,IACC,gBAAAG;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAOlB,KAAA,OAAAA,IAAa;AAAA,UACpB,OAAOC,KAAA,OAAAA,IAAQ;AAAA,UACf,WAAS;AAAA,UACT,UAAU,CAAC,CAACK;AAAA,UACZ,UAAU,CAACa,MAAUjB,KAAA,gBAAAA,EAAeiB,EAAM,cAAc;AAAA,QAAK;AAAA,MAAA,IAE7D;AAAA,MACHhB,IACC,gBAAAa,EAAC,OAAA,EAAI,WAAU,mCACb,UAAA,gBAAAA,EAAC,OAAA,EAAI,KAAKb,GAAY,KAAI,GAAA,CAAG,EAAA,CAC/B,IACE;AAAA,MACHC,IACC,gBAAAY;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,UAAU,CAAC,CAACd;AAAA,UACZ,SAAS,MAAMF,EAAA;AAAA,UACf,OAAOC,KAAA,OAAAA,IAAgB;AAAA,QAAA;AAAA,MAAA,IAEvB;AAAA,MACHM;AAAA,IAAA,EAAA,CACH,EAAA,CACF;AAAA,IACA,gBAAAG,EAACC,EAAM,QAAN,EACC,UAAA;AAAA,MAAA,gBAAAC,EAACI,GAAA,EAAO,SAAQ,QAAO,UAAU,CAAC,CAACd,GAAM,SAAS,MAAMI,EAAA,GAAW,OAAOF,KAAA,OAAAA,IAAe,SAAA,CAAU;AAAA,MACnG,gBAAAQ,EAACI,GAAA,EAAO,SAAQ,aAAY,UAAU,CAAC,CAACd,GAAM,SAAS,MAAMG,EAAA,GAAa,OAAOF,KAAA,OAAAA,IAAgB,OAAA,CAAQ;AAAA,IAAA,EAAA,CAC3G;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"saveAssetDialog.js","sources":["../../../../../src/components/feedBack/saveAssetDialog/saveAssetDialog.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Modal } from \"../modal\";\nimport { Button } from \"../../inputs/button\";\nimport { TextField } from \"../../inputs/textField\";\n\nexport interface SaveAssetDialogProps {\n open: boolean;\n title?: string;\n /** Label for the name field. Omit `onNameChange` AND `name` to hide the field. */\n nameLabel?: string;\n name?: string;\n onNameChange?: (name: string) => void;\n /** Preview image URL (e.g. a freshly captured thumbnail). */\n previewSrc?: string;\n /** Shows a Capture button when provided. */\n onCapture?: () => void;\n captureLabel?: string;\n /** Disables the actions + name field while a save/capture is in flight. */\n busy?: boolean;\n confirmLabel?: string;\n cancelLabel?: string;\n onConfirm: () => void;\n onClose: () => void;\n /** Extra content between the name field/preview and the actions. */\n children?: React.ReactNode;\n className?: string;\n}\n\n/**\n * A \"name it / preview a thumbnail / confirm-cancel\" dialog on `Modal` — the\n * save/capture flow apps hand-build for every asset. Pairs with srv-solid's\n * asset store: `onConfirm` uploads the captured `previewSrc`.\n */\nexport function SaveAssetDialog({\n open,\n title,\n nameLabel,\n name,\n onNameChange,\n previewSrc,\n onCapture,\n captureLabel,\n busy,\n confirmLabel,\n cancelLabel,\n onConfirm,\n onClose,\n children,\n className,\n}: SaveAssetDialogProps): React.ReactElement {\n const showNameField = onNameChange !== undefined || name !== undefined;\n // The visible heading also names the dialog for screen readers.\n const heading = title ?? \"Save\";\n\n return (\n <Modal open={open} onClose={onClose} size=\"medium\" aria-label={heading}>\n <Modal.Header>{heading}</Modal.Header>\n <Modal.Content>\n <div className={cn(\"smwb-save-asset-dialog__body\", className)}>\n {showNameField ? (\n <TextField\n label={nameLabel ?? \"Name\"}\n value={name ?? \"\"}\n fullWidth\n disabled={!!busy}\n onChange={(event) => onNameChange?.(event.currentTarget.value)}\n />\n ) : null}\n {previewSrc ? (\n <div className=\"smwb-save-asset-dialog__preview\">\n <img src={previewSrc} alt=\"\" />\n </div>\n ) : null}\n {onCapture ? (\n <Button\n variant=\"outlined\"\n size=\"small\"\n disabled={!!busy}\n onClick={() => onCapture()}\n label={captureLabel ?? \"Capture preview\"}\n />\n ) : null}\n {children}\n </div>\n </Modal.Content>\n <Modal.Footer>\n <Button variant=\"text\" disabled={!!busy} onClick={() => onClose()} label={cancelLabel ?? \"Cancel\"} />\n <Button variant=\"contained\" disabled={!!busy} onClick={() => onConfirm()} label={confirmLabel ?? \"Save\"} />\n </Modal.Footer>\n </Modal>\n );\n}\n\nexport default SaveAssetDialog;\n"],"names":["SaveAssetDialog","open","title","nameLabel","name","onNameChange","previewSrc","onCapture","captureLabel","busy","confirmLabel","cancelLabel","onConfirm","onClose","children","className","showNameField","heading","Modal","jsx","jsxs","cn","TextField","event","Button"],"mappings":";;;;;AAkCO,SAASA,EAAgB;AAAA,EAC9B,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AACF,GAA6C;AAC3C,QAAMC,IAAgBX,MAAiB,UAAaD,MAAS,QAEvDa,IAAUf,KAAA,OAAAA,IAAS;AAEzB,2BACGgB,GAAA,EAAM,MAAAjB,GAAY,SAAAY,GAAkB,MAAK,UAAS,cAAYI,GAC7D,UAAA;AAAA,IAAA,gBAAAE,EAACD,EAAM,QAAN,EAAc,UAAAD,EAAA,CAAQ;AAAA,IACvB,gBAAAE,EAACD,EAAM,SAAN,EACC,UAAA,gBAAAE,EAAC,SAAI,WAAWC,EAAG,gCAAgCN,CAAS,GACzD,UAAA;AAAA,MAAAC,IACC,gBAAAG;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAOnB,KAAA,OAAAA,IAAa;AAAA,UACpB,OAAOC,KAAA,OAAAA,IAAQ;AAAA,UACf,WAAS;AAAA,UACT,UAAU,CAAC,CAACK;AAAA,UACZ,UAAU,CAACc,MAAUlB,KAAA,gBAAAA,EAAekB,EAAM,cAAc;AAAA,QAAK;AAAA,MAAA,IAE7D;AAAA,MACHjB,IACC,gBAAAa,EAAC,OAAA,EAAI,WAAU,mCACb,UAAA,gBAAAA,EAAC,OAAA,EAAI,KAAKb,GAAY,KAAI,GAAA,CAAG,EAAA,CAC/B,IACE;AAAA,MACHC,IACC,gBAAAY;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,UAAU,CAAC,CAACf;AAAA,UACZ,SAAS,MAAMF,EAAA;AAAA,UACf,OAAOC,KAAA,OAAAA,IAAgB;AAAA,QAAA;AAAA,MAAA,IAEvB;AAAA,MACHM;AAAA,IAAA,EAAA,CACH,EAAA,CACF;AAAA,IACA,gBAAAM,EAACF,EAAM,QAAN,EACC,UAAA;AAAA,MAAA,gBAAAC,EAACK,GAAA,EAAO,SAAQ,QAAO,UAAU,CAAC,CAACf,GAAM,SAAS,MAAMI,EAAA,GAAW,OAAOF,KAAA,OAAAA,IAAe,SAAA,CAAU;AAAA,MACnG,gBAAAQ,EAACK,GAAA,EAAO,SAAQ,aAAY,UAAU,CAAC,CAACf,GAAM,SAAS,MAAMG,EAAA,GAAa,OAAOF,KAAA,OAAAA,IAAgB,OAAA,CAAQ;AAAA,IAAA,EAAA,CAC3G;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,59 +1,66 @@
1
- import { jsxs as S, jsx as f } from "react/jsx-runtime";
2
- import { forwardRef as X, useState as d, useRef as v, useCallback as u, useEffect as Y } from "react";
3
- import H from "clsx";
4
- import { useFloating as L, autoUpdate as U, offset as V } from "@floating-ui/react";
5
- import { resolvePlacement as q } from "../../../utils/floating.js";
6
- const Q = X(function({
7
- className: h,
8
- children: w,
9
- placement: T = "top",
10
- offset: e = { offsetX: 0, offsetY: 0 },
11
- message: k,
12
- open: b,
13
- trigger: o = "hover",
14
- openDelay: s = 0,
15
- closeDelay: c = 0
16
- }, x) {
17
- var m, p;
18
- const i = q(T), [O, r] = d(!1), [R, C] = d(!1), n = v(null), l = v(null), t = u(() => {
19
- 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 { forwardRef as M, useState as f, useRef as w, useCallback as d, useEffect as N } from "react";
3
+ import j from "clsx";
4
+ import { useFloating as A, autoUpdate as F, offset as L, flip as S, shift as V } from "@floating-ui/react";
5
+ import { resolvePlacement as X } from "../../../utils/floating.js";
6
+ function Y({ reference: h, placement: u, offset: e, className: a, children: m }) {
7
+ var o, n;
8
+ const l = X(u), { refs: p, floatingStyles: t } = A({
9
+ elements: { reference: h },
10
+ placement: l.placement,
11
+ whileElementsMounted: F,
12
+ middleware: [
13
+ L({ mainAxis: (o = e == null ? void 0 : e.offsetY) != null ? o : 0, crossAxis: (n = e == null ? void 0 : e.offsetX) != null ? n : 0 }),
14
+ // A fixed placement turns to the other side, and slides along it, when the
15
+ // viewport has no room for it.
16
+ ...l.autoMiddleware ? [l.autoMiddleware] : [S(), V({ padding: 8 })]
17
+ ]
18
+ });
19
+ return /* @__PURE__ */ v("div", { ref: p.setFloating, className: j("smwb-tooltip", a), style: t, children: m });
20
+ }
21
+ const Q = M(function({
22
+ className: u,
23
+ children: e,
24
+ placement: a = "top",
25
+ offset: m = { offsetX: 0, offsetY: 0 },
26
+ message: l,
27
+ open: p,
28
+ trigger: t = "hover",
29
+ openDelay: o = 0,
30
+ closeDelay: n = 0
31
+ }, k) {
32
+ const [T, b] = f(null), [P, s] = f(!1), [x, C] = f(!1), i = w(null), c = w(null), r = d(() => {
33
+ i.current !== null && (clearTimeout(i.current), i.current = null), c.current !== null && (clearTimeout(c.current), c.current = null);
20
34
  }, []);
21
- Y(() => () => t(), [t]);
22
- const _ = u(() => {
23
- if (t(), s <= 0) {
24
- r(!0);
35
+ N(() => () => r(), [r]);
36
+ const O = d(() => {
37
+ if (r(), o <= 0) {
38
+ s(!0);
25
39
  return;
26
40
  }
27
- n.current = setTimeout(() => r(!0), s);
28
- }, [t, s]), E = u(() => {
29
- if (t(), c <= 0) {
30
- r(!1);
41
+ i.current = setTimeout(() => s(!0), o);
42
+ }, [r, o]), R = d(() => {
43
+ if (r(), n <= 0) {
44
+ s(!1);
31
45
  return;
32
46
  }
33
- l.current = setTimeout(() => r(!1), c);
34
- }, [t, c]), { refs: a, floatingStyles: M } = L({
35
- placement: i.placement,
36
- whileElementsMounted: U,
37
- middleware: [
38
- V({ mainAxis: (m = e == null ? void 0 : e.offsetY) != null ? m : 0, crossAxis: (p = e == null ? void 0 : e.offsetX) != null ? p : 0 }),
39
- ...i.autoMiddleware ? [i.autoMiddleware] : []
40
- ]
41
- }), N = o === "manual" ? b === !0 : o === "click" ? R : O, P = o === "hover" ? _ : void 0, j = o === "hover" ? E : void 0, A = o === "click" ? () => {
42
- C((F) => !F);
43
- } : void 0;
44
- return /* @__PURE__ */ S("div", { className: "smwb-tooltip__wrapper", role: "tooltip", ref: x, children: [
45
- /* @__PURE__ */ f(
47
+ c.current = setTimeout(() => s(!1), n);
48
+ }, [r, n]);
49
+ return /* @__PURE__ */ _("div", { className: "smwb-tooltip__wrapper", role: "tooltip", ref: k, children: [
50
+ /* @__PURE__ */ v(
46
51
  "div",
47
52
  {
48
53
  className: "smwb-tooltip__ref",
49
- ref: a.setReference,
50
- onPointerEnter: P,
51
- onPointerLeave: j,
52
- onClick: A,
53
- children: w
54
+ ref: b,
55
+ onPointerEnter: t === "hover" ? O : void 0,
56
+ onPointerLeave: t === "hover" ? R : void 0,
57
+ onClick: t === "click" ? () => {
58
+ C((E) => !E);
59
+ } : void 0,
60
+ children: e
54
61
  }
55
62
  ),
56
- N && /* @__PURE__ */ f("div", { ref: a.setFloating, className: H("smwb-tooltip", h), style: M, children: k })
63
+ (t === "manual" ? p === !0 : t === "click" ? x : P) && T ? /* @__PURE__ */ v(Y, { reference: T, placement: a, offset: m, className: u, children: l }) : null
57
64
  ] });
58
65
  });
59
66
  export {
@@ -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":";;;;;AAuBO,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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"}