@umbraco-ui/uui 2.0.0 → 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 +23 -19
- 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 +19 -18
- package/vscode.html-custom-data.json +36 -7
- package/dist/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-slider.element.js","sources":["../../../src/components/color-slider/color-slider.element.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport {\n drag,\n clamp,\n reverseNumberInRange,\n parseColor,\n hslaToRgb,\n hslaToHex,\n} from '../../internal/utils/index.js';\n\nimport { UUIColorSliderEvent } from './UUIColorSliderEvent.js';\nimport { LabelMixin } from '../../internal/mixins/index.js';\n\nexport type UUIColorSliderOrientation = 'horizontal' | 'vertical';\nexport type UUIColorSliderType = 'hue' | 'opacity' | 'saturation' | 'lightness';\n\n/**\n * @element uui-color-slider\n * @description A slider that is a part of uui-color-picker\n * @fires {UUIColorSliderEvent} change - Fires when the value of the slider changes.\n * @cssprop --uui-slider-height - The height of the slider.\n * @cssprop --uui-slider-handle-size - The size of the slider handle.\n * @cssprop --uui-slider-background-image - The background image of the slider.\n * @cssprop --uui-slider-background-size - The background size of the slider.\n * @cssprop --uui-slider-background-position - The background position of the slider.\n */\nexport class UUIColorSliderElement extends LabelMixin('label', LitElement) {\n /**\n * The type of the slider.\n * @type {UUIColorSliderType}\n * @attr\n * @default 'hue'\n */\n @property({ reflect: true }) type: UUIColorSliderType = 'hue';\n\n /**\n * The color value.\n * @type {string}\n * @attr\n * @default ''\n */\n @property() color: string = '';\n\n /**\n * This is a minimum value of the slider.\n * @type {number}\n * @attr\n * @default 0\n */\n @property({ type: Number }) min = 0;\n\n /**\n * This is a maximum value of the slider.\n * @type {number}\n * @attr\n * @default 100\n */\n @property({ type: Number }) max = 100;\n\n /**\n * The minimum increment value allowed by the slider.\n * @type {number}\n * @attr\n **/\n @property({ type: Number }) precision = 1;\n\n /**\n * Draws the slider in a vertical orientation.\n * @type {boolean}\n * @attr\n * @default false\n **/\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /**\n * The current value of the slider.\n * @type {number}\n * @attr\n * @default 0\n */\n @property({ type: Number }) value = 0;\n\n /**\n * Sets the color slider to readonly mode.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Sets the color slider to disabled.\n * @type {boolean}\n * @attr\n * @default false\n **/\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Hides the value label under the slider.\n * @type {boolean}\n * @attr 'hide-value-label'\n * @default false\n */\n @property({ type: Boolean, attribute: 'hide-value-label', reflect: true })\n hideValueLabel = false;\n\n private container!: HTMLElement;\n private handle!: HTMLElement;\n\n willUpdate(changedProperties: Map<string, any>) {\n if (changedProperties.has('type')) {\n const typeMaxValues: Record<string, number> = {\n hue: 360,\n saturation: 100,\n lightness: 100,\n opacity: 100,\n };\n this.max = typeMaxValues[this.type] ?? this.max;\n }\n\n if (\n (changedProperties.has('type') || changedProperties.has('color')) &&\n this.color\n ) {\n this.#updateGradients();\n }\n }\n\n #updateGradients() {\n const parsed = parseColor(this.color);\n if (!parsed) return;\n const { h, s, l } = parsed;\n const { r, g, b } = hslaToRgb(h, s, l);\n const direction = this.vertical ? 'top' : 'right';\n\n const gradients: Record<string, string | null> = {\n saturation: `linear-gradient(to ${direction}, hsl(${h} 0% ${l}%), hsl(${h} 100% ${l}%))`,\n lightness: `linear-gradient(to ${direction}, hsl(${h} ${s}% 0%), hsl(${h} ${s}% 100%))`,\n };\n\n const hueColor =\n this.type === 'opacity'\n ? `linear-gradient(to ${direction}, transparent 0%, rgb(${r} ${g} ${b}) 100%)`\n : null;\n\n this.style.setProperty(\n '--uui-slider-background-image',\n gradients[this.type] ?? null,\n );\n this.style.setProperty('--uui-slider-hue-color', hueColor);\n }\n\n firstUpdated() {\n this.container =\n this.shadowRoot!.querySelector<HTMLElement>('#color-slider')!;\n this.handle = this.container.querySelector<HTMLElement>(\n '#color-slider__handle',\n )!;\n }\n\n handleDrag(event: PointerEvent) {\n if (this.disabled || this.readonly || !this.container || !this.handle)\n return;\n\n const { width, height } = this.container.getBoundingClientRect();\n\n this.handle.focus();\n event.preventDefault();\n drag(this.container, {\n onMove: (x, y) => {\n if (this.vertical) {\n this.value = reverseNumberInRange(\n clamp((y / height) * this.max, this.min, this.max),\n this.min,\n this.max,\n );\n } else {\n this.value = clamp((x / width) * this.max, this.min, this.max);\n }\n\n this.syncValues();\n },\n initialEvent: event,\n });\n }\n\n handleClick(event: MouseEvent) {\n if (this.disabled || this.readonly) return;\n\n this.value = this.getValueFromMousePosition(event);\n this.syncValues();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const increment = event.shiftKey ? 10 : 1;\n\n if (event.key === 'ArrowLeft' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.value = clamp(this.value - increment, this.min, this.max);\n this.syncValues();\n } else if (event.key === 'ArrowRight' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.value = clamp(this.value + increment, this.min, this.max);\n this.syncValues();\n } else if (event.key === 'Home') {\n event.preventDefault();\n this.value = this.min;\n this.syncValues();\n } else if (event.key === 'End') {\n event.preventDefault();\n this.value = this.max;\n this.syncValues();\n }\n }\n\n getValueFromMousePosition(event: MouseEvent) {\n if (this.vertical) {\n return this.getValueFromYCoordinate(event.clientY);\n }\n return this.getValueFromXCoordinate(event.clientX);\n }\n\n getValueFromTouchPosition(event: TouchEvent) {\n if (this.vertical) {\n return this.getValueFromYCoordinate(event.touches[0].clientY);\n }\n return this.getValueFromXCoordinate(event.touches[0].clientX);\n }\n\n getValueFromXCoordinate(coordinate: number) {\n const { left, width } = this.container.getBoundingClientRect();\n return clamp(\n this.roundToPrecision(((coordinate - left) / width) * this.max),\n this.min,\n this.max,\n );\n }\n\n getValueFromYCoordinate(coordinate: number) {\n const { top, height } = this.container.getBoundingClientRect();\n return clamp(\n this.roundToPrecision(((coordinate - top) / height) * this.max),\n this.min,\n this.max,\n );\n }\n\n roundToPrecision(numberToRound: number) {\n const multiplier = 1 / this.precision;\n return Math.ceil(numberToRound * multiplier) / multiplier;\n }\n\n syncValues() {\n this.dispatchEvent(new UUIColorSliderEvent(UUIColorSliderEvent.CHANGE));\n }\n\n get cssPropCurrentValue() {\n if (this.value === 0) {\n return this.vertical ? 100 : 0;\n }\n const ratio = this.vertical\n ? this.max / reverseNumberInRange(this.value, this.min, this.max)\n : this.max / this.value;\n return 100 / ratio;\n }\n\n render() {\n return html`<div\n part=\"slider\"\n id=\"color-slider\"\n role=\"slider\"\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 aria-orientation=\"${this.vertical ? 'vertical' : 'horizontal'}\"\n aria-valuemin=\"${Math.round(this.min)}\"\n aria-valuemax=\"${Math.round(this.max)}\"\n aria-valuenow=\"${Math.round(this.value)}\"\n @click=${this.handleClick}\n @mousedown=${this.handleDrag}\n @touchstart=${this.handleDrag}\n @keydown=${this.handleKeyDown}>\n ${this.type === 'opacity'\n ? html`<div\n id=\"current-hue\"\n style=${styleMap({\n backgroundImage: `var(--uui-slider-hue-color)`,\n })}></div>`\n : ''}\n <!-- <slot name=\"detail\"> </slot> -->\n <span\n id=\"color-slider__handle\"\n style=${styleMap({\n '--current-value': `${this.cssPropCurrentValue}%`,\n backgroundColor:\n this.type === 'hue'\n ? hslaToHex(Math.round(this.value), 100, 50)\n : undefined,\n })}\n tabindex=${ifDefined(this.disabled ? undefined : '0')}>\n </span>\n </div>\n ${this.hideValueLabel ? null : Math.round(this.value)}`;\n }\n\n static override readonly styles = [\n css`\n :host {\n --uui-slider-height: 15px;\n --uui-slider-handle-size: 17px;\n --uui-slider-background-image: #fff;\n --uui-slider-background-size: 100%;\n --uui-slider-background-position: top left;\n display: block;\n }\n\n :host([type='hue']) {\n --uui-slider-background-image: linear-gradient(\n to right,\n rgb(255, 0, 0) 0%,\n rgb(255, 255, 0) 17%,\n rgb(0, 255, 0) 33%,\n rgb(0, 255, 255) 50%,\n rgb(0, 0, 255) 67%,\n rgb(255, 0, 255) 83%,\n rgb(255, 0, 0) 100%\n );\n }\n\n :host([vertical][type='hue']) {\n --uui-slider-background-image: linear-gradient(\n to top,\n rgb(255, 0, 0) 0%,\n rgb(255, 255, 0) 17%,\n rgb(0, 255, 0) 33%,\n rgb(0, 255, 255) 50%,\n rgb(0, 0, 255) 67%,\n rgb(255, 0, 255) 83%,\n rgb(255, 0, 0) 100%\n );\n }\n\n :host([type='opacity']) {\n --uui-slider-background-image:\n linear-gradient(45deg, var(--uui-palette-grey) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%),\n linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%),\n linear-gradient(45deg, var(--uui-palette-grey) 25%, transparent 25%);\n\n --uui-slider-background-size: 10px 10px;\n --uui-slider-background-position: 0 0, 0 0, -5px -5px, 5px 5px;\n }\n\n #color-slider {\n position: relative;\n background-image: var(--uui-slider-background-image);\n background-size: var(--uui-slider-background-size);\n background-position: var(--uui-slider-background-position);\n border-radius: var(--uui-border-radius);\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);\n width: 100%;\n height: var(--uui-slider-height);\n }\n\n :host([vertical]) #color-slider {\n width: var(--uui-slider-height);\n height: 300px;\n }\n\n :host([disabled]) {\n cursor: not-allowed;\n }\n\n :host([disabled]) #color-slider {\n user-select: none;\n pointer-events: none;\n opacity: 0.55;\n }\n\n :host([readonly]) {\n cursor: default;\n }\n\n :host([readonly]) #color-slider {\n pointer-events: none;\n }\n\n #color-slider__handle {\n position: absolute;\n top: calc(50% - var(--uui-slider-handle-size) / 2);\n width: var(--uui-slider-handle-size);\n height: var(--uui-slider-handle-size);\n background-color: white;\n border-radius: 50%;\n border: solid 2px white;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);\n box-sizing: border-box;\n margin-left: calc(var(--uui-slider-handle-size) / -2);\n left: var(--current-value, 0%);\n }\n\n :host([vertical]) #color-slider__handle {\n left: unset;\n top: var(--current-value, 100%);\n margin-left: -1px;\n margin-top: calc(var(--uui-slider-handle-size) / -2);\n }\n\n ::slotted(*:first-child) {\n border-radius: 3px;\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n }\n\n #current-hue {\n border-radius: var(--uui-border-radius);\n position: absolute;\n inset: 0 0 0 0;\n }\n `,\n ];\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"color-slider.element.js","names":["#updateGradients"],"sources":["../../../src/components/color-slider/color-slider.element.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport {\n drag,\n clamp,\n reverseNumberInRange,\n parseColor,\n hslaToRgb,\n hslaToHex,\n} from '../../internal/utils/index.js';\n\nimport { UUIColorSliderEvent } from './UUIColorSliderEvent.js';\nimport { LabelMixin } from '../../internal/mixins/index.js';\n\nexport type UUIColorSliderOrientation = 'horizontal' | 'vertical';\nexport type UUIColorSliderType = 'hue' | 'opacity' | 'saturation' | 'lightness';\n\n/**\n * @element uui-color-slider\n * @description A slider that is a part of uui-color-picker\n * @fires {UUIColorSliderEvent} change - Fires when the value of the slider changes.\n * @cssprop --uui-slider-height - The height of the slider.\n * @cssprop --uui-slider-handle-size - The size of the slider handle.\n * @cssprop --uui-slider-background-image - The background image of the slider.\n * @cssprop --uui-slider-background-size - The background size of the slider.\n * @cssprop --uui-slider-background-position - The background position of the slider.\n */\nexport class UUIColorSliderElement extends LabelMixin('label', LitElement) {\n /**\n * The type of the slider.\n * @type {UUIColorSliderType}\n * @attr\n * @default 'hue'\n */\n @property({ reflect: true }) type: UUIColorSliderType = 'hue';\n\n /**\n * The color value.\n * @type {string}\n * @attr\n * @default ''\n */\n @property() color: string = '';\n\n /**\n * This is a minimum value of the slider.\n * @type {number}\n * @attr\n * @default 0\n */\n @property({ type: Number }) min = 0;\n\n /**\n * This is a maximum value of the slider.\n * @type {number}\n * @attr\n * @default 100\n */\n @property({ type: Number }) max = 100;\n\n /**\n * The minimum increment value allowed by the slider.\n * @type {number}\n * @attr\n **/\n @property({ type: Number }) precision = 1;\n\n /**\n * Draws the slider in a vertical orientation.\n * @type {boolean}\n * @attr\n * @default false\n **/\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /**\n * The current value of the slider.\n * @type {number}\n * @attr\n * @default 0\n */\n @property({ type: Number }) value = 0;\n\n /**\n * Sets the color slider to readonly mode.\n * @type {boolean}\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /**\n * Sets the color slider to disabled.\n * @type {boolean}\n * @attr\n * @default false\n **/\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Hides the value label under the slider.\n * @type {boolean}\n * @attr 'hide-value-label'\n * @default false\n */\n @property({ type: Boolean, attribute: 'hide-value-label', reflect: true })\n hideValueLabel = false;\n\n private container!: HTMLElement;\n private handle!: HTMLElement;\n\n willUpdate(changedProperties: Map<string, any>) {\n if (changedProperties.has('type')) {\n const typeMaxValues: Record<string, number> = {\n hue: 360,\n saturation: 100,\n lightness: 100,\n opacity: 100,\n };\n this.max = typeMaxValues[this.type] ?? this.max;\n }\n\n if (\n (changedProperties.has('type') || changedProperties.has('color')) &&\n this.color\n ) {\n this.#updateGradients();\n }\n }\n\n #updateGradients() {\n const parsed = parseColor(this.color);\n if (!parsed) return;\n const { h, s, l } = parsed;\n const { r, g, b } = hslaToRgb(h, s, l);\n const direction = this.vertical ? 'top' : 'right';\n\n const gradients: Record<string, string | null> = {\n saturation: `linear-gradient(to ${direction}, hsl(${h} 0% ${l}%), hsl(${h} 100% ${l}%))`,\n lightness: `linear-gradient(to ${direction}, hsl(${h} ${s}% 0%), hsl(${h} ${s}% 100%))`,\n };\n\n const hueColor =\n this.type === 'opacity'\n ? `linear-gradient(to ${direction}, transparent 0%, rgb(${r} ${g} ${b}) 100%)`\n : null;\n\n this.style.setProperty(\n '--uui-slider-background-image',\n gradients[this.type] ?? null,\n );\n this.style.setProperty('--uui-slider-hue-color', hueColor);\n }\n\n firstUpdated() {\n this.container =\n this.shadowRoot!.querySelector<HTMLElement>('#color-slider')!;\n this.handle = this.container.querySelector<HTMLElement>(\n '#color-slider__handle',\n )!;\n }\n\n handleDrag(event: PointerEvent) {\n if (this.disabled || this.readonly || !this.container || !this.handle)\n return;\n\n const { width, height } = this.container.getBoundingClientRect();\n\n this.handle.focus();\n event.preventDefault();\n drag(this.container, {\n onMove: (x, y) => {\n if (this.vertical) {\n this.value = reverseNumberInRange(\n clamp((y / height) * this.max, this.min, this.max),\n this.min,\n this.max,\n );\n } else {\n this.value = clamp((x / width) * this.max, this.min, this.max);\n }\n\n this.syncValues();\n },\n initialEvent: event,\n });\n }\n\n handleClick(event: MouseEvent) {\n if (this.disabled || this.readonly) return;\n\n this.value = this.getValueFromMousePosition(event);\n this.syncValues();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const increment = event.shiftKey ? 10 : 1;\n\n if (event.key === 'ArrowLeft' || event.key === 'ArrowDown') {\n event.preventDefault();\n this.value = clamp(this.value - increment, this.min, this.max);\n this.syncValues();\n } else if (event.key === 'ArrowRight' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.value = clamp(this.value + increment, this.min, this.max);\n this.syncValues();\n } else if (event.key === 'Home') {\n event.preventDefault();\n this.value = this.min;\n this.syncValues();\n } else if (event.key === 'End') {\n event.preventDefault();\n this.value = this.max;\n this.syncValues();\n }\n }\n\n getValueFromMousePosition(event: MouseEvent) {\n if (this.vertical) {\n return this.getValueFromYCoordinate(event.clientY);\n }\n return this.getValueFromXCoordinate(event.clientX);\n }\n\n getValueFromTouchPosition(event: TouchEvent) {\n if (this.vertical) {\n return this.getValueFromYCoordinate(event.touches[0].clientY);\n }\n return this.getValueFromXCoordinate(event.touches[0].clientX);\n }\n\n getValueFromXCoordinate(coordinate: number) {\n const { left, width } = this.container.getBoundingClientRect();\n return clamp(\n this.roundToPrecision(((coordinate - left) / width) * this.max),\n this.min,\n this.max,\n );\n }\n\n getValueFromYCoordinate(coordinate: number) {\n const { top, height } = this.container.getBoundingClientRect();\n return clamp(\n this.roundToPrecision(((coordinate - top) / height) * this.max),\n this.min,\n this.max,\n );\n }\n\n roundToPrecision(numberToRound: number) {\n const multiplier = 1 / this.precision;\n return Math.ceil(numberToRound * multiplier) / multiplier;\n }\n\n syncValues() {\n this.dispatchEvent(new UUIColorSliderEvent(UUIColorSliderEvent.CHANGE));\n }\n\n get cssPropCurrentValue() {\n if (this.value === 0) {\n return this.vertical ? 100 : 0;\n }\n const ratio = this.vertical\n ? this.max / reverseNumberInRange(this.value, this.min, this.max)\n : this.max / this.value;\n return 100 / ratio;\n }\n\n render() {\n return html`<div\n part=\"slider\"\n id=\"color-slider\"\n role=\"slider\"\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 aria-orientation=\"${this.vertical ? 'vertical' : 'horizontal'}\"\n aria-valuemin=\"${Math.round(this.min)}\"\n aria-valuemax=\"${Math.round(this.max)}\"\n aria-valuenow=\"${Math.round(this.value)}\"\n @click=${this.handleClick}\n @mousedown=${this.handleDrag}\n @touchstart=${this.handleDrag}\n @keydown=${this.handleKeyDown}>\n ${this.type === 'opacity'\n ? html`<div\n id=\"current-hue\"\n style=${styleMap({\n backgroundImage: `var(--uui-slider-hue-color)`,\n })}></div>`\n : ''}\n <!-- <slot name=\"detail\"> </slot> -->\n <span\n id=\"color-slider__handle\"\n style=${styleMap({\n '--current-value': `${this.cssPropCurrentValue}%`,\n backgroundColor:\n this.type === 'hue'\n ? hslaToHex(Math.round(this.value), 100, 50)\n : undefined,\n })}\n tabindex=${ifDefined(this.disabled ? undefined : '0')}>\n </span>\n </div>\n ${this.hideValueLabel ? null : Math.round(this.value)}`;\n }\n\n static override readonly styles = [\n css`\n :host {\n --uui-slider-height: 15px;\n --uui-slider-handle-size: 17px;\n --uui-slider-background-image: #fff;\n --uui-slider-background-size: 100%;\n --uui-slider-background-position: top left;\n display: block;\n }\n\n :host([type='hue']) {\n --uui-slider-background-image: linear-gradient(\n to right,\n rgb(255, 0, 0) 0%,\n rgb(255, 255, 0) 17%,\n rgb(0, 255, 0) 33%,\n rgb(0, 255, 255) 50%,\n rgb(0, 0, 255) 67%,\n rgb(255, 0, 255) 83%,\n rgb(255, 0, 0) 100%\n );\n }\n\n :host([vertical][type='hue']) {\n --uui-slider-background-image: linear-gradient(\n to top,\n rgb(255, 0, 0) 0%,\n rgb(255, 255, 0) 17%,\n rgb(0, 255, 0) 33%,\n rgb(0, 255, 255) 50%,\n rgb(0, 0, 255) 67%,\n rgb(255, 0, 255) 83%,\n rgb(255, 0, 0) 100%\n );\n }\n\n :host([type='opacity']) {\n --uui-slider-background-image:\n linear-gradient(45deg, var(--uui-palette-grey) 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%),\n linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%),\n linear-gradient(45deg, var(--uui-palette-grey) 25%, transparent 25%);\n\n --uui-slider-background-size: 10px 10px;\n --uui-slider-background-position: 0 0, 0 0, -5px -5px, 5px 5px;\n }\n\n #color-slider {\n position: relative;\n background-image: var(--uui-slider-background-image);\n background-size: var(--uui-slider-background-size);\n background-position: var(--uui-slider-background-position);\n border-radius: var(--uui-border-radius);\n box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);\n width: 100%;\n height: var(--uui-slider-height);\n }\n\n :host([vertical]) #color-slider {\n width: var(--uui-slider-height);\n height: 300px;\n }\n\n :host([disabled]) {\n cursor: not-allowed;\n }\n\n :host([disabled]) #color-slider {\n user-select: none;\n pointer-events: none;\n opacity: 0.55;\n }\n\n :host([readonly]) {\n cursor: default;\n }\n\n :host([readonly]) #color-slider {\n pointer-events: none;\n }\n\n #color-slider__handle {\n position: absolute;\n top: calc(50% - var(--uui-slider-handle-size) / 2);\n width: var(--uui-slider-handle-size);\n height: var(--uui-slider-handle-size);\n background-color: white;\n border-radius: 50%;\n border: solid 2px white;\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);\n box-sizing: border-box;\n margin-left: calc(var(--uui-slider-handle-size) / -2);\n left: var(--current-value, 0%);\n }\n\n :host([vertical]) #color-slider__handle {\n left: unset;\n top: var(--current-value, 100%);\n margin-left: -1px;\n margin-top: calc(var(--uui-slider-handle-size) / -2);\n }\n\n ::slotted(*:first-child) {\n border-radius: 3px;\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n }\n\n #current-hue {\n border-radius: var(--uui-border-radius);\n position: absolute;\n inset: 0 0 0 0;\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 { UUIColorSliderElement } from "./color-slider.element.js";
|
|
3
2
|
import { UUIColorSliderEvent } from "./UUIColorSliderEvent.js";
|
|
3
|
+
import { UUIColorSliderElement } from "./color-slider.element.js";
|
|
4
|
+
//#region src/components/color-slider/color-slider.ts
|
|
4
5
|
defineElement("uui-color-slider", UUIColorSliderElement);
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=color-slider.js.map
|
|
6
|
+
//#endregion
|
|
7
|
+
export { UUIColorSliderElement, UUIColorSliderEvent };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=color-slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-slider.js","sources":["../../../src/components/color-slider/color-slider.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUIColorSliderElement } from './color-slider.element.js';\n\ndefineElement('uui-color-slider', UUIColorSliderElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-color-slider': UUIColorSliderElement;\n }\n}\n\nexport * from './color-slider.element.js';\nexport * from './UUIColorSliderEvent.js';\
|
|
1
|
+
{"version":3,"file":"color-slider.js","names":[],"sources":["../../../src/components/color-slider/color-slider.ts"],"sourcesContent":["import { defineElement } from '../../internal/registration/index.js';\nimport { UUIColorSliderElement } from './color-slider.element.js';\n\ndefineElement('uui-color-slider', UUIColorSliderElement);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'uui-color-slider': UUIColorSliderElement;\n }\n}\n\nexport * from './color-slider.element.js';\nexport * from './UUIColorSliderEvent.js';\n"],"mappings":";;;;AAGA,cAAc,oBAAoB,qBAAqB"}
|
|
@@ -6,7 +6,7 @@ declare const UUIColorSwatchElement_base: (new (...args: any[]) => import("../..
|
|
|
6
6
|
* @element uui-color-swatch
|
|
7
7
|
* @cssprop --uui-swatch-size - The size of the swatch.
|
|
8
8
|
* @cssprop --uui-swatch-border-width - The width of the border.
|
|
9
|
-
* @cssprop --uui-swatch-color - The
|
|
9
|
+
* @cssprop --uui-swatch-color - The color of the swatch.
|
|
10
10
|
* @slot label - Default slot for the label.
|
|
11
11
|
*/
|
|
12
12
|
export declare class UUIColorSwatchElement extends UUIColorSwatchElement_base {
|