@smwb/ui-solid 0.11.2 → 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 (731) 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/descriptionList/descriptionList.entry.css +1 -0
  5. package/dist/assets/styles/less/components/emptyState/emptyState.entry.css +1 -0
  6. package/dist/assets/styles/less/components/kanban/kanban.entry.css +1 -0
  7. package/dist/assets/styles/less/components/meter/meter.entry.css +1 -0
  8. package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -0
  9. package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -1
  10. package/dist/assets/styles/less/components/sectionHeader/sectionHeader.entry.css +1 -0
  11. package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
  12. package/dist/assets/styles/less/components/stat/stat.entry.css +1 -0
  13. package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -1
  14. package/dist/assets/styles/less/components/table/table.entry.css +1 -1
  15. package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
  16. package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
  17. package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
  18. package/dist/assets/styles/less/components/timeline/timeline.entry.css +1 -0
  19. package/dist/assets/styles/less/components/tooltip/tooltip.entry.css +1 -1
  20. package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
  21. package/dist/assets/styles/less/tokens.entry.css +1 -0
  22. package/dist/components/base/icon/icon.js +4 -3
  23. package/dist/components/base/icon/icon.js.map +1 -1
  24. package/dist/components/base/ripple/ripple.js +4 -3
  25. package/dist/components/base/ripple/ripple.js.map +1 -1
  26. package/dist/components/dataDisplay/accordion/accordion.d.ts +18 -1
  27. package/dist/components/dataDisplay/accordion/accordion.js +91 -48
  28. package/dist/components/dataDisplay/accordion/accordion.js.map +1 -1
  29. package/dist/components/dataDisplay/assetGrid/assetGrid.js +14 -13
  30. package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -1
  31. package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
  32. package/dist/components/dataDisplay/avatar/avatar.js +56 -40
  33. package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
  34. package/dist/components/dataDisplay/badge/badge.js +24 -20
  35. package/dist/components/dataDisplay/badge/badge.js.map +1 -1
  36. package/dist/components/dataDisplay/card/card.js +24 -23
  37. package/dist/components/dataDisplay/card/card.js.map +1 -1
  38. package/dist/components/dataDisplay/carousel/carousel.js +4 -3
  39. package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
  40. package/dist/components/dataDisplay/chart/chart.d.ts +65 -0
  41. package/dist/components/dataDisplay/chart/chartTheme.d.ts +35 -0
  42. package/dist/components/dataDisplay/chart/index.d.ts +4 -0
  43. package/dist/components/dataDisplay/chat/chat.js +52 -51
  44. package/dist/components/dataDisplay/chat/chat.js.map +1 -1
  45. package/dist/components/dataDisplay/chat/chatHeader.js +29 -29
  46. package/dist/components/dataDisplay/chat/chatHeader.js.map +1 -1
  47. package/dist/components/dataDisplay/chat/chatMessageBubble.js +28 -28
  48. package/dist/components/dataDisplay/chat/chatMessageBubble.js.map +1 -1
  49. package/dist/components/dataDisplay/chat/chatShell.js +54 -51
  50. package/dist/components/dataDisplay/chat/chatShell.js.map +1 -1
  51. package/dist/components/dataDisplay/chip/chip.js +79 -70
  52. package/dist/components/dataDisplay/chip/chip.js.map +1 -1
  53. package/dist/components/dataDisplay/chipGroup/chipGroup.js +9 -8
  54. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
  55. package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +32 -0
  56. package/dist/components/dataDisplay/descriptionList/descriptionList.js +60 -0
  57. package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  58. package/dist/components/dataDisplay/descriptionList/index.d.ts +2 -0
  59. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +4 -3
  60. package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
  61. package/dist/components/dataDisplay/imagesList/imagesList.js +8 -7
  62. package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -1
  63. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +29 -24
  64. package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  65. package/dist/components/dataDisplay/kanban/index.d.ts +2 -0
  66. package/dist/components/dataDisplay/kanban/kanban.d.ts +42 -0
  67. package/dist/components/dataDisplay/kanban/kanban.js +133 -0
  68. package/dist/components/dataDisplay/kanban/kanban.js.map +1 -0
  69. package/dist/components/dataDisplay/lazyImage/lazyImage.js +30 -29
  70. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  71. package/dist/components/dataDisplay/list/list.js +17 -16
  72. package/dist/components/dataDisplay/list/list.js.map +1 -1
  73. package/dist/components/dataDisplay/meter/index.d.ts +2 -0
  74. package/dist/components/dataDisplay/meter/meter.d.ts +34 -0
  75. package/dist/components/dataDisplay/meter/meter.js +84 -0
  76. package/dist/components/dataDisplay/meter/meter.js.map +1 -0
  77. package/dist/components/dataDisplay/personChip/index.d.ts +2 -0
  78. package/dist/components/dataDisplay/personChip/personChip.d.ts +32 -0
  79. package/dist/components/dataDisplay/personChip/personChip.js +104 -0
  80. package/dist/components/dataDisplay/personChip/personChip.js.map +1 -0
  81. package/dist/components/dataDisplay/stat/index.d.ts +2 -0
  82. package/dist/components/dataDisplay/stat/stat.d.ts +33 -0
  83. package/dist/components/dataDisplay/stat/stat.js +101 -0
  84. package/dist/components/dataDisplay/stat/stat.js.map +1 -0
  85. package/dist/components/dataDisplay/table/table.d.ts +7 -0
  86. package/dist/components/dataDisplay/table/table.js +22 -21
  87. package/dist/components/dataDisplay/table/table.js.map +1 -1
  88. package/dist/components/dataDisplay/table/tableCell.d.ts +2 -0
  89. package/dist/components/dataDisplay/table/tableCell.js +9 -6
  90. package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
  91. package/dist/components/dataDisplay/table/tableHeadCell.d.ts +11 -1
  92. package/dist/components/dataDisplay/table/tableHeadCell.js +26 -23
  93. package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  94. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +4 -3
  95. package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -1
  96. package/dist/components/dataDisplay/thumbCard/thumbCard.js +54 -53
  97. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  98. package/dist/components/dataDisplay/timeline/index.d.ts +2 -0
  99. package/dist/components/dataDisplay/timeline/timeline.d.ts +38 -0
  100. package/dist/components/dataDisplay/timeline/timeline.js +89 -0
  101. package/dist/components/dataDisplay/timeline/timeline.js.map +1 -0
  102. package/dist/components/dataDisplay/treeView/treeView.js +4 -3
  103. package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
  104. package/dist/components/dataDisplay/typography/typography.d.ts +4 -0
  105. package/dist/components/dataDisplay/typography/typography.js +36 -22
  106. package/dist/components/dataDisplay/typography/typography.js.map +1 -1
  107. package/dist/components/feedBack/confirmDialog/confirmDialog.js +9 -8
  108. package/dist/components/feedBack/confirmDialog/confirmDialog.js.map +1 -1
  109. package/dist/components/feedBack/emptyState/emptyState.d.ts +25 -0
  110. package/dist/components/feedBack/emptyState/emptyState.js +86 -0
  111. package/dist/components/feedBack/emptyState/emptyState.js.map +1 -0
  112. package/dist/components/feedBack/emptyState/index.d.ts +2 -0
  113. package/dist/components/feedBack/message/message.js +4 -3
  114. package/dist/components/feedBack/message/message.js.map +1 -1
  115. package/dist/components/feedBack/modal/modal.js +4 -3
  116. package/dist/components/feedBack/modal/modal.js.map +1 -1
  117. package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +13 -0
  118. package/dist/components/feedBack/progressIndicator/progressIndicator.js +79 -46
  119. package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  120. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +18 -14
  121. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  122. package/dist/components/feedBack/skeleton/skeleton.js +4 -3
  123. package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
  124. package/dist/components/feedBack/snackbar/snackbar.js +18 -17
  125. package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
  126. package/dist/components/feedBack/tooltip/tooltip.js +41 -33
  127. package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
  128. package/dist/components/inputs/button/button.js +32 -30
  129. package/dist/components/inputs/button/button.js.map +1 -1
  130. package/dist/components/inputs/buttonGroups/buttonGroup.js +9 -8
  131. package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
  132. package/dist/components/inputs/checkbox/checkbox.js +4 -3
  133. package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
  134. package/dist/components/inputs/datePicker/dataPickerInput.js +23 -23
  135. package/dist/components/inputs/datePicker/dataPickerInput.js.map +1 -1
  136. package/dist/components/inputs/datePicker/datePicker.js +84 -83
  137. package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
  138. package/dist/components/inputs/fileDrop/fileDrop.js +4 -3
  139. package/dist/components/inputs/fileDrop/fileDrop.js.map +1 -1
  140. package/dist/components/inputs/fileInput/fileInput.js +11 -10
  141. package/dist/components/inputs/fileInput/fileInput.js.map +1 -1
  142. package/dist/components/inputs/floatingButton/floatingButton.js +9 -8
  143. package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
  144. package/dist/components/inputs/radioButton/radioButton.js +9 -8
  145. package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
  146. package/dist/components/inputs/rating/rating.js +41 -40
  147. package/dist/components/inputs/rating/rating.js.map +1 -1
  148. package/dist/components/inputs/selectField/selectField.d.ts +2 -0
  149. package/dist/components/inputs/selectField/selectField.js +55 -51
  150. package/dist/components/inputs/selectField/selectField.js.map +1 -1
  151. package/dist/components/inputs/slider/slider.js +4 -3
  152. package/dist/components/inputs/slider/slider.js.map +1 -1
  153. package/dist/components/inputs/textField/textField.js +38 -37
  154. package/dist/components/inputs/textField/textField.js.map +1 -1
  155. package/dist/components/inputs/textField/textFieldAdornment.js +9 -9
  156. package/dist/components/inputs/textField/textFieldAdornment.js.map +1 -1
  157. package/dist/components/inputs/textField/textFieldWrapper.js +41 -41
  158. package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
  159. package/dist/components/inputs/timePicker/timePicker.js +12 -11
  160. package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
  161. package/dist/components/inputs/toggle/toggle.js +4 -3
  162. package/dist/components/inputs/toggle/toggle.js.map +1 -1
  163. package/dist/components/inputs/valueSlider/valueSlider.js +26 -25
  164. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
  165. package/dist/components/layout/appLayout/appLayout.js +39 -38
  166. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  167. package/dist/components/layout/divider/divider.js +26 -22
  168. package/dist/components/layout/divider/divider.js.map +1 -1
  169. package/dist/components/layout/floatingWindow/floatingWindow.js +74 -73
  170. package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
  171. package/dist/components/layout/grid/grid.js +10 -9
  172. package/dist/components/layout/grid/grid.js.map +1 -1
  173. package/dist/components/layout/page/page.js +4 -3
  174. package/dist/components/layout/page/page.js.map +1 -1
  175. package/dist/components/layout/pageHeader/pageHeader.js +36 -35
  176. package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
  177. package/dist/components/layout/screenDivider/screenDivider.js +9 -8
  178. package/dist/components/layout/screenDivider/screenDivider.js.map +1 -1
  179. package/dist/components/layout/sectionHeader/index.d.ts +2 -0
  180. package/dist/components/layout/sectionHeader/sectionHeader.d.ts +30 -0
  181. package/dist/components/layout/sectionHeader/sectionHeader.js +100 -0
  182. package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  183. package/dist/components/layout/sheet/sheet.js +4 -3
  184. package/dist/components/layout/sheet/sheet.js.map +1 -1
  185. package/dist/components/layout/stack/stack.js +31 -27
  186. package/dist/components/layout/stack/stack.js.map +1 -1
  187. package/dist/components/navigation/appBar/appBar.js +24 -23
  188. package/dist/components/navigation/appBar/appBar.js.map +1 -1
  189. package/dist/components/navigation/bottomBar/bottomBar.js +57 -56
  190. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  191. package/dist/components/navigation/breadcrumbs/breadcrumbs.js +4 -3
  192. package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
  193. package/dist/components/navigation/menu/menu.js +10 -9
  194. package/dist/components/navigation/menu/menu.js.map +1 -1
  195. package/dist/components/navigation/overflowMenu/overflowMenu.js +4 -3
  196. package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -1
  197. package/dist/components/navigation/pagination/pagination.js +14 -13
  198. package/dist/components/navigation/pagination/pagination.js.map +1 -1
  199. package/dist/components/navigation/sidebar/sidebar.js +4 -3
  200. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  201. package/dist/components/navigation/stepper/stepper.d.ts +10 -2
  202. package/dist/components/navigation/stepper/stepper.js +63 -47
  203. package/dist/components/navigation/stepper/stepper.js.map +1 -1
  204. package/dist/components/navigation/tabs/tab/tab.d.ts +2 -0
  205. package/dist/components/navigation/tabs/tab/tab.js +45 -44
  206. package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
  207. package/dist/components/navigation/tabs/tabs.d.ts +12 -0
  208. package/dist/components/navigation/tabs/tabs.js +142 -86
  209. package/dist/components/navigation/tabs/tabs.js.map +1 -1
  210. package/dist/connects/rt/table/table.d.ts +2 -0
  211. package/dist/headless/components/dataDisplay/accordion/accordion.js +89 -47
  212. package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -1
  213. package/dist/headless/components/dataDisplay/avatar/avatar.js +54 -39
  214. package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
  215. package/dist/headless/components/dataDisplay/badge/badge.js +22 -19
  216. package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
  217. package/dist/headless/components/dataDisplay/card/card.js +22 -22
  218. package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
  219. package/dist/headless/components/dataDisplay/chat/chat.js +50 -50
  220. package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
  221. package/dist/headless/components/dataDisplay/chat/chatHeader.js +29 -29
  222. package/dist/headless/components/dataDisplay/chat/chatHeader.js.map +1 -1
  223. package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js +28 -28
  224. package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js.map +1 -1
  225. package/dist/headless/components/dataDisplay/chat/chatShell.js +54 -51
  226. package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -1
  227. package/dist/headless/components/dataDisplay/chip/chip.js +77 -69
  228. package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
  229. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +58 -0
  230. package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
  231. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +28 -24
  232. package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
  233. package/dist/headless/components/dataDisplay/kanban/kanban.js +131 -0
  234. package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -0
  235. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +28 -28
  236. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
  237. package/dist/headless/components/dataDisplay/list/list.js +15 -15
  238. package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
  239. package/dist/headless/components/dataDisplay/meter/meter.js +82 -0
  240. package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -0
  241. package/dist/headless/components/dataDisplay/personChip/personChip.js +102 -0
  242. package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -0
  243. package/dist/headless/components/dataDisplay/stat/stat.js +99 -0
  244. package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -0
  245. package/dist/headless/components/dataDisplay/table/table.js +20 -20
  246. package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
  247. package/dist/headless/components/dataDisplay/table/tableCell.js +9 -6
  248. package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
  249. package/dist/headless/components/dataDisplay/table/tableHeadCell.js +26 -23
  250. package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
  251. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +53 -53
  252. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
  253. package/dist/headless/components/dataDisplay/timeline/timeline.js +87 -0
  254. package/dist/headless/components/dataDisplay/timeline/timeline.js.map +1 -0
  255. package/dist/headless/components/dataDisplay/typography/typography.js +34 -21
  256. package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
  257. package/dist/headless/components/feedBack/emptyState/emptyState.js +84 -0
  258. package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -0
  259. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +77 -45
  260. package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
  261. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +16 -13
  262. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
  263. package/dist/headless/components/feedBack/tooltip/tooltip.js +33 -26
  264. package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
  265. package/dist/headless/components/inputs/button/button.js +33 -32
  266. package/dist/headless/components/inputs/button/button.js.map +1 -1
  267. package/dist/headless/components/inputs/datePicker/dataPickerInput.js +23 -23
  268. package/dist/headless/components/inputs/datePicker/dataPickerInput.js.map +1 -1
  269. package/dist/headless/components/inputs/datePicker/datePicker.js +79 -79
  270. package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
  271. package/dist/headless/components/inputs/rating/rating.js +39 -39
  272. package/dist/headless/components/inputs/rating/rating.js.map +1 -1
  273. package/dist/headless/components/inputs/selectField/selectField.js +61 -58
  274. package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
  275. package/dist/headless/components/inputs/textField/textField.js +36 -36
  276. package/dist/headless/components/inputs/textField/textField.js.map +1 -1
  277. package/dist/headless/components/inputs/textField/textFieldAdornment.js +9 -9
  278. package/dist/headless/components/inputs/textField/textFieldAdornment.js.map +1 -1
  279. package/dist/headless/components/inputs/textField/textFieldWrapper.js +41 -41
  280. package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
  281. package/dist/headless/components/inputs/valueSlider/valueSlider.js +24 -24
  282. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
  283. package/dist/headless/components/layout/appLayout/appLayout.js +39 -39
  284. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  285. package/dist/headless/components/layout/divider/divider.js +24 -21
  286. package/dist/headless/components/layout/divider/divider.js.map +1 -1
  287. package/dist/headless/components/layout/pageHeader/pageHeader.js +34 -34
  288. package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
  289. package/dist/headless/components/layout/sectionHeader/sectionHeader.js +98 -0
  290. package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -0
  291. package/dist/headless/components/layout/stack/stack.js +29 -26
  292. package/dist/headless/components/layout/stack/stack.js.map +1 -1
  293. package/dist/headless/components/navigation/appBar/appBar.js +22 -22
  294. package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
  295. package/dist/headless/components/navigation/bottomBar/bottomBar.js +51 -51
  296. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  297. package/dist/headless/components/navigation/stepper/stepper.js +61 -46
  298. package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
  299. package/dist/headless/components/navigation/tabs/tab/tab.js +44 -44
  300. package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
  301. package/dist/headless/components/navigation/tabs/tabs.js +140 -85
  302. package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
  303. package/dist/headless/icons/catalog.js +78 -1
  304. package/dist/headless/icons/catalog.js.map +1 -1
  305. package/dist/headless/icons/index.js +596 -574
  306. package/dist/headless/icons/index.js.map +1 -1
  307. package/dist/headless/icons/svg/accountTree.js +9 -0
  308. package/dist/headless/icons/svg/accountTree.js.map +1 -0
  309. package/dist/headless/icons/svg/callSplit.js +9 -0
  310. package/dist/headless/icons/svg/callSplit.js.map +1 -0
  311. package/dist/headless/icons/svg/deviceHub.js +8 -0
  312. package/dist/headless/icons/svg/deviceHub.js.map +1 -0
  313. package/dist/headless/icons/svg/editNote.js +9 -0
  314. package/dist/headless/icons/svg/editNote.js.map +1 -0
  315. package/dist/headless/icons/svg/filterList.js +9 -0
  316. package/dist/headless/icons/svg/filterList.js.map +1 -0
  317. package/dist/headless/icons/svg/forkRight.js +8 -0
  318. package/dist/headless/icons/svg/forkRight.js.map +1 -0
  319. package/dist/headless/icons/svg/groups.js +9 -0
  320. package/dist/headless/icons/svg/groups.js.map +1 -0
  321. package/dist/headless/icons/svg/hub.js +8 -0
  322. package/dist/headless/icons/svg/hub.js.map +1 -0
  323. package/dist/headless/icons/svg/index.js +598 -576
  324. package/dist/headless/icons/svg/index.js.map +1 -1
  325. package/dist/headless/icons/svg/lan.js +9 -0
  326. package/dist/headless/icons/svg/lan.js.map +1 -0
  327. package/dist/headless/icons/svg/personOff.js +9 -0
  328. package/dist/headless/icons/svg/personOff.js.map +1 -0
  329. package/dist/headless/icons/svg/schema.js +9 -0
  330. package/dist/headless/icons/svg/schema.js.map +1 -0
  331. package/dist/headless/index.js +281 -255
  332. package/dist/headless/index.js.map +1 -1
  333. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +60 -18
  334. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
  335. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +28 -3
  336. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  337. package/dist/headless/source/components/dataDisplay/badge/badge.jsx +8 -4
  338. package/dist/headless/source/components/dataDisplay/badge/badge.jsx.map +1 -1
  339. package/dist/headless/source/components/dataDisplay/card/card.jsx +4 -3
  340. package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
  341. package/dist/headless/source/components/dataDisplay/chart/chart.jsx +168 -0
  342. package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -0
  343. package/dist/headless/source/components/dataDisplay/chart/chartTheme.js +78 -0
  344. package/dist/headless/source/components/dataDisplay/chart/chartTheme.js.map +7 -0
  345. package/dist/headless/source/components/dataDisplay/chart/index.js +9 -0
  346. package/dist/headless/source/components/dataDisplay/chart/index.js.map +7 -0
  347. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +4 -3
  348. package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  349. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +7 -5
  350. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -1
  351. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +4 -3
  352. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -1
  353. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +30 -26
  354. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx.map +1 -1
  355. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +11 -6
  356. package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  357. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +42 -0
  358. package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -0
  359. package/dist/headless/source/components/dataDisplay/descriptionList/index.js +7 -0
  360. package/dist/headless/source/components/dataDisplay/descriptionList/index.js.map +7 -0
  361. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +10 -4
  362. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
  363. package/dist/headless/source/components/dataDisplay/kanban/index.js +8 -0
  364. package/dist/headless/source/components/dataDisplay/kanban/index.js.map +7 -0
  365. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +99 -0
  366. package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -0
  367. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +4 -3
  368. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  369. package/dist/headless/source/components/dataDisplay/list/list.jsx +4 -3
  370. package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
  371. package/dist/headless/source/components/dataDisplay/meter/index.js +8 -0
  372. package/dist/headless/source/components/dataDisplay/meter/index.js.map +7 -0
  373. package/dist/headless/source/components/dataDisplay/meter/meter.jsx +80 -0
  374. package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -0
  375. package/dist/headless/source/components/dataDisplay/personChip/index.js +8 -0
  376. package/dist/headless/source/components/dataDisplay/personChip/index.js.map +7 -0
  377. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +71 -0
  378. package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -0
  379. package/dist/headless/source/components/dataDisplay/stat/index.js +7 -0
  380. package/dist/headless/source/components/dataDisplay/stat/index.js.map +7 -0
  381. package/dist/headless/source/components/dataDisplay/stat/stat.jsx +72 -0
  382. package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -0
  383. package/dist/headless/source/components/dataDisplay/table/table.jsx +11 -4
  384. package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
  385. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +8 -2
  386. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  387. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +37 -3
  388. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  389. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +10 -7
  390. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  391. package/dist/headless/source/components/dataDisplay/timeline/index.js +8 -0
  392. package/dist/headless/source/components/dataDisplay/timeline/index.js.map +7 -0
  393. package/dist/headless/source/components/dataDisplay/timeline/timeline.jsx +64 -0
  394. package/dist/headless/source/components/dataDisplay/timeline/timeline.jsx.map +1 -0
  395. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +17 -3
  396. package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  397. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +47 -0
  398. package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -0
  399. package/dist/headless/source/components/feedBack/emptyState/index.js +6 -0
  400. package/dist/headless/source/components/feedBack/emptyState/index.js.map +7 -0
  401. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +52 -10
  402. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
  403. package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +3 -2
  404. package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -1
  405. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +4 -2
  406. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  407. package/dist/headless/source/components/inputs/button/button.jsx +7 -3
  408. package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
  409. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +4 -3
  410. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -1
  411. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +4 -6
  412. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  413. package/dist/headless/source/components/inputs/rating/rating.jsx +4 -3
  414. package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
  415. package/dist/headless/source/components/inputs/selectField/selectField.jsx +8 -2
  416. package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
  417. package/dist/headless/source/components/inputs/textField/textField.jsx +8 -6
  418. package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
  419. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +4 -3
  420. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -1
  421. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +9 -6
  422. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  423. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +4 -3
  424. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  425. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +3 -2
  426. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  427. package/dist/headless/source/components/layout/divider/divider.jsx +10 -6
  428. package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
  429. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +14 -10
  430. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  431. package/dist/headless/source/components/layout/sectionHeader/index.js +6 -0
  432. package/dist/headless/source/components/layout/sectionHeader/index.js.map +7 -0
  433. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +80 -0
  434. package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -0
  435. package/dist/headless/source/components/layout/stack/stack.jsx +3 -2
  436. package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
  437. package/dist/headless/source/components/navigation/appBar/appBar.jsx +7 -5
  438. package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
  439. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +4 -3
  440. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  441. package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -7
  442. package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
  443. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +7 -5
  444. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  445. package/dist/headless/source/components/navigation/tabs/tabs.jsx +84 -4
  446. package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
  447. package/dist/headless/source/connects/rt/table/table.jsx +9 -1
  448. package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
  449. package/dist/headless/source/icons/catalog.js +78 -1
  450. package/dist/headless/source/icons/catalog.js.map +2 -2
  451. package/dist/headless/source/icons/svg/accountTree.js +11 -0
  452. package/dist/headless/source/icons/svg/accountTree.js.map +7 -0
  453. package/dist/headless/source/icons/svg/callSplit.js +11 -0
  454. package/dist/headless/source/icons/svg/callSplit.js.map +7 -0
  455. package/dist/headless/source/icons/svg/deviceHub.js +10 -0
  456. package/dist/headless/source/icons/svg/deviceHub.js.map +7 -0
  457. package/dist/headless/source/icons/svg/editNote.js +11 -0
  458. package/dist/headless/source/icons/svg/editNote.js.map +7 -0
  459. package/dist/headless/source/icons/svg/filterList.js +11 -0
  460. package/dist/headless/source/icons/svg/filterList.js.map +7 -0
  461. package/dist/headless/source/icons/svg/forkRight.js +10 -0
  462. package/dist/headless/source/icons/svg/forkRight.js.map +7 -0
  463. package/dist/headless/source/icons/svg/groups.js +11 -0
  464. package/dist/headless/source/icons/svg/groups.js.map +7 -0
  465. package/dist/headless/source/icons/svg/hub.js +10 -0
  466. package/dist/headless/source/icons/svg/hub.js.map +7 -0
  467. package/dist/headless/source/icons/svg/index.js +22 -0
  468. package/dist/headless/source/icons/svg/index.js.map +2 -2
  469. package/dist/headless/source/icons/svg/lan.js +11 -0
  470. package/dist/headless/source/icons/svg/lan.js.map +7 -0
  471. package/dist/headless/source/icons/svg/personOff.js +11 -0
  472. package/dist/headless/source/icons/svg/personOff.js.map +7 -0
  473. package/dist/headless/source/icons/svg/schema.js +11 -0
  474. package/dist/headless/source/icons/svg/schema.js.map +7 -0
  475. package/dist/headless/source/index.js +33 -1
  476. package/dist/headless/source/index.js.map +2 -2
  477. package/dist/icons/catalog.d.ts +1 -1
  478. package/dist/icons/catalog.js +78 -1
  479. package/dist/icons/catalog.js.map +1 -1
  480. package/dist/icons/index.js +596 -574
  481. package/dist/icons/index.js.map +1 -1
  482. package/dist/icons/svg/accountTree.d.ts +4 -0
  483. package/dist/icons/svg/accountTree.js +9 -0
  484. package/dist/icons/svg/accountTree.js.map +1 -0
  485. package/dist/icons/svg/callSplit.d.ts +4 -0
  486. package/dist/icons/svg/callSplit.js +9 -0
  487. package/dist/icons/svg/callSplit.js.map +1 -0
  488. package/dist/icons/svg/deviceHub.d.ts +4 -0
  489. package/dist/icons/svg/deviceHub.js +8 -0
  490. package/dist/icons/svg/deviceHub.js.map +1 -0
  491. package/dist/icons/svg/editNote.d.ts +4 -0
  492. package/dist/icons/svg/editNote.js +9 -0
  493. package/dist/icons/svg/editNote.js.map +1 -0
  494. package/dist/icons/svg/filterList.d.ts +4 -0
  495. package/dist/icons/svg/filterList.js +9 -0
  496. package/dist/icons/svg/filterList.js.map +1 -0
  497. package/dist/icons/svg/forkRight.d.ts +4 -0
  498. package/dist/icons/svg/forkRight.js +8 -0
  499. package/dist/icons/svg/forkRight.js.map +1 -0
  500. package/dist/icons/svg/groups.d.ts +4 -0
  501. package/dist/icons/svg/groups.js +9 -0
  502. package/dist/icons/svg/groups.js.map +1 -0
  503. package/dist/icons/svg/hub.d.ts +4 -0
  504. package/dist/icons/svg/hub.js +8 -0
  505. package/dist/icons/svg/hub.js.map +1 -0
  506. package/dist/icons/svg/index.d.ts +11 -0
  507. package/dist/icons/svg/index.js +598 -576
  508. package/dist/icons/svg/index.js.map +1 -1
  509. package/dist/icons/svg/lan.d.ts +4 -0
  510. package/dist/icons/svg/lan.js +9 -0
  511. package/dist/icons/svg/lan.js.map +1 -0
  512. package/dist/icons/svg/personOff.d.ts +4 -0
  513. package/dist/icons/svg/personOff.js +9 -0
  514. package/dist/icons/svg/personOff.js.map +1 -0
  515. package/dist/icons/svg/schema.d.ts +4 -0
  516. package/dist/icons/svg/schema.js +9 -0
  517. package/dist/icons/svg/schema.js.map +1 -0
  518. package/dist/index.d.ts +21 -5
  519. package/dist/index.js +281 -255
  520. package/dist/index.js.map +1 -1
  521. package/dist/source/components/base/icon/icon.jsx +1 -0
  522. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  523. package/dist/source/components/base/ripple/ripple.jsx +1 -0
  524. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  525. package/dist/source/components/dataDisplay/accordion/accordion.jsx +61 -18
  526. package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
  527. package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx +1 -0
  528. package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx.map +1 -1
  529. package/dist/source/components/dataDisplay/avatar/avatar.jsx +29 -3
  530. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  531. package/dist/source/components/dataDisplay/badge/badge.jsx +9 -4
  532. package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -1
  533. package/dist/source/components/dataDisplay/card/card.jsx +5 -3
  534. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  535. package/dist/source/components/dataDisplay/carousel/carousel.jsx +1 -0
  536. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  537. package/dist/source/components/dataDisplay/chart/chart.jsx +170 -0
  538. package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -0
  539. package/dist/source/components/dataDisplay/chart/chartTheme.js +78 -0
  540. package/dist/source/components/dataDisplay/chart/chartTheme.js.map +7 -0
  541. package/dist/source/components/dataDisplay/chart/index.js +9 -0
  542. package/dist/source/components/dataDisplay/chart/index.js.map +7 -0
  543. package/dist/source/components/dataDisplay/chat/chat.jsx +5 -3
  544. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  545. package/dist/source/components/dataDisplay/chat/chatHeader.jsx +7 -5
  546. package/dist/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -1
  547. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +4 -3
  548. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -1
  549. package/dist/source/components/dataDisplay/chat/chatShell.jsx +30 -26
  550. package/dist/source/components/dataDisplay/chat/chatShell.jsx.map +1 -1
  551. package/dist/source/components/dataDisplay/chip/chip.jsx +12 -6
  552. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  553. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +1 -0
  554. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
  555. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +44 -0
  556. package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -0
  557. package/dist/source/components/dataDisplay/descriptionList/index.js +7 -0
  558. package/dist/source/components/dataDisplay/descriptionList/index.js.map +7 -0
  559. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +1 -0
  560. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  561. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +1 -0
  562. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -1
  563. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +11 -4
  564. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
  565. package/dist/source/components/dataDisplay/kanban/index.js +8 -0
  566. package/dist/source/components/dataDisplay/kanban/index.js.map +7 -0
  567. package/dist/source/components/dataDisplay/kanban/kanban.jsx +101 -0
  568. package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -0
  569. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +5 -3
  570. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
  571. package/dist/source/components/dataDisplay/list/list.jsx +5 -3
  572. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  573. package/dist/source/components/dataDisplay/meter/index.js +8 -0
  574. package/dist/source/components/dataDisplay/meter/index.js.map +7 -0
  575. package/dist/source/components/dataDisplay/meter/meter.jsx +82 -0
  576. package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -0
  577. package/dist/source/components/dataDisplay/personChip/index.js +8 -0
  578. package/dist/source/components/dataDisplay/personChip/index.js.map +7 -0
  579. package/dist/source/components/dataDisplay/personChip/personChip.jsx +73 -0
  580. package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -0
  581. package/dist/source/components/dataDisplay/stat/index.js +7 -0
  582. package/dist/source/components/dataDisplay/stat/index.js.map +7 -0
  583. package/dist/source/components/dataDisplay/stat/stat.jsx +74 -0
  584. package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -0
  585. package/dist/source/components/dataDisplay/table/table.jsx +12 -4
  586. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  587. package/dist/source/components/dataDisplay/table/tableCell.jsx +8 -2
  588. package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
  589. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +37 -3
  590. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
  591. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +1 -0
  592. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -1
  593. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +11 -7
  594. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
  595. package/dist/source/components/dataDisplay/timeline/index.js +8 -0
  596. package/dist/source/components/dataDisplay/timeline/index.js.map +7 -0
  597. package/dist/source/components/dataDisplay/timeline/timeline.jsx +66 -0
  598. package/dist/source/components/dataDisplay/timeline/timeline.jsx.map +1 -0
  599. package/dist/source/components/dataDisplay/treeView/treeView.jsx +1 -0
  600. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  601. package/dist/source/components/dataDisplay/typography/typography.jsx +18 -3
  602. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  603. package/dist/source/components/feedBack/confirmDialog/confirmDialog.jsx +1 -0
  604. package/dist/source/components/feedBack/confirmDialog/confirmDialog.jsx.map +1 -1
  605. package/dist/source/components/feedBack/emptyState/emptyState.jsx +49 -0
  606. package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -0
  607. package/dist/source/components/feedBack/emptyState/index.js +6 -0
  608. package/dist/source/components/feedBack/emptyState/index.js.map +7 -0
  609. package/dist/source/components/feedBack/message/message.jsx +1 -0
  610. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  611. package/dist/source/components/feedBack/modal/modal.jsx +1 -0
  612. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  613. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +53 -10
  614. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
  615. package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +4 -2
  616. package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -1
  617. package/dist/source/components/feedBack/skeleton/skeleton.jsx +1 -0
  618. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  619. package/dist/source/components/feedBack/snackbar/snackbar.jsx +1 -0
  620. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  621. package/dist/source/components/feedBack/tooltip/tooltip.jsx +5 -2
  622. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  623. package/dist/source/components/inputs/button/button.jsx +8 -3
  624. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  625. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +1 -0
  626. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  627. package/dist/source/components/inputs/checkbox/checkbox.jsx +1 -0
  628. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  629. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +4 -3
  630. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -1
  631. package/dist/source/components/inputs/datePicker/datePicker.jsx +5 -6
  632. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  633. package/dist/source/components/inputs/fileDrop/fileDrop.jsx +1 -0
  634. package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -1
  635. package/dist/source/components/inputs/fileInput/fileInput.jsx +1 -0
  636. package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -1
  637. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +1 -0
  638. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  639. package/dist/source/components/inputs/radioButton/radioButton.jsx +1 -0
  640. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  641. package/dist/source/components/inputs/rating/rating.jsx +5 -3
  642. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  643. package/dist/source/components/inputs/selectField/selectField.jsx +9 -2
  644. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  645. package/dist/source/components/inputs/slider/slider.jsx +1 -0
  646. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  647. package/dist/source/components/inputs/textField/textField.jsx +9 -6
  648. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  649. package/dist/source/components/inputs/textField/textFieldAdornment.jsx +4 -3
  650. package/dist/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -1
  651. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +9 -6
  652. package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
  653. package/dist/source/components/inputs/timePicker/timePicker.jsx +1 -0
  654. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  655. package/dist/source/components/inputs/toggle/toggle.jsx +1 -0
  656. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  657. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +5 -3
  658. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
  659. package/dist/source/components/layout/appLayout/appLayout.jsx +4 -2
  660. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  661. package/dist/source/components/layout/divider/divider.jsx +11 -6
  662. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  663. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +1 -0
  664. package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
  665. package/dist/source/components/layout/grid/grid.jsx +1 -0
  666. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  667. package/dist/source/components/layout/page/page.jsx +1 -0
  668. package/dist/source/components/layout/page/page.jsx.map +1 -1
  669. package/dist/source/components/layout/pageHeader/pageHeader.jsx +15 -10
  670. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  671. package/dist/source/components/layout/screenDivider/screenDivider.jsx +1 -0
  672. package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -1
  673. package/dist/source/components/layout/sectionHeader/index.js +6 -0
  674. package/dist/source/components/layout/sectionHeader/index.js.map +7 -0
  675. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +82 -0
  676. package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -0
  677. package/dist/source/components/layout/sheet/sheet.jsx +1 -0
  678. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  679. package/dist/source/components/layout/stack/stack.jsx +4 -2
  680. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  681. package/dist/source/components/navigation/appBar/appBar.jsx +8 -5
  682. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  683. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +5 -3
  684. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  685. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +1 -0
  686. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  687. package/dist/source/components/navigation/menu/menu.jsx +1 -0
  688. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  689. package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx +1 -0
  690. package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx.map +1 -1
  691. package/dist/source/components/navigation/pagination/pagination.jsx +1 -0
  692. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  693. package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -0
  694. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  695. package/dist/source/components/navigation/stepper/stepper.jsx +15 -7
  696. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  697. package/dist/source/components/navigation/tabs/tab/tab.jsx +8 -5
  698. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  699. package/dist/source/components/navigation/tabs/tabs.jsx +85 -4
  700. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  701. package/dist/source/connects/rt/table/table.jsx +9 -1
  702. package/dist/source/connects/rt/table/table.jsx.map +1 -1
  703. package/dist/source/icons/catalog.js +78 -1
  704. package/dist/source/icons/catalog.js.map +2 -2
  705. package/dist/source/icons/svg/accountTree.js +11 -0
  706. package/dist/source/icons/svg/accountTree.js.map +7 -0
  707. package/dist/source/icons/svg/callSplit.js +11 -0
  708. package/dist/source/icons/svg/callSplit.js.map +7 -0
  709. package/dist/source/icons/svg/deviceHub.js +10 -0
  710. package/dist/source/icons/svg/deviceHub.js.map +7 -0
  711. package/dist/source/icons/svg/editNote.js +11 -0
  712. package/dist/source/icons/svg/editNote.js.map +7 -0
  713. package/dist/source/icons/svg/filterList.js +11 -0
  714. package/dist/source/icons/svg/filterList.js.map +7 -0
  715. package/dist/source/icons/svg/forkRight.js +10 -0
  716. package/dist/source/icons/svg/forkRight.js.map +7 -0
  717. package/dist/source/icons/svg/groups.js +11 -0
  718. package/dist/source/icons/svg/groups.js.map +7 -0
  719. package/dist/source/icons/svg/hub.js +10 -0
  720. package/dist/source/icons/svg/hub.js.map +7 -0
  721. package/dist/source/icons/svg/index.js +22 -0
  722. package/dist/source/icons/svg/index.js.map +2 -2
  723. package/dist/source/icons/svg/lan.js +11 -0
  724. package/dist/source/icons/svg/lan.js.map +7 -0
  725. package/dist/source/icons/svg/personOff.js +11 -0
  726. package/dist/source/icons/svg/personOff.js.map +7 -0
  727. package/dist/source/icons/svg/schema.js +11 -0
  728. package/dist/source/icons/svg/schema.js.map +7 -0
  729. package/dist/source/index.js +33 -1
  730. package/dist/source/index.js.map +2 -2
  731. package/package.json +79 -8
