@smwb/ui-solid 0.4.0 → 0.4.1

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 (291) hide show
  1. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  2. package/dist/components/layout/appLayout/appLayout.js +43 -43
  3. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  4. package/dist/components/navigation/bottomBar/bottomBar.js +31 -30
  5. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  6. package/dist/components/navigation/sidebar/sidebar.js +48 -47
  7. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  8. package/dist/headless/components/layout/appLayout/appLayout.js +43 -43
  9. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  10. package/dist/headless/components/navigation/bottomBar/bottomBar.js +31 -30
  11. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  12. package/dist/headless/components/navigation/sidebar/sidebar.js +48 -47
  13. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  14. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +1 -1
  15. package/dist/headless/source/components/base/icon/icon.jsx +1 -1
  16. package/dist/headless/source/components/base/ripple/ripple.jsx +1 -1
  17. package/dist/headless/source/components/clickAwayListener/clickAwayListener.jsx +1 -1
  18. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +1 -1
  19. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +1 -1
  20. package/dist/headless/source/components/dataDisplay/badge/badge.jsx +1 -1
  21. package/dist/headless/source/components/dataDisplay/card/card.jsx +1 -1
  22. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +1 -1
  23. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +1 -1
  24. package/dist/headless/source/components/dataDisplay/chat/chatAttachmentImage.jsx +1 -1
  25. package/dist/headless/source/components/dataDisplay/chat/chatAttachments.jsx +1 -1
  26. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -1
  27. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +1 -1
  28. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +1 -1
  29. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +1 -1
  30. package/dist/headless/source/components/dataDisplay/chat/chatMessageAvatar.jsx +1 -1
  31. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +1 -1
  32. package/dist/headless/source/components/dataDisplay/chat/chatMessageIncoming.jsx +1 -1
  33. package/dist/headless/source/components/dataDisplay/chat/chatMessageItem.jsx +1 -1
  34. package/dist/headless/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +1 -1
  35. package/dist/headless/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +1 -1
  36. package/dist/headless/source/components/dataDisplay/chat/chatMessageStatus.jsx +1 -1
  37. package/dist/headless/source/components/dataDisplay/chat/chatMessageSystem.jsx +1 -1
  38. package/dist/headless/source/components/dataDisplay/chat/chatMessages.jsx +1 -1
  39. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +1 -1
  40. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +1 -1
  41. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +1 -1
  42. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +1 -1
  43. package/dist/headless/source/components/dataDisplay/imagesList/imagesList.jsx +1 -1
  44. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +1 -1
  45. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +1 -1
  46. package/dist/headless/source/components/dataDisplay/list/list.jsx +1 -1
  47. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +1 -1
  48. package/dist/headless/source/components/dataDisplay/table/table.jsx +1 -1
  49. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +1 -1
  50. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +1 -1
  51. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +1 -1
  52. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +1 -1
  53. package/dist/headless/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +1 -1
  54. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +1 -1
  55. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +1 -1
  56. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +1 -1
  57. package/dist/headless/source/components/feedBack/message/message.jsx +1 -1
  58. package/dist/headless/source/components/feedBack/modal/modal.jsx +1 -1
  59. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +1 -1
  60. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +1 -1
  61. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +1 -1
  62. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +1 -1
  63. package/dist/headless/source/components/inputs/button/button.jsx +1 -1
  64. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +1 -1
  65. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +1 -1
  66. package/dist/headless/source/components/inputs/datePicker/dataPickerDays.jsx +1 -1
  67. package/dist/headless/source/components/inputs/datePicker/dataPickerHeader.jsx +1 -1
  68. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +1 -1
  69. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +1 -1
  70. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +1 -1
  71. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +1 -1
  72. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +1 -1
  73. package/dist/headless/source/components/inputs/datePicker/datePickerList.jsx +1 -1
  74. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +1 -1
  75. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +1 -1
  76. package/dist/headless/source/components/inputs/fileDrop/countPreview.jsx +1 -1
  77. package/dist/headless/source/components/inputs/fileDrop/fileDrop.jsx +1 -1
  78. package/dist/headless/source/components/inputs/fileDrop/preview.jsx +1 -1
  79. package/dist/headless/source/components/inputs/fileDrop/previewWrapper.jsx +1 -1
  80. package/dist/headless/source/components/inputs/fileInput/fileInput.jsx +1 -1
  81. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +1 -1
  82. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +1 -1
  83. package/dist/headless/source/components/inputs/rating/rating.jsx +1 -1
  84. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +1 -1
  85. package/dist/headless/source/components/inputs/selectField/selectField.jsx +1 -1
  86. package/dist/headless/source/components/inputs/slider/slider.jsx +1 -1
  87. package/dist/headless/source/components/inputs/textField/textField.jsx +1 -1
  88. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +1 -1
  89. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +1 -1
  90. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +1 -1
  91. package/dist/headless/source/components/inputs/timePicker/timePickerColumns.jsx +1 -1
  92. package/dist/headless/source/components/inputs/timePicker/timePickerInput.jsx +1 -1
  93. package/dist/headless/source/components/inputs/timePicker/timePickerList.jsx +1 -1
  94. package/dist/headless/source/components/inputs/toggle/toggle.jsx +1 -1
  95. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +11 -8
  96. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  97. package/dist/headless/source/components/layout/divider/divider.jsx +1 -1
  98. package/dist/headless/source/components/layout/grid/grid.jsx +1 -1
  99. package/dist/headless/source/components/layout/page/page.jsx +1 -1
  100. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +1 -1
  101. package/dist/headless/source/components/layout/screenDivider/screenDivider.jsx +1 -1
  102. package/dist/headless/source/components/layout/sheet/sheet.jsx +1 -1
  103. package/dist/headless/source/components/layout/stack/stack.jsx +1 -1
  104. package/dist/headless/source/components/navigation/appBar/appBar.jsx +1 -1
  105. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +5 -4
  106. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  107. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +1 -1
  108. package/dist/headless/source/components/navigation/menu/menu.jsx +1 -1
  109. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +1 -1
  110. package/dist/headless/source/components/navigation/menu/menuDivider.jsx +1 -1
  111. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +1 -1
  112. package/dist/headless/source/components/navigation/menu/menuItem.jsx +1 -1
  113. package/dist/headless/source/components/navigation/menu/menuItemIcon.jsx +1 -1
  114. package/dist/headless/source/components/navigation/menu/menuItemText.jsx +1 -1
  115. package/dist/headless/source/components/navigation/menu/menuList.jsx +1 -1
  116. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +1 -1
  117. package/dist/headless/source/components/navigation/pagination/pagination.jsx +1 -1
  118. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +5 -4
  119. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  120. package/dist/headless/source/components/navigation/stepper/stepper.jsx +1 -1
  121. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +1 -1
  122. package/dist/headless/source/components/navigation/tabs/tabs.jsx +1 -1
  123. package/dist/source/components/base/animateHeight/animateHeight.jsx +1 -1
  124. package/dist/source/components/base/icon/icon.jsx +2 -2
  125. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  126. package/dist/source/components/base/ripple/ripple.jsx +2 -2
  127. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  128. package/dist/source/components/clickAwayListener/clickAwayListener.jsx +1 -1
  129. package/dist/source/components/dataDisplay/accordion/accordion.jsx +2 -2
  130. package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
  131. package/dist/source/components/dataDisplay/avatar/avatar.jsx +2 -2
  132. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  133. package/dist/source/components/dataDisplay/badge/badge.jsx +2 -2
  134. package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -1
  135. package/dist/source/components/dataDisplay/card/card.jsx +2 -2
  136. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  137. package/dist/source/components/dataDisplay/carousel/carousel.jsx +2 -2
  138. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  139. package/dist/source/components/dataDisplay/chat/chat.jsx +2 -2
  140. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  141. package/dist/source/components/dataDisplay/chat/chatAttachmentImage.jsx +1 -1
  142. package/dist/source/components/dataDisplay/chat/chatAttachments.jsx +1 -1
  143. package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -1
  144. package/dist/source/components/dataDisplay/chat/chatHeader.jsx +1 -1
  145. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +1 -1
  146. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +1 -1
  147. package/dist/source/components/dataDisplay/chat/chatMessageAvatar.jsx +1 -1
  148. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +1 -1
  149. package/dist/source/components/dataDisplay/chat/chatMessageIncoming.jsx +1 -1
  150. package/dist/source/components/dataDisplay/chat/chatMessageItem.jsx +1 -1
  151. package/dist/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +1 -1
  152. package/dist/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +1 -1
  153. package/dist/source/components/dataDisplay/chat/chatMessageStatus.jsx +1 -1
  154. package/dist/source/components/dataDisplay/chat/chatMessageSystem.jsx +1 -1
  155. package/dist/source/components/dataDisplay/chat/chatMessages.jsx +1 -1
  156. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +1 -1
  157. package/dist/source/components/dataDisplay/chat/chatShell.jsx +1 -1
  158. package/dist/source/components/dataDisplay/chip/chip.jsx +2 -2
  159. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  160. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +2 -2
  161. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  162. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +2 -2
  163. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -1
  164. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +2 -2
  165. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
  166. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +1 -1
  167. package/dist/source/components/dataDisplay/list/list.jsx +2 -2
  168. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  169. package/dist/source/components/dataDisplay/list/listItem.jsx +1 -1
  170. package/dist/source/components/dataDisplay/table/table.jsx +2 -2
  171. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  172. package/dist/source/components/dataDisplay/table/tableBody.jsx +1 -1
  173. package/dist/source/components/dataDisplay/table/tableCell.jsx +1 -1
  174. package/dist/source/components/dataDisplay/table/tableHead.jsx +1 -1
  175. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +1 -1
  176. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +2 -2
  177. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -1
  178. package/dist/source/components/dataDisplay/table/tableRow.jsx +1 -1
  179. package/dist/source/components/dataDisplay/treeView/treeView.jsx +2 -2
  180. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  181. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -2
  182. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  183. package/dist/source/components/feedBack/message/message.jsx +2 -2
  184. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  185. package/dist/source/components/feedBack/modal/modal.jsx +2 -2
  186. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  187. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +2 -2
  188. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
  189. package/dist/source/components/feedBack/skeleton/skeleton.jsx +2 -2
  190. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  191. package/dist/source/components/feedBack/snackbar/snackbar.jsx +2 -2
  192. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  193. package/dist/source/components/feedBack/tooltip/tooltip.jsx +2 -2
  194. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  195. package/dist/source/components/inputs/button/button.jsx +2 -2
  196. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  197. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +2 -2
  198. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  199. package/dist/source/components/inputs/checkbox/checkbox.jsx +2 -2
  200. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  201. package/dist/source/components/inputs/datePicker/dataPickerDays.jsx +1 -1
  202. package/dist/source/components/inputs/datePicker/dataPickerHeader.jsx +1 -1
  203. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +1 -1
  204. package/dist/source/components/inputs/datePicker/datePicker.jsx +2 -2
  205. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  206. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +1 -1
  207. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +1 -1
  208. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +1 -1
  209. package/dist/source/components/inputs/datePicker/datePickerList.jsx +1 -1
  210. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +1 -1
  211. package/dist/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +1 -1
  212. package/dist/source/components/inputs/fileDrop/countPreview.jsx +1 -1
  213. package/dist/source/components/inputs/fileDrop/fileDrop.jsx +2 -2
  214. package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -1
  215. package/dist/source/components/inputs/fileDrop/preview.jsx +1 -1
  216. package/dist/source/components/inputs/fileDrop/previewWrapper.jsx +1 -1
  217. package/dist/source/components/inputs/fileInput/fileInput.jsx +2 -2
  218. package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -1
  219. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +2 -2
  220. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  221. package/dist/source/components/inputs/radioButton/radioButton.jsx +2 -2
  222. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  223. package/dist/source/components/inputs/rating/rating.jsx +2 -2
  224. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  225. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +1 -1
  226. package/dist/source/components/inputs/selectField/selectField.jsx +2 -2
  227. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  228. package/dist/source/components/inputs/slider/slider.jsx +2 -2
  229. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  230. package/dist/source/components/inputs/textField/textField.jsx +2 -2
  231. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  232. package/dist/source/components/inputs/textField/textFieldAdornment.jsx +1 -1
  233. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +1 -1
  234. package/dist/source/components/inputs/timePicker/timePicker.jsx +2 -2
  235. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  236. package/dist/source/components/inputs/timePicker/timePickerColumns.jsx +1 -1
  237. package/dist/source/components/inputs/timePicker/timePickerInput.jsx +1 -1
  238. package/dist/source/components/inputs/timePicker/timePickerList.jsx +1 -1
  239. package/dist/source/components/inputs/toggle/toggle.jsx +2 -2
  240. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  241. package/dist/source/components/layout/appLayout/appLayout.jsx +12 -9
  242. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  243. package/dist/source/components/layout/divider/divider.jsx +2 -2
  244. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  245. package/dist/source/components/layout/grid/grid.jsx +2 -2
  246. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  247. package/dist/source/components/layout/page/page.jsx +2 -2
  248. package/dist/source/components/layout/page/page.jsx.map +1 -1
  249. package/dist/source/components/layout/pageHeader/pageHeader.jsx +2 -2
  250. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  251. package/dist/source/components/layout/screenDivider/screenDivider.jsx +2 -2
  252. package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -1
  253. package/dist/source/components/layout/sheet/sheet.jsx +2 -2
  254. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  255. package/dist/source/components/layout/stack/stack.jsx +2 -2
  256. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  257. package/dist/source/components/navigation/appBar/appBar.jsx +2 -2
  258. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  259. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +6 -5
  260. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  261. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +2 -2
  262. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  263. package/dist/source/components/navigation/menu/menu.jsx +2 -2
  264. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  265. package/dist/source/components/navigation/menu/menuComponent.jsx +1 -1
  266. package/dist/source/components/navigation/menu/menuDivider.jsx +1 -1
  267. package/dist/source/components/navigation/menu/menuFloating.jsx +1 -1
  268. package/dist/source/components/navigation/menu/menuItem.jsx +1 -1
  269. package/dist/source/components/navigation/menu/menuItemIcon.jsx +1 -1
  270. package/dist/source/components/navigation/menu/menuItemText.jsx +1 -1
  271. package/dist/source/components/navigation/menu/menuList.jsx +1 -1
  272. package/dist/source/components/navigation/menu/menuSubmenu.jsx +1 -1
  273. package/dist/source/components/navigation/pagination/pagination.jsx +2 -2
  274. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  275. package/dist/source/components/navigation/sidebar/sidebar.jsx +6 -5
  276. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  277. package/dist/source/components/navigation/stepper/stepper.jsx +2 -2
  278. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  279. package/dist/source/components/navigation/tabs/tab/tab.jsx +2 -2
  280. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  281. package/dist/source/components/navigation/tabs/tabs.jsx +2 -2
  282. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  283. package/package.json +5 -3
  284. package/dist/headless/source/ssr-published.ssr-spec.jsx +0 -35
  285. package/dist/headless/source/ssr-published.ssr-spec.jsx.map +0 -1
  286. package/dist/headless/source/ssr.ssr-spec.jsx +0 -113
  287. package/dist/headless/source/ssr.ssr-spec.jsx.map +0 -1
  288. package/dist/source/ssr-published.ssr-spec.jsx +0 -35
  289. package/dist/source/ssr-published.ssr-spec.jsx.map +0 -1
  290. package/dist/source/ssr.ssr-spec.jsx +0 -113
  291. package/dist/source/ssr.ssr-spec.jsx.map +0 -1
