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,14 +1,14 @@
|
|
|
1
|
-
import { property as a } from "
|
|
2
|
-
import { setFromParentSize as
|
|
3
|
-
import { parseResponsiveSizeMap as
|
|
4
|
-
var
|
|
5
|
-
for (var t = void 0, s =
|
|
6
|
-
(
|
|
7
|
-
return t &&
|
|
1
|
+
import { property as a } from "lit/decorators.js";
|
|
2
|
+
import { setFromParentSize as c } from "../../common/utils.js";
|
|
3
|
+
import { parseResponsiveSizeMap as p, getResponsiveSize as h, subscribeToBreakpoints as l } from "../../common/viewport.js";
|
|
4
|
+
var z = Object.defineProperty, u = (n, i, o, e) => {
|
|
5
|
+
for (var t = void 0, s = n.length - 1, r; s >= 0; s--)
|
|
6
|
+
(r = n[s]) && (t = r(i, o, t) || t);
|
|
7
|
+
return t && z(i, o, t), t;
|
|
8
8
|
};
|
|
9
|
-
const
|
|
10
|
-
function f(
|
|
11
|
-
class i extends
|
|
9
|
+
const d = ["xs", "sm", "md", "lg", "xl", "2xl"];
|
|
10
|
+
function f(n) {
|
|
11
|
+
class i extends n {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments), this.sizeMap = "", this.size = "sm", this.parentSized = "false", this.spacing = "none", this._unsubscribeBreakpoints = null, this._parentSizeObserver = null, this._requestedSize = null, this._internalSizeUpdate = !1;
|
|
14
14
|
}
|
|
@@ -18,16 +18,16 @@ function f(r) {
|
|
|
18
18
|
return this.sizeMap || e.getAttribute("sizemap") || e.getAttribute("size-map") || "";
|
|
19
19
|
}
|
|
20
20
|
get effectiveSize() {
|
|
21
|
-
const e = this._getBaseSize(), t =
|
|
22
|
-
return t ?
|
|
21
|
+
const e = this._getBaseSize(), t = p(this._getSizeMapValue());
|
|
22
|
+
return t ? h(e, t) : e;
|
|
23
23
|
}
|
|
24
24
|
_getBaseSize() {
|
|
25
25
|
var t;
|
|
26
26
|
if (this.parentSized === "true") {
|
|
27
|
-
const s = (t =
|
|
28
|
-
return
|
|
27
|
+
const s = this, r = typeof s.closest == "function" ? (t = s.closest("dap-ds-card")) == null ? void 0 : t.getAttribute("size") : null;
|
|
28
|
+
return r != null ? r : "sm";
|
|
29
29
|
}
|
|
30
|
-
return
|
|
30
|
+
return p(this._getSizeMapValue()) && this._requestedSize != null ? this._requestedSize : this.size;
|
|
31
31
|
}
|
|
32
32
|
connectedCallback() {
|
|
33
33
|
var e;
|
|
@@ -38,10 +38,12 @@ function f(r) {
|
|
|
38
38
|
}
|
|
39
39
|
_observeParentCardSize() {
|
|
40
40
|
if (this.parentSized !== "true") return;
|
|
41
|
-
const e = this
|
|
42
|
-
|
|
41
|
+
const e = this;
|
|
42
|
+
if (typeof e.closest != "function") return;
|
|
43
|
+
const t = e.closest("dap-ds-card");
|
|
44
|
+
t && (this._clearParentCardSizeObserver(), this._parentSizeObserver = new MutationObserver(() => {
|
|
43
45
|
this.isConnected && this.requestUpdate();
|
|
44
|
-
}), this._parentSizeObserver.observe(
|
|
46
|
+
}), this._parentSizeObserver.observe(t, {
|
|
45
47
|
attributes: !0,
|
|
46
48
|
attributeFilter: ["size"]
|
|
47
49
|
}));
|
|
@@ -51,12 +53,12 @@ function f(r) {
|
|
|
51
53
|
(e = this._parentSizeObserver) == null || e.disconnect(), this._parentSizeObserver = null;
|
|
52
54
|
}
|
|
53
55
|
_updateBreakpointSubscription() {
|
|
54
|
-
if (!
|
|
56
|
+
if (!p(this._getSizeMapValue())) {
|
|
55
57
|
this._clearBreakpointSubscription();
|
|
56
58
|
return;
|
|
57
59
|
}
|
|
58
|
-
this._clearBreakpointSubscription(), this._unsubscribeBreakpoints =
|
|
59
|
-
|
|
60
|
+
this._clearBreakpointSubscription(), this._unsubscribeBreakpoints = l(
|
|
61
|
+
d,
|
|
60
62
|
() => {
|
|
61
63
|
this.isConnected && this.requestUpdate();
|
|
62
64
|
}
|
|
@@ -68,17 +70,17 @@ function f(r) {
|
|
|
68
70
|
}
|
|
69
71
|
update(e) {
|
|
70
72
|
e.has("sizeMap") && this._updateBreakpointSubscription(), e.has("parentSized") && (this.parentSized === "true" ? this._observeParentCardSize() : this._clearParentCardSizeObserver());
|
|
71
|
-
const t =
|
|
72
|
-
t && this._requestedSize == null && (this._requestedSize = this.size), t && !this._unsubscribeBreakpoints && this._updateBreakpointSubscription(), e.has("size") && !this._internalSizeUpdate && (this._requestedSize = this.size), this._internalSizeUpdate && (this._internalSizeUpdate = !1), this.parentSized === "true" &&
|
|
73
|
+
const t = p(this._getSizeMapValue());
|
|
74
|
+
t && this._requestedSize == null && (this._requestedSize = this.size), t && !this._unsubscribeBreakpoints && this._updateBreakpointSubscription(), e.has("size") && !this._internalSizeUpdate && (this._requestedSize = this.size), this._internalSizeUpdate && (this._internalSizeUpdate = !1), this.parentSized === "true" && c(this), this._internalSizeUpdate = !0, this.setAttribute("size", this.effectiveSize), super.update(e);
|
|
73
75
|
}
|
|
74
76
|
}
|
|
75
|
-
return
|
|
77
|
+
return u([
|
|
76
78
|
a()
|
|
77
|
-
], i.prototype, "sizeMap"),
|
|
79
|
+
], i.prototype, "sizeMap"), u([
|
|
78
80
|
a()
|
|
79
|
-
], i.prototype, "size"),
|
|
81
|
+
], i.prototype, "size"), u([
|
|
80
82
|
a()
|
|
81
|
-
], i.prototype, "parentSized"),
|
|
83
|
+
], i.prototype, "parentSized"), u([
|
|
82
84
|
a()
|
|
83
85
|
], i.prototype, "spacing"), i;
|
|
84
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sizedMixin.js","sources":["../../../src/internal/mixin/sizedMixin.ts"],"sourcesContent":["import { LitElement, PropertyValues } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { ElementSpacing, Size } from '@/common/types'\nimport { setFromParentSize } from '@/common/utils'\nimport {\n type BreakpointName,\n getResponsiveSize,\n parseResponsiveSizeMap,\n subscribeToBreakpoints,\n} from '@/common/viewport'\n\n/** All breakpoints; we subscribe to all so effective size updates whenever viewport crosses any breakpoint. */\nconst ALL_BREAKPOINTS: BreakpointName[] = ['xs', 'sm', 'md', 'lg', 'xl', '2xl']\n\ntype Constructor<T = Record<string, unknown>> = {\n new (...args: any[]): T\n prototype: T\n}\n\nexport interface SizedElementInterface {\n size: Size\n parentSized: string\n spacing: ElementSpacing\n /** Breakpoint→size map; e.g. \"md:lg\" = at md and narrower use size lg. Keys: xs, sm, md, lg, xl, 2xl. Values: xxs, xs, sm, md, lg. */\n sizeMap: string\n /** The size used for rendering; viewport-adjusted when sizeMap applies, otherwise the requested size. */\n readonly effectiveSize: Size\n}\n\nexport function SizedMixin<T extends Constructor<LitElement>>(\n constructor: T,\n): T & Constructor<SizedElementInterface> {\n class SizedElement extends constructor {\n /** Breakpoint→size map; e.g. \"md:lg\" applies at md and all narrower breakpoints. Keys: xs, sm, md, lg, xl, 2xl. */\n @property() sizeMap = ''\n\n @property() size: Size = 'sm'\n @property() parentSized = 'false'\n @property() spacing: ElementSpacing = 'none'\n\n private _unsubscribeBreakpoints: (() => void) | null = null\n\n /** When parentSized is true, observes the parent card's size attribute so children re-render when it changes. */\n private _parentSizeObserver: MutationObserver | null = null\n\n /** User-requested base size; preserved because we overwrite the size attribute with effectiveSize for styling. */\n private _requestedSize: Size | null = null\n\n /** When true, the next size property change came from our setAttribute (do not store as _requestedSize). */\n private _internalSizeUpdate = false\n\n /** Resolve sizeMap from property or attribute so it works before Lit has reflected the attribute. */\n private _getSizeMapValue(): string {\n const el = this as unknown as HTMLElement\n return (\n this.sizeMap ||\n el.getAttribute('sizemap') ||\n el.getAttribute('size-map') ||\n ''\n )\n }\n\n get effectiveSize(): Size {\n const baseSize = this._getBaseSize()\n const map = parseResponsiveSizeMap(this._getSizeMapValue())\n if (!map) return baseSize\n return getResponsiveSize(baseSize, map)\n }\n\n private _getBaseSize(): Size {\n if (this.parentSized === 'true') {\n const
|
|
1
|
+
{"version":3,"file":"sizedMixin.js","sources":["../../../src/internal/mixin/sizedMixin.ts"],"sourcesContent":["import { LitElement, PropertyValues } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport { ElementSpacing, Size } from '@/common/types'\nimport { setFromParentSize } from '@/common/utils'\nimport {\n type BreakpointName,\n getResponsiveSize,\n parseResponsiveSizeMap,\n subscribeToBreakpoints,\n} from '@/common/viewport'\n\n/** All breakpoints; we subscribe to all so effective size updates whenever viewport crosses any breakpoint. */\nconst ALL_BREAKPOINTS: BreakpointName[] = ['xs', 'sm', 'md', 'lg', 'xl', '2xl']\n\ntype Constructor<T = Record<string, unknown>> = {\n new (...args: any[]): T\n prototype: T\n}\n\nexport interface SizedElementInterface {\n size: Size\n parentSized: string\n spacing: ElementSpacing\n /** Breakpoint→size map; e.g. \"md:lg\" = at md and narrower use size lg. Keys: xs, sm, md, lg, xl, 2xl. Values: xxs, xs, sm, md, lg. */\n sizeMap: string\n /** The size used for rendering; viewport-adjusted when sizeMap applies, otherwise the requested size. */\n readonly effectiveSize: Size\n}\n\nexport function SizedMixin<T extends Constructor<LitElement>>(\n constructor: T,\n): T & Constructor<SizedElementInterface> {\n class SizedElement extends constructor {\n /** Breakpoint→size map; e.g. \"md:lg\" applies at md and all narrower breakpoints. Keys: xs, sm, md, lg, xl, 2xl. */\n @property() sizeMap = ''\n\n @property() size: Size = 'sm'\n @property() parentSized = 'false'\n @property() spacing: ElementSpacing = 'none'\n\n private _unsubscribeBreakpoints: (() => void) | null = null\n\n /** When parentSized is true, observes the parent card's size attribute so children re-render when it changes. */\n private _parentSizeObserver: MutationObserver | null = null\n\n /** User-requested base size; preserved because we overwrite the size attribute with effectiveSize for styling. */\n private _requestedSize: Size | null = null\n\n /** When true, the next size property change came from our setAttribute (do not store as _requestedSize). */\n private _internalSizeUpdate = false\n\n /** Resolve sizeMap from property or attribute so it works before Lit has reflected the attribute. */\n private _getSizeMapValue(): string {\n const el = this as unknown as HTMLElement\n return (\n this.sizeMap ||\n el.getAttribute('sizemap') ||\n el.getAttribute('size-map') ||\n ''\n )\n }\n\n get effectiveSize(): Size {\n const baseSize = this._getBaseSize()\n const map = parseResponsiveSizeMap(this._getSizeMapValue())\n if (!map) return baseSize\n return getResponsiveSize(baseSize, map)\n }\n\n private _getBaseSize(): Size {\n if (this.parentSized === 'true') {\n const element = this as unknown as HTMLElement\n // `closest` is unavailable in the Lit SSR DOM shim; fall back to the\n // default size on the server (resolved on the client after hydration).\n const parentSize =\n typeof element.closest === 'function'\n ? (element\n .closest('dap-ds-card')\n ?.getAttribute('size') as Size | null)\n : null\n return parentSize ?? 'sm'\n }\n const map = parseResponsiveSizeMap(this._getSizeMapValue())\n if (map && this._requestedSize != null) return this._requestedSize\n return this.size\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this._requestedSize =\n (this.getAttribute('size') as Size | null) ?? this.size\n this._updateBreakpointSubscription()\n this._observeParentCardSize()\n }\n\n override disconnectedCallback(): void {\n this._clearBreakpointSubscription()\n this._clearParentCardSizeObserver()\n super.disconnectedCallback()\n }\n\n private _observeParentCardSize(): void {\n if (this.parentSized !== 'true') return\n const element = this as unknown as HTMLElement\n // Observing a parent card is a client-only concern; `closest` and\n // MutationObserver are unavailable in the Lit SSR DOM shim.\n if (typeof element.closest !== 'function') return\n const card = element.closest('dap-ds-card')\n if (!card) return\n this._clearParentCardSizeObserver()\n this._parentSizeObserver = new MutationObserver(() => {\n if (this.isConnected) this.requestUpdate()\n })\n this._parentSizeObserver.observe(card, {\n attributes: true,\n attributeFilter: ['size'],\n })\n }\n\n private _clearParentCardSizeObserver(): void {\n this._parentSizeObserver?.disconnect()\n this._parentSizeObserver = null\n }\n\n private _updateBreakpointSubscription(): void {\n const map = parseResponsiveSizeMap(this._getSizeMapValue())\n if (!map) {\n this._clearBreakpointSubscription()\n return\n }\n this._clearBreakpointSubscription()\n // Subscribe to all breakpoints so effective size updates whenever viewport\n // crosses any boundary; otherwise we only revert to base size when crossing\n // a breakpoint that was in the map (e.g. xs:md only at xs → must update when leaving xs).\n this._unsubscribeBreakpoints = subscribeToBreakpoints(\n ALL_BREAKPOINTS,\n () => {\n if (this.isConnected) this.requestUpdate()\n },\n )\n }\n\n private _clearBreakpointSubscription(): void {\n this._unsubscribeBreakpoints?.()\n this._unsubscribeBreakpoints = null\n }\n\n protected override update(changes: PropertyValues): void {\n if (changes.has('sizeMap')) {\n this._updateBreakpointSubscription()\n }\n if (changes.has('parentSized')) {\n if (this.parentSized === 'true') {\n this._observeParentCardSize()\n } else {\n this._clearParentCardSizeObserver()\n }\n }\n const map = parseResponsiveSizeMap(this._getSizeMapValue())\n if (map && this._requestedSize == null) this._requestedSize = this.size\n // Subscribe on first update when sizeMap came from attribute (no change event)\n if (map && !this._unsubscribeBreakpoints) {\n this._updateBreakpointSubscription()\n }\n if (changes.has('size') && !this._internalSizeUpdate) {\n this._requestedSize = this.size\n }\n if (this._internalSizeUpdate) this._internalSizeUpdate = false\n if (this.parentSized === 'true') {\n setFromParentSize(this as unknown as HTMLElement)\n }\n this._internalSizeUpdate = true\n this.setAttribute('size', this.effectiveSize)\n super.update(changes)\n }\n }\n return SizedElement as Constructor<SizedElementInterface> & T\n}\n"],"names":["ALL_BREAKPOINTS","SizedMixin","constructor","SizedElement","el","baseSize","map","parseResponsiveSizeMap","getResponsiveSize","element","parentSize","_a","card","subscribeToBreakpoints","changes","setFromParentSize","__decorateClass","property"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { nothing } from 'lit';
|
|
2
|
+
export interface FormLabelTemplateOptions {
|
|
3
|
+
label?: string;
|
|
4
|
+
size?: string;
|
|
5
|
+
required?: boolean;
|
|
6
|
+
requiredLabel?: string;
|
|
7
|
+
optional?: boolean;
|
|
8
|
+
optionalLabel?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
subtle?: boolean;
|
|
11
|
+
hideLabel?: boolean;
|
|
12
|
+
noMargin?: boolean;
|
|
13
|
+
/** id of the control this label names (rendered as the native `for`). */
|
|
14
|
+
htmlFor?: string;
|
|
15
|
+
/** id of the label element itself (for `aria-labelledby` references). */
|
|
16
|
+
id?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Element to render. `'label'` (default) for a real form label with a `for`
|
|
19
|
+
* association. `'span'` for controls that already wrap their input in an outer
|
|
20
|
+
* `<label>` (checkbox/switch) — nesting a second `<label>` would be invalid HTML,
|
|
21
|
+
* so the visual label is a decorative span instead.
|
|
22
|
+
*/
|
|
23
|
+
as?: 'label' | 'span';
|
|
24
|
+
/** Hide from the accessibility tree (used when the name comes from elsewhere). */
|
|
25
|
+
ariaHidden?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Renders the form-label markup directly so it lives in the SAME shadow tree as the
|
|
29
|
+
* control it names.
|
|
30
|
+
*
|
|
31
|
+
* A nested `<dap-ds-form-label>` custom element puts the `<label for>` in its own
|
|
32
|
+
* shadow root, a different tree from the control's `<input id>` — which breaks both
|
|
33
|
+
* `for`/`id` click-to-focus (never crosses shadow boundaries in any browser) and
|
|
34
|
+
* the accessible name in non-Chromium browsers. It also styles inconsistently under
|
|
35
|
+
* SSR because `@lit-labs/ssr` forces the light-DOM component into a shadow root.
|
|
36
|
+
*
|
|
37
|
+
* Rendering the label inline keeps it in-tree (a11y correct) and makes it normal
|
|
38
|
+
* shadow content styled by the host's stylesheet (via the `form-label.mixin`'s
|
|
39
|
+
* `embedded-label`). The consuming component must include those styles.
|
|
40
|
+
*/
|
|
41
|
+
export declare function formLabelTemplate(o: FormLabelTemplateOptions): typeof nothing | import('lit-html').TemplateResult<1>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { clsx as t } from "../../node_modules/clsx/dist/clsx.js";
|
|
2
|
+
import { nothing as d, html as l } from "lit";
|
|
3
|
+
import { ifDefined as e } from "lit/directives/if-defined.js";
|
|
4
|
+
function $(a) {
|
|
5
|
+
var n;
|
|
6
|
+
if (!a.label)
|
|
7
|
+
return d;
|
|
8
|
+
const i = t("dds-label", `dds-label--${(n = a.size) != null ? n : "sm"}`, {
|
|
9
|
+
"dds-label--disabled": a.disabled,
|
|
10
|
+
"dds-label--required": a.required,
|
|
11
|
+
"dds-label--optional": a.optional,
|
|
12
|
+
"dds-label--subtle": a.subtle,
|
|
13
|
+
"dds-label--no-margin": a.noMargin,
|
|
14
|
+
"dds-label--hidden": a.hideLabel
|
|
15
|
+
}), r = a.ariaHidden ? "true" : void 0, s = l`${a.label}
|
|
16
|
+
${a.required ? l`<span
|
|
17
|
+
part="label-required"
|
|
18
|
+
aria-hidden="true"
|
|
19
|
+
class="dds-label__required-indicator"
|
|
20
|
+
>${a.requiredLabel}</span
|
|
21
|
+
>` : d}
|
|
22
|
+
${a.optional ? l`<span
|
|
23
|
+
part="label-optional"
|
|
24
|
+
class=${t("dds-label__optional-indicator", {
|
|
25
|
+
[`dds-label__optional-indicator--${a.size}`]: a.size
|
|
26
|
+
})}
|
|
27
|
+
>${a.optionalLabel}</span
|
|
28
|
+
>` : d}`;
|
|
29
|
+
return a.as === "span" ? l`<span
|
|
30
|
+
part="label label-base"
|
|
31
|
+
id=${e(a.id)}
|
|
32
|
+
class=${i}
|
|
33
|
+
aria-hidden=${e(r)}
|
|
34
|
+
>${s}</span
|
|
35
|
+
>` : l`<label
|
|
36
|
+
part="label label-base"
|
|
37
|
+
id=${e(a.id)}
|
|
38
|
+
class=${i}
|
|
39
|
+
for=${e(a.htmlFor)}
|
|
40
|
+
aria-hidden=${e(r)}
|
|
41
|
+
>${s}</label
|
|
42
|
+
>`;
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
$ as formLabelTemplate
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=formLabel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formLabel.js","sources":["../../../src/internal/templates/formLabel.ts"],"sourcesContent":["import clsx from 'clsx'\nimport { html, nothing } from 'lit'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nexport interface FormLabelTemplateOptions {\n label?: string\n size?: string\n required?: boolean\n requiredLabel?: string\n optional?: boolean\n optionalLabel?: string\n disabled?: boolean\n subtle?: boolean\n hideLabel?: boolean\n noMargin?: boolean\n /** id of the control this label names (rendered as the native `for`). */\n htmlFor?: string\n /** id of the label element itself (for `aria-labelledby` references). */\n id?: string\n /**\n * Element to render. `'label'` (default) for a real form label with a `for`\n * association. `'span'` for controls that already wrap their input in an outer\n * `<label>` (checkbox/switch) — nesting a second `<label>` would be invalid HTML,\n * so the visual label is a decorative span instead.\n */\n as?: 'label' | 'span'\n /** Hide from the accessibility tree (used when the name comes from elsewhere). */\n ariaHidden?: boolean\n}\n\n/**\n * Renders the form-label markup directly so it lives in the SAME shadow tree as the\n * control it names.\n *\n * A nested `<dap-ds-form-label>` custom element puts the `<label for>` in its own\n * shadow root, a different tree from the control's `<input id>` — which breaks both\n * `for`/`id` click-to-focus (never crosses shadow boundaries in any browser) and\n * the accessible name in non-Chromium browsers. It also styles inconsistently under\n * SSR because `@lit-labs/ssr` forces the light-DOM component into a shadow root.\n *\n * Rendering the label inline keeps it in-tree (a11y correct) and makes it normal\n * shadow content styled by the host's stylesheet (via the `form-label.mixin`'s\n * `embedded-label`). The consuming component must include those styles.\n */\nexport function formLabelTemplate(o: FormLabelTemplateOptions) {\n if (!o.label) {\n return nothing\n }\n\n const cls = clsx('dds-label', `dds-label--${o.size ?? 'sm'}`, {\n 'dds-label--disabled': o.disabled,\n 'dds-label--required': o.required,\n 'dds-label--optional': o.optional,\n 'dds-label--subtle': o.subtle,\n 'dds-label--no-margin': o.noMargin,\n 'dds-label--hidden': o.hideLabel,\n })\n\n const ariaHidden = o.ariaHidden ? 'true' : undefined\n\n const content = html`${o.label}\n ${o.required\n ? html`<span\n part=\"label-required\"\n aria-hidden=\"true\"\n class=\"dds-label__required-indicator\"\n >${o.requiredLabel}</span\n >`\n : nothing}\n ${o.optional\n ? html`<span\n part=\"label-optional\"\n class=${clsx('dds-label__optional-indicator', {\n [`dds-label__optional-indicator--${o.size}`]: o.size,\n })}\n >${o.optionalLabel}</span\n >`\n : nothing}`\n\n if (o.as === 'span') {\n return html`<span\n part=\"label label-base\"\n id=${ifDefined(o.id)}\n class=${cls}\n aria-hidden=${ifDefined(ariaHidden)}\n >${content}</span\n >`\n }\n\n return html`<label\n part=\"label label-base\"\n id=${ifDefined(o.id)}\n class=${cls}\n for=${ifDefined(o.htmlFor)}\n aria-hidden=${ifDefined(ariaHidden)}\n >${content}</label\n >`\n}\n"],"names":["formLabelTemplate","o","nothing","cls","clsx","_a","ariaHidden","content","html","ifDefined"],"mappings":";;;AA4CO,SAASA,EAAkBC,GAA6B;;AACzD,MAAA,CAACA,EAAE;AACE,WAAAC;AAGT,QAAMC,IAAMC,EAAK,aAAa,eAAcC,IAAAJ,EAAE,SAAF,OAAAI,IAAU,IAAI,IAAI;AAAA,IAC5D,uBAAuBJ,EAAE;AAAA,IACzB,uBAAuBA,EAAE;AAAA,IACzB,uBAAuBA,EAAE;AAAA,IACzB,qBAAqBA,EAAE;AAAA,IACvB,wBAAwBA,EAAE;AAAA,IAC1B,qBAAqBA,EAAE;AAAA,EAAA,CACxB,GAEKK,IAAaL,EAAE,aAAa,SAAS,QAErCM,IAAUC,IAAOP,EAAE,KAAK;AAAA,IAC5BA,EAAE,WACAO;AAAA;AAAA;AAAA;AAAA,WAIKP,EAAE,aAAa;AAAA,WAEpBC,CAAO;AAAA,IACTD,EAAE,WACAO;AAAA;AAAA,gBAEUJ,EAAK,iCAAiC;AAAA,IAC5C,CAAC,kCAAkCH,EAAE,IAAI,EAAE,GAAGA,EAAE;AAAA,EAAA,CACjD,CAAC;AAAA,WACCA,EAAE,aAAa;AAAA,WAEpBC,CAAO;AAEP,SAAAD,EAAE,OAAO,SACJO;AAAA;AAAA,WAEAC,EAAUR,EAAE,EAAE,CAAC;AAAA,cACZE,CAAG;AAAA,oBACGM,EAAUH,CAAU,CAAC;AAAA,SAChCC,CAAO;AAAA,SAIPC;AAAA;AAAA,SAEAC,EAAUR,EAAE,EAAE,CAAC;AAAA,YACZE,CAAG;AAAA,UACLM,EAAUR,EAAE,OAAO,CAAC;AAAA,kBACZQ,EAAUH,CAAU,CAAC;AAAA,OAChCC,CAAO;AAAA;AAEd;"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { default as i18next, t } from 'i18next';
|
|
2
|
-
import { translate } from 'lit-i18n';
|
|
3
2
|
export declare function update(): void;
|
|
4
3
|
/**
|
|
5
4
|
* Detects whether a locale prefers 12-hour or 24-hour time format.
|
|
@@ -20,4 +19,4 @@ export declare function getTimeFormatPreference(locale: string): '12h' | '24h';
|
|
|
20
19
|
* ```
|
|
21
20
|
*/
|
|
22
21
|
export declare function registerDayjsLocale(localeCode: string): void;
|
|
23
|
-
export { i18next, t
|
|
22
|
+
export { i18next, t };
|
|
@@ -1,98 +1,100 @@
|
|
|
1
|
-
var j = Object.
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
1
|
+
var b = Object.defineProperty, j = Object.defineProperties;
|
|
2
|
+
var x = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var f = Object.getOwnPropertySymbols;
|
|
4
|
+
var F = Object.prototype.hasOwnProperty, k = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var g = (s, e, t) => e in s ? b(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, i = (s, e) => {
|
|
5
6
|
for (var t in e || (e = {}))
|
|
6
|
-
|
|
7
|
-
if (
|
|
8
|
-
for (var t of
|
|
9
|
-
|
|
10
|
-
return
|
|
11
|
-
};
|
|
12
|
-
var
|
|
13
|
-
var
|
|
7
|
+
F.call(e, t) && g(s, t, e[t]);
|
|
8
|
+
if (f)
|
|
9
|
+
for (var t of f(e))
|
|
10
|
+
k.call(e, t) && g(s, t, e[t]);
|
|
11
|
+
return s;
|
|
12
|
+
}, p = (s, e) => j(s, x(e));
|
|
13
|
+
var W = (s, e, t) => new Promise((o, a) => {
|
|
14
|
+
var D = (n) => {
|
|
14
15
|
try {
|
|
15
|
-
|
|
16
|
-
} catch (
|
|
17
|
-
|
|
16
|
+
h(t.next(n));
|
|
17
|
+
} catch (u) {
|
|
18
|
+
a(u);
|
|
18
19
|
}
|
|
19
|
-
},
|
|
20
|
+
}, w = (n) => {
|
|
20
21
|
try {
|
|
21
|
-
|
|
22
|
-
} catch (
|
|
23
|
-
|
|
22
|
+
h(t.throw(n));
|
|
23
|
+
} catch (u) {
|
|
24
|
+
a(u);
|
|
24
25
|
}
|
|
25
|
-
},
|
|
26
|
-
|
|
26
|
+
}, h = (n) => n.done ? o(n.value) : Promise.resolve(n.value).then(D, w);
|
|
27
|
+
h((t = t.apply(s, e)).next());
|
|
27
28
|
});
|
|
28
29
|
import "../_virtual/hu.js";
|
|
29
30
|
import "../_virtual/en.js";
|
|
30
31
|
import "../_virtual/de.js";
|
|
31
32
|
import r from "../_virtual/dayjs.min.js";
|
|
32
|
-
import
|
|
33
|
-
import
|
|
34
|
-
import
|
|
35
|
-
import
|
|
36
|
-
import
|
|
37
|
-
import { t as
|
|
38
|
-
import
|
|
39
|
-
import
|
|
40
|
-
import
|
|
41
|
-
import z from "./locales/de.json.js";
|
|
42
|
-
import A from "./locales/en.json.js";
|
|
33
|
+
import v from "../_virtual/customParseFormat.js";
|
|
34
|
+
import E from "../_virtual/localeData.js";
|
|
35
|
+
import T from "../_virtual/localizedFormat.js";
|
|
36
|
+
import z from "../_virtual/weekday.js";
|
|
37
|
+
import l from "../node_modules/i18next/dist/esm/i18next.js";
|
|
38
|
+
import { t as et } from "../node_modules/i18next/dist/esm/i18next.js";
|
|
39
|
+
import A from "../node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js";
|
|
40
|
+
import C from "./locales/de.json.js";
|
|
41
|
+
import O from "./locales/en.json.js";
|
|
43
42
|
import $ from "./locales/hu.json.js";
|
|
44
|
-
r.extend(
|
|
43
|
+
r.extend(E);
|
|
44
|
+
r.extend(z);
|
|
45
|
+
r.extend(T);
|
|
45
46
|
r.extend(v);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
let
|
|
50
|
-
return
|
|
51
|
-
},
|
|
52
|
-
function
|
|
53
|
-
return
|
|
54
|
-
const e =
|
|
55
|
-
e && (
|
|
56
|
-
`[DAP Design System] Day.js locale "${e}" is not registered. Date/month/day names will not be localized for this language. Falling back to "${
|
|
47
|
+
const c = "hu", m = typeof window != "undefined" && typeof document != "undefined", L = () => {
|
|
48
|
+
if (!m)
|
|
49
|
+
return c;
|
|
50
|
+
let s = document.documentElement.lang || navigator.language || c;
|
|
51
|
+
return s = s.slice(0, 2), s;
|
|
52
|
+
}, d = /* @__PURE__ */ new Set(["hu", "en", "de"]);
|
|
53
|
+
function y(s) {
|
|
54
|
+
return W(this, null, function* () {
|
|
55
|
+
const e = s.slice(0, 2);
|
|
56
|
+
e && (d.has(e) || console.warn(
|
|
57
|
+
`[DAP Design System] Day.js locale "${e}" is not registered. Date/month/day names will not be localized for this language. Falling back to "${c}" locale for Day.js. To fix this, manually import and register the locale:
|
|
57
58
|
import 'dayjs/locale/${e}'
|
|
58
59
|
import { registerDayjsLocale } from 'dap-design-system'
|
|
59
60
|
registerDayjsLocale('${e}')`
|
|
60
|
-
),
|
|
61
|
+
), d.has(e) ? r.locale(e) : r.locale(c));
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
const H = m ? l.use(A) : l;
|
|
65
|
+
H.init(p(i({
|
|
66
|
+
fallbackLng: "hu"
|
|
67
|
+
}, m ? {} : { lng: "hu" }), {
|
|
65
68
|
interpolation: {
|
|
66
69
|
escapeValue: !1
|
|
67
70
|
},
|
|
68
71
|
resources: {
|
|
69
72
|
de: {
|
|
70
|
-
translation:
|
|
73
|
+
translation: i({}, C)
|
|
71
74
|
},
|
|
72
75
|
en: {
|
|
73
|
-
translation:
|
|
76
|
+
translation: i({}, O)
|
|
74
77
|
},
|
|
75
78
|
hu: {
|
|
76
|
-
translation:
|
|
79
|
+
translation: i({}, $)
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
W(a), u.changeLanguage(a);
|
|
82
|
+
}));
|
|
83
|
+
if (m) {
|
|
84
|
+
const s = L();
|
|
85
|
+
y(s), l.changeLanguage(s), new MutationObserver(P).observe(document.documentElement, {
|
|
86
|
+
attributes: !0,
|
|
87
|
+
attributeFilter: ["dir", "lang"]
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
function P() {
|
|
91
|
+
const s = L();
|
|
92
|
+
y(s), l.changeLanguage(s);
|
|
91
93
|
}
|
|
92
|
-
function
|
|
94
|
+
function X(s) {
|
|
93
95
|
try {
|
|
94
96
|
const e = r.locale();
|
|
95
|
-
r.locale(
|
|
97
|
+
r.locale(s);
|
|
96
98
|
const o = r.localeData().longDateFormat("LT");
|
|
97
99
|
if (r.locale(e), o && o !== "LT") {
|
|
98
100
|
if (o.includes("A") || o.includes("a"))
|
|
@@ -102,23 +104,22 @@ function R(a) {
|
|
|
102
104
|
if (o.includes("h:mm"))
|
|
103
105
|
return "12h";
|
|
104
106
|
}
|
|
105
|
-
const
|
|
106
|
-
return
|
|
107
|
+
const a = s.toLowerCase();
|
|
108
|
+
return a.startsWith("en") || a.startsWith("us") || a.startsWith("ca") || a.startsWith("au") || a.startsWith("nz") || a.startsWith("ph") || a.startsWith("in") || a.startsWith("pk") || a.startsWith("bd") || a.startsWith("lk") || a.startsWith("np") || a.startsWith("mm") || a.startsWith("my") || a.startsWith("sg") ? "12h" : "24h";
|
|
107
109
|
} catch (e) {
|
|
108
|
-
const t =
|
|
110
|
+
const t = s.toLowerCase();
|
|
109
111
|
return t.startsWith("en") || t.startsWith("us") || t.startsWith("ca") || t.startsWith("au") || t.startsWith("nz") || t.startsWith("ph") || t.startsWith("in") || t.startsWith("pk") || t.startsWith("bd") || t.startsWith("lk") || t.startsWith("np") || t.startsWith("mm") || t.startsWith("my") || t.startsWith("sg") ? "12h" : "24h";
|
|
110
112
|
}
|
|
111
113
|
}
|
|
112
|
-
function
|
|
113
|
-
const e =
|
|
114
|
-
e && (
|
|
114
|
+
function Y(s) {
|
|
115
|
+
const e = s.slice(0, 2);
|
|
116
|
+
e && (d.add(e), r.locale(e));
|
|
115
117
|
}
|
|
116
118
|
export {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
H as update
|
|
119
|
+
X as getTimeFormatPreference,
|
|
120
|
+
l as i18next,
|
|
121
|
+
Y as registerDayjsLocale,
|
|
122
|
+
et as t,
|
|
123
|
+
P as update
|
|
123
124
|
};
|
|
124
125
|
//# sourceMappingURL=localization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localization.js","sources":["../../src/localization/localization.ts"],"sourcesContent":["// Import dayjs locales statically to ensure they're always available\nimport 'dayjs/locale/hu'\nimport 'dayjs/locale/en'\nimport 'dayjs/locale/de'\n\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat' // ES 2015\nimport localeData from 'dayjs/plugin/localeData'\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat'\nimport weekday from 'dayjs/plugin/weekday'\nimport i18next, { t } from 'i18next'\nimport LanguageDetector from 'i18next-browser-languagedetector'\nimport { initLitI18n, translate } from 'lit-i18n'\n\nimport de from './locales/de.json'\nimport en from './locales/en.json'\nimport hu from './locales/hu.json'\n\ndayjs.extend(localeData)\ndayjs.extend(weekday)\ndayjs.extend(LocalizedFormat)\ndayjs.extend(customParseFormat)\n\nconst DEFAULT_LOCALE = 'hu'\n\nconst getDefaultLang = () => {\n let lang =\n document.documentElement.lang || navigator.language || DEFAULT_LOCALE\n lang = lang.slice(0, 2)\n return lang\n}\n\n/**\n * Tracks which Day.js locales have been loaded.\n * - Built-in locales (de, en, hu) are statically imported and always available.\n * - For other languages, consumers must manually import and register using registerDayjsLocale().\n *\n * Example for adding a custom locale:\n * ```ts\n * import 'dayjs/locale/fr'\n * import { registerDayjsLocale } from 'dap-design-system'\n * registerDayjsLocale('fr')\n * ```\n */\nconst loadedDayjsLocales = new Set<string>(['hu', 'en', 'de'])\n\nasync function ensureDayjsLocale(lang: string) {\n const short = lang.slice(0, 2)\n\n if (!short) {\n return\n }\n\n if (!loadedDayjsLocales.has(short)) {\n // Locale not registered - warn user to manually import it\n console.warn(\n `[DAP Design System] Day.js locale \"${short}\" is not registered. ` +\n `Date/month/day names will not be localized for this language. ` +\n `Falling back to \"${DEFAULT_LOCALE}\" locale for Day.js. ` +\n `To fix this, manually import and register the locale:\\n` +\n ` import 'dayjs/locale/${short}'\\n` +\n ` import { registerDayjsLocale } from 'dap-design-system'\\n` +\n ` registerDayjsLocale('${short}')`,\n )\n }\n\n if (loadedDayjsLocales.has(short)) {\n dayjs.locale(short)\n } else {\n dayjs.locale(DEFAULT_LOCALE)\n }\n}\n\ni18next\n .use(LanguageDetector)\n .use(initLitI18n)\n .init({\n fallbackLng: 'hu',\n interpolation: {\n escapeValue: false,\n },\n resources: {\n de: {\n translation: {\n ...de,\n },\n },\n en: {\n translation: {\n ...en,\n },\n },\n hu: {\n translation: {\n ...hu,\n },\n },\n },\n })\n\nconst initialLang = getDefaultLang()\n// Fire and forget – components using Day.js will start rendering with the\n// correct locale as soon as the chunk is loaded.\nvoid ensureDayjsLocale(initialLang)\ni18next.changeLanguage(initialLang)\n\nconst documentElementObserver = new MutationObserver(update)\ndocumentElementObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang'],\n})\n\nexport function update() {\n const lang = getDefaultLang()\n\n void ensureDayjsLocale(lang)\n i18next.changeLanguage(lang)\n}\n\n/**\n * Detects whether a locale prefers 12-hour or 24-hour time format.\n * Uses dayjs locale data to determine the preference.\n * @param locale - The locale to check (e.g., 'en', 'hu', 'en-US', 'hu-HU', 'de', 'de-DE')\n * @returns '12h' for 12-hour format, '24h' for 24-hour format\n */\nexport function getTimeFormatPreference(locale: string): '12h' | '24h' {\n try {\n // Set the locale temporarily to check its format\n const currentLocale = dayjs.locale()\n dayjs.locale(locale)\n const dayjsLocale = dayjs.localeData()\n const longTimeFormat = dayjsLocale.longDateFormat('LT')\n\n // Restore original locale\n dayjs.locale(currentLocale)\n\n // If the locale has a defined LT format, check if it contains AM/PM indicators\n if (longTimeFormat && longTimeFormat !== 'LT') {\n // Check if the format contains AM/PM indicators (A or a)\n if (longTimeFormat.includes('A') || longTimeFormat.includes('a')) {\n return '12h'\n }\n\n // Check if the format uses 24-hour (H:mm) vs 12-hour (h:mm)\n if (longTimeFormat.includes('H:mm') || longTimeFormat.includes('HH:mm')) {\n return '24h'\n }\n\n if (longTimeFormat.includes('h:mm')) {\n return '12h'\n }\n }\n\n // If no specific format is found, fall back to common patterns\n const localeLower = locale.toLowerCase()\n if (\n localeLower.startsWith('en') ||\n localeLower.startsWith('us') ||\n localeLower.startsWith('ca') ||\n localeLower.startsWith('au') ||\n localeLower.startsWith('nz') ||\n localeLower.startsWith('ph') ||\n localeLower.startsWith('in') ||\n localeLower.startsWith('pk') ||\n localeLower.startsWith('bd') ||\n localeLower.startsWith('lk') ||\n localeLower.startsWith('np') ||\n localeLower.startsWith('mm') ||\n localeLower.startsWith('my') ||\n localeLower.startsWith('sg')\n ) {\n return '12h'\n }\n\n // Most other locales use 24-hour format\n return '24h'\n } catch (error) {\n // If locale detection fails, fall back to common patterns\n const localeLower = locale.toLowerCase()\n if (\n localeLower.startsWith('en') ||\n localeLower.startsWith('us') ||\n localeLower.startsWith('ca') ||\n localeLower.startsWith('au') ||\n localeLower.startsWith('nz') ||\n localeLower.startsWith('ph') ||\n localeLower.startsWith('in') ||\n localeLower.startsWith('pk') ||\n localeLower.startsWith('bd') ||\n localeLower.startsWith('lk') ||\n localeLower.startsWith('np') ||\n localeLower.startsWith('mm') ||\n localeLower.startsWith('my') ||\n localeLower.startsWith('sg')\n ) {\n return '12h'\n }\n\n // Most other locales use 24-hour format\n return '24h'\n }\n}\n\n/**\n * Manually register a Day.js locale that has been imported.\n * Use this if automatic locale loading fails.\n *\n * @example\n * ```ts\n * import 'dayjs/locale/fr'\n * import { registerDayjsLocale } from 'dap-design-system'\n * registerDayjsLocale('fr')\n * ```\n */\nexport function registerDayjsLocale(localeCode: string): void {\n const short = localeCode.slice(0, 2)\n if (short) {\n loadedDayjsLocales.add(short)\n dayjs.locale(short)\n }\n}\n\nexport { i18next, t, translate }\n"],"names":["dayjs","localeData","weekday","LocalizedFormat","customParseFormat","DEFAULT_LOCALE","getDefaultLang","lang","loadedDayjsLocales","ensureDayjsLocale","__async","short","i18next","LanguageDetector","initLitI18n","__spreadValues","de","en","hu","initialLang","documentElementObserver","update","getTimeFormatPreference","locale","currentLocale","longTimeFormat","localeLower","error","registerDayjsLocale","localeCode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"localization.js","sources":["../../src/localization/localization.ts"],"sourcesContent":["// Import dayjs locales statically to ensure they're always available\nimport 'dayjs/locale/hu'\nimport 'dayjs/locale/en'\nimport 'dayjs/locale/de'\n\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat' // ES 2015\nimport localeData from 'dayjs/plugin/localeData'\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat'\nimport weekday from 'dayjs/plugin/weekday'\nimport i18next, { t } from 'i18next'\nimport LanguageDetector from 'i18next-browser-languagedetector'\n\nimport de from './locales/de.json'\nimport en from './locales/en.json'\nimport hu from './locales/hu.json'\n\ndayjs.extend(localeData)\ndayjs.extend(weekday)\ndayjs.extend(LocalizedFormat)\ndayjs.extend(customParseFormat)\n\nconst DEFAULT_LOCALE = 'hu'\n\n// True only in a browser environment. Used to skip browser-only initialisation\n// (language detection, live <html> observing) during SSR so importing this\n// module in Node does not throw. Client behaviour is unchanged.\nconst isBrowser =\n typeof window !== 'undefined' && typeof document !== 'undefined'\n\nconst getDefaultLang = () => {\n if (!isBrowser) {\n return DEFAULT_LOCALE\n }\n let lang =\n document.documentElement.lang || navigator.language || DEFAULT_LOCALE\n lang = lang.slice(0, 2)\n return lang\n}\n\n/**\n * Tracks which Day.js locales have been loaded.\n * - Built-in locales (de, en, hu) are statically imported and always available.\n * - For other languages, consumers must manually import and register using registerDayjsLocale().\n *\n * Example for adding a custom locale:\n * ```ts\n * import 'dayjs/locale/fr'\n * import { registerDayjsLocale } from 'dap-design-system'\n * registerDayjsLocale('fr')\n * ```\n */\nconst loadedDayjsLocales = new Set<string>(['hu', 'en', 'de'])\n\nasync function ensureDayjsLocale(lang: string) {\n const short = lang.slice(0, 2)\n\n if (!short) {\n return\n }\n\n if (!loadedDayjsLocales.has(short)) {\n // Locale not registered - warn user to manually import it\n console.warn(\n `[DAP Design System] Day.js locale \"${short}\" is not registered. ` +\n `Date/month/day names will not be localized for this language. ` +\n `Falling back to \"${DEFAULT_LOCALE}\" locale for Day.js. ` +\n `To fix this, manually import and register the locale:\\n` +\n ` import 'dayjs/locale/${short}'\\n` +\n ` import { registerDayjsLocale } from 'dap-design-system'\\n` +\n ` registerDayjsLocale('${short}')`,\n )\n }\n\n if (loadedDayjsLocales.has(short)) {\n dayjs.locale(short)\n } else {\n dayjs.locale(DEFAULT_LOCALE)\n }\n}\n\n// The browser language detector reads document.cookie / navigator, which do\n// not exist during SSR — only register it in the browser. On the server we\n// initialise with the fallback language so `t()` still returns text\n// server-side. Components render translations via the LocalizeController\n// (see src/localization/localize-controller.ts), so no lit-i18n plugin is used.\nconst i18nextChain = isBrowser ? i18next.use(LanguageDetector) : i18next\ni18nextChain.init({\n fallbackLng: 'hu',\n ...(isBrowser ? {} : { lng: 'hu' }),\n interpolation: {\n escapeValue: false,\n },\n resources: {\n de: {\n translation: {\n ...de,\n },\n },\n en: {\n translation: {\n ...en,\n },\n },\n hu: {\n translation: {\n ...hu,\n },\n },\n },\n})\n\n// Language detection and live <html lang/dir> observing are browser-only.\n// Skipped during SSR (no document); the client runs them on import as before.\nif (isBrowser) {\n const initialLang = getDefaultLang()\n // Fire and forget – components using Day.js will start rendering with the\n // correct locale as soon as the chunk is loaded.\n void ensureDayjsLocale(initialLang)\n i18next.changeLanguage(initialLang)\n\n const documentElementObserver = new MutationObserver(update)\n documentElementObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang'],\n })\n}\n\nexport function update() {\n const lang = getDefaultLang()\n\n void ensureDayjsLocale(lang)\n i18next.changeLanguage(lang)\n}\n\n/**\n * Detects whether a locale prefers 12-hour or 24-hour time format.\n * Uses dayjs locale data to determine the preference.\n * @param locale - The locale to check (e.g., 'en', 'hu', 'en-US', 'hu-HU', 'de', 'de-DE')\n * @returns '12h' for 12-hour format, '24h' for 24-hour format\n */\nexport function getTimeFormatPreference(locale: string): '12h' | '24h' {\n try {\n // Set the locale temporarily to check its format\n const currentLocale = dayjs.locale()\n dayjs.locale(locale)\n const dayjsLocale = dayjs.localeData()\n const longTimeFormat = dayjsLocale.longDateFormat('LT')\n\n // Restore original locale\n dayjs.locale(currentLocale)\n\n // If the locale has a defined LT format, check if it contains AM/PM indicators\n if (longTimeFormat && longTimeFormat !== 'LT') {\n // Check if the format contains AM/PM indicators (A or a)\n if (longTimeFormat.includes('A') || longTimeFormat.includes('a')) {\n return '12h'\n }\n\n // Check if the format uses 24-hour (H:mm) vs 12-hour (h:mm)\n if (longTimeFormat.includes('H:mm') || longTimeFormat.includes('HH:mm')) {\n return '24h'\n }\n\n if (longTimeFormat.includes('h:mm')) {\n return '12h'\n }\n }\n\n // If no specific format is found, fall back to common patterns\n const localeLower = locale.toLowerCase()\n if (\n localeLower.startsWith('en') ||\n localeLower.startsWith('us') ||\n localeLower.startsWith('ca') ||\n localeLower.startsWith('au') ||\n localeLower.startsWith('nz') ||\n localeLower.startsWith('ph') ||\n localeLower.startsWith('in') ||\n localeLower.startsWith('pk') ||\n localeLower.startsWith('bd') ||\n localeLower.startsWith('lk') ||\n localeLower.startsWith('np') ||\n localeLower.startsWith('mm') ||\n localeLower.startsWith('my') ||\n localeLower.startsWith('sg')\n ) {\n return '12h'\n }\n\n // Most other locales use 24-hour format\n return '24h'\n } catch (error) {\n // If locale detection fails, fall back to common patterns\n const localeLower = locale.toLowerCase()\n if (\n localeLower.startsWith('en') ||\n localeLower.startsWith('us') ||\n localeLower.startsWith('ca') ||\n localeLower.startsWith('au') ||\n localeLower.startsWith('nz') ||\n localeLower.startsWith('ph') ||\n localeLower.startsWith('in') ||\n localeLower.startsWith('pk') ||\n localeLower.startsWith('bd') ||\n localeLower.startsWith('lk') ||\n localeLower.startsWith('np') ||\n localeLower.startsWith('mm') ||\n localeLower.startsWith('my') ||\n localeLower.startsWith('sg')\n ) {\n return '12h'\n }\n\n // Most other locales use 24-hour format\n return '24h'\n }\n}\n\n/**\n * Manually register a Day.js locale that has been imported.\n * Use this if automatic locale loading fails.\n *\n * @example\n * ```ts\n * import 'dayjs/locale/fr'\n * import { registerDayjsLocale } from 'dap-design-system'\n * registerDayjsLocale('fr')\n * ```\n */\nexport function registerDayjsLocale(localeCode: string): void {\n const short = localeCode.slice(0, 2)\n if (short) {\n loadedDayjsLocales.add(short)\n dayjs.locale(short)\n }\n}\n\nexport { i18next, t }\n"],"names":["dayjs","localeData","weekday","LocalizedFormat","customParseFormat","DEFAULT_LOCALE","isBrowser","getDefaultLang","lang","loadedDayjsLocales","ensureDayjsLocale","__async","short","i18nextChain","i18next","LanguageDetector","__spreadProps","__spreadValues","de","en","hu","initialLang","update","getTimeFormatPreference","locale","currentLocale","longTimeFormat","localeLower","error","registerDayjsLocale","localeCode"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactiveController, ReactiveControllerHost } from 'lit';
|
|
2
|
+
export declare class LocalizeController implements ReactiveController {
|
|
3
|
+
private readonly host;
|
|
4
|
+
constructor(host: ReactiveControllerHost);
|
|
5
|
+
hostConnected(): void;
|
|
6
|
+
hostDisconnected(): void;
|
|
7
|
+
/** Translate a key. Alias `term` matches the @shoelace-style/localize API. */
|
|
8
|
+
t(key: string | string[], options?: Record<string, unknown>): string;
|
|
9
|
+
term(key: string | string[], options?: Record<string, unknown>): string;
|
|
10
|
+
lang(): string;
|
|
11
|
+
dir(): 'ltr' | 'rtl';
|
|
12
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import "./localization.js";
|
|
2
|
+
import n from "../node_modules/i18next/dist/esm/i18next.js";
|
|
3
|
+
const o = /* @__PURE__ */ new Set();
|
|
4
|
+
let a = !1;
|
|
5
|
+
const u = () => {
|
|
6
|
+
for (const e of o)
|
|
7
|
+
e.requestUpdate();
|
|
8
|
+
}, c = () => {
|
|
9
|
+
if (typeof document == "undefined")
|
|
10
|
+
return;
|
|
11
|
+
const e = document.documentElement.lang, t = e ? e.slice(0, 2) : n.language;
|
|
12
|
+
t && t !== n.language && n.changeLanguage(t);
|
|
13
|
+
}, l = () => {
|
|
14
|
+
if (a || typeof window == "undefined")
|
|
15
|
+
return;
|
|
16
|
+
a = !0, n.on("languageChanged", u), new MutationObserver(() => {
|
|
17
|
+
c(), u();
|
|
18
|
+
}).observe(document.documentElement, {
|
|
19
|
+
attributes: !0,
|
|
20
|
+
attributeFilter: ["lang", "dir"]
|
|
21
|
+
}), c();
|
|
22
|
+
};
|
|
23
|
+
class m {
|
|
24
|
+
constructor(t) {
|
|
25
|
+
this.host = t, t.addController(this);
|
|
26
|
+
}
|
|
27
|
+
hostConnected() {
|
|
28
|
+
o.add(this.host), l();
|
|
29
|
+
}
|
|
30
|
+
hostDisconnected() {
|
|
31
|
+
o.delete(this.host);
|
|
32
|
+
}
|
|
33
|
+
/** Translate a key. Alias `term` matches the @shoelace-style/localize API. */
|
|
34
|
+
t(t, r) {
|
|
35
|
+
const d = n.t, s = d(t, r);
|
|
36
|
+
return typeof s == "string" ? s : "";
|
|
37
|
+
}
|
|
38
|
+
term(t, r) {
|
|
39
|
+
return this.t(t, r);
|
|
40
|
+
}
|
|
41
|
+
lang() {
|
|
42
|
+
return n.language;
|
|
43
|
+
}
|
|
44
|
+
dir() {
|
|
45
|
+
return typeof document == "undefined" ? "ltr" : document.documentElement.dir === "rtl" ? "rtl" : "ltr";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
m as LocalizeController
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=localize-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localize-controller.js","sources":["../../src/localization/localize-controller.ts"],"sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from 'lit'\n\nimport { i18next } from './localization'\n\n/**\n * SSR-safe localization for DDS components, modelled on\n * `@shoelace-style/localize`'s reactive-controller pattern but backed by the\n * existing i18next store (so all locale JSON, interpolation and fallback keep\n * working).\n *\n * Why a controller instead of lit-i18n's `translate` directive:\n * - `term()`/`t()` return strings **synchronously** in `render()`, so text is\n * produced during server rendering and on the client's hydration render\n * (lit-i18n's directive is async and renders nothing under sync SSR).\n * - Reactivity is `MutationObserver(<html lang>)` + i18next `languageChanged`\n * → `host.requestUpdate()`, which is a normal reactive re-render — no\n * `setValue` on a non-live SSR part, so nothing throws during SSR.\n */\n\n/** All connected hosts, re-rendered together when the language changes. */\nconst hosts = new Set<ReactiveControllerHost>()\n\nlet started = false\n\nconst requestUpdateAll = (): void => {\n for (const host of hosts) {\n host.requestUpdate()\n }\n}\n\n/** Mirror the document's `<html lang>` into i18next when it changes. */\nconst syncLanguageFromDocument = (): void => {\n if (typeof document === 'undefined') {\n return\n }\n const attr = document.documentElement.lang\n const lang = attr ? attr.slice(0, 2) : i18next.language\n if (lang && lang !== i18next.language) {\n // Fires 'languageChanged' -> requestUpdateAll once resources are ready.\n void i18next.changeLanguage(lang)\n }\n}\n\n/** Lazily wire up the shared listeners the first time a host connects. */\nconst start = (): void => {\n if (started || typeof window === 'undefined') {\n return\n }\n started = true\n i18next.on('languageChanged', requestUpdateAll)\n const observer = new MutationObserver(() => {\n syncLanguageFromDocument()\n // Direction-only changes still need a re-render.\n requestUpdateAll()\n })\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['lang', 'dir'],\n })\n syncLanguageFromDocument()\n}\n\nexport class LocalizeController implements ReactiveController {\n constructor(private readonly host: ReactiveControllerHost) {\n host.addController(this)\n }\n\n hostConnected(): void {\n hosts.add(this.host)\n start()\n }\n\n hostDisconnected(): void {\n hosts.delete(this.host)\n }\n\n /** Translate a key. Alias `term` matches the @shoelace-style/localize API. */\n t(key: string | string[], options?: Record<string, unknown>): string {\n const translate = i18next.t as (\n key: string | string[],\n options?: unknown,\n ) => unknown\n const value = translate(key, options)\n return typeof value === 'string' ? value : ''\n }\n\n term(key: string | string[], options?: Record<string, unknown>): string {\n return this.t(key, options)\n }\n\n lang(): string {\n return i18next.language\n }\n\n dir(): 'ltr' | 'rtl' {\n if (typeof document === 'undefined') {\n return 'ltr'\n }\n return document.documentElement.dir === 'rtl' ? 'rtl' : 'ltr'\n }\n}\n"],"names":["hosts","started","requestUpdateAll","host","syncLanguageFromDocument","attr","lang","i18next","start","LocalizeController","key","options","translate","value"],"mappings":";;AAoBA,MAAMA,wBAAY,IAA4B;AAE9C,IAAIC,IAAU;AAEd,MAAMC,IAAmB,MAAY;AACnC,aAAWC,KAAQH;AACjB,IAAAG,EAAK,cAAc;AAEvB,GAGMC,IAA2B,MAAY;AACvC,MAAA,OAAO,YAAa;AACtB;AAEI,QAAAC,IAAO,SAAS,gBAAgB,MAChCC,IAAOD,IAAOA,EAAK,MAAM,GAAG,CAAC,IAAIE,EAAQ;AAC3C,EAAAD,KAAQA,MAASC,EAAQ,YAEtBA,EAAQ,eAAeD,CAAI;AAEpC,GAGME,IAAQ,MAAY;AACpB,MAAAP,KAAW,OAAO,UAAW;AAC/B;AAEQ,EAAAA,IAAA,IACFM,EAAA,GAAG,mBAAmBL,CAAgB,GAC7B,IAAI,iBAAiB,MAAM;AACjB,IAAAE,EAAA,GAERF,EAAA;AAAA,EAAA,CAClB,EACQ,QAAQ,SAAS,iBAAiB;AAAA,IACzC,YAAY;AAAA,IACZ,iBAAiB,CAAC,QAAQ,KAAK;AAAA,EAAA,CAChC,GACwBE,EAAA;AAC3B;AAEO,MAAMK,EAAiD;AAAA,EAC5D,YAA6BN,GAA8B;AAA9B,SAAA,OAAAA,GAC3BA,EAAK,cAAc,IAAI;AAAA,EAAA;AAAA,EAGzB,gBAAsB;AACd,IAAAH,EAAA,IAAI,KAAK,IAAI,GACbQ,EAAA;AAAA,EAAA;AAAA,EAGR,mBAAyB;AACjB,IAAAR,EAAA,OAAO,KAAK,IAAI;AAAA,EAAA;AAAA;AAAA,EAIxB,EAAEU,GAAwBC,GAA2C;AACnE,UAAMC,IAAYL,EAAQ,GAIpBM,IAAQD,EAAUF,GAAKC,CAAO;AAC7B,WAAA,OAAOE,KAAU,WAAWA,IAAQ;AAAA,EAAA;AAAA,EAG7C,KAAKH,GAAwBC,GAA2C;AAC/D,WAAA,KAAK,EAAED,GAAKC,CAAO;AAAA,EAAA;AAAA,EAG5B,OAAe;AACb,WAAOJ,EAAQ;AAAA,EAAA;AAAA,EAGjB,MAAqB;AACf,WAAA,OAAO,YAAa,cACf,QAEF,SAAS,gBAAgB,QAAQ,QAAQ,QAAQ;AAAA,EAAA;AAE5D;"}
|