@smwb/ui-solid 0.11.1 → 0.12.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 (738) hide show
  1. package/README.md +63 -22
  2. package/dist/assets/styles/less/components/accordion/accordion.entry.css +1 -1
  3. package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
  4. package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
  5. package/dist/assets/styles/less/components/descriptionList/descriptionList.entry.css +1 -0
  6. package/dist/assets/styles/less/components/emptyState/emptyState.entry.css +1 -0
  7. package/dist/assets/styles/less/components/kanban/kanban.entry.css +1 -0
  8. package/dist/assets/styles/less/components/meter/meter.entry.css +1 -0
  9. package/dist/assets/styles/less/components/modal/modal.entry.css +1 -1
  10. package/dist/assets/styles/less/components/overflowMenu/overflowMenu.entry.css +1 -1
  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/tokens.entry.css +1 -0
  25. package/dist/components/base/icon/icon.js +4 -3
  26. package/dist/components/base/icon/icon.js.map +1 -1
  27. package/dist/components/base/ripple/ripple.js +4 -3
  28. package/dist/components/base/ripple/ripple.js.map +1 -1
  29. package/dist/components/dataDisplay/accordion/accordion.d.ts +18 -1
  30. package/dist/components/dataDisplay/accordion/accordion.js +91 -48
  31. package/dist/components/dataDisplay/accordion/accordion.js.map +1 -1
  32. package/dist/components/dataDisplay/assetGrid/assetGrid.js +14 -13
  33. package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -1
  34. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  35. package/dist/components/dataDisplay/avatar/avatar.js +56 -40
  36. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  37. package/dist/components/dataDisplay/badge/badge.js +24 -20
  38. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  39. package/dist/components/dataDisplay/card/card.js +24 -23
  40. package/dist/components/dataDisplay/card/card.js.map +1 -1
  41. package/dist/components/dataDisplay/carousel/carousel.js +4 -3
  42. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  43. package/dist/components/dataDisplay/chart/chart.d.ts +65 -0
  44. package/dist/components/dataDisplay/chart/chartTheme.d.ts +35 -0
  45. package/dist/components/dataDisplay/chart/index.d.ts +4 -0
  46. package/dist/components/dataDisplay/chat/chat.js +52 -51
  47. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  48. package/dist/components/dataDisplay/chat/chatHeader.js +29 -29
  49. package/dist/components/dataDisplay/chat/chatHeader.js.map +1 -1
  50. package/dist/components/dataDisplay/chat/chatMessageBubble.js +28 -28
  51. package/dist/components/dataDisplay/chat/chatMessageBubble.js.map +1 -1
  52. package/dist/components/dataDisplay/chat/chatShell.js +54 -51
  53. package/dist/components/dataDisplay/chat/chatShell.js.map +1 -1
  54. package/dist/components/dataDisplay/chip/chip.js +79 -70
  55. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  56. package/dist/components/dataDisplay/chipGroup/chipGroup.js +9 -8
  57. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  58. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +32 -0
  59. package/dist/components/dataDisplay/descriptionList/descriptionList.js +60 -0
  60. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  61. package/dist/components/dataDisplay/descriptionList/index.d.ts +2 -0
  62. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +4 -3
  63. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  64. package/dist/components/dataDisplay/imagesList/imagesList.js +8 -7
  65. package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -1
  66. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +29 -24
  67. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  68. package/dist/components/dataDisplay/kanban/index.d.ts +2 -0
  69. package/dist/components/dataDisplay/kanban/kanban.d.ts +42 -0
  70. package/dist/components/dataDisplay/kanban/kanban.js +133 -0
  71. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -0
  72. package/dist/components/dataDisplay/lazyImage/lazyImage.js +30 -29
  73. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  74. package/dist/components/dataDisplay/list/list.js +17 -16
  75. package/dist/components/dataDisplay/list/list.js.map +1 -1
  76. package/dist/components/dataDisplay/meter/index.d.ts +2 -0
  77. package/dist/components/dataDisplay/meter/meter.d.ts +34 -0
  78. package/dist/components/dataDisplay/meter/meter.js +84 -0
  79. package/dist/components/dataDisplay/meter/meter.js.map +1 -0
  80. package/dist/components/dataDisplay/personChip/index.d.ts +2 -0
  81. package/dist/components/dataDisplay/personChip/personChip.d.ts +32 -0
  82. package/dist/components/dataDisplay/personChip/personChip.js +104 -0
  83. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -0
  84. package/dist/components/dataDisplay/stat/index.d.ts +2 -0
  85. package/dist/components/dataDisplay/stat/stat.d.ts +33 -0
  86. package/dist/components/dataDisplay/stat/stat.js +101 -0
  87. package/dist/components/dataDisplay/stat/stat.js.map +1 -0
  88. package/dist/components/dataDisplay/table/table.d.ts +7 -0
  89. package/dist/components/dataDisplay/table/table.js +22 -21
  90. package/dist/components/dataDisplay/table/table.js.map +1 -1
  91. package/dist/components/dataDisplay/table/tableCell.d.ts +2 -0
  92. package/dist/components/dataDisplay/table/tableCell.js +9 -6
  93. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  94. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +11 -1
  95. package/dist/components/dataDisplay/table/tableHeadCell.js +26 -23
  96. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  97. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +4 -3
  98. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -1
  99. package/dist/components/dataDisplay/thumbCard/thumbCard.js +54 -53
  100. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  101. package/dist/components/dataDisplay/timeline/index.d.ts +2 -0
  102. package/dist/components/dataDisplay/timeline/timeline.d.ts +38 -0
  103. package/dist/components/dataDisplay/timeline/timeline.js +89 -0
  104. package/dist/components/dataDisplay/timeline/timeline.js.map +1 -0
  105. package/dist/components/dataDisplay/treeView/treeView.js +4 -3
  106. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  107. package/dist/components/dataDisplay/typography/typography.d.ts +4 -0
  108. package/dist/components/dataDisplay/typography/typography.js +36 -22
  109. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  110. package/dist/components/feedBack/confirmDialog/confirmDialog.js +10 -9
  111. package/dist/components/feedBack/confirmDialog/confirmDialog.js.map +1 -1
  112. package/dist/components/feedBack/emptyState/emptyState.d.ts +25 -0
  113. package/dist/components/feedBack/emptyState/emptyState.js +86 -0
  114. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -0
  115. package/dist/components/feedBack/emptyState/index.d.ts +2 -0
  116. package/dist/components/feedBack/message/message.js +4 -3
  117. package/dist/components/feedBack/message/message.js.map +1 -1
  118. package/dist/components/feedBack/modal/modal.js +4 -3
  119. package/dist/components/feedBack/modal/modal.js.map +1 -1
  120. package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +13 -0
  121. package/dist/components/feedBack/progressIndicator/progressIndicator.js +79 -46
  122. package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  123. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +20 -15
  124. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  125. package/dist/components/feedBack/skeleton/skeleton.js +4 -3
  126. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  127. package/dist/components/feedBack/snackbar/snackbar.js +18 -17
  128. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  129. package/dist/components/feedBack/tooltip/tooltip.js +41 -33
  130. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  131. package/dist/components/inputs/button/button.js +32 -30
  132. package/dist/components/inputs/button/button.js.map +1 -1
  133. package/dist/components/inputs/buttonGroups/buttonGroup.js +9 -8
  134. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  135. package/dist/components/inputs/checkbox/checkbox.js +4 -3
  136. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  137. package/dist/components/inputs/datePicker/dataPickerInput.js +23 -23
  138. package/dist/components/inputs/datePicker/dataPickerInput.js.map +1 -1
  139. package/dist/components/inputs/datePicker/datePicker.js +84 -83
  140. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  141. package/dist/components/inputs/fileDrop/fileDrop.js +4 -3
  142. package/dist/components/inputs/fileDrop/fileDrop.js.map +1 -1
  143. package/dist/components/inputs/fileInput/fileInput.js +11 -10
  144. package/dist/components/inputs/fileInput/fileInput.js.map +1 -1
  145. package/dist/components/inputs/floatingButton/floatingButton.js +9 -8
  146. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  147. package/dist/components/inputs/radioButton/radioButton.js +9 -8
  148. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  149. package/dist/components/inputs/rating/rating.js +41 -40
  150. package/dist/components/inputs/rating/rating.js.map +1 -1
  151. package/dist/components/inputs/selectField/selectField.d.ts +2 -0
  152. package/dist/components/inputs/selectField/selectField.js +55 -51
  153. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  154. package/dist/components/inputs/slider/slider.js +4 -3
  155. package/dist/components/inputs/slider/slider.js.map +1 -1
  156. package/dist/components/inputs/textField/textField.js +38 -37
  157. package/dist/components/inputs/textField/textField.js.map +1 -1
  158. package/dist/components/inputs/textField/textFieldAdornment.js +9 -9
  159. package/dist/components/inputs/textField/textFieldAdornment.js.map +1 -1
  160. package/dist/components/inputs/textField/textFieldWrapper.js +41 -41
  161. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  162. package/dist/components/inputs/timePicker/timePicker.js +12 -11
  163. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  164. package/dist/components/inputs/toggle/toggle.js +4 -3
  165. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  166. package/dist/components/inputs/valueSlider/valueSlider.js +26 -25
  167. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  168. package/dist/components/layout/appLayout/appLayout.js +39 -38
  169. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  170. package/dist/components/layout/divider/divider.js +26 -22
  171. package/dist/components/layout/divider/divider.js.map +1 -1
  172. package/dist/components/layout/floatingWindow/floatingWindow.js +74 -73
  173. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  174. package/dist/components/layout/grid/grid.js +10 -9
  175. package/dist/components/layout/grid/grid.js.map +1 -1
  176. package/dist/components/layout/page/page.js +4 -3
  177. package/dist/components/layout/page/page.js.map +1 -1
  178. package/dist/components/layout/pageHeader/pageHeader.js +36 -35
  179. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  180. package/dist/components/layout/screenDivider/screenDivider.js +9 -8
  181. package/dist/components/layout/screenDivider/screenDivider.js.map +1 -1
  182. package/dist/components/layout/sectionHeader/index.d.ts +2 -0
  183. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +30 -0
  184. package/dist/components/layout/sectionHeader/sectionHeader.js +100 -0
  185. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  186. package/dist/components/layout/sheet/sheet.js +4 -3
  187. package/dist/components/layout/sheet/sheet.js.map +1 -1
  188. package/dist/components/layout/stack/stack.js +31 -27
  189. package/dist/components/layout/stack/stack.js.map +1 -1
  190. package/dist/components/navigation/appBar/appBar.js +24 -23
  191. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  192. package/dist/components/navigation/bottomBar/bottomBar.js +57 -56
  193. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  194. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +4 -3
  195. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  196. package/dist/components/navigation/menu/menu.js +10 -9
  197. package/dist/components/navigation/menu/menu.js.map +1 -1
  198. package/dist/components/navigation/overflowMenu/overflowMenu.js +4 -3
  199. package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -1
  200. package/dist/components/navigation/pagination/pagination.js +14 -13
  201. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  202. package/dist/components/navigation/sidebar/sidebar.js +4 -3
  203. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  204. package/dist/components/navigation/stepper/stepper.d.ts +10 -2
  205. package/dist/components/navigation/stepper/stepper.js +63 -47
  206. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  207. package/dist/components/navigation/tabs/tab/tab.d.ts +2 -0
  208. package/dist/components/navigation/tabs/tab/tab.js +45 -44
  209. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  210. package/dist/components/navigation/tabs/tabs.d.ts +12 -0
  211. package/dist/components/navigation/tabs/tabs.js +142 -86
  212. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  213. package/dist/connects/rt/table/table.d.ts +2 -0
  214. package/dist/headless/components/dataDisplay/accordion/accordion.js +89 -47
  215. package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -1
  216. package/dist/headless/components/dataDisplay/avatar/avatar.js +54 -39
  217. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  218. package/dist/headless/components/dataDisplay/badge/badge.js +22 -19
  219. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
  220. package/dist/headless/components/dataDisplay/card/card.js +22 -22
  221. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  222. package/dist/headless/components/dataDisplay/chat/chat.js +50 -50
  223. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  224. package/dist/headless/components/dataDisplay/chat/chatHeader.js +29 -29
  225. package/dist/headless/components/dataDisplay/chat/chatHeader.js.map +1 -1
  226. package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js +28 -28
  227. package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js.map +1 -1
  228. package/dist/headless/components/dataDisplay/chat/chatShell.js +54 -51
  229. package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -1
  230. package/dist/headless/components/dataDisplay/chip/chip.js +77 -69
  231. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  232. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +58 -0
  233. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  234. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +28 -24
  235. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  236. package/dist/headless/components/dataDisplay/kanban/kanban.js +131 -0
  237. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -0
  238. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +28 -28
  239. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  240. package/dist/headless/components/dataDisplay/list/list.js +15 -15
  241. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  242. package/dist/headless/components/dataDisplay/meter/meter.js +82 -0
  243. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -0
  244. package/dist/headless/components/dataDisplay/personChip/personChip.js +102 -0
  245. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -0
  246. package/dist/headless/components/dataDisplay/stat/stat.js +99 -0
  247. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -0
  248. package/dist/headless/components/dataDisplay/table/table.js +20 -20
  249. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  250. package/dist/headless/components/dataDisplay/table/tableCell.js +9 -6
  251. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  252. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +26 -23
  253. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  254. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +53 -53
  255. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  256. package/dist/headless/components/dataDisplay/timeline/timeline.js +87 -0
  257. package/dist/headless/components/dataDisplay/timeline/timeline.js.map +1 -0
  258. package/dist/headless/components/dataDisplay/typography/typography.js +34 -21
  259. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  260. package/dist/headless/components/feedBack/confirmDialog/confirmDialog.js +1 -1
  261. package/dist/headless/components/feedBack/confirmDialog/confirmDialog.js.map +1 -1
  262. package/dist/headless/components/feedBack/emptyState/emptyState.js +84 -0
  263. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -0
  264. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +77 -45
  265. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  266. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +18 -14
  267. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  268. package/dist/headless/components/feedBack/tooltip/tooltip.js +33 -26
  269. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  270. package/dist/headless/components/inputs/button/button.js +33 -32
  271. package/dist/headless/components/inputs/button/button.js.map +1 -1
  272. package/dist/headless/components/inputs/datePicker/dataPickerInput.js +23 -23
  273. package/dist/headless/components/inputs/datePicker/dataPickerInput.js.map +1 -1
  274. package/dist/headless/components/inputs/datePicker/datePicker.js +79 -79
  275. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  276. package/dist/headless/components/inputs/rating/rating.js +39 -39
  277. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  278. package/dist/headless/components/inputs/selectField/selectField.js +61 -58
  279. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  280. package/dist/headless/components/inputs/textField/textField.js +36 -36
  281. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  282. package/dist/headless/components/inputs/textField/textFieldAdornment.js +9 -9
  283. package/dist/headless/components/inputs/textField/textFieldAdornment.js.map +1 -1
  284. package/dist/headless/components/inputs/textField/textFieldWrapper.js +41 -41
  285. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  286. package/dist/headless/components/inputs/valueSlider/valueSlider.js +24 -24
  287. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  288. package/dist/headless/components/layout/appLayout/appLayout.js +39 -39
  289. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  290. package/dist/headless/components/layout/divider/divider.js +24 -21
  291. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  292. package/dist/headless/components/layout/pageHeader/pageHeader.js +34 -34
  293. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  294. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +98 -0
  295. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  296. package/dist/headless/components/layout/stack/stack.js +29 -26
  297. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  298. package/dist/headless/components/navigation/appBar/appBar.js +22 -22
  299. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  300. package/dist/headless/components/navigation/bottomBar/bottomBar.js +51 -51
  301. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  302. package/dist/headless/components/navigation/stepper/stepper.js +61 -46
  303. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  304. package/dist/headless/components/navigation/tabs/tab/tab.js +44 -44
  305. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  306. package/dist/headless/components/navigation/tabs/tabs.js +140 -85
  307. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  308. package/dist/headless/icons/catalog.js +78 -1
  309. package/dist/headless/icons/catalog.js.map +1 -1
  310. package/dist/headless/icons/index.js +596 -574
  311. package/dist/headless/icons/index.js.map +1 -1
  312. package/dist/headless/icons/svg/accountTree.js +9 -0
  313. package/dist/headless/icons/svg/accountTree.js.map +1 -0
  314. package/dist/headless/icons/svg/callSplit.js +9 -0
  315. package/dist/headless/icons/svg/callSplit.js.map +1 -0
  316. package/dist/headless/icons/svg/deviceHub.js +8 -0
  317. package/dist/headless/icons/svg/deviceHub.js.map +1 -0
  318. package/dist/headless/icons/svg/editNote.js +9 -0
  319. package/dist/headless/icons/svg/editNote.js.map +1 -0
  320. package/dist/headless/icons/svg/filterList.js +9 -0
  321. package/dist/headless/icons/svg/filterList.js.map +1 -0
  322. package/dist/headless/icons/svg/forkRight.js +8 -0
  323. package/dist/headless/icons/svg/forkRight.js.map +1 -0
  324. package/dist/headless/icons/svg/groups.js +9 -0
  325. package/dist/headless/icons/svg/groups.js.map +1 -0
  326. package/dist/headless/icons/svg/hub.js +8 -0
  327. package/dist/headless/icons/svg/hub.js.map +1 -0
  328. package/dist/headless/icons/svg/index.js +598 -576
  329. package/dist/headless/icons/svg/index.js.map +1 -1
  330. package/dist/headless/icons/svg/lan.js +9 -0
  331. package/dist/headless/icons/svg/lan.js.map +1 -0
  332. package/dist/headless/icons/svg/personOff.js +9 -0
  333. package/dist/headless/icons/svg/personOff.js.map +1 -0
  334. package/dist/headless/icons/svg/schema.js +9 -0
  335. package/dist/headless/icons/svg/schema.js.map +1 -0
  336. package/dist/headless/index.js +281 -255
  337. package/dist/headless/index.js.map +1 -1
  338. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +60 -18
  339. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
  340. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +28 -3
  341. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  342. package/dist/headless/source/components/dataDisplay/badge/badge.jsx +8 -4
  343. package/dist/headless/source/components/dataDisplay/badge/badge.jsx.map +1 -1
  344. package/dist/headless/source/components/dataDisplay/card/card.jsx +4 -3
  345. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  346. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +168 -0
  347. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -0
  348. package/dist/headless/source/components/dataDisplay/chart/chartTheme.js +78 -0
  349. package/dist/headless/source/components/dataDisplay/chart/chartTheme.js.map +7 -0
  350. package/dist/headless/source/components/dataDisplay/chart/index.js +9 -0
  351. package/dist/headless/source/components/dataDisplay/chart/index.js.map +7 -0
  352. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +4 -3
  353. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  354. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +7 -5
  355. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -1
  356. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +4 -3
  357. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -1
  358. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +30 -26
  359. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx.map +1 -1
  360. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +11 -6
  361. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  362. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +42 -0
  363. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -0
  364. package/dist/headless/source/components/dataDisplay/descriptionList/index.js +7 -0
  365. package/dist/headless/source/components/dataDisplay/descriptionList/index.js.map +7 -0
  366. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +10 -4
  367. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
  368. package/dist/headless/source/components/dataDisplay/kanban/index.js +8 -0
  369. package/dist/headless/source/components/dataDisplay/kanban/index.js.map +7 -0
  370. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +99 -0
  371. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -0
  372. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +4 -3
  373. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  374. package/dist/headless/source/components/dataDisplay/list/list.jsx +4 -3
  375. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  376. package/dist/headless/source/components/dataDisplay/meter/index.js +8 -0
  377. package/dist/headless/source/components/dataDisplay/meter/index.js.map +7 -0
  378. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +80 -0
  379. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -0
  380. package/dist/headless/source/components/dataDisplay/personChip/index.js +8 -0
  381. package/dist/headless/source/components/dataDisplay/personChip/index.js.map +7 -0
  382. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +71 -0
  383. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -0
  384. package/dist/headless/source/components/dataDisplay/stat/index.js +7 -0
  385. package/dist/headless/source/components/dataDisplay/stat/index.js.map +7 -0
  386. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +72 -0
  387. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -0
  388. package/dist/headless/source/components/dataDisplay/table/table.jsx +11 -4
  389. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  390. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +8 -2
  391. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  392. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +37 -3
  393. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  394. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +10 -7
  395. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  396. package/dist/headless/source/components/dataDisplay/timeline/index.js +8 -0
  397. package/dist/headless/source/components/dataDisplay/timeline/index.js.map +7 -0
  398. package/dist/headless/source/components/dataDisplay/timeline/timeline.jsx +64 -0
  399. package/dist/headless/source/components/dataDisplay/timeline/timeline.jsx.map +1 -0
  400. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +17 -3
  401. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  402. package/dist/headless/source/components/feedBack/confirmDialog/confirmDialog.jsx +1 -1
  403. package/dist/headless/source/components/feedBack/confirmDialog/confirmDialog.jsx.map +1 -1
  404. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +47 -0
  405. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -0
  406. package/dist/headless/source/components/feedBack/emptyState/index.js +6 -0
  407. package/dist/headless/source/components/feedBack/emptyState/index.js.map +7 -0
  408. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +52 -10
  409. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
  410. package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +4 -2
  411. package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -1
  412. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +4 -2
  413. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  414. package/dist/headless/source/components/inputs/button/button.jsx +7 -3
  415. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  416. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +4 -3
  417. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -1
  418. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +4 -6
  419. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  420. package/dist/headless/source/components/inputs/rating/rating.jsx +4 -3
  421. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  422. package/dist/headless/source/components/inputs/selectField/selectField.jsx +8 -2
  423. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  424. package/dist/headless/source/components/inputs/textField/textField.jsx +8 -6
  425. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  426. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +4 -3
  427. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -1
  428. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +9 -6
  429. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  430. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +4 -3
  431. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  432. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +3 -2
  433. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  434. package/dist/headless/source/components/layout/divider/divider.jsx +10 -6
  435. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  436. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +14 -10
  437. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  438. package/dist/headless/source/components/layout/sectionHeader/index.js +6 -0
  439. package/dist/headless/source/components/layout/sectionHeader/index.js.map +7 -0
  440. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +80 -0
  441. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -0
  442. package/dist/headless/source/components/layout/stack/stack.jsx +3 -2
  443. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  444. package/dist/headless/source/components/navigation/appBar/appBar.jsx +7 -5
  445. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  446. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +4 -3
  447. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  448. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -7
  449. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  450. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +7 -5
  451. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  452. package/dist/headless/source/components/navigation/tabs/tabs.jsx +84 -4
  453. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  454. package/dist/headless/source/connects/rt/table/table.jsx +9 -1
  455. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  456. package/dist/headless/source/icons/catalog.js +78 -1
  457. package/dist/headless/source/icons/catalog.js.map +2 -2
  458. package/dist/headless/source/icons/svg/accountTree.js +11 -0
  459. package/dist/headless/source/icons/svg/accountTree.js.map +7 -0
  460. package/dist/headless/source/icons/svg/callSplit.js +11 -0
  461. package/dist/headless/source/icons/svg/callSplit.js.map +7 -0
  462. package/dist/headless/source/icons/svg/deviceHub.js +10 -0
  463. package/dist/headless/source/icons/svg/deviceHub.js.map +7 -0
  464. package/dist/headless/source/icons/svg/editNote.js +11 -0
  465. package/dist/headless/source/icons/svg/editNote.js.map +7 -0
  466. package/dist/headless/source/icons/svg/filterList.js +11 -0
  467. package/dist/headless/source/icons/svg/filterList.js.map +7 -0
  468. package/dist/headless/source/icons/svg/forkRight.js +10 -0
  469. package/dist/headless/source/icons/svg/forkRight.js.map +7 -0
  470. package/dist/headless/source/icons/svg/groups.js +11 -0
  471. package/dist/headless/source/icons/svg/groups.js.map +7 -0
  472. package/dist/headless/source/icons/svg/hub.js +10 -0
  473. package/dist/headless/source/icons/svg/hub.js.map +7 -0
  474. package/dist/headless/source/icons/svg/index.js +22 -0
  475. package/dist/headless/source/icons/svg/index.js.map +2 -2
  476. package/dist/headless/source/icons/svg/lan.js +11 -0
  477. package/dist/headless/source/icons/svg/lan.js.map +7 -0
  478. package/dist/headless/source/icons/svg/personOff.js +11 -0
  479. package/dist/headless/source/icons/svg/personOff.js.map +7 -0
  480. package/dist/headless/source/icons/svg/schema.js +11 -0
  481. package/dist/headless/source/icons/svg/schema.js.map +7 -0
  482. package/dist/headless/source/index.js +33 -1
  483. package/dist/headless/source/index.js.map +2 -2
  484. package/dist/icons/catalog.d.ts +1 -1
  485. package/dist/icons/catalog.js +78 -1
  486. package/dist/icons/catalog.js.map +1 -1
  487. package/dist/icons/index.js +596 -574
  488. package/dist/icons/index.js.map +1 -1
  489. package/dist/icons/svg/accountTree.d.ts +4 -0
  490. package/dist/icons/svg/accountTree.js +9 -0
  491. package/dist/icons/svg/accountTree.js.map +1 -0
  492. package/dist/icons/svg/callSplit.d.ts +4 -0
  493. package/dist/icons/svg/callSplit.js +9 -0
  494. package/dist/icons/svg/callSplit.js.map +1 -0
  495. package/dist/icons/svg/deviceHub.d.ts +4 -0
  496. package/dist/icons/svg/deviceHub.js +8 -0
  497. package/dist/icons/svg/deviceHub.js.map +1 -0
  498. package/dist/icons/svg/editNote.d.ts +4 -0
  499. package/dist/icons/svg/editNote.js +9 -0
  500. package/dist/icons/svg/editNote.js.map +1 -0
  501. package/dist/icons/svg/filterList.d.ts +4 -0
  502. package/dist/icons/svg/filterList.js +9 -0
  503. package/dist/icons/svg/filterList.js.map +1 -0
  504. package/dist/icons/svg/forkRight.d.ts +4 -0
  505. package/dist/icons/svg/forkRight.js +8 -0
  506. package/dist/icons/svg/forkRight.js.map +1 -0
  507. package/dist/icons/svg/groups.d.ts +4 -0
  508. package/dist/icons/svg/groups.js +9 -0
  509. package/dist/icons/svg/groups.js.map +1 -0
  510. package/dist/icons/svg/hub.d.ts +4 -0
  511. package/dist/icons/svg/hub.js +8 -0
  512. package/dist/icons/svg/hub.js.map +1 -0
  513. package/dist/icons/svg/index.d.ts +11 -0
  514. package/dist/icons/svg/index.js +598 -576
  515. package/dist/icons/svg/index.js.map +1 -1
  516. package/dist/icons/svg/lan.d.ts +4 -0
  517. package/dist/icons/svg/lan.js +9 -0
  518. package/dist/icons/svg/lan.js.map +1 -0
  519. package/dist/icons/svg/personOff.d.ts +4 -0
  520. package/dist/icons/svg/personOff.js +9 -0
  521. package/dist/icons/svg/personOff.js.map +1 -0
  522. package/dist/icons/svg/schema.d.ts +4 -0
  523. package/dist/icons/svg/schema.js +9 -0
  524. package/dist/icons/svg/schema.js.map +1 -0
  525. package/dist/index.d.ts +21 -5
  526. package/dist/index.js +281 -255
  527. package/dist/index.js.map +1 -1
  528. package/dist/source/components/base/icon/icon.jsx +1 -0
  529. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  530. package/dist/source/components/base/ripple/ripple.jsx +1 -0
  531. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  532. package/dist/source/components/dataDisplay/accordion/accordion.jsx +61 -18
  533. package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
  534. package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx +1 -0
  535. package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx.map +1 -1
  536. package/dist/source/components/dataDisplay/avatar/avatar.jsx +29 -3
  537. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  538. package/dist/source/components/dataDisplay/badge/badge.jsx +9 -4
  539. package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -1
  540. package/dist/source/components/dataDisplay/card/card.jsx +5 -3
  541. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  542. package/dist/source/components/dataDisplay/carousel/carousel.jsx +1 -0
  543. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  544. package/dist/source/components/dataDisplay/chart/chart.jsx +170 -0
  545. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -0
  546. package/dist/source/components/dataDisplay/chart/chartTheme.js +78 -0
  547. package/dist/source/components/dataDisplay/chart/chartTheme.js.map +7 -0
  548. package/dist/source/components/dataDisplay/chart/index.js +9 -0
  549. package/dist/source/components/dataDisplay/chart/index.js.map +7 -0
  550. package/dist/source/components/dataDisplay/chat/chat.jsx +5 -3
  551. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  552. package/dist/source/components/dataDisplay/chat/chatHeader.jsx +7 -5
  553. package/dist/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -1
  554. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +4 -3
  555. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -1
  556. package/dist/source/components/dataDisplay/chat/chatShell.jsx +30 -26
  557. package/dist/source/components/dataDisplay/chat/chatShell.jsx.map +1 -1
  558. package/dist/source/components/dataDisplay/chip/chip.jsx +12 -6
  559. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  560. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +1 -0
  561. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  562. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +44 -0
  563. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -0
  564. package/dist/source/components/dataDisplay/descriptionList/index.js +7 -0
  565. package/dist/source/components/dataDisplay/descriptionList/index.js.map +7 -0
  566. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +1 -0
  567. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  568. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +1 -0
  569. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -1
  570. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +11 -4
  571. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
  572. package/dist/source/components/dataDisplay/kanban/index.js +8 -0
  573. package/dist/source/components/dataDisplay/kanban/index.js.map +7 -0
  574. package/dist/source/components/dataDisplay/kanban/kanban.jsx +101 -0
  575. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -0
  576. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +5 -3
  577. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  578. package/dist/source/components/dataDisplay/list/list.jsx +5 -3
  579. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  580. package/dist/source/components/dataDisplay/meter/index.js +8 -0
  581. package/dist/source/components/dataDisplay/meter/index.js.map +7 -0
  582. package/dist/source/components/dataDisplay/meter/meter.jsx +82 -0
  583. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -0
  584. package/dist/source/components/dataDisplay/personChip/index.js +8 -0
  585. package/dist/source/components/dataDisplay/personChip/index.js.map +7 -0
  586. package/dist/source/components/dataDisplay/personChip/personChip.jsx +73 -0
  587. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -0
  588. package/dist/source/components/dataDisplay/stat/index.js +7 -0
  589. package/dist/source/components/dataDisplay/stat/index.js.map +7 -0
  590. package/dist/source/components/dataDisplay/stat/stat.jsx +74 -0
  591. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -0
  592. package/dist/source/components/dataDisplay/table/table.jsx +12 -4
  593. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  594. package/dist/source/components/dataDisplay/table/tableCell.jsx +8 -2
  595. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  596. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +37 -3
  597. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  598. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +1 -0
  599. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -1
  600. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +11 -7
  601. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  602. package/dist/source/components/dataDisplay/timeline/index.js +8 -0
  603. package/dist/source/components/dataDisplay/timeline/index.js.map +7 -0
  604. package/dist/source/components/dataDisplay/timeline/timeline.jsx +66 -0
  605. package/dist/source/components/dataDisplay/timeline/timeline.jsx.map +1 -0
  606. package/dist/source/components/dataDisplay/treeView/treeView.jsx +1 -0
  607. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  608. package/dist/source/components/dataDisplay/typography/typography.jsx +18 -3
  609. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  610. package/dist/source/components/feedBack/confirmDialog/confirmDialog.jsx +2 -1
  611. package/dist/source/components/feedBack/confirmDialog/confirmDialog.jsx.map +1 -1
  612. package/dist/source/components/feedBack/emptyState/emptyState.jsx +49 -0
  613. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -0
  614. package/dist/source/components/feedBack/emptyState/index.js +6 -0
  615. package/dist/source/components/feedBack/emptyState/index.js.map +7 -0
  616. package/dist/source/components/feedBack/message/message.jsx +1 -0
  617. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  618. package/dist/source/components/feedBack/modal/modal.jsx +1 -0
  619. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  620. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +53 -10
  621. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
  622. package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +5 -2
  623. package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -1
  624. package/dist/source/components/feedBack/skeleton/skeleton.jsx +1 -0
  625. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  626. package/dist/source/components/feedBack/snackbar/snackbar.jsx +1 -0
  627. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  628. package/dist/source/components/feedBack/tooltip/tooltip.jsx +5 -2
  629. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  630. package/dist/source/components/inputs/button/button.jsx +8 -3
  631. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  632. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +1 -0
  633. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  634. package/dist/source/components/inputs/checkbox/checkbox.jsx +1 -0
  635. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  636. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +4 -3
  637. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -1
  638. package/dist/source/components/inputs/datePicker/datePicker.jsx +5 -6
  639. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  640. package/dist/source/components/inputs/fileDrop/fileDrop.jsx +1 -0
  641. package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -1
  642. package/dist/source/components/inputs/fileInput/fileInput.jsx +1 -0
  643. package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -1
  644. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +1 -0
  645. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  646. package/dist/source/components/inputs/radioButton/radioButton.jsx +1 -0
  647. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  648. package/dist/source/components/inputs/rating/rating.jsx +5 -3
  649. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  650. package/dist/source/components/inputs/selectField/selectField.jsx +9 -2
  651. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  652. package/dist/source/components/inputs/slider/slider.jsx +1 -0
  653. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  654. package/dist/source/components/inputs/textField/textField.jsx +9 -6
  655. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  656. package/dist/source/components/inputs/textField/textFieldAdornment.jsx +4 -3
  657. package/dist/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -1
  658. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +9 -6
  659. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  660. package/dist/source/components/inputs/timePicker/timePicker.jsx +1 -0
  661. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  662. package/dist/source/components/inputs/toggle/toggle.jsx +1 -0
  663. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  664. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +5 -3
  665. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  666. package/dist/source/components/layout/appLayout/appLayout.jsx +4 -2
  667. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  668. package/dist/source/components/layout/divider/divider.jsx +11 -6
  669. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  670. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +1 -0
  671. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  672. package/dist/source/components/layout/grid/grid.jsx +1 -0
  673. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  674. package/dist/source/components/layout/page/page.jsx +1 -0
  675. package/dist/source/components/layout/page/page.jsx.map +1 -1
  676. package/dist/source/components/layout/pageHeader/pageHeader.jsx +15 -10
  677. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  678. package/dist/source/components/layout/screenDivider/screenDivider.jsx +1 -0
  679. package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -1
  680. package/dist/source/components/layout/sectionHeader/index.js +6 -0
  681. package/dist/source/components/layout/sectionHeader/index.js.map +7 -0
  682. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +82 -0
  683. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -0
  684. package/dist/source/components/layout/sheet/sheet.jsx +1 -0
  685. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  686. package/dist/source/components/layout/stack/stack.jsx +4 -2
  687. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  688. package/dist/source/components/navigation/appBar/appBar.jsx +8 -5
  689. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  690. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +5 -3
  691. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  692. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +1 -0
  693. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  694. package/dist/source/components/navigation/menu/menu.jsx +1 -0
  695. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  696. package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx +1 -0
  697. package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx.map +1 -1
  698. package/dist/source/components/navigation/pagination/pagination.jsx +1 -0
  699. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  700. package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -0
  701. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  702. package/dist/source/components/navigation/stepper/stepper.jsx +15 -7
  703. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  704. package/dist/source/components/navigation/tabs/tab/tab.jsx +8 -5
  705. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  706. package/dist/source/components/navigation/tabs/tabs.jsx +85 -4
  707. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  708. package/dist/source/connects/rt/table/table.jsx +9 -1
  709. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  710. package/dist/source/icons/catalog.js +78 -1
  711. package/dist/source/icons/catalog.js.map +2 -2
  712. package/dist/source/icons/svg/accountTree.js +11 -0
  713. package/dist/source/icons/svg/accountTree.js.map +7 -0
  714. package/dist/source/icons/svg/callSplit.js +11 -0
  715. package/dist/source/icons/svg/callSplit.js.map +7 -0
  716. package/dist/source/icons/svg/deviceHub.js +10 -0
  717. package/dist/source/icons/svg/deviceHub.js.map +7 -0
  718. package/dist/source/icons/svg/editNote.js +11 -0
  719. package/dist/source/icons/svg/editNote.js.map +7 -0
  720. package/dist/source/icons/svg/filterList.js +11 -0
  721. package/dist/source/icons/svg/filterList.js.map +7 -0
  722. package/dist/source/icons/svg/forkRight.js +10 -0
  723. package/dist/source/icons/svg/forkRight.js.map +7 -0
  724. package/dist/source/icons/svg/groups.js +11 -0
  725. package/dist/source/icons/svg/groups.js.map +7 -0
  726. package/dist/source/icons/svg/hub.js +10 -0
  727. package/dist/source/icons/svg/hub.js.map +7 -0
  728. package/dist/source/icons/svg/index.js +22 -0
  729. package/dist/source/icons/svg/index.js.map +2 -2
  730. package/dist/source/icons/svg/lan.js +11 -0
  731. package/dist/source/icons/svg/lan.js.map +7 -0
  732. package/dist/source/icons/svg/personOff.js +11 -0
  733. package/dist/source/icons/svg/personOff.js.map +7 -0
  734. package/dist/source/icons/svg/schema.js +11 -0
  735. package/dist/source/icons/svg/schema.js.map +7 -0
  736. package/dist/source/index.js +33 -1
  737. package/dist/source/index.js.map +2 -2
  738. package/package.json +79 -8