@@ -37,4 +37,4 @@ export {
37
37
  DataPickerHeader,
38
38
  dataPickerHeader_default as default
39
39
  };
40
- //# sourceMappingURL=dataPickerHeader.js.map
40
+ //# sourceMappingURL=dataPickerHeader.jsx.map
@@ -54,4 +54,4 @@ export {
54
54
  DataPickerInput,
55
55
  dataPickerInput_default as default
56
56
  };
57
- //# sourceMappingURL=dataPickerInput.js.map
57
+ //# sourceMappingURL=dataPickerInput.jsx.map
@@ -238,4 +238,4 @@ export {
238
238
  OpenView2 as OpenView,
239
239
  datePicker_default as default
240
240
  };
241
- //# sourceMappingURL=datePicker.js.map
241
+ //# sourceMappingURL=datePicker.jsx.map
@@ -45,4 +45,4 @@ export {
45
45
  DatePickerActionLabel,
46
46
  datePickerActionLabel_default as default
47
47
  };
48
- //# sourceMappingURL=datePickerActionLabel.js.map
48
+ //# sourceMappingURL=datePickerActionLabel.jsx.map
@@ -49,4 +49,4 @@ export {
49
49
  DatePickerDay,
50
50
  datePickerDay_default as default
51
51
  };
