@smwb/ui-solid 0.4.0 → 0.5.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 (406) hide show
  1. package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
  2. package/dist/assets/styles/less/components/assetGrid/assetGrid.entry.css +1 -0
  3. package/dist/assets/styles/less/components/chipGroup/chipGroup.entry.css +1 -0
  4. package/dist/assets/styles/less/components/lazyImage/lazyImage.entry.css +1 -0
  5. package/dist/assets/styles/less/components/overflowMenu/overflowMenu.entry.css +1 -0
  6. package/dist/assets/styles/less/components/saveAssetDialog/saveAssetDialog.entry.css +1 -0
  7. package/dist/assets/styles/less/components/sheet/sheet.entry.css +1 -1
  8. package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -0
  9. package/dist/assets/styles/less/components/valueSlider/valueSlider.entry.css +1 -0
  10. package/dist/components/dataDisplay/assetGrid/assetGrid.d.ts +30 -0
  11. package/dist/components/dataDisplay/assetGrid/assetGrid.js +144 -0
  12. package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -0
  13. package/dist/components/dataDisplay/assetGrid/index.d.ts +2 -0
  14. package/dist/components/dataDisplay/chipGroup/chipGroup.d.ts +27 -0
  15. package/dist/components/dataDisplay/chipGroup/chipGroup.js +58 -0
  16. package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -0
  17. package/dist/components/dataDisplay/chipGroup/index.d.ts +2 -0
  18. package/dist/components/dataDisplay/lazyImage/index.d.ts +2 -0
  19. package/dist/components/dataDisplay/lazyImage/lazyImage.d.ts +24 -0
  20. package/dist/components/dataDisplay/lazyImage/lazyImage.js +73 -0
  21. package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -0
  22. package/dist/components/dataDisplay/thumbCard/index.d.ts +2 -0
  23. package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +31 -0
  24. package/dist/components/dataDisplay/thumbCard/thumbCard.js +114 -0
  25. package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -0
  26. package/dist/components/feedBack/saveAssetDialog/index.d.ts +2 -0
  27. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.d.ts +30 -0
  28. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +101 -0
  29. package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -0
  30. package/dist/components/inputs/valueSlider/index.d.ts +2 -0
  31. package/dist/components/inputs/valueSlider/valueSlider.d.ts +23 -0
  32. package/dist/components/inputs/valueSlider/valueSlider.js +57 -0
  33. package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -0
  34. package/dist/components/layout/appLayout/appLayout.js +43 -43
  35. package/dist/components/layout/appLayout/appLayout.js.map +1 -1
  36. package/dist/components/navigation/bottomBar/bottomBar.js +31 -30
  37. package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
  38. package/dist/components/navigation/overflowMenu/index.d.ts +2 -0
  39. package/dist/components/navigation/overflowMenu/overflowMenu.d.ts +27 -0
  40. package/dist/components/navigation/overflowMenu/overflowMenu.js +88 -0
  41. package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -0
  42. package/dist/components/navigation/sidebar/sidebar.js +48 -47
  43. package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
  44. package/dist/headless/components/dataDisplay/assetGrid/assetGrid.js +143 -0
  45. package/dist/headless/components/dataDisplay/assetGrid/assetGrid.js.map +1 -0
  46. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +57 -0
  47. package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -0
  48. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +72 -0
  49. package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -0
  50. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +113 -0
  51. package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -0
  52. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +100 -0
  53. package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -0
  54. package/dist/headless/components/inputs/valueSlider/valueSlider.js +56 -0
  55. package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -0
  56. package/dist/headless/components/layout/appLayout/appLayout.js +43 -43
  57. package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
  58. package/dist/headless/components/navigation/bottomBar/bottomBar.js +31 -30
  59. package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
  60. package/dist/headless/components/navigation/overflowMenu/overflowMenu.js +87 -0
  61. package/dist/headless/components/navigation/overflowMenu/overflowMenu.js.map +1 -0
  62. package/dist/headless/components/navigation/sidebar/sidebar.js +48 -47
  63. package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
  64. package/dist/headless/index.js +278 -264
  65. package/dist/headless/index.js.map +1 -1
  66. package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +1 -1
  67. package/dist/headless/source/components/base/icon/icon.jsx +1 -1
  68. package/dist/headless/source/components/base/ripple/ripple.jsx +1 -1
  69. package/dist/headless/source/components/clickAwayListener/clickAwayListener.jsx +1 -1
  70. package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +1 -1
  71. package/dist/headless/source/components/dataDisplay/assetGrid/assetGrid.jsx +115 -0
  72. package/dist/headless/source/components/dataDisplay/assetGrid/assetGrid.jsx.map +1 -0
  73. package/dist/headless/source/components/dataDisplay/assetGrid/index.js +5 -0
  74. package/dist/headless/source/components/dataDisplay/assetGrid/index.js.map +7 -0
  75. package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +1 -1
  76. package/dist/headless/source/components/dataDisplay/badge/badge.jsx +1 -1
  77. package/dist/headless/source/components/dataDisplay/card/card.jsx +1 -1
  78. package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +1 -1
  79. package/dist/headless/source/components/dataDisplay/chat/chat.jsx +1 -1
  80. package/dist/headless/source/components/dataDisplay/chat/chatAttachmentImage.jsx +1 -1
  81. package/dist/headless/source/components/dataDisplay/chat/chatAttachments.jsx +1 -1
  82. package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -1
  83. package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +1 -1
  84. package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +1 -1
  85. package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +1 -1
  86. package/dist/headless/source/components/dataDisplay/chat/chatMessageAvatar.jsx +1 -1
  87. package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +1 -1
  88. package/dist/headless/source/components/dataDisplay/chat/chatMessageIncoming.jsx +1 -1
  89. package/dist/headless/source/components/dataDisplay/chat/chatMessageItem.jsx +1 -1
  90. package/dist/headless/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +1 -1
  91. package/dist/headless/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +1 -1
  92. package/dist/headless/source/components/dataDisplay/chat/chatMessageStatus.jsx +1 -1
  93. package/dist/headless/source/components/dataDisplay/chat/chatMessageSystem.jsx +1 -1
  94. package/dist/headless/source/components/dataDisplay/chat/chatMessages.jsx +1 -1
  95. package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +1 -1
  96. package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +1 -1
  97. package/dist/headless/source/components/dataDisplay/chip/chip.jsx +1 -1
  98. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +50 -0
  99. package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -0
  100. package/dist/headless/source/components/dataDisplay/chipGroup/index.js +5 -0
  101. package/dist/headless/source/components/dataDisplay/chipGroup/index.js.map +7 -0
  102. package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +1 -1
  103. package/dist/headless/source/components/dataDisplay/imagesList/imagesList.jsx +1 -1
  104. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +1 -1
  105. package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +1 -1
  106. package/dist/headless/source/components/dataDisplay/lazyImage/index.js +5 -0
  107. package/dist/headless/source/components/dataDisplay/lazyImage/index.js.map +7 -0
  108. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +64 -0
  109. package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -0
  110. package/dist/headless/source/components/dataDisplay/list/list.jsx +1 -1
  111. package/dist/headless/source/components/dataDisplay/list/listItem.jsx +1 -1
  112. package/dist/headless/source/components/dataDisplay/table/table.jsx +1 -1
  113. package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +1 -1
  114. package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +1 -1
  115. package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +1 -1
  116. package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +1 -1
  117. package/dist/headless/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +1 -1
  118. package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +1 -1
  119. package/dist/headless/source/components/dataDisplay/thumbCard/index.js +5 -0
  120. package/dist/headless/source/components/dataDisplay/thumbCard/index.js.map +7 -0
  121. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +93 -0
  122. package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -0
  123. package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +1 -1
  124. package/dist/headless/source/components/dataDisplay/typography/typography.jsx +1 -1
  125. package/dist/headless/source/components/feedBack/message/message.jsx +1 -1
  126. package/dist/headless/source/components/feedBack/modal/modal.jsx +1 -1
  127. package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +1 -1
  128. package/dist/headless/source/components/feedBack/saveAssetDialog/index.js +5 -0
  129. package/dist/headless/source/components/feedBack/saveAssetDialog/index.js.map +7 -0
  130. package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +65 -0
  131. package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -0
  132. package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +1 -1
  133. package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +1 -1
  134. package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +1 -1
  135. package/dist/headless/source/components/inputs/button/button.jsx +1 -1
  136. package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +1 -1
  137. package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +1 -1
  138. package/dist/headless/source/components/inputs/datePicker/dataPickerDays.jsx +1 -1
  139. package/dist/headless/source/components/inputs/datePicker/dataPickerHeader.jsx +1 -1
  140. package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +1 -1
  141. package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +1 -1
  142. package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +1 -1
  143. package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +1 -1
  144. package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +1 -1
  145. package/dist/headless/source/components/inputs/datePicker/datePickerList.jsx +1 -1
  146. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +1 -1
  147. package/dist/headless/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +1 -1
  148. package/dist/headless/source/components/inputs/fileDrop/countPreview.jsx +1 -1
  149. package/dist/headless/source/components/inputs/fileDrop/fileDrop.jsx +1 -1
  150. package/dist/headless/source/components/inputs/fileDrop/preview.jsx +1 -1
  151. package/dist/headless/source/components/inputs/fileDrop/previewWrapper.jsx +1 -1
  152. package/dist/headless/source/components/inputs/fileInput/fileInput.jsx +1 -1
  153. package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +1 -1
  154. package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +1 -1
  155. package/dist/headless/source/components/inputs/rating/rating.jsx +1 -1
  156. package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +1 -1
  157. package/dist/headless/source/components/inputs/selectField/selectField.jsx +1 -1
  158. package/dist/headless/source/components/inputs/slider/slider.jsx +1 -1
  159. package/dist/headless/source/components/inputs/textField/textField.jsx +1 -1
  160. package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +1 -1
  161. package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +1 -1
  162. package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +1 -1
  163. package/dist/headless/source/components/inputs/timePicker/timePickerColumns.jsx +1 -1
  164. package/dist/headless/source/components/inputs/timePicker/timePickerInput.jsx +1 -1
  165. package/dist/headless/source/components/inputs/timePicker/timePickerList.jsx +1 -1
  166. package/dist/headless/source/components/inputs/toggle/toggle.jsx +1 -1
  167. package/dist/headless/source/components/inputs/valueSlider/index.js +5 -0
  168. package/dist/headless/source/components/inputs/valueSlider/index.js.map +7 -0
  169. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +54 -0
  170. package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -0
  171. package/dist/headless/source/components/layout/appLayout/appLayout.jsx +11 -8
  172. package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  173. package/dist/headless/source/components/layout/divider/divider.jsx +1 -1
  174. package/dist/headless/source/components/layout/grid/grid.jsx +1 -1
  175. package/dist/headless/source/components/layout/page/page.jsx +1 -1
  176. package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +1 -1
  177. package/dist/headless/source/components/layout/screenDivider/screenDivider.jsx +1 -1
  178. package/dist/headless/source/components/layout/sheet/sheet.jsx +1 -1
  179. package/dist/headless/source/components/layout/stack/stack.jsx +1 -1
  180. package/dist/headless/source/components/navigation/appBar/appBar.jsx +1 -1
  181. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +5 -4
  182. package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  183. package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +1 -1
  184. package/dist/headless/source/components/navigation/menu/menu.jsx +1 -1
  185. package/dist/headless/source/components/navigation/menu/menuComponent.jsx +1 -1
  186. package/dist/headless/source/components/navigation/menu/menuDivider.jsx +1 -1
  187. package/dist/headless/source/components/navigation/menu/menuFloating.jsx +1 -1
  188. package/dist/headless/source/components/navigation/menu/menuItem.jsx +1 -1
  189. package/dist/headless/source/components/navigation/menu/menuItemIcon.jsx +1 -1
  190. package/dist/headless/source/components/navigation/menu/menuItemText.jsx +1 -1
  191. package/dist/headless/source/components/navigation/menu/menuList.jsx +1 -1
  192. package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +1 -1
  193. package/dist/headless/source/components/navigation/overflowMenu/index.js +5 -0
  194. package/dist/headless/source/components/navigation/overflowMenu/index.js.map +7 -0
  195. package/dist/headless/source/components/navigation/overflowMenu/overflowMenu.jsx +60 -0
  196. package/dist/headless/source/components/navigation/overflowMenu/overflowMenu.jsx.map +1 -0
  197. package/dist/headless/source/components/navigation/pagination/pagination.jsx +1 -1
  198. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +5 -4
  199. package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  200. package/dist/headless/source/components/navigation/stepper/stepper.jsx +1 -1
  201. package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +1 -1
  202. package/dist/headless/source/components/navigation/tabs/tabs.jsx +1 -1
  203. package/dist/headless/source/index.js +14 -0
  204. package/dist/headless/source/index.js.map +2 -2
  205. package/dist/index.d.ts +14 -0
  206. package/dist/index.js +278 -264
  207. package/dist/index.js.map +1 -1
  208. package/dist/source/components/base/animateHeight/animateHeight.jsx +1 -1
  209. package/dist/source/components/base/icon/icon.jsx +2 -2
  210. package/dist/source/components/base/icon/icon.jsx.map +1 -1
  211. package/dist/source/components/base/ripple/ripple.jsx +2 -2
  212. package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
  213. package/dist/source/components/clickAwayListener/clickAwayListener.jsx +1 -1
  214. package/dist/source/components/dataDisplay/accordion/accordion.jsx +2 -2
  215. package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
  216. package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx +116 -0
  217. package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx.map +1 -0
  218. package/dist/source/components/dataDisplay/assetGrid/index.js +5 -0
  219. package/dist/source/components/dataDisplay/assetGrid/index.js.map +7 -0
  220. package/dist/source/components/dataDisplay/avatar/avatar.jsx +2 -2
  221. package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
  222. package/dist/source/components/dataDisplay/badge/badge.jsx +2 -2
  223. package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -1
  224. package/dist/source/components/dataDisplay/card/card.jsx +2 -2
  225. package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
  226. package/dist/source/components/dataDisplay/carousel/carousel.jsx +2 -2
  227. package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
  228. package/dist/source/components/dataDisplay/chat/chat.jsx +2 -2
  229. package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
  230. package/dist/source/components/dataDisplay/chat/chatAttachmentImage.jsx +1 -1
  231. package/dist/source/components/dataDisplay/chat/chatAttachments.jsx +1 -1
  232. package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -1
  233. package/dist/source/components/dataDisplay/chat/chatHeader.jsx +1 -1
  234. package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +1 -1
  235. package/dist/source/components/dataDisplay/chat/chatLayout.jsx +1 -1
  236. package/dist/source/components/dataDisplay/chat/chatMessageAvatar.jsx +1 -1
  237. package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +1 -1
  238. package/dist/source/components/dataDisplay/chat/chatMessageIncoming.jsx +1 -1
  239. package/dist/source/components/dataDisplay/chat/chatMessageItem.jsx +1 -1
  240. package/dist/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +1 -1
  241. package/dist/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +1 -1
  242. package/dist/source/components/dataDisplay/chat/chatMessageStatus.jsx +1 -1
  243. package/dist/source/components/dataDisplay/chat/chatMessageSystem.jsx +1 -1
  244. package/dist/source/components/dataDisplay/chat/chatMessages.jsx +1 -1
  245. package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +1 -1
  246. package/dist/source/components/dataDisplay/chat/chatShell.jsx +1 -1
  247. package/dist/source/components/dataDisplay/chip/chip.jsx +2 -2
  248. package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
  249. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +51 -0
  250. package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -0
  251. package/dist/source/components/dataDisplay/chipGroup/index.js +5 -0
  252. package/dist/source/components/dataDisplay/chipGroup/index.js.map +7 -0
  253. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +2 -2
  254. package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
  255. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +2 -2
  256. package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -1
  257. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +2 -2
  258. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
  259. package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +1 -1
  260. package/dist/source/components/dataDisplay/lazyImage/index.js +5 -0
  261. package/dist/source/components/dataDisplay/lazyImage/index.js.map +7 -0
  262. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +65 -0
  263. package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -0
  264. package/dist/source/components/dataDisplay/list/list.jsx +2 -2
  265. package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
  266. package/dist/source/components/dataDisplay/list/listItem.jsx +1 -1
  267. package/dist/source/components/dataDisplay/table/table.jsx +2 -2
  268. package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
  269. package/dist/source/components/dataDisplay/table/tableBody.jsx +1 -1
  270. package/dist/source/components/dataDisplay/table/tableCell.jsx +1 -1
  271. package/dist/source/components/dataDisplay/table/tableHead.jsx +1 -1
  272. package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +1 -1
  273. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +2 -2
  274. package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -1
  275. package/dist/source/components/dataDisplay/table/tableRow.jsx +1 -1
  276. package/dist/source/components/dataDisplay/thumbCard/index.js +5 -0
  277. package/dist/source/components/dataDisplay/thumbCard/index.js.map +7 -0
  278. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +94 -0
  279. package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -0
  280. package/dist/source/components/dataDisplay/treeView/treeView.jsx +2 -2
  281. package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
  282. package/dist/source/components/dataDisplay/typography/typography.jsx +2 -2
  283. package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
  284. package/dist/source/components/feedBack/message/message.jsx +2 -2
  285. package/dist/source/components/feedBack/message/message.jsx.map +1 -1
  286. package/dist/source/components/feedBack/modal/modal.jsx +2 -2
  287. package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
  288. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +2 -2
  289. package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
  290. package/dist/source/components/feedBack/saveAssetDialog/index.js +5 -0
  291. package/dist/source/components/feedBack/saveAssetDialog/index.js.map +7 -0
  292. package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +66 -0
  293. package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -0
  294. package/dist/source/components/feedBack/skeleton/skeleton.jsx +2 -2
  295. package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
  296. package/dist/source/components/feedBack/snackbar/snackbar.jsx +2 -2
  297. package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
  298. package/dist/source/components/feedBack/tooltip/tooltip.jsx +2 -2
  299. package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
  300. package/dist/source/components/inputs/button/button.jsx +2 -2
  301. package/dist/source/components/inputs/button/button.jsx.map +1 -1
  302. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +2 -2
  303. package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
  304. package/dist/source/components/inputs/checkbox/checkbox.jsx +2 -2
  305. package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
  306. package/dist/source/components/inputs/datePicker/dataPickerDays.jsx +1 -1
  307. package/dist/source/components/inputs/datePicker/dataPickerHeader.jsx +1 -1
  308. package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +1 -1
  309. package/dist/source/components/inputs/datePicker/datePicker.jsx +2 -2
  310. package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
  311. package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +1 -1
  312. package/dist/source/components/inputs/datePicker/datePickerDay.jsx +1 -1
  313. package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +1 -1
  314. package/dist/source/components/inputs/datePicker/datePickerList.jsx +1 -1
  315. package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +1 -1
  316. package/dist/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +1 -1
  317. package/dist/source/components/inputs/fileDrop/countPreview.jsx +1 -1
  318. package/dist/source/components/inputs/fileDrop/fileDrop.jsx +2 -2
  319. package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -1
  320. package/dist/source/components/inputs/fileDrop/preview.jsx +1 -1
  321. package/dist/source/components/inputs/fileDrop/previewWrapper.jsx +1 -1
  322. package/dist/source/components/inputs/fileInput/fileInput.jsx +2 -2
  323. package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -1
  324. package/dist/source/components/inputs/floatingButton/floatingButton.jsx +2 -2
  325. package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
  326. package/dist/source/components/inputs/radioButton/radioButton.jsx +2 -2
  327. package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
  328. package/dist/source/components/inputs/rating/rating.jsx +2 -2
  329. package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
  330. package/dist/source/components/inputs/selectField/dropdownMenu.jsx +1 -1
  331. package/dist/source/components/inputs/selectField/selectField.jsx +2 -2
  332. package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
  333. package/dist/source/components/inputs/slider/slider.jsx +2 -2
  334. package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
  335. package/dist/source/components/inputs/textField/textField.jsx +2 -2
  336. package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
  337. package/dist/source/components/inputs/textField/textFieldAdornment.jsx +1 -1
  338. package/dist/source/components/inputs/textField/textFieldWrapper.jsx +1 -1
  339. package/dist/source/components/inputs/timePicker/timePicker.jsx +2 -2
  340. package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
  341. package/dist/source/components/inputs/timePicker/timePickerColumns.jsx +1 -1
  342. package/dist/source/components/inputs/timePicker/timePickerInput.jsx +1 -1
  343. package/dist/source/components/inputs/timePicker/timePickerList.jsx +1 -1
  344. package/dist/source/components/inputs/toggle/toggle.jsx +2 -2
  345. package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
  346. package/dist/source/components/inputs/valueSlider/index.js +5 -0
  347. package/dist/source/components/inputs/valueSlider/index.js.map +7 -0
  348. package/dist/source/components/inputs/valueSlider/valueSlider.jsx +55 -0
  349. package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -0
  350. package/dist/source/components/layout/appLayout/appLayout.jsx +12 -9
  351. package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
  352. package/dist/source/components/layout/divider/divider.jsx +2 -2
  353. package/dist/source/components/layout/divider/divider.jsx.map +1 -1
  354. package/dist/source/components/layout/grid/grid.jsx +2 -2
  355. package/dist/source/components/layout/grid/grid.jsx.map +1 -1
  356. package/dist/source/components/layout/page/page.jsx +2 -2
  357. package/dist/source/components/layout/page/page.jsx.map +1 -1
  358. package/dist/source/components/layout/pageHeader/pageHeader.jsx +2 -2
  359. package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
  360. package/dist/source/components/layout/screenDivider/screenDivider.jsx +2 -2
  361. package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -1
  362. package/dist/source/components/layout/sheet/sheet.jsx +2 -2
  363. package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
  364. package/dist/source/components/layout/stack/stack.jsx +2 -2
  365. package/dist/source/components/layout/stack/stack.jsx.map +1 -1
  366. package/dist/source/components/navigation/appBar/appBar.jsx +2 -2
  367. package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
  368. package/dist/source/components/navigation/bottomBar/bottomBar.jsx +6 -5
  369. package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
  370. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +2 -2
  371. package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
  372. package/dist/source/components/navigation/menu/menu.jsx +2 -2
  373. package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
  374. package/dist/source/components/navigation/menu/menuComponent.jsx +1 -1
  375. package/dist/source/components/navigation/menu/menuDivider.jsx +1 -1
  376. package/dist/source/components/navigation/menu/menuFloating.jsx +1 -1
  377. package/dist/source/components/navigation/menu/menuItem.jsx +1 -1
  378. package/dist/source/components/navigation/menu/menuItemIcon.jsx +1 -1
  379. package/dist/source/components/navigation/menu/menuItemText.jsx +1 -1
  380. package/dist/source/components/navigation/menu/menuList.jsx +1 -1
  381. package/dist/source/components/navigation/menu/menuSubmenu.jsx +1 -1
  382. package/dist/source/components/navigation/overflowMenu/index.js +5 -0
  383. package/dist/source/components/navigation/overflowMenu/index.js.map +7 -0
  384. package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx +61 -0
  385. package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx.map +1 -0
  386. package/dist/source/components/navigation/pagination/pagination.jsx +2 -2
  387. package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
  388. package/dist/source/components/navigation/sidebar/sidebar.jsx +6 -5
  389. package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
  390. package/dist/source/components/navigation/stepper/stepper.jsx +2 -2
  391. package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
  392. package/dist/source/components/navigation/tabs/tab/tab.jsx +2 -2
  393. package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
  394. package/dist/source/components/navigation/tabs/tabs.jsx +2 -2
  395. package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
  396. package/dist/source/index.js +14 -0
  397. package/dist/source/index.js.map +2 -2
  398. package/package.json +9 -5
  399. package/dist/headless/source/ssr-published.ssr-spec.jsx +0 -35
  400. package/dist/headless/source/ssr-published.ssr-spec.jsx.map +0 -1
  401. package/dist/headless/source/ssr.ssr-spec.jsx +0 -113
  402. package/dist/headless/source/ssr.ssr-spec.jsx.map +0 -1
  403. package/dist/source/ssr-published.ssr-spec.jsx +0 -35
  404. package/dist/source/ssr-published.ssr-spec.jsx.map +0 -1
  405. package/dist/source/ssr.ssr-spec.jsx +0 -113
  406. package/dist/source/ssr.ssr-spec.jsx.map +0 -1
