@smwb/ui-react 2.0.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/AI_LESS_OVERRIDES.md +192 -0
- package/AI_THEMING.md +155 -0
- package/LICENSE +21 -0
- package/README.md +209 -0
- package/dist/assets/styles/less/components/accordion/accordion.entry.css +1 -0
- package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -0
- package/dist/assets/styles/less/components/appLayout/appLayout.entry.css +1 -0
- package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -0
- package/dist/assets/styles/less/components/badge/badge.entry.css +1 -0
- package/dist/assets/styles/less/components/bottomBar/bottomBar.entry.css +1 -0
- package/dist/assets/styles/less/components/breadcrumbs/breadcrumbs.entry.css +1 -0
- package/dist/assets/styles/less/components/button/button.entry.css +1 -0
- package/dist/assets/styles/less/components/buttonGroup/buttonGroup.entry.css +1 -0
- package/dist/assets/styles/less/components/card/card.entry.css +1 -0
- package/dist/assets/styles/less/components/carousel/carousel.entry.css +1 -0
- package/dist/assets/styles/less/components/chat/chat.entry.css +1 -0
- package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -0
- package/dist/assets/styles/less/components/chip/chip.entry.css +1 -0
- package/dist/assets/styles/less/components/datePicker/dataPicker.entry.css +1 -0
- package/dist/assets/styles/less/components/divider/divider.entry.css +1 -0
- package/dist/assets/styles/less/components/expansionPanel/expansionPanel.entry.css +1 -0
- package/dist/assets/styles/less/components/floatingButton/floatingButton.entry.css +1 -0
- package/dist/assets/styles/less/components/grid/grid.entry.css +1 -0
- package/dist/assets/styles/less/components/icon/icon.entry.css +1 -0
- package/dist/assets/styles/less/components/imagesList/imagesList.entry.css +1 -0
- package/dist/assets/styles/less/components/imagesList/imagesListItem/imagesListItem.entry.css +1 -0
- package/dist/assets/styles/less/components/list/list.entry.css +1 -0
- package/dist/assets/styles/less/components/menu/menu.entry.css +1 -0
- package/dist/assets/styles/less/components/message/message.entry.css +1 -0
- package/dist/assets/styles/less/components/modal/modal.entry.css +1 -0
- package/dist/assets/styles/less/components/page/page.entry.css +1 -0
- package/dist/assets/styles/less/components/pageHeader/pageHeader.entry.css +1 -0
- package/dist/assets/styles/less/components/pagination/pagination.entry.css +1 -0
- package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -0
- package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -0
- package/dist/assets/styles/less/components/rating/rating.entry.css +1 -0
- package/dist/assets/styles/less/components/ripple/ripple.entry.css +1 -0
- package/dist/assets/styles/less/components/screenDivider/screenDivider.entry.css +1 -0
- package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -0
- package/dist/assets/styles/less/components/sheet/sheet.entry.css +1 -0
- package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -0
- package/dist/assets/styles/less/components/skeleton/skeleton.entry.css +1 -0
- package/dist/assets/styles/less/components/slider/slider.entry.css +1 -0
- package/dist/assets/styles/less/components/snackbar/snackbar.entry.css +1 -0
- package/dist/assets/styles/less/components/stack/stack.entry.css +1 -0
- package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -0
- package/dist/assets/styles/less/components/table/table.entry.css +1 -0
- package/dist/assets/styles/less/components/table/tablePagination/tablePagination.entry.css +1 -0
- package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -0
- package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -0
- package/dist/assets/styles/less/components/textField/textField.entry.css +1 -0
- package/dist/assets/styles/less/components/timePicker/timePicker.entry.css +1 -0
- package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -0
- package/dist/assets/styles/less/components/tooltip/tooltip.entry.css +1 -0
- package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -0
- package/dist/assets/styles/less/components/typography/typography.entry.css +1 -0
- package/dist/components/base/animateHeight/animateHeight.d.ts +30 -0
- package/dist/components/base/animateHeight/animateHeight.js +118 -0
- package/dist/components/base/animateHeight/animateHeight.js.map +1 -0
- package/dist/components/base/animateHeight/index.d.ts +1 -0
- package/dist/components/base/icon/icon.d.ts +28 -0
- package/dist/components/base/icon/icon.js +27 -0
- package/dist/components/base/icon/icon.js.map +1 -0
- package/dist/components/base/icon/index.d.ts +2 -0
- package/dist/components/base/ripple/index.d.ts +2 -0
- package/dist/components/base/ripple/ripple.d.ts +21 -0
- package/dist/components/base/ripple/ripple.js +42 -0
- package/dist/components/base/ripple/ripple.js.map +1 -0
- package/dist/components/clickAwayListener/clickAwayListener.d.ts +14 -0
- package/dist/components/clickAwayListener/clickAwayListener.js +67 -0
- package/dist/components/clickAwayListener/clickAwayListener.js.map +1 -0
- package/dist/components/clickAwayListener/index.d.ts +2 -0
- package/dist/components/dataDisplay/accordion/accordion.d.ts +21 -0
- package/dist/components/dataDisplay/accordion/accordion.js +62 -0
- package/dist/components/dataDisplay/accordion/accordion.js.map +1 -0
- package/dist/components/dataDisplay/accordion/index.d.ts +2 -0
- package/dist/components/dataDisplay/avatar/avatar.d.ts +31 -0
- package/dist/components/dataDisplay/avatar/avatar.js +49 -0
- package/dist/components/dataDisplay/avatar/avatar.js.map +1 -0
- package/dist/components/dataDisplay/avatar/index.d.ts +2 -0
- package/dist/components/dataDisplay/badge/badge.d.ts +19 -0
- package/dist/components/dataDisplay/badge/badge.js +39 -0
- package/dist/components/dataDisplay/badge/badge.js.map +1 -0
- package/dist/components/dataDisplay/badge/index.d.ts +2 -0
- package/dist/components/dataDisplay/card/card.d.ts +15 -0
- package/dist/components/dataDisplay/card/card.js +36 -0
- package/dist/components/dataDisplay/card/card.js.map +1 -0
- package/dist/components/dataDisplay/card/index.d.ts +2 -0
- package/dist/components/dataDisplay/carousel/carousel.d.ts +22 -0
- package/dist/components/dataDisplay/carousel/carousel.js +179 -0
- package/dist/components/dataDisplay/carousel/carousel.js.map +1 -0
- package/dist/components/dataDisplay/carousel/index.d.ts +2 -0
- package/dist/components/dataDisplay/carousel/utils.d.ts +13 -0
- package/dist/components/dataDisplay/carousel/utils.js +57 -0
- package/dist/components/dataDisplay/carousel/utils.js.map +1 -0
- package/dist/components/dataDisplay/chat/chat.d.ts +50 -0
- package/dist/components/dataDisplay/chat/chat.js +183 -0
- package/dist/components/dataDisplay/chat/chat.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.d.ts +7 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.js +67 -0
- package/dist/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatAttachments.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatAttachments.js +26 -0
- package/dist/components/dataDisplay/chat/chatAttachments.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatComposer.d.ts +15 -0
- package/dist/components/dataDisplay/chat/chatComposer.js +154 -0
- package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatHeader.d.ts +14 -0
- package/dist/components/dataDisplay/chat/chatHeader.js +52 -0
- package/dist/components/dataDisplay/chat/chatHeader.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatIconButton.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatIconButton.js +47 -0
- package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatLayout.d.ts +20 -0
- package/dist/components/dataDisplay/chat/chatLayout.js +102 -0
- package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageAvatar.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatMessageAvatar.js +12 -0
- package/dist/components/dataDisplay/chat/chatMessageAvatar.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageBubble.d.ts +20 -0
- package/dist/components/dataDisplay/chat/chatMessageBubble.js +60 -0
- package/dist/components/dataDisplay/chat/chatMessageBubble.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageIncoming.d.ts +7 -0
- package/dist/components/dataDisplay/chat/chatMessageIncoming.js +24 -0
- package/dist/components/dataDisplay/chat/chatMessageIncoming.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageItem.d.ts +9 -0
- package/dist/components/dataDisplay/chat/chatMessageItem.js +62 -0
- package/dist/components/dataDisplay/chat/chatMessageItem.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.d.ts +7 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.js +36 -0
- package/dist/components/dataDisplay/chat/chatMessageOutgoing.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageSkeleton.d.ts +8 -0
- package/dist/components/dataDisplay/chat/chatMessageSkeleton.js +32 -0
- package/dist/components/dataDisplay/chat/chatMessageSkeleton.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageStatus.d.ts +11 -0
- package/dist/components/dataDisplay/chat/chatMessageStatus.js +37 -0
- package/dist/components/dataDisplay/chat/chatMessageStatus.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessageSystem.d.ts +7 -0
- package/dist/components/dataDisplay/chat/chatMessageSystem.js +13 -0
- package/dist/components/dataDisplay/chat/chatMessageSystem.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatMessages.d.ts +14 -0
- package/dist/components/dataDisplay/chat/chatMessages.js +73 -0
- package/dist/components/dataDisplay/chat/chatMessages.js.map +1 -0
- package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +17 -0
- package/dist/components/dataDisplay/chat/chatShell.d.ts +16 -0
- package/dist/components/dataDisplay/chat/chatShell.js +63 -0
- package/dist/components/dataDisplay/chat/chatShell.js.map +1 -0
- package/dist/components/dataDisplay/chat/index.d.ts +44 -0
- package/dist/components/dataDisplay/chat/types.d.ts +53 -0
- package/dist/components/dataDisplay/chat/types.js +19 -0
- package/dist/components/dataDisplay/chat/types.js.map +1 -0
- package/dist/components/dataDisplay/chat/useChatFileUpload.d.ts +19 -0
- package/dist/components/dataDisplay/chat/useChatFileUpload.js +42 -0
- package/dist/components/dataDisplay/chat/useChatFileUpload.js.map +1 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.d.ts +11 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.js +26 -0
- package/dist/components/dataDisplay/chat/useChatInfiniteScroll.js.map +1 -0
- package/dist/components/dataDisplay/chat/useChatStickToBottom.d.ts +11 -0
- package/dist/components/dataDisplay/chat/useChatStickToBottom.js +38 -0
- package/dist/components/dataDisplay/chat/useChatStickToBottom.js.map +1 -0
- package/dist/components/dataDisplay/chat/utils.d.ts +26 -0
- package/dist/components/dataDisplay/chat/utils.js +61 -0
- package/dist/components/dataDisplay/chat/utils.js.map +1 -0
- package/dist/components/dataDisplay/chip/chip.d.ts +24 -0
- package/dist/components/dataDisplay/chip/chip.js +99 -0
- package/dist/components/dataDisplay/chip/chip.js.map +1 -0
- package/dist/components/dataDisplay/chip/index.d.ts +2 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.d.ts +56 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +174 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -0
- package/dist/components/dataDisplay/expansionPanel/index.d.ts +2 -0
- package/dist/components/dataDisplay/imagesList/imagesList.d.ts +15 -0
- package/dist/components/dataDisplay/imagesList/imagesList.js +21 -0
- package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/imagesList.types.d.ts +6 -0
- package/dist/components/dataDisplay/imagesList/imagesListContext.d.ts +5 -0
- package/dist/components/dataDisplay/imagesList/imagesListContext.js +8 -0
- package/dist/components/dataDisplay/imagesList/imagesListContext.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.d.ts +14 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +55 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.d.ts +7 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +29 -0
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -0
- package/dist/components/dataDisplay/imagesList/index.d.ts +6 -0
- package/dist/components/dataDisplay/list/index.d.ts +4 -0
- package/dist/components/dataDisplay/list/list.d.ts +12 -0
- package/dist/components/dataDisplay/list/list.js +25 -0
- package/dist/components/dataDisplay/list/list.js.map +1 -0
- package/dist/components/dataDisplay/list/listItem.d.ts +17 -0
- package/dist/components/dataDisplay/list/listItem.js +37 -0
- package/dist/components/dataDisplay/list/listItem.js.map +1 -0
- package/dist/components/dataDisplay/table/index.d.ts +14 -0
- package/dist/components/dataDisplay/table/table.d.ts +17 -0
- package/dist/components/dataDisplay/table/table.js +38 -0
- package/dist/components/dataDisplay/table/table.js.map +1 -0
- package/dist/components/dataDisplay/table/tableBody.d.ts +6 -0
- package/dist/components/dataDisplay/table/tableBody.js +7 -0
- package/dist/components/dataDisplay/table/tableBody.js.map +1 -0
- package/dist/components/dataDisplay/table/tableCell.d.ts +7 -0
- package/dist/components/dataDisplay/table/tableCell.js +7 -0
- package/dist/components/dataDisplay/table/tableCell.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHead.d.ts +6 -0
- package/dist/components/dataDisplay/table/tableHead.js +7 -0
- package/dist/components/dataDisplay/table/tableHead.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHeadCell.d.ts +18 -0
- package/dist/components/dataDisplay/table/tableHeadCell.js +47 -0
- package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.d.ts +19 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +41 -0
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
- package/dist/components/dataDisplay/table/tableRow.d.ts +10 -0
- package/dist/components/dataDisplay/table/tableRow.js +20 -0
- package/dist/components/dataDisplay/table/tableRow.js.map +1 -0
- package/dist/components/dataDisplay/treeView/index.d.ts +2 -0
- package/dist/components/dataDisplay/treeView/treeView.d.ts +39 -0
- package/dist/components/dataDisplay/treeView/treeView.js +116 -0
- package/dist/components/dataDisplay/treeView/treeView.js.map +1 -0
- package/dist/components/dataDisplay/typography/index.d.ts +2 -0
- package/dist/components/dataDisplay/typography/typography.d.ts +19 -0
- package/dist/components/dataDisplay/typography/typography.js +45 -0
- package/dist/components/dataDisplay/typography/typography.js.map +1 -0
- package/dist/components/feedBack/message/index.d.ts +2 -0
- package/dist/components/feedBack/message/message.d.ts +22 -0
- package/dist/components/feedBack/message/message.js +32 -0
- package/dist/components/feedBack/message/message.js.map +1 -0
- package/dist/components/feedBack/modal/index.d.ts +2 -0
- package/dist/components/feedBack/modal/modal.d.ts +39 -0
- package/dist/components/feedBack/modal/modal.js +107 -0
- package/dist/components/feedBack/modal/modal.js.map +1 -0
- package/dist/components/feedBack/progressIndicator/index.d.ts +2 -0
- package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +21 -0
- package/dist/components/feedBack/progressIndicator/progressIndicator.js +52 -0
- package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
- package/dist/components/feedBack/skeleton/index.d.ts +2 -0
- package/dist/components/feedBack/skeleton/skeleton.d.ts +20 -0
- package/dist/components/feedBack/skeleton/skeleton.js +48 -0
- package/dist/components/feedBack/skeleton/skeleton.js.map +1 -0
- package/dist/components/feedBack/snackbar/index.d.ts +2 -0
- package/dist/components/feedBack/snackbar/snackbar.d.ts +40 -0
- package/dist/components/feedBack/snackbar/snackbar.js +195 -0
- package/dist/components/feedBack/snackbar/snackbar.js.map +1 -0
- package/dist/components/feedBack/snackbar/useSnackbarsPortal.d.ts +3 -0
- package/dist/components/feedBack/snackbar/useSnackbarsPortal.js +16 -0
- package/dist/components/feedBack/snackbar/useSnackbarsPortal.js.map +1 -0
- package/dist/components/feedBack/tooltip/index.d.ts +2 -0
- package/dist/components/feedBack/tooltip/tooltip.d.ts +22 -0
- package/dist/components/feedBack/tooltip/tooltip.js +64 -0
- package/dist/components/feedBack/tooltip/tooltip.js.map +1 -0
- package/dist/components/inputs/button/button.d.ts +60 -0
- package/dist/components/inputs/button/button.js +83 -0
- package/dist/components/inputs/button/button.js.map +1 -0
- package/dist/components/inputs/button/index.d.ts +2 -0
- package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +14 -0
- package/dist/components/inputs/buttonGroups/buttonGroup.js +53 -0
- package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -0
- package/dist/components/inputs/buttonGroups/index.d.ts +2 -0
- package/dist/components/inputs/checkbox/checkbox.d.ts +21 -0
- package/dist/components/inputs/checkbox/checkbox.js +74 -0
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -0
- package/dist/components/inputs/checkbox/index.d.ts +2 -0
- package/dist/components/inputs/datePicker/dataPickerDays.d.ts +9 -0
- package/dist/components/inputs/datePicker/dataPickerDays.js +59 -0
- package/dist/components/inputs/datePicker/dataPickerDays.js.map +1 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.d.ts +11 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.js +57 -0
- package/dist/components/inputs/datePicker/dataPickerHeader.js.map +1 -0
- package/dist/components/inputs/datePicker/dataPickerInput.d.ts +6 -0
- package/dist/components/inputs/datePicker/dataPickerInput.js +37 -0
- package/dist/components/inputs/datePicker/dataPickerInput.js.map +1 -0
- package/dist/components/inputs/datePicker/dateFormat.d.ts +3 -0
- package/dist/components/inputs/datePicker/dateFormat.js +58 -0
- package/dist/components/inputs/datePicker/dateFormat.js.map +1 -0
- package/dist/components/inputs/datePicker/datePicker.d.ts +42 -0
- package/dist/components/inputs/datePicker/datePicker.js +229 -0
- package/dist/components/inputs/datePicker/datePicker.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerActionLabel.d.ts +12 -0
- package/dist/components/inputs/datePicker/datePickerActionLabel.js +42 -0
- package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerDay.d.ts +13 -0
- package/dist/components/inputs/datePicker/datePickerDay.js +62 -0
- package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +6 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.js +44 -0
- package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -0
- package/dist/components/inputs/datePicker/datePickerList.d.ts +11 -0
- package/dist/components/inputs/datePicker/datePickerList.js +38 -0
- package/dist/components/inputs/datePicker/datePickerList.js.map +1 -0
- package/dist/components/inputs/datePicker/index.d.ts +16 -0
- package/dist/components/inputs/datePicker/useDateInput.d.ts +14 -0
- package/dist/components/inputs/datePicker/useDateInput.js +35 -0
- package/dist/components/inputs/datePicker/useDateInput.js.map +1 -0
- package/dist/components/inputs/datePicker/utils.d.ts +37 -0
- package/dist/components/inputs/datePicker/utils.js +179 -0
- package/dist/components/inputs/datePicker/utils.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/dateTimeFormat.d.ts +3 -0
- package/dist/components/inputs/dateTimePicker/dateTimeFormat.js +73 -0
- package/dist/components/inputs/dateTimePicker/dateTimeFormat.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/dateTimePicker.d.ts +28 -0
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js +194 -0
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.d.ts +6 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.js +37 -0
- package/dist/components/inputs/dateTimePicker/dateTimePickerInput.js.map +1 -0
- package/dist/components/inputs/dateTimePicker/index.d.ts +6 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.d.ts +15 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.js +60 -0
- package/dist/components/inputs/dateTimePicker/useDateTimeInput.js.map +1 -0
- package/dist/components/inputs/fileDrop/countPreview.d.ts +7 -0
- package/dist/components/inputs/fileDrop/fileDrop.d.ts +16 -0
- package/dist/components/inputs/fileDrop/preview.d.ts +8 -0
- package/dist/components/inputs/fileDrop/previewWrapper.d.ts +9 -0
- package/dist/components/inputs/fileDrop/utils.d.ts +1 -0
- package/dist/components/inputs/fileInput/fileInput.d.ts +16 -0
- package/dist/components/inputs/floatingButton/floatingButton.d.ts +11 -0
- package/dist/components/inputs/floatingButton/floatingButton.js +42 -0
- package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -0
- package/dist/components/inputs/floatingButton/index.d.ts +2 -0
- package/dist/components/inputs/radioButton/index.d.ts +2 -0
- package/dist/components/inputs/radioButton/radioButton.d.ts +19 -0
- package/dist/components/inputs/radioButton/radioButton.js +69 -0
- package/dist/components/inputs/radioButton/radioButton.js.map +1 -0
- package/dist/components/inputs/rating/index.d.ts +2 -0
- package/dist/components/inputs/rating/rating.d.ts +31 -0
- package/dist/components/inputs/rating/rating.js +85 -0
- package/dist/components/inputs/rating/rating.js.map +1 -0
- package/dist/components/inputs/selectField/dropdownMenu.d.ts +40 -0
- package/dist/components/inputs/selectField/dropdownMenu.js +134 -0
- package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -0
- package/dist/components/inputs/selectField/index.d.ts +2 -0
- package/dist/components/inputs/selectField/selectField.d.ts +50 -0
- package/dist/components/inputs/selectField/selectField.js +232 -0
- package/dist/components/inputs/selectField/selectField.js.map +1 -0
- package/dist/components/inputs/slider/index.d.ts +2 -0
- package/dist/components/inputs/slider/slider.d.ts +35 -0
- package/dist/components/inputs/slider/slider.js +314 -0
- package/dist/components/inputs/slider/slider.js.map +1 -0
- package/dist/components/inputs/slider/utils.d.ts +11 -0
- package/dist/components/inputs/slider/utils.js +40 -0
- package/dist/components/inputs/slider/utils.js.map +1 -0
- package/dist/components/inputs/textField/index.d.ts +6 -0
- package/dist/components/inputs/textField/textField.d.ts +26 -0
- package/dist/components/inputs/textField/textField.js +126 -0
- package/dist/components/inputs/textField/textField.js.map +1 -0
- package/dist/components/inputs/textField/textFieldAdornment.d.ts +8 -0
- package/dist/components/inputs/textField/textFieldAdornment.js +25 -0
- package/dist/components/inputs/textField/textFieldAdornment.js.map +1 -0
- package/dist/components/inputs/textField/textFieldWrapper.d.ts +20 -0
- package/dist/components/inputs/textField/textFieldWrapper.js +50 -0
- package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -0
- package/dist/components/inputs/textField/utils.d.ts +7 -0
- package/dist/components/inputs/textField/utils.js +11 -0
- package/dist/components/inputs/textField/utils.js.map +1 -0
- package/dist/components/inputs/timePicker/index.d.ts +11 -0
- package/dist/components/inputs/timePicker/timeFormat.d.ts +4 -0
- package/dist/components/inputs/timePicker/timeFormat.js +61 -0
- package/dist/components/inputs/timePicker/timeFormat.js.map +1 -0
- package/dist/components/inputs/timePicker/timePicker.d.ts +18 -0
- package/dist/components/inputs/timePicker/timePicker.js +114 -0
- package/dist/components/inputs/timePicker/timePicker.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerColumns.d.ts +7 -0
- package/dist/components/inputs/timePicker/timePickerColumns.js +32 -0
- package/dist/components/inputs/timePicker/timePickerColumns.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerInput.d.ts +6 -0
- package/dist/components/inputs/timePicker/timePickerInput.js +37 -0
- package/dist/components/inputs/timePicker/timePickerInput.js.map +1 -0
- package/dist/components/inputs/timePicker/timePickerList.d.ts +11 -0
- package/dist/components/inputs/timePicker/timePickerList.js +43 -0
- package/dist/components/inputs/timePicker/timePickerList.js.map +1 -0
- package/dist/components/inputs/timePicker/timeUtils.d.ts +23 -0
- package/dist/components/inputs/timePicker/timeUtils.js +93 -0
- package/dist/components/inputs/timePicker/timeUtils.js.map +1 -0
- package/dist/components/inputs/timePicker/useTimeInput.d.ts +13 -0
- package/dist/components/inputs/timePicker/useTimeInput.js +37 -0
- package/dist/components/inputs/timePicker/useTimeInput.js.map +1 -0
- package/dist/components/inputs/toggle/index.d.ts +2 -0
- package/dist/components/inputs/toggle/toggle.d.ts +20 -0
- package/dist/components/inputs/toggle/toggle.js +70 -0
- package/dist/components/inputs/toggle/toggle.js.map +1 -0
- package/dist/components/layout/appLayout/appLayout.d.ts +32 -0
- package/dist/components/layout/appLayout/appLayout.js +75 -0
- package/dist/components/layout/appLayout/appLayout.js.map +1 -0
- package/dist/components/layout/appLayout/index.d.ts +2 -0
- package/dist/components/layout/divider/divider.d.ts +21 -0
- package/dist/components/layout/divider/divider.js +58 -0
- package/dist/components/layout/divider/divider.js.map +1 -0
- package/dist/components/layout/divider/index.d.ts +2 -0
- package/dist/components/layout/grid/grid.d.ts +61 -0
- package/dist/components/layout/grid/grid.js +59 -0
- package/dist/components/layout/grid/grid.js.map +1 -0
- package/dist/components/layout/grid/index.d.ts +2 -0
- package/dist/components/layout/page/index.d.ts +2 -0
- package/dist/components/layout/page/page.d.ts +15 -0
- package/dist/components/layout/page/page.js +22 -0
- package/dist/components/layout/page/page.js.map +1 -0
- package/dist/components/layout/pageHeader/index.d.ts +2 -0
- package/dist/components/layout/pageHeader/pageHeader.d.ts +14 -0
- package/dist/components/layout/pageHeader/pageHeader.js +31 -0
- package/dist/components/layout/pageHeader/pageHeader.js.map +1 -0
- package/dist/components/layout/screenDivider/index.d.ts +2 -0
- package/dist/components/layout/screenDivider/screenDivider.d.ts +17 -0
- package/dist/components/layout/screenDivider/screenDivider.js +89 -0
- package/dist/components/layout/screenDivider/screenDivider.js.map +1 -0
- package/dist/components/layout/sheet/index.d.ts +2 -0
- package/dist/components/layout/sheet/sheet.d.ts +36 -0
- package/dist/components/layout/sheet/sheet.js +218 -0
- package/dist/components/layout/sheet/sheet.js.map +1 -0
- package/dist/components/layout/stack/index.d.ts +2 -0
- package/dist/components/layout/stack/stack.d.ts +17 -0
- package/dist/components/layout/stack/stack.js +34 -0
- package/dist/components/layout/stack/stack.js.map +1 -0
- package/dist/components/navigation/appBar/appBar.d.ts +18 -0
- package/dist/components/navigation/appBar/appBar.js +48 -0
- package/dist/components/navigation/appBar/appBar.js.map +1 -0
- package/dist/components/navigation/appBar/index.d.ts +2 -0
- package/dist/components/navigation/bottomBar/bottomBar.d.ts +14 -0
- package/dist/components/navigation/bottomBar/bottomBar.js +106 -0
- package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -0
- package/dist/components/navigation/bottomBar/index.d.ts +2 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +22 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js +53 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/components/navigation/breadcrumbs/index.d.ts +2 -0
- package/dist/components/navigation/menu/index.d.ts +6 -0
- package/dist/components/navigation/menu/menu.d.ts +10 -0
- package/dist/components/navigation/menu/menu.js +15 -0
- package/dist/components/navigation/menu/menu.js.map +1 -0
- package/dist/components/navigation/menu/menuComponent.d.ts +3 -0
- package/dist/components/navigation/menu/menuComponent.js +13 -0
- package/dist/components/navigation/menu/menuComponent.js.map +1 -0
- package/dist/components/navigation/menu/menuContext.d.ts +8 -0
- package/dist/components/navigation/menu/menuContext.js +14 -0
- package/dist/components/navigation/menu/menuContext.js.map +1 -0
- package/dist/components/navigation/menu/menuDivider.d.ts +3 -0
- package/dist/components/navigation/menu/menuDivider.js +19 -0
- package/dist/components/navigation/menu/menuDivider.js.map +1 -0
- package/dist/components/navigation/menu/menuFloating.d.ts +12 -0
- package/dist/components/navigation/menu/menuFloating.js +50 -0
- package/dist/components/navigation/menu/menuFloating.js.map +1 -0
- package/dist/components/navigation/menu/menuItem.d.ts +16 -0
- package/dist/components/navigation/menu/menuItem.js +68 -0
- package/dist/components/navigation/menu/menuItem.js.map +1 -0
- package/dist/components/navigation/menu/menuItemIcon.d.ts +5 -0
- package/dist/components/navigation/menu/menuItemIcon.js +16 -0
- package/dist/components/navigation/menu/menuItemIcon.js.map +1 -0
- package/dist/components/navigation/menu/menuItemText.d.ts +7 -0
- package/dist/components/navigation/menu/menuItemText.js +15 -0
- package/dist/components/navigation/menu/menuItemText.js.map +1 -0
- package/dist/components/navigation/menu/menuList.d.ts +3 -0
- package/dist/components/navigation/menu/menuList.js +30 -0
- package/dist/components/navigation/menu/menuList.js.map +1 -0
- package/dist/components/navigation/menu/menuSubmenu.d.ts +16 -0
- package/dist/components/navigation/menu/menuSubmenu.js +70 -0
- package/dist/components/navigation/menu/menuSubmenu.js.map +1 -0
- package/dist/components/navigation/pagination/index.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination.d.ts +27 -0
- package/dist/components/navigation/pagination/pagination.js +107 -0
- package/dist/components/navigation/pagination/pagination.js.map +1 -0
- package/dist/components/navigation/sidebar/index.d.ts +2 -0
- package/dist/components/navigation/sidebar/sidebar.d.ts +33 -0
- package/dist/components/navigation/sidebar/sidebar.js +106 -0
- package/dist/components/navigation/sidebar/sidebar.js.map +1 -0
- package/dist/components/navigation/stepper/index.d.ts +2 -0
- package/dist/components/navigation/stepper/stepper.d.ts +25 -0
- package/dist/components/navigation/stepper/stepper.js +61 -0
- package/dist/components/navigation/stepper/stepper.js.map +1 -0
- package/dist/components/navigation/tabs/index.d.ts +4 -0
- package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
- package/dist/components/navigation/tabs/tab/tab.js +54 -0
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -0
- package/dist/components/navigation/tabs/tabs.d.ts +15 -0
- package/dist/components/navigation/tabs/tabs.js +137 -0
- package/dist/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/connects/rt/index.d.ts +2 -0
- package/dist/connects/rt/table/draggableHeader.d.ts +13 -0
- package/dist/connects/rt/table/headerCellRenderer.d.ts +8 -0
- package/dist/connects/rt/table/index.d.ts +3 -0
- package/dist/connects/rt/table/table.d.ts +39 -0
- package/dist/connects/rt/table/utils.d.ts +7 -0
- package/dist/headless/components/base/animateHeight/animateHeight.js +118 -0
- package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -0
- package/dist/headless/components/base/icon/icon.js +26 -0
- package/dist/headless/components/base/icon/icon.js.map +1 -0
- package/dist/headless/components/base/ripple/ripple.js +41 -0
- package/dist/headless/components/base/ripple/ripple.js.map +1 -0
- package/dist/headless/components/clickAwayListener/clickAwayListener.js +67 -0
- package/dist/headless/components/clickAwayListener/clickAwayListener.js.map +1 -0
- package/dist/headless/components/dataDisplay/accordion/accordion.js +61 -0
- package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -0
- package/dist/headless/components/dataDisplay/avatar/avatar.js +48 -0
- package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -0
- package/dist/headless/components/dataDisplay/badge/badge.js +38 -0
- package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -0
- package/dist/headless/components/dataDisplay/card/card.js +35 -0
- package/dist/headless/components/dataDisplay/card/card.js.map +1 -0
- package/dist/headless/components/dataDisplay/carousel/carousel.js +178 -0
- package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -0
- package/dist/headless/components/dataDisplay/carousel/utils.js +57 -0
- package/dist/headless/components/dataDisplay/carousel/utils.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chat.js +182 -0
- package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js +67 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachmentImage.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachments.js +26 -0
- package/dist/headless/components/dataDisplay/chat/chatAttachments.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatComposer.js +154 -0
- package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatHeader.js +52 -0
- package/dist/headless/components/dataDisplay/chat/chatHeader.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js +47 -0
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatLayout.js +102 -0
- package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageAvatar.js +12 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageAvatar.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js +60 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageIncoming.js +24 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageIncoming.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageItem.js +62 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageOutgoing.js +36 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageOutgoing.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSkeleton.js +32 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSkeleton.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageStatus.js +37 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageStatus.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSystem.js +13 -0
- package/dist/headless/components/dataDisplay/chat/chatMessageSystem.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatMessages.js +73 -0
- package/dist/headless/components/dataDisplay/chat/chatMessages.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/chatShell.js +63 -0
- package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/types.js +19 -0
- package/dist/headless/components/dataDisplay/chat/types.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/useChatFileUpload.js +42 -0
- package/dist/headless/components/dataDisplay/chat/useChatFileUpload.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/useChatInfiniteScroll.js +26 -0
- package/dist/headless/components/dataDisplay/chat/useChatInfiniteScroll.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/useChatStickToBottom.js +38 -0
- package/dist/headless/components/dataDisplay/chat/useChatStickToBottom.js.map +1 -0
- package/dist/headless/components/dataDisplay/chat/utils.js +61 -0
- package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -0
- package/dist/headless/components/dataDisplay/chip/chip.js +98 -0
- package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -0
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +173 -0
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesList.js +20 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesList.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListContext.js +8 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListContext.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +54 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +29 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -0
- package/dist/headless/components/dataDisplay/list/list.js +24 -0
- package/dist/headless/components/dataDisplay/list/list.js.map +1 -0
- package/dist/headless/components/dataDisplay/list/listItem.js +37 -0
- package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/table.js +37 -0
- package/dist/headless/components/dataDisplay/table/table.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableBody.js +7 -0
- package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableCell.js +7 -0
- package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js +7 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js +47 -0
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tablePagination/tablePagination.js +40 -0
- package/dist/headless/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableRow.js +20 -0
- package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -0
- package/dist/headless/components/dataDisplay/treeView/treeView.js +115 -0
- package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -0
- package/dist/headless/components/dataDisplay/typography/typography.js +44 -0
- package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -0
- package/dist/headless/components/feedBack/message/message.js +31 -0
- package/dist/headless/components/feedBack/message/message.js.map +1 -0
- package/dist/headless/components/feedBack/modal/modal.js +106 -0
- package/dist/headless/components/feedBack/modal/modal.js.map +1 -0
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +51 -0
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
- package/dist/headless/components/feedBack/skeleton/skeleton.js +47 -0
- package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -0
- package/dist/headless/components/feedBack/snackbar/snackbar.js +194 -0
- package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -0
- package/dist/headless/components/feedBack/snackbar/useSnackbarsPortal.js +16 -0
- package/dist/headless/components/feedBack/snackbar/useSnackbarsPortal.js.map +1 -0
- package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -0
- package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -0
- package/dist/headless/components/inputs/button/button.js +82 -0
- package/dist/headless/components/inputs/button/button.js.map +1 -0
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +52 -0
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -0
- package/dist/headless/components/inputs/checkbox/checkbox.js +73 -0
- package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerDays.js +59 -0
- package/dist/headless/components/inputs/datePicker/dataPickerDays.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerHeader.js +57 -0
- package/dist/headless/components/inputs/datePicker/dataPickerHeader.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dataPickerInput.js +37 -0
- package/dist/headless/components/inputs/datePicker/dataPickerInput.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/dateFormat.js +58 -0
- package/dist/headless/components/inputs/datePicker/dateFormat.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePicker.js +228 -0
- package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +42 -0
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerDay.js +62 -0
- package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +44 -0
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePickerList.js +38 -0
- package/dist/headless/components/inputs/datePicker/datePickerList.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/useDateInput.js +35 -0
- package/dist/headless/components/inputs/datePicker/useDateInput.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/utils.js +179 -0
- package/dist/headless/components/inputs/datePicker/utils.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimeFormat.js +73 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimeFormat.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +194 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePickerInput.js +37 -0
- package/dist/headless/components/inputs/dateTimePicker/dateTimePickerInput.js.map +1 -0
- package/dist/headless/components/inputs/dateTimePicker/useDateTimeInput.js +60 -0
- package/dist/headless/components/inputs/dateTimePicker/useDateTimeInput.js.map +1 -0
- package/dist/headless/components/inputs/floatingButton/floatingButton.js +41 -0
- package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -0
- package/dist/headless/components/inputs/radioButton/radioButton.js +68 -0
- package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -0
- package/dist/headless/components/inputs/rating/rating.js +84 -0
- package/dist/headless/components/inputs/rating/rating.js.map +1 -0
- package/dist/headless/components/inputs/selectField/dropdownMenu.js +134 -0
- package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -0
- package/dist/headless/components/inputs/selectField/selectField.js +231 -0
- package/dist/headless/components/inputs/selectField/selectField.js.map +1 -0
- package/dist/headless/components/inputs/slider/slider.js +313 -0
- package/dist/headless/components/inputs/slider/slider.js.map +1 -0
- package/dist/headless/components/inputs/slider/utils.js +40 -0
- package/dist/headless/components/inputs/slider/utils.js.map +1 -0
- package/dist/headless/components/inputs/textField/textField.js +125 -0
- package/dist/headless/components/inputs/textField/textField.js.map +1 -0
- package/dist/headless/components/inputs/textField/textFieldAdornment.js +25 -0
- package/dist/headless/components/inputs/textField/textFieldAdornment.js.map +1 -0
- package/dist/headless/components/inputs/textField/textFieldWrapper.js +50 -0
- package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -0
- package/dist/headless/components/inputs/textField/utils.js +11 -0
- package/dist/headless/components/inputs/textField/utils.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timeFormat.js +61 -0
- package/dist/headless/components/inputs/timePicker/timeFormat.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePicker.js +113 -0
- package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerColumns.js +32 -0
- package/dist/headless/components/inputs/timePicker/timePickerColumns.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerInput.js +37 -0
- package/dist/headless/components/inputs/timePicker/timePickerInput.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timePickerList.js +43 -0
- package/dist/headless/components/inputs/timePicker/timePickerList.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/timeUtils.js +93 -0
- package/dist/headless/components/inputs/timePicker/timeUtils.js.map +1 -0
- package/dist/headless/components/inputs/timePicker/useTimeInput.js +37 -0
- package/dist/headless/components/inputs/timePicker/useTimeInput.js.map +1 -0
- package/dist/headless/components/inputs/toggle/toggle.js +69 -0
- package/dist/headless/components/inputs/toggle/toggle.js.map +1 -0
- package/dist/headless/components/layout/appLayout/appLayout.js +74 -0
- package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -0
- package/dist/headless/components/layout/divider/divider.js +57 -0
- package/dist/headless/components/layout/divider/divider.js.map +1 -0
- package/dist/headless/components/layout/grid/grid.js +58 -0
- package/dist/headless/components/layout/grid/grid.js.map +1 -0
- package/dist/headless/components/layout/page/page.js +21 -0
- package/dist/headless/components/layout/page/page.js.map +1 -0
- package/dist/headless/components/layout/pageHeader/pageHeader.js +30 -0
- package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -0
- package/dist/headless/components/layout/screenDivider/screenDivider.js +88 -0
- package/dist/headless/components/layout/screenDivider/screenDivider.js.map +1 -0
- package/dist/headless/components/layout/sheet/sheet.js +217 -0
- package/dist/headless/components/layout/sheet/sheet.js.map +1 -0
- package/dist/headless/components/layout/stack/stack.js +33 -0
- package/dist/headless/components/layout/stack/stack.js.map +1 -0
- package/dist/headless/components/navigation/appBar/appBar.js +47 -0
- package/dist/headless/components/navigation/appBar/appBar.js.map +1 -0
- package/dist/headless/components/navigation/bottomBar/bottomBar.js +105 -0
- package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -0
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +52 -0
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/headless/components/navigation/menu/menu.js +14 -0
- package/dist/headless/components/navigation/menu/menu.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuComponent.js +13 -0
- package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuContext.js +14 -0
- package/dist/headless/components/navigation/menu/menuContext.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuDivider.js +19 -0
- package/dist/headless/components/navigation/menu/menuDivider.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuFloating.js +50 -0
- package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItem.js +68 -0
- package/dist/headless/components/navigation/menu/menuItem.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItemIcon.js +16 -0
- package/dist/headless/components/navigation/menu/menuItemIcon.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuItemText.js +15 -0
- package/dist/headless/components/navigation/menu/menuItemText.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuList.js +30 -0
- package/dist/headless/components/navigation/menu/menuList.js.map +1 -0
- package/dist/headless/components/navigation/menu/menuSubmenu.js +70 -0
- package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -0
- package/dist/headless/components/navigation/pagination/pagination.js +106 -0
- package/dist/headless/components/navigation/pagination/pagination.js.map +1 -0
- package/dist/headless/components/navigation/sidebar/sidebar.js +105 -0
- package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -0
- package/dist/headless/components/navigation/stepper/stepper.js +60 -0
- package/dist/headless/components/navigation/stepper/stepper.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tab/tab.js +53 -0
- package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tabs.js +136 -0
- package/dist/headless/components/navigation/tabs/tabs.js.map +1 -0
- package/dist/headless/hooks/useControllableState.js +24 -0
- package/dist/headless/hooks/useControllableState.js.map +1 -0
- package/dist/headless/hooks/useEventCallback.js +11 -0
- package/dist/headless/hooks/useEventCallback.js.map +1 -0
- package/dist/headless/hooks/useFocusTrap.js +38 -0
- package/dist/headless/hooks/useFocusTrap.js.map +1 -0
- package/dist/headless/hooks/useForkRef.js +13 -0
- package/dist/headless/hooks/useForkRef.js.map +1 -0
- package/dist/headless/hooks/useId.js +9 -0
- package/dist/headless/hooks/useId.js.map +1 -0
- package/dist/headless/hooks/useModalState.js +13 -0
- package/dist/headless/hooks/useModalState.js.map +1 -0
- package/dist/headless/hooks/useObservable.js +9 -0
- package/dist/headless/hooks/useObservable.js.map +1 -0
- package/dist/headless/hooks/useRovingTabIndex.js +35 -0
- package/dist/headless/hooks/useRovingTabIndex.js.map +1 -0
- package/dist/headless/hooks/useSafeLayoutEffect.js +6 -0
- package/dist/headless/hooks/useSafeLayoutEffect.js.map +1 -0
- package/dist/headless/hooks/useTheme.js +37 -0
- package/dist/headless/hooks/useTheme.js.map +1 -0
- package/dist/headless/hooks/useVirtualList.js +25 -0
- package/dist/headless/hooks/useVirtualList.js.map +1 -0
- package/dist/headless/index.js +242 -0
- package/dist/headless/index.js.map +1 -0
- package/dist/headless/utils/animate.js +30 -0
- package/dist/headless/utils/animate.js.map +1 -0
- package/dist/headless/utils/debounce.js +15 -0
- package/dist/headless/utils/debounce.js.map +1 -0
- package/dist/headless/utils/floating.js +13 -0
- package/dist/headless/utils/floating.js.map +1 -0
- package/dist/headless/utils/observable.js +24 -0
- package/dist/headless/utils/observable.js.map +1 -0
- package/dist/headless/utils/setRef.js +7 -0
- package/dist/headless/utils/setRef.js.map +1 -0
- package/dist/headless/utils/throttle.js +18 -0
- package/dist/headless/utils/throttle.js.map +1 -0
- package/dist/hooks/useControllableState.d.ts +21 -0
- package/dist/hooks/useControllableState.js +24 -0
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/useEventCallback.d.ts +4 -0
- package/dist/hooks/useEventCallback.js +11 -0
- package/dist/hooks/useEventCallback.js.map +1 -0
- package/dist/hooks/useFocusTrap.d.ts +15 -0
- package/dist/hooks/useFocusTrap.js +38 -0
- package/dist/hooks/useFocusTrap.js.map +1 -0
- package/dist/hooks/useForkRef.d.ts +2 -0
- package/dist/hooks/useForkRef.js +13 -0
- package/dist/hooks/useForkRef.js.map +1 -0
- package/dist/hooks/useId.d.ts +9 -0
- package/dist/hooks/useId.js +9 -0
- package/dist/hooks/useId.js.map +1 -0
- package/dist/hooks/useMediaQuery.d.ts +1 -0
- package/dist/hooks/useModalState.d.ts +5 -0
- package/dist/hooks/useModalState.js +13 -0
- package/dist/hooks/useModalState.js.map +1 -0
- package/dist/hooks/useObservable.d.ts +2 -0
- package/dist/hooks/useObservable.js +9 -0
- package/dist/hooks/useObservable.js.map +1 -0
- package/dist/hooks/useRovingTabIndex.d.ts +22 -0
- package/dist/hooks/useRovingTabIndex.js +35 -0
- package/dist/hooks/useRovingTabIndex.js.map +1 -0
- package/dist/hooks/useSafeLayoutEffect.d.ts +2 -0
- package/dist/hooks/useSafeLayoutEffect.js +6 -0
- package/dist/hooks/useSafeLayoutEffect.js.map +1 -0
- package/dist/hooks/useTheme.d.ts +9 -0
- package/dist/hooks/useTheme.js +37 -0
- package/dist/hooks/useTheme.js.map +1 -0
- package/dist/hooks/useThrottleCallback.d.ts +1 -0
- package/dist/hooks/useVirtualList.d.ts +34 -0
- package/dist/hooks/useVirtualList.js +25 -0
- package/dist/hooks/useVirtualList.js.map +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +113 -0
- package/dist/index.js +242 -0
- package/dist/index.js.map +1 -0
- package/dist/react-table/components/base/icon/icon.js +26 -0
- package/dist/react-table/components/base/icon/icon.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/table.js +37 -0
- package/dist/react-table/components/dataDisplay/table/table.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableBody.js +7 -0
- package/dist/react-table/components/dataDisplay/table/tableBody.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableCell.js +7 -0
- package/dist/react-table/components/dataDisplay/table/tableCell.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableHead.js +7 -0
- package/dist/react-table/components/dataDisplay/table/tableHead.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableHeadCell.js +47 -0
- package/dist/react-table/components/dataDisplay/table/tableHeadCell.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js +40 -0
- package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -0
- package/dist/react-table/components/dataDisplay/table/tableRow.js +20 -0
- package/dist/react-table/components/dataDisplay/table/tableRow.js.map +1 -0
- package/dist/react-table/components/feedBack/message/message.js +31 -0
- package/dist/react-table/components/feedBack/message/message.js.map +1 -0
- package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js +51 -0
- package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js.map +1 -0
- package/dist/react-table/components/inputs/textField/textField.js +125 -0
- package/dist/react-table/components/inputs/textField/textField.js.map +1 -0
- package/dist/react-table/components/inputs/textField/textFieldAdornment.js +25 -0
- package/dist/react-table/components/inputs/textField/textFieldAdornment.js.map +1 -0
- package/dist/react-table/components/inputs/textField/textFieldWrapper.js +50 -0
- package/dist/react-table/components/inputs/textField/textFieldWrapper.js.map +1 -0
- package/dist/react-table/components/inputs/textField/utils.js +11 -0
- package/dist/react-table/components/inputs/textField/utils.js.map +1 -0
- package/dist/react-table/connects/rt/table/draggableHeader.js +44 -0
- package/dist/react-table/connects/rt/table/draggableHeader.js.map +1 -0
- package/dist/react-table/connects/rt/table/headerCellRenderer.js +14 -0
- package/dist/react-table/connects/rt/table/headerCellRenderer.js.map +1 -0
- package/dist/react-table/connects/rt/table/table.js +180 -0
- package/dist/react-table/connects/rt/table/table.js.map +1 -0
- package/dist/react-table/connects/rt/table/utils.js +22 -0
- package/dist/react-table/connects/rt/table/utils.js.map +1 -0
- package/dist/react-table/hooks/useForkRef.js +13 -0
- package/dist/react-table/hooks/useForkRef.js.map +1 -0
- package/dist/react-table/hooks/useSafeLayoutEffect.js +6 -0
- package/dist/react-table/hooks/useSafeLayoutEffect.js.map +1 -0
- package/dist/react-table/react-table.js +7 -0
- package/dist/react-table/react-table.js.map +1 -0
- package/dist/react-table/utils/setRef.js +7 -0
- package/dist/react-table/utils/setRef.js.map +1 -0
- package/dist/react-table.d.ts +3 -0
- package/dist/storybook/storyPlay.d.ts +19 -0
- package/dist/templates/summer-ui/components/authCard/authCard.d.ts +8 -0
- package/dist/templates/summer-ui/components/authCard/index.d.ts +2 -0
- package/dist/templates/summer-ui/components/authLayout/authLayout.d.ts +3 -0
- package/dist/templates/summer-ui/components/authLayout/index.d.ts +2 -0
- package/dist/templates/summer-ui/components/authProvider/authProvider.d.ts +8 -0
- package/dist/templates/summer-ui/components/authProvider/index.d.ts +2 -0
- package/dist/templates/summer-ui/components/link/index.d.ts +2 -0
- package/dist/templates/summer-ui/components/link/link.d.ts +7 -0
- package/dist/templates/summer-ui/index.d.ts +1 -0
- package/dist/templates/summer-ui/messages/en.d.ts +30 -0
- package/dist/templates/summer-ui/messages/index.d.ts +31 -0
- package/dist/utils/animate.d.ts +8 -0
- package/dist/utils/animate.js +30 -0
- package/dist/utils/animate.js.map +1 -0
- package/dist/utils/debounce.d.ts +5 -0
- package/dist/utils/debounce.js +15 -0
- package/dist/utils/debounce.js.map +1 -0
- package/dist/utils/floating.d.ts +9 -0
- package/dist/utils/floating.js +13 -0
- package/dist/utils/floating.js.map +1 -0
- package/dist/utils/observable.d.ts +10 -0
- package/dist/utils/observable.js +24 -0
- package/dist/utils/observable.js.map +1 -0
- package/dist/utils/setRef.d.ts +2 -0
- package/dist/utils/setRef.js +7 -0
- package/dist/utils/setRef.js.map +1 -0
- package/dist/utils/throttle.d.ts +5 -0
- package/dist/utils/throttle.js +18 -0
- package/dist/utils/throttle.js.map +1 -0
- package/dist/utils/types/extractPropertyNamesByType.d.ts +3 -0
- package/dist/utils/types/ifEquals.d.ts +1 -0
- package/dist/utils/types/writableKeys.d.ts +8 -0
- package/package.json +146 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
AUDIENCE: AI agent (not human). Dense, exact, copy-paste ready.
|
|
3
|
+
TOPIC: compile-time customization of @smwb/ui-react via Less overrides.
|
|
4
|
+
Companion: AI_THEMING.md (runtime CSS vars + component props).
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
# AI_LESS_OVERRIDES — Less override mechanism
|
|
8
|
+
|
|
9
|
+
## Resolution model (READ FIRST)
|
|
10
|
+
|
|
11
|
+
The published aggregate stylesheet is compiled from `@smwb/ui-styles/less/components.less`
|
|
12
|
+
into the standalone `@smwb/ui-css` package (`dist/ui.css`) at build time
|
|
13
|
+
(`npm -w @smwb/ui-css run build`).
|
|
14
|
+
|
|
15
|
+
Import order (`@smwb/ui-styles/less/theme.less`):
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
site/globals/site.variables.less
|
|
19
|
+
default/globals/default.variables.less
|
|
20
|
+
variables.less (maps @vars → :root{--smui-*})
|
|
21
|
+
@{themesFolder}/@{theme}/variables.less (optional theme)
|
|
22
|
+
theme.config (optional, client-supplied — imported LAST)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The `foundation` layer is imported FIRST via
|
|
26
|
+
`@smwb/ui-styles/less/components.less` → `@smwb/ui-styles/less/foundation.less`:
|
|
27
|
+
`palette → spacing → radius → elevation → breakpoints → sizing`.
|
|
28
|
+
|
|
29
|
+
**Less is last-declaration-wins at root scope** (lazy eval). Every
|
|
30
|
+
`@var` resolves to its LAST assignment in the whole compilation.
|
|
31
|
+
`theme.config` is imported LAST (after `default.variables.less` and
|
|
32
|
+
`variables.less`) precisely so a consumer's reassignment wins over the
|
|
33
|
+
defaults. Component CSS reads these via lazy evaluation, so the final
|
|
34
|
+
assignment wins even though component rules are emitted earlier. To
|
|
35
|
+
override a token, assign it again in `theme.config`; the sanctioned
|
|
36
|
+
hook is `theme.config`.
|
|
37
|
+
|
|
38
|
+
### How a consumer overrides (the only supported entry point)
|
|
39
|
+
|
|
40
|
+
1. Create a Less file, e.g. `theme.config`, resolvable from
|
|
41
|
+
`@smwb/ui-styles/less/` (build with `lessc` include paths or copy alongside).
|
|
42
|
+
`theme.less` does `@import (optional) "theme.config";` — absent file
|
|
43
|
+
is a no-op.
|
|
44
|
+
2. Put `@token: <value>;` lines in it. Recompile.
|
|
45
|
+
|
|
46
|
+
```less
|
|
47
|
+
// theme.config (consumer)
|
|
48
|
+
@smui-spacing-unit: 8px; // double every gap/padding/margin
|
|
49
|
+
@smui-radius-md: 2px; // sharper corners library-wide
|
|
50
|
+
@primaryColor: @md-teal-500; // pull brand from the MD palette
|
|
51
|
+
@cardPadding: @smui-space-xxl;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`site.variables.less` (`@smwb/ui-styles/less/site/globals/site.variables.less`)
|
|
55
|
+
is an in-repo equivalent hook (currently only doc comments) for
|
|
56
|
+
first-party theming.
|
|
57
|
+
|
|
58
|
+
## Token catalog (authoritative files)
|
|
59
|
+
|
|
60
|
+
| Layer | File | Tokens |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| MD palette | `@smwb/ui-styles/less/foundation/palette.less` | `@md-<color>-<shade>` |
|
|
63
|
+
| Spacing | `@smwb/ui-styles/less/foundation/spacing.less` | `@smui-spacing-unit`, `@smui-space-*` + mixins |
|
|
64
|
+
| Radius | `@smwb/ui-styles/less/foundation/radius.less` | `@smui-radius-*` |
|
|
65
|
+
| Elevation | `@smwb/ui-styles/less/foundation/elevation.less` | `@smui-elevation-*` + mixin |
|
|
66
|
+
| Breakpoints | `@smwb/ui-styles/less/foundation/breakpoints.less` | `@smui-bp-*`, `@xs..@xl` + media mixins |
|
|
67
|
+
| Control sizing | `@smwb/ui-styles/less/foundation/sizing.less` | `@smui-control-*`, `@smui-selection-*`, `@smui-icon-*` |
|
|
68
|
+
| Semantic colors + per-component vars | `@smwb/ui-styles/less/default/globals/default.variables.less` | `@primaryColor`, `@secondaryColor`, `@errorColor`, … and component vars |
|
|
69
|
+
| Dark theme vars | same file, `*Dark` suffixed | e.g. `@primaryColorDark` |
|
|
70
|
+
| Runtime exposure | `@smwb/ui-styles/less/variables.less` | `:root { --smui-* }` |
|
|
71
|
+
|
|
72
|
+
To enumerate any group exactly, grep the source (always current):
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
grep -oE '@smui-[a-zA-Z0-9-]+' @smwb/ui-styles/less/foundation/*.less | sort -u
|
|
76
|
+
grep -oE '@md-[a-zA-Z]+-[a-z0-9]+' @smwb/ui-styles/less/foundation/palette.less | sort -u
|
|
77
|
+
grep -oE '^@[a-zA-Z][a-zA-Z0-9]+:' @smwb/ui-styles/less/default/globals/default.variables.less
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### MD palette (`@md-<color>-<shade>`)
|
|
81
|
+
|
|
82
|
+
Colors: `red pink purple deepPurple indigo blue lightBlue cyan teal
|
|
83
|
+
green lightGreen lime yellow amber orange deepOrange brown grey
|
|
84
|
+
blueGrey`. Shades: `50 100 200 300 400 500 600 700 800 900`; accents
|
|
85
|
+
`a100 a200 a400 a700` (most colors). Plus `@md-white`, `@md-black`.
|
|
86
|
+
Example: `@md-blue-700`, `@md-amber-a200`.
|
|
87
|
+
|
|
88
|
+
### Spacing scale + mixins (`foundation/spacing.less`)
|
|
89
|
+
|
|
90
|
+
- Base unit: `@smui-spacing-unit: 4px;`
|
|
91
|
+
- Numeric: `@smui-space-0,1,2,3,4,5,6,8,10,12,16` (= unit×n).
|
|
92
|
+
- Named: `@smui-space-none|xxs|xs|sm|md|lg|xl|xxl|xxxl`
|
|
93
|
+
(2,4,8,12,16,20,24,32 px).
|
|
94
|
+
- Property mixins (consume keyword OR raw length):
|
|
95
|
+
`.smwb-gap(@s)`, `.smwb-row-gap(@s)`, `.smwb-column-gap(@s)`,
|
|
96
|
+
`.smwb-inset(@s)` (=padding), `.smwb-padding(@a[;@b[;@c[;@d]]])`,
|
|
97
|
+
`.smwb-margin(@a[;…])`. Keyword resolver: `.smwb-resolve-space`.
|
|
98
|
+
|
|
99
|
+
### Radius (`foundation/radius.less`)
|
|
100
|
+
|
|
101
|
+
`@smui-radius-none|xs|sm|md|lg|xl|xxl|pill|circle`
|
|
102
|
+
(0,2,4,8,12,16,28,9999px,50%).
|
|
103
|
+
|
|
104
|
+
### Elevation (`foundation/elevation.less`)
|
|
105
|
+
|
|
106
|
+
`@smui-elevation-0,1,2,3,4,6,8,9,12,16,24` (Material umbra/penumbra/
|
|
107
|
+
ambient stacks). Mixin: `.smwb-elevation(@dp)` (e.g. `.smwb-elevation(2)`).
|
|
108
|
+
|
|
109
|
+
### Breakpoints + media mixins (`foundation/breakpoints.less`)
|
|
110
|
+
|
|
111
|
+
`@smui-bp-xs=0, -sm=420px, -md=768px, -lg=1024px, -xl=1200px`.
|
|
112
|
+
Legacy aliases `@xs..@xl` map to these (used by Grid).
|
|
113
|
+
Detached-ruleset mixins:
|
|
114
|
+
|
|
115
|
+
```less
|
|
116
|
+
.smwb-media-up(md; { .x { gap: @smui-space-xl; } });
|
|
117
|
+
.smwb-media-down(sm; { .x { padding: @smui-space-sm; } });
|
|
118
|
+
.smwb-media-between(sm; lg; { .x { display: none; } });
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Control sizing (`foundation/sizing.less`)
|
|
122
|
+
|
|
123
|
+
`@smui-control-h-sm|md|lg` (32/40/48), `@smui-control-px-sm|md|lg`,
|
|
124
|
+
`@smui-control-font-sm|md|lg`, `@smui-selection-sm|md|lg` (16/18/22),
|
|
125
|
+
`@smui-icon-sm|md|lg` (18/20/24). Component `size` props map to
|
|
126
|
+
`*_size-sm|md|lg` classes that read these.
|
|
127
|
+
|
|
128
|
+
### Semantic colors (`default.variables.less`)
|
|
129
|
+
|
|
130
|
+
Base: `@primaryColor @secondaryColor @errorColor @successColor
|
|
131
|
+
@warningColor @infoColor` (+ `@onXColor` foregrounds). Each has
|
|
132
|
+
`@<name>ColorHover|Active|Focus`. Dark variants are `*Dark`-suffixed
|
|
133
|
+
and exposed under `:root[data-theme="dark"]`.
|
|
134
|
+
|
|
135
|
+
### Per-component spacing/appearance variables
|
|
136
|
+
|
|
137
|
+
`default.variables.less` defines a “Component spacing tokens” section:
|
|
138
|
+
`@<component><Role>` (e.g. `@cardPadding`, `@buttonGap`,
|
|
139
|
+
`@menuItemPaddingX`, `@chipGap`, `@modalHeaderPadding`,
|
|
140
|
+
`@tabPaddingX`, …). On-grid values reference the spacing scale;
|
|
141
|
+
off-grid ones are literals tagged `// off-grid`. Authoritative list:
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
grep -nE '^@[a-z][A-Za-z0-9]+:' @smwb/ui-styles/less/default/globals/default.variables.less
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Recipes
|
|
148
|
+
|
|
149
|
+
```less
|
|
150
|
+
// 1. Rescale entire UI density
|
|
151
|
+
@smui-spacing-unit: 6px;
|
|
152
|
+
|
|
153
|
+
// 2. Flatter corners everywhere
|
|
154
|
+
@smui-radius-md: 2px; @smui-radius-lg: 4px; @smui-radius-xl: 6px;
|
|
155
|
+
|
|
156
|
+
// 3. Rebrand from the MD palette (cascades to all primary usages)
|
|
157
|
+
@primaryColor: @md-indigo-600;
|
|
158
|
+
@primaryContainer: @md-indigo-50;
|
|
159
|
+
|
|
160
|
+
// 4. Retune ONE component without touching others
|
|
161
|
+
@cardPadding: @smui-space-xxl;
|
|
162
|
+
@tooltipBg: @md-blueGrey-800;
|
|
163
|
+
|
|
164
|
+
// 5. Soften elevation globally
|
|
165
|
+
@smui-elevation-2: @smui-elevation-1;
|
|
166
|
+
|
|
167
|
+
// 6. Mobile tweak via media mixin (in a component .less or override)
|
|
168
|
+
.smwb-media-down(sm; { .smwb-appbar { padding: 0 @smui-space-sm; } });
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Rules for an AI editing this library
|
|
172
|
+
|
|
173
|
+
- New shared scale value → add to the matching `foundation/*.less`
|
|
174
|
+
(single source); never hardcode px/hex in component `.less`.
|
|
175
|
+
- Use `//` comments in foundation files (Less strips them; `/* */`
|
|
176
|
+
leak into shipped CSS and bloat it).
|
|
177
|
+
- Component spacing/color → add a `@<component><Role>` var in
|
|
178
|
+
`default.variables.less`, reference it from the component `.less`.
|
|
179
|
+
- Runtime-overridable token → also expose `--smui-*` in
|
|
180
|
+
`@smwb/ui-styles/less/variables.less` (both light and `data-theme="dark"`).
|
|
181
|
+
- NEVER apply a Less colour function (`rgba`/`lighten`/`darken`/`fade`/
|
|
182
|
+
`mix`/…) to an overridable theme token (`@primaryColor`,
|
|
183
|
+
`@onSurfaceColor`, `@errorColor`, …): a consumer's `theme.config` may
|
|
184
|
+
set it to a `var(--…)` string, which Less colour functions cannot
|
|
185
|
+
evaluate. Use CSS `color-mix()` with Less interpolation instead, e.g.
|
|
186
|
+
`~"color-mix(in srgb, @{primaryColor} 8%, transparent)"` (overlay) or
|
|
187
|
+
`~"color-mix(in srgb, #fff 4%, @{primaryColor})"` (tint). This works
|
|
188
|
+
for both hex defaults and `var()` overrides.
|
|
189
|
+
- After any `.less` change in `@smwb/ui-styles`: rebuild the aggregate
|
|
190
|
+
(`npm -w @smwb/ui-css run build`), then diff the emitted
|
|
191
|
+
`packages/ui-css/dist/ui.css` vs baseline — non-additive changes to
|
|
192
|
+
existing rules are regressions.
|
package/AI_THEMING.md
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
AUDIENCE: AI agent (not human). Dense, exact, copy-paste ready.
|
|
3
|
+
TOPIC: changing component appearance in @smwb/ui-react — at runtime
|
|
4
|
+
(CSS custom properties) and via component props.
|
|
5
|
+
Companion: AI_LESS_OVERRIDES.md (compile-time Less tokens).
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
# AI_THEMING — change component appearance
|
|
9
|
+
|
|
10
|
+
Three independent layers, cheapest first:
|
|
11
|
+
|
|
12
|
+
1. **Runtime CSS custom properties** (`--smui-*`) — no rebuild, switch
|
|
13
|
+
live (incl. dark mode).
|
|
14
|
+
2. **Component props** — `size`, `color`, `variant`, etc. per component.
|
|
15
|
+
3. **Compile-time Less tokens** — see `AI_LESS_OVERRIDES.md`.
|
|
16
|
+
|
|
17
|
+
## 1. Runtime: CSS custom properties
|
|
18
|
+
|
|
19
|
+
`@smwb/ui-styles/less/variables.less` emits two blocks into the shipped CSS:
|
|
20
|
+
|
|
21
|
+
```css
|
|
22
|
+
:root { --smui-primaryColor: …; --smui-space-md: 12px; … }
|
|
23
|
+
:root[data-theme="dark"] { --smui-primaryColor: …; … }
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
- **Dark mode**: set `document.documentElement.dataset.theme = "dark"`
|
|
27
|
+
(or `<html data-theme="dark">`). Storybook does this via the Theme
|
|
28
|
+
global. The library hook `useTheme()` (exported) toggles + persists.
|
|
29
|
+
- **Override any token at runtime** by setting the custom property on
|
|
30
|
+
`:root` or any subtree (cascades):
|
|
31
|
+
|
|
32
|
+
```css
|
|
33
|
+
:root { --smui-primaryColor: #00695c; --smui-radius-md: 2px; }
|
|
34
|
+
.dense-area { --smui-space-md: 8px; --smui-space-lg: 12px; }
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Authoritative list of runtime-overridable props:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
grep -oE '--smui-[a-zA-Z0-9-]+' @smwb/ui-styles/less/variables.less | sort -u
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Groups exposed: `--smui-primaryColor*`, full semantic set
|
|
44
|
+
(`--smui-secondaryColor`, `--smui-errorColor*`, `--smui-successColor*`,
|
|
45
|
+
`--smui-warningColor*`, `--smui-infoColor*`, `--smui-on<Name>Color`),
|
|
46
|
+
surface/text (`--smui-surfaceBackground`, `--smui-onSurfaceColor`,
|
|
47
|
+
`--smui-dividerColor`, …), per-component (`--smui-tooltipBg`,
|
|
48
|
+
`--smui-menuTextColor`, `--smui-tableBorderColor`, …), spacing
|
|
49
|
+
(`--smui-space-*`, `--smui-spacing-unit`), `--smui-radius-*`,
|
|
50
|
+
`--smui-elevation-*`, `--smui-bp-*`.
|
|
51
|
+
|
|
52
|
+
## 2. Component props (appearance)
|
|
53
|
+
|
|
54
|
+
Standardized vocabulary (rollout in progress across the library):
|
|
55
|
+
|
|
56
|
+
- `size?: "small" | "medium" | "large"` — control density. Emits
|
|
57
|
+
`*_size-sm|md|lg`, reads `@smui-control-*` (see AI_LESS_OVERRIDES).
|
|
58
|
+
- `color?: "primary" | "secondary" | "error" | "success" | "warning"
|
|
59
|
+
| "info"` — semantic color, resolves through `--smui-<name>Color*`.
|
|
60
|
+
- `variant?: …` — structural style; component-specific values.
|
|
61
|
+
|
|
62
|
+
Authoritative per-component prop surface = the exported `*Props`
|
|
63
|
+
interface in each `src/components/<cat>/<name>/<name>.tsx`. Inspect:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
grep -nE 'export interface .*Props|size\?|color\?|variant\?' \
|
|
67
|
+
src/components/<cat>/<name>/<name>.tsx
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Representative current values:
|
|
71
|
+
|
|
72
|
+
| Component | variant | color | size | other appearance props |
|
|
73
|
+
|---|---|---|---|---|
|
|
74
|
+
| Button | contained\|text\|outlined | (colorTheme:primary) | small\|medium\|large | `fullWidth`, `icon`, `iconProps` |
|
|
75
|
+
| FloatingButton | default\|extended | primary\|secondary\|error\|success\|warning\|info | small\|medium\|large | `type` |
|
|
76
|
+
| Chip | filled\|outlined | — | — | `icon`, `deleteIcon`, `selected` |
|
|
77
|
+
| TextField | outlined\|filled | — | — | `startAdornment`, `endAdornment`, `inline`, `fullWidth` |
|
|
78
|
+
| SelectField | outlined\|filled | — | — | `chips`, `search`, `endAdornment`, `optionRenderer` |
|
|
79
|
+
| Card | filled\|elevated\|outlined | — | — | `disabled` |
|
|
80
|
+
| Avatar | circular\|rounded\|square | (`color` = bg of fallback) | small\|medium\|large \| px | — |
|
|
81
|
+
| Badge | inside\|outside | primary\|success\|danger | — | `vertical`, `horizontal` |
|
|
82
|
+
| Skeleton | text\|circular\|rounded\|rectangular | — | (`width`/`height`) | `animation` |
|
|
83
|
+
| Pagination | — | — | small\|medium | `showFirstButton`, `showLastButton` |
|
|
84
|
+
| Message | outlined\|filled\|left-accent | (`type`: success/error/warning/info) | — | `onClose` |
|
|
85
|
+
| Modal | — | — | small\|large\|fullscreen | `backdrop`, `animation` |
|
|
86
|
+
| ProgressIndicator | circular\|linear | — | — | `type` det/indet, `progressValue` |
|
|
87
|
+
| Divider | fullWidth\|inset\|middle | — | — | `orientation`, `textAlign` |
|
|
88
|
+
| Slider | continuous\|discrete | — | — | `withTicks`, `valueField` |
|
|
89
|
+
| Tabs/Tab | — | — | — | `scrollable`, `stacked`, `icon` |
|
|
90
|
+
|
|
91
|
+
(The exported `*Props` interface is the source of truth; this table is
|
|
92
|
+
a navigational summary, not exhaustive.)
|
|
93
|
+
|
|
94
|
+
## 3. Per-component Less variables
|
|
95
|
+
|
|
96
|
+
Each component reads `@<component><Role>` vars from
|
|
97
|
+
`@smwb/ui-styles/less/default/globals/default.variables.less` and `--smui-*`
|
|
98
|
+
runtime props. To change a single component’s look without affecting
|
|
99
|
+
others, override its var (compile-time) or its `--smui-*` (runtime).
|
|
100
|
+
|
|
101
|
+
Find a component’s knobs:
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
# Less vars it consumes
|
|
105
|
+
grep -oE '@[a-z][A-Za-z0-9]+' @smwb/ui-styles/less/components/<name>/<name>.less | sort -u
|
|
106
|
+
# runtime props it consumes
|
|
107
|
+
grep -oE 'var\(--smui-[a-zA-Z0-9-]+' @smwb/ui-styles/less/components/<name>/<name>.less | sort -u
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Recipes — “change the look of component X”
|
|
111
|
+
|
|
112
|
+
```less
|
|
113
|
+
// A. Card: bigger padding + rounded (compile-time, one component)
|
|
114
|
+
@cardPadding: @smui-space-xxl;
|
|
115
|
+
@cardBorderRadius: @smui-radius-xl;
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
```css
|
|
119
|
+
/* B. Tooltip: dark slate, at runtime, no rebuild */
|
|
120
|
+
:root { --smui-tooltipBg: #37474f; --smui-tooltipTextColor: #fff; }
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
```tsx
|
|
124
|
+
// C. FloatingButton: semantic color + size via props
|
|
125
|
+
<FloatingButton color="success" size="large" variant="extended">Save</FloatingButton>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
```css
|
|
129
|
+
/* D. Scope a denser theme to a region (runtime, cascades) */
|
|
130
|
+
.compact { --smui-space-md: 8px; --smui-space-lg: 12px;
|
|
131
|
+
--smui-control-h-md: 32px; }
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
```less
|
|
135
|
+
// E. Whole-library rebrand (compile-time) — see AI_LESS_OVERRIDES recipes
|
|
136
|
+
@primaryColor: @md-deepPurple-600;
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
```tsx
|
|
140
|
+
// F. Live dark mode toggle
|
|
141
|
+
import { useTheme } from "@smwb/ui-react";
|
|
142
|
+
const { theme, toggleTheme } = useTheme(); // sets <html data-theme>
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Decision rule for an AI
|
|
146
|
+
|
|
147
|
+
- Need a live/per-subtree/per-user change, no rebuild → **runtime
|
|
148
|
+
`--smui-*`** (layer 1).
|
|
149
|
+
- Per-instance variation in app code → **component prop** (layer 2).
|
|
150
|
+
- Library-wide default change shipped in CSS → **Less token** in
|
|
151
|
+
`foundation/*` or `default.variables.less` (layer 3,
|
|
152
|
+
see `AI_LESS_OVERRIDES.md`), then rebuild the aggregate
|
|
153
|
+
(`npm -w @smwb/ui-css run build`) + baseline diff.
|
|
154
|
+
- Never hardcode hex/px in app CSS targeting `.smwb-*` internals;
|
|
155
|
+
prefer the token of the correct layer.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 - Summerweb LLC
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# @smwb/ui-react
|
|
2
|
+
|
|
3
|
+
TypeScript React component library based on [Material Design](https://m3.material.io/), with
|
|
4
|
+
runtime light/dark theming and LESS-based customization. Part of the `@smwb` design-system monorepo.
|
|
5
|
+
|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
## The `@smwb` packages
|
|
9
|
+
|
|
10
|
+
| Package | What it is |
|
|
11
|
+
| --- | --- |
|
|
12
|
+
| **`@smwb/ui-react`** | This package — React components. |
|
|
13
|
+
| `@smwb/ui-solid` | SolidJS port, same design system and class names. |
|
|
14
|
+
| `@smwb/ui-styles` | Framework-agnostic **LESS source** + design tokens (`smwb-*`). |
|
|
15
|
+
| `@smwb/ui-css` | **Prebuilt aggregate stylesheet** (`import "@smwb/ui-css"`). |
|
|
16
|
+
| `@smwb/ui-mcp-react` | MCP server exposing this catalog to AI tools. |
|
|
17
|
+
|
|
18
|
+
## Component catalog
|
|
19
|
+
|
|
20
|
+
- **Storybook (production):** https://summerweb.ru/ui
|
|
21
|
+
- **Local:** `npm run storybook` → http://localhost:6006
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
Published on [npm](https://www.npmjs.com/package/@smwb/ui-react) as `@smwb/ui-react`.
|
|
26
|
+
|
|
27
|
+
**Requirements:** Node.js ≥ 20, React and React DOM ≥ 18 (peer dependencies).
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
npm install @smwb/ui-react
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Getting started
|
|
34
|
+
|
|
35
|
+
```tsx
|
|
36
|
+
import { Button } from "@smwb/ui-react";
|
|
37
|
+
|
|
38
|
+
function App() {
|
|
39
|
+
return <Button>Hello World</Button>;
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
In ESM builds each imported component **pulls in its own CSS automatically** (tree-shakeable) —
|
|
44
|
+
nothing else to import for the default theme.
|
|
45
|
+
|
|
46
|
+
## Styles
|
|
47
|
+
|
|
48
|
+
Three ways to get the CSS, pick one:
|
|
49
|
+
|
|
50
|
+
1. **Auto-injected per-component CSS** (default, ESM) — import components and their styles come
|
|
51
|
+
along. Tree-shaken: you only ship CSS for what you use.
|
|
52
|
+
2. **Full prebuilt stylesheet** — one file with every component, from `@smwb/ui-css`
|
|
53
|
+
(recommended for CJS or when you need a fixed global cascade order):
|
|
54
|
+
```tsx
|
|
55
|
+
import "@smwb/ui-css";
|
|
56
|
+
```
|
|
57
|
+
Optional CSS reset: `import "@smwb/ui-styles/normalize.css";`.
|
|
58
|
+
3. **Custom LESS bundle** compiled from `@smwb/ui-styles` — see [Theming](#customization-and-theming).
|
|
59
|
+
|
|
60
|
+
### Headless entry (compile one LESS bundle yourself)
|
|
61
|
+
|
|
62
|
+
For apps that compile a single themed LESS bundle instead of per-chunk CSS injection:
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
import "@smwb/ui-styles/normalize.css";
|
|
66
|
+
import "@smwb/ui-styles/components.less";
|
|
67
|
+
import { Button, TextField } from "@smwb/ui-react/headless";
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Selective LESS bundle (only the components you use)
|
|
71
|
+
|
|
72
|
+
Compile a minimal stylesheet from `@smwb/ui-styles`:
|
|
73
|
+
|
|
74
|
+
```less
|
|
75
|
+
@import (less) "node_modules/@smwb/ui-styles/less/headless-base.less";
|
|
76
|
+
@import (less) "node_modules/@smwb/ui-styles/less/components/button/button.entry.less";
|
|
77
|
+
@import (less) "node_modules/@smwb/ui-styles/less/components/textField/textField.entry.less";
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
- `headless-base.less` = foundation tokens + `:root` / dark CSS variables (import once).
|
|
81
|
+
- One `*.entry.less` per component (each resolves LESS variables via `_prelude.less`).
|
|
82
|
+
- A component's required entries **and** their dependencies are listed by the MCP tool
|
|
83
|
+
`get_component_props` (see `@smwb/ui-mcp-react`) under each component's `styles` block.
|
|
84
|
+
- Import `<name>.entry.less`, never the bare `components/<name>/<name>.less`.
|
|
85
|
+
|
|
86
|
+
### TanStack Table adapter
|
|
87
|
+
|
|
88
|
+
```tsx
|
|
89
|
+
import { ReactTable } from "@smwb/ui-react/react-table";
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Targets [@tanstack/react-table](https://tanstack.com/table) v8 (install it in your app). See
|
|
93
|
+
Storybook → **Connects / react-table**.
|
|
94
|
+
|
|
95
|
+
## Customization and theming
|
|
96
|
+
|
|
97
|
+
Pick the shallowest layer that solves the task:
|
|
98
|
+
|
|
99
|
+
| Goal | Approach | Rebuild CSS? |
|
|
100
|
+
| --- | --- | --- |
|
|
101
|
+
| Toggle light/dark, tweak a few colors live | CSS variables `--smui-*` + `data-theme` | No |
|
|
102
|
+
| One component instance looks different | Component props (`color`, `size`, `variant`, …) | No |
|
|
103
|
+
| New brand, density, or defaults library-wide | LESS overrides via `theme.config` on `@smwb/ui-styles` | Yes |
|
|
104
|
+
|
|
105
|
+
Full token catalogs and recipes: [`AI_THEMING.md`](./AI_THEMING.md) (runtime + props),
|
|
106
|
+
[`AI_LESS_OVERRIDES.md`](./AI_LESS_OVERRIDES.md) (compile-time LESS).
|
|
107
|
+
|
|
108
|
+
### Light and dark mode
|
|
109
|
+
|
|
110
|
+
Tokens are exposed on `:root` and `:root[data-theme="dark"]` as `--smui-*`.
|
|
111
|
+
|
|
112
|
+
```tsx
|
|
113
|
+
import { useTheme, Theme } from "@smwb/ui-react";
|
|
114
|
+
|
|
115
|
+
function ThemeToggle() {
|
|
116
|
+
const { theme, setTheme } = useTheme(); // persists + syncs <html data-theme>
|
|
117
|
+
return (
|
|
118
|
+
<button type="button" onClick={() => setTheme(theme === Theme.dark ? Theme.light : Theme.dark)}>
|
|
119
|
+
{theme === Theme.dark ? "Light" : "Dark"}
|
|
120
|
+
</button>
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Or set the attribute yourself (`<html data-theme="dark">`). Without it, `useTheme` follows
|
|
126
|
+
`prefers-color-scheme`.
|
|
127
|
+
|
|
128
|
+
### Runtime overrides (no rebuild)
|
|
129
|
+
|
|
130
|
+
```css
|
|
131
|
+
:root {
|
|
132
|
+
--smui-primaryColor: #00695c;
|
|
133
|
+
--smui-radius-md: 2px;
|
|
134
|
+
}
|
|
135
|
+
.settings-panel { --smui-space-md: 8px; } /* scoped, cascades */
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Prefer `--smui-*` tokens over targeting internal `.smwb-*` classes (implementation detail).
|
|
139
|
+
|
|
140
|
+
### Per-component appearance (props)
|
|
141
|
+
|
|
142
|
+
```tsx
|
|
143
|
+
<Button variant="outlined" color="primary" size="large">Save</Button>
|
|
144
|
+
<FloatingButton color="success" size="large" />
|
|
145
|
+
<Message type="error" variant="filled" />
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### Compile-time overrides (`theme.config`)
|
|
149
|
+
|
|
150
|
+
For library-wide changes, add a `theme.config` (see [`theme.config.example`](./theme.config.example))
|
|
151
|
+
and compile `@smwb/ui-styles/components.less`:
|
|
152
|
+
|
|
153
|
+
```less
|
|
154
|
+
// theme.config
|
|
155
|
+
@theme: "summer"; // or "material"
|
|
156
|
+
@themesFolder: "node_modules/@smwb/ui-styles/less/themes";
|
|
157
|
+
|
|
158
|
+
@primaryColor: @md-teal-600;
|
|
159
|
+
@smui-spacing-unit: 8px;
|
|
160
|
+
@smui-radius-md: 2px;
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
```sh
|
|
164
|
+
lessc -rp=/ ./node_modules/@smwb/ui-styles/less/components.less ./src/app.css
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
`theme.config` is imported last, so your reassignments win. Token catalog and rules:
|
|
168
|
+
[`AI_LESS_OVERRIDES.md`](./AI_LESS_OVERRIDES.md).
|
|
169
|
+
|
|
170
|
+
## MCP server (component catalog for AI tools)
|
|
171
|
+
|
|
172
|
+
The catalog is exposed to AI assistants by a **separate package, [`@smwb/ui-mcp-react`](https://www.npmjs.com/package/@smwb/ui-mcp-react)** — a stdio MCP server (no HTTP port). Tools:
|
|
173
|
+
|
|
174
|
+
| Tool | Purpose |
|
|
175
|
+
| --- | --- |
|
|
176
|
+
| `search_components` | Find components by name, id, description, or prop keywords |
|
|
177
|
+
| `get_component_props` | Full metadata for one component (props + required LESS imports) |
|
|
178
|
+
| `search_customization` | Global theming options and per-component customization |
|
|
179
|
+
| `get_customization` | What and how to customize a component or global topic |
|
|
180
|
+
|
|
181
|
+
Run it from npm:
|
|
182
|
+
|
|
183
|
+
```sh
|
|
184
|
+
npx -y @smwb/ui-mcp-react
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Cursor (`.cursor/mcp.json`) or Claude Desktop config:
|
|
188
|
+
|
|
189
|
+
```json
|
|
190
|
+
{
|
|
191
|
+
"mcpServers": {
|
|
192
|
+
"smwb-ui-react": {
|
|
193
|
+
"command": "npx",
|
|
194
|
+
"args": ["-y", "@smwb/ui-mcp-react"]
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Documentation for AI assistants
|
|
201
|
+
|
|
202
|
+
| File | Topic |
|
|
203
|
+
| --- | --- |
|
|
204
|
+
| [`AI_THEMING.md`](./AI_THEMING.md) | Runtime theming: `--smui-*` variables, `useTheme`, `color` / `size` / `variant` props |
|
|
205
|
+
| [`AI_LESS_OVERRIDES.md`](./AI_LESS_OVERRIDES.md) | Compile-time LESS overrides: token catalog, `theme.config`, custom stylesheet |
|
|
206
|
+
|
|
207
|
+
## License
|
|
208
|
+
|
|
209
|
+
[MIT](./LICENSE)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-accordion{display:flex;flex-direction:column;align-self:flex-start;box-shadow:0 2px 2px -1px #0003,0 1px 2px #00000024,0 1px 11px #0000001f}.smwb-accordion__header{background-color:var(--smui-appBarBg);color:var(--smui-appBarContentColor);height:65px;display:flex;align-items:center;padding:0 16px;cursor:pointer;gap:15px;width:100%}.smwb-accordion__header arrow-icon{flex-shrink:0}.smwb-accordion__title{white-space:nowrap}.smwb-accordion__content{background-color:var(--smui-surfaceBackground)}.smwb-accordion__arrow-icon{transform:rotate(0);transition:transform .3s ease-in-out;margin-left:auto}.smwb-accordion__arrow-icon_opened{transform:rotate(-180deg)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-appbar{padding:0 16px;display:flex;align-items:center;inset:0 0 auto;min-width:100%;background-color:var(--smui-appBarBg);color:var(--smui-appBarContentColor);font-size:1rem;height:65px}.smwb-appbar.smwb-bottom{bottom:0;top:auto}.smwb-appbar.smwb-relative{position:relative}.smwb-appbar.smwb-static{position:static}.smwb-appbar.smwb-sticky{position:sticky}.smwb-appbar.smwb-fixed{position:fixed}.smwb-appbar.smwb-absolute{position:absolute}.smwb-appbar.smwb-dense{padding:12px;height:48px}.smwb-appbar__inner{display:flex;align-items:center;width:100%;justify-content:space-between;flex-wrap:nowrap}.smwb-appbar__left{display:flex;align-items:center;gap:10px;white-space:nowrap}.smwb-appbar__right{white-space:nowrap}.smwb-appbar__mid{width:100%;display:flex;flex:1 1 auto;flex-direction:column;flex-wrap:nowrap}.smwb-appbar__mid.smwb-middle{align-items:center}.smwb-appbar__mid.smwb-right{align-items:flex-end}.smwb-appbar__mid.smwb-left{align-items:flex-start}.smwb-appbar_color-primary{background-color:var(--smui-primaryColor);color:var(--smui-onPrimaryColor)}.smwb-appbar_color-secondary{background-color:var(--smui-secondaryColor);color:var(--smui-onSecondaryColor)}.smwb-appbar_color-error{background-color:var(--smui-errorColor);color:var(--smui-onErrorColor)}.smwb-appbar_color-success{background-color:var(--smui-successColor);color:var(--smui-onSuccessColor)}.smwb-appbar_color-warning{background-color:var(--smui-warningColor);color:var(--smui-onWarningColor)}.smwb-appbar_color-info{background-color:var(--smui-infoColor);color:var(--smui-onInfoColor)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-app-layout{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:var(--smui-pageBackground);color:var(--smui-onSurfaceColor)}.smwb-app-layout__header{flex-shrink:0;z-index:10}.smwb-app-layout_sticky-header .smwb-app-layout__header{position:sticky;top:0}.smwb-app-layout__body{position:relative;display:flex;flex:1 1 auto;min-height:0}.smwb-app-layout__sidebar{position:relative;flex:0 0 var(--smui-app-sidebar-w, 260px);width:var(--smui-app-sidebar-w, 260px);overflow-y:auto;transition:flex-basis .2s ease-in-out,width .2s ease-in-out}.smwb-app-layout__sidebar>.smwb-sidebar{position:static;top:auto;left:auto;width:100%;height:100%;min-height:0}.smwb-app-layout__content{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;overflow-x:hidden}.smwb-app-layout__footer{margin-top:auto;flex-shrink:0;border-top:1px solid var(--smui-dividerColor)}@media(max-width:767.98px){.smwb-app-layout__sidebar{position:absolute;top:0;bottom:0;left:0;z-index:20}}.smwb-app-layout__collapse{display:flex;justify-content:flex-end;padding:8px}.smwb-app-layout_collapsed .smwb-app-layout__collapse{justify-content:center}.smwb-app-layout__collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;cursor:pointer;color:var(--smui-onSurfaceColor);background-color:transparent;transition:background-color .15s ease-in-out}.smwb-app-layout__collapse-btn:hover{background-color:var(--smui-onSurfaceHover)}.smwb-app-layout__collapse-btn:active{background-color:var(--smui-onSurfaceActive)}.smwb-app-layout__collapse-btn:focus-visible{outline:2px solid var(--smui-primaryColor);outline-offset:2px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;user-select:none;width:40px;height:40px;font-size:16px;font-weight:500;line-height:1;color:var(--smui-onPrimaryColor);background-color:var(--smui-primaryColor)}.smwb-avatar_small{width:24px;height:24px;font-size:9.6px}.smwb-avatar_large{width:56px;height:56px;font-size:22.4px}.smwb-avatar_circular{border-radius:50%}.smwb-avatar_rounded{border-radius:12px}.smwb-avatar_square{border-radius:0}.smwb-avatar__img{width:100%;height:100%;object-fit:cover;color:transparent;text-align:center}.smwb-avatar__fallback{display:inline-flex;align-items:center;justify-content:center}.smwb-avatar-group{display:inline-flex;flex-direction:row-reverse;align-items:center}.smwb-avatar-group .smwb-avatar{border:2px solid var(--smui-surfaceBackground);box-sizing:content-box}.smwb-avatar-group .smwb-avatar:not(:last-child){margin-left:-8px}.smwb-avatar-group__surplus{background-color:var(--smui-surfaceVariant);color:var(--smui-onSurfaceVariant);font-size:.8rem}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-badge{border-radius:10px;z-index:2;font-weight:500;font-size:.75rem;padding:0 6px;color:#fff;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;height:20px;min-width:20px}.smwb-badge_outside{position:absolute}.smwb-badge_outside_top{top:0}.smwb-badge_outside_top_left{transform:scale(1) translate(-50%,-50%);left:-2px}.smwb-badge_outside_top_right{right:-2px;transform:scale(1) translate(50%,-50%)}.smwb-badge_outside_bottom{bottom:0}.smwb-badge_outside_bottom_right{right:-2px;transform:scale(1) translate(50%,50%)}.smwb-badge_outside_bottom_left{transform:scale(1) translate(-50%,50%);left:-2px}.smwb-badge_inside{position:static}.smwb-badge_success{background-color:var(--smui-successColor)}.smwb-badge_danger{background-color:var(--smui-errorColor)}.smwb-badge_primary{background-color:var(--smui-primaryColor)}.smwb-badge_no-content{padding:0;width:8px;height:8px;min-width:auto}.smwb-badge__wrapper{position:relative;display:inline-flex;align-items:center}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:2;color:var(--smui-onSurfaceVariant);background-color:var(--smui-surfaceBackground);box-shadow:0 -2px 6px #00000026;padding-bottom:env(safe-area-inset-bottom,0)}.smwb-bottom-bar__nav{display:flex;align-items:stretch;width:100%;min-height:56px}.smwb-bottom-bar__item{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border:0;background:transparent;color:var(--smui-primaryTextColor);cursor:pointer;text-decoration:none;transition:background-color .2s ease-in-out}.smwb-bottom-bar__item:hover{background-color:var(--smui-onSurfaceHover)}.smwb-bottom-bar__item:active{background-color:var(--smui-onSurfaceActive)}.smwb-bottom-bar__item:focus-visible{outline:2px solid var(--smui-primaryColor);outline-offset:-2px}.smwb-bottom-bar__item_active{color:var(--smui-primaryColor);background-color:var(--smui-navItemActiveBg)}.smwb-bottom-bar__item_active .smwb-bottom-bar__item-icon,.smwb-bottom-bar__item_active .smwb-bottom-bar__item-title{color:var(--smui-primaryColor)}.smwb-bottom-bar__item_active:hover{background-color:var(--smui-primaryColorHover)}.smwb-bottom-bar__item_active:active{background-color:var(--smui-primaryColorActive)}.smwb-bottom-bar__item-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.smwb-bottom-bar__item-title{font-size:.75rem;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-breadcrumbs{color:var(--smui-onSurfaceVariant);font-size:.875rem}.smwb-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none}.smwb-breadcrumbs__item{display:inline-flex;align-items:center}.smwb-breadcrumbs__item a{color:inherit;text-decoration:none;transition:color .15s ease-in-out}.smwb-breadcrumbs__item a:hover{color:var(--smui-primaryColor);text-decoration:underline}.smwb-breadcrumbs__item:last-child{color:var(--smui-onSurfaceColor);font-weight:500}.smwb-breadcrumbs__separator{display:inline-flex;align-items:center;user-select:none;opacity:.6}.smwb-breadcrumbs__expand{border:0;background-color:var(--smui-onSurfaceHover);color:inherit;cursor:pointer;border-radius:4px;padding:0 4px;line-height:1.4;transition:background-color .15s ease-in-out}.smwb-breadcrumbs__expand:hover{background-color:var(--smui-onSurfaceActive)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-button{gap:8px;overflow:hidden;font-weight:500;cursor:pointer;transition:all .2s ease-out;display:inline-flex;align-items:center;justify-content:center;border-radius:24px;letter-spacing:1px;vertical-align:middle;word-spacing:0;line-height:1.5;min-width:64px;position:relative;align-self:flex-start}.smwb-button:disabled,.smwb-button.smwb-disabled{color:var(--smui-disabledTextColor);pointer-events:none;border-color:var(--smui-buttonDisabledBg)}.smwb-button:disabled.smwb-contained,.smwb-button.smwb-disabled.smwb-contained{background-color:var(--smui-buttonDisabledBg);color:var(--smui-disabledTextColor)}.smwb-button.smwb-full-width{width:100%}.smwb-button.smwb-small{font-size:13px;padding:4px 10px}.smwb-button.smwb-medium{font-size:14px;padding:6px 14px}.smwb-button.smwb-large{font-size:15px;padding:8px 22px}.smwb-button.smwb-contained{color:var(--smui-onPrimaryColor);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.smwb-button.smwb-contained.smwb-primary:not(.smwb-disabled){background-color:var(--smui-primaryColor)}.smwb-button.smwb-contained.smwb-primary:hover{background-color:var(--smui-buttonContainedHoverBg);box-shadow:0 4px 22px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.smwb-button.smwb-contained.smwb-primary:disabled{background-color:var(--smui-buttonDisabledBg)}.smwb-button.smwb-contained.smwb-primary:focus{background-color:var(--smui-buttonContainedFocusBg)}.smwb-button.smwb-contained.smwb-primary:active{background-color:var(--smui-buttonContainedActiveBg)}.smwb-button.smwb-outlined{background-color:transparent;border:1px solid var(--smui-outlineColor)}.smwb-button.smwb-outlined.smwb-primary:not(.smwb-disabled){color:var(--smui-primaryColor)}.smwb-button.smwb-outlined:hover{background-color:var(--smui-buttonOutlinedHoverBg)}.smwb-button.smwb-outlined:focus{background-color:var(--smui-buttonOutlinedFocusBg)}.smwb-button.smwb-outlined:active{background-color:var(--smui-buttonOutlinedActiveBg);border:1px solid var(--smui-primaryColor)}.smwb-button.smwb-outlined:disabled,.smwb-button.smwb-outlined.smwb-disabled{background-color:transparent;color:var(--smui-disabledTextColor);border-color:var(--smui-buttonDisabledBg)}.smwb-button.smwb-text{background-color:transparent}.smwb-button.smwb-text.smwb-primary:not(.smwb-disabled){color:var(--smui-primaryColor)}.smwb-button.smwb-text.smwb-primary:disabled{background-color:transparent}.smwb-button.smwb-text.smwb-primary:hover{background-color:var(--smui-buttonOutlinedHoverBg)}.smwb-button.smwb-text.smwb-primary:focus{background-color:var(--smui-buttonOutlinedFocusBg)}.smwb-button.smwb-text.smwb-primary:active{background-color:var(--smui-buttonOutlinedActiveBg)}.smwb-button.smwb-text:disabled{background-color:transparent;color:var(--smui-disabledTextColor);border-color:var(--smui-buttonDisabledBg)}.smwb-button *{pointer-events:none}.smwb-button_color-secondary.smwb-contained{background-color:var(--smui-secondaryColor);color:var(--smui-onSecondaryColor)}.smwb-button_color-secondary.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-secondaryColor) 88%,#000)}.smwb-button_color-secondary.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-secondaryColor) 78%,#000)}.smwb-button_color-secondary.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-secondaryColor) 78%,#000)}.smwb-button_color-secondary.smwb-outlined{color:var(--smui-secondaryColor);border-color:var(--smui-secondaryColor)}.smwb-button_color-secondary.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-secondaryColorHover)}.smwb-button_color-secondary.smwb-text{color:var(--smui-secondaryColor)}.smwb-button_color-secondary.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-secondaryColorHover)}.smwb-button_color-error.smwb-contained{background-color:var(--smui-errorColor);color:var(--smui-onErrorColor)}.smwb-button_color-error.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-errorColor) 88%,#000)}.smwb-button_color-error.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-errorColor) 78%,#000)}.smwb-button_color-error.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-errorColor) 78%,#000)}.smwb-button_color-error.smwb-outlined{color:var(--smui-errorColor);border-color:var(--smui-errorColor)}.smwb-button_color-error.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-errorColorHover)}.smwb-button_color-error.smwb-text{color:var(--smui-errorColor)}.smwb-button_color-error.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-errorColorHover)}.smwb-button_color-success.smwb-contained{background-color:var(--smui-successColor);color:var(--smui-onSuccessColor)}.smwb-button_color-success.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-successColor) 88%,#000)}.smwb-button_color-success.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-successColor) 78%,#000)}.smwb-button_color-success.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-successColor) 78%,#000)}.smwb-button_color-success.smwb-outlined{color:var(--smui-successColor);border-color:var(--smui-successColor)}.smwb-button_color-success.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-successColorHover)}.smwb-button_color-success.smwb-text{color:var(--smui-successColor)}.smwb-button_color-success.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-successColorHover)}.smwb-button_color-warning.smwb-contained{background-color:var(--smui-warningColor);color:var(--smui-onWarningColor)}.smwb-button_color-warning.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-warningColor) 88%,#000)}.smwb-button_color-warning.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-warningColor) 78%,#000)}.smwb-button_color-warning.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-warningColor) 78%,#000)}.smwb-button_color-warning.smwb-outlined{color:var(--smui-warningColor);border-color:var(--smui-warningColor)}.smwb-button_color-warning.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-warningColorHover)}.smwb-button_color-warning.smwb-text{color:var(--smui-warningColor)}.smwb-button_color-warning.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-warningColorHover)}.smwb-button_color-info.smwb-contained{background-color:var(--smui-infoColor);color:var(--smui-onInfoColor)}.smwb-button_color-info.smwb-contained:hover:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-infoColor) 88%,#000)}.smwb-button_color-info.smwb-contained:focus:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-infoColor) 78%,#000)}.smwb-button_color-info.smwb-contained:active:not(.smwb-disabled){background-color:color-mix(in srgb,var(--smui-infoColor) 78%,#000)}.smwb-button_color-info.smwb-outlined{color:var(--smui-infoColor);border-color:var(--smui-infoColor)}.smwb-button_color-info.smwb-outlined:hover:not(.smwb-disabled){background-color:var(--smui-infoColorHover)}.smwb-button_color-info.smwb-text{color:var(--smui-infoColor)}.smwb-button_color-info.smwb-text:hover:not(.smwb-disabled){background-color:var(--smui-infoColorHover)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-button-group{display:inline-flex;border-radius:24px}.smwb-button-group.smwb-vertical{flex-direction:column}.smwb-button-group.smwb-contained{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.smwb-button-group.smwb-full-width{width:100%}.smwb-button-group__grouped{align-self:stretch;min-width:40px}.smwb-contained .smwb-button-group__grouped{box-shadow:none}.smwb-horizontal .smwb-button-group__grouped:not(:first-of-type){border-top-left-radius:0;border-bottom-left-radius:0}.smwb-horizontal .smwb-button-group__grouped:not(:first-of-type).smwb-outlined{margin-left:-1px}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type){border-top-right-radius:0;border-bottom-right-radius:0}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-outlined{border-right-color:transparent}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-contained{border-right:1px solid color-mix(in srgb,#fff 12%,var(--smui-primaryColor))}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-text{border-right:1px solid var(--smui-primaryColor)}.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-disabled.smwb-text,.smwb-horizontal .smwb-button-group__grouped:not(:last-of-type).smwb-disabled.smwb-contained{border-right:1px solid var(--smui-disabledBgColor)}.smwb-vertical .smwb-button-group__grouped:not(:first-of-type){border-top-right-radius:0;border-top-left-radius:0}.smwb-vertical .smwb-button-group__grouped:not(:first-of-type).smwb-outlined{margin-top:-1px}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type){border-bottom-right-radius:0;border-bottom-left-radius:0}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-outlined{border-bottom-color:transparent}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-contained{border-bottom:1px solid color-mix(in srgb,#fff 12%,var(--smui-primaryColor))}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-text{border-bottom:1px solid color-mix(in srgb,var(--smui-primaryColor) 50%,transparent)}.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-disabled.smwb-text,.smwb-vertical .smwb-button-group__grouped:not(:last-of-type).smwb-disabled.smwb-contained{border-bottom:1px solid var(--smui-disabledBgColor)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-card{background-color:var(--smui-surfaceBackground);padding:16px;border-radius:12px;color:var(--smui-onSurfaceColor);transition:all .25s ease-in-out;line-height:1.5;display:flex;flex-direction:column}.smwb-card_elevated{box-shadow:0 2px 1px -1px #0003,0 1px 1px #0000001c,0 1px 3px #0000001c}.smwb-card_elevated:hover{box-shadow:0 2px 10px -1px #0003,0 1px 4px #0000001c,0 1px 4px #0000001c}.smwb-card_elevated:active{background-color:var(--smui-onSurfaceHover)}.smwb-card_outlined{border:1px solid var(--smui-outlineColor)}.smwb-card_outlined:hover{background-color:var(--smui-onSurfaceHover);box-shadow:0 2px 4px -1px #0000001c,0 1px 4px #0000001c,0 1px 11px #0000001c}.smwb-card_outlined:active{background-color:var(--smui-onSurfaceHover)}.smwb-card_filled{background-color:var(--smui-surfaceVariant)}.smwb-card_filled:hover{box-shadow:0 2px 10px -1px #00000024,0 1px 4px #0000001c,0 1px 4px #0000001c}.smwb-card_filled:active{background-color:var(--smui-onSurfaceActive)}.smwb-card_disabled{pointer-events:none;opacity:.38}.smwb-card__title{font-size:1.25rem;font-weight:500}.smwb-card__footer{margin-top:12px}.smwb-card_interactive{cursor:pointer}.smwb-card_interactive:focus-visible{outline:2px solid var(--smui-primaryColor);outline-offset:2px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.smwb-carousel{max-width:412px}.smwb-carousel__inner{position:relative}.smwb-carousel__track{text-align:center;overflow:hidden;cursor:pointer;margin-left:-4px;margin-right:-4px;touch-action:pan-y}.smwb-carousel__layer{width:100%;height:100%;display:flex;will-change:transform}.smwb-carousel__slide{flex-shrink:0;padding-left:4px;padding-right:4px}.smwb-carousel__slide-inner{border-radius:28px;overflow:hidden;will-change:width}.smwb-carousel__slide-inner img{height:205px;aspect-ratio:.9;object-fit:cover;width:100%;user-select:none}.smwb-carousel__navigation{display:flex;justify-content:center}.smwb-carousel__navigation .current{background-color:var(--smui-onPrimaryContainerActive)}.smwb-carousel__navigation__dot{margin:3px;width:10px;height:10px;border-radius:50%;border:1px solid var(--smui-onPrimaryContainer)}.smwb-carousel__arrow{cursor:pointer;position:absolute;background:var(--smui-onPrimaryContainerActive);color:var(--smui-onPrimaryContainer);border-radius:50%;z-index:1;display:flex;align-items:center;justify-content:center}
|