52
- //# sourceMappingURL=datePickerDay.js.map
52
+ //# sourceMappingURL=datePickerDay.jsx.map
@@ -33,4 +33,4 @@ export {
33
33
  DatePickerIconButton,
34
34
  datePickerIconButton_default as default
35
35
  };
36
- //# sourceMappingURL=datePickerIconButton.js.map
36
+ //# sourceMappingURL=datePickerIconButton.jsx.map
@@ -41,4 +41,4 @@ export {
41
41
  DatePickerList,
42
42
  datePickerList_default as default
43
43
  };
44
- //# sourceMappingURL=datePickerList.js.map
44
+ //# sourceMappingURL=datePickerList.jsx.map
@@ -197,4 +197,4 @@ export {
197
197
  DateTimePicker,
198
198
  dateTimePicker_default as default
199
199
  };
200
- //# sourceMappingURL=dateTimePicker.js.map
200
+ //# sourceMappingURL=dateTimePicker.jsx.map
@@ -54,4 +54,4 @@ export {
54
54
  DateTimePickerInput,
55
55
  dateTimePickerInput_default as default
56
56
  };
57
- //# sourceMappingURL=dateTimePickerInput.js.map
57
+ //# sourceMappingURL=dateTimePickerInput.jsx.map
@@ -14,4 +14,4 @@ export {
14
14
  CountPreview,
15
15
  countPreview_default as default
16
16
  };
17
- //# sourceMappingURL=countPreview.js.map
17
+ //# sourceMappingURL=countPreview.jsx.map
@@ -69,4 +69,4 @@ export {
69
69
  FileDrop,
70
70
  fileDrop_default as default
71
71
  };
72
- //# sourceMappingURL=fileDrop.js.map
72
+ //# sourceMappingURL=fileDrop.jsx.map
@@ -38,4 +38,4 @@ export {
38
38
  Preview,
39
39
  preview_default as default
40
40
  };
41
- //# sourceMappingURL=preview.js.map
41
+ //# sourceMappingURL=preview.jsx.map
@@ -24,4 +24,4 @@ export {
24
24
  PreviewWrapper,
25
25
  previewWrapper_default as default
26
26
  };
27
- //# sourceMappingURL=previewWrapper.js.map
27
+ //# sourceMappingURL=previewWrapper.jsx.map
@@ -43,4 +43,4 @@ export {
43
43
  FileInput,
44
44
  fileInput_default as default
45
45
  };
46
- //# sourceMappingURL=fileInput.js.map
46
+ //# sourceMappingURL=fileInput.jsx.map
@@ -27,4 +27,4 @@ export {
27
27
  FloatingButton,
28
28
  floatingButton_default as default
29
29
  };
30
- //# sourceMappingURL=floatingButton.js.map
30
+ //# sourceMappingURL=floatingButton.jsx.map
@@ -72,4 +72,4 @@ export {
72
72
  RadioButton,
73
73
  radioButton_default as default
74
74
  };
75
- //# sourceMappingURL=radioButton.js.map
75
+ //# sourceMappingURL=radioButton.jsx.map
@@ -121,4 +121,4 @@ export {
121
121
  Rating,
122
122
  rating_default as default
123
123
  };
124
- //# sourceMappingURL=rating.js.map
124
+ //# sourceMappingURL=rating.jsx.map
@@ -138,4 +138,4 @@ export {
138
138
  DropdownMenu,
139
139
  dropdownMenu_default as default
140
140
  };
141
- //# sourceMappingURL=dropdownMenu.js.map
141
+ //# sourceMappingURL=dropdownMenu.jsx.map
@@ -269,4 +269,4 @@ export {
269
269
  SelectField,
270
270
  selectField_default as default
271
271
  };
272
- //# sourceMappingURL=selectField.js.map
272
+ //# sourceMappingURL=selectField.jsx.map
@@ -401,4 +401,4 @@ export {
401
401
  Slider,
402
402
  slider_default as default
403
403
  };
404
- //# sourceMappingURL=slider.js.map
404
+ //# sourceMappingURL=slider.jsx.map
@@ -134,4 +134,4 @@ export {
134
134
  TextField,
135
135
  textField_default as default
136
136
  };
137
- //# sourceMappingURL=textField.js.map
137
+ //# sourceMappingURL=textField.jsx.map
@@ -28,4 +28,4 @@ export {
28
28
  TextFieldAdornment,
29
29
  textFieldAdornment_default as default
30
30
  };
31
- //# sourceMappingURL=textFieldAdornment.js.map
31
+ //# sourceMappingURL=textFieldAdornment.jsx.map
@@ -80,4 +80,4 @@ export {
80
80
  TextFieldWrapper,
81
81
  textFieldWrapper_default as default
82
82
  };
83
- //# sourceMappingURL=textFieldWrapper.js.map
83
+ //# sourceMappingURL=textFieldWrapper.jsx.map
@@ -111,4 +111,4 @@ export {
111
111
  TimePicker,
112
112
  timePicker_default as default
113
113
  };
114
- //# sourceMappingURL=timePicker.js.map
114
+ //# sourceMappingURL=timePicker.jsx.map
@@ -39,4 +39,4 @@ export {
39
39
  TimePickerColumns,
40
40
  timePickerColumns_default as default
41
41
  };
42
- //# sourceMappingURL=timePickerColumns.js.map
42
+ //# sourceMappingURL=timePickerColumns.jsx.map
@@ -54,4 +54,4 @@ export {
54
54
  TimePickerInput,
55
55
  timePickerInput_default as default
56
56
  };
57
- //# sourceMappingURL=timePickerInput.js.map
57
+ //# sourceMappingURL=timePickerInput.jsx.map
@@ -33,4 +33,4 @@ export {
33
33
  TimePickerList,
34
34
  timePickerList_default as default
35
35
  };
36
- //# sourceMappingURL=timePickerList.js.map
36
+ //# sourceMappingURL=timePickerList.jsx.map
@@ -74,4 +74,4 @@ export {
74
74
  Toggle,
75
75
  toggle_default as default
76
76
  };