@@ -0,0 +1,114 @@
1
+ import { use as h, spread as D, mergeProps as E, memo as g, insert as l, createComponent as n, Portal as z, effect as f, setAttribute as C, style as T, isServer as L, template as a } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/thumbCard/thumbCard.entry.css';/* empty css */
3
+ import { mergeProps as x, splitProps as F, createSignal as K, onCleanup as M, Show as c } from "solid-js";
4
+ import O from "clsx";
5
+ import { createFloating as R } from "../../../primitives/createFloating.js";
6
+ import { mergeRefs as A } from "../../../primitives/mergeRefs.js";
7
+ import { LazyImage as I } from "../lazyImage/lazyImage.js";
8
+ var j = /* @__PURE__ */ a('<div class="smwb-thumb-card__slot smwb-thumb-card__slot--start">'), q = /* @__PURE__ */ a('<div class="smwb-thumb-card__slot smwb-thumb-card__slot--end">'), B = /* @__PURE__ */ a("<div class=smwb-thumb-card__caption>"), G = /* @__PURE__ */ a("<div class=smwb-thumb-card__preview>"), H = /* @__PURE__ */ a("<div><div class=smwb-thumb-card__media>"), J = /* @__PURE__ */ a("<img alt>");
9
+ function Z(_) {
10
+ const w = x({
11
+ lazy: !0,
12
+ hoverDelay: 350
13
+ }, _), [e, y] = F(w, ["src", "caption", "selected", "onSelect", "fallback", "hoverPreview", "topStart", "topEnd", "lazy", "disabled", "hoverDelay", "class", "ref"]), m = R({
14
+ placement: () => "right"
15
+ }), [$, p] = K(!1);
16
+ let i;
17
+ const d = () => {
18
+ i && (clearTimeout(i), i = void 0);
19
+ }, S = () => {
20
+ e.hoverPreview == null || e.disabled || (d(), i = setTimeout(() => p(!0), e.hoverDelay));
21
+ }, P = () => {
22
+ d(), p(!1);
23
+ };
24
+ M(d);
25
+ const o = () => !!e.onSelect && !e.disabled, k = (r) => {
26
+ o() && (r.key === "Enter" || r.key === " ") && (r.preventDefault(), e.onSelect?.());
27
+ };
28
+ return (() => {
29
+ var r = H(), u = r.firstChild, v = A(e.ref, (t) => m.setReference(t));
30
+ return typeof v == "function" && h(v, r), D(r, E(y, {
31
+ get class() {
32
+ return O("smwb-thumb-card", e.class, {
33
+ "smwb-thumb-card--selected": e.selected,
34
+ "smwb-thumb-card--disabled": e.disabled,
35
+ "smwb-thumb-card--interactive": o()
36
+ });
37
+ },
38
+ get role() {
39
+ return o() ? "button" : void 0;
40
+ },
41
+ get tabindex() {
42
+ return o() ? 0 : void 0;
43
+ },
44
+ get "aria-pressed"() {
45
+ return g(() => !!e.onSelect)() ? e.selected ?? !1 : void 0;
46
+ },
47
+ get "aria-disabled"() {
48
+ return e.disabled || void 0;
49
+ },
50
+ get onClick() {
51
+ return o() ? () => e.onSelect?.() : void 0;
52
+ },
53
+ onKeyDown: k,
54
+ onMouseEnter: S,
55
+ onMouseLeave: P
56
+ }), !1, !0), l(u, n(I, {
57
+ get src() {
58
+ return e.src;
59
+ },
60
+ get lazy() {
61
+ return e.lazy;
62
+ },
63
+ get fallback() {
64
+ return e.fallback;
65
+ }
66
+ }), null), l(u, n(c, {
67
+ get when() {
68
+ return e.topStart;
69
+ },
70
+ get children() {
71
+ var t = j();
72
+ return l(t, () => e.topStart), t;
73
+ }
74
+ }), null), l(u, n(c, {
75
+ get when() {
76
+ return e.topEnd;
77
+ },
78
+ get children() {
79
+ var t = q();
80
+ return l(t, () => e.topEnd), t;
81
+ }
82
+ }), null), l(r, n(c, {
83
+ get when() {
84
+ return e.caption;
85
+ },
86
+ get children() {
87
+ var t = B();
88
+ return l(t, () => e.caption), t;
89
+ }
90
+ }), null), l(r, n(c, {
91
+ get when() {
92
+ return $() && !L;
93
+ },
94
+ get children() {
95
+ return n(z, {
96
+ get children() {
97
+ var t = G();
98
+ return h((s) => m.setFloating(s), t), l(t, (() => {
99
+ var s = g(() => typeof e.hoverPreview == "string");
100
+ return () => s() ? (() => {
101
+ var b = J();
102
+ return f(() => C(b, "src", e.hoverPreview)), b;
103
+ })() : e.hoverPreview;
104
+ })()), f((s) => T(t, m.floatingStyles(), s)), t;
105
+ }
106
+ });
107
+ }
108
+ }), null), r;
109
+ })();
110
+ }
111
+ export {
112
+ Z as ThumbCard
113
+ };
114
+ //# sourceMappingURL=thumbCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thumbCard.js","sources":["../../../../src/components/dataDisplay/thumbCard/thumbCard.tsx"],"sourcesContent":["import { type JSX, Show, createSignal, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { LazyImage } from \"../lazyImage\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ThumbCardProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Thumbnail URL; falls back to `fallback` when missing / failed. */\n src?: string;\n caption?: JSX.Element;\n selected?: boolean;\n /** Makes the card a selectable button (keyboard + `aria-pressed`). */\n onSelect?: () => void;\n /** Shown in place of the image when `src` is missing / fails. */\n fallback?: JSX.Element;\n /** A larger preview shown in a floating popup after a hover delay. */\n hoverPreview?: JSX.Element | string;\n /** Top-left overlay slot (e.g. a favourite star). */\n topStart?: JSX.Element;\n /** Top-right overlay slot (e.g. a kebab menu). */\n topEnd?: JSX.Element;\n lazy?: boolean;\n disabled?: boolean;\n /** Delay (ms) before the hover preview appears. Default 350. */\n hoverDelay?: number;\n ref?: Ref<HTMLDivElement>;\n}\n\n/**\n * A selectable gallery card: image with an `onError` fallback + optional lazy\n * load, keyboard/`aria-pressed` selection, corner action slots, and a delayed\n * floating hover-preview. The generic gallery-card behaviour every app rebuilds\n * on top of the primitives. SSR-safe — the hover preview is client-only.\n */\nexport function ThumbCard(props: ThumbCardProps): JSX.Element {\n const merged = mergeProps({ lazy: true, hoverDelay: 350 }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"caption\",\n \"selected\",\n \"onSelect\",\n \"fallback\",\n \"hoverPreview\",\n \"topStart\",\n \"topEnd\",\n \"lazy\",\n \"disabled\",\n \"hoverDelay\",\n \"class\",\n \"ref\",\n ]);\n\n const floating = createFloating({ placement: () => \"right\" });\n const [previewOpen, setPreviewOpen] = createSignal(false);\n let hoverTimer: ReturnType<typeof setTimeout> | undefined;\n\n const clearTimer = (): void => {\n if (hoverTimer) {\n clearTimeout(hoverTimer);\n hoverTimer = undefined;\n }\n };\n const onEnter = (): void => {\n if (local.hoverPreview == null || local.disabled) return;\n clearTimer();\n hoverTimer = setTimeout(() => setPreviewOpen(true), local.hoverDelay);\n };\n const onLeave = (): void => {\n clearTimer();\n setPreviewOpen(false);\n };\n onCleanup(clearTimer);\n\n const interactive = (): boolean => !!local.onSelect && !local.disabled;\n const onKeyDown: JSX.EventHandler<HTMLDivElement, KeyboardEvent> = (event) => {\n if (interactive() && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n local.onSelect?.();\n }\n };\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref, (el) => floating.setReference(el))}\n class={cn(\"smwb-thumb-card\", local.class, {\n \"smwb-thumb-card--selected\": local.selected,\n \"smwb-thumb-card--disabled\": local.disabled,\n \"smwb-thumb-card--interactive\": interactive(),\n })}\n role={interactive() ? \"button\" : undefined}\n tabindex={interactive() ? 0 : undefined}\n aria-pressed={local.onSelect ? (local.selected ?? false) : undefined}\n aria-disabled={local.disabled || undefined}\n onClick={interactive() ? () => local.onSelect?.() : undefined}\n onKeyDown={onKeyDown}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n >\n <div class=\"smwb-thumb-card__media\">\n <LazyImage src={local.src} lazy={local.lazy} fallback={local.fallback} />\n <Show when={local.topStart}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--start\">{local.topStart}</div>\n </Show>\n <Show when={local.topEnd}>\n <div class=\"smwb-thumb-card__slot smwb-thumb-card__slot--end\">{local.topEnd}</div>\n </Show>\n </div>\n <Show when={local.caption}>\n <div class=\"smwb-thumb-card__caption\">{local.caption}</div>\n </Show>\n <Show when={previewOpen() && !isServer}>\n <Portal>\n <div class=\"smwb-thumb-card__preview\" ref={(el) => floating.setFloating(el)} style={floating.floatingStyles()}>\n {typeof local.hoverPreview === \"string\" ? (\n <img src={local.hoverPreview} alt=\"\" />\n ) : (\n (local.hoverPreview as JSX.Element)\n )}\n </div>\n </Portal>\n </Show>\n </div>\n );\n}\n\nexport default ThumbCard;\n"],"names":["ThumbCard","props","merged","mergeProps","lazy","hoverDelay","local","rest","splitProps","floating","createFloating","placement","previewOpen","setPreviewOpen","createSignal","hoverTimer","clearTimer","clearTimeout","undefined","onEnter","hoverPreview","disabled","setTimeout","onLeave","onCleanup","interactive","onSelect","onKeyDown","event","key","preventDefault","_el$","_tmpl$5","_el$2","firstChild","_ref$","mergeRefs","ref","el","setReference","_$use","_$spread","_$mergeProps","cn","class","selected","role","tabindex","_$memo","onClick","_$insert","_$createComponent","LazyImage","src","fallback","Show","when","topStart","children","_el$3","_tmpl$","topEnd","_el$4","_tmpl$2","caption","_el$5","_tmpl$3","isServer","Portal","_el$6","_tmpl$4","setFloating","_c$","_el$7","_tmpl$6","_$effect","_$setAttribute","_$p","_$style","floatingStyles"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { SaveAssetDialog } from "./saveAssetDialog";
2
+ export type { SaveAssetDialogProps } from "./saveAssetDialog";
@@ -0,0 +1,30 @@
1
+ import { type JSX } from "solid-js";
2
+ export interface SaveAssetDialogProps {
3
+ open: boolean;
4
+ title?: string;
5
+ /** Label for the name field. Omit `onNameChange` AND `name` to hide the field. */
6
+ nameLabel?: string;
7
+ name?: string;
8
+ onNameChange?: (name: string) => void;
9
+ /** Preview image URL (e.g. a freshly captured thumbnail). */
10
+ previewSrc?: string;
11
+ /** Shows a Capture button when provided. */
12
+ onCapture?: () => void;
13
+ captureLabel?: string;
14
+ /** Disables the actions + name field while a save/capture is in flight. */
15
+ busy?: boolean;
16
+ confirmLabel?: string;
17
+ cancelLabel?: string;
18
+ onConfirm: () => void;
19
+ onClose: () => void;
20
+ /** Extra content between the name field/preview and the actions. */
21
+ children?: JSX.Element;
22
+ class?: string;
23
+ }
24
+ /**
25
+ * A "name it / preview a thumbnail / confirm-cancel" dialog on `Modal` — the
26
+ * save/capture flow apps hand-build for every asset. Pairs with srv-solid's
27
+ * asset store: `onConfirm` uploads the captured `previewSrc`.
28
+ */
29
+ export declare function SaveAssetDialog(props: SaveAssetDialogProps): JSX.Element;
30
+ export default SaveAssetDialog;
@@ -0,0 +1,101 @@
1
+ import { createComponent as r, insert as l, effect as s, setAttribute as g, className as p, template as u } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/saveAssetDialog/saveAssetDialog.entry.css';/* empty css */
3
+ import { splitProps as b, Show as o } from "solid-js";
4
+ import v from "clsx";
5
+ import { Modal as a } from "../modal/modal.js";
6
+ import { TextField as C } from "../../inputs/textField/textField.js";
7
+ import { Button as i } from "../../inputs/button/button.js";
8
+ var h = /* @__PURE__ */ u("<div class=smwb-save-asset-dialog__preview><img alt>"), f = /* @__PURE__ */ u("<div>");
9
+ function k(c) {
10
+ const [e] = b(c, ["open", "title", "nameLabel", "name", "onNameChange", "previewSrc", "onCapture", "captureLabel", "busy", "confirmLabel", "cancelLabel", "onConfirm", "onClose", "children", "class"]), m = () => e.onNameChange !== void 0 || e.name !== void 0;
11
+ return r(a, {
12
+ get open() {
13
+ return e.open;
14
+ },
15
+ get onClose() {
16
+ return e.onClose;
17
+ },
18
+ size: "small",
19
+ get children() {
20
+ return [r(a.Header, {
21
+ get children() {
22
+ return e.title ?? "Save";
23
+ }
24
+ }), r(a.Content, {
25
+ get children() {
26
+ var t = f();
27
+ return l(t, r(o, {
28
+ get when() {
29
+ return m();
30
+ },
31
+ get children() {
32
+ return r(C, {
33
+ get label() {
34
+ return e.nameLabel ?? "Name";
35
+ },
36
+ get value() {
37
+ return e.name ?? "";
38
+ },
39
+ get disabled() {
40
+ return !!e.busy;
41
+ },
42
+ onChange: (n) => e.onNameChange?.(n.currentTarget.value)
43
+ });
44
+ }
45
+ }), null), l(t, r(o, {
46
+ get when() {
47
+ return e.previewSrc;
48
+ },
49
+ get children() {
50
+ var n = h(), d = n.firstChild;
51
+ return s(() => g(d, "src", e.previewSrc)), n;
52
+ }
53
+ }), null), l(t, r(o, {
54
+ get when() {
55
+ return e.onCapture;
56
+ },
57
+ get children() {
58
+ return r(i, {
59
+ variant: "outlined",
60
+ size: "small",
61
+ get disabled() {
62
+ return !!e.busy;
63
+ },
64
+ onClick: () => e.onCapture?.(),
65
+ get label() {
66
+ return e.captureLabel ?? "Capture preview";
67
+ }
68
+ });
69
+ }
70
+ }), null), l(t, () => e.children, null), s(() => p(t, v("smwb-save-asset-dialog__body", e.class))), t;
71
+ }
72
+ }), r(a.Footer, {
73
+ get children() {
74
+ return [r(i, {
75
+ variant: "text",
76
+ get disabled() {
77
+ return !!e.busy;
78
+ },
79
+ onClick: () => e.onClose(),
80
+ get label() {
81
+ return e.cancelLabel ?? "Cancel";
82
+ }
83
+ }), r(i, {
84
+ variant: "contained",
85
+ get disabled() {
86
+ return !!e.busy;
87
+ },
88
+ onClick: () => e.onConfirm(),
89
+ get label() {
90
+ return e.confirmLabel ?? "Save";
91
+ }
92
+ })];
93
+ }
94
+ })];
95
+ }
96
+ });
97
+ }
98
+ export {
99
+ k as SaveAssetDialog
100
+ };
101
+ //# sourceMappingURL=saveAssetDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveAssetDialog.js","sources":["../../../../src/components/feedBack/saveAssetDialog/saveAssetDialog.tsx"],"sourcesContent":["import { type JSX, Show, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Modal } from \"../modal\";\nimport { Button } from \"../../inputs/button\";\nimport { TextField } from \"../../inputs/textField\";\n\nexport interface SaveAssetDialogProps {\n open: boolean;\n title?: string;\n /** Label for the name field. Omit `onNameChange` AND `name` to hide the field. */\n nameLabel?: string;\n name?: string;\n onNameChange?: (name: string) => void;\n /** Preview image URL (e.g. a freshly captured thumbnail). */\n previewSrc?: string;\n /** Shows a Capture button when provided. */\n onCapture?: () => void;\n captureLabel?: string;\n /** Disables the actions + name field while a save/capture is in flight. */\n busy?: boolean;\n confirmLabel?: string;\n cancelLabel?: string;\n onConfirm: () => void;\n onClose: () => void;\n /** Extra content between the name field/preview and the actions. */\n children?: JSX.Element;\n class?: string;\n}\n\n/**\n * A \"name it / preview a thumbnail / confirm-cancel\" dialog on `Modal` — the\n * save/capture flow apps hand-build for every asset. Pairs with srv-solid's\n * asset store: `onConfirm` uploads the captured `previewSrc`.\n */\nexport function SaveAssetDialog(props: SaveAssetDialogProps): JSX.Element {\n const [local] = splitProps(props, [\n \"open\",\n \"title\",\n \"nameLabel\",\n \"name\",\n \"onNameChange\",\n \"previewSrc\",\n \"onCapture\",\n \"captureLabel\",\n \"busy\",\n \"confirmLabel\",\n \"cancelLabel\",\n \"onConfirm\",\n \"onClose\",\n \"children\",\n \"class\",\n ]);\n\n const showNameField = (): boolean => local.onNameChange !== undefined || local.name !== undefined;\n\n return (\n <Modal open={local.open} onClose={local.onClose} size=\"small\">\n <Modal.Header>{local.title ?? \"Save\"}</Modal.Header>\n <Modal.Content>\n <div class={cn(\"smwb-save-asset-dialog__body\", local.class)}>\n <Show when={showNameField()}>\n <TextField\n label={local.nameLabel ?? \"Name\"}\n value={local.name ?? \"\"}\n disabled={!!local.busy}\n onChange={(event) => local.onNameChange?.((event.currentTarget as HTMLInputElement).value)}\n />\n </Show>\n <Show when={local.previewSrc}>\n <div class=\"smwb-save-asset-dialog__preview\">\n <img src={local.previewSrc} alt=\"\" />\n </div>\n </Show>\n <Show when={local.onCapture}>\n <Button\n variant=\"outlined\"\n size=\"small\"\n disabled={!!local.busy}\n onClick={() => local.onCapture?.()}\n label={local.captureLabel ?? \"Capture preview\"}\n />\n </Show>\n {local.children}\n </div>\n </Modal.Content>\n <Modal.Footer>\n <Button variant=\"text\" disabled={!!local.busy} onClick={() => local.onClose()} label={local.cancelLabel ?? \"Cancel\"} />\n <Button variant=\"contained\" disabled={!!local.busy} onClick={() => local.onConfirm()} label={local.confirmLabel ?? \"Save\"} />\n </Modal.Footer>\n </Modal>\n );\n}\n\nexport default SaveAssetDialog;\n"],"names":["SaveAssetDialog","props","local","splitProps","showNameField","onNameChange","undefined","name","_$createComponent","Modal","open","onClose","size","children","Header","title","Content","_el$","_tmpl$2","_$insert","Show","when","TextField","label","nameLabel","value","disabled","busy","onChange","event","currentTarget","previewSrc","_el$2","_tmpl$","_el$3","firstChild","_$effect","_$setAttribute","onCapture","Button","variant","onClick","captureLabel","_$className","cn","class","Footer","cancelLabel","onConfirm","confirmLabel"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { ValueSlider } from "./valueSlider";
2
+ export type { ValueSliderProps } from "./valueSlider";
@@ -0,0 +1,23 @@
1
+ import { type JSX } from "solid-js";
2
+ import { type SliderProps, type SliderValue } from "../slider";
3
+ export interface ValueSliderProps extends SliderProps {
4
+ /**
5
+ * Read-only value readout beside the label. `true` shows the raw value; pass a
6
+ * formatter for units/precision (e.g. `(v) => `${v}%``). Reflects `props.value`.
7
+ */
8
+ readout?: boolean | ((value: SliderValue | undefined) => string);
9
+ /** Content at the end of the header row — a reset button, a favourite star, etc. */
10
+ endAdornment?: JSX.Element;
11
+ /** Renders a built-in reset control in the header; called on click. */
12
+ onReset?: () => void;
13
+ /** Accessible label for the reset control. */
14
+ resetLabel?: string;
15
+ }
16
+ /**
17
+ * `Slider` plus the value-readout + adornment header row every app rebuilds: a
18
+ * read-only formatted value next to the label, an optional reset "eraser", and an
19
+ * `endAdornment` slot (favourite star, etc.). A drop-in preset — all `Slider`
20
+ * props pass through; the label is rendered in the header instead of inside Slider.
21
+ */
22
+ export declare function ValueSlider(props: ValueSliderProps): JSX.Element;
23
+ export default ValueSlider;
@@ -0,0 +1,57 @@
1
+ import { insert as t, createComponent as s, effect as p, setAttribute as _, className as f, template as a, delegateEvents as w } from "solid-js/web";
2
+ import '../../../assets/styles/less/components/valueSlider/valueSlider.entry.css';/* empty css */
3
+ import { splitProps as $, Show as d } from "solid-js";
4
+ import g from "clsx";
5
+ import { Slider as R } from "../slider/slider.js";
6
+ var k = /* @__PURE__ */ a("<span class=smwb-value-slider__label>"), A = /* @__PURE__ */ a("<span class=smwb-value-slider__readout>"), y = /* @__PURE__ */ a('<button type=button class=smwb-value-slider__reset><svg viewBox="0 0 24 24"width=16 height=16 aria-hidden=true fill=none stroke=currentColor stroke-width=2><path d="M3 12a9 9 0 1 0 3-6.7M3 4v4h4"stroke-linecap=round stroke-linejoin=round>'), S = /* @__PURE__ */ a("<div class=smwb-value-slider__header><span class=smwb-value-slider__spacer>"), C = /* @__PURE__ */ a("<div>");
7
+ const x = (o, e) => typeof o == "function" ? o(e) : Array.isArray(e) ? `${e[0]} – ${e[1]}` : e == null ? "" : String(e);
8
+ function E(o) {
9
+ const [e, u] = $(o, ["readout", "endAdornment", "onReset", "resetLabel", "label", "class"]), c = () => e.readout !== void 0 && e.readout !== !1, v = () => e.label != null || c() || e.endAdornment != null || e.onReset != null;
10
+ return (() => {
11
+ var i = C();
12
+ return t(i, s(d, {
13
+ get when() {
14
+ return v();
15
+ },
16
+ get children() {
17
+ var l = S(), b = l.firstChild;
18
+ return t(l, s(d, {
19
+ get when() {
20
+ return e.label != null;
21
+ },
22
+ get children() {
23
+ var r = k();
24
+ return t(r, () => e.label), r;
25
+ }
26
+ }), b), t(l, s(d, {
27
+ get when() {
28
+ return c();
29
+ },
30
+ get children() {
31
+ var r = A();
32
+ return t(r, () => x(e.readout, u.value)), r;
33
+ }
34
+ }), null), t(l, () => e.endAdornment, null), t(l, s(d, {
35
+ get when() {
36
+ return e.onReset != null;
37
+ },
38
+ get children() {
39
+ var r = y();
40
+ return r.$$click = () => e.onReset?.(), p((n) => {
41
+ var m = e.resetLabel ?? "Reset", h = u.disabled;
42
+ return m !== n.e && _(r, "aria-label", n.e = m), h !== n.t && (r.disabled = n.t = h), n;
43
+ }, {
44
+ e: void 0,
45
+ t: void 0
46
+ }), r;
47
+ }
48
+ }), null), l;
49
+ }
50
+ }), null), t(i, s(R, u), null), p(() => f(i, g("smwb-value-slider", e.class))), i;
51
+ })();
52
+ }
53
+ w(["click"]);
54
+ export {
55
+ E as ValueSlider
56
+ };
57
+ //# sourceMappingURL=valueSlider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valueSlider.js","sources":["../../../../src/components/inputs/valueSlider/valueSlider.tsx"],"sourcesContent":["import { type JSX, Show, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Slider, type SliderProps, type SliderValue } from \"../slider\";\n\nexport interface ValueSliderProps extends SliderProps {\n /**\n * Read-only value readout beside the label. `true` shows the raw value; pass a\n * formatter for units/precision (e.g. `(v) => `${v}%``). Reflects `props.value`.\n */\n readout?: boolean | ((value: SliderValue | undefined) => string);\n /** Content at the end of the header row — a reset button, a favourite star, etc. */\n endAdornment?: JSX.Element;\n /** Renders a built-in reset control in the header; called on click. */\n onReset?: () => void;\n /** Accessible label for the reset control. */\n resetLabel?: string;\n}\n\nconst formatReadout = (\n readout: ValueSliderProps[\"readout\"],\n value: SliderValue | undefined,\n): string => {\n if (typeof readout === \"function\") return readout(value);\n if (Array.isArray(value)) return `${value[0]} – ${value[1]}`;\n return value == null ? \"\" : String(value);\n};\n\n/**\n * `Slider` plus the value-readout + adornment header row every app rebuilds: a\n * read-only formatted value next to the label, an optional reset \"eraser\", and an\n * `endAdornment` slot (favourite star, etc.). A drop-in preset — all `Slider`\n * props pass through; the label is rendered in the header instead of inside Slider.\n */\nexport function ValueSlider(props: ValueSliderProps): JSX.Element {\n const [local, sliderProps] = splitProps(props, [\n \"readout\",\n \"endAdornment\",\n \"onReset\",\n \"resetLabel\",\n \"label\",\n \"class\",\n ]);\n\n const hasReadout = (): boolean => local.readout !== undefined && local.readout !== false;\n const showHeader = (): boolean =>\n local.label != null || hasReadout() || local.endAdornment != null || local.onReset != null;\n\n return (\n <div class={cn(\"smwb-value-slider\", local.class)}>\n <Show when={showHeader()}>\n <div class=\"smwb-value-slider__header\">\n <Show when={local.label != null}>\n <span class=\"smwb-value-slider__label\">{local.label}</span>\n </Show>\n <span class=\"smwb-value-slider__spacer\" />\n <Show when={hasReadout()}>\n <span class=\"smwb-value-slider__readout\">{formatReadout(local.readout, sliderProps.value)}</span>\n </Show>\n {local.endAdornment}\n <Show when={local.onReset != null}>\n <button\n type=\"button\"\n class=\"smwb-value-slider__reset\"\n aria-label={local.resetLabel ?? \"Reset\"}\n disabled={sliderProps.disabled}\n onClick={() => local.onReset?.()}\n >\n <svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M3 12a9 9 0 1 0 3-6.7M3 4v4h4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n </Show>\n </div>\n </Show>\n <Slider {...sliderProps} />\n </div>\n );\n}\n\nexport default ValueSlider;\n"],"names":["formatReadout","readout","value","Array","isArray","String","ValueSlider","props","local","sliderProps","splitProps","hasReadout","undefined","showHeader","label","endAdornment","onReset","_el$","_tmpl$5","_$insert","_$createComponent","Show","when","children","_el$2","_tmpl$4","_el$4","firstChild","_el$3","_tmpl$","_el$5","_tmpl$2","_el$6","_tmpl$3","$$click","_$effect","_p$","_v$","resetLabel","_v$2","disabled","e","_$setAttribute","t","Slider","_$className","cn","class","_$delegateEvents"],"mappings":";;;;;;AAmBA,MAAMA,IAAgBA,CACpBC,GACAC,MAEI,OAAOD,KAAY,aAAmBA,EAAQC,CAAK,IACnDC,MAAMC,QAAQF,CAAK,IAAU,GAAGA,EAAM,CAAC,CAAC,MAAMA,EAAM,CAAC,CAAC,KACnDA,KAAS,OAAO,KAAKG,OAAOH,CAAK;AASnC,SAASI,EAAYC,GAAsC;AAChE,QAAM,CAACC,GAAOC,CAAW,IAAIC,EAAWH,GAAO,CAC7C,WACA,gBACA,WACA,cACA,SACA,OAAO,CACR,GAEKI,IAAaA,MAAeH,EAAMP,YAAYW,UAAaJ,EAAMP,YAAY,IAC7EY,IAAaA,MACjBL,EAAMM,SAAS,QAAQH,OAAgBH,EAAMO,gBAAgB,QAAQP,EAAMQ,WAAW;AAExF,UAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA;AAAAC,WAAAA,EAAAF,GAAAG,EAEKC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAET,EAAAA;AAAAA,MAAY;AAAA,MAAA,IAAAU,WAAA;AAAA,YAAAC,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG;AAAAR,eAAAA,EAAAK,GAAAJ,EAEnBC,GAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEd,EAAMM,SAAS;AAAA,UAAI;AAAA,UAAA,IAAAS,WAAA;AAAA,gBAAAK,IAAAC,EAAAA;AAAAV,mBAAAA,EAAAS,GAAA,MACWpB,EAAMM,KAAK,GAAAc;AAAAA,UAAA;AAAA,QAAA,CAAA,GAAAF,CAAA,GAAAP,EAAAK,GAAAJ,EAGpDC,GAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEX,EAAAA;AAAAA,UAAY;AAAA,UAAA,IAAAY,WAAA;AAAA,gBAAAO,IAAAC,EAAAA;AAAAZ,mBAAAA,EAAAW,GAAA,MACoB9B,EAAcQ,EAAMP,SAASQ,EAAYP,KAAK,CAAC,GAAA4B;AAAAA,UAAA;AAAA,QAAA,CAAA,GAAA,IAAA,GAAAX,EAAAK,GAAA,MAE1FhB,EAAMO,cAAY,IAAA,GAAAI,EAAAK,GAAAJ,EAClBC,GAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEd,EAAMQ,WAAW;AAAA,UAAI;AAAA,UAAA,IAAAO,WAAA;AAAA,gBAAAS,IAAAC,EAAAA;AAAAD,mBAAAA,EAAAE,UAMpB,MAAM1B,EAAMQ,UAAAA,GAAWmB,EAAAC,CAAAA,MAAA;AAAA,kBAAAC,IAFpB7B,EAAM8B,cAAc,SAAOC,IAC7B9B,EAAY+B;AAAQH,qBAAAA,MAAAD,EAAAK,KAAAC,EAAAV,GAAA,cAAAI,EAAAK,IAAAJ,CAAA,GAAAE,MAAAH,EAAAO,MAAAX,EAAAQ,WAAAJ,EAAAO,IAAAJ,IAAAH;AAAAA,YAAA,GAAA;AAAA,cAAAK,GAAA7B;AAAAA,cAAA+B,GAAA/B;AAAAA,YAAAA,CAAA,GAAAoB;AAAAA,UAAA;AAAA,QAAA,CAAA,GAAA,IAAA,GAAAR;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAL,EAAAF,GAAAG,EAUrCwB,GAAWnC,CAAW,GAAA,IAAA,GAAA0B,EAAA,MAAAU,EAAA5B,GA1Bb6B,EAAG,qBAAqBtC,EAAMuC,KAAK,CAAC,CAAA,GAAA9B;AAAAA,EAAA,GAAA;AA6BpD;AAE2B+B,EAAA,CAAA,OAAA,CAAA;"}
@@ -1,77 +1,77 @@
1
- import { use as k, spread as S, mergeProps as T, insert as a, createComponent as s, setAttribute as c, effect as W, template as o, delegateEvents as A } from "solid-js/web";
1
+ import { use as A, spread as L, mergeProps as P, insert as t, createComponent as s, setAttribute as c, effect as x, template as o, delegateEvents as H } from "solid-js/web";
2
2
  import '../../../assets/styles/less/components/appLayout/appLayout.entry.css';/* empty css */
