dap-design-system 0.62.4 → 0.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/common/utils.js +46 -46
- package/dist/common/utils.js.map +1 -1
- package/dist/components/accordion/accordion-base-element.js +15 -19
- package/dist/components/accordion/accordion-base-element.js.map +1 -1
- package/dist/components/accordion/accordion.component.d.ts +1 -0
- package/dist/components/accordion/accordion.component.js.map +1 -1
- package/dist/components/accordion-group/accordion-group.component.js +20 -24
- package/dist/components/accordion-group/accordion-group.component.js.map +1 -1
- package/dist/components/anchor-heading/anchor-heading.component.d.ts +1 -0
- package/dist/components/anchor-heading/anchor-heading.component.js +20 -23
- package/dist/components/anchor-heading/anchor-heading.component.js.map +1 -1
- package/dist/components/avatar/avatar.component.js +51 -55
- package/dist/components/avatar/avatar.component.js.map +1 -1
- package/dist/components/avatar-group/avatar-group.component.js +18 -22
- package/dist/components/avatar-group/avatar-group.component.js.map +1 -1
- package/dist/components/badge/badge.component.js +17 -20
- package/dist/components/badge/badge.component.js.map +1 -1
- package/dist/components/banner/banner.component.d.ts +1 -1
- package/dist/components/banner/banner.component.js +18 -24
- package/dist/components/banner/banner.component.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.component.d.ts +2 -1
- package/dist/components/breadcrumb/breadcrumb.component.js +32 -32
- package/dist/components/breadcrumb/breadcrumb.component.js.map +1 -1
- package/dist/components/breadcrumb-item/breadcrumb-item.component.d.ts +8 -0
- package/dist/components/breadcrumb-item/breadcrumb-item.component.js +33 -28
- package/dist/components/breadcrumb-item/breadcrumb-item.component.js.map +1 -1
- package/dist/components/button/_styles/button.scss.js +1 -1
- package/dist/components/button/button.component.js +18 -22
- package/dist/components/button/button.component.js.map +1 -1
- package/dist/components/button-group/_styles/button-group-separator.scss.js +5 -0
- package/dist/components/button-group/_styles/button-group-separator.scss.js.map +1 -0
- package/dist/components/button-group/_styles/button-group-text.scss.js +5 -0
- package/dist/components/button-group/_styles/button-group-text.scss.js.map +1 -0
- package/dist/components/button-group/_styles/button-group.scss.js +5 -0
- package/dist/components/button-group/_styles/button-group.scss.js.map +1 -0
- package/dist/components/button-group/button-group-separator.component.d.ts +28 -0
- package/dist/components/button-group/button-group-separator.component.js +18 -0
- package/dist/components/button-group/button-group-separator.component.js.map +1 -0
- package/dist/components/button-group/button-group-separator.d.ts +8 -0
- package/dist/components/button-group/button-group-separator.js +6 -0
- package/dist/components/button-group/button-group-separator.js.map +1 -0
- package/dist/components/button-group/button-group-text.component.d.ts +33 -0
- package/dist/components/button-group/button-group-text.component.js +17 -0
- package/dist/components/button-group/button-group-text.component.js.map +1 -0
- package/dist/components/button-group/button-group-text.d.ts +8 -0
- package/dist/components/button-group/button-group-text.js +6 -0
- package/dist/components/button-group/button-group-text.js.map +1 -0
- package/dist/components/button-group/button-group.component.d.ts +52 -0
- package/dist/components/button-group/button-group.component.js +30 -0
- package/dist/components/button-group/button-group.component.js.map +1 -0
- package/dist/components/button-group/button-group.d.ts +8 -0
- package/dist/components/button-group/button-group.js +6 -0
- package/dist/components/button-group/button-group.js.map +1 -0
- package/dist/components/calendar/calendar-cell.component.js +26 -29
- package/dist/components/calendar/calendar-cell.component.js.map +1 -1
- package/dist/components/calendar/calendar.component.d.ts +10 -1
- package/dist/components/calendar/calendar.component.js +37 -46
- package/dist/components/calendar/calendar.component.js.map +1 -1
- package/dist/components/callout/callout.component.d.ts +4 -0
- package/dist/components/callout/callout.component.js +71 -69
- package/dist/components/callout/callout.component.js.map +1 -1
- package/dist/components/card/card-actions.component.js +8 -11
- package/dist/components/card/card-actions.component.js.map +1 -1
- package/dist/components/card/card-content.component.js +20 -23
- package/dist/components/card/card-content.component.js.map +1 -1
- package/dist/components/card/card-image.component.js +18 -21
- package/dist/components/card/card-image.component.js.map +1 -1
- package/dist/components/card/card-subtitle.component.js +18 -21
- package/dist/components/card/card-subtitle.component.js.map +1 -1
- package/dist/components/card/card-title.component.js +18 -21
- package/dist/components/card/card-title.component.js.map +1 -1
- package/dist/components/card/card.component.d.ts +1 -0
- package/dist/components/card/card.component.js +25 -28
- package/dist/components/card/card.component.js.map +1 -1
- package/dist/components/checkbox/_styles/checkbox.scss.js +1 -1
- package/dist/components/checkbox/checkbox.component.d.ts +7 -1
- package/dist/components/checkbox/checkbox.component.js +71 -74
- package/dist/components/checkbox/checkbox.component.js.map +1 -1
- package/dist/components/chip/chip.component.d.ts +1 -0
- package/dist/components/chip/chip.component.js +21 -26
- package/dist/components/chip/chip.component.js.map +1 -1
- package/dist/components/code-puncher/code-puncher-slot.component.js +34 -38
- package/dist/components/code-puncher/code-puncher-slot.component.js.map +1 -1
- package/dist/components/code-puncher/code-puncher.component.d.ts +4 -0
- package/dist/components/code-puncher/code-puncher.component.js +97 -102
- package/dist/components/code-puncher/code-puncher.component.js.map +1 -1
- package/dist/components/code-puncher/code-puncher.context.js +1 -1
- package/dist/components/code-puncher/code-puncher.context.js.map +1 -1
- package/dist/components/code-puncher/code-puncher.scss.js +1 -1
- package/dist/components/combobox/combobox.component.d.ts +9 -1
- package/dist/components/combobox/combobox.component.js.map +1 -1
- package/dist/components/combobox/combobox.scss.js +1 -1
- package/dist/components/combobox/comboboxBase.d.ts +21 -0
- package/dist/components/combobox/comboboxBase.js +176 -139
- package/dist/components/combobox/comboboxBase.js.map +1 -1
- package/dist/components/command/command-group.component.js +19 -23
- package/dist/components/command/command-group.component.js.map +1 -1
- package/dist/components/command/command-item.component.js +17 -22
- package/dist/components/command/command-item.component.js.map +1 -1
- package/dist/components/command/command.component.d.ts +3 -0
- package/dist/components/command/command.component.js +28 -33
- package/dist/components/command/command.component.js.map +1 -1
- package/dist/components/content-switcher/content-switcher-item.component.js +16 -19
- package/dist/components/content-switcher/content-switcher-item.component.js.map +1 -1
- package/dist/components/content-switcher/content-switcher.component.js +19 -22
- package/dist/components/content-switcher/content-switcher.component.js.map +1 -1
- package/dist/components/copybox-input/copybox-input.component.d.ts +11 -0
- package/dist/components/copybox-input/copybox-input.component.js +12 -16
- package/dist/components/copybox-input/copybox-input.component.js.map +1 -1
- package/dist/components/dap-badge/dap-badge.component.js +13 -18
- package/dist/components/dap-badge/dap-badge.component.js.map +1 -1
- package/dist/components/datatable/datatable.component.d.ts +17 -0
- package/dist/components/datatable/datatable.component.js +38 -42
- package/dist/components/datatable/datatable.component.js.map +1 -1
- package/dist/components/datatable/utils/cell-renderer.js +6 -8
- package/dist/components/datatable/utils/cell-renderer.js.map +1 -1
- package/dist/components/datepicker/datepicker.component.d.ts +8 -0
- package/dist/components/datepicker/datepicker.component.js +76 -81
- package/dist/components/datepicker/datepicker.component.js.map +1 -1
- package/dist/components/datepicker/datepicker.scss.js +1 -1
- package/dist/components/divider/divider.component.js +18 -21
- package/dist/components/divider/divider.component.js.map +1 -1
- package/dist/components/feedback/feedback.component.js +8 -11
- package/dist/components/feedback/feedback.component.js.map +1 -1
- package/dist/components/file-input/file-input-list-item.component.d.ts +1 -0
- package/dist/components/file-input/file-input-list-item.component.js +36 -40
- package/dist/components/file-input/file-input-list-item.component.js.map +1 -1
- package/dist/components/file-input/file-input-list.component.js +15 -20
- package/dist/components/file-input/file-input-list.component.js.map +1 -1
- package/dist/components/file-input/file-input-list.scss.js +1 -1
- package/dist/components/file-input/file-input.component.d.ts +3 -0
- package/dist/components/file-input/file-input.component.js +135 -142
- package/dist/components/file-input/file-input.component.js.map +1 -1
- package/dist/components/file-input/file-input.scss.js +1 -1
- package/dist/components/form/form-label/form-label.component.d.ts +1 -1
- package/dist/components/form/form-label/form-label.component.js +20 -23
- package/dist/components/form/form-label/form-label.component.js.map +1 -1
- package/dist/components/form/input-group/input-group.component.d.ts +4 -0
- package/dist/components/form/input-group/input-group.component.js +42 -42
- package/dist/components/form/input-group/input-group.component.js.map +1 -1
- package/dist/components/form/input-group/input-group.scss.js +2 -2
- package/dist/components/form/radio-group/radio-group.component.d.ts +5 -0
- package/dist/components/form/radio-group/radio-group.component.js +54 -55
- package/dist/components/form/radio-group/radio-group.component.js.map +1 -1
- package/dist/components/icon/icon.component.js +25 -28
- package/dist/components/icon/icon.component.js.map +1 -1
- package/dist/components/icon-button/icon-button.component.d.ts +1 -0
- package/dist/components/icon-button/icon-button.component.js +11 -14
- package/dist/components/icon-button/icon-button.component.js.map +1 -1
- package/dist/components/icon-button/icon-button.scss.js +1 -1
- package/dist/components/icons/arrows/arrows-arrow-down-line/arrows-arrow-down-line.component.js +9 -12
- package/dist/components/icons/arrows/arrows-arrow-down-line/arrows-arrow-down-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-down-s-fill/arrows-arrow-down-s-fill.component.js +7 -10
- package/dist/components/icons/arrows/arrows-arrow-down-s-fill/arrows-arrow-down-s-fill.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component.js +12 -15
- package/dist/components/icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-left-down-line/arrows-arrow-left-down-line.component.js +8 -11
- package/dist/components/icons/arrows/arrows-arrow-left-down-line/arrows-arrow-left-down-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-left-l-line/arrows-arrow-left-l-line.component.js +15 -18
- package/dist/components/icons/arrows/arrows-arrow-left-l-line/arrows-arrow-left-l-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-left-line/arrows-arrow-left-line.component.js +7 -10
- package/dist/components/icons/arrows/arrows-arrow-left-line/arrows-arrow-left-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-left-s-fill/arrows-arrow-left-s-fill.component.js +10 -13
- package/dist/components/icons/arrows/arrows-arrow-left-s-fill/arrows-arrow-left-s-fill.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-left-s-line/arrows-arrow-left-s-line.component.js +7 -10
- package/dist/components/icons/arrows/arrows-arrow-left-s-line/arrows-arrow-left-s-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-left-up-line/arrows-arrow-left-up-line.component.js +6 -9
- package/dist/components/icons/arrows/arrows-arrow-left-up-line/arrows-arrow-left-up-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-right-down-line/arrows-arrow-right-down-line.component.js +18 -21
- package/dist/components/icons/arrows/arrows-arrow-right-down-line/arrows-arrow-right-down-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-right-l-line/arrows-arrow-right-l-line.component.js +15 -18
- package/dist/components/icons/arrows/arrows-arrow-right-l-line/arrows-arrow-right-l-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-right-line/arrows-arrow-right-line.component.js +17 -20
- package/dist/components/icons/arrows/arrows-arrow-right-line/arrows-arrow-right-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-right-s-fill/arrows-arrow-right-s-fill.component.js +17 -20
- package/dist/components/icons/arrows/arrows-arrow-right-s-fill/arrows-arrow-right-s-fill.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-right-s-line/arrows-arrow-right-s-line.component.js +17 -20
- package/dist/components/icons/arrows/arrows-arrow-right-s-line/arrows-arrow-right-s-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-right-up-line/arrows-arrow-right-up-line.component.js +18 -21
- package/dist/components/icons/arrows/arrows-arrow-right-up-line/arrows-arrow-right-up-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-up-line/arrows-arrow-up-line.component.js +9 -12
- package/dist/components/icons/arrows/arrows-arrow-up-line/arrows-arrow-up-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-up-s-fill/arrows-arrow-up-s-fill.component.js +8 -11
- package/dist/components/icons/arrows/arrows-arrow-up-s-fill/arrows-arrow-up-s-fill.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-arrow-up-s-line/arrows-arrow-up-s-line.component.js +9 -12
- package/dist/components/icons/arrows/arrows-arrow-up-s-line/arrows-arrow-up-s-line.component.js.map +1 -1
- package/dist/components/icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component.js +11 -14
- package/dist/components/icons/arrows/arrows-expand-up-down-fill/arrows-expand-up-down-fill.component.js.map +1 -1
- package/dist/components/icons/buildings/buildings-home-6-line/buildings-home-6-line.component.js +10 -13
- package/dist/components/icons/buildings/buildings-home-6-line/buildings-home-6-line.component.js.map +1 -1
- package/dist/components/icons/business/business-calendar-line/business-calendar-line.component.js +11 -14
- package/dist/components/icons/business/business-calendar-line/business-calendar-line.component.js.map +1 -1
- package/dist/components/icons/design/design-edit-line/design-edit-line.component.js +6 -9
- package/dist/components/icons/design/design-edit-line/design-edit-line.component.js.map +1 -1
- package/dist/components/icons/design/design-tools-line/design-tools-line.component.js +12 -15
- package/dist/components/icons/design/design-tools-line/design-tools-line.component.js.map +1 -1
- package/dist/components/icons/device/device-computer-line/device-computer-line.component.js +16 -19
- package/dist/components/icons/device/device-computer-line/device-computer-line.component.js.map +1 -1
- package/dist/components/icons/document/document-clipboard-line/document-clipboard-line.component.js +11 -14
- package/dist/components/icons/document/document-clipboard-line/document-clipboard-line.component.js.map +1 -1
- package/dist/components/icons/document/document-file-copy-line/document-file-copy-line.component.js +10 -13
- package/dist/components/icons/document/document-file-copy-line/document-file-copy-line.component.js.map +1 -1
- package/dist/components/icons/document/document-file-image-line/document-file-image-line.component.js +11 -14
- package/dist/components/icons/document/document-file-image-line/document-file-image-line.component.js.map +1 -1
- package/dist/components/icons/document/document-file-music-line/document-file-music-line.component.js +11 -14
- package/dist/components/icons/document/document-file-music-line/document-file-music-line.component.js.map +1 -1
- package/dist/components/icons/document/document-file-text-line/document-file-text-line.component.js +10 -13
- package/dist/components/icons/document/document-file-text-line/document-file-text-line.component.js.map +1 -1
- package/dist/components/icons/document/document-file-video-line/document-file-video-line.component.js +11 -14
- package/dist/components/icons/document/document-file-video-line/document-file-video-line.component.js.map +1 -1
- package/dist/components/icons/document/document-folder-line/document-folder-line.component.js +11 -14
- package/dist/components/icons/document/document-folder-line/document-folder-line.component.js.map +1 -1
- package/dist/components/icons/document/document-folder-open-line/document-folder-open-line.component.js +10 -13
- package/dist/components/icons/document/document-folder-open-line/document-folder-open-line.component.js.map +1 -1
- package/dist/components/icons/editor/editor-separator/editor-separator.component.js +10 -13
- package/dist/components/icons/editor/editor-separator/editor-separator.component.js.map +1 -1
- package/dist/components/icons/health/health-heart-fill/health-heart-fill.component.js +8 -11
- package/dist/components/icons/health/health-heart-fill/health-heart-fill.component.js.map +1 -1
- package/dist/components/icons/health/health-heart-line/health-heart-line.component.js +10 -13
- package/dist/components/icons/health/health-heart-line/health-heart-line.component.js.map +1 -1
- package/dist/components/icons/others/others-cookie-line/others-cookie-line.component.js +6 -9
- package/dist/components/icons/others/others-cookie-line/others-cookie-line.component.js.map +1 -1
- package/dist/components/icons/system/system-add-line/system-add-line.component.js +11 -14
- package/dist/components/icons/system/system-add-line/system-add-line.component.js.map +1 -1
- package/dist/components/icons/system/system-alert-fill/system-alert-fill.component.js +9 -12
- package/dist/components/icons/system/system-alert-fill/system-alert-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-alert-line/system-alert-line.component.js +11 -14
- package/dist/components/icons/system/system-alert-line/system-alert-line.component.js.map +1 -1
- package/dist/components/icons/system/system-check-line/system-check-line.component.js +9 -12
- package/dist/components/icons/system/system-check-line/system-check-line.component.js.map +1 -1
- package/dist/components/icons/system/system-check-line2/system-check-line2.component.js +11 -14
- package/dist/components/icons/system/system-check-line2/system-check-line2.component.js.map +1 -1
- package/dist/components/icons/system/system-checkbox-blank-circle-fill/system-checkbox-blank-circle-fill.component.js +9 -12
- package/dist/components/icons/system/system-checkbox-blank-circle-fill/system-checkbox-blank-circle-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-checkbox-blank-circle-fill-check/system-checkbox-blank-circle-fill-check.component.js +12 -15
- package/dist/components/icons/system/system-checkbox-blank-circle-fill-check/system-checkbox-blank-circle-fill-check.component.js.map +1 -1
- package/dist/components/icons/system/system-checkbox-blank-circle-line/system-checkbox-blank-circle-line.component.js +13 -16
- package/dist/components/icons/system/system-checkbox-blank-circle-line/system-checkbox-blank-circle-line.component.js.map +1 -1
- package/dist/components/icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js +11 -14
- package/dist/components/icons/system/system-checkbox-circle-fill/system-checkbox-circle-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-checkbox-circle-line/system-checkbox-circle-line.component.js +11 -14
- package/dist/components/icons/system/system-checkbox-circle-line/system-checkbox-circle-line.component.js.map +1 -1
- package/dist/components/icons/system/system-close-circle-fill/system-close-circle-fill.component.js +11 -14
- package/dist/components/icons/system/system-close-circle-fill/system-close-circle-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-close-circle-line/system-close-circle-line.component.js +7 -10
- package/dist/components/icons/system/system-close-circle-line/system-close-circle-line.component.js.map +1 -1
- package/dist/components/icons/system/system-close-fill/system-close-fill.component.js +11 -14
- package/dist/components/icons/system/system-close-fill/system-close-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-close-line/system-close-line.component.js +11 -14
- package/dist/components/icons/system/system-close-line/system-close-line.component.js.map +1 -1
- package/dist/components/icons/system/system-delete-bin-fill/system-delete-bin-fill.component.js +7 -10
- package/dist/components/icons/system/system-delete-bin-fill/system-delete-bin-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-delete-bin-line/system-delete-bin-line.component.js +9 -12
- package/dist/components/icons/system/system-delete-bin-line/system-delete-bin-line.component.js.map +1 -1
- package/dist/components/icons/system/system-download-line/system-download-line.component.js +9 -12
- package/dist/components/icons/system/system-download-line/system-download-line.component.js.map +1 -1
- package/dist/components/icons/system/system-error-warning-fill/system-error-warning-fill.component.js +7 -10
- package/dist/components/icons/system/system-error-warning-fill/system-error-warning-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-error-warning-line/system-error-warning-line.component.js +11 -14
- package/dist/components/icons/system/system-error-warning-line/system-error-warning-line.component.js.map +1 -1
- package/dist/components/icons/system/system-external-link-line/system-external-link-line.component.js +9 -12
- package/dist/components/icons/system/system-external-link-line/system-external-link-line.component.js.map +1 -1
- package/dist/components/icons/system/system-eye-line/system-eye-line.component.js +11 -14
- package/dist/components/icons/system/system-eye-line/system-eye-line.component.js.map +1 -1
- package/dist/components/icons/system/system-eye-off-line/system-eye-off-line.component.js +6 -9
- package/dist/components/icons/system/system-eye-off-line/system-eye-off-line.component.js.map +1 -1
- package/dist/components/icons/system/system-forbid-fill/system-forbid-fill.component.js +9 -12
- package/dist/components/icons/system/system-forbid-fill/system-forbid-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-information-2-fill/system-information-2-fill.component.js +9 -12
- package/dist/components/icons/system/system-information-2-fill/system-information-2-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-information-fill/system-information-fill.component.js +9 -12
- package/dist/components/icons/system/system-information-fill/system-information-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-information-line/system-information-line.component.js +9 -12
- package/dist/components/icons/system/system-information-line/system-information-line.component.js.map +1 -1
- package/dist/components/icons/system/system-lightbulb-fill/system-lightbulb-fill.component.js +9 -12
- package/dist/components/icons/system/system-lightbulb-fill/system-lightbulb-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-loading-spinner/system-loading-spinner.component.js +9 -12
- package/dist/components/icons/system/system-loading-spinner/system-loading-spinner.component.js.map +1 -1
- package/dist/components/icons/system/system-lock-fill/system-lock-fill.component.js +13 -16
- package/dist/components/icons/system/system-lock-fill/system-lock-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-lock-line/system-lock-line.component.js +10 -13
- package/dist/components/icons/system/system-lock-line/system-lock-line.component.js.map +1 -1
- package/dist/components/icons/system/system-menu-line/system-menu-line.component.js +9 -12
- package/dist/components/icons/system/system-menu-line/system-menu-line.component.js.map +1 -1
- package/dist/components/icons/system/system-menu-line-s/system-menu-line-s.component.js +9 -12
- package/dist/components/icons/system/system-menu-line-s/system-menu-line-s.component.js.map +1 -1
- package/dist/components/icons/system/system-more-2-line/system-more-2-line.component.js +10 -13
- package/dist/components/icons/system/system-more-2-line/system-more-2-line.component.js.map +1 -1
- package/dist/components/icons/system/system-more-line/system-more-line.component.js +16 -19
- package/dist/components/icons/system/system-more-line/system-more-line.component.js.map +1 -1
- package/dist/components/icons/system/system-search-line/system-search-line.component.js +11 -14
- package/dist/components/icons/system/system-search-line/system-search-line.component.js.map +1 -1
- package/dist/components/icons/system/system-share-line/system-share-line.component.js +9 -12
- package/dist/components/icons/system/system-share-line/system-share-line.component.js.map +1 -1
- package/dist/components/icons/system/system-shield-check-fill/system-shield-check-fill.component.js +8 -11
- package/dist/components/icons/system/system-shield-check-fill/system-shield-check-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-shield-check-line/system-shield-check-line.component.js +6 -9
- package/dist/components/icons/system/system-shield-check-line/system-shield-check-line.component.js.map +1 -1
- package/dist/components/icons/system/system-star-fill/system-star-fill.component.js +13 -16
- package/dist/components/icons/system/system-star-fill/system-star-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-subtract-line/system-subtract-line.component.js +11 -14
- package/dist/components/icons/system/system-subtract-line/system-subtract-line.component.js.map +1 -1
- package/dist/components/icons/system/system-subtract-line2/system-subtract-line2.component.js +7 -10
- package/dist/components/icons/system/system-subtract-line2/system-subtract-line2.component.js.map +1 -1
- package/dist/components/icons/system/system-time-fill/system-time-fill.component.js +11 -14
- package/dist/components/icons/system/system-time-fill/system-time-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-time-line/system-time-line.component.js +11 -14
- package/dist/components/icons/system/system-time-line/system-time-line.component.js.map +1 -1
- package/dist/components/icons/system/system-upload-2-fill/system-upload-2-fill.component.js +5 -8
- package/dist/components/icons/system/system-upload-2-fill/system-upload-2-fill.component.js.map +1 -1
- package/dist/components/icons/system/system-upload-2-line/system-upload-2-line.component.js +7 -10
- package/dist/components/icons/system/system-upload-2-line/system-upload-2-line.component.js.map +1 -1
- package/dist/components/icons/system/system-upload-line/system-upload-line.component.js +9 -12
- package/dist/components/icons/system/system-upload-line/system-upload-line.component.js.map +1 -1
- package/dist/components/icons/system/system-zoom-in-line/system-zoom-in-line.component.js +9 -12
- package/dist/components/icons/system/system-zoom-in-line/system-zoom-in-line.component.js.map +1 -1
- package/dist/components/icons/system/system-zoom-out-line/system-zoom-out-line.component.js +11 -14
- package/dist/components/icons/system/system-zoom-out-line/system-zoom-out-line.component.js.map +1 -1
- package/dist/components/icons/user/user-account-circle-fill/user-account-circle-fill.component.js +16 -19
- package/dist/components/icons/user/user-account-circle-fill/user-account-circle-fill.component.js.map +1 -1
- package/dist/components/icons/user/user-account-circle-line/user-account-circle-line.component.js +13 -16
- package/dist/components/icons/user/user-account-circle-line/user-account-circle-line.component.js.map +1 -1
- package/dist/components/icons/user/user-user-fill/user-user-fill.component.js +8 -11
- package/dist/components/icons/user/user-user-fill/user-user-fill.component.js.map +1 -1
- package/dist/components/icons/user/user-user-line/user-user-line.component.js +11 -14
- package/dist/components/icons/user/user-user-line/user-user-line.component.js.map +1 -1
- package/dist/components/image-zoom/image-zoom.component.js +12 -17
- package/dist/components/image-zoom/image-zoom.component.js.map +1 -1
- package/dist/components/input/_styles/input.scss.js +1 -1
- package/dist/components/input/input-base-element.js +41 -47
- package/dist/components/input/input-base-element.js.map +1 -1
- package/dist/components/label/_styles/label.scss.js +1 -1
- package/dist/components/label/label.component.js +8 -11
- package/dist/components/label/label.component.js.map +1 -1
- package/dist/components/link/link.component.js +23 -27
- package/dist/components/link/link.component.js.map +1 -1
- package/dist/components/list-item/list-item.component.d.ts +2 -0
- package/dist/components/list-item/list-item.component.js +24 -29
- package/dist/components/list-item/list-item.component.js.map +1 -1
- package/dist/components/modal/modal-base-element.js +36 -42
- package/dist/components/modal/modal-base-element.js.map +1 -1
- package/dist/components/navigation-menu/navigation-menu-item.component.d.ts +9 -1
- package/dist/components/navigation-menu/navigation-menu-item.component.js +36 -31
- package/dist/components/navigation-menu/navigation-menu-item.component.js.map +1 -1
- package/dist/components/navigation-menu/navigation-menu.component.js +20 -24
- package/dist/components/navigation-menu/navigation-menu.component.js.map +1 -1
- package/dist/components/notification-badge/notification-badge.component.js +28 -32
- package/dist/components/notification-badge/notification-badge.component.js.map +1 -1
- package/dist/components/number-input/number-input.component.d.ts +7 -0
- package/dist/components/number-input/number-input.component.js +23 -29
- package/dist/components/number-input/number-input.component.js.map +1 -1
- package/dist/components/official-website-banner/official-website-banner.component.d.ts +1 -0
- package/dist/components/official-website-banner/official-website-banner.component.js +19 -24
- package/dist/components/official-website-banner/official-website-banner.component.js.map +1 -1
- package/dist/components/option-group/option-group.component.js +17 -20
- package/dist/components/option-group/option-group.component.js.map +1 -1
- package/dist/components/option-item/option-item.component.d.ts +10 -0
- package/dist/components/option-item/option-item.component.js +66 -60
- package/dist/components/option-item/option-item.component.js.map +1 -1
- package/dist/components/option-item/option-item.scss.js +1 -1
- package/dist/components/option-list/__test__/listbox-harness.d.ts +129 -0
- package/dist/components/option-list/listbox-state.d.ts +230 -0
- package/dist/components/option-list/listbox-state.js +312 -0
- package/dist/components/option-list/listbox-state.js.map +1 -0
- package/dist/components/option-list/option-data.d.ts +35 -0
- package/dist/components/option-list/option-data.js +34 -0
- package/dist/components/option-list/option-data.js.map +1 -0
- package/dist/components/option-list/option-list.component.d.ts +66 -14
- package/dist/components/option-list/option-list.component.js +381 -294
- package/dist/components/option-list/option-list.component.js.map +1 -1
- package/dist/components/overlay/overlay.component.js +10 -13
- package/dist/components/overlay/overlay.component.js.map +1 -1
- package/dist/components/pager/pager.component.js +31 -37
- package/dist/components/pager/pager.component.js.map +1 -1
- package/dist/components/password-input/password-input.component.d.ts +12 -5
- package/dist/components/password-input/password-input.component.js +24 -30
- package/dist/components/password-input/password-input.component.js.map +1 -1
- package/dist/components/popup/popup-base-element.js +21 -25
- package/dist/components/popup/popup-base-element.js.map +1 -1
- package/dist/components/progress/progress.component.js +17 -21
- package/dist/components/progress/progress.component.js.map +1 -1
- package/dist/components/radio-button/_styles/radio-button.scss.js +1 -1
- package/dist/components/radio-button/radio-button.component.d.ts +5 -0
- package/dist/components/radio-button/radio-button.component.js +58 -62
- package/dist/components/radio-button/radio-button.component.js.map +1 -1
- package/dist/components/rating/_styles/rating.scss.js +2 -2
- package/dist/components/rating/rating.component.js +37 -41
- package/dist/components/rating/rating.component.js.map +1 -1
- package/dist/components/scroll-area/scroll-area.component.d.ts +2 -1
- package/dist/components/scroll-area/scroll-area.component.js +25 -28
- package/dist/components/scroll-area/scroll-area.component.js.map +1 -1
- package/dist/components/scroll-progress/scroll-progress.component.js +13 -17
- package/dist/components/scroll-progress/scroll-progress.component.js.map +1 -1
- package/dist/components/search/search.component.d.ts +6 -1
- package/dist/components/search/search.component.js.map +1 -1
- package/dist/components/select/select.component.d.ts +47 -0
- package/dist/components/select/select.component.js +268 -157
- package/dist/components/select/select.component.js.map +1 -1
- package/dist/components/select/select.scss.js +1 -1
- package/dist/components/sidenav/sidenav-group.component.d.ts +1 -0
- package/dist/components/sidenav/sidenav-group.component.js +11 -14
- package/dist/components/sidenav/sidenav-group.component.js.map +1 -1
- package/dist/components/sidenav/sidenav-item.component.js +20 -23
- package/dist/components/sidenav/sidenav-item.component.js.map +1 -1
- package/dist/components/sidenav/sidenav.component.js +17 -20
- package/dist/components/sidenav/sidenav.component.js.map +1 -1
- package/dist/components/skeleton/skeleton.component.js +9 -12
- package/dist/components/skeleton/skeleton.component.js.map +1 -1
- package/dist/components/skip-link/skip-link.component.js +13 -16
- package/dist/components/skip-link/skip-link.component.js.map +1 -1
- package/dist/components/snackbar/snackbar-message.component.d.ts +3 -1
- package/dist/components/snackbar/snackbar-message.component.js +39 -44
- package/dist/components/snackbar/snackbar-message.component.js.map +1 -1
- package/dist/components/snackbar/snackbar.component.d.ts +0 -1
- package/dist/components/snackbar/snackbar.component.js +36 -42
- package/dist/components/snackbar/snackbar.component.js.map +1 -1
- package/dist/components/spinner/spinner.component.js +33 -38
- package/dist/components/spinner/spinner.component.js.map +1 -1
- package/dist/components/stack/stack.component.d.ts +2 -1
- package/dist/components/stack/stack.component.js +16 -19
- package/dist/components/stack/stack.component.js.map +1 -1
- package/dist/components/switch/switch.component.d.ts +6 -0
- package/dist/components/switch/switch.component.js +48 -51
- package/dist/components/switch/switch.component.js.map +1 -1
- package/dist/components/switch/switch.scss.js +1 -1
- package/dist/components/tab/tab-group.component.d.ts +8 -3
- package/dist/components/tab/tab-group.component.js +43 -33
- package/dist/components/tab/tab-group.component.js.map +1 -1
- package/dist/components/tab/tab.component.js +22 -25
- package/dist/components/tab/tab.component.js.map +1 -1
- package/dist/components/table/table-cell.component.d.ts +1 -1
- package/dist/components/table/table-cell.component.js +16 -19
- package/dist/components/table/table-cell.component.js.map +1 -1
- package/dist/components/table/table-header.component.js +21 -24
- package/dist/components/table/table-header.component.js.map +1 -1
- package/dist/components/table/table-row.component.js +15 -18
- package/dist/components/table/table-row.component.js.map +1 -1
- package/dist/components/table/table.component.d.ts +2 -0
- package/dist/components/table/table.component.js +18 -22
- package/dist/components/table/table.component.js.map +1 -1
- package/dist/components/textarea/textarea.component.d.ts +2 -0
- package/dist/components/textarea/textarea.component.js +42 -46
- package/dist/components/textarea/textarea.component.js.map +1 -1
- package/dist/components/textarea/textarea.scss.js +1 -1
- package/dist/components/timeline/timeline-item.component.js +7 -10
- package/dist/components/timeline/timeline-item.component.js.map +1 -1
- package/dist/components/timeline/timeline.component.js +5 -8
- package/dist/components/timeline/timeline.component.js.map +1 -1
- package/dist/components/timepicker/time-grid.component.d.ts +3 -0
- package/dist/components/timepicker/time-grid.component.js +12 -15
- package/dist/components/timepicker/time-grid.component.js.map +1 -1
- package/dist/components/timepicker/timepicker.component.d.ts +5 -0
- package/dist/components/timepicker/timepicker.component.js +90 -95
- package/dist/components/timepicker/timepicker.component.js.map +1 -1
- package/dist/components/timepicker/timepicker.scss.js +1 -1
- package/dist/components/toc/toc.component.d.ts +2 -0
- package/dist/components/toc/toc.component.js +58 -61
- package/dist/components/toc/toc.component.js.map +1 -1
- package/dist/components/toggle-button/toggle-button.component.js +9 -12
- package/dist/components/toggle-button/toggle-button.component.js.map +1 -1
- package/dist/components/tooltip/tooltip.component.d.ts +2 -0
- package/dist/components/tooltip/tooltip.component.js +16 -18
- package/dist/components/tooltip/tooltip.component.js.map +1 -1
- package/dist/components/tray/tray.component.d.ts +4 -1
- package/dist/components/tray/tray.component.js +13 -16
- package/dist/components/tray/tray.component.js.map +1 -1
- package/dist/components/typography/typography.component.js +38 -41
- package/dist/components/typography/typography.component.js.map +1 -1
- package/dist/components.d.ts +3 -0
- package/dist/components.js +204 -195
- package/dist/components.js.map +1 -1
- package/dist/components.native.css +5 -2
- package/dist/components.native.css.map +1 -1
- package/dist/dap-design-system.d.ts +3 -0
- package/dist/dds-preupgrade.css +57 -0
- package/dist/dds.js +383 -374
- package/dist/dds.js.map +1 -1
- package/dist/internal/dds-hu-element.d.ts +8 -0
- package/dist/internal/dds-hu-element.js +40 -41
- package/dist/internal/dds-hu-element.js.map +1 -1
- package/dist/internal/mixin/choiceElementMixin.js +7 -7
- package/dist/internal/mixin/feedbackMixin.js +13 -15
- package/dist/internal/mixin/feedbackMixin.js.map +1 -1
- package/dist/internal/mixin/focusableMixin.js +6 -6
- package/dist/internal/mixin/formElementMixin.js +1 -1
- package/dist/internal/mixin/labelPositionedMixin.js +1 -1
- package/dist/internal/mixin/labelableMixin.d.ts +1 -1
- package/dist/internal/mixin/labelableMixin.js +61 -63
- package/dist/internal/mixin/labelableMixin.js.map +1 -1
- package/dist/internal/mixin/sizedMixin.js +29 -27
- package/dist/internal/mixin/sizedMixin.js.map +1 -1
- package/dist/internal/templates/formLabel.d.ts +41 -0
- package/dist/internal/templates/formLabel.js +47 -0
- package/dist/internal/templates/formLabel.js.map +1 -0
- package/dist/localization/localization.d.ts +1 -2
- package/dist/localization/localization.js +77 -76
- package/dist/localization/localization.js.map +1 -1
- package/dist/localization/localize-controller.d.ts +12 -0
- package/dist/localization/localize-controller.js +51 -0
- package/dist/localization/localize-controller.js.map +1 -0
- package/dist/manifest/types/vue/index.d.ts +527 -312
- package/dist/manifest/vscode.html-custom-data.json +333 -279
- package/dist/manifest/web-types.json +723 -619
- package/dist/react/dap-ds-accordion/index.d.ts +1 -0
- package/dist/react/dap-ds-accordion/index.js.map +1 -1
- package/dist/react/dap-ds-anchor-heading/index.d.ts +1 -0
- package/dist/react/dap-ds-anchor-heading/index.js.map +1 -1
- package/dist/react/dap-ds-banner/index.d.ts +1 -1
- package/dist/react/dap-ds-banner/index.js.map +1 -1
- package/dist/react/dap-ds-breadcrumb/index.d.ts +1 -1
- package/dist/react/dap-ds-breadcrumb/index.js.map +1 -1
- package/dist/react/dap-ds-button-group/index.d.ts +45 -0
- package/dist/react/dap-ds-button-group/index.js +15 -0
- package/dist/react/dap-ds-button-group/index.js.map +1 -0
- package/dist/react/dap-ds-button-group-separator/index.d.ts +24 -0
- package/dist/react/dap-ds-button-group-separator/index.js +15 -0
- package/dist/react/dap-ds-button-group-separator/index.js.map +1 -0
- package/dist/react/dap-ds-button-group-text/index.d.ts +30 -0
- package/dist/react/dap-ds-button-group-text/index.js +15 -0
- package/dist/react/dap-ds-button-group-text/index.js.map +1 -0
- package/dist/react/dap-ds-calendar/index.d.ts +3 -0
- package/dist/react/dap-ds-calendar/index.js.map +1 -1
- package/dist/react/dap-ds-callout/index.d.ts +1 -0
- package/dist/react/dap-ds-callout/index.js.map +1 -1
- package/dist/react/dap-ds-card/index.d.ts +1 -0
- package/dist/react/dap-ds-card/index.js.map +1 -1
- package/dist/react/dap-ds-checkbox/index.d.ts +7 -1
- package/dist/react/dap-ds-checkbox/index.js.map +1 -1
- package/dist/react/dap-ds-chip/index.d.ts +1 -0
- package/dist/react/dap-ds-chip/index.js.map +1 -1
- package/dist/react/dap-ds-code-puncher/index.d.ts +4 -0
- package/dist/react/dap-ds-code-puncher/index.js.map +1 -1
- package/dist/react/dap-ds-combobox/index.d.ts +9 -1
- package/dist/react/dap-ds-combobox/index.js.map +1 -1
- package/dist/react/dap-ds-command/index.d.ts +3 -0
- package/dist/react/dap-ds-command/index.js.map +1 -1
- package/dist/react/dap-ds-copybox-input/index.d.ts +11 -0
- package/dist/react/dap-ds-copybox-input/index.js.map +1 -1
- package/dist/react/dap-ds-datatable/index.d.ts +17 -0
- package/dist/react/dap-ds-datatable/index.js.map +1 -1
- package/dist/react/dap-ds-datepicker/index.d.ts +8 -0
- package/dist/react/dap-ds-datepicker/index.js.map +1 -1
- package/dist/react/dap-ds-file-input/index.d.ts +3 -0
- package/dist/react/dap-ds-file-input/index.js.map +1 -1
- package/dist/react/dap-ds-file-input-list-item/index.d.ts +1 -0
- package/dist/react/dap-ds-file-input-list-item/index.js.map +1 -1
- package/dist/react/dap-ds-form-label/index.d.ts +1 -1
- package/dist/react/dap-ds-form-label/index.js.map +1 -1
- package/dist/react/dap-ds-icon-button/index.d.ts +1 -0
- package/dist/react/dap-ds-icon-button/index.js.map +1 -1
- package/dist/react/dap-ds-input-group/index.d.ts +4 -0
- package/dist/react/dap-ds-input-group/index.js.map +1 -1
- package/dist/react/dap-ds-list-item/index.d.ts +2 -0
- package/dist/react/dap-ds-list-item/index.js.map +1 -1
- package/dist/react/dap-ds-number-input/index.d.ts +7 -0
- package/dist/react/dap-ds-number-input/index.js.map +1 -1
- package/dist/react/dap-ds-official-website-banner/index.d.ts +1 -0
- package/dist/react/dap-ds-official-website-banner/index.js.map +1 -1
- package/dist/react/dap-ds-option-item/index.d.ts +1 -0
- package/dist/react/dap-ds-option-item/index.js.map +1 -1
- package/dist/react/dap-ds-option-list/index.d.ts +1 -1
- package/dist/react/dap-ds-option-list/index.js.map +1 -1
- package/dist/react/dap-ds-password-input/index.d.ts +12 -5
- package/dist/react/dap-ds-password-input/index.js.map +1 -1
- package/dist/react/dap-ds-radio-button/index.d.ts +5 -0
- package/dist/react/dap-ds-radio-button/index.js.map +1 -1
- package/dist/react/dap-ds-radio-group/index.d.ts +5 -0
- package/dist/react/dap-ds-radio-group/index.js.map +1 -1
- package/dist/react/dap-ds-scroll-area/index.d.ts +2 -1
- package/dist/react/dap-ds-scroll-area/index.js.map +1 -1
- package/dist/react/dap-ds-search/index.d.ts +6 -1
- package/dist/react/dap-ds-search/index.js.map +1 -1
- package/dist/react/dap-ds-select/index.d.ts +6 -0
- package/dist/react/dap-ds-select/index.js.map +1 -1
- package/dist/react/dap-ds-sidenav-group/index.d.ts +1 -0
- package/dist/react/dap-ds-sidenav-group/index.js.map +1 -1
- package/dist/react/dap-ds-snackbar/index.d.ts +0 -1
- package/dist/react/dap-ds-snackbar/index.js.map +1 -1
- package/dist/react/dap-ds-snackbar-message/index.d.ts +3 -1
- package/dist/react/dap-ds-snackbar-message/index.js.map +1 -1
- package/dist/react/dap-ds-stack/index.d.ts +2 -1
- package/dist/react/dap-ds-stack/index.js.map +1 -1
- package/dist/react/dap-ds-switch/index.d.ts +6 -0
- package/dist/react/dap-ds-switch/index.js.map +1 -1
- package/dist/react/dap-ds-tab-group/index.d.ts +4 -2
- package/dist/react/dap-ds-tab-group/index.js.map +1 -1
- package/dist/react/dap-ds-table/index.d.ts +2 -0
- package/dist/react/dap-ds-table/index.js.map +1 -1
- package/dist/react/dap-ds-table-cell/index.d.ts +1 -1
- package/dist/react/dap-ds-table-cell/index.js.map +1 -1
- package/dist/react/dap-ds-textarea/index.d.ts +2 -0
- package/dist/react/dap-ds-textarea/index.js.map +1 -1
- package/dist/react/dap-ds-time-grid/index.d.ts +3 -0
- package/dist/react/dap-ds-time-grid/index.js.map +1 -1
- package/dist/react/dap-ds-timepicker/index.d.ts +5 -0
- package/dist/react/dap-ds-timepicker/index.js.map +1 -1
- package/dist/react/dap-ds-toc/index.d.ts +2 -0
- package/dist/react/dap-ds-toc/index.js.map +1 -1
- package/dist/react/dap-ds-tooltip/index.d.ts +2 -0
- package/dist/react/dap-ds-tooltip/index.js.map +1 -1
- package/dist/react/dap-ds-tray/index.d.ts +4 -1
- package/dist/react/dap-ds-tray/index.js.map +1 -1
- package/dist/react/index.d.ts +11 -8
- package/dist/react-types.ts +11 -8
- package/dist/react.js +366 -360
- package/dist/react.js.map +1 -1
- package/package.json +14 -3
- package/dist/node_modules/@lit/context/lib/context-request-event.js +0 -14
- package/dist/node_modules/@lit/context/lib/context-request-event.js.map +0 -1
- package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js +0 -31
- package/dist/node_modules/@lit/context/lib/controllers/context-consumer.js.map +0 -1
- package/dist/node_modules/@lit/context/lib/controllers/context-provider.js +0 -40
- package/dist/node_modules/@lit/context/lib/controllers/context-provider.js.map +0 -1
- package/dist/node_modules/@lit/context/lib/create-context.js +0 -12
- package/dist/node_modules/@lit/context/lib/create-context.js.map +0 -1
- package/dist/node_modules/@lit/context/lib/value-notifier.js +0 -37
- package/dist/node_modules/@lit/context/lib/value-notifier.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/css-tag.js +0 -51
- package/dist/node_modules/@lit/reactive-element/css-tag.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/decorators/base.js +0 -10
- package/dist/node_modules/@lit/reactive-element/decorators/base.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/decorators/property.js +0 -38
- package/dist/node_modules/@lit/reactive-element/decorators/property.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/decorators/query-all.js +0 -17
- package/dist/node_modules/@lit/reactive-element/decorators/query-all.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js +0 -20
- package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-elements.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js +0 -20
- package/dist/node_modules/@lit/reactive-element/decorators/query-assigned-nodes.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/decorators/query.js +0 -21
- package/dist/node_modules/@lit/reactive-element/decorators/query.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/decorators/state.js +0 -25
- package/dist/node_modules/@lit/reactive-element/decorators/state.js.map +0 -1
- package/dist/node_modules/@lit/reactive-element/reactive-element.js +0 -276
- package/dist/node_modules/@lit/reactive-element/reactive-element.js.map +0 -1
- package/dist/node_modules/lit-element/lit-element.js +0 -53
- package/dist/node_modules/lit-element/lit-element.js.map +0 -1
- package/dist/node_modules/lit-html/async-directive.js +0 -71
- package/dist/node_modules/lit-html/async-directive.js.map +0 -1
- package/dist/node_modules/lit-html/directive-helpers.js +0 -46
- package/dist/node_modules/lit-html/directive-helpers.js.map +0 -1
- package/dist/node_modules/lit-html/directive.js +0 -28
- package/dist/node_modules/lit-html/directive.js.map +0 -1
- package/dist/node_modules/lit-html/directives/if-defined.js +0 -11
- package/dist/node_modules/lit-html/directives/if-defined.js.map +0 -1
- package/dist/node_modules/lit-html/directives/map.js +0 -15
- package/dist/node_modules/lit-html/directives/map.js.map +0 -1
- package/dist/node_modules/lit-html/directives/repeat.js +0 -63
- package/dist/node_modules/lit-html/directives/repeat.js.map +0 -1
- package/dist/node_modules/lit-html/directives/style-map.js +0 -37
- package/dist/node_modules/lit-html/directives/style-map.js.map +0 -1
- package/dist/node_modules/lit-html/lit-html.js +0 -249
- package/dist/node_modules/lit-html/lit-html.js.map +0 -1
- package/dist/node_modules/lit-html/static.js +0 -34
- package/dist/node_modules/lit-html/static.js.map +0 -1
- package/dist/node_modules/lit-i18n/src/lit-i18n.js +0 -95
- package/dist/node_modules/lit-i18n/src/lit-i18n.js.map +0 -1
|
@@ -1,38 +1,35 @@
|
|
|
1
1
|
import { clsx as f } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
|
-
import "
|
|
3
|
-
import {
|
|
4
|
-
import "
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
for (var r = void 0, a = p.length - 1, n; a >= 0; a--)
|
|
12
|
-
(n = p[a]) && (r = n(s, e, r) || r);
|
|
13
|
-
return r && H(s, e, r), r;
|
|
2
|
+
import { unsafeCSS as g, nothing as b } from "lit";
|
|
3
|
+
import { property as w } from "lit/decorators.js";
|
|
4
|
+
import { html as v } from "lit/static-html.js";
|
|
5
|
+
import { DdsElement as _ } from "../../internal/dds-hu-element.js";
|
|
6
|
+
import z from "./scroll-area.scss.js";
|
|
7
|
+
var H = Object.defineProperty, y = (d, r, e, h) => {
|
|
8
|
+
for (var s = void 0, n = d.length - 1, a; n >= 0; n--)
|
|
9
|
+
(a = d[n]) && (s = a(r, e, s) || s);
|
|
10
|
+
return s && H(r, e, s), s;
|
|
14
11
|
};
|
|
15
|
-
const c = class c extends
|
|
12
|
+
const c = class c extends _ {
|
|
16
13
|
constructor() {
|
|
17
14
|
super(...arguments), this.orientation = "vertical", this.viewport = null, this.scrollbar = null, this.thumbHorizontal = null, this.thumbVertical = null, this.isDragging = !1, this.startY = 0, this.startScrollTop = 0;
|
|
18
15
|
}
|
|
19
16
|
firstUpdated() {
|
|
20
|
-
var
|
|
21
|
-
this.viewport = (
|
|
17
|
+
var r, e, h, s;
|
|
18
|
+
this.viewport = (r = this.shadowRoot) == null ? void 0 : r.querySelector(
|
|
22
19
|
".scroll-area__viewport"
|
|
23
20
|
), this.scrollbar = (e = this.shadowRoot) == null ? void 0 : e.querySelector(
|
|
24
21
|
".scroll-area__scrollbar"
|
|
25
22
|
), this.thumbHorizontal = (h = this.shadowRoot) == null ? void 0 : h.querySelector(
|
|
26
23
|
".scroll-area__thumb--horizontal"
|
|
27
|
-
), this.thumbVertical = (
|
|
24
|
+
), this.thumbVertical = (s = this.shadowRoot) == null ? void 0 : s.querySelector(
|
|
28
25
|
".scroll-area__thumb--vertical"
|
|
29
26
|
), this.viewport && this.scrollbar && (this.thumbHorizontal || this.thumbVertical) && this.setupScrollbar();
|
|
30
27
|
}
|
|
31
28
|
setupScrollbar() {
|
|
32
|
-
var
|
|
29
|
+
var a, p;
|
|
33
30
|
if (!this.viewport || !this.scrollbar || !this.thumbHorizontal && !this.thumbVertical)
|
|
34
31
|
return;
|
|
35
|
-
const
|
|
32
|
+
const r = () => {
|
|
36
33
|
if (this.orientation === "vertical" || this.orientation === "both") {
|
|
37
34
|
const { scrollHeight: t, clientHeight: i } = this.viewport, o = i / t * i;
|
|
38
35
|
this.thumbVertical.style.height = `${o}px`;
|
|
@@ -51,8 +48,8 @@ const c = class c extends w {
|
|
|
51
48
|
this.thumbHorizontal.style.transform = `translateX(${l}px)`;
|
|
52
49
|
}
|
|
53
50
|
}, h = (t) => {
|
|
54
|
-
t.preventDefault(), this.isDragging = !0, (this.orientation === "vertical" || this.orientation === "both") && (this.startY = t.clientY, this.startScrollTop = this.viewport.scrollTop), (this.orientation === "horizontal" || this.orientation === "both") && (this.startY = t.clientX, this.startScrollTop = this.viewport.scrollLeft), document.addEventListener("mousemove",
|
|
55
|
-
},
|
|
51
|
+
t.preventDefault(), this.isDragging = !0, (this.orientation === "vertical" || this.orientation === "both") && (this.startY = t.clientY, this.startScrollTop = this.viewport.scrollTop), (this.orientation === "horizontal" || this.orientation === "both") && (this.startY = t.clientX, this.startScrollTop = this.viewport.scrollLeft), document.addEventListener("mousemove", s), document.addEventListener("mouseup", n);
|
|
52
|
+
}, s = (t) => {
|
|
56
53
|
if (this.isDragging) {
|
|
57
54
|
if (this.orientation === "vertical" || this.orientation === "both") {
|
|
58
55
|
const i = t.clientY - this.startY, { scrollHeight: o, clientHeight: l } = this.viewport, u = o / l;
|
|
@@ -63,19 +60,19 @@ const c = class c extends w {
|
|
|
63
60
|
this.viewport.scrollLeft = this.startScrollTop + i * u;
|
|
64
61
|
}
|
|
65
62
|
}
|
|
66
|
-
},
|
|
67
|
-
this.isDragging = !1, document.removeEventListener("mousemove",
|
|
63
|
+
}, n = () => {
|
|
64
|
+
this.isDragging = !1, document.removeEventListener("mousemove", s), document.removeEventListener("mouseup", n);
|
|
68
65
|
};
|
|
69
|
-
|
|
66
|
+
r(), e(), this.viewport.addEventListener("scroll", e), this.viewport.addEventListener("resize", r), (a = this.thumbHorizontal) == null || a.addEventListener("mousedown", h), (p = this.thumbVertical) == null || p.addEventListener("mousedown", h);
|
|
70
67
|
}
|
|
71
|
-
getScrollbar(
|
|
68
|
+
getScrollbar(r) {
|
|
72
69
|
return v`<div
|
|
73
70
|
part="scrollbar"
|
|
74
71
|
class=${f(
|
|
75
72
|
"scroll-area__scrollbar",
|
|
76
|
-
`scroll-area__scrollbar--${
|
|
73
|
+
`scroll-area__scrollbar--${r}`
|
|
77
74
|
)}>
|
|
78
|
-
<div part="thumb" class="scroll-area__thumb--${
|
|
75
|
+
<div part="thumb" class="scroll-area__thumb--${r}"></div>
|
|
79
76
|
</div> `;
|
|
80
77
|
}
|
|
81
78
|
render() {
|
|
@@ -91,10 +88,10 @@ const c = class c extends w {
|
|
|
91
88
|
`;
|
|
92
89
|
}
|
|
93
90
|
};
|
|
94
|
-
c.tagName = "dap-ds-scroll-area", c.styles = z
|
|
91
|
+
c.tagName = "dap-ds-scroll-area", c.styles = g(z);
|
|
95
92
|
let m = c;
|
|
96
93
|
y([
|
|
97
|
-
|
|
94
|
+
w({ type: String })
|
|
98
95
|
], m.prototype, "orientation");
|
|
99
96
|
export {
|
|
100
97
|
m as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-area.component.js","sources":["../../../src/components/scroll-area/scroll-area.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { nothing, unsafeCSS } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '../../internal/dds-hu-element'\nimport styles from './scroll-area.scss?inline'\n\n/**\n * `dap-ds-scroll-area`\n * @summary A component that provides a customizable scrollable area with a custom scrollbar.\n * @element dap-ds-scroll-area\n * @title - Scroll area\n *\n * @slot - The content to be scrolled\n *\n * @csspart viewport - The viewport element that contains the scrollable content\n * @csspart scrollbar - The scrollbar container\n * @csspart corner - The corner between vertical and horizontal scrollbars\n *\n * @cssprop --dds-scroll-area-radius - The border radius of the scroll area and its elements (default: var(--dds-radius-base))\n * @cssprop --dds-scroll-area-background - The background color of the scroll area (default: var(--dds-background-neutral-base))\n * @cssprop --dds-scroll-area-scrollbar-background - The background color of the scrollbar (default: var(--dds-background-neutral-subtle))\n * @cssprop --dds-scroll-area-thumb-background - The background color of the scrollbar thumb (default: var(--dds-background-neutral-interactive))\n * @cssprop --dds-scroll-area-thumb-hover-background - The background color of the scrollbar thumb on hover (default: var(--dds-background-neutral-interactive-hover))\n * @cssprop --dds-scroll-area-thumb-active-background - The background color of the scrollbar thumb when active (default: var(--dds-background-neutral-interactive-active))\n * @cssprop --dds-scroll-area-transition - The transition timing for scrollbar interactions (default: var(--dds-transition-fast) var(--dds-easing-ease-out))\n * @cssprop --dds-scroll-area-scrollbar-size - The width/height of the scrollbar (default: 10px)\n */\nexport default class DapDSScrollArea extends DdsElement {\n static tagName = 'dap-ds-scroll-area'\n\n /**\n * The orientation of the scrollbar.\n * @type {'vertical' | 'horizontal' | 'both'}\n * @default 'vertical'\n */\n @property({ type: String }) orientation: 'vertical' | 'horizontal' | 'both' =\n 'vertical'\n\n static readonly styles = unsafeCSS(styles)\n\n private viewport: HTMLElement | null = null\n private scrollbar: HTMLElement | null = null\n private thumbHorizontal: HTMLElement | null = null\n private thumbVertical: HTMLElement | null = null\n private isDragging = false\n private startY = 0\n private startScrollTop = 0\n\n firstUpdated() {\n this.viewport = this.shadowRoot?.querySelector(\n '.scroll-area__viewport',\n ) as HTMLElement\n this.scrollbar = this.shadowRoot?.querySelector(\n '.scroll-area__scrollbar',\n ) as HTMLElement\n this.thumbHorizontal = this.shadowRoot?.querySelector(\n '.scroll-area__thumb--horizontal',\n ) as HTMLElement\n this.thumbVertical = this.shadowRoot?.querySelector(\n '.scroll-area__thumb--vertical',\n ) as HTMLElement\n\n if (\n this.viewport &&\n this.scrollbar &&\n (this.thumbHorizontal || this.thumbVertical)\n ) {\n this.setupScrollbar()\n }\n }\n\n private setupScrollbar() {\n if (\n !this.viewport ||\n !this.scrollbar ||\n (!this.thumbHorizontal && !this.thumbVertical)\n )\n return\n\n const updateThumbSize = () => {\n if (this.orientation === 'vertical' || this.orientation === 'both') {\n const { scrollHeight, clientHeight } = this.viewport!\n const thumbHeight = (clientHeight / scrollHeight) * clientHeight\n this.thumbVertical!.style.height = `${thumbHeight}px`\n }\n\n if (this.orientation === 'horizontal' || this.orientation === 'both') {\n const { scrollWidth, clientWidth } = this.viewport!\n const thumbWidth = (clientWidth / scrollWidth) * clientWidth\n this.thumbHorizontal!.style.width = `${thumbWidth}px`\n }\n }\n\n const updateThumbPosition = () => {\n if (this.orientation === 'vertical' || this.orientation === 'both') {\n const { scrollTop, scrollHeight, clientHeight } = this.viewport!\n const thumbPosition =\n (scrollTop / (scrollHeight - clientHeight)) *\n (clientHeight - this.thumbVertical!.offsetHeight)\n this.thumbVertical!.style.transform = `translateY(${thumbPosition}px)`\n }\n\n if (this.orientation === 'horizontal' || this.orientation === 'both') {\n const { scrollLeft, scrollWidth, clientWidth } = this.viewport!\n const thumbPosition =\n (scrollLeft / (scrollWidth - clientWidth)) *\n (clientWidth - this.thumbHorizontal!.offsetWidth)\n this.thumbHorizontal!.style.transform = `translateX(${thumbPosition}px)`\n }\n }\n\n const handleThumbMouseDown = (e: MouseEvent) => {\n e.preventDefault()\n this.isDragging = true\n\n if (this.orientation === 'vertical' || this.orientation === 'both') {\n this.startY = e.clientY\n this.startScrollTop = this.viewport!.scrollTop\n }\n\n if (this.orientation === 'horizontal' || this.orientation === 'both') {\n this.startY = e.clientX\n this.startScrollTop = this.viewport!.scrollLeft\n }\n\n document.addEventListener('mousemove', handleThumbMouseMove)\n document.addEventListener('mouseup', handleThumbMouseUp)\n }\n\n const handleThumbMouseMove = (e: MouseEvent) => {\n if (!this.isDragging) return\n\n if (this.orientation === 'vertical' || this.orientation === 'both') {\n const deltaY = e.clientY - this.startY\n const { scrollHeight, clientHeight } = this.viewport!\n const scrollRatio = scrollHeight / clientHeight\n this.viewport!.scrollTop = this.startScrollTop + deltaY * scrollRatio\n }\n\n if (this.orientation === 'horizontal' || this.orientation === 'both') {\n const deltaX = e.clientX - this.startY\n const { scrollWidth, clientWidth } = this.viewport!\n const scrollRatio = scrollWidth / clientWidth\n this.viewport!.scrollLeft = this.startScrollTop + deltaX * scrollRatio\n }\n }\n\n const handleThumbMouseUp = () => {\n this.isDragging = false\n document.removeEventListener('mousemove', handleThumbMouseMove)\n document.removeEventListener('mouseup', handleThumbMouseUp)\n }\n\n updateThumbSize()\n updateThumbPosition()\n\n this.viewport.addEventListener('scroll', updateThumbPosition)\n this.viewport.addEventListener('resize', updateThumbSize)\n this.thumbHorizontal?.addEventListener('mousedown', handleThumbMouseDown)\n this.thumbVertical?.addEventListener('mousedown', handleThumbMouseDown)\n }\n\n getScrollbar(orientation: 'horizontal' | 'vertical') {\n return html`<div\n part=\"scrollbar\"\n class=${clsx(\n 'scroll-area__scrollbar',\n `scroll-area__scrollbar--${orientation}`,\n )}>\n <div part=\"thumb\" class=\"scroll-area__thumb--${orientation}\"></div>\n </div> `\n }\n\n render() {\n return html`\n <div part=\"base\" class=\"scroll-area\">\n <div part=\"viewport\" class=\"scroll-area__viewport\">\n <slot></slot>\n </div>\n\n ${this.orientation === 'horizontal' || this.orientation === 'both'\n ? this.getScrollbar('horizontal')\n : nothing}\n ${this.orientation === 'vertical' || this.orientation === 'both'\n ? this.getScrollbar('vertical')\n : nothing}\n </div>\n `\n }\n}\n"],"names":["_DapDSScrollArea","DdsElement","_a","_b","_c","_d","updateThumbSize","scrollHeight","clientHeight","thumbHeight","scrollWidth","clientWidth","thumbWidth","updateThumbPosition","scrollTop","thumbPosition","scrollLeft","handleThumbMouseDown","e","handleThumbMouseMove","handleThumbMouseUp","deltaY","scrollRatio","deltaX","orientation","html","clsx","nothing","unsafeCSS","styles","DapDSScrollArea","__decorateClass","property"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scroll-area.component.js","sources":["../../../src/components/scroll-area/scroll-area.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { nothing, unsafeCSS } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { html } from 'lit/static-html.js'\n\nimport { DdsElement } from '../../internal/dds-hu-element'\nimport styles from './scroll-area.scss?inline'\n\n/**\n * `dap-ds-scroll-area`\n * @summary A component that provides a customizable scrollable area with a custom scrollbar.\n * @element dap-ds-scroll-area\n * @title - Scroll area\n *\n * @slot - The content to be scrolled\n *\n * @csspart viewport - The viewport element that contains the scrollable content\n * @csspart scrollbar - The scrollbar container\n * @csspart base - The main scroll area container.\n * @csspart thumb - The thumb of the scrollbar.\n *\n * @cssprop --dds-scroll-area-radius - The border radius of the scroll area and its elements (default: var(--dds-radius-base))\n * @cssprop --dds-scroll-area-background - The background color of the scroll area (default: var(--dds-background-neutral-base))\n * @cssprop --dds-scroll-area-scrollbar-background - The background color of the scrollbar (default: var(--dds-background-neutral-subtle))\n * @cssprop --dds-scroll-area-thumb-background - The background color of the scrollbar thumb (default: var(--dds-background-neutral-interactive))\n * @cssprop --dds-scroll-area-thumb-hover-background - The background color of the scrollbar thumb on hover (default: var(--dds-background-neutral-interactive-hover))\n * @cssprop --dds-scroll-area-thumb-active-background - The background color of the scrollbar thumb when active (default: var(--dds-background-neutral-interactive-active))\n * @cssprop --dds-scroll-area-transition - The transition timing for scrollbar interactions (default: var(--dds-transition-fast) var(--dds-easing-ease-out))\n * @cssprop --dds-scroll-area-scrollbar-size - The width/height of the scrollbar (default: 10px)\n */\nexport default class DapDSScrollArea extends DdsElement {\n static tagName = 'dap-ds-scroll-area'\n\n /**\n * The orientation of the scrollbar.\n * @type {'vertical' | 'horizontal' | 'both'}\n * @default 'vertical'\n */\n @property({ type: String }) orientation: 'vertical' | 'horizontal' | 'both' =\n 'vertical'\n\n static readonly styles = unsafeCSS(styles)\n\n private viewport: HTMLElement | null = null\n private scrollbar: HTMLElement | null = null\n private thumbHorizontal: HTMLElement | null = null\n private thumbVertical: HTMLElement | null = null\n private isDragging = false\n private startY = 0\n private startScrollTop = 0\n\n firstUpdated() {\n this.viewport = this.shadowRoot?.querySelector(\n '.scroll-area__viewport',\n ) as HTMLElement\n this.scrollbar = this.shadowRoot?.querySelector(\n '.scroll-area__scrollbar',\n ) as HTMLElement\n this.thumbHorizontal = this.shadowRoot?.querySelector(\n '.scroll-area__thumb--horizontal',\n ) as HTMLElement\n this.thumbVertical = this.shadowRoot?.querySelector(\n '.scroll-area__thumb--vertical',\n ) as HTMLElement\n\n if (\n this.viewport &&\n this.scrollbar &&\n (this.thumbHorizontal || this.thumbVertical)\n ) {\n this.setupScrollbar()\n }\n }\n\n private setupScrollbar() {\n if (\n !this.viewport ||\n !this.scrollbar ||\n (!this.thumbHorizontal && !this.thumbVertical)\n )\n return\n\n const updateThumbSize = () => {\n if (this.orientation === 'vertical' || this.orientation === 'both') {\n const { scrollHeight, clientHeight } = this.viewport!\n const thumbHeight = (clientHeight / scrollHeight) * clientHeight\n this.thumbVertical!.style.height = `${thumbHeight}px`\n }\n\n if (this.orientation === 'horizontal' || this.orientation === 'both') {\n const { scrollWidth, clientWidth } = this.viewport!\n const thumbWidth = (clientWidth / scrollWidth) * clientWidth\n this.thumbHorizontal!.style.width = `${thumbWidth}px`\n }\n }\n\n const updateThumbPosition = () => {\n if (this.orientation === 'vertical' || this.orientation === 'both') {\n const { scrollTop, scrollHeight, clientHeight } = this.viewport!\n const thumbPosition =\n (scrollTop / (scrollHeight - clientHeight)) *\n (clientHeight - this.thumbVertical!.offsetHeight)\n this.thumbVertical!.style.transform = `translateY(${thumbPosition}px)`\n }\n\n if (this.orientation === 'horizontal' || this.orientation === 'both') {\n const { scrollLeft, scrollWidth, clientWidth } = this.viewport!\n const thumbPosition =\n (scrollLeft / (scrollWidth - clientWidth)) *\n (clientWidth - this.thumbHorizontal!.offsetWidth)\n this.thumbHorizontal!.style.transform = `translateX(${thumbPosition}px)`\n }\n }\n\n const handleThumbMouseDown = (e: MouseEvent) => {\n e.preventDefault()\n this.isDragging = true\n\n if (this.orientation === 'vertical' || this.orientation === 'both') {\n this.startY = e.clientY\n this.startScrollTop = this.viewport!.scrollTop\n }\n\n if (this.orientation === 'horizontal' || this.orientation === 'both') {\n this.startY = e.clientX\n this.startScrollTop = this.viewport!.scrollLeft\n }\n\n document.addEventListener('mousemove', handleThumbMouseMove)\n document.addEventListener('mouseup', handleThumbMouseUp)\n }\n\n const handleThumbMouseMove = (e: MouseEvent) => {\n if (!this.isDragging) return\n\n if (this.orientation === 'vertical' || this.orientation === 'both') {\n const deltaY = e.clientY - this.startY\n const { scrollHeight, clientHeight } = this.viewport!\n const scrollRatio = scrollHeight / clientHeight\n this.viewport!.scrollTop = this.startScrollTop + deltaY * scrollRatio\n }\n\n if (this.orientation === 'horizontal' || this.orientation === 'both') {\n const deltaX = e.clientX - this.startY\n const { scrollWidth, clientWidth } = this.viewport!\n const scrollRatio = scrollWidth / clientWidth\n this.viewport!.scrollLeft = this.startScrollTop + deltaX * scrollRatio\n }\n }\n\n const handleThumbMouseUp = () => {\n this.isDragging = false\n document.removeEventListener('mousemove', handleThumbMouseMove)\n document.removeEventListener('mouseup', handleThumbMouseUp)\n }\n\n updateThumbSize()\n updateThumbPosition()\n\n this.viewport.addEventListener('scroll', updateThumbPosition)\n this.viewport.addEventListener('resize', updateThumbSize)\n this.thumbHorizontal?.addEventListener('mousedown', handleThumbMouseDown)\n this.thumbVertical?.addEventListener('mousedown', handleThumbMouseDown)\n }\n\n getScrollbar(orientation: 'horizontal' | 'vertical') {\n return html`<div\n part=\"scrollbar\"\n class=${clsx(\n 'scroll-area__scrollbar',\n `scroll-area__scrollbar--${orientation}`,\n )}>\n <div part=\"thumb\" class=\"scroll-area__thumb--${orientation}\"></div>\n </div> `\n }\n\n render() {\n return html`\n <div part=\"base\" class=\"scroll-area\">\n <div part=\"viewport\" class=\"scroll-area__viewport\">\n <slot></slot>\n </div>\n\n ${this.orientation === 'horizontal' || this.orientation === 'both'\n ? this.getScrollbar('horizontal')\n : nothing}\n ${this.orientation === 'vertical' || this.orientation === 'both'\n ? this.getScrollbar('vertical')\n : nothing}\n </div>\n `\n }\n}\n"],"names":["_DapDSScrollArea","DdsElement","_a","_b","_c","_d","updateThumbSize","scrollHeight","clientHeight","thumbHeight","scrollWidth","clientWidth","thumbWidth","updateThumbPosition","scrollTop","thumbPosition","scrollLeft","handleThumbMouseDown","e","handleThumbMouseMove","handleThumbMouseUp","deltaY","scrollRatio","deltaX","orientation","html","clsx","nothing","unsafeCSS","styles","DapDSScrollArea","__decorateClass","property"],"mappings":";;;;;;;;;;;AA8BA,MAAqBA,IAArB,MAAqBA,UAAwBC,EAAW;AAAA,EAAxD,cAAA;AAAA,UAAA,GAAA,SAAA,GASI,KAAA,cAAA,YAIF,KAAQ,WAA+B,MACvC,KAAQ,YAAgC,MACxC,KAAQ,kBAAsC,MAC9C,KAAQ,gBAAoC,MAC5C,KAAQ,aAAa,IACrB,KAAQ,SAAS,GACjB,KAAQ,iBAAiB;AAAA,EAAA;AAAA,EAEzB,eAAe;;AACR,SAAA,YAAWC,IAAA,KAAK,eAAL,gBAAAA,EAAiB;AAAA,MAC/B;AAAA,OAEG,KAAA,aAAYC,IAAA,KAAK,eAAL,gBAAAA,EAAiB;AAAA,MAChC;AAAA,OAEG,KAAA,mBAAkBC,IAAA,KAAK,eAAL,gBAAAA,EAAiB;AAAA,MACtC;AAAA,OAEG,KAAA,iBAAgBC,IAAA,KAAK,eAAL,gBAAAA,EAAiB;AAAA,MACpC;AAAA,OAIA,KAAK,YACL,KAAK,cACJ,KAAK,mBAAmB,KAAK,kBAE9B,KAAK,eAAe;AAAA,EACtB;AAAA,EAGM,iBAAiB;;AAErB,QAAA,CAAC,KAAK,YACN,CAAC,KAAK,aACL,CAAC,KAAK,mBAAmB,CAAC,KAAK;AAEhC;AAEF,UAAMC,IAAkB,MAAM;AAC5B,UAAI,KAAK,gBAAgB,cAAc,KAAK,gBAAgB,QAAQ;AAClE,cAAM,EAAE,cAAAC,GAAc,cAAAC,EAAa,IAAI,KAAK,UACtCC,IAAeD,IAAeD,IAAgBC;AACpD,aAAK,cAAe,MAAM,SAAS,GAAGC,CAAW;AAAA,MAAA;AAGnD,UAAI,KAAK,gBAAgB,gBAAgB,KAAK,gBAAgB,QAAQ;AACpE,cAAM,EAAE,aAAAC,GAAa,aAAAC,EAAY,IAAI,KAAK,UACpCC,IAAcD,IAAcD,IAAeC;AACjD,aAAK,gBAAiB,MAAM,QAAQ,GAAGC,CAAU;AAAA,MAAA;AAAA,IAErD,GAEMC,IAAsB,MAAM;AAChC,UAAI,KAAK,gBAAgB,cAAc,KAAK,gBAAgB,QAAQ;AAClE,cAAM,EAAE,WAAAC,GAAW,cAAAP,GAAc,cAAAC,MAAiB,KAAK,UACjDO,IACHD,KAAaP,IAAeC,MAC5BA,IAAe,KAAK,cAAe;AACtC,aAAK,cAAe,MAAM,YAAY,cAAcO,CAAa;AAAA,MAAA;AAGnE,UAAI,KAAK,gBAAgB,gBAAgB,KAAK,gBAAgB,QAAQ;AACpE,cAAM,EAAE,YAAAC,GAAY,aAAAN,GAAa,aAAAC,MAAgB,KAAK,UAChDI,IACHC,KAAcN,IAAcC,MAC5BA,IAAc,KAAK,gBAAiB;AACvC,aAAK,gBAAiB,MAAM,YAAY,cAAcI,CAAa;AAAA,MAAA;AAAA,IAEvE,GAEME,IAAuB,CAACC,MAAkB;AAC9C,MAAAA,EAAE,eAAe,GACjB,KAAK,aAAa,KAEd,KAAK,gBAAgB,cAAc,KAAK,gBAAgB,YAC1D,KAAK,SAASA,EAAE,SACX,KAAA,iBAAiB,KAAK,SAAU,aAGnC,KAAK,gBAAgB,gBAAgB,KAAK,gBAAgB,YAC5D,KAAK,SAASA,EAAE,SACX,KAAA,iBAAiB,KAAK,SAAU,aAG9B,SAAA,iBAAiB,aAAaC,CAAoB,GAClD,SAAA,iBAAiB,WAAWC,CAAkB;AAAA,IACzD,GAEMD,IAAuB,CAACD,MAAkB;AAC1C,UAAC,KAAK,YAEV;AAAA,YAAI,KAAK,gBAAgB,cAAc,KAAK,gBAAgB,QAAQ;AAC5D,gBAAAG,IAASH,EAAE,UAAU,KAAK,QAC1B,EAAE,cAAAX,GAAc,cAAAC,EAAa,IAAI,KAAK,UACtCc,IAAcf,IAAeC;AACnC,eAAK,SAAU,YAAY,KAAK,iBAAiBa,IAASC;AAAA,QAAA;AAG5D,YAAI,KAAK,gBAAgB,gBAAgB,KAAK,gBAAgB,QAAQ;AAC9D,gBAAAC,IAASL,EAAE,UAAU,KAAK,QAC1B,EAAE,aAAAR,GAAa,aAAAC,EAAY,IAAI,KAAK,UACpCW,IAAcZ,IAAcC;AAClC,eAAK,SAAU,aAAa,KAAK,iBAAiBY,IAASD;AAAA,QAAA;AAAA;AAAA,IAE/D,GAEMF,IAAqB,MAAM;AAC/B,WAAK,aAAa,IACT,SAAA,oBAAoB,aAAaD,CAAoB,GACrD,SAAA,oBAAoB,WAAWC,CAAkB;AAAA,IAC5D;AAEgB,IAAAd,EAAA,GACIO,EAAA,GAEf,KAAA,SAAS,iBAAiB,UAAUA,CAAmB,GACvD,KAAA,SAAS,iBAAiB,UAAUP,CAAe,IACnDJ,IAAA,KAAA,oBAAA,QAAAA,EAAiB,iBAAiB,aAAae,KAC/Cd,IAAA,KAAA,kBAAA,QAAAA,EAAe,iBAAiB,aAAac;AAAA,EAAoB;AAAA,EAGxE,aAAaO,GAAwC;AAC5C,WAAAC;AAAA;AAAA,cAEGC;AAAA,MACN;AAAA,MACA,2BAA2BF,CAAW;AAAA,IAAA,CACvC;AAAA,qDAC8CA,CAAW;AAAA;AAAA,EAAA;AAAA,EAI9D,SAAS;AACA,WAAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMD,KAAK,gBAAgB,gBAAgB,KAAK,gBAAgB,SACxD,KAAK,aAAa,YAAY,IAC9BE,CAAO;AAAA,UACT,KAAK,gBAAgB,cAAc,KAAK,gBAAgB,SACtD,KAAK,aAAa,UAAU,IAC5BA,CAAO;AAAA;AAAA;AAAA,EAAA;AAInB;AAjKE3B,EAAO,UAAU,sBAUDA,EAAA,SAAS4B,EAAUC,CAAM;AAX3C,IAAqBC,IAArB9B;AAQ8B+B,EAAA;AAAA,EAA3BC,EAAS,EAAE,MAAM,OAAQ,CAAA;AAAA,GARPF,EAQS,WAAA,aAAA;"}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import { clsx as d } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
|
-
import "
|
|
3
|
-
import {
|
|
4
|
-
import "../../node_modules/lit-element/lit-element.js";
|
|
5
|
-
import { property as h } from "../../node_modules/@lit/reactive-element/decorators/property.js";
|
|
6
|
-
import { state as u } from "../../node_modules/@lit/reactive-element/decorators/state.js";
|
|
2
|
+
import { unsafeCSS as u, html as p } from "lit";
|
|
3
|
+
import { property as h, state as g } from "lit/decorators.js";
|
|
7
4
|
import { DdsElement as m } from "../../internal/dds-hu-element.js";
|
|
8
|
-
import { SizedMixin as
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
(c = n[a]) && (t = c(e, r, t) || t);
|
|
5
|
+
import { SizedMixin as f } from "../../internal/mixin/sizedMixin.js";
|
|
6
|
+
import v from "./scroll-progress.scss.js";
|
|
7
|
+
var S = Object.defineProperty, n = (o, e, r, l) => {
|
|
8
|
+
for (var t = void 0, a = o.length - 1, c; a >= 0; a--)
|
|
9
|
+
(c = o[a]) && (t = c(e, r, t) || t);
|
|
14
10
|
return t && S(e, r, t), t;
|
|
15
11
|
};
|
|
16
|
-
const b =
|
|
12
|
+
const b = f(m), i = class i extends b {
|
|
17
13
|
constructor() {
|
|
18
14
|
super(), this.variant = "brand", this.progress = 0, this.targetElement = null, this.rafId = null, this.handleScroll = () => {
|
|
19
15
|
this.rafId === null && (this.rafId = requestAnimationFrame(() => {
|
|
@@ -82,16 +78,16 @@ const b = g(m), i = class i extends b {
|
|
|
82
78
|
`;
|
|
83
79
|
}
|
|
84
80
|
};
|
|
85
|
-
i.tagName = "dap-ds-scroll-progress", i.styles = v
|
|
81
|
+
i.tagName = "dap-ds-scroll-progress", i.styles = u(v);
|
|
86
82
|
let s = i;
|
|
87
|
-
|
|
83
|
+
n([
|
|
88
84
|
h({ type: String, reflect: !0 })
|
|
89
85
|
], s.prototype, "target");
|
|
90
|
-
|
|
86
|
+
n([
|
|
91
87
|
h({ type: String, reflect: !0 })
|
|
92
88
|
], s.prototype, "variant");
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
n([
|
|
90
|
+
g()
|
|
95
91
|
], s.prototype, "progress");
|
|
96
92
|
export {
|
|
97
93
|
s as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll-progress.component.js","sources":["../../../src/components/scroll-progress/scroll-progress.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { html, unsafeCSS } from 'lit'\nimport { property, state } from 'lit/decorators.js'\n\nimport { DdsElement } from '../../internal/dds-hu-element'\nimport { SizedMixin } from '../../internal/mixin/sizedMixin'\nimport styles from './scroll-progress.scss?inline'\n\nconst ScrollProgressBaseWithSized = SizedMixin(DdsElement)\n\nexport type ScrollProgressVariant =\n | 'neutral'\n | 'brand'\n | 'negative'\n | 'positive'\n | 'inverted'\n\n/**\n * `dap-ds-scroll-progress`\n * @summary A progress bar that displays scroll position, supporting both page-level and container-level scroll tracking.\n * @element dap-ds-scroll-progress\n * @title - Scroll Progress\n *\n * @csspart base - The main scroll progress container.\n * @csspart track - The progress track (background).\n * @csspart fill - The progress fill bar.\n *\n * @cssprop --dds-scroll-progress-z-index - Z-index for fixed positioning (default: 1000)\n * @cssprop --dds-scroll-progress-transition - Transition for progress updates (default: width 0.1s ease-out)\n * @cssprop --dds-scroll-progress-track-color - Background color of the progress track (default: var(--dds-neutral-200))\n * @cssprop --dds-scroll-progress-fill-color-neutral - Fill color for neutral variant\n * @cssprop --dds-scroll-progress-fill-color-brand - Fill color for brand variant\n * @cssprop --dds-scroll-progress-fill-color-negative - Fill color for negative variant\n * @cssprop --dds-scroll-progress-fill-color-positive - Fill color for positive variant\n * @cssprop --dds-scroll-progress-fill-color-inverted - Fill color for inverted variant\n *\n * @property { 'xxs' | 'xs' | 'sm' | 'md' | 'lg' } size - The size of the scroll progress bar. Default is `sm`. See SizedMixin.\n * @property {string} sizeMap - Responsive size map (e.g. \"md:lg\"); see SizedMixin.\n */\nexport default class DapDSScrollProgress extends ScrollProgressBaseWithSized {\n static tagName = 'dap-ds-scroll-progress'\n\n /**\n * CSS selector for scroll container. If not set, tracks global page scroll.\n * When set, the component uses sticky positioning within the container.\n */\n @property({ type: String, reflect: true }) target?: string\n\n /**\n * The color variant of the progress indicator.\n * @type {\"neutral\" | \"brand\" | \"negative\" | \"positive\" | \"inverted\"}\n */\n @property({ type: String, reflect: true }) variant: ScrollProgressVariant =\n 'brand'\n\n /**\n * Current progress value (0-100).\n */\n @state() private progress = 0\n\n private targetElement: Element | null = null\n private rafId: number | null = null\n private boundHandleScroll: () => void\n\n static readonly styles = unsafeCSS(styles)\n\n /** Maps effectiveSize from SizedMixin to scroll-progress visual size (xs, sm, md; xxs→xs, lg→md). */\n private get scrollProgressSize(): string {\n if (this.effectiveSize === 'xxs') return 'xs'\n if (this.effectiveSize === 'lg') return 'md'\n return this.effectiveSize\n }\n\n constructor() {\n super()\n this.boundHandleScroll = this.handleScroll.bind(this)\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n this.setupScrollListener()\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n this.cleanupScrollListener()\n }\n\n protected updated(changedProperties: Map<PropertyKey, unknown>): void {\n super.updated(changedProperties)\n if (changedProperties.has('target')) {\n this.cleanupScrollListener()\n this.setupScrollListener()\n }\n }\n\n private setupScrollListener(): void {\n if (this.target) {\n this.targetElement = document.querySelector(this.target)\n if (this.targetElement) {\n this.targetElement.addEventListener('scroll', this.boundHandleScroll, {\n passive: true,\n })\n }\n } else {\n window.addEventListener('scroll', this.boundHandleScroll, {\n passive: true,\n })\n }\n // Initial calculation\n this.handleScroll()\n }\n\n private cleanupScrollListener(): void {\n if (this.rafId !== null) {\n cancelAnimationFrame(this.rafId)\n this.rafId = null\n }\n\n if (this.targetElement) {\n this.targetElement.removeEventListener('scroll', this.boundHandleScroll)\n this.targetElement = null\n } else {\n window.removeEventListener('scroll', this.boundHandleScroll)\n }\n }\n\n private handleScroll = (): void => {\n if (this.rafId !== null) {\n return\n }\n\n this.rafId = requestAnimationFrame(() => {\n this.calculateProgress()\n this.rafId = null\n })\n }\n\n private calculateProgress(): void {\n let scrollTop: number\n let scrollHeight: number\n let clientHeight: number\n\n if (this.target && this.targetElement) {\n scrollTop = this.targetElement.scrollTop\n scrollHeight = this.targetElement.scrollHeight\n clientHeight = this.targetElement.clientHeight\n } else {\n scrollTop = window.scrollY\n scrollHeight = document.documentElement.scrollHeight\n clientHeight = window.innerHeight\n }\n\n const scrollableHeight = scrollHeight - clientHeight\n\n if (scrollableHeight <= 0) {\n this.progress = 0\n return\n }\n\n this.progress = Math.min(\n 100,\n Math.max(0, (scrollTop / scrollableHeight) * 100),\n )\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${clsx(\n 'scroll-progress',\n `scroll-progress--${this.variant}`,\n `scroll-progress--${this.scrollProgressSize}`,\n )}\n role=\"progressbar\"\n aria-valuenow=${Math.round(this.progress)}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-label=${this.ariaLabel ?? 'Scroll progress'}>\n <div part=\"track\" class=\"scroll-progress__track\">\n <div\n part=\"fill\"\n class=\"scroll-progress__fill\"\n style=\"width: ${this.progress}%\"></div>\n </div>\n </div>\n `\n }\n}\n"],"names":["ScrollProgressBaseWithSized","SizedMixin","DdsElement","_DapDSScrollProgress","changedProperties","scrollTop","scrollHeight","clientHeight","scrollableHeight","html","clsx","_a","unsafeCSS","styles","DapDSScrollProgress","__decorateClass","property","state"],"mappings":"
|
|
1
|
+
{"version":3,"file":"scroll-progress.component.js","sources":["../../../src/components/scroll-progress/scroll-progress.component.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { html, unsafeCSS } from 'lit'\nimport { property, state } from 'lit/decorators.js'\n\nimport { DdsElement } from '../../internal/dds-hu-element'\nimport { SizedMixin } from '../../internal/mixin/sizedMixin'\nimport styles from './scroll-progress.scss?inline'\n\nconst ScrollProgressBaseWithSized = SizedMixin(DdsElement)\n\nexport type ScrollProgressVariant =\n | 'neutral'\n | 'brand'\n | 'negative'\n | 'positive'\n | 'inverted'\n\n/**\n * `dap-ds-scroll-progress`\n * @summary A progress bar that displays scroll position, supporting both page-level and container-level scroll tracking.\n * @element dap-ds-scroll-progress\n * @title - Scroll Progress\n *\n * @csspart base - The main scroll progress container.\n * @csspart track - The progress track (background).\n * @csspart fill - The progress fill bar.\n *\n * @cssprop --dds-scroll-progress-z-index - Z-index for fixed positioning (default: 1000)\n * @cssprop --dds-scroll-progress-transition - Transition for progress updates (default: width 0.1s ease-out)\n * @cssprop --dds-scroll-progress-track-color - Background color of the progress track (default: var(--dds-neutral-200))\n * @cssprop --dds-scroll-progress-fill-color-neutral - Fill color for neutral variant\n * @cssprop --dds-scroll-progress-fill-color-brand - Fill color for brand variant\n * @cssprop --dds-scroll-progress-fill-color-negative - Fill color for negative variant\n * @cssprop --dds-scroll-progress-fill-color-positive - Fill color for positive variant\n * @cssprop --dds-scroll-progress-fill-color-inverted - Fill color for inverted variant\n *\n * @property { 'xxs' | 'xs' | 'sm' | 'md' | 'lg' } size - The size of the scroll progress bar. Default is `sm`. See SizedMixin.\n * @property {string} sizeMap - Responsive size map (e.g. \"md:lg\"); see SizedMixin.\n */\nexport default class DapDSScrollProgress extends ScrollProgressBaseWithSized {\n static tagName = 'dap-ds-scroll-progress'\n\n /**\n * CSS selector for scroll container. If not set, tracks global page scroll.\n * When set, the component uses sticky positioning within the container.\n */\n @property({ type: String, reflect: true }) target?: string\n\n /**\n * The color variant of the progress indicator.\n * @type {\"neutral\" | \"brand\" | \"negative\" | \"positive\" | \"inverted\"}\n */\n @property({ type: String, reflect: true }) variant: ScrollProgressVariant =\n 'brand'\n\n /**\n * Current progress value (0-100).\n */\n @state() private progress = 0\n\n private targetElement: Element | null = null\n private rafId: number | null = null\n private boundHandleScroll: () => void\n\n static readonly styles = unsafeCSS(styles)\n\n /** Maps effectiveSize from SizedMixin to scroll-progress visual size (xs, sm, md; xxs→xs, lg→md). */\n private get scrollProgressSize(): string {\n if (this.effectiveSize === 'xxs') return 'xs'\n if (this.effectiveSize === 'lg') return 'md'\n return this.effectiveSize\n }\n\n constructor() {\n super()\n this.boundHandleScroll = this.handleScroll.bind(this)\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n this.setupScrollListener()\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n this.cleanupScrollListener()\n }\n\n protected updated(changedProperties: Map<PropertyKey, unknown>): void {\n super.updated(changedProperties)\n if (changedProperties.has('target')) {\n this.cleanupScrollListener()\n this.setupScrollListener()\n }\n }\n\n private setupScrollListener(): void {\n if (this.target) {\n this.targetElement = document.querySelector(this.target)\n if (this.targetElement) {\n this.targetElement.addEventListener('scroll', this.boundHandleScroll, {\n passive: true,\n })\n }\n } else {\n window.addEventListener('scroll', this.boundHandleScroll, {\n passive: true,\n })\n }\n // Initial calculation\n this.handleScroll()\n }\n\n private cleanupScrollListener(): void {\n if (this.rafId !== null) {\n cancelAnimationFrame(this.rafId)\n this.rafId = null\n }\n\n if (this.targetElement) {\n this.targetElement.removeEventListener('scroll', this.boundHandleScroll)\n this.targetElement = null\n } else {\n window.removeEventListener('scroll', this.boundHandleScroll)\n }\n }\n\n private handleScroll = (): void => {\n if (this.rafId !== null) {\n return\n }\n\n this.rafId = requestAnimationFrame(() => {\n this.calculateProgress()\n this.rafId = null\n })\n }\n\n private calculateProgress(): void {\n let scrollTop: number\n let scrollHeight: number\n let clientHeight: number\n\n if (this.target && this.targetElement) {\n scrollTop = this.targetElement.scrollTop\n scrollHeight = this.targetElement.scrollHeight\n clientHeight = this.targetElement.clientHeight\n } else {\n scrollTop = window.scrollY\n scrollHeight = document.documentElement.scrollHeight\n clientHeight = window.innerHeight\n }\n\n const scrollableHeight = scrollHeight - clientHeight\n\n if (scrollableHeight <= 0) {\n this.progress = 0\n return\n }\n\n this.progress = Math.min(\n 100,\n Math.max(0, (scrollTop / scrollableHeight) * 100),\n )\n }\n\n render() {\n return html`\n <div\n part=\"base\"\n class=${clsx(\n 'scroll-progress',\n `scroll-progress--${this.variant}`,\n `scroll-progress--${this.scrollProgressSize}`,\n )}\n role=\"progressbar\"\n aria-valuenow=${Math.round(this.progress)}\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-label=${this.ariaLabel ?? 'Scroll progress'}>\n <div part=\"track\" class=\"scroll-progress__track\">\n <div\n part=\"fill\"\n class=\"scroll-progress__fill\"\n style=\"width: ${this.progress}%\"></div>\n </div>\n </div>\n `\n }\n}\n"],"names":["ScrollProgressBaseWithSized","SizedMixin","DdsElement","_DapDSScrollProgress","changedProperties","scrollTop","scrollHeight","clientHeight","scrollableHeight","html","clsx","_a","unsafeCSS","styles","DapDSScrollProgress","__decorateClass","property","state"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ import { default as ComboboxBaseElement } from '../combobox/comboboxBase';
|
|
|
21
21
|
* @property {string} description - The description of the search.
|
|
22
22
|
* @property {string} tooltip - The tooltip of the search.
|
|
23
23
|
* @property {'xs' | 'sm' | 'lg'} size - The size of the search.
|
|
24
|
-
* @property {'none' | 'typehead' | 'autocomplete' | 'manual'} searchMode - The search mode of the
|
|
24
|
+
* @property {'none' | 'typehead' | 'autocomplete' | 'manual'} searchMode - The search mode of the search. `none` (default) is a free-text search without a suggestion list; `autocomplete` shows suggestions filtered by their starting text as you type; `manual` shows the suggestions you supply on `dds-input` without filtering them. `typehead` is deprecated for the search: it is meant for the select, and the list does not open in this mode.
|
|
25
25
|
* @property {boolean} disabled - Whether the search is disabled.
|
|
26
26
|
* @property {boolean} required - Whether the search is required.
|
|
27
27
|
* @property {boolean} readonly - Whether the search is readonly.
|
|
@@ -80,6 +80,11 @@ import { default as ComboboxBaseElement } from '../combobox/comboboxBase';
|
|
|
80
80
|
* @csspart tooltip - The tooltip of the search.
|
|
81
81
|
* @csspart option-list - The option list of the search.
|
|
82
82
|
* @csspart input - The input of the search.
|
|
83
|
+
* @csspart chips - The container of the selected chips.
|
|
84
|
+
* @csspart indicator-icon - The dropdown indicator icon.
|
|
85
|
+
* @csspart label-base - The base of the label.
|
|
86
|
+
* @csspart label-required - The required indicator of the label.
|
|
87
|
+
* @csspart label-optional - The optional indicator of the label.
|
|
83
88
|
*
|
|
84
89
|
* @slot - The default slot for the options.
|
|
85
90
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.component.js","sources":["../../../src/components/search/search.component.ts"],"sourcesContent":["import ComboboxBaseElement from '../combobox/comboboxBase'\n\n/**\n * `dap-ds-search`\n * @summary A select is a form element that allows the user to select one option from a set.\n * @element dap-ds-search\n * @title - Search\n *\n * @event dds-change - Fired when the search value changes.\n * @event dds-blur - Emitted when the search loses focus.\n * @event dds-focus - Emitted when the search gains focus.\n * @event dds-clear - Emitted when the search is cleared.\n * @event dds-search - Emitted when the search input value changes.\n * @event dds-input - Emitted when typing happens in the search input.\n *\n * @property {string} value - The value of the search.\n * @property {string} placeholder - The placeholder of the search.\n * @property { 'top' | 'top-start' | 'top-end' | 'right' | 'right-start'| 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'} placement - The placement of the select dropdown. Default is 'bottom-start'.\n * @property {boolean} opened - Whether the search dropdown is opened.\n * @property {boolean} sync - The sync mode of the search dropdown. How the dropdown item size is synced to the trigger element'.\n * @property {string} label - The label of the search.\n * @property {string} description - The description of the search.\n * @property {string} tooltip - The tooltip of the search.\n * @property {'xs' | 'sm' | 'lg'} size - The size of the search.\n * @property {'none' | 'typehead' | 'autocomplete' | 'manual'} searchMode - The search mode of the
|
|
1
|
+
{"version":3,"file":"search.component.js","sources":["../../../src/components/search/search.component.ts"],"sourcesContent":["import ComboboxBaseElement from '../combobox/comboboxBase'\n\n/**\n * `dap-ds-search`\n * @summary A select is a form element that allows the user to select one option from a set.\n * @element dap-ds-search\n * @title - Search\n *\n * @event dds-change - Fired when the search value changes.\n * @event dds-blur - Emitted when the search loses focus.\n * @event dds-focus - Emitted when the search gains focus.\n * @event dds-clear - Emitted when the search is cleared.\n * @event dds-search - Emitted when the search input value changes.\n * @event dds-input - Emitted when typing happens in the search input.\n *\n * @property {string} value - The value of the search.\n * @property {string} placeholder - The placeholder of the search.\n * @property { 'top' | 'top-start' | 'top-end' | 'right' | 'right-start'| 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'} placement - The placement of the select dropdown. Default is 'bottom-start'.\n * @property {boolean} opened - Whether the search dropdown is opened.\n * @property {boolean} sync - The sync mode of the search dropdown. How the dropdown item size is synced to the trigger element'.\n * @property {string} label - The label of the search.\n * @property {string} description - The description of the search.\n * @property {string} tooltip - The tooltip of the search.\n * @property {'xs' | 'sm' | 'lg'} size - The size of the search.\n * @property {'none' | 'typehead' | 'autocomplete' | 'manual'} searchMode - The search mode of the search. `none` (default) is a free-text search without a suggestion list; `autocomplete` shows suggestions filtered by their starting text as you type; `manual` shows the suggestions you supply on `dds-input` without filtering them. `typehead` is deprecated for the search: it is meant for the select, and the list does not open in this mode.\n * @property {boolean} disabled - Whether the search is disabled.\n * @property {boolean} required - Whether the search is required.\n * @property {boolean} readonly - Whether the search is readonly.\n * @property {boolean} autofocus - Whether the search is autofocus.\n * @property {string} clearButton - Whether the search is clearable. Default is 'true'.\n * @property {string} feedback - The feedback content of the search.\n * @property {'negative' | 'positive' | 'warning' | 'info'} feedbackType - The feedback type of the search.\n * @property {boolean} allowManualInput - Whether the search allows manual input, or free text.\n * @property {boolean} searchForText - Whether the search should search for the selected item text.\n * @property {boolean} textComplete - Whether the search should not complete the text.\n * @property {string} searchButtonAriaLabel - The aria label of the search button.\n * @property {boolean} disableSearchWhenEmpty - When true, the search button is automatically disabled while the input is empty and re-enabled once the user types. Default is false.\n * @property {boolean} openOnEmpty - Whether the search should open on empty results.\n * @property {string} selectable - Show the selected item check mark in the dropdown. Default is 'false'.\n * @property {boolean} noAnimation - Whether the search open indicator should be animated. Default is true.\n * @property {boolean} subtle - Subtle color version\n *\n * @cssproperty --dds-combobox-background - The background color of the combobox. (default: var(--dds-fields-background-default))\n * @cssproperty --dds-combobox-border-color - The border color of the combobox. (default: var(--dds-border-neutral-base))\n * @cssproperty --dds-combobox-border-width - The border width of the combobox. (default: var(--dds-border-width-base, 1px))\n * @cssproperty --dds-combobox-border-radius - The border radius of the combobox. (default: var(--dds-radius-base))\n * @cssproperty --dds-combobox-text-color - The text color of the combobox. (default: var(--dds-text-neutral-base))\n * @cssproperty --dds-combobox-placeholder-color - The placeholder text color. (default: var(--dds-text-neutral-subtle))\n * @cssproperty --dds-combobox-disabled-background - The background color when disabled. (default: var(--dds-background-neutral-stronger))\n * @cssproperty --dds-combobox-disabled-text - The text color when disabled. (default: var(--dds-text-neutral-disabled))\n * @cssproperty --dds-combobox-error-border - The border color for error state. (default: var(--dds-border-negative-base))\n * @cssproperty --dds-combobox-success-border - The border color for success state. (default: var(--dds-border-positive-base))\n * @cssproperty --dds-combobox-icon-color - The color of the icons. (default: var(--dds-text-icon-neutral-subtle))\n * @cssproperty --dds-combobox-loading-spinner-color - The color of the loading spinner. (default: var(--dds-icon-neutral-base))\n * @cssproperty --dds-combobox-clear-icon-color - The color of the clear icon. (default: var(--dds-button-subtle-icon-neutral-enabled))\n * @cssproperty --dds-combobox-popup-background - The background color of the popup. (default: var(--dds-background-neutral-subtle))\n * @cssproperty --dds-combobox-popup-shadow - The box shadow of the popup. (default: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.06))\n * @cssproperty --dds-combobox-icon-opened-transform - The transform of the icon when the combobox is opened (default: rotate(90deg)).\n * @cssproperty --dds-combobox-padding-xs - The padding for extra small size. (default: var(--dds-spacing-200))\n * @cssproperty --dds-combobox-padding-sm - The padding for small size. (default: var(--dds-spacing-200))\n * @cssproperty --dds-combobox-padding-lg - The padding for large size. (default: var(--dds-spacing-300))\n * @cssproperty --dds-combobox-padding-horizontal - The horizontal padding. (default: var(--dds-spacing-300))\n * @cssproperty --dds-combobox-padding-vertical - The vertical padding. (default: var(--dds-spacing-200))\n * @cssproperty --dds-combobox-gap - The gap between elements. (default: var(--dds-spacing-100))\n * @cssproperty --dds-combobox-icon-gap - The gap between icons. (default: var(--dds-spacing-200))\n * @cssproperty --dds-combobox-action-gap - The gap between action elements. (default: var(--dds-spacing-200))\n * @cssproperty --dds-combobox-action-padding - The padding for action elements. (default: var(--dds-spacing-300))\n * @cssproperty --dds-combobox-clear-icon-width - The width of the clear icon. (default: var(--dds-spacing-800))\n * @cssproperty --dds-combobox-dropdown-icon-right - The right position of the dropdown icon. (default: var(--dds-spacing-600))\n * @cssproperty --dds-combobox-min-width - The minimum width of the combobox. (default: 7.5rem)\n * @cssproperty --dds-combobox-chips-gap - The gap between chips. (default: var(--dds-spacing-100))\n * @cssproperty --dds-combobox-chips-padding - The padding for chips. (default: var(--dds-spacing-100))\n * @cssproperty --dds-combobox-chips-max-height - The maximum height of the chips. (default: 120px)\n *\n * @csspart base - The main search container.\n * @csspart trigger - The trigger button of the search.\n * @csspart search-button - The trailing search icon button.\n * @csspart label - The label of the search.\n * @csspart description - The description of the search.\n * @csspart feedback - The feedback of the search.\n * @csspart tooltip - The tooltip of the search.\n * @csspart option-list - The option list of the search.\n * @csspart input - The input of the search.\n * @csspart chips - The container of the selected chips.\n * @csspart indicator-icon - The dropdown indicator icon.\n * @csspart label-base - The base of the label.\n * @csspart label-required - The required indicator of the label.\n * @csspart label-optional - The optional indicator of the label.\n *\n * @slot - The default slot for the options.\n *\n */\nexport default class DapDSSearch extends ComboboxBaseElement {\n static tagName = 'dap-ds-search'\n\n constructor() {\n super()\n this.selectable = 'false'\n this.search = true\n this.noAnimation = true\n this.searchOnValueSet = 'false'\n this.searchMode = 'none'\n this.textComplete = false\n }\n\n render() {\n return this.renderCombobox()\n }\n}\n"],"names":["_DapDSSearch","ComboboxBaseElement","DapDSSearch"],"mappings":";AA4FA,MAAqBA,IAArB,MAAqBA,UAAoBC,EAAoB;AAAA,EAG3D,cAAc;AACN,UAAA,GACN,KAAK,aAAa,SAClB,KAAK,SAAS,IACd,KAAK,cAAc,IACnB,KAAK,mBAAmB,SACxB,KAAK,aAAa,QAClB,KAAK,eAAe;AAAA,EAAA;AAAA,EAGtB,SAAS;AACP,WAAO,KAAK,eAAe;AAAA,EAAA;AAE/B;AAfED,EAAO,UAAU;AADnB,IAAqBE,IAArBF;"}
|
|
@@ -7,6 +7,7 @@ import { default as DapDSIconButton } from '../icon-button/icon-button.component
|
|
|
7
7
|
import { default as ArrowsArrowDownSLine } from '../icons/arrows/arrows-arrow-down-s-line/arrows-arrow-down-s-line.component';
|
|
8
8
|
import { default as SystemLoadingSpinner } from '../icons/system/system-loading-spinner/system-loading-spinner.component';
|
|
9
9
|
import { default as DapDSOptionItem } from '../option-item/option-item.component';
|
|
10
|
+
import { DapDSOptionData, DapDSOptionRenderer } from '../option-list/option-data';
|
|
10
11
|
import { default as DapDSOptionList } from '../option-list/option-list.component';
|
|
11
12
|
import { default as DapDSPopup } from '../popup/popup.component';
|
|
12
13
|
import { default as DapDSTooltip } from '../tooltip/tooltip.component';
|
|
@@ -62,6 +63,11 @@ import { default as DapDSTypography } from '../typography/typography.component';
|
|
|
62
63
|
* @csspart mobile-body - The mobile body of the select.
|
|
63
64
|
* @csspart mobile-header - The mobile header of the select.
|
|
64
65
|
* @csspart mobile-footer - The mobile footer of the select.
|
|
66
|
+
* @csspart native-button - The button of the customizable native select (experimental `customizable` mode).
|
|
67
|
+
* @csspart native-option - The options of the customizable native select (experimental `customizable` mode).
|
|
68
|
+
* @csspart label-base - The base of the label.
|
|
69
|
+
* @csspart label-required - The required indicator of the label.
|
|
70
|
+
* @csspart label-optional - The optional indicator of the label.
|
|
65
71
|
*
|
|
66
72
|
* @cssproperty --dds-select-min-height - Minimum height of the select component (default: var(--dds-spacing-1000))
|
|
67
73
|
* @cssproperty --dds-select-padding - Padding of the select component (default: var(--dds-spacing-300))
|
|
@@ -88,6 +94,7 @@ import { default as DapDSTypography } from '../typography/typography.component';
|
|
|
88
94
|
* @cssproperty --dds-select-lg-icon-color - Color of the icon for large size (default: var(--dds-text-icon-neutral-subtle))
|
|
89
95
|
* @cssproperty --dds-select-popup-bg-color - Background color of the popup (default: var(--dds-background-neutral-subtle))
|
|
90
96
|
* @cssproperty --dds-select-icon-opened-transform - Transform of the icon when the select is opened (default: rotate(90deg))
|
|
97
|
+
* @cssproperty --dds-select-picker-max-height - Max height of the customizable select picker (default: 20rem)
|
|
91
98
|
*
|
|
92
99
|
* @slot - The option list of the select.
|
|
93
100
|
* @slot indicator-icon - The indicator icon of the select.
|
|
@@ -129,6 +136,13 @@ export default class DapDSSelect extends GenericFormElement {
|
|
|
129
136
|
isMobile?: boolean;
|
|
130
137
|
/** Whether to render a native HTML select element for mobile-friendly option selection. */
|
|
131
138
|
native?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Experimental: render a native `<select>` that opts into the customizable select
|
|
141
|
+
* (`appearance: base-select`) in supporting browsers, so the dropdown picker is styled
|
|
142
|
+
* like the design system while keeping native keyboard, typeahead and top-layer behavior.
|
|
143
|
+
* Browsers without support fall back to the classic native select (same as `native`).
|
|
144
|
+
*/
|
|
145
|
+
customizable?: boolean;
|
|
132
146
|
/** The loading state of the select. */
|
|
133
147
|
loading?: boolean;
|
|
134
148
|
/** The max heigth of the select dropdown. */
|
|
@@ -141,14 +155,40 @@ export default class DapDSSelect extends GenericFormElement {
|
|
|
141
155
|
floatingStrategy: FloatingStrategy;
|
|
142
156
|
/** Whether to keep popup open when trigger leaves viewport. */
|
|
143
157
|
disableViewportAutoClose: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* The options as data, instead of `dap-ds-option-item` children. When set, child options are ignored. Also accepted as a JSON attribute.
|
|
160
|
+
* @type {DapDSOptionData[]}
|
|
161
|
+
*/
|
|
162
|
+
get items(): DapDSOptionData[] | undefined;
|
|
163
|
+
set items(value: DapDSOptionData[] | string | undefined);
|
|
164
|
+
private _items?;
|
|
165
|
+
/**
|
|
166
|
+
* Renders the content of each option given in `items` in the dropdown list. Defaults to the item's `label`. The native and customizable modes show the label.
|
|
167
|
+
* @type {DapDSOptionRenderer}
|
|
168
|
+
*/
|
|
169
|
+
renderOption?: DapDSOptionRenderer;
|
|
144
170
|
/**
|
|
145
171
|
* @ignore
|
|
146
172
|
*/
|
|
147
173
|
selectedItem: any;
|
|
148
174
|
static readonly styles: import('lit').CSSResult;
|
|
175
|
+
/** Feature detection result, resolved once per connection so renders stay consistent */
|
|
176
|
+
private baseSelectSupported;
|
|
149
177
|
private languageChangeHandler;
|
|
150
178
|
connectedCallback(): void;
|
|
151
179
|
disconnectedCallback(): void;
|
|
180
|
+
/** The select's options, in the order (and so with the index) the list uses. */
|
|
181
|
+
private getOptions;
|
|
182
|
+
/** The selected item for `value`, shaped like the list's option-change detail. */
|
|
183
|
+
private findSelectedItem;
|
|
184
|
+
/**
|
|
185
|
+
* Derive `selectedItem` from `value` and the options, so the trigger text
|
|
186
|
+
* and validity never depend on the list echoing the value back. An unknown
|
|
187
|
+
* value leaves it alone; the list answers that one (revert).
|
|
188
|
+
*/
|
|
189
|
+
private syncSelectedItem;
|
|
190
|
+
private readonly handleSlotChange;
|
|
191
|
+
willUpdate(changedProperties: Map<string, unknown>): void;
|
|
152
192
|
/**
|
|
153
193
|
* Lifecycle method to handle property changes
|
|
154
194
|
*/
|
|
@@ -186,9 +226,16 @@ export default class DapDSSelect extends GenericFormElement {
|
|
|
186
226
|
private readonly handleSelectedChange;
|
|
187
227
|
private readonly handleOptionDeselect;
|
|
188
228
|
private readonly handleNativeChange;
|
|
229
|
+
/** Clone the option item's slotted prefix/suffix content for the customizable picker */
|
|
230
|
+
private cloneSlotContent;
|
|
231
|
+
/** The option label without the text of slotted prefix/suffix content */
|
|
232
|
+
private getOptionLabel;
|
|
233
|
+
private renderBaseSelectOption;
|
|
189
234
|
private renderNativeOption;
|
|
190
235
|
private renderNativeOptgroup;
|
|
191
236
|
private renderNativeOptions;
|
|
237
|
+
/** True when the customizable select is requested and supported by the browser */
|
|
238
|
+
private get useBaseSelect();
|
|
192
239
|
private renderNativeSelect;
|
|
193
240
|
renderTriggerElement(): import('lit-html').TemplateResult;
|
|
194
241
|
renderOptionList(): import('lit-html').TemplateResult;
|