77
- //# sourceMappingURL=toggle.js.map
77
+ //# sourceMappingURL=toggle.jsx.map
@@ -1,4 +1,4 @@
1
- import { Show, mergeProps, splitProps } from "solid-js";
1
+ import { Show, children, mergeProps, splitProps } from "solid-js";
2
2
  import cn from "clsx";
3
3
  import { Icon } from "../../base/icon";
4
4
  import { createControllableState } from "../../../primitives/createControllableState";
@@ -41,6 +41,9 @@ function AppLayout(props) {
41
41
  onChange: (next) => local.onSidebarCollapsedChange?.(next)
42
42
  });
43
43
  const sidebarId = createId();
44
+ const headerSlot = children(() => local.header);
45
+ const sidebarSlot = children(() => local.sidebar);
46
+ const footerSlot = children(() => local.footer);
44
47
  const style = () => ({
45
48
  "--smui-app-sidebar-w": collapsed() ? len(local.sidebarCollapsedWidth) : len(local.sidebarWidth),
46
49
  ...typeof local.style === "object" && local.style ? local.style : {}
@@ -56,11 +59,11 @@ function AppLayout(props) {
56
59
  )}
57
60
  style={style()}
58
61
  >
59
- <Show when={local.header}>
60
- <div class="smwb-app-layout__header">{local.header}</div>
62
+ <Show when={headerSlot()}>
63
+ <div class="smwb-app-layout__header">{headerSlot()}</div>
61
64
  </Show>
62
65
  <div class="smwb-app-layout__body">
63
- <Show when={local.sidebar}>
66
+ <Show when={sidebarSlot()}>
64
67
  <aside id={sidebarId} class="smwb-app-layout__sidebar">
65
68
  <Show when={local.collapsible}>
66
69
  <div class="smwb-app-layout__collapse">
@@ -81,13 +84,13 @@ function AppLayout(props) {
81
84
  </Show>
82
85
  </div>
83
86
  </Show>
84
- {local.sidebar}
87
+ {sidebarSlot()}
85
88
  </aside>
86
89
  </Show>
87
90
  <div class="smwb-app-layout__content">
88
91
  {local.children}
89
- <Show when={local.footer}>
90
- <div class="smwb-app-layout__footer">{local.footer}</div>
92
+ <Show when={footerSlot()}>
93
+ <div class="smwb-app-layout__footer">{footerSlot()}</div>
91
94
  </Show>
92
95
  </div>
93
96
  </div>
@@ -98,4 +101,4 @@ export {
98
101
  AppLayout,
99
102
  appLayout_default as default
100
103
  };
101
- //# sourceMappingURL=appLayout.js.map
104
+ //# sourceMappingURL=appLayout.jsx.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/layout/appLayout/appLayout.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { createId } from \"../../../primitives/createId\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface AppLayoutProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /** Top bar slot (e.g. <AppBar />). Spans full width. */\n header?: JSX.Element;\n /** Side navigation slot (e.g. <Sidebar />). */\n sidebar?: JSX.Element;\n /** Footer slot, below the content. */\n footer?: JSX.Element;\n /** Sidebar width (px or any CSS length). */\n sidebarWidth?: number | string;\n /** Controlled collapsed state of the sidebar rail. */\n sidebarCollapsed?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultSidebarCollapsed?: boolean;\n /** Called whenever the collapsed state changes. */\n onSidebarCollapsedChange?: (collapsed: boolean) => void;\n /** Renders a built-in toggle button to collapse/expand the sidebar. */\n collapsible?: boolean;\n /** Custom toggle node replacing the default icon button. */\n collapseToggle?: JSX.Element;\n /** Accessible label for the default toggle button. */\n collapseToggleAriaLabel?: string;\n /** Sidebar collapsed width. */\n sidebarCollapsedWidth?: number | string;\n /** Keep the header pinned while content scrolls. */\n stickyHeader?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\nconst len = (v: number | string): string => (typeof v === \"number\" ? `${v}px` : v);\n\nexport function AppLayout(props: ParentProps<AppLayoutProps>): JSX.Element {\n const merged = mergeProps(\n {\n sidebarWidth: 260 as number | string,\n defaultSidebarCollapsed: false,\n collapsible: false,\n collapseToggleAriaLabel: \"Toggle navigation\",\n sidebarCollapsedWidth: 72 as number | string,\n stickyHeader: true,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"header\",\n \"sidebar\",\n \"footer\",\n \"sidebarWidth\",\n \"sidebarCollapsed\",\n \"defaultSidebarCollapsed\",\n \"onSidebarCollapsedChange\",\n \"collapsible\",\n \"collapseToggle\",\n \"collapseToggleAriaLabel\",\n \"sidebarCollapsedWidth\",\n \"stickyHeader\",\n \"class\",\n \"style\",\n \"children\",\n \"ref\",\n ]);\n\n const [collapsed, setCollapsed] = createControllableState<boolean>({\n value: () => local.sidebarCollapsed,\n defaultValue: local.defaultSidebarCollapsed,\n onChange: (next) => local.onSidebarCollapsedChange?.(next),\n });\n\n const sidebarId = createId();\n\n const style = (): JSX.CSSProperties => ({\n \"--smui-app-sidebar-w\": collapsed() ? len(local.sidebarCollapsedWidth) : len(local.sidebarWidth),\n ...(typeof local.style === \"object\" && local.style ? local.style : {}),\n });\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"app-layout\"\n class={cn(\n \"smwb-app-layout\",\n { \"smwb-app-layout_sticky-header\": local.stickyHeader, \"smwb-app-layout_collapsed\": collapsed() },\n local.class\n )}\n style={style()}\n >\n <Show when={local.header}>\n <div class=\"smwb-app-layout__header\">{local.header}</div>\n </Show>\n <div class=\"smwb-app-layout__body\">\n <Show when={local.sidebar}>\n <aside id={sidebarId} class=\"smwb-app-layout__sidebar\">\n <Show when={local.collapsible}>\n <div class=\"smwb-app-layout__collapse\">\n <Show\n when={local.collapseToggle}\n fallback={\n <button\n type=\"button\"\n class=\"smwb-app-layout__collapse-btn\"\n aria-label={local.collapseToggleAriaLabel}\n aria-expanded={!collapsed()}\n aria-controls={sidebarId}\n onClick={() => setCollapsed(!collapsed())}\n >\n <Icon name={collapsed() ? \"chevron_right\" : \"chevron_left\"} size={20} />\n </button>\n }\n >\n {local.collapseToggle}\n </Show>\n </div>\n </Show>\n {local.sidebar}\n </aside>\n </Show>\n <div class=\"smwb-app-layout__content\">\n {local.children}\n <Show when={local.footer}>\n <div class=\"smwb-app-layout__footer\">{local.footer}</div>\n </Show>\n </div>\n </div>\n </div>\n );\n}\n\nexport default AppLayout;\n"],"mappings":"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","names":[],"file":"appLayout.jsx"}
1
+ {"version":3,"sources":["../../../../../../src/components/layout/appLayout/appLayout.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { createId } from \"../../../primitives/createId\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface AppLayoutProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /** Top bar slot (e.g. <AppBar />). Spans full width. */\n header?: JSX.Element;\n /** Side navigation slot (e.g. <Sidebar />). */\n sidebar?: JSX.Element;\n /** Footer slot, below the content. */\n footer?: JSX.Element;\n /** Sidebar width (px or any CSS length). */\n sidebarWidth?: number | string;\n /** Controlled collapsed state of the sidebar rail. */\n sidebarCollapsed?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultSidebarCollapsed?: boolean;\n /** Called whenever the collapsed state changes. */\n onSidebarCollapsedChange?: (collapsed: boolean) => void;\n /** Renders a built-in toggle button to collapse/expand the sidebar. */\n collapsible?: boolean;\n /** Custom toggle node replacing the default icon button. */\n collapseToggle?: JSX.Element;\n /** Accessible label for the default toggle button. */\n collapseToggleAriaLabel?: string;\n /** Sidebar collapsed width. */\n sidebarCollapsedWidth?: number | string;\n /** Keep the header pinned while content scrolls. */\n stickyHeader?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\nconst len = (v: number | string): string => (typeof v === \"number\" ? `${v}px` : v);\n\nexport function AppLayout(props: ParentProps<AppLayoutProps>): JSX.Element {\n const merged = mergeProps(\n {\n sidebarWidth: 260 as number | string,\n defaultSidebarCollapsed: false,\n collapsible: false,\n collapseToggleAriaLabel: \"Toggle navigation\",\n sidebarCollapsedWidth: 72 as number | string,\n stickyHeader: true,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"header\",\n \"sidebar\",\n \"footer\",\n \"sidebarWidth\",\n \"sidebarCollapsed\",\n \"defaultSidebarCollapsed\",\n \"onSidebarCollapsedChange\",\n \"collapsible\",\n \"collapseToggle\",\n \"collapseToggleAriaLabel\",\n \"sidebarCollapsedWidth\",\n \"stickyHeader\",\n \"class\",\n \"style\",\n \"children\",\n \"ref\",\n ]);\n\n const [collapsed, setCollapsed] = createControllableState<boolean>({\n value: () => local.sidebarCollapsed,\n defaultValue: local.defaultSidebarCollapsed,\n onChange: (next) => local.onSidebarCollapsedChange?.(next),\n });\n\n const sidebarId = createId();\n\n // Resolve slot props through `children()` so each is created once, in THIS\n // component's reactive context. A pre-created element passed straight into a\n // <Show> gets its hydration key at the caller's position but renders at the\n // Show's, so the hydration walk can't find it (\"Unable to find DOM nodes for\n // key\"). Resolving here keeps the key sequence aligned on server and client.\n const headerSlot = children(() => local.header);\n const sidebarSlot = children(() => local.sidebar);\n const footerSlot = children(() => local.footer);\n\n const style = (): JSX.CSSProperties => ({\n \"--smui-app-sidebar-w\": collapsed() ? len(local.sidebarCollapsedWidth) : len(local.sidebarWidth),\n ...(typeof local.style === \"object\" && local.style ? local.style : {}),\n });\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"app-layout\"\n class={cn(\n \"smwb-app-layout\",\n { \"smwb-app-layout_sticky-header\": local.stickyHeader, \"smwb-app-layout_collapsed\": collapsed() },\n local.class\n )}\n style={style()}\n >\n <Show when={headerSlot()}>\n <div class=\"smwb-app-layout__header\">{headerSlot()}</div>\n </Show>\n <div class=\"smwb-app-layout__body\">\n <Show when={sidebarSlot()}>\n <aside id={sidebarId} class=\"smwb-app-layout__sidebar\">\n <Show when={local.collapsible}>\n <div class=\"smwb-app-layout__collapse\">\n <Show\n when={local.collapseToggle}\n fallback={\n <button\n type=\"button\"\n class=\"smwb-app-layout__collapse-btn\"\n aria-label={local.collapseToggleAriaLabel}\n aria-expanded={!collapsed()}\n aria-controls={sidebarId}\n onClick={() => setCollapsed(!collapsed())}\n >\n <Icon name={collapsed() ? \"chevron_right\" : \"chevron_left\"} size={20} />\n </button>\n }\n >\n {local.collapseToggle}\n </Show>\n </div>\n </Show>\n {sidebarSlot()}\n </aside>\n </Show>\n <div class=\"smwb-app-layout__content\">\n {local.children}\n <Show when={footerSlot()}>\n <div class=\"smwb-app-layout__footer\">{footerSlot()}</div>\n </Show>\n </div>\n </div>\n </div>\n );\n}\n\nexport default AppLayout;\n"],"mappings":"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","names":[],"file":"appLayout.jsx"}
@@ -65,4 +65,4 @@ export {
65
65
  Divider,
66
66
  divider_default as default
67
67
  };
68
- //# sourceMappingURL=divider.js.map
68
+ //# sourceMappingURL=divider.jsx.map
@@ -109,4 +109,4 @@ export {
109
109
  justifyContentOptions,
110
110
  wrapOptions
111
111
  };
112
- //# sourceMappingURL=grid.js.map
112
+ //# sourceMappingURL=grid.jsx.map
@@ -25,4 +25,4 @@ export {
25
25
  Page,
26
26
  page_default as default
27
27
  };
28
- //# sourceMappingURL=page.js.map
28
+ //# sourceMappingURL=page.jsx.map
@@ -49,4 +49,4 @@ export {
49
49
  PageHeader,
50
50
  pageHeader_default as default
51
51
  };
52
- //# sourceMappingURL=pageHeader.js.map
52
+ //# sourceMappingURL=pageHeader.jsx.map
@@ -126,4 +126,4 @@ export {
126
126
  ScreenDivider,
127
127
  screenDivider_default as default
128
128
  };
129
- //# sourceMappingURL=screenDivider.js.map
129
+ //# sourceMappingURL=screenDivider.jsx.map
@@ -258,4 +258,4 @@ export {
258
258
  Sheet,
259
259
  sheet_default as default
260
260
  };
261
- //# sourceMappingURL=sheet.js.map
261
+ //# sourceMappingURL=sheet.jsx.map
@@ -50,4 +50,4 @@ export {
50
50
  Stack,
51
51
  stack_default as default
52
52
  };
53
- //# sourceMappingURL=stack.js.map
53
+ //# sourceMappingURL=stack.jsx.map
@@ -62,4 +62,4 @@ export {
62
62
  AppBar,
63
63
  appBar_default as default
64
64
  };
65
- //# sourceMappingURL=appBar.js.map
65
+ //# sourceMappingURL=appBar.jsx.map
@@ -1,4 +1,4 @@
1
- import { For, Show, createSignal, mergeProps, splitProps } from "solid-js";
1
+ import { For, Show, children, createSignal, mergeProps, splitProps } from "solid-js";
2
2
  import { Dynamic } from "solid-js/web";
3
3
  import cn from "clsx";
4
4
  import { Icon } from "../../base/icon";
@@ -10,6 +10,7 @@ import { callHandler } from "../../../primitives/callHandler";
10
10
  function BarItem(props) {
11
11
  const [local, rest] = splitProps(props, ["isActive", "icon", "title", "as", "href", "ref"]);
12
12
  let rippleActions;
13
+ const icon = children(() => local.icon);
13
14
  const onPointerDown = (event) => {
14
15
  rippleActions?.onRipple(event);
15
16
  };
@@ -22,8 +23,8 @@ function BarItem(props) {
22
23
  onPointerDown={onPointerDown}
23
24
  {...rest}
24
25
  >
25
- <Show when={local.icon}>
26
- <span class="smwb-bottom-bar__item-icon">{local.icon}</span>
26
+ <Show when={icon()}>
27
+ <span class="smwb-bottom-bar__item-icon">{icon()}</span>
27
28
  </Show>
28
29
  <Show when={local.title}>
29
30
  <span class="smwb-bottom-bar__item-title">{local.title}</span>
@@ -131,4 +132,4 @@ export {
131
132
  BottomBar,
132
133
  bottomBar_default as default
133
134
  };
134
- //# sourceMappingURL=bottomBar.js.map
135
+ //# sourceMappingURL=bottomBar.jsx.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/navigation/bottomBar/bottomBar.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { Menu, MenuItem, MenuItemIcon, MenuItemText } from \"../menu\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\nimport type { SidebarMenuItemProps } from \"../sidebar/sidebar\";\n\nexport type BottomBarMenuItemProps = SidebarMenuItemProps;\n\nexport interface BottomBarProps extends JSX.HTMLAttributes<HTMLElement> {\n menuItems?: SidebarMenuItemProps[];\n visibleCount?: number;\n activeItem?: number | null;\n defaultActiveItem?: number | null;\n onActiveItemChange?: (index: number) => void;\n overflowMenuAriaLabel?: string;\n ref?: Ref<HTMLElement>;\n}\n\ninterface BarItemProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: JSX.Element;\n title?: string;\n isActive?: boolean;\n as?: string | undefined;\n href?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\nfunction BarItem(props: BarItemProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"isActive\", \"icon\", \"title\", \"as\", \"href\", \"ref\"]);\n let rippleActions: RippleActionsRef | undefined;\n const onPointerDown = (event: PointerEvent): void => {\n rippleActions?.onRipple(event);\n };\n return (\n <Dynamic\n component={local.as ?? \"div\"}\n ref={mergeRefs(local.ref)}\n href={local.href}\n role=\"menuitem\"\n class={cn(\"smwb-bottom-bar__item\", { \"smwb-bottom-bar__item_active\": local.isActive })}\n onPointerDown={onPointerDown}\n {...rest}\n >\n <Show when={local.icon}>\n <span class=\"smwb-bottom-bar__item-icon\">{local.icon}</span>\n </Show>\n <Show when={local.title}>\n <span class=\"smwb-bottom-bar__item-title\">{local.title}</span>\n </Show>\n <Ripple actionRef={(actions) => (rippleActions = actions)} />\n </Dynamic>\n );\n}\n\nexport function BottomBar(props: BottomBarProps): JSX.Element {\n const merged = mergeProps(\n {\n menuItems: [] as SidebarMenuItemProps[],\n visibleCount: 4,\n defaultActiveItem: null as number | null,\n overflowMenuAriaLabel: \"More navigation\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"menuItems\",\n \"visibleCount\",\n \"activeItem\",\n \"defaultActiveItem\",\n \"onActiveItemChange\",\n \"overflowMenuAriaLabel\",\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 const [overflowOpen, setOverflowOpen] = createSignal(false);\n const [overflowAnchor, setOverflowAnchor] = createSignal<HTMLElement | null>(null);\n\n const safeVisibleCount = (): number => Math.max(0, local.visibleCount);\n const visibleItems = (): SidebarMenuItemProps[] => local.menuItems.slice(0, safeVisibleCount());\n const overflowItems = (): SidebarMenuItemProps[] => local.menuItems.slice(safeVisibleCount());\n const hasOverflow = (): boolean => overflowItems().length > 0;\n const overflowActive = (): boolean =>\n hasOverflow() && activeItem() !== null && (activeItem() as number) >= safeVisibleCount();\n\n return (\n <nav {...rest} ref={mergeRefs(local.ref)} class={cn(\"smwb-bottom-bar\", local.class)} role=\"navigation\">\n <div class=\"smwb-bottom-bar__nav\" role=\"menubar\">\n <For each={visibleItems()}>\n {(item, idx) => (\n <BarItem\n as={item.as}\n isActive={activeItem() === idx()}\n onClick={(event) => {\n setActiveItem(idx());\n callHandler(item.onClick, event);\n }}\n icon={item.icon}\n title={item.title}\n href={item.href}\n />\n )}\n </For>\n <Show when={hasOverflow()}>\n <BarItem\n ref={(el) => setOverflowAnchor(el as HTMLElement)}\n isActive={overflowActive()}\n onClick={() => setOverflowOpen((prev) => !prev)}\n icon={<Icon name=\"menu\" size={24} />}\n aria-label={local.overflowMenuAriaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={overflowOpen()}\n />\n </Show>\n </div>\n <Show when={hasOverflow()}>\n <Menu\n isOpen={overflowOpen()}\n onClose={() => setOverflowOpen(false)}\n anchorElement={overflowAnchor()}\n placement=\"top\"\n dense\n >\n <For each={overflowItems()}>\n {(item, idx) => {\n const itemIndex = (): number => safeVisibleCount() + idx();\n return (\n <MenuItem\n selected={activeItem() === itemIndex()}\n href={item.href}\n onClick={(event) => {\n setActiveItem(itemIndex());\n callHandler(\n item.onClick,\n event as unknown as MouseEvent & { currentTarget: HTMLDivElement; target: Element }\n );\n setOverflowOpen(false);\n }}\n >\n <Show when={item.icon}>\n <MenuItemIcon>{item.icon}</MenuItemIcon>\n </Show>\n <MenuItemText inset={!item.icon}>{item.title}</MenuItemText>\n </MenuItem>\n );\n }}\n </For>\n </Menu>\n </Show>\n </nav>\n );\n}\n\nexport default BottomBar;\n"],"mappings":"AAAA,SAAmB,KAAK,MAAM,cAAc,YAAY,kBAAkB;AAC1E,SAAS,eAAe;AACxB,OAAO,QAAQ;AACf,SAAS,YAAY;AACrB,SAAS,cAAqC;AAC9C,SAAS,MAAM,UAAU,cAAc,oBAAoB;AAC3D,SAAS,+BAA+B;AACxC,SAAS,iBAA2B;AACpC,SAAS,mBAAmB;AAwB5B,SAAS,QAAQ,OAAkC;AACjD,QAAM,CAAC,OAAO,IAAI,IAAI,WAAW,OAAO,CAAC,YAAY,QAAQ,SAAS,MAAM,QAAQ,KAAK,CAAC;AAC1F,MAAI;AACJ,QAAM,gBAAgB,CAAC,UAA8B;AACnD,mBAAe,SAAS,KAAK;AAAA,EAC/B;AACA,SACE,CAAC;AAAA,IACC,WAAW,MAAM,MAAM;AAAA,IACvB,KAAK,UAAU,MAAM,GAAG;AAAA,IACxB,MAAM,MAAM;AAAA,IACZ,KAAK;AAAA,IACL,OAAO,GAAG,yBAAyB,EAAE,gCAAgC,MAAM,SAAS,CAAC;AAAA,IACrF,eAAe;AAAA,QACX;AAAA,GACL;AAAA,MACC,CAAC,KAAK,MAAM,MAAM,MAAM;AAAA,QACtB,CAAC,KAAK,MAAM,8BAA8B,MAAM,KAAK,EAApD,KAA2D;AAAA,MAC9D,EAFC,KAEM;AAAA,MACP,CAAC,KAAK,MAAM,MAAM,OAAO;AAAA,QACvB,CAAC,KAAK,MAAM,+BAA+B,MAAM,MAAM,EAAtD,KAA6D;AAAA,MAChE,EAFC,KAEM;AAAA,MACP,CAAC,OAAO,WAAW,CAAC,YAAa,gBAAgB,SAAU,EAAE;AAAA,IAC/D,EAhBC;AAkBL;AAEO,SAAS,UAAU,OAAoC;AAC5D,QAAM,SAAS;AAAA,IACb;AAAA,MACE,WAAW,CAAC;AAAA,MACZ,cAAc;AAAA,MACd,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,IACzB;AAAA,IACA;AAAA,EACF;AACA,QAAM,CAAC,OAAO,IAAI,IAAI,WAAW,QAAQ;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,CAAC,YAAY,aAAa,IAAI,wBAAuC;AAAA,IACzE,OAAO,MAAM,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IACpB,UAAU,CAAC,SAAS;AAClB,UAAI,SAAS,KAAM,OAAM,qBAAqB,IAAI;AAAA,IACpD;AAAA,EACF,CAAC;AACD,QAAM,CAAC,cAAc,eAAe,IAAI,aAAa,KAAK;AAC1D,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,aAAiC,IAAI;AAEjF,QAAM,mBAAmB,MAAc,KAAK,IAAI,GAAG,MAAM,YAAY;AACrE,QAAM,eAAe,MAA8B,MAAM,UAAU,MAAM,GAAG,iBAAiB,CAAC;AAC9F,QAAM,gBAAgB,MAA8B,MAAM,UAAU,MAAM,iBAAiB,CAAC;AAC5F,QAAM,cAAc,MAAe,cAAc,EAAE,SAAS;AAC5D,QAAM,iBAAiB,MACrB,YAAY,KAAK,WAAW,MAAM,QAAS,WAAW,KAAgB,iBAAiB;AAEzF,SACE,CAAC,QAAQ,MAAM,KAAK,UAAU,MAAM,GAAG,GAAG,OAAO,GAAG,mBAAmB,MAAM,KAAK,GAAG,KAAK,aAAa;AAAA,MACrG,CAAC,IAAI,MAAM,uBAAuB,KAAK,UAAU;AAAA,QAC/C,CAAC,IAAI,MAAM,aAAa,GAAG;AAAA,WACxB,CAAC,MAAM,QACN,CAAC;AAAA,IACC,IAAI,KAAK;AAAA,IACT,UAAU,WAAW,MAAM,IAAI;AAAA,IAC/B,SAAS,CAAC,UAAU;AAClB,oBAAc,IAAI,CAAC;AACnB,kBAAY,KAAK,SAAS,KAAK;AAAA,IACjC;AAAA,IACA,MAAM,KAAK;AAAA,IACX,OAAO,KAAK;AAAA,IACZ,MAAM,KAAK;AAAA,EACb,GACA;AAAA,QACJ,EAdC,IAcK;AAAA,QACN,CAAC,KAAK,MAAM,YAAY,GAAG;AAAA,UACzB,CAAC;AAAA,IACC,KAAK,CAAC,OAAO,kBAAkB,EAAiB;AAAA,IAChD,UAAU,eAAe;AAAA,IACzB,SAAS,MAAM,gBAAgB,CAAC,SAAS,CAAC,IAAI;AAAA,IAC9C,MAAM,CAAC,KAAK,KAAK,OAAO,MAAM,IAAI;AAAA,IAClC,YAAY,MAAM;AAAA,IAClB,cAAc;AAAA,IACd,eAAe,aAAa;AAAA,EAC9B,EAAE;AAAA,QACJ,EAVC,KAUM;AAAA,MACT,EA3BC,IA2BK;AAAA,MACN,CAAC,KAAK,MAAM,YAAY,GAAG;AAAA,QACzB,CAAC;AAAA,IACC,QAAQ,aAAa;AAAA,IACrB,SAAS,MAAM,gBAAgB,KAAK;AAAA,IACpC,eAAe,eAAe;AAAA,IAC9B,UAAU;AAAA,IACV;AAAA,GACD;AAAA,UACC,CAAC,IAAI,MAAM,cAAc,GAAG;AAAA,aACzB,CAAC,MAAM,QAAQ;AACd,UAAM,YAAY,MAAc,iBAAiB,IAAI,IAAI;AACzD,WACE,CAAC;AAAA,MACC,UAAU,WAAW,MAAM,UAAU;AAAA,MACrC,MAAM,KAAK;AAAA,MACX,SAAS,CAAC,UAAU;AAClB,sBAAc,UAAU,CAAC;AACzB;AAAA,UACE,KAAK;AAAA,UACL;AAAA,QACF;AACA,wBAAgB,KAAK;AAAA,MACvB;AAAA,KACD;AAAA,kBACC,CAAC,KAAK,MAAM,KAAK,MAAM;AAAA,oBACrB,CAAC,cAAc,KAAK,KAAK,EAAxB,aAAuC;AAAA,kBAC1C,EAFC,KAEM;AAAA,kBACP,CAAC,aAAa,OAAO,CAAC,KAAK,OAAO,KAAK,MAAM,EAA5C,aAA2D;AAAA,gBAC9D,EAhBC;AAAA,EAkBL,EAAE;AAAA,UACJ,EAvBC,IAuBK;AAAA,QACR,EA/BC,KA+BM;AAAA,MACT,EAjCC,KAiCM;AAAA,IACT,EA/DC;AAiEL;AAEA,IAAO,oBAAQ;","names":[],"file":"bottomBar.jsx"}
1
+ {"version":3,"sources":["../../../../../../src/components/navigation/bottomBar/bottomBar.tsx"],"sourcesContent":["import { type JSX, For, Show, children, createSignal, mergeProps, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { Menu, MenuItem, MenuItemIcon, MenuItemText } from \"../menu\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\nimport type { SidebarMenuItemProps } from \"../sidebar/sidebar\";\n\nexport type BottomBarMenuItemProps = SidebarMenuItemProps;\n\nexport interface BottomBarProps extends JSX.HTMLAttributes<HTMLElement> {\n menuItems?: SidebarMenuItemProps[];\n visibleCount?: number;\n activeItem?: number | null;\n defaultActiveItem?: number | null;\n onActiveItemChange?: (index: number) => void;\n overflowMenuAriaLabel?: string;\n ref?: Ref<HTMLElement>;\n}\n\ninterface BarItemProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: JSX.Element;\n title?: string;\n isActive?: boolean;\n as?: string | undefined;\n href?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\nfunction BarItem(props: BarItemProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"isActive\", \"icon\", \"title\", \"as\", \"href\", \"ref\"]);\n let rippleActions: RippleActionsRef | undefined;\n // Resolve the icon in this item's context so a pre-created element passed via\n // menuItems hydrates (see the same fix in Sidebar/AppLayout).\n const icon = children(() => local.icon);\n const onPointerDown = (event: PointerEvent): void => {\n rippleActions?.onRipple(event);\n };\n return (\n <Dynamic\n component={local.as ?? \"div\"}\n ref={mergeRefs(local.ref)}\n href={local.href}\n role=\"menuitem\"\n class={cn(\"smwb-bottom-bar__item\", { \"smwb-bottom-bar__item_active\": local.isActive })}\n onPointerDown={onPointerDown}\n {...rest}\n >\n <Show when={icon()}>\n <span class=\"smwb-bottom-bar__item-icon\">{icon()}</span>\n </Show>\n <Show when={local.title}>\n <span class=\"smwb-bottom-bar__item-title\">{local.title}</span>\n </Show>\n <Ripple actionRef={(actions) => (rippleActions = actions)} />\n </Dynamic>\n );\n}\n\nexport function BottomBar(props: BottomBarProps): JSX.Element {\n const merged = mergeProps(\n {\n menuItems: [] as SidebarMenuItemProps[],\n visibleCount: 4,\n defaultActiveItem: null as number | null,\n overflowMenuAriaLabel: \"More navigation\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"menuItems\",\n \"visibleCount\",\n \"activeItem\",\n \"defaultActiveItem\",\n \"onActiveItemChange\",\n \"overflowMenuAriaLabel\",\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 const [overflowOpen, setOverflowOpen] = createSignal(false);\n const [overflowAnchor, setOverflowAnchor] = createSignal<HTMLElement | null>(null);\n\n const safeVisibleCount = (): number => Math.max(0, local.visibleCount);\n const visibleItems = (): SidebarMenuItemProps[] => local.menuItems.slice(0, safeVisibleCount());\n const overflowItems = (): SidebarMenuItemProps[] => local.menuItems.slice(safeVisibleCount());\n const hasOverflow = (): boolean => overflowItems().length > 0;\n const overflowActive = (): boolean =>\n hasOverflow() && activeItem() !== null && (activeItem() as number) >= safeVisibleCount();\n\n return (\n <nav {...rest} ref={mergeRefs(local.ref)} class={cn(\"smwb-bottom-bar\", local.class)} role=\"navigation\">\n <div class=\"smwb-bottom-bar__nav\" role=\"menubar\">\n <For each={visibleItems()}>\n {(item, idx) => (\n <BarItem\n as={item.as}\n isActive={activeItem() === idx()}\n onClick={(event) => {\n setActiveItem(idx());\n callHandler(item.onClick, event);\n }}\n icon={item.icon}\n title={item.title}\n href={item.href}\n />\n )}\n </For>\n <Show when={hasOverflow()}>\n <BarItem\n ref={(el) => setOverflowAnchor(el as HTMLElement)}\n isActive={overflowActive()}\n onClick={() => setOverflowOpen((prev) => !prev)}\n icon={<Icon name=\"menu\" size={24} />}\n aria-label={local.overflowMenuAriaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={overflowOpen()}\n />\n </Show>\n </div>\n <Show when={hasOverflow()}>\n <Menu\n isOpen={overflowOpen()}\n onClose={() => setOverflowOpen(false)}\n anchorElement={overflowAnchor()}\n placement=\"top\"\n dense\n >\n <For each={overflowItems()}>\n {(item, idx) => {\n const itemIndex = (): number => safeVisibleCount() + idx();\n return (\n <MenuItem\n selected={activeItem() === itemIndex()}\n href={item.href}\n onClick={(event) => {\n setActiveItem(itemIndex());\n callHandler(\n item.onClick,\n event as unknown as MouseEvent & { currentTarget: HTMLDivElement; target: Element }\n );\n setOverflowOpen(false);\n }}\n >\n <Show when={item.icon}>\n <MenuItemIcon>{item.icon}</MenuItemIcon>\n </Show>\n <MenuItemText inset={!item.icon}>{item.title}</MenuItemText>\n </MenuItem>\n );\n }}\n </For>\n </Menu>\n </Show>\n </nav>\n );\n}\n\nexport default BottomBar;\n"],"mappings":"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","names":[],"file":"bottomBar.jsx"}
@@ -59,4 +59,4 @@ export {
59
59
  Breadcrumbs,
60
60
  breadcrumbs_default as default
61
61
  };
62
- //# sourceMappingURL=breadcrumbs.js.map
62
+ //# sourceMappingURL=breadcrumbs.jsx.map
@@ -24,4 +24,4 @@ export {
24
24
  Menu,
25
25
  menu_default as default
26
26
  };
27
- //# sourceMappingURL=menu.js.map
27
+ //# sourceMappingURL=menu.jsx.map
@@ -15,4 +15,4 @@ export {
15
15
  MenuComponent,
16
16
  menuComponent_default as default
17
17
  };
18
- //# sourceMappingURL=menuComponent.js.map
18
+ //# sourceMappingURL=menuComponent.jsx.map
@@ -16,4 +16,4 @@ export {
16
16
  MenuDivider,
17
17
  menuDivider_default as default
18
18
  };
19
- //# sourceMappingURL=menuDivider.js.map
19
+ //# sourceMappingURL=menuDivider.jsx.map
@@ -81,4 +81,4 @@ export {
81
81
  buildMenuFloatingMiddleware,
82
82
  menuFloating_default as default
83
83
  };
84
- //# sourceMappingURL=menuFloating.js.map
84
+ //# sourceMappingURL=menuFloating.jsx.map
@@ -65,4 +65,4 @@ export {
65
65
  MenuItem,
66
66
  menuItem_default as default
67
67
  };
68
- //# sourceMappingURL=menuItem.js.map
68
+ //# sourceMappingURL=menuItem.jsx.map
@@ -22,4 +22,4 @@ export {
22
22
  MenuItemIcon,
23
23
  menuItemIcon_default as default
24
24
  };
25
- //# sourceMappingURL=menuItemIcon.js.map
25
+ //# sourceMappingURL=menuItemIcon.jsx.map
@@ -22,4 +22,4 @@ export {
22
22
  MenuItemText,
23
23
  menuItemText_default as default
24
24
  };
25
- //# sourceMappingURL=menuItemText.js.map
25
+ //# sourceMappingURL=menuItemText.jsx.map
@@ -43,4 +43,4 @@ export {
43
43
  MenuList,
44
44
  menuList_default as default
45
45
  };
46
- //# sourceMappingURL=menuList.js.map
46
+ //# sourceMappingURL=menuList.jsx.map
@@ -83,4 +83,4 @@ export {
83
83
  MenuSubmenu,
84
84
  menuSubmenu_default as default
85
85
  };
86
- //# sourceMappingURL=menuSubmenu.js.map
86
+ //# sourceMappingURL=menuSubmenu.jsx.map
@@ -139,4 +139,4 @@ export {
139
139
  Pagination,
140
140
  pagination_default as default
141
141
  };
142
- //# sourceMappingURL=pagination.js.map
142
+ //# sourceMappingURL=pagination.jsx.map
@@ -1,4 +1,4 @@
1
- import { For, Show, mergeProps, splitProps } from "solid-js";
1
+ import { For, Show, children, mergeProps, splitProps } from "solid-js";
2
2
  import { Dynamic } from "solid-js/web";
3
3
  import cn from "clsx";
4
4
  import { Ripple } from "../../base/ripple";
@@ -8,6 +8,7 @@ import { mergeRefs } from "../../../primitives/mergeRefs";
8
8
  function NavItem(props) {
9
9
  const [local, rest] = splitProps(props, ["isActive", "icon", "title", "as", "href", "variant"]);
10
10
  let rippleActions;
11
+ const icon = children(() => local.icon);
11
12
  const onPointerDown = (event) => {
12
13
  rippleActions?.onRipple(event);
13
14
  };
@@ -19,8 +20,8 @@ function NavItem(props) {
19
20
  onPointerDown={onPointerDown}
20
21
  {...rest}
21
22
  >
22
- <Show when={local.icon}>
23
- <span class="smwb-nav-item__icon">{local.icon}</span>
23
+ <Show when={icon()}>
24
+ <span class="smwb-nav-item__icon">{icon()}</span>
24
25
  </Show>
25
26
  <Show when={local.title}>
26
27
  <span class="smwb-nav-item__title">{local.title}</span>
@@ -111,4 +112,4 @@ export {
111
112
  Sidebar,
112
113
  sidebar_default as default
113
114
  };
114
- //# sourceMappingURL=sidebar.js.map
115
+ //# sourceMappingURL=sidebar.jsx.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["import { type JSX, For, Show, 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 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={local.icon}>\n <span class=\"smwb-nav-item__icon\">{local.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"],"mappings":"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","names":[],"file":"sidebar.jsx"}
1
+ {"version":3,"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"],"mappings":"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","names":[],"file":"sidebar.jsx"}
@@ -79,4 +79,4 @@ export {
79
79
  Stepper,
80
80
  stepper_default as default
81
81
  };
82
- //# sourceMappingURL=stepper.js.map
82
+ //# sourceMappingURL=stepper.jsx.map
@@ -72,4 +72,4 @@ export {
72
72
  Tab,
73
73
  tab_default as default
74
74
  };
75
- //# sourceMappingURL=tab.js.map
75
+ //# sourceMappingURL=tab.jsx.map