@eos-ui/vue 0.1.1 → 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.vue.d.ts +2 -2
- package/dist/components/Select/ESelectControl.vue_vue_type_script_setup_true_lang.js +6 -6
- 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 +2667 -3127
- 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
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { useMessages as e } from "../../config.js";
|
|
3
3
|
import { useFieldAttrs as t } from "../../composables/useFieldAttrs.js";
|
|
4
4
|
import n from "../Icon/EIcon.js";
|
|
5
|
-
/* empty css */
|
|
6
5
|
import r from "../Button/EButton.js";
|
|
6
|
+
/* empty css */
|
|
7
7
|
import { createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeModels as d, mergeProps as f, openBlock as p, ref as m, toDisplayString as h, unref as g, useModel as _, withCtx as v, withModifiers as y } from "vue";
|
|
8
8
|
//#region src/components/SearchBar/ESearchBar.vue?vue&type=script&setup=true&lang.ts
|
|
9
9
|
var b = ["aria-label"], x = { class: "e-search-lead" }, S = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESearchBar.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_mergeProps","_unref","_withModifiers","_createElementVNode","_createVNode","EIcon","_createCommentVNode","_createBlock","EButton","_withCtx","_createTextVNode","_toDisplayString","EIcon_default","EButton_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","ESearchBar_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","__emit","emit","model","useModel","__props","t","useMessages","attrs","useFieldAttrs","box","ref","clear","openBlock","createElementBlock","mergeProps","unref","_cache","withModifiers","createElementVNode","createVNode","$event","createCommentVNode","createBlock","withCtx","createTextVNode","toDisplayString"],"sources":["../../../src/components/SearchBar/ESearchBar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EButton from \"../Button/EButton.vue\";\nimport { ref } from \"vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"../TextField/input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nwithDefaults(\n defineProps<{\n /**
|
|
1
|
+
{"version":3,"file":"ESearchBar.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_mergeProps","_unref","_withModifiers","_createElementVNode","_createVNode","EIcon","_createCommentVNode","_createBlock","EButton","_withCtx","_createTextVNode","_toDisplayString","EIcon_default","EButton_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","ESearchBar_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","__expose","__emit","emit","model","useModel","__props","t","useMessages","attrs","useFieldAttrs","box","ref","clear","openBlock","createElementBlock","mergeProps","unref","_cache","withModifiers","createElementVNode","createVNode","$event","createCommentVNode","createBlock","withCtx","createTextVNode","toDisplayString"],"sources":["../../../src/components/SearchBar/ESearchBar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EButton from \"../Button/EButton.vue\";\nimport { ref } from \"vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\nimport \"../TextField/input.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nwithDefaults(\n defineProps<{\n /** Names the box and the search landmark; there is no visible label. @default \"Search\" */\n label?: string;\n /** Say what can be searched, briefly. @default \"Search\" */\n placeholder?: string;\n /** The text on the button. @default \"Search\" */\n action?: string;\n /** Leaves out the button, for a box that filters or searches as you type. Enter still submits. */\n hideAction?: boolean;\n /** The clear button, shown when there is text. On by default. */\n clearable?: boolean;\n /** The name submitted with a form. @default \"q\" */\n name?: string;\n /** Disables the box and button. Say why in an `ENotice`. */\n disabled?: boolean;\n }>(),\n { clearable: true },\n);\n\nconst emit = defineEmits<{\n /** The person pressed Enter or the button. */\n submit: [value: string];\n}>();\n\n/** The text. */\nconst model = defineModel<string>({ default: \"\" });\n\nconst t = useMessages();\nconst attrs = useFieldAttrs();\nconst box = ref<HTMLInputElement | null>(null);\n\nfunction clear() {\n model.value = \"\";\n box.value?.focus();\n}\n\ndefineExpose({\n input: box,\n focus: () => box.value?.focus(),\n});\n</script>\n\n<template>\n <form\n class=\"e-search\"\n v-bind=\"attrs.wrapper()\"\n role=\"search\"\n :aria-label=\"label || t('search')\"\n @submit.prevent=\"emit('submit', model)\"\n >\n <span class=\"e-search-lead\"><EIcon name=\"search\" /></span>\n <input\n ref=\"box\"\n v-bind=\"attrs.input()\"\n class=\"e-input\"\n :name=\"name || 'q'\"\n :aria-label=\"label || t('search')\"\n :placeholder=\"placeholder || t('search')\"\n :value=\"model\"\n :disabled=\"disabled\"\n @input=\"model = ($event.target as HTMLInputElement).value\"\n />\n <button\n v-if=\"clearable && model && !disabled\"\n type=\"button\"\n class=\"e-search-clear\"\n :aria-label=\"t('clear')\"\n @mousedown.prevent\n @click=\"clear\"\n >\n <EIcon name=\"x\" />\n </button>\n <EButton v-if=\"!hideAction\" type=\"submit\" :disabled=\"disabled\">{{ action || t(\"search\") }}</EButton>\n </form>\n</template>\n\n<style>\n@layer e.controls {\n .e-search {\n display: flex;\n align-items: center;\n gap: var(--e-space-1);\n height: var(--e-control-height);\n padding: 0 var(--e-space-1) 0 var(--e-space-2);\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n\n --e-bc: var(--e-border-strong);\n\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n border-radius: var(--e-radius-md);\n background: var(--e-surface);\n box-shadow: var(--e-well);\n transition: border-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-search:hover {\n border-color: var(--e-ink);\n\n --e-bc: var(--e-ink);\n }\n\n .e-search .e-btn {\n position: relative;\n height: calc(var(--e-control-height) - 6px);\n padding: 0 var(--e-space-3);\n font-size: var(--e-text-md);\n }\n\n .e-search .e-btn::after {\n content: \"\";\n position: absolute;\n inset: -3px;\n }\n\n .e-search-clear {\n display: inline-grid;\n place-items: center;\n position: relative;\n flex: none;\n width: calc(var(--e-control-height) - 9px);\n height: calc(var(--e-control-height) - 9px);\n padding: 0;\n border: 0;\n border-radius: var(--e-radius-sm);\n background: transparent;\n color: var(--e-ink);\n cursor: pointer;\n transition: background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-search-clear::after {\n content: \"\";\n position: absolute;\n inset: -5px;\n }\n\n .e-search-clear:hover {\n background: var(--e-wash-hover);\n box-shadow: inset 0 0 0 var(--e-stroke-hair) var(--e-wash-ring);\n }\n\n .e-search-clear:active {\n background: var(--e-wash-press);\n box-shadow: inset 0 0 0 var(--e-stroke-edge) var(--e-ink);\n }\n\n .e-search-clear:focus-visible {\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: calc(-1 * var(--e-stroke-focus));\n }\n\n .e-search-lead {\n display: grid;\n place-items: center;\n flex: none;\n width: var(--e-space-8);\n color: var(--e-muted);\n }\n\n .e-search .e-input {\n flex: 1;\n text-overflow: ellipsis;\n height: 100%;\n border: 0;\n outline: 0;\n background: transparent;\n box-shadow: none;\n font-size: var(--e-text-md);\n padding-inline: var(--e-space-2);\n }\n\n .e-search .e-input:hover,\n .e-search .e-input:focus {\n border: 0;\n background: transparent;\n }\n\n .e-search .e-input:focus-visible {\n outline: none;\n }\n\n .e-search:focus-within {\n border-color: var(--e-focus-field);\n\n --e-bc: var(--e-focus-field);\n\n outline: var(--e-stroke-focus) solid var(--e-focus-field);\n outline-offset: var(--e-focus-gap-field);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-search {\n transition: none;\n }\n }\n\n @media print {\n .e-search {\n display: none;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BA,IAAM0B,IAAOD,GAMPE,IAAQ3B,EAAmB6B,GAAA,YAAgB,GAE3CC,IAAIC,EAAY,GAChBC,IAAQC,EAAc,GACtBC,IAAMC,EAA6B,IAAI;EAE7C,SAASC,IAAQ;GAEf,AADA,EAAM,QAAQ,IACdF,EAAI,OAAO,MAAM;EACnB;E,OAEAV,EAAa;GACX,OAAOU;GACP,aAAaA,EAAI,OAAO,MAAM;EAChC,CAAC,I,UAICjC,EAAA,GAAAC,EA8BO,QA9BPC,EA8BO,EA7BL,OAAM,WAAU,GACRC,EAAA4B,CAAA,CAAK,CAAC,QAAO,GAAA;GACrB,MAAK;GACJ,cAAYH,EAAA,SAASzB,EAAA0B,CAAA,CAAC,CAAA,QAAA;GACtB,UAAM,AAAAW,EAAA,OAAApC,GAAA,MAAUqB,EAAI,UAAWC,EAAA,KAAK,GAAA,CAAA,SAAA,CAAA;;GAErCrB,EAA0D,QAA1DY,GAA0D,CAA9BX,EAAuBC,GAAA,EAAhB,MAAK,SAAQ,CAAA,C;GAChDF,EAUE,SAVFH,EAUE;IATI,SAAA;IAAJ,KAAI+B;GACI,GAAA9B,EAAA4B,CAAA,CAAK,CAAC,MAAK,GAAA;IACnB,OAAM;IACL,MAAMH,EAAA,QAAI;IACV,cAAYA,EAAA,SAASzB,EAAA0B,CAAA,CAAC,CAAA,QAAA;IACtB,aAAaD,EAAA,eAAezB,EAAA0B,CAAA,CAAC,CAAA,QAAA;IAC7B,OAAOH,EAAA;IACP,UAAUE,EAAA;IACV,SAAK,AAAAY,EAAA,QAAA,MAAE,EAAA,QAASI,EAAO,OAA4B;;GAG9ChB,EAAA,aAAaF,EAAA,SAAK,CAAKE,EAAA,YAD/B5B,EAAA,GAAAC,EASS,UAAA;;IAPP,MAAK;IACL,OAAM;IACL,cAAYE,EAAA0B,CAAA,CAAC,CAAA,OAAA;IACb,aAAS,AAAAW,EAAA,OAAApC,QAAV,CAAA,GAAkB,CAAA,SAAA,CAAA;IACjB,SAAO+B;G,IAER7B,EAAkBC,GAAA,EAAX,MAAK,IAAG,CAAA,C;GAEDqB,EAAA,a,aAAhB5B,EAAA,GAAAS,EAAoGC,GAAA;;IAAxE,MAAK;IAAU,UAAUkB,EAAA;;IAAU,SAAAjB,QAA2B,CAAxBC,EAAAC,EAAAe,EAAA,UAAUzB,EAAA0B,CAAA,CAAC,CAAA,QAAA,CAAA,GAAA,CAAA,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESearchResults.js","names":["_sfc_main","ESearchResults_vue_vue_type_script_setup_true_lang_default","ESearchResults_default"],"sources":["../../../src/components/SearchResults/ESearchResults.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, type Component } from \"vue\";\nimport
|
|
1
|
+
{"version":3,"file":"ESearchResults.js","names":["_sfc_main","ESearchResults_vue_vue_type_script_setup_true_lang_default","ESearchResults_default"],"sources":["../../../src/components/SearchResults/ESearchResults.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, type Component } from \"vue\";\nimport EMatchHighlight from \"../Combobox/matchHighlight.js\";\nimport \"../../styles/base.css\";\nimport \"../Select/panel.css\";\n\nexport interface SearchResultItem {\n /** The title of the result. */\n label: string;\n /** A muted line under the title, such as the section it belongs to. */\n description?: string;\n /** Where it goes. */\n href?: string;\n /** A router location, passed to `linkComponent` as `to` (for `RouterLink`). */\n to?: unknown;\n}\n\nconst props = withDefaults(\n defineProps<{\n /** The results, best first: `{ label, description?, href?, to? }`. With no `href` or `to` a link goes to `#`. */\n items: SearchResultItem[];\n /** The accessible name of the list, such as \"Search results\". */\n label: string;\n /** Shown when there are no results, such as `Nothing found for \"tax\"`. Leave it out to show nothing at all, for example before anyone has typed. */\n emptyText?: string;\n /** The text that was searched for: its first match in each title and description is marked, as in `ECombobox` options. */\n query?: string;\n /** What renders each link: `\"a\"` by default, or `RouterLink` (or any component that takes `href` or `to` and a default slot). Give items `to`; it receives `to` or `href` and the class `e-opt`. */\n linkComponent?: string | Component;\n }>(),\n { linkComponent: \"a\" },\n);\n\nconst emit = defineEmits<{\n /** The person opened a result, by click or Enter. Call `event.preventDefault()` to handle the navigation yourself. */\n select: [item: SearchResultItem, event: MouseEvent];\n /** ArrowUp was pressed on the first result: move focus back to your search box. */\n edge: [];\n}>();\n\nconst root = ref<HTMLElement | null>(null);\nconst needle = computed(() => (props.query ?? \"\").trim().toLowerCase());\n\nconst linkAttrs = (item: SearchResultItem) => (item.to !== undefined ? { to: item.to } : { href: item.href ?? \"#\" });\n\nconst links = () => [...(root.value?.querySelectorAll<HTMLElement>(\".e-opt\") ?? [])];\n\nfunction focusFirst() {\n links()[0]?.focus();\n}\n\nfunction focus() {\n const all = links();\n (all.find((l) => l.contains(document.activeElement)) ?? all[0])?.focus();\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key !== \"ArrowDown\" && e.key !== \"ArrowUp\") return;\n const all = links();\n const at = all.findIndex((l) => l === document.activeElement || l.contains(document.activeElement));\n e.preventDefault();\n if (e.key === \"ArrowDown\") all[Math.min(at + 1, all.length - 1)]?.focus();\n else if (at <= 0) emit(\"edge\");\n else all[at - 1]?.focus();\n}\n\nfunction onClick(item: SearchResultItem, e: MouseEvent) {\n if (e.button !== 0 || e.ctrlKey || e.metaKey || e.shiftKey || e.altKey) return;\n emit(\"select\", item, e);\n}\n\ndefineExpose({ focus, focusFirst });\n</script>\n\n<template>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div v-if=\"items.length || emptyText\" ref=\"root\" class=\"e-results\" @keydown=\"onKeydown\">\n <ul v-if=\"items.length\" class=\"e-results-list\" :aria-label=\"label\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <component :is=\"linkComponent\" class=\"e-opt\" v-bind=\"linkAttrs(item)\" @click=\"onClick(item, $event)\">\n <span class=\"e-opt-text\">\n <span class=\"e-opt-label\"><EMatchHighlight :text=\"item.label\" :query=\"needle\" /></span>\n <span v-if=\"item.description\" class=\"e-opt-desc\">\n <EMatchHighlight :text=\"item.description\" :query=\"needle\" />\n </span>\n </span>\n </component>\n </li>\n </ul>\n <p v-else class=\"e-opt-status\">{{ emptyText }}</p>\n </div>\n</template>\n\n<style>\n@layer e.controls {\n .e-results {\n max-height: min(24rem, 50vh);\n min-height: 3rem;\n overflow-y: auto;\n padding: var(--e-space-1);\n border-radius: var(--e-radius-md);\n box-shadow: var(--e-edge);\n outline: var(--e-stroke-card) solid var(--e-border-strong);\n outline-offset: 0;\n color: var(--e-ink);\n }\n\n .e-results-list {\n display: grid;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .e-results .e-opt {\n color: inherit;\n text-decoration: none;\n }\n\n .e-results .e-opt:hover,\n .e-results .e-opt:focus-visible {\n background: var(--e-surface-hover);\n box-shadow: inset 0 0 0 var(--e-stroke-hair) var(--e-border-strong);\n outline: var(--e-stroke-hair) solid var(--e-border-strong);\n outline-offset: calc(-1 * var(--e-stroke-hair));\n }\n\n .e-results .e-opt:focus-visible {\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: calc(-1 * var(--e-stroke-focus));\n }\n\n @media (forced-colors: active) {\n .e-results .e-opt:hover,\n .e-results .e-opt:focus-visible {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -10,15 +10,15 @@ export interface SearchResultItem {
|
|
|
10
10
|
to?: unknown;
|
|
11
11
|
}
|
|
12
12
|
type __VLS_Props = {
|
|
13
|
-
/** The results, best first
|
|
13
|
+
/** The results, best first: `{ label, description?, href?, to? }`. With no `href` or `to` a link goes to `#`. */
|
|
14
14
|
items: SearchResultItem[];
|
|
15
15
|
/** The accessible name of the list, such as "Search results". */
|
|
16
16
|
label: string;
|
|
17
17
|
/** Shown when there are no results, such as `Nothing found for "tax"`. Leave it out to show nothing at all, for example before anyone has typed. */
|
|
18
18
|
emptyText?: string;
|
|
19
|
-
/** The text that was searched for: its first match in each title and description is marked. */
|
|
19
|
+
/** The text that was searched for: its first match in each title and description is marked, as in `ECombobox` options. */
|
|
20
20
|
query?: string;
|
|
21
|
-
/** What renders each link: `"a"` by default, or `RouterLink` (or any component that takes `href` or `to` and a default slot). */
|
|
21
|
+
/** What renders each link: `"a"` by default, or `RouterLink` (or any component that takes `href` or `to` and a default slot). Give items `to`; it receives `to` or `href` and the class `e-opt`. */
|
|
22
22
|
linkComponent?: string | Component;
|
|
23
23
|
};
|
|
24
24
|
declare function focusFirst(): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* empty css */
|
|
2
|
+
import e from "../Combobox/matchHighlight.js";
|
|
2
3
|
/* empty css */
|
|
3
|
-
import e from "../Combobox/EHighlight.js";
|
|
4
4
|
import { Fragment as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, mergeProps as l, openBlock as u, ref as d, renderList as f, resolveDynamicComponent as p, toDisplayString as m, unref as h, withCtx as g } from "vue";
|
|
5
5
|
//#region src/components/SearchResults/ESearchResults.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _ = ["aria-label"], v = { class: "e-opt-text" }, y = { class: "e-opt-label" }, b = {
|
package/dist/components/SearchResults/ESearchResults.vue_vue_type_script_setup_true_lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESearchResults.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_renderList","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_createElementVNode","_createVNode","_unref","
|
|
1
|
+
{"version":3,"file":"ESearchResults.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_renderList","_createBlock","_resolveDynamicComponent","_mergeProps","_withCtx","_createElementVNode","_createVNode","_unref","EMatchHighlight","_createCommentVNode","_toDisplayString","matchHighlight_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","ESearchResults_vue_vue_type_script_setup_true_lang_default","__expose","__emit","props","__props","emit","root","ref","needle","computed","linkAttrs","item","links","focusFirst","focus","all","l","onKeydown","at","onClick","e","openBlock","createElementBlock","Fragment","renderList","i","createBlock","resolveDynamicComponent","mergeProps","$event","withCtx","createElementVNode","createVNode","unref","createCommentVNode","toDisplayString"],"sources":["../../../src/components/SearchResults/ESearchResults.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, type Component } from \"vue\";\nimport EMatchHighlight from \"../Combobox/matchHighlight.js\";\nimport \"../../styles/base.css\";\nimport \"../Select/panel.css\";\n\nexport interface SearchResultItem {\n /** The title of the result. */\n label: string;\n /** A muted line under the title, such as the section it belongs to. */\n description?: string;\n /** Where it goes. */\n href?: string;\n /** A router location, passed to `linkComponent` as `to` (for `RouterLink`). */\n to?: unknown;\n}\n\nconst props = withDefaults(\n defineProps<{\n /** The results, best first: `{ label, description?, href?, to? }`. With no `href` or `to` a link goes to `#`. */\n items: SearchResultItem[];\n /** The accessible name of the list, such as \"Search results\". */\n label: string;\n /** Shown when there are no results, such as `Nothing found for \"tax\"`. Leave it out to show nothing at all, for example before anyone has typed. */\n emptyText?: string;\n /** The text that was searched for: its first match in each title and description is marked, as in `ECombobox` options. */\n query?: string;\n /** What renders each link: `\"a\"` by default, or `RouterLink` (or any component that takes `href` or `to` and a default slot). Give items `to`; it receives `to` or `href` and the class `e-opt`. */\n linkComponent?: string | Component;\n }>(),\n { linkComponent: \"a\" },\n);\n\nconst emit = defineEmits<{\n /** The person opened a result, by click or Enter. Call `event.preventDefault()` to handle the navigation yourself. */\n select: [item: SearchResultItem, event: MouseEvent];\n /** ArrowUp was pressed on the first result: move focus back to your search box. */\n edge: [];\n}>();\n\nconst root = ref<HTMLElement | null>(null);\nconst needle = computed(() => (props.query ?? \"\").trim().toLowerCase());\n\nconst linkAttrs = (item: SearchResultItem) => (item.to !== undefined ? { to: item.to } : { href: item.href ?? \"#\" });\n\nconst links = () => [...(root.value?.querySelectorAll<HTMLElement>(\".e-opt\") ?? [])];\n\nfunction focusFirst() {\n links()[0]?.focus();\n}\n\nfunction focus() {\n const all = links();\n (all.find((l) => l.contains(document.activeElement)) ?? all[0])?.focus();\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n if (e.key !== \"ArrowDown\" && e.key !== \"ArrowUp\") return;\n const all = links();\n const at = all.findIndex((l) => l === document.activeElement || l.contains(document.activeElement));\n e.preventDefault();\n if (e.key === \"ArrowDown\") all[Math.min(at + 1, all.length - 1)]?.focus();\n else if (at <= 0) emit(\"edge\");\n else all[at - 1]?.focus();\n}\n\nfunction onClick(item: SearchResultItem, e: MouseEvent) {\n if (e.button !== 0 || e.ctrlKey || e.metaKey || e.shiftKey || e.altKey) return;\n emit(\"select\", item, e);\n}\n\ndefineExpose({ focus, focusFirst });\n</script>\n\n<template>\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div v-if=\"items.length || emptyText\" ref=\"root\" class=\"e-results\" @keydown=\"onKeydown\">\n <ul v-if=\"items.length\" class=\"e-results-list\" :aria-label=\"label\">\n <li v-for=\"(item, i) in items\" :key=\"i\">\n <component :is=\"linkComponent\" class=\"e-opt\" v-bind=\"linkAttrs(item)\" @click=\"onClick(item, $event)\">\n <span class=\"e-opt-text\">\n <span class=\"e-opt-label\"><EMatchHighlight :text=\"item.label\" :query=\"needle\" /></span>\n <span v-if=\"item.description\" class=\"e-opt-desc\">\n <EMatchHighlight :text=\"item.description\" :query=\"needle\" />\n </span>\n </span>\n </component>\n </li>\n </ul>\n <p v-else class=\"e-opt-status\">{{ emptyText }}</p>\n </div>\n</template>\n\n<style>\n@layer e.controls {\n .e-results {\n max-height: min(24rem, 50vh);\n min-height: 3rem;\n overflow-y: auto;\n padding: var(--e-space-1);\n border-radius: var(--e-radius-md);\n box-shadow: var(--e-edge);\n outline: var(--e-stroke-card) solid var(--e-border-strong);\n outline-offset: 0;\n color: var(--e-ink);\n }\n\n .e-results-list {\n display: grid;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .e-results .e-opt {\n color: inherit;\n text-decoration: none;\n }\n\n .e-results .e-opt:hover,\n .e-results .e-opt:focus-visible {\n background: var(--e-surface-hover);\n box-shadow: inset 0 0 0 var(--e-stroke-hair) var(--e-border-strong);\n outline: var(--e-stroke-hair) solid var(--e-border-strong);\n outline-offset: calc(-1 * var(--e-stroke-hair));\n }\n\n .e-results .e-opt:focus-visible {\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: calc(-1 * var(--e-stroke-focus));\n }\n\n @media (forced-colors: active) {\n .e-results .e-opt:hover,\n .e-results .e-opt:focus-visible {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAiBA,IAAMuB,IAAQC,GAgBRC,IAAOH,GAOPI,IAAOC,EAAwB,IAAI,GACnCC,IAASC,SAAgBN,EAAM,SAAS,GAAA,CAAI,KAAK,CAAC,CAAC,YAAY,CAAC,GAEhEO,KAAa,MAA4BC,EAAK,OAAO,KAAA,IAA8B,EAAE,MAAMA,EAAK,QAAQ,IAAI,IAA3C,EAAE,IAAIA,EAAK,GAAG,GAE/EC,UAAc,CAAC,GAAIN,EAAK,OAAO,iBAA8B,QAAQ,KAAK,CAAC,CAAE;EAEnF,SAASO,IAAa;GACpB,EAAM,CAAC,CAAC,EAAE,EAAE,MAAM;EACpB;EAEA,SAASC,IAAQ;GACf,IAAMC,IAAMH,EAAM;GAClB,CAACG,EAAI,MAAM,MAAMC,EAAE,SAAS,SAAS,aAAa,CAAC,KAAKD,EAAI,GAAA,EAAK,MAAM;EACzE;EAEA,SAASE,EAAU,GAAkB;GACnC,IAAI,EAAE,QAAQ,eAAe,EAAE,QAAQ,WAAW;GAClD,IAAMF,IAAMH,EAAM,GACZM,IAAKH,EAAI,WAAW,MAAMC,MAAM,SAAS,iBAAiBA,EAAE,SAAS,SAAS,aAAa,CAAC;GAElG,AADA,EAAE,eAAe,GACb,EAAE,QAAQ,cAAaD,EAAI,KAAK,IAAIG,IAAK,GAAGH,EAAI,SAAS,CAAC,EAAE,EAAE,MAAM,IAC/DG,KAAM,IAAGb,EAAK,MAAM,IACxBU,EAAIG,IAAK,EAAE,EAAE,MAAM;EAC1B;EAEA,SAASC,EAAQ,GAAwB,GAAe;GACtD,AAAIC,EAAE,WAAW,KAAKA,EAAE,WAAWA,EAAE,WAAWA,EAAE,YAAYA,EAAE,UAChEf,EAAK,UAAUM,GAAMS,CAAC;EACxB;E,OAEAnB,EAAa;GAAE;GAAO;EAAW,CAAC,I,SAKrBG,EAAA,MAAM,UAAUA,EAAA,aAA3BxB,EAAA,GAAAC,EAcM,OAAA;;GAdoC,SAAA;GAAJ,KAAIyB;GAAO,OAAM;GAAsB;E,IACjEF,EAAA,MAAM,UAAhBxB,EAAA,GAAAC,EAWK,MAAA;;GAXmB,OAAM;GAAkB,cAAYuB,EAAA;E,KAC1DxB,EAAA,EAAA,GAAAC,EASKC,GAAA,MAAAC,EATmBqB,EAAA,QAAZ,GAAM,OAAlBxB,EAAA,GAAAC,EASK,MAAA,EAT2B,KAAK4C,EAAC,GAAA,EACpC7C,EAAA,GAAAI,EAOYC,EAPImB,EAAA,aAAa,GAA7BlB,EAOY,EAPmB,OAAM,QAAO,GAAA,EAAA,SAAA,GAAA,GAASwB,EAAUC,CAAI,GAAA,EAAI,UAAK,MAAEQ,EAAQR,GAAMkB,CAAM,E;GAChG,SAAA1C,QAKO,CALPC,EAKO,QALPQ,GAKO,CAJLR,EAAuF,QAAvFS,GAAuF,CAA7DR,EAAsDC,EAAAC,CAAA,GAAA;IAApC,MAAMoB,EAAK;IAAQ,OAAOH,EAAA;G,kCAC1DG,EAAK,eAAjB/B,EAAA,GAAAC,EAEO,QAFPiB,GAEO,CADLT,EAA4DC,EAAAC,CAAA,GAAA;IAA1C,MAAMoB,EAAK;IAAc,OAAOH,EAAA;;;E,8CAM5D5B,EAAA,GAAAC,EAAkD,KAAlDkB,GAAkDN,EAAhBW,EAAA,SAAS,GAAA,CAAA,E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESegmented.js","names":["_sfc_main","ESegmented_vue_vue_type_script_setup_true_lang_default","ESegmented_default"],"sources":["../../../src/components/Segmented/ESegmented.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { IconProp } from \"../../icons/types.js\";\n\nexport interface SegmentedOption {\n value: string;\n label: string;\n /** An icon before the label. */\n icon?: IconProp;\n disabled?: boolean;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EFieldMessage from \"../Field/EFieldMessage.vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** Read by screen readers as the name of the group. */\n label: string;\n /** Two to five. A string is both value and label. */\n options: (string | SegmentedOption)[];\n /** Help under the control, linked with `aria-describedby`. */\n hint?: string;\n /** What to fix. Replaces the hint and is announced. */\n error?: string;\n /** Adds the word \"Optional\" to the group's accessible name. Flag whichever is rarer. */\n optional?: boolean;\n disabled?: boolean;\n /** The name the radios share, submitted with a form.
|
|
1
|
+
{"version":3,"file":"ESegmented.js","names":["_sfc_main","ESegmented_vue_vue_type_script_setup_true_lang_default","ESegmented_default"],"sources":["../../../src/components/Segmented/ESegmented.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { IconProp } from \"../../icons/types.js\";\n\nexport interface SegmentedOption {\n value: string;\n label: string;\n /** An icon before the label. */\n icon?: IconProp;\n disabled?: boolean;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EFieldMessage from \"../Field/EFieldMessage.vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** Read by screen readers as the name of the group. */\n label: string;\n /** Two to five. A string is both value and label. `SegmentedOption` is `{ value, label, icon?, disabled? }`. */\n options: (string | SegmentedOption)[];\n /** Help under the control, linked with `aria-describedby`. */\n hint?: string;\n /** What to fix. Replaces the hint and is announced. */\n error?: string;\n /** Adds the word \"Optional\" to the group's accessible name; nothing is shown. Flag whichever is rarer. */\n optional?: boolean;\n /** Disables every option. */\n disabled?: boolean;\n /** The name the radios share, submitted with a form. @default generated */\n name?: string;\n}>();\n\n/** The active value. @default first option */\nconst model = defineModel<string>();\n\nconst t = useMessages();\nconst name = useUid(() => props.name);\nconst hintId = computed(() => `${name.value}-hint`);\nconst options = computed<SegmentedOption[]>(() =>\n props.options.map((o) => (typeof o === \"string\" ? { value: o, label: o } : o)),\n);\nconst current = computed(() => model.value ?? options.value[0]?.value);\nconst attrs = useFieldAttrs();\nconst groupAttrs = () => ({\n role: \"radiogroup\",\n \"aria-label\": props.optional ? `${props.label}, ${t(\"optional\")}` : props.label,\n \"aria-invalid\": props.error ? (\"true\" as const) : undefined,\n ...attrs.input(props.error || props.hint ? hintId.value : undefined),\n});\n</script>\n\n<template>\n <div v-if=\"hint || error\" class=\"e-seg-field\" :class=\"attrs.wrapper().class\" :style=\"attrs.wrapper().style\">\n <div class=\"e-seg\" v-bind=\"groupAttrs()\">\n <label v-for=\"o in options\" :key=\"o.value\" class=\"e-seg-opt\">\n <input\n type=\"radio\"\n class=\"e-seg-input\"\n :name=\"name\"\n :value=\"o.value\"\n :checked=\"current === o.value\"\n :disabled=\"o.disabled || disabled\"\n @change=\"model = o.value\"\n />\n <span class=\"e-seg-text\"><EIcon v-if=\"o.icon\" :name=\"o.icon\" />{{ o.label }}</span>\n </label>\n </div>\n <EFieldMessage :id=\"hintId\" :error=\"error\" :hint=\"hint\" />\n </div>\n <div v-else class=\"e-seg\" :class=\"attrs.wrapper().class\" :style=\"attrs.wrapper().style\" v-bind=\"groupAttrs()\">\n <label v-for=\"o in options\" :key=\"o.value\" class=\"e-seg-opt\">\n <input\n type=\"radio\"\n class=\"e-seg-input\"\n :name=\"name\"\n :value=\"o.value\"\n :checked=\"current === o.value\"\n :disabled=\"o.disabled || disabled\"\n @change=\"model = o.value\"\n />\n <span class=\"e-seg-text\"><EIcon v-if=\"o.icon\" :name=\"o.icon\" />{{ o.label }}</span>\n </label>\n </div>\n</template>\n\n<style>\n@layer e.controls {\n .e-seg {\n display: inline-flex;\n height: var(--e-control-height);\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n\n --e-bc: var(--e-border-strong);\n\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n border-radius: var(--e-radius-md);\n background: var(--e-border-strong);\n overflow: hidden;\n max-width: 100%;\n width: fit-content;\n }\n\n .e-seg-opt {\n position: relative;\n display: inline-flex;\n cursor: pointer;\n }\n\n .e-seg-opt + .e-seg-opt {\n border-inline-start: var(--e-stroke-hair) solid var(--e-border-strong);\n }\n\n .e-seg-input {\n position: absolute;\n inset: 0;\n opacity: 0;\n margin: 0;\n cursor: pointer;\n }\n\n .e-seg-text {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--e-space-2);\n min-width: 4rem;\n padding: 0 var(--e-space-4);\n background: var(--e-surface);\n font: 500 var(--e-text-md)/1 var(--e-font-sans);\n white-space: nowrap;\n transition: background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-seg-opt:hover .e-seg-text {\n background: var(--e-surface-hover);\n }\n\n .e-seg-input:checked + .e-seg-text {\n background: var(--e-primary);\n box-shadow: inset 0 var(--e-depth) 0 0 color-mix(in srgb, var(--e-primary), var(--e-shade-slab));\n color: var(--e-on-primary);\n font-weight: 600;\n }\n\n .e-seg-input:focus-visible + .e-seg-text {\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: calc(-1 * var(--e-space-1));\n }\n\n .e-seg-input:disabled + .e-seg-text {\n color: var(--e-muted);\n cursor: not-allowed;\n }\n\n .e-seg-opt:has(:disabled):hover .e-seg-text {\n background: transparent;\n }\n\n .e-seg-input:disabled:checked + .e-seg-text,\n .e-seg-opt:has(:disabled:checked):hover .e-seg-text {\n background: var(--e-surface-hover);\n color: var(--e-ink);\n box-shadow: inset 0 calc(-1 * var(--e-depth)) 0 0 var(--e-border-strong);\n }\n\n .e-seg-field {\n display: grid;\n gap: var(--e-space-2);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-seg-text {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-seg-input:checked + .e-seg-text {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -11,36 +11,40 @@ export default _default;
|
|
|
11
11
|
declare const __VLS_export: import('vue').DefineComponent<{
|
|
12
12
|
/** Read by screen readers as the name of the group. */
|
|
13
13
|
label: string;
|
|
14
|
-
/** Two to five. A string is both value and label. */
|
|
14
|
+
/** Two to five. A string is both value and label. `SegmentedOption` is `{ value, label, icon?, disabled? }`. */
|
|
15
15
|
options: (string | SegmentedOption)[];
|
|
16
16
|
/** Help under the control, linked with `aria-describedby`. */
|
|
17
17
|
hint?: string;
|
|
18
18
|
/** What to fix. Replaces the hint and is announced. */
|
|
19
19
|
error?: string;
|
|
20
|
-
/** Adds the word "Optional" to the group's accessible name. Flag whichever is rarer. */
|
|
20
|
+
/** Adds the word "Optional" to the group's accessible name; nothing is shown. Flag whichever is rarer. */
|
|
21
21
|
optional?: boolean;
|
|
22
|
+
/** Disables every option. */
|
|
22
23
|
disabled?: boolean;
|
|
23
|
-
/** The name the radios share, submitted with a form.
|
|
24
|
+
/** The name the radios share, submitted with a form. @default generated */
|
|
24
25
|
name?: string;
|
|
25
26
|
} & {
|
|
27
|
+
/** The active value. @default first option */
|
|
26
28
|
modelValue?: string;
|
|
27
29
|
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
28
30
|
"update:modelValue": (value: string | undefined) => any;
|
|
29
31
|
}, string, import('vue').PublicProps, Readonly<{
|
|
30
32
|
/** Read by screen readers as the name of the group. */
|
|
31
33
|
label: string;
|
|
32
|
-
/** Two to five. A string is both value and label. */
|
|
34
|
+
/** Two to five. A string is both value and label. `SegmentedOption` is `{ value, label, icon?, disabled? }`. */
|
|
33
35
|
options: (string | SegmentedOption)[];
|
|
34
36
|
/** Help under the control, linked with `aria-describedby`. */
|
|
35
37
|
hint?: string;
|
|
36
38
|
/** What to fix. Replaces the hint and is announced. */
|
|
37
39
|
error?: string;
|
|
38
|
-
/** Adds the word "Optional" to the group's accessible name. Flag whichever is rarer. */
|
|
40
|
+
/** Adds the word "Optional" to the group's accessible name; nothing is shown. Flag whichever is rarer. */
|
|
39
41
|
optional?: boolean;
|
|
42
|
+
/** Disables every option. */
|
|
40
43
|
disabled?: boolean;
|
|
41
|
-
/** The name the radios share, submitted with a form.
|
|
44
|
+
/** The name the radios share, submitted with a form. @default generated */
|
|
42
45
|
name?: string;
|
|
43
46
|
} & {
|
|
47
|
+
/** The active value. @default first option */
|
|
44
48
|
modelValue?: string;
|
|
45
49
|
}> & Readonly<{
|
|
46
50
|
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESegmented.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_mergeProps","_Fragment","_renderList","_createBlock","EIcon","_createCommentVNode","_createTextVNode","_toDisplayString","_createVNode","EFieldMessage","EIcon_default","EFieldMessage_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","ESegmented_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","props","__props","model","useModel","t","useMessages","name","useUid","hintId","computed","options","o","current","attrs","useFieldAttrs","groupAttrs","openBlock","createElementBlock","normalizeClass","unref","normalizeStyle","createElementVNode","mergeProps","Fragment","renderList","createBlock","createCommentVNode","createTextVNode","toDisplayString","createVNode"],"sources":["../../../src/components/Segmented/ESegmented.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { IconProp } from \"../../icons/types.js\";\n\nexport interface SegmentedOption {\n value: string;\n label: string;\n /** An icon before the label. */\n icon?: IconProp;\n disabled?: boolean;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EFieldMessage from \"../Field/EFieldMessage.vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** Read by screen readers as the name of the group. */\n label: string;\n /** Two to five. A string is both value and label. */\n options: (string | SegmentedOption)[];\n /** Help under the control, linked with `aria-describedby`. */\n hint?: string;\n /** What to fix. Replaces the hint and is announced. */\n error?: string;\n /** Adds the word \"Optional\" to the group's accessible name. Flag whichever is rarer. */\n optional?: boolean;\n disabled?: boolean;\n /** The name the radios share, submitted with a form.
|
|
1
|
+
{"version":3,"file":"ESegmented.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_mergeProps","_Fragment","_renderList","_createBlock","EIcon","_createCommentVNode","_createTextVNode","_toDisplayString","_createVNode","EFieldMessage","EIcon_default","EFieldMessage_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","ESegmented_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","props","__props","model","useModel","t","useMessages","name","useUid","hintId","computed","options","o","current","attrs","useFieldAttrs","groupAttrs","openBlock","createElementBlock","normalizeClass","unref","normalizeStyle","createElementVNode","mergeProps","Fragment","renderList","createBlock","createCommentVNode","createTextVNode","toDisplayString","createVNode"],"sources":["../../../src/components/Segmented/ESegmented.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { IconProp } from \"../../icons/types.js\";\n\nexport interface SegmentedOption {\n value: string;\n label: string;\n /** An icon before the label. */\n icon?: IconProp;\n disabled?: boolean;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EIcon from \"../Icon/EIcon.vue\";\nimport EFieldMessage from \"../Field/EFieldMessage.vue\";\nimport { useMessages } from \"../../config.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<{\n /** Read by screen readers as the name of the group. */\n label: string;\n /** Two to five. A string is both value and label. `SegmentedOption` is `{ value, label, icon?, disabled? }`. */\n options: (string | SegmentedOption)[];\n /** Help under the control, linked with `aria-describedby`. */\n hint?: string;\n /** What to fix. Replaces the hint and is announced. */\n error?: string;\n /** Adds the word \"Optional\" to the group's accessible name; nothing is shown. Flag whichever is rarer. */\n optional?: boolean;\n /** Disables every option. */\n disabled?: boolean;\n /** The name the radios share, submitted with a form. @default generated */\n name?: string;\n}>();\n\n/** The active value. @default first option */\nconst model = defineModel<string>();\n\nconst t = useMessages();\nconst name = useUid(() => props.name);\nconst hintId = computed(() => `${name.value}-hint`);\nconst options = computed<SegmentedOption[]>(() =>\n props.options.map((o) => (typeof o === \"string\" ? { value: o, label: o } : o)),\n);\nconst current = computed(() => model.value ?? options.value[0]?.value);\nconst attrs = useFieldAttrs();\nconst groupAttrs = () => ({\n role: \"radiogroup\",\n \"aria-label\": props.optional ? `${props.label}, ${t(\"optional\")}` : props.label,\n \"aria-invalid\": props.error ? (\"true\" as const) : undefined,\n ...attrs.input(props.error || props.hint ? hintId.value : undefined),\n});\n</script>\n\n<template>\n <div v-if=\"hint || error\" class=\"e-seg-field\" :class=\"attrs.wrapper().class\" :style=\"attrs.wrapper().style\">\n <div class=\"e-seg\" v-bind=\"groupAttrs()\">\n <label v-for=\"o in options\" :key=\"o.value\" class=\"e-seg-opt\">\n <input\n type=\"radio\"\n class=\"e-seg-input\"\n :name=\"name\"\n :value=\"o.value\"\n :checked=\"current === o.value\"\n :disabled=\"o.disabled || disabled\"\n @change=\"model = o.value\"\n />\n <span class=\"e-seg-text\"><EIcon v-if=\"o.icon\" :name=\"o.icon\" />{{ o.label }}</span>\n </label>\n </div>\n <EFieldMessage :id=\"hintId\" :error=\"error\" :hint=\"hint\" />\n </div>\n <div v-else class=\"e-seg\" :class=\"attrs.wrapper().class\" :style=\"attrs.wrapper().style\" v-bind=\"groupAttrs()\">\n <label v-for=\"o in options\" :key=\"o.value\" class=\"e-seg-opt\">\n <input\n type=\"radio\"\n class=\"e-seg-input\"\n :name=\"name\"\n :value=\"o.value\"\n :checked=\"current === o.value\"\n :disabled=\"o.disabled || disabled\"\n @change=\"model = o.value\"\n />\n <span class=\"e-seg-text\"><EIcon v-if=\"o.icon\" :name=\"o.icon\" />{{ o.label }}</span>\n </label>\n </div>\n</template>\n\n<style>\n@layer e.controls {\n .e-seg {\n display: inline-flex;\n height: var(--e-control-height);\n border: var(--e-stroke-edge) solid var(--e-border-strong);\n\n --e-bc: var(--e-border-strong);\n\n outline: var(--e-stroke-edge) solid var(--e-bc);\n outline-offset: calc(-1 * var(--e-stroke-edge));\n border-radius: var(--e-radius-md);\n background: var(--e-border-strong);\n overflow: hidden;\n max-width: 100%;\n width: fit-content;\n }\n\n .e-seg-opt {\n position: relative;\n display: inline-flex;\n cursor: pointer;\n }\n\n .e-seg-opt + .e-seg-opt {\n border-inline-start: var(--e-stroke-hair) solid var(--e-border-strong);\n }\n\n .e-seg-input {\n position: absolute;\n inset: 0;\n opacity: 0;\n margin: 0;\n cursor: pointer;\n }\n\n .e-seg-text {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--e-space-2);\n min-width: 4rem;\n padding: 0 var(--e-space-4);\n background: var(--e-surface);\n font: 500 var(--e-text-md)/1 var(--e-font-sans);\n white-space: nowrap;\n transition: background-color var(--e-duration-tap) var(--e-easing-out);\n }\n\n .e-seg-opt:hover .e-seg-text {\n background: var(--e-surface-hover);\n }\n\n .e-seg-input:checked + .e-seg-text {\n background: var(--e-primary);\n box-shadow: inset 0 var(--e-depth) 0 0 color-mix(in srgb, var(--e-primary), var(--e-shade-slab));\n color: var(--e-on-primary);\n font-weight: 600;\n }\n\n .e-seg-input:focus-visible + .e-seg-text {\n outline: var(--e-stroke-focus) solid var(--e-focus-ring);\n outline-offset: calc(-1 * var(--e-space-1));\n }\n\n .e-seg-input:disabled + .e-seg-text {\n color: var(--e-muted);\n cursor: not-allowed;\n }\n\n .e-seg-opt:has(:disabled):hover .e-seg-text {\n background: transparent;\n }\n\n .e-seg-input:disabled:checked + .e-seg-text,\n .e-seg-opt:has(:disabled:checked):hover .e-seg-text {\n background: var(--e-surface-hover);\n color: var(--e-ink);\n box-shadow: inset 0 calc(-1 * var(--e-depth)) 0 0 var(--e-border-strong);\n }\n\n .e-seg-field {\n display: grid;\n gap: var(--e-space-2);\n }\n\n @media (prefers-reduced-motion: reduce) {\n .e-seg-text {\n transition: none;\n }\n }\n\n @media (forced-colors: active) {\n .e-seg-input:checked + .e-seg-text {\n forced-color-adjust: none;\n background: Highlight;\n color: HighlightText;\n }\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBA,IAAM0B,IAAQC,GAkBRC,IAAQ5B,EAAmB2B,GAAA,YAAC,GAE5BG,IAAIC,EAAY,GAChBC,IAAOC,QAAaP,EAAM,IAAI,GAC9BQ,IAASC,QAAe,GAAGH,EAAK,MAAM,MAAM,GAC5CI,IAAUD,QACdT,EAAM,QAAQ,KAAK,MAAO,OAAOW,KAAM,WAAW;GAAE,OAAOA;GAAG,OAAOA;EAAE,IAAIA,CAAE,CAC/E,GACMC,IAAUH,QAAeP,EAAM,SAASQ,EAAQ,MAAM,EAAE,EAAE,KAAK,GAC/DG,IAAQC,EAAc,GACtBC,WAAoB;GACxB,MAAM;GACN,cAAcf,EAAM,WAAW,GAAGA,EAAM,MAAM,IAAII,EAAE,UAAU,MAAMJ,EAAM;GAC1E,gBAAgBA,EAAM,QAAS,SAAmB,KAAA;GAClD,GAAGa,EAAM,MAAMb,EAAM,SAASA,EAAM,OAAOQ,EAAO,QAAQ,KAAA,CAAS;EACrE;E,iBAIaP,EAAA,QAAQA,EAAA,SAAnB1B,EAAA,GAAAC,EAgBM,OAAA;;GAhBoB,OAAKC,EAAA,CAAC,eAAsBC,EAAAmC,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK,CAAA;GAAG,OAAKlC,EAAED,EAAAmC,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK;E,IACxGjC,EAaM,OAbNC,EAaM,EAbD,OAAM,QAAO,GAASkC,EAAU,CAAA,GAAA,EACnCxC,EAAA,EAAA,GAAAC,EAWQM,GAAA,MAAAC,EAXW2B,EAAA,QAAL,OAAdnC,EAAA,GAAAC,EAWQ,SAAA;GAXqB,KAAKmC,EAAE;GAAO,OAAM;E,IAC/C/B,EAQE,SAAA;GAPA,MAAK;GACL,OAAM;GACL,MAAMF,EAAA4B,CAAA;GACN,OAAOK,EAAE;GACT,SAASC,EAAA,UAAYD,EAAE;GACvB,UAAUA,EAAE,YAAYV,EAAA;GACxB,WAAM,MAAE,EAAA,QAAQU,EAAE;E,iBAErB/B,EAAmF,QAAnFc,GAAmF,CAA7CiB,EAAE,QAAfpC,EAAA,GAAAS,EAAsCC,GAAA;;GAAhB,MAAM0B,EAAE;E,oCAAWxB,EAAAC,EAAAuB,EAAE,KAAK,GAAA,CAAA,C,qBAG7EtB,EAA0DC,GAAA;GAA1C,IAAIkB,EAAA;GAAS,OAAOP,EAAA;GAAQ,MAAMA,EAAA;;;;;E,YAEpD1B,EAAA,GAAAC,EAaM,OAbNK,EAaM;;GAbM,OAAK,CAAC,SAAgBH,EAAAmC,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG,KAAK;GAAG,OAAOnC,EAAAmC,CAAA,CAAK,CAAC,QAAO,CAAA,CAAG;EAAe,GAAAE,EAAU,CAAA,GAAA,EACxGxC,EAAA,EAAA,GAAAC,EAWQM,GAAA,MAAAC,EAXW2B,EAAA,QAAL,OAAdnC,EAAA,GAAAC,EAWQ,SAAA;GAXqB,KAAKmC,EAAE;GAAO,OAAM;E,IAC/C/B,EAQE,SAAA;GAPA,MAAK;GACL,OAAM;GACL,MAAMF,EAAA4B,CAAA;GACN,OAAOK,EAAE;GACT,SAASC,EAAA,UAAYD,EAAE;GACvB,UAAUA,EAAE,YAAYV,EAAA;GACxB,WAAM,MAAE,EAAA,QAAQU,EAAE;E,iBAErB/B,EAAmF,QAAnFgB,GAAmF,CAA7Ce,EAAE,QAAfpC,EAAA,GAAAS,EAAsCC,GAAA;;GAAhB,MAAM0B,EAAE;E,oCAAWxB,EAAAC,EAAAuB,EAAE,KAAK,GAAA,CAAA,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESelect.js","names":["_sfc_main","ESelect_vue_vue_type_script_setup_true_lang_default","ESelect_default"],"sources":["../../../src/components/Select/ESelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport type { ELabelProps } from \"../Field/labelProps.js\";\nimport ESelectControl from \"./ESelectControl.vue\";\nimport { normalizeOptions, type EOptionInput } from \"./options.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\n\ninterface ESelectFields {\n /** Strings, or `{ value, label, description
|
|
1
|
+
{"version":3,"file":"ESelect.js","names":["_sfc_main","ESelect_vue_vue_type_script_setup_true_lang_default","ESelect_default"],"sources":["../../../src/components/Select/ESelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport type { ELabelProps } from \"../Field/labelProps.js\";\nimport ESelectControl from \"./ESelectControl.vue\";\nimport { normalizeOptions, type EOptionInput } from \"./options.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\n\ninterface ESelectFields {\n /** Strings, or `{ value, label, description?, icon?, group?, disabled? }`. A string is both value and label; `value` is never an empty string. A new `group` heading starts where `group` changes, so keep groups together. */\n options: readonly EOptionInput[];\n /** What the button says while nothing is chosen. @default \"Select\" */\n placeholder?: string;\n /** Help that stays under the control. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the control 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 /** Never opens. */\n disabled?: boolean;\n /** Submits the chosen value with a form (a hidden input carries it). */\n name?: string;\n /** The id of the button; the label points at it. @default generated */\n id?: string;\n}\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<ELabelProps & ESelectFields>();\n\n/** The chosen option's `value`; empty is nothing chosen. */\nconst model = defineModel<string>({ default: \"\" });\n\n/** Whether the list is open. A disabled field never opens. */\nconst open = defineModel<boolean>(\"open\", { default: false });\n\nconst attrs = useFieldAttrs();\nconst options = computed(() => normalizeOptions(props.options));\n\ntype FieldSlot = { id: string; ariaInvalid: \"true\" | undefined; ariaDescribedby: string | undefined };\nfunction triggerAttrs(field?: FieldSlot) {\n return {\n id: field?.id ?? props.id,\n \"aria-invalid\": field?.ariaInvalid,\n \"aria-label\": props.bare ? (props.ariaLabel ?? props.label) : undefined,\n ...attrs.input(field?.ariaDescribedby),\n };\n}\n</script>\n\n<template>\n <div v-if=\"bare\" v-bind=\"attrs.wrapper()\">\n <ESelectControl\n v-model=\"model\"\n v-model:open=\"open\"\n :options=\"options\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :required=\"required\"\n :name=\"name\"\n :label=\"ariaLabel ?? label\"\n :trigger-attrs=\"triggerAttrs()\"\n />\n </div>\n <EField\n v-else\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 <ESelectControl\n v-model=\"model\"\n v-model:open=\"open\"\n :options=\"options\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :required=\"required\"\n :name=\"name\"\n :label=\"label\"\n :trigger-attrs=\"triggerAttrs(field)\"\n />\n </template>\n </EField>\n</template>\n"],"mappings":""}
|
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import { EOptionInput } from './options.js';
|
|
2
2
|
interface ESelectFields {
|
|
3
|
-
/** Strings, or `{ value, label, description
|
|
3
|
+
/** Strings, or `{ value, label, description?, icon?, group?, disabled? }`. A string is both value and label; `value` is never an empty string. A new `group` heading starts where `group` changes, so keep groups together. */
|
|
4
4
|
options: readonly EOptionInput[];
|
|
5
|
-
/** What the button says while nothing is chosen.
|
|
5
|
+
/** What the button says while nothing is chosen. @default "Select" */
|
|
6
6
|
placeholder?: string;
|
|
7
7
|
/** Help that stays under the control. */
|
|
8
8
|
hint?: string;
|
|
9
9
|
/** What to fix. Replaces the hint, marks the control invalid and is announced. */
|
|
10
10
|
error?: string;
|
|
11
|
-
/**
|
|
11
|
+
/** The `required` attribute and a word beside the label. */
|
|
12
12
|
required?: boolean;
|
|
13
13
|
/** A word beside the label. Flag whichever is rarer. */
|
|
14
14
|
optional?: boolean;
|
|
15
|
+
/** Never opens. */
|
|
15
16
|
disabled?: boolean;
|
|
16
17
|
/** Submits the chosen value with a form (a hidden input carries it). */
|
|
17
18
|
name?: string;
|
|
18
|
-
/** The id of the button; the label points at it.
|
|
19
|
+
/** The id of the button; the label points at it. @default generated */
|
|
19
20
|
id?: string;
|
|
20
21
|
}
|
|
21
22
|
type __VLS_ModelProps = {
|
|
23
|
+
/** The chosen option's `value`; empty is nothing chosen. */
|
|
22
24
|
modelValue?: string;
|
|
25
|
+
/** Whether the list is open. A disabled field never opens. */
|
|
23
26
|
"open"?: boolean;
|
|
24
27
|
};
|
|
25
28
|
declare const __VLS_export: import('vue').DefineComponent<({
|
|
@@ -35,8 +38,8 @@ declare const __VLS_export: import('vue').DefineComponent<({
|
|
|
35
38
|
label?: string;
|
|
36
39
|
bare: true;
|
|
37
40
|
} & ESelectFields & __VLS_ModelProps), {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
38
|
-
"update:open": (value: boolean) => any;
|
|
39
41
|
"update:modelValue": (value: string) => any;
|
|
42
|
+
"update:open": (value: boolean) => any;
|
|
40
43
|
}, string, import('vue').PublicProps, Readonly<({
|
|
41
44
|
hideLabel?: boolean;
|
|
42
45
|
ariaLabel?: string;
|
|
@@ -50,8 +53,8 @@ declare const __VLS_export: import('vue').DefineComponent<({
|
|
|
50
53
|
label?: string;
|
|
51
54
|
bare: true;
|
|
52
55
|
} & ESelectFields & __VLS_ModelProps)> & Readonly<{
|
|
53
|
-
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
54
56
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
57
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
55
58
|
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
56
59
|
declare const _default: typeof __VLS_export;
|
|
57
60
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESelect.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeProps","_mergeProps","_unref","_createVNode","ESelectControl","_createBlock","EField","_withCtx","EField_default","ESelectControl_default","ESelect_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","\"open\"","\"openModifiers\"","props","__props","model","useModel","open","attrs","useFieldAttrs","options","computed","normalizeOptions","triggerAttrs","field","openBlock","createElementBlock","normalizeProps","mergeProps","unref","createVNode","_cache","$event","createBlock","withCtx"],"sources":["../../../src/components/Select/ESelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport type { ELabelProps } from \"../Field/labelProps.js\";\nimport ESelectControl from \"./ESelectControl.vue\";\nimport { normalizeOptions, type EOptionInput } from \"./options.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\n\ninterface ESelectFields {\n /** Strings, or `{ value, label, description
|
|
1
|
+
{"version":3,"file":"ESelect.vue_vue_type_script_setup_true_lang.js","names":["_useModel","_openBlock","_createElementBlock","_normalizeProps","_mergeProps","_unref","_createVNode","ESelectControl","_createBlock","EField","_withCtx","EField_default","ESelectControl_default","ESelect_vue_vue_type_script_setup_true_lang_default","\"modelValue\"","\"modelModifiers\"","\"open\"","\"openModifiers\"","props","__props","model","useModel","open","attrs","useFieldAttrs","options","computed","normalizeOptions","triggerAttrs","field","openBlock","createElementBlock","normalizeProps","mergeProps","unref","createVNode","_cache","$event","createBlock","withCtx"],"sources":["../../../src/components/Select/ESelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EField from \"../Field/EField.vue\";\nimport type { ELabelProps } from \"../Field/labelProps.js\";\nimport ESelectControl from \"./ESelectControl.vue\";\nimport { normalizeOptions, type EOptionInput } from \"./options.js\";\nimport { useFieldAttrs } from \"../../composables/useFieldAttrs.js\";\nimport \"../../styles/base.css\";\n\ninterface ESelectFields {\n /** Strings, or `{ value, label, description?, icon?, group?, disabled? }`. A string is both value and label; `value` is never an empty string. A new `group` heading starts where `group` changes, so keep groups together. */\n options: readonly EOptionInput[];\n /** What the button says while nothing is chosen. @default \"Select\" */\n placeholder?: string;\n /** Help that stays under the control. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the control 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 /** Never opens. */\n disabled?: boolean;\n /** Submits the chosen value with a form (a hidden input carries it). */\n name?: string;\n /** The id of the button; the label points at it. @default generated */\n id?: string;\n}\n\ndefineOptions({ inheritAttrs: false });\n\nconst props = defineProps<ELabelProps & ESelectFields>();\n\n/** The chosen option's `value`; empty is nothing chosen. */\nconst model = defineModel<string>({ default: \"\" });\n\n/** Whether the list is open. A disabled field never opens. */\nconst open = defineModel<boolean>(\"open\", { default: false });\n\nconst attrs = useFieldAttrs();\nconst options = computed(() => normalizeOptions(props.options));\n\ntype FieldSlot = { id: string; ariaInvalid: \"true\" | undefined; ariaDescribedby: string | undefined };\nfunction triggerAttrs(field?: FieldSlot) {\n return {\n id: field?.id ?? props.id,\n \"aria-invalid\": field?.ariaInvalid,\n \"aria-label\": props.bare ? (props.ariaLabel ?? props.label) : undefined,\n ...attrs.input(field?.ariaDescribedby),\n };\n}\n</script>\n\n<template>\n <div v-if=\"bare\" v-bind=\"attrs.wrapper()\">\n <ESelectControl\n v-model=\"model\"\n v-model:open=\"open\"\n :options=\"options\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :required=\"required\"\n :name=\"name\"\n :label=\"ariaLabel ?? label\"\n :trigger-attrs=\"triggerAttrs()\"\n />\n </div>\n <EField\n v-else\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 <ESelectControl\n v-model=\"model\"\n v-model:open=\"open\"\n :options=\"options\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :required=\"required\"\n :name=\"name\"\n :label=\"label\"\n :trigger-attrs=\"triggerAttrs(field)\"\n />\n </template>\n </EField>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCA,IAAMkB,IAAQC,GAGRC,IAAQpB,EAAmBmB,GAAA,YAAgB,GAG3CG,IAAOtB,EAAoBmB,GAAC,MAA0B,GAEtDI,IAAQC,EAAc,GACtBC,IAAUC,QAAeC,EAAiBT,EAAM,OAAO,CAAC;EAG9D,SAASU,EAAa,GAAmB;GACvC,OAAO;IACL,IAAIC,GAAO,MAAMX,EAAM;IACvB,gBAAgBW,GAAO;IACvB,cAAcX,EAAM,OAAQA,EAAM,aAAaA,EAAM,QAAS,KAAA;IAC9D,GAAGK,EAAM,MAAMM,GAAO,eAAe;GACvC;EACF;E,iBAIaV,EAAA,QAAXlB,EAAA,GAAAC,EAYM,OAAAC,EAAAC,EAAA,EAAA,KAAA,EAAA,GAZmBC,EAAAkB,CAAA,CAAK,CAAC,QAAO,CAAA,CAAA,GAAA,CACpCjB,EAUEC,GAAA;GATS,YAAAa,EAAA;GAAA,uBAAA,AAAAgB,EAAA,QAAA,MAAA,EAAK,QAAAC;GACN,MAAMf,EAAA;GAAA,iBAAA,AAAAc,EAAA,QAAA,MAAA,EAAI,QAAAC;GACjB,SAASZ,EAAA;GACT,aAAaN,EAAA;GACb,UAAUA,EAAA;GACV,UAAUA,EAAA;GACV,MAAMA,EAAA;GACN,OAAOA,EAAA,aAAaA,EAAA;GACpB,iBAAeS,EAAY;;;;;;;;;;;E,aAGhC3B,EAAA,GAAAO,EAwBSC,GAxBTL,EAwBS,EAAA,KAAA,EAAA,GAtBCC,EAAAkB,CAAA,CAAK,CAAC,QAAO,GAAA;GACpB,IAAIJ,EAAA;GACJ,OAAOA,EAAA,SAAK;GACZ,cAAYA,EAAA;GACZ,MAAMA,EAAA;GACN,OAAOA,EAAA;GACP,UAAUA,EAAA;GACV,UAAUA,EAAA;;GAEA,SAAOT,GAAE,MAAK,CACvBJ,EAUEC,GAAA;IATS,YAAAa,EAAA;IAAA,uBAAA,AAAAgB,EAAA,QAAA,MAAA,EAAK,QAAAC;IACN,MAAMf,EAAA;IAAA,iBAAA,AAAAc,EAAA,QAAA,MAAA,EAAI,QAAAC;IACjB,SAASZ,EAAA;IACT,aAAaN,EAAA;IACb,UAAUA,EAAA;IACV,UAAUA,EAAA;IACV,MAAMA,EAAA;IACN,OAAOA,EAAA;IACP,iBAAeS,EAAaC,CAAK"}
|
|
@@ -17,11 +17,11 @@ type __VLS_ModelProps = {
|
|
|
17
17
|
};
|
|
18
18
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
19
19
|
declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
20
|
-
"update:open": (value: boolean) => any;
|
|
21
20
|
"update:modelValue": (value: string) => any;
|
|
21
|
+
"update:open": (value: boolean) => any;
|
|
22
22
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
23
|
-
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
24
23
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
24
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
25
25
|
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
26
26
|
declare const _default: typeof __VLS_export;
|
|
27
27
|
export default _default;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import { useMessages as e, usePortalTarget as t } from "../../config.js";
|
|
3
3
|
import n from "../Icon/EIcon.js";
|
|
4
4
|
/* empty css */
|
|
5
|
-
import r from "./
|
|
6
|
-
import { sectionOptions as i } from "./options.js";
|
|
7
|
-
import { useQuietFocus as a } from "./quietFocus.js";
|
|
5
|
+
import { sectionOptions as r } from "./options.js";
|
|
8
6
|
/* empty css */
|
|
7
|
+
import i from "./ESelectOption.js";
|
|
8
|
+
import { useQuietFocus as a } from "./quietFocus.js";
|
|
9
9
|
import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeModels as m, mergeProps as h, openBlock as g, renderList as _, toDisplayString as v, unref as y, useModel as b, watch as x, withCtx as S } from "vue";
|
|
10
10
|
import { SelectContent as C, SelectGroup as w, SelectLabel as T, SelectPortal as E, SelectRoot as D, SelectTrigger as O, SelectViewport as k } from "reka-ui";
|
|
11
11
|
//#region src/components/Select/ESelectControl.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -36,7 +36,7 @@ var A = { class: "e-sel" }, j = {
|
|
|
36
36
|
}),
|
|
37
37
|
emits: ["update:modelValue", "update:open"],
|
|
38
38
|
setup(p) {
|
|
39
|
-
let m = p, P = b(p, "modelValue"), F = e(), I = t(), L = s(() =>
|
|
39
|
+
let m = p, P = b(p, "modelValue"), F = e(), I = t(), L = s(() => r(m.options)), R = s(() => m.options.find((e) => e.value === P.value)), z = "", B = 0, V = b(p, "open"), H = s(() => V.value && !m.disabled), U = a(H, (e) => !!e.closest("[role=listbox]"));
|
|
40
40
|
x(H, (e) => {
|
|
41
41
|
e && !U.personOpened() && U.undoFocusSteal();
|
|
42
42
|
}, {
|
|
@@ -104,13 +104,13 @@ var A = { class: "e-sel" }, j = {
|
|
|
104
104
|
default: S(() => [f(y(T), { class: "e-opt-group" }, {
|
|
105
105
|
default: S(() => [d(v(e.group), 1)]),
|
|
106
106
|
_: 2
|
|
107
|
-
}, 1024), (g(!0), u(o, null, _(e.options, (e) => (g(), c(
|
|
107
|
+
}, 1024), (g(!0), u(o, null, _(e.options, (e) => (g(), c(i, {
|
|
108
108
|
key: e.value,
|
|
109
109
|
option: e,
|
|
110
110
|
selected: e.value === P.value
|
|
111
111
|
}, null, 8, ["option", "selected"]))), 128))]),
|
|
112
112
|
_: 2
|
|
113
|
-
}, 1024)) : (g(!0), u(o, { key: 1 }, _(e.options, (e) => (g(), c(
|
|
113
|
+
}, 1024)) : (g(!0), u(o, { key: 1 }, _(e.options, (e) => (g(), c(i, {
|
|
114
114
|
key: e.value,
|
|
115
115
|
option: e,
|
|
116
116
|
selected: e.value === P.value
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IconProp } from '../../icons/types.js';
|
|
2
|
-
/** One choice in a Select
|
|
2
|
+
/** One choice in a Select or Combobox. */
|
|
3
3
|
export interface EOption {
|
|
4
4
|
/** What the model holds when this option is chosen. Never an empty string. */
|
|
5
5
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","names":["normalizeOptions","options","o","sectionOptions","sections","option","last"],"sources":["../../../src/components/Select/options.ts"],"sourcesContent":["import type { IconProp } from \"../../icons/types.js\";\n\n/** One choice in a Select
|
|
1
|
+
{"version":3,"file":"options.js","names":["normalizeOptions","options","o","sectionOptions","sections","option","last"],"sources":["../../../src/components/Select/options.ts"],"sourcesContent":["import type { IconProp } from \"../../icons/types.js\";\n\n/** One choice in a Select or Combobox. */\nexport interface EOption {\n /** What the model holds when this option is chosen. Never an empty string. */\n value: string;\n /** What people read. */\n label: string;\n /** A second, muted line under the label. Searched too. */\n description?: string;\n /** An icon before the label. */\n icon?: IconProp;\n /** A heading for a run of options. A new heading starts when this changes from the option before. */\n group?: string;\n /** Not choosable. Stays visible, muted. */\n disabled?: boolean;\n}\n\n/** An option as a consumer writes it: a bare string stands for `{ value: s, label: s }`. */\nexport type EOptionInput = string | EOption;\n\n/** A run of options under one heading (or none). */\nexport interface EOptionSection {\n group: string | undefined;\n options: EOption[];\n}\n\n/** Turns strings into options. */\nexport function normalizeOptions(options: readonly EOptionInput[] | undefined): EOption[] {\n return (options ?? []).map((o) => (typeof o === \"string\" ? { value: o, label: o } : o));\n}\n\n/** Splits options into runs under one heading, in order. A heading repeats only where the group changes. */\nexport function sectionOptions(options: readonly EOption[]): EOptionSection[] {\n const sections: EOptionSection[] = [];\n for (const option of options) {\n const last = sections[sections.length - 1];\n if (last && last.group === option.group) last.options.push(option);\n else sections.push({ group: option.group, options: [option] });\n }\n return sections;\n}\n"],"mappings":";AA4BA,SAAgBA,EAAiB,GAAyD;CACxF,QAAQC,KAAW,CAAC,EAAA,CAAG,KAAK,MAAO,OAAOC,KAAM,WAAW;EAAE,OAAOA;EAAG,OAAOA;CAAE,IAAIA,CAAE;AACxF;AAGA,SAAgBC,EAAe,GAA+C;CAC5E,IAAMC,IAA6B,CAAC;CACpC,KAAK,IAAMC,KAAUJ,GAAS;EAC5B,IAAMK,IAAOF,EAASA,EAAS,SAAS;EACxC,AAAIE,KAAQA,EAAK,UAAUD,EAAO,QAAOC,EAAK,QAAQ,KAAKD,CAAM,IAC5DD,EAAS,KAAK;GAAE,OAAOC,EAAO;GAAO,SAAS,CAACA,CAAM;EAAE,CAAC;CAC/D;CACA,OAAOD;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ESignatureField.js","names":["_sfc_main","ESignatureField_vue_vue_type_script_setup_true_lang_default","ESignatureField_default"],"sources":["../../../src/components/SignatureField/ESignatureField.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface SignatureValue {\n /** How the person signed. */\n method: \"type\" | \"draw\";\n /** The typed name. Kept when switching to Draw. */\n name: string;\n /** The drawn signature as a PNG data URL. Empty unless the method is `draw`. */\n image: string;\n /** Whether the person ticked the agreement. */\n agreed: boolean;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EFieldMessage from \"../Field/EFieldMessage.vue\";\nimport ESegmented from \"../Segmented/ESegmented.vue\";\nimport ETextField from \"../TextField/ETextField.vue\";\nimport ECheckbox from \"../Checkbox/ECheckbox.vue\";\nimport ESignaturePad from \"../SignaturePad/ESignaturePad.vue\";\nimport { useConfig, useMessages } from \"../../config.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** Names the group and heads it. Say what the form is.
|
|
1
|
+
{"version":3,"file":"ESignatureField.js","names":["_sfc_main","ESignatureField_vue_vue_type_script_setup_true_lang_default","ESignatureField_default"],"sources":["../../../src/components/SignatureField/ESignatureField.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface SignatureValue {\n /** How the person signed. */\n method: \"type\" | \"draw\";\n /** The typed name. Kept when switching to Draw. */\n name: string;\n /** The drawn signature as a PNG data URL. Empty unless the method is `draw`. */\n image: string;\n /** Whether the person ticked the agreement. */\n agreed: boolean;\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport EFieldMessage from \"../Field/EFieldMessage.vue\";\nimport ESegmented from \"../Segmented/ESegmented.vue\";\nimport ETextField from \"../TextField/ETextField.vue\";\nimport ECheckbox from \"../Checkbox/ECheckbox.vue\";\nimport ESignaturePad from \"../SignaturePad/ESignaturePad.vue\";\nimport { useConfig, useMessages } from \"../../config.js\";\nimport { useUid } from \"../../composables/useUid.js\";\nimport \"../../styles/base.css\";\n\nconst props = withDefaults(\n defineProps<{\n /** Names the group and heads it. Say what the form is. @default \"Signature\" */\n label?: string;\n /** `type` the default, `draw`, or `both` which adds a Type and Draw switch. A drawn signature cannot be made from a keyboard, so `both` is the usual choice. */\n mode?: \"type\" | \"draw\" | \"both\";\n /** The sentence the person agrees to. @default \"I agree and want to sign this form.\" */\n agreement?: string;\n /** The date shown with the signature, in the configured locale. @default today */\n date?: Date;\n /** Help that is announced with the group. */\n hint?: string;\n /** What to fix. Replaces the hint, marks the group invalid and is announced with the group. */\n error?: string;\n /** Disables the fields and the agreement. */\n disabled?: boolean;\n /** The name submitted with a form: the typed name, or the drawn image as a data URL. */\n name?: string;\n /** The id of the typed-name input. @default generated */\n id?: string;\n }>(),\n { mode: \"type\" },\n);\n\n/** `image` is a PNG data URL, empty unless `method` is `draw`. */\nconst model = defineModel<SignatureValue>({\n default: () => ({ method: \"type\", name: \"\", image: \"\", agreed: false }),\n});\n\nconst t = useMessages();\nconst config = useConfig();\nconst id = useUid(() => props.id);\nconst hintId = computed(() => `${id.value}-sign-hint`);\n\nconst method = computed<\"type\" | \"draw\">(() => (props.mode === \"both\" ? model.value.method : props.mode));\nconst dateText = computed(() =>\n new Intl.DateTimeFormat(config.locale, { year: \"numeric\", month: \"long\", day: \"numeric\" }).format(\n props.date ?? new Date(),\n ),\n);\n\nfunction update(patch: Partial<SignatureValue>) {\n const next = { ...model.value, method: method.value, ...patch };\n model.value = { ...next, image: next.method === \"draw\" ? next.image : \"\" };\n}\n</script>\n\n<template>\n <fieldset\n class=\"e-sign\"\n :disabled=\"disabled\"\n :aria-describedby=\"error || hint ? hintId : undefined\"\n :aria-invalid=\"error ? 'true' : undefined\"\n >\n <legend class=\"e-kicker e-sign-legend\">{{ label || t(\"signature\") }}</legend>\n <ESegmented\n v-if=\"mode === 'both'\"\n :label=\"t('signature')\"\n :model-value=\"method\"\n :options=\"[\n { value: 'type', label: t('signType'), icon: 'edit' },\n { value: 'draw', label: t('signDraw'), icon: 'signature' },\n ]\"\n @update:model-value=\"update({ method: $event as 'type' | 'draw', image: '' })\"\n />\n <template v-if=\"method === 'type'\">\n <ETextField\n :id=\"id\"\n :model-value=\"model.name\"\n :label=\"t('typeName')\"\n :placeholder=\"t('fullName')\"\n autocomplete=\"name\"\n required\n :hint=\"t('signHint')\"\n @update:model-value=\"update({ name: $event })\"\n />\n <div class=\"e-sign-line\" aria-live=\"polite\">\n <span v-if=\"model.name\" class=\"e-sign-name\">{{ model.name }}</span>\n <span v-else class=\"e-sign-empty\">{{ t(\"signAppears\") }}</span>\n <span class=\"e-sign-date\">{{ dateText }}</span>\n </div>\n </template>\n <template v-else>\n <ESignaturePad :model-value=\"model.image\" :disabled=\"disabled\" @update:model-value=\"update({ image: $event })\" />\n <p class=\"e-sign-date e-sign-date--solo\">{{ dateText }}</p>\n </template>\n <ECheckbox\n :model-value=\"model.agreed\"\n :label=\"agreement || t('agreeSign')\"\n :disabled=\"disabled\"\n @update:model-value=\"update({ agreed: $event })\"\n />\n <EFieldMessage :id=\"hintId\" :error=\"error\" :hint=\"hint\" />\n <input v-if=\"name\" type=\"hidden\" :name=\"name\" :value=\"method === 'draw' ? model.image : model.name\" />\n </fieldset>\n</template>\n\n<style>\n@layer e.composites {\n .e-sign {\n display: grid;\n gap: var(--e-space-3);\n min-width: 0;\n margin: 0;\n padding: 0;\n border: 0;\n }\n\n .e-sign-legend {\n padding: 0;\n margin-bottom: var(--e-space-2);\n }\n\n .e-sign-line {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n gap: var(--e-space-3);\n min-height: calc(var(--e-control-height) + var(--e-space-1));\n padding: var(--e-space-2) var(--e-space-4);\n border-bottom: var(--e-stroke-edge) solid var(--e-secondary);\n background: var(--e-secondary-soft);\n border-radius: var(--e-radius-md) var(--e-radius-md) 0 0;\n }\n\n .e-sign-name {\n font:\n italic 500 28px/1.1 \"Segoe Script\",\n \"Snell Roundhand\",\n \"Brush Script MT\",\n cursive;\n min-width: 0;\n overflow-wrap: anywhere;\n }\n\n .e-sign-empty {\n font: 400 var(--e-text-md)/1.4 var(--e-font-sans);\n color: var(--e-muted);\n }\n\n .e-sign-date {\n flex: none;\n font: 500 var(--e-text-xs)/1.2 var(--e-font-mono);\n color: var(--e-muted);\n }\n\n .e-sign-date--solo {\n margin: 0;\n }\n}\n</style>\n"],"mappings":""}
|
|
@@ -11,46 +11,50 @@ export interface SignatureValue {
|
|
|
11
11
|
declare const _default: typeof __VLS_export;
|
|
12
12
|
export default _default;
|
|
13
13
|
declare const __VLS_export: import('vue').DefineComponent<{
|
|
14
|
-
/** Names the group and heads it. Say what the form is.
|
|
14
|
+
/** Names the group and heads it. Say what the form is. @default "Signature" */
|
|
15
15
|
label?: string;
|
|
16
16
|
/** `type` the default, `draw`, or `both` which adds a Type and Draw switch. A drawn signature cannot be made from a keyboard, so `both` is the usual choice. */
|
|
17
17
|
mode?: "type" | "draw" | "both";
|
|
18
|
-
/** The sentence the person agrees to.
|
|
18
|
+
/** The sentence the person agrees to. @default "I agree and want to sign this form." */
|
|
19
19
|
agreement?: string;
|
|
20
|
-
/** The date shown with the signature
|
|
20
|
+
/** The date shown with the signature, in the configured locale. @default today */
|
|
21
21
|
date?: Date;
|
|
22
22
|
/** Help that is announced with the group. */
|
|
23
23
|
hint?: string;
|
|
24
|
-
/** What to fix. Replaces the hint and is announced with the group. */
|
|
24
|
+
/** What to fix. Replaces the hint, marks the group invalid and is announced with the group. */
|
|
25
25
|
error?: string;
|
|
26
|
+
/** Disables the fields and the agreement. */
|
|
26
27
|
disabled?: boolean;
|
|
27
28
|
/** The name submitted with a form: the typed name, or the drawn image as a data URL. */
|
|
28
29
|
name?: string;
|
|
29
|
-
/** The id of the typed-name input.
|
|
30
|
+
/** The id of the typed-name input. @default generated */
|
|
30
31
|
id?: string;
|
|
31
32
|
} & {
|
|
33
|
+
/** `image` is a PNG data URL, empty unless `method` is `draw`. */
|
|
32
34
|
modelValue?: SignatureValue;
|
|
33
35
|
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
34
36
|
"update:modelValue": (value: SignatureValue) => any;
|
|
35
37
|
}, string, import('vue').PublicProps, Readonly<{
|
|
36
|
-
/** Names the group and heads it. Say what the form is.
|
|
38
|
+
/** Names the group and heads it. Say what the form is. @default "Signature" */
|
|
37
39
|
label?: string;
|
|
38
40
|
/** `type` the default, `draw`, or `both` which adds a Type and Draw switch. A drawn signature cannot be made from a keyboard, so `both` is the usual choice. */
|
|
39
41
|
mode?: "type" | "draw" | "both";
|
|
40
|
-
/** The sentence the person agrees to.
|
|
42
|
+
/** The sentence the person agrees to. @default "I agree and want to sign this form." */
|
|
41
43
|
agreement?: string;
|
|
42
|
-
/** The date shown with the signature
|
|
44
|
+
/** The date shown with the signature, in the configured locale. @default today */
|
|
43
45
|
date?: Date;
|
|
44
46
|
/** Help that is announced with the group. */
|
|
45
47
|
hint?: string;
|
|
46
|
-
/** What to fix. Replaces the hint and is announced with the group. */
|
|
48
|
+
/** What to fix. Replaces the hint, marks the group invalid and is announced with the group. */
|
|
47
49
|
error?: string;
|
|
50
|
+
/** Disables the fields and the agreement. */
|
|
48
51
|
disabled?: boolean;
|
|
49
52
|
/** The name submitted with a form: the typed name, or the drawn image as a data URL. */
|
|
50
53
|
name?: string;
|
|
51
|
-
/** The id of the typed-name input.
|
|
54
|
+
/** The id of the typed-name input. @default generated */
|
|
52
55
|
id?: string;
|
|
53
56
|
} & {
|
|
57
|
+
/** `image` is a PNG data URL, empty unless `method` is `draw`. */
|
|
54
58
|
modelValue?: SignatureValue;
|
|
55
59
|
}> & Readonly<{
|
|
56
60
|
"onUpdate:modelValue"?: ((value: SignatureValue) => any) | undefined;
|