@scalar/components 0.20.11 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/components/ScalarButton/ScalarButton.vue.js +7 -0
- package/dist/components/ScalarButton/ScalarButton.vue.js.map +1 -0
- package/dist/components/ScalarButton/ScalarButton.vue.script.js +97 -0
- package/dist/components/ScalarButton/ScalarButton.vue.script.js.map +1 -0
- package/dist/components/ScalarButton/constants.js +17 -0
- package/dist/components/ScalarButton/constants.js.map +1 -0
- package/dist/components/ScalarButton/index.d.ts +1 -1
- package/dist/components/ScalarCard/ScalarCard.vue.js +7 -0
- package/dist/components/ScalarCard/ScalarCard.vue.js.map +1 -0
- package/dist/components/ScalarCard/ScalarCard.vue.script.js +27 -0
- package/dist/components/ScalarCard/ScalarCard.vue.script.js.map +1 -0
- package/dist/components/ScalarCard/ScalarCardFooter.vue.js +7 -0
- package/dist/components/ScalarCard/ScalarCardFooter.vue.js.map +1 -0
- package/dist/components/ScalarCard/ScalarCardFooter.vue.script.js +20 -0
- package/dist/components/ScalarCard/ScalarCardFooter.vue.script.js.map +1 -0
- package/dist/components/ScalarCard/ScalarCardHeader.vue.js +7 -0
- package/dist/components/ScalarCard/ScalarCardHeader.vue.js.map +1 -0
- package/dist/components/ScalarCard/ScalarCardHeader.vue.script.js +32 -0
- package/dist/components/ScalarCard/ScalarCardHeader.vue.script.js.map +1 -0
- package/dist/components/ScalarCard/ScalarCardSection.vue.js +7 -0
- package/dist/components/ScalarCard/ScalarCardSection.vue.js.map +1 -0
- package/dist/components/ScalarCard/ScalarCardSection.vue.script.js +16 -0
- package/dist/components/ScalarCard/ScalarCardSection.vue.script.js.map +1 -0
- package/dist/components/ScalarCard/index.d.ts +4 -4
- package/dist/components/ScalarCard/useCardHeading.js +29 -0
- package/dist/components/ScalarCard/useCardHeading.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckbox.vue.d.ts +8 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckbox.vue.d.ts.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckbox.vue.js +7 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckbox.vue.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckbox.vue.script.js +32 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckbox.vue.script.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxGroup.vue.js +7 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxGroup.vue.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxGroup.vue.script.js +41 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxGroup.vue.script.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxInput.vue.d.ts +8 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxInput.vue.d.ts.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxInput.vue.js +7 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxInput.vue.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxInput.vue.script.js +55 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxInput.vue.script.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxRadioGroup.vue.js +7 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxRadioGroup.vue.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxRadioGroup.vue.script.js +42 -0
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxRadioGroup.vue.script.js.map +1 -0
- package/dist/components/ScalarCheckboxInput/index.d.ts +4 -4
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.js +8 -0
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.js.map +1 -0
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.script.js +82 -0
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.script.js.map +1 -0
- package/dist/components/ScalarCodeBlock/ScalarCodeBlockCopy.vue.js +7 -0
- package/dist/components/ScalarCodeBlock/ScalarCodeBlockCopy.vue.js.map +1 -0
- package/dist/components/ScalarCodeBlock/ScalarCodeBlockCopy.vue.script.js +55 -0
- package/dist/components/ScalarCodeBlock/ScalarCodeBlockCopy.vue.script.js.map +1 -0
- package/dist/components/ScalarCodeBlock/constants.js +57 -0
- package/dist/components/ScalarCodeBlock/constants.js.map +1 -0
- package/dist/components/ScalarCodeBlock/index.d.ts +2 -2
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggle.vue.js +7 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggle.vue.js.map +1 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggle.vue.script.js +33 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggle.vue.script.js.map +1 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleButton.vue.js +7 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleButton.vue.js.map +1 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleButton.vue.script.js +32 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleButton.vue.script.js.map +1 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue.js +9 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue.js.map +1 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue.script.js +38 -0
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue.script.js.map +1 -0
- package/dist/components/ScalarColorModeToggle/index.d.ts +3 -3
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.d.ts +9 -1
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.js +7 -0
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.script.js +87 -0
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.script.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.d.ts +9 -1
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.js +7 -0
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.script.js +92 -0
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.script.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOption.vue.js +7 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOption.vue.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOption.vue.script.js +43 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOption.vue.script.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOptionGroup.vue.js +7 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOptionGroup.vue.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOptionGroup.vue.script.js +36 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOptionGroup.vue.script.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.d.ts +11 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.js +7 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.script.js +176 -0
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.script.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxPopover.vue.js +7 -0
- package/dist/components/ScalarCombobox/ScalarComboboxPopover.vue.js.map +1 -0
- package/dist/components/ScalarCombobox/ScalarComboboxPopover.vue.script.js +65 -0
- package/dist/components/ScalarCombobox/ScalarComboboxPopover.vue.script.js.map +1 -0
- package/dist/components/ScalarCombobox/filter-by-option-label.d.ts +3 -0
- package/dist/components/ScalarCombobox/filter-by-option-label.d.ts.map +1 -0
- package/dist/components/ScalarCombobox/filter-by-option-label.js +10 -0
- package/dist/components/ScalarCombobox/filter-by-option-label.js.map +1 -0
- package/dist/components/ScalarCombobox/index.d.ts +3 -3
- package/dist/components/ScalarCombobox/index.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/types.d.ts +15 -0
- package/dist/components/ScalarCombobox/types.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/types.js +14 -0
- package/dist/components/ScalarCombobox/types.js.map +1 -0
- package/dist/components/ScalarCopy/ScalarCopy.vue.js +7 -0
- package/dist/components/ScalarCopy/ScalarCopy.vue.js.map +1 -0
- package/dist/components/ScalarCopy/ScalarCopy.vue.script.js +64 -0
- package/dist/components/ScalarCopy/ScalarCopy.vue.script.js.map +1 -0
- package/dist/components/ScalarCopy/ScalarCopyBackdrop.vue.js +7 -0
- package/dist/components/ScalarCopy/ScalarCopyBackdrop.vue.js.map +1 -0
- package/dist/components/ScalarCopy/ScalarCopyBackdrop.vue.script.js +16 -0
- package/dist/components/ScalarCopy/ScalarCopyBackdrop.vue.script.js.map +1 -0
- package/dist/components/ScalarCopy/ScalarCopyButton.vue.js +7 -0
- package/dist/components/ScalarCopy/ScalarCopyButton.vue.js.map +1 -0
- package/dist/components/ScalarCopy/ScalarCopyButton.vue.script.js +88 -0
- package/dist/components/ScalarCopy/ScalarCopyButton.vue.script.js.map +1 -0
- package/dist/components/ScalarCopy/index.d.ts +3 -3
- package/dist/components/ScalarDropdown/ScalarDropdown.vue.js +7 -0
- package/dist/components/ScalarDropdown/ScalarDropdown.vue.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdown.vue.script.js +170 -0
- package/dist/components/ScalarDropdown/ScalarDropdown.vue.script.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue.js +9 -0
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue.script.js +49 -0
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue.script.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdownDivider.vue.js +13 -0
- package/dist/components/ScalarDropdown/ScalarDropdownDivider.vue.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdownDivider.vue.script.js +22 -0
- package/dist/components/ScalarDropdown/ScalarDropdownDivider.vue.script.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.js +9 -0
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.script.js +36 -0
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.script.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdownMenu.vue.js +7 -0
- package/dist/components/ScalarDropdown/ScalarDropdownMenu.vue.js.map +1 -0
- package/dist/components/ScalarDropdown/ScalarDropdownMenu.vue.script.js +24 -0
- package/dist/components/ScalarDropdown/ScalarDropdownMenu.vue.script.js.map +1 -0
- package/dist/components/ScalarDropdown/index.d.ts +5 -5
- package/dist/components/ScalarDropdown/useDropdown.js +20 -0
- package/dist/components/ScalarDropdown/useDropdown.js.map +1 -0
- package/dist/components/ScalarErrorBoundary/ScalarErrorBoundary.vue.js +7 -0
- package/dist/components/ScalarErrorBoundary/ScalarErrorBoundary.vue.js.map +1 -0
- package/dist/components/ScalarErrorBoundary/ScalarErrorBoundary.vue.script.js +30 -0
- package/dist/components/ScalarErrorBoundary/ScalarErrorBoundary.vue.script.js.map +1 -0
- package/dist/components/ScalarErrorBoundary/index.d.ts +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.d.ts +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.js +7 -0
- package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.script.js +116 -0
- package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.script.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadDropTarget.vue.js +7 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadDropTarget.vue.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadDropTarget.vue.script.js +20 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadDropTarget.vue.script.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadError.vue.js +7 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadError.vue.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadError.vue.script.js +17 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadError.vue.script.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadFileList.vue.js +7 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadFileList.vue.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadFileList.vue.script.js +53 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadFileList.vue.script.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInput.vue.d.ts +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadInput.vue.js +7 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInput.vue.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInput.vue.script.js +37 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInput.vue.script.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue.d.ts +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue.js +7 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue.script.js +28 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue.script.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadLoading.vue.js +7 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadLoading.vue.js.map +1 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadLoading.vue.script.js +21 -0
- package/dist/components/ScalarFileUpload/ScalarFileUploadLoading.vue.script.js.map +1 -0
- package/dist/components/ScalarFileUpload/index.d.ts +7 -7
- package/dist/components/ScalarFileUpload/types.js +11 -0
- package/dist/components/ScalarFileUpload/types.js.map +1 -0
- package/dist/components/ScalarFloating/ScalarFloating.vue.js +7 -0
- package/dist/components/ScalarFloating/ScalarFloating.vue.js.map +1 -0
- package/dist/components/ScalarFloating/ScalarFloating.vue.script.js +91 -0
- package/dist/components/ScalarFloating/ScalarFloating.vue.script.js.map +1 -0
- package/dist/components/ScalarFloating/ScalarFloatingBackdrop.vue.js +7 -0
- package/dist/components/ScalarFloating/ScalarFloatingBackdrop.vue.js.map +1 -0
- package/dist/components/ScalarFloating/ScalarFloatingBackdrop.vue.script.js +16 -0
- package/dist/components/ScalarFloating/ScalarFloatingBackdrop.vue.script.js.map +1 -0
- package/dist/components/ScalarFloating/index.d.ts +2 -2
- package/dist/components/ScalarFloating/useResizeWithTarget.js +28 -0
- package/dist/components/ScalarFloating/useResizeWithTarget.js.map +1 -0
- package/dist/components/ScalarForm/ScalarForm.vue.js +7 -0
- package/dist/components/ScalarForm/ScalarForm.vue.js.map +1 -0
- package/dist/components/ScalarForm/ScalarForm.vue.script.js +17 -0
- package/dist/components/ScalarForm/ScalarForm.vue.script.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormError.vue.js +7 -0
- package/dist/components/ScalarForm/ScalarFormError.vue.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormError.vue.script.js +36 -0
- package/dist/components/ScalarForm/ScalarFormError.vue.script.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormField.vue.js +7 -0
- package/dist/components/ScalarForm/ScalarFormField.vue.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormField.vue.script.js +32 -0
- package/dist/components/ScalarForm/ScalarFormField.vue.script.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormInput.vue.js +7 -0
- package/dist/components/ScalarForm/ScalarFormInput.vue.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormInput.vue.script.js +35 -0
- package/dist/components/ScalarForm/ScalarFormInput.vue.script.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormInputGroup.vue.js +7 -0
- package/dist/components/ScalarForm/ScalarFormInputGroup.vue.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormInputGroup.vue.script.js +22 -0
- package/dist/components/ScalarForm/ScalarFormInputGroup.vue.script.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormSection.vue.js +15 -0
- package/dist/components/ScalarForm/ScalarFormSection.vue.js.map +1 -0
- package/dist/components/ScalarForm/ScalarFormSection.vue.script.js +17 -0
- package/dist/components/ScalarForm/ScalarFormSection.vue.script.js.map +1 -0
- package/dist/components/ScalarForm/index.d.ts +6 -6
- package/dist/components/ScalarForm/useFormGroups.js +26 -0
- package/dist/components/ScalarForm/useFormGroups.js.map +1 -0
- package/dist/components/ScalarHeader/ScalarHeader.vue.js +7 -0
- package/dist/components/ScalarHeader/ScalarHeader.vue.js.map +1 -0
- package/dist/components/ScalarHeader/ScalarHeader.vue.script.js +23 -0
- package/dist/components/ScalarHeader/ScalarHeader.vue.script.js.map +1 -0
- package/dist/components/ScalarHeader/ScalarHeaderButton.vue.js +7 -0
- package/dist/components/ScalarHeader/ScalarHeaderButton.vue.js.map +1 -0
- package/dist/components/ScalarHeader/ScalarHeaderButton.vue.script.js +30 -0
- package/dist/components/ScalarHeader/ScalarHeaderButton.vue.script.js.map +1 -0
- package/dist/components/ScalarHeader/index.d.ts +2 -2
- package/dist/components/ScalarHotkey/ScalarHotkey.vue.js +7 -0
- package/dist/components/ScalarHotkey/ScalarHotkey.vue.js.map +1 -0
- package/dist/components/ScalarHotkey/ScalarHotkey.vue.script.js +30 -0
- package/dist/components/ScalarHotkey/ScalarHotkey.vue.script.js.map +1 -0
- package/dist/components/ScalarHotkey/constants.js +34 -0
- package/dist/components/ScalarHotkey/constants.js.map +1 -0
- package/dist/components/ScalarHotkey/formatHotkey.js +24 -0
- package/dist/components/ScalarHotkey/formatHotkey.js.map +1 -0
- package/dist/components/ScalarHotkey/index.d.ts +2 -2
- package/dist/components/ScalarIcon/ScalarIcon.vue.js +9 -0
- package/dist/components/ScalarIcon/ScalarIcon.vue.js.map +1 -0
- package/dist/components/ScalarIcon/ScalarIcon.vue.script.js +39 -0
- package/dist/components/ScalarIcon/ScalarIcon.vue.script.js.map +1 -0
- package/dist/components/ScalarIcon/ScalarIconLegacyAdapter.vue.d.ts +1 -1
- package/dist/components/ScalarIcon/ScalarIconLegacyAdapter.vue.js +7 -0
- package/dist/components/ScalarIcon/ScalarIconLegacyAdapter.vue.js.map +1 -0
- package/dist/components/ScalarIcon/ScalarIconLegacyAdapter.vue.script.js +33 -0
- package/dist/components/ScalarIcon/ScalarIconLegacyAdapter.vue.script.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Add.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Add.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/AddTab.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/AddTab.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Alert.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Alert.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/ArrowLeft.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/ArrowLeft.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/ArrowRight.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/ArrowRight.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Brackets.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Brackets.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Branch.svg.virtual.js +40 -0
- package/dist/components/ScalarIcon/icons/Branch.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Changelog.svg.virtual.js +27 -0
- package/dist/components/ScalarIcon/icons/Changelog.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Checkmark.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Checkmark.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/ChevronDown.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/ChevronDown.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/ChevronLeft.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/ChevronLeft.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/ChevronRight.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/ChevronRight.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/ChevronUp.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/ChevronUp.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Clipboard.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Clipboard.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Close.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Close.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/CloseTab.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/CloseTab.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/CloseTabs.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/CloseTabs.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Cloud.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Cloud.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/CodeFolder.svg.virtual.js +31 -0
- package/dist/components/ScalarIcon/icons/CodeFolder.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Cog.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Cog.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Collection.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Collection.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Cookie.svg.virtual.js +28 -0
- package/dist/components/ScalarIcon/icons/Cookie.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/DarkMode.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/DarkMode.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Delete.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Delete.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Discord.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Discord.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/DocsPage.svg.virtual.js +31 -0
- package/dist/components/ScalarIcon/icons/DocsPage.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Download.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Download.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Duplicate.svg.virtual.js +30 -0
- package/dist/components/ScalarIcon/icons/Duplicate.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Edit.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Edit.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Ellipses.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Ellipses.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Email.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Email.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Error.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Error.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Example.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Example.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/ExternalLink.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/ExternalLink.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/FilterList.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/FilterList.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Folder.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Folder.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/GitHub.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/GitHub.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/GitHubLine.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/GitHubLine.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Globe.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Globe.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Google.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/Google.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Help.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Help.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Hide.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Hide.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/History.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/History.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/House.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/House.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Import.svg.virtual.js +27 -0
- package/dist/components/ScalarIcon/icons/Import.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Info.svg.virtual.js +39 -0
- package/dist/components/ScalarIcon/icons/Info.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Key.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Key.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Leave.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Leave.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/LightDarkModeToggle.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/LightDarkModeToggle.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/LightMode.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/LightMode.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Link.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Link.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Lock.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Lock.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Logo.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Logo.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Magic.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Magic.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Markdown.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Markdown.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Menu.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Menu.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/NotAllowed.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/NotAllowed.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Page.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Page.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Pencil.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Pencil.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Play.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Play.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Refresh.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Refresh.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Roadmap.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Roadmap.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Scribble.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Scribble.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Search.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Search.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Server.svg.virtual.js +37 -0
- package/dist/components/ScalarIcon/icons/Server.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Settings.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Settings.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Show.svg.virtual.js +30 -0
- package/dist/components/ScalarIcon/icons/Show.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Sort.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Sort.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Terminal.svg.virtual.js +31 -0
- package/dist/components/ScalarIcon/icons/Terminal.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Trash.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Trash.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Unlock.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Unlock.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Unwatch.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Unwatch.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Upload.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Upload.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/User.svg.virtual.js +27 -0
- package/dist/components/ScalarIcon/icons/User.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/UserSwitch.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/UserSwitch.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Users.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Users.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Versions.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Versions.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Wallet.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Wallet.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Watch.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/Watch.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/Workspace.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/Workspace.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-framework-angular.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-framework-angular.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-framework-astro.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-framework-astro.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-framework-laravel.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/programming-framework-laravel.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-framework-nextdotjs.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-framework-nextdotjs.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-framework-react.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-framework-react.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-framework-vuedotjs.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-framework-vuedotjs.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-c.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-c.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-clojure.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-clojure.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-csharp.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-csharp.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-css3.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-css3.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-dart.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-dart.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-fsharp.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-fsharp.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-go.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-go.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-html5.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-html5.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-http.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-http.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-java.svg.virtual.js +24 -0
- package/dist/components/ScalarIcon/icons/programming-language-java.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-javascript.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-javascript.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-json.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-json.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-kotlin.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-kotlin.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-node.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-node.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-objc.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-objc.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-ocaml.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-ocaml.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-php.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-php.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-powershell.svg.virtual.js +24 -0
- package/dist/components/ScalarIcon/icons/programming-language-powershell.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-python.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-python.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-r.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/programming-language-r.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-ruby.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-ruby.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-rust.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/icons/programming-language-rust.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-scala.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-scala.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-shell.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-shell.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-swift.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-swift.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-typescript.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-language-typescript.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-script-code.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/icons/programming-script-code.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-tool-git.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-tool-git.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-tool-tailwindcss.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/icons/programming-tool-tailwindcss.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/index.d.ts +3 -3
- package/dist/components/ScalarIcon/logos/Adonisjs.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/logos/Adonisjs.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Astro.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/logos/Astro.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Docusaurus.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/logos/Docusaurus.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Dotnet.svg.virtual.js +26 -0
- package/dist/components/ScalarIcon/logos/Dotnet.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Elysiajs.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/logos/Elysiajs.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Express.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/logos/Express.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Fastapi.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/logos/Fastapi.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Fastify.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/logos/Fastify.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Go.svg.virtual.js +26 -0
- package/dist/components/ScalarIcon/logos/Go.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Hono.svg.virtual.js +27 -0
- package/dist/components/ScalarIcon/logos/Hono.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Laravel.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/logos/Laravel.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Litestar.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/logos/Litestar.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Nestjs.svg.virtual.js +25 -0
- package/dist/components/ScalarIcon/logos/Nestjs.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Nextjs.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/logos/Nextjs.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Nitro.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/logos/Nitro.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Nuxt.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/logos/Nuxt.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Openapi.svg.virtual.js +20 -0
- package/dist/components/ScalarIcon/logos/Openapi.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Platformatic.svg.virtual.js +31 -0
- package/dist/components/ScalarIcon/logos/Platformatic.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/React.svg.virtual.js +40 -0
- package/dist/components/ScalarIcon/logos/React.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Rust.svg.virtual.js +23 -0
- package/dist/components/ScalarIcon/logos/Rust.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Svelte.svg.virtual.js +26 -0
- package/dist/components/ScalarIcon/logos/Svelte.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/logos/Vue.svg.virtual.js +26 -0
- package/dist/components/ScalarIcon/logos/Vue.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/types.d.ts +2 -2
- package/dist/components/ScalarIcon/utils/index.js +309 -0
- package/dist/components/ScalarIcon/utils/index.js.map +1 -0
- package/dist/components/ScalarIcon/variants.js +22 -0
- package/dist/components/ScalarIcon/variants.js.map +1 -0
- package/dist/components/ScalarIconButton/ScalarIconButton.vue.js +7 -0
- package/dist/components/ScalarIconButton/ScalarIconButton.vue.js.map +1 -0
- package/dist/components/ScalarIconButton/ScalarIconButton.vue.script.js +81 -0
- package/dist/components/ScalarIconButton/ScalarIconButton.vue.script.js.map +1 -0
- package/dist/components/ScalarIconButton/index.d.ts +1 -1
- package/dist/components/ScalarListbox/ScalarListbox.vue.js +7 -0
- package/dist/components/ScalarListbox/ScalarListbox.vue.js.map +1 -0
- package/dist/components/ScalarListbox/ScalarListbox.vue.script.js +75 -0
- package/dist/components/ScalarListbox/ScalarListbox.vue.script.js.map +1 -0
- package/dist/components/ScalarListbox/ScalarListboxCheckbox.vue.js +7 -0
- package/dist/components/ScalarListbox/ScalarListboxCheckbox.vue.js.map +1 -0
- package/dist/components/ScalarListbox/ScalarListboxCheckbox.vue.script.js +23 -0
- package/dist/components/ScalarListbox/ScalarListboxCheckbox.vue.script.js.map +1 -0
- package/dist/components/ScalarListbox/ScalarListboxInput.vue.js +7 -0
- package/dist/components/ScalarListbox/ScalarListboxInput.vue.js.map +1 -0
- package/dist/components/ScalarListbox/ScalarListboxInput.vue.script.js +21 -0
- package/dist/components/ScalarListbox/ScalarListboxInput.vue.script.js.map +1 -0
- package/dist/components/ScalarListbox/ScalarListboxItem.vue.js +7 -0
- package/dist/components/ScalarListbox/ScalarListboxItem.vue.js.map +1 -0
- package/dist/components/ScalarListbox/ScalarListboxItem.vue.script.js +48 -0
- package/dist/components/ScalarListbox/ScalarListboxItem.vue.script.js.map +1 -0
- package/dist/components/ScalarListbox/index.d.ts +4 -4
- package/dist/components/ScalarLoading/ScalarLoading.vue.js +9 -0
- package/dist/components/ScalarLoading/ScalarLoading.vue.js.map +1 -0
- package/dist/components/ScalarLoading/ScalarLoading.vue.script.js +50 -0
- package/dist/components/ScalarLoading/ScalarLoading.vue.script.js.map +1 -0
- package/dist/components/ScalarLoading/index.d.ts +2 -2
- package/dist/components/ScalarLoading/useLoadingState.js +55 -0
- package/dist/components/ScalarLoading/useLoadingState.js.map +1 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue.js +8 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue.js.map +1 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue.script.js +54 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue.script.js.map +1 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdownSummary.vue.js +8 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdownSummary.vue.js.map +1 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdownSummary.vue.script.js +68 -0
- package/dist/components/ScalarMarkdown/ScalarMarkdownSummary.vue.script.js.map +1 -0
- package/dist/components/ScalarMarkdown/index.d.ts +2 -2
- package/dist/components/ScalarMenu/ScalarMenu.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenu.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenu.vue.script.js +58 -0
- package/dist/components/ScalarMenu/ScalarMenu.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuButton.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuButton.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuButton.vue.script.js +30 -0
- package/dist/components/ScalarMenu/ScalarMenuButton.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuLink.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuLink.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuLink.vue.script.js +46 -0
- package/dist/components/ScalarMenu/ScalarMenuLink.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuProduct.vue.d.ts +1 -1
- package/dist/components/ScalarMenu/ScalarMenuProduct.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuProduct.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuProduct.vue.script.js +38 -0
- package/dist/components/ScalarMenu/ScalarMenuProduct.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuProducts.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuProducts.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuProducts.vue.script.js +79 -0
- package/dist/components/ScalarMenu/ScalarMenuProducts.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuResources.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuResources.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuResources.vue.script.js +46 -0
- package/dist/components/ScalarMenu/ScalarMenuResources.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuSection.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuSection.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuSection.vue.script.js +16 -0
- package/dist/components/ScalarMenu/ScalarMenuSection.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuSupport.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuSupport.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuSupport.vue.script.js +35 -0
- package/dist/components/ScalarMenu/ScalarMenuSupport.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.d.ts +1 -1
- package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.script.js +90 -0
- package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuTeamProfile.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuTeamProfile.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuTeamProfile.vue.script.js +41 -0
- package/dist/components/ScalarMenu/ScalarMenuTeamProfile.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuWorkspacePicker.vue.js +7 -0
- package/dist/components/ScalarMenu/ScalarMenuWorkspacePicker.vue.js.map +1 -0
- package/dist/components/ScalarMenu/ScalarMenuWorkspacePicker.vue.script.js +96 -0
- package/dist/components/ScalarMenu/ScalarMenuWorkspacePicker.vue.script.js.map +1 -0
- package/dist/components/ScalarMenu/index.d.ts +11 -11
- package/dist/components/ScalarMenu/types.d.ts +1 -1
- package/dist/components/ScalarModal/ScalarModal.vue.js +9 -0
- package/dist/components/ScalarModal/ScalarModal.vue.js.map +1 -0
- package/dist/components/ScalarModal/ScalarModal.vue.script.js +120 -0
- package/dist/components/ScalarModal/ScalarModal.vue.script.js.map +1 -0
- package/dist/components/ScalarModal/index.d.ts +1 -1
- package/dist/components/ScalarPopover/ScalarPopover.vue.js +7 -0
- package/dist/components/ScalarPopover/ScalarPopover.vue.js.map +1 -0
- package/dist/components/ScalarPopover/ScalarPopover.vue.script.js +55 -0
- package/dist/components/ScalarPopover/ScalarPopover.vue.script.js.map +1 -0
- package/dist/components/ScalarPopover/index.d.ts +1 -1
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.js +7 -0
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.js.map +1 -0
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.script.js +65 -0
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.script.js.map +1 -0
- package/dist/components/ScalarSearchInput/index.d.ts +1 -1
- package/dist/components/ScalarSearchResults/ScalarSearchResultItem.vue.js +7 -0
- package/dist/components/ScalarSearchResults/ScalarSearchResultItem.vue.js.map +1 -0
- package/dist/components/ScalarSearchResults/ScalarSearchResultItem.vue.script.js +46 -0
- package/dist/components/ScalarSearchResults/ScalarSearchResultItem.vue.script.js.map +1 -0
- package/dist/components/ScalarSearchResults/ScalarSearchResultList.vue.js +7 -0
- package/dist/components/ScalarSearchResults/ScalarSearchResultList.vue.js.map +1 -0
- package/dist/components/ScalarSearchResults/ScalarSearchResultList.vue.script.js +21 -0
- package/dist/components/ScalarSearchResults/ScalarSearchResultList.vue.script.js.map +1 -0
- package/dist/components/ScalarSearchResults/index.d.ts +2 -2
- package/dist/components/ScalarSidebar/ScalarSidebar.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebar.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebar.vue.script.js +16 -0
- package/dist/components/ScalarSidebar/ScalarSidebar.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.script.js +83 -0
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarFooter.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarFooter.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarFooter.vue.script.js +24 -0
- package/dist/components/ScalarSidebar/ScalarSidebarFooter.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.script.js +115 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggle.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggle.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggle.vue.script.js +43 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggle.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.d.ts +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.js +9 -0
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.script.js +38 -0
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItem.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItem.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItem.vue.script.js +48 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItem.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue.js +8 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue.script.js +22 -0
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarNestedItems.vue.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarNestedItems.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarNestedItems.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarNestedItems.vue.script.js +126 -0
- package/dist/components/ScalarSidebar/ScalarSidebarNestedItems.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.script.js +30 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.script.js +66 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSection.vue.js +8 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSection.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSection.vue.script.js +53 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSection.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.d.ts +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.script.js +18 -0
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/findScrollContainer.js +29 -0
- package/dist/components/ScalarSidebar/findScrollContainer.js.map +1 -0
- package/dist/components/ScalarSidebar/index.d.ts +13 -13
- package/dist/components/ScalarSidebar/types.d.ts +1 -1
- package/dist/components/ScalarSidebar/useSidebarGroups.js +26 -0
- package/dist/components/ScalarSidebar/useSidebarGroups.js.map +1 -0
- package/dist/components/ScalarSidebar/useSidebarNestedItems.js +31 -0
- package/dist/components/ScalarSidebar/useSidebarNestedItems.js.map +1 -0
- package/dist/components/ScalarTeleport/ScalarTeleport.vue.js +7 -0
- package/dist/components/ScalarTeleport/ScalarTeleport.vue.js.map +1 -0
- package/dist/components/ScalarTeleport/ScalarTeleport.vue.script.js +32 -0
- package/dist/components/ScalarTeleport/ScalarTeleport.vue.script.js.map +1 -0
- package/dist/components/ScalarTeleport/ScalarTeleportRoot.vue.js +7 -0
- package/dist/components/ScalarTeleport/ScalarTeleportRoot.vue.js.map +1 -0
- package/dist/components/ScalarTeleport/ScalarTeleportRoot.vue.script.js +22 -0
- package/dist/components/ScalarTeleport/ScalarTeleportRoot.vue.script.js.map +1 -0
- package/dist/components/ScalarTeleport/index.d.ts +3 -3
- package/dist/components/ScalarTeleport/useTeleport.js +29 -0
- package/dist/components/ScalarTeleport/useTeleport.js.map +1 -0
- package/dist/components/ScalarTextArea/ScalarTextArea.vue.js +7 -0
- package/dist/components/ScalarTextArea/ScalarTextArea.vue.js.map +1 -0
- package/dist/components/ScalarTextArea/ScalarTextArea.vue.script.js +38 -0
- package/dist/components/ScalarTextArea/ScalarTextArea.vue.script.js.map +1 -0
- package/dist/components/ScalarTextArea/index.d.ts +1 -1
- package/dist/components/ScalarTextInput/ScalarTextInput.vue.js +7 -0
- package/dist/components/ScalarTextInput/ScalarTextInput.vue.js.map +1 -0
- package/dist/components/ScalarTextInput/ScalarTextInput.vue.script.js +71 -0
- package/dist/components/ScalarTextInput/ScalarTextInput.vue.script.js.map +1 -0
- package/dist/components/ScalarTextInput/ScalarTextInputCopy.vue.js +7 -0
- package/dist/components/ScalarTextInput/ScalarTextInputCopy.vue.js.map +1 -0
- package/dist/components/ScalarTextInput/ScalarTextInputCopy.vue.script.js +66 -0
- package/dist/components/ScalarTextInput/ScalarTextInputCopy.vue.script.js.map +1 -0
- package/dist/components/ScalarTextInput/index.d.ts +2 -2
- package/dist/components/ScalarThemeSwatches/ScalarThemeSwatches.vue.js +7 -0
- package/dist/components/ScalarThemeSwatches/ScalarThemeSwatches.vue.js.map +1 -0
- package/dist/components/ScalarThemeSwatches/ScalarThemeSwatches.vue.script.js +31 -0
- package/dist/components/ScalarThemeSwatches/ScalarThemeSwatches.vue.script.js.map +1 -0
- package/dist/components/ScalarThemeSwatches/index.d.ts +2 -2
- package/dist/components/ScalarThemeSwatches/useThemeSwatches.js +44 -0
- package/dist/components/ScalarThemeSwatches/useThemeSwatches.js.map +1 -0
- package/dist/components/ScalarToggle/ScalarToggle.vue.js +7 -0
- package/dist/components/ScalarToggle/ScalarToggle.vue.js.map +1 -0
- package/dist/components/ScalarToggle/ScalarToggle.vue.script.js +54 -0
- package/dist/components/ScalarToggle/ScalarToggle.vue.script.js.map +1 -0
- package/dist/components/ScalarToggle/ScalarToggleGroup.vue.js +7 -0
- package/dist/components/ScalarToggle/ScalarToggleGroup.vue.js.map +1 -0
- package/dist/components/ScalarToggle/ScalarToggleGroup.vue.script.js +33 -0
- package/dist/components/ScalarToggle/ScalarToggleGroup.vue.script.js.map +1 -0
- package/dist/components/ScalarToggle/ScalarToggleInput.vue.js +7 -0
- package/dist/components/ScalarToggle/ScalarToggleInput.vue.js.map +1 -0
- package/dist/components/ScalarToggle/ScalarToggleInput.vue.script.js +33 -0
- package/dist/components/ScalarToggle/ScalarToggleInput.vue.script.js.map +1 -0
- package/dist/components/ScalarToggle/index.d.ts +3 -3
- package/dist/components/ScalarTooltip/ScalarHotkeyTooltip.vue.js +7 -0
- package/dist/components/ScalarTooltip/ScalarHotkeyTooltip.vue.js.map +1 -0
- package/dist/components/ScalarTooltip/ScalarHotkeyTooltip.vue.script.js +51 -0
- package/dist/components/ScalarTooltip/ScalarHotkeyTooltip.vue.script.js.map +1 -0
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.js +8 -0
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.js.map +1 -0
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.script.js +32 -0
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.script.js.map +1 -0
- package/dist/components/ScalarTooltip/constants.js +9 -0
- package/dist/components/ScalarTooltip/constants.js.map +1 -0
- package/dist/components/ScalarTooltip/index.d.ts +3 -3
- package/dist/components/ScalarTooltip/useTooltip.js +167 -0
- package/dist/components/ScalarTooltip/useTooltip.js.map +1 -0
- package/dist/components/ScalarVirtualText/ScalarVirtualText.vue.js +7 -0
- package/dist/components/ScalarVirtualText/ScalarVirtualText.vue.js.map +1 -0
- package/dist/components/ScalarVirtualText/ScalarVirtualText.vue.script.js +84 -0
- package/dist/components/ScalarVirtualText/ScalarVirtualText.vue.script.js.map +1 -0
- package/dist/components/ScalarVirtualText/index.d.ts +1 -1
- package/dist/components/ScalarWrappingText/ScalarWrappingText.vue.js +7 -0
- package/dist/components/ScalarWrappingText/ScalarWrappingText.vue.js.map +1 -0
- package/dist/components/ScalarWrappingText/ScalarWrappingText.vue.script.js +32 -0
- package/dist/components/ScalarWrappingText/ScalarWrappingText.vue.script.js.map +1 -0
- package/dist/components/ScalarWrappingText/constants.js +12 -0
- package/dist/components/ScalarWrappingText/constants.js.map +1 -0
- package/dist/components/ScalarWrappingText/index.d.ts +1 -1
- package/dist/components/ScalarWrappingText/types.d.ts +1 -1
- package/dist/helpers/add-scalar-classes.js +33 -0
- package/dist/helpers/add-scalar-classes.js.map +1 -0
- package/dist/helpers/index.d.ts +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +106 -7816
- package/dist/index.js.map +1 -1
- package/dist/style.css +3185 -3193
- package/package.json +5 -5
- package/dist/components/ScalarContextMenu/ScalarContextMenu.vue.d.ts +0 -27
- package/dist/components/ScalarContextMenu/ScalarContextMenu.vue.d.ts.map +0 -1
- package/dist/components/ScalarContextMenu/index.d.ts +0 -2
- package/dist/components/ScalarContextMenu/index.d.ts.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import ScalarCopyBackdrop_default from "./ScalarCopyBackdrop.vue.js";
|
|
2
|
+
import { useBindCx } from "@scalar/use-hooks/useBindCx";
|
|
3
|
+
import { Transition, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, unref, useModel, withCtx } from "vue";
|
|
4
|
+
import { ScalarIconCheck, ScalarIconCopy } from "@scalar/icons";
|
|
5
|
+
//#region src/components/ScalarCopy/ScalarCopyButton.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var _hoisted_1 = {
|
|
7
|
+
"aria-hidden": "true",
|
|
8
|
+
class: "flex items-center py-1.5 mask-y-from-[calc(100%-8px)] mask-y-to-100%"
|
|
9
|
+
};
|
|
10
|
+
var _hoisted_2 = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "whitespace-nowrap px-1.5"
|
|
13
|
+
};
|
|
14
|
+
var _hoisted_3 = {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "sr-only",
|
|
17
|
+
role: "alert"
|
|
18
|
+
};
|
|
19
|
+
var _hoisted_4 = {
|
|
20
|
+
key: 1,
|
|
21
|
+
class: "sr-only"
|
|
22
|
+
};
|
|
23
|
+
var ScalarCopyButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
24
|
+
inheritAttrs: false,
|
|
25
|
+
__name: "ScalarCopyButton",
|
|
26
|
+
props: /* @__PURE__ */ mergeModels({
|
|
27
|
+
showLabel: { type: Boolean },
|
|
28
|
+
placement: { default: "right" }
|
|
29
|
+
}, {
|
|
30
|
+
"copied": {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: false
|
|
33
|
+
},
|
|
34
|
+
"copiedModifiers": {}
|
|
35
|
+
}),
|
|
36
|
+
emits: ["update:copied"],
|
|
37
|
+
setup(__props) {
|
|
38
|
+
/** Whether the copy button has been clicked */
|
|
39
|
+
const copied = useModel(__props, "copied");
|
|
40
|
+
const { cx } = useBindCx();
|
|
41
|
+
const icon = computed(() => {
|
|
42
|
+
return copied.value ? ScalarIconCheck : ScalarIconCopy;
|
|
43
|
+
});
|
|
44
|
+
return (_ctx, _cache) => {
|
|
45
|
+
return openBlock(), createElementBlock("button", mergeProps({ type: "button" }, unref(cx)("group/copy-button relative z-0 flex items-center justify-center", "size-6 p-1.25 -m-1 rounded text-xs bg-b-2", copied.value ? "text-c-1" : "text-c-2 hover:text-c-1")), [
|
|
46
|
+
createVNode(Transition, {
|
|
47
|
+
enterActiveClass: "transition-transform",
|
|
48
|
+
enterFromClass: "scale-0",
|
|
49
|
+
enterToClass: "scale-100",
|
|
50
|
+
leaveActiveClass: "transition-transform",
|
|
51
|
+
leaveFromClass: "scale-100",
|
|
52
|
+
leaveToClass: "scale-0",
|
|
53
|
+
mode: "out-in"
|
|
54
|
+
}, {
|
|
55
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(icon.value), { class: "size-full" }))]),
|
|
56
|
+
_: 1
|
|
57
|
+
}),
|
|
58
|
+
_cache[4] || (_cache[4] = createElementVNode("div", { class: "bg-inherit rounded-[inherit] absolute inset-0 -z-1" }, null, -1)),
|
|
59
|
+
createElementVNode("div", { class: normalizeClass(["group/copy-label absolute flex items-center -inset-y-0.5 rounded", {
|
|
60
|
+
"left-0 pl-[100%]": __props.placement === "right",
|
|
61
|
+
"right-0 pr-[100%]": __props.placement === "left"
|
|
62
|
+
}]) }, [
|
|
63
|
+
createElementVNode("div", _hoisted_1, [createVNode(Transition, {
|
|
64
|
+
enterActiveClass: "transition-transform ease-out",
|
|
65
|
+
enterFromClass: "translate-y-1.5",
|
|
66
|
+
enterToClass: "translate-y-0",
|
|
67
|
+
leaveActiveClass: "transition-transform ease-in",
|
|
68
|
+
leaveFromClass: "translate-y-0",
|
|
69
|
+
leaveToClass: "-translate-y-1.5",
|
|
70
|
+
mode: "out-in"
|
|
71
|
+
}, {
|
|
72
|
+
default: withCtx(() => [copied.value ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "copied", {}, () => [_cache[0] || (_cache[0] = createTextVNode("Copied", -1))])])) : (openBlock(), createElementBlock("div", {
|
|
73
|
+
key: 1,
|
|
74
|
+
class: normalizeClass(["whitespace-nowrap px-1.5", { "group-hocus/copy-button:block hidden": !__props.showLabel && !copied.value }])
|
|
75
|
+
}, [renderSlot(_ctx.$slots, "copy", {}, () => [_cache[1] || (_cache[1] = createTextVNode("Copy", -1))])], 2))]),
|
|
76
|
+
_: 3
|
|
77
|
+
})]),
|
|
78
|
+
copied.value ? (openBlock(), createElementBlock("div", _hoisted_3, [renderSlot(_ctx.$slots, "copied", {}, () => [_cache[2] || (_cache[2] = createTextVNode("Copied", -1))])])) : (openBlock(), createElementBlock("div", _hoisted_4, [renderSlot(_ctx.$slots, "copy", {}, () => [_cache[3] || (_cache[3] = createTextVNode("Copy", -1))])])),
|
|
79
|
+
renderSlot(_ctx.$slots, "backdrop", {}, () => [createVNode(ScalarCopyBackdrop_default)])
|
|
80
|
+
], 2)
|
|
81
|
+
], 16);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
//#endregion
|
|
86
|
+
export { ScalarCopyButton_vue_vue_type_script_setup_true_lang_default as default };
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=ScalarCopyButton.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarCopyButton.vue.script.js","names":[],"sources":["../../../src/components/ScalarCopy/ScalarCopyButton.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Copy Button component\n *\n * A dumb button with copy animations.\n *\n * If you're looking for a button that copies content to the clipboard,\n * use the ScalarCopy component instead.\n *\n * @example\n * <ScalarCopyButton @click=\"handleCopy\">\n * <template #copy>Button label</template>\n * <template #copied>Copied label</template>\n * </ScalarCopyButton>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { ScalarIconCheck, ScalarIconCopy } from '@scalar/icons'\nimport type { ScalarIconComponent } from '@scalar/icons/types'\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { computed } from 'vue'\n\nimport ScalarCopyBackdrop from './ScalarCopyBackdrop.vue'\nimport type { ScalarCopyPlacement, ScalarCopySlots } from './types'\n\nconst { placement = 'right' } = defineProps<{\n /** Whether the label should be shown on hover or always */\n showLabel?: boolean\n /** The placement of the copy button */\n placement?: ScalarCopyPlacement\n}>()\n\ndefineSlots<ScalarCopySlots>()\n\n/** Whether the copy button has been clicked */\nconst copied = defineModel<boolean>('copied', { default: false })\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n\nconst icon = computed<ScalarIconComponent>(() => {\n return copied.value ? ScalarIconCheck : ScalarIconCopy\n})\n</script>\n<template>\n <button\n type=\"button\"\n v-bind=\"\n cx(\n 'group/copy-button relative z-0 flex items-center justify-center',\n 'size-6 p-1.25 -m-1 rounded text-xs bg-b-2',\n copied ? 'text-c-1' : 'text-c-2 hover:text-c-1',\n )\n \">\n <Transition\n enterActiveClass=\"transition-transform\"\n enterFromClass=\"scale-0\"\n enterToClass=\"scale-100\"\n leaveActiveClass=\"transition-transform\"\n leaveFromClass=\"scale-100\"\n leaveToClass=\"scale-0\"\n mode=\"out-in\">\n <component\n :is=\"icon\"\n class=\"size-full\" />\n </Transition>\n <div class=\"bg-inherit rounded-[inherit] absolute inset-0 -z-1\" />\n <div\n class=\"group/copy-label absolute flex items-center -inset-y-0.5 rounded\"\n :class=\"{\n 'left-0 pl-[100%]': placement === 'right',\n 'right-0 pr-[100%]': placement === 'left',\n }\">\n <div\n aria-hidden=\"true\"\n class=\"flex items-center py-1.5 mask-y-from-[calc(100%-8px)] mask-y-to-100%\">\n <Transition\n enterActiveClass=\"transition-transform ease-out\"\n enterFromClass=\"translate-y-1.5\"\n enterToClass=\"translate-y-0\"\n leaveActiveClass=\"transition-transform ease-in\"\n leaveFromClass=\"translate-y-0\"\n leaveToClass=\"-translate-y-1.5\"\n mode=\"out-in\">\n <div\n v-if=\"copied\"\n class=\"whitespace-nowrap px-1.5\">\n <slot name=\"copied\">Copied</slot>\n </div>\n <div\n v-else\n class=\"whitespace-nowrap px-1.5\"\n :class=\"{\n 'group-hocus/copy-button:block hidden': !showLabel && !copied,\n }\">\n <slot name=\"copy\">Copy</slot>\n </div>\n </Transition>\n </div>\n <div\n v-if=\"copied\"\n class=\"sr-only\"\n role=\"alert\">\n <slot name=\"copied\">Copied</slot>\n </div>\n <div\n v-else\n class=\"sr-only\">\n <slot name=\"copy\">Copy</slot>\n </div>\n <slot name=\"backdrop\">\n <ScalarCopyBackdrop />\n </slot>\n </div>\n </button>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCA,MAAM,SAAS,SAAoB,SAAC,SAA4B;EAGhE,MAAM,EAAE,OAAO,WAAU;EAEzB,MAAM,OAAO,eAAoC;AAC/C,UAAO,OAAO,QAAQ,kBAAkB;IACzC;;uBAGC,mBAqES,UArET,WAqES,EApEP,MAAK,UAAQ,EACE,MAAA,GAAE,CAAA,mEAAA,6CAA0I,OAAA,QAAM,aAAA,0BAAA,CAAA,EAAA;IAOjK,YAWa,YAAA;KAVX,kBAAiB;KACjB,gBAAe;KACf,cAAa;KACb,kBAAiB;KACjB,gBAAe;KACf,cAAa;KACb,MAAK;;4BAGiB,EAAA,WAAA,EAFtB,YAEsB,wBADf,KAAA,MAAI,EAAA,EACT,OAAM,aAAW,CAAA,EAAA,CAAA;;;8BAErB,mBAAkE,OAAA,EAA7D,OAAM,sDAAoD,EAAA,MAAA,GAAA;IAC/D,mBA8CM,OAAA,EA7CJ,OAAK,eAAA,CAAC,oEAAkE;yBAClC,QAAA,cAAS;0BAA2C,QAAA,cAAS;;KAInG,mBAyBM,OAzBN,YAyBM,CAtBJ,YAqBa,YAAA;MApBX,kBAAiB;MACjB,gBAAe;MACf,cAAa;MACb,kBAAiB;MACjB,gBAAe;MACf,cAAa;MACb,MAAK;;6BAKC,CAHE,OAAA,SAAA,WAAA,EADR,mBAIM,OAJN,YAIM,CADJ,WAAiC,KAAA,QAAA,UAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAAA,gBAAb,UAAM,GAAA,EAAA,CAAA,CAAA,CAAA,KAAA,WAAA,EAE5B,mBAOM,OAAA;;OALJ,OAAK,eAAA,CAAC,4BAA0B,EAAA,wCAAA,CACiC,QAAA,aAAS,CAAK,OAAA,OAAA,CAAA,CAAA;UAG/E,WAA6B,KAAA,QAAA,QAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAAA,gBAAX,QAAI,GAAA,EAAA,CAAA,CAAA,EAAA,EAAA,EAAA,CAAA;;;KAKpB,OAAA,SAAA,WAAA,EADR,mBAKM,OALN,YAKM,CADJ,WAAiC,KAAA,QAAA,UAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAAA,gBAAb,UAAM,GAAA,EAAA,CAAA,CAAA,CAAA,KAAA,WAAA,EAE5B,mBAIM,OAJN,YAIM,CADJ,WAA6B,KAAA,QAAA,QAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAAA,gBAAX,QAAI,GAAA,EAAA,CAAA,CAAA,CAAA;KAExB,WAEO,KAAA,QAAA,YAAA,EAAA,QAAA,CADL,YAAsB,2BAAA,CAAA,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { default as ScalarCopy } from './ScalarCopy.vue';
|
|
2
|
-
export { default as ScalarCopyBackdrop } from './ScalarCopyBackdrop.vue';
|
|
3
|
-
export { default as ScalarCopyButton } from './ScalarCopyButton.vue';
|
|
1
|
+
export { default as ScalarCopy } from './ScalarCopy.vue.js';
|
|
2
|
+
export { default as ScalarCopyBackdrop } from './ScalarCopyBackdrop.vue.js';
|
|
3
|
+
export { default as ScalarCopyButton } from './ScalarCopyButton.vue.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import ScalarDropdown_vue_vue_type_script_setup_true_lang_default from "./ScalarDropdown.vue.script.js";
|
|
2
|
+
//#region src/components/ScalarDropdown/ScalarDropdown.vue
|
|
3
|
+
var ScalarDropdown_default = ScalarDropdown_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { ScalarDropdown_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=ScalarDropdown.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdown.vue.js","names":[],"sources":["../../../src/components/ScalarDropdown/ScalarDropdown.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown component\n *\n * @example\n * <ScalarDropdown>\n * <ScalarButton>Click Me</ScalarButton>\n * <template #items>\n * <ScalarDropdownItem>Item 1</ScalarDropdownItem>\n * <ScalarDropdownItem>Item 2</ScalarDropdownItem>\n * </template>\n * </ScalarDropdown>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { onClickOutside } from '@vueuse/core'\nimport { computed, nextTick, ref, useId, watch } from 'vue'\n\nimport { ScalarFloating, type ScalarFloatingOptions } from '../ScalarFloating'\nimport ScalarDropdownMenu from './ScalarDropdownMenu.vue'\nimport { useDropdown } from './useDropdown'\n\ndefineProps<ScalarFloatingOptions>()\n\ndefineSlots<{\n /** The reference element for the element in the #floating slot */\n default?(props: {\n /** Whether or not the dropdown is open */\n open: boolean\n }): unknown\n /** The list of dropdown items */\n items?(props: {\n /** Whether or not the dropdown is open */\n open: boolean\n }): unknown\n}>()\n\ntype ScalarFloatingType = InstanceType<typeof ScalarFloating>\nconst floatingRef = ref<ScalarFloatingType>()\n\nconst menuRef = ref<HTMLUListElement>()\n\n/** Whether or not the dropdown is open */\nconst open = defineModel<boolean>('open', { default: false })\n\nconst { active } = useDropdown()\n\nconst fallbackTargetId = useId()\nconst targetId = ref<string>(fallbackTargetId)\nconst menuId = useId()\n\n/** Handle click events on the target */\nasync function handleTargetClick() {\n open.value = !open.value\n await nextTick()\n if (open.value) menuRef.value?.focus()\n}\n\n/** Handle keydown events on the target */\nasync function handleTargetKeydown(event: KeyboardEvent) {\n // Only handle the keys that are relevant to the dropdown\n if (['ArrowDown', 'ArrowUp', ' ', 'Enter'].includes(event.key))\n event.preventDefault()\n else return\n\n // Open the dropdown if it's not open\n if (!open.value) open.value = true\n\n // Move the active item if the key is an arrow key or space or enter\n await nextTick()\n\n // Focus the menu\n menuRef.value?.focus()\n\n // Move the active item if the key is an arrow key or space or enter\n if (['ArrowDown', ' ', 'Enter'].includes(event.key)) moveActive(1)\n else if (event.key === 'ArrowUp') moveActive(-1)\n}\n\n/** Watch the target reference for changes */\nwatch(\n () => floatingRef.value?.targetRef,\n (newTarget, oldTarget) => {\n if (newTarget) {\n // Create an id for the target if it doesn't have one\n if (newTarget.id) targetId.value = newTarget.id\n else {\n targetId.value = fallbackTargetId\n newTarget.setAttribute('id', targetId.value)\n }\n // Set the aria attributes\n newTarget.setAttribute('aria-haspopup', 'menu')\n newTarget.setAttribute('aria-expanded', `${open.value}`)\n if (open.value) newTarget.setAttribute('aria-controls', menuId)\n // Add the event listeners\n newTarget.addEventListener('click', handleTargetClick)\n newTarget.addEventListener('keydown', handleTargetKeydown)\n }\n if (oldTarget && oldTarget !== newTarget) {\n // Remove the id if it's using the fallback id\n if (oldTarget.id === fallbackTargetId) oldTarget.removeAttribute('id')\n // Remove the aria attributes\n oldTarget.removeAttribute('aria-controls')\n oldTarget.removeAttribute('aria-haspopup')\n oldTarget.removeAttribute('aria-expanded')\n // Remove the event listeners\n oldTarget.removeEventListener('click', handleTargetClick)\n oldTarget.removeEventListener('keydown', handleTargetKeydown)\n }\n },\n { immediate: true },\n)\n\n/** Watch the open state for changes */\nwatch(\n open,\n (o) => {\n const target = floatingRef.value?.targetRef\n if (!target) return\n // Update the aria-expanded attribute on the target\n target.setAttribute('aria-expanded', `${o}`)\n if (o) target.setAttribute('aria-controls', menuId)\n else target.removeAttribute('aria-controls')\n },\n { immediate: true },\n)\n\nasync function handleClose() {\n // Move focus back to the target\n floatingRef.value?.targetRef?.focus()\n // Close the dropdown\n open.value = false\n}\n\nfunction handleSelected() {\n if (!active.value || !menuRef.value) return\n\n const button = menuRef.value.querySelector<HTMLElement>(\n `#${active.value}[role=\"menuitem\"]:not([aria-disabled=\"true\"])`,\n )\n\n if (!button) return\n\n button.click()\n\n handleClose()\n}\n\n/** Move the active item in the dropdown */\nfunction moveActive(dir: 1 | -1) {\n if (!open.value || !menuRef.value) return\n\n // Get all menu items, filtering out disabled ones\n const list = Array.from(\n menuRef.value.querySelectorAll<HTMLElement>(\n '[role=\"menuitem\"]:not([aria-disabled=\"true\"])',\n ),\n )\n\n if (list.length === 0) return\n\n // Find the current active item's index\n const activeIdx = list.findIndex((item) => item.id === active.value)\n\n if (activeIdx === -1) {\n // If there is no active item, activate the first or last item\n const targetItem = list[dir > 0 ? 0 : list.length - 1]\n if (targetItem?.id) active.value = targetItem.id\n return\n }\n\n // Calculate next index and exit if it's out of bounds\n const nextIdx = activeIdx + dir\n\n if (nextIdx < 0 || nextIdx > list.length - 1) {\n return\n }\n\n const nextItem = list[nextIdx]\n\n if (nextItem?.id) active.value = nextItem.id\n}\n\n/** Close the dropdown if the user clicks outside of the menu and button */\nonClickOutside(menuRef, handleClose, {\n ignore: [computed(() => floatingRef.value?.targetRef)],\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <ScalarFloating\n ref=\"floatingRef\"\n v-bind=\"$props\"\n :placement=\"placement ?? 'bottom-start'\">\n <slot :open />\n <template\n v-if=\"open\"\n #floating=\"{ width }\">\n <!-- Background container -->\n <ScalarDropdownMenu\n :style=\"{ width }\"\n v-bind=\"cx('max-h-[inherit] max-w-[inherit]')\">\n <template #menu>\n <div\n :id=\"menuId\"\n ref=\"menuRef\"\n :aria-activedescendant=\"active\"\n :aria-labelledby=\"targetId\"\n class=\"flex flex-col p-0.75 outline-none\"\n role=\"menu\"\n tabindex=\"-1\"\n @click.stop=\"handleClose\"\n @keydown.down.prevent.stop=\"moveActive(1)\"\n @keydown.enter.prevent.stop=\"handleSelected\"\n @keydown.escape.prevent.stop=\"handleClose\"\n @keydown.space.prevent.stop=\"handleSelected\"\n @keydown.tab.prevent.stop=\"handleClose\"\n @keydown.up.prevent.stop=\"moveActive(-1)\">\n <slot\n name=\"items\"\n :open />\n </div>\n </template>\n </ScalarDropdownMenu>\n </template>\n </ScalarFloating>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import ScalarFloating_default from "../ScalarFloating/ScalarFloating.vue.js";
|
|
2
|
+
import ScalarDropdownMenu_default from "./ScalarDropdownMenu.vue.js";
|
|
3
|
+
import { useDropdown } from "./useDropdown.js";
|
|
4
|
+
import { useBindCx } from "@scalar/use-hooks/useBindCx";
|
|
5
|
+
import { computed, createBlock, createElementVNode, createSlots, createVNode, defineComponent, mergeModels, mergeProps, nextTick, openBlock, ref, renderSlot, unref, useId, useModel, watch, withCtx, withKeys, withModifiers } from "vue";
|
|
6
|
+
import { onClickOutside } from "@vueuse/core";
|
|
7
|
+
//#region src/components/ScalarDropdown/ScalarDropdown.vue?vue&type=script&setup=true&lang.ts
|
|
8
|
+
var _hoisted_1 = [
|
|
9
|
+
"id",
|
|
10
|
+
"aria-activedescendant",
|
|
11
|
+
"aria-labelledby",
|
|
12
|
+
"onKeydown"
|
|
13
|
+
];
|
|
14
|
+
var ScalarDropdown_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
15
|
+
inheritAttrs: false,
|
|
16
|
+
__name: "ScalarDropdown",
|
|
17
|
+
props: /* @__PURE__ */ mergeModels({
|
|
18
|
+
placement: {},
|
|
19
|
+
offset: { type: [
|
|
20
|
+
Number,
|
|
21
|
+
Object,
|
|
22
|
+
Function
|
|
23
|
+
] },
|
|
24
|
+
resize: { type: Boolean },
|
|
25
|
+
target: {},
|
|
26
|
+
middleware: {},
|
|
27
|
+
teleport: { type: [Boolean, String] }
|
|
28
|
+
}, {
|
|
29
|
+
"open": {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false
|
|
32
|
+
},
|
|
33
|
+
"openModifiers": {}
|
|
34
|
+
}),
|
|
35
|
+
emits: ["update:open"],
|
|
36
|
+
setup(__props) {
|
|
37
|
+
const floatingRef = ref();
|
|
38
|
+
const menuRef = ref();
|
|
39
|
+
/** Whether or not the dropdown is open */
|
|
40
|
+
const open = useModel(__props, "open");
|
|
41
|
+
const { active } = useDropdown();
|
|
42
|
+
const fallbackTargetId = useId();
|
|
43
|
+
const targetId = ref(fallbackTargetId);
|
|
44
|
+
const menuId = useId();
|
|
45
|
+
/** Handle click events on the target */
|
|
46
|
+
async function handleTargetClick() {
|
|
47
|
+
open.value = !open.value;
|
|
48
|
+
await nextTick();
|
|
49
|
+
if (open.value) menuRef.value?.focus();
|
|
50
|
+
}
|
|
51
|
+
/** Handle keydown events on the target */
|
|
52
|
+
async function handleTargetKeydown(event) {
|
|
53
|
+
if ([
|
|
54
|
+
"ArrowDown",
|
|
55
|
+
"ArrowUp",
|
|
56
|
+
" ",
|
|
57
|
+
"Enter"
|
|
58
|
+
].includes(event.key)) event.preventDefault();
|
|
59
|
+
else return;
|
|
60
|
+
if (!open.value) open.value = true;
|
|
61
|
+
await nextTick();
|
|
62
|
+
menuRef.value?.focus();
|
|
63
|
+
if ([
|
|
64
|
+
"ArrowDown",
|
|
65
|
+
" ",
|
|
66
|
+
"Enter"
|
|
67
|
+
].includes(event.key)) moveActive(1);
|
|
68
|
+
else if (event.key === "ArrowUp") moveActive(-1);
|
|
69
|
+
}
|
|
70
|
+
/** Watch the target reference for changes */
|
|
71
|
+
watch(() => floatingRef.value?.targetRef, (newTarget, oldTarget) => {
|
|
72
|
+
if (newTarget) {
|
|
73
|
+
if (newTarget.id) targetId.value = newTarget.id;
|
|
74
|
+
else {
|
|
75
|
+
targetId.value = fallbackTargetId;
|
|
76
|
+
newTarget.setAttribute("id", targetId.value);
|
|
77
|
+
}
|
|
78
|
+
newTarget.setAttribute("aria-haspopup", "menu");
|
|
79
|
+
newTarget.setAttribute("aria-expanded", `${open.value}`);
|
|
80
|
+
if (open.value) newTarget.setAttribute("aria-controls", menuId);
|
|
81
|
+
newTarget.addEventListener("click", handleTargetClick);
|
|
82
|
+
newTarget.addEventListener("keydown", handleTargetKeydown);
|
|
83
|
+
}
|
|
84
|
+
if (oldTarget && oldTarget !== newTarget) {
|
|
85
|
+
if (oldTarget.id === fallbackTargetId) oldTarget.removeAttribute("id");
|
|
86
|
+
oldTarget.removeAttribute("aria-controls");
|
|
87
|
+
oldTarget.removeAttribute("aria-haspopup");
|
|
88
|
+
oldTarget.removeAttribute("aria-expanded");
|
|
89
|
+
oldTarget.removeEventListener("click", handleTargetClick);
|
|
90
|
+
oldTarget.removeEventListener("keydown", handleTargetKeydown);
|
|
91
|
+
}
|
|
92
|
+
}, { immediate: true });
|
|
93
|
+
/** Watch the open state for changes */
|
|
94
|
+
watch(open, (o) => {
|
|
95
|
+
const target = floatingRef.value?.targetRef;
|
|
96
|
+
if (!target) return;
|
|
97
|
+
target.setAttribute("aria-expanded", `${o}`);
|
|
98
|
+
if (o) target.setAttribute("aria-controls", menuId);
|
|
99
|
+
else target.removeAttribute("aria-controls");
|
|
100
|
+
}, { immediate: true });
|
|
101
|
+
async function handleClose() {
|
|
102
|
+
floatingRef.value?.targetRef?.focus();
|
|
103
|
+
open.value = false;
|
|
104
|
+
}
|
|
105
|
+
function handleSelected() {
|
|
106
|
+
if (!active.value || !menuRef.value) return;
|
|
107
|
+
const button = menuRef.value.querySelector(`#${active.value}[role="menuitem"]:not([aria-disabled="true"])`);
|
|
108
|
+
if (!button) return;
|
|
109
|
+
button.click();
|
|
110
|
+
handleClose();
|
|
111
|
+
}
|
|
112
|
+
/** Move the active item in the dropdown */
|
|
113
|
+
function moveActive(dir) {
|
|
114
|
+
if (!open.value || !menuRef.value) return;
|
|
115
|
+
const list = Array.from(menuRef.value.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])"));
|
|
116
|
+
if (list.length === 0) return;
|
|
117
|
+
const activeIdx = list.findIndex((item) => item.id === active.value);
|
|
118
|
+
if (activeIdx === -1) {
|
|
119
|
+
const targetItem = list[dir > 0 ? 0 : list.length - 1];
|
|
120
|
+
if (targetItem?.id) active.value = targetItem.id;
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
const nextIdx = activeIdx + dir;
|
|
124
|
+
if (nextIdx < 0 || nextIdx > list.length - 1) return;
|
|
125
|
+
const nextItem = list[nextIdx];
|
|
126
|
+
if (nextItem?.id) active.value = nextItem.id;
|
|
127
|
+
}
|
|
128
|
+
/** Close the dropdown if the user clicks outside of the menu and button */
|
|
129
|
+
onClickOutside(menuRef, handleClose, { ignore: [computed(() => floatingRef.value?.targetRef)] });
|
|
130
|
+
const { cx } = useBindCx();
|
|
131
|
+
return (_ctx, _cache) => {
|
|
132
|
+
return openBlock(), createBlock(unref(ScalarFloating_default), mergeProps({
|
|
133
|
+
ref_key: "floatingRef",
|
|
134
|
+
ref: floatingRef
|
|
135
|
+
}, _ctx.$props, { placement: __props.placement ?? "bottom-start" }), createSlots({
|
|
136
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { open: open.value })]),
|
|
137
|
+
_: 2
|
|
138
|
+
}, [open.value ? {
|
|
139
|
+
name: "floating",
|
|
140
|
+
fn: withCtx(({ width }) => [createVNode(ScalarDropdownMenu_default, mergeProps({ style: { width } }, unref(cx)("max-h-[inherit] max-w-[inherit]")), {
|
|
141
|
+
menu: withCtx(() => [createElementVNode("div", {
|
|
142
|
+
id: unref(menuId),
|
|
143
|
+
ref_key: "menuRef",
|
|
144
|
+
ref: menuRef,
|
|
145
|
+
"aria-activedescendant": unref(active),
|
|
146
|
+
"aria-labelledby": targetId.value,
|
|
147
|
+
class: "flex flex-col p-0.75 outline-none",
|
|
148
|
+
role: "menu",
|
|
149
|
+
tabindex: "-1",
|
|
150
|
+
onClick: withModifiers(handleClose, ["stop"]),
|
|
151
|
+
onKeydown: [
|
|
152
|
+
_cache[0] || (_cache[0] = withKeys(withModifiers(($event) => moveActive(1), ["prevent", "stop"]), ["down"])),
|
|
153
|
+
withKeys(withModifiers(handleSelected, ["prevent", "stop"]), ["enter"]),
|
|
154
|
+
withKeys(withModifiers(handleClose, ["prevent", "stop"]), ["escape"]),
|
|
155
|
+
withKeys(withModifiers(handleSelected, ["prevent", "stop"]), ["space"]),
|
|
156
|
+
withKeys(withModifiers(handleClose, ["prevent", "stop"]), ["tab"]),
|
|
157
|
+
_cache[1] || (_cache[1] = withKeys(withModifiers(($event) => moveActive(-1), ["prevent", "stop"]), ["up"]))
|
|
158
|
+
]
|
|
159
|
+
}, [renderSlot(_ctx.$slots, "items", { open: open.value })], 40, _hoisted_1)]),
|
|
160
|
+
_: 3
|
|
161
|
+
}, 16, ["style"])]),
|
|
162
|
+
key: "0"
|
|
163
|
+
} : void 0]), 1040, ["placement"]);
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
//#endregion
|
|
168
|
+
export { ScalarDropdown_vue_vue_type_script_setup_true_lang_default as default };
|
|
169
|
+
|
|
170
|
+
//# sourceMappingURL=ScalarDropdown.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdown.vue.script.js","names":["$props"],"sources":["../../../src/components/ScalarDropdown/ScalarDropdown.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown component\n *\n * @example\n * <ScalarDropdown>\n * <ScalarButton>Click Me</ScalarButton>\n * <template #items>\n * <ScalarDropdownItem>Item 1</ScalarDropdownItem>\n * <ScalarDropdownItem>Item 2</ScalarDropdownItem>\n * </template>\n * </ScalarDropdown>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { onClickOutside } from '@vueuse/core'\nimport { computed, nextTick, ref, useId, watch } from 'vue'\n\nimport { ScalarFloating, type ScalarFloatingOptions } from '../ScalarFloating'\nimport ScalarDropdownMenu from './ScalarDropdownMenu.vue'\nimport { useDropdown } from './useDropdown'\n\ndefineProps<ScalarFloatingOptions>()\n\ndefineSlots<{\n /** The reference element for the element in the #floating slot */\n default?(props: {\n /** Whether or not the dropdown is open */\n open: boolean\n }): unknown\n /** The list of dropdown items */\n items?(props: {\n /** Whether or not the dropdown is open */\n open: boolean\n }): unknown\n}>()\n\ntype ScalarFloatingType = InstanceType<typeof ScalarFloating>\nconst floatingRef = ref<ScalarFloatingType>()\n\nconst menuRef = ref<HTMLUListElement>()\n\n/** Whether or not the dropdown is open */\nconst open = defineModel<boolean>('open', { default: false })\n\nconst { active } = useDropdown()\n\nconst fallbackTargetId = useId()\nconst targetId = ref<string>(fallbackTargetId)\nconst menuId = useId()\n\n/** Handle click events on the target */\nasync function handleTargetClick() {\n open.value = !open.value\n await nextTick()\n if (open.value) menuRef.value?.focus()\n}\n\n/** Handle keydown events on the target */\nasync function handleTargetKeydown(event: KeyboardEvent) {\n // Only handle the keys that are relevant to the dropdown\n if (['ArrowDown', 'ArrowUp', ' ', 'Enter'].includes(event.key))\n event.preventDefault()\n else return\n\n // Open the dropdown if it's not open\n if (!open.value) open.value = true\n\n // Move the active item if the key is an arrow key or space or enter\n await nextTick()\n\n // Focus the menu\n menuRef.value?.focus()\n\n // Move the active item if the key is an arrow key or space or enter\n if (['ArrowDown', ' ', 'Enter'].includes(event.key)) moveActive(1)\n else if (event.key === 'ArrowUp') moveActive(-1)\n}\n\n/** Watch the target reference for changes */\nwatch(\n () => floatingRef.value?.targetRef,\n (newTarget, oldTarget) => {\n if (newTarget) {\n // Create an id for the target if it doesn't have one\n if (newTarget.id) targetId.value = newTarget.id\n else {\n targetId.value = fallbackTargetId\n newTarget.setAttribute('id', targetId.value)\n }\n // Set the aria attributes\n newTarget.setAttribute('aria-haspopup', 'menu')\n newTarget.setAttribute('aria-expanded', `${open.value}`)\n if (open.value) newTarget.setAttribute('aria-controls', menuId)\n // Add the event listeners\n newTarget.addEventListener('click', handleTargetClick)\n newTarget.addEventListener('keydown', handleTargetKeydown)\n }\n if (oldTarget && oldTarget !== newTarget) {\n // Remove the id if it's using the fallback id\n if (oldTarget.id === fallbackTargetId) oldTarget.removeAttribute('id')\n // Remove the aria attributes\n oldTarget.removeAttribute('aria-controls')\n oldTarget.removeAttribute('aria-haspopup')\n oldTarget.removeAttribute('aria-expanded')\n // Remove the event listeners\n oldTarget.removeEventListener('click', handleTargetClick)\n oldTarget.removeEventListener('keydown', handleTargetKeydown)\n }\n },\n { immediate: true },\n)\n\n/** Watch the open state for changes */\nwatch(\n open,\n (o) => {\n const target = floatingRef.value?.targetRef\n if (!target) return\n // Update the aria-expanded attribute on the target\n target.setAttribute('aria-expanded', `${o}`)\n if (o) target.setAttribute('aria-controls', menuId)\n else target.removeAttribute('aria-controls')\n },\n { immediate: true },\n)\n\nasync function handleClose() {\n // Move focus back to the target\n floatingRef.value?.targetRef?.focus()\n // Close the dropdown\n open.value = false\n}\n\nfunction handleSelected() {\n if (!active.value || !menuRef.value) return\n\n const button = menuRef.value.querySelector<HTMLElement>(\n `#${active.value}[role=\"menuitem\"]:not([aria-disabled=\"true\"])`,\n )\n\n if (!button) return\n\n button.click()\n\n handleClose()\n}\n\n/** Move the active item in the dropdown */\nfunction moveActive(dir: 1 | -1) {\n if (!open.value || !menuRef.value) return\n\n // Get all menu items, filtering out disabled ones\n const list = Array.from(\n menuRef.value.querySelectorAll<HTMLElement>(\n '[role=\"menuitem\"]:not([aria-disabled=\"true\"])',\n ),\n )\n\n if (list.length === 0) return\n\n // Find the current active item's index\n const activeIdx = list.findIndex((item) => item.id === active.value)\n\n if (activeIdx === -1) {\n // If there is no active item, activate the first or last item\n const targetItem = list[dir > 0 ? 0 : list.length - 1]\n if (targetItem?.id) active.value = targetItem.id\n return\n }\n\n // Calculate next index and exit if it's out of bounds\n const nextIdx = activeIdx + dir\n\n if (nextIdx < 0 || nextIdx > list.length - 1) {\n return\n }\n\n const nextItem = list[nextIdx]\n\n if (nextItem?.id) active.value = nextItem.id\n}\n\n/** Close the dropdown if the user clicks outside of the menu and button */\nonClickOutside(menuRef, handleClose, {\n ignore: [computed(() => floatingRef.value?.targetRef)],\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <ScalarFloating\n ref=\"floatingRef\"\n v-bind=\"$props\"\n :placement=\"placement ?? 'bottom-start'\">\n <slot :open />\n <template\n v-if=\"open\"\n #floating=\"{ width }\">\n <!-- Background container -->\n <ScalarDropdownMenu\n :style=\"{ width }\"\n v-bind=\"cx('max-h-[inherit] max-w-[inherit]')\">\n <template #menu>\n <div\n :id=\"menuId\"\n ref=\"menuRef\"\n :aria-activedescendant=\"active\"\n :aria-labelledby=\"targetId\"\n class=\"flex flex-col p-0.75 outline-none\"\n role=\"menu\"\n tabindex=\"-1\"\n @click.stop=\"handleClose\"\n @keydown.down.prevent.stop=\"moveActive(1)\"\n @keydown.enter.prevent.stop=\"handleSelected\"\n @keydown.escape.prevent.stop=\"handleClose\"\n @keydown.space.prevent.stop=\"handleSelected\"\n @keydown.tab.prevent.stop=\"handleClose\"\n @keydown.up.prevent.stop=\"moveActive(-1)\">\n <slot\n name=\"items\"\n :open />\n </div>\n </template>\n </ScalarDropdownMenu>\n </template>\n </ScalarFloating>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCA,MAAM,cAAc,KAAwB;EAE5C,MAAM,UAAU,KAAsB;;EAGtC,MAAM,OAAO,SAAoB,SAAC,OAA0B;EAE5D,MAAM,EAAE,WAAW,aAAY;EAE/B,MAAM,mBAAmB,OAAM;EAC/B,MAAM,WAAW,IAAY,iBAAgB;EAC7C,MAAM,SAAS,OAAM;;EAGrB,eAAe,oBAAoB;AACjC,QAAK,QAAQ,CAAC,KAAK;AACnB,SAAM,UAAS;AACf,OAAI,KAAK,MAAO,SAAQ,OAAO,OAAM;;;EAIvC,eAAe,oBAAoB,OAAsB;AAEvD,OAAI;IAAC;IAAa;IAAW;IAAK;IAAQ,CAAC,SAAS,MAAM,IAAI,CAC5D,OAAM,gBAAe;OAClB;AAGL,OAAI,CAAC,KAAK,MAAO,MAAK,QAAQ;AAG9B,SAAM,UAAS;AAGf,WAAQ,OAAO,OAAM;AAGrB,OAAI;IAAC;IAAa;IAAK;IAAQ,CAAC,SAAS,MAAM,IAAI,CAAE,YAAW,EAAC;YACxD,MAAM,QAAQ,UAAW,YAAW,GAAE;;;AAIjD,cACQ,YAAY,OAAO,YACxB,WAAW,cAAc;AACxB,OAAI,WAAW;AAEb,QAAI,UAAU,GAAI,UAAS,QAAQ,UAAU;SACxC;AACH,cAAS,QAAQ;AACjB,eAAU,aAAa,MAAM,SAAS,MAAK;;AAG7C,cAAU,aAAa,iBAAiB,OAAM;AAC9C,cAAU,aAAa,iBAAiB,GAAG,KAAK,QAAO;AACvD,QAAI,KAAK,MAAO,WAAU,aAAa,iBAAiB,OAAM;AAE9D,cAAU,iBAAiB,SAAS,kBAAiB;AACrD,cAAU,iBAAiB,WAAW,oBAAmB;;AAE3D,OAAI,aAAa,cAAc,WAAW;AAExC,QAAI,UAAU,OAAO,iBAAkB,WAAU,gBAAgB,KAAI;AAErE,cAAU,gBAAgB,gBAAe;AACzC,cAAU,gBAAgB,gBAAe;AACzC,cAAU,gBAAgB,gBAAe;AAEzC,cAAU,oBAAoB,SAAS,kBAAiB;AACxD,cAAU,oBAAoB,WAAW,oBAAmB;;KAGhE,EAAE,WAAW,MAAM,CACrB;;AAGA,QACE,OACC,MAAM;GACL,MAAM,SAAS,YAAY,OAAO;AAClC,OAAI,CAAC,OAAQ;AAEb,UAAO,aAAa,iBAAiB,GAAG,IAAG;AAC3C,OAAI,EAAG,QAAO,aAAa,iBAAiB,OAAM;OAC7C,QAAO,gBAAgB,gBAAe;KAE7C,EAAE,WAAW,MAAM,CACrB;EAEA,eAAe,cAAc;AAE3B,eAAY,OAAO,WAAW,OAAM;AAEpC,QAAK,QAAQ;;EAGf,SAAS,iBAAiB;AACxB,OAAI,CAAC,OAAO,SAAS,CAAC,QAAQ,MAAO;GAErC,MAAM,SAAS,QAAQ,MAAM,cAC3B,IAAI,OAAO,MAAM,+CACnB;AAEA,OAAI,CAAC,OAAQ;AAEb,UAAO,OAAM;AAEb,gBAAY;;;EAId,SAAS,WAAW,KAAa;AAC/B,OAAI,CAAC,KAAK,SAAS,CAAC,QAAQ,MAAO;GAGnC,MAAM,OAAO,MAAM,KACjB,QAAQ,MAAM,iBACZ,oDACD,CACH;AAEA,OAAI,KAAK,WAAW,EAAG;GAGvB,MAAM,YAAY,KAAK,WAAW,SAAS,KAAK,OAAO,OAAO,MAAK;AAEnE,OAAI,cAAc,IAAI;IAEpB,MAAM,aAAa,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS;AACpD,QAAI,YAAY,GAAI,QAAO,QAAQ,WAAW;AAC9C;;GAIF,MAAM,UAAU,YAAY;AAE5B,OAAI,UAAU,KAAK,UAAU,KAAK,SAAS,EACzC;GAGF,MAAM,WAAW,KAAK;AAEtB,OAAI,UAAU,GAAI,QAAO,QAAQ,SAAS;;;AAI5C,iBAAe,SAAS,aAAa,EACnC,QAAQ,CAAC,eAAe,YAAY,OAAO,UAAU,CAAC,EACvD,CAAA;EAGD,MAAM,EAAE,OAAO,WAAU;;uBAGvB,YAmCiB,MAAA,uBAAA,EAnCjB,WAmCiB;aAlCX;IAAJ,KAAI;MACIA,KAAAA,QAAM,EACb,WAAW,QAAA,aAAS,gBAAA,CAAA,EAAA,YAAA;2BACP,CAAd,WAAc,KAAA,QAAA,WAAA,EAAP,MAAA,KAAA,OAAI,CAAA,CAAA,CAAA;;OAEH,KAAA,QAAA;UACL;iBA0BoB,EA1BR,YAAK,CAElB,YAwBqB,4BAxBrB,WAwBqB,EAvBlB,OAAK,EAAI,OAAK,EAAA,EACP,MAAA,GAAE,CAAA,kCAAA,CAAA,EAAA;KACC,MAAI,cAmBP,CAlBN,mBAkBM,OAAA;MAjBH,IAAI,MAAA,OAAM;eACP;MAAJ,KAAI;MACH,yBAAuB,MAAA,OAAM;MAC7B,mBAAiB,SAAA;MAClB,OAAM;MACN,MAAK;MACL,UAAS;MACR,SAAK,cAAO,aAAW,CAAA,OAAA,CAAA;MACvB,WAAO;oEAAoB,WAAU,EAAA,EAAA,CAAA,WAAA,OAAA,CAAA,EAAA,CAAA,OAAA,CAAA;8BACT,gBAAc,CAAA,WAAA,OAAA,CAAA,EAAA,CAAA,QAAA,CAAA;8BACb,aAAW,CAAA,WAAA,OAAA,CAAA,EAAA,CAAA,SAAA,CAAA;8BACZ,gBAAc,CAAA,WAAA,OAAA,CAAA,EAAA,CAAA,QAAA,CAAA;8BAChB,aAAW,CAAA,WAAA,OAAA,CAAA,EAAA,CAAA,MAAA,CAAA;oEACZ,WAAU,GAAA,EAAA,CAAA,WAAA,OAAA,CAAA,EAAA,CAAA,KAAA,CAAA;;SACpC,WAEU,KAAA,QAAA,SAAA,EAAP,MAAA,KAAA,OAAI,CAAA,CAAA,EAAA,IAAA,WAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import ScalarDropdownButton_vue_vue_type_script_setup_true_lang_default from "./ScalarDropdownButton.vue.script.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/components/ScalarDropdown/ScalarDropdownButton.vue
|
|
5
|
+
var ScalarDropdownButton_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ScalarDropdownButton_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6660bbc5"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { ScalarDropdownButton_default as default };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=ScalarDropdownButton.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdownButton.vue.js","names":[],"sources":["../../../src/components/ScalarDropdown/ScalarDropdownButton.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown button base component\n *\n * Provide a styled button for the ScalarDropdown or similar\n *\n * This is used internally by the ScalarDropdownItem component\n *\n * If you're looking to add items to a dropdown menu you\n * probably want the ScalarDropdownItem component\n *\n * @example\n * <ScalarDropdownButton @click=\"handleClick\">\n * Label\n * </ScalarDropdownButton>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { cva, cx } from '@scalar/use-hooks/useBindCx'\nimport type { Component } from 'vue'\n\nconst { is = 'button' } = defineProps<{\n is?: string | Component\n active?: boolean\n disabled?: boolean\n}>()\n\nconst variants = cva({\n base: [\n // Layout\n 'block h-8 min-w-0 gap-1.5 rounded px-2.5 py-1.5 text-left',\n // Text / background style\n 'truncate no-underline text-sm text-c-1',\n // Interaction\n 'cursor-pointer hover:bg-b-2',\n ],\n variants: {\n disabled: { true: 'pointer-events-none text-c-3' },\n active: { true: '' },\n },\n compoundVariants: [{ disabled: false, active: true, class: 'bg-b-2' }],\n})\n</script>\n<template>\n <component\n :is=\"is\"\n :aria-disabled=\"disabled\"\n class=\"item\"\n :class=\"cx('scalar-dropdown-item', variants({ active, disabled }))\"\n :type=\"is === 'button' ? 'button' : undefined\">\n <slot />\n </component>\n</template>\n<style scoped>\n.dark-mode .scalar-dropdown-item:hover {\n filter: brightness(1.1);\n}\n</style>\n"],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { cva, cx } from "@scalar/use-hooks/useBindCx";
|
|
2
|
+
import { createBlock, defineComponent, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue";
|
|
3
|
+
var ScalarDropdownButton_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
4
|
+
__name: "ScalarDropdownButton",
|
|
5
|
+
props: {
|
|
6
|
+
is: { default: "button" },
|
|
7
|
+
active: { type: Boolean },
|
|
8
|
+
disabled: { type: Boolean }
|
|
9
|
+
},
|
|
10
|
+
setup(__props) {
|
|
11
|
+
const variants = cva({
|
|
12
|
+
base: [
|
|
13
|
+
"block h-8 min-w-0 gap-1.5 rounded px-2.5 py-1.5 text-left",
|
|
14
|
+
"truncate no-underline text-sm text-c-1",
|
|
15
|
+
"cursor-pointer hover:bg-b-2"
|
|
16
|
+
],
|
|
17
|
+
variants: {
|
|
18
|
+
disabled: { true: "pointer-events-none text-c-3" },
|
|
19
|
+
active: { true: "" }
|
|
20
|
+
},
|
|
21
|
+
compoundVariants: [{
|
|
22
|
+
disabled: false,
|
|
23
|
+
active: true,
|
|
24
|
+
class: "bg-b-2"
|
|
25
|
+
}]
|
|
26
|
+
});
|
|
27
|
+
return (_ctx, _cache) => {
|
|
28
|
+
return openBlock(), createBlock(resolveDynamicComponent(__props.is), {
|
|
29
|
+
"aria-disabled": __props.disabled,
|
|
30
|
+
class: normalizeClass(["item", unref(cx)("scalar-dropdown-item", unref(variants)({
|
|
31
|
+
active: __props.active,
|
|
32
|
+
disabled: __props.disabled
|
|
33
|
+
}))]),
|
|
34
|
+
type: __props.is === "button" ? "button" : void 0
|
|
35
|
+
}, {
|
|
36
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
|
|
37
|
+
_: 3
|
|
38
|
+
}, 8, [
|
|
39
|
+
"aria-disabled",
|
|
40
|
+
"class",
|
|
41
|
+
"type"
|
|
42
|
+
]);
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
//#endregion
|
|
47
|
+
export { ScalarDropdownButton_vue_vue_type_script_setup_true_lang_default as default };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=ScalarDropdownButton.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdownButton.vue.script.js","names":[],"sources":["../../../src/components/ScalarDropdown/ScalarDropdownButton.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown button base component\n *\n * Provide a styled button for the ScalarDropdown or similar\n *\n * This is used internally by the ScalarDropdownItem component\n *\n * If you're looking to add items to a dropdown menu you\n * probably want the ScalarDropdownItem component\n *\n * @example\n * <ScalarDropdownButton @click=\"handleClick\">\n * Label\n * </ScalarDropdownButton>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { cva, cx } from '@scalar/use-hooks/useBindCx'\nimport type { Component } from 'vue'\n\nconst { is = 'button' } = defineProps<{\n is?: string | Component\n active?: boolean\n disabled?: boolean\n}>()\n\nconst variants = cva({\n base: [\n // Layout\n 'block h-8 min-w-0 gap-1.5 rounded px-2.5 py-1.5 text-left',\n // Text / background style\n 'truncate no-underline text-sm text-c-1',\n // Interaction\n 'cursor-pointer hover:bg-b-2',\n ],\n variants: {\n disabled: { true: 'pointer-events-none text-c-3' },\n active: { true: '' },\n },\n compoundVariants: [{ disabled: false, active: true, class: 'bg-b-2' }],\n})\n</script>\n<template>\n <component\n :is=\"is\"\n :aria-disabled=\"disabled\"\n class=\"item\"\n :class=\"cx('scalar-dropdown-item', variants({ active, disabled }))\"\n :type=\"is === 'button' ? 'button' : undefined\">\n <slot />\n </component>\n</template>\n<style scoped>\n.dark-mode .scalar-dropdown-item:hover {\n filter: brightness(1.1);\n}\n</style>\n"],"mappings":";;;;;;;;;;EA4BA,MAAM,WAAW,IAAI;GACnB,MAAM;IAEJ;IAEA;IAEA;IACD;GACD,UAAU;IACR,UAAU,EAAE,MAAM,gCAAgC;IAClD,QAAQ,EAAE,MAAM,IAAI;IACrB;GACD,kBAAkB,CAAC;IAAE,UAAU;IAAO,QAAQ;IAAM,OAAO;IAAU,CAAC;GACvE,CAAA;;uBAGC,YAOY,wBANL,QAAA,GAAE,EAAA;IACN,iBAAe,QAAA;IAChB,OAAK,eAAA,CAAC,QACE,MAAA,GAAE,CAAA,wBAAyB,MAAA,SAAQ,CAAA;KAAA,QAAG,QAAA;KAAM,UAAE,QAAA;KAAQ,CAAA,CAAA,CAAA,CAAA;IAC7D,MAAM,QAAA,OAAE,WAAA,WAA2B,KAAA;;2BAC5B,CAAR,WAAQ,KAAA,QAAA,WAAA,EAAA,EAAA,KAAA,GAAA,KAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import ScalarDropdownDivider_vue_vue_type_script_lang_default from "./ScalarDropdownDivider.vue.script.js";
|
|
3
|
+
import { createElementBlock, openBlock } from "vue";
|
|
4
|
+
//#region src/components/ScalarDropdown/ScalarDropdownDivider.vue
|
|
5
|
+
var _hoisted_1 = { class: "-mx-0.75 my-0.75 h-border bg-border" };
|
|
6
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
7
|
+
return openBlock(), createElementBlock("div", _hoisted_1);
|
|
8
|
+
}
|
|
9
|
+
var ScalarDropdownDivider_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ScalarDropdownDivider_vue_vue_type_script_lang_default, [["render", _sfc_render]]);
|
|
10
|
+
//#endregion
|
|
11
|
+
export { ScalarDropdownDivider_default as default };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=ScalarDropdownDivider.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdownDivider.vue.js","names":[],"sources":["../../../src/components/ScalarDropdown/ScalarDropdownDivider.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown divider component\n *\n * Used to create a divider between items in the ScalarDropdown component\n *\n * @example\n * <ScalarDropdown>\n * ...\n * <template #items>\n * <ScalarDropdownItem>Item 1</ScalarDropdownItem>\n * <ScalarDropdownItem>Item 2</ScalarDropdownItem>\n * <ScalarDropdownDivider />\n * <ScalarDropdownItem>Item 3</ScalarDropdownItem>\n * </template>\n * </ScalarDropdown>\n */\nexport default {}\n</script>\n<template>\n <div class=\"-mx-0.75 my-0.75 h-border bg-border\" />\n</template>\n"],"mappings":";;;;mBAoBO,OAAM,uCAAqC;;qBAAhD,mBAAmD,OAAnD,WAAmD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/components/ScalarDropdown/ScalarDropdownDivider.vue?vue&type=script&lang.ts
|
|
2
|
+
/**
|
|
3
|
+
* Scalar dropdown divider component
|
|
4
|
+
*
|
|
5
|
+
* Used to create a divider between items in the ScalarDropdown component
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* <ScalarDropdown>
|
|
9
|
+
* ...
|
|
10
|
+
* <template #items>
|
|
11
|
+
* <ScalarDropdownItem>Item 1</ScalarDropdownItem>
|
|
12
|
+
* <ScalarDropdownItem>Item 2</ScalarDropdownItem>
|
|
13
|
+
* <ScalarDropdownDivider />
|
|
14
|
+
* <ScalarDropdownItem>Item 3</ScalarDropdownItem>
|
|
15
|
+
* </template>
|
|
16
|
+
* </ScalarDropdown>
|
|
17
|
+
*/
|
|
18
|
+
var ScalarDropdownDivider_vue_vue_type_script_lang_default = {};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { ScalarDropdownDivider_vue_vue_type_script_lang_default as default };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=ScalarDropdownDivider.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdownDivider.vue.script.js","names":[],"sources":["../../../src/components/ScalarDropdown/ScalarDropdownDivider.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown divider component\n *\n * Used to create a divider between items in the ScalarDropdown component\n *\n * @example\n * <ScalarDropdown>\n * ...\n * <template #items>\n * <ScalarDropdownItem>Item 1</ScalarDropdownItem>\n * <ScalarDropdownItem>Item 2</ScalarDropdownItem>\n * <ScalarDropdownDivider />\n * <ScalarDropdownItem>Item 3</ScalarDropdownItem>\n * </template>\n * </ScalarDropdown>\n */\nexport default {}\n</script>\n<template>\n <div class=\"-mx-0.75 my-0.75 h-border bg-border\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,IAAA,yDAAe,EAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import ScalarDropdownItem_vue_vue_type_script_setup_true_lang_default from "./ScalarDropdownItem.vue.script.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/components/ScalarDropdown/ScalarDropdownItem.vue
|
|
5
|
+
var ScalarDropdownItem_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ScalarDropdownItem_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3402682d"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { ScalarDropdownItem_default as default };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=ScalarDropdownItem.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdownItem.vue.js","names":[],"sources":["../../../src/components/ScalarDropdown/ScalarDropdownItem.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown item component\n *\n * Used to create items for the ScalarDropdown component\n *\n * @example\n * <ScalarDropdownItem @click=\"handleClick\">\n * Label\n * </ScalarDropdownItem>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useId } from 'vue'\n\nimport ScalarDropdownButton from './ScalarDropdownButton.vue'\nimport { useDropdownItem } from './useDropdown'\n\nconst { id = useId(), disabled } = defineProps<{\n id?: string\n disabled?: boolean\n}>()\n\ndefineEmits<{\n (e: 'click', event: MouseEvent): void\n}>()\n\nconst { active } = useDropdownItem()\n</script>\n<template>\n <ScalarDropdownButton\n :id\n :active=\"active === id\"\n :disabled\n role=\"menuitem\"\n tabindex=\"-1\"\n @click=\"(e: MouseEvent) => $emit('click', e)\"\n @mouseenter=\"active = id\">\n <slot />\n </ScalarDropdownButton>\n</template>\n<style scoped>\n.dark-mode .scalar-dropdown-item:hover {\n filter: brightness(1.1);\n}\n</style>\n"],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useDropdownItem } from "./useDropdown.js";
|
|
2
|
+
import ScalarDropdownButton_default from "./ScalarDropdownButton.vue.js";
|
|
3
|
+
import { createBlock, defineComponent, openBlock, renderSlot, unref, useId, withCtx } from "vue";
|
|
4
|
+
var ScalarDropdownItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
5
|
+
__name: "ScalarDropdownItem",
|
|
6
|
+
props: {
|
|
7
|
+
id: { default: () => useId() },
|
|
8
|
+
disabled: { type: Boolean }
|
|
9
|
+
},
|
|
10
|
+
emits: ["click"],
|
|
11
|
+
setup(__props) {
|
|
12
|
+
const { active } = useDropdownItem();
|
|
13
|
+
return (_ctx, _cache) => {
|
|
14
|
+
return openBlock(), createBlock(ScalarDropdownButton_default, {
|
|
15
|
+
id: __props.id,
|
|
16
|
+
active: unref(active) === __props.id,
|
|
17
|
+
disabled: __props.disabled,
|
|
18
|
+
role: "menuitem",
|
|
19
|
+
tabindex: "-1",
|
|
20
|
+
onClick: _cache[0] || (_cache[0] = (e) => _ctx.$emit("click", e)),
|
|
21
|
+
onMouseenter: _cache[1] || (_cache[1] = ($event) => active.value = __props.id)
|
|
22
|
+
}, {
|
|
23
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
|
|
24
|
+
_: 3
|
|
25
|
+
}, 8, [
|
|
26
|
+
"id",
|
|
27
|
+
"active",
|
|
28
|
+
"disabled"
|
|
29
|
+
]);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
//#endregion
|
|
34
|
+
export { ScalarDropdownItem_vue_vue_type_script_setup_true_lang_default as default };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=ScalarDropdownItem.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdownItem.vue.script.js","names":["$emit"],"sources":["../../../src/components/ScalarDropdown/ScalarDropdownItem.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown item component\n *\n * Used to create items for the ScalarDropdown component\n *\n * @example\n * <ScalarDropdownItem @click=\"handleClick\">\n * Label\n * </ScalarDropdownItem>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useId } from 'vue'\n\nimport ScalarDropdownButton from './ScalarDropdownButton.vue'\nimport { useDropdownItem } from './useDropdown'\n\nconst { id = useId(), disabled } = defineProps<{\n id?: string\n disabled?: boolean\n}>()\n\ndefineEmits<{\n (e: 'click', event: MouseEvent): void\n}>()\n\nconst { active } = useDropdownItem()\n</script>\n<template>\n <ScalarDropdownButton\n :id\n :active=\"active === id\"\n :disabled\n role=\"menuitem\"\n tabindex=\"-1\"\n @click=\"(e: MouseEvent) => $emit('click', e)\"\n @mouseenter=\"active = id\">\n <slot />\n </ScalarDropdownButton>\n</template>\n<style scoped>\n.dark-mode .scalar-dropdown-item:hover {\n filter: brightness(1.1);\n}\n</style>\n"],"mappings":";;;;;;;;;;;EA4BA,MAAM,EAAE,WAAW,iBAAgB;;uBAGjC,YASuB,8BAAA;IARpB,IAAA,QAAA;IACA,QAAQ,MAAA,OAAM,KAAK,QAAA;IACnB,UAAA,QAAA;IACD,MAAK;IACL,UAAS;IACR,SAAK,OAAA,OAAA,OAAA,MAAG,MAAkBA,KAAAA,MAAK,SAAU,EAAC;IAC1C,cAAU,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,QAAS,QAAA;;2BACd,CAAR,WAAQ,KAAA,QAAA,WAAA,EAAA,EAAA,KAAA,GAAA,KAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import ScalarDropdownMenu_vue_vue_type_script_setup_true_lang_default from "./ScalarDropdownMenu.vue.script.js";
|
|
2
|
+
//#region src/components/ScalarDropdown/ScalarDropdownMenu.vue
|
|
3
|
+
var ScalarDropdownMenu_default = ScalarDropdownMenu_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { ScalarDropdownMenu_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=ScalarDropdownMenu.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdownMenu.vue.js","names":[],"sources":["../../../src/components/ScalarDropdown/ScalarDropdownMenu.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown menu component\n *\n * Provides a scrollable container for dropdown items\n * This is used internally by the ScalarDropdown component\n *\n * If you're looking to create a dropdown menu with a trigger\n * button you probably want the ScalarDropdown component\n *\n * @example\n * <ScalarDropdownMenu>\n * <ScalarDropdownItem>Item 1</ScalarDropdownItem>\n * <ScalarDropdownItem>Item 2</ScalarDropdownItem>\n * </ScalarDropdownMenu>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { type Component } from 'vue'\n\nimport { ScalarFloatingBackdrop } from '../ScalarFloating'\n\ndefineProps<{\n /** The component to render */\n is?: string | Component\n}>()\n\ndefineSlots<{\n /** The menu contents */\n default?(): unknown\n /** Overrides the normal menu list element */\n menu?(): unknown\n /** Overrides the backdrop for the dropdown */\n backdrop?(): unknown\n}>()\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <!-- Background container -->\n <component\n :is=\"is ?? 'div'\"\n v-bind=\"cx('relative flex w-56')\">\n <!-- Scroll container -->\n <div class=\"custom-scroll min-h-0 flex-1\">\n <!-- Menu items -->\n <slot name=\"menu\">\n <div class=\"flex flex-col p-0.75\">\n <slot />\n </div>\n </slot>\n <slot name=\"backdrop\">\n <ScalarFloatingBackdrop />\n </slot>\n </div>\n </component>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import ScalarFloatingBackdrop_default from "../ScalarFloating/ScalarFloatingBackdrop.vue.js";
|
|
2
|
+
import { useBindCx } from "@scalar/use-hooks/useBindCx";
|
|
3
|
+
import { createBlock, createElementVNode, createVNode, defineComponent, guardReactiveProps, normalizeProps, openBlock, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue";
|
|
4
|
+
//#region src/components/ScalarDropdown/ScalarDropdownMenu.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = { class: "custom-scroll min-h-0 flex-1" };
|
|
6
|
+
var _hoisted_2 = { class: "flex flex-col p-0.75" };
|
|
7
|
+
var ScalarDropdownMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
8
|
+
inheritAttrs: false,
|
|
9
|
+
__name: "ScalarDropdownMenu",
|
|
10
|
+
props: { is: {} },
|
|
11
|
+
setup(__props) {
|
|
12
|
+
const { cx } = useBindCx();
|
|
13
|
+
return (_ctx, _cache) => {
|
|
14
|
+
return openBlock(), createBlock(resolveDynamicComponent(__props.is ?? "div"), normalizeProps(guardReactiveProps(unref(cx)("relative flex w-56"))), {
|
|
15
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "menu", {}, () => [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default")])]), renderSlot(_ctx.$slots, "backdrop", {}, () => [createVNode(unref(ScalarFloatingBackdrop_default))])])]),
|
|
16
|
+
_: 3
|
|
17
|
+
}, 16);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { ScalarDropdownMenu_vue_vue_type_script_setup_true_lang_default as default };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=ScalarDropdownMenu.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScalarDropdownMenu.vue.script.js","names":[],"sources":["../../../src/components/ScalarDropdown/ScalarDropdownMenu.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar dropdown menu component\n *\n * Provides a scrollable container for dropdown items\n * This is used internally by the ScalarDropdown component\n *\n * If you're looking to create a dropdown menu with a trigger\n * button you probably want the ScalarDropdown component\n *\n * @example\n * <ScalarDropdownMenu>\n * <ScalarDropdownItem>Item 1</ScalarDropdownItem>\n * <ScalarDropdownItem>Item 2</ScalarDropdownItem>\n * </ScalarDropdownMenu>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { type Component } from 'vue'\n\nimport { ScalarFloatingBackdrop } from '../ScalarFloating'\n\ndefineProps<{\n /** The component to render */\n is?: string | Component\n}>()\n\ndefineSlots<{\n /** The menu contents */\n default?(): unknown\n /** Overrides the normal menu list element */\n menu?(): unknown\n /** Overrides the backdrop for the dropdown */\n backdrop?(): unknown\n}>()\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <!-- Background container -->\n <component\n :is=\"is ?? 'div'\"\n v-bind=\"cx('relative flex w-56')\">\n <!-- Scroll container -->\n <div class=\"custom-scroll min-h-0 flex-1\">\n <!-- Menu items -->\n <slot name=\"menu\">\n <div class=\"flex flex-col p-0.75\">\n <slot />\n </div>\n </slot>\n <slot name=\"backdrop\">\n <ScalarFloatingBackdrop />\n </slot>\n </div>\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;EAuCA,MAAM,EAAE,OAAO,WAAU;;uBAIvB,YAeY,wBAdL,QAAA,MAAE,MAAA,EAAA,eAAA,mBACC,MAAA,GAAE,CAAA,qBAAA,CAAA,CAAA,EAAA;2BAYJ,CAVN,mBAUM,OAVN,YAUM,CARJ,WAIO,KAAA,QAAA,QAAA,EAAA,QAAA,CAHL,mBAEM,OAFN,YAEM,CADJ,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA,CAAA,CAAA,EAGZ,WAEO,KAAA,QAAA,YAAA,EAAA,QAAA,CADL,YAA0B,MAAA,+BAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { default as ScalarDropdown } from './ScalarDropdown.vue';
|
|
2
|
-
export { default as ScalarDropdownButton } from './ScalarDropdownButton.vue';
|
|
3
|
-
export { default as ScalarDropdownDivider } from './ScalarDropdownDivider.vue';
|
|
4
|
-
export { default as ScalarDropdownItem } from './ScalarDropdownItem.vue';
|
|
5
|
-
export { default as ScalarDropdownMenu } from './ScalarDropdownMenu.vue';
|
|
1
|
+
export { default as ScalarDropdown } from './ScalarDropdown.vue.js';
|
|
2
|
+
export { default as ScalarDropdownButton } from './ScalarDropdownButton.vue.js';
|
|
3
|
+
export { default as ScalarDropdownDivider } from './ScalarDropdownDivider.vue.js';
|
|
4
|
+
export { default as ScalarDropdownItem } from './ScalarDropdownItem.vue.js';
|
|
5
|
+
export { default as ScalarDropdownMenu } from './ScalarDropdownMenu.vue.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { inject, provide, ref } from "vue";
|
|
2
|
+
//#region src/components/ScalarDropdown/useDropdown.ts
|
|
3
|
+
/** The symbol for the dropdown context */
|
|
4
|
+
var ACTIVE_SYMBOL = Symbol();
|
|
5
|
+
/** Provides a ref for the currently active dropdown item */
|
|
6
|
+
function useDropdown() {
|
|
7
|
+
const active = ref();
|
|
8
|
+
provide(ACTIVE_SYMBOL, active);
|
|
9
|
+
return { active };
|
|
10
|
+
}
|
|
11
|
+
/** Injects the ref for the currently active dropdown item */
|
|
12
|
+
function useDropdownItem() {
|
|
13
|
+
const active = inject(ACTIVE_SYMBOL);
|
|
14
|
+
if (!active) console.warn("useDropdownItem must be used within a ScalarDropdown");
|
|
15
|
+
return { active };
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { useDropdown, useDropdownItem };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=useDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdown.js","names":[],"sources":["../../../src/components/ScalarDropdown/useDropdown.ts"],"sourcesContent":["import { type InjectionKey, type Ref, inject, provide, ref } from 'vue'\n\n/** The symbol for the dropdown context */\nconst ACTIVE_SYMBOL = Symbol() as InjectionKey<Ref<string | undefined>>\n\n/** Provides a ref for the currently active dropdown item */\nexport function useDropdown() {\n const active = ref<string>()\n provide(ACTIVE_SYMBOL, active)\n\n return { active }\n}\n\n/** Injects the ref for the currently active dropdown item */\nexport function useDropdownItem() {\n const active = inject(ACTIVE_SYMBOL)\n if (!active) {\n console.warn('useDropdownItem must be used within a ScalarDropdown')\n }\n return { active }\n}\n"],"mappings":";;;AAGA,IAAM,gBAAgB,QAAQ;;AAG9B,SAAgB,cAAc;CAC5B,MAAM,SAAS,KAAa;AAC5B,SAAQ,eAAe,OAAO;AAE9B,QAAO,EAAE,QAAQ;;;AAInB,SAAgB,kBAAkB;CAChC,MAAM,SAAS,OAAO,cAAc;AACpC,KAAI,CAAC,OACH,SAAQ,KAAK,uDAAuD;AAEtE,QAAO,EAAE,QAAQ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import ScalarErrorBoundary_vue_vue_type_script_setup_true_lang_default from "./ScalarErrorBoundary.vue.script.js";
|
|
2
|
+
//#region src/components/ScalarErrorBoundary/ScalarErrorBoundary.vue
|
|
3
|
+
var ScalarErrorBoundary_default = ScalarErrorBoundary_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { ScalarErrorBoundary_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=ScalarErrorBoundary.vue.js.map
|