3
- import { mergeProps as L, splitProps as P, Show as n } from "solid-js";
4
- import x from "clsx";
5
- import { createControllableState as H } from "../../../primitives/createControllableState.js";
6
- import { createId as I } from "../../../primitives/createId.js";
7
- import { mergeRefs as j } from "../../../primitives/mergeRefs.js";
8
- import { Icon as z } from "../../base/icon/icon.js";
9
- var E = /* @__PURE__ */ o("<div class=smwb-app-layout__header>"), R = /* @__PURE__ */ o("<div class=smwb-app-layout__collapse>"), V = /* @__PURE__ */ o("<aside class=smwb-app-layout__sidebar>"), q = /* @__PURE__ */ o("<div class=smwb-app-layout__footer>"), B = /* @__PURE__ */ o("<div><div class=smwb-app-layout__body><div class=smwb-app-layout__content>"), D = /* @__PURE__ */ o("<button type=button class=smwb-app-layout__collapse-btn>");
10
- const y = (i) => typeof i == "number" ? `${i}px` : i;
11
- function U(i) {
12
- const v = L({
3
+ import { mergeProps as I, splitProps as j, children as m, Show as p } from "solid-js";
4
+ import z from "clsx";
5
+ import { createControllableState as E } from "../../../primitives/createControllableState.js";
6
+ import { createId as R } from "../../../primitives/createId.js";
7
+ import { mergeRefs as V } from "../../../primitives/mergeRefs.js";
8
+ import { Icon as q } from "../../base/icon/icon.js";
9
+ var B = /* @__PURE__ */ o("<div class=smwb-app-layout__header>"), D = /* @__PURE__ */ o("<div class=smwb-app-layout__collapse>"), F = /* @__PURE__ */ o("<aside class=smwb-app-layout__sidebar>"), G = /* @__PURE__ */ o("<div class=smwb-app-layout__footer>"), J = /* @__PURE__ */ o("<div><div class=smwb-app-layout__body><div class=smwb-app-layout__content>"), K = /* @__PURE__ */ o("<button type=button class=smwb-app-layout__collapse-btn>");
10
+ const $ = (i) => typeof i == "number" ? `${i}px` : i;
11
+ function ee(i) {
12
+ const S = I({
13
13
  sidebarWidth: 260,
14
14
  defaultSidebarCollapsed: !1,
15
15
  collapsible: !1,
16
16
  collapseToggleAriaLabel: "Toggle navigation",
17
17
  sidebarCollapsedWidth: 72,
18
18
  stickyHeader: !0
19
- }, i), [e, C] = P(v, ["header", "sidebar", "footer", "sidebarWidth", "sidebarCollapsed", "defaultSidebarCollapsed", "onSidebarCollapsedChange", "collapsible", "collapseToggle", "collapseToggleAriaLabel", "sidebarCollapsedWidth", "stickyHeader", "class", "style", "children", "ref"]), [d, w] = H({
19
+ }, i), [e, k] = j(S, ["header", "sidebar", "footer", "sidebarWidth", "sidebarCollapsed", "defaultSidebarCollapsed", "onSidebarCollapsedChange", "collapsible", "collapseToggle", "collapseToggleAriaLabel", "sidebarCollapsedWidth", "stickyHeader", "class", "style", "children", "ref"]), [d, T] = E({
20
20
  value: () => e.sidebarCollapsed,
21
21
  defaultValue: e.defaultSidebarCollapsed,
22
- onChange: (t) => e.onSidebarCollapsedChange?.(t)
23
- }), m = I(), $ = () => ({
24
- "--smui-app-sidebar-w": d() ? y(e.sidebarCollapsedWidth) : y(e.sidebarWidth),
22
+ onChange: (a) => e.onSidebarCollapsedChange?.(a)
23
+ }), g = R(), f = m(() => e.header), h = m(() => e.sidebar), _ = m(() => e.footer), W = () => ({
24
+ "--smui-app-sidebar-w": d() ? $(e.sidebarCollapsedWidth) : $(e.sidebarWidth),
25
25
  ...typeof e.style == "object" && e.style ? e.style : {}
26
26
  });
27
27
  return (() => {
28
- var t = B(), u = t.firstChild, b = u.firstChild, g = j(e.ref);
29
- return typeof g == "function" && k(g, t), S(t, T(C, {
28
+ var a = J(), u = a.firstChild, b = u.firstChild, y = V(e.ref);
29
+ return typeof y == "function" && A(y, a), L(a, P(k, {
30
30
  "data-testid": "app-layout",
31
31
  get class() {
32
- return x("smwb-app-layout", {
32
+ return z("smwb-app-layout", {
33
33
  "smwb-app-layout_sticky-header": e.stickyHeader,
34
34
  "smwb-app-layout_collapsed": d()
35
35
  }, e.class);
36
36
  },
37
37
  get style() {
38
- return $();
38
+ return W();
39
39
  }
40
- }), !1, !0), a(t, s(n, {
40
+ }), !1, !0), t(a, s(p, {
41
41
  get when() {
42
- return e.header;
42
+ return f();
43
43
  },
44
44
  get children() {
45
- var l = E();
46
- return a(l, () => e.header), l;
45
+ var l = B();
46
+ return t(l, f), l;
47
47
  }
48
- }), u), a(u, s(n, {
48
+ }), u), t(u, s(p, {
49
49
  get when() {
50
- return e.sidebar;
50
+ return h();
51
51
  },
52
52
  get children() {
53
- var l = V();
54
- return c(l, "id", m), a(l, s(n, {
53
+ var l = F();
54
+ return c(l, "id", g), t(l, s(p, {
55
55
  get when() {
56
56
  return e.collapsible;
57
57
  },
58
58
  get children() {
59
- var f = R();
60
- return a(f, s(n, {
59
+ var v = D();
60
+ return t(v, s(p, {
61
61
  get when() {
62
62
  return e.collapseToggle;
63
63
  },
64
64
  get fallback() {
65
65
  return (() => {
66
- var r = D();
67
- return r.$$click = () => w(!d()), c(r, "aria-controls", m), a(r, s(z, {
66
+ var r = K();
67
+ return r.$$click = () => T(!d()), c(r, "aria-controls", g), t(r, s(q, {
68
68
  get name() {
69
69
  return d() ? "chevron_right" : "chevron_left";
70
70
  },
71
71
  size: 20
72
- })), W((p) => {
73
- var h = e.collapseToggleAriaLabel, _ = !d();
74
- return h !== p.e && c(r, "aria-label", p.e = h), _ !== p.t && c(r, "aria-expanded", p.t = _), p;
72
+ })), x((n) => {
73
+ var C = e.collapseToggleAriaLabel, w = !d();
74
+ return C !== n.e && c(r, "aria-label", n.e = C), w !== n.t && c(r, "aria-expanded", n.t = w), n;
75
75
  }, {
76
76
  e: void 0,
77
77
  t: void 0
@@ -81,23 +81,23 @@ function U(i) {
81
81
  get children() {
82
82
  return e.collapseToggle;
83
83
  }
84
- })), f;
84
+ })), v;
85
85
  }
86
- }), null), a(l, () => e.sidebar, null), l;
86
+ }), null), t(l, h, null), l;
87
87
  }
88
- }), b), a(b, () => e.children, null), a(b, s(n, {
88
+ }), b), t(b, () => e.children, null), t(b, s(p, {
89
89
  get when() {
90
- return e.footer;
90
+ return _();
91
91
  },
92
92
  get children() {
93
- var l = q();
94
- return a(l, () => e.footer), l;
93
+ var l = G();
94
+ return t(l, _), l;
95
95
  }
96
- }), null), t;
96
+ }), null), a;
97
97
  })();
98
98
  }
99
- A(["click"]);
99
+ H(["click"]);
100
100
  export {
101
- U as AppLayout
101
+ ee as AppLayout
102
102
  };
103
103
  //# sourceMappingURL=appLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appLayout.js","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"],"names":["len","v","AppLayout","props","merged","mergeProps","sidebarWidth","defaultSidebarCollapsed","collapsible","collapseToggleAriaLabel","sidebarCollapsedWidth","stickyHeader","local","rest","splitProps","collapsed","setCollapsed","createControllableState","value","sidebarCollapsed","defaultValue","onChange","next","onSidebarCollapsedChange","sidebarId","createId","style","_el$","_tmpl$5","_el$3","firstChild","_el$6","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","_$insert","_$createComponent","Show","when","header","children","_el$2","_tmpl$","sidebar","_el$4","_tmpl$3","_$setAttribute","_el$5","_tmpl$2","collapseToggle","fallback","_el$8","_tmpl$6","$$click","Icon","name","size","_$effect","_p$","_v$","_v$2","e","t","undefined","footer","_el$7","_tmpl$4","_$delegateEvents"],"mappings":"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"}
1
+ {"version":3,"file":"appLayout.js","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"],"names":["len","v","AppLayout","props","merged","mergeProps","sidebarWidth","defaultSidebarCollapsed","collapsible","collapseToggleAriaLabel","sidebarCollapsedWidth","stickyHeader","local","rest","splitProps","collapsed","setCollapsed","createControllableState","value","sidebarCollapsed","defaultValue","onChange","next","onSidebarCollapsedChange","sidebarId","createId","headerSlot","children","header","sidebarSlot","sidebar","footerSlot","footer","style","_el$","_tmpl$5","_el$3","firstChild","_el$6","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","_$insert","_$createComponent","Show","when","_el$2","_tmpl$","_el$4","_tmpl$3","_$setAttribute","_el$5","_tmpl$2","collapseToggle","fallback","_el$8","_tmpl$6","$$click","Icon","name","size","_$effect","_p$","_v$","_v$2","e","t","undefined","_el$7","_tmpl$4","_$delegateEvents"],"mappings":"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"}