@umbraco-ui/uui 2.0.0-rc.2 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +103 -1
- package/dist/_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js +9 -0
- package/dist/components/action-bar/action-bar.d.ts +0 -1
- package/dist/components/action-bar/action-bar.element.js +15 -12
- package/dist/components/action-bar/action-bar.element.js.map +1 -1
- package/dist/components/action-bar/action-bar.js +5 -5
- package/dist/components/action-bar/action-bar.js.map +1 -1
- package/dist/components/avatar/avatar.d.ts +0 -1
- package/dist/components/avatar/avatar.element.js +72 -86
- package/dist/components/avatar/avatar.element.js.map +1 -1
- package/dist/components/avatar/avatar.js +5 -5
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/avatar-group/avatar-group.d.ts +0 -1
- package/dist/components/avatar-group/avatar-group.element.js +58 -68
- package/dist/components/avatar-group/avatar-group.element.js.map +1 -1
- package/dist/components/avatar-group/avatar-group.js +5 -5
- package/dist/components/avatar-group/avatar-group.js.map +1 -1
- package/dist/components/badge/badge.d.ts +0 -1
- package/dist/components/badge/badge.element.js +32 -38
- package/dist/components/badge/badge.element.js.map +1 -1
- package/dist/components/badge/badge.js +5 -5
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/boolean-input/UUIBooleanInputEvent.js +15 -13
- package/dist/components/boolean-input/UUIBooleanInputEvent.js.map +1 -1
- package/dist/components/boolean-input/boolean-input.d.ts +0 -1
- package/dist/components/boolean-input/boolean-input.element.js +114 -134
- package/dist/components/boolean-input/boolean-input.element.js.map +1 -1
- package/dist/components/boolean-input/boolean-input.js +3 -0
- package/dist/components/box/box.d.ts +0 -1
- package/dist/components/box/box.element.js +74 -77
- package/dist/components/box/box.element.js.map +1 -1
- package/dist/components/box/box.js +5 -5
- package/dist/components/box/box.js.map +1 -1
- package/dist/components/breadcrumbs/breadcrumb-item.element.js +45 -50
- package/dist/components/breadcrumbs/breadcrumb-item.element.js.map +1 -1
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +0 -1
- package/dist/components/breadcrumbs/breadcrumbs.element.js +40 -47
- package/dist/components/breadcrumbs/breadcrumbs.element.js.map +1 -1
- package/dist/components/breadcrumbs/breadcrumbs.js +5 -6
- package/dist/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/components/button/button.d.ts +0 -1
- package/dist/components/button/button.element.js +147 -199
- package/dist/components/button/button.element.js.map +1 -1
- package/dist/components/button/button.js +5 -5
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/button-copy-text/UUICopyTextEvent.js +16 -12
- package/dist/components/button-copy-text/UUICopyTextEvent.js.map +1 -1
- package/dist/components/button-copy-text/button-copy-text.d.ts +0 -1
- package/dist/components/button-copy-text/button-copy-text.element.js +78 -93
- package/dist/components/button-copy-text/button-copy-text.element.js.map +1 -1
- package/dist/components/button-copy-text/button-copy-text.js +6 -7
- package/dist/components/button-copy-text/button-copy-text.js.map +1 -1
- package/dist/components/button-group/button-group.d.ts +0 -1
- package/dist/components/button-group/button-group.element.js +19 -14
- package/dist/components/button-group/button-group.element.js.map +1 -1
- package/dist/components/button-group/button-group.js +5 -5
- package/dist/components/button-group/button-group.js.map +1 -1
- package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.js +16 -14
- package/dist/components/button-inline-create/UUIButtonInlineCreateEvent.js.map +1 -1
- package/dist/components/button-inline-create/button-inline-create.d.ts +0 -1
- package/dist/components/button-inline-create/button-inline-create.element.js +63 -88
- package/dist/components/button-inline-create/button-inline-create.element.js.map +1 -1
- package/dist/components/button-inline-create/button-inline-create.js +6 -7
- package/dist/components/button-inline-create/button-inline-create.js.map +1 -1
- package/dist/components/card/UUICardEvent.js +9 -7
- package/dist/components/card/UUICardEvent.js.map +1 -1
- package/dist/components/card/card.d.ts +0 -1
- package/dist/components/card/card.element.d.ts +7 -0
- package/dist/components/card/card.element.js +72 -69
- package/dist/components/card/card.element.js.map +1 -1
- package/dist/components/card/card.js +6 -7
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/card-block-type/card-block-type.d.ts +0 -1
- package/dist/components/card-block-type/card-block-type.element.js +55 -74
- package/dist/components/card-block-type/card-block-type.element.js.map +1 -1
- package/dist/components/card-block-type/card-block-type.js +5 -5
- package/dist/components/card-block-type/card-block-type.js.map +1 -1
- package/dist/components/card-content-node/card-content-node.d.ts +0 -1
- package/dist/components/card-content-node/card-content-node.element.d.ts +1 -0
- package/dist/components/card-content-node/card-content-node.element.js +82 -83
- package/dist/components/card-content-node/card-content-node.element.js.map +1 -1
- package/dist/components/card-content-node/card-content-node.js +5 -5
- package/dist/components/card-content-node/card-content-node.js.map +1 -1
- package/dist/components/card-media/card-media.d.ts +0 -1
- package/dist/components/card-media/card-media.element.d.ts +4 -0
- package/dist/components/card-media/card-media.element.js +103 -89
- package/dist/components/card-media/card-media.element.js.map +1 -1
- package/dist/components/card-media/card-media.js +5 -5
- package/dist/components/card-media/card-media.js.map +1 -1
- package/dist/components/card-user/card-user.d.ts +0 -1
- package/dist/components/card-user/card-user.element.js +57 -72
- package/dist/components/card-user/card-user.element.js.map +1 -1
- package/dist/components/card-user/card-user.js +5 -5
- package/dist/components/card-user/card-user.js.map +1 -1
- package/dist/components/checkbox/checkbox.d.ts +0 -1
- package/dist/components/checkbox/checkbox.element.js +41 -22
- package/dist/components/checkbox/checkbox.element.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +5 -5
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/color-area/UUIColorAreaEvent.js +15 -13
- package/dist/components/color-area/UUIColorAreaEvent.js.map +1 -1
- package/dist/components/color-area/color-area.d.ts +0 -1
- package/dist/components/color-area/color-area.element.js +137 -174
- package/dist/components/color-area/color-area.element.js.map +1 -1
- package/dist/components/color-area/color-area.js +6 -7
- package/dist/components/color-area/color-area.js.map +1 -1
- package/dist/components/color-picker/UUIColorPickerEvent.js +15 -13
- package/dist/components/color-picker/UUIColorPickerEvent.js.map +1 -1
- package/dist/components/color-picker/color-picker.d.ts +0 -1
- package/dist/components/color-picker/color-picker.element.js +293 -334
- package/dist/components/color-picker/color-picker.element.js.map +1 -1
- package/dist/components/color-picker/color-picker.js +6 -7
- package/dist/components/color-picker/color-picker.js.map +1 -1
- package/dist/components/color-slider/UUIColorSliderEvent.js +15 -13
- package/dist/components/color-slider/UUIColorSliderEvent.js.map +1 -1
- package/dist/components/color-slider/color-slider.d.ts +0 -1
- package/dist/components/color-slider/color-slider.element.js +169 -219
- package/dist/components/color-slider/color-slider.element.js.map +1 -1
- package/dist/components/color-slider/color-slider.js +6 -7
- package/dist/components/color-slider/color-slider.js.map +1 -1
- package/dist/components/color-swatch/color-swatch.d.ts +0 -1
- package/dist/components/color-swatch/color-swatch.element.d.ts +1 -1
- package/dist/components/color-swatch/color-swatch.element.js +215 -201
- package/dist/components/color-swatch/color-swatch.element.js.map +1 -1
- package/dist/components/color-swatch/color-swatch.js +5 -5
- package/dist/components/color-swatch/color-swatch.js.map +1 -1
- package/dist/components/color-swatches/UUIColorSwatchesEvent.js +15 -13
- package/dist/components/color-swatches/UUIColorSwatchesEvent.js.map +1 -1
- package/dist/components/color-swatches/color-swatches.d.ts +0 -1
- package/dist/components/color-swatches/color-swatches.element.js +115 -132
- package/dist/components/color-swatches/color-swatches.element.js.map +1 -1
- package/dist/components/color-swatches/color-swatches.js +6 -7
- package/dist/components/color-swatches/color-swatches.js.map +1 -1
- package/dist/components/combobox/UUIComboboxEvent.js +18 -14
- package/dist/components/combobox/UUIComboboxEvent.js.map +1 -1
- package/dist/components/combobox/combobox.d.ts +0 -1
- package/dist/components/combobox/combobox.element.js +321 -425
- package/dist/components/combobox/combobox.element.js.map +1 -1
- package/dist/components/combobox/combobox.js +6 -7
- package/dist/components/combobox/combobox.js.map +1 -1
- package/dist/components/combobox-list/UUIComboboxListEvent.js +18 -14
- package/dist/components/combobox-list/UUIComboboxListEvent.js.map +1 -1
- package/dist/components/combobox-list/combobox-list-option.element.js +88 -80
- package/dist/components/combobox-list/combobox-list-option.element.js.map +1 -1
- package/dist/components/combobox-list/combobox-list.d.ts +0 -1
- package/dist/components/combobox-list/combobox-list.element.js +218 -275
- package/dist/components/combobox-list/combobox-list.element.js.map +1 -1
- package/dist/components/combobox-list/combobox-list.js +6 -8
- package/dist/components/combobox-list/combobox-list.js.map +1 -1
- package/dist/components/dialog/dialog.d.ts +0 -1
- package/dist/components/dialog/dialog.element.js +19 -14
- package/dist/components/dialog/dialog.element.js.map +1 -1
- package/dist/components/dialog/dialog.js +5 -5
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/dialog-layout/dialog-layout.d.ts +0 -1
- package/dist/components/dialog-layout/dialog-layout.element.js +59 -64
- package/dist/components/dialog-layout/dialog-layout.element.js.map +1 -1
- package/dist/components/dialog-layout/dialog-layout.js +5 -5
- package/dist/components/dialog-layout/dialog-layout.js.map +1 -1
- package/dist/components/file-dropzone/UUIFileDropzoneEvent.js +18 -14
- package/dist/components/file-dropzone/UUIFileDropzoneEvent.js.map +1 -1
- package/dist/components/file-dropzone/file-dropzone.d.ts +0 -1
- package/dist/components/file-dropzone/file-dropzone.element.js +214 -257
- package/dist/components/file-dropzone/file-dropzone.element.js.map +1 -1
- package/dist/components/file-dropzone/file-dropzone.js +6 -7
- package/dist/components/file-dropzone/file-dropzone.js.map +1 -1
- package/dist/components/file-preview/UUIFileSize.js +46 -19
- package/dist/components/file-preview/UUIFileSize.js.map +1 -1
- package/dist/components/file-preview/file-preview.d.ts +0 -1
- package/dist/components/file-preview/file-preview.element.js +78 -103
- package/dist/components/file-preview/file-preview.element.js.map +1 -1
- package/dist/components/file-preview/file-preview.js +6 -5
- package/dist/components/file-preview/file-preview.js.map +1 -1
- package/dist/components/form/form.d.ts +0 -1
- package/dist/components/form/form.element.js +46 -46
- package/dist/components/form/form.element.js.map +1 -1
- package/dist/components/form/form.js +5 -5
- package/dist/components/form/form.js.map +1 -1
- package/dist/components/form-layout-item/form-layout-item.d.ts +0 -1
- package/dist/components/form-layout-item/form-layout-item.element.js +39 -45
- package/dist/components/form-layout-item/form-layout-item.element.js.map +1 -1
- package/dist/components/form-layout-item/form-layout-item.js +5 -5
- package/dist/components/form-layout-item/form-layout-item.js.map +1 -1
- package/dist/components/form-validation-message/form-validation-message.d.ts +0 -1
- package/dist/components/form-validation-message/form-validation-message.element.js +71 -89
- package/dist/components/form-validation-message/form-validation-message.element.js.map +1 -1
- package/dist/components/form-validation-message/form-validation-message.js +5 -5
- package/dist/components/form-validation-message/form-validation-message.js.map +1 -1
- package/dist/components/icon/UUIIconRequestEvent.js +21 -19
- package/dist/components/icon/UUIIconRequestEvent.js.map +1 -1
- package/dist/components/icon/icon.d.ts +0 -1
- package/dist/components/icon/icon.element.js +93 -117
- package/dist/components/icon/icon.element.js.map +1 -1
- package/dist/components/icon/icon.js +6 -7
- package/dist/components/icon/icon.js.map +1 -1
- package/dist/components/icon-registry/UUIIconHost.js +16 -17
- package/dist/components/icon-registry/UUIIconHost.js.map +1 -1
- package/dist/components/icon-registry/UUIIconRegistry.js +67 -77
- package/dist/components/icon-registry/UUIIconRegistry.js.map +1 -1
- package/dist/components/icon-registry/icon-registry.d.ts +0 -1
- package/dist/components/icon-registry/icon-registry.element.js +39 -48
- package/dist/components/icon-registry/icon-registry.element.js.map +1 -1
- package/dist/components/icon-registry/icon-registry.js +7 -6
- package/dist/components/icon-registry/icon-registry.js.map +1 -1
- package/dist/components/icon-registry-essential/UUIIconRegistryEssential.js +44 -42
- package/dist/components/icon-registry-essential/UUIIconRegistryEssential.js.map +1 -1
- package/dist/components/icon-registry-essential/icon-registry-essential.d.ts +0 -1
- package/dist/components/icon-registry-essential/icon-registry-essential.element.js +15 -9
- package/dist/components/icon-registry-essential/icon-registry-essential.element.js.map +1 -1
- package/dist/components/icon-registry-essential/icon-registry-essential.js +6 -39
- package/dist/components/icon-registry-essential/icon-registry-essential.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconAdd.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconAdd.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconAlert.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconAlert.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconAttachment.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconAttachment.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconCalendar.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconCalendar.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconCheck.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconCheck.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconClipboard.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconClipboard.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconCode.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconCode.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconColorPicker.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconColorPicker.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconCopy.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconCopy.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconDelete.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconDelete.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconDocument.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconDocument.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconDownload.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconDownload.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconDrag.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconDrag.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconEdit.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconEdit.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconFavorite.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconFavorite.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconFolder.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconFolder.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconForbidden.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconForbidden.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconInfo.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconInfo.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconLink.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconLink.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconLock.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconLock.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconPause.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconPause.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconPicture.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconPicture.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconPlay.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconPlay.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconRemove.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconRemove.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconSearch.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconSearch.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconSee.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconSee.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconSettings.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconSettings.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconSubtract.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconSubtract.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconSync.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconSync.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconUnlock.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconUnlock.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconUnsee.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconUnsee.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconWand.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconWand.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/iconWrong.js +6 -5
- package/dist/components/icon-registry-essential/svgs/iconWrong.js.map +1 -1
- package/dist/components/icon-registry-essential/svgs/index.js +34 -0
- package/dist/components/index.js +206 -0
- package/dist/components/input/UUIInputEvent.js +18 -14
- package/dist/components/input/UUIInputEvent.js.map +1 -1
- package/dist/components/input/input.d.ts +0 -1
- package/dist/components/input/input.element.js +176 -201
- package/dist/components/input/input.element.js.map +1 -1
- package/dist/components/input/input.js +6 -7
- package/dist/components/input/input.js.map +1 -1
- package/dist/components/input-file/input-file.d.ts +0 -1
- package/dist/components/input-file/input-file.element.js +137 -211
- package/dist/components/input-file/input-file.element.js.map +1 -1
- package/dist/components/input-file/input-file.js +5 -5
- package/dist/components/input-file/input-file.js.map +1 -1
- package/dist/components/input-lock/UUIInputLockEvent.js +15 -13
- package/dist/components/input-lock/UUIInputLockEvent.js.map +1 -1
- package/dist/components/input-lock/input-lock.d.ts +0 -1
- package/dist/components/input-lock/input-lock.element.js +69 -105
- package/dist/components/input-lock/input-lock.element.js.map +1 -1
- package/dist/components/input-lock/input-lock.js +6 -7
- package/dist/components/input-lock/input-lock.js.map +1 -1
- package/dist/components/input-password/input-password.d.ts +0 -1
- package/dist/components/input-password/input-password.element.js +45 -90
- package/dist/components/input-password/input-password.element.js.map +1 -1
- package/dist/components/input-password/input-password.js +5 -5
- package/dist/components/input-password/input-password.js.map +1 -1
- package/dist/components/keyboard-shortcut/key.element.js +19 -14
- package/dist/components/keyboard-shortcut/key.element.js.map +1 -1
- package/dist/components/keyboard-shortcut/keyboard-shortcut.d.ts +0 -1
- package/dist/components/keyboard-shortcut/keyboard-shortcut.element.js +19 -14
- package/dist/components/keyboard-shortcut/keyboard-shortcut.element.js.map +1 -1
- package/dist/components/keyboard-shortcut/keyboard-shortcut.js +5 -6
- package/dist/components/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/dist/components/label/label.d.ts +0 -1
- package/dist/components/label/label.element.js +52 -54
- package/dist/components/label/label.element.js.map +1 -1
- package/dist/components/label/label.js +5 -5
- package/dist/components/label/label.js.map +1 -1
- package/dist/components/loader/loader.d.ts +0 -1
- package/dist/components/loader/loader.element.js +18 -14
- package/dist/components/loader/loader.element.js.map +1 -1
- package/dist/components/loader/loader.js +5 -5
- package/dist/components/loader/loader.js.map +1 -1
- package/dist/components/loader-bar/loader-bar.d.ts +0 -1
- package/dist/components/loader-bar/loader-bar.element.js +55 -52
- package/dist/components/loader-bar/loader-bar.element.js.map +1 -1
- package/dist/components/loader-bar/loader-bar.js +5 -5
- package/dist/components/loader-bar/loader-bar.js.map +1 -1
- package/dist/components/loader-circle/loader-circle.d.ts +0 -1
- package/dist/components/loader-circle/loader-circle.element.js +52 -59
- package/dist/components/loader-circle/loader-circle.element.js.map +1 -1
- package/dist/components/loader-circle/loader-circle.js +5 -5
- package/dist/components/loader-circle/loader-circle.js.map +1 -1
- package/dist/components/menu-item/UUIMenuItemEvent.js +15 -9
- package/dist/components/menu-item/UUIMenuItemEvent.js.map +1 -1
- package/dist/components/menu-item/menu-item.d.ts +0 -1
- package/dist/components/menu-item/menu-item.element.js +136 -139
- package/dist/components/menu-item/menu-item.element.js.map +1 -1
- package/dist/components/menu-item/menu-item.js +6 -7
- package/dist/components/menu-item/menu-item.js.map +1 -1
- package/dist/components/modal/modal-container.js +86 -141
- package/dist/components/modal/modal-container.js.map +1 -1
- package/dist/components/modal/modal-dialog.element.js +14 -15
- package/dist/components/modal/modal-dialog.element.js.map +1 -1
- package/dist/components/modal/modal-sidebar.element.js +41 -64
- package/dist/components/modal/modal-sidebar.element.js.map +1 -1
- package/dist/components/modal/modal.d.ts +0 -1
- package/dist/components/modal/modal.element.js +89 -106
- package/dist/components/modal/modal.element.js.map +1 -1
- package/dist/components/modal/modal.js +6 -12
- package/dist/components/modal/modal.js.map +1 -1
- package/dist/components/pagination/UUIPaginationEvent.js +15 -13
- package/dist/components/pagination/UUIPaginationEvent.js.map +1 -1
- package/dist/components/pagination/pagination.d.ts +0 -1
- package/dist/components/pagination/pagination.element.js +188 -228
- package/dist/components/pagination/pagination.element.js.map +1 -1
- package/dist/components/pagination/pagination.js +6 -7
- package/dist/components/pagination/pagination.js.map +1 -1
- package/dist/components/popover-container/popover-container.d.ts +0 -1
- package/dist/components/popover-container/popover-container.element.d.ts +1 -0
- package/dist/components/popover-container/popover-container.element.js +290 -335
- package/dist/components/popover-container/popover-container.element.js.map +1 -1
- package/dist/components/popover-container/popover-container.js +5 -5
- package/dist/components/popover-container/popover-container.js.map +1 -1
- package/dist/components/progress-bar/progress-bar.d.ts +0 -1
- package/dist/components/progress-bar/progress-bar.element.js +41 -43
- package/dist/components/progress-bar/progress-bar.element.js.map +1 -1
- package/dist/components/progress-bar/progress-bar.js +5 -5
- package/dist/components/progress-bar/progress-bar.js.map +1 -1
- package/dist/components/radio/UUIRadioEvent.js +15 -13
- package/dist/components/radio/UUIRadioEvent.js.map +1 -1
- package/dist/components/radio/UUIRadioGroupEvent.js +15 -13
- package/dist/components/radio/UUIRadioGroupEvent.js.map +1 -1
- package/dist/components/radio/radio-group.element.js +224 -279
- package/dist/components/radio/radio-group.element.js.map +1 -1
- package/dist/components/radio/radio.d.ts +0 -1
- package/dist/components/radio/radio.element.js +100 -123
- package/dist/components/radio/radio.element.js.map +1 -1
- package/dist/components/radio/radio.js +7 -10
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/range-slider/UUIRangeSliderEvent.js +18 -14
- package/dist/components/range-slider/UUIRangeSliderEvent.js.map +1 -1
- package/dist/components/range-slider/range-slider.d.ts +0 -1
- package/dist/components/range-slider/range-slider.element.js +439 -504
- package/dist/components/range-slider/range-slider.element.js.map +1 -1
- package/dist/components/range-slider/range-slider.js +6 -7
- package/dist/components/range-slider/range-slider.js.map +1 -1
- package/dist/components/ref/UUIRefEvent.js +9 -7
- package/dist/components/ref/UUIRefEvent.js.map +1 -1
- package/dist/components/ref/ref.d.ts +0 -1
- package/dist/components/ref/ref.element.js +55 -50
- package/dist/components/ref/ref.element.js.map +1 -1
- package/dist/components/ref/ref.js +6 -7
- package/dist/components/ref/ref.js.map +1 -1
- package/dist/components/ref-list/ref-list.d.ts +0 -1
- package/dist/components/ref-list/ref-list.element.js +17 -14
- package/dist/components/ref-list/ref-list.element.js.map +1 -1
- package/dist/components/ref-list/ref-list.js +5 -5
- package/dist/components/ref-list/ref-list.js.map +1 -1
- package/dist/components/ref-node/ref-node.d.ts +0 -1
- package/dist/components/ref-node/ref-node.element.js +91 -109
- package/dist/components/ref-node/ref-node.element.js.map +1 -1
- package/dist/components/ref-node/ref-node.js +5 -5
- package/dist/components/ref-node/ref-node.js.map +1 -1
- package/dist/components/ref-node-data-type/ref-node-data-type.d.ts +0 -1
- package/dist/components/ref-node-data-type/ref-node-data-type.element.js +30 -35
- package/dist/components/ref-node-data-type/ref-node-data-type.element.js.map +1 -1
- package/dist/components/ref-node-data-type/ref-node-data-type.js +5 -5
- package/dist/components/ref-node-data-type/ref-node-data-type.js.map +1 -1
- package/dist/components/ref-node-document-type/ref-node-document-type.d.ts +0 -1
- package/dist/components/ref-node-document-type/ref-node-document-type.element.js +30 -35
- package/dist/components/ref-node-document-type/ref-node-document-type.element.js.map +1 -1
- package/dist/components/ref-node-document-type/ref-node-document-type.js +5 -5
- package/dist/components/ref-node-document-type/ref-node-document-type.js.map +1 -1
- package/dist/components/ref-node-form/ref-node-form.d.ts +0 -1
- package/dist/components/ref-node-form/ref-node-form.element.js +21 -12
- package/dist/components/ref-node-form/ref-node-form.element.js.map +1 -1
- package/dist/components/ref-node-form/ref-node-form.js +5 -5
- package/dist/components/ref-node-form/ref-node-form.js.map +1 -1
- package/dist/components/ref-node-member/ref-node-member.d.ts +0 -1
- package/dist/components/ref-node-member/ref-node-member.element.js +33 -35
- package/dist/components/ref-node-member/ref-node-member.element.js.map +1 -1
- package/dist/components/ref-node-member/ref-node-member.js +5 -5
- package/dist/components/ref-node-member/ref-node-member.js.map +1 -1
- package/dist/components/ref-node-package/ref-node-package.d.ts +0 -1
- package/dist/components/ref-node-package/ref-node-package.element.js +33 -42
- package/dist/components/ref-node-package/ref-node-package.element.js.map +1 -1
- package/dist/components/ref-node-package/ref-node-package.js +5 -5
- package/dist/components/ref-node-package/ref-node-package.js.map +1 -1
- package/dist/components/ref-node-user/ref-node-user.d.ts +0 -1
- package/dist/components/ref-node-user/ref-node-user.element.js +33 -35
- package/dist/components/ref-node-user/ref-node-user.element.js.map +1 -1
- package/dist/components/ref-node-user/ref-node-user.js +5 -5
- package/dist/components/ref-node-user/ref-node-user.js.map +1 -1
- package/dist/components/responsive-container/responsive-container.d.ts +0 -1
- package/dist/components/responsive-container/responsive-container.element.js +186 -244
- package/dist/components/responsive-container/responsive-container.element.js.map +1 -1
- package/dist/components/responsive-container/responsive-container.js +5 -5
- package/dist/components/responsive-container/responsive-container.js.map +1 -1
- package/dist/components/scroll-container/scroll-container.d.ts +0 -1
- package/dist/components/scroll-container/scroll-container.element.js +35 -36
- package/dist/components/scroll-container/scroll-container.element.js.map +1 -1
- package/dist/components/scroll-container/scroll-container.js +5 -5
- package/dist/components/scroll-container/scroll-container.js.map +1 -1
- package/dist/components/select/UUISelectEvent.js +15 -13
- package/dist/components/select/UUISelectEvent.js.map +1 -1
- package/dist/components/select/select.d.ts +0 -1
- package/dist/components/select/select.element.js +134 -163
- package/dist/components/select/select.element.js.map +1 -1
- package/dist/components/select/select.js +6 -7
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/slider/UUISliderEvent.js +18 -14
- package/dist/components/slider/UUISliderEvent.js.map +1 -1
- package/dist/components/slider/native-input.styles.js +6 -5
- package/dist/components/slider/native-input.styles.js.map +1 -1
- package/dist/components/slider/slider.d.ts +0 -1
- package/dist/components/slider/slider.element.d.ts +7 -0
- package/dist/components/slider/slider.element.js +197 -227
- package/dist/components/slider/slider.element.js.map +1 -1
- package/dist/components/slider/slider.js +6 -7
- package/dist/components/slider/slider.js.map +1 -1
- package/dist/components/symbol-drag-handle/symbol-drag-handle.d.ts +0 -1
- package/dist/components/symbol-drag-handle/symbol-drag-handle.element.js +19 -16
- package/dist/components/symbol-drag-handle/symbol-drag-handle.element.js.map +1 -1
- package/dist/components/symbol-drag-handle/symbol-drag-handle.js +5 -5
- package/dist/components/symbol-drag-handle/symbol-drag-handle.js.map +1 -1
- package/dist/components/symbol-expand/symbol-expand.d.ts +0 -1
- package/dist/components/symbol-expand/symbol-expand.element.js +27 -30
- package/dist/components/symbol-expand/symbol-expand.element.js.map +1 -1
- package/dist/components/symbol-expand/symbol-expand.js +5 -5
- package/dist/components/symbol-expand/symbol-expand.js.map +1 -1
- package/dist/components/symbol-file/symbol-file.d.ts +0 -1
- package/dist/components/symbol-file/symbol-file.element.js +24 -32
- package/dist/components/symbol-file/symbol-file.element.js.map +1 -1
- package/dist/components/symbol-file/symbol-file.js +5 -5
- package/dist/components/symbol-file/symbol-file.js.map +1 -1
- package/dist/components/symbol-file-dropzone/symbol-file-dropzone.d.ts +0 -1
- package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.js +26 -30
- package/dist/components/symbol-file-dropzone/symbol-file-dropzone.element.js.map +1 -1
- package/dist/components/symbol-file-dropzone/symbol-file-dropzone.js +5 -5
- package/dist/components/symbol-file-dropzone/symbol-file-dropzone.js.map +1 -1
- package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.d.ts +0 -1
- package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.js +39 -95
- package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.element.js.map +1 -1
- package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.js +5 -5
- package/dist/components/symbol-file-thumbnail/symbol-file-thumbnail.js.map +1 -1
- package/dist/components/symbol-folder/symbol-folder.d.ts +0 -1
- package/dist/components/symbol-folder/symbol-folder.element.js +17 -14
- package/dist/components/symbol-folder/symbol-folder.element.js.map +1 -1
- package/dist/components/symbol-folder/symbol-folder.js +5 -5
- package/dist/components/symbol-folder/symbol-folder.js.map +1 -1
- package/dist/components/symbol-lock/symbol-lock.d.ts +0 -1
- package/dist/components/symbol-lock/symbol-lock.element.js +26 -30
- package/dist/components/symbol-lock/symbol-lock.element.js.map +1 -1
- package/dist/components/symbol-lock/symbol-lock.js +5 -5
- package/dist/components/symbol-lock/symbol-lock.js.map +1 -1
- package/dist/components/symbol-more/symbol-more.d.ts +0 -1
- package/dist/components/symbol-more/symbol-more.element.js +17 -14
- package/dist/components/symbol-more/symbol-more.element.js.map +1 -1
- package/dist/components/symbol-more/symbol-more.js +5 -5
- package/dist/components/symbol-more/symbol-more.js.map +1 -1
- package/dist/components/symbol-sort/symbol-sort.d.ts +0 -1
- package/dist/components/symbol-sort/symbol-sort.element.js +29 -31
- package/dist/components/symbol-sort/symbol-sort.element.js.map +1 -1
- package/dist/components/symbol-sort/symbol-sort.js +5 -5
- package/dist/components/symbol-sort/symbol-sort.js.map +1 -1
- package/dist/components/table/table-cell.element.js +65 -71
- package/dist/components/table/table-cell.element.js.map +1 -1
- package/dist/components/table/table-column.element.js +14 -10
- package/dist/components/table/table-column.element.js.map +1 -1
- package/dist/components/table/table-head-cell.element.js +19 -16
- package/dist/components/table/table-head-cell.element.js.map +1 -1
- package/dist/components/table/table-head.element.js +23 -18
- package/dist/components/table/table-head.element.js.map +1 -1
- package/dist/components/table/table-row.element.js +41 -52
- package/dist/components/table/table-row.element.js.map +1 -1
- package/dist/components/table/table.d.ts +0 -1
- package/dist/components/table/table.element.js +31 -20
- package/dist/components/table/table.element.js.map +1 -1
- package/dist/components/table/table.js +5 -10
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/tabs/UUITabEvent.js +6 -6
- package/dist/components/tabs/UUITabEvent.js.map +1 -1
- package/dist/components/tabs/UUITabGroupEvent.js +6 -6
- package/dist/components/tabs/UUITabGroupEvent.js.map +1 -1
- package/dist/components/tabs/tab-group.element.js +188 -251
- package/dist/components/tabs/tab-group.element.js.map +1 -1
- package/dist/components/tabs/tab.element.js +66 -56
- package/dist/components/tabs/tab.element.js.map +1 -1
- package/dist/components/tabs/tabs.d.ts +0 -1
- package/dist/components/tabs/tabs.js +7 -6
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/tag/tag.d.ts +0 -1
- package/dist/components/tag/tag.element.js +32 -34
- package/dist/components/tag/tag.element.js.map +1 -1
- package/dist/components/tag/tag.js +5 -5
- package/dist/components/tag/tag.js.map +1 -1
- package/dist/components/textarea/UUITextareaEvent.js +18 -14
- package/dist/components/textarea/UUITextareaEvent.js.map +1 -1
- package/dist/components/textarea/textarea.d.ts +0 -1
- package/dist/components/textarea/textarea.element.d.ts +2 -0
- package/dist/components/textarea/textarea.element.js +153 -180
- package/dist/components/textarea/textarea.element.js.map +1 -1
- package/dist/components/textarea/textarea.js +6 -7
- package/dist/components/textarea/textarea.js.map +1 -1
- package/dist/components/toast-notification/UUIToastNotificationEvent.js +18 -10
- package/dist/components/toast-notification/UUIToastNotificationEvent.js.map +1 -1
- package/dist/components/toast-notification/toast-notification.d.ts +0 -1
- package/dist/components/toast-notification/toast-notification.element.js +155 -224
- package/dist/components/toast-notification/toast-notification.element.js.map +1 -1
- package/dist/components/toast-notification/toast-notification.js +6 -7
- package/dist/components/toast-notification/toast-notification.js.map +1 -1
- package/dist/components/toast-notification-container/toast-notification-container.d.ts +0 -1
- package/dist/components/toast-notification-container/toast-notification-container.element.js +98 -122
- package/dist/components/toast-notification-container/toast-notification-container.element.js.map +1 -1
- package/dist/components/toast-notification-container/toast-notification-container.js +6 -9
- package/dist/components/toast-notification-container/toast-notification-container.js.map +1 -1
- package/dist/components/toast-notification-layout/toast-notification-layout.d.ts +0 -1
- package/dist/components/toast-notification-layout/toast-notification-layout.element.js +33 -39
- package/dist/components/toast-notification-layout/toast-notification-layout.element.js.map +1 -1
- package/dist/components/toast-notification-layout/toast-notification-layout.js +6 -9
- package/dist/components/toast-notification-layout/toast-notification-layout.js.map +1 -1
- package/dist/components/toggle/toggle.d.ts +0 -1
- package/dist/components/toggle/toggle.element.js +43 -54
- package/dist/components/toggle/toggle.element.js.map +1 -1
- package/dist/components/toggle/toggle.js +5 -5
- package/dist/components/toggle/toggle.js.map +1 -1
- package/dist/components/visually-hidden/visually-hidden.d.ts +0 -1
- package/dist/components/visually-hidden/visually-hidden.element.js +17 -14
- package/dist/components/visually-hidden/visually-hidden.element.js.map +1 -1
- package/dist/components/visually-hidden/visually-hidden.js +5 -5
- package/dist/components/visually-hidden/visually-hidden.js.map +1 -1
- package/dist/index.js +115 -359
- package/dist/internal/animations/uui-blink.js +7 -7
- package/dist/internal/animations/uui-blink.js.map +1 -1
- package/dist/internal/animations/uui-pulse.js +7 -9
- package/dist/internal/animations/uui-pulse.js.map +1 -1
- package/dist/internal/animations/uui-shake.js +7 -9
- package/dist/internal/animations/uui-shake.js.map +1 -1
- package/dist/internal/events/UUIEvent.js +13 -9
- package/dist/internal/events/UUIEvent.js.map +1 -1
- package/dist/internal/events/UUIFormControlEvent.d.ts +2 -2
- package/dist/internal/events/UUIFormControlEvent.js +18 -14
- package/dist/internal/events/UUIFormControlEvent.js.map +1 -1
- package/dist/internal/events/UUISelectableEvent.js +19 -15
- package/dist/internal/events/UUISelectableEvent.js.map +1 -1
- package/dist/internal/mixins/ActiveMixin.js +24 -24
- package/dist/internal/mixins/ActiveMixin.js.map +1 -1
- package/dist/internal/mixins/FormControlMixin.d.ts +3 -3
- package/dist/internal/mixins/FormControlMixin.js +276 -339
- package/dist/internal/mixins/FormControlMixin.js.map +1 -1
- package/dist/internal/mixins/FormControlWithBasicsMixin.d.ts +19 -3
- package/dist/internal/mixins/FormControlWithBasicsMixin.js +54 -60
- package/dist/internal/mixins/FormControlWithBasicsMixin.js.map +1 -1
- package/dist/internal/mixins/LabelMixin.js +54 -57
- package/dist/internal/mixins/LabelMixin.js.map +1 -1
- package/dist/internal/mixins/PopoverTargetMixin.js +43 -47
- package/dist/internal/mixins/PopoverTargetMixin.js.map +1 -1
- package/dist/internal/mixins/SelectOnlyMixin.js +39 -33
- package/dist/internal/mixins/SelectOnlyMixin.js.map +1 -1
- package/dist/internal/mixins/SelectableMixin.js +109 -121
- package/dist/internal/mixins/SelectableMixin.js.map +1 -1
- package/dist/internal/registration/index.js +17 -20
- package/dist/internal/registration/index.js.map +1 -1
- package/dist/internal/types/InterfaceColor.js +11 -10
- package/dist/internal/types/InterfaceColor.js.map +1 -1
- package/dist/internal/types/InterfaceHeading.js +12 -11
- package/dist/internal/types/InterfaceHeading.js.map +1 -1
- package/dist/internal/types/InterfaceLook.js +11 -10
- package/dist/internal/types/InterfaceLook.js.map +1 -1
- package/dist/internal/utils/Timer.js +56 -61
- package/dist/internal/utils/Timer.js.map +1 -1
- package/dist/internal/utils/color.js +105 -74
- package/dist/internal/utils/color.js.map +1 -1
- package/dist/internal/utils/drag.js +27 -36
- package/dist/internal/utils/drag.js.map +1 -1
- package/dist/internal/utils/findAncestorByAttributeValue.js +22 -19
- package/dist/internal/utils/findAncestorByAttributeValue.js.map +1 -1
- package/dist/internal/utils/math.js +23 -13
- package/dist/internal/utils/math.js.map +1 -1
- package/dist/internal/utils/slotHasContent.js +6 -5
- package/dist/internal/utils/slotHasContent.js.map +1 -1
- package/dist/internal/version.js +10 -16
- package/dist/internal/version.js.map +1 -1
- package/dist/package.json.js +6 -5
- package/dist/package.json.js.map +1 -1
- package/dist/styles/uui-font.css +1 -1
- package/dist/styles/uui-text.css +1 -1
- package/dist/styles/uui-text.css.js +6 -5
- package/dist/styles/uui-text.css.js.map +1 -1
- package/dist/styles/uui-text.styles.js +7 -6
- package/dist/styles/uui-text.styles.js.map +1 -1
- package/dist/themes/dark.css +1 -1
- package/dist/themes/high-contrast.css +1 -1
- package/dist/themes/light.css +1 -1
- package/package.json +26 -25
- package/vscode.html-custom-data.json +36 -7
- package/dist/index.js.map +0 -1
|
@@ -1,119 +1,125 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
};
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
7
|
-
var _UUIInputElement_instances, onKeyDown_fn;
|
|
8
|
-
import { LitElement, html, css } from "lit";
|
|
1
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js";
|
|
2
|
+
import { LabelMixin } from "../../internal/mixins/LabelMixin.js";
|
|
3
|
+
import { UUIFormControlMixin as UUIFormControlWithBasicsMixin } from "../../internal/mixins/FormControlWithBasicsMixin.js";
|
|
4
|
+
import { UUIInputEvent } from "./UUIInputEvent.js";
|
|
5
|
+
import { LitElement, css, html } from "lit";
|
|
9
6
|
import { property, query } from "lit/decorators.js";
|
|
10
7
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
8
|
+
//#region src/components/input/input.element.ts
|
|
9
|
+
/**
|
|
10
|
+
* Custom element wrapping the native input element.This is a formAssociated element, meaning it can participate in a native HTMLForm. A name:value pair will be submitted.
|
|
11
|
+
* @element uui-input
|
|
12
|
+
* @slot prepend - for components to render to the left of the input.
|
|
13
|
+
* @slot append - for components to render to the right of the input.
|
|
14
|
+
* @property {boolean} spellcheck - get/set native spellcheck attribute
|
|
15
|
+
* @attribute spellcheck - native spellcheck attribute
|
|
16
|
+
* @property {string} value - get/set the value of the input
|
|
17
|
+
* @attribute value - get/set the value of the input
|
|
18
|
+
* @property {string} name - get/set the name of the input
|
|
19
|
+
* @attribute name - get/set the name of the input
|
|
20
|
+
* @fires UUIInputEvent#change on change
|
|
21
|
+
* @fires InputEvent#input on input
|
|
22
|
+
* @fires KeyboardEvent#keyup on keyup
|
|
23
|
+
* @cssprop --uui-input-height - Height of the element
|
|
24
|
+
* @cssprop --uui-input-background-color - Background color of the element
|
|
25
|
+
* @cssprop --uui-input-background-color-disabled - Background color when disabled
|
|
26
|
+
* @cssprop --uui-input-background-color-readonly - Background color when readonly
|
|
27
|
+
* @cssprop --uui-input-border-width - Border width
|
|
28
|
+
* @cssprop --uui-input-border-radius - Border radius
|
|
29
|
+
* @cssprop --uui-input-border-color - Border color
|
|
30
|
+
* @cssprop --uui-input-border-color-hover - Border color on hover
|
|
31
|
+
* @cssprop --uui-input-border-color-focus - Border color on focus
|
|
32
|
+
* @cssprop --uui-input-border-color-disabled - Border color when disabled
|
|
33
|
+
* @cssprop --uui-input-border-color-readonly - Border color when readonly
|
|
34
|
+
*/
|
|
35
|
+
var UUIInputElement = class extends UUIFormControlWithBasicsMixin(LabelMixin("", LitElement), "") {
|
|
36
|
+
static {
|
|
37
|
+
this.formAssociated = true;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* This property specifies the type of input that will be rendered.
|
|
41
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types|MDN} for further information
|
|
42
|
+
* @type {'text' | 'tel' | 'url' | 'email' | 'password' | 'date' | 'month' | 'week' | 'time' | 'datetime-local' | 'number' | 'color'}
|
|
43
|
+
* @attr
|
|
44
|
+
* @default text
|
|
45
|
+
*/
|
|
46
|
+
get type() {
|
|
47
|
+
return this._type;
|
|
48
|
+
}
|
|
49
|
+
set type(value) {
|
|
50
|
+
this._type = value;
|
|
51
|
+
}
|
|
52
|
+
constructor() {
|
|
53
|
+
super();
|
|
54
|
+
this.minlengthMessage = (charsLeft) => `${charsLeft} characters left`;
|
|
55
|
+
this.maxlengthMessage = (max, current) => `Maximum ${max} characters, ${current - max} too many.`;
|
|
56
|
+
this.disabled = false;
|
|
57
|
+
this.readonly = false;
|
|
58
|
+
this.placeholder = "";
|
|
59
|
+
this.autoWidth = false;
|
|
60
|
+
this.inputMode = "text";
|
|
61
|
+
this.tabIndex = 0;
|
|
62
|
+
this._type = "text";
|
|
63
|
+
this.addEventListener("keydown", this.#onKeyDown);
|
|
64
|
+
this.addValidator("tooShort", () => {
|
|
65
|
+
const label = this.minlengthMessage;
|
|
66
|
+
if (typeof label === "function") return label(this.minlength ? this.minlength - String(this.value).length : 0);
|
|
67
|
+
return label;
|
|
68
|
+
}, () => !!this.minlength && String(this.value).length < this.minlength);
|
|
69
|
+
this.addValidator("tooLong", () => {
|
|
70
|
+
const label = this.maxlengthMessage;
|
|
71
|
+
if (typeof label === "function") return label(this.maxlength ?? 0, String(this.value).length);
|
|
72
|
+
return label;
|
|
73
|
+
}, () => !!this.maxlength && String(this.value).length > this.maxlength);
|
|
74
|
+
this.updateComplete.then(() => {
|
|
75
|
+
this.addFormControlElement(this._input);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
#onKeyDown(e) {
|
|
79
|
+
if (this.type !== "color" && e.key == "Enter") this.submit();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Removes focus from the input.
|
|
83
|
+
*/
|
|
84
|
+
async blur() {
|
|
85
|
+
await this.updateComplete;
|
|
86
|
+
this._input.blur();
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* This method enables <label for="..."> to focus the input
|
|
90
|
+
*/
|
|
91
|
+
async focus() {
|
|
92
|
+
await this.updateComplete;
|
|
93
|
+
this._input.focus();
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Selects all the text in the input.
|
|
97
|
+
*/
|
|
98
|
+
async select() {
|
|
99
|
+
await this.updateComplete;
|
|
100
|
+
this._input.select();
|
|
101
|
+
}
|
|
102
|
+
getFormElement() {
|
|
103
|
+
return this.shadowRoot?.querySelector("input");
|
|
104
|
+
}
|
|
105
|
+
onInput(e) {
|
|
106
|
+
e.stopPropagation();
|
|
107
|
+
this.value = e.target.value;
|
|
108
|
+
this.dispatchEvent(new UUIInputEvent(UUIInputEvent.INPUT));
|
|
109
|
+
}
|
|
110
|
+
onChange(e) {
|
|
111
|
+
e.stopPropagation();
|
|
112
|
+
this.pristine = false;
|
|
113
|
+
this.dispatchEvent(new UUIInputEvent(UUIInputEvent.CHANGE));
|
|
114
|
+
}
|
|
115
|
+
renderPrepend() {
|
|
116
|
+
return html`<slot name="prepend"></slot>`;
|
|
117
|
+
}
|
|
118
|
+
renderAppend() {
|
|
119
|
+
return html`<slot name="append"></slot>`;
|
|
120
|
+
}
|
|
121
|
+
render() {
|
|
122
|
+
return html`
|
|
117
123
|
${this.renderPrepend()}
|
|
118
124
|
<div id="inner">
|
|
119
125
|
<slot></slot>
|
|
@@ -121,14 +127,14 @@ const _UUIInputElement = class _UUIInputElement extends UUIFormControlWithBasics
|
|
|
121
127
|
</div>
|
|
122
128
|
${this.renderAppend()}
|
|
123
129
|
`;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
130
|
+
}
|
|
131
|
+
renderInputWithAutoWidth() {
|
|
132
|
+
return html`<div id="autoWidth">
|
|
127
133
|
${this.renderInput()}${this.renderAutoWidthBackground()}
|
|
128
134
|
</div>`;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
135
|
+
}
|
|
136
|
+
renderInput() {
|
|
137
|
+
return html`<input
|
|
132
138
|
id="input"
|
|
133
139
|
size=${ifDefined(this.autoWidth ? "1" : void 0)}
|
|
134
140
|
.type=${this.type}
|
|
@@ -141,12 +147,8 @@ const _UUIInputElement = class _UUIInputElement extends UUIFormControlWithBasics
|
|
|
141
147
|
spellcheck=${this.spellcheck}
|
|
142
148
|
autocomplete=${ifDefined(this.autocomplete)}
|
|
143
149
|
placeholder=${ifDefined(this.placeholder)}
|
|
144
|
-
aria-label=${ifDefined(
|
|
145
|
-
this.getAttribute("aria-
|
|
146
|
-
)}
|
|
147
|
-
aria-labelledby=${ifDefined(
|
|
148
|
-
this.getAttribute("aria-labelledby") || void 0
|
|
149
|
-
)}
|
|
150
|
+
aria-label=${ifDefined(this.getAttribute("aria-label") || this.label || void 0)}
|
|
151
|
+
aria-labelledby=${ifDefined(this.getAttribute("aria-labelledby") || void 0)}
|
|
150
152
|
inputmode=${ifDefined(this.inputMode)}
|
|
151
153
|
?disabled=${this.disabled}
|
|
152
154
|
?autofocus=${this.autofocus}
|
|
@@ -155,23 +157,15 @@ const _UUIInputElement = class _UUIInputElement extends UUIFormControlWithBasics
|
|
|
155
157
|
tabindex=${ifDefined(this.tabIndex)}
|
|
156
158
|
@input=${this.onInput}
|
|
157
159
|
@change=${this.onChange} />`;
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
onKeyDown_fn = function(e) {
|
|
168
|
-
if (this.type !== "color" && e.key == "Enter") {
|
|
169
|
-
this.submit();
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
_UUIInputElement.formAssociated = true;
|
|
173
|
-
_UUIInputElement.styles = [
|
|
174
|
-
css`
|
|
160
|
+
}
|
|
161
|
+
renderAutoWidthBackground() {
|
|
162
|
+
return html` <div id="auto" aria-hidden="true">${this.renderText()}</div>`;
|
|
163
|
+
}
|
|
164
|
+
renderText() {
|
|
165
|
+
return html`${this.value.length > 0 ? this.value : this.placeholder}`;
|
|
166
|
+
}
|
|
167
|
+
static {
|
|
168
|
+
this.styles = [css`
|
|
175
169
|
:host {
|
|
176
170
|
position: relative;
|
|
177
171
|
display: inline-flex;
|
|
@@ -235,7 +229,8 @@ _UUIInputElement.styles = [
|
|
|
235
229
|
--uui-input-border-color-focus,
|
|
236
230
|
var(--uui-color-border-emphasis)
|
|
237
231
|
);
|
|
238
|
-
outline: 2px
|
|
232
|
+
outline: calc(2px * var(--uui-show-focus-outline, 1)) solid
|
|
233
|
+
var(--uui-color-focus);
|
|
239
234
|
}
|
|
240
235
|
:host(:focus) {
|
|
241
236
|
border-color: var(
|
|
@@ -341,61 +336,41 @@ _UUIInputElement.styles = [
|
|
|
341
336
|
min-width: 0;
|
|
342
337
|
padding: 2px;
|
|
343
338
|
}
|
|
344
|
-
`
|
|
345
|
-
|
|
346
|
-
let UUIInputElement = _UUIInputElement;
|
|
347
|
-
__decorateClass([
|
|
348
|
-
property()
|
|
349
|
-
], UUIInputElement.prototype, "min", 2);
|
|
350
|
-
__decorateClass([
|
|
351
|
-
property({ type: Number })
|
|
352
|
-
], UUIInputElement.prototype, "minlength", 2);
|
|
353
|
-
__decorateClass([
|
|
354
|
-
property({ attribute: "minlength-message" })
|
|
355
|
-
], UUIInputElement.prototype, "minlengthMessage", 2);
|
|
356
|
-
__decorateClass([
|
|
357
|
-
property()
|
|
358
|
-
], UUIInputElement.prototype, "max", 2);
|
|
359
|
-
__decorateClass([
|
|
360
|
-
property({ type: Number })
|
|
361
|
-
], UUIInputElement.prototype, "maxlength", 2);
|
|
362
|
-
__decorateClass([
|
|
363
|
-
property({ attribute: "maxlength-message" })
|
|
364
|
-
], UUIInputElement.prototype, "maxlengthMessage", 2);
|
|
365
|
-
__decorateClass([
|
|
366
|
-
property({ type: Number })
|
|
367
|
-
], UUIInputElement.prototype, "step", 2);
|
|
368
|
-
__decorateClass([
|
|
369
|
-
property({ type: Boolean, reflect: true })
|
|
370
|
-
], UUIInputElement.prototype, "disabled", 2);
|
|
371
|
-
__decorateClass([
|
|
372
|
-
property({ type: Boolean, reflect: true })
|
|
373
|
-
], UUIInputElement.prototype, "readonly", 2);
|
|
374
|
-
__decorateClass([
|
|
375
|
-
property()
|
|
376
|
-
], UUIInputElement.prototype, "placeholder", 2);
|
|
377
|
-
__decorateClass([
|
|
378
|
-
property()
|
|
379
|
-
], UUIInputElement.prototype, "autocomplete", 2);
|
|
380
|
-
__decorateClass([
|
|
381
|
-
property({ type: Boolean, reflect: true, attribute: "auto-width" })
|
|
382
|
-
], UUIInputElement.prototype, "autoWidth", 2);
|
|
383
|
-
__decorateClass([
|
|
384
|
-
property({ type: String })
|
|
385
|
-
], UUIInputElement.prototype, "type", 1);
|
|
386
|
-
__decorateClass([
|
|
387
|
-
property({ attribute: "inputmode" })
|
|
388
|
-
], UUIInputElement.prototype, "inputMode", 2);
|
|
389
|
-
__decorateClass([
|
|
390
|
-
property({ type: String })
|
|
391
|
-
], UUIInputElement.prototype, "pattern", 2);
|
|
392
|
-
__decorateClass([
|
|
393
|
-
property({ type: Number, reflect: false, attribute: "tabindex" })
|
|
394
|
-
], UUIInputElement.prototype, "tabIndex", 2);
|
|
395
|
-
__decorateClass([
|
|
396
|
-
query("#input")
|
|
397
|
-
], UUIInputElement.prototype, "_input", 2);
|
|
398
|
-
export {
|
|
399
|
-
UUIInputElement
|
|
339
|
+
`];
|
|
340
|
+
}
|
|
400
341
|
};
|
|
401
|
-
|
|
342
|
+
__decorate([property()], UUIInputElement.prototype, "min", void 0);
|
|
343
|
+
__decorate([property({ type: Number })], UUIInputElement.prototype, "minlength", void 0);
|
|
344
|
+
__decorate([property({ attribute: "minlength-message" })], UUIInputElement.prototype, "minlengthMessage", void 0);
|
|
345
|
+
__decorate([property()], UUIInputElement.prototype, "max", void 0);
|
|
346
|
+
__decorate([property({ type: Number })], UUIInputElement.prototype, "maxlength", void 0);
|
|
347
|
+
__decorate([property({ attribute: "maxlength-message" })], UUIInputElement.prototype, "maxlengthMessage", void 0);
|
|
348
|
+
__decorate([property({ type: Number })], UUIInputElement.prototype, "step", void 0);
|
|
349
|
+
__decorate([property({
|
|
350
|
+
type: Boolean,
|
|
351
|
+
reflect: true
|
|
352
|
+
})], UUIInputElement.prototype, "disabled", void 0);
|
|
353
|
+
__decorate([property({
|
|
354
|
+
type: Boolean,
|
|
355
|
+
reflect: true
|
|
356
|
+
})], UUIInputElement.prototype, "readonly", void 0);
|
|
357
|
+
__decorate([property()], UUIInputElement.prototype, "placeholder", void 0);
|
|
358
|
+
__decorate([property()], UUIInputElement.prototype, "autocomplete", void 0);
|
|
359
|
+
__decorate([property({
|
|
360
|
+
type: Boolean,
|
|
361
|
+
reflect: true,
|
|
362
|
+
attribute: "auto-width"
|
|
363
|
+
})], UUIInputElement.prototype, "autoWidth", void 0);
|
|
364
|
+
__decorate([property({ type: String })], UUIInputElement.prototype, "type", null);
|
|
365
|
+
__decorate([property({ attribute: "inputmode" })], UUIInputElement.prototype, "inputMode", void 0);
|
|
366
|
+
__decorate([property({ type: String })], UUIInputElement.prototype, "pattern", void 0);
|
|
367
|
+
__decorate([property({
|
|
368
|
+
type: Number,
|
|
369
|
+
reflect: false,
|
|
370
|
+
attribute: "tabindex"
|
|
371
|
+
})], UUIInputElement.prototype, "tabIndex", void 0);
|
|
372
|
+
__decorate([query("#input")], UUIInputElement.prototype, "_input", void 0);
|
|
373
|
+
//#endregion
|
|
374
|
+
export { UUIInputElement };
|
|
375
|
+
|
|
376
|
+
//# sourceMappingURL=input.element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.element.js","sources":["../../../src/components/input/input.element.ts"],"sourcesContent":["import {\n UUIFormControlWithBasicsMixin,\n LabelMixin,\n} from '../../internal/mixins/index.js';\nimport { css, html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { UUIInputEvent } from './UUIInputEvent.js';\n\nexport type InputType =\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'password'\n | 'search'\n | 'month'\n | 'week'\n | 'time'\n | 'date'\n | 'datetime-local'\n | 'number'\n | 'color';\n\nexport type InputMode =\n | 'text'\n | 'none'\n | 'decimal'\n | 'numeric'\n | 'tel'\n | 'search'\n | 'email'\n | 'url';\n\n/**\n * Custom element wrapping the native input element.This is a formAssociated element, meaning it can participate in a native HTMLForm. A name:value pair will be submitted.\n * @element uui-input\n * @slot prepend - for components to render to the left of the input.\n * @slot append - for components to render to the right of the input.\n * @property {boolean} spellcheck - get/set native spellcheck attribute\n * @attribute spellcheck - native spellcheck attribute\n * @property {string} value - get/set the value of the input\n * @attribute value - get/set the value of the input\n * @property {string} name - get/set the name of the input\n * @attribute name - get/set the name of the input\n * @fires UUIInputEvent#change on change\n * @fires InputEvent#input on input\n * @fires KeyboardEvent#keyup on keyup\n * @cssprop --uui-input-height - Height of the element\n * @cssprop --uui-input-background-color - Background color of the element\n * @cssprop --uui-input-background-color-disabled - Background color when disabled\n * @cssprop --uui-input-background-color-readonly - Background color when readonly\n * @cssprop --uui-input-border-width - Border width\n * @cssprop --uui-input-border-radius - Border radius\n * @cssprop --uui-input-border-color - Border color\n * @cssprop --uui-input-border-color-hover - Border color on hover\n * @cssprop --uui-input-border-color-focus - Border color on focus\n * @cssprop --uui-input-border-color-disabled - Border color when disabled\n * @cssprop --uui-input-border-color-readonly - Border color when readonly\n */\nexport class UUIInputElement extends UUIFormControlWithBasicsMixin(\n LabelMixin('', LitElement),\n '',\n) {\n /**\n * This is a static class field indicating that the element is can be used inside a native form and participate in its events. It may require a polyfill, check support here https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals. Read more about form controls here https://web.dev/more-capable-form-controls/\n * @type {boolean}\n */\n static readonly formAssociated = true;\n\n /**\n * Sets the min value of the input.\n * Examples: the first date the user may pick in date and datetime-local, or the min numeric value the user can pick in a number input.\n * @type {number | string}\n * @attr\n * @default undefined\n */\n @property()\n min?: number | string;\n\n /**\n * Sets the minimum length of the value of the input.\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n minlength?: number;\n\n /**\n * Minlength validation message.\n * @attr minlength-message\n * @default\n */\n @property({ attribute: 'minlength-message' })\n minlengthMessage: string | ((charsLeft: number) => string) = charsLeft =>\n `${charsLeft} characters left`;\n\n /**\n * Sets the max value of the input.\n * Examples: the last date the user may pick in date and datetime-local, or the max numeric value the user can pick in a number input.\n * @type {number | string}\n * @attr\n * @default undefined\n */\n @property()\n max?: number | string;\n\n /**\n * Sets the maximum length of the value of the input.\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Maxlength validation message.\n * @attr maxlength-message\n * @default\n */\n @property({ attribute: 'maxlength-message' })\n maxlengthMessage: string | ((max: number, current: number) => string) = (\n max,\n current,\n ) => `Maximum ${max} characters, ${current - max} too many.`;\n\n /**\n * Specifies the interval between legal numbers of the input\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n step?: number;\n\n /**\n * Disables the input.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Defines the input placeholder.\n * @type {string}\n * @attr\n * @default ''\n */\n @property()\n placeholder = '';\n\n /**\n * Defines the input autocomplete.\n * @type {string}\n * @attr\n * @default undefined\n */\n @property()\n autocomplete?: string;\n\n /**\n * Sets the input width to fit the value or placeholder if empty\n * @type {boolean}\n * @attr auto-width\n */\n @property({ type: Boolean, reflect: true, attribute: 'auto-width' })\n autoWidth = false;\n\n /**\n * This property specifies the type of input that will be rendered.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types|MDN} for further information\n * @type {'text' | 'tel' | 'url' | 'email' | 'password' | 'date' | 'month' | 'week' | 'time' | 'datetime-local' | 'number' | 'color'}\n * @attr\n * @default text\n */\n @property({ type: String })\n get type(): InputType {\n return this._type;\n }\n set type(value: InputType) {\n this._type = value;\n }\n\n /**\n * The inputmode global attribute is an enumerated attribute that hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode|MDN} for further information\n * @type {'text' | 'none' | 'decimal' | 'number' | 'tel' | 'search' | 'email' | 'url'}\n * @attr\n * @default text\n */\n @property({ attribute: 'inputmode' })\n inputMode: InputMode = 'text';\n\n /**\n * Validates the input based on the Regex pattern\n * @type {string}\n * @attr\n */\n @property({ type: String })\n pattern?: string;\n\n /**\n * Set the input tabindex, set this to `-1` to avoid tabbing into the input.\n * @type {number}\n * @attr\n */\n @property({ type: Number, reflect: false, attribute: 'tabindex' })\n tabIndex: number = 0;\n\n @query('#input')\n readonly _input!: HTMLInputElement;\n\n private _type: InputType = 'text';\n\n constructor() {\n super();\n\n this.addEventListener('keydown', this.#onKeyDown);\n\n this.addValidator(\n 'tooShort',\n () => {\n const label = this.minlengthMessage;\n if (typeof label === 'function') {\n return label(\n this.minlength ? this.minlength - String(this.value).length : 0,\n );\n }\n return label;\n },\n () => !!this.minlength && String(this.value).length < this.minlength,\n );\n this.addValidator(\n 'tooLong',\n () => {\n const label = this.maxlengthMessage;\n if (typeof label === 'function') {\n return label(this.maxlength ?? 0, String(this.value).length);\n }\n return label;\n },\n () => !!this.maxlength && String(this.value).length > this.maxlength,\n );\n\n this.updateComplete.then(() => {\n this.addFormControlElement(this._input);\n });\n }\n\n #onKeyDown(e: KeyboardEvent): void {\n if (this.type !== 'color' && e.key == 'Enter') {\n this.submit();\n }\n }\n\n /**\n * Removes focus from the input.\n */\n async blur() {\n await this.updateComplete;\n this._input.blur();\n }\n\n /**\n * This method enables <label for=\"...\"> to focus the input\n */\n async focus() {\n await this.updateComplete;\n this._input.focus();\n }\n\n /**\n * Selects all the text in the input.\n */\n async select() {\n await this.updateComplete;\n this._input.select();\n }\n\n protected getFormElement(): HTMLElement {\n return this.shadowRoot?.querySelector('input') as HTMLElement;\n }\n\n protected onInput(e: Event) {\n e.stopPropagation();\n this.value = (e.target as HTMLInputElement).value;\n\n this.dispatchEvent(new UUIInputEvent(UUIInputEvent.INPUT));\n }\n\n protected onChange(e: Event) {\n e.stopPropagation();\n this.pristine = false;\n\n this.dispatchEvent(new UUIInputEvent(UUIInputEvent.CHANGE));\n }\n\n protected renderPrepend() {\n return html`<slot name=\"prepend\"></slot>`;\n }\n\n protected renderAppend() {\n return html`<slot name=\"append\"></slot>`;\n }\n\n render() {\n return html`\n ${this.renderPrepend()}\n <div id=\"inner\">\n <slot></slot>\n ${this.autoWidth ? this.renderInputWithAutoWidth() : this.renderInput()}\n </div>\n ${this.renderAppend()}\n `;\n }\n\n private renderInputWithAutoWidth() {\n return html`<div id=\"autoWidth\">\n ${this.renderInput()}${this.renderAutoWidthBackground()}\n </div>`;\n }\n\n renderInput() {\n return html`<input\n id=\"input\"\n size=${ifDefined(this.autoWidth ? '1' : undefined)}\n .type=${this.type}\n .value=${this.value as string}\n .name=${this.name}\n pattern=${ifDefined(this.pattern)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n spellcheck=${this.spellcheck}\n autocomplete=${ifDefined(this.autocomplete as any)}\n placeholder=${ifDefined(this.placeholder)}\n aria-label=${ifDefined(\n this.getAttribute('aria-label') || this.label || undefined,\n )}\n aria-labelledby=${ifDefined(\n this.getAttribute('aria-labelledby') || undefined,\n )}\n inputmode=${ifDefined(this.inputMode)}\n ?disabled=${this.disabled}\n ?autofocus=${this.autofocus}\n ?required=${this.required}\n ?readonly=${this.readonly}\n tabindex=${ifDefined(this.tabIndex)}\n @input=${this.onInput}\n @change=${this.onChange} />`;\n }\n\n private renderAutoWidthBackground() {\n return html` <div id=\"auto\" aria-hidden=\"true\">${this.renderText()}</div>`;\n }\n\n private renderText() {\n return html`${(this.value as string).length > 0\n ? this.value\n : this.placeholder}`;\n }\n\n static override readonly styles = [\n css`\n :host {\n position: relative;\n display: inline-flex;\n align-items: stretch;\n height: var(--uui-input-height, var(--uui-size-11));\n text-align: left;\n color: var(--uui-color-text);\n color-scheme: var(--uui-color-scheme, normal);\n box-sizing: border-box;\n background-color: var(\n --uui-input-background-color,\n var(--uui-color-surface)\n );\n border: var(--uui-input-border-width, 1px) solid\n var(--uui-input-border-color, var(--uui-color-border));\n border-radius: var(--uui-input-border-radius, var(--uui-border-radius));\n min-width: 0;\n overflow: hidden;\n\n --uui-input-padding: 1px var(--uui-size-3);\n --uui-button-height: 100%;\n --uui-button-border-radius: var(\n --uui-input-border-radius,\n var(--uui-border-radius)\n );\n --auto-width-text-margin-right: 0;\n --auto-width-text-margin-left: 0;\n }\n\n #autoWidth {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 0;\n }\n\n #auto {\n border: 0 1px solid transparent;\n visibility: hidden;\n white-space: pre;\n z-index: -1;\n height: 0px;\n padding: 0 var(--uui-size-space-3);\n margin: 0 var(--auto-width-text-margin-right) 0\n var(--auto-width-text-margin-left);\n }\n\n :host(:hover) {\n border-color: var(\n --uui-input-border-color-hover,\n var(--uui-color-border-standalone)\n );\n }\n /* TODO: Fix so we dont get double outline when there is focus on things in the slot. */\n :host(:focus-within) {\n border-color: var(\n --uui-input-border-color-focus,\n var(--uui-color-border-emphasis)\n );\n outline: 2px solid var(--uui-color-focus);\n }\n :host(:focus) {\n border-color: var(\n --uui-input-border-color-focus,\n var(--uui-color-border-emphasis)\n );\n }\n :host([disabled]) {\n background-color: var(\n --uui-input-background-color-disabled,\n var(--uui-color-disabled)\n );\n border-color: var(\n --uui-input-border-color-disabled,\n var(--uui-color-disabled)\n );\n\n color: var(--uui-color-disabled-contrast);\n }\n :host([disabled]) input {\n -webkit-text-fill-color: var(\n --uui-color-disabled-contrast\n ); /* required on Safari and IOS */\n }\n :host([readonly]) {\n background-color: var(\n --uui-input-background-color-readonly,\n var(--uui-color-disabled)\n );\n border-color: var(\n --uui-input-border-color-readonly,\n var(--uui-color-disabled-standalone)\n );\n }\n\n :host(:not([pristine]):invalid),\n /* polyfill support */\n :host(:not([pristine])[internals-invalid]) {\n border-color: var(--uui-color-invalid);\n }\n\n input {\n font-family: inherit;\n padding: var(--uui-input-padding);\n font-size: inherit;\n color: inherit;\n border-radius: var(--uui-border-radius);\n box-sizing: border-box;\n border: none;\n background: none;\n min-width: 0;\n flex-grow: 1;\n flex-shrink: 1;\n height: inherit;\n text-align: inherit;\n outline: none;\n text-overflow: ellipsis;\n line-height: 1;\n flex: 1 1 auto;\n min-width: 60px;\n }\n\n input[type='password']::-ms-reveal {\n display: none;\n }\n\n /* TODO: make sure color looks good, or remove it as an option as we want to provide color-picker component */\n input[type='color'] {\n width: 30px;\n padding: 0;\n border: none;\n }\n\n slot[name='prepend'],\n slot[name='append'] {\n display: flex;\n align-items: center;\n line-height: 1;\n height: 100%;\n min-width: 0;\n }\n\n uui-input,\n uui-input-lock,\n ::slotted(uui-input),\n ::slotted(uui-input-lock) {\n height: 100%;\n --uui-input-border-width: 0;\n }\n\n uui-button,\n ::slotted(uui-button) {\n height: 100%;\n --uui-button-border-width: 0;\n }\n\n #inner {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n flex: 1 1 auto;\n min-width: 0;\n padding: 2px;\n }\n `,\n ];\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"input.element.js","names":["#onKeyDown"],"sources":["../../../src/components/input/input.element.ts"],"sourcesContent":["import {\n UUIFormControlWithBasicsMixin,\n LabelMixin,\n} from '../../internal/mixins/index.js';\nimport { css, html, LitElement } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { UUIInputEvent } from './UUIInputEvent.js';\n\nexport type InputType =\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'password'\n | 'search'\n | 'month'\n | 'week'\n | 'time'\n | 'date'\n | 'datetime-local'\n | 'number'\n | 'color';\n\nexport type InputMode =\n | 'text'\n | 'none'\n | 'decimal'\n | 'numeric'\n | 'tel'\n | 'search'\n | 'email'\n | 'url';\n\n/**\n * Custom element wrapping the native input element.This is a formAssociated element, meaning it can participate in a native HTMLForm. A name:value pair will be submitted.\n * @element uui-input\n * @slot prepend - for components to render to the left of the input.\n * @slot append - for components to render to the right of the input.\n * @property {boolean} spellcheck - get/set native spellcheck attribute\n * @attribute spellcheck - native spellcheck attribute\n * @property {string} value - get/set the value of the input\n * @attribute value - get/set the value of the input\n * @property {string} name - get/set the name of the input\n * @attribute name - get/set the name of the input\n * @fires UUIInputEvent#change on change\n * @fires InputEvent#input on input\n * @fires KeyboardEvent#keyup on keyup\n * @cssprop --uui-input-height - Height of the element\n * @cssprop --uui-input-background-color - Background color of the element\n * @cssprop --uui-input-background-color-disabled - Background color when disabled\n * @cssprop --uui-input-background-color-readonly - Background color when readonly\n * @cssprop --uui-input-border-width - Border width\n * @cssprop --uui-input-border-radius - Border radius\n * @cssprop --uui-input-border-color - Border color\n * @cssprop --uui-input-border-color-hover - Border color on hover\n * @cssprop --uui-input-border-color-focus - Border color on focus\n * @cssprop --uui-input-border-color-disabled - Border color when disabled\n * @cssprop --uui-input-border-color-readonly - Border color when readonly\n */\nexport class UUIInputElement extends UUIFormControlWithBasicsMixin(\n LabelMixin('', LitElement),\n '',\n) {\n /**\n * This is a static class field indicating that the element is can be used inside a native form and participate in its events. It may require a polyfill, check support here https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals. Read more about form controls here https://web.dev/more-capable-form-controls/\n * @type {boolean}\n */\n static readonly formAssociated = true;\n\n /**\n * Sets the min value of the input.\n * Examples: the first date the user may pick in date and datetime-local, or the min numeric value the user can pick in a number input.\n * @type {number | string}\n * @attr\n * @default undefined\n */\n @property()\n min?: number | string;\n\n /**\n * Sets the minimum length of the value of the input.\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n minlength?: number;\n\n /**\n * Minlength validation message.\n * @attr minlength-message\n * @default\n */\n @property({ attribute: 'minlength-message' })\n minlengthMessage: string | ((charsLeft: number) => string) = charsLeft =>\n `${charsLeft} characters left`;\n\n /**\n * Sets the max value of the input.\n * Examples: the last date the user may pick in date and datetime-local, or the max numeric value the user can pick in a number input.\n * @type {number | string}\n * @attr\n * @default undefined\n */\n @property()\n max?: number | string;\n\n /**\n * Sets the maximum length of the value of the input.\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n maxlength?: number;\n\n /**\n * Maxlength validation message.\n * @attr maxlength-message\n * @default\n */\n @property({ attribute: 'maxlength-message' })\n maxlengthMessage: string | ((max: number, current: number) => string) = (\n max,\n current,\n ) => `Maximum ${max} characters, ${current - max} too many.`;\n\n /**\n * Specifies the interval between legal numbers of the input\n * @type {number}\n * @attr\n * @default undefined\n */\n @property({ type: Number })\n step?: number;\n\n /**\n * Disables the input.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Defines the input placeholder.\n * @type {string}\n * @attr\n * @default ''\n */\n @property()\n placeholder = '';\n\n /**\n * Defines the input autocomplete.\n * @type {string}\n * @attr\n * @default undefined\n */\n @property()\n autocomplete?: string;\n\n /**\n * Sets the input width to fit the value or placeholder if empty\n * @type {boolean}\n * @attr auto-width\n */\n @property({ type: Boolean, reflect: true, attribute: 'auto-width' })\n autoWidth = false;\n\n /**\n * This property specifies the type of input that will be rendered.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types|MDN} for further information\n * @type {'text' | 'tel' | 'url' | 'email' | 'password' | 'date' | 'month' | 'week' | 'time' | 'datetime-local' | 'number' | 'color'}\n * @attr\n * @default text\n */\n @property({ type: String })\n get type(): InputType {\n return this._type;\n }\n set type(value: InputType) {\n this._type = value;\n }\n\n /**\n * The inputmode global attribute is an enumerated attribute that hints at the type of data that might be entered by the user while editing the element or its contents. This allows a browser to display an appropriate virtual keyboard.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode|MDN} for further information\n * @type {'text' | 'none' | 'decimal' | 'number' | 'tel' | 'search' | 'email' | 'url'}\n * @attr\n * @default text\n */\n @property({ attribute: 'inputmode' })\n inputMode: InputMode = 'text';\n\n /**\n * Validates the input based on the Regex pattern\n * @type {string}\n * @attr\n */\n @property({ type: String })\n pattern?: string;\n\n /**\n * Set the input tabindex, set this to `-1` to avoid tabbing into the input.\n * @type {number}\n * @attr\n */\n @property({ type: Number, reflect: false, attribute: 'tabindex' })\n tabIndex: number = 0;\n\n @query('#input')\n readonly _input!: HTMLInputElement;\n\n private _type: InputType = 'text';\n\n constructor() {\n super();\n\n this.addEventListener('keydown', this.#onKeyDown);\n\n this.addValidator(\n 'tooShort',\n () => {\n const label = this.minlengthMessage;\n if (typeof label === 'function') {\n return label(\n this.minlength ? this.minlength - String(this.value).length : 0,\n );\n }\n return label;\n },\n () => !!this.minlength && String(this.value).length < this.minlength,\n );\n this.addValidator(\n 'tooLong',\n () => {\n const label = this.maxlengthMessage;\n if (typeof label === 'function') {\n return label(this.maxlength ?? 0, String(this.value).length);\n }\n return label;\n },\n () => !!this.maxlength && String(this.value).length > this.maxlength,\n );\n\n this.updateComplete.then(() => {\n this.addFormControlElement(this._input);\n });\n }\n\n #onKeyDown(e: KeyboardEvent): void {\n if (this.type !== 'color' && e.key == 'Enter') {\n this.submit();\n }\n }\n\n /**\n * Removes focus from the input.\n */\n async blur() {\n await this.updateComplete;\n this._input.blur();\n }\n\n /**\n * This method enables <label for=\"...\"> to focus the input\n */\n async focus() {\n await this.updateComplete;\n this._input.focus();\n }\n\n /**\n * Selects all the text in the input.\n */\n async select() {\n await this.updateComplete;\n this._input.select();\n }\n\n protected getFormElement(): HTMLElement {\n return this.shadowRoot?.querySelector('input') as HTMLElement;\n }\n\n protected onInput(e: Event) {\n e.stopPropagation();\n this.value = (e.target as HTMLInputElement).value;\n\n this.dispatchEvent(new UUIInputEvent(UUIInputEvent.INPUT));\n }\n\n protected onChange(e: Event) {\n e.stopPropagation();\n this.pristine = false;\n\n this.dispatchEvent(new UUIInputEvent(UUIInputEvent.CHANGE));\n }\n\n protected renderPrepend() {\n return html`<slot name=\"prepend\"></slot>`;\n }\n\n protected renderAppend() {\n return html`<slot name=\"append\"></slot>`;\n }\n\n render() {\n return html`\n ${this.renderPrepend()}\n <div id=\"inner\">\n <slot></slot>\n ${this.autoWidth ? this.renderInputWithAutoWidth() : this.renderInput()}\n </div>\n ${this.renderAppend()}\n `;\n }\n\n private renderInputWithAutoWidth() {\n return html`<div id=\"autoWidth\">\n ${this.renderInput()}${this.renderAutoWidthBackground()}\n </div>`;\n }\n\n renderInput() {\n return html`<input\n id=\"input\"\n size=${ifDefined(this.autoWidth ? '1' : undefined)}\n .type=${this.type}\n .value=${this.value as string}\n .name=${this.name}\n pattern=${ifDefined(this.pattern)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n spellcheck=${this.spellcheck}\n autocomplete=${ifDefined(this.autocomplete as any)}\n placeholder=${ifDefined(this.placeholder)}\n aria-label=${ifDefined(\n this.getAttribute('aria-label') || this.label || undefined,\n )}\n aria-labelledby=${ifDefined(\n this.getAttribute('aria-labelledby') || undefined,\n )}\n inputmode=${ifDefined(this.inputMode)}\n ?disabled=${this.disabled}\n ?autofocus=${this.autofocus}\n ?required=${this.required}\n ?readonly=${this.readonly}\n tabindex=${ifDefined(this.tabIndex)}\n @input=${this.onInput}\n @change=${this.onChange} />`;\n }\n\n private renderAutoWidthBackground() {\n return html` <div id=\"auto\" aria-hidden=\"true\">${this.renderText()}</div>`;\n }\n\n private renderText() {\n return html`${(this.value as string).length > 0\n ? this.value\n : this.placeholder}`;\n }\n\n static override readonly styles = [\n css`\n :host {\n position: relative;\n display: inline-flex;\n align-items: stretch;\n height: var(--uui-input-height, var(--uui-size-11));\n text-align: left;\n color: var(--uui-color-text);\n color-scheme: var(--uui-color-scheme, normal);\n box-sizing: border-box;\n background-color: var(\n --uui-input-background-color,\n var(--uui-color-surface)\n );\n border: var(--uui-input-border-width, 1px) solid\n var(--uui-input-border-color, var(--uui-color-border));\n border-radius: var(--uui-input-border-radius, var(--uui-border-radius));\n min-width: 0;\n overflow: hidden;\n\n --uui-input-padding: 1px var(--uui-size-3);\n --uui-button-height: 100%;\n --uui-button-border-radius: var(\n --uui-input-border-radius,\n var(--uui-border-radius)\n );\n --auto-width-text-margin-right: 0;\n --auto-width-text-margin-left: 0;\n }\n\n #autoWidth {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n flex-grow: 1;\n flex-shrink: 1;\n min-width: 0;\n }\n\n #auto {\n border: 0 1px solid transparent;\n visibility: hidden;\n white-space: pre;\n z-index: -1;\n height: 0px;\n padding: 0 var(--uui-size-space-3);\n margin: 0 var(--auto-width-text-margin-right) 0\n var(--auto-width-text-margin-left);\n }\n\n :host(:hover) {\n border-color: var(\n --uui-input-border-color-hover,\n var(--uui-color-border-standalone)\n );\n }\n /* TODO: Fix so we dont get double outline when there is focus on things in the slot. */\n :host(:focus-within) {\n border-color: var(\n --uui-input-border-color-focus,\n var(--uui-color-border-emphasis)\n );\n outline: calc(2px * var(--uui-show-focus-outline, 1)) solid\n var(--uui-color-focus);\n }\n :host(:focus) {\n border-color: var(\n --uui-input-border-color-focus,\n var(--uui-color-border-emphasis)\n );\n }\n :host([disabled]) {\n background-color: var(\n --uui-input-background-color-disabled,\n var(--uui-color-disabled)\n );\n border-color: var(\n --uui-input-border-color-disabled,\n var(--uui-color-disabled)\n );\n\n color: var(--uui-color-disabled-contrast);\n }\n :host([disabled]) input {\n -webkit-text-fill-color: var(\n --uui-color-disabled-contrast\n ); /* required on Safari and IOS */\n }\n :host([readonly]) {\n background-color: var(\n --uui-input-background-color-readonly,\n var(--uui-color-disabled)\n );\n border-color: var(\n --uui-input-border-color-readonly,\n var(--uui-color-disabled-standalone)\n );\n }\n\n :host(:not([pristine]):invalid),\n /* polyfill support */\n :host(:not([pristine])[internals-invalid]) {\n border-color: var(--uui-color-invalid);\n }\n\n input {\n font-family: inherit;\n padding: var(--uui-input-padding);\n font-size: inherit;\n color: inherit;\n border-radius: var(--uui-border-radius);\n box-sizing: border-box;\n border: none;\n background: none;\n min-width: 0;\n flex-grow: 1;\n flex-shrink: 1;\n height: inherit;\n text-align: inherit;\n outline: none;\n text-overflow: ellipsis;\n line-height: 1;\n flex: 1 1 auto;\n min-width: 60px;\n }\n\n input[type='password']::-ms-reveal {\n display: none;\n }\n\n /* TODO: make sure color looks good, or remove it as an option as we want to provide color-picker component */\n input[type='color'] {\n width: 30px;\n padding: 0;\n border: none;\n }\n\n slot[name='prepend'],\n slot[name='append'] {\n display: flex;\n align-items: center;\n line-height: 1;\n height: 100%;\n min-width: 0;\n }\n\n uui-input,\n uui-input-lock,\n ::slotted(uui-input),\n ::slotted(uui-input-lock) {\n height: 100%;\n --uui-input-border-width: 0;\n }\n\n uui-button,\n ::slotted(uui-button) {\n height: 100%;\n --uui-button-border-width: 0;\n }\n\n #inner {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n flex: 1 1 auto;\n min-width: 0;\n padding: 2px;\n }\n `,\n ];\n}\n"],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { defineElement } from "../../internal/registration/index.js";
|
|
2
|
-
import { UUIInputElement } from "./input.element.js";
|
|
3
2
|
import { UUIInputEvent } from "./UUIInputEvent.js";
|
|
3
|
+
import { UUIInputElement } from "./input.element.js";
|
|
4
|
+
//#region src/components/input/input.ts
|
|
4
5
|
defineElement("uui-input", UUIInputElement);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=input.js.map
|
|
6
|
+
//#endregion
|
|
7
|
+
export { UUIInputElement, UUIInputEvent };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sources":["../../../src/components/input/input.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUIInputElement } from './input.element.js';\n\ndefineElement('uui-input', UUIInputElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-input': UUIInputElement;\n }\n}\n\nexport * from './input.element.js';\nexport * from './UUIInputEvent.js';\
|
|
1
|
+
{"version":3,"file":"input.js","names":[],"sources":["../../../src/components/input/input.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUIInputElement } from './input.element.js';\n\ndefineElement('uui-input', UUIInputElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-input': UUIInputElement;\n }\n}\n\nexport * from './input.element.js';\nexport * from './UUIInputEvent.js';\n"],"mappings":";;;;AAGA,cAAc,aAAa,eAAe"}
|