@eos-ui/vue 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY.md +1 -1
- package/dist/component-names.js +1 -1
- package/dist/component-names.js.map +1 -1
- package/dist/components/Actions/EActions.js.map +1 -1
- package/dist/components/Actions/EActions.vue.d.ts +3 -1
- package/dist/components/Actions/EActions.vue_vue_type_script_setup_true_lang.js +12 -3
- package/dist/components/Actions/EActions.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/AppHeader/EAppHeader.js.map +1 -1
- package/dist/components/AppHeader/EAppHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/AppShell/EAppShell.js.map +1 -1
- package/dist/components/AppShell/EAppShell.vue.d.ts +2 -2
- package/dist/components/AppShell/EAppShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Avatar/EAvatar.js.map +1 -1
- package/dist/components/Avatar/EAvatar.vue.d.ts +4 -4
- package/dist/components/Avatar/EAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Breadcrumb/EBreadcrumb.js.map +1 -1
- package/dist/components/Breadcrumb/EBreadcrumb.vue.d.ts +2 -2
- package/dist/components/Breadcrumb/EBreadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Button/EButton.js.map +1 -1
- package/dist/components/Button/EButton.vue.d.ts +5 -3
- package/dist/components/Button/EButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Calendar/ECalendar.js.map +1 -1
- package/dist/components/Calendar/ECalendar.vue.d.ts +12 -9
- package/dist/components/Calendar/ECalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Checkbox/ECheckbox.js.map +1 -1
- package/dist/components/Checkbox/ECheckbox.vue.d.ts +6 -3
- package/dist/components/Checkbox/ECheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/CodeBlock/ECodeBlock.js.map +1 -1
- package/dist/components/CodeBlock/ECodeBlock.vue.d.ts +2 -2
- package/dist/components/CodeBlock/ECodeBlock.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/ColorField/EColorField.js.map +1 -1
- package/dist/components/ColorField/EColorField.vue.d.ts +5 -3
- package/dist/components/ColorField/EColorField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Combobox/ECombobox.js.map +1 -1
- package/dist/components/Combobox/ECombobox.vue.d.ts +7 -5
- package/dist/components/Combobox/ECombobox.vue_vue_type_script_setup_true_lang.js +3 -2
- package/dist/components/Combobox/ECombobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Combobox/EComboboxBase.js.map +1 -1
- package/dist/components/Combobox/EComboboxBase.vue.d.ts +6 -14
- package/dist/components/Combobox/EComboboxBase.vue_vue_type_script_setup_true_lang.js +9 -8
- package/dist/components/Combobox/EComboboxBase.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Combobox/EComboboxOption.js.map +1 -1
- package/dist/components/Combobox/EComboboxOption.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/Combobox/EComboboxOption.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Combobox/{EHighlight.js → matchHighlight.js} +3 -3
- package/dist/components/Combobox/matchHighlight.js.map +1 -0
- package/dist/components/Combobox/types.d.ts +13 -8
- package/dist/components/CurrencyField/ECurrencyField.js.map +1 -1
- package/dist/components/CurrencyField/ECurrencyField.vue.d.ts +8 -6
- package/dist/components/CurrencyField/ECurrencyField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/DataGrid/EDataGrid.js.map +1 -1
- package/dist/components/DataGrid/EDataGrid.vue.d.ts +20 -15
- package/dist/components/DataGrid/EDataGrid.vue_vue_type_script_setup_true_lang.js +213 -213
- package/dist/components/DataGrid/EDataGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/DatePicker/EDatePicker.js.map +1 -1
- package/dist/components/DatePicker/EDatePicker.vue.d.ts +9 -6
- package/dist/components/DatePicker/EDatePicker.vue_vue_type_script_setup_true_lang.js +10 -10
- package/dist/components/DatePicker/EDatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Definition/EDefinition.js +8 -0
- package/dist/components/Definition/EDefinition.js.map +1 -0
- package/dist/components/{Popover/EPopover.vue.d.ts → Definition/EDefinition.vue.d.ts} +2 -1
- package/dist/components/{Popover/EPopover.vue_vue_type_script_setup_true_lang.js → Definition/EDefinition.vue_vue_type_script_setup_true_lang.js} +4 -4
- package/dist/components/Definition/EDefinition.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/Definition/index.d.ts +1 -0
- package/dist/components/DescriptionList/EDescriptionList.js.map +1 -1
- package/dist/components/DescriptionList/EDescriptionList.vue.d.ts +32 -5
- package/dist/components/DescriptionList/EDescriptionList.vue_vue_type_script_setup_true_lang.js +70 -8
- package/dist/components/DescriptionList/EDescriptionList.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Dialog/DialogFrame.js.map +1 -1
- package/dist/components/Dialog/DialogFrame.vue.d.ts +1 -0
- package/dist/components/Dialog/DialogFrame.vue_vue_type_script_setup_true_lang.js +19 -18
- package/dist/components/Dialog/DialogFrame.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Dialog/EDialog.js.map +1 -1
- package/dist/components/Dialog/EDialog.vue.d.ts +4 -1
- package/dist/components/Dialog/EDialog.vue_vue_type_script_setup_true_lang.js +3 -0
- package/dist/components/Dialog/EDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Disclosure/EDisclosure.js.map +1 -1
- package/dist/components/Disclosure/EDisclosure.vue.d.ts +6 -9
- package/dist/components/Disclosure/EDisclosure.vue_vue_type_script_setup_true_lang.js +14 -19
- package/dist/components/Disclosure/EDisclosure.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Drawer/EDrawer.js.map +1 -1
- package/dist/components/Drawer/EDrawer.vue.d.ts +4 -1
- package/dist/components/Drawer/EDrawer.vue_vue_type_script_setup_true_lang.js +3 -0
- package/dist/components/Drawer/EDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/EmptyState/EEmptyState.js.map +1 -1
- package/dist/components/EmptyState/EEmptyState.vue.d.ts +1 -1
- package/dist/components/EmptyState/EEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/ExpandableRow/EExpandableRow.js +8 -0
- package/dist/components/ExpandableRow/EExpandableRow.js.map +1 -0
- package/dist/components/{ButtonGroup/EButtonGroup.vue.d.ts → ExpandableRow/EExpandableRow.vue.d.ts} +12 -4
- package/dist/components/ExpandableRow/EExpandableRow.vue_vue_type_script_setup_true_lang.js +40 -0
- package/dist/components/ExpandableRow/EExpandableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/ExpandableRow/index.d.ts +1 -0
- package/dist/components/Field/EField.js.map +1 -1
- package/dist/components/Field/EField.vue.d.ts +1 -1
- package/dist/components/Field/EField.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/Field/EField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Field/labelProps.d.ts +2 -2
- package/dist/components/Fieldset/EFieldset.js.map +1 -1
- package/dist/components/Fieldset/EFieldset.vue.d.ts +5 -3
- package/dist/components/Fieldset/EFieldset.vue_vue_type_script_setup_true_lang.js +54 -35
- package/dist/components/Fieldset/EFieldset.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Grid/EGrid.js.map +1 -1
- package/dist/components/Grid/EGrid.vue.d.ts +5 -2
- package/dist/components/Grid/EGrid.vue_vue_type_script_setup_true_lang.js +15 -11
- package/dist/components/Grid/EGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Heading/EHeading.js.map +1 -1
- package/dist/components/Heading/EHeading.vue.d.ts +1 -1
- package/dist/components/Heading/EHeading.vue_vue_type_script_setup_true_lang.js +10 -10
- package/dist/components/Heading/EHeading.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Highlight/EHighlight.js.map +1 -1
- package/dist/components/Highlight/EHighlight.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/IconButton/EIconButton.js.map +1 -1
- package/dist/components/IconButton/EIconButton.vue.d.ts +1 -0
- package/dist/components/IconButton/EIconButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Inline/EInline.js.map +1 -1
- package/dist/components/Inline/EInline.vue.d.ts +3 -3
- package/dist/components/Inline/EInline.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Kbd/EKbd.js.map +1 -1
- package/dist/components/Kbd/EKbd.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Link/ELink.js.map +1 -1
- package/dist/components/Link/ELink.vue.d.ts +2 -2
- package/dist/components/Link/ELink.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Menu/EMenu.js.map +1 -1
- package/dist/components/Menu/EMenu.vue.d.ts +4 -3
- package/dist/components/Menu/EMenu.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/Menu/EMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/NavList/ENavList.js.map +1 -1
- package/dist/components/NavList/ENavList.vue.d.ts +7 -9
- package/dist/components/NavList/ENavList.vue_vue_type_script_setup_true_lang.js +2 -3
- package/dist/components/NavList/ENavList.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/{Tabs → NavList}/LinkNav.js +1 -1
- package/dist/components/NavList/LinkNav.js.map +1 -0
- package/dist/components/{Tabs → NavList}/LinkNav.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/NavList/LinkNav.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/Notice/ENotice.js.map +1 -1
- package/dist/components/Notice/ENotice.vue.d.ts +2 -2
- package/dist/components/Notice/ENotice.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/NumberField/ENumberField.js.map +1 -1
- package/dist/components/NumberField/ENumberField.vue.d.ts +5 -3
- package/dist/components/NumberField/ENumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/OtpField/EOtpField.js.map +1 -1
- package/dist/components/OtpField/EOtpField.vue.d.ts +10 -8
- package/dist/components/OtpField/EOtpField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/OtpField/EOtpField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/PageHeader/EPageHeader.js.map +1 -1
- package/dist/components/PageHeader/EPageHeader.vue.d.ts +1 -1
- package/dist/components/PageHeader/EPageHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Pagination/EPagination.js.map +1 -1
- package/dist/components/Pagination/EPagination.vue.d.ts +1 -0
- package/dist/components/Pagination/EPagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/PasswordField/EPasswordField.js.map +1 -1
- package/dist/components/PasswordField/EPasswordField.vue.d.ts +14 -10
- package/dist/components/PasswordField/EPasswordField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/PhoneField/EPhoneField.js.map +1 -1
- package/dist/components/PhoneField/EPhoneField.vue.d.ts +6 -4
- package/dist/components/PhoneField/EPhoneField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Progress/EProgress.js.map +1 -1
- package/dist/components/Progress/EProgress.vue.d.ts +5 -5
- package/dist/components/Progress/EProgress.vue_vue_type_script_setup_true_lang.js +20 -14
- package/dist/components/Progress/EProgress.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/RadioGroup/ERadioGroup.js.map +1 -1
- package/dist/components/RadioGroup/ERadioGroup.vue.d.ts +8 -4
- package/dist/components/RadioGroup/ERadioGroup.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/RadioGroup/ERadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/RangePicker/ERangePicker.js.map +1 -1
- package/dist/components/RangePicker/ERangePicker.vue.d.ts +12 -8
- package/dist/components/RangePicker/ERangePicker.vue_vue_type_script_setup_true_lang.js +65 -65
- package/dist/components/RangePicker/ERangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/SearchBar/ESearchBar.js.map +1 -1
- package/dist/components/SearchBar/ESearchBar.vue.d.ts +8 -7
- package/dist/components/SearchBar/ESearchBar.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/SearchBar/ESearchBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/SearchResults/ESearchResults.js.map +1 -1
- package/dist/components/SearchResults/ESearchResults.vue.d.ts +3 -3
- package/dist/components/SearchResults/ESearchResults.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/SearchResults/ESearchResults.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Segmented/ESegmented.js.map +1 -1
- package/dist/components/Segmented/ESegmented.vue.d.ts +10 -6
- package/dist/components/Segmented/ESegmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Select/ESelect.js.map +1 -1
- package/dist/components/Select/ESelect.vue.d.ts +9 -6
- package/dist/components/Select/ESelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Select/ESelectControl.js.map +1 -1
- package/dist/components/Select/ESelectControl.vue.d.ts +2 -2
- package/dist/components/Select/ESelectControl.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/components/Select/ESelectControl.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Select/options.d.ts +1 -1
- package/dist/components/Select/options.js.map +1 -1
- package/dist/components/SignatureField/ESignatureField.js.map +1 -1
- package/dist/components/SignatureField/ESignatureField.vue.d.ts +14 -10
- package/dist/components/SignatureField/ESignatureField.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/SignatureField/ESignatureField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/SignaturePad/ESignaturePad.js.map +1 -1
- package/dist/components/SignaturePad/ESignaturePad.vue.d.ts +3 -1
- package/dist/components/SignaturePad/ESignaturePad.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Skeleton/ESkeleton.js.map +1 -1
- package/dist/components/Skeleton/ESkeleton.vue.d.ts +3 -3
- package/dist/components/Skeleton/ESkeleton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Stack/EStack.js.map +1 -1
- package/dist/components/Stack/EStack.vue.d.ts +2 -2
- package/dist/components/Stack/EStack.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Stamp/EStamp.js.map +1 -1
- package/dist/components/Stamp/EStamp.vue.d.ts +18 -12
- package/dist/components/Stamp/EStamp.vue_vue_type_script_setup_true_lang.js +27 -40
- package/dist/components/Stamp/EStamp.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Stepper/EStepper.js.map +1 -1
- package/dist/components/Stepper/EStepper.vue.d.ts +2 -2
- package/dist/components/Stepper/EStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Surface/ESurface.js.map +1 -1
- package/dist/components/Surface/ESurface.vue.d.ts +5 -5
- package/dist/components/Surface/ESurface.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/Surface/ESurface.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Switch/ESwitch.js.map +1 -1
- package/dist/components/Switch/ESwitch.vue.d.ts +3 -1
- package/dist/components/Switch/ESwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Tabs/ETabs.js.map +1 -1
- package/dist/components/Tabs/ETabs.vue.d.ts +10 -32
- package/dist/components/Tabs/ETabs.vue_vue_type_script_setup_true_lang.js +21 -50
- package/dist/components/Tabs/ETabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Tabs/index.d.ts +1 -1
- package/dist/components/Text/EText.js.map +1 -1
- package/dist/components/Text/EText.vue.d.ts +4 -3
- package/dist/components/Text/EText.vue_vue_type_script_setup_true_lang.js +7 -2
- package/dist/components/Text/EText.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/TextField/ETextField.js.map +1 -1
- package/dist/components/TextField/ETextField.vue.d.ts +8 -6
- package/dist/components/TextField/ETextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Textarea/ETextarea.js.map +1 -1
- package/dist/components/Textarea/ETextarea.vue.d.ts +4 -2
- package/dist/components/Textarea/ETextarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Toast/EToast.js.map +1 -1
- package/dist/components/Toast/EToast.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/Toast/EToast.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/ToastProvider/EToastProvider.js.map +1 -1
- package/dist/components/ToastProvider/EToastProvider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Tooltip/ETooltip.js.map +1 -1
- package/dist/components/Tooltip/ETooltip.vue.d.ts +1 -0
- package/dist/components/Tooltip/ETooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/Upload/EUpload.js.map +1 -1
- package/dist/components/Upload/EUpload.vue.d.ts +5 -3
- package/dist/components/Upload/EUpload.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/fonts.css +1 -1
- package/dist/index.d.ts +2 -25
- package/dist/index.js +71 -94
- package/dist/messages.d.ts +0 -13
- package/dist/messages.js +0 -13
- package/dist/messages.js.map +1 -1
- package/dist/style.css +2655 -3121
- package/package.json +4 -2
- package/dist/components/Accordion/EAccordion.js +0 -8
- package/dist/components/Accordion/EAccordion.js.map +0 -1
- package/dist/components/Accordion/EAccordion.vue.d.ts +0 -32
- package/dist/components/Accordion/EAccordion.vue_vue_type_script_setup_true_lang.js +0 -35
- package/dist/components/Accordion/EAccordion.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Accordion/index.d.ts +0 -2
- package/dist/components/AddressField/EAddressField.js +0 -8
- package/dist/components/AddressField/EAddressField.js.map +0 -1
- package/dist/components/AddressField/EAddressField.vue.d.ts +0 -39
- package/dist/components/AddressField/EAddressField.vue_vue_type_script_setup_true_lang.js +0 -119
- package/dist/components/AddressField/EAddressField.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/AddressField/index.d.ts +0 -2
- package/dist/components/AddressField/usStates.d.ts +0 -5
- package/dist/components/AddressField/usStates.js +0 -211
- package/dist/components/AddressField/usStates.js.map +0 -1
- package/dist/components/Amount/EAmount.js +0 -8
- package/dist/components/Amount/EAmount.js.map +0 -1
- package/dist/components/Amount/EAmount.vue.d.ts +0 -21
- package/dist/components/Amount/EAmount.vue_vue_type_script_setup_true_lang.js +0 -38
- package/dist/components/Amount/EAmount.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Amount/index.d.ts +0 -2
- package/dist/components/Autocomplete/EAutocomplete.js +0 -7
- package/dist/components/Autocomplete/EAutocomplete.js.map +0 -1
- package/dist/components/Autocomplete/EAutocomplete.vue.d.ts +0 -44
- package/dist/components/Autocomplete/EAutocomplete.vue_vue_type_script_setup_true_lang.js +0 -58
- package/dist/components/Autocomplete/EAutocomplete.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Autocomplete/index.d.ts +0 -1
- package/dist/components/BackLink/EBackLink.js +0 -8
- package/dist/components/BackLink/EBackLink.js.map +0 -1
- package/dist/components/BackLink/EBackLink.vue.d.ts +0 -23
- package/dist/components/BackLink/EBackLink.vue_vue_type_script_setup_true_lang.js +0 -27
- package/dist/components/BackLink/EBackLink.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/BackLink/index.d.ts +0 -1
- package/dist/components/BookingCard/EBookingCard.js +0 -8
- package/dist/components/BookingCard/EBookingCard.js.map +0 -1
- package/dist/components/BookingCard/EBookingCard.vue.d.ts +0 -46
- package/dist/components/BookingCard/EBookingCard.vue_vue_type_script_setup_true_lang.js +0 -86
- package/dist/components/BookingCard/EBookingCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/BookingCard/index.d.ts +0 -2
- package/dist/components/ButtonGroup/EButtonGroup.js +0 -8
- package/dist/components/ButtonGroup/EButtonGroup.js.map +0 -1
- package/dist/components/ButtonGroup/EButtonGroup.vue_vue_type_script_setup_true_lang.js +0 -18
- package/dist/components/ButtonGroup/EButtonGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/ButtonGroup/index.d.ts +0 -1
- package/dist/components/CardField/ECardField.js +0 -8
- package/dist/components/CardField/ECardField.js.map +0 -1
- package/dist/components/CardField/ECardField.vue.d.ts +0 -31
- package/dist/components/CardField/ECardField.vue_vue_type_script_setup_true_lang.js +0 -65
- package/dist/components/CardField/ECardField.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/CardField/index.d.ts +0 -1
- package/dist/components/Chip/EChip.js +0 -8
- package/dist/components/Chip/EChip.js.map +0 -1
- package/dist/components/Chip/EChip.vue.d.ts +0 -22
- package/dist/components/Chip/EChip.vue_vue_type_script_setup_true_lang.js +0 -18
- package/dist/components/Chip/EChip.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Chip/index.d.ts +0 -2
- package/dist/components/Combobox/EHighlight.js.map +0 -1
- package/dist/components/DetailRow/EDetailRow.js +0 -8
- package/dist/components/DetailRow/EDetailRow.js.map +0 -1
- package/dist/components/DetailRow/EDetailRow.vue.d.ts +0 -30
- package/dist/components/DetailRow/EDetailRow.vue_vue_type_script_setup_true_lang.js +0 -53
- package/dist/components/DetailRow/EDetailRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/DetailRow/index.d.ts +0 -1
- package/dist/components/ErrorSummary/EErrorSummary.js +0 -8
- package/dist/components/ErrorSummary/EErrorSummary.js.map +0 -1
- package/dist/components/ErrorSummary/EErrorSummary.vue.d.ts +0 -30
- package/dist/components/ErrorSummary/EErrorSummary.vue_vue_type_script_setup_true_lang.js +0 -52
- package/dist/components/ErrorSummary/EErrorSummary.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/ErrorSummary/index.d.ts +0 -2
- package/dist/components/FormSection/EFormSection.js +0 -8
- package/dist/components/FormSection/EFormSection.js.map +0 -1
- package/dist/components/FormSection/EFormSection.vue.d.ts +0 -28
- package/dist/components/FormSection/EFormSection.vue_vue_type_script_setup_true_lang.js +0 -38
- package/dist/components/FormSection/EFormSection.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/FormSection/index.d.ts +0 -1
- package/dist/components/ItemList/EItemList.js +0 -8
- package/dist/components/ItemList/EItemList.js.map +0 -1
- package/dist/components/ItemList/EItemList.vue.d.ts +0 -13
- package/dist/components/ItemList/EItemList.vue_vue_type_script_setup_true_lang.js +0 -17
- package/dist/components/ItemList/EItemList.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/ItemList/context.d.ts +0 -3
- package/dist/components/ItemList/context.js +0 -6
- package/dist/components/ItemList/context.js.map +0 -1
- package/dist/components/ItemList/index.d.ts +0 -1
- package/dist/components/ItemRow/EItemRow.js +0 -8
- package/dist/components/ItemRow/EItemRow.js.map +0 -1
- package/dist/components/ItemRow/EItemRow.vue.d.ts +0 -29
- package/dist/components/ItemRow/EItemRow.vue_vue_type_script_setup_true_lang.js +0 -54
- package/dist/components/ItemRow/EItemRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/ItemRow/index.d.ts +0 -1
- package/dist/components/LinkCard/ELinkCard.js +0 -8
- package/dist/components/LinkCard/ELinkCard.js.map +0 -1
- package/dist/components/LinkCard/ELinkCard.vue.d.ts +0 -39
- package/dist/components/LinkCard/ELinkCard.vue_vue_type_script_setup_true_lang.js +0 -61
- package/dist/components/LinkCard/ELinkCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/LinkCard/index.d.ts +0 -1
- package/dist/components/LoadingBar/ELoadingBar.js +0 -8
- package/dist/components/LoadingBar/ELoadingBar.js.map +0 -1
- package/dist/components/LoadingBar/ELoadingBar.vue.d.ts +0 -7
- package/dist/components/LoadingBar/ELoadingBar.vue_vue_type_script_setup_true_lang.js +0 -21
- package/dist/components/LoadingBar/ELoadingBar.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/LoadingBar/index.d.ts +0 -1
- package/dist/components/MetaList/EMetaList.js +0 -8
- package/dist/components/MetaList/EMetaList.js.map +0 -1
- package/dist/components/MetaList/EMetaList.vue.d.ts +0 -15
- package/dist/components/MetaList/EMetaList.vue_vue_type_script_setup_true_lang.js +0 -19
- package/dist/components/MetaList/EMetaList.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/MetaList/index.d.ts +0 -2
- package/dist/components/MultiSelect/EMultiSelect.js +0 -7
- package/dist/components/MultiSelect/EMultiSelect.js.map +0 -1
- package/dist/components/MultiSelect/EMultiSelect.vue.d.ts +0 -44
- package/dist/components/MultiSelect/EMultiSelect.vue_vue_type_script_setup_true_lang.js +0 -58
- package/dist/components/MultiSelect/EMultiSelect.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/MultiSelect/index.d.ts +0 -1
- package/dist/components/Panel/EPanel.js +0 -8
- package/dist/components/Panel/EPanel.js.map +0 -1
- package/dist/components/Panel/EPanel.vue.d.ts +0 -25
- package/dist/components/Panel/EPanel.vue_vue_type_script_setup_true_lang.js +0 -38
- package/dist/components/Panel/EPanel.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Panel/index.d.ts +0 -1
- package/dist/components/Popover/EPopover.js +0 -8
- package/dist/components/Popover/EPopover.js.map +0 -1
- package/dist/components/Popover/EPopover.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Popover/index.d.ts +0 -1
- package/dist/components/SlotPicker/ESlotPicker.js +0 -8
- package/dist/components/SlotPicker/ESlotPicker.js.map +0 -1
- package/dist/components/SlotPicker/ESlotPicker.vue.d.ts +0 -55
- package/dist/components/SlotPicker/ESlotPicker.vue_vue_type_script_setup_true_lang.js +0 -82
- package/dist/components/SlotPicker/ESlotPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/SlotPicker/index.d.ts +0 -2
- package/dist/components/StatementCard/EStatementCard.js +0 -8
- package/dist/components/StatementCard/EStatementCard.js.map +0 -1
- package/dist/components/StatementCard/EStatementCard.vue.d.ts +0 -20
- package/dist/components/StatementCard/EStatementCard.vue_vue_type_script_setup_true_lang.js +0 -96
- package/dist/components/StatementCard/EStatementCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/StatementCard/index.d.ts +0 -2
- package/dist/components/StatementCard/types.d.ts +0 -37
- package/dist/components/StatementRow/EStatementRow.js +0 -8
- package/dist/components/StatementRow/EStatementRow.js.map +0 -1
- package/dist/components/StatementRow/EStatementRow.vue.d.ts +0 -14
- package/dist/components/StatementRow/EStatementRow.vue_vue_type_script_setup_true_lang.js +0 -96
- package/dist/components/StatementRow/EStatementRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/StatementRow/index.d.ts +0 -1
- package/dist/components/Tabs/LinkNav.js.map +0 -1
- package/dist/components/Tabs/LinkNav.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Timeline/ETimeline.js +0 -8
- package/dist/components/Timeline/ETimeline.js.map +0 -1
- package/dist/components/Timeline/ETimeline.vue.d.ts +0 -15
- package/dist/components/Timeline/ETimeline.vue_vue_type_script_setup_true_lang.js +0 -43
- package/dist/components/Timeline/ETimeline.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Timeline/index.d.ts +0 -2
- package/dist/components/Toggle/EToggle.js +0 -8
- package/dist/components/Toggle/EToggle.js.map +0 -1
- package/dist/components/Toggle/EToggle.vue.d.ts +0 -27
- package/dist/components/Toggle/EToggle.vue_vue_type_script_setup_true_lang.js +0 -40
- package/dist/components/Toggle/EToggle.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/components/Toggle/index.d.ts +0 -1
- /package/dist/components/Combobox/{EHighlight.d.ts → matchHighlight.d.ts} +0 -0
- /package/dist/components/{Tabs → NavList}/LinkNav.vue.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EStamp.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","
|
|
1
|
+
{"version":3,"file":"EStamp.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_createBlock","EIcon","_createCommentVNode","_createElementVNode","_renderSlot","_createTextVNode","_toDisplayString","EIcon_default","_hoisted_1","_hoisted_2","EStamp_vue_vue_type_script_setup_true_lang_default","props","__props","PRESETS","t","useMessages","preset","computed","tone","toneClass","text","openBlock","createElementBlock","normalizeClass","createBlock","createCommentVNode","createElementVNode","renderSlot","_ctx","createTextVNode","toDisplayString"],"sources":["../../../src/components/Stamp/EStamp.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport type { IconProp } from \"../../icons/types.js\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport type StampTone = \"neutral\" | \"ink\" | \"success\" | \"info\" | \"warning\" | \"danger\";\nexport type StampStatus =\n \"paid\" | \"due\" | \"overdue\" | \"action\" | \"scheduled\" | \"confirmed\" | \"cancelled\" | \"signed\" | \"pending\" | \"complete\";\n\nconst props = defineProps<{\n /** A preset: sets the tone and the word (message `status.<name>`). */\n status?: StampStatus;\n /** Overrides the preset's tone. Without a status it is `neutral` (ink; `ink` is the same). `success`: paid, confirmed. `info`: due, scheduled. `warning`: needs attention. `danger`: overdue, failed. @default \"ink\" */\n tone?: StampTone;\n /** The word. Overrides the preset's; the default slot overrides both. @default preset's word, else Status */\n label?: string;\n /** A glyph before the word. None by default. */\n icon?: IconProp;\n /** A date or day count, set after the word. */\n detail?: string;\n /** `sm` is shorter, for rows and tables. @default \"md\" */\n size?: \"sm\" | \"md\";\n}>();\n\ndefineSlots<{\n /** The word, instead of `label` or the preset's. Write sentence case; the stamp sets it in capitals. */\n default?(): unknown;\n}>();\n\nconst PRESETS: Record<StampStatus, StampTone> = {\n paid: \"success\",\n due: \"info\",\n overdue: \"danger\",\n action: \"warning\",\n scheduled: \"info\",\n confirmed: \"success\",\n cancelled: \"danger\",\n signed: \"success\",\n pending: \"info\",\n complete: \"success\",\n};\n\nconst t = useMessages();\nconst preset = computed(() => (props.status ? PRESETS[props.status] : undefined));\nconst tone = computed<StampTone>(() => props.tone || preset.value || \"neutral\");\nconst toneClass = computed(() => (tone.value === \"neutral\" || tone.value === \"ink\" ? null : `e-stamp--${tone.value}`));\nconst text = computed(() => props.label || (preset.value ? t(`status.${props.status}`) : t(\"status\")));\n</script>\n\n<template>\n <span class=\"e-stamp\" :class=\"[toneClass, size === 'sm' && 'e-stamp--sm']\">\n <EIcon v-if=\"icon\" :name=\"icon\" bold />\n <span class=\"e-stamp-word\"><slot>{{ text }}</slot></span>\n <span v-if=\"detail\" class=\"e-stamp-detail\">{{ detail }}</span>\n </span>\n</template>\n\n<style>\n@layer e.primitives {\n .e-stamp {\n --e-soft: var(--e-surface-tint);\n --e-strong: var(--e-ink);\n --e-on: var(--e-surface);\n\n display: inline-flex;\n flex-wrap: nowrap;\n white-space: nowrap;\n align-items: center;\n gap: var(--e-space-2);\n\n --e-bc: var(--e-strong);\n\n min-height: calc(var(--e-chip-height) + var(--e-space-1));\n padding: 0 var(--e-space-3);\n border-radius: var(--e-radius-sm);\n background: var(--e-strong);\n color: var(--e-on);\n box-shadow: inset 0 0 0 var(--e-stroke-card) var(--e-bc);\n outline: var(--e-stroke-card) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-card));\n cursor: default;\n justify-self: start;\n }\n\n .e-stamp--success {\n --e-soft: var(--e-secondary-soft);\n --e-strong: var(--e-secondary);\n --e-on: var(--e-on-secondary);\n }\n\n .e-stamp--info {\n --e-soft: var(--e-surface-tint);\n --e-strong: var(--e-primary);\n --e-on: var(--e-on-primary);\n }\n\n .e-stamp--danger {\n --e-soft: var(--e-danger-soft);\n --e-strong: var(--e-danger);\n --e-on: var(--e-on-danger);\n }\n\n .e-stamp--warning {\n --e-soft: var(--e-warning-soft);\n --e-strong: var(--e-warning-strong);\n --e-on: var(--e-surface);\n }\n\n .e-stamp .e-stamp-detail {\n border-inline-start-color: color-mix(in srgb, var(--e-on) 55%, transparent);\n }\n\n .e-stamp-word {\n font: 600 var(--e-text-xs) / 16px var(--e-font-mono);\n letter-spacing: 0.1em;\n text-transform: uppercase;\n }\n\n .e-stamp-detail {\n font: 500 var(--e-text-xs) / 1 var(--e-font-mono);\n letter-spacing: 0.04em;\n padding-inline-start: var(--e-space-2);\n border-inline-start: var(--e-stroke-hair) solid currentColor;\n }\n\n .e-stamp .e-icon {\n width: 14px;\n height: 14px;\n }\n\n .e-stamp--sm {\n min-height: var(--e-chip-height);\n gap: var(--e-space-1);\n align-self: flex-start;\n }\n\n .e-stamp--sm .e-icon {\n width: 13px;\n height: 13px;\n }\n\n .e-stamp--sm .e-stamp-word {\n font-size: var(--e-text-xs);\n line-height: 14px;\n letter-spacing: 0.06em;\n }\n\n @media (forced-colors: active) {\n .e-stamp {\n border: var(--e-stroke-card) solid CanvasText;\n }\n }\n\n @media print {\n .e-stamp {\n border: var(--e-stroke-card) solid var(--e-print-ink);\n outline: 0;\n background: none;\n box-shadow: none;\n color: var(--e-print-ink);\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,IAAMc,IAAQC,GAoBRC,IAA0C;GAC9C,MAAM;GACN,KAAK;GACL,SAAS;GACT,QAAQ;GACR,WAAW;GACX,WAAW;GACX,WAAW;GACX,QAAQ;GACR,SAAS;GACT,UAAU;EACZ,GAEMC,IAAIC,EAAY,GAChBC,IAASC,QAAgBN,EAAM,SAASE,EAAQF,EAAM,UAAU,KAAA,CAAU,GAC1EO,IAAOD,QAA0BN,EAAM,QAAQK,EAAO,SAAS,SAAS,GACxEG,IAAYF,QAAgBC,EAAK,UAAU,aAAaA,EAAK,UAAU,QAAQ,OAAO,YAAYA,EAAK,OAAQ,GAC/GE,IAAOH,QAAeN,EAAM,UAAUK,EAAO,QAAQF,EAAE,UAAUH,EAAM,QAAQ,IAAIG,EAAE,QAAQ,EAAE;E,kBAInGjB,EAAA,GAAAC,EAIO,QAAA,EAJD,OAAKC,EAAA,CAAC,WAAS,CAAUoB,EAAA,OAAWP,EAAA,SAAI,QAAA,aAAA,CAAA,CAAA,E;GAC/BA,EAAA,QAAbf,EAAA,GAAAG,EAAuCC,GAAA;;IAAnB,MAAMW,EAAA;IAAM,MAAA;;GAChCT,EAAyD,QAAzDK,GAAyD,CAA9BJ,EAAuBwB,EAAA,QAAA,WAAA,CAAA,SAAA,CAAdvB,EAAAC,EAAAc,EAAA,KAAI,GAAA,CAAA,C;GAC5BR,EAAA,UAAZf,EAAA,GAAAC,EAA8D,QAA9DW,GAA8DH,EAAhBM,EAAA,MAAM,GAAA,CAAA,K"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EStepper.js","names":["_sfc_main","EStepper_vue_vue_type_script_setup_true_lang_default","EStepper_default"],"sources":["../../../src/components/Stepper/EStepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport interface Step {\n /** The name of the step. */\n label: string;\n /** `done` is finished, `current` is where the person is, `upcoming` is still ahead (`todo` is accepted as the same thing). */\n state: \"done\" | \"current\" | \"upcoming\" | \"todo\";\n}\n\ndefineProps<{\n /** The steps in order. Exactly one is normally `current`. */\n steps: Step[];\n /** The list's name
|
|
1
|
+
{"version":3,"file":"EStepper.js","names":["_sfc_main","EStepper_vue_vue_type_script_setup_true_lang_default","EStepper_default"],"sources":["../../../src/components/Stepper/EStepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport interface Step {\n /** The name of the step. */\n label: string;\n /** `done` is finished, `current` is where the person is, `upcoming` is still ahead (`todo` is accepted as the same thing). */\n state: \"done\" | \"current\" | \"upcoming\" | \"todo\";\n}\n\ndefineProps<{\n /** The steps in order: `{ label, state }`; `state` is `done`, `current` or `upcoming` (`todo` is an alias). Exactly one is normally `current`. Keep labels to one or two words. */\n steps: Step[];\n /** The list's accessible name. @default \"Progress\" */\n label?: string;\n}>();\n\nconst t = useMessages();\n</script>\n\n<template>\n <ol class=\"e-steps\" :aria-label=\"label || t('progress')\">\n <li\n v-for=\"(step, i) in steps\"\n :key=\"i\"\n class=\"e-step\"\n :data-state=\"step.state === 'todo' ? 'upcoming' : step.state\"\n :aria-current=\"step.state === 'current' ? 'step' : undefined\"\n >\n <span class=\"e-step-dot\">\n <EIcon v-if=\"step.state === 'done'\" name=\"check\" small />\n <template v-else>{{ i + 1 }}</template>\n </span>\n <span class=\"e-step-label\">\n {{ step.label }}\n <span v-if=\"step.state === 'done'\" class=\"e-sr\"> ({{ t(\"done\") }})</span>\n </span>\n </li>\n </ol>\n</template>\n\n<style>\n@layer e.page {\n .e-steps {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n gap: var(--e-space-2);\n margin: 0;\n padding: 0;\n list-style: none;\n counter-reset: s;\n }\n\n .e-step {\n --e-dot: 28px;\n\n display: grid;\n justify-items: center;\n align-content: start;\n gap: var(--e-space-2);\n position: relative;\n text-align: center;\n min-width: 0;\n }\n\n .e-step::before {\n content: \"\";\n position: absolute;\n top: calc((var(--e-dot) - var(--e-stroke-focus)) / 2);\n inset-inline-end: 50%;\n width: 100%;\n border-top: var(--e-stroke-focus) solid var(--e-border-strong);\n z-index: 0;\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step[data-state=\"current\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step-dot {\n position: relative;\n z-index: var(--e-z-raised);\n display: grid;\n place-items: center;\n width: var(--e-dot);\n height: var(--e-dot);\n border-radius: 50%;\n border: var(--e-stroke-edge) dashed var(--e-border-strong);\n background: var(--e-surface);\n color: var(--e-muted);\n font: 600 var(--e-text-xs) / 1 var(--e-font-mono);\n }\n\n .e-step[data-state=\"done\"] .e-step-dot {\n border: var(--e-stroke-edge) solid var(--e-primary);\n background: var(--e-primary);\n color: var(--e-on-primary);\n }\n\n .e-step[data-state=\"current\"] .e-step-dot {\n border: var(--e-stroke-focus) solid var(--e-primary);\n color: var(--e-primary);\n background: var(--e-surface);\n }\n\n .e-step-label {\n font: 400 var(--e-text-sm) / 1.3 var(--e-font-sans);\n color: var(--e-muted);\n overflow-wrap: anywhere;\n }\n\n .e-step[data-state=\"current\"] .e-step-label {\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-step[data-state=\"done\"] .e-step-label {\n color: var(--e-ink);\n }\n\n /* stylelint-disable declaration-block-no-redundant-longhand-properties -- the longhands stay separate */\n @media (max-width: 32rem) {\n .e-steps {\n grid-auto-flow: row;\n gap: var(--e-space-3);\n }\n\n .e-step {\n grid-template-columns: auto 1fr;\n justify-items: start;\n align-items: center;\n text-align: start;\n }\n\n .e-step::before {\n display: block;\n top: calc(-1 * var(--e-space-3));\n inset-inline-end: auto;\n inset-inline-start: calc((var(--e-dot) - var(--e-stroke-focus)) / 2);\n width: 0;\n height: var(--e-space-3);\n border-top: 0;\n border-inline-start: var(--e-stroke-focus) solid var(--e-border-strong);\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n\n .e-step[data-state=\"current\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n }\n\n /* stylelint-enable declaration-block-no-redundant-longhand-properties */\n\n @media (forced-colors: active) {\n .e-step[data-state=\"done\"] .e-step-dot {\n forced-color-adjust: none;\n background: Highlight;\n border-color: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -5,9 +5,9 @@ export interface Step {
|
|
|
5
5
|
state: "done" | "current" | "upcoming" | "todo";
|
|
6
6
|
}
|
|
7
7
|
type __VLS_Props = {
|
|
8
|
-
/** The steps in order. Exactly one is normally `current`. */
|
|
8
|
+
/** The steps in order: `{ label, state }`; `state` is `done`, `current` or `upcoming` (`todo` is an alias). Exactly one is normally `current`. Keep labels to one or two words. */
|
|
9
9
|
steps: Step[];
|
|
10
|
-
/** The list's name
|
|
10
|
+
/** The list's accessible name. @default "Progress" */
|
|
11
11
|
label?: string;
|
|
12
12
|
};
|
|
13
13
|
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EStepper.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_unref","_Fragment","_renderList","_createElementVNode","_createBlock","EIcon","_createTextVNode","_toDisplayString","_createCommentVNode","EIcon_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","EStepper_vue_vue_type_script_setup_true_lang_default","t","useMessages","openBlock","createElementBlock","__props","unref","Fragment","renderList","i","step","createElementVNode","createBlock","createTextVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Stepper/EStepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport interface Step {\n /** The name of the step. */\n label: string;\n /** `done` is finished, `current` is where the person is, `upcoming` is still ahead (`todo` is accepted as the same thing). */\n state: \"done\" | \"current\" | \"upcoming\" | \"todo\";\n}\n\ndefineProps<{\n /** The steps in order. Exactly one is normally `current`. */\n steps: Step[];\n /** The list's name
|
|
1
|
+
{"version":3,"file":"EStepper.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_unref","_Fragment","_renderList","_createElementVNode","_createBlock","EIcon","_createTextVNode","_toDisplayString","_createCommentVNode","EIcon_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","EStepper_vue_vue_type_script_setup_true_lang_default","t","useMessages","openBlock","createElementBlock","__props","unref","Fragment","renderList","i","step","createElementVNode","createBlock","createTextVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Stepper/EStepper.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport { useMessages } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nexport interface Step {\n /** The name of the step. */\n label: string;\n /** `done` is finished, `current` is where the person is, `upcoming` is still ahead (`todo` is accepted as the same thing). */\n state: \"done\" | \"current\" | \"upcoming\" | \"todo\";\n}\n\ndefineProps<{\n /** The steps in order: `{ label, state }`; `state` is `done`, `current` or `upcoming` (`todo` is an alias). Exactly one is normally `current`. Keep labels to one or two words. */\n steps: Step[];\n /** The list's accessible name. @default \"Progress\" */\n label?: string;\n}>();\n\nconst t = useMessages();\n</script>\n\n<template>\n <ol class=\"e-steps\" :aria-label=\"label || t('progress')\">\n <li\n v-for=\"(step, i) in steps\"\n :key=\"i\"\n class=\"e-step\"\n :data-state=\"step.state === 'todo' ? 'upcoming' : step.state\"\n :aria-current=\"step.state === 'current' ? 'step' : undefined\"\n >\n <span class=\"e-step-dot\">\n <EIcon v-if=\"step.state === 'done'\" name=\"check\" small />\n <template v-else>{{ i + 1 }}</template>\n </span>\n <span class=\"e-step-label\">\n {{ step.label }}\n <span v-if=\"step.state === 'done'\" class=\"e-sr\"> ({{ t(\"done\") }})</span>\n </span>\n </li>\n </ol>\n</template>\n\n<style>\n@layer e.page {\n .e-steps {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n gap: var(--e-space-2);\n margin: 0;\n padding: 0;\n list-style: none;\n counter-reset: s;\n }\n\n .e-step {\n --e-dot: 28px;\n\n display: grid;\n justify-items: center;\n align-content: start;\n gap: var(--e-space-2);\n position: relative;\n text-align: center;\n min-width: 0;\n }\n\n .e-step::before {\n content: \"\";\n position: absolute;\n top: calc((var(--e-dot) - var(--e-stroke-focus)) / 2);\n inset-inline-end: 50%;\n width: 100%;\n border-top: var(--e-stroke-focus) solid var(--e-border-strong);\n z-index: 0;\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step[data-state=\"current\"]::before {\n border-top-color: var(--e-primary);\n }\n\n .e-step-dot {\n position: relative;\n z-index: var(--e-z-raised);\n display: grid;\n place-items: center;\n width: var(--e-dot);\n height: var(--e-dot);\n border-radius: 50%;\n border: var(--e-stroke-edge) dashed var(--e-border-strong);\n background: var(--e-surface);\n color: var(--e-muted);\n font: 600 var(--e-text-xs) / 1 var(--e-font-mono);\n }\n\n .e-step[data-state=\"done\"] .e-step-dot {\n border: var(--e-stroke-edge) solid var(--e-primary);\n background: var(--e-primary);\n color: var(--e-on-primary);\n }\n\n .e-step[data-state=\"current\"] .e-step-dot {\n border: var(--e-stroke-focus) solid var(--e-primary);\n color: var(--e-primary);\n background: var(--e-surface);\n }\n\n .e-step-label {\n font: 400 var(--e-text-sm) / 1.3 var(--e-font-sans);\n color: var(--e-muted);\n overflow-wrap: anywhere;\n }\n\n .e-step[data-state=\"current\"] .e-step-label {\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-step[data-state=\"done\"] .e-step-label {\n color: var(--e-ink);\n }\n\n /* stylelint-disable declaration-block-no-redundant-longhand-properties -- the longhands stay separate */\n @media (max-width: 32rem) {\n .e-steps {\n grid-auto-flow: row;\n gap: var(--e-space-3);\n }\n\n .e-step {\n grid-template-columns: auto 1fr;\n justify-items: start;\n align-items: center;\n text-align: start;\n }\n\n .e-step::before {\n display: block;\n top: calc(-1 * var(--e-space-3));\n inset-inline-end: auto;\n inset-inline-start: calc((var(--e-dot) - var(--e-stroke-focus)) / 2);\n width: 0;\n height: var(--e-space-3);\n border-top: 0;\n border-inline-start: var(--e-stroke-focus) solid var(--e-border-strong);\n }\n\n .e-step:first-child::before {\n display: none;\n }\n\n .e-step[data-state=\"done\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n\n .e-step[data-state=\"current\"]::before {\n border-inline-start-color: var(--e-primary);\n }\n }\n\n /* stylelint-enable declaration-block-no-redundant-longhand-properties */\n\n @media (forced-colors: active) {\n .e-step[data-state=\"done\"] .e-step-dot {\n forced-color-adjust: none;\n background: Highlight;\n border-color: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;EAmBA,IAAMkB,IAAIC,EAAY;E,kBAIpBnB,EAAA,GAAAC,EAiBK,MAAA;GAjBD,OAAM;GAAW,cAAYqB,EAAA,SAASpB,EAAAgB,CAAA,CAAC,CAAA,UAAA;E,KACzClB,EAAA,EAAA,GAAAC,EAeKE,GAAA,MAAAC,EAdiBkB,EAAA,QAAZ,GAAM,OADhBtB,EAAA,GAAAC,EAeK,MAAA;GAbF,KAAKyB;GACN,OAAM;GACL,cAAYC,EAAK,UAAK,SAAA,aAA2BA,EAAK;GACtD,gBAAcA,EAAK,UAAK,YAAA,SAA0B,KAAA;E,IAEnDtB,EAGO,QAHPS,GAGO,CAFQa,EAAK,UAAK,UAAvB3B,EAAA,GAAAM,EAAyDC,GAAA;;GAArB,MAAK;GAAQ,OAAA;E,OACjDP,EAAA,GAAAC,EAAuCE,GAAA,EAAA,KAAA,EAAA,GAAA,CAAnBK,EAAAC,EAAAiB,IAAC,CAAA,GAAA,CAAA,C,WAEvBrB,EAGO,QAHPU,GAGO,CAFFP,EAAAC,EAAAkB,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,UAAK,UAAtB3B,EAAA,GAAAC,EAAyE,QAAzEe,GAAgD,OAAEP,EAAGP,EAAAgB,CAAA,CAAC,CAAA,MAAA,CAAA,IAAW,KAAC,CAAA,K"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESurface.js","names":["_sfc_main","ESurface_vue_vue_type_script_setup_true_lang_default","ESurface_default"],"sources":["../../../src/components/Surface/ESurface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The element to render, `div` by default. */\n as?: string;\n /** Padding: `sm`, `md` or `lg`.
|
|
1
|
+
{"version":3,"file":"ESurface.js","names":["_sfc_main","ESurface_vue_vue_type_script_setup_true_lang_default","ESurface_default"],"sources":["../../../src/components/Surface/ESurface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The element to render, `div` by default. Use `article`, `section` or `aside` for a real block. */\n as?: string;\n /** Padding: `sm`, `md` or `lg`. None by default. */\n pad?: \"sm\" | \"md\" | \"lg\";\n /** The lifted shadow of something floating above the page, such as a Toast. */\n raised?: boolean;\n /** Hides what overflows the rounded corners. Ignored when there is an `actions` slot. */\n clip?: boolean;\n }>(),\n { as: \"div\" },\n);\n\ndefineSlots<{\n /** The content of the card. */\n default(): unknown;\n /** Buttons for a bar at the foot of the card, edge to edge. The body takes the remaining height so cards in a row end level. */\n actions(): unknown;\n}>();\n\nconst pad = computed(() => (props.pad ? `e-surface--pad-${props.pad}` : null));\nconst barElement = computed(() => (/^(article|section|aside)$/.test(props.as) ? \"footer\" : \"div\"));\n</script>\n\n<template>\n <component\n :is=\"as\"\n class=\"e-surface\"\n :class=\"[raised && 'e-surface--raised', $slots.actions ? 'e-surface--actions' : [pad, clip && 'e-surface--clip']]\"\n >\n <template v-if=\"$slots.actions\">\n <div class=\"e-surface-body\" :class=\"pad\">\n <slot />\n </div>\n <EActions :as=\"barElement\" bar>\n <slot name=\"actions\" />\n </EActions>\n </template>\n <slot v-else />\n </component>\n</template>\n\n<style>\n@layer e.blocks {\n .e-surface {\n min-width: 0;\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n box-shadow: var(--e-edge);\n outline: var(--e-stroke-card) solid var(--e-border);\n outline-offset: 0;\n }\n\n .e-surface--clip {\n overflow: hidden;\n }\n\n .e-surface--actions {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .e-surface-body {\n flex: 1;\n min-width: 0;\n }\n\n .e-surface > .e-actions--bar:last-child {\n border-end-start-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-surface--raised {\n box-shadow: var(--e-float);\n outline: var(--e-stroke-card) solid var(--e-border);\n outline-offset: 0;\n }\n\n .e-surface--pad-sm {\n padding: var(--e-space-3) var(--e-space-4);\n }\n\n .e-surface--pad-md {\n padding: var(--e-space-4);\n }\n\n .e-surface--pad-lg {\n padding: var(--e-space-6);\n }\n\n @media print {\n .e-surface {\n box-shadow: none;\n outline: 0;\n border: var(--e-stroke-hair) solid var(--e-print-ink, #000);\n break-inside: avoid;\n }\n }\n\n @media (forced-colors: active) {\n .e-surface {\n outline-color: CanvasText;\n }\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
-
/** The element to render, `div` by default. */
|
|
2
|
+
/** The element to render, `div` by default. Use `article`, `section` or `aside` for a real block. */
|
|
3
3
|
as?: string;
|
|
4
|
-
/** Padding: `sm`, `md` or `lg`.
|
|
4
|
+
/** Padding: `sm`, `md` or `lg`. None by default. */
|
|
5
5
|
pad?: "sm" | "md" | "lg";
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
/** Hides what overflows the rounded corners. */
|
|
6
|
+
/** The lifted shadow of something floating above the page, such as a Toast. */
|
|
7
|
+
raised?: boolean;
|
|
8
|
+
/** Hides what overflows the rounded corners. Ignored when there is an `actions` slot. */
|
|
9
9
|
clip?: boolean;
|
|
10
10
|
};
|
|
11
11
|
type __VLS_Slots = {
|
|
@@ -7,14 +7,14 @@ var p = /*@__PURE__*/ s({
|
|
|
7
7
|
props: {
|
|
8
8
|
as: { default: "div" },
|
|
9
9
|
pad: {},
|
|
10
|
-
|
|
10
|
+
raised: { type: Boolean },
|
|
11
11
|
clip: { type: Boolean }
|
|
12
12
|
},
|
|
13
13
|
setup(s) {
|
|
14
|
-
let p = s, m = n(() => p.
|
|
15
|
-
return (n, p) => (l(), r(d(s.as), { class: c(["e-surface", [
|
|
16
|
-
default: f(() => [n.$slots.actions ? (l(), i(t, { key: 0 }, [a("div", { class: c(["e-surface-body",
|
|
17
|
-
as:
|
|
14
|
+
let p = s, m = n(() => p.pad ? `e-surface--pad-${p.pad}` : null), h = n(() => /^(article|section|aside)$/.test(p.as) ? "footer" : "div");
|
|
15
|
+
return (n, p) => (l(), r(d(s.as), { class: c(["e-surface", [s.raised && "e-surface--raised", n.$slots.actions ? "e-surface--actions" : [m.value, s.clip && "e-surface--clip"]]]) }, {
|
|
16
|
+
default: f(() => [n.$slots.actions ? (l(), i(t, { key: 0 }, [a("div", { class: c(["e-surface-body", m.value]) }, [u(n.$slots, "default")], 2), o(e, {
|
|
17
|
+
as: h.value,
|
|
18
18
|
bar: ""
|
|
19
19
|
}, {
|
|
20
20
|
default: f(() => [u(n.$slots, "actions")]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESurface.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_createElementBlock","_Fragment","_createElementVNode","_renderSlot","_createVNode","EActions","EActions_default","ESurface_vue_vue_type_script_setup_true_lang_default","props","__props","
|
|
1
|
+
{"version":3,"file":"ESurface.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_createElementBlock","_Fragment","_createElementVNode","_renderSlot","_createVNode","EActions","EActions_default","ESurface_vue_vue_type_script_setup_true_lang_default","props","__props","pad","computed","barElement","openBlock","createBlock","resolveDynamicComponent","normalizeClass","_ctx","withCtx","createElementBlock","Fragment","createElementVNode","renderSlot","createVNode"],"sources":["../../../src/components/Surface/ESurface.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The element to render, `div` by default. Use `article`, `section` or `aside` for a real block. */\n as?: string;\n /** Padding: `sm`, `md` or `lg`. None by default. */\n pad?: \"sm\" | \"md\" | \"lg\";\n /** The lifted shadow of something floating above the page, such as a Toast. */\n raised?: boolean;\n /** Hides what overflows the rounded corners. Ignored when there is an `actions` slot. */\n clip?: boolean;\n }>(),\n { as: \"div\" },\n);\n\ndefineSlots<{\n /** The content of the card. */\n default(): unknown;\n /** Buttons for a bar at the foot of the card, edge to edge. The body takes the remaining height so cards in a row end level. */\n actions(): unknown;\n}>();\n\nconst pad = computed(() => (props.pad ? `e-surface--pad-${props.pad}` : null));\nconst barElement = computed(() => (/^(article|section|aside)$/.test(props.as) ? \"footer\" : \"div\"));\n</script>\n\n<template>\n <component\n :is=\"as\"\n class=\"e-surface\"\n :class=\"[raised && 'e-surface--raised', $slots.actions ? 'e-surface--actions' : [pad, clip && 'e-surface--clip']]\"\n >\n <template v-if=\"$slots.actions\">\n <div class=\"e-surface-body\" :class=\"pad\">\n <slot />\n </div>\n <EActions :as=\"barElement\" bar>\n <slot name=\"actions\" />\n </EActions>\n </template>\n <slot v-else />\n </component>\n</template>\n\n<style>\n@layer e.blocks {\n .e-surface {\n min-width: 0;\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n box-shadow: var(--e-edge);\n outline: var(--e-stroke-card) solid var(--e-border);\n outline-offset: 0;\n }\n\n .e-surface--clip {\n overflow: hidden;\n }\n\n .e-surface--actions {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .e-surface-body {\n flex: 1;\n min-width: 0;\n }\n\n .e-surface > .e-actions--bar:last-child {\n border-end-start-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-surface--raised {\n box-shadow: var(--e-float);\n outline: var(--e-stroke-card) solid var(--e-border);\n outline-offset: 0;\n }\n\n .e-surface--pad-sm {\n padding: var(--e-space-3) var(--e-space-4);\n }\n\n .e-surface--pad-md {\n padding: var(--e-space-4);\n }\n\n .e-surface--pad-lg {\n padding: var(--e-space-6);\n }\n\n @media print {\n .e-surface {\n box-shadow: none;\n outline: 0;\n border: var(--e-stroke-hair) solid var(--e-print-ink, #000);\n break-inside: avoid;\n }\n }\n\n @media (forced-colors: active) {\n .e-surface {\n outline-color: CanvasText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;EAKA,IAAMc,IAAQC,GAqBRC,IAAMC,QAAgBH,EAAM,MAAM,kBAAkBA,EAAM,QAAQ,IAAK,GACvEI,IAAaD,QAAgB,4BAA4B,KAAKH,EAAM,EAAE,IAAI,WAAW,KAAM;E,kBAI/Fb,EAAA,GAAAC,EAcYC,EAbLY,EAAA,EAAE,GAAA,EACP,OAAKX,EAAA,CAAC,aAAW,CACRW,EAAA,UAAM,qBAAyBf,EAAAA,OAAO,UAAO,uBAAA,CAA2BgB,EAAA,OAAKD,EAAA,QAAI,iBAAA,CAAA,CAAA,CAAA,E;GAE1F,SAAAV,QAOW,CAPKL,EAAAA,OAAO,WAAvBC,EAAA,GAAAK,EAOWC,GAAA,EAAA,KAAA,EAAA,GAAA,CANTC,EAEM,OAAA,EAFD,OAAKJ,EAAA,CAAC,kBAAyBY,EAAA,KAAG,CAAA,E,IACrCP,EAAQc,EAAA,QAAA,SAAA,C,OAEVb,EAEWC,GAAA;IAFA,IAAIO,EAAA;IAAY,KAAA;;IACzB,SAAAb,QAAuB,CAAvBI,EAAuBc,EAAA,QAAA,SAAA,C;;G,uBAG3Bd,EAAec,EAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,CAAA,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESwitch.js","names":["_sfc_main","ESwitch_vue_vue_type_script_setup_true_lang_default","ESwitch_default"],"sources":["../../../src/components/Switch/ESwitch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\nimport \"../Checkbox/choice.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The setting, named by what it does. */\n label: string;\n /** A line of detail under the label. */\n description?: string;\n disabled?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** The value submitted with a form when on. */\n value?: string;\n /** The id of the input; the label points at it.
|
|
1
|
+
{"version":3,"file":"ESwitch.js","names":["_sfc_main","ESwitch_vue_vue_type_script_setup_true_lang_default","ESwitch_default"],"sources":["../../../src/components/Switch/ESwitch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\nimport \"../Checkbox/choice.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The setting, named by what it does. */\n label: string;\n /** A line of detail under the label. */\n description?: string;\n /** Disables the switch. */\n disabled?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** The value submitted with a form when on. */\n value?: string;\n /** The id of the input; the label points at it. @default generated */\n id?: string;\n}>();\n\n/** On or off. */\nconst model = defineModel<boolean>({ default: false });\n\nconst id = useUid(() => props.id);\nconst input = ref<HTMLInputElement | null>(null);\nconst attrs = useFieldAttrs();\n\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <label\n class=\"e-choice e-switch\"\n :class=\"[{ 'e-choice--disabled': disabled }, attrs.wrapper().class]\"\n :style=\"attrs.wrapper().style\"\n :for=\"id\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"e-switch-input\"\n :name=\"name\"\n :value=\"value\"\n :checked=\"model\"\n :disabled=\"disabled\"\n v-bind=\"attrs.input()\"\n @change=\"model = ($event.target as HTMLInputElement).checked\"\n />\n <span class=\"e-switch-track\" aria-hidden=\"true\" />\n <span class=\"e-choice-text\">\n {{ label }}\n <span v-if=\"description\" class=\"e-choice-desc\">{{ description }}</span>\n </span>\n </label>\n</template>\n\n<style>\n@layer e.controls {\n .e-switch-input {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n }\n\n .e-switch-track {\n --e-switch-w: 44px;\n --e-thumb: 14px;\n --e-thumb-inset: calc(var(--e-space-1) - var(--e-stroke-card));\n --e-thumb-travel: calc(var(--e-switch-w) - 2 * var(--e-stroke-edge) - var(--e-thumb) - 2 * var(--e-thumb-inset));\n\n position: relative;\n flex: none;\n width: var(--e-switch-w);\n height: 24px;\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n\n --e-bc: var(--e-border-strong);\n\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n transition:\n background-color var(--e-duration-tap) var(--e-easing-out),\n border-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-switch-track::after {\n content: \"\";\n position: absolute;\n top: 50%;\n inset-inline-start: var(--e-thumb-inset);\n width: var(--e-thumb);\n height: var(--e-thumb);\n margin-top: calc(var(--e-thumb) / -2);\n border-radius: 50%;\n background: var(--e-ink);\n transition: transform var(--e-duration-move, 160ms) var(--e-easing-out);\n }\n\n .e-switch:hover .e-switch-track {\n border-color: var(--e-ink);\n\n --e-bc: var(--e-ink);\n }\n\n .e-switch-input:checked + .e-switch-track {\n background: var(--e-primary);\n border-color: var(--e-primary);\n\n --e-bc: var(--e-primary);\n }\n\n .e-switch-input:checked + .e-switch-track::after {\n background: var(--e-on-primary);\n transform: translateX(var(--e-thumb-travel));\n }\n\n .e-switch-input:disabled + .e-switch-track {\n border-style: dashed;\n outline: 0;\n background: var(--e-surface-tint);\n }\n\n .e-switch-input:disabled + .e-switch-track::after {\n background: var(--e-muted);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-switch-track::after {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-switch-input:checked + .e-switch-track {\n forced-color-adjust: none;\n background: Highlight;\n }\n\n .e-switch-track::after {\n forced-color-adjust: none;\n background: ButtonText;\n }\n }\n\n :dir(rtl) .e-switch-input:checked + .e-switch-track::after {\n transform: translateX(calc(-1 * var(--e-thumb-travel)));\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -3,15 +3,17 @@ type __VLS_Props = {
|
|
|
3
3
|
label: string;
|
|
4
4
|
/** A line of detail under the label. */
|
|
5
5
|
description?: string;
|
|
6
|
+
/** Disables the switch. */
|
|
6
7
|
disabled?: boolean;
|
|
7
8
|
/** The name submitted with a form. */
|
|
8
9
|
name?: string;
|
|
9
10
|
/** The value submitted with a form when on. */
|
|
10
11
|
value?: string;
|
|
11
|
-
/** The id of the input; the label points at it.
|
|
12
|
+
/** The id of the input; the label points at it. @default generated */
|
|
12
13
|
id?: string;
|
|
13
14
|
};
|
|
14
15
|
type __VLS_ModelProps = {
|
|
16
|
+
/** On or off. */
|
|
15
17
|
modelValue?: boolean;
|
|
16
18
|
};
|
|
17
19
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESwitch.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_mergeProps","_createTextVNode","_toDisplayString","_createCommentVNode","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","ESwitch_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","model","useModel","id","useUid","input","ref","attrs","useFieldAttrs","openBlock","createElementBlock","normalizeClass","unref","normalizeStyle","createElementVNode","mergeProps","_cache","$event","createTextVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Switch/ESwitch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\nimport \"../Checkbox/choice.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The setting, named by what it does. */\n label: string;\n /** A line of detail under the label. */\n description?: string;\n disabled?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** The value submitted with a form when on. */\n value?: string;\n /** The id of the input; the label points at it.
|
|
1
|
+
{"version":3,"file":"ESwitch.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_mergeProps","_createTextVNode","_toDisplayString","_createCommentVNode","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","ESwitch_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","model","useModel","id","useUid","input","ref","attrs","useFieldAttrs","openBlock","createElementBlock","normalizeClass","unref","normalizeStyle","createElementVNode","mergeProps","_cache","$event","createTextVNode","toDisplayString","createCommentVNode"],"sources":["../../../src/components/Switch/ESwitch.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\nimport \"../Checkbox/choice.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The setting, named by what it does. */\n label: string;\n /** A line of detail under the label. */\n description?: string;\n /** Disables the switch. */\n disabled?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** The value submitted with a form when on. */\n value?: string;\n /** The id of the input; the label points at it. @default generated */\n id?: string;\n}>();\n\n/** On or off. */\nconst model = defineModel<boolean>({ default: false });\n\nconst id = useUid(() => props.id);\nconst input = ref<HTMLInputElement | null>(null);\nconst attrs = useFieldAttrs();\n\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <label\n class=\"e-choice e-switch\"\n :class=\"[{ 'e-choice--disabled': disabled }, attrs.wrapper().class]\"\n :style=\"attrs.wrapper().style\"\n :for=\"id\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n type=\"checkbox\"\n role=\"switch\"\n class=\"e-switch-input\"\n :name=\"name\"\n :value=\"value\"\n :checked=\"model\"\n :disabled=\"disabled\"\n v-bind=\"attrs.input()\"\n @change=\"model = ($event.target as HTMLInputElement).checked\"\n />\n <span class=\"e-switch-track\" aria-hidden=\"true\" />\n <span class=\"e-choice-text\">\n {{ label }}\n <span v-if=\"description\" class=\"e-choice-desc\">{{ description }}</span>\n </span>\n </label>\n</template>\n\n<style>\n@layer e.controls {\n .e-switch-input {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n }\n\n .e-switch-track {\n --e-switch-w: 44px;\n --e-thumb: 14px;\n --e-thumb-inset: calc(var(--e-space-1) - var(--e-stroke-card));\n --e-thumb-travel: calc(var(--e-switch-w) - 2 * var(--e-stroke-edge) - var(--e-thumb) - 2 * var(--e-thumb-inset));\n\n position: relative;\n flex: none;\n width: var(--e-switch-w);\n height: 24px;\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n\n --e-bc: var(--e-border-strong);\n\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n transition:\n background-color var(--e-duration-tap) var(--e-easing-out),\n border-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-switch-track::after {\n content: \"\";\n position: absolute;\n top: 50%;\n inset-inline-start: var(--e-thumb-inset);\n width: var(--e-thumb);\n height: var(--e-thumb);\n margin-top: calc(var(--e-thumb) / -2);\n border-radius: 50%;\n background: var(--e-ink);\n transition: transform var(--e-duration-move, 160ms) var(--e-easing-out);\n }\n\n .e-switch:hover .e-switch-track {\n border-color: var(--e-ink);\n\n --e-bc: var(--e-ink);\n }\n\n .e-switch-input:checked + .e-switch-track {\n background: var(--e-primary);\n border-color: var(--e-primary);\n\n --e-bc: var(--e-primary);\n }\n\n .e-switch-input:checked + .e-switch-track::after {\n background: var(--e-on-primary);\n transform: translateX(var(--e-thumb-travel));\n }\n\n .e-switch-input:disabled + .e-switch-track {\n border-style: dashed;\n outline: 0;\n background: var(--e-surface-tint);\n }\n\n .e-switch-input:disabled + .e-switch-track::after {\n background: var(--e-muted);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-switch-track::after {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-switch-input:checked + .e-switch-track {\n forced-color-adjust: none;\n background: Highlight;\n }\n\n .e-switch-track::after {\n forced-color-adjust: none;\n background: ButtonText;\n }\n }\n\n :dir(rtl) .e-switch-input:checked + .e-switch-track::after {\n transform: translateX(calc(-1 * var(--e-thumb-travel)));\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASA,IAAMmB,IAAQC,GAgBRC,IAAQrB,EAAoBoB,GAAA,YAAmB,GAE/CG,IAAKC,QAAaL,EAAM,EAAE,GAC1BM,IAAQC,EAA6B,IAAI,GACzCC,IAAQC,EAAc;E,OAE5BV,EAAa;GACX;GACA,aAAaO,EAAM,OAAO,MAAM;EAClC,CAAC,I,UAICxB,EAAA,GAAAC,EAwBQ,SAAA;GAvBN,OAAKC,EAAA,CAAC,qBAAmB,CAAA,EAAA,sBACQiB,EAAA,SAAQ,GAAIhB,EAAAuB,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK,CAAA,CAAA;GACjE,OAAKtB,EAAED,EAAAuB,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK;GAC5B,KAAKvB,EAAAmB,CAAA;;GAENjB,EAYE,SAZFC,EAYE;IAXC,IAAIH,EAAAmB,CAAA;IACD,SAAA;IAAJ,KAAIE;IACJ,MAAK;IACL,MAAK;IACL,OAAM;IACL,MAAML,EAAA;IACN,OAAOA,EAAA;IACP,SAASC,EAAA;IACT,UAAUD,EAAA;GACH,GAAAhB,EAAAuB,CAAA,CAAK,CAAC,MAAK,GAAA,EAClB,UAAM,AAAAS,EAAA,QAAA,MAAE,EAAA,QAASC,EAAO,OAA4B,Q;GAEvD,AAAAD,EAAA,OAAA9B,EAAkD,QAAA;IAA5C,OAAM;IAAiB,eAAY;;GACzCA,EAGO,QAHPO,GAGO,CAFFL,EAAAC,EAAAW,EAAA,KAAK,IAAG,KACX,CAAA,GAAYA,EAAA,eAAZnB,EAAA,GAAAC,EAAuE,QAAvEY,GAAuEL,EAArBW,EAAA,WAAW,GAAA,CAAA,K"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ETabs.js","names":["_sfc_main","ETabs_vue_vue_type_script_setup_true_lang_default","ETabs_default"],"sources":["../../../src/components/Tabs/ETabs.vue"],"sourcesContent":["<script lang=\"ts\">\
|
|
1
|
+
{"version":3,"file":"ETabs.js","names":["_sfc_main","ETabs_vue_vue_type_script_setup_true_lang_default","ETabs_default"],"sources":["../../../src/components/Tabs/ETabs.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface TabItem {\n /** Names the tab's slot, and is the value of `v-model`. */\n id: string;\n /** The tab's words. */\n label: string;\n /** A number or short word in a small badge after the label. */\n count?: number | string;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch } from \"vue\";\nimport { TabsContent, TabsList, TabsRoot, TabsTrigger } from \"reka-ui\";\nimport { useConfig } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nconst props = defineProps<{\n /** The tabs, in order: `{ id, label, count? }`. Two to five, with short labels. `id` names the slot and is the `v-model` value. */\n items?: TabItem[];\n}>();\n\ndefineSlots<{\n [id: string]: ((props: { item: TabItem }) => unknown) | undefined;\n /** The panel of any tab that has no slot of its own. */\n panel?(props: { item: TabItem }): unknown;\n}>();\n\nconst flat = computed(() => props.items ?? []);\n\n/** The `id` of the selected tab. Keeps its own state when unbound. @default first tab */\nconst model = defineModel<string>();\n\nconst config = useConfig();\nconst current = computed(() => model.value ?? flat.value[0]?.id);\nconst dir = computed<\"ltr\" | \"rtl\">(\n () => config.dir ?? (typeof document !== \"undefined\" && document.documentElement.dir === \"rtl\" ? \"rtl\" : \"ltr\"),\n);\n\nconst list = ref<{ $el: HTMLElement } | null>(null);\n\nasync function reveal(smooth: boolean) {\n await nextTick();\n const el = list.value?.$el;\n const tab = el?.querySelector<HTMLElement>('[aria-selected=\"true\"]');\n if (!el || !tab || el.scrollWidth <= el.clientWidth) return;\n const calm = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n const a = tab.getBoundingClientRect();\n const b = el.getBoundingClientRect();\n el.scrollBy({ left: a.left + a.width / 2 - (b.left + b.width / 2), behavior: smooth && !calm ? \"smooth\" : \"auto\" });\n}\n\nonMounted(() => reveal(false));\nwatch(current, () => reveal(true));\n</script>\n\n<template>\n <TabsRoot class=\"e-tabs\" :model-value=\"current\" :dir=\"dir\" @update:model-value=\"model = String($event)\">\n <TabsList ref=\"list\" class=\"e-tablist\">\n <TabsTrigger v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id\" class=\"e-tab\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </TabsTrigger>\n </TabsList>\n <TabsContent v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id\" class=\"e-tabpanel\">\n <slot :name=\"item.id\" :item=\"item\"><slot name=\"panel\" :item=\"item\" /></slot>\n </TabsContent>\n </TabsRoot>\n</template>\n\n<style>\n@layer e.containers {\n .e-tablist {\n display: flex;\n gap: 0;\n /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n }\n\n .e-tablist::-webkit-scrollbar {\n display: none;\n }\n\n /* Tabs are button-like: every tab is ringed and neighbours sit flush and share an edge, so only the outer ends of the row are rounded. The selected tab is outlined in the primary colour with a thick slab underneath. */\n .e-tab {\n --e-bc: var(--e-border-strong);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--e-space-2);\n flex: none;\n height: var(--e-control-height);\n padding: 0 var(--e-space-4);\n border: var(--e-stroke-edge) solid var(--e-bc);\n border-radius: 0;\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n background: transparent;\n color: var(--e-muted);\n font: 500 var(--e-text-md) / 1 var(--e-font-sans);\n cursor: pointer;\n transition:\n color var(--e-duration-tap) var(--e-easing-out),\n background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n /* Only the outer ends of the row are rounded. */\n .e-tab:first-child {\n border-start-start-radius: var(--e-radius-md);\n border-end-start-radius: var(--e-radius-md);\n }\n\n .e-tab:last-child {\n border-start-end-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-tab + .e-tab {\n margin-inline-start: calc(-1 * var(--e-stroke-edge));\n }\n\n .e-tab:hover {\n --e-bc: var(--e-ink);\n\n z-index: var(--e-z-raised);\n color: var(--e-ink);\n background-color: var(--e-surface-hover);\n }\n\n .e-tab[aria-selected=\"true\"] {\n --e-bc: var(--e-primary);\n\n z-index: var(--e-z-sticky);\n border-bottom-width: calc(var(--e-stroke-edge) + var(--e-depth));\n background-color: color-mix(in srgb, var(--e-surface-tint), var(--e-ink) 3%);\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-tab:focus-visible {\n z-index: var(--e-z-focus);\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: var(--e-focus-gap);\n }\n\n .e-tab-count {\n min-width: var(--e-space-6);\n padding: 0 var(--e-space-2);\n border-radius: var(--e-radius-pill);\n background: color-mix(in srgb, var(--e-primary) 12%, var(--e-surface));\n box-shadow: inset 0 0 0 var(--e-stroke-hair) var(--e-primary);\n outline: var(--e-stroke-hair) solid var(--e-primary);\n outline-offset: calc(-1 * var(--e-stroke-hair));\n font: 600 var(--e-text-xs) / 20px var(--e-font-mono);\n text-align: center;\n color: var(--e-ink);\n }\n\n .e-tabpanel {\n padding-top: var(--e-space-4);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-tab {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-tab[aria-selected=\"true\"] {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,52 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
|
|
1
|
+
export interface TabItem {
|
|
2
|
+
/** Names the tab's slot, and is the value of `v-model`. */
|
|
3
|
+
id: string;
|
|
4
|
+
/** The tab's words. */
|
|
5
|
+
label: string;
|
|
6
6
|
/** A number or short word in a small badge after the label. */
|
|
7
7
|
count?: number | string;
|
|
8
8
|
}
|
|
9
|
-
export type TabSection = LinkSection<TabItem>;
|
|
10
9
|
declare const _default: typeof __VLS_export;
|
|
11
10
|
export default _default;
|
|
12
11
|
declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
13
|
-
/** The tabs, in order
|
|
12
|
+
/** The tabs, in order: `{ id, label, count? }`. Two to five, with short labels. `id` names the slot and is the `v-model` value. */
|
|
14
13
|
items?: TabItem[];
|
|
15
|
-
/** Links in labelled groups, instead of `items`. */
|
|
16
|
-
sections?: TabSection[];
|
|
17
|
-
/** `vertical` stacks the links with a rule down the start edge, for a sidebar or an outline. Links only. */
|
|
18
|
-
orientation?: "horizontal" | "vertical";
|
|
19
|
-
/** Shorter rows and smaller words, for a long list of links. */
|
|
20
|
-
dense?: boolean;
|
|
21
|
-
/** The landmark's name when the tabs are links. Defaults to "Main". */
|
|
22
|
-
label?: string;
|
|
23
|
-
/** What renders each link: `"a"` by default, or `RouterLink`. */
|
|
24
|
-
linkComponent?: string | Component;
|
|
25
14
|
} & {
|
|
15
|
+
/** The `id` of the selected tab. Keeps its own state when unbound. @default first tab */
|
|
26
16
|
modelValue?: string;
|
|
27
17
|
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
28
18
|
"update:modelValue": (value: string | undefined) => any;
|
|
29
19
|
}, string, import('vue').PublicProps, Readonly<{
|
|
30
|
-
/** The tabs, in order
|
|
20
|
+
/** The tabs, in order: `{ id, label, count? }`. Two to five, with short labels. `id` names the slot and is the `v-model` value. */
|
|
31
21
|
items?: TabItem[];
|
|
32
|
-
/** Links in labelled groups, instead of `items`. */
|
|
33
|
-
sections?: TabSection[];
|
|
34
|
-
/** `vertical` stacks the links with a rule down the start edge, for a sidebar or an outline. Links only. */
|
|
35
|
-
orientation?: "horizontal" | "vertical";
|
|
36
|
-
/** Shorter rows and smaller words, for a long list of links. */
|
|
37
|
-
dense?: boolean;
|
|
38
|
-
/** The landmark's name when the tabs are links. Defaults to "Main". */
|
|
39
|
-
label?: string;
|
|
40
|
-
/** What renders each link: `"a"` by default, or `RouterLink`. */
|
|
41
|
-
linkComponent?: string | Component;
|
|
42
22
|
} & {
|
|
23
|
+
/** The `id` of the selected tab. Keeps its own state when unbound. @default first tab */
|
|
43
24
|
modelValue?: string;
|
|
44
25
|
}> & Readonly<{
|
|
45
26
|
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
46
|
-
}>, {
|
|
47
|
-
orientation: "vertical" | "horizontal";
|
|
48
|
-
linkComponent: string | Component;
|
|
49
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
27
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
50
28
|
[id: string]: ((props: {
|
|
51
29
|
item: TabItem;
|
|
52
30
|
}) => unknown) | undefined;
|
|
@@ -1,34 +1,23 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
import { useConfig as e } from "../../config.js";
|
|
3
|
-
import t from "
|
|
4
|
-
import {
|
|
5
|
-
import { TabsContent as C, TabsList as w, TabsRoot as T, TabsTrigger as E } from "reka-ui";
|
|
3
|
+
import { Fragment as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createTextVNode as o, createVNode as s, defineComponent as c, mergeModels as l, nextTick as u, onMounted as d, openBlock as f, ref as p, renderList as m, renderSlot as h, toDisplayString as g, unref as _, useModel as v, watch as y, withCtx as b } from "vue";
|
|
4
|
+
import { TabsContent as x, TabsList as S, TabsRoot as C, TabsTrigger as w } from "reka-ui";
|
|
6
5
|
//#region src/components/Tabs/ETabs.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
-
var
|
|
6
|
+
var T = {
|
|
8
7
|
key: 0,
|
|
9
8
|
class: "e-tab-count"
|
|
10
|
-
},
|
|
11
|
-
key: 0,
|
|
12
|
-
class: "e-tab-count"
|
|
13
|
-
}, k = /*@__PURE__*/ l({
|
|
9
|
+
}, E = /*@__PURE__*/ c({
|
|
14
10
|
__name: "ETabs",
|
|
15
|
-
props: /*@__PURE__*/
|
|
16
|
-
items: {},
|
|
17
|
-
sections: {},
|
|
18
|
-
orientation: { default: "horizontal" },
|
|
19
|
-
dense: { type: Boolean },
|
|
20
|
-
label: {},
|
|
21
|
-
linkComponent: { default: "a" }
|
|
22
|
-
}, {
|
|
11
|
+
props: /*@__PURE__*/ l({ items: {} }, {
|
|
23
12
|
modelValue: {},
|
|
24
13
|
modelModifiers: {}
|
|
25
14
|
}),
|
|
26
15
|
emits: ["update:modelValue"],
|
|
27
|
-
setup(
|
|
28
|
-
let
|
|
29
|
-
async function
|
|
30
|
-
await
|
|
31
|
-
let t =
|
|
16
|
+
setup(c) {
|
|
17
|
+
let l = c, E = n(() => l.items ?? []), D = v(c, "modelValue"), O = e(), k = n(() => D.value ?? E.value[0]?.id), A = n(() => O.dir ?? (typeof document < "u" && document.documentElement.dir === "rtl" ? "rtl" : "ltr")), j = p(null);
|
|
18
|
+
async function M(e) {
|
|
19
|
+
await u();
|
|
20
|
+
let t = j.value?.$el, n = t?.querySelector("[aria-selected=\"true\"]");
|
|
32
21
|
if (!t || !n || t.scrollWidth <= t.clientWidth) return;
|
|
33
22
|
let r = typeof matchMedia < "u" && matchMedia("(prefers-reduced-motion: reduce)").matches, i = n.getBoundingClientRect(), a = t.getBoundingClientRect();
|
|
34
23
|
t.scrollBy({
|
|
@@ -36,50 +25,32 @@ var D = {
|
|
|
36
25
|
behavior: e && !r ? "smooth" : "auto"
|
|
37
26
|
});
|
|
38
27
|
}
|
|
39
|
-
return
|
|
40
|
-
key: 0,
|
|
41
|
-
class: f(["e-tabs e-tabs--links", [l.orientation === "vertical" && "e-tabs--vertical", l.dense && "e-tabs--dense"]]),
|
|
42
|
-
groups: k.value,
|
|
43
|
-
label: l.label,
|
|
44
|
-
"link-component": l.linkComponent,
|
|
45
|
-
"item-class": "e-tab",
|
|
46
|
-
"heading-class": "e-tabs-heading",
|
|
47
|
-
"list-class": "e-tablist"
|
|
48
|
-
}, {
|
|
49
|
-
item: S(({ item: e }) => [s(v(e.label) + " ", 1), e.count == null ? a("", !0) : (m(), o("span", D, v(e.count), 1))]),
|
|
50
|
-
_: 1
|
|
51
|
-
}, 8, [
|
|
52
|
-
"class",
|
|
53
|
-
"groups",
|
|
54
|
-
"label",
|
|
55
|
-
"link-component"
|
|
56
|
-
])) : (m(), i(y(T), {
|
|
57
|
-
key: 1,
|
|
28
|
+
return d(() => M(!1)), y(k, () => M(!0)), (e, n) => (f(), r(_(C), {
|
|
58
29
|
class: "e-tabs",
|
|
59
|
-
"model-value":
|
|
60
|
-
dir:
|
|
61
|
-
"onUpdate:modelValue":
|
|
30
|
+
"model-value": k.value,
|
|
31
|
+
dir: A.value,
|
|
32
|
+
"onUpdate:modelValue": n[0] ||= (e) => D.value = String(e)
|
|
62
33
|
}, {
|
|
63
|
-
default:
|
|
34
|
+
default: b(() => [s(_(S), {
|
|
64
35
|
ref_key: "list",
|
|
65
|
-
ref:
|
|
36
|
+
ref: j,
|
|
66
37
|
class: "e-tablist"
|
|
67
38
|
}, {
|
|
68
|
-
default:
|
|
39
|
+
default: b(() => [(f(!0), a(t, null, m(E.value, (e) => (f(), r(_(w), {
|
|
69
40
|
key: e.id,
|
|
70
41
|
value: e.id,
|
|
71
42
|
class: "e-tab"
|
|
72
43
|
}, {
|
|
73
|
-
default:
|
|
44
|
+
default: b(() => [o(g(e.label) + " ", 1), e.count == null ? i("", !0) : (f(), a("span", T, g(e.count), 1))]),
|
|
74
45
|
_: 2
|
|
75
46
|
}, 1032, ["value"]))), 128))]),
|
|
76
47
|
_: 1
|
|
77
|
-
}, 512), (
|
|
48
|
+
}, 512), (f(!0), a(t, null, m(E.value, (t) => (f(), r(_(x), {
|
|
78
49
|
key: t.id,
|
|
79
50
|
value: t.id,
|
|
80
51
|
class: "e-tabpanel"
|
|
81
52
|
}, {
|
|
82
|
-
default:
|
|
53
|
+
default: b(() => [h(e.$slots, t.id, { item: t }, () => [h(e.$slots, "panel", { item: t })])]),
|
|
83
54
|
_: 2
|
|
84
55
|
}, 1032, ["value"]))), 128))]),
|
|
85
56
|
_: 3
|
|
@@ -87,6 +58,6 @@ var D = {
|
|
|
87
58
|
}
|
|
88
59
|
});
|
|
89
60
|
//#endregion
|
|
90
|
-
export {
|
|
61
|
+
export { E as default };
|
|
91
62
|
|
|
92
63
|
//# sourceMappingURL=ETabs.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ETabs.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","LinkNav","_normalizeClass","_withCtx","_createTextVNode","_toDisplayString","_createElementBlock","_createCommentVNode","_unref","_createVNode","_Fragment","_renderList","_renderSlot","LinkNav_default","_hoisted_1","_hoisted_2","ETabs_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","props","__props","groups","computed","flat","g","isNav","i","model","useModel","config","useConfig","current","dir","list","ref","reveal","nextTick","el","tab","calm","a","b","smooth","onMounted","watch","openBlock","createBlock","normalizeClass","withCtx","createTextVNode","toDisplayString","item","createCommentVNode","createElementBlock","unref","TabsRoot","_cache","$event","createVNode","TabsList","Fragment","renderList","TabsTrigger","TabsContent","renderSlot","_ctx"],"sources":["../../../src/components/Tabs/ETabs.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { LinkItem, LinkSection } from \"./LinkNav.vue\";\n\nexport interface TabItem extends LinkItem {\n /** Names the tab's slot, and is the value of `v-model`. Not needed for a link. */\n id?: string;\n /** A number or short word in a small badge after the label. */\n count?: number | string;\n}\n\nexport type TabSection = LinkSection<TabItem>;\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch, type Component } from \"vue\";\nimport { TabsContent, TabsList, TabsRoot, TabsTrigger } from \"reka-ui\";\nimport LinkNav from \"./LinkNav.vue\";\nimport { useConfig } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** The tabs, in order. Two to five for panels; give them `href` or `to` to make a row or column of links. */\n items?: TabItem[];\n /** Links in labelled groups, instead of `items`. */\n sections?: TabSection[];\n /** `vertical` stacks the links with a rule down the start edge, for a sidebar or an outline. Links only. */\n orientation?: \"horizontal\" | \"vertical\";\n /** Shorter rows and smaller words, for a long list of links. */\n dense?: boolean;\n /** The landmark's name when the tabs are links. Defaults to \"Main\". */\n label?: string;\n /** What renders each link: `\"a\"` by default, or `RouterLink`. */\n linkComponent?: string | Component;\n }>(),\n { orientation: \"horizontal\", linkComponent: \"a\" },\n);\n\ndefineSlots<{\n [id: string]: ((props: { item: TabItem }) => unknown) | undefined;\n /** The panel of any tab that has no slot of its own. */\n panel?(props: { item: TabItem }): unknown;\n}>();\n\nconst groups = computed<TabSection[]>(() => props.sections ?? [{ items: props.items ?? [] }]);\nconst flat = computed(() => groups.value.flatMap((g) => g.items));\nconst isNav = computed(() => flat.value.some((i) => i.href !== undefined || i.to !== undefined));\n\nconst model = defineModel<string>();\n\nconst config = useConfig();\nconst current = computed(() => model.value ?? flat.value[0]?.id);\nconst dir = computed<\"ltr\" | \"rtl\">(\n () => config.dir ?? (typeof document !== \"undefined\" && document.documentElement.dir === \"rtl\" ? \"rtl\" : \"ltr\"),\n);\n\nconst list = ref<{ $el: HTMLElement } | null>(null);\n\nasync function reveal(smooth: boolean) {\n await nextTick();\n const el = list.value?.$el;\n const tab = el?.querySelector<HTMLElement>('[aria-selected=\"true\"]');\n if (!el || !tab || el.scrollWidth <= el.clientWidth) return;\n const calm = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n const a = tab.getBoundingClientRect();\n const b = el.getBoundingClientRect();\n el.scrollBy({ left: a.left + a.width / 2 - (b.left + b.width / 2), behavior: smooth && !calm ? \"smooth\" : \"auto\" });\n}\n\nonMounted(() => reveal(false));\nwatch(current, () => reveal(true));\n</script>\n\n<template>\n <LinkNav\n v-if=\"isNav\"\n class=\"e-tabs e-tabs--links\"\n :class=\"[orientation === 'vertical' && 'e-tabs--vertical', dense && 'e-tabs--dense']\"\n :groups=\"groups\"\n :label=\"label\"\n :link-component=\"linkComponent\"\n item-class=\"e-tab\"\n heading-class=\"e-tabs-heading\"\n list-class=\"e-tablist\"\n >\n <template #item=\"{ item }\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </template>\n </LinkNav>\n <TabsRoot v-else class=\"e-tabs\" :model-value=\"current\" :dir=\"dir\" @update:model-value=\"model = String($event)\">\n <TabsList ref=\"list\" class=\"e-tablist\">\n <TabsTrigger v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id!\" class=\"e-tab\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </TabsTrigger>\n </TabsList>\n <TabsContent v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id!\" class=\"e-tabpanel\">\n <slot :name=\"item.id!\" :item=\"item\"><slot name=\"panel\" :item=\"item\" /></slot>\n </TabsContent>\n </TabsRoot>\n</template>\n\n<style>\n@layer e.containers {\n .e-tablist {\n display: flex;\n gap: var(--e-space-1);\n /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n border-bottom: var(--e-stroke-hair) solid var(--e-border);\n }\n\n .e-tablist::-webkit-scrollbar {\n display: none;\n }\n\n .e-tab + .e-tab::before,\n .e-tablist > li + li > .e-tab::before {\n content: \"\";\n position: absolute;\n inset-block: 30%;\n inset-inline-start: calc(var(--e-space-1) * -0.5);\n border-inline-start: var(--e-stroke-hair) solid color-mix(in srgb, var(--e-border) 40%, transparent);\n }\n\n .e-tablist:has(> li) {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .e-tablist > li {\n display: contents;\n }\n\n a.e-tab {\n text-decoration: none;\n }\n\n .e-tabs--dense .e-tab {\n height: 2.25rem;\n font-size: var(--e-text-sm);\n }\n\n .e-tabs--vertical .e-tablist {\n flex-direction: column;\n gap: 0;\n overflow: visible;\n border-bottom: 0;\n border-inline-start: var(--e-stroke-edge) solid var(--e-border);\n }\n\n .e-tabs--vertical .e-tab {\n background-clip: padding-box;\n justify-content: flex-start;\n height: auto;\n min-height: 2rem;\n margin-inline-start: calc(-1 * var(--e-stroke-edge));\n padding-block: var(--e-space-1);\n border-bottom: 0;\n border-inline-start: 3px solid transparent;\n line-height: 1.35;\n text-align: start;\n }\n\n .e-tabs--vertical .e-tablist > li > .e-tab::before {\n content: none;\n }\n\n .e-tabs--vertical.e-tabs--dense .e-tab {\n min-height: 2.25rem;\n }\n\n .e-tabs--vertical .e-tab[aria-current=\"page\"] {\n border-inline-start-color: var(--e-primary);\n background: var(--e-surface-tint);\n }\n\n .e-tab {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--e-space-2);\n flex: none;\n height: var(--e-control-height);\n padding: 0 var(--e-space-4);\n border: 0;\n border-bottom: 3px solid transparent;\n background: transparent;\n color: var(--e-muted);\n font: 500 var(--e-text-md) / 1 var(--e-font-sans);\n cursor: pointer;\n transition:\n color var(--e-duration-tap) var(--e-easing-out),\n background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-tab:hover {\n color: var(--e-ink);\n background: var(--e-surface-tint);\n }\n\n .e-tab[aria-selected=\"true\"],\n .e-tab[aria-current=\"page\"] {\n color: var(--e-ink);\n border-bottom-color: var(--e-primary);\n font-weight: 600;\n }\n\n .e-tab:focus-visible {\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: calc(-1 * var(--e-stroke-focus));\n border-radius: var(--e-radius-sm);\n }\n\n .e-tab-count {\n min-width: 22px;\n padding: 0 6px;\n border-radius: var(--e-radius-pill);\n background: var(--e-surface-tint);\n box-shadow: inset 0 0 0 1px var(--e-border-strong);\n font: 600 var(--e-text-xs) / 20px var(--e-font-mono);\n text-align: center;\n color: var(--e-ink);\n }\n\n .e-tabpanel {\n padding-top: var(--e-space-4);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-tab {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-tab[aria-selected=\"true\"],\n .e-tab[aria-current=\"page\"] {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBA,IAAMqB,IAAQC,GAwBRC,IAASC,QAA6BH,EAAM,YAAY,CAAC,EAAE,OAAOA,EAAM,SAAS,CAAC,EAAE,CAAC,CAAC,GACtFI,IAAOD,QAAeD,EAAO,MAAM,SAAS,MAAMG,EAAE,KAAK,CAAC,GAC1DC,IAAQH,QAAeC,EAAK,MAAM,MAAM,MAAMG,EAAE,SAAS,KAAA,KAAaA,EAAE,OAAO,KAAA,CAAS,CAAC,GAEzFC,IAAQ7B,EAAmBsB,GAAA,YAAC,GAE5BS,IAASC,EAAU,GACnBC,IAAUT,QAAeK,EAAM,SAASJ,EAAK,MAAM,EAAE,EAAE,EAAE,GACzDS,IAAMV,QACJO,EAAO,QAAQ,OAAO,WAAa,OAAe,SAAS,gBAAgB,QAAQ,QAAQ,QAAQ,MAC3G,GAEMI,IAAOC,EAAiC,IAAI;EAElD,eAAeC,EAAO,GAAiB;GACrC,MAAMC,EAAS;GACf,IAAMC,IAAKJ,EAAK,OAAO,KACjBK,IAAMD,GAAI,cAA2B,0BAAwB;GACnE,IAAI,CAACA,KAAM,CAACC,KAAOD,EAAG,eAAeA,EAAG,aAAa;GACrD,IAAME,IAAO,OAAO,aAAe,OAAe,WAAW,kCAAkC,CAAC,CAAC,SAC3FC,IAAIF,EAAI,sBAAsB,GAC9BG,IAAIJ,EAAG,sBAAsB;GACnC,EAAG,SAAS;IAAE,MAAMG,EAAE,OAAOA,EAAE,QAAQ,KAAKC,EAAE,OAAOA,EAAE,QAAQ;IAAI,UAAUC,KAAU,CAACH,IAAO,WAAW;GAAO,CAAC;EACpH;E,OAEAI,QAAgBR,EAAO,EAAK,CAAC,GAC7BS,EAAMb,SAAeI,EAAO,EAAI,CAAC,I,SAKvBV,EAAA,SADR1B,EAAA,GAAAC,EAeUC,GAAA;;GAbR,OAAKC,EAAA,CAAC,wBAAsB,CACnBkB,EAAA,gBAAW,cAAA,oBAAuCA,EAAA,SAAK,eAAA,CAAA,CAAA;GAC/D,QAAQC,EAAA;GACR,OAAOD,EAAA;GACP,kBAAgBA,EAAA;GACjB,cAAW;GACX,iBAAc;GACd,cAAW;;GAEA,MAAIjB,GACG,EADC,cAAI,CAClBC,EAAAC,EAAA8C,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,SAAK,O,aAAtBpD,EAAA,GAAAO,EAA2E,QAA3EQ,GAA2ET,EAApB8C,EAAK,KAAK,GAAA,CAAA,E;;;;;;;E,OAGrEpD,EAAA,GAAAC,EAUWQ,EAAA+C,CAAA,GAAA;;GAVM,OAAM;GAAU,eAAaxB,EAAA;GAAU,KAAKC,EAAA;GAAM,uBAAkB,AAAAwB,EAAA,QAAA,MAAE,EAAA,QAAQ,OAAOC,CAAM;;GAC1G,SAAAtD,QAKW,CALXM,EAKWD,EAAAmD,CAAA,GAAA;IALG,SAAA;IAAJ,KAAI1B;IAAO,OAAM;;IACZ,SAAA9B,QAAoB,EAAjCJ,EAAA,EAAA,GAAAO,EAGcI,GAAA,MAAAC,EAHcY,EAAA,QAAR,OAApBxB,EAAA,GAAAC,EAGcQ,EAAAsD,CAAA,GAAA;KAHqB,KAAKX,EAAK;KAAK,OAAOA,EAAK;KAAK,OAAM;;KACvE,SAAAhD,QAAgB,CAAbC,EAAAC,EAAA8C,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,SAAK,O,aAAtBpD,EAAA,GAAAO,EAA2E,QAA3ES,GAA2EV,EAApB8C,EAAK,KAAK,GAAA,CAAA,E;;;;G,UAGrEpD,EAAA,EAAA,GAAAO,EAEcI,GAAA,MAAAC,EAFcY,EAAA,QAAR,OAApBxB,EAAA,GAAAC,EAEcQ,EAAAuD,CAAA,GAAA;IAFqB,KAAKZ,EAAK;IAAK,OAAOA,EAAK;IAAK,OAAM;;IACvE,SAAAhD,QAA6E,CAA7ES,EAA6EqD,EAAA,QAAhEd,EAAK,IAAE,EAAU,QAAI,SAA2C,CAAzCvC,EAAkCqD,EAAA,QAAA,SAAA,EAAR,QAAI,CAAA,C"}
|
|
1
|
+
{"version":3,"file":"ETabs.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","_unref","_withCtx","_createVNode","_createElementBlock","_Fragment","_renderList","_createTextVNode","_toDisplayString","_createCommentVNode","_renderSlot","_hoisted_1","ETabs_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","props","__props","flat","computed","model","useModel","config","useConfig","current","dir","list","ref","reveal","nextTick","el","tab","calm","a","b","smooth","onMounted","watch","openBlock","createBlock","unref","TabsRoot","_cache","$event","withCtx","createVNode","TabsList","createElementBlock","Fragment","renderList","TabsTrigger","item","createTextVNode","toDisplayString","createCommentVNode","TabsContent","renderSlot","_ctx"],"sources":["../../../src/components/Tabs/ETabs.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface TabItem {\n /** Names the tab's slot, and is the value of `v-model`. */\n id: string;\n /** The tab's words. */\n label: string;\n /** A number or short word in a small badge after the label. */\n count?: number | string;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onMounted, ref, watch } from \"vue\";\nimport { TabsContent, TabsList, TabsRoot, TabsTrigger } from \"reka-ui\";\nimport { useConfig } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\nconst props = defineProps<{\n /** The tabs, in order: `{ id, label, count? }`. Two to five, with short labels. `id` names the slot and is the `v-model` value. */\n items?: TabItem[];\n}>();\n\ndefineSlots<{\n [id: string]: ((props: { item: TabItem }) => unknown) | undefined;\n /** The panel of any tab that has no slot of its own. */\n panel?(props: { item: TabItem }): unknown;\n}>();\n\nconst flat = computed(() => props.items ?? []);\n\n/** The `id` of the selected tab. Keeps its own state when unbound. @default first tab */\nconst model = defineModel<string>();\n\nconst config = useConfig();\nconst current = computed(() => model.value ?? flat.value[0]?.id);\nconst dir = computed<\"ltr\" | \"rtl\">(\n () => config.dir ?? (typeof document !== \"undefined\" && document.documentElement.dir === \"rtl\" ? \"rtl\" : \"ltr\"),\n);\n\nconst list = ref<{ $el: HTMLElement } | null>(null);\n\nasync function reveal(smooth: boolean) {\n await nextTick();\n const el = list.value?.$el;\n const tab = el?.querySelector<HTMLElement>('[aria-selected=\"true\"]');\n if (!el || !tab || el.scrollWidth <= el.clientWidth) return;\n const calm = typeof matchMedia !== \"undefined\" && matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n const a = tab.getBoundingClientRect();\n const b = el.getBoundingClientRect();\n el.scrollBy({ left: a.left + a.width / 2 - (b.left + b.width / 2), behavior: smooth && !calm ? \"smooth\" : \"auto\" });\n}\n\nonMounted(() => reveal(false));\nwatch(current, () => reveal(true));\n</script>\n\n<template>\n <TabsRoot class=\"e-tabs\" :model-value=\"current\" :dir=\"dir\" @update:model-value=\"model = String($event)\">\n <TabsList ref=\"list\" class=\"e-tablist\">\n <TabsTrigger v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id\" class=\"e-tab\">\n {{ item.label }}\n <span v-if=\"item.count != null\" class=\"e-tab-count\">{{ item.count }}</span>\n </TabsTrigger>\n </TabsList>\n <TabsContent v-for=\"item in flat\" :key=\"item.id\" :value=\"item.id\" class=\"e-tabpanel\">\n <slot :name=\"item.id\" :item=\"item\"><slot name=\"panel\" :item=\"item\" /></slot>\n </TabsContent>\n </TabsRoot>\n</template>\n\n<style>\n@layer e.containers {\n .e-tablist {\n display: flex;\n gap: 0;\n /* stylelint-disable-next-line declaration-block-no-redundant-longhand-properties -- the two axes are set apart */\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n }\n\n .e-tablist::-webkit-scrollbar {\n display: none;\n }\n\n /* Tabs are button-like: every tab is ringed and neighbours sit flush and share an edge, so only the outer ends of the row are rounded. The selected tab is outlined in the primary colour with a thick slab underneath. */\n .e-tab {\n --e-bc: var(--e-border-strong);\n\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--e-space-2);\n flex: none;\n height: var(--e-control-height);\n padding: 0 var(--e-space-4);\n border: var(--e-stroke-edge) solid var(--e-bc);\n border-radius: 0;\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n background: transparent;\n color: var(--e-muted);\n font: 500 var(--e-text-md) / 1 var(--e-font-sans);\n cursor: pointer;\n transition:\n color var(--e-duration-tap) var(--e-easing-out),\n background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n /* Only the outer ends of the row are rounded. */\n .e-tab:first-child {\n border-start-start-radius: var(--e-radius-md);\n border-end-start-radius: var(--e-radius-md);\n }\n\n .e-tab:last-child {\n border-start-end-radius: var(--e-radius-md);\n border-end-end-radius: var(--e-radius-md);\n }\n\n .e-tab + .e-tab {\n margin-inline-start: calc(-1 * var(--e-stroke-edge));\n }\n\n .e-tab:hover {\n --e-bc: var(--e-ink);\n\n z-index: var(--e-z-raised);\n color: var(--e-ink);\n background-color: var(--e-surface-hover);\n }\n\n .e-tab[aria-selected=\"true\"] {\n --e-bc: var(--e-primary);\n\n z-index: var(--e-z-sticky);\n border-bottom-width: calc(var(--e-stroke-edge) + var(--e-depth));\n background-color: color-mix(in srgb, var(--e-surface-tint), var(--e-ink) 3%);\n color: var(--e-ink);\n font-weight: 600;\n }\n\n .e-tab:focus-visible {\n z-index: var(--e-z-focus);\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: var(--e-focus-gap);\n }\n\n .e-tab-count {\n min-width: var(--e-space-6);\n padding: 0 var(--e-space-2);\n border-radius: var(--e-radius-pill);\n background: color-mix(in srgb, var(--e-primary) 12%, var(--e-surface));\n box-shadow: inset 0 0 0 var(--e-stroke-hair) var(--e-primary);\n outline: var(--e-stroke-hair) solid var(--e-primary);\n outline-offset: calc(-1 * var(--e-stroke-hair));\n font: 600 var(--e-text-xs) / 20px var(--e-font-mono);\n text-align: center;\n color: var(--e-ink);\n }\n\n .e-tabpanel {\n padding-top: var(--e-space-4);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-tab {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-tab[aria-selected=\"true\"] {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EAiBA,IAAMiB,IAAQC,GAWRC,IAAOC,QAAeH,EAAM,SAAS,CAAC,CAAC,GAGvCI,IAAQrB,EAAmBkB,GAAA,YAAC,GAE5BK,IAASC,EAAU,GACnBC,IAAUL,QAAeC,EAAM,SAASF,EAAK,MAAM,EAAE,EAAE,EAAE,GACzDO,IAAMN,QACJG,EAAO,QAAQ,OAAO,WAAa,OAAe,SAAS,gBAAgB,QAAQ,QAAQ,QAAQ,MAC3G,GAEMI,IAAOC,EAAiC,IAAI;EAElD,eAAeC,EAAO,GAAiB;GACrC,MAAMC,EAAS;GACf,IAAMC,IAAKJ,EAAK,OAAO,KACjBK,IAAMD,GAAI,cAA2B,0BAAwB;GACnE,IAAI,CAACA,KAAM,CAACC,KAAOD,EAAG,eAAeA,EAAG,aAAa;GACrD,IAAME,IAAO,OAAO,aAAe,OAAe,WAAW,kCAAkC,CAAC,CAAC,SAC3FC,IAAIF,EAAI,sBAAsB,GAC9BG,IAAIJ,EAAG,sBAAsB;GACnC,EAAG,SAAS;IAAE,MAAMG,EAAE,OAAOA,EAAE,QAAQ,KAAKC,EAAE,OAAOA,EAAE,QAAQ;IAAI,UAAUC,KAAU,CAACH,IAAO,WAAW;GAAO,CAAC;EACpH;E,OAEAI,QAAgBR,EAAO,EAAK,CAAC,GAC7BS,EAAMb,SAAeI,EAAO,EAAI,CAAC,I,UAI/B5B,EAAA,GAAAC,EAUWC,EAAAuC,CAAA,GAAA;GAVD,OAAM;GAAU,eAAajB,EAAA;GAAU,KAAKC,EAAA;GAAM,uBAAkB,AAAAiB,EAAA,QAAA,MAAE,EAAA,QAAQ,OAAOC,CAAM;;GACnG,SAAAxC,QAKW,CALXC,EAKWF,EAAA4C,CAAA,GAAA;IALG,SAAA;IAAJ,KAAIpB;IAAO,OAAM;;IACZ,SAAAvB,QAAoB,EAAjCH,EAAA,EAAA,GAAAK,EAGcC,GAAA,MAAAC,EAHcW,EAAA,QAAR,OAApBlB,EAAA,GAAAC,EAGcC,EAAAgD,CAAA,GAAA;KAHqB,KAAKC,EAAK;KAAK,OAAOA,EAAK;KAAI,OAAM;;KACtE,SAAAhD,QAAgB,CAAbK,EAAAC,EAAA0C,EAAK,KAAK,IAAG,KAChB,CAAA,GAAYA,EAAK,SAAK,O,aAAtBnD,EAAA,GAAAK,EAA2E,QAA3EO,GAA2EH,EAApB0C,EAAK,KAAK,GAAA,CAAA,E;;;;G,UAGrEnD,EAAA,EAAA,GAAAK,EAEcC,GAAA,MAAAC,EAFcW,EAAA,QAAR,OAApBlB,EAAA,GAAAC,EAEcC,EAAAqD,CAAA,GAAA;IAFqB,KAAKJ,EAAK;IAAK,OAAOA,EAAK;IAAI,OAAM;;IACtE,SAAAhD,QAA4E,CAA5EQ,EAA4E8C,EAAA,QAA/DN,EAAK,IAAE,EAAS,QAAI,SAA2C,CAAzCxC,EAAkC8C,EAAA,QAAA,SAAA,EAAR,QAAI,CAAA,C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as ETabs } from './ETabs.vue.js';
|
|
2
|
-
export type { TabItem
|
|
2
|
+
export type { TabItem } from './ETabs.vue.js';
|