@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,176 +1,167 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
};
|
|
4
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
5
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
6
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
7
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
8
|
-
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
9
|
-
var _stepDecimalPlaces, _step, _UUISliderElement_instances, onKeyDown_fn;
|
|
10
|
-
import { LitElement, svg, nothing, html, css } from "lit";
|
|
11
|
-
import { property, query, state } from "lit/decorators.js";
|
|
12
|
-
import { styleMap } from "lit/directives/style-map.js";
|
|
1
|
+
import { UUIHorizontalPulseKeyframes } from "../../internal/animations/uui-pulse.js";
|
|
2
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.138.0/helpers/esm/decorate.js";
|
|
3
|
+
import { UUIFormControlMixin as UUIFormControlWithBasicsMixin } from "../../internal/mixins/FormControlWithBasicsMixin.js";
|
|
13
4
|
import { nativeInputStyles } from "./native-input.styles.js";
|
|
14
5
|
import { UUISliderEvent } from "./UUISliderEvent.js";
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
27
|
-
const TRACK_PADDING = 12;
|
|
28
|
-
const STEP_MIN_WIDTH = 24;
|
|
29
|
-
const GenerateStepArray = (start, stop, step) => Array.from({ length: (stop - start) / step + 1 }, (_, i) => start + i * step);
|
|
30
|
-
const CountDecimalPlaces = (num) => {
|
|
31
|
-
const decimalIndex = num.toString().indexOf(".");
|
|
32
|
-
return decimalIndex >= 0 ? num.toString().length - decimalIndex - 1 : 0;
|
|
6
|
+
import { LitElement, css, html, nothing, svg } from "lit";
|
|
7
|
+
import { property, query, state } from "lit/decorators.js";
|
|
8
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
9
|
+
import { styleMap } from "lit/directives/style-map.js";
|
|
10
|
+
//#region src/components/slider/slider.element.ts
|
|
11
|
+
var TRACK_PADDING = 12;
|
|
12
|
+
var STEP_MIN_WIDTH = 24;
|
|
13
|
+
var GenerateStepArray = (start, stop, step) => Array.from({ length: (stop - start) / step + 1 }, (_, i) => start + i * step);
|
|
14
|
+
var CountDecimalPlaces = (num) => {
|
|
15
|
+
const decimalIndex = num.toString().indexOf(".");
|
|
16
|
+
return decimalIndex >= 0 ? num.toString().length - decimalIndex - 1 : 0;
|
|
33
17
|
};
|
|
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
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
18
|
+
/**
|
|
19
|
+
* @element uui-slider
|
|
20
|
+
* @description - Native `<input type="range">` wrapper.
|
|
21
|
+
* @fires UUISliderEvent#input on input
|
|
22
|
+
* @extends UUIFormControlMixin
|
|
23
|
+
*/
|
|
24
|
+
var UUISliderElement = class extends UUIFormControlWithBasicsMixin(LitElement, "") {
|
|
25
|
+
static {
|
|
26
|
+
this.formAssociated = true;
|
|
27
|
+
}
|
|
28
|
+
#stepDecimalPlaces;
|
|
29
|
+
/**
|
|
30
|
+
* This reflects the behavior of a native input step attribute.
|
|
31
|
+
* @type {number}
|
|
32
|
+
* @attr
|
|
33
|
+
* @default 1
|
|
34
|
+
*/
|
|
35
|
+
get step() {
|
|
36
|
+
return this.#step;
|
|
37
|
+
}
|
|
38
|
+
set step(value) {
|
|
39
|
+
this.#step = value;
|
|
40
|
+
this.#stepDecimalPlaces = (value.toString().split(".")[1] || []).length;
|
|
41
|
+
}
|
|
42
|
+
#step;
|
|
43
|
+
/**
|
|
44
|
+
* This is a value property of the uui-slider.
|
|
45
|
+
* @type {string}
|
|
46
|
+
* @attr
|
|
47
|
+
* @default ''
|
|
48
|
+
*/
|
|
49
|
+
get value() {
|
|
50
|
+
return super.value;
|
|
51
|
+
}
|
|
52
|
+
set value(newVal) {
|
|
53
|
+
if (newVal instanceof File) return;
|
|
54
|
+
const oldVal = super.value;
|
|
55
|
+
let correctedValue = newVal ? Number.parseFloat(newVal) : 0;
|
|
56
|
+
correctedValue = Math.min(Math.max(correctedValue, this.min), this.max);
|
|
57
|
+
if (this.step > 0) correctedValue = Math.round(correctedValue / this.step) * this.step;
|
|
58
|
+
super.value = correctedValue.toFixed(this.#stepDecimalPlaces).toString();
|
|
59
|
+
this._calculateSliderPosition();
|
|
60
|
+
this.requestUpdate("value", oldVal);
|
|
61
|
+
}
|
|
62
|
+
constructor() {
|
|
63
|
+
super();
|
|
64
|
+
this.#stepDecimalPlaces = 0;
|
|
65
|
+
this.hideStepValues = false;
|
|
66
|
+
this.hideValueLabel = false;
|
|
67
|
+
this.min = 0;
|
|
68
|
+
this.max = 100;
|
|
69
|
+
this.#step = 1;
|
|
70
|
+
this.disabled = false;
|
|
71
|
+
this.readonly = false;
|
|
72
|
+
this._stepWidth = 0;
|
|
73
|
+
this.onWindowResize = () => {
|
|
74
|
+
this._stepWidth = this._calculateStepWidth();
|
|
75
|
+
};
|
|
76
|
+
this._steps = [];
|
|
77
|
+
this._sliderPosition = "0%";
|
|
78
|
+
this.addEventListener("keydown", this.#onKeyDown);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* This method enables <label for="..."> to focus the select
|
|
82
|
+
*/
|
|
83
|
+
async focus() {
|
|
84
|
+
await this.updateComplete;
|
|
85
|
+
this._input.focus();
|
|
86
|
+
}
|
|
87
|
+
async blur() {
|
|
88
|
+
await this.updateComplete;
|
|
89
|
+
this._input.blur();
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* This method enables <label for="..."> to open the select
|
|
93
|
+
*/
|
|
94
|
+
async click() {
|
|
95
|
+
await this.updateComplete;
|
|
96
|
+
this._input.click();
|
|
97
|
+
}
|
|
98
|
+
getFormElement() {
|
|
99
|
+
return this._input;
|
|
100
|
+
}
|
|
101
|
+
connectedCallback() {
|
|
102
|
+
super.connectedCallback();
|
|
103
|
+
window.addEventListener("resize", this.onWindowResize);
|
|
104
|
+
if (!this.label) console.warn(this.tagName + " needs a `label`", this);
|
|
105
|
+
}
|
|
106
|
+
disconnectedCallback() {
|
|
107
|
+
window.removeEventListener("resize", this.onWindowResize);
|
|
108
|
+
super.disconnectedCallback();
|
|
109
|
+
}
|
|
110
|
+
firstUpdated() {
|
|
111
|
+
this._calculateSliderPosition();
|
|
112
|
+
this._updateSteps();
|
|
113
|
+
}
|
|
114
|
+
updated(changedProperties) {
|
|
115
|
+
super.updated(changedProperties);
|
|
116
|
+
if (changedProperties.get("max") || changedProperties.get("min") || changedProperties.get("step")) {
|
|
117
|
+
this.value = this.value;
|
|
118
|
+
this._updateSteps();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
_updateSteps() {
|
|
122
|
+
this._steps = GenerateStepArray(this.min, this.max, this.step);
|
|
123
|
+
this._stepWidth = this._calculateStepWidth();
|
|
124
|
+
}
|
|
125
|
+
_calculateStepWidth() {
|
|
126
|
+
return (this._track.getBoundingClientRect().width - TRACK_PADDING * 2) / (this._steps.length - 1);
|
|
127
|
+
}
|
|
128
|
+
#onKeyDown(e) {
|
|
129
|
+
if (e.key == "Enter") this.submit();
|
|
130
|
+
}
|
|
131
|
+
_calculateSliderPosition() {
|
|
132
|
+
const ratio = (Number.parseFloat(super.value || "0") - this.min) / (this.max - this.min);
|
|
133
|
+
this._sliderPosition = `${Math.floor(ratio * 1e5) / 1e3}%`;
|
|
134
|
+
}
|
|
135
|
+
_onInput(e) {
|
|
136
|
+
e.stopPropagation();
|
|
137
|
+
this.value = this._input.value;
|
|
138
|
+
this.dispatchEvent(new UUISliderEvent(UUISliderEvent.INPUT));
|
|
139
|
+
}
|
|
140
|
+
_onChange(e) {
|
|
141
|
+
e.stopPropagation();
|
|
142
|
+
this.pristine = false;
|
|
143
|
+
this.dispatchEvent(new UUISliderEvent(UUISliderEvent.CHANGE));
|
|
144
|
+
}
|
|
145
|
+
renderTrackSteps() {
|
|
146
|
+
return svg`
|
|
149
147
|
${this._steps.map((el) => {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
);
|
|
154
|
-
return svg`<circle class="track-step" cx="${x}" cy="50%" r="4.5" />`;
|
|
155
|
-
}
|
|
156
|
-
return svg``;
|
|
157
|
-
})}
|
|
148
|
+
if (this._stepWidth >= STEP_MIN_WIDTH) return svg`<circle class="track-step" cx="${Math.round(TRACK_PADDING + this._stepWidth * this._steps.indexOf(el))}" cy="50%" r="4.5" />`;
|
|
149
|
+
return svg``;
|
|
150
|
+
})}
|
|
158
151
|
`;
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
${this._steps.map(
|
|
164
|
-
(el) => html` <span
|
|
152
|
+
}
|
|
153
|
+
renderStepValues() {
|
|
154
|
+
if (this.hideStepValues) return nothing;
|
|
155
|
+
return html`<div id="step-values">
|
|
156
|
+
${this._steps.map((el) => html` <span
|
|
165
157
|
><span>
|
|
166
158
|
${this._steps.length <= 20 && this._stepWidth >= STEP_MIN_WIDTH ? el.toFixed(CountDecimalPlaces(this.step)) : nothing}
|
|
167
159
|
</span></span
|
|
168
|
-
>`
|
|
169
|
-
)}
|
|
160
|
+
>`)}
|
|
170
161
|
</div>`;
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
162
|
+
}
|
|
163
|
+
render() {
|
|
164
|
+
return html`
|
|
174
165
|
<input
|
|
175
166
|
id="input"
|
|
176
167
|
type="range"
|
|
@@ -178,6 +169,7 @@ const _UUISliderElement = class _UUISliderElement extends UUIFormControlWithBasi
|
|
|
178
169
|
max="${this.max}"
|
|
179
170
|
.value="${this.value}"
|
|
180
171
|
aria-label="${this.label}"
|
|
172
|
+
autocomplete=${ifDefined(this.autocomplete)}
|
|
181
173
|
step="${+this.step}"
|
|
182
174
|
?disabled=${this.disabled || this.readonly}
|
|
183
175
|
?readonly=${this.readonly}
|
|
@@ -197,21 +189,12 @@ const _UUISliderElement = class _UUISliderElement extends UUIFormControlWithBasi
|
|
|
197
189
|
</div>
|
|
198
190
|
${this.renderStepValues()}
|
|
199
191
|
`;
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
if (e.key == "Enter") {
|
|
207
|
-
this.submit();
|
|
208
|
-
}
|
|
209
|
-
};
|
|
210
|
-
_UUISliderElement.formAssociated = true;
|
|
211
|
-
_UUISliderElement.styles = [
|
|
212
|
-
UUIHorizontalPulseKeyframes,
|
|
213
|
-
nativeInputStyles,
|
|
214
|
-
css`
|
|
192
|
+
}
|
|
193
|
+
static {
|
|
194
|
+
this.styles = [
|
|
195
|
+
UUIHorizontalPulseKeyframes,
|
|
196
|
+
nativeInputStyles,
|
|
197
|
+
css`
|
|
215
198
|
:host {
|
|
216
199
|
display: inline-block;
|
|
217
200
|
width: 100%;
|
|
@@ -247,7 +230,8 @@ _UUISliderElement.styles = [
|
|
|
247
230
|
}
|
|
248
231
|
|
|
249
232
|
input:focus-visible ~ #track #thumb {
|
|
250
|
-
outline: 2px
|
|
233
|
+
outline: calc(2px * var(--uui-show-focus-outline, 1)) solid
|
|
234
|
+
var(--uui-color-focus);
|
|
251
235
|
}
|
|
252
236
|
|
|
253
237
|
.track-step {
|
|
@@ -358,51 +342,37 @@ _UUISliderElement.styles = [
|
|
|
358
342
|
opacity: 1;
|
|
359
343
|
}
|
|
360
344
|
`
|
|
361
|
-
];
|
|
362
|
-
|
|
363
|
-
__decorateClass([
|
|
364
|
-
property({ type: Boolean, attribute: "hide-step-values" })
|
|
365
|
-
], UUISliderElement.prototype, "hideStepValues", 2);
|
|
366
|
-
__decorateClass([
|
|
367
|
-
property({ type: Boolean, attribute: "hide-value-label" })
|
|
368
|
-
], UUISliderElement.prototype, "hideValueLabel", 2);
|
|
369
|
-
__decorateClass([
|
|
370
|
-
property({ type: Number })
|
|
371
|
-
], UUISliderElement.prototype, "min", 2);
|
|
372
|
-
__decorateClass([
|
|
373
|
-
property({ type: Number })
|
|
374
|
-
], UUISliderElement.prototype, "max", 2);
|
|
375
|
-
__decorateClass([
|
|
376
|
-
property({ type: Number })
|
|
377
|
-
], UUISliderElement.prototype, "step", 1);
|
|
378
|
-
__decorateClass([
|
|
379
|
-
property({ type: String })
|
|
380
|
-
], UUISliderElement.prototype, "value", 1);
|
|
381
|
-
__decorateClass([
|
|
382
|
-
property({ type: Boolean, reflect: true })
|
|
383
|
-
], UUISliderElement.prototype, "disabled", 2);
|
|
384
|
-
__decorateClass([
|
|
385
|
-
property({ type: Boolean, reflect: true })
|
|
386
|
-
], UUISliderElement.prototype, "readonly", 2);
|
|
387
|
-
__decorateClass([
|
|
388
|
-
property({ type: String })
|
|
389
|
-
], UUISliderElement.prototype, "label", 2);
|
|
390
|
-
__decorateClass([
|
|
391
|
-
query("#input")
|
|
392
|
-
], UUISliderElement.prototype, "_input", 2);
|
|
393
|
-
__decorateClass([
|
|
394
|
-
query("#track")
|
|
395
|
-
], UUISliderElement.prototype, "_track", 2);
|
|
396
|
-
__decorateClass([
|
|
397
|
-
state()
|
|
398
|
-
], UUISliderElement.prototype, "_stepWidth", 2);
|
|
399
|
-
__decorateClass([
|
|
400
|
-
state()
|
|
401
|
-
], UUISliderElement.prototype, "_steps", 2);
|
|
402
|
-
__decorateClass([
|
|
403
|
-
state()
|
|
404
|
-
], UUISliderElement.prototype, "_sliderPosition", 2);
|
|
405
|
-
export {
|
|
406
|
-
UUISliderElement
|
|
345
|
+
];
|
|
346
|
+
}
|
|
407
347
|
};
|
|
408
|
-
|
|
348
|
+
__decorate([property({
|
|
349
|
+
type: Boolean,
|
|
350
|
+
attribute: "hide-step-values"
|
|
351
|
+
})], UUISliderElement.prototype, "hideStepValues", void 0);
|
|
352
|
+
__decorate([property({
|
|
353
|
+
type: Boolean,
|
|
354
|
+
attribute: "hide-value-label"
|
|
355
|
+
})], UUISliderElement.prototype, "hideValueLabel", void 0);
|
|
356
|
+
__decorate([property({ type: Number })], UUISliderElement.prototype, "min", void 0);
|
|
357
|
+
__decorate([property({ type: Number })], UUISliderElement.prototype, "max", void 0);
|
|
358
|
+
__decorate([property({ type: Number })], UUISliderElement.prototype, "step", null);
|
|
359
|
+
__decorate([property({ type: String })], UUISliderElement.prototype, "value", null);
|
|
360
|
+
__decorate([property({
|
|
361
|
+
type: Boolean,
|
|
362
|
+
reflect: true
|
|
363
|
+
})], UUISliderElement.prototype, "disabled", void 0);
|
|
364
|
+
__decorate([property({
|
|
365
|
+
type: Boolean,
|
|
366
|
+
reflect: true
|
|
367
|
+
})], UUISliderElement.prototype, "readonly", void 0);
|
|
368
|
+
__decorate([property({ type: String })], UUISliderElement.prototype, "label", void 0);
|
|
369
|
+
__decorate([property()], UUISliderElement.prototype, "autocomplete", void 0);
|
|
370
|
+
__decorate([query("#input")], UUISliderElement.prototype, "_input", void 0);
|
|
371
|
+
__decorate([query("#track")], UUISliderElement.prototype, "_track", void 0);
|
|
372
|
+
__decorate([state()], UUISliderElement.prototype, "_stepWidth", void 0);
|
|
373
|
+
__decorate([state()], UUISliderElement.prototype, "_steps", void 0);
|
|
374
|
+
__decorate([state()], UUISliderElement.prototype, "_sliderPosition", void 0);
|
|
375
|
+
//#endregion
|
|
376
|
+
export { UUISliderElement };
|
|
377
|
+
|
|
378
|
+
//# sourceMappingURL=slider.element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.element.js","sources":["../../../src/components/slider/slider.element.ts"],"sourcesContent":["import { UUIHorizontalPulseKeyframes } from '../../internal/animations/index.js';\nimport { UUIFormControlWithBasicsMixin } from '../../internal/mixins/index.js';\nimport { css, html, LitElement, nothing, svg } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\n\nimport { nativeInputStyles } from './native-input.styles.js';\nimport { UUISliderEvent } from './UUISliderEvent.js';\n\nconst TRACK_PADDING = 12;\nconst STEP_MIN_WIDTH = 24;\n\nconst GenerateStepArray = (start: number, stop: number, step: number) =>\n Array.from({ length: (stop - start) / step + 1 }, (_, i) => start + i * step);\n\nconst CountDecimalPlaces = (num: number) => {\n const decimalIndex = num.toString().indexOf('.');\n return decimalIndex >= 0 ? num.toString().length - decimalIndex - 1 : 0;\n};\n\n/**\n * @element uui-slider\n * @description - Native `<input type=\"range\">` wrapper.\n * @fires UUISliderEvent#input on input\n * @extends UUIFormControlMixin\n */\nexport class UUISliderElement extends UUIFormControlWithBasicsMixin(\n 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 #stepDecimalPlaces = 0;\n\n /**\n * Hides the numbers representing the value of each steps. Dots will still be visible\n * @type {boolean}\n * @attr 'hide-step-values'\n * @default false\n */\n @property({ type: Boolean, attribute: 'hide-step-values' })\n hideStepValues = false;\n\n /**\n * Hides the value label on the thumb.\n * @type {boolean}\n * @attr 'hide-value-label'\n * @default false\n */\n @property({ type: Boolean, attribute: 'hide-value-label' })\n hideValueLabel = false;\n\n /**\n * This is a minimum value of the input.\n * @type {number}\n * @attr\n * @default 0\n */\n @property({ type: Number })\n min = 0;\n\n /**\n * This is a maximum value of the input.\n * @type {number}\n * @attr\n * @default 100\n */\n @property({ type: Number })\n max = 100;\n\n /**\n * This reflects the behavior of a native input step attribute.\n * @type {number}\n * @attr\n * @default 1\n */\n @property({ type: Number })\n public get step() {\n return this.#step;\n }\n\n public set step(value) {\n this.#step = value;\n this.#stepDecimalPlaces = (value.toString().split('.')[1] || []).length;\n }\n\n #step = 1;\n\n /**\n * This is a value property of the uui-slider.\n * @type {string}\n * @attr\n * @default ''\n */\n @property({ type: String })\n get value() {\n return super.value;\n }\n\n set value(newVal) {\n if (newVal instanceof File) {\n return;\n }\n\n const oldVal = super.value;\n\n let correctedValue = newVal ? Number.parseFloat(newVal as string) : 0;\n correctedValue = Math.min(Math.max(correctedValue, this.min), this.max);\n\n if (this.step > 0) {\n correctedValue = Math.round(correctedValue / this.step) * this.step;\n }\n\n super.value = correctedValue.toFixed(this.#stepDecimalPlaces).toString();\n\n this._calculateSliderPosition();\n this.requestUpdate('value', oldVal);\n }\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 * Label to be used for aria-label and eventually as visual label\n * @type {string}\n * @attr\n */\n @property({ type: String })\n public label!: string;\n\n @query('#input')\n private readonly _input!: HTMLInputElement;\n\n @query('#track')\n private readonly _track!: HTMLElement;\n\n constructor() {\n super();\n this.addEventListener('keydown', this.#onKeyDown);\n }\n\n /**\n * This method enables <label for=\"...\"> to focus the select\n */\n async focus() {\n await this.updateComplete;\n this._input.focus();\n }\n async blur() {\n await this.updateComplete;\n this._input.blur();\n }\n /**\n * This method enables <label for=\"...\"> to open the select\n */\n async click() {\n await this.updateComplete;\n this._input.click();\n }\n\n protected getFormElement(): HTMLElement {\n return this._input;\n }\n\n connectedCallback() {\n super.connectedCallback();\n //TODO: change to observer.\n window.addEventListener('resize', this.onWindowResize);\n if (!this.label) {\n console.warn(this.tagName + ' needs a `label`', this);\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.onWindowResize);\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n this._calculateSliderPosition();\n this._updateSteps();\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n if (\n changedProperties.get('max') ||\n changedProperties.get('min') ||\n changedProperties.get('step')\n ) {\n this.value = this.value as string;\n this._updateSteps();\n }\n }\n\n private _updateSteps() {\n this._steps = GenerateStepArray(this.min, this.max, this.step);\n this._stepWidth = this._calculateStepWidth();\n }\n\n @state()\n private _stepWidth = 0;\n\n private _calculateStepWidth() {\n return (\n (this._track.getBoundingClientRect().width - TRACK_PADDING * 2) /\n (this._steps.length - 1)\n );\n }\n\n private readonly onWindowResize = () => {\n this._stepWidth = this._calculateStepWidth();\n };\n\n #onKeyDown(e: KeyboardEvent): void {\n if (e.key == 'Enter') {\n this.submit();\n }\n }\n\n @state()\n protected _steps: number[] = [];\n\n @state()\n protected _sliderPosition = '0%';\n\n private _calculateSliderPosition() {\n const ratio =\n (Number.parseFloat((super.value || '0') as string) - this.min) /\n (this.max - this.min);\n this._sliderPosition = `${Math.floor(ratio * 100000) / 1000}%`;\n }\n\n private _onInput(e: Event) {\n e.stopPropagation();\n this.value = this._input.value;\n this.dispatchEvent(new UUISliderEvent(UUISliderEvent.INPUT));\n }\n\n private _onChange(e: Event) {\n e.stopPropagation();\n this.pristine = false;\n this.dispatchEvent(new UUISliderEvent(UUISliderEvent.CHANGE));\n }\n\n renderTrackSteps() {\n return svg`\n ${this._steps.map(el => {\n if (this._stepWidth >= STEP_MIN_WIDTH) {\n const x = Math.round(\n TRACK_PADDING + this._stepWidth * this._steps.indexOf(el),\n );\n return svg`<circle class=\"track-step\" cx=\"${x}\" cy=\"50%\" r=\"4.5\" />`;\n }\n return svg``;\n })}\n`;\n }\n\n renderStepValues() {\n if (this.hideStepValues) return nothing;\n\n return html`<div id=\"step-values\">\n ${this._steps.map(\n el =>\n html` <span\n ><span>\n ${this._steps.length <= 20 && this._stepWidth >= STEP_MIN_WIDTH\n ? el.toFixed(CountDecimalPlaces(this.step))\n : nothing}\n </span></span\n >`,\n )}\n </div>`;\n }\n\n render() {\n return html`\n <input\n id=\"input\"\n type=\"range\"\n min=\"${this.min}\"\n max=\"${this.max}\"\n .value=\"${this.value}\"\n aria-label=\"${this.label}\"\n step=\"${+this.step}\"\n ?disabled=${this.disabled || this.readonly}\n ?readonly=${this.readonly}\n @input=${this._onInput}\n @change=${this._onChange} />\n <div id=\"track\" aria-hidden=\"true\">\n <svg height=\"100%\" width=\"100%\">\n <rect x=\"9\" y=\"9\" height=\"3\" rx=\"2\" />\n ${this.renderTrackSteps()}\n </svg>\n\n <div id=\"track-inner\" aria-hidden=\"true\">\n <div id=\"thumb\" style=${styleMap({ left: this._sliderPosition })}>\n ${this.hideValueLabel\n ? null\n : html`<div id=\"thumb-label\">${this.value}</div>`}\n </div>\n </div>\n </div>\n ${this.renderStepValues()}\n `;\n }\n\n static override readonly styles = [\n UUIHorizontalPulseKeyframes,\n nativeInputStyles,\n css`\n :host {\n display: inline-block;\n width: 100%;\n position: relative;\n min-height: 30px;\n user-select: none;\n }\n\n input {\n box-sizing: border-box;\n height: 18px;\n }\n\n #track {\n position: relative;\n height: 18px;\n width: 100%;\n display: flex;\n }\n\n #track svg {\n height: 21px;\n border-radius: 10px;\n background-color: var(--uui-color-surface);\n }\n #track svg rect {\n width: calc(100% - 18px);\n fill: var(--uui-color-border-standalone);\n transition: fill 120ms;\n }\n :host(:not([disabled]):not([readonly])) input:hover ~ #track svg rect {\n fill: var(--uui-color-border-emphasis);\n }\n\n input:focus-visible ~ #track #thumb {\n outline: 2px solid var(--uui-color-focus);\n }\n\n .track-step {\n fill: var(--uui-color-border);\n }\n\n :host(:not([disabled]):not([readonly]))\n input:hover\n ~ #track\n svg\n .track-step {\n fill: var(--uui-color-border-emphasis);\n }\n\n #track-inner {\n position: absolute;\n left: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */\n right: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */\n }\n\n #thumb {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 2px;\n bottom: 0;\n left: 0;\n height: 17px;\n width: 17px;\n margin-left: -8px;\n margin-right: -8px;\n border-radius: 50%;\n box-sizing: border-box;\n\n background-color: var(--uui-color-surface);\n border: 3px solid var(--uui-color-selected);\n }\n :host([disabled]) #thumb {\n background-color: var(--uui-color-disabled);\n border-color: var(--uui-color-disabled-standalone);\n }\n\n #thumb-label {\n position: absolute;\n box-sizing: border-box;\n font-weight: 700;\n bottom: 15px;\n left: 50%;\n width: 40px;\n margin-left: -20px;\n text-align: center;\n opacity: 0;\n transition: 120ms opacity;\n color: var(--uui-color-selected);\n }\n\n input:focus ~ #track #thumb-label,\n :host(:not([disabled]):not([readonly]))\n input:hover\n ~ #track\n #thumb-label {\n opacity: 1;\n }\n\n #step-values {\n margin: 0 ${TRACK_PADDING}px; /* Match TRACK_MARGIN */\n margin-top: 3px;\n display: flex;\n align-items: flex-end;\n box-sizing: border-box;\n }\n\n #step-values > span {\n flex-basis: 0;\n flex-grow: 1;\n color: var(--uui-color-disabled-contrast);\n }\n\n :host(:not([disabled]):not([readonly]):hover) #step-values > span,\n :host(:not([disabled]):not([readonly]):active) #step-values > span {\n color: var(--uui-color-border-emphasis);\n }\n\n #step-values > span > span {\n transform: translateX(-50%);\n display: inline-block;\n text-align: center;\n font-size: var(--uui-type-small-size);\n }\n\n #step-values > span:last-child {\n width: 0;\n flex-grow: 0;\n }\n\n :host(:not([pristine]):invalid) #thumb {\n border-color: var(--uui-color-invalid-standalone);\n }\n\n // readonly\n :host([readonly]) #thumb {\n background-color: var(--uui-color-disabled);\n border-color: var(--uui-color-disabled-standalone);\n }\n\n :host([readonly]) #thumb-label {\n opacity: 1;\n }\n `,\n ];\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider.element.js","names":["#step","#stepDecimalPlaces","#onKeyDown"],"sources":["../../../src/components/slider/slider.element.ts"],"sourcesContent":["import { UUIHorizontalPulseKeyframes } from '../../internal/animations/index.js';\nimport { UUIFormControlWithBasicsMixin } from '../../internal/mixins/index.js';\nimport { css, html, LitElement, nothing, svg } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { nativeInputStyles } from './native-input.styles.js';\nimport { UUISliderEvent } from './UUISliderEvent.js';\n\nconst TRACK_PADDING = 12;\nconst STEP_MIN_WIDTH = 24;\n\nconst GenerateStepArray = (start: number, stop: number, step: number) =>\n Array.from({ length: (stop - start) / step + 1 }, (_, i) => start + i * step);\n\nconst CountDecimalPlaces = (num: number) => {\n const decimalIndex = num.toString().indexOf('.');\n return decimalIndex >= 0 ? num.toString().length - decimalIndex - 1 : 0;\n};\n\n/**\n * @element uui-slider\n * @description - Native `<input type=\"range\">` wrapper.\n * @fires UUISliderEvent#input on input\n * @extends UUIFormControlMixin\n */\nexport class UUISliderElement extends UUIFormControlWithBasicsMixin(\n 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 #stepDecimalPlaces = 0;\n\n /**\n * Hides the numbers representing the value of each steps. Dots will still be visible\n * @type {boolean}\n * @attr 'hide-step-values'\n * @default false\n */\n @property({ type: Boolean, attribute: 'hide-step-values' })\n hideStepValues = false;\n\n /**\n * Hides the value label on the thumb.\n * @type {boolean}\n * @attr 'hide-value-label'\n * @default false\n */\n @property({ type: Boolean, attribute: 'hide-value-label' })\n hideValueLabel = false;\n\n /**\n * This is a minimum value of the input.\n * @type {number}\n * @attr\n * @default 0\n */\n @property({ type: Number })\n min = 0;\n\n /**\n * This is a maximum value of the input.\n * @type {number}\n * @attr\n * @default 100\n */\n @property({ type: Number })\n max = 100;\n\n /**\n * This reflects the behavior of a native input step attribute.\n * @type {number}\n * @attr\n * @default 1\n */\n @property({ type: Number })\n public get step() {\n return this.#step;\n }\n\n public set step(value) {\n this.#step = value;\n this.#stepDecimalPlaces = (value.toString().split('.')[1] || []).length;\n }\n\n #step = 1;\n\n /**\n * This is a value property of the uui-slider.\n * @type {string}\n * @attr\n * @default ''\n */\n @property({ type: String })\n get value() {\n return super.value;\n }\n\n set value(newVal) {\n if (newVal instanceof File) {\n return;\n }\n\n const oldVal = super.value;\n\n let correctedValue = newVal ? Number.parseFloat(newVal as string) : 0;\n correctedValue = Math.min(Math.max(correctedValue, this.min), this.max);\n\n if (this.step > 0) {\n correctedValue = Math.round(correctedValue / this.step) * this.step;\n }\n\n super.value = correctedValue.toFixed(this.#stepDecimalPlaces).toString();\n\n this._calculateSliderPosition();\n this.requestUpdate('value', oldVal);\n }\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 * Label to be used for aria-label and eventually as visual label\n * @type {string}\n * @attr\n */\n @property({ type: String })\n public label!: string;\n\n /**\n * Defines the autocomplete attribute, forwarded to the native input. A slider rarely wants autofill; set to \"off\" to discourage password managers from attaching to it.\n * @type {string}\n * @attr\n * @default undefined\n */\n @property()\n autocomplete?: string;\n\n @query('#input')\n private readonly _input!: HTMLInputElement;\n\n @query('#track')\n private readonly _track!: HTMLElement;\n\n constructor() {\n super();\n this.addEventListener('keydown', this.#onKeyDown);\n }\n\n /**\n * This method enables <label for=\"...\"> to focus the select\n */\n async focus() {\n await this.updateComplete;\n this._input.focus();\n }\n async blur() {\n await this.updateComplete;\n this._input.blur();\n }\n /**\n * This method enables <label for=\"...\"> to open the select\n */\n async click() {\n await this.updateComplete;\n this._input.click();\n }\n\n protected getFormElement(): HTMLElement {\n return this._input;\n }\n\n connectedCallback() {\n super.connectedCallback();\n //TODO: change to observer.\n window.addEventListener('resize', this.onWindowResize);\n if (!this.label) {\n console.warn(this.tagName + ' needs a `label`', this);\n }\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.onWindowResize);\n super.disconnectedCallback();\n }\n\n firstUpdated() {\n this._calculateSliderPosition();\n this._updateSteps();\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n if (\n changedProperties.get('max') ||\n changedProperties.get('min') ||\n changedProperties.get('step')\n ) {\n this.value = this.value as string;\n this._updateSteps();\n }\n }\n\n private _updateSteps() {\n this._steps = GenerateStepArray(this.min, this.max, this.step);\n this._stepWidth = this._calculateStepWidth();\n }\n\n @state()\n private _stepWidth = 0;\n\n private _calculateStepWidth() {\n return (\n (this._track.getBoundingClientRect().width - TRACK_PADDING * 2) /\n (this._steps.length - 1)\n );\n }\n\n private readonly onWindowResize = () => {\n this._stepWidth = this._calculateStepWidth();\n };\n\n #onKeyDown(e: KeyboardEvent): void {\n if (e.key == 'Enter') {\n this.submit();\n }\n }\n\n @state()\n protected _steps: number[] = [];\n\n @state()\n protected _sliderPosition = '0%';\n\n private _calculateSliderPosition() {\n const ratio =\n (Number.parseFloat((super.value || '0') as string) - this.min) /\n (this.max - this.min);\n this._sliderPosition = `${Math.floor(ratio * 100000) / 1000}%`;\n }\n\n private _onInput(e: Event) {\n e.stopPropagation();\n this.value = this._input.value;\n this.dispatchEvent(new UUISliderEvent(UUISliderEvent.INPUT));\n }\n\n private _onChange(e: Event) {\n e.stopPropagation();\n this.pristine = false;\n this.dispatchEvent(new UUISliderEvent(UUISliderEvent.CHANGE));\n }\n\n renderTrackSteps() {\n return svg`\n ${this._steps.map(el => {\n if (this._stepWidth >= STEP_MIN_WIDTH) {\n const x = Math.round(\n TRACK_PADDING + this._stepWidth * this._steps.indexOf(el),\n );\n return svg`<circle class=\"track-step\" cx=\"${x}\" cy=\"50%\" r=\"4.5\" />`;\n }\n return svg``;\n })}\n`;\n }\n\n renderStepValues() {\n if (this.hideStepValues) return nothing;\n\n return html`<div id=\"step-values\">\n ${this._steps.map(\n el =>\n html` <span\n ><span>\n ${this._steps.length <= 20 && this._stepWidth >= STEP_MIN_WIDTH\n ? el.toFixed(CountDecimalPlaces(this.step))\n : nothing}\n </span></span\n >`,\n )}\n </div>`;\n }\n\n render() {\n return html`\n <input\n id=\"input\"\n type=\"range\"\n min=\"${this.min}\"\n max=\"${this.max}\"\n .value=\"${this.value}\"\n aria-label=\"${this.label}\"\n autocomplete=${ifDefined(this.autocomplete as any)}\n step=\"${+this.step}\"\n ?disabled=${this.disabled || this.readonly}\n ?readonly=${this.readonly}\n @input=${this._onInput}\n @change=${this._onChange} />\n <div id=\"track\" aria-hidden=\"true\">\n <svg height=\"100%\" width=\"100%\">\n <rect x=\"9\" y=\"9\" height=\"3\" rx=\"2\" />\n ${this.renderTrackSteps()}\n </svg>\n\n <div id=\"track-inner\" aria-hidden=\"true\">\n <div id=\"thumb\" style=${styleMap({ left: this._sliderPosition })}>\n ${this.hideValueLabel\n ? null\n : html`<div id=\"thumb-label\">${this.value}</div>`}\n </div>\n </div>\n </div>\n ${this.renderStepValues()}\n `;\n }\n\n static override readonly styles = [\n UUIHorizontalPulseKeyframes,\n nativeInputStyles,\n css`\n :host {\n display: inline-block;\n width: 100%;\n position: relative;\n min-height: 30px;\n user-select: none;\n }\n\n input {\n box-sizing: border-box;\n height: 18px;\n }\n\n #track {\n position: relative;\n height: 18px;\n width: 100%;\n display: flex;\n }\n\n #track svg {\n height: 21px;\n border-radius: 10px;\n background-color: var(--uui-color-surface);\n }\n #track svg rect {\n width: calc(100% - 18px);\n fill: var(--uui-color-border-standalone);\n transition: fill 120ms;\n }\n :host(:not([disabled]):not([readonly])) input:hover ~ #track svg rect {\n fill: var(--uui-color-border-emphasis);\n }\n\n input:focus-visible ~ #track #thumb {\n outline: calc(2px * var(--uui-show-focus-outline, 1)) solid\n var(--uui-color-focus);\n }\n\n .track-step {\n fill: var(--uui-color-border);\n }\n\n :host(:not([disabled]):not([readonly]))\n input:hover\n ~ #track\n svg\n .track-step {\n fill: var(--uui-color-border-emphasis);\n }\n\n #track-inner {\n position: absolute;\n left: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */\n right: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */\n }\n\n #thumb {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n top: 2px;\n bottom: 0;\n left: 0;\n height: 17px;\n width: 17px;\n margin-left: -8px;\n margin-right: -8px;\n border-radius: 50%;\n box-sizing: border-box;\n\n background-color: var(--uui-color-surface);\n border: 3px solid var(--uui-color-selected);\n }\n :host([disabled]) #thumb {\n background-color: var(--uui-color-disabled);\n border-color: var(--uui-color-disabled-standalone);\n }\n\n #thumb-label {\n position: absolute;\n box-sizing: border-box;\n font-weight: 700;\n bottom: 15px;\n left: 50%;\n width: 40px;\n margin-left: -20px;\n text-align: center;\n opacity: 0;\n transition: 120ms opacity;\n color: var(--uui-color-selected);\n }\n\n input:focus ~ #track #thumb-label,\n :host(:not([disabled]):not([readonly]))\n input:hover\n ~ #track\n #thumb-label {\n opacity: 1;\n }\n\n #step-values {\n margin: 0 ${TRACK_PADDING}px; /* Match TRACK_MARGIN */\n margin-top: 3px;\n display: flex;\n align-items: flex-end;\n box-sizing: border-box;\n }\n\n #step-values > span {\n flex-basis: 0;\n flex-grow: 1;\n color: var(--uui-color-disabled-contrast);\n }\n\n :host(:not([disabled]):not([readonly]):hover) #step-values > span,\n :host(:not([disabled]):not([readonly]):active) #step-values > span {\n color: var(--uui-color-border-emphasis);\n }\n\n #step-values > span > span {\n transform: translateX(-50%);\n display: inline-block;\n text-align: center;\n font-size: var(--uui-type-small-size);\n }\n\n #step-values > span:last-child {\n width: 0;\n flex-grow: 0;\n }\n\n :host(:not([pristine]):invalid) #thumb {\n border-color: var(--uui-color-invalid-standalone);\n }\n\n // readonly\n :host([readonly]) #thumb {\n background-color: var(--uui-color-disabled);\n border-color: var(--uui-color-disabled-standalone);\n }\n\n :host([readonly]) #thumb-label {\n opacity: 1;\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 { UUISliderElement } from "./slider.element.js";
|
|
3
2
|
import { UUISliderEvent } from "./UUISliderEvent.js";
|
|
3
|
+
import { UUISliderElement } from "./slider.element.js";
|
|
4
|
+
//#region src/components/slider/slider.ts
|
|
4
5
|
defineElement("uui-slider", UUISliderElement);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=slider.js.map
|
|
6
|
+
//#endregion
|
|
7
|
+
export { UUISliderElement, UUISliderEvent };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","sources":["../../../src/components/slider/slider.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUISliderElement } from './slider.element.js';\n\ndefineElement('uui-slider', UUISliderElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-slider': UUISliderElement;\n }\n}\n\nexport * from './slider.element.js';\nexport * from './UUISliderEvent.js';\
|
|
1
|
+
{"version":3,"file":"slider.js","names":[],"sources":["../../../src/components/slider/slider.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUISliderElement } from './slider.element.js';\n\ndefineElement('uui-slider', UUISliderElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-slider': UUISliderElement;\n }\n}\n\nexport * from './slider.element.js';\nexport * from './UUISliderEvent.js';\n"],"mappings":";;;;AAGA,cAAc,cAAc,gBAAgB"}
|
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
import { LitElement, html, css } from "lit";
|
|
2
|
-
import { ifDefined } from "lit/directives/if-defined.js";
|
|
3
|
-
import "../icon/icon.js";
|
|
4
1
|
import { LabelMixin } from "../../internal/mixins/LabelMixin.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import "../icon/icon.js";
|
|
3
|
+
import { LitElement, css, html } from "lit";
|
|
4
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
5
|
+
//#region src/components/symbol-drag-handle/symbol-drag-handle.element.ts
|
|
6
|
+
/**
|
|
7
|
+
* @element uui-symbol-drag-handle
|
|
8
|
+
*/
|
|
9
|
+
var UUISymbolDragHandleElement = class extends LabelMixin("", LitElement) {
|
|
10
|
+
render() {
|
|
11
|
+
return html`<uui-icon
|
|
8
12
|
name="drag"
|
|
9
13
|
aria-label=${ifDefined(this.label)}></uui-icon>`;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
css`
|
|
14
|
+
}
|
|
15
|
+
static {
|
|
16
|
+
this.styles = [css`
|
|
14
17
|
:host {
|
|
15
18
|
cursor: grab;
|
|
16
19
|
}
|
|
17
20
|
:host:active {
|
|
18
21
|
cursor: grabbing;
|
|
19
22
|
}
|
|
20
|
-
`
|
|
21
|
-
|
|
22
|
-
let UUISymbolDragHandleElement = _UUISymbolDragHandleElement;
|
|
23
|
-
export {
|
|
24
|
-
UUISymbolDragHandleElement
|
|
23
|
+
`];
|
|
24
|
+
}
|
|
25
25
|
};
|
|
26
|
-
//#
|
|
26
|
+
//#endregion
|
|
27
|
+
export { UUISymbolDragHandleElement };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=symbol-drag-handle.element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol-drag-handle.element.js","sources":["../../../src/components/symbol-drag-handle/symbol-drag-handle.element.ts"],"sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LabelMixin } from '../../internal/index.js';\nimport '../icon/icon.js';\n\n/**\n * @element uui-symbol-drag-handle\n */\nexport class UUISymbolDragHandleElement extends LabelMixin('', LitElement) {\n render() {\n return html`<uui-icon\n name=\"drag\"\n aria-label=${ifDefined(this.label)}></uui-icon>`;\n }\n\n static override readonly styles = [\n css`\n :host {\n cursor: grab;\n }\n :host:active {\n cursor: grabbing;\n }\n `,\n ];\n}\n"],"
|
|
1
|
+
{"version":3,"file":"symbol-drag-handle.element.js","names":[],"sources":["../../../src/components/symbol-drag-handle/symbol-drag-handle.element.ts"],"sourcesContent":["import { css, html, LitElement } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { LabelMixin } from '../../internal/index.js';\nimport '../icon/icon.js';\n\n/**\n * @element uui-symbol-drag-handle\n */\nexport class UUISymbolDragHandleElement extends LabelMixin('', LitElement) {\n render() {\n return html`<uui-icon\n name=\"drag\"\n aria-label=${ifDefined(this.label)}></uui-icon>`;\n }\n\n static override readonly styles = [\n css`\n :host {\n cursor: grab;\n }\n :host:active {\n cursor: grabbing;\n }\n `,\n ];\n}\n"],"mappings":";;;;;;;;AAQA,IAAa,6BAAb,cAAgD,WAAW,IAAI,UAAU,CAAC,CAAC;CACzE,SAAS;EACP,OAAO,IAAI;;mBAEI,UAAU,KAAK,KAAK,EAAE;CACvC;;gBAEkC,CAChC,GAAG;;;;;;;KAQL;;AACF"}
|