blessing-ui 0.1.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/CHANGELOG.md +11 -0
- package/LICENSE +21 -0
- package/README.md +359 -0
- package/dist/blessing-ui.css +412 -0
- package/dist/components/BlessAccordion.css +1 -0
- package/dist/components/BlessAccordion.js +6 -0
- package/dist/components/BlessAccordion.vue.d.ts +18 -0
- package/dist/components/BlessAccordion.vue_vue_type_script_setup_true_lang.js +14 -0
- package/dist/components/BlessAccordionItem.js +5 -0
- package/dist/components/BlessAccordionItem.vue.d.ts +27 -0
- package/dist/components/BlessAccordionItem.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/components/BlessActionSheet.css +1 -0
- package/dist/components/BlessActionSheet.js +6 -0
- package/dist/components/BlessActionSheet.vue.d.ts +35 -0
- package/dist/components/BlessActionSheet.vue_vue_type_script_setup_true_lang.js +74 -0
- package/dist/components/BlessAlert.css +1 -0
- package/dist/components/BlessAlert.js +6 -0
- package/dist/components/BlessAlert.vue.d.ts +39 -0
- package/dist/components/BlessAlert.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/BlessAlertDialog.css +1 -0
- package/dist/components/BlessAlertDialog.js +6 -0
- package/dist/components/BlessAlertDialog.vue.d.ts +38 -0
- package/dist/components/BlessAlertDialog.vue_vue_type_script_setup_true_lang.js +74 -0
- package/dist/components/BlessAspectRatio.css +1 -0
- package/dist/components/BlessAspectRatio.js +6 -0
- package/dist/components/BlessAspectRatio.vue.d.ts +22 -0
- package/dist/components/BlessAspectRatio.vue_vue_type_script_setup_true_lang.js +18 -0
- package/dist/components/BlessAttachment.css +1 -0
- package/dist/components/BlessAttachment.js +6 -0
- package/dist/components/BlessAttachment.vue.d.ts +40 -0
- package/dist/components/BlessAttachment.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/components/BlessAudioPlayer.css +1 -0
- package/dist/components/BlessAudioPlayer.js +6 -0
- package/dist/components/BlessAudioPlayer.vue.d.ts +35 -0
- package/dist/components/BlessAudioPlayer.vue_vue_type_script_setup_true_lang.js +134 -0
- package/dist/components/BlessAvatar.css +1 -0
- package/dist/components/BlessAvatar.js +6 -0
- package/dist/components/BlessAvatar.vue.d.ts +26 -0
- package/dist/components/BlessAvatar.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/components/BlessBackground.css +1 -0
- package/dist/components/BlessBackground.js +6 -0
- package/dist/components/BlessBackground.vue.d.ts +16 -0
- package/dist/components/BlessBackground.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/components/BlessBadge.css +1 -0
- package/dist/components/BlessBadge.js +6 -0
- package/dist/components/BlessBadge.vue.d.ts +24 -0
- package/dist/components/BlessBadge.vue_vue_type_script_setup_true_lang.js +23 -0
- package/dist/components/BlessBlockUI.css +1 -0
- package/dist/components/BlessBlockUI.js +6 -0
- package/dist/components/BlessBlockUI.vue.d.ts +22 -0
- package/dist/components/BlessBlockUI.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/BlessBottomTabs.css +1 -0
- package/dist/components/BlessBottomTabs.js +6 -0
- package/dist/components/BlessBottomTabs.vue.d.ts +47 -0
- package/dist/components/BlessBottomTabs.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/components/BlessBreadcrumb.css +1 -0
- package/dist/components/BlessBreadcrumb.js +6 -0
- package/dist/components/BlessBreadcrumb.vue.d.ts +28 -0
- package/dist/components/BlessBreadcrumb.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/components/BlessBubble.css +1 -0
- package/dist/components/BlessBubble.js +6 -0
- package/dist/components/BlessBubble.vue.d.ts +39 -0
- package/dist/components/BlessBubble.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/BlessButton.css +1 -0
- package/dist/components/BlessButton.js +6 -0
- package/dist/components/BlessButton.vue.d.ts +40 -0
- package/dist/components/BlessButton.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/components/BlessButtonGroup.css +1 -0
- package/dist/components/BlessButtonGroup.js +6 -0
- package/dist/components/BlessButtonGroup.vue.d.ts +19 -0
- package/dist/components/BlessButtonGroup.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/BlessCalendar.css +1 -0
- package/dist/components/BlessCalendar.js +6 -0
- package/dist/components/BlessCalendar.vue.d.ts +26 -0
- package/dist/components/BlessCalendar.vue_vue_type_script_setup_true_lang.js +150 -0
- package/dist/components/BlessCard.css +1 -0
- package/dist/components/BlessCard.js +6 -0
- package/dist/components/BlessCard.vue.d.ts +34 -0
- package/dist/components/BlessCard.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/components/BlessCarousel.css +1 -0
- package/dist/components/BlessCarousel.js +6 -0
- package/dist/components/BlessCarousel.vue.d.ts +52 -0
- package/dist/components/BlessCarousel.vue_vue_type_script_setup_true_lang.js +147 -0
- package/dist/components/BlessCascadeSelect.css +1 -0
- package/dist/components/BlessCascadeSelect.js +6 -0
- package/dist/components/BlessCascadeSelect.vue.d.ts +36 -0
- package/dist/components/BlessCascadeSelect.vue_vue_type_script_setup_true_lang.js +169 -0
- package/dist/components/BlessChart.css +1 -0
- package/dist/components/BlessChart.js +6 -0
- package/dist/components/BlessChart.vue.d.ts +28 -0
- package/dist/components/BlessChart.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/components/BlessCheckbox.css +1 -0
- package/dist/components/BlessCheckbox.js +6 -0
- package/dist/components/BlessCheckbox.vue.d.ts +29 -0
- package/dist/components/BlessCheckbox.vue_vue_type_script_setup_true_lang.js +69 -0
- package/dist/components/BlessChip.css +1 -0
- package/dist/components/BlessChip.js +6 -0
- package/dist/components/BlessChip.vue.d.ts +30 -0
- package/dist/components/BlessChip.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/BlessCircularProgress.css +1 -0
- package/dist/components/BlessCircularProgress.js +6 -0
- package/dist/components/BlessCircularProgress.vue.d.ts +33 -0
- package/dist/components/BlessCircularProgress.vue_vue_type_script_setup_true_lang.js +82 -0
- package/dist/components/BlessClientOnly.js +5 -0
- package/dist/components/BlessClientOnly.vue.d.ts +15 -0
- package/dist/components/BlessClientOnly.vue_vue_type_script_setup_true_lang.js +12 -0
- package/dist/components/BlessCollapsible.css +1 -0
- package/dist/components/BlessCollapsible.js +6 -0
- package/dist/components/BlessCollapsible.vue.d.ts +29 -0
- package/dist/components/BlessCollapsible.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/BlessColorPicker.css +1 -0
- package/dist/components/BlessColorPicker.js +6 -0
- package/dist/components/BlessColorPicker.vue.d.ts +30 -0
- package/dist/components/BlessColorPicker.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/components/BlessCombobox.css +1 -0
- package/dist/components/BlessCombobox.js +6 -0
- package/dist/components/BlessCombobox.vue.d.ts +42 -0
- package/dist/components/BlessCombobox.vue_vue_type_script_setup_true_lang.js +191 -0
- package/dist/components/BlessCommand.css +1 -0
- package/dist/components/BlessCommand.js +6 -0
- package/dist/components/BlessCommand.vue.d.ts +53 -0
- package/dist/components/BlessCommand.vue_vue_type_script_setup_true_lang.js +154 -0
- package/dist/components/BlessCompare.css +1 -0
- package/dist/components/BlessCompare.js +6 -0
- package/dist/components/BlessCompare.vue.d.ts +31 -0
- package/dist/components/BlessCompare.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/components/BlessConfirmPopup.css +1 -0
- package/dist/components/BlessConfirmPopup.js +6 -0
- package/dist/components/BlessConfirmPopup.vue.d.ts +41 -0
- package/dist/components/BlessConfirmPopup.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/components/BlessContainer.css +1 -0
- package/dist/components/BlessContainer.js +6 -0
- package/dist/components/BlessContainer.vue.d.ts +22 -0
- package/dist/components/BlessContainer.vue_vue_type_script_setup_true_lang.js +22 -0
- package/dist/components/BlessContextMenu.js +5 -0
- package/dist/components/BlessContextMenu.vue.d.ts +23 -0
- package/dist/components/BlessContextMenu.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/components/BlessDash.css +1 -0
- package/dist/components/BlessDash.js +6 -0
- package/dist/components/BlessDash.vue.d.ts +8 -0
- package/dist/components/BlessDash.vue_vue_type_script_setup_true_lang.js +12 -0
- package/dist/components/BlessDataTable.css +1 -0
- package/dist/components/BlessDataTable.js +6 -0
- package/dist/components/BlessDataTable.vue.d.ts +82 -0
- package/dist/components/BlessDataTable.vue_vue_type_script_setup_true_lang.js +212 -0
- package/dist/components/BlessDataView.css +1 -0
- package/dist/components/BlessDataView.js +6 -0
- package/dist/components/BlessDataView.vue.d.ts +43 -0
- package/dist/components/BlessDataView.vue_vue_type_script_setup_true_lang.js +86 -0
- package/dist/components/BlessDatePicker.css +1 -0
- package/dist/components/BlessDatePicker.js +6 -0
- package/dist/components/BlessDatePicker.vue.d.ts +29 -0
- package/dist/components/BlessDatePicker.vue_vue_type_script_setup_true_lang.js +137 -0
- package/dist/components/BlessDeferredContent.js +5 -0
- package/dist/components/BlessDeferredContent.vue.d.ts +26 -0
- package/dist/components/BlessDeferredContent.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/BlessDialogHost.css +1 -0
- package/dist/components/BlessDialogHost.js +6 -0
- package/dist/components/BlessDialogHost.vue.d.ts +3 -0
- package/dist/components/BlessDialogHost.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/BlessDrawer.js +5 -0
- package/dist/components/BlessDrawer.vue.d.ts +34 -0
- package/dist/components/BlessDrawer.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/components/BlessDropdownMenu.css +1 -0
- package/dist/components/BlessDropdownMenu.js +6 -0
- package/dist/components/BlessDropdownMenu.vue.d.ts +43 -0
- package/dist/components/BlessDropdownMenu.vue_vue_type_script_setup_true_lang.js +126 -0
- package/dist/components/BlessEditor.css +1 -0
- package/dist/components/BlessEditor.js +6 -0
- package/dist/components/BlessEditor.vue.d.ts +50 -0
- package/dist/components/BlessEditor.vue_vue_type_script_setup_true_lang.js +159 -0
- package/dist/components/BlessEmpty.css +1 -0
- package/dist/components/BlessEmpty.js +6 -0
- package/dist/components/BlessEmpty.vue.d.ts +27 -0
- package/dist/components/BlessEmpty.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/components/BlessField.css +1 -0
- package/dist/components/BlessField.js +6 -0
- package/dist/components/BlessField.vue.d.ts +26 -0
- package/dist/components/BlessField.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/components/BlessFieldset.css +1 -0
- package/dist/components/BlessFieldset.js +6 -0
- package/dist/components/BlessFieldset.vue.d.ts +30 -0
- package/dist/components/BlessFieldset.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/BlessFileInput.css +1 -0
- package/dist/components/BlessFileInput.js +6 -0
- package/dist/components/BlessFileInput.vue.d.ts +38 -0
- package/dist/components/BlessFileInput.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/components/BlessFloatLabel.css +1 -0
- package/dist/components/BlessFloatLabel.js +6 -0
- package/dist/components/BlessFloatLabel.vue.d.ts +22 -0
- package/dist/components/BlessFloatLabel.vue_vue_type_script_setup_true_lang.js +21 -0
- package/dist/components/BlessForm.css +1 -0
- package/dist/components/BlessForm.js +6 -0
- package/dist/components/BlessForm.vue.d.ts +27 -0
- package/dist/components/BlessForm.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/BlessGallery.css +1 -0
- package/dist/components/BlessGallery.js +6 -0
- package/dist/components/BlessGallery.vue.d.ts +44 -0
- package/dist/components/BlessGallery.vue_vue_type_script_setup_true_lang.js +109 -0
- package/dist/components/BlessHoverCard.css +1 -0
- package/dist/components/BlessHoverCard.js +6 -0
- package/dist/components/BlessHoverCard.vue.d.ts +33 -0
- package/dist/components/BlessHoverCard.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/components/BlessIcon.css +1 -0
- package/dist/components/BlessIcon.js +6 -0
- package/dist/components/BlessIcon.vue.d.ts +21 -0
- package/dist/components/BlessIcon.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/BlessImg.css +1 -0
- package/dist/components/BlessImg.js +6 -0
- package/dist/components/BlessImg.vue.d.ts +31 -0
- package/dist/components/BlessImg.vue_vue_type_script_setup_true_lang.js +79 -0
- package/dist/components/BlessIndicator.css +1 -0
- package/dist/components/BlessIndicator.js +6 -0
- package/dist/components/BlessIndicator.vue.d.ts +28 -0
- package/dist/components/BlessIndicator.vue_vue_type_script_setup_true_lang.js +39 -0
- package/dist/components/BlessInfiniteScroll.css +1 -0
- package/dist/components/BlessInfiniteScroll.js +6 -0
- package/dist/components/BlessInfiniteScroll.vue.d.ts +40 -0
- package/dist/components/BlessInfiniteScroll.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/components/BlessInplace.css +1 -0
- package/dist/components/BlessInplace.js +6 -0
- package/dist/components/BlessInplace.vue.d.ts +37 -0
- package/dist/components/BlessInplace.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/BlessInput.css +1 -0
- package/dist/components/BlessInput.js +6 -0
- package/dist/components/BlessInput.vue.d.ts +40 -0
- package/dist/components/BlessInput.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/components/BlessInputGroup.css +1 -0
- package/dist/components/BlessInputGroup.js +6 -0
- package/dist/components/BlessInputGroup.vue.d.ts +23 -0
- package/dist/components/BlessInputGroup.vue_vue_type_script_setup_true_lang.js +28 -0
- package/dist/components/BlessInputMask.js +5 -0
- package/dist/components/BlessInputMask.vue.d.ts +20 -0
- package/dist/components/BlessInputMask.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/components/BlessInputNumber.css +1 -0
- package/dist/components/BlessInputNumber.js +6 -0
- package/dist/components/BlessInputNumber.vue.d.ts +34 -0
- package/dist/components/BlessInputNumber.vue_vue_type_script_setup_true_lang.js +132 -0
- package/dist/components/BlessInputOTP.css +1 -0
- package/dist/components/BlessInputOTP.js +6 -0
- package/dist/components/BlessInputOTP.vue.d.ts +32 -0
- package/dist/components/BlessInputOTP.vue_vue_type_script_setup_true_lang.js +117 -0
- package/dist/components/BlessInputTags.css +1 -0
- package/dist/components/BlessInputTags.js +6 -0
- package/dist/components/BlessInputTags.vue.d.ts +27 -0
- package/dist/components/BlessInputTags.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/components/BlessItem.css +1 -0
- package/dist/components/BlessItem.js +6 -0
- package/dist/components/BlessItem.vue.d.ts +34 -0
- package/dist/components/BlessItem.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/BlessKbd.css +1 -0
- package/dist/components/BlessKbd.js +6 -0
- package/dist/components/BlessKbd.vue.d.ts +17 -0
- package/dist/components/BlessKbd.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/BlessKnob.css +1 -0
- package/dist/components/BlessKnob.js +6 -0
- package/dist/components/BlessKnob.vue.d.ts +32 -0
- package/dist/components/BlessKnob.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/components/BlessLabel.css +1 -0
- package/dist/components/BlessLabel.js +6 -0
- package/dist/components/BlessLabel.vue.d.ts +21 -0
- package/dist/components/BlessLabel.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/BlessLayout.css +1 -0
- package/dist/components/BlessLayout.js +6 -0
- package/dist/components/BlessLayout.vue.d.ts +47 -0
- package/dist/components/BlessLayout.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/components/BlessList.css +1 -0
- package/dist/components/BlessList.js +6 -0
- package/dist/components/BlessList.vue.d.ts +18 -0
- package/dist/components/BlessList.vue_vue_type_script_setup_true_lang.js +18 -0
- package/dist/components/BlessListItem.css +1 -0
- package/dist/components/BlessListItem.js +6 -0
- package/dist/components/BlessListItem.vue.d.ts +24 -0
- package/dist/components/BlessListItem.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/BlessListbox.css +1 -0
- package/dist/components/BlessListbox.js +6 -0
- package/dist/components/BlessListbox.vue.d.ts +38 -0
- package/dist/components/BlessListbox.vue_vue_type_script_setup_true_lang.js +131 -0
- package/dist/components/BlessLoadingBar.css +1 -0
- package/dist/components/BlessLoadingBar.js +6 -0
- package/dist/components/BlessLoadingBar.vue.d.ts +12 -0
- package/dist/components/BlessLoadingBar.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/BlessMarker.css +1 -0
- package/dist/components/BlessMarker.js +6 -0
- package/dist/components/BlessMarker.vue.d.ts +25 -0
- package/dist/components/BlessMarker.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/BlessMenuList.css +1 -0
- package/dist/components/BlessMenuList.js +6 -0
- package/dist/components/BlessMenuList.vue.d.ts +20 -0
- package/dist/components/BlessMenuList.vue_vue_type_script_setup_true_lang.js +148 -0
- package/dist/components/BlessMenubar.css +1 -0
- package/dist/components/BlessMenubar.js +6 -0
- package/dist/components/BlessMenubar.vue.d.ts +16 -0
- package/dist/components/BlessMenubar.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/BlessMessage.css +1 -0
- package/dist/components/BlessMessage.js +6 -0
- package/dist/components/BlessMessage.vue.d.ts +36 -0
- package/dist/components/BlessMessage.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/BlessMessageScroller.css +1 -0
- package/dist/components/BlessMessageScroller.js +6 -0
- package/dist/components/BlessMessageScroller.vue.d.ts +49 -0
- package/dist/components/BlessMessageScroller.vue_vue_type_script_setup_true_lang.js +83 -0
- package/dist/components/BlessMeterGroup.css +1 -0
- package/dist/components/BlessMeterGroup.js +6 -0
- package/dist/components/BlessMeterGroup.vue.d.ts +35 -0
- package/dist/components/BlessMeterGroup.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/components/BlessMockup.css +1 -0
- package/dist/components/BlessMockup.js +6 -0
- package/dist/components/BlessMockup.vue.d.ts +23 -0
- package/dist/components/BlessMockup.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/BlessModal.css +1 -0
- package/dist/components/BlessModal.js +6 -0
- package/dist/components/BlessModal.vue.d.ts +40 -0
- package/dist/components/BlessModal.vue_vue_type_script_setup_true_lang.js +85 -0
- package/dist/components/BlessNavigationMenu.css +1 -0
- package/dist/components/BlessNavigationMenu.js +6 -0
- package/dist/components/BlessNavigationMenu.vue.d.ts +42 -0
- package/dist/components/BlessNavigationMenu.vue_vue_type_script_setup_true_lang.js +116 -0
- package/dist/components/BlessOrderList.css +1 -0
- package/dist/components/BlessOrderList.js +6 -0
- package/dist/components/BlessOrderList.vue.d.ts +33 -0
- package/dist/components/BlessOrderList.vue_vue_type_script_setup_true_lang.js +114 -0
- package/dist/components/BlessOrgChart.css +1 -0
- package/dist/components/BlessOrgChart.js +6 -0
- package/dist/components/BlessOrgChart.vue.d.ts +33 -0
- package/dist/components/BlessOrgChart.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/BlessOrgChartNode.js +5 -0
- package/dist/components/BlessOrgChartNode.vue.d.ts +25 -0
- package/dist/components/BlessOrgChartNode.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/BlessPagination.css +1 -0
- package/dist/components/BlessPagination.js +6 -0
- package/dist/components/BlessPagination.vue.d.ts +26 -0
- package/dist/components/BlessPagination.vue_vue_type_script_setup_true_lang.js +99 -0
- package/dist/components/BlessPaletteToggle.css +1 -0
- package/dist/components/BlessPaletteToggle.js +6 -0
- package/dist/components/BlessPaletteToggle.vue.d.ts +11 -0
- package/dist/components/BlessPaletteToggle.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/BlessPanel.css +1 -0
- package/dist/components/BlessPanel.js +6 -0
- package/dist/components/BlessPanel.vue.d.ts +37 -0
- package/dist/components/BlessPanel.vue_vue_type_script_setup_true_lang.js +56 -0
- package/dist/components/BlessParallax.css +1 -0
- package/dist/components/BlessParallax.js +6 -0
- package/dist/components/BlessParallax.vue.d.ts +25 -0
- package/dist/components/BlessParallax.vue_vue_type_script_setup_true_lang.js +39 -0
- package/dist/components/BlessPasswordInput.css +1 -0
- package/dist/components/BlessPasswordInput.js +6 -0
- package/dist/components/BlessPasswordInput.vue.d.ts +19 -0
- package/dist/components/BlessPasswordInput.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/components/BlessPasswordMeter.css +1 -0
- package/dist/components/BlessPasswordMeter.js +6 -0
- package/dist/components/BlessPasswordMeter.vue.d.ts +21 -0
- package/dist/components/BlessPasswordMeter.vue_vue_type_script_setup_true_lang.js +74 -0
- package/dist/components/BlessPickList.css +1 -0
- package/dist/components/BlessPickList.js +6 -0
- package/dist/components/BlessPickList.vue.d.ts +29 -0
- package/dist/components/BlessPickList.vue_vue_type_script_setup_true_lang.js +120 -0
- package/dist/components/BlessPopover.css +1 -0
- package/dist/components/BlessPopover.js +6 -0
- package/dist/components/BlessPopover.vue.d.ts +46 -0
- package/dist/components/BlessPopover.vue_vue_type_script_setup_true_lang.js +84 -0
- package/dist/components/BlessProgress.css +1 -0
- package/dist/components/BlessProgress.js +6 -0
- package/dist/components/BlessProgress.vue.d.ts +18 -0
- package/dist/components/BlessProgress.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/BlessPullToRefresh.css +1 -0
- package/dist/components/BlessPullToRefresh.js +6 -0
- package/dist/components/BlessPullToRefresh.vue.d.ts +38 -0
- package/dist/components/BlessPullToRefresh.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/components/BlessQrCode.css +1 -0
- package/dist/components/BlessQrCode.js +6 -0
- package/dist/components/BlessQrCode.vue.d.ts +24 -0
- package/dist/components/BlessQrCode.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/components/BlessQuestionnaire.css +1 -0
- package/dist/components/BlessQuestionnaire.js +6 -0
- package/dist/components/BlessQuestionnaire.vue.d.ts +33 -0
- package/dist/components/BlessQuestionnaire.vue_vue_type_script_setup_true_lang.js +195 -0
- package/dist/components/BlessRadio.css +1 -0
- package/dist/components/BlessRadio.js +6 -0
- package/dist/components/BlessRadio.vue.d.ts +19 -0
- package/dist/components/BlessRadio.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/components/BlessRadioGroup.css +1 -0
- package/dist/components/BlessRadioGroup.js +6 -0
- package/dist/components/BlessRadioGroup.vue.d.ts +33 -0
- package/dist/components/BlessRadioGroup.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/BlessRange.css +1 -0
- package/dist/components/BlessRange.js +6 -0
- package/dist/components/BlessRange.vue.d.ts +32 -0
- package/dist/components/BlessRange.vue_vue_type_script_setup_true_lang.js +111 -0
- package/dist/components/BlessRating.css +1 -0
- package/dist/components/BlessRating.js +6 -0
- package/dist/components/BlessRating.vue.d.ts +26 -0
- package/dist/components/BlessRating.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/components/BlessResizable.css +1 -0
- package/dist/components/BlessResizable.js +6 -0
- package/dist/components/BlessResizable.vue.d.ts +38 -0
- package/dist/components/BlessResizable.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/components/BlessScrollArea.css +1 -0
- package/dist/components/BlessScrollArea.js +6 -0
- package/dist/components/BlessScrollArea.vue.d.ts +25 -0
- package/dist/components/BlessScrollArea.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/BlessScrollTop.css +1 -0
- package/dist/components/BlessScrollTop.js +6 -0
- package/dist/components/BlessScrollTop.vue.d.ts +25 -0
- package/dist/components/BlessScrollTop.vue_vue_type_script_setup_true_lang.js +41 -0
- package/dist/components/BlessSection.css +1 -0
- package/dist/components/BlessSection.js +6 -0
- package/dist/components/BlessSection.vue.d.ts +35 -0
- package/dist/components/BlessSection.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/BlessSelect.css +1 -0
- package/dist/components/BlessSelect.js +6 -0
- package/dist/components/BlessSelect.vue.d.ts +35 -0
- package/dist/components/BlessSelect.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/components/BlessSeparator.css +1 -0
- package/dist/components/BlessSeparator.js +6 -0
- package/dist/components/BlessSeparator.vue.d.ts +15 -0
- package/dist/components/BlessSeparator.vue_vue_type_script_setup_true_lang.js +35 -0
- package/dist/components/BlessSheet.css +1 -0
- package/dist/components/BlessSheet.js +6 -0
- package/dist/components/BlessSheet.vue.d.ts +40 -0
- package/dist/components/BlessSheet.vue_vue_type_script_setup_true_lang.js +97 -0
- package/dist/components/BlessSidebarNav.css +1 -0
- package/dist/components/BlessSidebarNav.js +6 -0
- package/dist/components/BlessSidebarNav.vue.d.ts +35 -0
- package/dist/components/BlessSidebarNav.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/components/BlessSignaturePad.css +1 -0
- package/dist/components/BlessSignaturePad.js +6 -0
- package/dist/components/BlessSignaturePad.vue.d.ts +50 -0
- package/dist/components/BlessSignaturePad.vue_vue_type_script_setup_true_lang.js +80 -0
- package/dist/components/BlessSkeleton.css +1 -0
- package/dist/components/BlessSkeleton.js +6 -0
- package/dist/components/BlessSkeleton.vue.d.ts +14 -0
- package/dist/components/BlessSkeleton.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/BlessSkew.css +1 -0
- package/dist/components/BlessSkew.js +6 -0
- package/dist/components/BlessSkew.vue.d.ts +25 -0
- package/dist/components/BlessSkew.vue_vue_type_script_setup_true_lang.js +19 -0
- package/dist/components/BlessSlideItem.css +1 -0
- package/dist/components/BlessSlideItem.js +6 -0
- package/dist/components/BlessSlideItem.vue.d.ts +37 -0
- package/dist/components/BlessSlideItem.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/BlessSlideTransition.js +5 -0
- package/dist/components/BlessSlideTransition.vue.d.ts +20 -0
- package/dist/components/BlessSlideTransition.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/components/BlessSlider.css +1 -0
- package/dist/components/BlessSlider.js +6 -0
- package/dist/components/BlessSlider.vue.d.ts +26 -0
- package/dist/components/BlessSlider.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/components/BlessSpeedDial.css +1 -0
- package/dist/components/BlessSpeedDial.js +6 -0
- package/dist/components/BlessSpeedDial.vue.d.ts +45 -0
- package/dist/components/BlessSpeedDial.vue_vue_type_script_setup_true_lang.js +80 -0
- package/dist/components/BlessSpinner.css +1 -0
- package/dist/components/BlessSpinner.js +6 -0
- package/dist/components/BlessSpinner.vue.d.ts +13 -0
- package/dist/components/BlessSpinner.vue_vue_type_script_setup_true_lang.js +25 -0
- package/dist/components/BlessSplash.css +1 -0
- package/dist/components/BlessSplash.js +6 -0
- package/dist/components/BlessSplash.vue.d.ts +35 -0
- package/dist/components/BlessSplash.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/BlessSplitButton.css +1 -0
- package/dist/components/BlessSplitButton.js +6 -0
- package/dist/components/BlessSplitButton.vue.d.ts +35 -0
- package/dist/components/BlessSplitButton.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/components/BlessStack.css +1 -0
- package/dist/components/BlessStack.js +6 -0
- package/dist/components/BlessStack.vue.d.ts +28 -0
- package/dist/components/BlessStack.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/BlessStage.css +1 -0
- package/dist/components/BlessStage.js +6 -0
- package/dist/components/BlessStage.vue.d.ts +34 -0
- package/dist/components/BlessStage.vue_vue_type_script_setup_true_lang.js +74 -0
- package/dist/components/BlessStepper.css +1 -0
- package/dist/components/BlessStepper.js +6 -0
- package/dist/components/BlessStepper.vue.d.ts +51 -0
- package/dist/components/BlessStepper.vue_vue_type_script_setup_true_lang.js +80 -0
- package/dist/components/BlessSteps.css +1 -0
- package/dist/components/BlessSteps.js +6 -0
- package/dist/components/BlessSteps.vue.d.ts +27 -0
- package/dist/components/BlessSteps.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/BlessSwap.css +1 -0
- package/dist/components/BlessSwap.js +6 -0
- package/dist/components/BlessSwap.vue.d.ts +30 -0
- package/dist/components/BlessSwap.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/BlessSwitch.css +1 -0
- package/dist/components/BlessSwitch.js +6 -0
- package/dist/components/BlessSwitch.vue.d.ts +27 -0
- package/dist/components/BlessSwitch.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/components/BlessTabPanels.css +1 -0
- package/dist/components/BlessTabPanels.js +6 -0
- package/dist/components/BlessTabPanels.vue.d.ts +38 -0
- package/dist/components/BlessTabPanels.vue_vue_type_script_setup_true_lang.js +63 -0
- package/dist/components/BlessTable.css +1 -0
- package/dist/components/BlessTable.js +6 -0
- package/dist/components/BlessTable.vue.d.ts +46 -0
- package/dist/components/BlessTable.vue_vue_type_script_setup_true_lang.js +76 -0
- package/dist/components/BlessTabs.css +1 -0
- package/dist/components/BlessTabs.js +6 -0
- package/dist/components/BlessTabs.vue.d.ts +44 -0
- package/dist/components/BlessTabs.vue_vue_type_script_setup_true_lang.js +93 -0
- package/dist/components/BlessText.css +1 -0
- package/dist/components/BlessText.js +6 -0
- package/dist/components/BlessText.vue.d.ts +31 -0
- package/dist/components/BlessText.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/components/BlessTextarea.css +1 -0
- package/dist/components/BlessTextarea.js +6 -0
- package/dist/components/BlessTextarea.vue.d.ts +28 -0
- package/dist/components/BlessTextarea.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/BlessThemeToggle.css +1 -0
- package/dist/components/BlessThemeToggle.js +6 -0
- package/dist/components/BlessThemeToggle.vue.d.ts +22 -0
- package/dist/components/BlessThemeToggle.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/components/BlessTimePicker.css +1 -0
- package/dist/components/BlessTimePicker.js +6 -0
- package/dist/components/BlessTimePicker.vue.d.ts +30 -0
- package/dist/components/BlessTimePicker.vue_vue_type_script_setup_true_lang.js +69 -0
- package/dist/components/BlessTimeline.css +1 -0
- package/dist/components/BlessTimeline.js +6 -0
- package/dist/components/BlessTimeline.vue.d.ts +36 -0
- package/dist/components/BlessTimeline.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/components/BlessToaster.css +1 -0
- package/dist/components/BlessToaster.js +6 -0
- package/dist/components/BlessToaster.vue.d.ts +13 -0
- package/dist/components/BlessToaster.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/components/BlessToggle.css +1 -0
- package/dist/components/BlessToggle.js +6 -0
- package/dist/components/BlessToggle.vue.d.ts +32 -0
- package/dist/components/BlessToggle.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/components/BlessToggleGroup.css +1 -0
- package/dist/components/BlessToggleGroup.js +6 -0
- package/dist/components/BlessToggleGroup.vue.d.ts +28 -0
- package/dist/components/BlessToggleGroup.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/BlessToolbar.css +1 -0
- package/dist/components/BlessToolbar.js +6 -0
- package/dist/components/BlessToolbar.vue.d.ts +26 -0
- package/dist/components/BlessToolbar.vue_vue_type_script_setup_true_lang.js +27 -0
- package/dist/components/BlessTooltip.css +1 -0
- package/dist/components/BlessTooltip.js +6 -0
- package/dist/components/BlessTooltip.vue.d.ts +24 -0
- package/dist/components/BlessTooltip.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/components/BlessTour.css +1 -0
- package/dist/components/BlessTour.js +6 -0
- package/dist/components/BlessTour.vue.d.ts +39 -0
- package/dist/components/BlessTour.vue_vue_type_script_setup_true_lang.js +118 -0
- package/dist/components/BlessTree.css +1 -0
- package/dist/components/BlessTree.js +6 -0
- package/dist/components/BlessTree.vue.d.ts +20 -0
- package/dist/components/BlessTree.vue_vue_type_script_setup_true_lang.js +67 -0
- package/dist/components/BlessTreeItem.js +5 -0
- package/dist/components/BlessTreeItem.vue.d.ts +14 -0
- package/dist/components/BlessTreeItem.vue_vue_type_script_setup_true_lang.js +88 -0
- package/dist/components/BlessTreeSelect.css +1 -0
- package/dist/components/BlessTreeSelect.js +6 -0
- package/dist/components/BlessTreeSelect.vue.d.ts +32 -0
- package/dist/components/BlessTreeSelect.vue_vue_type_script_setup_true_lang.js +118 -0
- package/dist/components/BlessTreeTable.css +1 -0
- package/dist/components/BlessTreeTable.js +6 -0
- package/dist/components/BlessTreeTable.vue.d.ts +40 -0
- package/dist/components/BlessTreeTable.vue_vue_type_script_setup_true_lang.js +86 -0
- package/dist/components/BlessUploader.css +1 -0
- package/dist/components/BlessUploader.js +6 -0
- package/dist/components/BlessUploader.vue.d.ts +451 -0
- package/dist/components/BlessUploader.vue_vue_type_script_setup_true_lang.js +157 -0
- package/dist/components/BlessVideo.css +1 -0
- package/dist/components/BlessVideo.js +6 -0
- package/dist/components/BlessVideo.vue.d.ts +25 -0
- package/dist/components/BlessVideo.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/components/BlessVirtualScroller.css +1 -0
- package/dist/components/BlessVirtualScroller.js +6 -0
- package/dist/components/BlessVirtualScroller.vue.d.ts +36 -0
- package/dist/components/BlessVirtualScroller.vue_vue_type_script_setup_true_lang.js +89 -0
- package/dist/components/BlessWatermark.css +1 -0
- package/dist/components/BlessWatermark.js +6 -0
- package/dist/components/BlessWatermark.vue.d.ts +9 -0
- package/dist/components/BlessWatermark.vue_vue_type_script_setup_true_lang.js +18 -0
- package/dist/components/BlessWatermarkOverlay.css +1 -0
- package/dist/components/BlessWatermarkOverlay.js +6 -0
- package/dist/components/BlessWatermarkOverlay.vue.d.ts +29 -0
- package/dist/components/BlessWatermarkOverlay.vue_vue_type_script_setup_true_lang.js +36 -0
- package/dist/components/accordion.d.ts +4 -0
- package/dist/components/accordion.js +4 -0
- package/dist/components/cascade.d.ts +6 -0
- package/dist/components/mask.d.ts +4 -0
- package/dist/components/mask.js +17 -0
- package/dist/components/menu.d.ts +42 -0
- package/dist/components/menu.js +4 -0
- package/dist/components/questionnaire.d.ts +16 -0
- package/dist/components/radio.d.ts +7 -0
- package/dist/components/radio.js +4 -0
- package/dist/components/select.d.ts +5 -0
- package/dist/components/table.d.ts +12 -0
- package/dist/components/toggle.d.ts +6 -0
- package/dist/components/toggle.js +4 -0
- package/dist/components/tree.d.ts +10 -0
- package/dist/composables/date.d.ts +7 -0
- package/dist/composables/date.js +7 -0
- package/dist/composables/rtl.d.ts +5 -0
- package/dist/composables/rtl.js +8 -0
- package/dist/composables/useAnimateOnScroll.d.ts +13 -0
- package/dist/composables/useAnimateOnScroll.js +17 -0
- package/dist/composables/useBrowser.d.ts +23 -0
- package/dist/composables/useBrowser.js +41 -0
- package/dist/composables/useDataTable.d.ts +46 -0
- package/dist/composables/useDataTable.js +60 -0
- package/dist/composables/useDialog.d.ts +26 -0
- package/dist/composables/useDialog.js +31 -0
- package/dist/composables/useFieldId.d.ts +28 -0
- package/dist/composables/useFieldId.js +36 -0
- package/dist/composables/useFloating.d.ts +25 -0
- package/dist/composables/useFloating.js +42 -0
- package/dist/composables/useGesture.d.ts +34 -0
- package/dist/composables/useGesture.js +57 -0
- package/dist/composables/useHash.d.ts +2 -0
- package/dist/composables/useHash.js +12 -0
- package/dist/composables/useLink.d.ts +16 -0
- package/dist/composables/useLink.js +22 -0
- package/dist/composables/useLoadingBar.d.ts +15 -0
- package/dist/composables/useLoadingBar.js +37 -0
- package/dist/composables/useMedia.d.ts +6 -0
- package/dist/composables/useMedia.js +13 -0
- package/dist/composables/useRovingFocus.d.ts +6 -0
- package/dist/composables/useRovingFocus.js +46 -0
- package/dist/composables/useScrollSpy.d.ts +11 -0
- package/dist/composables/useScrollSpy.js +18 -0
- package/dist/composables/useTheme.d.ts +16 -0
- package/dist/composables/useTheme.js +66 -0
- package/dist/composables/useToast.d.ts +61 -0
- package/dist/composables/useToast.js +58 -0
- package/dist/index.d.ts +194 -0
- package/dist/index.js +162 -0
- package/dist/style.css +1 -0
- package/package.json +97 -0
- package/tokens.css +348 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { useLink as e } from "../composables/useLink.js";
|
|
2
|
+
import { logicalKey as t } from "../composables/rtl.js";
|
|
3
|
+
import n from "./BlessKbd.js";
|
|
4
|
+
import { Fragment as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, defineComponent as l, mergeProps as u, nextTick as d, openBlock as f, ref as p, renderList as m, resolveComponent as h, resolveDynamicComponent as g, toDisplayString as _, unref as v, withCtx as y, withKeys as b, withModifiers as x } from "vue";
|
|
5
|
+
//#region src/components/BlessMenuList.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var S = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "bless-menu__sep",
|
|
9
|
+
role: "separator"
|
|
10
|
+
}, C = {
|
|
11
|
+
key: 1,
|
|
12
|
+
class: "bless-menu__label"
|
|
13
|
+
}, w = [
|
|
14
|
+
"data-sub",
|
|
15
|
+
"aria-expanded",
|
|
16
|
+
"aria-disabled",
|
|
17
|
+
"onMouseenter",
|
|
18
|
+
"onClick"
|
|
19
|
+
], T = { class: "bless-menu__text" }, E = {
|
|
20
|
+
class: "bless-menu__mark",
|
|
21
|
+
"aria-hidden": "true"
|
|
22
|
+
}, D = { class: "bless-menu__text" }, O = /*@__PURE__*/ l({
|
|
23
|
+
name: "BlessMenuList",
|
|
24
|
+
__name: "BlessMenuList",
|
|
25
|
+
props: {
|
|
26
|
+
items: {},
|
|
27
|
+
checked: {},
|
|
28
|
+
radios: {}
|
|
29
|
+
},
|
|
30
|
+
emits: ["select", "close"],
|
|
31
|
+
setup(l, { expose: O, emit: k }) {
|
|
32
|
+
let A = e(), j = k, M = p(), N = p(null), P = "", F, I = () => Array.from(M.value?.querySelectorAll("[role^=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? []);
|
|
33
|
+
function L() {
|
|
34
|
+
d(() => I()[0]?.focus());
|
|
35
|
+
}
|
|
36
|
+
function R() {
|
|
37
|
+
d(() => I().at(-1)?.focus());
|
|
38
|
+
}
|
|
39
|
+
function z(e) {
|
|
40
|
+
if (e.target.closest("[role=\"menu\"]") !== M.value) return;
|
|
41
|
+
let n = I(), r = n.indexOf(document.activeElement), i = (t) => {
|
|
42
|
+
e.preventDefault(), n[(t + n.length) % n.length]?.focus();
|
|
43
|
+
};
|
|
44
|
+
switch (t(e)) {
|
|
45
|
+
case "ArrowDown": return i(r + 1);
|
|
46
|
+
case "ArrowUp": return i(r - 1);
|
|
47
|
+
case "Home": return i(0);
|
|
48
|
+
case "End": return i(n.length - 1);
|
|
49
|
+
case "Escape": return e.preventDefault(), j("close");
|
|
50
|
+
case "ArrowRight": {
|
|
51
|
+
let t = Number(document.activeElement?.dataset.sub);
|
|
52
|
+
Number.isNaN(t) || (e.preventDefault(), N.value = t);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
case "ArrowLeft":
|
|
56
|
+
N.value !== null && (e.preventDefault(), N.value = null);
|
|
57
|
+
return;
|
|
58
|
+
default: e.key.length === 1 && !e.ctrlKey && !e.metaKey && (P += e.key.toLowerCase(), clearTimeout(F), F = setTimeout(() => P = "", 500), n.find((e) => e.textContent?.trim().toLowerCase().startsWith(P))?.focus());
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function B(e) {
|
|
62
|
+
"disabled" in e && e.disabled || e.type !== "sub" && e.type !== "separator" && e.type !== "label" && (j("select", e), e.type !== "checkbox" && e.type !== "radio" && j("close"));
|
|
63
|
+
}
|
|
64
|
+
return O({
|
|
65
|
+
focusFirst: L,
|
|
66
|
+
focusLast: R
|
|
67
|
+
}), (e, t) => {
|
|
68
|
+
let d = h("BlessMenuList", !0);
|
|
69
|
+
return f(), o("div", {
|
|
70
|
+
ref_key: "root",
|
|
71
|
+
ref: M,
|
|
72
|
+
class: "bless-menu",
|
|
73
|
+
role: "menu",
|
|
74
|
+
tabindex: "-1",
|
|
75
|
+
onKeydown: z
|
|
76
|
+
}, [(f(!0), o(r, null, m(l.items, (e, p) => (f(), o(r, { key: p }, [e.type === "separator" ? (f(), o("div", S)) : e.type === "label" ? (f(), o("div", C, _(e.label), 1)) : e.type === "sub" ? (f(), o("div", {
|
|
77
|
+
key: 2,
|
|
78
|
+
class: "bless-menu__item bless-menu__item--sub",
|
|
79
|
+
role: "menuitem",
|
|
80
|
+
tabindex: "-1",
|
|
81
|
+
"data-sub": p,
|
|
82
|
+
"aria-haspopup": "menu",
|
|
83
|
+
"aria-expanded": N.value === p,
|
|
84
|
+
"aria-disabled": e.disabled || void 0,
|
|
85
|
+
onMouseenter: (t) => !e.disabled && (N.value = p),
|
|
86
|
+
onClick: (t) => !e.disabled && (N.value = N.value === p ? null : p)
|
|
87
|
+
}, [
|
|
88
|
+
s("span", T, _(e.label), 1),
|
|
89
|
+
t[4] ||= s("span", {
|
|
90
|
+
class: "bless-menu__chevron",
|
|
91
|
+
"aria-hidden": "true"
|
|
92
|
+
}, "›", -1),
|
|
93
|
+
N.value === p ? (f(), i(d, {
|
|
94
|
+
key: 0,
|
|
95
|
+
items: e.items,
|
|
96
|
+
checked: l.checked,
|
|
97
|
+
radios: l.radios,
|
|
98
|
+
class: "bless-menu--sub",
|
|
99
|
+
onSelect: t[0] ||= (e) => j("select", e),
|
|
100
|
+
onClose: t[1] ||= (e) => {
|
|
101
|
+
N.value = null;
|
|
102
|
+
},
|
|
103
|
+
onVnodeMounted: t[2] ||= (e) => e.component?.exposed?.focusFirst()
|
|
104
|
+
}, null, 8, [
|
|
105
|
+
"items",
|
|
106
|
+
"checked",
|
|
107
|
+
"radios"
|
|
108
|
+
])) : a("", !0)
|
|
109
|
+
], 40, w)) : (f(), i(g(v(A)("href" in e ? e.href : void 0, void 0, "div").is), u({
|
|
110
|
+
key: 3,
|
|
111
|
+
ref_for: !0
|
|
112
|
+
}, v(A)("href" in e ? e.href : void 0, void 0, "div").attrs, {
|
|
113
|
+
class: ["bless-menu__item", { "bless-menu__item--danger": "danger" in e && e.danger }],
|
|
114
|
+
role: e.type === "checkbox" ? "menuitemcheckbox" : e.type === "radio" ? "menuitemradio" : "menuitem",
|
|
115
|
+
tabindex: "-1",
|
|
116
|
+
"aria-checked": e.type === "checkbox" ? !!l.checked?.[e.value] : e.type === "radio" ? l.radios?.[e.group] === e.value : void 0,
|
|
117
|
+
"aria-disabled": e.disabled || void 0,
|
|
118
|
+
onClick: (t) => B(e),
|
|
119
|
+
onKeydown: b(x((t) => B(e), ["prevent"]), ["enter", "space"]),
|
|
120
|
+
onMouseenter: t[3] ||= (e) => {
|
|
121
|
+
N.value = null, e.currentTarget.focus();
|
|
122
|
+
}
|
|
123
|
+
}), {
|
|
124
|
+
default: y(() => [
|
|
125
|
+
s("span", E, [e.type === "checkbox" ? (f(), o(r, { key: 0 }, [c(_(l.checked?.[e.value] ? "✓" : ""), 1)], 64)) : e.type === "radio" ? (f(), o(r, { key: 1 }, [c(_(l.radios?.[e.group] === e.value ? "●" : ""), 1)], 64)) : "icon" in e && e.icon ? (f(), o(r, { key: 2 }, [c(_(e.icon), 1)], 64)) : a("", !0)]),
|
|
126
|
+
s("span", D, _(e.label), 1),
|
|
127
|
+
"shortcut" in e && e.shortcut ? (f(), i(n, {
|
|
128
|
+
key: 0,
|
|
129
|
+
class: "bless-menu__shortcut"
|
|
130
|
+
}, {
|
|
131
|
+
default: y(() => [c(_(e.shortcut), 1)]),
|
|
132
|
+
_: 2
|
|
133
|
+
}, 1024)) : a("", !0)
|
|
134
|
+
]),
|
|
135
|
+
_: 2
|
|
136
|
+
}, 1040, [
|
|
137
|
+
"class",
|
|
138
|
+
"role",
|
|
139
|
+
"aria-checked",
|
|
140
|
+
"aria-disabled",
|
|
141
|
+
"onClick",
|
|
142
|
+
"onKeydown"
|
|
143
|
+
]))], 64))), 128))], 544);
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
//#endregion
|
|
148
|
+
export { O as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bless-menubar{border-radius:var(--bless-radius);gap:var(--bless-space-1);padding:var(--bless-space-1);border:var(--bless-border-width) solid var(--bless-color-border);background:var(--bless-color-bg);font-family:var(--bless-font-sans);display:inline-flex}.bless-menubar .bless-dropdown__anchor>*{padding:var(--bless-space-2) var(--bless-space-3);color:var(--bless-color-text);font:inherit;font-size:var(--bless-text-sm);font-weight:var(--bless-font-weight-bold);letter-spacing:var(--bless-tracking-wide);text-transform:uppercase;cursor:pointer;background:0 0;border:0}.bless-menubar .bless-dropdown__anchor>:hover{background:var(--bless-color-surface);color:var(--bless-color-text)}.bless-menubar .bless-dropdown__anchor[aria-expanded=true]>*{background:var(--bless-color-surface);color:var(--bless-color-accent-text)}.bless-menubar .bless-dropdown__anchor>:focus-visible{outline:2px solid var(--bless-color-accent);outline-offset:-2px}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
label?: string;
|
|
3
|
+
};
|
|
4
|
+
declare var __VLS_1: {};
|
|
5
|
+
type __VLS_Slots = {} & {
|
|
6
|
+
default?: (props: typeof __VLS_1) => any;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
12
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
13
|
+
new (): {
|
|
14
|
+
$slots: S;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { menubarKey as e } from "./menu.js";
|
|
2
|
+
import { createElementBlock as t, defineComponent as n, onMounted as r, openBlock as i, provide as a, ref as o, renderSlot as s } from "vue";
|
|
3
|
+
//#region src/components/BlessMenubar.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var c = ["aria-label"], l = /*@__PURE__*/ n({
|
|
5
|
+
name: "BlessMenubar",
|
|
6
|
+
__name: "BlessMenubar",
|
|
7
|
+
props: { label: {} },
|
|
8
|
+
setup(n) {
|
|
9
|
+
let l = o([]), u = o(null), d = o(), f = () => Array.from(d.value?.querySelectorAll("[aria-haspopup=\"menu\"][aria-controls]") ?? []);
|
|
10
|
+
function p(e) {
|
|
11
|
+
let t = f(), n = e && t.includes(e) ? e : t[0];
|
|
12
|
+
for (let e of t) e.tabIndex = e === n ? 0 : -1;
|
|
13
|
+
}
|
|
14
|
+
return r(() => p()), a(e, {
|
|
15
|
+
register: (e, t, n) => l.value.push({
|
|
16
|
+
id: e,
|
|
17
|
+
open: t,
|
|
18
|
+
close: n
|
|
19
|
+
}),
|
|
20
|
+
unregister: (e) => l.value = l.value.filter((t) => t.id !== e),
|
|
21
|
+
active: u,
|
|
22
|
+
focusNext: (e, t) => {
|
|
23
|
+
let n = l.value.findIndex((t) => t.id === e), r = l.value[(n + t + l.value.length) % l.value.length];
|
|
24
|
+
if (!r) return;
|
|
25
|
+
let i = u.value === e;
|
|
26
|
+
l.value[n]?.close(), (d.value?.querySelector(`[aria-controls="${r.id}"]`))?.focus(), i && r.open();
|
|
27
|
+
}
|
|
28
|
+
}), (e, r) => (i(), t("nav", {
|
|
29
|
+
ref_key: "root",
|
|
30
|
+
ref: d,
|
|
31
|
+
class: "bless-menubar",
|
|
32
|
+
"aria-label": n.label,
|
|
33
|
+
onFocusin: r[0] ||= (e) => p(e.target)
|
|
34
|
+
}, [s(e.$slots, "default")], 40, c));
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
//#endregion
|
|
38
|
+
export { l as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bless-message__sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.bless-message{align-items:flex-start;gap:var(--bless-space-2);font-family:var(--bless-font-sans);color:var(--bless-color-text);display:flex}.bless-message--end{flex-direction:row-reverse}.bless-message--compact{padding-inline-start:calc(32px + var(--bless-space-2))}.bless-message--end.bless-message--compact{padding-inline-start:0;padding-inline-end:calc(32px + var(--bless-space-2))}.bless-message__avatar{flex:none}.bless-message__body{gap:var(--bless-space-1);flex-direction:column;min-width:0;max-width:min(100%,65ch);display:flex}.bless-message--end .bless-message__body{align-items:flex-end}.bless-message__header{gap:var(--bless-space-2);font-size:var(--bless-text-xs);letter-spacing:var(--bless-tracking-wide);align-items:baseline;display:flex}.bless-message__header time{color:var(--bless-color-text-muted)}.bless-message__content{gap:var(--bless-space-1);flex-direction:column;display:flex}.bless-message--end .bless-message__content{align-items:flex-end}.bless-message__footer{font-size:var(--bless-text-xs);color:var(--bless-color-text-muted)}.bless-message__actions{gap:var(--bless-space-1);opacity:0;transition:opacity var(--bless-duration-base);align-self:center;display:inline-flex}.bless-message:hover .bless-message__actions,.bless-message:focus-within .bless-message__actions{opacity:1}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** sender name, shown in header and used for avatar initials */
|
|
3
|
+
name?: string;
|
|
4
|
+
/** timestamp / meta text in header */
|
|
5
|
+
time?: string;
|
|
6
|
+
/** machine-readable form of `time` for the <time> element */
|
|
7
|
+
datetime?: string;
|
|
8
|
+
avatar?: string;
|
|
9
|
+
/** start = other party, end = self */
|
|
10
|
+
align?: "start" | "end";
|
|
11
|
+
/** hide avatar column (consecutive messages in a group) */
|
|
12
|
+
compact?: boolean;
|
|
13
|
+
};
|
|
14
|
+
declare var __VLS_1: {}, __VLS_8: {}, __VLS_10: {}, __VLS_12: {}, __VLS_14: {};
|
|
15
|
+
type __VLS_Slots = {} & {
|
|
16
|
+
avatar?: (props: typeof __VLS_1) => any;
|
|
17
|
+
} & {
|
|
18
|
+
header?: (props: typeof __VLS_8) => any;
|
|
19
|
+
} & {
|
|
20
|
+
default?: (props: typeof __VLS_10) => any;
|
|
21
|
+
} & {
|
|
22
|
+
footer?: (props: typeof __VLS_12) => any;
|
|
23
|
+
} & {
|
|
24
|
+
actions?: (props: typeof __VLS_14) => any;
|
|
25
|
+
};
|
|
26
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
27
|
+
align: "start" | "end";
|
|
28
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
29
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
30
|
+
declare const _default: typeof __VLS_export;
|
|
31
|
+
export default _default;
|
|
32
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
33
|
+
new (): {
|
|
34
|
+
$slots: S;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import e from "./BlessAvatar.js";
|
|
2
|
+
import { createCommentVNode as t, createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, normalizeClass as o, openBlock as s, renderSlot as c, toDisplayString as l } from "vue";
|
|
3
|
+
//#region src/components/BlessMessage.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var u = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "bless-message__avatar"
|
|
7
|
+
}, d = { class: "bless-message__body" }, f = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "bless-message__header"
|
|
10
|
+
}, p = { key: 0 }, m = ["datetime"], h = {
|
|
11
|
+
key: 1,
|
|
12
|
+
class: "bless-message__sr"
|
|
13
|
+
}, g = { class: "bless-message__content" }, _ = {
|
|
14
|
+
key: 2,
|
|
15
|
+
class: "bless-message__footer"
|
|
16
|
+
}, v = {
|
|
17
|
+
key: 1,
|
|
18
|
+
class: "bless-message__actions"
|
|
19
|
+
}, y = /*@__PURE__*/ a({
|
|
20
|
+
name: "BlessMessage",
|
|
21
|
+
__name: "BlessMessage",
|
|
22
|
+
props: {
|
|
23
|
+
name: {},
|
|
24
|
+
time: {},
|
|
25
|
+
datetime: {},
|
|
26
|
+
avatar: {},
|
|
27
|
+
align: { default: "start" },
|
|
28
|
+
compact: { type: Boolean }
|
|
29
|
+
},
|
|
30
|
+
setup(a) {
|
|
31
|
+
return (y, b) => (s(), n("article", { class: o(["bless-message", [`bless-message--${a.align}`, { "bless-message--compact": a.compact }]]) }, [
|
|
32
|
+
a.compact ? t("", !0) : (s(), n("span", u, [c(y.$slots, "avatar", {}, () => [i(e, {
|
|
33
|
+
src: a.avatar,
|
|
34
|
+
name: a.name,
|
|
35
|
+
size: "sm"
|
|
36
|
+
}, null, 8, ["src", "name"])])])),
|
|
37
|
+
r("div", d, [
|
|
38
|
+
!a.compact && (a.name || a.time || y.$slots.header) ? (s(), n("header", f, [c(y.$slots, "header", {}, () => [a.name ? (s(), n("strong", p, l(a.name), 1)) : t("", !0), a.time ? (s(), n("time", {
|
|
39
|
+
key: 1,
|
|
40
|
+
datetime: a.datetime
|
|
41
|
+
}, l(a.time), 9, m)) : t("", !0)])])) : t("", !0),
|
|
42
|
+
a.compact && a.name ? (s(), n("span", h, l(a.name), 1)) : t("", !0),
|
|
43
|
+
r("div", g, [c(y.$slots, "default")]),
|
|
44
|
+
y.$slots.footer ? (s(), n("footer", _, [c(y.$slots, "footer")])) : t("", !0)
|
|
45
|
+
]),
|
|
46
|
+
y.$slots.actions ? (s(), n("span", v, [c(y.$slots, "actions")])) : t("", !0)
|
|
47
|
+
], 2));
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
//#endregion
|
|
51
|
+
export { y as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bless-message-scroller{height:var(--_h);position:relative}.bless-message-scroller__viewport{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--bless-color-text-muted) transparent;height:100%;overflow-y:auto}.bless-message-scroller__content{gap:var(--bless-space-3);padding:var(--bless-space-3);overflow-anchor:none;flex-direction:column;display:flex}.bless-message-scroller__jump{border-radius:var(--bless-radius-petal);bottom:var(--bless-space-3);width:max-content;box-shadow:var(--bless-shadow-plate);margin-inline:auto;position:absolute;inset-inline:0}.bless-message-scroller__fade-enter-active,.bless-message-scroller__fade-leave-active{transition:opacity var(--bless-duration-base)}.bless-message-scroller__fade-enter-from,.bless-message-scroller__fade-leave-to{opacity:0}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** px from bottom still counted as "at bottom" */
|
|
3
|
+
threshold?: number;
|
|
4
|
+
/** px from top that fires `reach-top` (history load) */
|
|
5
|
+
topThreshold?: number;
|
|
6
|
+
/** where to open: latest message or top of transcript */
|
|
7
|
+
initial?: "bottom" | "top";
|
|
8
|
+
jumpLabel?: string;
|
|
9
|
+
height?: string;
|
|
10
|
+
/** names the transcript */
|
|
11
|
+
label?: string;
|
|
12
|
+
};
|
|
13
|
+
declare function scrollToBottom(behavior?: ScrollBehavior): void;
|
|
14
|
+
/** scroll a message into view by its element id */
|
|
15
|
+
declare function scrollTo(id: string, behavior?: ScrollBehavior): void;
|
|
16
|
+
declare function loadHistory(insert: () => void | Promise<void>): Promise<void>;
|
|
17
|
+
declare var __VLS_1: {}, __VLS_17: {};
|
|
18
|
+
type __VLS_Slots = {} & {
|
|
19
|
+
default?: (props: typeof __VLS_1) => any;
|
|
20
|
+
} & {
|
|
21
|
+
jump?: (props: typeof __VLS_17) => any;
|
|
22
|
+
};
|
|
23
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
24
|
+
scrollToBottom: typeof scrollToBottom;
|
|
25
|
+
scrollTo: typeof scrollTo;
|
|
26
|
+
loadHistory: typeof loadHistory;
|
|
27
|
+
atBottom: import('vue').Ref<boolean, boolean>;
|
|
28
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
29
|
+
"reach-top": () => any;
|
|
30
|
+
"at-bottom": (value: boolean) => any;
|
|
31
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
32
|
+
"onReach-top"?: (() => any) | undefined;
|
|
33
|
+
"onAt-bottom"?: ((value: boolean) => any) | undefined;
|
|
34
|
+
}>, {
|
|
35
|
+
label: string;
|
|
36
|
+
initial: "bottom" | "top";
|
|
37
|
+
height: string;
|
|
38
|
+
threshold: number;
|
|
39
|
+
topThreshold: number;
|
|
40
|
+
jumpLabel: string;
|
|
41
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
42
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
43
|
+
declare const _default: typeof __VLS_export;
|
|
44
|
+
export default _default;
|
|
45
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
46
|
+
new (): {
|
|
47
|
+
$slots: S;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import e from "./BlessButton.js";
|
|
2
|
+
import { scrollBehavior as t } from "../composables/useMedia.js";
|
|
3
|
+
import { Transition as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, createVNode as c, defineComponent as l, nextTick as u, normalizeStyle as d, onBeforeUnmount as f, onMounted as p, openBlock as m, ref as h, renderSlot as g, toDisplayString as _, withCtx as v } from "vue";
|
|
4
|
+
//#region src/components/BlessMessageScroller.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var y = ["aria-label"], b = /*@__PURE__*/ l({
|
|
6
|
+
name: "BlessMessageScroller",
|
|
7
|
+
__name: "BlessMessageScroller",
|
|
8
|
+
props: {
|
|
9
|
+
threshold: { default: 48 },
|
|
10
|
+
topThreshold: { default: 80 },
|
|
11
|
+
initial: { default: "bottom" },
|
|
12
|
+
jumpLabel: { default: "Latest" },
|
|
13
|
+
height: { default: "400px" },
|
|
14
|
+
label: { default: "Messages" }
|
|
15
|
+
},
|
|
16
|
+
emits: ["reach-top", "at-bottom"],
|
|
17
|
+
setup(l, { expose: b, emit: x }) {
|
|
18
|
+
let S = l, C = x, w = h(), T = h(), E = h(!0), D = !0;
|
|
19
|
+
function O() {
|
|
20
|
+
let e = w.value, t = E.value;
|
|
21
|
+
E.value = e.scrollHeight - e.scrollTop - e.clientHeight <= S.threshold, t !== E.value && C("at-bottom", E.value), e.scrollHeight > e.clientHeight && e.scrollTop <= S.topThreshold ? D && (D = !1, C("reach-top")) : D = !0;
|
|
22
|
+
}
|
|
23
|
+
function k(e = "auto") {
|
|
24
|
+
let n = w.value;
|
|
25
|
+
n && n.scrollTo({
|
|
26
|
+
top: n.scrollHeight,
|
|
27
|
+
behavior: t(e)
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function A() {
|
|
31
|
+
k("smooth"), w.value?.focus({ preventScroll: !0 });
|
|
32
|
+
}
|
|
33
|
+
function j(e, n = "smooth") {
|
|
34
|
+
w.value?.querySelector(`#${CSS.escape(e)}`)?.scrollIntoView?.({
|
|
35
|
+
behavior: t(n),
|
|
36
|
+
block: "start"
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async function M(e) {
|
|
40
|
+
let t = w.value, n = t.scrollHeight;
|
|
41
|
+
await e(), await u(), t.scrollTop += t.scrollHeight - n, D = !0;
|
|
42
|
+
}
|
|
43
|
+
let N;
|
|
44
|
+
return p(() => {
|
|
45
|
+
S.initial === "bottom" && k(), E.value = S.initial === "bottom", N = new ResizeObserver(() => {
|
|
46
|
+
E.value && k();
|
|
47
|
+
}), T.value && N.observe(T.value);
|
|
48
|
+
}), f(() => N?.disconnect()), b({
|
|
49
|
+
scrollToBottom: k,
|
|
50
|
+
scrollTo: j,
|
|
51
|
+
loadHistory: M,
|
|
52
|
+
atBottom: E
|
|
53
|
+
}), (t, u) => (m(), a("div", {
|
|
54
|
+
class: "bless-message-scroller",
|
|
55
|
+
style: d({ "--_h": l.height })
|
|
56
|
+
}, [o("div", {
|
|
57
|
+
ref_key: "viewport",
|
|
58
|
+
ref: w,
|
|
59
|
+
class: "bless-message-scroller__viewport",
|
|
60
|
+
tabindex: "0",
|
|
61
|
+
role: "log",
|
|
62
|
+
"aria-label": l.label,
|
|
63
|
+
onScrollPassive: O
|
|
64
|
+
}, [o("div", {
|
|
65
|
+
ref_key: "content",
|
|
66
|
+
ref: T,
|
|
67
|
+
class: "bless-message-scroller__content"
|
|
68
|
+
}, [g(t.$slots, "default")], 512)], 40, y), c(n, { name: "bless-message-scroller__fade" }, {
|
|
69
|
+
default: v(() => [E.value ? i("", !0) : (m(), r(e, {
|
|
70
|
+
key: 0,
|
|
71
|
+
size: "sm",
|
|
72
|
+
class: "bless-message-scroller__jump",
|
|
73
|
+
onClick: A
|
|
74
|
+
}, {
|
|
75
|
+
default: v(() => [g(t.$slots, "jump", {}, () => [u[0] ||= o("span", { "aria-hidden": "true" }, "↓ ", -1), s(_(l.jumpLabel), 1)])]),
|
|
76
|
+
_: 3
|
|
77
|
+
}))]),
|
|
78
|
+
_: 3
|
|
79
|
+
})], 4));
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
//#endregion
|
|
83
|
+
export { b as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bless-metergroup{gap:var(--bless-space-2);font-family:var(--bless-font-sans);color:var(--bless-color-text);flex-direction:column;display:flex}.bless-metergroup--vertical{flex-direction:row;align-items:stretch}.bless-metergroup__bar{border-radius:var(--bless-radius);background:var(--bless-color-surface);height:10px;transform:skewX(var(--bless-skew));display:flex;overflow:hidden}.bless-metergroup--vertical .bless-metergroup__bar{flex-direction:column;width:10px;height:auto;min-height:120px;transform:none}.bless-metergroup__seg{flex:0 0 var(--_p);transition:flex-basis var(--bless-duration-slow) var(--bless-ease-out)}.bless-metergroup__legend{gap:var(--bless-space-1) var(--bless-space-4);font-size:var(--bless-text-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.bless-metergroup--vertical .bless-metergroup__legend{flex-direction:column}.bless-metergroup__legend>li{align-items:center;gap:var(--bless-space-2);display:inline-flex}.bless-metergroup__legend>li:before{content:"";background:var(--_c);width:10px;height:10px;transform:skewX(var(--bless-skew))}.bless-metergroup__name{font-weight:var(--bless-font-weight-bold);letter-spacing:var(--bless-tracking-wide)}.bless-metergroup__val{color:var(--bless-color-text-muted)}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface BlessMeterSegment {
|
|
2
|
+
label: string;
|
|
3
|
+
value: number;
|
|
4
|
+
/** token colour name or any CSS colour */
|
|
5
|
+
color?: string;
|
|
6
|
+
}
|
|
7
|
+
type __VLS_Props = {
|
|
8
|
+
segments: BlessMeterSegment[];
|
|
9
|
+
max?: number;
|
|
10
|
+
label?: string;
|
|
11
|
+
/** show the legend */
|
|
12
|
+
legend?: boolean;
|
|
13
|
+
format?: (v: number) => string;
|
|
14
|
+
orientation?: "horizontal" | "vertical";
|
|
15
|
+
};
|
|
16
|
+
declare var __VLS_1: {
|
|
17
|
+
segment: BlessMeterSegment;
|
|
18
|
+
percent: number;
|
|
19
|
+
};
|
|
20
|
+
type __VLS_Slots = {} & {
|
|
21
|
+
legend?: (props: typeof __VLS_1) => any;
|
|
22
|
+
};
|
|
23
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
24
|
+
label: string;
|
|
25
|
+
legend: boolean;
|
|
26
|
+
orientation: "horizontal" | "vertical";
|
|
27
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
29
|
+
declare const _default: typeof __VLS_export;
|
|
30
|
+
export default _default;
|
|
31
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
32
|
+
new (): {
|
|
33
|
+
$slots: S;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, defineComponent as a, normalizeClass as o, normalizeStyle as s, openBlock as c, renderList as l, renderSlot as u, toDisplayString as d } from "vue";
|
|
2
|
+
//#region src/components/BlessMeterGroup.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var f = [
|
|
4
|
+
"aria-label",
|
|
5
|
+
"aria-valuenow",
|
|
6
|
+
"aria-valuetext",
|
|
7
|
+
"aria-valuemax"
|
|
8
|
+
], p = ["title"], m = {
|
|
9
|
+
key: 0,
|
|
10
|
+
role: "list",
|
|
11
|
+
class: "bless-metergroup__legend"
|
|
12
|
+
}, h = { class: "bless-metergroup__name" }, g = { class: "bless-metergroup__val" }, _ = /*@__PURE__*/ a({
|
|
13
|
+
name: "BlessMeterGroup",
|
|
14
|
+
__name: "BlessMeterGroup",
|
|
15
|
+
props: {
|
|
16
|
+
segments: {},
|
|
17
|
+
max: {},
|
|
18
|
+
label: { default: "Usage" },
|
|
19
|
+
legend: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: !0
|
|
22
|
+
},
|
|
23
|
+
format: {},
|
|
24
|
+
orientation: { default: "horizontal" }
|
|
25
|
+
},
|
|
26
|
+
setup(a) {
|
|
27
|
+
let _ = a, v = [
|
|
28
|
+
"chart-1",
|
|
29
|
+
"chart-2",
|
|
30
|
+
"chart-3",
|
|
31
|
+
"chart-4",
|
|
32
|
+
"chart-5"
|
|
33
|
+
], y = t(() => _.max ?? _.segments.reduce((e, t) => e + t.value, 0)), b = (e, t) => {
|
|
34
|
+
let n = e.color ?? v[t % v.length];
|
|
35
|
+
return /^[a-z0-9-]+$/i.test(n) ? `var(--bless-color-${n})` : n;
|
|
36
|
+
}, x = (e) => y.value ? e.value / y.value * 100 : 0, S = (e) => (_.format ?? String)(e), C = t(() => _.segments.reduce((e, t) => e + t.value, 0)), w = t(() => _.max == null ? S(C.value) : `${S(C.value)} of ${S(_.max)}`);
|
|
37
|
+
return (t, _) => (c(), r("div", { class: o(["bless-metergroup", `bless-metergroup--${a.orientation}`]) }, [i("div", {
|
|
38
|
+
class: "bless-metergroup__bar",
|
|
39
|
+
role: "meter",
|
|
40
|
+
"aria-label": a.label,
|
|
41
|
+
"aria-valuenow": C.value,
|
|
42
|
+
"aria-valuetext": w.value,
|
|
43
|
+
"aria-valuemin": "0",
|
|
44
|
+
"aria-valuemax": y.value
|
|
45
|
+
}, [(c(!0), r(e, null, l(a.segments, (e, t) => (c(), r("span", {
|
|
46
|
+
key: e.label,
|
|
47
|
+
class: "bless-metergroup__seg",
|
|
48
|
+
style: s({
|
|
49
|
+
"--_p": `${x(e)}%`,
|
|
50
|
+
background: b(e, t)
|
|
51
|
+
}),
|
|
52
|
+
title: `${e.label}: ${S(e.value)}`,
|
|
53
|
+
"aria-hidden": "true"
|
|
54
|
+
}, null, 12, p))), 128))], 8, f), a.legend ? (c(), r("ul", m, [(c(!0), r(e, null, l(a.segments, (e, n) => (c(), r("li", {
|
|
55
|
+
key: e.label,
|
|
56
|
+
style: s({ "--_c": b(e, n) })
|
|
57
|
+
}, [u(t.$slots, "legend", {
|
|
58
|
+
segment: e,
|
|
59
|
+
percent: x(e)
|
|
60
|
+
}, () => [i("span", h, d(e.label), 1), i("span", g, d(S(e.value)) + " · " + d(x(e).toFixed(0)) + "%", 1)])], 4))), 128))])) : n("", !0)], 2));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
//#endregion
|
|
64
|
+
export { _ as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bless-mockup{--_frame:var(--bless-color-surface);--_fg:var(--bless-color-text-muted);border:var(--bless-border-width) solid var(--bless-color-border);background:var(--_frame);font-family:var(--bless-font-sans);flex-direction:column;display:flex;overflow:hidden}.bless-mockup--dark{--_frame:var(--bless-color-media-bg);--_fg:#9aa4ad;--_title:#e8e9ea}.bless-mockup__chrome{align-items:center;gap:var(--bless-space-3);padding:var(--bless-space-2) var(--bless-space-3);color:var(--_fg);display:flex}.bless-mockup__dots{gap:5px;display:inline-flex}.bless-mockup__dots i{opacity:.5;width:10px;height:10px;transform:skewX(var(--bless-skew));background:currentColor}.bless-mockup__title{padding:2px var(--bless-space-3);background:color-mix(in srgb, var(--_fg) 12%, transparent);color:var(--_title,var(--bless-color-text));font-size:var(--bless-text-xs);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.bless-mockup--window .bless-mockup__title{text-align:start;font-weight:var(--bless-font-weight-bold);letter-spacing:var(--bless-tracking-wide);background:0 0}.bless-mockup__screen{background:var(--bless-color-bg);min-height:120px;color:var(--bless-color-text);flex:1;overflow:auto}.bless-mockup__screen>img,.bless-mockup__screen>video{width:100%;display:block}.bless-mockup--browser .bless-mockup__screen,.bless-mockup--window .bless-mockup__screen{border-top:var(--bless-border-width) solid var(--bless-color-border)}.bless-mockup--phone{aspect-ratio:9/19;border-width:2px;border-radius:28px;width:300px;padding:10px}.bless-mockup--phone .bless-mockup__chrome{justify-content:center;padding:0 0 6px}.bless-mockup__notch{background:var(--_fg);opacity:.5;border-radius:4px;width:90px;height:8px}.bless-mockup--phone .bless-mockup__screen{border-radius:18px}.bless-mockup__home{background:var(--_fg);opacity:.5;border-radius:2px;width:100px;height:4px;margin:8px auto 0}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
type?: "browser" | "phone" | "window";
|
|
3
|
+
/** address bar text (browser) or title (window) */
|
|
4
|
+
title?: string;
|
|
5
|
+
/** frame colour */
|
|
6
|
+
dark?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare var __VLS_1: {};
|
|
9
|
+
type __VLS_Slots = {} & {
|
|
10
|
+
default?: (props: typeof __VLS_1) => any;
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
13
|
+
title: string;
|
|
14
|
+
type: "browser" | "phone" | "window";
|
|
15
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|
|
19
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
20
|
+
new (): {
|
|
21
|
+
$slots: S;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Fragment as e, createCommentVNode as t, createElementBlock as n, createElementVNode as r, defineComponent as i, normalizeClass as a, openBlock as o, renderSlot as s, toDisplayString as c } from "vue";
|
|
2
|
+
//#region src/components/BlessMockup.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var l = {
|
|
4
|
+
class: "bless-mockup__chrome",
|
|
5
|
+
"aria-hidden": "true"
|
|
6
|
+
}, u = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "bless-mockup__title"
|
|
9
|
+
}, d = {
|
|
10
|
+
key: 1,
|
|
11
|
+
class: "bless-mockup__notch"
|
|
12
|
+
}, f = { class: "bless-mockup__screen" }, p = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "bless-mockup__home",
|
|
15
|
+
"aria-hidden": "true"
|
|
16
|
+
}, m = /*@__PURE__*/ i({
|
|
17
|
+
name: "BlessMockup",
|
|
18
|
+
__name: "BlessMockup",
|
|
19
|
+
props: {
|
|
20
|
+
type: { default: "browser" },
|
|
21
|
+
title: { default: "" },
|
|
22
|
+
dark: { type: Boolean }
|
|
23
|
+
},
|
|
24
|
+
setup(i) {
|
|
25
|
+
return (m, h) => (o(), n("div", { class: a(["bless-mockup", [`bless-mockup--${i.type}`, { "bless-mockup--dark": i.dark }]]) }, [
|
|
26
|
+
r("div", l, [i.type === "phone" ? (o(), n("span", d)) : (o(), n(e, { key: 0 }, [h[0] ||= r("span", { class: "bless-mockup__dots" }, [
|
|
27
|
+
r("i"),
|
|
28
|
+
r("i"),
|
|
29
|
+
r("i")
|
|
30
|
+
], -1), i.title ? (o(), n("span", u, c(i.title), 1)) : t("", !0)], 64))]),
|
|
31
|
+
r("div", f, [s(m.$slots, "default")]),
|
|
32
|
+
i.type === "phone" ? (o(), n("div", p)) : t("", !0)
|
|
33
|
+
], 2));
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
//#endregion
|
|
37
|
+
export { m as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.bless-modal{border-radius:var(--bless-radius);color:var(--bless-color-text);font-family:var(--bless-font-sans);background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;overflow:hidden}.bless-modal[open]{place-items:center;display:grid}.bless-modal::backdrop{background:var(--bless-color-backdrop)}.bless-modal__panel{box-sizing:border-box;width:min(100% - 2 * var(--bless-space-4), var(--_w,640px));max-height:calc(100dvh - 2 * var(--bless-space-4));background:var(--bless-color-bg);box-shadow:var(--bless-shadow-plate);animation:bless-modal-in var(--bless-duration-slow) var(--bless-ease-out);outline:0;position:relative;overflow:auto}.bless-modal--sm{--_w:400px}.bless-modal--lg{--_w:960px}.bless-modal--full .bless-modal__panel{width:100%;height:100%;max-height:none}.bless-modal__close{top:var(--bless-space-2);z-index:1;background:var(--bless-color-text);width:40px;height:40px;color:var(--bless-color-on-text);font-size:var(--bless-text-lg);cursor:pointer;transform:skewX(var(--bless-skew));transition:opacity var(--bless-duration-slow) var(--bless-ease-in-out), var(--bless-lean-transition);border:0;padding:0;line-height:1;position:absolute;inset-inline-end:var(--bless-space-2)}.bless-modal__close>span{transform:skewX(var(--bless-skew-counter));display:inline-block}.bless-modal__close:hover{opacity:var(--bless-hover-opacity)}.bless-modal__close:focus-visible{outline:2px solid var(--bless-color-accent);outline-offset:2px}.bless-modal__header{padding:var(--bless-space-6) var(--bless-space-16) 0 var(--bless-space-6)}.bless-modal__title{font-size:var(--bless-text-lg);font-weight:var(--bless-font-weight-bold);letter-spacing:var(--bless-tracking-wider);line-height:var(--bless-leading-none);text-transform:uppercase;color:var(--bless-color-text);border:0;margin:0}.bless-modal__body{padding:var(--bless-space-6)}.bless-modal__footer{padding:var(--bless-space-4) var(--bless-space-6);border-top:var(--bless-border-width) solid var(--bless-color-border);gap:var(--bless-space-2);justify-content:flex-end;display:flex}@keyframes bless-modal-in{0%{opacity:0;transform:translateY(var(--bless-space-3))}}@media (prefers-reduced-motion:reduce){.bless-modal__panel{animation:none}}
|