@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":"EText.js","names":["_sfc_main","EText_vue_vue_type_script_setup_true_lang_default","EText_default"],"sources":["../../../src/components/Text/EText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"../../styles/base.css\";\n\nwithDefaults(\n defineProps<{\n /**
|
|
1
|
+
{"version":3,"file":"EText.js","names":["_sfc_main","EText_vue_vue_type_script_setup_true_lang_default","EText_default"],"sources":["../../../src/components/Text/EText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"../../styles/base.css\";\n\nwithDefaults(\n defineProps<{\n /** 14px, for captions and fine print. */\n small?: boolean;\n /** 18px, for the one-sentence reading of a statement. */\n large?: boolean;\n /** Secondary copy, in the muted colour. */\n muted?: boolean;\n /** The element to render. */\n as?: string;\n }>(),\n { as: \"p\" },\n);\n\ndefineSlots<{\n /** The text. */\n default(): unknown;\n}>();\n</script>\n\n<template>\n <component :is=\"as\" class=\"e-text\" :class=\"[small && 'e-text--small', large && 'e-text--large', muted && 'e-text--muted']\"><slot /></component>\n</template>\n\n<style>\n@layer e.primitives {\n .e-text {\n margin: 0;\n max-width: var(--e-measure);\n font: 400 var(--e-text-md) / 24px var(--e-font-sans);\n color: var(--e-ink);\n text-wrap: pretty;\n }\n\n .e-text--large {\n font-size: var(--e-text-lg);\n line-height: 26px;\n }\n\n .e-text--small {\n font-size: var(--e-text-sm);\n line-height: 20px;\n }\n\n .e-text--muted {\n color: var(--e-muted);\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/** 14px, for captions and fine print. */
|
|
3
|
+
small?: boolean;
|
|
4
|
+
/** 18px, for the one-sentence reading of a statement. */
|
|
5
|
+
large?: boolean;
|
|
4
6
|
/** Secondary copy, in the muted colour. */
|
|
5
7
|
muted?: boolean;
|
|
6
8
|
/** The element to render. */
|
|
@@ -11,7 +13,6 @@ type __VLS_Slots = {
|
|
|
11
13
|
default(): unknown;
|
|
12
14
|
};
|
|
13
15
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
14
|
-
variant: "body" | "small" | "deck";
|
|
15
16
|
as: string;
|
|
16
17
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
17
18
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -4,12 +4,17 @@ import { createBlock as e, defineComponent as t, normalizeClass as n, openBlock
|
|
|
4
4
|
var s = /*@__PURE__*/ t({
|
|
5
5
|
__name: "EText",
|
|
6
6
|
props: {
|
|
7
|
-
|
|
7
|
+
small: { type: Boolean },
|
|
8
|
+
large: { type: Boolean },
|
|
8
9
|
muted: { type: Boolean },
|
|
9
10
|
as: { default: "p" }
|
|
10
11
|
},
|
|
11
12
|
setup(t) {
|
|
12
|
-
return (s, c) => (r(), e(a(t.as), { class: n(["e-text", [
|
|
13
|
+
return (s, c) => (r(), e(a(t.as), { class: n(["e-text", [
|
|
14
|
+
t.small && "e-text--small",
|
|
15
|
+
t.large && "e-text--large",
|
|
16
|
+
t.muted && "e-text--muted"
|
|
17
|
+
]]) }, {
|
|
13
18
|
default: o(() => [i(s.$slots, "default")]),
|
|
14
19
|
_: 3
|
|
15
20
|
}, 8, ["class"]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EText.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_renderSlot","EText_vue_vue_type_script_setup_true_lang_default","openBlock","createBlock","resolveDynamicComponent","__props","normalizeClass","withCtx","renderSlot","_ctx"],"sources":["../../../src/components/Text/EText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"../../styles/base.css\";\n\nwithDefaults(\n defineProps<{\n /**
|
|
1
|
+
{"version":3,"file":"EText.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_renderSlot","EText_vue_vue_type_script_setup_true_lang_default","openBlock","createBlock","resolveDynamicComponent","__props","normalizeClass","withCtx","renderSlot","_ctx"],"sources":["../../../src/components/Text/EText.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport \"../../styles/base.css\";\n\nwithDefaults(\n defineProps<{\n /** 14px, for captions and fine print. */\n small?: boolean;\n /** 18px, for the one-sentence reading of a statement. */\n large?: boolean;\n /** Secondary copy, in the muted colour. */\n muted?: boolean;\n /** The element to render. */\n as?: string;\n }>(),\n { as: \"p\" },\n);\n\ndefineSlots<{\n /** The text. */\n default(): unknown;\n}>();\n</script>\n\n<template>\n <component :is=\"as\" class=\"e-text\" :class=\"[small && 'e-text--small', large && 'e-text--large', muted && 'e-text--muted']\"><slot /></component>\n</template>\n\n<style>\n@layer e.primitives {\n .e-text {\n margin: 0;\n max-width: var(--e-measure);\n font: 400 var(--e-text-md) / 24px var(--e-font-sans);\n color: var(--e-ink);\n text-wrap: pretty;\n }\n\n .e-text--large {\n font-size: var(--e-text-lg);\n line-height: 26px;\n }\n\n .e-text--small {\n font-size: var(--e-text-sm);\n line-height: 20px;\n }\n\n .e-text--muted {\n color: var(--e-muted);\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;E,kBAwBEA,EAAA,GAAAC,EAA+IC,EAA/HQ,EAAA,EAAE,GAAA,EAAE,OAAKP,EAAA,CAAC,UAAQ;GAAUO,EAAA,SAAK;GAAqBA,EAAA,SAAK;GAAqBA,EAAA,SAAK;EAAA,CAAA,CAAA,E;GAAsB,SAAAN,QAAQ,CAARC,EAAQS,EAAA,QAAA,SAAA,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ETextField.js","names":["_sfc_main","ETextField_vue_vue_type_script_setup_true_lang_default","ETextField_default"],"sources":["../../../src/components/TextField/ETextField.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport { focusInside } from \"../../composables/focusInside.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"./input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The visible label, a mono kicker above the input. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Help that stays under the input. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the input invalid and is announced. */\n error?: string;\n /** An example, never the label. */\n placeholder?: string;\n /** The input type. */\n type?: string;\n /** A unit before the value, such as
|
|
1
|
+
{"version":3,"file":"ETextField.js","names":["_sfc_main","ETextField_vue_vue_type_script_setup_true_lang_default","ETextField_default"],"sources":["../../../src/components/TextField/ETextField.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport { focusInside } from \"../../composables/focusInside.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"./input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The visible label, a mono kicker above the input. The placeholder is an example, never the label. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Help that stays under the input. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the input invalid and is announced. */\n error?: string;\n /** An example, never the label. */\n placeholder?: string;\n /** The input type. @default \"text\" */\n type?: string;\n /** A unit before the value, such as `$`. Hidden from screen readers. */\n prefix?: string;\n /** A unit after the value, such as `USD`. Hidden from screen readers. */\n suffix?: string;\n /** The `required` attribute and a word beside the label. */\n required?: boolean;\n /** A word beside the label. Flag whichever is rarer. */\n optional?: boolean;\n /** Disables the field. */\n disabled?: boolean;\n /** The id of the input; the label points at it. @default generated */\n id?: string;\n}>();\n\n/** The text. */\nconst model = defineModel<string>({ default: \"\" });\n\nconst input = ref<HTMLInputElement | null>(null);\nconst attrs = useFieldAttrs();\nfunction inputBind(field: { id: string; ariaInvalid: \"true\" | undefined; ariaDescribedby: string | undefined }) {\n return {\n id: field.id,\n class: \"e-input\",\n type: props.type || \"text\",\n placeholder: props.placeholder,\n value: model.value,\n disabled: props.disabled,\n required: props.required,\n \"aria-invalid\": field.ariaInvalid,\n ...attrs.input(field.ariaDescribedby),\n };\n}\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <EField\n v-bind=\"attrs.wrapper()\"\n :id=\"id\"\n :label=\"label\"\n :hide-label=\"hideLabel\"\n :hint=\"hint\"\n :error=\"error\"\n :required=\"required\"\n :optional=\"optional\"\n >\n <template #default=\"field\">\n <!-- eslint-disable-next-line vuejs-accessibility/click-events-have-key-events, vuejs-accessibility/no-static-element-interactions -->\n <div\n v-if=\"prefix || suffix\"\n class=\"e-input-wrap\"\n :data-invalid=\"error ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n @click=\"focusInside\"\n >\n <span v-if=\"prefix\" class=\"e-affix e-affix--pre\" aria-hidden=\"true\">{{ prefix }}</span>\n <input ref=\"input\" v-bind=\"inputBind(field)\" @input=\"model = ($event.target as HTMLInputElement).value\" />\n <span v-if=\"suffix\" class=\"e-affix e-affix--post\" aria-hidden=\"true\">{{ suffix }}</span>\n </div>\n <input v-else ref=\"input\" v-bind=\"inputBind(field)\" @input=\"model = ($event.target as HTMLInputElement).value\" />\n </template>\n </EField>\n</template>\n\n<style>\n@layer e.controls {\n .e-input[type=\"number\"],\n .e-input[inputmode=\"numeric\"],\n .e-input[inputmode=\"decimal\"] {\n font-variant-numeric: tabular-nums;\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
-
/** The visible label, a mono kicker above the input. */
|
|
2
|
+
/** The visible label, a mono kicker above the input. The placeholder is an example, never the label. */
|
|
3
3
|
label: string;
|
|
4
4
|
/** Keep the label for screen readers and remove it from the page. */
|
|
5
5
|
hideLabel?: boolean;
|
|
@@ -9,21 +9,23 @@ type __VLS_Props = {
|
|
|
9
9
|
error?: string;
|
|
10
10
|
/** An example, never the label. */
|
|
11
11
|
placeholder?: string;
|
|
12
|
-
/** The input type. */
|
|
12
|
+
/** The input type. @default "text" */
|
|
13
13
|
type?: string;
|
|
14
|
-
/** A unit before the value, such as
|
|
14
|
+
/** A unit before the value, such as `$`. Hidden from screen readers. */
|
|
15
15
|
prefix?: string;
|
|
16
|
-
/** A unit after the value, such as USD. */
|
|
16
|
+
/** A unit after the value, such as `USD`. Hidden from screen readers. */
|
|
17
17
|
suffix?: string;
|
|
18
|
-
/**
|
|
18
|
+
/** The `required` attribute and a word beside the label. */
|
|
19
19
|
required?: boolean;
|
|
20
20
|
/** A word beside the label. Flag whichever is rarer. */
|
|
21
21
|
optional?: boolean;
|
|
22
|
+
/** Disables the field. */
|
|
22
23
|
disabled?: boolean;
|
|
23
|
-
/** The id of the input; the label points at it.
|
|
24
|
+
/** The id of the input; the label points at it. @default generated */
|
|
24
25
|
id?: string;
|
|
25
26
|
};
|
|
26
27
|
type __VLS_ModelProps = {
|
|
28
|
+
/** The text. */
|
|
27
29
|
modelValue?: string;
|
|
28
30
|
};
|
|
29
31
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ETextField.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","EField","_mergeProps","_unref","_withCtx","_createElementBlock","_toDisplayString","_createCommentVNode","_createElementVNode","EField_default","_hoisted_1","_hoisted_2","_hoisted_3","ETextField_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","model","useModel","input","ref","attrs","useFieldAttrs","inputBind","field","openBlock","createBlock","mergeProps","unref","withCtx","createElementBlock","_cache","args","focusInside","toDisplayString","createCommentVNode","createElementVNode","$event"],"sources":["../../../src/components/TextField/ETextField.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport { focusInside } from \"../../composables/focusInside.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"./input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The visible label, a mono kicker above the input. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Help that stays under the input. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the input invalid and is announced. */\n error?: string;\n /** An example, never the label. */\n placeholder?: string;\n /** The input type. */\n type?: string;\n /** A unit before the value, such as
|
|
1
|
+
{"version":3,"file":"ETextField.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","EField","_mergeProps","_unref","_withCtx","_createElementBlock","_toDisplayString","_createCommentVNode","_createElementVNode","EField_default","_hoisted_1","_hoisted_2","_hoisted_3","ETextField_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","model","useModel","input","ref","attrs","useFieldAttrs","inputBind","field","openBlock","createBlock","mergeProps","unref","withCtx","createElementBlock","_cache","args","focusInside","toDisplayString","createCommentVNode","createElementVNode","$event"],"sources":["../../../src/components/TextField/ETextField.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport { focusInside } from \"../../composables/focusInside.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"./input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The visible label, a mono kicker above the input. The placeholder is an example, never the label. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Help that stays under the input. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the input invalid and is announced. */\n error?: string;\n /** An example, never the label. */\n placeholder?: string;\n /** The input type. @default \"text\" */\n type?: string;\n /** A unit before the value, such as `$`. Hidden from screen readers. */\n prefix?: string;\n /** A unit after the value, such as `USD`. Hidden from screen readers. */\n suffix?: string;\n /** The `required` attribute and a word beside the label. */\n required?: boolean;\n /** A word beside the label. Flag whichever is rarer. */\n optional?: boolean;\n /** Disables the field. */\n disabled?: boolean;\n /** The id of the input; the label points at it. @default generated */\n id?: string;\n}>();\n\n/** The text. */\nconst model = defineModel<string>({ default: \"\" });\n\nconst input = ref<HTMLInputElement | null>(null);\nconst attrs = useFieldAttrs();\nfunction inputBind(field: { id: string; ariaInvalid: \"true\" | undefined; ariaDescribedby: string | undefined }) {\n return {\n id: field.id,\n class: \"e-input\",\n type: props.type || \"text\",\n placeholder: props.placeholder,\n value: model.value,\n disabled: props.disabled,\n required: props.required,\n \"aria-invalid\": field.ariaInvalid,\n ...attrs.input(field.ariaDescribedby),\n };\n}\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <EField\n v-bind=\"attrs.wrapper()\"\n :id=\"id\"\n :label=\"label\"\n :hide-label=\"hideLabel\"\n :hint=\"hint\"\n :error=\"error\"\n :required=\"required\"\n :optional=\"optional\"\n >\n <template #default=\"field\">\n <!-- eslint-disable-next-line vuejs-accessibility/click-events-have-key-events, vuejs-accessibility/no-static-element-interactions -->\n <div\n v-if=\"prefix || suffix\"\n class=\"e-input-wrap\"\n :data-invalid=\"error ? '' : undefined\"\n :data-disabled=\"disabled ? '' : undefined\"\n @click=\"focusInside\"\n >\n <span v-if=\"prefix\" class=\"e-affix e-affix--pre\" aria-hidden=\"true\">{{ prefix }}</span>\n <input ref=\"input\" v-bind=\"inputBind(field)\" @input=\"model = ($event.target as HTMLInputElement).value\" />\n <span v-if=\"suffix\" class=\"e-affix e-affix--post\" aria-hidden=\"true\">{{ suffix }}</span>\n </div>\n <input v-else ref=\"input\" v-bind=\"inputBind(field)\" @input=\"model = ($event.target as HTMLInputElement).value\" />\n </template>\n </EField>\n</template>\n\n<style>\n@layer e.controls {\n .e-input[type=\"number\"],\n .e-input[inputmode=\"numeric\"],\n .e-input[inputmode=\"decimal\"] {\n font-variant-numeric: tabular-nums;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,IAAMmB,IAAQC,GA4BRC,IAAQrB,EAAmBoB,GAAA,YAAgB,GAE3CG,IAAQC,EAA6B,IAAI,GACzCC,IAAQC,EAAc;EAC5B,SAASC,EAAU,GAA6F;GAC9G,OAAO;IACL,IAAIC,EAAM;IACV,OAAO;IACP,MAAMT,EAAM,QAAQ;IACpB,aAAaA,EAAM;IACnB,OAAOE,EAAM;IACb,UAAUF,EAAM;IAChB,UAAUA,EAAM;IAChB,gBAAgBS,EAAM;IACtB,GAAGH,EAAM,MAAMG,EAAM,eAAe;GACtC;EACF;E,OACAV,EAAa;GACX;GACA,aAAaK,EAAM,OAAO,MAAM;EAClC,CAAC,I,UAICtB,EAAA,GAAAC,EAyBSC,GAzBTC,EACUC,EAwBDoB,CAAA,CAxBM,CAAC,QAAO,GAAA;GACpB,IAAIL,EAAA;GACJ,OAAOA,EAAA;GACP,cAAYA,EAAA;GACZ,MAAMA,EAAA;GACN,OAAOA,EAAA;GACP,UAAUA,EAAA;GACV,UAAUA,EAAA;;GAEA,SAAOd,GAAE,MAAK,CAGfc,EAAA,UAAUA,EAAA,UADlBnB,EAAA,GAAAM,EAUM,OAAA;;IARJ,OAAM;IACL,gBAAca,EAAA,QAAK,KAAQ,KAAA;IAC3B,iBAAeA,EAAA,WAAQ,KAAQ,KAAA;IAC/B,SAAK,AAAAe,EAAA,QAAE,GAAAC,MAAA/B,EAAAgC,CAAA,KAAAhC,EAAAgC,CAAA,CAAA,CAAA,GAAAD,CAAA;;IAEIhB,EAAA,UAAZnB,EAAA,GAAAM,EAAuF,QAAvFM,GAAuFL,EAAhBY,EAAA,MAAM,GAAA,CAAA,K;IAC7EV,EAA0G,SAA1GN,EAA0G;KAA/F,SAAA;KAAJ,KAAImB;IAAgB,GAAAI,EAAUC,CAAK,GAAA,EAAI,SAAK,AAAAO,EAAA,QAAA,MAAE,EAAA,QAASM,EAAO,OAA4B,M;IACrFrB,EAAA,UAAZnB,EAAA,GAAAM,EAAwF,QAAxFO,GAAwFN,EAAhBY,EAAA,MAAM,GAAA,CAAA,K;G,aAEhFnB,EAAA,GAAAM,EAAiH,SAAjHH,EAAiH;;IAA/F,SAAA;IAAJ,KAAImB;GAAgB,GAAAI,EAAUC,CAAK,GAAA,EAAI,SAAK,AAAAO,EAAA,QAAA,MAAE,EAAA,QAASM,EAAO,OAA4B,M"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ETextarea.js","names":["_sfc_main","ETextarea_vue_vue_type_script_setup_true_lang_default","ETextarea_default"],"sources":["../../../src/components/Textarea/ETextarea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"../TextField/input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = withDefaults(\n defineProps<{\n /** The visible label, a mono kicker above the text well. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Help that stays under the text well. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the textarea invalid and is announced. */\n error?: string;\n /** An example, never the label. */\n placeholder?: string;\n /** Visible lines. */\n rows?: number;\n /**
|
|
1
|
+
{"version":3,"file":"ETextarea.js","names":["_sfc_main","ETextarea_vue_vue_type_script_setup_true_lang_default","ETextarea_default"],"sources":["../../../src/components/Textarea/ETextarea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"../TextField/input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = withDefaults(\n defineProps<{\n /** The visible label, a mono kicker above the text well. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Help that stays under the text well. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the textarea invalid and is announced. */\n error?: string;\n /** An example, never the label. */\n placeholder?: string;\n /** Visible lines. */\n rows?: number;\n /** The `required` attribute and a word beside the label. */\n required?: boolean;\n /** A word beside the label. Flag whichever is rarer. */\n optional?: boolean;\n /** Disables the field. */\n disabled?: boolean;\n /** The id of the textarea; the label points at it. @default generated */\n id?: string;\n }>(),\n { rows: 4 },\n);\n\n/** The text. */\nconst model = defineModel<string>({ default: \"\" });\n\nconst input = ref<HTMLTextAreaElement | null>(null);\nconst attrs = useFieldAttrs();\nfunction inputBind(field: { id: string; ariaInvalid: \"true\" | undefined; ariaDescribedby: string | undefined }) {\n return {\n id: field.id,\n class: \"e-input e-textarea\",\n rows: props.rows,\n placeholder: props.placeholder,\n value: model.value,\n disabled: props.disabled,\n required: props.required,\n \"aria-invalid\": field.ariaInvalid,\n ...attrs.input(field.ariaDescribedby),\n };\n}\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <EField\n v-bind=\"attrs.wrapper()\"\n :id=\"id\"\n :label=\"label\"\n :hide-label=\"hideLabel\"\n :hint=\"hint\"\n :error=\"error\"\n :required=\"required\"\n :optional=\"optional\"\n >\n <template #default=\"field\">\n <!-- eslint-disable-next-line vuejs-accessibility/form-control-has-label -->\n <textarea ref=\"input\" v-bind=\"inputBind(field)\" @input=\"model = ($event.target as HTMLTextAreaElement).value\" />\n </template>\n </EField>\n</template>\n\n<style>\n@layer e.controls {\n .e-textarea {\n height: auto;\n min-height: 6.5rem;\n padding: var(--e-space-3) var(--e-space-4);\n line-height: 1.5;\n resize: vertical;\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -11,15 +11,17 @@ type __VLS_Props = {
|
|
|
11
11
|
placeholder?: string;
|
|
12
12
|
/** Visible lines. */
|
|
13
13
|
rows?: number;
|
|
14
|
-
/**
|
|
14
|
+
/** The `required` attribute and a word beside the label. */
|
|
15
15
|
required?: boolean;
|
|
16
16
|
/** A word beside the label. Flag whichever is rarer. */
|
|
17
17
|
optional?: boolean;
|
|
18
|
+
/** Disables the field. */
|
|
18
19
|
disabled?: boolean;
|
|
19
|
-
/** The id of the textarea; the label points at it.
|
|
20
|
+
/** The id of the textarea; the label points at it. @default generated */
|
|
20
21
|
id?: string;
|
|
21
22
|
};
|
|
22
23
|
type __VLS_ModelProps = {
|
|
24
|
+
/** The text. */
|
|
23
25
|
modelValue?: string;
|
|
24
26
|
};
|
|
25
27
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ETextarea.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","EField","_mergeProps","_unref","_withCtx","_createElementVNode","EField_default","ETextarea_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","model","useModel","input","ref","attrs","useFieldAttrs","inputBind","field","openBlock","createBlock","mergeProps","unref","withCtx","createElementVNode","_cache","$event"],"sources":["../../../src/components/Textarea/ETextarea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"../TextField/input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = withDefaults(\n defineProps<{\n /** The visible label, a mono kicker above the text well. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Help that stays under the text well. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the textarea invalid and is announced. */\n error?: string;\n /** An example, never the label. */\n placeholder?: string;\n /** Visible lines. */\n rows?: number;\n /**
|
|
1
|
+
{"version":3,"file":"ETextarea.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","EField","_mergeProps","_unref","_withCtx","_createElementVNode","EField_default","ETextarea_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","props","__props","model","useModel","input","ref","attrs","useFieldAttrs","inputBind","field","openBlock","createBlock","mergeProps","unref","withCtx","createElementVNode","_cache","$event"],"sources":["../../../src/components/Textarea/ETextarea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"../TextField/input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = withDefaults(\n defineProps<{\n /** The visible label, a mono kicker above the text well. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Help that stays under the text well. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the textarea invalid and is announced. */\n error?: string;\n /** An example, never the label. */\n placeholder?: string;\n /** Visible lines. */\n rows?: number;\n /** The `required` attribute and a word beside the label. */\n required?: boolean;\n /** A word beside the label. Flag whichever is rarer. */\n optional?: boolean;\n /** Disables the field. */\n disabled?: boolean;\n /** The id of the textarea; the label points at it. @default generated */\n id?: string;\n }>(),\n { rows: 4 },\n);\n\n/** The text. */\nconst model = defineModel<string>({ default: \"\" });\n\nconst input = ref<HTMLTextAreaElement | null>(null);\nconst attrs = useFieldAttrs();\nfunction inputBind(field: { id: string; ariaInvalid: \"true\" | undefined; ariaDescribedby: string | undefined }) {\n return {\n id: field.id,\n class: \"e-input e-textarea\",\n rows: props.rows,\n placeholder: props.placeholder,\n value: model.value,\n disabled: props.disabled,\n required: props.required,\n \"aria-invalid\": field.ariaInvalid,\n ...attrs.input(field.ariaDescribedby),\n };\n}\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <EField\n v-bind=\"attrs.wrapper()\"\n :id=\"id\"\n :label=\"label\"\n :hide-label=\"hideLabel\"\n :hint=\"hint\"\n :error=\"error\"\n :required=\"required\"\n :optional=\"optional\"\n >\n <template #default=\"field\">\n <!-- eslint-disable-next-line vuejs-accessibility/form-control-has-label -->\n <textarea ref=\"input\" v-bind=\"inputBind(field)\" @input=\"model = ($event.target as HTMLTextAreaElement).value\" />\n </template>\n </EField>\n</template>\n\n<style>\n@layer e.controls {\n .e-textarea {\n height: auto;\n min-height: 6.5rem;\n padding: var(--e-space-3) var(--e-space-4);\n line-height: 1.5;\n resize: vertical;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EASA,IAAMa,IAAQC,GA2BRC,IAAQf,EAAmBc,GAAA,YAAgB,GAE3CG,IAAQC,EAAgC,IAAI,GAC5CC,IAAQC,EAAc;EAC5B,SAASC,EAAU,GAA6F;GAC9G,OAAO;IACL,IAAIC,EAAM;IACV,OAAO;IACP,MAAMT,EAAM;IACZ,aAAaA,EAAM;IACnB,OAAOE,EAAM;IACb,UAAUF,EAAM;IAChB,UAAUA,EAAM;IAChB,gBAAgBS,EAAM;IACtB,GAAGH,EAAM,MAAMG,EAAM,eAAe;GACtC;EACF;E,OACAV,EAAa;GACX;GACA,aAAaK,EAAM,OAAO,MAAM;EAClC,CAAC,I,UAIChB,EAAA,GAAAC,EAcSC,GAdTC,EACUC,EAaDc,CAAA,CAbM,CAAC,QAAO,GAAA;GACpB,IAAIL,EAAA;GACJ,OAAOA,EAAA;GACP,cAAYA,EAAA;GACZ,MAAMA,EAAA;GACN,OAAOA,EAAA;GACP,UAAUA,EAAA;GACV,UAAUA,EAAA;;GAEA,SAAOR,GAAE,MAAK,CAEvBC,EAAgH,YAAhHH,EAAgH;IAAlG,SAAA;IAAJ,KAAIa;GAAgB,GAAAI,EAAUC,CAAK,GAAA,EAAI,SAAK,AAAAO,EAAA,QAAA,MAAE,EAAA,QAASC,EAAO,OAA+B,M"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EToast.js","names":["_sfc_main","EToast_vue_vue_type_script_setup_true_lang_default","EToast_default"],"sources":["../../../src/components/Toast/EToast.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { getCurrentInstance } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EIconButton from \"../IconButton/EIconButton.vue\";\nimport ESurface from \"../Surface/ESurface.vue\";\nimport { useMessages } from \"../../config.js\";\nimport type { IconProp } from \"../../icons/types.js\";\nimport \"../../styles/base.css\";\nimport \"../Notice/notice.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** What happened, in a few words. */\n title: string;\n /** `info` is the default. `danger` is announced at once. */\n tone?: \"info\" | \"success\" | \"warning\" | \"danger\";\n /** Replaces the icon of the tone. */\n icon?: IconProp;\n /** Forces the dismiss button on or off. Left out, it shows when a `@close` listener is attached. */\n closable?: boolean;\n }>(),\n { tone: \"info\", closable: undefined },\n);\n\nconst emit = defineEmits<{\n /** The dismiss button was pressed. The button only shows when a listener is attached. */\n close: [];\n}>();\n\ndefineSlots<{\n /** One sentence of detail under the title. */\n default?(): unknown;\n /** A Button. At the end of the row when the toast is 36rem wide or more, under the text when narrower. */\n action?(): unknown;\n}>();\n\nconst t = useMessages();\nconst instance = getCurrentInstance();\nconst TONE_ICON = { info: \"info\", success: \"check\", warning: \"alert\", danger: \"alert\" } as const;\nconst hasClose = () => props.closable ?? !!instance?.vnode.props?.onClose;\n</script>\n\n<template>\n <ESurface\n
|
|
1
|
+
{"version":3,"file":"EToast.js","names":["_sfc_main","EToast_vue_vue_type_script_setup_true_lang_default","EToast_default"],"sources":["../../../src/components/Toast/EToast.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { getCurrentInstance } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EIconButton from \"../IconButton/EIconButton.vue\";\nimport ESurface from \"../Surface/ESurface.vue\";\nimport { useMessages } from \"../../config.js\";\nimport type { IconProp } from \"../../icons/types.js\";\nimport \"../../styles/base.css\";\nimport \"../Notice/notice.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** What happened, in a few words. */\n title: string;\n /** `info` is the default. `danger` is announced at once. */\n tone?: \"info\" | \"success\" | \"warning\" | \"danger\";\n /** Replaces the icon of the tone. */\n icon?: IconProp;\n /** Forces the dismiss button on or off. Left out, it shows when a `@close` listener is attached. */\n closable?: boolean;\n }>(),\n { tone: \"info\", closable: undefined },\n);\n\nconst emit = defineEmits<{\n /** The dismiss button was pressed. The button only shows when a listener is attached. */\n close: [];\n}>();\n\ndefineSlots<{\n /** One sentence of detail under the title. */\n default?(): unknown;\n /** A Button. At the end of the row when the toast is 36rem wide or more, under the text when narrower. */\n action?(): unknown;\n}>();\n\nconst t = useMessages();\nconst instance = getCurrentInstance();\nconst TONE_ICON = { info: \"info\", success: \"check\", warning: \"alert\", danger: \"alert\" } as const;\nconst hasClose = () => props.closable ?? !!instance?.vnode.props?.onClose;\n</script>\n\n<template>\n <ESurface\n raised\n class=\"e-toast\"\n :class=\"[`e-toast--${tone}`, $slots.action && 'e-toast--actions']\"\n :role=\"tone === 'danger' ? 'alert' : 'status'\"\n >\n <div class=\"e-notice-grid\">\n <span class=\"e-notice-icon\"><EIcon :name=\"icon ?? TONE_ICON[tone]\" /></span>\n <div class=\"e-notice-body e-toast-body\">\n <p class=\"e-toast-title\">{{ title }}</p>\n <p v-if=\"$slots.default\" class=\"e-toast-text\"><slot /></p>\n </div>\n <EActions v-if=\"$slots.action\" class=\"e-notice-actions\"><slot name=\"action\" /></EActions>\n <span v-if=\"hasClose()\" class=\"e-notice-dismiss\">\n <EIconButton icon=\"x\" :label=\"t('dismiss')\" @click=\"emit('close')\" />\n </span>\n </div>\n </ESurface>\n</template>\n\n<style>\n@layer e.containers {\n .e-toast {\n --e-tone: var(--e-primary);\n\n container-type: inline-size;\n width: min(24rem, 100%);\n padding: var(--e-space-3) var(--e-space-4);\n }\n\n .e-toast--actions {\n width: min(40rem, 100%);\n }\n\n .e-toast--success {\n --e-tone: var(--e-secondary);\n }\n\n .e-toast--warning {\n --e-tone: var(--e-warning-strong);\n }\n\n .e-toast--danger {\n --e-tone: var(--e-danger);\n }\n\n .e-toast-title {\n margin: 0;\n font: 500 var(--e-text-lg) / 24px var(--e-font-sans);\n }\n\n .e-toast-text {\n margin: 0;\n font: 400 var(--e-text-sm) / 1.45 var(--e-font-sans);\n color: var(--e-muted);\n }\n\n @media (forced-colors: active) {\n .e-toast {\n border: var(--e-stroke-card) solid CanvasText;\n }\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { useMessages as e } from "../../config.js";
|
|
3
3
|
import t from "../Actions/EActions.js";
|
|
4
4
|
import n from "../Icon/EIcon.js";
|
|
5
|
-
import r from "../
|
|
6
|
-
import i from "../IconButton/EIconButton.js";
|
|
5
|
+
import r from "../IconButton/EIconButton.js";
|
|
7
6
|
/* empty css */
|
|
7
|
+
import i from "../Surface/ESurface.js";
|
|
8
8
|
import { createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, getCurrentInstance as d, normalizeClass as f, openBlock as p, renderSlot as m, toDisplayString as h, unref as g, withCtx as _ } from "vue";
|
|
9
9
|
//#region src/components/Toast/EToast.vue?vue&type=script&setup=true&lang.ts
|
|
10
10
|
var v = { class: "e-notice-grid" }, y = { class: "e-notice-icon" }, b = { class: "e-notice-body e-toast-body" }, x = { class: "e-toast-title" }, S = {
|
|
@@ -32,8 +32,8 @@ var v = { class: "e-notice-grid" }, y = { class: "e-notice-icon" }, b = { class:
|
|
|
32
32
|
warning: "alert",
|
|
33
33
|
danger: "alert"
|
|
34
34
|
}, A = () => T.closable ?? !!O?.vnode.props?.onClose;
|
|
35
|
-
return (e, d) => (p(), a(
|
|
36
|
-
|
|
35
|
+
return (e, d) => (p(), a(i, {
|
|
36
|
+
raised: "",
|
|
37
37
|
class: f(["e-toast", [`e-toast--${u.tone}`, e.$slots.action && "e-toast--actions"]]),
|
|
38
38
|
role: u.tone === "danger" ? "alert" : "status"
|
|
39
39
|
}, {
|
|
@@ -47,7 +47,7 @@ var v = { class: "e-notice-grid" }, y = { class: "e-notice-icon" }, b = { class:
|
|
|
47
47
|
default: _(() => [m(e.$slots, "action")]),
|
|
48
48
|
_: 3
|
|
49
49
|
})) : o("", !0),
|
|
50
|
-
A() ? (p(), s("span", C, [l(
|
|
50
|
+
A() ? (p(), s("span", C, [l(r, {
|
|
51
51
|
icon: "x",
|
|
52
52
|
label: g(D)("dismiss"),
|
|
53
53
|
onClick: d[0] ||= (e) => E("close")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EToast.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createBlock","ESurface","_normalizeClass","_withCtx","_createElementVNode","_createVNode","EIcon","_toDisplayString","_createElementBlock","_renderSlot","_createCommentVNode","EActions","EIconButton","_unref","EActions_default","EIcon_default","
|
|
1
|
+
{"version":3,"file":"EToast.vue_vue_type_script_setup_true_lang.js","names":["$slots","_openBlock","_createBlock","ESurface","_normalizeClass","_withCtx","_createElementVNode","_createVNode","EIcon","_toDisplayString","_createElementBlock","_renderSlot","_createCommentVNode","EActions","EIconButton","_unref","EActions_default","EIcon_default","EIconButton_default","ESurface_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","EToast_vue_vue_type_script_setup_true_lang_default","__emit","props","__props","emit","t","useMessages","instance","getCurrentInstance","TONE_ICON","hasClose","openBlock","createBlock","normalizeClass","_ctx","withCtx","createElementVNode","createVNode","toDisplayString","createElementBlock","renderSlot","createCommentVNode","unref","_cache"],"sources":["../../../src/components/Toast/EToast.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { getCurrentInstance } from \"vue\";\nimport EActions from \"../Actions/EActions.vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EIconButton from \"../IconButton/EIconButton.vue\";\nimport ESurface from \"../Surface/ESurface.vue\";\nimport { useMessages } from \"../../config.js\";\nimport type { IconProp } from \"../../icons/types.js\";\nimport \"../../styles/base.css\";\nimport \"../Notice/notice.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** What happened, in a few words. */\n title: string;\n /** `info` is the default. `danger` is announced at once. */\n tone?: \"info\" | \"success\" | \"warning\" | \"danger\";\n /** Replaces the icon of the tone. */\n icon?: IconProp;\n /** Forces the dismiss button on or off. Left out, it shows when a `@close` listener is attached. */\n closable?: boolean;\n }>(),\n { tone: \"info\", closable: undefined },\n);\n\nconst emit = defineEmits<{\n /** The dismiss button was pressed. The button only shows when a listener is attached. */\n close: [];\n}>();\n\ndefineSlots<{\n /** One sentence of detail under the title. */\n default?(): unknown;\n /** A Button. At the end of the row when the toast is 36rem wide or more, under the text when narrower. */\n action?(): unknown;\n}>();\n\nconst t = useMessages();\nconst instance = getCurrentInstance();\nconst TONE_ICON = { info: \"info\", success: \"check\", warning: \"alert\", danger: \"alert\" } as const;\nconst hasClose = () => props.closable ?? !!instance?.vnode.props?.onClose;\n</script>\n\n<template>\n <ESurface\n raised\n class=\"e-toast\"\n :class=\"[`e-toast--${tone}`, $slots.action && 'e-toast--actions']\"\n :role=\"tone === 'danger' ? 'alert' : 'status'\"\n >\n <div class=\"e-notice-grid\">\n <span class=\"e-notice-icon\"><EIcon :name=\"icon ?? TONE_ICON[tone]\" /></span>\n <div class=\"e-notice-body e-toast-body\">\n <p class=\"e-toast-title\">{{ title }}</p>\n <p v-if=\"$slots.default\" class=\"e-toast-text\"><slot /></p>\n </div>\n <EActions v-if=\"$slots.action\" class=\"e-notice-actions\"><slot name=\"action\" /></EActions>\n <span v-if=\"hasClose()\" class=\"e-notice-dismiss\">\n <EIconButton icon=\"x\" :label=\"t('dismiss')\" @click=\"emit('close')\" />\n </span>\n </div>\n </ESurface>\n</template>\n\n<style>\n@layer e.containers {\n .e-toast {\n --e-tone: var(--e-primary);\n\n container-type: inline-size;\n width: min(24rem, 100%);\n padding: var(--e-space-3) var(--e-space-4);\n }\n\n .e-toast--actions {\n width: min(40rem, 100%);\n }\n\n .e-toast--success {\n --e-tone: var(--e-secondary);\n }\n\n .e-toast--warning {\n --e-tone: var(--e-warning-strong);\n }\n\n .e-toast--danger {\n --e-tone: var(--e-danger);\n }\n\n .e-toast-title {\n margin: 0;\n font: 500 var(--e-text-lg) / 24px var(--e-font-sans);\n }\n\n .e-toast-text {\n margin: 0;\n font: 400 var(--e-text-sm) / 1.45 var(--e-font-sans);\n color: var(--e-muted);\n }\n\n @media (forced-colors: active) {\n .e-toast {\n border: var(--e-stroke-card) solid CanvasText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWA,IAAM4B,IAAQC,GAcRC,IAAOH,GAYPI,IAAIC,EAAY,GAChBC,IAAWC,EAAmB,GAC9BC,IAAY;GAAE,MAAM;GAAQ,SAAS;GAAS,SAAS;GAAS,QAAQ;EAAQ,GAChFC,UAAiBR,EAAM,YAAY,CAAC,CAACK,GAAU,MAAM,OAAO;E,kBAIhEhC,EAAA,GAAAC,EAiBWC,GAAA;GAhBT,QAAA;GACA,OAAKC,EAAA,CAAC,WAAS,CAAA,YACMyB,EAAA,QAAQ7B,EAAAA,OAAO,UAAM,kBAAA,CAAA,CAAA;GACzC,MAAM6B,EAAA,SAAI,WAAA,UAAA;;GAEX,SAAAxB,QAUM,CAVNC,EAUM,OAVNc,GAUM;IATJd,EAA4E,QAA5Ee,GAA4E,CAAhDd,EAAyCC,GAAA,EAAjC,MAAMqB,EAAA,QAAQM,EAAUN,EAAA,M;IAC5DvB,EAGM,OAHNgB,GAGM,CAFJhB,EAAwC,KAAxCiB,GAAwCd,EAAZoB,EAAA,KAAK,GAAA,CAAA,GACxB7B,EAAAA,OAAO,WAAhBC,EAAA,GAAAS,EAA0D,KAA1Dc,GAA0D,CAAZb,EAAQ6B,EAAA,QAAA,SAAA,C;IAExCxC,EAAAA,OAAO,UAAvBC,EAAA,GAAAC,EAAyFW,GAAA;;KAA1D,OAAM;;KAAmB,SAAAR,QAAsB,CAAtBM,EAAsB6B,EAAA,QAAA,QAAA,C;;;IAClEJ,EAAQ,KAApBnC,EAAA,GAAAS,EAEO,QAFPe,GAEO,CADLlB,EAAqEO,GAAA;KAAxD,MAAK;KAAK,OAAOC,EAAAgB,CAAA,CAAC,CAAA,SAAA;KAAc,SAAK,AAAAkB,EAAA,QAAA,MAAEnB,EAAI,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EToastProvider.js","names":["_sfc_main","EToastProvider_vue_vue_type_script_setup_true_lang_default","EToastProvider_default"],"sources":["../../../src/components/ToastProvider/EToastProvider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { inject, onBeforeUnmount, provide, ref, watch, type FunctionalComponent, type VNodeChild } from \"vue\";\nimport { useEventListener } from \"@vueuse/core\";\nimport EToast from \"../Toast/EToast.vue\";\nimport { useMessages, usePortalTarget } from \"../../config.js\";\nimport { createToasts, TOAST_KEY } from \"../../composables/useToast.js\";\nimport \"../../styles/base.css\";\n\ndefineSlots<{\n /** The app. Call `useToast()` anywhere inside it. */\n default?(): unknown;\n}>();\n\nconst t = useMessages();\nconst target = usePortalTarget();\n\nconst provided = inject(TOAST_KEY, null);\nconst store = provided ?? createToasts();\nif (!provided) {\n provide(TOAST_KEY, store);\n onBeforeUnmount(() => store.clear());\n}\n\nconst region = ref<HTMLElement>();\nlet hovering = false;\nlet focused = false;\nconst settle = () => (hovering || focused ? store.pause() : store.resume());\n\nuseEventListener(region, \"mouseenter\", () => {\n hovering = true;\n settle();\n});\nuseEventListener(region, \"mouseleave\", () => {\n hovering = false;\n settle();\n});\nuseEventListener(region, \"focusin\", () => {\n focused = true;\n settle();\n});\nuseEventListener(region, \"focusout\", (e: FocusEvent) => {\n if (region.value?.contains(e.relatedTarget as Node | null)) return;\n focused = false;\n settle();\n});\n\nwatch(\n () => store.items.length,\n (n) => {\n if (n) return;\n hovering = false;\n focused = false;\n store.resume();\n },\n);\n\nconst Render: FunctionalComponent<{ content: VNodeChild | (() => VNodeChild) }> = (p) =>\n typeof p.content === \"function\" ? p.content() : p.content;\nRender.props = [\"content\"];\n</script>\n\n<template>\n <slot />\n <Teleport :to=\"target\">\n <div ref=\"region\" class=\"e-root e-toast-region\" role=\"region\" :aria-label=\"t('toastRegion')\">\n <EToast\n v-for=\"item in store.items\"\n :key=\"item.id\"\n :tone=\"item.tone\"\n :title=\"item.title\"\n @close=\"store.dismiss(item.id)\"\n >\n <template v-if=\"item.message\" #default>{{ item.message }}</template>\n <template v-if=\"item.action\" #action><Render :content=\"item.action\" /></template>\n </EToast>\n </div>\n </Teleport>\n</template>\n\n<style>\n@layer e.containers {\n .e-toast-region {\n justify-items: end;\n position: fixed;\n inset-inline-end: max(
|
|
1
|
+
{"version":3,"file":"EToastProvider.js","names":["_sfc_main","EToastProvider_vue_vue_type_script_setup_true_lang_default","EToastProvider_default"],"sources":["../../../src/components/ToastProvider/EToastProvider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { inject, onBeforeUnmount, provide, ref, watch, type FunctionalComponent, type VNodeChild } from \"vue\";\nimport { useEventListener } from \"@vueuse/core\";\nimport EToast from \"../Toast/EToast.vue\";\nimport { useMessages, usePortalTarget } from \"../../config.js\";\nimport { createToasts, TOAST_KEY } from \"../../composables/useToast.js\";\nimport \"../../styles/base.css\";\n\ndefineSlots<{\n /** The app. Call `useToast()` anywhere inside it. */\n default?(): unknown;\n}>();\n\nconst t = useMessages();\nconst target = usePortalTarget();\n\nconst provided = inject(TOAST_KEY, null);\nconst store = provided ?? createToasts();\nif (!provided) {\n provide(TOAST_KEY, store);\n onBeforeUnmount(() => store.clear());\n}\n\nconst region = ref<HTMLElement>();\nlet hovering = false;\nlet focused = false;\nconst settle = () => (hovering || focused ? store.pause() : store.resume());\n\nuseEventListener(region, \"mouseenter\", () => {\n hovering = true;\n settle();\n});\nuseEventListener(region, \"mouseleave\", () => {\n hovering = false;\n settle();\n});\nuseEventListener(region, \"focusin\", () => {\n focused = true;\n settle();\n});\nuseEventListener(region, \"focusout\", (e: FocusEvent) => {\n if (region.value?.contains(e.relatedTarget as Node | null)) return;\n focused = false;\n settle();\n});\n\nwatch(\n () => store.items.length,\n (n) => {\n if (n) return;\n hovering = false;\n focused = false;\n store.resume();\n },\n);\n\nconst Render: FunctionalComponent<{ content: VNodeChild | (() => VNodeChild) }> = (p) =>\n typeof p.content === \"function\" ? p.content() : p.content;\nRender.props = [\"content\"];\n</script>\n\n<template>\n <slot />\n <Teleport :to=\"target\">\n <div ref=\"region\" class=\"e-root e-toast-region\" role=\"region\" :aria-label=\"t('toastRegion')\">\n <EToast\n v-for=\"item in store.items\"\n :key=\"item.id\"\n :tone=\"item.tone\"\n :title=\"item.title\"\n @close=\"store.dismiss(item.id)\"\n >\n <template v-if=\"item.message\" #default>{{ item.message }}</template>\n <template v-if=\"item.action\" #action><Render :content=\"item.action\" /></template>\n </EToast>\n </div>\n </Teleport>\n</template>\n\n<style>\n@layer e.containers {\n .e-toast-region {\n justify-items: end;\n position: fixed;\n inset-inline-end: max(var(--e-space-4), env(safe-area-inset-right, 0px));\n bottom: max(var(--e-space-4), env(safe-area-inset-bottom, 0px));\n z-index: var(--e-z-toast);\n display: grid;\n gap: var(--e-space-2);\n }\n\n .e-toast-region > .e-toast {\n width: min(24rem, calc(100vw - 2 * var(--e-space-4)));\n }\n\n .e-toast-region > .e-toast--actions {\n width: min(40rem, calc(100vw - 2 * var(--e-space-4)));\n }\n\n @media print {\n .e-toast-region {\n display: none;\n }\n }\n}\n</style>\n"],"mappings":""}
|
package/dist/components/ToastProvider/EToastProvider.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EToastProvider.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_renderSlot","_createBlock","_Teleport","_unref","_createElementVNode","_renderList","EToast","_createSlots","_withCtx","_createTextVNode","_toDisplayString","_createVNode","EToast_default","_hoisted_1","EToastProvider_vue_vue_type_script_setup_true_lang_default","t","useMessages","target","usePortalTarget","provided","inject","TOAST_KEY","store","createToasts","provide","onBeforeUnmount","region","ref","hovering","focused","settle","useEventListener","watch","n","Render","p","openBlock","createElementBlock","Fragment","renderSlot","_ctx","createBlock","Teleport","unref","createElementVNode","renderList","item","createSlots","withCtx","createTextVNode","toDisplayString","createVNode"],"sources":["../../../src/components/ToastProvider/EToastProvider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { inject, onBeforeUnmount, provide, ref, watch, type FunctionalComponent, type VNodeChild } from \"vue\";\nimport { useEventListener } from \"@vueuse/core\";\nimport EToast from \"../Toast/EToast.vue\";\nimport { useMessages, usePortalTarget } from \"../../config.js\";\nimport { createToasts, TOAST_KEY } from \"../../composables/useToast.js\";\nimport \"../../styles/base.css\";\n\ndefineSlots<{\n /** The app. Call `useToast()` anywhere inside it. */\n default?(): unknown;\n}>();\n\nconst t = useMessages();\nconst target = usePortalTarget();\n\nconst provided = inject(TOAST_KEY, null);\nconst store = provided ?? createToasts();\nif (!provided) {\n provide(TOAST_KEY, store);\n onBeforeUnmount(() => store.clear());\n}\n\nconst region = ref<HTMLElement>();\nlet hovering = false;\nlet focused = false;\nconst settle = () => (hovering || focused ? store.pause() : store.resume());\n\nuseEventListener(region, \"mouseenter\", () => {\n hovering = true;\n settle();\n});\nuseEventListener(region, \"mouseleave\", () => {\n hovering = false;\n settle();\n});\nuseEventListener(region, \"focusin\", () => {\n focused = true;\n settle();\n});\nuseEventListener(region, \"focusout\", (e: FocusEvent) => {\n if (region.value?.contains(e.relatedTarget as Node | null)) return;\n focused = false;\n settle();\n});\n\nwatch(\n () => store.items.length,\n (n) => {\n if (n) return;\n hovering = false;\n focused = false;\n store.resume();\n },\n);\n\nconst Render: FunctionalComponent<{ content: VNodeChild | (() => VNodeChild) }> = (p) =>\n typeof p.content === \"function\" ? p.content() : p.content;\nRender.props = [\"content\"];\n</script>\n\n<template>\n <slot />\n <Teleport :to=\"target\">\n <div ref=\"region\" class=\"e-root e-toast-region\" role=\"region\" :aria-label=\"t('toastRegion')\">\n <EToast\n v-for=\"item in store.items\"\n :key=\"item.id\"\n :tone=\"item.tone\"\n :title=\"item.title\"\n @close=\"store.dismiss(item.id)\"\n >\n <template v-if=\"item.message\" #default>{{ item.message }}</template>\n <template v-if=\"item.action\" #action><Render :content=\"item.action\" /></template>\n </EToast>\n </div>\n </Teleport>\n</template>\n\n<style>\n@layer e.containers {\n .e-toast-region {\n justify-items: end;\n position: fixed;\n inset-inline-end: max(
|
|
1
|
+
{"version":3,"file":"EToastProvider.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_renderSlot","_createBlock","_Teleport","_unref","_createElementVNode","_renderList","EToast","_createSlots","_withCtx","_createTextVNode","_toDisplayString","_createVNode","EToast_default","_hoisted_1","EToastProvider_vue_vue_type_script_setup_true_lang_default","t","useMessages","target","usePortalTarget","provided","inject","TOAST_KEY","store","createToasts","provide","onBeforeUnmount","region","ref","hovering","focused","settle","useEventListener","watch","n","Render","p","openBlock","createElementBlock","Fragment","renderSlot","_ctx","createBlock","Teleport","unref","createElementVNode","renderList","item","createSlots","withCtx","createTextVNode","toDisplayString","createVNode"],"sources":["../../../src/components/ToastProvider/EToastProvider.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { inject, onBeforeUnmount, provide, ref, watch, type FunctionalComponent, type VNodeChild } from \"vue\";\nimport { useEventListener } from \"@vueuse/core\";\nimport EToast from \"../Toast/EToast.vue\";\nimport { useMessages, usePortalTarget } from \"../../config.js\";\nimport { createToasts, TOAST_KEY } from \"../../composables/useToast.js\";\nimport \"../../styles/base.css\";\n\ndefineSlots<{\n /** The app. Call `useToast()` anywhere inside it. */\n default?(): unknown;\n}>();\n\nconst t = useMessages();\nconst target = usePortalTarget();\n\nconst provided = inject(TOAST_KEY, null);\nconst store = provided ?? createToasts();\nif (!provided) {\n provide(TOAST_KEY, store);\n onBeforeUnmount(() => store.clear());\n}\n\nconst region = ref<HTMLElement>();\nlet hovering = false;\nlet focused = false;\nconst settle = () => (hovering || focused ? store.pause() : store.resume());\n\nuseEventListener(region, \"mouseenter\", () => {\n hovering = true;\n settle();\n});\nuseEventListener(region, \"mouseleave\", () => {\n hovering = false;\n settle();\n});\nuseEventListener(region, \"focusin\", () => {\n focused = true;\n settle();\n});\nuseEventListener(region, \"focusout\", (e: FocusEvent) => {\n if (region.value?.contains(e.relatedTarget as Node | null)) return;\n focused = false;\n settle();\n});\n\nwatch(\n () => store.items.length,\n (n) => {\n if (n) return;\n hovering = false;\n focused = false;\n store.resume();\n },\n);\n\nconst Render: FunctionalComponent<{ content: VNodeChild | (() => VNodeChild) }> = (p) =>\n typeof p.content === \"function\" ? p.content() : p.content;\nRender.props = [\"content\"];\n</script>\n\n<template>\n <slot />\n <Teleport :to=\"target\">\n <div ref=\"region\" class=\"e-root e-toast-region\" role=\"region\" :aria-label=\"t('toastRegion')\">\n <EToast\n v-for=\"item in store.items\"\n :key=\"item.id\"\n :tone=\"item.tone\"\n :title=\"item.title\"\n @close=\"store.dismiss(item.id)\"\n >\n <template v-if=\"item.message\" #default>{{ item.message }}</template>\n <template v-if=\"item.action\" #action><Render :content=\"item.action\" /></template>\n </EToast>\n </div>\n </Teleport>\n</template>\n\n<style>\n@layer e.containers {\n .e-toast-region {\n justify-items: end;\n position: fixed;\n inset-inline-end: max(var(--e-space-4), env(safe-area-inset-right, 0px));\n bottom: max(var(--e-space-4), env(safe-area-inset-bottom, 0px));\n z-index: var(--e-z-toast);\n display: grid;\n gap: var(--e-space-2);\n }\n\n .e-toast-region > .e-toast {\n width: min(24rem, calc(100vw - 2 * var(--e-space-4)));\n }\n\n .e-toast-region > .e-toast--actions {\n width: min(40rem, calc(100vw - 2 * var(--e-space-4)));\n }\n\n @media print {\n .e-toast-region {\n display: none;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;EAaA,IAAMkB,IAAIC,EAAY,GAChBC,IAASC,EAAgB,GAEzBC,IAAWC,EAAOC,GAAW,IAAI,GACjCC,IAAQH,KAAYI,EAAa;EACvC,AAAKJ,MACHK,EAAQH,GAAWC,CAAK,GACxBG,QAAsBH,EAAM,MAAM,CAAC;EAGrC,IAAMI,IAASC,EAAiB,GAC5BC,IAAW,IACXC,IAAU,IACRC,UAAgBF,KAAYC,IAAUP,EAAM,MAAM,IAAIA,EAAM,OAAO;EAoBzE,AAlBAS,EAAiBL,GAAQ,oBAAoB;GAE3C,AADA,IAAW,IACXI,EAAO;EACT,CAAC,GACDC,EAAiBL,GAAQ,oBAAoB;GAE3C,AADA,IAAW,IACXI,EAAO;EACT,CAAC,GACDC,EAAiBL,GAAQ,iBAAiB;GAExC,AADA,IAAU,IACVI,EAAO;EACT,CAAC,GACDC,EAAiBL,GAAQ,aAAa,MAAkB;GACtD,AAAIA,EAAO,OAAO,SAAS,EAAE,aAA4B,MACzD,IAAU,IACVI,EAAO;EACT,CAAC,GAEDE,QACQV,EAAM,MAAM,SACjB,MAAM;GACL,AAAIW,MACJ,IAAW,IACX,IAAU,IACVX,EAAM,OAAO;EACf,CACF;EAEA,IAAMY,KAA6E,MACjF,OAAOC,EAAE,WAAY,aAAaA,EAAE,QAAQ,IAAIA,EAAE;E,OACpD,EAAO,QAAQ,CAAC,SAAS,I,2BAIvBnC,EAAQwC,EAAA,QAAA,SAAA,IACR3C,EAAA,GAAAI,EAaWC,GAAA,EAbA,IAAIC,EAAAc,CAAA,EAAM,GAAA,CACnBb,EAWM,OAAA;GAXG,SAAA;GAAJ,KAAIsB;GAAS,OAAM;GAAwB,MAAK;GAAU,cAAYvB,EAAAY,CAAA,CAAC,CAAA,aAAA;E,KAC1ElB,EAAA,EAAA,GAAAC,EASSC,GAAA,MAAAM,EARQF,EAAAmB,CAAA,CAAK,CAAC,QAAd,OADTzB,EAAA,GAAAI,EASSK,GAAA;GAPN,KAAKwC,EAAK;GACV,MAAMA,EAAK;GACX,OAAOA,EAAK;GACZ,UAAK,MAAE3C,EAAAmB,CAAA,CAAK,CAAC,QAAQwB,EAAK,EAAE;E,gBAEbA,EAAK,U;GAAU,MAAA;GAAQ,IAAAtC,QAAkB,CAAfC,EAAAC,EAAAoC,EAAK,OAAO,GAAA,CAAA,C;;E,YACtCA,EAAK,S;GAAS,MAAA;GAAO,IAAAtC,QAAiC,CAAjCG,EAAiCuB,GAAA,EAAxB,SAASY,EAAK,O"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ETooltip.js","names":["_sfc_main","ETooltip_vue_vue_type_script_setup_true_lang_default","ETooltip_default"],"sources":["../../../src/components/Tooltip/ETooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger } from \"reka-ui\";\nimport { usePortalTarget } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\ndefineProps<{\n /** What the tooltip says: a name for the control, never anything you must read or click. */\n label: string;\n}>();\n\ndefineSlots<{\n /** One focusable element: an icon button, a link. It becomes the trigger and is described by the bubble. */\n default(): unknown;\n}>();\n\nconst portal = usePortalTarget();\nconst open = defineModel<boolean>(\"open\", { default: false });\n\nlet hold: ReturnType<typeof setTimeout> | undefined;\nfunction touchStart(e: PointerEvent) {\n if (e.pointerType !== \"touch\") return;\n clearTimeout(hold);\n requestAnimationFrame(() => (open.value = true));\n}\nfunction touchEnd(e: PointerEvent) {\n if (e.pointerType !== \"touch\") return;\n clearTimeout(hold);\n hold = setTimeout(() => (open.value = false), 1500);\n}\n</script>\n\n<template>\n <TooltipProvider :delay-duration=\"400\" :skip-delay-duration=\"300\">\n <TooltipRoot v-model:open=\"open\">\n <TooltipTrigger as-child @pointerdown=\"touchStart\" @pointerup=\"touchEnd\" @pointercancel=\"touchEnd\">\n <slot />\n </TooltipTrigger>\n <TooltipPortal :to=\"portal\">\n <TooltipContent class=\"e-tip-bubble e-root\" side=\"top\" align=\"center\" :side-offset=\"8\" v-bind=\"$attrs\">\n {{ label }}\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n </TooltipProvider>\n</template>\n\n<style>\n@layer e.containers {\n .e-tip-bubble {\n z-index: var(--e-z-tooltip);\n width: max-content;\n max-width: 16rem;\n padding:
|
|
1
|
+
{"version":3,"file":"ETooltip.js","names":["_sfc_main","ETooltip_vue_vue_type_script_setup_true_lang_default","ETooltip_default"],"sources":["../../../src/components/Tooltip/ETooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger } from \"reka-ui\";\nimport { usePortalTarget } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\ndefineProps<{\n /** What the tooltip says: a name for the control, never anything you must read or click. */\n label: string;\n}>();\n\ndefineSlots<{\n /** One focusable element: an icon button, a link. It becomes the trigger and is described by the bubble. */\n default(): unknown;\n}>();\n\nconst portal = usePortalTarget();\n/** Whether the bubble shows. Hover, focus and Escape update it. */\nconst open = defineModel<boolean>(\"open\", { default: false });\n\nlet hold: ReturnType<typeof setTimeout> | undefined;\nfunction touchStart(e: PointerEvent) {\n if (e.pointerType !== \"touch\") return;\n clearTimeout(hold);\n requestAnimationFrame(() => (open.value = true));\n}\nfunction touchEnd(e: PointerEvent) {\n if (e.pointerType !== \"touch\") return;\n clearTimeout(hold);\n hold = setTimeout(() => (open.value = false), 1500);\n}\n</script>\n\n<template>\n <TooltipProvider :delay-duration=\"400\" :skip-delay-duration=\"300\">\n <TooltipRoot v-model:open=\"open\">\n <TooltipTrigger as-child @pointerdown=\"touchStart\" @pointerup=\"touchEnd\" @pointercancel=\"touchEnd\">\n <slot />\n </TooltipTrigger>\n <TooltipPortal :to=\"portal\">\n <TooltipContent class=\"e-tip-bubble e-root\" side=\"top\" align=\"center\" :side-offset=\"8\" v-bind=\"$attrs\">\n {{ label }}\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n </TooltipProvider>\n</template>\n\n<style>\n@layer e.containers {\n .e-tip-bubble {\n z-index: var(--e-z-tooltip);\n width: max-content;\n max-width: 16rem;\n padding: var(--e-space-2) var(--e-space-3);\n border-radius: var(--e-radius-sm);\n background: var(--e-ink);\n color: var(--e-surface);\n font: 400 var(--e-text-sm) / 1.35 var(--e-font-sans);\n text-align: center;\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ETooltip.vue_vue_type_script_setup_true_lang.js","names":["$attrs","_useModel","_openBlock","_createBlock","_unref","_withCtx","_createVNode","_renderSlot","_mergeProps","_createTextVNode","_toDisplayString","ETooltip_vue_vue_type_script_setup_true_lang_default","\"open\"","\"openModifiers\"","portal","usePortalTarget","open","useModel","__props","hold","touchStart","touchEnd","openBlock","createBlock","unref","TooltipProvider","withCtx","createVNode","TooltipRoot","_cache","$event","TooltipTrigger","renderSlot","_ctx","TooltipPortal","TooltipContent","mergeProps","createTextVNode","toDisplayString"],"sources":["../../../src/components/Tooltip/ETooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger } from \"reka-ui\";\nimport { usePortalTarget } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\ndefineProps<{\n /** What the tooltip says: a name for the control, never anything you must read or click. */\n label: string;\n}>();\n\ndefineSlots<{\n /** One focusable element: an icon button, a link. It becomes the trigger and is described by the bubble. */\n default(): unknown;\n}>();\n\nconst portal = usePortalTarget();\nconst open = defineModel<boolean>(\"open\", { default: false });\n\nlet hold: ReturnType<typeof setTimeout> | undefined;\nfunction touchStart(e: PointerEvent) {\n if (e.pointerType !== \"touch\") return;\n clearTimeout(hold);\n requestAnimationFrame(() => (open.value = true));\n}\nfunction touchEnd(e: PointerEvent) {\n if (e.pointerType !== \"touch\") return;\n clearTimeout(hold);\n hold = setTimeout(() => (open.value = false), 1500);\n}\n</script>\n\n<template>\n <TooltipProvider :delay-duration=\"400\" :skip-delay-duration=\"300\">\n <TooltipRoot v-model:open=\"open\">\n <TooltipTrigger as-child @pointerdown=\"touchStart\" @pointerup=\"touchEnd\" @pointercancel=\"touchEnd\">\n <slot />\n </TooltipTrigger>\n <TooltipPortal :to=\"portal\">\n <TooltipContent class=\"e-tip-bubble e-root\" side=\"top\" align=\"center\" :side-offset=\"8\" v-bind=\"$attrs\">\n {{ label }}\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n </TooltipProvider>\n</template>\n\n<style>\n@layer e.containers {\n .e-tip-bubble {\n z-index: var(--e-z-tooltip);\n width: max-content;\n max-width: 16rem;\n padding:
|
|
1
|
+
{"version":3,"file":"ETooltip.vue_vue_type_script_setup_true_lang.js","names":["$attrs","_useModel","_openBlock","_createBlock","_unref","_withCtx","_createVNode","_renderSlot","_mergeProps","_createTextVNode","_toDisplayString","ETooltip_vue_vue_type_script_setup_true_lang_default","\"open\"","\"openModifiers\"","portal","usePortalTarget","open","useModel","__props","hold","touchStart","touchEnd","openBlock","createBlock","unref","TooltipProvider","withCtx","createVNode","TooltipRoot","_cache","$event","TooltipTrigger","renderSlot","_ctx","TooltipPortal","TooltipContent","mergeProps","createTextVNode","toDisplayString"],"sources":["../../../src/components/Tooltip/ETooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { TooltipContent, TooltipPortal, TooltipProvider, TooltipRoot, TooltipTrigger } from \"reka-ui\";\nimport { usePortalTarget } from \"../../config.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\ndefineProps<{\n /** What the tooltip says: a name for the control, never anything you must read or click. */\n label: string;\n}>();\n\ndefineSlots<{\n /** One focusable element: an icon button, a link. It becomes the trigger and is described by the bubble. */\n default(): unknown;\n}>();\n\nconst portal = usePortalTarget();\n/** Whether the bubble shows. Hover, focus and Escape update it. */\nconst open = defineModel<boolean>(\"open\", { default: false });\n\nlet hold: ReturnType<typeof setTimeout> | undefined;\nfunction touchStart(e: PointerEvent) {\n if (e.pointerType !== \"touch\") return;\n clearTimeout(hold);\n requestAnimationFrame(() => (open.value = true));\n}\nfunction touchEnd(e: PointerEvent) {\n if (e.pointerType !== \"touch\") return;\n clearTimeout(hold);\n hold = setTimeout(() => (open.value = false), 1500);\n}\n</script>\n\n<template>\n <TooltipProvider :delay-duration=\"400\" :skip-delay-duration=\"300\">\n <TooltipRoot v-model:open=\"open\">\n <TooltipTrigger as-child @pointerdown=\"touchStart\" @pointerup=\"touchEnd\" @pointercancel=\"touchEnd\">\n <slot />\n </TooltipTrigger>\n <TooltipPortal :to=\"portal\">\n <TooltipContent class=\"e-tip-bubble e-root\" side=\"top\" align=\"center\" :side-offset=\"8\" v-bind=\"$attrs\">\n {{ label }}\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n </TooltipProvider>\n</template>\n\n<style>\n@layer e.containers {\n .e-tip-bubble {\n z-index: var(--e-z-tooltip);\n width: max-content;\n max-width: 16rem;\n padding: var(--e-space-2) var(--e-space-3);\n border-radius: var(--e-radius-sm);\n background: var(--e-ink);\n color: var(--e-surface);\n font: 400 var(--e-text-sm) / 1.35 var(--e-font-sans);\n text-align: center;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;EAiBA,IAAMc,IAASC,EAAgB,GAEzBC,IAAOf,EAAoBiB,GAAC,MAA0B,GAExDC;EACJ,SAASC,EAAW,GAAiB;GACnC,AAAI,EAAE,gBAAgB,YACtB,aAAaD,CAAI,GACjB,4BAA6B,EAAK,QAAQ,EAAK;EACjD;EACA,SAASE,EAAS,GAAiB;GACjC,AAAI,EAAE,gBAAgB,YACtB,aAAaF,CAAI,GACjB,IAAO,iBAAkB,EAAK,QAAQ,IAAQ,IAAI;EACpD;E,kBAIEjB,EAAA,GAAAC,EAWkBC,EAAAqB,CAAA,GAAA;GAXA,kBAAgB;GAAM,uBAAqB;;GAC3D,SAAApB,QASc,CATdC,EAScF,EAAAwB,CAAA,GAAA;IATO,MAAMZ,EAAA;IAAA,iBAAA,AAAAa,EAAA,QAAA,MAAA,EAAI,QAAAC;;IAC7B,SAAAzB,QAEiB,CAFjBC,EAEiBF,EAAA2B,CAAA,GAAA;KAFD,YAAA;KAAU,eAAaX;KAAa,aAAWC;KAAW,iBAAeA;;KACvF,SAAAhB,QAAQ,CAARE,EAAQ0B,EAAA,QAAA,SAAA,C;;I,IAEV3B,EAIgBF,EAAA8B,CAAA,GAAA,EAJA,IAAI9B,EAAAU,CAAA,EAAM,GAAA;KACxB,SAAAT,QAEiB,CAFjBC,EAEiBF,EAAA+B,CAAA,GAFjB3B,EAEiB;MAFD,OAAM;MAAsB,MAAK;MAAM,OAAM;MAAU,eAAa;KAAWR,GAAAA,EAAAA,MAAM,GAAA;MACnG,SAAAK,QAAW,CAARI,EAAAC,EAAAQ,EAAA,KAAK,GAAA,CAAA,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EUpload.js","names":["_sfc_main","EUpload_vue_vue_type_script_setup_true_lang_default","EUpload_default"],"sources":["../../../src/components/Upload/EUpload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EField from \"../Field/EField.vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The visible label, a mono kicker above the dropzone. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Accepted extensions, such as `.pdf,.jpg`.
|
|
1
|
+
{"version":3,"file":"EUpload.js","names":["_sfc_main","EUpload_vue_vue_type_script_setup_true_lang_default","EUpload_default"],"sources":["../../../src/components/Upload/EUpload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EField from \"../Field/EField.vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The visible label, a mono kicker above the dropzone. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Accepted extensions, such as `.pdf,.jpg`. Passed to the input and shown under the prompt as \"PDF, JPG\". */\n accept?: string;\n /** Allows choosing more than one file. */\n multiple?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** Say what is accepted and how large before the person tries. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the input invalid and is announced. */\n error?: string;\n /** The `required` attribute and a word beside the label. */\n required?: boolean;\n /** A word beside the label. Flag whichever is rarer. */\n optional?: boolean;\n /** Ignores drops and clicks and dims the edge. */\n disabled?: boolean;\n /** The id of the file input; the label points at it. @default generated */\n id?: string;\n}>();\n\nconst emit = defineEmits<{\n /** The chosen or dropped files, the same list as the model. */\n files: [files: File[]];\n}>();\n\n/** The chosen files. */\nconst model = defineModel<File[]>({ default: () => [] });\n\nconst t = useMessages();\nconst attrs = useFieldAttrs();\nconst over = ref(false);\nconst input = ref<HTMLInputElement | null>(null);\nconst acceptHint = computed(() => props.accept?.replace(/\\./g, \"\").replace(/,/g, \", \").toUpperCase());\n\nfunction take(list: FileList | null | undefined) {\n const files = Array.from(list ?? []);\n model.value = files;\n emit(\"files\", files);\n}\nfunction onDragOver(e: DragEvent) {\n e.preventDefault();\n if (!props.disabled) over.value = true;\n}\nfunction onDrop(e: DragEvent) {\n e.preventDefault();\n over.value = false;\n if (!props.disabled) take(e.dataTransfer?.files);\n}\n\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <EField\n v-bind=\"attrs.wrapper()\"\n :id=\"id\"\n :label=\"label\"\n :hide-label=\"hideLabel\"\n :hint=\"hint\"\n :error=\"error\"\n :required=\"required\"\n :optional=\"optional\"\n >\n <template #default=\"field\">\n <div>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <label\n :for=\"field.id\"\n class=\"e-drop\"\n :class=\"{ 'e-drop--over': over, 'e-drop--disabled': disabled }\"\n @dragover=\"onDragOver\"\n @dragleave=\"over = false\"\n @drop=\"onDrop\"\n >\n <EIcon name=\"upload\" />\n <span class=\"e-drop-main\">\n {{ t(\"dragHere\") }}\n <span class=\"e-drop-pick\">{{ t(\"chooseOne\") }}</span>\n </span>\n <span v-if=\"acceptHint\" class=\"e-drop-hint\">{{ acceptHint }}</span>\n </label>\n <input\n :id=\"field.id\"\n ref=\"input\"\n type=\"file\"\n class=\"e-drop-input\"\n :name=\"name\"\n :accept=\"accept\"\n :multiple=\"multiple\"\n :disabled=\"disabled\"\n :required=\"required\"\n :aria-invalid=\"field.ariaInvalid\"\n v-bind=\"attrs.input(field.ariaDescribedby)\"\n @change=\"take(($event.target as HTMLInputElement).files)\"\n />\n <ul v-if=\"model.length\" class=\"e-files\">\n <li v-for=\"f in model\" :key=\"f.name\">\n <EIcon name=\"file\" />\n <span class=\"e-file-name\">{{ f.name }}</span>\n <span class=\"e-file-size\">{{ Math.max(1, Math.round(f.size / 1024)) }} KB</span>\n </li>\n </ul>\n </div>\n </template>\n </EField>\n</template>\n\n<style>\n@layer e.controls {\n .e-drop {\n display: grid;\n justify-items: center;\n gap: var(--e-space-1);\n padding: var(--e-space-6) var(--e-space-4);\n border: var(--e-stroke-edge) dashed var(--e-border-strong);\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n text-align: center;\n cursor: pointer;\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-drop:hover {\n background: var(--e-surface-hover);\n border-color: var(--e-ink);\n }\n\n .e-drop--over {\n background: var(--e-secondary-soft);\n border-color: var(--e-secondary);\n }\n\n .e-drop-main {\n font: 400 var(--e-text-md)/1.4 var(--e-font-sans);\n }\n\n .e-drop-pick {\n color: var(--e-primary);\n font-weight: 500;\n text-decoration: underline;\n text-underline-offset: 3px;\n }\n\n .e-drop-hint {\n font: 500 var(--e-text-xs)/1.2 var(--e-font-mono);\n letter-spacing: 0.06em;\n color: var(--e-muted);\n }\n\n .e-drop-input {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n }\n\n .e-drop-input:focus-visible + .e-files,\n .e-field:focus-within .e-drop {\n outline: var(--e-stroke-focus) solid var(--e-focus-field);\n outline-offset: var(--e-focus-gap-field);\n }\n\n .e-files {\n display: grid;\n gap: 0;\n margin: var(--e-space-2) 0 0;\n padding: 0;\n list-style: none;\n }\n\n .e-files li {\n display: flex;\n align-items: center;\n gap: var(--e-space-2);\n padding: var(--e-space-2) 0;\n border-top: var(--e-stroke-hair) solid var(--e-border);\n font: 400 var(--e-text-md)/1.3 var(--e-font-sans);\n }\n\n .e-file-name {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n }\n\n .e-file-size {\n font: 500 var(--e-text-xs)/1 var(--e-font-mono);\n color: var(--e-muted);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-drop {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-drop:hover,\n .e-drop--over {\n border-style: solid;\n border-color: Highlight;\n }\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -3,8 +3,9 @@ type __VLS_Props = {
|
|
|
3
3
|
label: string;
|
|
4
4
|
/** Keep the label for screen readers and remove it from the page. */
|
|
5
5
|
hideLabel?: boolean;
|
|
6
|
-
/** Accepted extensions, such as `.pdf,.jpg`.
|
|
6
|
+
/** Accepted extensions, such as `.pdf,.jpg`. Passed to the input and shown under the prompt as "PDF, JPG". */
|
|
7
7
|
accept?: string;
|
|
8
|
+
/** Allows choosing more than one file. */
|
|
8
9
|
multiple?: boolean;
|
|
9
10
|
/** The name submitted with a form. */
|
|
10
11
|
name?: string;
|
|
@@ -12,16 +13,17 @@ type __VLS_Props = {
|
|
|
12
13
|
hint?: string;
|
|
13
14
|
/** What to fix. Replaces the hint, marks the input invalid and is announced. */
|
|
14
15
|
error?: string;
|
|
15
|
-
/**
|
|
16
|
+
/** The `required` attribute and a word beside the label. */
|
|
16
17
|
required?: boolean;
|
|
17
18
|
/** A word beside the label. Flag whichever is rarer. */
|
|
18
19
|
optional?: boolean;
|
|
19
20
|
/** Ignores drops and clicks and dims the edge. */
|
|
20
21
|
disabled?: boolean;
|
|
21
|
-
/** The id of the file input; the label points at it.
|
|
22
|
+
/** The id of the file input; the label points at it. @default generated */
|
|
22
23
|
id?: string;
|
|
23
24
|
};
|
|
24
25
|
type __VLS_ModelProps = {
|
|
26
|
+
/** The chosen files. */
|
|
25
27
|
modelValue?: File[];
|
|
26
28
|
};
|
|
27
29
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EUpload.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","EField","_mergeProps","_unref","_withCtx","_createElementVNode","_normalizeClass","_createVNode","EIcon","_createTextVNode","_toDisplayString","_createElementBlock","_createCommentVNode","_Fragment","_renderList","EIcon_default","EField_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","EUpload_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","__emit","props","__props","emit","model","useModel","t","useMessages","attrs","useFieldAttrs","over","ref","input","acceptHint","computed","take","files","list","onDragOver","onDrop","openBlock","createBlock","mergeProps","unref","withCtx","createElementVNode","field","normalizeClass","_cache","createVNode","createTextVNode","toDisplayString","createElementBlock","createCommentVNode","$event","Fragment","renderList","f"],"sources":["../../../src/components/Upload/EUpload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EField from \"../Field/EField.vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The visible label, a mono kicker above the dropzone. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Accepted extensions, such as `.pdf,.jpg`.
|
|
1
|
+
{"version":3,"file":"EUpload.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createBlock","EField","_mergeProps","_unref","_withCtx","_createElementVNode","_normalizeClass","_createVNode","EIcon","_createTextVNode","_toDisplayString","_createElementBlock","_createCommentVNode","_Fragment","_renderList","EIcon_default","EField_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","EUpload_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","__emit","props","__props","emit","model","useModel","t","useMessages","attrs","useFieldAttrs","over","ref","input","acceptHint","computed","take","files","list","onDragOver","onDrop","openBlock","createBlock","mergeProps","unref","withCtx","createElementVNode","field","normalizeClass","_cache","createVNode","createTextVNode","toDisplayString","createElementBlock","createCommentVNode","$event","Fragment","renderList","f"],"sources":["../../../src/components/Upload/EUpload.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EField from \"../Field/EField.vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** The visible label, a mono kicker above the dropzone. */\n label: string;\n /** Keep the label for screen readers and remove it from the page. */\n hideLabel?: boolean;\n /** Accepted extensions, such as `.pdf,.jpg`. Passed to the input and shown under the prompt as \"PDF, JPG\". */\n accept?: string;\n /** Allows choosing more than one file. */\n multiple?: boolean;\n /** The name submitted with a form. */\n name?: string;\n /** Say what is accepted and how large before the person tries. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the input invalid and is announced. */\n error?: string;\n /** The `required` attribute and a word beside the label. */\n required?: boolean;\n /** A word beside the label. Flag whichever is rarer. */\n optional?: boolean;\n /** Ignores drops and clicks and dims the edge. */\n disabled?: boolean;\n /** The id of the file input; the label points at it. @default generated */\n id?: string;\n}>();\n\nconst emit = defineEmits<{\n /** The chosen or dropped files, the same list as the model. */\n files: [files: File[]];\n}>();\n\n/** The chosen files. */\nconst model = defineModel<File[]>({ default: () => [] });\n\nconst t = useMessages();\nconst attrs = useFieldAttrs();\nconst over = ref(false);\nconst input = ref<HTMLInputElement | null>(null);\nconst acceptHint = computed(() => props.accept?.replace(/\\./g, \"\").replace(/,/g, \", \").toUpperCase());\n\nfunction take(list: FileList | null | undefined) {\n const files = Array.from(list ?? []);\n model.value = files;\n emit(\"files\", files);\n}\nfunction onDragOver(e: DragEvent) {\n e.preventDefault();\n if (!props.disabled) over.value = true;\n}\nfunction onDrop(e: DragEvent) {\n e.preventDefault();\n over.value = false;\n if (!props.disabled) take(e.dataTransfer?.files);\n}\n\ndefineExpose({\n input,\n focus: () => input.value?.focus(),\n});\n</script>\n\n<template>\n <EField\n v-bind=\"attrs.wrapper()\"\n :id=\"id\"\n :label=\"label\"\n :hide-label=\"hideLabel\"\n :hint=\"hint\"\n :error=\"error\"\n :required=\"required\"\n :optional=\"optional\"\n >\n <template #default=\"field\">\n <div>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <label\n :for=\"field.id\"\n class=\"e-drop\"\n :class=\"{ 'e-drop--over': over, 'e-drop--disabled': disabled }\"\n @dragover=\"onDragOver\"\n @dragleave=\"over = false\"\n @drop=\"onDrop\"\n >\n <EIcon name=\"upload\" />\n <span class=\"e-drop-main\">\n {{ t(\"dragHere\") }}\n <span class=\"e-drop-pick\">{{ t(\"chooseOne\") }}</span>\n </span>\n <span v-if=\"acceptHint\" class=\"e-drop-hint\">{{ acceptHint }}</span>\n </label>\n <input\n :id=\"field.id\"\n ref=\"input\"\n type=\"file\"\n class=\"e-drop-input\"\n :name=\"name\"\n :accept=\"accept\"\n :multiple=\"multiple\"\n :disabled=\"disabled\"\n :required=\"required\"\n :aria-invalid=\"field.ariaInvalid\"\n v-bind=\"attrs.input(field.ariaDescribedby)\"\n @change=\"take(($event.target as HTMLInputElement).files)\"\n />\n <ul v-if=\"model.length\" class=\"e-files\">\n <li v-for=\"f in model\" :key=\"f.name\">\n <EIcon name=\"file\" />\n <span class=\"e-file-name\">{{ f.name }}</span>\n <span class=\"e-file-size\">{{ Math.max(1, Math.round(f.size / 1024)) }} KB</span>\n </li>\n </ul>\n </div>\n </template>\n </EField>\n</template>\n\n<style>\n@layer e.controls {\n .e-drop {\n display: grid;\n justify-items: center;\n gap: var(--e-space-1);\n padding: var(--e-space-6) var(--e-space-4);\n border: var(--e-stroke-edge) dashed var(--e-border-strong);\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n text-align: center;\n cursor: pointer;\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-drop:hover {\n background: var(--e-surface-hover);\n border-color: var(--e-ink);\n }\n\n .e-drop--over {\n background: var(--e-secondary-soft);\n border-color: var(--e-secondary);\n }\n\n .e-drop-main {\n font: 400 var(--e-text-md)/1.4 var(--e-font-sans);\n }\n\n .e-drop-pick {\n color: var(--e-primary);\n font-weight: 500;\n text-decoration: underline;\n text-underline-offset: 3px;\n }\n\n .e-drop-hint {\n font: 500 var(--e-text-xs)/1.2 var(--e-font-mono);\n letter-spacing: 0.06em;\n color: var(--e-muted);\n }\n\n .e-drop-input {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n }\n\n .e-drop-input:focus-visible + .e-files,\n .e-field:focus-within .e-drop {\n outline: var(--e-stroke-focus) solid var(--e-focus-field);\n outline-offset: var(--e-focus-gap-field);\n }\n\n .e-files {\n display: grid;\n gap: 0;\n margin: var(--e-space-2) 0 0;\n padding: 0;\n list-style: none;\n }\n\n .e-files li {\n display: flex;\n align-items: center;\n gap: var(--e-space-2);\n padding: var(--e-space-2) 0;\n border-top: var(--e-stroke-hair) solid var(--e-border);\n font: 400 var(--e-text-md)/1.3 var(--e-font-sans);\n }\n\n .e-file-name {\n flex: 1;\n min-width: 0;\n overflow-wrap: anywhere;\n }\n\n .e-file-size {\n font: 500 var(--e-text-xs)/1 var(--e-font-mono);\n color: var(--e-muted);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-drop {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-drop:hover,\n .e-drop--over {\n border-style: solid;\n border-color: Highlight;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,IAAMgC,IAAQC,GAyBRC,IAAOH,GAMPI,IAAQnC,EAAmBiC,GAAA,YAAsB,GAEjDI,IAAIC,EAAY,GAChBC,IAAQC,EAAc,GACtBC,IAAOC,EAAI,EAAK,GAChBC,IAAQD,EAA6B,IAAI,GACzCE,IAAaC,QAAeb,EAAM,QAAQ,QAAQ,OAAO,EAAE,CAAC,CAAC,QAAQ,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC;EAEpG,SAASc,EAAK,GAAmC;GAC/C,IAAMC,IAAQ,MAAM,KAAKC,KAAQ,CAAC,CAAC;GAEnC,AADA,EAAM,QAAQD,GACdb,EAAK,SAASa,CAAK;EACrB;EACA,SAASE,EAAW,GAAc;GAEhC,AADA,EAAE,eAAe,GACZjB,EAAM,aAAU,EAAK,QAAQ;EACpC;EACA,SAASkB,EAAO,GAAc;GAG5B,AAFA,EAAE,eAAe,GACjB,EAAK,QAAQ,IACRlB,EAAM,YAAUc,EAAK,EAAE,cAAc,KAAK;EACjD;E,OAEAhB,EAAa;GACX;GACA,aAAaa,EAAM,OAAO,MAAM;EAClC,CAAC,I,UAIC1C,EAAA,GAAAC,EAmDSC,GAnDTC,EACUC,EAkDDkC,CAAA,CAlDM,CAAC,QAAO,GAAA;GACpB,IAAIN,EAAA;GACJ,OAAOA,EAAA;GACP,cAAYA,EAAA;GACZ,MAAMA,EAAA;GACN,OAAOA,EAAA;GACP,UAAUA,EAAA;GACV,UAAUA,EAAA;;GAEA,SAAO3B,GAAE,MAAK,CACvBC,EAsCM,OAAA,MAAA;IApCJA,EAcQ,SAAA;KAbL,KAAKkD,EAAM;KACZ,OAAKjD,EAAA,CAAC,UAAQ;MAAA,gBACYiC,EAAA;MAAI,oBAAsBR,EAAA;KAAQ,CAAA,CAAA;KAC3D,YAAUgB;KACV,aAAS,AAAAU,EAAA,QAAA,MAAE,EAAA,QAAI;KACT;;KAEPlD,EAAuBC,GAAA,EAAhB,MAAK,SAAQ,CAAA;KACpBH,EAGO,QAHPa,GAGO,CAFFT,EAAAC,EAAAP,EAAAgC,CAAA,CAAC,CAAA,UAAA,CAAA,IAAe,KACnB,CAAA,GAAA9B,EAAqD,QAArDc,GAAqDT,EAAxBP,EAAAgC,CAAA,CAAC,CAAA,WAAA,CAAA,GAAA,CAAA,C;KAEpBO,EAAA,SAAZ3C,EAAA,GAAAY,EAAmE,QAAnES,GAAmEV,EAApBgC,EAAA,KAAU,GAAA,CAAA,K;;IAE3DrC,EAaE,SAbFH,EAaE;KAZC,IAAIqD,EAAM;KACP,SAAA;KAAJ,KAAId;KACJ,MAAK;KACL,OAAM;KACL,MAAMV,EAAA;KACN,QAAQA,EAAA;KACR,UAAUA,EAAA;KACV,UAAUA,EAAA;KACV,UAAUA,EAAA;KACV,gBAAcwB,EAAM;IACb,GAAApD,EAAAkC,CAAA,CAAK,CAAC,MAAMkB,EAAM,eAAe,GAAA,EACxC,UAAM,AAAAE,EAAA,QAAA,MAAEb,EAAMmB,EAAO,OAA4B,KAAK,E;IAE/C9B,EAAA,MAAM,UAAhBlC,EAAA,GAAAY,EAMK,MANLW,GAMK,EALHvB,EAAA,EAAA,GAAAY,EAIKE,GAAA,MAAAC,EAJWmB,EAAA,QAAL,OAAXlC,EAAA,GAAAY,EAIK,MAAA,EAJmB,KAAKuD,EAAE,K;KAC7B3D,EAAqBC,GAAA,EAAd,MAAK,OAAM,CAAA;KAClBH,EAA6C,QAA7CkB,GAA6Cb,EAAhBwD,EAAE,IAAI,GAAA,CAAA;KACnC7D,EAAgF,QAAhFmB,GAAgFd,EAAnD,KAAK,IAAG,GAAI,KAAK,MAAMwD,EAAE,OAAI,IAAA,CAAA,CAAA,IAAY,OAAG,CAAA"}
|
package/dist/fonts.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import url("https://fonts.googleapis.com/css2?family=
|
|
1
|
+
@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;500;600&family=Geist+Mono:wght@500;600&display=swap");
|