@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.
- package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
- package/dist/assets/styles/less/components/assetGrid/assetGrid.entry.css +1 -0
- package/dist/assets/styles/less/components/chipGroup/chipGroup.entry.css +1 -0
- package/dist/assets/styles/less/components/lazyImage/lazyImage.entry.css +1 -0
- package/dist/assets/styles/less/components/overflowMenu/overflowMenu.entry.css +1 -0
- package/dist/assets/styles/less/components/saveAssetDialog/saveAssetDialog.entry.css +1 -0
- package/dist/assets/styles/less/components/sheet/sheet.entry.css +1 -1
- package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -0
- package/dist/assets/styles/less/components/valueSlider/valueSlider.entry.css +1 -0
- package/dist/components/dataDisplay/assetGrid/assetGrid.d.ts +30 -0
- package/dist/components/dataDisplay/assetGrid/assetGrid.js +144 -0
- package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -0
- package/dist/components/dataDisplay/assetGrid/index.d.ts +2 -0
- package/dist/components/dataDisplay/chipGroup/chipGroup.d.ts +27 -0
- package/dist/components/dataDisplay/chipGroup/chipGroup.js +58 -0
- package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -0
- package/dist/components/dataDisplay/chipGroup/index.d.ts +2 -0
- package/dist/components/dataDisplay/lazyImage/index.d.ts +2 -0
- package/dist/components/dataDisplay/lazyImage/lazyImage.d.ts +24 -0
- package/dist/components/dataDisplay/lazyImage/lazyImage.js +73 -0
- package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -0
- package/dist/components/dataDisplay/thumbCard/index.d.ts +2 -0
- package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +31 -0
- package/dist/components/dataDisplay/thumbCard/thumbCard.js +114 -0
- package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -0
- package/dist/components/feedBack/saveAssetDialog/index.d.ts +2 -0
- package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.d.ts +30 -0
- package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +101 -0
- package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -0
- package/dist/components/inputs/valueSlider/index.d.ts +2 -0
- package/dist/components/inputs/valueSlider/valueSlider.d.ts +23 -0
- package/dist/components/inputs/valueSlider/valueSlider.js +57 -0
- package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -0
- package/dist/components/layout/appLayout/appLayout.js +43 -43
- package/dist/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/components/navigation/bottomBar/bottomBar.js +31 -30
- package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/components/navigation/overflowMenu/index.d.ts +2 -0
- package/dist/components/navigation/overflowMenu/overflowMenu.d.ts +27 -0
- package/dist/components/navigation/overflowMenu/overflowMenu.js +88 -0
- package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -0
- package/dist/components/navigation/sidebar/sidebar.js +48 -47
- package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/headless/components/dataDisplay/assetGrid/assetGrid.js +143 -0
- package/dist/headless/components/dataDisplay/assetGrid/assetGrid.js.map +1 -0
- package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +57 -0
- package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -0
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +72 -0
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -0
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +113 -0
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -0
- package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +100 -0
- package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -0
- package/dist/headless/components/inputs/valueSlider/valueSlider.js +56 -0
- package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -0
- package/dist/headless/components/layout/appLayout/appLayout.js +43 -43
- package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/headless/components/navigation/bottomBar/bottomBar.js +31 -30
- package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/headless/components/navigation/overflowMenu/overflowMenu.js +87 -0
- package/dist/headless/components/navigation/overflowMenu/overflowMenu.js.map +1 -0
- package/dist/headless/components/navigation/sidebar/sidebar.js +48 -47
- package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/headless/index.js +278 -264
- package/dist/headless/index.js.map +1 -1
- package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +1 -1
- package/dist/headless/source/components/base/icon/icon.jsx +1 -1
- package/dist/headless/source/components/base/ripple/ripple.jsx +1 -1
- package/dist/headless/source/components/clickAwayListener/clickAwayListener.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/assetGrid/assetGrid.jsx +115 -0
- package/dist/headless/source/components/dataDisplay/assetGrid/assetGrid.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/assetGrid/index.js +5 -0
- package/dist/headless/source/components/dataDisplay/assetGrid/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/badge/badge.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/card/card.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chat.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatAttachmentImage.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatAttachments.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageAvatar.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageIncoming.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageItem.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageStatus.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageSystem.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessages.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +50 -0
- package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chipGroup/index.js +5 -0
- package/dist/headless/source/components/dataDisplay/chipGroup/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/imagesList/imagesList.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/lazyImage/index.js +5 -0
- package/dist/headless/source/components/dataDisplay/lazyImage/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +64 -0
- package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/list/list.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/list/listItem.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/table/table.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/thumbCard/index.js +5 -0
- package/dist/headless/source/components/dataDisplay/thumbCard/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +93 -0
- package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx +1 -1
- package/dist/headless/source/components/feedBack/message/message.jsx +1 -1
- package/dist/headless/source/components/feedBack/modal/modal.jsx +1 -1
- package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +1 -1
- package/dist/headless/source/components/feedBack/saveAssetDialog/index.js +5 -0
- package/dist/headless/source/components/feedBack/saveAssetDialog/index.js.map +7 -0
- package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +65 -0
- package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -0
- package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +1 -1
- package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +1 -1
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +1 -1
- package/dist/headless/source/components/inputs/button/button.jsx +1 -1
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +1 -1
- package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +1 -1
- package/dist/headless/source/components/inputs/datePicker/dataPickerDays.jsx +1 -1
- package/dist/headless/source/components/inputs/datePicker/dataPickerHeader.jsx +1 -1
- package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerList.jsx +1 -1
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +1 -1
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +1 -1
- package/dist/headless/source/components/inputs/fileDrop/countPreview.jsx +1 -1
- package/dist/headless/source/components/inputs/fileDrop/fileDrop.jsx +1 -1
- package/dist/headless/source/components/inputs/fileDrop/preview.jsx +1 -1
- package/dist/headless/source/components/inputs/fileDrop/previewWrapper.jsx +1 -1
- package/dist/headless/source/components/inputs/fileInput/fileInput.jsx +1 -1
- package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +1 -1
- package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +1 -1
- package/dist/headless/source/components/inputs/rating/rating.jsx +1 -1
- package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +1 -1
- package/dist/headless/source/components/inputs/selectField/selectField.jsx +1 -1
- package/dist/headless/source/components/inputs/slider/slider.jsx +1 -1
- package/dist/headless/source/components/inputs/textField/textField.jsx +1 -1
- package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +1 -1
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +1 -1
- package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +1 -1
- package/dist/headless/source/components/inputs/timePicker/timePickerColumns.jsx +1 -1
- package/dist/headless/source/components/inputs/timePicker/timePickerInput.jsx +1 -1
- package/dist/headless/source/components/inputs/timePicker/timePickerList.jsx +1 -1
- package/dist/headless/source/components/inputs/toggle/toggle.jsx +1 -1
- package/dist/headless/source/components/inputs/valueSlider/index.js +5 -0
- package/dist/headless/source/components/inputs/valueSlider/index.js.map +7 -0
- package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +54 -0
- package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -0
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx +11 -8
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
- package/dist/headless/source/components/layout/divider/divider.jsx +1 -1
- package/dist/headless/source/components/layout/grid/grid.jsx +1 -1
- package/dist/headless/source/components/layout/page/page.jsx +1 -1
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +1 -1
- package/dist/headless/source/components/layout/screenDivider/screenDivider.jsx +1 -1
- package/dist/headless/source/components/layout/sheet/sheet.jsx +1 -1
- package/dist/headless/source/components/layout/stack/stack.jsx +1 -1
- package/dist/headless/source/components/navigation/appBar/appBar.jsx +1 -1
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +5 -4
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menu.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menuComponent.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menuDivider.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menuFloating.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menuItem.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menuItemIcon.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menuItemText.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menuList.jsx +1 -1
- package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +1 -1
- package/dist/headless/source/components/navigation/overflowMenu/index.js +5 -0
- package/dist/headless/source/components/navigation/overflowMenu/index.js.map +7 -0
- package/dist/headless/source/components/navigation/overflowMenu/overflowMenu.jsx +60 -0
- package/dist/headless/source/components/navigation/overflowMenu/overflowMenu.jsx.map +1 -0
- package/dist/headless/source/components/navigation/pagination/pagination.jsx +1 -1
- package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +5 -4
- package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/stepper/stepper.jsx +1 -1
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +1 -1
- package/dist/headless/source/components/navigation/tabs/tabs.jsx +1 -1
- package/dist/headless/source/index.js +14 -0
- package/dist/headless/source/index.js.map +2 -2
- package/dist/index.d.ts +14 -0
- package/dist/index.js +278 -264
- package/dist/index.js.map +1 -1
- package/dist/source/components/base/animateHeight/animateHeight.jsx +1 -1
- package/dist/source/components/base/icon/icon.jsx +2 -2
- package/dist/source/components/base/icon/icon.jsx.map +1 -1
- package/dist/source/components/base/ripple/ripple.jsx +2 -2
- package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
- package/dist/source/components/clickAwayListener/clickAwayListener.jsx +1 -1
- package/dist/source/components/dataDisplay/accordion/accordion.jsx +2 -2
- package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
- package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx +116 -0
- package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx.map +1 -0
- package/dist/source/components/dataDisplay/assetGrid/index.js +5 -0
- package/dist/source/components/dataDisplay/assetGrid/index.js.map +7 -0
- package/dist/source/components/dataDisplay/avatar/avatar.jsx +2 -2
- package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
- package/dist/source/components/dataDisplay/badge/badge.jsx +2 -2
- package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -1
- package/dist/source/components/dataDisplay/card/card.jsx +2 -2
- package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
- package/dist/source/components/dataDisplay/carousel/carousel.jsx +2 -2
- package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chat.jsx +2 -2
- package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatAttachmentImage.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatAttachments.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatHeader.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatLayout.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageAvatar.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageIncoming.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageItem.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageOutgoing.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageSkeleton.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageStatus.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageSystem.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessages.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +1 -1
- package/dist/source/components/dataDisplay/chat/chatShell.jsx +1 -1
- package/dist/source/components/dataDisplay/chip/chip.jsx +2 -2
- package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +51 -0
- package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chipGroup/index.js +5 -0
- package/dist/source/components/dataDisplay/chipGroup/index.js.map +7 -0
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +2 -2
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
- package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +2 -2
- package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -1
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +2 -2
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.jsx +1 -1
- package/dist/source/components/dataDisplay/lazyImage/index.js +5 -0
- package/dist/source/components/dataDisplay/lazyImage/index.js.map +7 -0
- package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +65 -0
- package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -0
- package/dist/source/components/dataDisplay/list/list.jsx +2 -2
- package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
- package/dist/source/components/dataDisplay/list/listItem.jsx +1 -1
- package/dist/source/components/dataDisplay/table/table.jsx +2 -2
- package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableBody.jsx +1 -1
- package/dist/source/components/dataDisplay/table/tableCell.jsx +1 -1
- package/dist/source/components/dataDisplay/table/tableHead.jsx +1 -1
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +1 -1
- package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +2 -2
- package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableRow.jsx +1 -1
- package/dist/source/components/dataDisplay/thumbCard/index.js +5 -0
- package/dist/source/components/dataDisplay/thumbCard/index.js.map +7 -0
- package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +94 -0
- package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -0
- package/dist/source/components/dataDisplay/treeView/treeView.jsx +2 -2
- package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
- package/dist/source/components/dataDisplay/typography/typography.jsx +2 -2
- package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
- package/dist/source/components/feedBack/message/message.jsx +2 -2
- package/dist/source/components/feedBack/message/message.jsx.map +1 -1
- package/dist/source/components/feedBack/modal/modal.jsx +2 -2
- package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
- package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +2 -2
- package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
- package/dist/source/components/feedBack/saveAssetDialog/index.js +5 -0
- package/dist/source/components/feedBack/saveAssetDialog/index.js.map +7 -0
- package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +66 -0
- package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -0
- package/dist/source/components/feedBack/skeleton/skeleton.jsx +2 -2
- package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
- package/dist/source/components/feedBack/snackbar/snackbar.jsx +2 -2
- package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
- package/dist/source/components/feedBack/tooltip/tooltip.jsx +2 -2
- package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
- package/dist/source/components/inputs/button/button.jsx +2 -2
- package/dist/source/components/inputs/button/button.jsx.map +1 -1
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +2 -2
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
- package/dist/source/components/inputs/checkbox/checkbox.jsx +2 -2
- package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/dataPickerDays.jsx +1 -1
- package/dist/source/components/inputs/datePicker/dataPickerHeader.jsx +1 -1
- package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +1 -1
- package/dist/source/components/inputs/datePicker/datePicker.jsx +2 -2
- package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +1 -1
- package/dist/source/components/inputs/datePicker/datePickerDay.jsx +1 -1
- package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +1 -1
- package/dist/source/components/inputs/datePicker/datePickerList.jsx +1 -1
- package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +1 -1
- package/dist/source/components/inputs/dateTimePicker/dateTimePickerInput.jsx +1 -1
- package/dist/source/components/inputs/fileDrop/countPreview.jsx +1 -1
- package/dist/source/components/inputs/fileDrop/fileDrop.jsx +2 -2
- package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -1
- package/dist/source/components/inputs/fileDrop/preview.jsx +1 -1
- package/dist/source/components/inputs/fileDrop/previewWrapper.jsx +1 -1
- package/dist/source/components/inputs/fileInput/fileInput.jsx +2 -2
- package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -1
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx +2 -2
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
- package/dist/source/components/inputs/radioButton/radioButton.jsx +2 -2
- package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
- package/dist/source/components/inputs/rating/rating.jsx +2 -2
- package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
- package/dist/source/components/inputs/selectField/dropdownMenu.jsx +1 -1
- package/dist/source/components/inputs/selectField/selectField.jsx +2 -2
- package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
- package/dist/source/components/inputs/slider/slider.jsx +2 -2
- package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textField.jsx +2 -2
- package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textFieldAdornment.jsx +1 -1
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx +1 -1
- package/dist/source/components/inputs/timePicker/timePicker.jsx +2 -2
- package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
- package/dist/source/components/inputs/timePicker/timePickerColumns.jsx +1 -1
- package/dist/source/components/inputs/timePicker/timePickerInput.jsx +1 -1
- package/dist/source/components/inputs/timePicker/timePickerList.jsx +1 -1
- package/dist/source/components/inputs/toggle/toggle.jsx +2 -2
- package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
- package/dist/source/components/inputs/valueSlider/index.js +5 -0
- package/dist/source/components/inputs/valueSlider/index.js.map +7 -0
- package/dist/source/components/inputs/valueSlider/valueSlider.jsx +55 -0
- package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -0
- package/dist/source/components/layout/appLayout/appLayout.jsx +12 -9
- package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
- package/dist/source/components/layout/divider/divider.jsx +2 -2
- package/dist/source/components/layout/divider/divider.jsx.map +1 -1
- package/dist/source/components/layout/grid/grid.jsx +2 -2
- package/dist/source/components/layout/grid/grid.jsx.map +1 -1
- package/dist/source/components/layout/page/page.jsx +2 -2
- package/dist/source/components/layout/page/page.jsx.map +1 -1
- package/dist/source/components/layout/pageHeader/pageHeader.jsx +2 -2
- package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
- package/dist/source/components/layout/screenDivider/screenDivider.jsx +2 -2
- package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -1
- package/dist/source/components/layout/sheet/sheet.jsx +2 -2
- package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
- package/dist/source/components/layout/stack/stack.jsx +2 -2
- package/dist/source/components/layout/stack/stack.jsx.map +1 -1
- package/dist/source/components/navigation/appBar/appBar.jsx +2 -2
- package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx +6 -5
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +2 -2
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menu.jsx +2 -2
- package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuComponent.jsx +1 -1
- package/dist/source/components/navigation/menu/menuDivider.jsx +1 -1
- package/dist/source/components/navigation/menu/menuFloating.jsx +1 -1
- package/dist/source/components/navigation/menu/menuItem.jsx +1 -1
- package/dist/source/components/navigation/menu/menuItemIcon.jsx +1 -1
- package/dist/source/components/navigation/menu/menuItemText.jsx +1 -1
- package/dist/source/components/navigation/menu/menuList.jsx +1 -1
- package/dist/source/components/navigation/menu/menuSubmenu.jsx +1 -1
- package/dist/source/components/navigation/overflowMenu/index.js +5 -0
- package/dist/source/components/navigation/overflowMenu/index.js.map +7 -0
- package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx +61 -0
- package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx.map +1 -0
- package/dist/source/components/navigation/pagination/pagination.jsx +2 -2
- package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
- package/dist/source/components/navigation/sidebar/sidebar.jsx +6 -5
- package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
- package/dist/source/components/navigation/stepper/stepper.jsx +2 -2
- package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tab/tab.jsx +2 -2
- package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tabs.jsx +2 -2
- package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
- package/dist/source/index.js +14 -0
- package/dist/source/index.js.map +2 -2
- package/package.json +9 -5
- package/dist/headless/source/ssr-published.ssr-spec.jsx +0 -35
- package/dist/headless/source/ssr-published.ssr-spec.jsx.map +0 -1
- package/dist/headless/source/ssr.ssr-spec.jsx +0 -113
- package/dist/headless/source/ssr.ssr-spec.jsx.map +0 -1
- package/dist/source/ssr-published.ssr-spec.jsx +0 -35
- package/dist/source/ssr-published.ssr-spec.jsx.map +0 -1
- package/dist/source/ssr.ssr-spec.jsx +0 -113
- 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,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,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
|
|
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
|
|
4
|
-
import
|
|
5
|
-
import { createControllableState as
|
|
6
|
-
import { createId as
|
|
7
|
-
import { mergeRefs as
|
|
8
|
-
import { Icon as
|
|
9
|
-
var
|
|
10
|
-
const
|
|
11
|
-
function
|
|
12
|
-
const
|
|
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,
|
|
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: (
|
|
23
|
-
}), m =
|
|
24
|
-
"--smui-app-sidebar-w": d() ?
|
|
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
|
|
29
|
-
return typeof
|
|
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
|
|
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
|
|
40
|
+
}), !1, !0), t(a, s(p, {
|
|
41
41
|
get when() {
|
|
42
|
-
return
|
|
42
|
+
return f();
|
|
43
43
|
},
|
|
44
44
|
get children() {
|
|
45
|
-
var l =
|
|
46
|
-
return
|
|
45
|
+
var l = B();
|
|
46
|
+
return t(l, f), l;
|
|
47
47
|
}
|
|
48
|
-
}), u),
|
|
48
|
+
}), u), t(u, s(p, {
|
|
49
49
|
get when() {
|
|
50
|
-
return
|
|
50
|
+
return h();
|
|
51
51
|
},
|
|
52
52
|
get children() {
|
|
53
|
-
var l =
|
|
54
|
-
return c(l, "id",
|
|
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
|
|
60
|
-
return
|
|
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 =
|
|
67
|
-
return r.$$click = () =>
|
|
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
|
-
})),
|
|
73
|
-
var
|
|
74
|
-
return
|
|
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
|
-
})),
|
|
84
|
+
})), v;
|
|
85
85
|
}
|
|
86
|
-
}), null),
|
|
86
|
+
}), null), t(l, h, null), l;
|
|
87
87
|
}
|
|
88
|
-
}), b),
|
|
88
|
+
}), b), t(b, () => e.children, null), t(b, s(p, {
|
|
89
89
|
get when() {
|
|
90
|
-
return
|
|
90
|
+
return _();
|
|
91
91
|
},
|
|
92
92
|
get children() {
|
|
93
|
-
var l =
|
|
94
|
-
return
|
|
93
|
+
var l = G();
|
|
94
|
+
return t(l, _), l;
|
|
95
95
|
}
|
|
96
|
-
}), null),
|
|
96
|
+
}), null), a;
|
|
97
97
|
})();
|
|
98
98
|
}
|
|
99
|
-
|
|
99
|
+
H(["click"]);
|
|
100
100
|
export {
|
|
101
|
-
|
|
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={
|
|
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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"}
|