@@ -1 +1 @@
1
- {"version":3,"file":"ripple.js","sources":["../../../../src/components/base/ripple/ripple.tsx"],"sourcesContent":["import { type JSX, For, createSignal, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface RippleActionsRef {\n onRipple: (event: MouseEvent) => void;\n}\n\nexport interface RippleClasses {\n ripple?: string;\n child?: string;\n}\n\nexport interface RippleProps extends JSX.HTMLAttributes<HTMLSpanElement> {\n /** Receives the imperative API once on mount. */\n actionRef?: (actions: RippleActionsRef) => void;\n classes?: RippleClasses;\n center?: boolean | undefined;\n /** Ripple lifetime in ms. */\n duration?: number;\n /** Ripple color (any CSS color). Defaults to inherited currentColor. */\n color?: string | undefined;\n ref?: Ref<HTMLSpanElement>;\n}\n\ninterface RippleEntry {\n key: number;\n x: number;\n y: number;\n size: number;\n}\n\n/**\n * ⚠️ For this effect to work, the parent element must have CSS\n * `position: relative;`.\n */\nexport function Ripple(props: RippleProps): JSX.Element {\n const merged = mergeProps({ duration: 600 }, props);\n const [local, rest] = splitProps(merged, [\n \"actionRef\",\n \"class\",\n \"classes\",\n \"center\",\n \"duration\",\n \"color\",\n \"ref\",\n \"style\",\n ]);\n\n const [ripples, setRipples] = createSignal<RippleEntry[]>([]);\n let nextKey = 0;\n\n const onRipple = (event: MouseEvent): void => {\n const target = event.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const diameter = Math.max(rect.width, rect.height);\n const radius = diameter / 2;\n\n let coordX: number;\n let coordY: number;\n if (local.center) {\n coordX = rect.width > rect.height ? 0 : rect.width / 2 - radius;\n coordY = rect.height > rect.width ? 0 : rect.height / 2 - radius;\n } else {\n coordX = event.clientX - rect.left - radius;\n coordY = event.clientY - rect.top - radius;\n }\n\n const key = nextKey++;\n setRipples((prev) => [...prev, { key, x: coordX, y: coordY, size: diameter }]);\n setTimeout(() => setRipples((prev) => prev.slice(1)), local.duration);\n };\n\n local.actionRef?.({ onRipple });\n\n return (\n <span\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-ripple\", local.class, local.classes?.ripple)}\n data-testid=\"ripple\"\n aria-hidden=\"true\"\n >\n <For each={ripples()}>\n {(ripple) => (\n <span\n class={cn(\"smwb-ripple__child\", local.classes?.child)}\n style={{\n left: `${ripple.x}px`,\n top: `${ripple.y}px`,\n width: `${ripple.size}px`,\n height: `${ripple.size}px`,\n \"background-color\": local.color,\n }}\n />\n )}\n </For>\n </span>\n );\n}\n\nexport default Ripple;\n"],"names":["Ripple","props","merged","mergeProps","duration","local","rest","splitProps","ripples","setRipples","createSignal","nextKey","onRipple","event","rect","currentTarget","getBoundingClientRect","diameter","Math","max","width","height","radius","coordX","coordY","center","clientX","left","clientY","top","key","prev","x","y","size","setTimeout","slice","actionRef","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","classes","ripple","_$insert","_$createComponent","For","each","children","_el$2","_$effect","_p$","_v$","child","_v$2","_v$3","_v$4","_v$5","_v$6","color","e","_$className","t","_$setStyleProperty","a","o","i","n","undefined"],"mappings":";;;;;;AAqCO,SAASA,EAAOC,GAAiC;AACtD,QAAMC,IAASC,EAAW;AAAA,IAAEC,UAAU;AAAA,EAAA,GAAOH,CAAK,GAC5C,CAACI,GAAOC,CAAI,IAAIC,EAAWL,GAAQ,CACvC,aACA,SACA,WACA,UACA,YACA,SACA,OACA,OAAO,CACR,GAEK,CAACM,GAASC,CAAU,IAAIC,EAA4B,CAAA,CAAE;AAC5D,MAAIC,IAAU;AAEd,QAAMC,IAAWA,CAACC,MAA4B;AAE5C,UAAMC,IADSD,EAAME,cACDC,sBAAAA,GACdC,IAAWC,KAAKC,IAAIL,EAAKM,OAAON,EAAKO,MAAM,GAC3CC,IAASL,IAAW;AAE1B,QAAIM,GACAC;AACJ,IAAInB,EAAMoB,UACRF,IAAST,EAAKM,QAAQN,EAAKO,SAAS,IAAIP,EAAKM,QAAQ,IAAIE,GACzDE,IAASV,EAAKO,SAASP,EAAKM,QAAQ,IAAIN,EAAKO,SAAS,IAAIC,MAE1DC,IAASV,EAAMa,UAAUZ,EAAKa,OAAOL,GACrCE,IAASX,EAAMe,UAAUd,EAAKe,MAAMP;AAGtC,UAAMQ,IAAMnB;AACZF,IAAAA,EAAYsB,CAAAA,MAAS,CAAC,GAAGA,GAAM;AAAA,MAAED,KAAAA;AAAAA,MAAKE,GAAGT;AAAAA,MAAQU,GAAGT;AAAAA,MAAQU,MAAMjB;AAAAA,IAAAA,CAAU,CAAC,GAC7EkB,WAAW,MAAM1B,EAAYsB,CAAAA,MAASA,EAAKK,MAAM,CAAC,CAAC,GAAG/B,EAAMD,QAAQ;AAAA,EACtE;AAEAC,SAAAA,EAAMgC,YAAY;AAAA,IAAEzB,UAAAA;AAAAA,EAAAA,CAAU,IAE9B,MAAA;AAAA,QAAA0B,IAAAC,EAAAA,GAAAC,IAGSC,EAAUpC,EAAMqC,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBvC,GAAI;AAAA,MAAA,IAAA,QAAA;AAAA,eAEDwC,EAAG,eAAezC,EAAM0C,OAAO1C,EAAM2C,SAASC,MAAM;AAAA,MAAC;AAAA,MAAA,eAChD;AAAA,MAAQ,eACR;AAAA,IAAA,CAAM,GAAA,IAAA,EAAA,GAAAC,EAAAZ,GAAAa,EAEjBC,GAAG;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE7C,EAAAA;AAAAA,MAAS;AAAA,MAAA8C,UAChBL,QAAM,MAAA;AAAA,YAAAM,IAAAhB,EAAAA;AAAAiB,eAAAA,EAAAC,CAAAA,MAAA;AAAA,cAAAC,IAEGZ,EAAG,sBAAsBzC,EAAM2C,SAASW,KAAK,GAACC,IAE7C,GAAGX,EAAOjB,CAAC,MAAI6B,IAChB,GAAGZ,EAAOhB,CAAC,MAAI6B,IACb,GAAGb,EAAOf,IAAI,MAAI6B,IACjB,GAAGd,EAAOf,IAAI,MAAI8B,IACN3D,EAAM4D;AAAKP,iBAAAA,MAAAD,EAAAS,KAAAC,EAAAZ,GAAAE,EAAAS,IAAAR,CAAA,GAAAE,MAAAH,EAAAW,KAAAC,EAAAd,GAAA,QAAAE,EAAAW,IAAAR,CAAA,GAAAC,MAAAJ,EAAAa,KAAAD,EAAAd,GAAA,OAAAE,EAAAa,IAAAT,CAAA,GAAAC,MAAAL,EAAAc,KAAAF,EAAAd,GAAA,SAAAE,EAAAc,IAAAT,CAAA,GAAAC,MAAAN,EAAAe,KAAAH,EAAAd,GAAA,UAAAE,EAAAe,IAAAT,CAAA,GAAAC,MAAAP,EAAAgB,KAAAJ,EAAAd,GAAA,oBAAAE,EAAAgB,IAAAT,CAAA,GAAAP;AAAAA,QAAA,GAAA;AAAA,UAAAS,GAAAQ;AAAAA,UAAAN,GAAAM;AAAAA,UAAAJ,GAAAI;AAAAA,UAAAH,GAAAG;AAAAA,UAAAF,GAAAE;AAAAA,UAAAD,GAAAC;AAAAA,QAAAA,CAAA,GAAAnB;AAAAA,MAAA,GAAA;AAAA,IAAA,CAGpC,CAAA,GAAAjB;AAAAA,EAAA,GAAA;AAIT;"}
1
+ {"version":3,"file":"ripple.js","sources":["../../../../src/components/base/ripple/ripple.tsx"],"sourcesContent":["import { type JSX, For, createSignal, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface RippleActionsRef {\n onRipple: (event: MouseEvent) => void;\n}\n\nexport interface RippleClasses {\n ripple?: string;\n child?: string;\n}\n\nexport interface RippleProps extends JSX.HTMLAttributes<HTMLSpanElement> {\n /** Receives the imperative API once on mount. */\n actionRef?: (actions: RippleActionsRef) => void;\n classes?: RippleClasses;\n center?: boolean | undefined;\n /** Ripple lifetime in ms. */\n duration?: number;\n /** Ripple color (any CSS color). Defaults to inherited currentColor. */\n color?: string | undefined;\n ref?: Ref<HTMLSpanElement>;\n}\n\ninterface RippleEntry {\n key: number;\n x: number;\n y: number;\n size: number;\n}\n\n/**\n * ⚠️ For this effect to work, the parent element must have CSS\n * `position: relative;`.\n */\nexport function Ripple(props: RippleProps): JSX.Element {\n const merged = mergeProps({ duration: 600 }, props);\n const [local, rest] = splitProps(merged, [\n \"actionRef\",\n \"class\",\n \"classes\",\n \"center\",\n \"duration\",\n \"color\",\n \"ref\",\n \"style\",\n ]);\n\n const [ripples, setRipples] = createSignal<RippleEntry[]>([]);\n let nextKey = 0;\n\n const onRipple = (event: MouseEvent): void => {\n const target = event.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const diameter = Math.max(rect.width, rect.height);\n const radius = diameter / 2;\n\n let coordX: number;\n let coordY: number;\n if (local.center) {\n coordX = rect.width > rect.height ? 0 : rect.width / 2 - radius;\n coordY = rect.height > rect.width ? 0 : rect.height / 2 - radius;\n } else {\n coordX = event.clientX - rect.left - radius;\n coordY = event.clientY - rect.top - radius;\n }\n\n const key = nextKey++;\n setRipples((prev) => [...prev, { key, x: coordX, y: coordY, size: diameter }]);\n setTimeout(() => setRipples((prev) => prev.slice(1)), local.duration);\n };\n\n local.actionRef?.({ onRipple });\n\n return (\n <span\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-ripple\", local.class, local.classes?.ripple)}\n data-testid=\"ripple\"\n aria-hidden=\"true\"\n >\n <For each={ripples()}>\n {(ripple) => (\n <span\n class={cn(\"smwb-ripple__child\", local.classes?.child)}\n style={{\n left: `${ripple.x}px`,\n top: `${ripple.y}px`,\n width: `${ripple.size}px`,\n height: `${ripple.size}px`,\n \"background-color\": local.color,\n }}\n />\n )}\n </For>\n </span>\n );\n}\n\nexport default Ripple;\n"],"names":["Ripple","props","merged","mergeProps","duration","local","rest","splitProps","ripples","setRipples","createSignal","nextKey","onRipple","event","rect","currentTarget","getBoundingClientRect","diameter","Math","max","width","height","radius","coordX","coordY","center","clientX","left","clientY","top","key","prev","x","y","size","setTimeout","slice","actionRef","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","classes","ripple","_$insert","_$createComponent","For","each","children","_el$2","_$effect","_p$","_v$","child","_v$2","_v$3","_v$4","_v$5","_v$6","color","e","_$className","t","_$setStyleProperty","a","o","i","n","undefined"],"mappings":"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"}
@@ -1,8 +1,19 @@
1
1
  import { type JSX, type ParentProps } from "solid-js";
