@scalar/components 0.27.10 → 0.28.1
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/components/ScalarButton/ScalarButton.vue.script.js +2 -2
- package/dist/components/ScalarButton/ScalarButton.vue.script.js.map +1 -1
- package/dist/components/ScalarButton/constants.js.map +1 -1
- package/dist/components/ScalarCard/ScalarCard.vue.script.js +1 -1
- package/dist/components/ScalarCard/ScalarCard.vue.script.js.map +1 -1
- package/dist/components/ScalarCard/ScalarCardFooter.vue.script.js +1 -1
- package/dist/components/ScalarCard/ScalarCardFooter.vue.script.js.map +1 -1
- package/dist/components/ScalarCard/ScalarCardHeader.vue.script.js +1 -1
- package/dist/components/ScalarCard/ScalarCardHeader.vue.script.js.map +1 -1
- package/dist/components/ScalarCard/ScalarCardSection.vue.script.js +1 -1
- package/dist/components/ScalarCard/ScalarCardSection.vue.script.js.map +1 -1
- package/dist/components/ScalarCard/useCardHeading.js +3 -1
- package/dist/components/ScalarCard/useCardHeading.js.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckbox.vue.script.js +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckbox.vue.script.js.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxGroup.vue.d.ts.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxGroup.vue.js.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxGroup.vue.script.js +3 -3
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxGroup.vue.script.js.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxInput.vue.script.js +2 -2
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxInput.vue.script.js.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxRadioGroup.vue.d.ts.map +1 -1
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxRadioGroup.vue.script.js +2 -2
- package/dist/components/ScalarCheckboxInput/ScalarCheckboxRadioGroup.vue.script.js.map +1 -1
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.d.ts.map +1 -1
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.js.map +1 -1
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.script.js +11 -3
- package/dist/components/ScalarCodeBlock/ScalarCodeBlock.vue.script.js.map +1 -1
- package/dist/components/ScalarCodeBlock/ScalarCodeBlockCopy.vue.script.js +2 -2
- package/dist/components/ScalarCodeBlock/ScalarCodeBlockCopy.vue.script.js.map +1 -1
- package/dist/components/ScalarCodeBlock/constants.d.ts +1 -0
- package/dist/components/ScalarCodeBlock/constants.d.ts.map +1 -1
- package/dist/components/ScalarCodeBlock/constants.js +1 -0
- package/dist/components/ScalarCodeBlock/constants.js.map +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggle.vue.d.ts.map +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggle.vue.script.js +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggle.vue.script.js.map +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleButton.vue.script.js +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleButton.vue.script.js.map +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue.js +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue.script.js +1 -1
- package/dist/components/ScalarColorModeToggle/ScalarColorModeToggleIcon.vue.script.js.map +1 -1
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.d.ts +1 -1
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.script.js +3 -3
- package/dist/components/ScalarCombobox/ScalarCombobox.vue.script.js.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.d.ts +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.js.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.script.js +4 -4
- package/dist/components/ScalarCombobox/ScalarComboboxMultiselect.vue.script.js.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOption.vue.script.js +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOption.vue.script.js.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptionGroup.vue.script.js +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptionGroup.vue.script.js.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.d.ts +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.js.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.script.js +6 -10
- package/dist/components/ScalarCombobox/ScalarComboboxOptions.vue.script.js.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxPopover.vue.d.ts.map +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxPopover.vue.script.js +1 -1
- package/dist/components/ScalarCombobox/ScalarComboboxPopover.vue.script.js.map +1 -1
- package/dist/components/ScalarCombobox/filter-by-option-label.js.map +1 -1
- package/dist/components/ScalarCombobox/types.js.map +1 -1
- package/dist/components/ScalarCopy/ScalarCopy.vue.d.ts.map +1 -1
- package/dist/components/ScalarCopy/ScalarCopy.vue.script.js +2 -2
- package/dist/components/ScalarCopy/ScalarCopy.vue.script.js.map +1 -1
- package/dist/components/ScalarCopy/ScalarCopyBackdrop.vue.script.js +1 -1
- package/dist/components/ScalarCopy/ScalarCopyBackdrop.vue.script.js.map +1 -1
- package/dist/components/ScalarCopy/ScalarCopyButton.vue.script.js +2 -2
- package/dist/components/ScalarCopy/ScalarCopyButton.vue.script.js.map +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdown.vue.script.js +2 -2
- package/dist/components/ScalarDropdown/ScalarDropdown.vue.script.js.map +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue.js +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue.script.js +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownButton.vue.script.js.map +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownDivider.vue.js +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownDivider.vue.js.map +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownDivider.vue.script.js.map +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.d.ts.map +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.js +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.script.js +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownItem.vue.script.js.map +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownMenu.vue.script.js +1 -1
- package/dist/components/ScalarDropdown/ScalarDropdownMenu.vue.script.js.map +1 -1
- package/dist/components/ScalarDropdown/useDropdown.js.map +1 -1
- package/dist/components/ScalarErrorBoundary/ScalarErrorBoundary.vue.script.js +2 -2
- package/dist/components/ScalarErrorBoundary/ScalarErrorBoundary.vue.script.js.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.d.ts.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.script.js +3 -3
- package/dist/components/ScalarFileUpload/ScalarFileUpload.vue.script.js.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadDropTarget.vue.script.js +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadDropTarget.vue.script.js.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadError.vue.script.js +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadError.vue.script.js.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadFileList.vue.d.ts.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadFileList.vue.script.js +2 -2
- package/dist/components/ScalarFileUpload/ScalarFileUploadFileList.vue.script.js.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadInput.vue.d.ts.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadInput.vue.script.js +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadInput.vue.script.js.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue.script.js +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadInputCompact.vue.script.js.map +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadLoading.vue.script.js +1 -1
- package/dist/components/ScalarFileUpload/ScalarFileUploadLoading.vue.script.js.map +1 -1
- package/dist/components/ScalarFileUpload/types.js.map +1 -1
- package/dist/components/ScalarFloating/ScalarFloating.vue.script.js +4 -2
- package/dist/components/ScalarFloating/ScalarFloating.vue.script.js.map +1 -1
- package/dist/components/ScalarFloating/ScalarFloatingBackdrop.vue.script.js +1 -1
- package/dist/components/ScalarFloating/ScalarFloatingBackdrop.vue.script.js.map +1 -1
- package/dist/components/ScalarFloating/useResizeWithTarget.js.map +1 -1
- package/dist/components/ScalarForm/ScalarForm.vue.script.js +1 -1
- package/dist/components/ScalarForm/ScalarForm.vue.script.js.map +1 -1
- package/dist/components/ScalarForm/ScalarFormError.vue.script.js +1 -1
- package/dist/components/ScalarForm/ScalarFormError.vue.script.js.map +1 -1
- package/dist/components/ScalarForm/ScalarFormField.vue.script.js +1 -1
- package/dist/components/ScalarForm/ScalarFormField.vue.script.js.map +1 -1
- package/dist/components/ScalarForm/ScalarFormInput.vue.script.js +1 -1
- package/dist/components/ScalarForm/ScalarFormInput.vue.script.js.map +1 -1
- package/dist/components/ScalarForm/ScalarFormInputGroup.vue.script.js +1 -1
- package/dist/components/ScalarForm/ScalarFormInputGroup.vue.script.js.map +1 -1
- package/dist/components/ScalarForm/ScalarFormSection.vue.js +1 -1
- package/dist/components/ScalarForm/ScalarFormSection.vue.js.map +1 -1
- package/dist/components/ScalarForm/ScalarFormSection.vue.script.js.map +1 -1
- package/dist/components/ScalarForm/useFormGroups.js.map +1 -1
- package/dist/components/ScalarHeader/ScalarHeader.vue.script.js +1 -1
- package/dist/components/ScalarHeader/ScalarHeader.vue.script.js.map +1 -1
- package/dist/components/ScalarHeader/ScalarHeaderButton.vue.script.js +1 -1
- package/dist/components/ScalarHeader/ScalarHeaderButton.vue.script.js.map +1 -1
- package/dist/components/ScalarHotkey/ScalarHotkey.vue.script.js +1 -1
- package/dist/components/ScalarHotkey/ScalarHotkey.vue.script.js.map +1 -1
- package/dist/components/ScalarHotkey/constants.js.map +1 -1
- package/dist/components/ScalarHotkey/formatHotkey.js +1 -8
- package/dist/components/ScalarHotkey/formatHotkey.js.map +1 -1
- package/dist/components/ScalarIcon/IconList.vue.d.ts.map +1 -1
- package/dist/components/ScalarIcon/ScalarIcon.vue.js +1 -1
- package/dist/components/ScalarIcon/ScalarIcon.vue.script.js +1 -1
- package/dist/components/ScalarIcon/ScalarIcon.vue.script.js.map +1 -1
- package/dist/components/ScalarIcon/ScalarIconLegacyAdapter.vue.script.js +1 -1
- package/dist/components/ScalarIcon/ScalarIconLegacyAdapter.vue.script.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Add.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Add.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/AddTab.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/AddTab.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Alert.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Alert.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/ArrowLeft.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/ArrowLeft.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/ArrowRight.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/ArrowRight.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Brackets.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Brackets.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Branch.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Branch.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Changelog.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Changelog.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Checkmark.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Checkmark.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/ChevronDown.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/ChevronDown.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/ChevronLeft.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/ChevronLeft.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/ChevronRight.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/ChevronRight.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/ChevronUp.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/ChevronUp.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Clipboard.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Clipboard.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Close.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Close.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/CloseTab.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/CloseTab.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/CloseTabs.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/CloseTabs.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Cloud.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Cloud.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/CodeFolder.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/CodeFolder.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Cog.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Cog.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Collection.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Collection.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Cookie.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Cookie.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/DarkMode.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/DarkMode.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Delete.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Delete.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Discord.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Discord.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/DocsPage.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/DocsPage.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Download.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Download.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Duplicate.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Duplicate.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Edit.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Edit.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Ellipses.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Ellipses.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Email.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Email.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Error.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Error.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Example.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Example.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/ExternalLink.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/ExternalLink.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/FilterList.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/FilterList.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Folder.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Folder.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/GitHub.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/GitHub.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/GitHubLine.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/GitHubLine.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Globe.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Globe.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Google.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Google.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Help.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Help.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Hide.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Hide.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/History.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/History.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/House.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/House.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Import.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Import.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Info.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Info.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Key.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Key.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Leave.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Leave.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/LightDarkModeToggle.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/LightDarkModeToggle.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/LightMode.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/LightMode.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Link.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Link.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Lock.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Lock.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Logo.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Logo.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Magic.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Magic.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Markdown.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Markdown.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Menu.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Menu.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/NotAllowed.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/NotAllowed.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Page.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Page.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Pencil.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Pencil.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Play.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Play.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Refresh.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Refresh.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Roadmap.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Roadmap.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Scribble.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Scribble.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Search.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Search.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Server.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Server.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Settings.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Settings.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Show.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Show.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Sort.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Sort.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Terminal.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Terminal.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Trash.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Trash.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Unlock.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Unlock.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Unwatch.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Unwatch.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Upload.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Upload.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/User.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/User.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/UserSwitch.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/UserSwitch.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Users.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Users.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Versions.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Versions.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Wallet.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Wallet.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Watch.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Watch.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/Workspace.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/Workspace.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/index.d.ts +1 -1
- package/dist/components/ScalarIcon/icons/index.d.ts.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-angular.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-angular.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-astro.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-astro.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-laravel.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-laravel.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-nextdotjs.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-nextdotjs.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-react.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-react.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-vuedotjs.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-framework-vuedotjs.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-c.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-c.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-clojure.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-clojure.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-csharp.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-csharp.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-css3.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-css3.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-dart.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-dart.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-fsharp.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-fsharp.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-go.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-go.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-html5.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-html5.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-http.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-http.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-java.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-java.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-javascript.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-javascript.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-json.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-json.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-julia.svg.virtual.js +36 -0
- package/dist/components/ScalarIcon/icons/programming-language-julia.svg.virtual.js.map +1 -0
- package/dist/components/ScalarIcon/icons/programming-language-kotlin.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-kotlin.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-node.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-node.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-objc.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-objc.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-ocaml.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-ocaml.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-php.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-php.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-powershell.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-powershell.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-python.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-python.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-r.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-r.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-ruby.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-ruby.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-rust.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-rust.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-scala.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-scala.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-shell.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-shell.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-swift.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-swift.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-typescript.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-language-typescript.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-script-code.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-script-code.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-tool-git.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-tool-git.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/icons/programming-tool-tailwindcss.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/icons/programming-tool-tailwindcss.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Adonisjs.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Adonisjs.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Astro.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Astro.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Docusaurus.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Docusaurus.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Dotnet.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Dotnet.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Elysiajs.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Elysiajs.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Express.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Express.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Fastapi.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Fastapi.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Fastify.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Fastify.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Go.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Go.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Hono.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Hono.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Laravel.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Laravel.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Litestar.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Litestar.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Nestjs.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Nestjs.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Nextjs.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Nextjs.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Nitro.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Nitro.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Nuxt.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Nuxt.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Openapi.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Openapi.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Platformatic.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Platformatic.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/React.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/React.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Rust.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Rust.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Svelte.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Svelte.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/logos/Vue.svg.virtual.js +1 -1
- package/dist/components/ScalarIcon/logos/Vue.svg.virtual.js.map +1 -1
- package/dist/components/ScalarIcon/utils/index.js +4 -2
- package/dist/components/ScalarIcon/utils/index.js.map +1 -1
- package/dist/components/ScalarIcon/variants.js.map +1 -1
- package/dist/components/ScalarIconButton/ScalarIconButton.vue.script.js +1 -1
- package/dist/components/ScalarIconButton/ScalarIconButton.vue.script.js.map +1 -1
- package/dist/components/ScalarListbox/ScalarListbox.vue.d.ts.map +1 -1
- package/dist/components/ScalarListbox/ScalarListbox.vue.script.js +1 -1
- package/dist/components/ScalarListbox/ScalarListbox.vue.script.js.map +1 -1
- package/dist/components/ScalarListbox/ScalarListboxCheckbox.vue.script.js +1 -1
- package/dist/components/ScalarListbox/ScalarListboxCheckbox.vue.script.js.map +1 -1
- package/dist/components/ScalarListbox/ScalarListboxInput.vue.script.js +1 -1
- package/dist/components/ScalarListbox/ScalarListboxInput.vue.script.js.map +1 -1
- package/dist/components/ScalarListbox/ScalarListboxItem.vue.script.js +1 -1
- package/dist/components/ScalarListbox/ScalarListboxItem.vue.script.js.map +1 -1
- package/dist/components/ScalarLoading/ScalarLoading.vue.js +1 -1
- package/dist/components/ScalarLoading/ScalarLoading.vue.script.js +1 -1
- package/dist/components/ScalarLoading/ScalarLoading.vue.script.js.map +1 -1
- package/dist/components/ScalarLoading/useLoadingState.js.map +1 -1
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue.script.js +1 -1
- package/dist/components/ScalarMarkdown/ScalarMarkdown.vue.script.js.map +1 -1
- package/dist/components/ScalarMarkdown/ScalarMarkdownSummary.vue.script.js +2 -2
- package/dist/components/ScalarMarkdown/ScalarMarkdownSummary.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenu.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenu.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuButton.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuButton.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuLink.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuLink.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuProduct.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuProduct.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuProducts.vue.d.ts.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuProducts.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuProducts.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuResources.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuResources.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuSection.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuSection.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuSupport.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuSupport.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.d.ts.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuTeamPicker.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuTeamProfile.vue.script.js +1 -1
- package/dist/components/ScalarMenu/ScalarMenuTeamProfile.vue.script.js.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuWorkspacePicker.vue.d.ts.map +1 -1
- package/dist/components/ScalarMenu/ScalarMenuWorkspacePicker.vue.script.js +3 -3
- package/dist/components/ScalarMenu/ScalarMenuWorkspacePicker.vue.script.js.map +1 -1
- package/dist/components/ScalarModal/ScalarModal.vue.d.ts.map +1 -1
- package/dist/components/ScalarModal/ScalarModal.vue.js +3 -3
- package/dist/components/ScalarModal/ScalarModal.vue.script.js +1 -1
- package/dist/components/ScalarModal/ScalarModal.vue.script.js.map +1 -1
- package/dist/components/ScalarPopover/ScalarPopover.vue.script.js +1 -1
- package/dist/components/ScalarPopover/ScalarPopover.vue.script.js.map +1 -1
- package/dist/components/ScalarSavePrompt/ScalarSavePrompt.vue.d.ts.map +1 -1
- package/dist/components/ScalarSavePrompt/ScalarSavePrompt.vue.script.js +3 -3
- package/dist/components/ScalarSavePrompt/ScalarSavePrompt.vue.script.js.map +1 -1
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.d.ts.map +1 -1
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.script.js +2 -2
- package/dist/components/ScalarSearchInput/ScalarSearchInput.vue.script.js.map +1 -1
- package/dist/components/ScalarSearchResults/ScalarSearchResultItem.vue.script.js +1 -1
- package/dist/components/ScalarSearchResults/ScalarSearchResultItem.vue.script.js.map +1 -1
- package/dist/components/ScalarSearchResults/ScalarSearchResultList.vue.script.js +3 -3
- package/dist/components/ScalarSearchResults/ScalarSearchResultList.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebar.vue.script.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebar.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.script.js +3 -3
- package/dist/components/ScalarSidebar/ScalarSidebarButton.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarFooter.vue.script.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarFooter.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.script.js +19 -26
- package/dist/components/ScalarSidebar/ScalarSidebarGroup.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggle.vue.script.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggle.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleButton.vue.d.ts +64 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleButton.vue.d.ts.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleButton.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleButton.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleButton.vue.script.js +41 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleButton.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleSpacer.vue.d.ts +16 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleSpacer.vue.d.ts.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleSpacer.vue.js +7 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleSpacer.vue.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleSpacer.vue.script.js +16 -0
- package/dist/components/ScalarSidebar/ScalarSidebarGroupToggleSpacer.vue.script.js.map +1 -0
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.script.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarIndent.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarItem.vue.script.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarItem.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue.script.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarItems.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarLoading.vue.script.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarLoading.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarNestedItems.vue.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarNestedItems.vue.script.js +4 -4
- package/dist/components/ScalarSidebar/ScalarSidebarNestedItems.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.script.js +6 -6
- package/dist/components/ScalarSidebar/ScalarSidebarSearchButton.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.script.js +2 -2
- package/dist/components/ScalarSidebar/ScalarSidebarSearchInput.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSection.vue.script.js +2 -2
- package/dist/components/ScalarSidebar/ScalarSidebarSection.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.script.js +1 -1
- package/dist/components/ScalarSidebar/ScalarSidebarSpacer.vue.script.js.map +1 -1
- package/dist/components/ScalarSidebar/findScrollContainer.js.map +1 -1
- package/dist/components/ScalarSidebar/index.d.ts +2 -0
- package/dist/components/ScalarSidebar/index.d.ts.map +1 -1
- package/dist/components/ScalarSidebar/index.js +3 -1
- package/dist/components/ScalarSidebar/useSidebarGroups.js +1 -1
- package/dist/components/ScalarSidebar/useSidebarGroups.js.map +1 -1
- package/dist/components/ScalarSidebar/useSidebarNestedItems.js +3 -1
- package/dist/components/ScalarSidebar/useSidebarNestedItems.js.map +1 -1
- package/dist/components/ScalarTeleport/ScalarTeleport.vue.script.js +1 -1
- package/dist/components/ScalarTeleport/ScalarTeleport.vue.script.js.map +1 -1
- package/dist/components/ScalarTeleport/ScalarTeleportRoot.vue.script.js +1 -1
- package/dist/components/ScalarTeleport/ScalarTeleportRoot.vue.script.js.map +1 -1
- package/dist/components/ScalarTeleport/useTeleport.js.map +1 -1
- package/dist/components/ScalarTextArea/ScalarTextArea.vue.d.ts.map +1 -1
- package/dist/components/ScalarTextArea/ScalarTextArea.vue.js.map +1 -1
- package/dist/components/ScalarTextArea/ScalarTextArea.vue.script.js +2 -2
- package/dist/components/ScalarTextArea/ScalarTextArea.vue.script.js.map +1 -1
- package/dist/components/ScalarTextInput/ScalarTextInput.vue.d.ts.map +1 -1
- package/dist/components/ScalarTextInput/ScalarTextInput.vue.js.map +1 -1
- package/dist/components/ScalarTextInput/ScalarTextInput.vue.script.js +4 -4
- package/dist/components/ScalarTextInput/ScalarTextInput.vue.script.js.map +1 -1
- package/dist/components/ScalarTextInput/ScalarTextInputCopy.vue.d.ts.map +1 -1
- package/dist/components/ScalarTextInput/ScalarTextInputCopy.vue.js.map +1 -1
- package/dist/components/ScalarTextInput/ScalarTextInputCopy.vue.script.js +4 -4
- package/dist/components/ScalarTextInput/ScalarTextInputCopy.vue.script.js.map +1 -1
- package/dist/components/ScalarThemeSwatches/ScalarThemeSwatches.vue.script.js +1 -1
- package/dist/components/ScalarThemeSwatches/ScalarThemeSwatches.vue.script.js.map +1 -1
- package/dist/components/ScalarThemeSwatches/useThemeSwatches.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarToggle.vue.d.ts.map +1 -1
- package/dist/components/ScalarToggle/ScalarToggle.vue.script.js +2 -2
- package/dist/components/ScalarToggle/ScalarToggle.vue.script.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarToggleGroup.vue.d.ts.map +1 -1
- package/dist/components/ScalarToggle/ScalarToggleGroup.vue.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarToggleGroup.vue.script.js +3 -3
- package/dist/components/ScalarToggle/ScalarToggleGroup.vue.script.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarToggleInput.vue.script.js +1 -1
- package/dist/components/ScalarToggle/ScalarToggleInput.vue.script.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarToggleSlider.vue.script.js +1 -1
- package/dist/components/ScalarToggle/ScalarToggleSlider.vue.script.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarTristateToggle.vue.d.ts.map +1 -1
- package/dist/components/ScalarToggle/ScalarTristateToggle.vue.script.js +2 -2
- package/dist/components/ScalarToggle/ScalarTristateToggle.vue.script.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarTristateToggleGroup.vue.d.ts.map +1 -1
- package/dist/components/ScalarToggle/ScalarTristateToggleGroup.vue.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarTristateToggleGroup.vue.script.js +3 -3
- package/dist/components/ScalarToggle/ScalarTristateToggleGroup.vue.script.js.map +1 -1
- package/dist/components/ScalarToggle/ScalarTristateToggleInput.vue.script.js +1 -1
- package/dist/components/ScalarToggle/ScalarTristateToggleInput.vue.script.js.map +1 -1
- package/dist/components/ScalarTooltip/ScalarHotkeyTooltip.vue.script.js +1 -1
- package/dist/components/ScalarTooltip/ScalarHotkeyTooltip.vue.script.js.map +1 -1
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.d.ts.map +1 -1
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.js.map +1 -1
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.script.js +1 -1
- package/dist/components/ScalarTooltip/ScalarTooltip.vue.script.js.map +1 -1
- package/dist/components/ScalarTooltip/useTooltip.d.ts.map +1 -1
- package/dist/components/ScalarTooltip/useTooltip.js +40 -1
- package/dist/components/ScalarTooltip/useTooltip.js.map +1 -1
- package/dist/components/ScalarVirtualCodeBlock/ScalarVirtualCodeBlock.vue.script.js +1 -1
- package/dist/components/ScalarVirtualCodeBlock/ScalarVirtualCodeBlock.vue.script.js.map +1 -1
- package/dist/components/ScalarVirtualText/ScalarVirtualText.vue.d.ts.map +1 -1
- package/dist/components/ScalarVirtualText/ScalarVirtualText.vue.js +1 -1
- package/dist/components/ScalarVirtualText/ScalarVirtualText.vue.script.js +1 -1
- package/dist/components/ScalarVirtualText/ScalarVirtualText.vue.script.js.map +1 -1
- package/dist/components/ScalarVirtualText/ScalarVirtualTextSearch.vue.js +1 -1
- package/dist/components/ScalarVirtualText/ScalarVirtualTextSearch.vue.script.js +1 -1
- package/dist/components/ScalarVirtualText/ScalarVirtualTextSearch.vue.script.js.map +1 -1
- package/dist/components/ScalarWrappingText/ScalarWrappingText.vue.d.ts.map +1 -1
- package/dist/components/ScalarWrappingText/ScalarWrappingText.vue.script.js +1 -1
- package/dist/components/ScalarWrappingText/ScalarWrappingText.vue.script.js.map +1 -1
- package/dist/components/ScalarWrappingText/constants.js +5 -0
- package/dist/components/ScalarWrappingText/constants.js.map +1 -1
- package/dist/helpers/add-scalar-classes.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/style.css +76 -46
- package/dist/vue-styles.css +20 -21
- package/package.json +14 -14
|
@@ -2,7 +2,7 @@ import ScalarFormInput_default from "../ScalarForm/ScalarFormInput.vue.js";
|
|
|
2
2
|
import { useBindCx } from "@scalar/use-hooks/useBindCx";
|
|
3
3
|
import { createBlock, createElementVNode, defineComponent, mergeProps, onMounted, openBlock, unref, useModel, vModelText, withCtx, withDirectives } from "vue";
|
|
4
4
|
import { useTextareaAutosize } from "@vueuse/core";
|
|
5
|
-
var ScalarTextArea_vue_vue_type_script_setup_true_lang_default =
|
|
5
|
+
var ScalarTextArea_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
6
6
|
inheritAttrs: false,
|
|
7
7
|
__name: "ScalarTextArea",
|
|
8
8
|
props: {
|
|
@@ -21,7 +21,7 @@ var ScalarTextArea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
21
21
|
if ("autofocus" in otherAttrs.value) textarea.value?.focus();
|
|
22
22
|
});
|
|
23
23
|
return (_ctx, _cache) => {
|
|
24
|
-
return openBlock(), createBlock(unref(ScalarFormInput_default), mergeProps({ is: "div" }, unref(stylingAttrsCx)("custom-scroll flex
|
|
24
|
+
return openBlock(), createBlock(unref(ScalarFormInput_default), mergeProps({ is: "div" }, unref(stylingAttrsCx)("custom-scroll flex min-h-0 shrink cursor-text items-start bg-b-1 text-c-1 leading-snug dark:bg-b-1.5"), { onClick: _cache[1] || (_cache[1] = ($event) => unref(textarea)?.focus()) }), {
|
|
25
25
|
default: withCtx(() => [withDirectives(createElementVNode("textarea", mergeProps({
|
|
26
26
|
ref_key: "textarea",
|
|
27
27
|
ref: textarea,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTextArea.vue.script.js","names":[],"sources":["../../../src/components/ScalarTextArea/ScalarTextArea.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Area component\n *\n * A wrapper around the HTML textarea element with a focusable container.\n *\n * @example\n * <ScalarTextArea v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { useTextareaAutosize } from '@vueuse/core'\nimport { onMounted } from 'vue'\n\nimport { ScalarFormInput } from '../ScalarForm'\n\nconst model = defineModel<string>({ default: '' })\n\nconst { textarea } = useTextareaAutosize({\n input: model,\n styleProp: 'minHeight',\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n\nonMounted(() => {\n // Force autofocus if the textarea has the autofocus attribute\n if ('autofocus' in otherAttrs.value) textarea.value?.focus()\n})\n</script>\n<template>\n <ScalarFormInput\n is=\"div\"\n v-bind=\"\n stylingAttrsCx(\n 'custom-scroll flex
|
|
1
|
+
{"version":3,"file":"ScalarTextArea.vue.script.js","names":[],"sources":["../../../src/components/ScalarTextArea/ScalarTextArea.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Area component\n *\n * A wrapper around the HTML textarea element with a focusable container.\n *\n * @example\n * <ScalarTextArea v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { useTextareaAutosize } from '@vueuse/core'\nimport { onMounted } from 'vue'\n\nimport { ScalarFormInput } from '../ScalarForm'\n\nconst model = defineModel<string>({ default: '' })\n\nconst { textarea } = useTextareaAutosize({\n input: model,\n styleProp: 'minHeight',\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n\nonMounted(() => {\n // Force autofocus if the textarea has the autofocus attribute\n if ('autofocus' in otherAttrs.value) textarea.value?.focus()\n})\n</script>\n<template>\n <ScalarFormInput\n is=\"div\"\n v-bind=\"\n stylingAttrsCx(\n 'custom-scroll flex min-h-0 shrink cursor-text items-start bg-b-1 text-c-1 leading-snug dark:bg-b-1.5',\n )\n \"\n @click=\"textarea?.focus()\">\n <textarea\n ref=\"textarea\"\n v-model=\"model\"\n v-bind=\"otherAttrs\"\n class=\"w-full resize-none rounded-none border-none bg-transparent placeholder:font-[inherit] focus-within:outline-none\" />\n </ScalarFormInput>\n</template>\n"],"mappings":";;;;;;;;;;;;;EAkBA,MAAM,QAAQ,SAAmB,SAAA,YAAgB;EAEjD,MAAM,EAAE,aAAa,oBAAoB;GACvC,OAAO;GACP,WAAW;EACb,CAAC;EAGD,MAAM,EAAE,gBAAgB,eAAe,UAAU;EAEjD,gBAAgB;GAEd,IAAI,eAAe,WAAW,OAAO,SAAS,OAAO,MAAM;EAC7D,CAAC;;uBAGC,YAakB,MAAA,uBAAA,GAblB,WAakB,EAZhB,IAAG,MAAK,GACO,MAAA,cAAA,CAAc,CAAA,sGAAA,GAAA,EAK5B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,QAAA,CAAQ,EAAE,MAAK,GAAA,CAAA,GAAA;2BAKqG,CAAA,eAJ5H,mBAI4H,YAJ5H,WAI4H;cAHtH;KAAJ,KAAI;wEACU,QAAA;OACN,MAAA,UAAA,GAAU,EAClB,OAAM,kHAAiH,CAAA,GAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YAF9G,MAAA,KAAK,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTextInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarTextInput/ScalarTextInput.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarTextInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarTextInput/ScalarTextInput.vue"],"names":[],"mappings":"AAwGA;;;;;;;GAOG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;eAEL,OAAO;;iBA8CP,MAAM;;;;;;eA9CN,OAAO;;iBA8CP,MAAM;;;;;aAjCR,MAAM,OAAO;aAEb,MAAM,OAAO;YAEd,MAAM,OAAO;EAiKnB,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTextInput.vue.js","names":[],"sources":["../../../src/components/ScalarTextInput/ScalarTextInput.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Input component\n *\n * A wrapper around the HTML input element with a focusable container.\n *\n * @example\n * <ScalarTextInput v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { onMounted, ref } from 'vue'\n\nimport { ScalarFormInput } from '../ScalarForm'\n\nconst { readonly } = defineProps<{\n readonly?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the input is clicked */\n (e: 'click', event: MouseEvent): void\n}>()\n\ndefineSlots<{\n /* Text content to display before the input text */\n prefix?: () => unknown\n /*Text content to display after the input text */\n suffix?: () => unknown\n /* Text content to display to the right of the input */\n aside?: () => unknown\n}>()\n\nconst model = defineModel<string>()\n\nconst input = ref<HTMLInputElement>()\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n\nonMounted(() => {\n // Force autofocus if the input has the autofocus attribute\n if ('autofocus' in otherAttrs.value) input.value?.focus()\n})\n\nfunction handleClick(event: MouseEvent) {\n // Re-emit the click event to any consumers\n emit('click', event)\n\n if (readonly) {\n input.value?.select() // If readonly, select the input on click\n } else {\n input.value?.focus() // If not readonly, focus the input on click\n }\n}\n</script>\n<template>\n <ScalarFormInput\n is=\"div\"\n v-bind=\"
|
|
1
|
+
{"version":3,"file":"ScalarTextInput.vue.js","names":[],"sources":["../../../src/components/ScalarTextInput/ScalarTextInput.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Input component\n *\n * A wrapper around the HTML input element with a focusable container.\n *\n * @example\n * <ScalarTextInput v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { onMounted, ref } from 'vue'\n\nimport { ScalarFormInput } from '../ScalarForm'\n\nconst { readonly } = defineProps<{\n readonly?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the input is clicked */\n (e: 'click', event: MouseEvent): void\n}>()\n\ndefineSlots<{\n /* Text content to display before the input text */\n prefix?: () => unknown\n /*Text content to display after the input text */\n suffix?: () => unknown\n /* Text content to display to the right of the input */\n aside?: () => unknown\n}>()\n\nconst model = defineModel<string>()\n\nconst input = ref<HTMLInputElement>()\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n\nonMounted(() => {\n // Force autofocus if the input has the autofocus attribute\n if ('autofocus' in otherAttrs.value) input.value?.focus()\n})\n\nfunction handleClick(event: MouseEvent) {\n // Re-emit the click event to any consumers\n emit('click', event)\n\n if (readonly) {\n input.value?.select() // If readonly, select the input on click\n } else {\n input.value?.focus() // If not readonly, focus the input on click\n }\n}\n</script>\n<template>\n <ScalarFormInput\n is=\"div\"\n v-bind=\"stylingAttrsCx('cursor-text bg-b-1 text-c-1 dark:bg-b-1.5')\"\n @click=\"handleClick\">\n <div class=\"flex items-center flex-1 relative\">\n <div\n v-if=\"$slots.prefix\"\n class=\"select-none whitespace-nowrap text-transparent\">\n <slot name=\"prefix\" />\n </div>\n <input\n ref=\"input\"\n v-model=\"model\"\n :aria-readonly=\"readonly || undefined\"\n class=\"z-1 min-w-0 flex-1 rounded-none border-none bg-transparent placeholder:font-[inherit] focus-within:outline-none\"\n :readonly\n v-bind=\"otherAttrs\" />\n <div\n v-if=\"$slots.prefix || $slots.suffix\"\n class=\"absolute flex items-center inset-0 select-none overflow-hidden whitespace-nowrap\">\n <span\n v-if=\"$slots.prefix\"\n class=\"text-c-2\">\n <slot name=\"prefix\" />\n </span>\n <span class=\"text-transparent\">{{ model || $attrs.placeholder }}</span>\n <span\n v-if=\"$slots.suffix\"\n class=\"text-c-2\">\n <slot name=\"suffix\" />\n </span>\n </div>\n </div>\n <slot name=\"aside\" />\n </ScalarFormInput>\n</template>\n"],"mappings":""}
|
|
@@ -21,14 +21,14 @@ var _hoisted_7 = {
|
|
|
21
21
|
key: 1,
|
|
22
22
|
class: "text-c-2"
|
|
23
23
|
};
|
|
24
|
-
var ScalarTextInput_vue_vue_type_script_setup_true_lang_default =
|
|
24
|
+
var ScalarTextInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
25
25
|
inheritAttrs: false,
|
|
26
26
|
__name: "ScalarTextInput",
|
|
27
|
-
props:
|
|
27
|
+
props: /*@__PURE__*/ mergeModels({ readonly: { type: Boolean } }, {
|
|
28
28
|
"modelValue": {},
|
|
29
29
|
"modelModifiers": {}
|
|
30
30
|
}),
|
|
31
|
-
emits:
|
|
31
|
+
emits: /*@__PURE__*/ mergeModels(["click"], ["update:modelValue"]),
|
|
32
32
|
setup(__props, { emit: __emit }) {
|
|
33
33
|
const emit = __emit;
|
|
34
34
|
const model = useModel(__props, "modelValue");
|
|
@@ -43,7 +43,7 @@ var ScalarTextInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
|
|
|
43
43
|
else input.value?.focus();
|
|
44
44
|
}
|
|
45
45
|
return (_ctx, _cache) => {
|
|
46
|
-
return openBlock(), createBlock(unref(ScalarFormInput_default), mergeProps({ is: "div" }, unref(stylingAttrsCx)("cursor-text text-c-1
|
|
46
|
+
return openBlock(), createBlock(unref(ScalarFormInput_default), mergeProps({ is: "div" }, unref(stylingAttrsCx)("cursor-text bg-b-1 text-c-1 dark:bg-b-1.5"), { onClick: handleClick }), {
|
|
47
47
|
default: withCtx(() => [createElementVNode("div", _hoisted_1, [
|
|
48
48
|
_ctx.$slots.prefix ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "prefix")])) : createCommentVNode("", true),
|
|
49
49
|
withDirectives(createElementVNode("input", mergeProps({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTextInput.vue.script.js","names":["$slots","$attrs"],"sources":["../../../src/components/ScalarTextInput/ScalarTextInput.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Input component\n *\n * A wrapper around the HTML input element with a focusable container.\n *\n * @example\n * <ScalarTextInput v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { onMounted, ref } from 'vue'\n\nimport { ScalarFormInput } from '../ScalarForm'\n\nconst { readonly } = defineProps<{\n readonly?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the input is clicked */\n (e: 'click', event: MouseEvent): void\n}>()\n\ndefineSlots<{\n /* Text content to display before the input text */\n prefix?: () => unknown\n /*Text content to display after the input text */\n suffix?: () => unknown\n /* Text content to display to the right of the input */\n aside?: () => unknown\n}>()\n\nconst model = defineModel<string>()\n\nconst input = ref<HTMLInputElement>()\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n\nonMounted(() => {\n // Force autofocus if the input has the autofocus attribute\n if ('autofocus' in otherAttrs.value) input.value?.focus()\n})\n\nfunction handleClick(event: MouseEvent) {\n // Re-emit the click event to any consumers\n emit('click', event)\n\n if (readonly) {\n input.value?.select() // If readonly, select the input on click\n } else {\n input.value?.focus() // If not readonly, focus the input on click\n }\n}\n</script>\n<template>\n <ScalarFormInput\n is=\"div\"\n v-bind=\"
|
|
1
|
+
{"version":3,"file":"ScalarTextInput.vue.script.js","names":["$slots","$attrs"],"sources":["../../../src/components/ScalarTextInput/ScalarTextInput.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Input component\n *\n * A wrapper around the HTML input element with a focusable container.\n *\n * @example\n * <ScalarTextInput v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\nimport { onMounted, ref } from 'vue'\n\nimport { ScalarFormInput } from '../ScalarForm'\n\nconst { readonly } = defineProps<{\n readonly?: boolean\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the input is clicked */\n (e: 'click', event: MouseEvent): void\n}>()\n\ndefineSlots<{\n /* Text content to display before the input text */\n prefix?: () => unknown\n /*Text content to display after the input text */\n suffix?: () => unknown\n /* Text content to display to the right of the input */\n aside?: () => unknown\n}>()\n\nconst model = defineModel<string>()\n\nconst input = ref<HTMLInputElement>()\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n\nonMounted(() => {\n // Force autofocus if the input has the autofocus attribute\n if ('autofocus' in otherAttrs.value) input.value?.focus()\n})\n\nfunction handleClick(event: MouseEvent) {\n // Re-emit the click event to any consumers\n emit('click', event)\n\n if (readonly) {\n input.value?.select() // If readonly, select the input on click\n } else {\n input.value?.focus() // If not readonly, focus the input on click\n }\n}\n</script>\n<template>\n <ScalarFormInput\n is=\"div\"\n v-bind=\"stylingAttrsCx('cursor-text bg-b-1 text-c-1 dark:bg-b-1.5')\"\n @click=\"handleClick\">\n <div class=\"flex items-center flex-1 relative\">\n <div\n v-if=\"$slots.prefix\"\n class=\"select-none whitespace-nowrap text-transparent\">\n <slot name=\"prefix\" />\n </div>\n <input\n ref=\"input\"\n v-model=\"model\"\n :aria-readonly=\"readonly || undefined\"\n class=\"z-1 min-w-0 flex-1 rounded-none border-none bg-transparent placeholder:font-[inherit] focus-within:outline-none\"\n :readonly\n v-bind=\"otherAttrs\" />\n <div\n v-if=\"$slots.prefix || $slots.suffix\"\n class=\"absolute flex items-center inset-0 select-none overflow-hidden whitespace-nowrap\">\n <span\n v-if=\"$slots.prefix\"\n class=\"text-c-2\">\n <slot name=\"prefix\" />\n </span>\n <span class=\"text-transparent\">{{ model || $attrs.placeholder }}</span>\n <span\n v-if=\"$slots.suffix\"\n class=\"text-c-2\">\n <slot name=\"suffix\" />\n </span>\n </div>\n </div>\n <slot name=\"aside\" />\n </ScalarFormInput>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBA,MAAM,OAAO;EAcb,MAAM,QAAQ,SAAmB,SAAA,YAAC;EAElC,MAAM,QAAQ,IAAsB;EAGpC,MAAM,EAAE,gBAAgB,eAAe,UAAU;EAEjD,gBAAgB;GAEd,IAAI,eAAe,WAAW,OAAO,MAAM,OAAO,MAAM;EAC1D,CAAC;EAED,SAAS,YAAY,OAAmB;GAEtC,KAAK,SAAS,KAAK;GAEnB,IAAI,QAAA,UACF,MAAM,OAAO,OAAO;QAEpB,MAAM,OAAO,MAAM;EAEvB;;uBAGE,YAkCkB,MAAA,uBAAA,GAlClB,WAkCkB,EAjChB,IAAG,MAAK,GACA,MAAA,cAAA,CAAc,CAAA,2CAAA,GAAA,EACrB,SAAO,YAAW,CAAA,GAAA;2BA6Bb,CA5BN,mBA4BM,OA5BN,YA4BM;KA1BIA,KAAAA,OAAO,UAAA,UAAA,GADf,mBAIM,OAJN,YAIM,CADJ,WAAsB,KAAA,QAAA,QAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;oBAExB,mBAMwB,SANxB,WAMwB;eALlB;MAAJ,KAAI;yEACU,QAAA;MACb,iBAAe,QAAA,YAAY,KAAA;MAC5B,OAAM;MACL,UAAA,QAAA;QACO,MAAA,UAAA,CAAU,GAAA,MAAA,IAAA,UAAA,GAAA,CAAA,CAAA,eAJT,MAAA,KAAK,CAAA,CAAA;KAMRA,KAAAA,OAAO,UAAUA,KAAAA,OAAO,UAAA,UAAA,GADhC,mBAcM,OAdN,YAcM;MAVIA,KAAAA,OAAO,UAAA,UAAA,GADf,mBAIO,QAJP,YAIO,CADL,WAAsB,KAAA,QAAA,QAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;MAExB,mBAAuE,QAAvE,YAAuE,gBAArC,MAAA,SAASC,KAAAA,OAAO,WAAW,GAAA,CAAA;MAErDD,KAAAA,OAAO,UAAA,UAAA,GADf,mBAIO,QAJP,YAIO,CADL,WAAsB,KAAA,QAAA,QAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;;QAI5B,WAAqB,KAAA,QAAA,OAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTextInputCopy.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarTextInput/ScalarTextInputCopy.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarTextInputCopy.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarTextInput/ScalarTextInputCopy.vue"],"names":[],"mappings":"AAiGA;;;;;;;;GAQG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;IAEhB,uCAAuC;eAC5B,MAAM;IACjB,oCAAoC;eACzB,OAAO;IAClB,2DAA2D;gBAC/C,OAAO;;iBAyCR,MAAM;aACR,OAAO;;;;;IA/ChB,uCAAuC;eAC5B,MAAM;IACjB,oCAAoC;eACzB,OAAO;IAClB,2DAA2D;gBAC/C,OAAO;;iBAyCR,MAAM;aACR,OAAO;;;;;aAnCP,MAAM,OAAO;aAEb,MAAM,OAAO;YAEd,MAAM,OAAO;WAEd,MAAM,OAAO;aAEX,MAAM,OAAO;EA0KpB,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTextInputCopy.vue.js","names":[],"sources":["../../../src/components/ScalarTextInput/ScalarTextInputCopy.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Input Copy component\n *\n * A wrapper around the ScalarTextInput component that provides a\n * copy button and allows copying of the input content to the clipboard.\n *\n * @example\n * <ScalarTextInputCopy v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useClipboard } from '@vueuse/core'\nimport { onMounted, watch } from 'vue'\n\nimport { ScalarCopyBackdrop, ScalarCopyButton } from '../ScalarCopy'\nimport ScalarTextInput from './ScalarTextInput.vue'\n\nconst { duration = 1500, immediate } = defineProps<{\n /** The placement of the copy button */\n duration?: number\n /** Whether the input is writable */\n editable?: boolean\n /** Whether to copy the model value immediately on mount */\n immediate?: boolean\n}>()\n\ndefineSlots<{\n /* Text content to display before the input text */\n prefix?: () => unknown\n /*Text content to display after the input text */\n suffix?: () => unknown\n /* Text content to display to the right of the input */\n aside?: () => unknown\n /* Override the label for the copy button */\n copy?: () => unknown\n /* Override the label for the copy button when the content has been copied */\n copied?: () => unknown\n}>()\n\nonMounted(() => {\n // Copy the model value immediately on mount if immediate is true\n if (immediate && model.value) copy(model.value)\n})\n\nconst model = defineModel<string>()\n\nconst copied = defineModel<boolean>('copied', { default: false })\n\nconst { copy, copied: clipboardCopied } = useClipboard({\n legacy: true,\n copiedDuring: duration,\n})\n\n/** Watch the clipboard copied state and emit it to the consuming component */\nwatch(clipboardCopied, (v) => (copied.value = v))\n</script>\n<template>\n <ScalarTextInput\n v-model=\"model\"\n :readonly=\"!editable\"\n @click=\"model && copy(model)\">\n <template #aside>\n <ScalarCopyButton\n class=\"z-1\"\n :copied=\"copied || clipboardCopied\"\n placement=\"left\"\n @click.stop=\"model && copy(model)\">\n <template\n v-if=\"$slots.copy\"\n #copy>\n <slot name=\"copy\" />\n </template>\n <template\n v-if=\"$slots.copied\"\n #copied>\n <slot name=\"copied\" />\n </template>\n <template #backdrop>\n <ScalarCopyBackdrop
|
|
1
|
+
{"version":3,"file":"ScalarTextInputCopy.vue.js","names":[],"sources":["../../../src/components/ScalarTextInput/ScalarTextInputCopy.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Input Copy component\n *\n * A wrapper around the ScalarTextInput component that provides a\n * copy button and allows copying of the input content to the clipboard.\n *\n * @example\n * <ScalarTextInputCopy v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useClipboard } from '@vueuse/core'\nimport { onMounted, watch } from 'vue'\n\nimport { ScalarCopyBackdrop, ScalarCopyButton } from '../ScalarCopy'\nimport ScalarTextInput from './ScalarTextInput.vue'\n\nconst { duration = 1500, immediate } = defineProps<{\n /** The placement of the copy button */\n duration?: number\n /** Whether the input is writable */\n editable?: boolean\n /** Whether to copy the model value immediately on mount */\n immediate?: boolean\n}>()\n\ndefineSlots<{\n /* Text content to display before the input text */\n prefix?: () => unknown\n /*Text content to display after the input text */\n suffix?: () => unknown\n /* Text content to display to the right of the input */\n aside?: () => unknown\n /* Override the label for the copy button */\n copy?: () => unknown\n /* Override the label for the copy button when the content has been copied */\n copied?: () => unknown\n}>()\n\nonMounted(() => {\n // Copy the model value immediately on mount if immediate is true\n if (immediate && model.value) copy(model.value)\n})\n\nconst model = defineModel<string>()\n\nconst copied = defineModel<boolean>('copied', { default: false })\n\nconst { copy, copied: clipboardCopied } = useClipboard({\n legacy: true,\n copiedDuring: duration,\n})\n\n/** Watch the clipboard copied state and emit it to the consuming component */\nwatch(clipboardCopied, (v) => (copied.value = v))\n</script>\n<template>\n <ScalarTextInput\n v-model=\"model\"\n :readonly=\"!editable\"\n @click=\"model && copy(model)\">\n <template #aside>\n <ScalarCopyButton\n class=\"z-1 bg-b-1 hover:bg-b-1.5 dark:bg-b-2 dark:hover:bg-b-2\"\n :copied=\"copied || clipboardCopied\"\n placement=\"left\"\n @click.stop=\"model && copy(model)\">\n <template\n v-if=\"$slots.copy\"\n #copy>\n <slot name=\"copy\" />\n </template>\n <template\n v-if=\"$slots.copied\"\n #copied>\n <slot name=\"copied\" />\n </template>\n <template #backdrop>\n <ScalarCopyBackdrop\n class=\"bg-b-1 group-hover/copy-button:bg-b-1.5 dark:bg-b-1.5 dark:group-hover/copy-button:bg-b-1.5\" />\n </template>\n </ScalarCopyButton>\n </template>\n </ScalarTextInput>\n</template>\n"],"mappings":""}
|
|
@@ -3,9 +3,9 @@ import ScalarCopyButton_default from "../ScalarCopy/ScalarCopyButton.vue.js";
|
|
|
3
3
|
import ScalarTextInput_default from "./ScalarTextInput.vue.js";
|
|
4
4
|
import { createBlock, createSlots, createVNode, defineComponent, mergeModels, onMounted, openBlock, renderSlot, unref, useModel, watch, withCtx, withModifiers } from "vue";
|
|
5
5
|
import { useClipboard } from "@vueuse/core";
|
|
6
|
-
var ScalarTextInputCopy_vue_vue_type_script_setup_true_lang_default =
|
|
6
|
+
var ScalarTextInputCopy_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
7
7
|
__name: "ScalarTextInputCopy",
|
|
8
|
-
props:
|
|
8
|
+
props: /*@__PURE__*/ mergeModels({
|
|
9
9
|
duration: { default: 1500 },
|
|
10
10
|
editable: { type: Boolean },
|
|
11
11
|
immediate: { type: Boolean }
|
|
@@ -39,12 +39,12 @@ var ScalarTextInputCopy_vue_vue_type_script_setup_true_lang_default = /* @__PURE
|
|
|
39
39
|
onClick: _cache[2] || (_cache[2] = ($event) => model.value && unref(copy)(model.value))
|
|
40
40
|
}, {
|
|
41
41
|
aside: withCtx(() => [createVNode(unref(ScalarCopyButton_default), {
|
|
42
|
-
class: "z-1",
|
|
42
|
+
class: "z-1 bg-b-1 hover:bg-b-1.5 dark:bg-b-2 dark:hover:bg-b-2",
|
|
43
43
|
copied: copied.value || unref(clipboardCopied),
|
|
44
44
|
placement: "left",
|
|
45
45
|
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => model.value && unref(copy)(model.value), ["stop"]))
|
|
46
46
|
}, createSlots({
|
|
47
|
-
backdrop: withCtx(() => [createVNode(unref(ScalarCopyBackdrop_default), { class: "bg-b-1.5" })]),
|
|
47
|
+
backdrop: withCtx(() => [createVNode(unref(ScalarCopyBackdrop_default), { class: "bg-b-1 group-hover/copy-button:bg-b-1.5 dark:bg-b-1.5 dark:group-hover/copy-button:bg-b-1.5" })]),
|
|
48
48
|
_: 2
|
|
49
49
|
}, [_ctx.$slots.copy ? {
|
|
50
50
|
name: "copy",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTextInputCopy.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTextInput/ScalarTextInputCopy.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Input Copy component\n *\n * A wrapper around the ScalarTextInput component that provides a\n * copy button and allows copying of the input content to the clipboard.\n *\n * @example\n * <ScalarTextInputCopy v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useClipboard } from '@vueuse/core'\nimport { onMounted, watch } from 'vue'\n\nimport { ScalarCopyBackdrop, ScalarCopyButton } from '../ScalarCopy'\nimport ScalarTextInput from './ScalarTextInput.vue'\n\nconst { duration = 1500, immediate } = defineProps<{\n /** The placement of the copy button */\n duration?: number\n /** Whether the input is writable */\n editable?: boolean\n /** Whether to copy the model value immediately on mount */\n immediate?: boolean\n}>()\n\ndefineSlots<{\n /* Text content to display before the input text */\n prefix?: () => unknown\n /*Text content to display after the input text */\n suffix?: () => unknown\n /* Text content to display to the right of the input */\n aside?: () => unknown\n /* Override the label for the copy button */\n copy?: () => unknown\n /* Override the label for the copy button when the content has been copied */\n copied?: () => unknown\n}>()\n\nonMounted(() => {\n // Copy the model value immediately on mount if immediate is true\n if (immediate && model.value) copy(model.value)\n})\n\nconst model = defineModel<string>()\n\nconst copied = defineModel<boolean>('copied', { default: false })\n\nconst { copy, copied: clipboardCopied } = useClipboard({\n legacy: true,\n copiedDuring: duration,\n})\n\n/** Watch the clipboard copied state and emit it to the consuming component */\nwatch(clipboardCopied, (v) => (copied.value = v))\n</script>\n<template>\n <ScalarTextInput\n v-model=\"model\"\n :readonly=\"!editable\"\n @click=\"model && copy(model)\">\n <template #aside>\n <ScalarCopyButton\n class=\"z-1\"\n :copied=\"copied || clipboardCopied\"\n placement=\"left\"\n @click.stop=\"model && copy(model)\">\n <template\n v-if=\"$slots.copy\"\n #copy>\n <slot name=\"copy\" />\n </template>\n <template\n v-if=\"$slots.copied\"\n #copied>\n <slot name=\"copied\" />\n </template>\n <template #backdrop>\n <ScalarCopyBackdrop
|
|
1
|
+
{"version":3,"file":"ScalarTextInputCopy.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTextInput/ScalarTextInputCopy.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Text Input Copy component\n *\n * A wrapper around the ScalarTextInput component that provides a\n * copy button and allows copying of the input content to the clipboard.\n *\n * @example\n * <ScalarTextInputCopy v-model=\"model\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useClipboard } from '@vueuse/core'\nimport { onMounted, watch } from 'vue'\n\nimport { ScalarCopyBackdrop, ScalarCopyButton } from '../ScalarCopy'\nimport ScalarTextInput from './ScalarTextInput.vue'\n\nconst { duration = 1500, immediate } = defineProps<{\n /** The placement of the copy button */\n duration?: number\n /** Whether the input is writable */\n editable?: boolean\n /** Whether to copy the model value immediately on mount */\n immediate?: boolean\n}>()\n\ndefineSlots<{\n /* Text content to display before the input text */\n prefix?: () => unknown\n /*Text content to display after the input text */\n suffix?: () => unknown\n /* Text content to display to the right of the input */\n aside?: () => unknown\n /* Override the label for the copy button */\n copy?: () => unknown\n /* Override the label for the copy button when the content has been copied */\n copied?: () => unknown\n}>()\n\nonMounted(() => {\n // Copy the model value immediately on mount if immediate is true\n if (immediate && model.value) copy(model.value)\n})\n\nconst model = defineModel<string>()\n\nconst copied = defineModel<boolean>('copied', { default: false })\n\nconst { copy, copied: clipboardCopied } = useClipboard({\n legacy: true,\n copiedDuring: duration,\n})\n\n/** Watch the clipboard copied state and emit it to the consuming component */\nwatch(clipboardCopied, (v) => (copied.value = v))\n</script>\n<template>\n <ScalarTextInput\n v-model=\"model\"\n :readonly=\"!editable\"\n @click=\"model && copy(model)\">\n <template #aside>\n <ScalarCopyButton\n class=\"z-1 bg-b-1 hover:bg-b-1.5 dark:bg-b-2 dark:hover:bg-b-2\"\n :copied=\"copied || clipboardCopied\"\n placement=\"left\"\n @click.stop=\"model && copy(model)\">\n <template\n v-if=\"$slots.copy\"\n #copy>\n <slot name=\"copy\" />\n </template>\n <template\n v-if=\"$slots.copied\"\n #copied>\n <slot name=\"copied\" />\n </template>\n <template #backdrop>\n <ScalarCopyBackdrop\n class=\"bg-b-1 group-hover/copy-button:bg-b-1.5 dark:bg-b-1.5 dark:group-hover/copy-button:bg-b-1.5\" />\n </template>\n </ScalarCopyButton>\n </template>\n </ScalarTextInput>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAyCA,gBAAgB;GAEd,IAAI,QAAA,aAAa,MAAM,OAAO,KAAK,MAAM,KAAK;EAChD,CAAC;EAED,MAAM,QAAQ,SAAmB,SAAA,YAAC;EAElC,MAAM,SAAS,SAAoB,SAAC,QAA4B;EAEhE,MAAM,EAAE,MAAM,QAAQ,oBAAoB,aAAa;GACrD,QAAQ;GACR,cAAc,QAAA;EAChB,CAAC;;EAGD,MAAM,kBAAkB,MAAO,OAAO,QAAQ,CAAE;;uBAG9C,YA0BkB,yBAAA;gBAzBP,MAAA;uEAAK,QAAA;IACb,UAAQ,CAAG,QAAA;IACX,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,SAAS,MAAA,IAAA,CAAI,CAAC,MAAA,KAAK;;IAChB,OAAK,cAoBK,CAnBnB,YAmBmB,MAAA,wBAAA,GAAA;KAlBjB,OAAM;KACL,QAAQ,OAAA,SAAU,MAAA,eAAA;KACnB,WAAU;KACT,SAAK,OAAA,OAAA,OAAA,KAAA,eAAA,WAAO,MAAA,SAAS,MAAA,IAAA,CAAI,CAAC,MAAA,KAAK,GAAA,CAAA,MAAA,CAAA;;KAWrB,UAAQ,cAEuF,CADxG,YACwG,MAAA,0BAAA,GAAA,EAAtG,OAAM,8FAA6F,CAAA,CAAA,CAAA;;QAX/FA,KAAAA,OAAO,OAAA;WACZ;uBACmB,CAApB,WAAoB,KAAA,QAAA,MAAA,CAAA,CAAA;;gBAGdA,KAAAA,OAAO,SAAA;WACZ;uBACqB,CAAtB,WAAsB,KAAA,QAAA,QAAA,CAAA,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { THEME_CSS_VARS, useThemeSwatches } from "./useThemeSwatches.js";
|
|
2
2
|
import { useBindCx } from "@scalar/use-hooks/useBindCx";
|
|
3
3
|
import { Fragment, createElementBlock, defineComponent, mergeProps, normalizeStyle, openBlock, renderList, unref } from "vue";
|
|
4
|
-
var ScalarThemeSwatches_vue_vue_type_script_setup_true_lang_default =
|
|
4
|
+
var ScalarThemeSwatches_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
5
|
inheritAttrs: false,
|
|
6
6
|
__name: "ScalarThemeSwatches",
|
|
7
7
|
props: { css: {} },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarThemeSwatches.vue.script.js","names":[],"sources":["../../../src/components/ScalarThemeSwatches/ScalarThemeSwatches.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Theme Swatches component\n *\n * Displays the light and dark mode swatches for a given theme CSS string\n *\n * @example\n * <ScalarThemeSwatches :css=\"theme\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\n\nimport { THEME_CSS_VARS, useThemeSwatches } from './useThemeSwatches'\n\nconst { css } = defineProps<{\n css: string\n}>()\n\nconst { colors } = useThemeSwatches(() => css)\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <div\n :style=\"{\n '--bg-light': colors.light['--scalar-background-1'],\n '--bg-dark': colors.dark['--scalar-background-1'],\n }\"\n v-bind=\"\n cx(\n 'flex *:size-3 overflow-hidden rounded',\n 'bg-(--bg-light) dark:bg-(--bg-dark)',\n )\n \">\n <div\n v-for=\"v in THEME_CSS_VARS\"\n :key=\"v\"\n class=\"bg-(--bg-light) dark:bg-(--bg-dark)\"\n :style=\"{ '--bg-light': colors.light[v], '--bg-dark': colors.dark[v] }\" />\n </div>\n</template>\n"],"mappings":";;;;;;;;EAoBA,MAAM,EAAE,WAAW,uBAAuB,QAAA,
|
|
1
|
+
{"version":3,"file":"ScalarThemeSwatches.vue.script.js","names":[],"sources":["../../../src/components/ScalarThemeSwatches/ScalarThemeSwatches.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Theme Swatches component\n *\n * Displays the light and dark mode swatches for a given theme CSS string\n *\n * @example\n * <ScalarThemeSwatches :css=\"theme\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\n\nimport { THEME_CSS_VARS, useThemeSwatches } from './useThemeSwatches'\n\nconst { css } = defineProps<{\n css: string\n}>()\n\nconst { colors } = useThemeSwatches(() => css)\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <div\n :style=\"{\n '--bg-light': colors.light['--scalar-background-1'],\n '--bg-dark': colors.dark['--scalar-background-1'],\n }\"\n v-bind=\"\n cx(\n 'flex *:size-3 overflow-hidden rounded',\n 'bg-(--bg-light) dark:bg-(--bg-dark)',\n )\n \">\n <div\n v-for=\"v in THEME_CSS_VARS\"\n :key=\"v\"\n class=\"bg-(--bg-light) dark:bg-(--bg-dark)\"\n :style=\"{ '--bg-light': colors.light[v], '--bg-dark': colors.dark[v] }\" />\n </div>\n</template>\n"],"mappings":";;;;;;;;EAoBA,MAAM,EAAE,WAAW,uBAAuB,QAAA,GAAG;EAG7C,MAAM,EAAE,OAAO,UAAU;;uBAGvB,mBAgBM,OAhBN,WAgBM,EAfH,OAAK;kBAAwB,MAAA,MAAA,CAAM,CAAC,MAAK;iBAA8C,MAAA,MAAA,CAAM,CAAC,KAAI;QAIpF,MAAA,EAAA,CAAE,CAAA,yCAAA,qCAAA,CAAA,GAAA,EAAA,UAAA,IAAA,GAMjB,mBAI4E,UAAA,MAAA,WAH9D,MAAA,cAAA,IAAL,MAAC;wBADV,mBAI4E,OAAA;KAFzE,KAAK;KACN,OAAM;KACL,OAAK,eAAA;MAAA,cAAkB,MAAA,MAAA,CAAM,CAAC,MAAM;MAAC,aAAgB,MAAA,MAAA,CAAM,CAAC,KAAK;KAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useThemeSwatches.js","names":[],"sources":["../../../src/components/ScalarThemeSwatches/useThemeSwatches.ts"],"sourcesContent":["import { type MaybeRefOrGetter, computed, toValue } from 'vue'\n\n/** Numbers 1 to 3 */\ntype OneToThree = 1 | 2 | 3\n\n/**\n * CSS variable names that can be extracted from theme CSS\n */\ntype ThemeCssVar = `--scalar-color-${OneToThree}` | `--scalar-background-${OneToThree}` | '--scalar-color-accent'\n\n/**\n * Theme colors for light and dark modes\n */\ntype ThemeColors = {\n light: ThemeCssVars\n dark: ThemeCssVars\n}\n\n/**\n * Record of theme CSS variables to their values (partial)\n */\ntype ThemeCssVars = Partial<Record<ThemeCssVar, string>>\n\n/** Theme CSS variables */\nexport const THEME_CSS_VARS = [\n '--scalar-color-1',\n '--scalar-color-2',\n '--scalar-color-3',\n '--scalar-background-1',\n '--scalar-background-2',\n '--scalar-background-3',\n '--scalar-color-accent',\n] as const satisfies ThemeCssVar[]\n\n/**\n * Parses a given css string for a css variable regexp\n */\nfunction getVars(cssVarPattern: string, css: string): Partial<Record<ThemeCssVar, string>> {\n const matches = [...css.matchAll(new RegExp(`(${cssVarPattern}): ([^;]+);`, 'gm'))]\n if (matches.length === 0) {\n return {}\n }\n return Object.fromEntries(matches.map((match) => [match[1], match[2]]))\n}\n\n/**\n * Parses a given css string for the variables we want\n */\nfunction parseRules(css?: string): ThemeCssVars {\n if (!css) {\n return {}\n }\n return {\n ...getVars('--scalar-color-[1-3]', css),\n ...getVars('--scalar-background-[1-3]', css),\n ...getVars('--scalar-color-accent', css),\n } as ThemeCssVars\n}\n\n/**\n * Returns the light and dark colors for a given css string\n */\nexport function useThemeSwatches(css: MaybeRefOrGetter<string>) {\n return {\n colors: computed<ThemeColors>(() => ({\n light: parseRules(toValue(css).match(/\\.light-mode[^{]*{[^}]*}/m)?.[0]),\n dark: parseRules(toValue(css).match(/\\.dark-mode[^{]*{[^}]*}/m)?.[0]),\n })),\n }\n}\n"],"mappings":";;;AAwBA,IAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;
|
|
1
|
+
{"version":3,"file":"useThemeSwatches.js","names":[],"sources":["../../../src/components/ScalarThemeSwatches/useThemeSwatches.ts"],"sourcesContent":["import { type MaybeRefOrGetter, computed, toValue } from 'vue'\n\n/** Numbers 1 to 3 */\ntype OneToThree = 1 | 2 | 3\n\n/**\n * CSS variable names that can be extracted from theme CSS\n */\ntype ThemeCssVar = `--scalar-color-${OneToThree}` | `--scalar-background-${OneToThree}` | '--scalar-color-accent'\n\n/**\n * Theme colors for light and dark modes\n */\ntype ThemeColors = {\n light: ThemeCssVars\n dark: ThemeCssVars\n}\n\n/**\n * Record of theme CSS variables to their values (partial)\n */\ntype ThemeCssVars = Partial<Record<ThemeCssVar, string>>\n\n/** Theme CSS variables */\nexport const THEME_CSS_VARS = [\n '--scalar-color-1',\n '--scalar-color-2',\n '--scalar-color-3',\n '--scalar-background-1',\n '--scalar-background-2',\n '--scalar-background-3',\n '--scalar-color-accent',\n] as const satisfies ThemeCssVar[]\n\n/**\n * Parses a given css string for a css variable regexp\n */\nfunction getVars(cssVarPattern: string, css: string): Partial<Record<ThemeCssVar, string>> {\n const matches = [...css.matchAll(new RegExp(`(${cssVarPattern}): ([^;]+);`, 'gm'))]\n if (matches.length === 0) {\n return {}\n }\n return Object.fromEntries(matches.map((match) => [match[1], match[2]]))\n}\n\n/**\n * Parses a given css string for the variables we want\n */\nfunction parseRules(css?: string): ThemeCssVars {\n if (!css) {\n return {}\n }\n return {\n ...getVars('--scalar-color-[1-3]', css),\n ...getVars('--scalar-background-[1-3]', css),\n ...getVars('--scalar-color-accent', css),\n } as ThemeCssVars\n}\n\n/**\n * Returns the light and dark colors for a given css string\n */\nexport function useThemeSwatches(css: MaybeRefOrGetter<string>) {\n return {\n colors: computed<ThemeColors>(() => ({\n light: parseRules(toValue(css).match(/\\.light-mode[^{]*{[^}]*}/m)?.[0]),\n dark: parseRules(toValue(css).match(/\\.dark-mode[^{]*{[^}]*}/m)?.[0]),\n })),\n }\n}\n"],"mappings":";;;AAwBA,IAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;AAKA,SAAS,QAAQ,eAAuB,KAAmD;CACzF,MAAM,UAAU,CAAC,GAAG,IAAI,SAAS,IAAI,OAAO,IAAI,cAAc,cAAc,IAAI,CAAC,CAAC;CAClF,IAAI,QAAQ,WAAW,GACrB,OAAO,CAAC;CAEV,OAAO,OAAO,YAAY,QAAQ,KAAK,UAAU,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;AACxE;;;;AAKA,SAAS,WAAW,KAA4B;CAC9C,IAAI,CAAC,KACH,OAAO,CAAC;CAEV,OAAO;EACL,GAAG,QAAQ,wBAAwB,GAAG;EACtC,GAAG,QAAQ,6BAA6B,GAAG;EAC3C,GAAG,QAAQ,yBAAyB,GAAG;CACzC;AACF;;;;AAKA,SAAgB,iBAAiB,KAA+B;CAC9D,OAAO,EACL,QAAQ,gBAA6B;EACnC,OAAO,WAAW,QAAQ,GAAG,CAAC,CAAC,MAAM,2BAA2B,CAAC,GAAG,EAAE;EACtE,MAAM,WAAW,QAAQ,GAAG,CAAC,CAAC,MAAM,0BAA0B,CAAC,GAAG,EAAE;CACtE,EAAE,EACJ;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarToggle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarToggle/ScalarToggle.vue"],"names":[],"mappings":"AA6CA;;;;;;;;GAQG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;eAEL,OAAO;YACV,MAAM;;iBAkBH,OAAO;;;;eAnBP,OAAO;YACV,MAAM;;iBAkBH,OAAO;;;
|
|
1
|
+
{"version":3,"file":"ScalarToggle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarToggle/ScalarToggle.vue"],"names":[],"mappings":"AA6CA;;;;;;;;GAQG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;eAEL,OAAO;YACV,MAAM;;iBAkBH,OAAO;;;;eAnBP,OAAO;YACV,MAAM;;iBAkBH,OAAO;;;kFA6DhB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import ScalarToggleSlider_default from "./ScalarToggleSlider.vue.js";
|
|
2
2
|
import { createBlock, defineComponent, mergeModels, normalizeClass, openBlock, useModel } from "vue";
|
|
3
|
-
var ScalarToggle_vue_vue_type_script_setup_true_lang_default =
|
|
3
|
+
var ScalarToggle_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
4
4
|
__name: "ScalarToggle",
|
|
5
|
-
props:
|
|
5
|
+
props: /*@__PURE__*/ mergeModels({
|
|
6
6
|
disabled: { type: Boolean },
|
|
7
7
|
label: {}
|
|
8
8
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarToggle.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggle.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Toggle component\n *\n * A switch-style toggle control with support for\n * disabled state and accessible labeling.\n *\n * @example\n * <ScalarToggle v-model=\"enabled\" label=\"Enable feature\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport ScalarToggleSlider from './ScalarToggleSlider.vue'\n\nconst props = defineProps<{\n disabled?: boolean\n label?: string\n}>()\n\nconst model = defineModel<boolean>({ default: false })\n\nfunction toggle() {\n if (props.disabled) {\n return\n }\n model.value = !model.value\n}\n</script>\n<template>\n <ScalarToggleSlider\n :aria-checked=\"model\"\n :class=\"model ? 'bg-c-accent' : ''\"\n :disabled\n :label\n role=\"switch\"\n :thumb=\"model ? 'end' : 'start'\"\n @click=\"toggle\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAeA,MAAM,QAAQ;EAKd,MAAM,QAAQ,SAAoB,SAAA,
|
|
1
|
+
{"version":3,"file":"ScalarToggle.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggle.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Toggle component\n *\n * A switch-style toggle control with support for\n * disabled state and accessible labeling.\n *\n * @example\n * <ScalarToggle v-model=\"enabled\" label=\"Enable feature\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport ScalarToggleSlider from './ScalarToggleSlider.vue'\n\nconst props = defineProps<{\n disabled?: boolean\n label?: string\n}>()\n\nconst model = defineModel<boolean>({ default: false })\n\nfunction toggle() {\n if (props.disabled) {\n return\n }\n model.value = !model.value\n}\n</script>\n<template>\n <ScalarToggleSlider\n :aria-checked=\"model\"\n :class=\"model ? 'bg-c-accent' : ''\"\n :disabled\n :label\n role=\"switch\"\n :thumb=\"model ? 'end' : 'start'\"\n @click=\"toggle\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAeA,MAAM,QAAQ;EAKd,MAAM,QAAQ,SAAoB,SAAA,YAAmB;EAErD,SAAS,SAAS;GAChB,IAAI,MAAM,UACR;GAEF,MAAM,QAAQ,CAAC,MAAM;EACvB;;uBAGE,YAOoB,4BAAA;IANjB,gBAAc,MAAA;IACd,OAAK,eAAE,MAAA,QAAK,gBAAA,EAAA;IACZ,UAAA,QAAA;IACA,OAAA,QAAA;IACD,MAAK;IACJ,OAAO,MAAA,QAAK,QAAA;IACZ,SAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarToggleGroup.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarToggle/ScalarToggleGroup.vue"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAKlE;;;;GAIG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cAEN,oBAAoB,EAAE;;iBAYrB,oBAAoB,EAAE;;;;cAZvB,oBAAoB,EAAE;;iBAYrB,oBAAoB,EAAE;;;
|
|
1
|
+
{"version":3,"file":"ScalarToggleGroup.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarToggle/ScalarToggleGroup.vue"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAKlE;;;;GAIG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cAEN,oBAAoB,EAAE;;iBAYrB,oBAAoB,EAAE;;;;cAZvB,oBAAoB,EAAE;;iBAYrB,oBAAoB,EAAE;;;kFA8E/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarToggleGroup.vue.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggleGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Toggle Group component\n *\n * A group of toggle inputs allowing for multiple selections.\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport type { ScalarCheckboxOption } from '../ScalarCheckboxInput'\nimport { ScalarFormInputGroup } from '../ScalarForm'\nimport ScalarToggleInput from './ScalarToggleInput.vue'\n\nconst { options = [] } = defineProps<{\n options?: ScalarCheckboxOption[]\n}>()\n\nconst model = defineModel<ScalarCheckboxOption[]>({ default: [] })\n</script>\n<template>\n <ScalarFormInputGroup>\n <ScalarToggleInput\n v-for=\"option in options\"\n :key=\"option.value\"\n :modelValue=\"model?.some(({ value }) => value === option.value)\"\n @update:modelValue=\"\n (checked) =>\n (model = checked\n ? [...model, option]\n : model.filter(({ value }) => value !== option.value))\n \">\n {{ option.label }}\n </ScalarToggleInput>\n </ScalarFormInputGroup>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ScalarToggleGroup.vue.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggleGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Toggle Group component\n *\n * A group of toggle inputs allowing for multiple selections.\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport type { ScalarCheckboxOption } from '../ScalarCheckboxInput'\nimport { ScalarFormInputGroup } from '../ScalarForm'\nimport ScalarToggleInput from './ScalarToggleInput.vue'\n\nconst { options = [] } = defineProps<{\n options?: ScalarCheckboxOption[]\n}>()\n\nconst model = defineModel<ScalarCheckboxOption[]>({ default: () => [] })\n</script>\n<template>\n <ScalarFormInputGroup>\n <ScalarToggleInput\n v-for=\"option in options\"\n :key=\"option.value\"\n :modelValue=\"model?.some(({ value }) => value === option.value)\"\n @update:modelValue=\"\n (checked) =>\n (model = checked\n ? [...model, option]\n : model.filter(({ value }) => value !== option.value))\n \">\n {{ option.label }}\n </ScalarToggleInput>\n </ScalarFormInputGroup>\n</template>\n"],"mappings":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import ScalarFormInputGroup_default from "../ScalarForm/ScalarFormInputGroup.vue.js";
|
|
2
2
|
import ScalarToggleInput_default from "./ScalarToggleInput.vue.js";
|
|
3
3
|
import { Fragment, createBlock, createElementBlock, createTextVNode, defineComponent, mergeModels, openBlock, renderList, toDisplayString, unref, useModel, withCtx } from "vue";
|
|
4
|
-
var ScalarToggleGroup_vue_vue_type_script_setup_true_lang_default =
|
|
4
|
+
var ScalarToggleGroup_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
5
|
__name: "ScalarToggleGroup",
|
|
6
|
-
props:
|
|
7
|
-
"modelValue": { default: [] },
|
|
6
|
+
props: /*@__PURE__*/ mergeModels({ options: { default: () => [] } }, {
|
|
7
|
+
"modelValue": { default: () => [] },
|
|
8
8
|
"modelModifiers": {}
|
|
9
9
|
}),
|
|
10
10
|
emits: ["update:modelValue"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarToggleGroup.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggleGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Toggle Group component\n *\n * A group of toggle inputs allowing for multiple selections.\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport type { ScalarCheckboxOption } from '../ScalarCheckboxInput'\nimport { ScalarFormInputGroup } from '../ScalarForm'\nimport ScalarToggleInput from './ScalarToggleInput.vue'\n\nconst { options = [] } = defineProps<{\n options?: ScalarCheckboxOption[]\n}>()\n\nconst model = defineModel<ScalarCheckboxOption[]>({ default: [] })\n</script>\n<template>\n <ScalarFormInputGroup>\n <ScalarToggleInput\n v-for=\"option in options\"\n :key=\"option.value\"\n :modelValue=\"model?.some(({ value }) => value === option.value)\"\n @update:modelValue=\"\n (checked) =>\n (model = checked\n ? [...model, option]\n : model.filter(({ value }) => value !== option.value))\n \">\n {{ option.label }}\n </ScalarToggleInput>\n </ScalarFormInputGroup>\n</template>\n"],"mappings":";;;;;;;;;;;EAiBA,MAAM,QAAQ,SAAmC,SAAA,
|
|
1
|
+
{"version":3,"file":"ScalarToggleGroup.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggleGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Toggle Group component\n *\n * A group of toggle inputs allowing for multiple selections.\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport type { ScalarCheckboxOption } from '../ScalarCheckboxInput'\nimport { ScalarFormInputGroup } from '../ScalarForm'\nimport ScalarToggleInput from './ScalarToggleInput.vue'\n\nconst { options = [] } = defineProps<{\n options?: ScalarCheckboxOption[]\n}>()\n\nconst model = defineModel<ScalarCheckboxOption[]>({ default: () => [] })\n</script>\n<template>\n <ScalarFormInputGroup>\n <ScalarToggleInput\n v-for=\"option in options\"\n :key=\"option.value\"\n :modelValue=\"model?.some(({ value }) => value === option.value)\"\n @update:modelValue=\"\n (checked) =>\n (model = checked\n ? [...model, option]\n : model.filter(({ value }) => value !== option.value))\n \">\n {{ option.label }}\n </ScalarToggleInput>\n </ScalarFormInputGroup>\n</template>\n"],"mappings":";;;;;;;;;;;EAiBA,MAAM,QAAQ,SAAmC,SAAA,YAAsB;;uBAGrE,YAauB,MAAA,4BAAA,GAAA,MAAA;2BAXM,EAAA,UAAA,IAAA,GAD3B,mBAWoB,UAAA,MAAA,WAVD,QAAA,UAAV,WAAM;yBADf,YAWoB,2BAAA;MATjB,KAAK,OAAO;MACZ,YAAY,MAAA,OAAO,MAAI,EAAI,YAAY,UAAU,OAAO,KAAK;MAC7D,wBAA6B,YAAuB,MAAA,QAAQ,UAAA,CAAA,GAA0B,MAAA,OAAO,MAAM,IAAgB,MAAA,MAAM,QAAM,EAAI,YAAY,UAAU,OAAO,KAAK;;6BAMpJ,CAAA,gBAAA,gBAAf,OAAO,KAAK,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -4,7 +4,7 @@ import { useBindCx } from "@scalar/use-hooks/useBindCx";
|
|
|
4
4
|
import { createBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, useModel, withCtx } from "vue";
|
|
5
5
|
//#region src/components/ScalarToggle/ScalarToggleInput.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _hoisted_1 = { class: "flex-1 text-left min-w-0 truncate" };
|
|
7
|
-
var ScalarToggleInput_vue_vue_type_script_setup_true_lang_default =
|
|
7
|
+
var ScalarToggleInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
8
8
|
inheritAttrs: false,
|
|
9
9
|
__name: "ScalarToggleInput",
|
|
10
10
|
props: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarToggleInput.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggleInput.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Toggle Input component\n *\n * A create a toggle input component for use in forms.\n *\n * @example\n * <ScalarToggleInput v-model=\"model\" type=\"checkbox\">\n * Label\n * </ScalarToggleInput>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\n\nimport { ScalarFormInput } from '../ScalarForm'\nimport ScalarToggle from './ScalarToggle.vue'\n\nconst model = defineModel<boolean>()\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n</script>\n<template>\n <ScalarFormInput\n is=\"label\"\n v-bind=\"\n stylingAttrsCx('cursor-pointer gap-2 hover:bg-b-2', { 'text-c-1': model })\n \">\n <div class=\"flex-1 text-left min-w-0 truncate\"><slot /></div>\n <ScalarToggle\n v-model=\"model\"\n class=\"shrink-0\"\n v-bind=\"otherAttrs\" />\n </ScalarFormInput>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,MAAM,QAAQ,SAAoB,SAAA,
|
|
1
|
+
{"version":3,"file":"ScalarToggleInput.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggleInput.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Toggle Input component\n *\n * A create a toggle input component for use in forms.\n *\n * @example\n * <ScalarToggleInput v-model=\"model\" type=\"checkbox\">\n * Label\n * </ScalarToggleInput>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\n\nimport { ScalarFormInput } from '../ScalarForm'\nimport ScalarToggle from './ScalarToggle.vue'\n\nconst model = defineModel<boolean>()\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n</script>\n<template>\n <ScalarFormInput\n is=\"label\"\n v-bind=\"\n stylingAttrsCx('cursor-pointer gap-2 hover:bg-b-2', { 'text-c-1': model })\n \">\n <div class=\"flex-1 text-left min-w-0 truncate\"><slot /></div>\n <ScalarToggle\n v-model=\"model\"\n class=\"shrink-0\"\n v-bind=\"otherAttrs\" />\n </ScalarFormInput>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,MAAM,QAAQ,SAAoB,SAAA,YAAC;EAGnC,MAAM,EAAE,gBAAgB,eAAe,UAAU;;uBAG/C,YAUkB,MAAA,uBAAA,GAVlB,WAUkB,EAThB,IAAG,QAAO,GACK,MAAA,cAAA,CAAc,CAAA,qCAAA,EAAA,YAAoD,MAAA,MAAK,CAAA,CAAA,GAAA;2BAGzB,CAA7D,mBAA6D,OAA7D,YAA6D,CAAd,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA,GACvD,YAGwB,sBAHxB,WAGwB;iBAFb,MAAA;wEAAK,QAAA;KACd,OAAM;OACE,MAAA,UAAA,CAAU,GAAA,MAAA,IAAA,CAAA,YAAA,CAAA,CAAA,CAAA"}
|
|
@@ -6,7 +6,7 @@ var _hoisted_2 = {
|
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "sr-only"
|
|
8
8
|
};
|
|
9
|
-
var ScalarToggleSlider_vue_vue_type_script_setup_true_lang_default =
|
|
9
|
+
var ScalarToggleSlider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
10
10
|
inheritAttrs: false,
|
|
11
11
|
__name: "ScalarToggleSlider",
|
|
12
12
|
props: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarToggleSlider.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggleSlider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { cva, useBindCx } from '@scalar/use-hooks/useBindCx'\n\nconst {\n thumb = 'start',\n disabled,\n label,\n} = defineProps<{\n /** Resting position of the thumb within the track */\n thumb?: 'start' | 'center' | 'end'\n /** Visually dims the control and applies a not-allowed cursor */\n disabled?: boolean\n /** Accessible label announced to assistive technology */\n label?: string\n}>()\n\nconst variants = cva({\n base: 'relative h-3.5 min-w-6 w-6 cursor-pointer rounded-full bg-b-3 transition-colors duration-300',\n variants: {\n disabled: { true: 'cursor-not-allowed opacity-40' },\n },\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <button\n :aria-disabled=\"disabled\"\n type=\"button\"\n v-bind=\"cx(variants({ disabled }))\">\n <div\n class=\"absolute left-px top-px flex h-3 w-3 items-center justify-center rounded-full bg-b-1 transition-transform duration-300\"\n :class=\"{\n 'translate-x-1.25': thumb === 'center',\n 'translate-x-2.5': thumb === 'end',\n }\" />\n <span\n v-if=\"label\"\n class=\"sr-only\">\n {{ label }}\n </span>\n </button>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAgBA,MAAM,WAAW,IAAI;GACnB,MAAM;GACN,UAAU,EACR,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ScalarToggleSlider.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarToggleSlider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { cva, useBindCx } from '@scalar/use-hooks/useBindCx'\n\nconst {\n thumb = 'start',\n disabled,\n label,\n} = defineProps<{\n /** Resting position of the thumb within the track */\n thumb?: 'start' | 'center' | 'end'\n /** Visually dims the control and applies a not-allowed cursor */\n disabled?: boolean\n /** Accessible label announced to assistive technology */\n label?: string\n}>()\n\nconst variants = cva({\n base: 'relative h-3.5 min-w-6 w-6 cursor-pointer rounded-full bg-b-3 transition-colors duration-300',\n variants: {\n disabled: { true: 'cursor-not-allowed opacity-40' },\n },\n})\n\ndefineOptions({ inheritAttrs: false })\nconst { cx } = useBindCx()\n</script>\n<template>\n <button\n :aria-disabled=\"disabled\"\n type=\"button\"\n v-bind=\"cx(variants({ disabled }))\">\n <div\n class=\"absolute left-px top-px flex h-3 w-3 items-center justify-center rounded-full bg-b-1 transition-transform duration-300\"\n :class=\"{\n 'translate-x-1.25': thumb === 'center',\n 'translate-x-2.5': thumb === 'end',\n }\" />\n <span\n v-if=\"label\"\n class=\"sr-only\">\n {{ label }}\n </span>\n </button>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAgBA,MAAM,WAAW,IAAI;GACnB,MAAM;GACN,UAAU,EACR,UAAU,EAAE,MAAM,gCAAgC,EACpD;EACF,CAAC;EAGD,MAAM,EAAE,OAAO,UAAU;;uBAGvB,mBAeS,UAfT,WAeS;IAdN,iBAAe,QAAA;IAChB,MAAK;MACG,MAAA,EAAA,CAAE,CAAC,MAAA,QAAA,CAAQ,CAAA,EAAA,UAAG,QAAA,SAAQ,CAAA,CAAA,CAAA,GAAA,CAC9B,mBAKO,OAAA,EAJL,OAAK,eAAA,CAAC,0HAAwH;wBACxF,QAAA,UAAK;uBAA0C,QAAA,UAAK;oBAKpF,QAAA,SAAA,UAAA,GADR,mBAIO,QAJP,YAIO,gBADF,QAAA,KAAK,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,CAAA,GAAA,IAAA,UAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTristateToggle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarToggle/ScalarTristateToggle.vue"],"names":[],"mappings":"AA0EA;;;;;;;;;;GAUG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;IAEhB,mEAAmE;eACxD,OAAO;IAClB,yDAAyD;YACjD,MAAM;;iBAqCH,OAAO,GAAG,SAAS;;;;IAxC9B,mEAAmE;eACxD,OAAO;IAClB,yDAAyD;YACjD,MAAM;;iBAqCH,OAAO,GAAG,SAAS;;;
|
|
1
|
+
{"version":3,"file":"ScalarTristateToggle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarToggle/ScalarTristateToggle.vue"],"names":[],"mappings":"AA0EA;;;;;;;;;;GAUG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;IAEhB,mEAAmE;eACxD,OAAO;IAClB,yDAAyD;YACjD,MAAM;;iBAqCH,OAAO,GAAG,SAAS;;;;IAxC9B,mEAAmE;eACxD,OAAO;IAClB,yDAAyD;YACjD,MAAM;;iBAqCH,OAAO,GAAG,SAAS;;;kFA6D5B,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import ScalarToggleSlider_default from "./ScalarToggleSlider.vue.js";
|
|
2
2
|
import { computed, createBlock, defineComponent, mergeModels, mergeProps, openBlock, useModel } from "vue";
|
|
3
|
-
var ScalarTristateToggle_vue_vue_type_script_setup_true_lang_default =
|
|
3
|
+
var ScalarTristateToggle_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
4
4
|
__name: "ScalarTristateToggle",
|
|
5
|
-
props:
|
|
5
|
+
props: /*@__PURE__*/ mergeModels({
|
|
6
6
|
disabled: { type: Boolean },
|
|
7
7
|
label: {}
|
|
8
8
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTristateToggle.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarTristateToggle.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Tristate Toggle component\n *\n * A switch-style toggle control with three states — unset, on, and off —\n * useful for representing an optional boolean that can also be left\n * unset (e.g. \"inherit\"). Supports a disabled state and accessible\n * labeling.\n *\n * @example\n * <ScalarTristateToggle v-model=\"overridden\" label=\"Override default\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport ScalarToggleSlider from './ScalarToggleSlider.vue'\n\nconst props = defineProps<{\n /** Prevents the toggle from being cycled, and dims it visually. */\n disabled?: boolean\n /** Accessible label announced to assistive technology */\n label?: string\n}>()\n\nconst model = defineModel<boolean | undefined>()\n\n/** The current tristate value, derived from the boolean | undefined model. */\nconst state = computed<'unset' | 'on' | 'off'>(() => {\n if (model.value === undefined) {\n return 'unset'\n }\n return model.value ? 'on' : 'off'\n})\n\n/** Slider appearance for each tristate value. */\nconst SLIDER_PROPS = {\n unset: { class: '', thumb: 'center' },\n on: { class: 'bg-green', thumb: 'end' },\n off: { class: 'bg-c-danger', thumb: 'start' },\n} as const\n\n/** Cycles unset -> on -> off -> unset. */\nfunction toggle() {\n if (props.disabled) {\n return\n }\n if (model.value === undefined) {\n model.value = true\n } else if (model.value === true) {\n model.value = false\n } else {\n model.value = undefined\n }\n}\n</script>\n<template>\n <ScalarToggleSlider\n :aria-checked=\"state === 'unset' ? 'mixed' : model\"\n :disabled\n :label\n role=\"checkbox\"\n v-bind=\"SLIDER_PROPS[state]\"\n @click=\"toggle\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;EAmBA,MAAM,QAAQ;EAOd,MAAM,QAAQ,SAAgC,SAAA,
|
|
1
|
+
{"version":3,"file":"ScalarTristateToggle.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarTristateToggle.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Tristate Toggle component\n *\n * A switch-style toggle control with three states — unset, on, and off —\n * useful for representing an optional boolean that can also be left\n * unset (e.g. \"inherit\"). Supports a disabled state and accessible\n * labeling.\n *\n * @example\n * <ScalarTristateToggle v-model=\"overridden\" label=\"Override default\" />\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport ScalarToggleSlider from './ScalarToggleSlider.vue'\n\nconst props = defineProps<{\n /** Prevents the toggle from being cycled, and dims it visually. */\n disabled?: boolean\n /** Accessible label announced to assistive technology */\n label?: string\n}>()\n\nconst model = defineModel<boolean | undefined>()\n\n/** The current tristate value, derived from the boolean | undefined model. */\nconst state = computed<'unset' | 'on' | 'off'>(() => {\n if (model.value === undefined) {\n return 'unset'\n }\n return model.value ? 'on' : 'off'\n})\n\n/** Slider appearance for each tristate value. */\nconst SLIDER_PROPS = {\n unset: { class: '', thumb: 'center' },\n on: { class: 'bg-green', thumb: 'end' },\n off: { class: 'bg-c-danger', thumb: 'start' },\n} as const\n\n/** Cycles unset -> on -> off -> unset. */\nfunction toggle() {\n if (props.disabled) {\n return\n }\n if (model.value === undefined) {\n model.value = true\n } else if (model.value === true) {\n model.value = false\n } else {\n model.value = undefined\n }\n}\n</script>\n<template>\n <ScalarToggleSlider\n :aria-checked=\"state === 'unset' ? 'mixed' : model\"\n :disabled\n :label\n role=\"checkbox\"\n v-bind=\"SLIDER_PROPS[state]\"\n @click=\"toggle\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;EAmBA,MAAM,QAAQ;EAOd,MAAM,QAAQ,SAAgC,SAAA,YAAC;;EAG/C,MAAM,QAAQ,eAAuC;GACnD,IAAI,MAAM,UAAU,KAAA,GAClB,OAAO;GAET,OAAO,MAAM,QAAQ,OAAO;EAC9B,CAAC;;EAGD,MAAM,eAAe;GACnB,OAAO;IAAE,OAAO;IAAI,OAAO;GAAS;GACpC,IAAI;IAAE,OAAO;IAAY,OAAO;GAAM;GACtC,KAAK;IAAE,OAAO;IAAe,OAAO;GAAQ;EAC9C;;EAGA,SAAS,SAAS;GAChB,IAAI,MAAM,UACR;GAEF,IAAI,MAAM,UAAU,KAAA,GAClB,MAAM,QAAQ;QACT,IAAI,MAAM,UAAU,MACzB,MAAM,QAAQ;QAEd,MAAM,QAAQ,KAAA;EAElB;;uBAGE,YAMoB,4BANpB,WAMoB;IALjB,gBAAc,MAAA,UAAK,UAAA,UAAyB,MAAA;IAC5C,UAAA,QAAA;IACA,OAAA,QAAA;IACD,MAAK;MACG,aAAa,MAAA,QAAK,EACzB,SAAO,OAAM,CAAA,GAAA,MAAA,IAAA;IAAA;IAAA;IAAA;GAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTristateToggleGroup.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarToggle/ScalarTristateToggleGroup.vue"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGlE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD;;;;GAIG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cAEN,oBAAoB,EAAE;;iBAuBrB,oBAAoB,EAAE;;;;cAvBvB,oBAAoB,EAAE;;iBAuBrB,oBAAoB,EAAE;;;
|
|
1
|
+
{"version":3,"file":"ScalarTristateToggleGroup.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarToggle/ScalarTristateToggleGroup.vue"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAGlE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAGnD;;;;GAIG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cAEN,oBAAoB,EAAE;;iBAuBrB,oBAAoB,EAAE;;;;cAvBvB,oBAAoB,EAAE;;iBAuBrB,oBAAoB,EAAE;;;kFA0E/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTristateToggleGroup.vue.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarTristateToggleGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Tristate Toggle Group component\n *\n * A group of tristate toggle inputs, each independently unset, on, or off.\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport type { ScalarCheckboxOption } from '../ScalarCheckboxInput'\nimport { ScalarFormInputGroup } from '../ScalarForm'\nimport ScalarTristateToggleInput from './ScalarTristateToggleInput.vue'\nimport type { ScalarTristateOption } from './types'\n\nconst { options = [] } = defineProps<{\n options?: ScalarCheckboxOption[]\n}>()\n\nconst model = defineModel<ScalarTristateOption[]>({ default: [] })\n\n/** Looks up an option's current tristate value; undefined if it has no entry in the model. */\nfunction getValue(option: ScalarCheckboxOption): boolean | undefined {\n return model.value.find((entry) => entry.value === option.value)?.checked\n}\n\n/** Upserts or removes an option's entry in the model based on its new tristate value. */\nfunction setValue(option: ScalarCheckboxOption, checked: boolean | undefined) {\n const rest = model.value.filter((entry) => entry.value !== option.value)\n model.value = checked === undefined ? rest : [...rest, { ...option, checked }]\n}\n</script>\n<template>\n <ScalarFormInputGroup>\n <ScalarTristateToggleInput\n v-for=\"option in options\"\n :key=\"option.value\"\n :modelValue=\"getValue(option)\"\n @update:modelValue=\"(checked) => setValue(option, checked)\">\n {{ option.label }}\n </ScalarTristateToggleInput>\n </ScalarFormInputGroup>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ScalarTristateToggleGroup.vue.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarTristateToggleGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Tristate Toggle Group component\n *\n * A group of tristate toggle inputs, each independently unset, on, or off.\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport type { ScalarCheckboxOption } from '../ScalarCheckboxInput'\nimport { ScalarFormInputGroup } from '../ScalarForm'\nimport ScalarTristateToggleInput from './ScalarTristateToggleInput.vue'\nimport type { ScalarTristateOption } from './types'\n\nconst { options = [] } = defineProps<{\n options?: ScalarCheckboxOption[]\n}>()\n\nconst model = defineModel<ScalarTristateOption[]>({ default: () => [] })\n\n/** Looks up an option's current tristate value; undefined if it has no entry in the model. */\nfunction getValue(option: ScalarCheckboxOption): boolean | undefined {\n return model.value.find((entry) => entry.value === option.value)?.checked\n}\n\n/** Upserts or removes an option's entry in the model based on its new tristate value. */\nfunction setValue(option: ScalarCheckboxOption, checked: boolean | undefined) {\n const rest = model.value.filter((entry) => entry.value !== option.value)\n model.value = checked === undefined ? rest : [...rest, { ...option, checked }]\n}\n</script>\n<template>\n <ScalarFormInputGroup>\n <ScalarTristateToggleInput\n v-for=\"option in options\"\n :key=\"option.value\"\n :modelValue=\"getValue(option)\"\n @update:modelValue=\"(checked) => setValue(option, checked)\">\n {{ option.label }}\n </ScalarTristateToggleInput>\n </ScalarFormInputGroup>\n</template>\n"],"mappings":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import ScalarFormInputGroup_default from "../ScalarForm/ScalarFormInputGroup.vue.js";
|
|
2
2
|
import ScalarTristateToggleInput_default from "./ScalarTristateToggleInput.vue.js";
|
|
3
3
|
import { Fragment, createBlock, createElementBlock, createTextVNode, defineComponent, mergeModels, openBlock, renderList, toDisplayString, unref, useModel, withCtx } from "vue";
|
|
4
|
-
var ScalarTristateToggleGroup_vue_vue_type_script_setup_true_lang_default =
|
|
4
|
+
var ScalarTristateToggleGroup_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
5
|
__name: "ScalarTristateToggleGroup",
|
|
6
|
-
props:
|
|
7
|
-
"modelValue": { default: [] },
|
|
6
|
+
props: /*@__PURE__*/ mergeModels({ options: { default: () => [] } }, {
|
|
7
|
+
"modelValue": { default: () => [] },
|
|
8
8
|
"modelModifiers": {}
|
|
9
9
|
}),
|
|
10
10
|
emits: ["update:modelValue"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTristateToggleGroup.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarTristateToggleGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Tristate Toggle Group component\n *\n * A group of tristate toggle inputs, each independently unset, on, or off.\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport type { ScalarCheckboxOption } from '../ScalarCheckboxInput'\nimport { ScalarFormInputGroup } from '../ScalarForm'\nimport ScalarTristateToggleInput from './ScalarTristateToggleInput.vue'\nimport type { ScalarTristateOption } from './types'\n\nconst { options = [] } = defineProps<{\n options?: ScalarCheckboxOption[]\n}>()\n\nconst model = defineModel<ScalarTristateOption[]>({ default: [] })\n\n/** Looks up an option's current tristate value; undefined if it has no entry in the model. */\nfunction getValue(option: ScalarCheckboxOption): boolean | undefined {\n return model.value.find((entry) => entry.value === option.value)?.checked\n}\n\n/** Upserts or removes an option's entry in the model based on its new tristate value. */\nfunction setValue(option: ScalarCheckboxOption, checked: boolean | undefined) {\n const rest = model.value.filter((entry) => entry.value !== option.value)\n model.value = checked === undefined ? rest : [...rest, { ...option, checked }]\n}\n</script>\n<template>\n <ScalarFormInputGroup>\n <ScalarTristateToggleInput\n v-for=\"option in options\"\n :key=\"option.value\"\n :modelValue=\"getValue(option)\"\n @update:modelValue=\"(checked) => setValue(option, checked)\">\n {{ option.label }}\n </ScalarTristateToggleInput>\n </ScalarFormInputGroup>\n</template>\n"],"mappings":";;;;;;;;;;;EAkBA,MAAM,QAAQ,SAAmC,SAAA,
|
|
1
|
+
{"version":3,"file":"ScalarTristateToggleGroup.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarTristateToggleGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Tristate Toggle Group component\n *\n * A group of tristate toggle inputs, each independently unset, on, or off.\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport type { ScalarCheckboxOption } from '../ScalarCheckboxInput'\nimport { ScalarFormInputGroup } from '../ScalarForm'\nimport ScalarTristateToggleInput from './ScalarTristateToggleInput.vue'\nimport type { ScalarTristateOption } from './types'\n\nconst { options = [] } = defineProps<{\n options?: ScalarCheckboxOption[]\n}>()\n\nconst model = defineModel<ScalarTristateOption[]>({ default: () => [] })\n\n/** Looks up an option's current tristate value; undefined if it has no entry in the model. */\nfunction getValue(option: ScalarCheckboxOption): boolean | undefined {\n return model.value.find((entry) => entry.value === option.value)?.checked\n}\n\n/** Upserts or removes an option's entry in the model based on its new tristate value. */\nfunction setValue(option: ScalarCheckboxOption, checked: boolean | undefined) {\n const rest = model.value.filter((entry) => entry.value !== option.value)\n model.value = checked === undefined ? rest : [...rest, { ...option, checked }]\n}\n</script>\n<template>\n <ScalarFormInputGroup>\n <ScalarTristateToggleInput\n v-for=\"option in options\"\n :key=\"option.value\"\n :modelValue=\"getValue(option)\"\n @update:modelValue=\"(checked) => setValue(option, checked)\">\n {{ option.label }}\n </ScalarTristateToggleInput>\n </ScalarFormInputGroup>\n</template>\n"],"mappings":";;;;;;;;;;;EAkBA,MAAM,QAAQ,SAAmC,SAAA,YAAsB;;EAGvE,SAAS,SAAS,QAAmD;GACnE,OAAO,MAAM,MAAM,MAAM,UAAU,MAAM,UAAU,OAAO,KAAK,CAAC,EAAE;EACpE;;EAGA,SAAS,SAAS,QAA8B,SAA8B;GAC5E,MAAM,OAAO,MAAM,MAAM,QAAQ,UAAU,MAAM,UAAU,OAAO,KAAK;GACvE,MAAM,QAAQ,YAAY,KAAA,IAAY,OAAO,CAAC,GAAG,MAAM;IAAE,GAAG;IAAQ;GAAQ,CAAC;EAC/E;;uBAGE,YAQuB,MAAA,4BAAA,GAAA,MAAA;2BANM,EAAA,UAAA,IAAA,GAD3B,mBAM4B,UAAA,MAAA,WALT,QAAA,UAAV,WAAM;yBADf,YAM4B,mCAAA;MAJzB,KAAK,OAAO;MACZ,YAAY,SAAS,MAAM;MAC3B,wBAAoB,YAAY,SAAS,QAAQ,OAAO;;6BACvC,CAAA,gBAAA,gBAAf,OAAO,KAAK,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -4,7 +4,7 @@ import { useBindCx } from "@scalar/use-hooks/useBindCx";
|
|
|
4
4
|
import { createBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, renderSlot, unref, useModel, withCtx } from "vue";
|
|
5
5
|
//#region src/components/ScalarToggle/ScalarTristateToggleInput.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _hoisted_1 = { class: "flex-1 text-left min-w-0 truncate" };
|
|
7
|
-
var ScalarTristateToggleInput_vue_vue_type_script_setup_true_lang_default =
|
|
7
|
+
var ScalarTristateToggleInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
8
8
|
inheritAttrs: false,
|
|
9
9
|
__name: "ScalarTristateToggleInput",
|
|
10
10
|
props: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTristateToggleInput.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarTristateToggleInput.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Tristate Toggle Input component\n *\n * A tristate toggle input component for use in forms, supporting an\n * additional \"unset\" state alongside on/off.\n *\n * @example\n * <ScalarTristateToggleInput v-model=\"model\">\n * Label\n * </ScalarTristateToggleInput>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\n\nimport { ScalarFormInput } from '../ScalarForm'\nimport ScalarTristateToggle from './ScalarTristateToggle.vue'\n\nconst model = defineModel<boolean | undefined>()\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n</script>\n<template>\n <ScalarFormInput\n is=\"label\"\n v-bind=\"\n stylingAttrsCx('cursor-pointer gap-2 hover:bg-b-2', {\n 'text-c-1': model !== undefined,\n })\n \">\n <div class=\"flex-1 text-left min-w-0 truncate\"><slot /></div>\n <ScalarTristateToggle\n v-model=\"model\"\n class=\"shrink-0\"\n v-bind=\"otherAttrs\" />\n </ScalarFormInput>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAoBA,MAAM,QAAQ,SAAgC,SAAA,
|
|
1
|
+
{"version":3,"file":"ScalarTristateToggleInput.vue.script.js","names":[],"sources":["../../../src/components/ScalarToggle/ScalarTristateToggleInput.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar Tristate Toggle Input component\n *\n * A tristate toggle input component for use in forms, supporting an\n * additional \"unset\" state alongside on/off.\n *\n * @example\n * <ScalarTristateToggleInput v-model=\"model\">\n * Label\n * </ScalarTristateToggleInput>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { useBindCx } from '@scalar/use-hooks/useBindCx'\n\nimport { ScalarFormInput } from '../ScalarForm'\nimport ScalarTristateToggle from './ScalarTristateToggle.vue'\n\nconst model = defineModel<boolean | undefined>()\n\ndefineOptions({ inheritAttrs: false })\nconst { stylingAttrsCx, otherAttrs } = useBindCx()\n</script>\n<template>\n <ScalarFormInput\n is=\"label\"\n v-bind=\"\n stylingAttrsCx('cursor-pointer gap-2 hover:bg-b-2', {\n 'text-c-1': model !== undefined,\n })\n \">\n <div class=\"flex-1 text-left min-w-0 truncate\"><slot /></div>\n <ScalarTristateToggle\n v-model=\"model\"\n class=\"shrink-0\"\n v-bind=\"otherAttrs\" />\n </ScalarFormInput>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAoBA,MAAM,QAAQ,SAAgC,SAAA,YAAC;EAG/C,MAAM,EAAE,gBAAgB,eAAe,UAAU;;uBAG/C,YAYkB,MAAA,uBAAA,GAZlB,WAYkB,EAXhB,IAAG,QAAO,GACK,MAAA,cAAA,CAAc,CAAA,qCAAA,EAAA,YAA4D,MAAA,UAAU,KAAA,EAAA,CAAA,CAAA,GAAA;2BAKtC,CAA7D,mBAA6D,OAA7D,YAA6D,CAAd,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA,GACvD,YAGwB,8BAHxB,WAGwB;iBAFb,MAAA;wEAAK,QAAA;KACd,OAAM;OACE,MAAA,UAAA,CAAU,GAAA,MAAA,IAAA,CAAA,YAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ScalarHotkey_default from "../ScalarHotkey/ScalarHotkey.vue.js";
|
|
2
2
|
import { useTooltip } from "./useTooltip.js";
|
|
3
3
|
import { computed, createElementBlock, defineComponent, h, normalizeClass, openBlock, ref, render, renderSlot } from "vue";
|
|
4
|
-
var ScalarHotkeyTooltip_vue_vue_type_script_setup_true_lang_default =
|
|
4
|
+
var ScalarHotkeyTooltip_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
5
|
__name: "ScalarHotkeyTooltip",
|
|
6
6
|
props: {
|
|
7
7
|
content: { default: "" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarHotkeyTooltip.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTooltip/ScalarHotkeyTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar hotkey tooltip component\n *\n * Adds a tooltip to an interactive element with a hotkey, if\n * you don't need to display a hotkey, use the ScalarTooltip\n * component instead\n *\n * @example\n * <ScalarHotkeyTooltip content=\"Bold\" hotkey=\"B\" modifier=\"Meta\">\n * <ScalarButton>Make bold</ScalarButton>\n * </ScalarHotkeyTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, h, ref, render } from 'vue'\n\nimport { ScalarHotkey } from '../ScalarHotkey'\nimport type { HotKeyModifier } from '../ScalarHotkey/types'\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipPlacement } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n hotkey,\n modifier,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<{\n content?: string\n hotkey: string\n modifier?: HotKeyModifier[]\n delay?: number\n placement?: ScalarTooltipPlacement\n offset?: number\n}>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\n/**\n * Render the content and the hotkey into an HTML string\n */\nconst renderedContent = computed<string>(() => {\n if (!document) return ''\n\n // Temp element to render the content into\n const el = document.createElement('div')\n\n const hotKeyClass =\n '-m-0.5 border-none p-0 grid grid-flow-col *:border *:h-5 *:min-w-5 *:border-border *:rounded *:px-1 *:flex *:items-center *:justify-center'\n\n if (content) {\n // Render the content and the hotkey\n render(\n h('div', { class: 'flex items-center gap-2' }, [\n content,\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n ]),\n el,\n )\n } else {\n render(\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n el,\n )\n }\n\n const html = el.innerHTML\n\n // Return the rendered content\n return html\n})\n\nuseTooltip({\n content: renderedContent,\n contentTarget: 'innerHTML',\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;EAwCA,MAAM,aAAsC,IAAI,
|
|
1
|
+
{"version":3,"file":"ScalarHotkeyTooltip.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTooltip/ScalarHotkeyTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar hotkey tooltip component\n *\n * Adds a tooltip to an interactive element with a hotkey, if\n * you don't need to display a hotkey, use the ScalarTooltip\n * component instead\n *\n * @example\n * <ScalarHotkeyTooltip content=\"Bold\" hotkey=\"B\" modifier=\"Meta\">\n * <ScalarButton>Make bold</ScalarButton>\n * </ScalarHotkeyTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, h, ref, render } from 'vue'\n\nimport { ScalarHotkey } from '../ScalarHotkey'\nimport type { HotKeyModifier } from '../ScalarHotkey/types'\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipPlacement } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n hotkey,\n modifier,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<{\n content?: string\n hotkey: string\n modifier?: HotKeyModifier[]\n delay?: number\n placement?: ScalarTooltipPlacement\n offset?: number\n}>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\n/**\n * Render the content and the hotkey into an HTML string\n */\nconst renderedContent = computed<string>(() => {\n if (!document) return ''\n\n // Temp element to render the content into\n const el = document.createElement('div')\n\n const hotKeyClass =\n '-m-0.5 border-none p-0 grid grid-flow-col *:border *:h-5 *:min-w-5 *:border-border *:rounded *:px-1 *:flex *:items-center *:justify-center'\n\n if (content) {\n // Render the content and the hotkey\n render(\n h('div', { class: 'flex items-center gap-2' }, [\n content,\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n ]),\n el,\n )\n } else {\n render(\n h(ScalarHotkey, {\n class: hotKeyClass,\n hotkey,\n modifier,\n }),\n el,\n )\n }\n\n const html = el.innerHTML\n\n // Return the rendered content\n return html\n})\n\nuseTooltip({\n content: renderedContent,\n contentTarget: 'innerHTML',\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;EAwCA,MAAM,aAAsC,IAAI,IAAI;EA4CpD,WAAW;GACT,SAxCsB,eAAuB;IAC7C,IAAI,CAAC,UAAU,OAAO;IAGtB,MAAM,KAAK,SAAS,cAAc,KAAK;IAEvC,MAAM,cACJ;IAEF,IAAI,QAAA,SAEF,OACE,EAAE,OAAO,EAAE,OAAO,0BAA0B,GAAG,CAC7C,QAAA,SACA,EAAE,sBAAc;KACd,OAAO;KACP,QAAK,QAAA;KACL,UAAO,QAAA;IACT,CAAC,CACH,CAAC,GACD,EACF;SAEA,OACE,EAAE,sBAAc;KACd,OAAO;KACP,QAAK,QAAA;KACL,UAAO,QAAA;IACT,CAAC,GACD,EACF;IAMF,OAHa,GAAG;GAIlB,CAGW;GACT,eAAe;GACf,OAAO,eAAe,QAAA,KAAK;GAC3B,WAAW,eAAe,QAAA,SAAS;GACnC,QAAQ,eAAe,QAAA,MAAM;GAC7B,WAAW,eACH,WAAW,OAAO,WAAW,MAAM,WAAW,SAAS,KAAA,CAC/D;EACF,CAAC;;uBAGC,mBAIM,OAAA;aAHA;IAAJ,KAAI;IACH,OAAK,eAAA,EAAA,UAAA,CAAA,CAAgBA,KAAAA,OAAO,QAAO,CAAA;OACpC,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"names":[],"mappings":"AAuHA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIjD;;;;;;;;;GASG;wBACkB,OAAO,YAAY;AAAxC,wBAAyC;AAGzC,QAAA,MAAM,YAAY;cA6CJ,CAAC,KAAK,IAAgB,KAAK,GAAG;EAWxC,CAAC;AACL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTooltip.vue.js","names":[],"sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar tooltip component\n *\n * Adds a tooltip to an interactive element\n *\n * @example\n * <ScalarTooltip content=\"This is a tooltip\">\n * <ScalarButton>Hover Me</ScalarButton>\n * </ScalarTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, ref } from 'vue'\n\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipProps } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<ScalarTooltipProps>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\nuseTooltip({\n content: computed(() => content),\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n<style>\n@reference \"../../style.css\";\n\n
|
|
1
|
+
{"version":3,"file":"ScalarTooltip.vue.js","names":[],"sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar tooltip component\n *\n * Adds a tooltip to an interactive element\n *\n * @example\n * <ScalarTooltip content=\"This is a tooltip\">\n * <ScalarButton>Hover Me</ScalarButton>\n * </ScalarTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, ref } from 'vue'\n\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipProps } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<ScalarTooltipProps>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\nuseTooltip({\n content: computed(() => content),\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n<style>\n@reference \"../../style.css\";\n\n/**\n * Global styles for the tooltip\n *\n * The tooltip element normally sits directly on the body, but it moves into a <dialog>\n * opened with showModal() so it can paint above the top layer. Both parents have to be\n * matched here or the tooltip loses every one of these styles the moment it is\n * reparented, and renders as unstyled text on a transparent background.\n */\n:where(body, dialog) > .scalar-tooltip {\n --scalar-tooltip-padding-x: 8px;\n --scalar-tooltip-padding-y: 6px;\n\n padding: var(--scalar-tooltip-padding-y) var(--scalar-tooltip-padding-x);\n\n @apply z-tooltip text-c-tooltip text-xs/4 font-normal break-words max-w-xs;\n}\n\n/**\n * The offset is the gap between the target and the tooltip, so it only belongs\n * on the side facing the target (opposite the placement side). Applying it to\n * every side shifts the visible box inward on `-start` / `-end` placements,\n * where Floating UI aligns the floating element's edge with the target's edge.\n */\n:where(body, dialog) > .scalar-tooltip[data-side='top'] {\n padding-bottom: calc(\n var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset)\n );\n}\n:where(body, dialog) > .scalar-tooltip[data-side='bottom'] {\n padding-top: calc(\n var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset)\n );\n}\n:where(body, dialog) > .scalar-tooltip[data-side='left'] {\n padding-right: calc(\n var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset)\n );\n}\n:where(body, dialog) > .scalar-tooltip[data-side='right'] {\n padding-left: calc(\n var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset)\n );\n}\n\n:where(body, dialog) > .scalar-tooltip:before {\n content: '';\n inset: 0;\n @apply absolute rounded-lg bg-b-tooltip -z-1 backdrop-blur border shadow;\n}\n\n/* Leave the gap on the target-facing side so the other edges stay flush */\n:where(body, dialog) > .scalar-tooltip[data-side='top']:before {\n bottom: var(--scalar-tooltip-offset);\n}\n:where(body, dialog) > .scalar-tooltip[data-side='bottom']:before {\n top: var(--scalar-tooltip-offset);\n}\n:where(body, dialog) > .scalar-tooltip[data-side='left']:before {\n right: var(--scalar-tooltip-offset);\n}\n:where(body, dialog) > .scalar-tooltip[data-side='right']:before {\n left: var(--scalar-tooltip-offset);\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useTooltip } from "./useTooltip.js";
|
|
2
2
|
import { computed, createElementBlock, defineComponent, normalizeClass, openBlock, ref, renderSlot } from "vue";
|
|
3
|
-
var ScalarTooltip_vue_vue_type_script_setup_true_lang_default =
|
|
3
|
+
var ScalarTooltip_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
4
4
|
__name: "ScalarTooltip",
|
|
5
5
|
props: {
|
|
6
6
|
content: { default: "" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarTooltip.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar tooltip component\n *\n * Adds a tooltip to an interactive element\n *\n * @example\n * <ScalarTooltip content=\"This is a tooltip\">\n * <ScalarButton>Hover Me</ScalarButton>\n * </ScalarTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, ref } from 'vue'\n\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipProps } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<ScalarTooltipProps>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\nuseTooltip({\n content: computed(() => content),\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n<style>\n@reference \"../../style.css\";\n\n
|
|
1
|
+
{"version":3,"file":"ScalarTooltip.vue.script.js","names":["$slots"],"sources":["../../../src/components/ScalarTooltip/ScalarTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Scalar tooltip component\n *\n * Adds a tooltip to an interactive element\n *\n * @example\n * <ScalarTooltip content=\"This is a tooltip\">\n * <ScalarButton>Hover Me</ScalarButton>\n * </ScalarTooltip>\n */\nexport default {}\n</script>\n<script setup lang=\"ts\">\nimport { type Ref, computed, ref } from 'vue'\n\nimport { DEFAULT_DELAY, DEFAULT_OFFSET } from './constants'\nimport type { ScalarTooltipProps } from './types'\nimport { useTooltip } from './useTooltip'\n\nconst {\n delay = DEFAULT_DELAY,\n content = '',\n placement = 'top',\n offset = DEFAULT_OFFSET,\n} = defineProps<ScalarTooltipProps>()\n\nconst wrapperRef: Ref<HTMLElement | null> = ref(null)\n\nuseTooltip({\n content: computed(() => content),\n delay: computed(() => delay),\n placement: computed(() => placement),\n offset: computed(() => offset),\n targetRef: computed(\n () => wrapperRef.value?.children?.[0] || wrapperRef.value || undefined,\n ),\n})\n</script>\n<template>\n <div\n ref=\"wrapperRef\"\n :class=\"{ contents: !!$slots.default }\">\n <slot />\n </div>\n</template>\n<style>\n@reference \"../../style.css\";\n\n/**\n * Global styles for the tooltip\n *\n * The tooltip element normally sits directly on the body, but it moves into a <dialog>\n * opened with showModal() so it can paint above the top layer. Both parents have to be\n * matched here or the tooltip loses every one of these styles the moment it is\n * reparented, and renders as unstyled text on a transparent background.\n */\n:where(body, dialog) > .scalar-tooltip {\n --scalar-tooltip-padding-x: 8px;\n --scalar-tooltip-padding-y: 6px;\n\n padding: var(--scalar-tooltip-padding-y) var(--scalar-tooltip-padding-x);\n\n @apply z-tooltip text-c-tooltip text-xs/4 font-normal break-words max-w-xs;\n}\n\n/**\n * The offset is the gap between the target and the tooltip, so it only belongs\n * on the side facing the target (opposite the placement side). Applying it to\n * every side shifts the visible box inward on `-start` / `-end` placements,\n * where Floating UI aligns the floating element's edge with the target's edge.\n */\n:where(body, dialog) > .scalar-tooltip[data-side='top'] {\n padding-bottom: calc(\n var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset)\n );\n}\n:where(body, dialog) > .scalar-tooltip[data-side='bottom'] {\n padding-top: calc(\n var(--scalar-tooltip-padding-y) + var(--scalar-tooltip-offset)\n );\n}\n:where(body, dialog) > .scalar-tooltip[data-side='left'] {\n padding-right: calc(\n var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset)\n );\n}\n:where(body, dialog) > .scalar-tooltip[data-side='right'] {\n padding-left: calc(\n var(--scalar-tooltip-padding-x) + var(--scalar-tooltip-offset)\n );\n}\n\n:where(body, dialog) > .scalar-tooltip:before {\n content: '';\n inset: 0;\n @apply absolute rounded-lg bg-b-tooltip -z-1 backdrop-blur border shadow;\n}\n\n/* Leave the gap on the target-facing side so the other edges stay flush */\n:where(body, dialog) > .scalar-tooltip[data-side='top']:before {\n bottom: var(--scalar-tooltip-offset);\n}\n:where(body, dialog) > .scalar-tooltip[data-side='bottom']:before {\n top: var(--scalar-tooltip-offset);\n}\n:where(body, dialog) > .scalar-tooltip[data-side='left']:before {\n right: var(--scalar-tooltip-offset);\n}\n:where(body, dialog) > .scalar-tooltip[data-side='right']:before {\n left: var(--scalar-tooltip-offset);\n}\n</style>\n"],"mappings":";;;;;;;;;;;EA2BA,MAAM,aAAsC,IAAI,IAAI;EAEpD,WAAW;GACT,SAAS,eAAe,QAAA,OAAO;GAC/B,OAAO,eAAe,QAAA,KAAK;GAC3B,WAAW,eAAe,QAAA,SAAS;GACnC,QAAQ,eAAe,QAAA,MAAM;GAC7B,WAAW,eACH,WAAW,OAAO,WAAW,MAAM,WAAW,SAAS,KAAA,CAC/D;EACF,CAAC;;uBAGC,mBAIM,OAAA;aAHA;IAAJ,KAAI;IACH,OAAK,eAAA,EAAA,UAAA,CAAA,CAAgBA,KAAAA,OAAO,QAAO,CAAA;OACpC,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
|