@@ -1,13 +1,14 @@
1
- import { createComponent as o, mergeProps as m } from "solid-js/web";
2
- import '../../../assets/styles/less/components/menu/menu.entry.css';/* empty css */
3
- import { mergeProps as f, splitProps as p } from "solid-js";
1
+ import { createComponent as o, mergeProps as a } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/menu/menu.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { mergeProps as p, splitProps as f } from "solid-js";
4
5
  import { MenuContext as l } from "./menuContext.js";
5
6
  import { MenuComponent as c } from "./menuComponent.js";
6
- function P(i) {
7
- const s = f({
7
+ function h(i) {
8
+ const s = p({
8
9
  dense: !1,
9
10
  variant: "floating"
10
- }, i), [e, r] = p(s, ["dense", "variant", "children", "ref"]), a = {
11
+ }, i), [e, r] = f(s, ["dense", "variant", "children", "ref"]), m = {
11
12
  get dense() {
12
13
  return e.dense;
13
14
  },
@@ -17,9 +18,9 @@ function P(i) {
17
18
  onClose: () => r.onClose?.()
18
19
  };
19
20
  return o(l.Provider, {
20
- value: a,
21
+ value: m,
21
22
  get children() {
22
- return o(c, m({
23
+ return o(c, a({
23
24
  ref(n) {
24
25
  var t = e.ref;
25
26
  typeof t == "function" ? t(n) : e.ref = n;
@@ -33,6 +34,6 @@ function P(i) {
33
34
  });
34
35
  }
35
36
  export {
36
- P as Menu
37
+ h as Menu
37
38
  };
38
39
  //# sourceMappingURL=menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sources":["../../../../src/components/navigation/menu/menu.tsx"],"sourcesContent":["import { type JSX, type ParentProps, mergeProps, splitProps } from \"solid-js\";\nimport { MenuContext } from \"./menuContext\";\nimport { MenuComponent } from \"./menuComponent\";\nimport type { MenuFloatingProps } from \"./menuFloating\";\n\nexport type MenuProps = MenuFloatingProps & {\n variant?: \"static\" | \"floating\";\n dense?: boolean;\n};\n\nexport function Menu(props: ParentProps<MenuProps>): JSX.Element {\n const merged = mergeProps({ dense: false, variant: \"floating\" as const }, props);\n const [local, rest] = splitProps(merged, [\"dense\", \"variant\", \"children\", \"ref\"]);\n\n const value = {\n get dense() {\n return local.dense;\n },\n get variant() {\n return local.variant;\n },\n onClose: () => rest.onClose?.(),\n };\n\n return (\n <MenuContext.Provider value={value}>\n <MenuComponent ref={local.ref} {...rest}>\n {local.children}\n </MenuComponent>\n </MenuContext.Provider>\n );\n}\n\nexport default Menu;\n"],"names":["Menu","props","merged","mergeProps","dense","variant","local","rest","splitProps","value","onClose","_$createComponent","MenuContext","Provider","children","MenuComponent","_$mergeProps","ref","r$","_ref$"],"mappings":";;;;;AAWO,SAASA,EAAKC,GAA4C;AAC/D,QAAMC,IAASC,EAAW;AAAA,IAAEC,OAAO;AAAA,IAAOC,SAAS;AAAA,EAAA,GAAuBJ,CAAK,GACzE,CAACK,GAAOC,CAAI,IAAIC,EAAWN,GAAQ,CAAC,SAAS,WAAW,YAAY,KAAK,CAAC,GAE1EO,IAAQ;AAAA,IACZ,IAAIL,QAAQ;AACV,aAAOE,EAAMF;AAAAA,IACf;AAAA,IACA,IAAIC,UAAU;AACZ,aAAOC,EAAMD;AAAAA,IACf;AAAA,IACAK,SAASA,MAAMH,EAAKG,UAAAA;AAAAA,EAAU;AAGhC,SAAAC,EACGC,EAAYC,UAAQ;AAAA,IAACJ,OAAAA;AAAAA,IAAY,IAAAK,WAAA;AAAA,aAAAH,EAC/BI,GAAaC,EAAA;AAAA,QAAAC,IAAAC,GAAA;AAAA,cAAAC,IAAMb,EAAMW;AAAG,iBAAAE,KAAA,aAAAA,EAAAD,CAAA,IAATZ,EAAMW,MAAGC;AAAAA,QAAA;AAAA,MAAA,GAAMX,GAAI;AAAA,QAAA,IAAAO,WAAA;AAAA,iBACpCR,EAAMQ;AAAAA,QAAQ;AAAA,MAAA,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAIvB;"}
1
+ {"version":3,"file":"menu.js","sources":["../../../../src/components/navigation/menu/menu.tsx"],"sourcesContent":["import { type JSX, type ParentProps, mergeProps, splitProps } from \"solid-js\";\nimport { MenuContext } from \"./menuContext\";\nimport { MenuComponent } from \"./menuComponent\";\nimport type { MenuFloatingProps } from \"./menuFloating\";\n\nexport type MenuProps = MenuFloatingProps & {\n variant?: \"static\" | \"floating\";\n dense?: boolean;\n};\n\nexport function Menu(props: ParentProps<MenuProps>): JSX.Element {\n const merged = mergeProps({ dense: false, variant: \"floating\" as const }, props);\n const [local, rest] = splitProps(merged, [\"dense\", \"variant\", \"children\", \"ref\"]);\n\n const value = {\n get dense() {\n return local.dense;\n },\n get variant() {\n return local.variant;\n },\n onClose: () => rest.onClose?.(),\n };\n\n return (\n <MenuContext.Provider value={value}>\n <MenuComponent ref={local.ref} {...rest}>\n {local.children}\n </MenuComponent>\n </MenuContext.Provider>\n );\n}\n\nexport default Menu;\n"],"names":["Menu","props","merged","mergeProps","dense","variant","local","rest","splitProps","value","onClose","_$createComponent","MenuContext","Provider","children","MenuComponent","_$mergeProps","ref","r$","_ref$"],"mappings":";;;;;;AAYO,SAASA,EAAKC,GAA4C;AAC/D,QAAMC,IAASC,EAAW;AAAA,IAAEC,OAAO;AAAA,IAAOC,SAAS;AAAA,EAAA,GAAuBJ,CAAK,GACzE,CAACK,GAAOC,CAAI,IAAIC,EAAWN,GAAQ,CAAC,SAAS,WAAW,YAAY,KAAK,CAAC,GAE1EO,IAAQ;AAAA,IACZ,IAAIL,QAAQ;AACV,aAAOE,EAAMF;AAAAA,IACf;AAAA,IACA,IAAIC,UAAU;AACZ,aAAOC,EAAMD;AAAAA,IACf;AAAA,IACAK,SAASA,MAAMH,EAAKG,UAAAA;AAAAA,EAAU;AAGhC,SAAAC,EACGC,EAAYC,UAAQ;AAAA,IAACJ,OAAAA;AAAAA,IAAY,IAAAK,WAAA;AAAA,aAAAH,EAC/BI,GAAaC,EAAA;AAAA,QAAAC,IAAAC,GAAA;AAAA,cAAAC,IAAMb,EAAMW;AAAG,iBAAAE,KAAA,aAAAA,EAAAD,CAAA,IAATZ,EAAMW,MAAGC;AAAAA,QAAA;AAAA,MAAA,GAAMX,GAAI;AAAA,QAAA,IAAAO,WAAA;AAAA,iBACpCR,EAAMQ;AAAAA,QAAQ;AAAA,MAAA,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAIvB;"}
@@ -1,5 +1,6 @@
1
1
  import { insert as a, createComponent as t, mergeProps as b, memo as s, effect as h, className as v, template as w } from "solid-js/web";
2
- import '../../../assets/styles/less/components/overflowMenu/overflowMenu.entry.css';/* empty css */
2
+ import '../../../assets/styles/less/components/overflowMenu/overflowMenu.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
3
4
  import { mergeProps as C, splitProps as _, createSignal as c, For as M, Show as P } from "solid-js";
4
5
  import i from "clsx";
5
6
  import { Button as k } from "../../inputs/button/button.js";
@@ -7,7 +8,7 @@ import { Menu as I } from "../menu/menu.js";
7
8
  import { MenuItem as O } from "../menu/menuItem.js";
8
9
  import { Icon as S } from "../../base/icon/icon.js";
9
10
  var $ = /* @__PURE__ */ w("<span>");
10
- function j(m) {
11
+ function q(m) {
11
12
  const p = C({
12
13
  icon: "more_vert"
13
14
  }, m), [r] = _(p, ["items", "icon", "placement", "aria-label", "disabled", "class"]), [u, g] = c(null), [d, o] = c(!1), l = () => {
@@ -83,6 +84,6 @@ function j(m) {
83
84
  })();
84
85
  }
85
86
  export {
86
- j as OverflowMenu
87
+ q as OverflowMenu
87
88
  };
88
89
  //# sourceMappingURL=overflowMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overflowMenu.js","sources":["../../../../src/components/navigation/overflowMenu/overflowMenu.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, splitProps } from \"solid-js\";\nimport type { Placement } from \"@floating-ui/dom\";\nimport cn from \"clsx\";\nimport { Button } from \"../../inputs/button\";\nimport { Icon } from \"../../base/icon\";\nimport { Menu, MenuItem } from \"../menu\";\n\nexport interface OverflowMenuItem {\n id: string;\n label: string;\n icon?: JSX.Element | string;\n danger?: boolean;\n disabled?: boolean;\n onSelect?: () => void;\n}\n\nexport interface OverflowMenuProps {\n items: OverflowMenuItem[];\n /** Trigger icon name (default `more_vert`). */\n icon?: string;\n placement?: Placement;\n \"aria-label\"?: string;\n disabled?: boolean;\n class?: string;\n}\n\n/**\n * A one-shot kebab / overflow menu: a trigger icon button wired to a floating\n * `Menu` over an `items` array, with open/close state baked in. The card 3-dot\n * menu every app hand-builds (button + absolutely-positioned surface + open\n * state) collapses to passing an items list.\n */\nexport function OverflowMenu(props: OverflowMenuProps): JSX.Element {\n const merged = mergeProps({ icon: \"more_vert\" }, props);\n const [local] = splitProps(merged, [\"items\", \"icon\", \"placement\", \"aria-label\", \"disabled\", \"class\"]);\n\n const [anchor, setAnchor] = createSignal<HTMLElement | null>(null);\n const [open, setOpen] = createSignal(false);\n const close = (): void => {\n setOpen(false);\n };\n\n const onItemClick = (item: OverflowMenuItem): void => {\n if (item.disabled) return;\n item.onSelect?.();\n close();\n };\n\n return (\n <span class={cn(\"smwb-overflow-menu\", local.class)}>\n <Button\n ref={(el) => {\n setAnchor(el as HTMLElement);\n }}\n variant=\"text\"\n size=\"small\"\n icon={local.icon}\n aria-label={local[\"aria-label\"] ?? \"More actions\"}\n aria-haspopup=\"menu\"\n disabled={!!local.disabled}\n onClick={() => {\n setOpen((value) => !value);\n }}\n />\n <Menu\n isOpen={open()}\n onClose={close}\n anchorElement={anchor()}\n {...(local.placement ? { placement: local.placement } : {})}\n >\n <For each={local.items}>\n {(item) => (\n <MenuItem\n class={cn({ \"smwb-overflow-menu__item--danger\": item.danger })}\n disabled={item.disabled}\n onClick={() => onItemClick(item)}\n >\n <Show when={item.icon}>\n {typeof item.icon === \"string\" ? <Icon name={item.icon} /> : (item.icon as JSX.Element)}\n </Show>\n {item.label}\n </MenuItem>\n )}\n </For>\n </Menu>\n </span>\n );\n}\n\nexport default OverflowMenu;\n"],"names":["OverflowMenu","props","merged","mergeProps","icon","local","splitProps","anchor","setAnchor","createSignal","open","setOpen","close","onItemClick","item","disabled","onSelect","_el$","_tmpl$","_$insert","_$createComponent","Button","ref","el","variant","size","onClick","value","Menu","_$mergeProps","isOpen","onClose","anchorElement","placement","children","For","each","items","MenuItem","cn","danger","Show","when","_$memo","Icon","name","label","_$effect","_$className","class"],"mappings":";;;;;;;;;AAiCO,SAASA,EAAaC,GAAuC;AAClE,QAAMC,IAASC,EAAW;AAAA,IAAEC,MAAM;AAAA,EAAA,GAAeH,CAAK,GAChD,CAACI,CAAK,IAAIC,EAAWJ,GAAQ,CAAC,SAAS,QAAQ,aAAa,cAAc,YAAY,OAAO,CAAC,GAE9F,CAACK,GAAQC,CAAS,IAAIC,EAAiC,IAAI,GAC3D,CAACC,GAAMC,CAAO,IAAIF,EAAa,EAAK,GACpCG,IAAQA,MAAY;AACxBD,IAAAA,EAAQ,EAAK;AAAA,EACf,GAEME,IAAcA,CAACC,MAAiC;AACpD,IAAIA,EAAKC,aACTD,EAAKE,WAAAA,GACLJ,EAAAA;AAAAA,EACF;AAEA,UAAA,MAAA;AAAA,QAAAK,IAAAC,EAAAA;AAAAC,WAAAA,EAAAF,GAAAG,EAEKC,GAAM;AAAA,MAAAC,KACCC,CAAAA,MAAO;AACXf,QAAAA,EAAUe,CAAiB;AAAA,MAC7B;AAAA,MACAC,SAAO;AAAA,MACPC,MAAI;AAAA,MAAA,IACJrB,OAAI;AAAA,eAAEC,EAAMD;AAAAA,MAAI;AAAA,MAAA,IAAA,eAAA;AAAA,eACJC,EAAM,YAAY,KAAK;AAAA,MAAc;AAAA,MAAA,iBAAA;AAAA,MAAA,IAEjDU,WAAQ;AAAA,eAAE,CAAC,CAACV,EAAMU;AAAAA,MAAQ;AAAA,MAC1BW,SAASA,MAAM;AACbf,QAAAA,EAASgB,CAAAA,MAAU,CAACA,CAAK;AAAA,MAC3B;AAAA,IAAA,CAAC,GAAA,IAAA,GAAAR,EAAAF,GAAAG,EAEFQ,GAAIC,EAAA;AAAA,MAAA,IACHC,SAAM;AAAA,eAAEpB,EAAAA;AAAAA,MAAM;AAAA,MACdqB,SAASnB;AAAAA,MAAK,IACdoB,gBAAa;AAAA,eAAEzB,EAAAA;AAAAA,MAAQ;AAAA,IAAA,GAAA,MAClBF,EAAM4B,YAAY;AAAA,MAAEA,WAAW5B,EAAM4B;AAAAA,IAAAA,IAAc,IAAE;AAAA,MAAA,IAAAC,WAAA;AAAA,eAAAd,EAEzDe,GAAG;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAE/B,EAAMgC;AAAAA,UAAK;AAAA,UAAAH,UAClBpB,CAAAA,MAAIM,EACHkB,GAAQ;AAAA,YAAA,IAAA,QAAA;AAAA,qBACAC,EAAG;AAAA,gBAAE,oCAAoCzB,EAAK0B;AAAAA,cAAAA,CAAQ;AAAA,YAAC;AAAA,YAAA,IAC9DzB,WAAQ;AAAA,qBAAED,EAAKC;AAAAA,YAAQ;AAAA,YACvBW,SAASA,MAAMb,EAAYC,CAAI;AAAA,YAAC,IAAAoB,WAAA;AAAA,qBAAA,CAAAd,EAE/BqB,GAAI;AAAA,gBAAA,IAACC,OAAI;AAAA,yBAAE5B,EAAKV;AAAAA,gBAAI;AAAA,gBAAA,IAAA8B,WAAA;AAAA,yBAClBS,EAAA,MAAA,OAAO7B,EAAKV,QAAS,QAAQ,EAAA,IAAAgB,EAAIwB,GAAI;AAAA,oBAAA,IAACC,OAAI;AAAA,6BAAE/B,EAAKV;AAAAA,oBAAI;AAAA,kBAAA,CAAA,IAAQU,EAAKV;AAAAA,gBAAoB;AAAA,cAAA,CAAA,GAAAuC,EAAA,MAExF7B,EAAKgC,KAAK,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA,CAEd;AAAA,MAAA;AAAA,IAAA,CAAA,CAAA,GAAA,IAAA,GAAAC,EAAA,MAAAC,EAAA/B,GAjCMsB,EAAG,sBAAsBlC,EAAM4C,KAAK,CAAC,CAAA,GAAAhC;AAAAA,EAAA,GAAA;AAsCtD;"}
1
+ {"version":3,"file":"overflowMenu.js","sources":["../../../../src/components/navigation/overflowMenu/overflowMenu.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, splitProps } from \"solid-js\";\nimport type { Placement } from \"@floating-ui/dom\";\nimport cn from \"clsx\";\nimport { Button } from \"../../inputs/button\";\nimport { Icon } from \"../../base/icon\";\nimport { Menu, MenuItem } from \"../menu\";\n\nexport interface OverflowMenuItem {\n id: string;\n label: string;\n icon?: JSX.Element | string;\n danger?: boolean;\n disabled?: boolean;\n onSelect?: () => void;\n}\n\nexport interface OverflowMenuProps {\n items: OverflowMenuItem[];\n /** Trigger icon name (default `more_vert`). */\n icon?: string;\n placement?: Placement;\n \"aria-label\"?: string;\n disabled?: boolean;\n class?: string;\n}\n\n/**\n * A one-shot kebab / overflow menu: a trigger icon button wired to a floating\n * `Menu` over an `items` array, with open/close state baked in. The card 3-dot\n * menu every app hand-builds (button + absolutely-positioned surface + open\n * state) collapses to passing an items list.\n */\nexport function OverflowMenu(props: OverflowMenuProps): JSX.Element {\n const merged = mergeProps({ icon: \"more_vert\" }, props);\n const [local] = splitProps(merged, [\"items\", \"icon\", \"placement\", \"aria-label\", \"disabled\", \"class\"]);\n\n const [anchor, setAnchor] = createSignal<HTMLElement | null>(null);\n const [open, setOpen] = createSignal(false);\n const close = (): void => {\n setOpen(false);\n };\n\n const onItemClick = (item: OverflowMenuItem): void => {\n if (item.disabled) return;\n item.onSelect?.();\n close();\n };\n\n return (\n <span class={cn(\"smwb-overflow-menu\", local.class)}>\n <Button\n ref={(el) => {\n setAnchor(el as HTMLElement);\n }}\n variant=\"text\"\n size=\"small\"\n icon={local.icon}\n aria-label={local[\"aria-label\"] ?? \"More actions\"}\n aria-haspopup=\"menu\"\n disabled={!!local.disabled}\n onClick={() => {\n setOpen((value) => !value);\n }}\n />\n <Menu\n isOpen={open()}\n onClose={close}\n anchorElement={anchor()}\n {...(local.placement ? { placement: local.placement } : {})}\n >\n <For each={local.items}>\n {(item) => (\n <MenuItem\n class={cn({ \"smwb-overflow-menu__item--danger\": item.danger })}\n disabled={item.disabled}\n onClick={() => onItemClick(item)}\n >\n <Show when={item.icon}>\n {typeof item.icon === \"string\" ? <Icon name={item.icon} /> : (item.icon as JSX.Element)}\n </Show>\n {item.label}\n </MenuItem>\n )}\n </For>\n </Menu>\n </span>\n );\n}\n\nexport default OverflowMenu;\n"],"names":["OverflowMenu","props","merged","mergeProps","icon","local","splitProps","anchor","setAnchor","createSignal","open","setOpen","close","onItemClick","item","disabled","onSelect","_el$","_tmpl$","_$insert","_$createComponent","Button","ref","el","variant","size","onClick","value","Menu","_$mergeProps","isOpen","onClose","anchorElement","placement","children","For","each","items","MenuItem","cn","danger","Show","when","_$memo","Icon","name","label","_$effect","_$className","class"],"mappings":";;;;;;;;;;AAkCO,SAASA,EAAaC,GAAuC;AAClE,QAAMC,IAASC,EAAW;AAAA,IAAEC,MAAM;AAAA,EAAA,GAAeH,CAAK,GAChD,CAACI,CAAK,IAAIC,EAAWJ,GAAQ,CAAC,SAAS,QAAQ,aAAa,cAAc,YAAY,OAAO,CAAC,GAE9F,CAACK,GAAQC,CAAS,IAAIC,EAAiC,IAAI,GAC3D,CAACC,GAAMC,CAAO,IAAIF,EAAa,EAAK,GACpCG,IAAQA,MAAY;AACxBD,IAAAA,EAAQ,EAAK;AAAA,EACf,GAEME,IAAcA,CAACC,MAAiC;AACpD,IAAIA,EAAKC,aACTD,EAAKE,WAAAA,GACLJ,EAAAA;AAAAA,EACF;AAEA,UAAA,MAAA;AAAA,QAAAK,IAAAC,EAAAA;AAAAC,WAAAA,EAAAF,GAAAG,EAEKC,GAAM;AAAA,MAAAC,KACCC,CAAAA,MAAO;AACXf,QAAAA,EAAUe,CAAiB;AAAA,MAC7B;AAAA,MACAC,SAAO;AAAA,MACPC,MAAI;AAAA,MAAA,IACJrB,OAAI;AAAA,eAAEC,EAAMD;AAAAA,MAAI;AAAA,MAAA,IAAA,eAAA;AAAA,eACJC,EAAM,YAAY,KAAK;AAAA,MAAc;AAAA,MAAA,iBAAA;AAAA,MAAA,IAEjDU,WAAQ;AAAA,eAAE,CAAC,CAACV,EAAMU;AAAAA,MAAQ;AAAA,MAC1BW,SAASA,MAAM;AACbf,QAAAA,EAASgB,CAAAA,MAAU,CAACA,CAAK;AAAA,MAC3B;AAAA,IAAA,CAAC,GAAA,IAAA,GAAAR,EAAAF,GAAAG,EAEFQ,GAAIC,EAAA;AAAA,MAAA,IACHC,SAAM;AAAA,eAAEpB,EAAAA;AAAAA,MAAM;AAAA,MACdqB,SAASnB;AAAAA,MAAK,IACdoB,gBAAa;AAAA,eAAEzB,EAAAA;AAAAA,MAAQ;AAAA,IAAA,GAAA,MAClBF,EAAM4B,YAAY;AAAA,MAAEA,WAAW5B,EAAM4B;AAAAA,IAAAA,IAAc,IAAE;AAAA,MAAA,IAAAC,WAAA;AAAA,eAAAd,EAEzDe,GAAG;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAE/B,EAAMgC;AAAAA,UAAK;AAAA,UAAAH,UAClBpB,CAAAA,MAAIM,EACHkB,GAAQ;AAAA,YAAA,IAAA,QAAA;AAAA,qBACAC,EAAG;AAAA,gBAAE,oCAAoCzB,EAAK0B;AAAAA,cAAAA,CAAQ;AAAA,YAAC;AAAA,YAAA,IAC9DzB,WAAQ;AAAA,qBAAED,EAAKC;AAAAA,YAAQ;AAAA,YACvBW,SAASA,MAAMb,EAAYC,CAAI;AAAA,YAAC,IAAAoB,WAAA;AAAA,qBAAA,CAAAd,EAE/BqB,GAAI;AAAA,gBAAA,IAACC,OAAI;AAAA,yBAAE5B,EAAKV;AAAAA,gBAAI;AAAA,gBAAA,IAAA8B,WAAA;AAAA,yBAClBS,EAAA,MAAA,OAAO7B,EAAKV,QAAS,QAAQ,EAAA,IAAAgB,EAAIwB,GAAI;AAAA,oBAAA,IAACC,OAAI;AAAA,6BAAE/B,EAAKV;AAAAA,oBAAI;AAAA,kBAAA,CAAA,IAAQU,EAAKV;AAAAA,gBAAoB;AAAA,cAAA,CAAA,GAAAuC,EAAA,MAExF7B,EAAKgC,KAAK,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA,CAEd;AAAA,MAAA;AAAA,IAAA,CAAA,CAAA,GAAA,IAAA,GAAAC,EAAA,MAAAC,EAAA/B,GAjCMsB,EAAG,sBAAsBlC,EAAM4C,KAAK,CAAC,CAAA,GAAAhC;AAAAA,EAAA,GAAA;AAsCtD;"}
@@ -1,18 +1,19 @@
1
1
  import { use as A, spread as E, mergeProps as L, insert as m, createComponent as _, effect as x, className as y, setAttribute as k, template as w, delegateEvents as z } from "solid-js/web";
2
- import '../../../assets/styles/less/components/pagination/pagination.entry.css';/* empty css */
2
+ import '../../../assets/styles/less/components/pagination/pagination.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
3
4
  import { mergeProps as F, splitProps as N, For as R, Show as P } from "solid-js";
4
5
  import M from "clsx";
5
6
  import { mergeRefs as S } from "../../../primitives/mergeRefs.js";
6
7
  import { Icon as D } from "../../base/icon/icon.js";
7
8
  var H = /* @__PURE__ */ w('<li><button type=button class="smwb-pagination__item smwb-pagination__nav">'), I = /* @__PURE__ */ w("<nav><ul class=smwb-pagination__list>"), q = /* @__PURE__ */ w("<li><button type=button>"), K = /* @__PURE__ */ w("<li class=smwb-pagination__ellipsis aria-hidden=true>…");
8
- const b = (n, c) => Array.from({
9
- length: Math.max(c - n + 1, 0)
10
- }, (e, t) => n + t), O = (n, c, e, t) => {
11
- const d = b(1, Math.min(t, n)), p = b(Math.max(n - t + 1, t + 1), n), h = Math.max(Math.min(c - e, n - t - e * 2 - 1), t + 2), f = Math.min(Math.max(c + e, t + e * 2 + 2), p.length > 0 ? p[0] - 2 : n - 1);
12
- return [...d, ...h > t + 2 ? ["start-ellipsis"] : t + 1 < n - t ? [t + 1] : [], ...b(h, f), ...f < n - t - 1 ? ["end-ellipsis"] : n - t > t ? [n - t] : [], ...p];
9
+ const b = (n, p) => Array.from({
10
+ length: Math.max(p - n + 1, 0)
11
+ }, (e, t) => n + t), O = (n, p, e, t) => {
12
+ const d = b(1, Math.min(t, n)), c = b(Math.max(n - t + 1, t + 1), n), h = Math.max(Math.min(p - e, n - t - e * 2 - 1), t + 2), f = Math.min(Math.max(p + e, t + e * 2 + 2), c.length > 0 ? c[0] - 2 : n - 1);
13
+ return [...d, ...h > t + 2 ? ["start-ellipsis"] : t + 1 < n - t ? [t + 1] : [], ...b(h, f), ...f < n - t - 1 ? ["end-ellipsis"] : n - t > t ? [n - t] : [], ...c];
13
14
  };
14
- function V(n) {
15
- const c = F({
15
+ function W(n) {
16
+ const p = F({
16
17
  siblingCount: 1,
17
18
  boundaryCount: 1,
18
19
  size: "medium",
@@ -24,9 +25,9 @@ function V(n) {
24
25
  showLastButton: !1,
25
26
  hidePrevButton: !1,
26
27
  hideNextButton: !1
27
- }, n), [e, t] = N(c, ["class", "count", "page", "siblingCount", "boundaryCount", "size", "variant", "shape", "color", "disabled", "showFirstButton", "showLastButton", "hidePrevButton", "hideNextButton", "onChange", "ref"]);
28
+ }, n), [e, t] = N(p, ["class", "count", "page", "siblingCount", "boundaryCount", "size", "variant", "shape", "color", "disabled", "showFirstButton", "showLastButton", "hidePrevButton", "hideNextButton", "onChange", "ref"]);
28
29
  let d;
29
- const p = (a) => {
30
+ const c = (a) => {
30
31
  e.disabled || a === e.page || a < 1 || a > e.count || e.onChange?.(a);
31
32
  }, h = (a) => {
32
33
  if (!["ArrowLeft", "ArrowRight", "Home", "End"].includes(a.key)) return;
@@ -39,7 +40,7 @@ function V(n) {
39
40
  when: !s,
40
41
  get children() {
41
42
  var g = H(), l = g.firstChild;
42
- return l.$$click = () => p(i), k(l, "aria-label", a), m(l, _(D, {
43
+ return l.$$click = () => c(i), k(l, "aria-label", a), m(l, _(D, {
43
44
  name: r,
44
45
  get size() {
45
46
  return e.size === "small" ? 16 : 18;
@@ -68,7 +69,7 @@ function V(n) {
68
69
  },
69
70
  get children() {
70
71
  var g = q(), l = g.firstChild;
71
- return l.$$click = () => p(s), m(l, s), x((o) => {
72
+ return l.$$click = () => c(s), m(l, s), x((o) => {
72
73
  var v = M("smwb-pagination__item", {
73
74
  "smwb-pagination__item_selected": s === e.page
74
75
  }), $ = s === e.page ? "page" : void 0, B = e.disabled;
@@ -85,6 +86,6 @@ function V(n) {
85
86
  }
86
87
  z(["click", "keydown"]);
87
88
  export {
88
- V as Pagination
89
+ W as Pagination
89
90
  };
90
91
  //# sourceMappingURL=pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sources":["../../../../src/components/navigation/pagination/pagination.tsx"],"sourcesContent":["import { type JSX, For, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type PaginationColor = \"default\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface PaginationProps extends Omit<JSX.HTMLAttributes<HTMLElement>, \"onChange\"> {\n /** Total number of pages. */\n count: number;\n /** Current page (1-based). */\n page: number;\n /** Pages shown on each side of the current page. */\n siblingCount?: number;\n /** Pages always shown at the start and end. */\n boundaryCount?: number;\n size?: \"small\" | \"medium\";\n /** Item style. */\n variant?: \"filled\" | \"outlined\";\n /** Item shape. */\n shape?: \"rounded\" | \"circular\";\n color?: PaginationColor;\n disabled?: boolean;\n showFirstButton?: boolean;\n showLastButton?: boolean;\n hidePrevButton?: boolean;\n hideNextButton?: boolean;\n onChange?: (page: number) => void;\n ref?: Ref<HTMLElement>;\n}\n\ntype PaginationItem = number | \"start-ellipsis\" | \"end-ellipsis\";\n\nconst range = (start: number, end: number): number[] =>\n Array.from({ length: Math.max(end - start + 1, 0) }, (_, i) => start + i);\n\nconst buildItems = (count: number, page: number, siblingCount: number, boundaryCount: number): PaginationItem[] => {\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n\n const siblingsStart = Math.max(\n Math.min(page - siblingCount, count - boundaryCount - siblingCount * 2 - 1),\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0]! - 2 : count - 1\n );\n\n return [\n ...startPages,\n ...(siblingsStart > boundaryCount + 2\n ? ([\"start-ellipsis\"] as PaginationItem[])\n : boundaryCount + 1 < count - boundaryCount\n ? [boundaryCount + 1]\n : []),\n ...range(siblingsStart, siblingsEnd),\n ...(siblingsEnd < count - boundaryCount - 1\n ? ([\"end-ellipsis\"] as PaginationItem[])\n : count - boundaryCount > boundaryCount\n ? [count - boundaryCount]\n : []),\n ...endPages,\n ];\n};\n\nexport function Pagination(props: PaginationProps): JSX.Element {\n const merged = mergeProps(\n {\n siblingCount: 1,\n boundaryCount: 1,\n size: \"medium\" as const,\n variant: \"filled\" as const,\n shape: \"circular\" as const,\n color: \"default\" as PaginationColor,\n disabled: false,\n showFirstButton: false,\n showLastButton: false,\n hidePrevButton: false,\n hideNextButton: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"count\",\n \"page\",\n \"siblingCount\",\n \"boundaryCount\",\n \"size\",\n \"variant\",\n \"shape\",\n \"color\",\n \"disabled\",\n \"showFirstButton\",\n \"showLastButton\",\n \"hidePrevButton\",\n \"hideNextButton\",\n \"onChange\",\n \"ref\",\n ]);\n\n let navEl: HTMLElement | undefined;\n\n const go = (target: number): void => {\n if (local.disabled || target === local.page || target < 1 || target > local.count) return;\n local.onChange?.(target);\n };\n\n const onKeyDown: JSX.EventHandler<HTMLUListElement, KeyboardEvent> = (event) => {\n if (![\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"].includes(event.key)) return;\n const buttons = Array.from(\n navEl?.querySelectorAll<HTMLButtonElement>(\"button.smwb-pagination__item:not(:disabled)\") ?? []\n );\n if (buttons.length === 0) return;\n const current = buttons.indexOf(document.activeElement as HTMLButtonElement);\n let next = current;\n if (event.key === \"ArrowRight\") next = Math.min(current + 1, buttons.length - 1);\n else if (event.key === \"ArrowLeft\") next = Math.max(current - 1, 0);\n else if (event.key === \"Home\") next = 0;\n else if (event.key === \"End\") next = buttons.length - 1;\n event.preventDefault();\n buttons[next]?.focus();\n };\n\n const items = (): PaginationItem[] => buildItems(local.count, local.page, local.siblingCount, local.boundaryCount);\n\n const navButton = (label: string, target: number, iconName: string, hidden?: boolean): JSX.Element => (\n <Show when={!hidden}>\n <li>\n <button\n type=\"button\"\n class=\"smwb-pagination__item smwb-pagination__nav\"\n aria-label={label}\n disabled={local.disabled || target < 1 || target > local.count}\n onClick={() => go(target)}\n >\n <Icon name={iconName} size={local.size === \"small\" ? 16 : 18} />\n </button>\n </li>\n </Show>\n );\n\n return (\n <nav\n {...rest}\n ref={mergeRefs(local.ref, (el) => (navEl = el))}\n data-testid=\"pagination\"\n aria-label=\"pagination\"\n class={cn(\n \"smwb-pagination\",\n `smwb-pagination_${local.size}`,\n `smwb-pagination_${local.variant}`,\n `smwb-pagination_shape-${local.shape}`,\n local.color !== \"default\" && `smwb-pagination_color-${local.color}`,\n { \"smwb-pagination_disabled\": local.disabled },\n local.class\n )}\n >\n <ul class=\"smwb-pagination__list\" onKeyDown={onKeyDown}>\n {navButton(\"First page\", 1, \"first_page\", !local.showFirstButton)}\n {navButton(\"Previous page\", local.page - 1, \"chevron_left\", local.hidePrevButton)}\n <For each={items()}>\n {(item) => (\n <Show\n when={typeof item === \"number\"}\n fallback={\n <li class=\"smwb-pagination__ellipsis\" aria-hidden=\"true\">\n …\n </li>\n }\n >\n <li>\n <button\n type=\"button\"\n class={cn(\"smwb-pagination__item\", { \"smwb-pagination__item_selected\": item === local.page })}\n aria-current={item === local.page ? \"page\" : undefined}\n disabled={local.disabled}\n onClick={() => go(item as number)}\n >\n {item}\n </button>\n </li>\n </Show>\n )}\n </For>\n {navButton(\"Next page\", local.page + 1, \"chevron_right\", local.hideNextButton)}\n {navButton(\"Last page\", local.count, \"last_page\", !local.showLastButton)}\n </ul>\n </nav>\n );\n}\n\nexport default Pagination;\n"],"names":["range","start","end","Array","from","length","Math","max","_","i","buildItems","count","page","siblingCount","boundaryCount","startPages","min","endPages","siblingsStart","siblingsEnd","Pagination","props","merged","mergeProps","size","variant","shape","color","disabled","showFirstButton","showLastButton","hidePrevButton","hideNextButton","local","rest","splitProps","navEl","go","target","onChange","onKeyDown","event","includes","key","buttons","querySelectorAll","current","indexOf","document","activeElement","next","preventDefault","focus","items","navButton","label","iconName","hidden","_$createComponent","Show","when","children","_el$","_tmpl$","_el$2","firstChild","$$click","_$setAttribute","_$insert","Icon","name","_$effect","_el$3","_tmpl$2","_el$4","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","cn","class","$$keydown","For","each","item","fallback","_tmpl$4","_el$5","_tmpl$3","_el$6","_p$","_v$","_v$2","undefined","_v$3","e","_$className","t","a","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sources":["../../../../src/components/navigation/pagination/pagination.tsx"],"sourcesContent":["import { type JSX, For, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type PaginationColor = \"default\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface PaginationProps extends Omit<JSX.HTMLAttributes<HTMLElement>, \"onChange\"> {\n /** Total number of pages. */\n count: number;\n /** Current page (1-based). */\n page: number;\n /** Pages shown on each side of the current page. */\n siblingCount?: number;\n /** Pages always shown at the start and end. */\n boundaryCount?: number;\n size?: \"small\" | \"medium\";\n /** Item style. */\n variant?: \"filled\" | \"outlined\";\n /** Item shape. */\n shape?: \"rounded\" | \"circular\";\n color?: PaginationColor;\n disabled?: boolean;\n showFirstButton?: boolean;\n showLastButton?: boolean;\n hidePrevButton?: boolean;\n hideNextButton?: boolean;\n onChange?: (page: number) => void;\n ref?: Ref<HTMLElement>;\n}\n\ntype PaginationItem = number | \"start-ellipsis\" | \"end-ellipsis\";\n\nconst range = (start: number, end: number): number[] =>\n Array.from({ length: Math.max(end - start + 1, 0) }, (_, i) => start + i);\n\nconst buildItems = (count: number, page: number, siblingCount: number, boundaryCount: number): PaginationItem[] => {\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n\n const siblingsStart = Math.max(\n Math.min(page - siblingCount, count - boundaryCount - siblingCount * 2 - 1),\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0]! - 2 : count - 1\n );\n\n return [\n ...startPages,\n ...(siblingsStart > boundaryCount + 2\n ? ([\"start-ellipsis\"] as PaginationItem[])\n : boundaryCount + 1 < count - boundaryCount\n ? [boundaryCount + 1]\n : []),\n ...range(siblingsStart, siblingsEnd),\n ...(siblingsEnd < count - boundaryCount - 1\n ? ([\"end-ellipsis\"] as PaginationItem[])\n : count - boundaryCount > boundaryCount\n ? [count - boundaryCount]\n : []),\n ...endPages,\n ];\n};\n\nexport function Pagination(props: PaginationProps): JSX.Element {\n const merged = mergeProps(\n {\n siblingCount: 1,\n boundaryCount: 1,\n size: \"medium\" as const,\n variant: \"filled\" as const,\n shape: \"circular\" as const,\n color: \"default\" as PaginationColor,\n disabled: false,\n showFirstButton: false,\n showLastButton: false,\n hidePrevButton: false,\n hideNextButton: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"count\",\n \"page\",\n \"siblingCount\",\n \"boundaryCount\",\n \"size\",\n \"variant\",\n \"shape\",\n \"color\",\n \"disabled\",\n \"showFirstButton\",\n \"showLastButton\",\n \"hidePrevButton\",\n \"hideNextButton\",\n \"onChange\",\n \"ref\",\n ]);\n\n let navEl: HTMLElement | undefined;\n\n const go = (target: number): void => {\n if (local.disabled || target === local.page || target < 1 || target > local.count) return;\n local.onChange?.(target);\n };\n\n const onKeyDown: JSX.EventHandler<HTMLUListElement, KeyboardEvent> = (event) => {\n if (![\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"].includes(event.key)) return;\n const buttons = Array.from(\n navEl?.querySelectorAll<HTMLButtonElement>(\"button.smwb-pagination__item:not(:disabled)\") ?? []\n );\n if (buttons.length === 0) return;\n const current = buttons.indexOf(document.activeElement as HTMLButtonElement);\n let next = current;\n if (event.key === \"ArrowRight\") next = Math.min(current + 1, buttons.length - 1);\n else if (event.key === \"ArrowLeft\") next = Math.max(current - 1, 0);\n else if (event.key === \"Home\") next = 0;\n else if (event.key === \"End\") next = buttons.length - 1;\n event.preventDefault();\n buttons[next]?.focus();\n };\n\n const items = (): PaginationItem[] => buildItems(local.count, local.page, local.siblingCount, local.boundaryCount);\n\n const navButton = (label: string, target: number, iconName: string, hidden?: boolean): JSX.Element => (\n <Show when={!hidden}>\n <li>\n <button\n type=\"button\"\n class=\"smwb-pagination__item smwb-pagination__nav\"\n aria-label={label}\n disabled={local.disabled || target < 1 || target > local.count}\n onClick={() => go(target)}\n >\n <Icon name={iconName} size={local.size === \"small\" ? 16 : 18} />\n </button>\n </li>\n </Show>\n );\n\n return (\n <nav\n {...rest}\n ref={mergeRefs(local.ref, (el) => (navEl = el))}\n data-testid=\"pagination\"\n aria-label=\"pagination\"\n class={cn(\n \"smwb-pagination\",\n `smwb-pagination_${local.size}`,\n `smwb-pagination_${local.variant}`,\n `smwb-pagination_shape-${local.shape}`,\n local.color !== \"default\" && `smwb-pagination_color-${local.color}`,\n { \"smwb-pagination_disabled\": local.disabled },\n local.class\n )}\n >\n <ul class=\"smwb-pagination__list\" onKeyDown={onKeyDown}>\n {navButton(\"First page\", 1, \"first_page\", !local.showFirstButton)}\n {navButton(\"Previous page\", local.page - 1, \"chevron_left\", local.hidePrevButton)}\n <For each={items()}>\n {(item) => (\n <Show\n when={typeof item === \"number\"}\n fallback={\n <li class=\"smwb-pagination__ellipsis\" aria-hidden=\"true\">\n …\n </li>\n }\n >\n <li>\n <button\n type=\"button\"\n class={cn(\"smwb-pagination__item\", { \"smwb-pagination__item_selected\": item === local.page })}\n aria-current={item === local.page ? \"page\" : undefined}\n disabled={local.disabled}\n onClick={() => go(item as number)}\n >\n {item}\n </button>\n </li>\n </Show>\n )}\n </For>\n {navButton(\"Next page\", local.page + 1, \"chevron_right\", local.hideNextButton)}\n {navButton(\"Last page\", local.count, \"last_page\", !local.showLastButton)}\n </ul>\n </nav>\n );\n}\n\nexport default Pagination;\n"],"names":["range","start","end","Array","from","length","Math","max","_","i","buildItems","count","page","siblingCount","boundaryCount","startPages","min","endPages","siblingsStart","siblingsEnd","Pagination","props","merged","mergeProps","size","variant","shape","color","disabled","showFirstButton","showLastButton","hidePrevButton","hideNextButton","local","rest","splitProps","navEl","go","target","onChange","onKeyDown","event","includes","key","buttons","querySelectorAll","current","indexOf","document","activeElement","next","preventDefault","focus","items","navButton","label","iconName","hidden","_$createComponent","Show","when","children","_el$","_tmpl$","_el$2","firstChild","$$click","_$setAttribute","_$insert","Icon","name","_$effect","_el$3","_tmpl$2","_el$4","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","cn","class","$$keydown","For","each","item","fallback","_tmpl$4","_el$5","_tmpl$3","_el$6","_p$","_v$","_v$2","undefined","_v$3","e","_$className","t","a","_$delegateEvents"],"mappings":";;;;;;;;AAmCA,MAAMA,IAAQA,CAACC,GAAeC,MAC5BC,MAAMC,KAAK;AAAA,EAAEC,QAAQC,KAAKC,IAAIL,IAAMD,IAAQ,GAAG,CAAC;AAAE,GAAG,CAACO,GAAGC,MAAMR,IAAQQ,CAAC,GAEpEC,IAAaA,CAACC,GAAeC,GAAcC,GAAsBC,MAA4C;AACjH,QAAMC,IAAaf,EAAM,GAAGM,KAAKU,IAAIF,GAAeH,CAAK,CAAC,GACpDM,IAAWjB,EAAMM,KAAKC,IAAII,IAAQG,IAAgB,GAAGA,IAAgB,CAAC,GAAGH,CAAK,GAE9EO,IAAgBZ,KAAKC,IACzBD,KAAKU,IAAIJ,IAAOC,GAAcF,IAAQG,IAAgBD,IAAe,IAAI,CAAC,GAC1EC,IAAgB,CAClB,GACMK,IAAcb,KAAKU,IACvBV,KAAKC,IAAIK,IAAOC,GAAcC,IAAgBD,IAAe,IAAI,CAAC,GAClEI,EAASZ,SAAS,IAAIY,EAAS,CAAC,IAAK,IAAIN,IAAQ,CACnD;AAEA,SAAO,CACL,GAAGI,GACH,GAAIG,IAAgBJ,IAAgB,IAC/B,CAAC,gBAAgB,IAClBA,IAAgB,IAAIH,IAAQG,IAC1B,CAACA,IAAgB,CAAC,IAClB,CAAA,GACN,GAAGd,EAAMkB,GAAeC,CAAW,GACnC,GAAIA,IAAcR,IAAQG,IAAgB,IACrC,CAAC,cAAc,IAChBH,IAAQG,IAAgBA,IACtB,CAACH,IAAQG,CAAa,IACtB,CAAA,GACN,GAAGG,CAAQ;AAEf;AAEO,SAASG,EAAWC,GAAqC;AAC9D,QAAMC,IAASC,EACb;AAAA,IACEV,cAAc;AAAA,IACdC,eAAe;AAAA,IACfU,MAAM;AAAA,IACNC,SAAS;AAAA,IACTC,OAAO;AAAA,IACPC,OAAO;AAAA,IACPC,UAAU;AAAA,IACVC,iBAAiB;AAAA,IACjBC,gBAAgB;AAAA,IAChBC,gBAAgB;AAAA,IAChBC,gBAAgB;AAAA,EAAA,GAElBX,CACF,GACM,CAACY,GAAOC,CAAI,IAAIC,EAAWb,GAAQ,CACvC,SACA,SACA,QACA,gBACA,iBACA,QACA,WACA,SACA,SACA,YACA,mBACA,kBACA,kBACA,kBACA,YACA,KAAK,CACN;AAED,MAAIc;AAEJ,QAAMC,IAAKA,CAACC,MAAyB;AACnC,IAAIL,EAAML,YAAYU,MAAWL,EAAMrB,QAAQ0B,IAAS,KAAKA,IAASL,EAAMtB,SAC5EsB,EAAMM,WAAWD,CAAM;AAAA,EACzB,GAEME,IAAgEC,CAAAA,MAAU;AAC9E,QAAI,CAAC,CAAC,aAAa,cAAc,QAAQ,KAAK,EAAEC,SAASD,EAAME,GAAG,EAAG;AACrE,UAAMC,IAAUzC,MAAMC,KACpBgC,GAAOS,iBAAoC,6CAA6C,KAAK,EAC/F;AACA,QAAID,EAAQvC,WAAW,EAAG;AAC1B,UAAMyC,IAAUF,EAAQG,QAAQC,SAASC,aAAkC;AAC3E,QAAIC,IAAOJ;AACX,IAAIL,EAAME,QAAQ,eAAcO,IAAO5C,KAAKU,IAAI8B,IAAU,GAAGF,EAAQvC,SAAS,CAAC,IACtEoC,EAAME,QAAQ,cAAaO,IAAO5C,KAAKC,IAAIuC,IAAU,GAAG,CAAC,IACzDL,EAAME,QAAQ,SAAQO,IAAO,IAC7BT,EAAME,QAAQ,UAAOO,IAAON,EAAQvC,SAAS,IACtDoC,EAAMU,eAAAA,GACNP,EAAQM,CAAI,GAAGE,MAAAA;AAAAA,EACjB,GAEMC,IAAQA,MAAwB3C,EAAWuB,EAAMtB,OAAOsB,EAAMrB,MAAMqB,EAAMpB,cAAcoB,EAAMnB,aAAa,GAE3GwC,IAAYA,CAACC,GAAejB,GAAgBkB,GAAkBC,MAA8BC,EAC/FC,GAAI;AAAA,IAACC,MAAM,CAACH;AAAAA,IAAM,IAAAI,WAAA;AAAA,UAAAC,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG;AAAAD,aAAAA,EAAAE,UAOJ,MAAM7B,EAAGC,CAAM,GAAC6B,EAAAH,GAAA,cAFbT,CAAK,GAAAa,EAAAJ,GAAAN,EAIhBW,GAAI;AAAA,QAACC,MAAMd;AAAAA,QAAQ,IAAEhC,OAAI;AAAA,iBAAES,EAAMT,SAAS,UAAU,KAAK;AAAA,QAAE;AAAA,MAAA,CAAA,CAAA,GAAA+C,QAAAP,EAAApC,WAHlDK,EAAML,YAAYU,IAAS,KAAKA,IAASL,EAAMtB,KAAK,GAAAmD;AAAAA,IAAA;AAAA,EAAA,CAAA;AAStE,UAAA,MAAA;AAAA,QAAAU,IAAAC,EAAAA,GAAAC,IAAAF,EAAAP,YAAAU,IAGSC,EAAU3C,EAAM4C,KAAMC,CAAAA,MAAQ1C,IAAQ0C,CAAG;AAAC,kBAAAH,KAAA,cAAAI,EAAAJ,GAAAH,CAAA,GAAAQ,EAAAR,GAAAS,EAD3C/C,GAAI;AAAA,MAAA,eAEI;AAAA,MAAY,cACb;AAAA,MAAY,IAAA,QAAA;AAAA,eAChBgD,EACL,mBACA,mBAAmBjD,EAAMT,IAAI,IAC7B,mBAAmBS,EAAMR,OAAO,IAChC,yBAAyBQ,EAAMP,KAAK,IACpCO,EAAMN,UAAU,aAAa,yBAAyBM,EAAMN,KAAK,IACjE;AAAA,UAAE,4BAA4BM,EAAML;AAAAA,QAAAA,GACpCK,EAAMkD,KACR;AAAA,MAAC;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAT,EAAAU,YAE4C5C,GAAS4B,EAAAM,GAAA,MACnDpB,EAAU,cAAc,GAAG,cAAc,CAACrB,EAAMJ,eAAe,GAAC,IAAA,GAAAuC,EAAAM,GAAA,MAChEpB,EAAU,iBAAiBrB,EAAMrB,OAAO,GAAG,gBAAgBqB,EAAMF,cAAc,GAAC,IAAA,GAAAqC,EAAAM,GAAAhB,EAChF2B,GAAG;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEjC,EAAAA;AAAAA,MAAO;AAAA,MAAAQ,UACd0B,CAAAA,MAAI7B,EACHC,GAAI;AAAA,QACHC,MAAM,OAAO2B,KAAS;AAAA,QAAQ,IAC9BC,WAAQ;AAAA,iBAAAC,EAAAA;AAAAA,QAAA;AAAA,QAAA,IAAA5B,WAAA;AAAA,cAAA6B,IAAAC,EAAAA,GAAAC,IAAAF,EAAAzB;AAAA2B,iBAAAA,EAAA1B,UAYK,MAAM7B,EAAGkD,CAAc,GAACnB,EAAAwB,GAEhCL,CAAI,GAAAhB,EAAAsB,CAAAA,MAAA;AAAA,gBAAAC,IALEZ,EAAG,yBAAyB;AAAA,cAAE,kCAAkCK,MAAStD,EAAMrB;AAAAA,YAAAA,CAAM,GAACmF,IAC/ER,MAAStD,EAAMrB,OAAO,SAASoF,QAASC,IAC5ChE,EAAML;AAAQkE,mBAAAA,MAAAD,EAAAK,KAAAC,EAAAP,GAAAC,EAAAK,IAAAJ,CAAA,GAAAC,MAAAF,EAAAO,KAAAjC,EAAAyB,GAAA,gBAAAC,EAAAO,IAAAL,CAAA,GAAAE,MAAAJ,EAAAQ,MAAAT,EAAAhE,WAAAiE,EAAAQ,IAAAJ,IAAAJ;AAAAA,UAAA,GAAA;AAAA,YAAAK,GAAAF;AAAAA,YAAAI,GAAAJ;AAAAA,YAAAK,GAAAL;AAAAA,UAAAA,CAAA,GAAAN;AAAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA,CAO/B,GAAA,IAAA,GAAAtB,EAAAM,GAAA,MAEFpB,EAAU,aAAarB,EAAMrB,OAAO,GAAG,iBAAiBqB,EAAMD,cAAc,GAAC,IAAA,GAAAoC,EAAAM,GAAA,MAC7EpB,EAAU,aAAarB,EAAMtB,OAAO,aAAa,CAACsB,EAAMH,cAAc,GAAC,IAAA,GAAA0C;AAAAA,EAAA,GAAA;AAIhF;AAE0B8B,EAAA,CAAA,SAAA,SAAA,CAAA;"}
@@ -1,5 +1,6 @@
1
1
  import { use as k, spread as y, mergeProps as A, insert as s, createComponent as n, effect as R, setAttribute as C, template as p, Dynamic as T, delegateEvents as D } from "solid-js/web";
2
- import '../../../assets/styles/less/components/sidebar/sidebar.entry.css';/* empty css */
2
+ import '../../../assets/styles/less/components/sidebar/sidebar.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
3
4
  import { mergeProps as L, splitProps as I, Show as v, For as S, children as V } from "solid-js";
4
5
  import $ from "clsx";
5
6
  import { createControllableState as w } from "../../../primitives/createControllableState.js";
@@ -51,7 +52,7 @@ function x(u) {
51
52
  }
52
53
  }));
53
54
  }
54
- function W(u) {
55
+ function X(u) {
55
56
  const r = L({
56
57
  variant: "default",
57
58
  defaultActiveItem: null,
@@ -130,6 +131,6 @@ function W(u) {
130
131
  }
131
132
  D(["click"]);
132
133
  export {
133
- W as Sidebar
134
+ X as Sidebar
134
135
  };
135
136
  //# sourceMappingURL=sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sources":["../../../../src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["import { type JSX, For, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SidebarVariant = \"compact\" | \"default\" | \"compactMini\";\n\nexport interface SidebarMenuItemProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: JSX.Element;\n title: string;\n isActive?: boolean;\n onClick?: JSX.EventHandlerUnion<HTMLDivElement, MouseEvent>;\n as?: string | undefined;\n href?: string | undefined;\n variant?: SidebarVariant | undefined;\n}\n\nexport interface SidebarProps extends JSX.HTMLAttributes<HTMLElement> {\n variant?: SidebarVariant;\n menuItems?: SidebarMenuItemProps[];\n /** Controlled index of the active menu item. */\n activeItem?: number | null;\n /** Default active index (uncontrolled). */\n defaultActiveItem?: number | null;\n /** Called with the index of the activated item. */\n onActiveItemChange?: (index: number) => void;\n /** Render a built-in toggle that collapses the rail to an icon-only mini rail. */\n collapsible?: boolean;\n /** Controlled collapsed state. */\n collapsed?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultCollapsed?: boolean;\n /** Called whenever the collapsed state changes. */\n onCollapsedChange?: (collapsed: boolean) => void;\n /** Accessible label for the built-in collapse toggle. */\n collapseToggleAriaLabel?: string;\n ref?: Ref<HTMLElement>;\n}\n\nfunction NavItem(props: SidebarMenuItemProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"isActive\", \"icon\", \"title\", \"as\", \"href\", \"variant\"]);\n let rippleActions: RippleActionsRef | undefined;\n\n // Resolve the icon in THIS item's context. A pre-created element passed via\n // menuItems is keyed at the consumer's position but rendered here, so under\n // SSR the hydration walk can't find it; children() realigns the key sequence.\n const icon = children(() => local.icon);\n\n const onPointerDown = (event: PointerEvent): void => {\n rippleActions?.onRipple(event);\n };\n\n return (\n <Dynamic\n component={local.as ?? \"div\"}\n href={local.href}\n role=\"menuitem\"\n class={cn(\"sidebar__nav__item\", \"smwb-nav-item\", local.variant, { active: local.isActive })}\n onPointerDown={onPointerDown}\n {...rest}\n >\n <Show when={icon()}>\n <span class=\"smwb-nav-item__icon\">{icon()}</span>\n </Show>\n <Show when={local.title}>\n <span class=\"smwb-nav-item__title\">{local.title}</span>\n </Show>\n <Ripple actionRef={(actions) => (rippleActions = actions)} />\n </Dynamic>\n );\n}\n\nexport function Sidebar(props: SidebarProps): JSX.Element {\n const merged = mergeProps(\n {\n variant: \"default\" as SidebarVariant,\n defaultActiveItem: null as number | null,\n collapsible: false,\n defaultCollapsed: false,\n collapseToggleAriaLabel: \"Toggle navigation\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"variant\",\n \"menuItems\",\n \"activeItem\",\n \"defaultActiveItem\",\n \"onActiveItemChange\",\n \"collapsible\",\n \"collapsed\",\n \"defaultCollapsed\",\n \"onCollapsedChange\",\n \"collapseToggleAriaLabel\",\n \"ref\",\n ]);\n\n const [activeItem, setActiveItem] = createControllableState<number | null>({\n value: () => local.activeItem,\n defaultValue: local.defaultActiveItem,\n onChange: (next) => {\n if (next !== null) local.onActiveItemChange?.(next);\n },\n });\n\n const [collapsed, setCollapsed] = createControllableState<boolean>({\n value: () => local.collapsed,\n defaultValue: local.defaultCollapsed,\n onChange: (next) => local.onCollapsedChange?.(next),\n });\n\n // When collapsed the rail always shows the icon-only mini variant.\n const effectiveVariant = (): SidebarVariant => (local.collapsible && collapsed() ? \"compactMini\" : local.variant);\n\n return (\n <aside\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-sidebar\", local.class, `smwb-${effectiveVariant()}`, {\n \"smwb-sidebar_collapsible\": local.collapsible,\n \"smwb-sidebar_collapsed\": local.collapsible && collapsed(),\n })}\n role=\"menubar\"\n >\n <Show when={local.collapsible}>\n <div class=\"smwb-sidebar__collapse\">\n <button\n type=\"button\"\n class=\"smwb-sidebar__collapse-btn\"\n aria-label={local.collapseToggleAriaLabel}\n aria-expanded={!collapsed()}\n onClick={() => setCollapsed(!collapsed())}\n >\n <Icon name={collapsed() ? \"chevron_right\" : \"chevron_left\"} size={20} />\n </button>\n </div>\n </Show>\n <nav class=\"smwb-sidebar__nav\">\n <For each={local.menuItems ?? []}>\n {(item, idx) => (\n <NavItem\n as={item.as}\n isActive={activeItem() === idx()}\n onClick={(event) => {\n setActiveItem(idx());\n if (typeof item.onClick === \"function\") item.onClick(event);\n }}\n icon={item.icon}\n title={item.title}\n href={item.href}\n variant={effectiveVariant()}\n />\n )}\n </For>\n </nav>\n </aside>\n );\n}\n\nexport default Sidebar;\n"],"names":["NavItem","props","local","rest","splitProps","rippleActions","icon","children","_$createComponent","Dynamic","_$mergeProps","component","as","href","role","cn","variant","active","isActive","onPointerDown","event","onRipple","Show","when","_el$","_tmpl$","_$insert","title","_el$2","_tmpl$2","Ripple","actionRef","actions","Sidebar","merged","mergeProps","defaultActiveItem","collapsible","defaultCollapsed","collapseToggleAriaLabel","activeItem","setActiveItem","createControllableState","value","defaultValue","onChange","next","onActiveItemChange","collapsed","setCollapsed","onCollapsedChange","effectiveVariant","_el$3","_tmpl$4","_el$6","firstChild","_ref$","mergeRefs","ref","_$use","_$spread","class","_el$4","_tmpl$3","_el$5","$$click","Icon","name","size","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","undefined","For","each","menuItems","item","idx","onClick","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.js","sources":["../../../../src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["import { type JSX, For, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SidebarVariant = \"compact\" | \"default\" | \"compactMini\";\n\nexport interface SidebarMenuItemProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: JSX.Element;\n title: string;\n isActive?: boolean;\n onClick?: JSX.EventHandlerUnion<HTMLDivElement, MouseEvent>;\n as?: string | undefined;\n href?: string | undefined;\n variant?: SidebarVariant | undefined;\n}\n\nexport interface SidebarProps extends JSX.HTMLAttributes<HTMLElement> {\n variant?: SidebarVariant;\n menuItems?: SidebarMenuItemProps[];\n /** Controlled index of the active menu item. */\n activeItem?: number | null;\n /** Default active index (uncontrolled). */\n defaultActiveItem?: number | null;\n /** Called with the index of the activated item. */\n onActiveItemChange?: (index: number) => void;\n /** Render a built-in toggle that collapses the rail to an icon-only mini rail. */\n collapsible?: boolean;\n /** Controlled collapsed state. */\n collapsed?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultCollapsed?: boolean;\n /** Called whenever the collapsed state changes. */\n onCollapsedChange?: (collapsed: boolean) => void;\n /** Accessible label for the built-in collapse toggle. */\n collapseToggleAriaLabel?: string;\n ref?: Ref<HTMLElement>;\n}\n\nfunction NavItem(props: SidebarMenuItemProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"isActive\", \"icon\", \"title\", \"as\", \"href\", \"variant\"]);\n let rippleActions: RippleActionsRef | undefined;\n\n // Resolve the icon in THIS item's context. A pre-created element passed via\n // menuItems is keyed at the consumer's position but rendered here, so under\n // SSR the hydration walk can't find it; children() realigns the key sequence.\n const icon = children(() => local.icon);\n\n const onPointerDown = (event: PointerEvent): void => {\n rippleActions?.onRipple(event);\n };\n\n return (\n <Dynamic\n component={local.as ?? \"div\"}\n href={local.href}\n role=\"menuitem\"\n class={cn(\"sidebar__nav__item\", \"smwb-nav-item\", local.variant, { active: local.isActive })}\n onPointerDown={onPointerDown}\n {...rest}\n >\n <Show when={icon()}>\n <span class=\"smwb-nav-item__icon\">{icon()}</span>\n </Show>\n <Show when={local.title}>\n <span class=\"smwb-nav-item__title\">{local.title}</span>\n </Show>\n <Ripple actionRef={(actions) => (rippleActions = actions)} />\n </Dynamic>\n );\n}\n\nexport function Sidebar(props: SidebarProps): JSX.Element {\n const merged = mergeProps(\n {\n variant: \"default\" as SidebarVariant,\n defaultActiveItem: null as number | null,\n collapsible: false,\n defaultCollapsed: false,\n collapseToggleAriaLabel: \"Toggle navigation\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"variant\",\n \"menuItems\",\n \"activeItem\",\n \"defaultActiveItem\",\n \"onActiveItemChange\",\n \"collapsible\",\n \"collapsed\",\n \"defaultCollapsed\",\n \"onCollapsedChange\",\n \"collapseToggleAriaLabel\",\n \"ref\",\n ]);\n\n const [activeItem, setActiveItem] = createControllableState<number | null>({\n value: () => local.activeItem,\n defaultValue: local.defaultActiveItem,\n onChange: (next) => {\n if (next !== null) local.onActiveItemChange?.(next);\n },\n });\n\n const [collapsed, setCollapsed] = createControllableState<boolean>({\n value: () => local.collapsed,\n defaultValue: local.defaultCollapsed,\n onChange: (next) => local.onCollapsedChange?.(next),\n });\n\n // When collapsed the rail always shows the icon-only mini variant.\n const effectiveVariant = (): SidebarVariant => (local.collapsible && collapsed() ? \"compactMini\" : local.variant);\n\n return (\n <aside\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-sidebar\", local.class, `smwb-${effectiveVariant()}`, {\n \"smwb-sidebar_collapsible\": local.collapsible,\n \"smwb-sidebar_collapsed\": local.collapsible && collapsed(),\n })}\n role=\"menubar\"\n >\n <Show when={local.collapsible}>\n <div class=\"smwb-sidebar__collapse\">\n <button\n type=\"button\"\n class=\"smwb-sidebar__collapse-btn\"\n aria-label={local.collapseToggleAriaLabel}\n aria-expanded={!collapsed()}\n onClick={() => setCollapsed(!collapsed())}\n >\n <Icon name={collapsed() ? \"chevron_right\" : \"chevron_left\"} size={20} />\n </button>\n </div>\n </Show>\n <nav class=\"smwb-sidebar__nav\">\n <For each={local.menuItems ?? []}>\n {(item, idx) => (\n <NavItem\n as={item.as}\n isActive={activeItem() === idx()}\n onClick={(event) => {\n setActiveItem(idx());\n if (typeof item.onClick === \"function\") item.onClick(event);\n }}\n icon={item.icon}\n title={item.title}\n href={item.href}\n variant={effectiveVariant()}\n />\n )}\n </For>\n </nav>\n </aside>\n );\n}\n\nexport default Sidebar;\n"],"names":["NavItem","props","local","rest","splitProps","rippleActions","icon","children","_$createComponent","Dynamic","_$mergeProps","component","as","href","role","cn","variant","active","isActive","onPointerDown","event","onRipple","Show","when","_el$","_tmpl$","_$insert","title","_el$2","_tmpl$2","Ripple","actionRef","actions","Sidebar","merged","mergeProps","defaultActiveItem","collapsible","defaultCollapsed","collapseToggleAriaLabel","activeItem","setActiveItem","createControllableState","value","defaultValue","onChange","next","onActiveItemChange","collapsed","setCollapsed","onCollapsedChange","effectiveVariant","_el$3","_tmpl$4","_el$6","firstChild","_ref$","mergeRefs","ref","_$use","_$spread","class","_el$4","_tmpl$3","_el$5","$$click","Icon","name","size","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","undefined","For","each","menuItems","item","idx","onClick","_$delegateEvents"],"mappings":"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"}
@@ -2,6 +2,7 @@ import { type JSX } from "solid-js";
2
2
  import { type Ref } from "../../../primitives/mergeRefs";
3
3
  export interface StepItem {
4
4
  label: JSX.Element;
5
+ /** Longer text under the label, in every orientation. */
5
6
  description?: JSX.Element;
6
7
  optional?: JSX.Element;
7
8
  /** Marks the step as errored. */
@@ -11,12 +12,19 @@ export interface StepItem {
11
12
  /** Custom icon overriding the default number/check. */
12
13
  icon?: JSX.Element;
13
14
  }
15
+ /**
16
+ * `auto` lays the steps out in a row while the stepper's container is wide
17
+ * enough for them — about 8rem per step, a theme variable — and in a column when
18
+ * it is not. It is a CSS container query, so the server renders the same markup
19
+ * and nothing changes on hydration.
20
+ */
21
+ export type StepperOrientation = "horizontal" | "vertical" | "auto";
14
22
  export interface StepperProps extends JSX.HTMLAttributes<HTMLDivElement> {
15
23
  steps: StepItem[];
16
24
  /** Index of the active (current) step. */
17
25
  activeStep: number;
18
- orientation?: "horizontal" | "vertical";
19
- /** Place the label under the icon (horizontal only). */
26
+ orientation?: StepperOrientation;
27
+ /** Place the label under the icon (in a row: horizontal, or auto while wide). */
20
28
  alternativeLabel?: boolean;
21
29
  /** Makes steps clickable; receives the clicked step index. */
22
30
  onStepClick?: (index: number) => void;
@@ -1,96 +1,112 @@
1
- import { use as A, spread as B, mergeProps as D, insert as s, createComponent as o, addEventListener as $, memo as S, effect as F, className as I, setAttribute as c, template as n, delegateEvents as N } from "solid-js/web";
2
- import '../../../assets/styles/less/components/stepper/stepper.entry.css';/* empty css */
3
- import { mergeProps as R, splitProps as j, For as q, Show as d } from "solid-js";
4
- import C from "clsx";
5
- import { mergeRefs as G } from "../../../primitives/mergeRefs.js";
6
- import { Icon as H } from "../../base/icon/icon.js";
7
- var J = /* @__PURE__ */ n("<div>"), K = /* @__PURE__ */ n("<span class=smwb-stepper__optional>"), M = /* @__PURE__ */ n("<span class=smwb-stepper__description>"), O = /* @__PURE__ */ n("<div><div class=smwb-stepper__icon aria-hidden=true></div><div class=smwb-stepper__text><span class=smwb-stepper__label>"), Q = /* @__PURE__ */ n("<div class=smwb-stepper__connector aria-hidden=true>"), T = /* @__PURE__ */ n("<span>");
8
- function x(y) {
9
- const L = R({
1
+ import { createComponent as n, insert as a, template as o, use as B, spread as D, mergeProps as F, memo as y, addEventListener as L, effect as I, className as N, setAttribute as d, delegateEvents as O } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/stepper/stepper.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
3
+ /* empty css */
4
+ import { mergeProps as R, splitProps as U, createMemo as X, Show as c, For as j } from "solid-js";
5
+ import P from "clsx";
6
+ import { mergeRefs as q } from "../../../primitives/mergeRefs.js";
7
+ import { Icon as G } from "../../base/icon/icon.js";
8
+ var H = /* @__PURE__ */ o("<div>"), J = /* @__PURE__ */ o("<span class=smwb-stepper__optional>"), K = /* @__PURE__ */ o("<span class=smwb-stepper__description>"), Q = /* @__PURE__ */ o("<div><div class=smwb-stepper__icon aria-hidden=true></div><div class=smwb-stepper__text><span class=smwb-stepper__label>"), V = /* @__PURE__ */ o("<div class=smwb-stepper__connector aria-hidden=true>"), W = /* @__PURE__ */ o("<span>"), Y = /* @__PURE__ */ o("<div class=smwb-stepper-auto>");
9
+ const Z = 12;
10
+ function ne(E) {
11
+ const z = R({
10
12
  orientation: "horizontal",
11
13
  alternativeLabel: !1
12
- }, y), [t, P] = j(L, ["class", "steps", "activeStep", "orientation", "alternativeLabel", "onStepClick", "ref"]);
13
- return (() => {
14
- var p = J(), _ = G(t.ref);
15
- return typeof _ == "function" && A(_, p), B(p, D(P, {
14
+ }, E), [t, A] = U(z, ["class", "steps", "activeStep", "orientation", "alternativeLabel", "onStepClick", "ref"]), m = X(() => t.steps), _ = () => t.orientation === "auto", u = () => (() => {
15
+ var i = H(), b = q(t.ref);
16
+ return typeof b == "function" && B(b, i), D(i, F(A, {
16
17
  "data-testid": "stepper",
18
+ get "data-steps"() {
19
+ return y(() => !!_())() ? String(Math.min(m().length, Z)) : void 0;
20
+ },
17
21
  get class() {
18
- return C("smwb-stepper", `smwb-stepper_${t.orientation}`, {
19
- "smwb-stepper_alt-label": t.alternativeLabel && t.orientation === "horizontal"
22
+ return P("smwb-stepper", _() ? "smwb-stepper_horizontal smwb-stepper_auto" : `smwb-stepper_${t.orientation}`, {
23
+ "smwb-stepper_alt-label": t.alternativeLabel && t.orientation !== "vertical"
20
24
  }, t.class);
21
25
  }
22
- }), !1, !0), s(p, o(q, {
26
+ }), !1, !0), a(i, n(j, {
23
27
  get each() {
24
- return t.steps;
28
+ return m();
25
29
  },
26
- children: (r, a) => {
27
- const v = () => a() < t.activeStep, b = () => a() === t.activeStep, z = () => a() === t.steps.length - 1, l = () => !!t.onStepClick && !r.disabled;
30
+ children: (r, l) => {
31
+ const w = () => l() < t.activeStep, g = () => l() === t.activeStep, M = () => l() === m().length - 1, p = () => !!t.onStepClick && !r.disabled;
28
32
  return [(() => {
29
- var i = O(), u = i.firstChild, m = u.nextSibling, E = m.firstChild;
30
- return $(i, "keydown", l() ? (e) => {
31
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), t.onStepClick?.(a()));
32
- } : void 0, !0), $(i, "click", l() ? () => t.onStepClick?.(a()) : void 0, !0), s(u, o(d, {
33
+ var s = Q(), h = s.firstChild, v = h.nextSibling, T = v.firstChild;
34
+ return L(s, "keydown", p() ? (e) => {
35
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), t.onStepClick?.(l()));
36
+ } : void 0, !0), L(s, "click", p() ? () => t.onStepClick?.(l()) : void 0, !0), a(h, n(c, {
33
37
  get when() {
34
38
  return r.icon;
35
39
  },
36
40
  get fallback() {
37
- return S(() => !!v())() ? o(H, {
41
+ return y(() => !!w())() ? n(G, {
38
42
  name: "check",
39
43
  size: 16
40
44
  }) : (() => {
41
- var e = T();
42
- return s(e, () => a() + 1), e;
45
+ var e = W();
46
+ return a(e, () => l() + 1), e;
43
47
  })();
44
48
  },
45
49
  get children() {
46
50
  return r.icon;
47
51
  }
48
- })), s(E, () => r.label), s(m, o(d, {
52
+ })), a(T, () => r.label), a(v, n(c, {
49
53
  get when() {
50
54
  return r.optional;
51
55
  },
52
56
  get children() {
53
- var e = K();
54
- return s(e, () => r.optional), e;
57
+ var e = J();
58
+ return a(e, () => r.optional), e;
55
59
  }
56
- }), null), s(m, o(d, {
60
+ }), null), a(v, n(c, {
57
61
  get when() {
58
- return S(() => !!r.description)() && t.orientation === "vertical";
62
+ return r.description;
59
63
  },
60
64
  get children() {
61
- var e = M();
62
- return s(e, () => r.description), e;
65
+ var e = K();
66
+ return a(e, () => r.description), e;
63
67
  }
64
- }), null), F((e) => {
65
- var w = C("smwb-stepper__step", {
66
- "smwb-stepper__step_active": b(),
67
- "smwb-stepper__step_completed": v(),
68
+ }), null), I((e) => {
69
+ var f = P("smwb-stepper__step", {
70
+ "smwb-stepper__step_active": g(),
71
+ "smwb-stepper__step_completed": w(),
68
72
  "smwb-stepper__step_error": r.error,
69
73
  "smwb-stepper__step_disabled": r.disabled,
70
- "smwb-stepper__step_clickable": l()
71
- }), f = b() ? "step" : void 0, g = r.disabled || void 0, h = l() ? "button" : void 0, k = l() ? 0 : void 0;
72
- return w !== e.e && I(i, e.e = w), f !== e.t && c(i, "aria-current", e.t = f), g !== e.a && c(i, "aria-disabled", e.a = g), h !== e.o && c(i, "role", e.o = h), k !== e.i && c(i, "tabindex", e.i = k), e;
74
+ "smwb-stepper__step_clickable": p()
75
+ }), k = g() ? "step" : void 0, $ = r.disabled || void 0, S = p() ? "button" : void 0, C = p() ? 0 : void 0;
76
+ return f !== e.e && N(s, e.e = f), k !== e.t && d(s, "aria-current", e.t = k), $ !== e.a && d(s, "aria-disabled", e.a = $), S !== e.o && d(s, "role", e.o = S), C !== e.i && d(s, "tabindex", e.i = C), e;
73
77
  }, {
74
78
  e: void 0,
75
79
  t: void 0,
76
80
  a: void 0,
77
81
  o: void 0,
78
82
  i: void 0
79
- }), i;
80
- })(), o(d, {
83
+ }), s;
84
+ })(), n(c, {
81
85
  get when() {
82
- return !z();
86
+ return !M();
83
87
  },
84
88
  get children() {
85
- return Q();
89
+ return V();
86
90
  }
87
91
  })];
88
92
  }
89
- })), p;
93
+ })), i;
90
94
  })();
95
+ return n(c, {
96
+ get when() {
97
+ return _();
98
+ },
99
+ get fallback() {
100
+ return u();
101
+ },
102
+ get children() {
103
+ var i = Y();
104
+ return a(i, u), i;
105
+ }
106
+ });
91
107
  }
92
- N(["click", "keydown"]);
108
+ O(["click", "keydown"]);
93
109
  export {
94
- x as Stepper
110
+ ne as Stepper
95
111
  };
96
112
  //# sourceMappingURL=stepper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.js","sources":["../../../../src/components/navigation/stepper/stepper.tsx"],"sourcesContent":["import { type JSX, For, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface StepItem {\n label: JSX.Element;\n description?: JSX.Element;\n optional?: JSX.Element;\n /** Marks the step as errored. */\n error?: boolean;\n /** Disables interaction with the step. */\n disabled?: boolean;\n /** Custom icon overriding the default number/check. */\n icon?: JSX.Element;\n}\n\nexport interface StepperProps extends JSX.HTMLAttributes<HTMLDivElement> {\n steps: StepItem[];\n /** Index of the active (current) step. */\n activeStep: number;\n orientation?: \"horizontal\" | \"vertical\";\n /** Place the label under the icon (horizontal only). */\n alternativeLabel?: boolean;\n /** Makes steps clickable; receives the clicked step index. */\n onStepClick?: (index: number) => void;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function Stepper(props: StepperProps): JSX.Element {\n const merged = mergeProps({ orientation: \"horizontal\" as const, alternativeLabel: false }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"steps\",\n \"activeStep\",\n \"orientation\",\n \"alternativeLabel\",\n \"onStepClick\",\n \"ref\",\n ]);\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"stepper\"\n class={cn(\n \"smwb-stepper\",\n `smwb-stepper_${local.orientation}`,\n { \"smwb-stepper_alt-label\": local.alternativeLabel && local.orientation === \"horizontal\" },\n local.class\n )}\n >\n <For each={local.steps}>\n {(step, index) => {\n const completed = (): boolean => index() < local.activeStep;\n const active = (): boolean => index() === local.activeStep;\n const isLast = (): boolean => index() === local.steps.length - 1;\n const clickable = (): boolean => Boolean(local.onStepClick) && !step.disabled;\n\n return (\n <>\n <div\n class={cn(\"smwb-stepper__step\", {\n \"smwb-stepper__step_active\": active(),\n \"smwb-stepper__step_completed\": completed(),\n \"smwb-stepper__step_error\": step.error,\n \"smwb-stepper__step_disabled\": step.disabled,\n \"smwb-stepper__step_clickable\": clickable(),\n })}\n aria-current={active() ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n role={clickable() ? \"button\" : undefined}\n tabindex={clickable() ? 0 : undefined}\n onClick={clickable() ? () => local.onStepClick?.(index()) : undefined}\n onKeyDown={\n clickable()\n ? (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n local.onStepClick?.(index());\n }\n }\n : undefined\n }\n >\n <div class=\"smwb-stepper__icon\" aria-hidden=\"true\">\n <Show when={step.icon} fallback={completed() ? <Icon name=\"check\" size={16} /> : <span>{index() + 1}</span>}>\n {step.icon}\n </Show>\n </div>\n <div class=\"smwb-stepper__text\">\n <span class=\"smwb-stepper__label\">{step.label}</span>\n <Show when={step.optional}>\n <span class=\"smwb-stepper__optional\">{step.optional}</span>\n </Show>\n <Show when={step.description && local.orientation === \"vertical\"}>\n <span class=\"smwb-stepper__description\">{step.description}</span>\n </Show>\n </div>\n </div>\n <Show when={!isLast()}>\n <div class=\"smwb-stepper__connector\" aria-hidden=\"true\" />\n </Show>\n </>\n );\n }}\n </For>\n </div>\n );\n}\n\nexport default Stepper;\n"],"names":["Stepper","props","merged","mergeProps","orientation","alternativeLabel","local","rest","splitProps","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","_$insert","_$createComponent","For","each","steps","children","step","index","completed","activeStep","active","isLast","length","clickable","Boolean","onStepClick","disabled","_el$2","_tmpl$4","_el$3","firstChild","_el$4","nextSibling","_el$5","_$addEventListener","event","key","preventDefault","undefined","Show","when","icon","fallback","_$memo","Icon","name","size","_el$9","_tmpl$6","label","optional","_el$6","_tmpl$2","description","_el$7","_tmpl$3","_$effect","_p$","_v$","error","_v$2","_v$3","_v$4","_v$5","e","_$className","t","_$setAttribute","a","o","i","_tmpl$5","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"stepper.js","sources":["../../../../src/components/navigation/stepper/stepper.tsx"],"sourcesContent":["import { type JSX, For, Show, createMemo, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface StepItem {\n label: JSX.Element;\n /** Longer text under the label, in every orientation. */\n description?: JSX.Element;\n optional?: JSX.Element;\n /** Marks the step as errored. */\n error?: boolean;\n /** Disables interaction with the step. */\n disabled?: boolean;\n /** Custom icon overriding the default number/check. */\n icon?: JSX.Element;\n}\n\n/**\n * `auto` lays the steps out in a row while the stepper's container is wide\n * enough for them — about 8rem per step, a theme variable — and in a column when\n * it is not. It is a CSS container query, so the server renders the same markup\n * and nothing changes on hydration.\n */\nexport type StepperOrientation = \"horizontal\" | \"vertical\" | \"auto\";\n\nexport interface StepperProps extends JSX.HTMLAttributes<HTMLDivElement> {\n steps: StepItem[];\n /** Index of the active (current) step. */\n activeStep: number;\n orientation?: StepperOrientation;\n /** Place the label under the icon (in a row: horizontal, or auto while wide). */\n alternativeLabel?: boolean;\n /** Makes steps clickable; receives the clicked step index. */\n onStepClick?: (index: number) => void;\n ref?: Ref<HTMLDivElement>;\n}\n\n/** Step counts with their own `auto` breakpoint; longer steppers use the last one. */\nconst AUTO_MAX_STEPS = 12;\n\nexport function Stepper(props: StepperProps): JSX.Element {\n const merged = mergeProps({ orientation: \"horizontal\" as StepperOrientation, alternativeLabel: false }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"steps\",\n \"activeStep\",\n \"orientation\",\n \"alternativeLabel\",\n \"onStepClick\",\n \"ref\",\n ]);\n\n // Read the steps once. An inline array is re-evaluated on every read, creating\n // the markup in it (icons, labels, descriptions) again; during hydration a copy\n // that is not the rendered one has no server DOM node to adopt.\n const steps = createMemo(() => local.steps);\n const auto = (): boolean => local.orientation === \"auto\";\n\n const stepper = (): JSX.Element => (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"stepper\"\n data-steps={auto() ? String(Math.min(steps().length, AUTO_MAX_STEPS)) : undefined}\n class={cn(\n \"smwb-stepper\",\n auto() ? \"smwb-stepper_horizontal smwb-stepper_auto\" : `smwb-stepper_${local.orientation}`,\n { \"smwb-stepper_alt-label\": local.alternativeLabel && local.orientation !== \"vertical\" },\n local.class\n )}\n >\n <For each={steps()}>\n {(step, index) => {\n const completed = (): boolean => index() < local.activeStep;\n const active = (): boolean => index() === local.activeStep;\n const isLast = (): boolean => index() === steps().length - 1;\n const clickable = (): boolean => Boolean(local.onStepClick) && !step.disabled;\n\n return (\n <>\n <div\n class={cn(\"smwb-stepper__step\", {\n \"smwb-stepper__step_active\": active(),\n \"smwb-stepper__step_completed\": completed(),\n \"smwb-stepper__step_error\": step.error,\n \"smwb-stepper__step_disabled\": step.disabled,\n \"smwb-stepper__step_clickable\": clickable(),\n })}\n aria-current={active() ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n role={clickable() ? \"button\" : undefined}\n tabindex={clickable() ? 0 : undefined}\n onClick={clickable() ? () => local.onStepClick?.(index()) : undefined}\n onKeyDown={\n clickable()\n ? (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n local.onStepClick?.(index());\n }\n }\n : undefined\n }\n >\n <div class=\"smwb-stepper__icon\" aria-hidden=\"true\">\n <Show when={step.icon} fallback={completed() ? <Icon name=\"check\" size={16} /> : <span>{index() + 1}</span>}>\n {step.icon}\n </Show>\n </div>\n <div class=\"smwb-stepper__text\">\n <span class=\"smwb-stepper__label\">{step.label}</span>\n <Show when={step.optional}>\n <span class=\"smwb-stepper__optional\">{step.optional}</span>\n </Show>\n <Show when={step.description}>\n <span class=\"smwb-stepper__description\">{step.description}</span>\n </Show>\n </div>\n </div>\n <Show when={!isLast()}>\n <div class=\"smwb-stepper__connector\" aria-hidden=\"true\" />\n </Show>\n </>\n );\n }}\n </For>\n </div>\n );\n\n // `auto` needs a query container around the stepper: its own flex direction is\n // what the container query switches.\n return (\n <Show when={auto()} fallback={stepper()}>\n <div class=\"smwb-stepper-auto\">{stepper()}</div>\n </Show>\n );\n}\n\nexport default Stepper;\n"],"names":["AUTO_MAX_STEPS","Stepper","props","merged","mergeProps","orientation","alternativeLabel","local","rest","splitProps","steps","createMemo","auto","stepper","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","_$memo","String","Math","min","length","undefined","cn","class","_$insert","_$createComponent","For","each","children","step","index","completed","activeStep","active","isLast","clickable","Boolean","onStepClick","disabled","_el$2","_tmpl$4","_el$3","firstChild","_el$4","nextSibling","_el$5","_$addEventListener","event","key","preventDefault","Show","when","icon","fallback","Icon","name","size","_el$9","_tmpl$6","label","optional","_el$6","_tmpl$2","description","_el$7","_tmpl$3","_$effect","_p$","_v$","error","_v$2","_v$3","_v$4","_v$5","e","_$className","t","_$setAttribute","a","o","i","_tmpl$5","_el$0","_tmpl$7","_$delegateEvents"],"mappings":";;;;;;;;AAyCA,MAAMA,IAAiB;AAEhB,SAASC,GAAQC,GAAkC;AACxD,QAAMC,IAASC,EAAW;AAAA,IAAEC,aAAa;AAAA,IAAoCC,kBAAkB;AAAA,EAAA,GAASJ,CAAK,GACvG,CAACK,GAAOC,CAAI,IAAIC,EAAWN,GAAQ,CACvC,SACA,SACA,cACA,eACA,oBACA,eACA,KAAK,CACN,GAKKO,IAAQC,EAAW,MAAMJ,EAAMG,KAAK,GACpCE,IAAOA,MAAeL,EAAMF,gBAAgB,QAE5CQ,IAAUA,OAAe,MAAA;AAAA,QAAAC,IAAAC,EAAAA,GAAAC,IAGtBC,EAAUV,EAAMW,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBb,GAAI;AAAA,MAAA,eAEI;AAAA,MAAS,IAAA,eAAA;AAAA,eACTc,UAAAV,EAAAA,CAAM,EAAA,IAAGW,OAAOC,KAAKC,IAAIf,EAAAA,EAAQgB,QAAQ1B,CAAc,CAAC,IAAI2B;AAAAA,MAAS;AAAA,MAAA,IAAA,QAAA;AAAA,eAC1EC,EACL,gBACAhB,MAAS,8CAA8C,gBAAgBL,EAAMF,WAAW,IACxF;AAAA,UAAE,0BAA0BE,EAAMD,oBAAoBC,EAAMF,gBAAgB;AAAA,QAAA,GAC5EE,EAAMsB,KACR;AAAA,MAAC;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAAhB,GAAAiB,EAEAC,GAAG;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEvB,EAAAA;AAAAA,MAAO;AAAA,MAAAwB,UACfA,CAACC,GAAMC,MAAU;AAChB,cAAMC,IAAYA,MAAeD,EAAAA,IAAU7B,EAAM+B,YAC3CC,IAASA,MAAeH,EAAAA,MAAY7B,EAAM+B,YAC1CE,IAASA,MAAeJ,EAAAA,MAAY1B,EAAAA,EAAQgB,SAAS,GACrDe,IAAYA,MAAeC,EAAQnC,EAAMoC,eAAgB,CAACR,EAAKS;AAErE,eAAA,EAAA,MAAA;AAAA,cAAAC,IAAAC,KAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAG,aAAAC,IAAAF,EAAAD;AAAAI,iBAAAA,EAAAP,GAAA,WAgBQJ,EAAAA,IACKY,CAAAA,MAAU;AACT,aAAIA,EAAMC,QAAQ,WAAWD,EAAMC,QAAQ,SACzCD,EAAME,eAAAA,GACNhD,EAAMoC,cAAcP,GAAO;AAAA,UAE/B,IACAT,QAAS,EAAA,GAAAyB,EAAAP,GAAA,SATNJ,MAAc,MAAMlC,EAAMoC,cAAcP,EAAAA,CAAO,IAAIT,QAAS,EAAA,GAAAG,EAAAiB,GAAAhB,EAalEyB,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAEtB,EAAKuB;AAAAA,YAAI;AAAA,YAAA,IAAEC,WAAQ;AAAA,qBAAErC,UAAAe,GAAW,EAAA,IAAAN,EAAI6B,GAAI;AAAA,gBAACC,MAAI;AAAA,gBAASC,MAAM;AAAA,cAAA,CAAE,KAAA,MAAA;AAAA,oBAAAC,IAAAC,EAAAA;AAAAlC,uBAAAA,EAAAiC,GAAA,MAAc3B,EAAAA,IAAU,CAAC,GAAA2B;AAAAA,cAAA,GAAA;AAAA,YAAQ;AAAA,YAAA,IAAA7B,WAAA;AAAA,qBACxGC,EAAKuB;AAAAA,YAAI;AAAA,UAAA,CAAA,CAAA,GAAA5B,EAAAqB,GAAA,MAIuBhB,EAAK8B,KAAK,GAAAnC,EAAAmB,GAAAlB,EAC5CyB,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAEtB,EAAK+B;AAAAA,YAAQ;AAAA,YAAA,IAAAhC,WAAA;AAAA,kBAAAiC,IAAAC,EAAAA;AAAAtC,qBAAAA,EAAAqC,GAAA,MACehC,EAAK+B,QAAQ,GAAAC;AAAAA,YAAA;AAAA,UAAA,CAAA,GAAA,IAAA,GAAArC,EAAAmB,GAAAlB,EAEpDyB,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAEtB,EAAKkC;AAAAA,YAAW;AAAA,YAAA,IAAAnC,WAAA;AAAA,kBAAAoC,IAAAC,EAAAA;AAAAzC,qBAAAA,EAAAwC,GAAA,MACenC,EAAKkC,WAAW,GAAAC;AAAAA,YAAA;AAAA,UAAA,CAAA,GAAA,IAAA,GAAAE,EAAAC,CAAAA,MAAA;AAAA,gBAAAC,IAlCtD9C,EAAG,sBAAsB;AAAA,cAC9B,6BAA6BW,EAAAA;AAAAA,cAC7B,gCAAgCF,EAAAA;AAAAA,cAChC,4BAA4BF,EAAKwC;AAAAA,cACjC,+BAA+BxC,EAAKS;AAAAA,cACpC,gCAAgCH,EAAAA;AAAAA,YAAU,CAC3C,GAACmC,IACYrC,MAAW,SAASZ,QAASkD,IAC5B1C,EAAKS,YAAYjB,QAASmD,IACnCrC,MAAc,WAAWd,QAASoD,IAC9BtC,EAAAA,IAAc,IAAId;AAAS+C,mBAAAA,MAAAD,EAAAO,KAAAC,EAAApC,GAAA4B,EAAAO,IAAAN,CAAA,GAAAE,MAAAH,EAAAS,KAAAC,EAAAtC,GAAA,gBAAA4B,EAAAS,IAAAN,CAAA,GAAAC,MAAAJ,EAAAW,KAAAD,EAAAtC,GAAA,iBAAA4B,EAAAW,IAAAP,CAAA,GAAAC,MAAAL,EAAAY,KAAAF,EAAAtC,GAAA,QAAA4B,EAAAY,IAAAP,CAAA,GAAAC,MAAAN,EAAAa,KAAAH,EAAAtC,GAAA,YAAA4B,EAAAa,IAAAP,CAAA,GAAAN;AAAAA,UAAA,GAAA;AAAA,YAAAO,GAAArD;AAAAA,YAAAuD,GAAAvD;AAAAA,YAAAyD,GAAAzD;AAAAA,YAAA0D,GAAA1D;AAAAA,YAAA2D,GAAA3D;AAAAA,UAAAA,CAAA,GAAAkB;AAAAA,QAAA,GAAA,GAAAd,EA4BtCyB,GAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAE,CAACjB,EAAAA;AAAAA,UAAQ;AAAA,UAAA,IAAAN,WAAA;AAAA,mBAAAqD,EAAAA;AAAAA,UAAA;AAAA,QAAA,CAAA,CAAA;AAAA,MAK3B;AAAA,IAAA,CAAC,CAAA,GAAAzE;AAAAA,EAAA,GAAA;AAOP,SAAAiB,EACGyB,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAE7C,EAAAA;AAAAA,IAAM;AAAA,IAAA,IAAE+C,WAAQ;AAAA,aAAE9C,EAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAqB,WAAA;AAAA,UAAAsD,IAAAC,EAAAA;AAAA3D,aAAAA,EAAA0D,GACL3E,CAAO,GAAA2E;AAAAA,IAAA;AAAA,EAAA,CAAA;AAG7C;AAEuBE,EAAA,CAAA,SAAA,SAAA,CAAA;"}
@@ -7,6 +7,8 @@ export interface TabProps extends JSX.HTMLAttributes<HTMLButtonElement | HTMLAnc
7
7
  icon?: JSX.Element;
8
8
  stacked?: boolean;
9
9
  tag?: string;
10
+ /** With `tag="a"`: where the link goes, so the tab stays a real link. */
11
+ href?: string;
10
12
  disabled?: boolean;
11
13
  ref?: Ref<HTMLButtonElement | HTMLAnchorElement>;
12
14
  }