2
2
  import { type Ref } from "../../../primitives/mergeRefs";
3
+ /**
4
+ * `filled` — the header is an app-bar strip on a raised panel (the original look).
5
+ * `outlined` — a bordered card with a flat header: for feeds of records.
6
+ * `plain` — no frame, a divider under each panel: for FAQ-style lists.
7
+ * The flat variants stretch to the container and wrap long titles.
8
+ */
9
+ export type AccordionVariant = "filled" | "outlined" | "plain";
3
10
  export interface AccordionProps {
4
11
  class?: string;
5
- title?: string;
12
+ /** Header text or markup (a date, an author, a badge…). */
13
+ title?: JSX.Element;
14
+ /** Secondary line under the title. */
15
+ subtitle?: JSX.Element;
16
+ variant?: AccordionVariant;
6
17
  isOpenByDefault?: boolean;
7
18
  /** Controlled open state. When set, the component is controlled. */
8
19
  open?: boolean;
@@ -12,7 +23,13 @@ export interface AccordionProps {
12
23
  icon?: JSX.Element;
13
24
  id?: string;
14
25
  startAdornment?: (isOpen: boolean) => JSX.Element;
26
+ /** Rendered after the title, before the expand icon. */
27
+ endAdornment?: (isOpen: boolean) => JSX.Element;
15
28
  noIcon?: boolean;
29
+ /** Create the content on first open instead of up front. */
30
+ lazy?: boolean;
31
+ /** Remove the content once the panel has collapsed (created again on open). */
32
+ unmountOnExit?: boolean;
16
33
  onToggleClick?: (e: MouseEvent & {
17
34
  currentTarget: HTMLButtonElement;
18
35
  target: Element;
@@ -1,83 +1,126 @@
1
- import { use as $, setAttribute as i, insert as a, createComponent as c, effect as O, className as k, template as _, delegateEvents as A } from "solid-js/web";
2
- import '../../../assets/styles/less/components/accordion/accordion.entry.css';/* empty css */
3
- import { mergeProps as x, splitProps as B, Show as l } from "solid-js";
4
- import v from "clsx";
5
- import { AnimateHeight as D } from "../../base/animateHeight/animateHeight.js";
6
- import { createControllableState as P } from "../../../primitives/createControllableState.js";
7
- import { createId as S } from "../../../primitives/createId.js";
8
- import { mergeRefs as T } from "../../../primitives/mergeRefs.js";
9
- import { Icon as z } from "../../base/icon/icon.js";
10
- var E = /* @__PURE__ */ _("<div role=region>"), H = /* @__PURE__ */ _("<div data-testid=accordion><button class=smwb-accordion__header type=button><span class=smwb-accordion__title>");
11
- function L(w) {
12
- const C = x({
13
- isOpenByDefault: !1
14
- }, w), [e] = B(C, ["class", "title", "isOpenByDefault", "open", "disabled", "icon", "id", "children", "startAdornment", "noIcon", "onToggleClick", "onChange", "ref"]), [o, I] = P({
1
+ import { use as P, setAttribute as c, insert as i, createComponent as a, effect as S, className as H, template as g, delegateEvents as T } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/accordion/accordion.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { mergeProps as N, splitProps as R, children as m, createSignal as V, createComputed as j, Show as l } from "solid-js";
5
+ import O from "clsx";
6
+ import { AnimateHeight as q } from "../../base/animateHeight/animateHeight.js";
7
+ import { createControllableState as F } from "../../../primitives/createControllableState.js";
8
+ import { createId as G } from "../../../primitives/createId.js";
9
+ import { mergeRefs as J } from "../../../primitives/mergeRefs.js";
10
+ import { Icon as K } from "../../base/icon/icon.js";
11
+ var L = /* @__PURE__ */ g("<span class=smwb-accordion__subtitle>"), M = /* @__PURE__ */ g("<span class=smwb-accordion__end>"), Q = /* @__PURE__ */ g("<div role=region>"), U = /* @__PURE__ */ g("<div data-testid=accordion><button class=smwb-accordion__header type=button><span class=smwb-accordion__heading><span class=smwb-accordion__title>");
12
+ function W(s) {
13
+ const d = m(() => s.icon);
14
+ return a(l, {
15
+ get when() {
16
+ return d();
17
+ },
18
+ get fallback() {
19
+ return a(K, {
20
+ get class() {
21
+ return O("smwb-accordion__arrow-icon", {
22
+ "smwb-accordion__arrow-icon_opened": s.open
23
+ });
24
+ },
25
+ name: "expand_more",
26
+ size: 24
27
+ });
28
+ },
29
+ get children() {
30
+ return d();
31
+ }
32
+ });
33
+ }
34
+ function ce(s) {
35
+ const d = N({
36
+ isOpenByDefault: !1,
37
+ variant: "filled"
38
+ }, s), [e] = R(d, ["class", "title", "subtitle", "variant", "isOpenByDefault", "open", "disabled", "icon", "id", "children", "startAdornment", "endAdornment", "noIcon", "lazy", "unmountOnExit", "onToggleClick", "onChange", "ref"]), [r, x] = F({
15
39
  value: () => e.open,
16
40
  defaultValue: e.isOpenByDefault,
17
- onChange: (r) => e.onChange?.(r)
18
- }), d = S(e.id), s = `${d}-content`, m = `${d}-header`, y = (r) => {
19
- e.disabled || (I(!o()), e.onToggleClick?.(r));
41
+ onChange: (t) => e.onChange?.(t)
42
+ }), h = G(e.id), p = `${h}-content`, b = `${h}-header`, E = m(() => e.title), _ = m(() => e.subtitle), u = !!(e.lazy || e.unmountOnExit) ? void 0 : m(() => e.children), v = () => u ? !!u() : "children" in e, [k, w] = V(r());
43
+ j(() => {
44
+ r() && w(!0);
45
+ });
46
+ const B = (t) => {
47
+ t === 0 && e.unmountOnExit && !r() && w(!1);
48
+ }, z = (t) => {
49
+ e.disabled || (x(!r()), e.onToggleClick?.(t));
20
50
  };
21
51
  return (() => {
22
- var r = H(), n = r.firstChild, u = n.firstChild, f = T(e.ref);
23
- return typeof f == "function" && $(f, r), n.$$click = y, i(n, "id", m), a(n, () => e.startAdornment?.(o()), u), a(u, () => e.title), a(n, c(l, {
52
+ var t = U(), o = t.firstChild, f = o.firstChild, D = f.firstChild, C = J(e.ref);
53
+ return typeof C == "function" && P(C, t), o.$$click = z, c(o, "id", b), i(o, () => e.startAdornment?.(r()), f), i(D, E), i(f, a(l, {
54
+ get when() {
55
+ return _();
56
+ },
57
+ get children() {
58
+ var n = L();
59
+ return i(n, _), n;
60
+ }
61
+ }), null), i(o, a(l, {
62
+ get when() {
63
+ return e.endAdornment;
64
+ },
65
+ get children() {
66
+ var n = M();
67
+ return i(n, () => e.endAdornment?.(r())), n;
68
+ }
69
+ }), null), i(o, a(l, {
24
70
  get when() {
25
71
  return !e.noIcon;
26
72
  },
27
73
  get children() {
28
- return c(l, {
29
- get when() {
74
+ return a(W, {
75
+ get icon() {
30
76
  return e.icon;
31
77
  },
32
- get fallback() {
33
- return c(z, {
34
- get class() {
35
- return v("smwb-accordion__arrow-icon", {
36
- "smwb-accordion__arrow-icon_opened": o()
37
- });
38
- },
39
- name: "expand_more",
40
- size: 24
41
- });
42
- },
43
- get children() {
44
- return e.icon;
78
+ get open() {
79
+ return r();
45
80
  }
46
81
  });
47
82
  }
48
- }), null), a(r, c(l, {
83
+ }), null), i(t, a(l, {
49
84
  get when() {
50
- return e.children;
85
+ return v();
51
86
  },
52
87
  get children() {
53
- var t = E();
54
- return i(t, "id", s), i(t, "aria-labelledby", m), a(t, c(D, {
88
+ var n = Q();
89
+ return c(n, "id", p), c(n, "aria-labelledby", b), i(n, a(q, {
55
90
  get height() {
56
- return o() ? "auto" : 0;
91
+ return r() ? "auto" : 0;
57
92
  },
58
93
  animateOpacity: !0,
59
94
  duration: 300,
60
95
  class: "smwb-accordion__content",
96
+ onHeightAnimationEnd: B,
61
97
  get children() {
62
- return e.children;
98
+ return u ? u() : a(l, {
99
+ get when() {
100
+ return k();
101
+ },
102
+ get children() {
103
+ return e.children;
104
+ }
105
+ });
63
106
  }
64
- })), t;
107
+ })), n;
65
108
  }
66
- }), null), O((t) => {
67
- var g = v("smwb-accordion", {
109
+ }), null), S((n) => {
110
+ var $ = O("smwb-accordion", `smwb-accordion_${e.variant}`, {
68
111
  "smwb-disabled": e.disabled
69
- }, e.class), h = e.disabled, p = o(), b = e.children ? s : void 0;
70
- return g !== t.e && k(r, t.e = g), h !== t.t && (n.disabled = t.t = h), p !== t.a && i(n, "aria-expanded", t.a = p), b !== t.o && i(n, "aria-controls", t.o = b), t;
112
+ }, e.class), y = e.disabled, A = r(), I = v() ? p : void 0;
113
+ return $ !== n.e && H(t, n.e = $), y !== n.t && (o.disabled = n.t = y), A !== n.a && c(o, "aria-expanded", n.a = A), I !== n.o && c(o, "aria-controls", n.o = I), n;
71
114
  }, {
72
115
  e: void 0,
73
116
  t: void 0,
74
117
  a: void 0,
75
118
  o: void 0
76
- }), r;
119
+ }), t;
77
120
  })();
78
121
  }
79
- A(["click"]);
122
+ T(["click"]);
80
123
  export {
81
- L as Accordion
124
+ ce as Accordion
82
125
  };
83
126
  //# sourceMappingURL=accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","sources":["../../../../src/components/dataDisplay/accordion/accordion.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { AnimateHeight } from \"../../base/animateHeight/animateHeight\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { createId } from \"../../../primitives/createId\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface AccordionProps {\n class?: string;\n title?: string;\n isOpenByDefault?: boolean;\n /** Controlled open state. When set, the component is controlled. */\n open?: boolean;\n /** Disable toggling. */\n disabled?: boolean;\n /** Custom expand icon (replaces the default chevron). */\n icon?: JSX.Element;\n id?: string;\n startAdornment?: (isOpen: boolean) => JSX.Element;\n noIcon?: boolean;\n onToggleClick?: (e: MouseEvent & { currentTarget: HTMLButtonElement; target: Element }) => void;\n /** Fired with the next open state on toggle. */\n onChange?: (open: boolean) => void;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function Accordion(props: ParentProps<AccordionProps>): JSX.Element {\n const merged = mergeProps({ isOpenByDefault: false }, props);\n const [local] = splitProps(merged, [\n \"class\",\n \"title\",\n \"isOpenByDefault\",\n \"open\",\n \"disabled\",\n \"icon\",\n \"id\",\n \"children\",\n \"startAdornment\",\n \"noIcon\",\n \"onToggleClick\",\n \"onChange\",\n \"ref\",\n ]);\n\n const [isOpen, setIsOpen] = createControllableState<boolean>({\n value: () => local.open,\n defaultValue: local.isOpenByDefault,\n onChange: (next) => local.onChange?.(next),\n });\n\n const baseId = createId(local.id);\n const contentId = `${baseId}-content`;\n const headerId = `${baseId}-header`;\n\n const toggle: JSX.EventHandler<HTMLButtonElement, MouseEvent> = (event) => {\n if (local.disabled) return;\n setIsOpen(!isOpen());\n local.onToggleClick?.(event);\n };\n\n return (\n <div\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-accordion\", { \"smwb-disabled\": local.disabled }, local.class)}\n data-testid=\"accordion\"\n >\n <button\n id={headerId}\n class=\"smwb-accordion__header\"\n onClick={toggle}\n type=\"button\"\n disabled={local.disabled}\n aria-expanded={isOpen()}\n aria-controls={local.children ? contentId : undefined}\n >\n {local.startAdornment?.(isOpen())}\n <span class=\"smwb-accordion__title\">{local.title}</span>\n <Show when={!local.noIcon}>\n <Show\n when={local.icon}\n fallback={\n <Icon\n class={cn(\"smwb-accordion__arrow-icon\", { \"smwb-accordion__arrow-icon_opened\": isOpen() })}\n name=\"expand_more\"\n size={24}\n />\n }\n >\n {local.icon}\n </Show>\n </Show>\n </button>\n\n <Show when={local.children}>\n <div id={contentId} role=\"region\" aria-labelledby={headerId}>\n <AnimateHeight height={isOpen() ? \"auto\" : 0} animateOpacity duration={300} class=\"smwb-accordion__content\">\n {local.children}\n </AnimateHeight>\n </div>\n </Show>\n </div>\n );\n}\n\nexport default Accordion;\n"],"names":["Accordion","props","merged","mergeProps","isOpenByDefault","local","splitProps","isOpen","setIsOpen","createControllableState","value","open","defaultValue","onChange","next","baseId","createId","id","contentId","headerId","toggle","event","disabled","onToggleClick","_el$","_tmpl$2","_el$2","firstChild","_el$3","_ref$","mergeRefs","ref","_$use","$$click","_$setAttribute","_$insert","startAdornment","title","_$createComponent","Show","when","noIcon","children","icon","fallback","Icon","cn","name","size","_el$4","_tmpl$","AnimateHeight","height","animateOpacity","duration","_$effect","_p$","_v$","class","_v$2","_v$3","_v$4","undefined","e","_$className","t","a","o","_$delegateEvents"],"mappings":";;;;;;;;;;AA4BO,SAASA,EAAUC,GAAiD;AACzE,QAAMC,IAASC,EAAW;AAAA,IAAEC,iBAAiB;AAAA,EAAA,GAASH,CAAK,GACrD,CAACI,CAAK,IAAIC,EAAWJ,GAAQ,CACjC,SACA,SACA,mBACA,QACA,YACA,QACA,MACA,YACA,kBACA,UACA,iBACA,YACA,KAAK,CACN,GAEK,CAACK,GAAQC,CAAS,IAAIC,EAAiC;AAAA,IAC3DC,OAAOA,MAAML,EAAMM;AAAAA,IACnBC,cAAcP,EAAMD;AAAAA,IACpBS,UAAWC,CAAAA,MAAST,EAAMQ,WAAWC,CAAI;AAAA,EAAA,CAC1C,GAEKC,IAASC,EAASX,EAAMY,EAAE,GAC1BC,IAAY,GAAGH,CAAM,YACrBI,IAAW,GAAGJ,CAAM,WAEpBK,IAA2DC,CAAAA,MAAU;AACzE,IAAIhB,EAAMiB,aACVd,EAAU,CAACD,GAAQ,GACnBF,EAAMkB,gBAAgBF,CAAK;AAAA,EAC7B;AAEA,UAAA,MAAA;AAAA,QAAAG,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAESC,EAAUzB,EAAM0B,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAL,CAAA,GAAAE,EAAAO,UAOdb,GAAMc,EAAAR,GAAA,MAFXP,CAAQ,GAAAgB,EAAAT,GAAA,MAQXrB,EAAM+B,iBAAiB7B,EAAAA,CAAQ,GAACqB,CAAA,GAAAO,EAAAP,GAAA,MACIvB,EAAMgC,KAAK,GAAAF,EAAAT,GAAAY,EAC/CC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE,CAACnC,EAAMoC;AAAAA,MAAM;AAAA,MAAA,IAAAC,WAAA;AAAA,eAAAJ,EACtBC,GAAI;AAAA,UAAA,IACHC,OAAI;AAAA,mBAAEnC,EAAMsC;AAAAA,UAAI;AAAA,UAAA,IAChBC,WAAQ;AAAA,mBAAAN,EACLO,GAAI;AAAA,cAAA,IAAA,QAAA;AAAA,uBACIC,EAAG,8BAA8B;AAAA,kBAAE,qCAAqCvC,EAAAA;AAAAA,gBAAO,CAAG;AAAA,cAAC;AAAA,cAC1FwC,MAAI;AAAA,cACJC,MAAM;AAAA,YAAA,CAAE;AAAA,UAAA;AAAA,UAAA,IAAAN,WAAA;AAAA,mBAIXrC,EAAMsC;AAAAA,UAAI;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAR,EAAAX,GAAAc,EAKhBC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEnC,EAAMqC;AAAAA,MAAQ;AAAA,MAAA,IAAAA,WAAA;AAAA,YAAAO,IAAAC,EAAAA;AAAAhB,eAAAA,EAAAe,GAAA,MACf/B,CAAS,GAAAgB,EAAAe,GAAA,mBAAiC9B,CAAQ,GAAAgB,EAAAc,GAAAX,EACxDa,GAAa;AAAA,UAAA,IAACC,SAAM;AAAA,mBAAE7C,EAAAA,IAAW,SAAS;AAAA,UAAC;AAAA,UAAE8C,gBAAc;AAAA,UAACC,UAAU;AAAA,UAAG,OAAA;AAAA,UAAA,IAAAZ,WAAA;AAAA,mBACvErC,EAAMqC;AAAAA,UAAQ;AAAA,QAAA,CAAA,CAAA,GAAAO;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAM,EAAAC,CAAAA,MAAA;AAAA,UAAAC,IAjCdX,EAAG,kBAAkB;AAAA,QAAE,iBAAiBzC,EAAMiB;AAAAA,MAAAA,GAAYjB,EAAMqD,KAAK,GAACC,IAQjEtD,EAAMiB,UAAQsC,IACTrD,EAAAA,GAAQsD,IACRxD,EAAMqC,WAAWxB,IAAY4C;AAASL,aAAAA,MAAAD,EAAAO,KAAAC,EAAAxC,GAAAgC,EAAAO,IAAAN,CAAA,GAAAE,MAAAH,EAAAS,MAAAvC,EAAAJ,WAAAkC,EAAAS,IAAAN,IAAAC,MAAAJ,EAAAU,KAAAhC,EAAAR,GAAA,iBAAA8B,EAAAU,IAAAN,CAAA,GAAAC,MAAAL,EAAAW,KAAAjC,EAAAR,GAAA,iBAAA8B,EAAAW,IAAAN,CAAA,GAAAL;AAAAA,IAAA,GAAA;AAAA,MAAAO,GAAAD;AAAAA,MAAAG,GAAAH;AAAAA,MAAAI,GAAAJ;AAAAA,MAAAK,GAAAL;AAAAA,IAAAA,CAAA,GAAAtC;AAAAA,EAAA,GAAA;AA6B7D;AAEyB4C,EAAA,CAAA,OAAA,CAAA;"}
1
+ {"version":3,"file":"accordion.js","sources":["../../../../src/components/dataDisplay/accordion/accordion.tsx"],"sourcesContent":["import {\n type JSX,\n type ParentProps,\n Show,\n children,\n createComputed,\n createSignal,\n mergeProps,\n splitProps,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { AnimateHeight, type Height } from \"../../base/animateHeight/animateHeight\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { createId } from \"../../../primitives/createId\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\n/**\n * `filled` — the header is an app-bar strip on a raised panel (the original look).\n * `outlined` — a bordered card with a flat header: for feeds of records.\n * `plain` — no frame, a divider under each panel: for FAQ-style lists.\n * The flat variants stretch to the container and wrap long titles.\n */\nexport type AccordionVariant = \"filled\" | \"outlined\" | \"plain\";\n\nexport interface AccordionProps {\n class?: string;\n /** Header text or markup (a date, an author, a badge…). */\n title?: JSX.Element;\n /** Secondary line under the title. */\n subtitle?: JSX.Element;\n variant?: AccordionVariant;\n isOpenByDefault?: boolean;\n /** Controlled open state. When set, the component is controlled. */\n open?: boolean;\n /** Disable toggling. */\n disabled?: boolean;\n /** Custom expand icon (replaces the default chevron). */\n icon?: JSX.Element;\n id?: string;\n startAdornment?: (isOpen: boolean) => JSX.Element;\n /** Rendered after the title, before the expand icon. */\n endAdornment?: (isOpen: boolean) => JSX.Element;\n noIcon?: boolean;\n /** Create the content on first open instead of up front. */\n lazy?: boolean;\n /** Remove the content once the panel has collapsed (created again on open). */\n unmountOnExit?: boolean;\n onToggleClick?: (e: MouseEvent & { currentTarget: HTMLButtonElement; target: Element }) => void;\n /** Fired with the next open state on toggle. */\n onChange?: (open: boolean) => void;\n ref?: Ref<HTMLDivElement>;\n}\n\n/** The custom expand icon, read once where it renders, or the rotating chevron. */\nfunction ExpandIcon(props: { icon: JSX.Element; open: boolean }): JSX.Element {\n const icon = children(() => props.icon);\n return (\n <Show\n when={icon()}\n fallback={\n <Icon\n class={cn(\"smwb-accordion__arrow-icon\", { \"smwb-accordion__arrow-icon_opened\": props.open })}\n name=\"expand_more\"\n size={24}\n />\n }\n >\n {icon()}\n </Show>\n );\n}\n\nexport function Accordion(props: ParentProps<AccordionProps>): JSX.Element {\n const merged = mergeProps({ isOpenByDefault: false, variant: \"filled\" as AccordionVariant }, props);\n const [local] = splitProps(merged, [\n \"class\",\n \"title\",\n \"subtitle\",\n \"variant\",\n \"isOpenByDefault\",\n \"open\",\n \"disabled\",\n \"icon\",\n \"id\",\n \"children\",\n \"startAdornment\",\n \"endAdornment\",\n \"noIcon\",\n \"lazy\",\n \"unmountOnExit\",\n \"onToggleClick\",\n \"onChange\",\n \"ref\",\n ]);\n\n const [isOpen, setIsOpen] = createControllableState<boolean>({\n value: () => local.open,\n defaultValue: local.isOpenByDefault,\n onChange: (next) => local.onChange?.(next),\n });\n\n const baseId = createId(local.id);\n const contentId = `${baseId}-content`;\n const headerId = `${baseId}-header`;\n\n // Read each JSX prop once. A prop written as markup is created anew on every\n // read, and during hydration a copy the server did not render where this one\n // lands (or rendered only to test it, as a <Show> condition does) has no DOM\n // node to adopt: hydrate() throws \"Unable to find DOM nodes for hydration key\".\n // The icon is read by ExpandIcon, which renders only without noIcon.\n const title = children(() => local.title);\n const subtitle = children(() => local.subtitle);\n\n // Deferred content (lazy / unmountOnExit) is created only while it is shown, so\n // it can't be read up front to see whether there is any: the region is kept\n // whenever children are passed. Otherwise the content is resolved right away.\n const deferred = Boolean(local.lazy || local.unmountOnExit);\n const content = deferred ? undefined : children(() => local.children);\n const hasContent = (): boolean => (content ? Boolean(content()) : \"children\" in local);\n\n const [present, setPresent] = createSignal(isOpen());\n // Mount deferred content in the same update that opens the panel, so the\n // height animation measures it.\n createComputed(() => {\n if (isOpen()) setPresent(true);\n });\n const onCollapsed = (height: Height): void => {\n if (height === 0 && local.unmountOnExit && !isOpen()) setPresent(false);\n };\n\n const toggle: JSX.EventHandler<HTMLButtonElement, MouseEvent> = (event) => {\n if (local.disabled) return;\n setIsOpen(!isOpen());\n local.onToggleClick?.(event);\n };\n\n return (\n <div\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-accordion\", `smwb-accordion_${local.variant}`, { \"smwb-disabled\": local.disabled }, local.class)}\n data-testid=\"accordion\"\n >\n <button\n id={headerId}\n class=\"smwb-accordion__header\"\n onClick={toggle}\n type=\"button\"\n disabled={local.disabled}\n aria-expanded={isOpen()}\n aria-controls={hasContent() ? contentId : undefined}\n >\n {local.startAdornment?.(isOpen())}\n <span class=\"smwb-accordion__heading\">\n <span class=\"smwb-accordion__title\">{title()}</span>\n <Show when={subtitle()}>\n <span class=\"smwb-accordion__subtitle\">{subtitle()}</span>\n </Show>\n </span>\n <Show when={local.endAdornment}>\n <span class=\"smwb-accordion__end\">{local.endAdornment?.(isOpen())}</span>\n </Show>\n <Show when={!local.noIcon}>\n <ExpandIcon icon={local.icon} open={isOpen()} />\n </Show>\n </button>\n\n <Show when={hasContent()}>\n <div id={contentId} role=\"region\" aria-labelledby={headerId}>\n <AnimateHeight\n height={isOpen() ? \"auto\" : 0}\n animateOpacity\n duration={300}\n class=\"smwb-accordion__content\"\n onHeightAnimationEnd={onCollapsed}\n >\n {content ? content() : <Show when={present()}>{local.children}</Show>}\n </AnimateHeight>\n </div>\n </Show>\n </div>\n );\n}\n\nexport default Accordion;\n"],"names":["ExpandIcon","props","icon","children","_$createComponent","Show","when","fallback","Icon","cn","open","name","size","Accordion","merged","mergeProps","isOpenByDefault","variant","local","splitProps","isOpen","setIsOpen","createControllableState","value","defaultValue","onChange","next","baseId","createId","id","contentId","headerId","title","subtitle","content","Boolean","lazy","unmountOnExit","undefined","hasContent","present","setPresent","createSignal","createComputed","onCollapsed","height","toggle","event","disabled","onToggleClick","_el$","_tmpl$4","_el$2","firstChild","_el$3","_el$4","_ref$","mergeRefs","ref","_$use","$$click","_$setAttribute","_$insert","startAdornment","_el$5","_tmpl$","endAdornment","_el$6","_tmpl$2","noIcon","_el$7","_tmpl$3","AnimateHeight","animateOpacity","duration","onHeightAnimationEnd","_$effect","_p$","_v$","class","_v$2","_v$3","_v$4","e","_$className","t","a","o","_$delegateEvents"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { addEventListener as P, use as E, insert as g, createComponent as o, effect as m, style as h, setStyleProperty as w, className as O, template as c } from "solid-js/web";
2
- import '../../../assets/styles/less/components/assetGrid/assetGrid.entry.css';/* empty css */
3
- import { mergeProps as W, splitProps as Y, createSignal as f, onMount as F, createMemo as _, Show as p, For as v, onCleanup as G } from "solid-js";
1
+ import { addEventListener as P, use as E, insert as g, createComponent as o, effect as m, style as p, setStyleProperty as w, className as O, template as c } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/assetGrid/assetGrid.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { mergeProps as W, splitProps as Y, createSignal as f, onMount as F, createMemo as _, Show as h, For as v, onCleanup as G } from "solid-js";
4
5
  import N from "clsx";
5
6
  import { createVirtualList as V } from "../../../primitives/createVirtualList.js";
6
7
  var j = /* @__PURE__ */ c("<div class=smwb-asset-grid__sizer style=position:relative><div class=smwb-asset-grid__band style=position:absolute;top:0;left:0;right:0>"), q = /* @__PURE__ */ c("<div>"), b = /* @__PURE__ */ c("<div class=smwb-asset-grid__plain>"), B = /* @__PURE__ */ c("<div class=smwb-asset-grid__skeleton>"), D = /* @__PURE__ */ c("<div class=smwb-asset-grid__empty>"), J = /* @__PURE__ */ c("<div class=smwb-asset-grid__row>");
7
- function ee(y) {
8
+ function te(y) {
8
9
  const x = W({
9
10
  minColumn: 160,
10
11
  gap: 8,
@@ -46,7 +47,7 @@ function ee(y) {
46
47
  });
47
48
  return (() => {
48
49
  var r = q();
49
- return P(r, "scroll", d.onScroll), E((e) => l = e, r), g(r, o(p, {
50
+ return P(r, "scroll", d.onScroll), E((e) => l = e, r), g(r, o(h, {
50
51
  get when() {
51
52
  return !t.loading;
52
53
  },
@@ -63,11 +64,11 @@ function ee(y) {
63
64
  var n = B();
64
65
  return m((i) => w(n, "height", `${t.rowHeight}px`)), n;
65
66
  })()
66
- })), m((n) => h(e, $(), n)), e;
67
+ })), m((n) => p(e, $(), n)), e;
67
68
  })();
68
69
  },
69
70
  get children() {
70
- return o(p, {
71
+ return o(h, {
71
72
  get when() {
72
73
  return t.items.length > 0;
73
74
  },
@@ -78,7 +79,7 @@ function ee(y) {
78
79
  })();
79
80
  },
80
81
  get children() {
81
- return o(p, {
82
+ return o(h, {
82
83
  get when() {
83
84
  return M();
84
85
  },
@@ -90,7 +91,7 @@ function ee(y) {
90
91
  return t.items;
91
92
  },
92
93
  children: (n, i) => t.renderItem(n, i())
93
- })), m((n) => h(e, $(), n)), e;
94
+ })), m((n) => p(e, $(), n)), e;
94
95
  })();
95
96
  },
96
97
  get children() {
@@ -107,7 +108,7 @@ function ee(y) {
107
108
  length: u()
108
109
  }, (s, A) => i * u() + A);
109
110
  },
110
- children: (s) => o(p, {
111
+ children: (s) => o(h, {
111
112
  get when() {
112
113
  return s < t.items.length;
113
114
  },
@@ -115,7 +116,7 @@ function ee(y) {
115
116
  return t.renderItem(t.items[s], s);
116
117
  }
117
118
  })
118
- })), m((s) => h(a, z(), s)), a;
119
+ })), m((s) => p(a, z(), s)), a;
119
120
  })()
120
121
  })), m((i) => {
121
122
  var a = `${d.totalHeight()}px`, s = `translateY(${d.offsetY()}px)`;
@@ -131,7 +132,7 @@ function ee(y) {
131
132
  }
132
133
  })), m((e) => {
133
134
  var n = N("smwb-asset-grid", t.class), i = t.style;
134
- return n !== e.e && O(r, e.e = n), e.t = h(r, i, e.t), e;
135
+ return n !== e.e && O(r, e.e = n), e.t = p(r, i, e.t), e;
135
136
  }, {
136
137
  e: void 0,
137
138
  t: void 0
@@ -139,6 +140,6 @@ function ee(y) {
139
140
  })();
140
141
  }
141
142
  export {
142
- ee as AssetGrid
143
+ te as AssetGrid
143
144
  };
144
145
  //# sourceMappingURL=assetGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assetGrid.js","sources":["../../../../src/components/dataDisplay/assetGrid/assetGrid.tsx"],"sourcesContent":["import { type JSX, For, Show, createMemo, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { createVirtualList } from \"../../../primitives/createVirtualList\";\n\nexport interface AssetGridProps<T> {\n items: T[];\n /** Render one cell. `index` is the absolute index into `items`. */\n renderItem: (item: T, index: number) => JSX.Element;\n /** Minimum column width (px); drives the column count from the measured width. Default 160. */\n minColumn?: number;\n /** Fixed cell height (px). */\n rowHeight: number;\n /** Gap (px) between cells on both axes. Default 8. */\n gap?: number;\n /** Extra rows rendered above/below the viewport. Default 2. */\n overscan?: number;\n loading?: boolean;\n /** Skeleton tile count while loading. Default 12. */\n loadingCount?: number;\n emptyLabel?: JSX.Element;\n class?: string;\n style?: JSX.CSSProperties | string;\n}\n\n/**\n * A virtualized, data-shape-agnostic asset grid: measures its own width to pick a\n * column count, windows rows via `createVirtualList`, and renders only the visible\n * cells through a `renderItem` slot — with loading skeletons + an empty state. The\n * windowing math every catalog app reimplements, upstreamed. SSR-safe: before it\n * can measure (server + first paint) it renders a plain auto-fill grid of all\n * items, then virtualizes after mount.\n */\nexport function AssetGrid<T>(props: AssetGridProps<T>): JSX.Element {\n const merged = mergeProps({ minColumn: 160, gap: 8, overscan: 2, loadingCount: 12 }, props);\n const [local] = splitProps(merged, [\n \"items\",\n \"renderItem\",\n \"minColumn\",\n \"rowHeight\",\n \"gap\",\n \"overscan\",\n \"loading\",\n \"loadingCount\",\n \"emptyLabel\",\n \"class\",\n \"style\",\n ]);\n\n let viewportEl: HTMLDivElement | undefined;\n const [width, setWidth] = createSignal(0);\n const [height, setHeight] = createSignal(0);\n const [ready, setReady] = createSignal(false);\n\n onMount(() => {\n if (!viewportEl || typeof ResizeObserver === \"undefined\") return;\n const ro = new ResizeObserver(() => {\n if (!viewportEl) return;\n setWidth(viewportEl.clientWidth);\n setHeight(viewportEl.clientHeight);\n setReady(true);\n });\n ro.observe(viewportEl);\n onCleanup(() => ro.disconnect());\n });\n\n const cols = createMemo(() => {\n const w = width();\n if (w <= 0) return 1;\n return Math.max(1, Math.floor((w + local.gap) / (local.minColumn + local.gap)));\n });\n const rowCount = createMemo(() => Math.ceil(local.items.length / cols()));\n const rowStride = (): number => local.rowHeight + local.gap;\n\n const vl = createVirtualList({\n itemCount: rowCount,\n itemHeight: rowStride,\n viewportHeight: () => height() || 1,\n overscan: local.overscan,\n });\n\n const visibleRows = createMemo(() => {\n const out: number[] = [];\n for (let row = vl.startIndex(); row < vl.endIndex(); row++) out.push(row);\n return out;\n });\n\n const rowStyle = (): JSX.CSSProperties => ({\n display: \"grid\",\n \"grid-template-columns\": `repeat(${cols()}, minmax(0, 1fr))`,\n gap: `${local.gap}px`,\n height: `${local.rowHeight}px`,\n \"margin-bottom\": `${local.gap}px`,\n });\n\n const plainStyle = (): JSX.CSSProperties => ({\n display: \"grid\",\n \"grid-template-columns\": `repeat(auto-fill, minmax(${local.minColumn}px, 1fr))`,\n gap: `${local.gap}px`,\n \"grid-auto-rows\": `${local.rowHeight}px`,\n });\n\n return (\n <div\n ref={(el) => (viewportEl = el)}\n class={cn(\"smwb-asset-grid\", local.class)}\n style={local.style}\n onScroll={vl.onScroll}\n >\n <Show\n when={!local.loading}\n fallback={\n <div class=\"smwb-asset-grid__plain\" style={plainStyle()}>\n <For each={Array.from({ length: local.loadingCount })}>\n {() => <div class=\"smwb-asset-grid__skeleton\" style={{ height: `${local.rowHeight}px` }} />}\n </For>\n </div>\n }\n >\n <Show\n when={local.items.length > 0}\n fallback={<div class=\"smwb-asset-grid__empty\">{local.emptyLabel}</div>}\n >\n <Show\n when={ready()}\n fallback={\n <div class=\"smwb-asset-grid__plain\" style={plainStyle()}>\n <For each={local.items}>{(item, index) => local.renderItem(item, index())}</For>\n </div>\n }\n >\n <div class=\"smwb-asset-grid__sizer\" style={{ height: `${vl.totalHeight()}px`, position: \"relative\" }}>\n <div\n class=\"smwb-asset-grid__band\"\n style={{ position: \"absolute\", top: \"0\", left: \"0\", right: \"0\", transform: `translateY(${vl.offsetY()}px)` }}\n >\n <For each={visibleRows()}>\n {(row) => (\n <div class=\"smwb-asset-grid__row\" style={rowStyle()}>\n <For each={Array.from({ length: cols() }, (_, c) => row * cols() + c)}>\n {(index) => (\n <Show when={index < local.items.length}>\n {local.renderItem(local.items[index] as T, index)}\n </Show>\n )}\n </For>\n </div>\n )}\n </For>\n </div>\n </div>\n </Show>\n </Show>\n </Show>\n </div>\n );\n}\n\nexport default AssetGrid;\n"],"names":["AssetGrid","props","merged","mergeProps","minColumn","gap","overscan","loadingCount","local","splitProps","viewportEl","width","setWidth","createSignal","height","setHeight","ready","setReady","onMount","ResizeObserver","ro","clientWidth","clientHeight","observe","onCleanup","disconnect","cols","createMemo","w","Math","max","floor","rowCount","ceil","items","length","vl","createVirtualList","itemCount","itemHeight","rowStride","rowHeight","viewportHeight","visibleRows","out","row","startIndex","endIndex","push","rowStyle","display","plainStyle","_el$","_tmpl$2","_$addEventListener","onScroll","_$use","el","_$insert","_$createComponent","Show","when","loading","fallback","_el$4","_tmpl$3","For","each","Array","from","children","_el$5","_tmpl$4","_$effect","_$p","_$setStyleProperty","_$style","_el$6","_tmpl$5","emptyLabel","_el$7","item","index","renderItem","_el$2","_tmpl$","_el$3","firstChild","_el$8","_tmpl$6","_","c","_p$","_v$","totalHeight","_v$2","offsetY","e","t","undefined","_v$3","cn","class","_v$4","style","_$className"],"mappings":"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"}
1
+ {"version":3,"file":"assetGrid.js","sources":["../../../../src/components/dataDisplay/assetGrid/assetGrid.tsx"],"sourcesContent":["import { type JSX, For, Show, createMemo, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { createVirtualList } from \"../../../primitives/createVirtualList\";\n\nexport interface AssetGridProps<T> {\n items: T[];\n /** Render one cell. `index` is the absolute index into `items`. */\n renderItem: (item: T, index: number) => JSX.Element;\n /** Minimum column width (px); drives the column count from the measured width. Default 160. */\n minColumn?: number;\n /** Fixed cell height (px). */\n rowHeight: number;\n /** Gap (px) between cells on both axes. Default 8. */\n gap?: number;\n /** Extra rows rendered above/below the viewport. Default 2. */\n overscan?: number;\n loading?: boolean;\n /** Skeleton tile count while loading. Default 12. */\n loadingCount?: number;\n emptyLabel?: JSX.Element;\n class?: string;\n style?: JSX.CSSProperties | string;\n}\n\n/**\n * A virtualized, data-shape-agnostic asset grid: measures its own width to pick a\n * column count, windows rows via `createVirtualList`, and renders only the visible\n * cells through a `renderItem` slot — with loading skeletons + an empty state. The\n * windowing math every catalog app reimplements, upstreamed. SSR-safe: before it\n * can measure (server + first paint) it renders a plain auto-fill grid of all\n * items, then virtualizes after mount.\n */\nexport function AssetGrid<T>(props: AssetGridProps<T>): JSX.Element {\n const merged = mergeProps({ minColumn: 160, gap: 8, overscan: 2, loadingCount: 12 }, props);\n const [local] = splitProps(merged, [\n \"items\",\n \"renderItem\",\n \"minColumn\",\n \"rowHeight\",\n \"gap\",\n \"overscan\",\n \"loading\",\n \"loadingCount\",\n \"emptyLabel\",\n \"class\",\n \"style\",\n ]);\n\n let viewportEl: HTMLDivElement | undefined;\n const [width, setWidth] = createSignal(0);\n const [height, setHeight] = createSignal(0);\n const [ready, setReady] = createSignal(false);\n\n onMount(() => {\n if (!viewportEl || typeof ResizeObserver === \"undefined\") return;\n const ro = new ResizeObserver(() => {\n if (!viewportEl) return;\n setWidth(viewportEl.clientWidth);\n setHeight(viewportEl.clientHeight);\n setReady(true);\n });\n ro.observe(viewportEl);\n onCleanup(() => ro.disconnect());\n });\n\n const cols = createMemo(() => {\n const w = width();\n if (w <= 0) return 1;\n return Math.max(1, Math.floor((w + local.gap) / (local.minColumn + local.gap)));\n });\n const rowCount = createMemo(() => Math.ceil(local.items.length / cols()));\n const rowStride = (): number => local.rowHeight + local.gap;\n\n const vl = createVirtualList({\n itemCount: rowCount,\n itemHeight: rowStride,\n viewportHeight: () => height() || 1,\n overscan: local.overscan,\n });\n\n const visibleRows = createMemo(() => {\n const out: number[] = [];\n for (let row = vl.startIndex(); row < vl.endIndex(); row++) out.push(row);\n return out;\n });\n\n const rowStyle = (): JSX.CSSProperties => ({\n display: \"grid\",\n \"grid-template-columns\": `repeat(${cols()}, minmax(0, 1fr))`,\n gap: `${local.gap}px`,\n height: `${local.rowHeight}px`,\n \"margin-bottom\": `${local.gap}px`,\n });\n\n const plainStyle = (): JSX.CSSProperties => ({\n display: \"grid\",\n \"grid-template-columns\": `repeat(auto-fill, minmax(${local.minColumn}px, 1fr))`,\n gap: `${local.gap}px`,\n \"grid-auto-rows\": `${local.rowHeight}px`,\n });\n\n return (\n <div\n ref={(el) => (viewportEl = el)}\n class={cn(\"smwb-asset-grid\", local.class)}\n style={local.style}\n onScroll={vl.onScroll}\n >\n <Show\n when={!local.loading}\n fallback={\n <div class=\"smwb-asset-grid__plain\" style={plainStyle()}>\n <For each={Array.from({ length: local.loadingCount })}>\n {() => <div class=\"smwb-asset-grid__skeleton\" style={{ height: `${local.rowHeight}px` }} />}\n </For>\n </div>\n }\n >\n <Show\n when={local.items.length > 0}\n fallback={<div class=\"smwb-asset-grid__empty\">{local.emptyLabel}</div>}\n >\n <Show\n when={ready()}\n fallback={\n <div class=\"smwb-asset-grid__plain\" style={plainStyle()}>\n <For each={local.items}>{(item, index) => local.renderItem(item, index())}</For>\n </div>\n }\n >\n <div class=\"smwb-asset-grid__sizer\" style={{ height: `${vl.totalHeight()}px`, position: \"relative\" }}>\n <div\n class=\"smwb-asset-grid__band\"\n style={{ position: \"absolute\", top: \"0\", left: \"0\", right: \"0\", transform: `translateY(${vl.offsetY()}px)` }}\n >\n <For each={visibleRows()}>\n {(row) => (\n <div class=\"smwb-asset-grid__row\" style={rowStyle()}>\n <For each={Array.from({ length: cols() }, (_, c) => row * cols() + c)}>\n {(index) => (\n <Show when={index < local.items.length}>\n {local.renderItem(local.items[index] as T, index)}\n </Show>\n )}\n </For>\n </div>\n )}\n </For>\n </div>\n </div>\n </Show>\n </Show>\n </Show>\n </div>\n );\n}\n\nexport default AssetGrid;\n"],"names":["AssetGrid","props","merged","mergeProps","minColumn","gap","overscan","loadingCount","local","splitProps","viewportEl","width","setWidth","createSignal","height","setHeight","ready","setReady","onMount","ResizeObserver","ro","clientWidth","clientHeight","observe","onCleanup","disconnect","cols","createMemo","w","Math","max","floor","rowCount","ceil","items","length","vl","createVirtualList","itemCount","itemHeight","rowStride","rowHeight","viewportHeight","visibleRows","out","row","startIndex","endIndex","push","rowStyle","display","plainStyle","_el$","_tmpl$2","_$addEventListener","onScroll","_$use","el","_$insert","_$createComponent","Show","when","loading","fallback","_el$4","_tmpl$3","For","each","Array","from","children","_el$5","_tmpl$4","_$effect","_$p","_$setStyleProperty","_$style","_el$6","_tmpl$5","emptyLabel","_el$7","item","index","renderItem","_el$2","_tmpl$","_el$3","firstChild","_el$8","_tmpl$6","_","c","_p$","_v$","totalHeight","_v$2","offsetY","e","t","undefined","_v$3","cn","class","_v$4","style","_$className"],"mappings":"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"}
@@ -22,6 +22,10 @@ export interface AvatarGroupProps extends JSX.HTMLAttributes<HTMLDivElement> {
22
22
  total?: number;
23
23
  /** Click handler for the "+N" surplus chip. */
24
24
  onSurplusClick?: () => void;
25
+ /** Accessible name of the "+N" surplus chip. */
26
+ surplusAriaLabel?: (count: number) => string;
27
+ /** Size of the "+N" surplus chip: match the avatars in the group. */
28
+ size?: AvatarSize | number;
25
29
  ref?: Ref<HTMLDivElement>;
26
30
  }
27
31
  export declare function AvatarGroup(props: ParentProps<AvatarGroupProps>): JSX.Element;
@@ -1,54 +1,55 @@
1
- import { use as $, spread as g, mergeProps as f, insert as i, createComponent as d, effect as z, setAttribute as k, template as h } from "solid-js/web";
2
- import '../../../assets/styles/less/components/avatar/avatar.entry.css';/* empty css */
3
- import { mergeProps as b, splitProps as w, createSignal as S, Show as y, children as C } from "solid-js";
4
- import v from "clsx";
5
- import { mergeRefs as x } from "../../../primitives/mergeRefs.js";
6
- import { callHandler as A } from "../../../primitives/callHandler.js";
7
- var E = /* @__PURE__ */ h("<img>"), P = /* @__PURE__ */ h("<div>"), F = /* @__PURE__ */ h("<span class=smwb-avatar__fallback role=img>");
8
- const _ = (a) => typeof a == "string";
9
- function I(a) {
10
- const c = b({
1
+ import { use as y, spread as f, mergeProps as v, insert as a, createComponent as u, effect as A, setAttribute as S, template as m } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/avatar/avatar.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { mergeProps as z, splitProps as x, createSignal as C, Show as h, children as L } from "solid-js";
5
+ import _ from "clsx";
6
+ import { mergeRefs as P } from "../../../primitives/mergeRefs.js";
7
+ import { callHandler as E } from "../../../primitives/callHandler.js";
8
+ var F = /* @__PURE__ */ m("<img>"), k = /* @__PURE__ */ m("<div>"), I = /* @__PURE__ */ m("<span class=smwb-avatar__fallback role=img>"), M = /* @__PURE__ */ m("<span class=smwb-avatar-group__hidden hidden>");
9
+ const w = (l) => typeof l == "string";
10
+ function j(l) {
11
+ const p = z({
11
12
  size: "medium",
12
13
  variant: "circular"
13
- }, a), [r, u] = w(c, ["class", "src", "alt", "size", "variant", "color", "style", "imgProps", "children", "ref"]), [m, l] = S(!1), o = () => !!r.src && !m(), p = () => {
14
+ }, l), [r, g] = x(p, ["class", "src", "alt", "size", "variant", "color", "style", "imgProps", "children", "ref"]), [d, n] = C(!1), i = () => !!r.src && !d(), c = () => {
14
15
  const e = r.size;
15
16
  return {
16
17
  ...typeof r.style == "object" && r.style ? r.style : {},
17
- ..._(e) ? {} : {
18
+ ...w(e) ? {} : {
18
19
  width: `${e}px`,
19
20
  height: `${e}px`,
20
21
  "font-size": `${e / 2.5}px`
21
22
  },
22
- ...r.color && !o() ? {
23
+ ...r.color && !i() ? {
23
24
  "background-color": r.color
24
25
  } : {}
25
26
  };
26
27
  };
27
28
  return (() => {
28
- var e = P(), s = x(r.ref);
29
- return typeof s == "function" && $(s, e), g(e, f(u, {
29
+ var e = k(), o = P(r.ref);
30
+ return typeof o == "function" && y(o, e), f(e, v(g, {
30
31
  "data-testid": "avatar",
31
32
  get class() {
32
- return v("smwb-avatar", `smwb-avatar_${r.variant}`, _(r.size) ? `smwb-avatar_${r.size}` : void 0, r.class);
33
+ return _("smwb-avatar", `smwb-avatar_${r.variant}`, w(r.size) ? `smwb-avatar_${r.size}` : void 0, r.class);
33
34
  },
34
35
  get style() {
35
- return p();
36
+ return c();
36
37
  }
37
- }), !1, !0), i(e, d(y, {
38
+ }), !1, !0), a(e, u(h, {
38
39
  get when() {
39
- return o();
40
+ return i();
40
41
  },
41
42
  get fallback() {
42
43
  return (() => {
43
- var t = F();
44
- return i(t, () => r.children), z(() => k(t, "aria-label", r.alt)), t;
44
+ var t = I();
45
+ return a(t, () => r.children), A(() => S(t, "aria-label", r.alt)), t;
45
46
  })();
46
47
  },
47
48
  get children() {
48
- var t = E();
49
- return g(t, f(() => r.imgProps ?? {}, {
49
+ var t = F();
50
+ return f(t, v(() => r.imgProps ?? {}, {
50
51
  get class() {
51
- return v("smwb-avatar__img", r.imgProps?.class);
52
+ return _("smwb-avatar__img", r.imgProps?.class);
52
53
  },
53
54
  get src() {
54
55
  return r.src;
@@ -56,32 +57,39 @@ function I(a) {
56
57
  get alt() {
57
58
  return r.alt;
58
59
  },
59
- onError: (n) => {
60
- l(!0), A(r.imgProps?.onError, n);
60
+ onError: (s) => {
61
+ n(!0), E(r.imgProps?.onError, s);
61
62
  }
62
63
  }), !1, !1), t;
63
64
  }
64
65
  })), e;
65
66
  })();
66
67
  }
67
- function q(a) {
68
- const c = b({
69
- max: 5
70
- }, a), [r, u] = w(c, ["class", "max", "total", "onSurplusClick", "children", "ref"]), m = C(() => r.children), l = () => m.toArray(), o = () => r.total ?? l().length, p = () => Math.max(r.max, 1), e = () => l().slice(0, p()), s = () => o() - e().length;
68
+ function K(l) {
69
+ const p = z({
70
+ max: 5,
71
+ surplusAriaLabel: (s) => `${s} more`
72
+ }, l), [r, g] = x(p, ["class", "max", "total", "onSurplusClick", "surplusAriaLabel", "size", "children", "ref"]), d = L(() => r.children), n = () => d.toArray(), i = () => r.total ?? n().length, c = () => Math.max(r.max, 1), e = () => n().slice(0, c()), o = () => n().slice(c()), t = () => i() - e().length;
71
73
  return (() => {
72
- var t = P(), n = x(r.ref);
73
- return typeof n == "function" && $(n, t), g(t, f(u, {
74
+ var s = k(), $ = P(r.ref);
75
+ return typeof $ == "function" && y($, s), f(s, v(g, {
74
76
  "data-testid": "avatar-group",
75
77
  get class() {
76
- return v("smwb-avatar-group", r.class);
78
+ return _("smwb-avatar-group", r.class);
77
79
  }
78
- }), !1, !0), i(t, d(y, {
80
+ }), !1, !0), a(s, () => e(), null), a(s, u(h, {
79
81
  get when() {
80
- return s() > 0;
82
+ return t() > 0;
81
83
  },
82
84
  get children() {
83
- return d(I, {
85
+ return u(j, {
84
86
  class: "smwb-avatar-group__surplus",
87
+ get size() {
88
+ return r.size ?? "medium";
89
+ },
90
+ get alt() {
91
+ return r.surplusAriaLabel(t());
92
+ },
85
93
  get onClick() {
86
94
  return r.onSurplusClick;
87
95
  },
@@ -91,15 +99,23 @@ function q(a) {
91
99
  } : void 0;
92
100
  },
93
101
  get children() {
94
- return `+${s()}`;
102
+ return `+${t()}`;
95
103
  }
96
104
  });
97
105
  }
98
- }), null), i(t, () => e(), null), t;
106
+ }), null), a(s, u(h, {
107
+ get when() {
108
+ return o().length > 0;
109
+ },
110
+ get children() {
111
+ var b = M();
112
+ return a(b, () => o()), b;
113
+ }
114
+ }), null), s;
99
115
  })();
100
116
  }
101
117
  export {
102
- I as Avatar,
103
- q as AvatarGroup
118
+ j as Avatar,
119
+ K as AvatarGroup
104
120
  };
105
121
  //# sourceMappingURL=avatar.js.map