@koobiq/components 18.39.0 → 19.0.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/accordion/accordion-content.d.ts +2 -2
- package/accordion/accordion-content.directive.d.ts +11 -0
- package/accordion/accordion-header.d.ts +2 -2
- package/accordion/accordion-header.directive.d.ts +7 -0
- package/accordion/accordion-item.d.ts +2 -2
- package/accordion/accordion-item.directive.d.ts +72 -0
- package/accordion/accordion-root.directive.d.ts +64 -0
- package/accordion/accordion-trigger.component.d.ts +2 -2
- package/accordion/accordion-trigger.directive.d.ts +13 -0
- package/accordion/accordion.component.d.ts +2 -4
- package/accordion/accordion.module.d.ts +7 -7
- package/accordion/public-api.d.ts +5 -0
- package/alert/_alert-theme.scss +4 -16
- package/alert/alert-tokens.scss +6 -12
- package/alert/alert.component.d.ts +5 -12
- package/alert/alert.module.d.ts +4 -4
- package/app-switcher/app-switcher.d.ts +4 -4
- package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
- package/autocomplete/autocomplete-trigger.directive.d.ts +1 -1
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/autocomplete/autocomplete.module.d.ts +7 -7
- package/badge/badge.component.d.ts +3 -3
- package/badge/badge.module.d.ts +4 -4
- package/breadcrumbs/breadcrumbs.d.ts +3 -2
- package/breadcrumbs/public-api.d.ts +2 -0
- package/breadcrumbs/roving-focus-group.directive.d.ts +50 -0
- package/breadcrumbs/roving-focus-item.directive.d.ts +50 -0
- package/breadcrumbs/utils.d.ts +19 -0
- package/button/button.component.d.ts +2 -2
- package/button/button.module.d.ts +6 -6
- package/button-toggle/_button-toggle-theme.scss +30 -27
- package/button-toggle/button-toggle.component.d.ts +2 -2
- package/button-toggle/button-toggle.module.d.ts +4 -4
- package/button-toggle/button-toggle.scss +2 -2
- package/checkbox/checkbox-module.d.ts +4 -4
- package/checkbox/checkbox-required-validator.d.ts +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/code-block/code-block.scss +2 -2
- package/core/common-behaviors/index.d.ts +0 -1
- package/core/formatters/date/formatter.pipe.d.ts +13 -0
- package/core/formatters/index.d.ts +4 -4
- package/core/formatters/number/formatter.d.ts +3 -3
- package/core/forms/forms-module.d.ts +1 -1
- package/core/forms/forms.directive.d.ts +2 -2
- package/core/highlight/highlight.pipe.d.ts +1 -1
- package/core/highlight/index.d.ts +3 -3
- package/core/line/line.d.ts +1 -6
- package/core/option/_option-theme.scss +5 -2
- package/core/option/action.d.ts +1 -1
- package/core/option/optgroup.d.ts +1 -1
- package/core/option/option-module.d.ts +5 -5
- package/core/option/option.d.ts +4 -1
- package/core/pop-up/constants.d.ts +4 -0
- package/core/pop-up/pop-up-trigger.d.ts +5 -5
- package/core/pop-up/pop-up.d.ts +1 -1
- package/core/select/common.d.ts +1 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +3 -3
- package/core/styles/common/_select.scss +1 -1
- package/core/styles/theming/_scrollbar-theme.scss +18 -12
- package/core/utils/utils.d.ts +3 -0
- package/datepicker/calendar-body.component.d.ts +1 -1
- package/datepicker/calendar-header.component.d.ts +1 -1
- package/datepicker/calendar.component.d.ts +1 -1
- package/datepicker/datepicker-input.directive.d.ts +1 -1
- package/datepicker/datepicker-module.d.ts +15 -15
- package/datepicker/datepicker-toggle.component.d.ts +2 -2
- package/datepicker/datepicker.component.d.ts +2 -2
- package/datepicker/month-view.component.d.ts +1 -1
- package/divider/divider.component.d.ts +5 -1
- package/divider/divider.module.d.ts +3 -3
- package/dl/dl.component.d.ts +3 -3
- package/dl/dl.module.d.ts +4 -4
- package/dropdown/dropdown-content.directive.d.ts +1 -1
- package/dropdown/dropdown-item.component.d.ts +1 -1
- package/dropdown/dropdown-trigger.directive.d.ts +1 -1
- package/dropdown/dropdown.component.d.ts +1 -1
- package/dropdown/dropdown.module.d.ts +8 -8
- package/dropdown/dropdown.scss +1 -0
- package/ellipsis-center/ellipsis-center.directive.d.ts +2 -2
- package/empty-state/empty-state.component.d.ts +5 -5
- package/empty-state/empty-state.module.d.ts +4 -4
- package/fesm2022/koobiq-components-accordion.mjs +459 -40
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +18 -18
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +28 -36
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +49 -52
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +31 -25
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +20 -21
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +339 -36
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +25 -22
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +25 -26
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -16
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +9 -9
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +15 -16
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +55 -57
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +326 -356
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +107 -90
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +16 -14
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +19 -20
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +47 -48
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +16 -19
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +10 -10
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +26 -27
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +306 -98
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +220 -222
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +84 -92
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +18 -18
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +33 -37
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +31 -30
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +11 -10
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +47 -45
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +27 -28
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +14 -14
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +76 -64
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar-ic.mjs +76 -54
- package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +77 -66
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +31 -32
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +16 -19
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +55 -46
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +18 -19
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +21 -23
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +20 -16
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +10 -12
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +13 -12
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +17 -18
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +19 -19
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +110 -73
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +16 -23
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +61 -55
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +12 -12
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +24 -25
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +17 -18
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +85 -89
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +43 -47
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +10 -11
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +38 -40
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +65 -14
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +68 -59
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +9 -10
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +23 -24
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +16 -14
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +20 -23
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +18 -20
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +81 -70
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +77 -66
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +31 -37
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/file-upload.d.ts +11 -0
- package/file-upload/file-upload.module.d.ts +15 -15
- package/file-upload/multiple-file-upload.component.d.ts +12 -9
- package/file-upload/{file-drop.d.ts → primitives/file-drop.d.ts} +3 -3
- package/file-upload/primitives/file-picker.d.ts +82 -0
- package/file-upload/primitives/index.d.ts +2 -0
- package/file-upload/public-api.d.ts +2 -1
- package/file-upload/single-file-upload.component.d.ts +11 -8
- package/icon/_icon-button-theme.scss +2 -1
- package/inline-edit/inline-edit.d.ts +2 -3
- package/input/_input-theme.scss +2 -1
- package/input/input-number-validators.d.ts +2 -2
- package/input/input-number.d.ts +1 -1
- package/input/input-password.d.ts +1 -1
- package/input/input.d.ts +2 -2
- package/input/input.module.d.ts +8 -8
- package/link/_link-theme.scss +3 -0
- package/link/link.component.d.ts +1 -1
- package/link/link.module.d.ts +3 -3
- package/list/_list-theme.scss +6 -0
- package/list/list-selection.component.d.ts +3 -3
- package/list/list.component.d.ts +2 -2
- package/list/list.module.d.ts +6 -6
- package/list/list.scss +1 -0
- package/loader-overlay/loader-overlay.component.d.ts +4 -4
- package/loader-overlay/loader-overlay.module.d.ts +5 -5
- package/modal/css-unit.pipe.d.ts +1 -1
- package/modal/modal.component.d.ts +1 -1
- package/modal/modal.directive.d.ts +4 -4
- package/modal/modal.module.d.ts +10 -10
- package/modal/modal.service.d.ts +1 -1
- package/navbar/_navbar-theme.scss +1 -0
- package/navbar/navbar-brand.component.d.ts +1 -1
- package/navbar/navbar-item.component.d.ts +7 -7
- package/navbar/navbar-toggle.component.d.ts +1 -1
- package/navbar/navbar-toggle.scss +1 -1
- package/navbar/navbar.component.d.ts +4 -4
- package/navbar/navbar.module.d.ts +10 -10
- package/navbar/vertical-navbar.component.d.ts +1 -1
- package/navbar/vertical-navbar.scss +5 -2
- package/navbar-ic/navbar-ic-header.d.ts +3 -0
- package/navbar-ic/navbar-ic-item.d.ts +18 -0
- package/navbar-ic/navbar-ic.d.ts +13 -7
- package/notification-center/notification-center.d.ts +5 -5
- package/overflow-items/overflow-items.d.ts +1 -1
- package/package.json +9 -140
- package/popover/popover-confirm.component.d.ts +2 -2
- package/popover/popover.component.d.ts +9 -9
- package/popover/popover.module.d.ts +9 -9
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/progress-bar.component.d.ts +3 -3
- package/progress-bar/progress-bar.module.d.ts +3 -3
- package/progress-spinner/progress-spinner.component.d.ts +3 -3
- package/progress-spinner/progress-spinner.module.d.ts +4 -4
- package/progress-spinner/progress-spinner.scss +1 -0
- package/radio/_radio-theme.scss +2 -1
- package/radio/radio-tokens.scss +1 -0
- package/radio/radio.component.d.ts +10 -5
- package/radio/radio.module.d.ts +3 -3
- package/risk-level/risk-level.component.d.ts +1 -1
- package/risk-level/risk-level.module.d.ts +4 -4
- package/schematics/migrations/icons-replacement/README.md +5 -1
- package/schematics/migrations/icons-replacement/index.js +1 -1
- package/schematics/ng-add/index.js +4 -5
- package/scrollbar/_scrollbar-component-theme.scss +16 -14
- package/select/select-option.directive.d.ts +1 -1
- package/select/select.component.d.ts +6 -5
- package/select/select.module.d.ts +10 -10
- package/sidebar/sidebar.component.d.ts +3 -3
- package/sidebar/sidebar.module.d.ts +3 -3
- package/sidepanel/sidepanel-container.component.d.ts +1 -1
- package/sidepanel/sidepanel-directives.d.ts +5 -5
- package/sidepanel/sidepanel.module.d.ts +9 -9
- package/splitter/splitter.component.d.ts +4 -4
- package/splitter/splitter.module.d.ts +3 -3
- package/table/_table-theme.scss +1 -0
- package/table/table.component.d.ts +2 -2
- package/table/table.module.d.ts +4 -4
- package/tabs/paginated-tab-header.d.ts +1 -1
- package/tabs/tab-body.component.d.ts +2 -2
- package/tabs/tab-content.directive.d.ts +1 -1
- package/tabs/tab-group.component.d.ts +5 -5
- package/tabs/tab-header.component.d.ts +1 -1
- package/tabs/tab-label-wrapper.directive.d.ts +1 -1
- package/tabs/tab-label.directive.d.ts +1 -1
- package/tabs/tab.component.d.ts +3 -3
- package/tabs/tabs.module.d.ts +15 -15
- package/tags/tag-input.d.ts +1 -1
- package/tags/tag-list.component.d.ts +1 -1
- package/tags/tag.component.d.ts +4 -4
- package/tags/tag.module.d.ts +4 -4
- package/textarea/textarea.component.d.ts +1 -1
- package/textarea/textarea.module.d.ts +4 -4
- package/timepicker/timepicker.directive.d.ts +15 -5
- package/timepicker/timepicker.module.d.ts +5 -5
- package/timezone/cities-by-filter.pipe.d.ts +1 -1
- package/timezone/timezone-option.component.d.ts +1 -1
- package/timezone/timezone-option.directive.d.ts +1 -1
- package/timezone/timezone-select.component.d.ts +2 -2
- package/timezone/timezone.module.d.ts +15 -15
- package/timezone/utc-offset.pipe.d.ts +1 -1
- package/title/title.directive.d.ts +1 -1
- package/title/title.module.d.ts +3 -3
- package/toggle/toggle.component.d.ts +1 -1
- package/toggle/toggle.module.d.ts +3 -3
- package/tooltip/tooltip.component.d.ts +3 -3
- package/top-bar/top-bar.d.ts +1 -1
- package/tree/node.d.ts +1 -1
- package/tree/outlet.d.ts +1 -1
- package/tree/padding.directive.d.ts +1 -1
- package/tree/toggle.d.ts +3 -3
- package/tree/tree-base.d.ts +2 -2
- package/tree/tree-option.component.d.ts +1 -1
- package/tree/tree-selection.component.d.ts +1 -1
- package/tree/tree.d.ts +1 -1
- package/tree/tree.module.d.ts +11 -11
- package/tree-select/tree-select.component.d.ts +2 -2
- package/tree-select/tree-select.module.d.ts +9 -9
- package/core/common-behaviors/focus-monitor.d.ts +0 -19
- package/esm2022/accordion/accordion-content.mjs +0 -19
- package/esm2022/accordion/accordion-header.mjs +0 -19
- package/esm2022/accordion/accordion-item.mjs +0 -25
- package/esm2022/accordion/accordion-trigger.component.mjs +0 -48
- package/esm2022/accordion/accordion.component.mjs +0 -41
- package/esm2022/accordion/accordion.module.mjs +0 -44
- package/esm2022/accordion/index.mjs +0 -2
- package/esm2022/accordion/koobiq-components-accordion.mjs +0 -5
- package/esm2022/accordion/public-api.mjs +0 -7
- package/esm2022/actions-panel/actions-panel-config.mjs +0 -55
- package/esm2022/actions-panel/actions-panel-container.mjs +0 -217
- package/esm2022/actions-panel/actions-panel-ref.mjs +0 -78
- package/esm2022/actions-panel/actions-panel.mjs +0 -133
- package/esm2022/actions-panel/index.mjs +0 -6
- package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +0 -5
- package/esm2022/actions-panel/module.mjs +0 -21
- package/esm2022/alert/alert.component.mjs +0 -124
- package/esm2022/alert/alert.module.mjs +0 -40
- package/esm2022/alert/index.mjs +0 -2
- package/esm2022/alert/koobiq-components-alert.mjs +0 -5
- package/esm2022/alert/public-api.mjs +0 -3
- package/esm2022/app-switcher/app-switcher-animations.mjs +0 -18
- package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +0 -75
- package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +0 -60
- package/esm2022/app-switcher/app-switcher.mjs +0 -446
- package/esm2022/app-switcher/app-switcher.module.mjs +0 -45
- package/esm2022/app-switcher/index.mjs +0 -2
- package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +0 -84
- package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +0 -5
- package/esm2022/app-switcher/public-api.mjs +0 -7
- package/esm2022/autocomplete/autocomplete-origin.directive.mjs +0 -21
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +0 -540
- package/esm2022/autocomplete/autocomplete.component.mjs +0 -178
- package/esm2022/autocomplete/autocomplete.module.mjs +0 -38
- package/esm2022/autocomplete/index.mjs +0 -2
- package/esm2022/autocomplete/koobiq-components-autocomplete.mjs +0 -5
- package/esm2022/autocomplete/public-api.mjs +0 -5
- package/esm2022/badge/badge.component.mjs +0 -124
- package/esm2022/badge/badge.module.mjs +0 -36
- package/esm2022/badge/index.mjs +0 -2
- package/esm2022/badge/koobiq-components-badge.mjs +0 -5
- package/esm2022/badge/public-api.mjs +0 -3
- package/esm2022/breadcrumbs/breadcrumbs.mjs +0 -268
- package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -31
- package/esm2022/breadcrumbs/breadcrumbs.types.mjs +0 -2
- package/esm2022/breadcrumbs/index.mjs +0 -2
- package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +0 -5
- package/esm2022/breadcrumbs/public-api.mjs +0 -4
- package/esm2022/button/button.component.mjs +0 -180
- package/esm2022/button/button.dropdown-trigger.directive.mjs +0 -28
- package/esm2022/button/button.module.mjs +0 -41
- package/esm2022/button/index.mjs +0 -2
- package/esm2022/button/koobiq-components-button.mjs +0 -5
- package/esm2022/button/public-api.mjs +0 -4
- package/esm2022/button-toggle/button-toggle.component.mjs +0 -384
- package/esm2022/button-toggle/button-toggle.module.mjs +0 -19
- package/esm2022/button-toggle/index.mjs +0 -2
- package/esm2022/button-toggle/koobiq-components-button-toggle.mjs +0 -5
- package/esm2022/button-toggle/public-api.mjs +0 -3
- package/esm2022/checkbox/checkbox-config.mjs +0 -6
- package/esm2022/checkbox/checkbox-module.mjs +0 -19
- package/esm2022/checkbox/checkbox-required-validator.mjs +0 -27
- package/esm2022/checkbox/checkbox.mjs +0 -295
- package/esm2022/checkbox/index.mjs +0 -2
- package/esm2022/checkbox/koobiq-components-checkbox.mjs +0 -5
- package/esm2022/checkbox/public-api.mjs +0 -5
- package/esm2022/clamped-text/clamped-text.mjs +0 -202
- package/esm2022/clamped-text/constants.mjs +0 -20
- package/esm2022/clamped-text/index.mjs +0 -4
- package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +0 -5
- package/esm2022/clamped-text/module.mjs +0 -19
- package/esm2022/code-block/code-block-highlight.mjs +0 -418
- package/esm2022/code-block/code-block.mjs +0 -440
- package/esm2022/code-block/code-block.module.mjs +0 -19
- package/esm2022/code-block/index.mjs +0 -2
- package/esm2022/code-block/koobiq-components-code-block.mjs +0 -5
- package/esm2022/code-block/public-api.mjs +0 -5
- package/esm2022/code-block/types.mjs +0 -2
- package/esm2022/content-panel/content-panel.mjs +0 -432
- package/esm2022/content-panel/index.mjs +0 -3
- package/esm2022/content-panel/koobiq-components-content-panel.mjs +0 -5
- package/esm2022/content-panel/module.mjs +0 -42
- package/esm2022/core/animation/animation.mjs +0 -39
- package/esm2022/core/animation/fade-animations.mjs +0 -9
- package/esm2022/core/animation/index.mjs +0 -4
- package/esm2022/core/animation/select-animations.mjs +0 -45
- package/esm2022/core/common-behaviors/checkbox.mjs +0 -2
- package/esm2022/core/common-behaviors/clipboard.mjs +0 -31
- package/esm2022/core/common-behaviors/color.mjs +0 -89
- package/esm2022/core/common-behaviors/common-module.mjs +0 -76
- package/esm2022/core/common-behaviors/constructor.mjs +0 -2
- package/esm2022/core/common-behaviors/disabled.mjs +0 -19
- package/esm2022/core/common-behaviors/error-state.mjs +0 -50
- package/esm2022/core/common-behaviors/focus-monitor.mjs +0 -37
- package/esm2022/core/common-behaviors/hover.mjs +0 -34
- package/esm2022/core/common-behaviors/index.mjs +0 -14
- package/esm2022/core/common-behaviors/orientation.mjs +0 -2
- package/esm2022/core/common-behaviors/read-state.mjs +0 -33
- package/esm2022/core/common-behaviors/size.mjs +0 -2
- package/esm2022/core/common-behaviors/tabindex.mjs +0 -20
- package/esm2022/core/datetime/date-adapter.mjs +0 -14
- package/esm2022/core/datetime/date-formats.mjs +0 -3
- package/esm2022/core/datetime/index.mjs +0 -3
- package/esm2022/core/error/error-state-matcher.mjs +0 -56
- package/esm2022/core/form-field/field-sizing-content.mjs +0 -117
- package/esm2022/core/form-field/form-field-ref.mjs +0 -10
- package/esm2022/core/form-field/index.mjs +0 -3
- package/esm2022/core/formatters/date/formatter.mjs +0 -25
- package/esm2022/core/formatters/date/formatter.pipe.mjs +0 -380
- package/esm2022/core/formatters/filesize/config.mjs +0 -32
- package/esm2022/core/formatters/filesize/formatter.mjs +0 -43
- package/esm2022/core/formatters/filesize/index.mjs +0 -4
- package/esm2022/core/formatters/filesize/size.mjs +0 -65
- package/esm2022/core/formatters/index.mjs +0 -146
- package/esm2022/core/formatters/number/formatter.mjs +0 -347
- package/esm2022/core/forms/forms-module.mjs +0 -24
- package/esm2022/core/forms/forms.directive.mjs +0 -66
- package/esm2022/core/forms/index.mjs +0 -4
- package/esm2022/core/forms/validators.mjs +0 -184
- package/esm2022/core/highlight/highlight.pipe.mjs +0 -23
- package/esm2022/core/highlight/index.mjs +0 -19
- package/esm2022/core/index.mjs +0 -2
- package/esm2022/core/koobiq-components-core.mjs +0 -5
- package/esm2022/core/line/line.mjs +0 -70
- package/esm2022/core/locales/en-US.mjs +0 -210
- package/esm2022/core/locales/es-LA.mjs +0 -209
- package/esm2022/core/locales/formatters.mjs +0 -193
- package/esm2022/core/locales/index.mjs +0 -10
- package/esm2022/core/locales/locale-service.mjs +0 -173
- package/esm2022/core/locales/locale-service.module.mjs +0 -19
- package/esm2022/core/locales/pt-BR.mjs +0 -209
- package/esm2022/core/locales/ru-RU.mjs +0 -224
- package/esm2022/core/locales/tk-TM.mjs +0 -210
- package/esm2022/core/locales/types.mjs +0 -2
- package/esm2022/core/navbar/index.mjs +0 -2
- package/esm2022/core/navbar/rectangle-item.mjs +0 -40
- package/esm2022/core/option/action-container.mjs +0 -23
- package/esm2022/core/option/action.mjs +0 -107
- package/esm2022/core/option/index.mjs +0 -6
- package/esm2022/core/option/optgroup.mjs +0 -37
- package/esm2022/core/option/option-module.mjs +0 -20
- package/esm2022/core/option/option.mjs +0 -322
- package/esm2022/core/overlay/overlay-position-map.mjs +0 -251
- package/esm2022/core/pop-up/constants.mjs +0 -55
- package/esm2022/core/pop-up/focus-trap-strategy.mjs +0 -6
- package/esm2022/core/pop-up/index.mjs +0 -6
- package/esm2022/core/pop-up/pop-up-styles.mjs +0 -24
- package/esm2022/core/pop-up/pop-up-trigger.mjs +0 -343
- package/esm2022/core/pop-up/pop-up.mjs +0 -152
- package/esm2022/core/public-api.mjs +0 -24
- package/esm2022/core/select/common.mjs +0 -203
- package/esm2022/core/select/constants.mjs +0 -25
- package/esm2022/core/select/errors.mjs +0 -26
- package/esm2022/core/select/events.mjs +0 -2
- package/esm2022/core/select/index.mjs +0 -5
- package/esm2022/core/selection/constants.mjs +0 -6
- package/esm2022/core/selection/index.mjs +0 -4
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -43
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +0 -18
- package/esm2022/core/services/measure-scrollbar.service.mjs +0 -42
- package/esm2022/core/services/theme.service.mjs +0 -80
- package/esm2022/core/title/index.mjs +0 -2
- package/esm2022/core/title/title-text-ref.mjs +0 -3
- package/esm2022/core/tokens/index.mjs +0 -2
- package/esm2022/core/tokens/window.mjs +0 -19
- package/esm2022/core/utils/dom.mjs +0 -8
- package/esm2022/core/utils/index.mjs +0 -3
- package/esm2022/core/utils/public-api.mjs +0 -2
- package/esm2022/core/utils/utils.mjs +0 -31
- package/esm2022/core/validation/index.mjs +0 -2
- package/esm2022/core/validation/validation.mjs +0 -27
- package/esm2022/core/version.mjs +0 -3
- package/esm2022/datepicker/calendar-body.component.mjs +0 -87
- package/esm2022/datepicker/calendar-header.component.mjs +0 -164
- package/esm2022/datepicker/calendar.component.mjs +0 -185
- package/esm2022/datepicker/datepicker-animations.mjs +0 -32
- package/esm2022/datepicker/datepicker-errors.mjs +0 -6
- package/esm2022/datepicker/datepicker-input.directive.mjs +0 -1119
- package/esm2022/datepicker/datepicker-intl.mjs +0 -40
- package/esm2022/datepicker/datepicker-module.mjs +0 -103
- package/esm2022/datepicker/datepicker-toggle.component.mjs +0 -170
- package/esm2022/datepicker/datepicker.component.mjs +0 -388
- package/esm2022/datepicker/index.mjs +0 -2
- package/esm2022/datepicker/koobiq-components-datepicker.mjs +0 -5
- package/esm2022/datepicker/month-view.component.mjs +0 -148
- package/esm2022/datepicker/public-api.mjs +0 -11
- package/esm2022/divider/divider.component.mjs +0 -49
- package/esm2022/divider/divider.module.mjs +0 -18
- package/esm2022/divider/index.mjs +0 -2
- package/esm2022/divider/koobiq-components-divider.mjs +0 -5
- package/esm2022/divider/public-api.mjs +0 -3
- package/esm2022/dl/dl.component.mjs +0 -81
- package/esm2022/dl/dl.module.mjs +0 -36
- package/esm2022/dl/index.mjs +0 -2
- package/esm2022/dl/koobiq-components-dl.mjs +0 -5
- package/esm2022/dl/public-api.mjs +0 -3
- package/esm2022/dropdown/dropdown-animations.mjs +0 -41
- package/esm2022/dropdown/dropdown-content.directive.mjs +0 -61
- package/esm2022/dropdown/dropdown-errors.mjs +0 -29
- package/esm2022/dropdown/dropdown-item.component.mjs +0 -150
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +0 -513
- package/esm2022/dropdown/dropdown.component.mjs +0 -293
- package/esm2022/dropdown/dropdown.module.mjs +0 -51
- package/esm2022/dropdown/dropdown.types.mjs +0 -23
- package/esm2022/dropdown/index.mjs +0 -2
- package/esm2022/dropdown/koobiq-components-dropdown.mjs +0 -5
- package/esm2022/dropdown/public-api.mjs +0 -9
- package/esm2022/dynamic-translation/dynamic-translation.mjs +0 -175
- package/esm2022/dynamic-translation/index.mjs +0 -3
- package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +0 -5
- package/esm2022/dynamic-translation/module.mjs +0 -25
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +0 -120
- package/esm2022/ellipsis-center/index.mjs +0 -2
- package/esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs +0 -5
- package/esm2022/ellipsis-center/public-api.mjs +0 -2
- package/esm2022/empty-state/empty-state.component.mjs +0 -109
- package/esm2022/empty-state/empty-state.module.mjs +0 -44
- package/esm2022/empty-state/index.mjs +0 -2
- package/esm2022/empty-state/koobiq-components-empty-state.mjs +0 -5
- package/esm2022/empty-state/public-api.mjs +0 -3
- package/esm2022/file-upload/file-drop.mjs +0 -87
- package/esm2022/file-upload/file-upload.mjs +0 -71
- package/esm2022/file-upload/file-upload.module.mjs +0 -79
- package/esm2022/file-upload/index.mjs +0 -2
- package/esm2022/file-upload/koobiq-components-file-upload.mjs +0 -5
- package/esm2022/file-upload/multiple-file-upload.component.mjs +0 -306
- package/esm2022/file-upload/public-api.mjs +0 -6
- package/esm2022/file-upload/single-file-upload.component.mjs +0 -257
- package/esm2022/filter-bar/filter-bar-button.mjs +0 -31
- package/esm2022/filter-bar/filter-bar.mjs +0 -213
- package/esm2022/filter-bar/filter-bar.module.mjs +0 -67
- package/esm2022/filter-bar/filter-bar.types.mjs +0 -72
- package/esm2022/filter-bar/filter-refresher.mjs +0 -34
- package/esm2022/filter-bar/filter-reset.mjs +0 -49
- package/esm2022/filter-bar/filter-search.mjs +0 -173
- package/esm2022/filter-bar/filters.mjs +0 -266
- package/esm2022/filter-bar/index.mjs +0 -2
- package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +0 -5
- package/esm2022/filter-bar/pipe-add.mjs +0 -140
- package/esm2022/filter-bar/pipe.directive.mjs +0 -37
- package/esm2022/filter-bar/pipes/base-pipe.mjs +0 -146
- package/esm2022/filter-bar/pipes/pipe-button.mjs +0 -72
- package/esm2022/filter-bar/pipes/pipe-date.mjs +0 -206
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +0 -208
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +0 -188
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +0 -260
- package/esm2022/filter-bar/pipes/pipe-readonly.mjs +0 -68
- package/esm2022/filter-bar/pipes/pipe-select.mjs +0 -101
- package/esm2022/filter-bar/pipes/pipe-state.mjs +0 -53
- package/esm2022/filter-bar/pipes/pipe-text.mjs +0 -104
- package/esm2022/filter-bar/pipes/pipe-title.mjs +0 -102
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +0 -142
- package/esm2022/filter-bar/public-api.mjs +0 -22
- package/esm2022/form-field/cleaner.mjs +0 -28
- package/esm2022/form-field/error.mjs +0 -20
- package/esm2022/form-field/fieldset.mjs +0 -84
- package/esm2022/form-field/form-field-control.mjs +0 -4
- package/esm2022/form-field/form-field.mjs +0 -447
- package/esm2022/form-field/form-field.module.mjs +0 -87
- package/esm2022/form-field/hint.mjs +0 -36
- package/esm2022/form-field/index.mjs +0 -2
- package/esm2022/form-field/koobiq-components-form-field.mjs +0 -5
- package/esm2022/form-field/label.mjs +0 -19
- package/esm2022/form-field/password-hint.mjs +0 -165
- package/esm2022/form-field/password-toggle.mjs +0 -129
- package/esm2022/form-field/prefix.mjs +0 -19
- package/esm2022/form-field/public-api.mjs +0 -16
- package/esm2022/form-field/reactive-password-hint.mjs +0 -66
- package/esm2022/form-field/stepper.mjs +0 -144
- package/esm2022/form-field/suffix.mjs +0 -18
- package/esm2022/form-field/validate.directive.mjs +0 -190
- package/esm2022/icon/icon-button.component.mjs +0 -64
- package/esm2022/icon/icon-item.component.mjs +0 -31
- package/esm2022/icon/icon.component.mjs +0 -56
- package/esm2022/icon/icon.module.mjs +0 -27
- package/esm2022/icon/index.mjs +0 -2
- package/esm2022/icon/koobiq-components-icon.mjs +0 -5
- package/esm2022/icon/public-api.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/inline-edit/index.mjs +0 -3
- package/esm2022/inline-edit/inline-edit.mjs +0 -382
- package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +0 -5
- package/esm2022/inline-edit/module.mjs +0 -25
- package/esm2022/input/index.mjs +0 -2
- package/esm2022/input/input-errors.mjs +0 -4
- package/esm2022/input/input-number-validators.mjs +0 -88
- package/esm2022/input/input-number.mjs +0 -386
- package/esm2022/input/input-password.mjs +0 -253
- package/esm2022/input/input-value-accessor.mjs +0 -3
- package/esm2022/input/input.mjs +0 -299
- package/esm2022/input/input.module.mjs +0 -58
- package/esm2022/input/koobiq-components-input.mjs +0 -5
- package/esm2022/input/public-api.mjs +0 -7
- package/esm2022/koobiq-components.mjs +0 -5
- package/esm2022/link/index.mjs +0 -2
- package/esm2022/link/koobiq-components-link.mjs +0 -5
- package/esm2022/link/link.component.mjs +0 -143
- package/esm2022/link/link.module.mjs +0 -20
- package/esm2022/link/public-api.mjs +0 -3
- package/esm2022/list/index.mjs +0 -2
- package/esm2022/list/koobiq-components-list.mjs +0 -5
- package/esm2022/list/list-selection.component.mjs +0 -745
- package/esm2022/list/list.component.mjs +0 -43
- package/esm2022/list/list.module.mjs +0 -60
- package/esm2022/list/public-api.mjs +0 -4
- package/esm2022/loader-overlay/index.mjs +0 -2
- package/esm2022/loader-overlay/koobiq-components-loader-overlay.mjs +0 -5
- package/esm2022/loader-overlay/loader-overlay.component.mjs +0 -110
- package/esm2022/loader-overlay/loader-overlay.module.mjs +0 -44
- package/esm2022/loader-overlay/public-api.mjs +0 -3
- package/esm2022/markdown/index.mjs +0 -2
- package/esm2022/markdown/koobiq-components-markdown.mjs +0 -5
- package/esm2022/markdown/markdown.component.mjs +0 -67
- package/esm2022/markdown/markdown.module.mjs +0 -21
- package/esm2022/markdown/markdown.service.mjs +0 -36
- package/esm2022/markdown/markdown.values.mjs +0 -35
- package/esm2022/markdown/public-api.mjs +0 -5
- package/esm2022/modal/css-unit.pipe.mjs +0 -17
- package/esm2022/modal/index.mjs +0 -2
- package/esm2022/modal/koobiq-components-modal.mjs +0 -5
- package/esm2022/modal/modal-control.service.mjs +0 -89
- package/esm2022/modal/modal-ref.class.mjs +0 -7
- package/esm2022/modal/modal-util.mjs +0 -22
- package/esm2022/modal/modal.component.mjs +0 -540
- package/esm2022/modal/modal.directive.mjs +0 -94
- package/esm2022/modal/modal.module.mjs +0 -78
- package/esm2022/modal/modal.service.mjs +0 -135
- package/esm2022/modal/modal.type.mjs +0 -7
- package/esm2022/modal/public-api.mjs +0 -7
- package/esm2022/navbar/index.mjs +0 -2
- package/esm2022/navbar/koobiq-components-navbar.mjs +0 -5
- package/esm2022/navbar/navbar-brand.component.mjs +0 -105
- package/esm2022/navbar/navbar-item.component.mjs +0 -428
- package/esm2022/navbar/navbar-toggle.component.mjs +0 -88
- package/esm2022/navbar/navbar.component.mjs +0 -251
- package/esm2022/navbar/navbar.module.mjs +0 -84
- package/esm2022/navbar/public-api.mjs +0 -7
- package/esm2022/navbar/vertical-navbar.component.mjs +0 -128
- package/esm2022/navbar-ic/index.mjs +0 -2
- package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +0 -5
- package/esm2022/navbar-ic/navbar-ic-header.mjs +0 -74
- package/esm2022/navbar-ic/navbar-ic-item.mjs +0 -390
- package/esm2022/navbar-ic/navbar-ic.animation.mjs +0 -17
- package/esm2022/navbar-ic/navbar-ic.mjs +0 -310
- package/esm2022/navbar-ic/navbar-ic.module.mjs +0 -74
- package/esm2022/navbar-ic/public-api.mjs +0 -5
- package/esm2022/notification-center/index.mjs +0 -2
- package/esm2022/notification-center/koobiq-components-notification-center.mjs +0 -5
- package/esm2022/notification-center/notification-center-animations.mjs +0 -18
- package/esm2022/notification-center/notification-center.mjs +0 -329
- package/esm2022/notification-center/notification-center.module.mjs +0 -38
- package/esm2022/notification-center/notification-center.service.mjs +0 -127
- package/esm2022/notification-center/notification-item.mjs +0 -70
- package/esm2022/notification-center/public-api.mjs +0 -5
- package/esm2022/overflow-items/index.mjs +0 -3
- package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +0 -5
- package/esm2022/overflow-items/module.mjs +0 -25
- package/esm2022/overflow-items/overflow-items.mjs +0 -290
- package/esm2022/popover/index.mjs +0 -2
- package/esm2022/popover/koobiq-components-popover.mjs +0 -5
- package/esm2022/popover/popover-animations.mjs +0 -16
- package/esm2022/popover/popover-confirm.component.mjs +0 -97
- package/esm2022/popover/popover.component.mjs +0 -410
- package/esm2022/popover/popover.module.mjs +0 -67
- package/esm2022/popover/public-api.mjs +0 -5
- package/esm2022/progress-bar/index.mjs +0 -2
- package/esm2022/progress-bar/koobiq-components-progress-bar.mjs +0 -5
- package/esm2022/progress-bar/progress-bar.component.mjs +0 -62
- package/esm2022/progress-bar/progress-bar.module.mjs +0 -32
- package/esm2022/progress-bar/public-api.mjs +0 -3
- package/esm2022/progress-spinner/index.mjs +0 -2
- package/esm2022/progress-spinner/koobiq-components-progress-spinner.mjs +0 -5
- package/esm2022/progress-spinner/progress-spinner.component.mjs +0 -78
- package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -35
- package/esm2022/progress-spinner/public-api.mjs +0 -3
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/radio/index.mjs +0 -2
- package/esm2022/radio/koobiq-components-radio.mjs +0 -5
- package/esm2022/radio/public-api.mjs +0 -3
- package/esm2022/radio/radio.component.mjs +0 -451
- package/esm2022/radio/radio.module.mjs +0 -18
- package/esm2022/resizer/index.mjs +0 -3
- package/esm2022/resizer/koobiq-components-resizer.mjs +0 -5
- package/esm2022/resizer/module.mjs +0 -17
- package/esm2022/resizer/resizer.mjs +0 -135
- package/esm2022/risk-level/index.mjs +0 -2
- package/esm2022/risk-level/koobiq-components-risk-level.mjs +0 -5
- package/esm2022/risk-level/public-api.mjs +0 -3
- package/esm2022/risk-level/risk-level.component.mjs +0 -40
- package/esm2022/risk-level/risk-level.module.mjs +0 -24
- package/esm2022/scrollbar/index.mjs +0 -2
- package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +0 -5
- package/esm2022/scrollbar/public-api.mjs +0 -5
- package/esm2022/scrollbar/scrollbar.component.mjs +0 -133
- package/esm2022/scrollbar/scrollbar.directive.mjs +0 -105
- package/esm2022/scrollbar/scrollbar.module.mjs +0 -25
- package/esm2022/scrollbar/scrollbar.types.mjs +0 -14
- package/esm2022/search-expandable/index.mjs +0 -2
- package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +0 -5
- package/esm2022/search-expandable/public-api.mjs +0 -3
- package/esm2022/search-expandable/search-expandable.mjs +0 -177
- package/esm2022/search-expandable/search-expandable.module.mjs +0 -18
- package/esm2022/select/index.mjs +0 -2
- package/esm2022/select/koobiq-components-select.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -4
- package/esm2022/select/select-option.directive.mjs +0 -69
- package/esm2022/select/select.component.mjs +0 -1154
- package/esm2022/select/select.module.mjs +0 -81
- package/esm2022/sidebar/index.mjs +0 -2
- package/esm2022/sidebar/koobiq-components-sidebar.mjs +0 -5
- package/esm2022/sidebar/public-api.mjs +0 -3
- package/esm2022/sidebar/sidebar-animations.mjs +0 -23
- package/esm2022/sidebar/sidebar.component.mjs +0 -169
- package/esm2022/sidebar/sidebar.module.mjs +0 -30
- package/esm2022/sidepanel/index.mjs +0 -2
- package/esm2022/sidepanel/koobiq-components-sidepanel.mjs +0 -5
- package/esm2022/sidepanel/public-api.mjs +0 -7
- package/esm2022/sidepanel/sidepanel-animations.mjs +0 -29
- package/esm2022/sidepanel/sidepanel-config.mjs +0 -33
- package/esm2022/sidepanel/sidepanel-container.component.mjs +0 -126
- package/esm2022/sidepanel/sidepanel-directives.mjs +0 -168
- package/esm2022/sidepanel/sidepanel-ref.mjs +0 -60
- package/esm2022/sidepanel/sidepanel.module.mjs +0 -73
- package/esm2022/sidepanel/sidepanel.service.mjs +0 -167
- package/esm2022/split-button/index.mjs +0 -2
- package/esm2022/split-button/koobiq-components-split-button.mjs +0 -5
- package/esm2022/split-button/public-api.mjs +0 -3
- package/esm2022/split-button/split-button.mjs +0 -133
- package/esm2022/split-button/split-button.module.mjs +0 -18
- package/esm2022/splitter/index.mjs +0 -2
- package/esm2022/splitter/koobiq-components-splitter.mjs +0 -5
- package/esm2022/splitter/public-api.mjs +0 -3
- package/esm2022/splitter/splitter.component.mjs +0 -492
- package/esm2022/splitter/splitter.module.mjs +0 -34
- package/esm2022/table/index.mjs +0 -2
- package/esm2022/table/koobiq-components-table.mjs +0 -5
- package/esm2022/table/public-api.mjs +0 -3
- package/esm2022/table/table.component.mjs +0 -36
- package/esm2022/table/table.module.mjs +0 -32
- package/esm2022/tabs/index.mjs +0 -2
- package/esm2022/tabs/koobiq-components-tabs.mjs +0 -5
- package/esm2022/tabs/paginated-tab-header.mjs +0 -490
- package/esm2022/tabs/public-api.mjs +0 -11
- package/esm2022/tabs/tab-body.component.mjs +0 -178
- package/esm2022/tabs/tab-content.directive.mjs +0 -15
- package/esm2022/tabs/tab-group.component.mjs +0 -384
- package/esm2022/tabs/tab-header.component.mjs +0 -60
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +0 -86
- package/esm2022/tabs/tab-label.directive.mjs +0 -17
- package/esm2022/tabs/tab-nav-bar.mjs +0 -292
- package/esm2022/tabs/tab.component.mjs +0 -145
- package/esm2022/tabs/tabs-animations.mjs +0 -24
- package/esm2022/tabs/tabs.module.mjs +0 -95
- package/esm2022/tags/index.mjs +0 -2
- package/esm2022/tags/koobiq-components-tags.mjs +0 -5
- package/esm2022/tags/public-api.mjs +0 -6
- package/esm2022/tags/tag-default-options.mjs +0 -4
- package/esm2022/tags/tag-input.mjs +0 -281
- package/esm2022/tags/tag-list.component.mjs +0 -765
- package/esm2022/tags/tag-text-control.mjs +0 -2
- package/esm2022/tags/tag.component.mjs +0 -647
- package/esm2022/tags/tag.module.mjs +0 -67
- package/esm2022/textarea/index.mjs +0 -2
- package/esm2022/textarea/koobiq-components-textarea.mjs +0 -5
- package/esm2022/textarea/public-api.mjs +0 -3
- package/esm2022/textarea/textarea.component.mjs +0 -300
- package/esm2022/textarea/textarea.module.mjs +0 -20
- package/esm2022/time-range/constants.mjs +0 -42
- package/esm2022/time-range/index.mjs +0 -8
- package/esm2022/time-range/koobiq-components-time-range.mjs +0 -5
- package/esm2022/time-range/module.mjs +0 -36
- package/esm2022/time-range/time-range-editor.mjs +0 -224
- package/esm2022/time-range/time-range-title-as-form-field.mjs +0 -60
- package/esm2022/time-range/time-range-title.mjs +0 -112
- package/esm2022/time-range/time-range.mjs +0 -234
- package/esm2022/time-range/time-range.service.mjs +0 -126
- package/esm2022/time-range/types.mjs +0 -2
- package/esm2022/timepicker/index.mjs +0 -2
- package/esm2022/timepicker/koobiq-components-timepicker.mjs +0 -5
- package/esm2022/timepicker/public-api.mjs +0 -4
- package/esm2022/timepicker/timepicker.constants.mjs +0 -29
- package/esm2022/timepicker/timepicker.directive.mjs +0 -686
- package/esm2022/timepicker/timepicker.module.mjs +0 -29
- package/esm2022/timezone/cities-by-filter.pipe.mjs +0 -17
- package/esm2022/timezone/index.mjs +0 -2
- package/esm2022/timezone/koobiq-components-timezone.mjs +0 -5
- package/esm2022/timezone/public-api.mjs +0 -7
- package/esm2022/timezone/timezone-option.component.mjs +0 -50
- package/esm2022/timezone/timezone-option.directive.mjs +0 -54
- package/esm2022/timezone/timezone-select.component.mjs +0 -55
- package/esm2022/timezone/timezone.models.mjs +0 -2
- package/esm2022/timezone/timezone.module.mjs +0 -82
- package/esm2022/timezone/timezone.utils.mjs +0 -80
- package/esm2022/timezone/utc-offset.pipe.mjs +0 -17
- package/esm2022/title/index.mjs +0 -2
- package/esm2022/title/koobiq-components-title.mjs +0 -5
- package/esm2022/title/public-api.mjs +0 -3
- package/esm2022/title/title.directive.mjs +0 -108
- package/esm2022/title/title.module.mjs +0 -18
- package/esm2022/toast/index.mjs +0 -2
- package/esm2022/toast/koobiq-components-toast.mjs +0 -5
- package/esm2022/toast/public-api.mjs +0 -6
- package/esm2022/toast/toast-animations.mjs +0 -10
- package/esm2022/toast/toast-container.component.mjs +0 -57
- package/esm2022/toast/toast.component.mjs +0 -125
- package/esm2022/toast/toast.module.mjs +0 -26
- package/esm2022/toast/toast.service.mjs +0 -197
- package/esm2022/toast/toast.type.mjs +0 -39
- package/esm2022/toggle/index.mjs +0 -2
- package/esm2022/toggle/koobiq-components-toggle.mjs +0 -5
- package/esm2022/toggle/public-api.mjs +0 -3
- package/esm2022/toggle/toggle.component.mjs +0 -254
- package/esm2022/toggle/toggle.module.mjs +0 -18
- package/esm2022/tooltip/index.mjs +0 -2
- package/esm2022/tooltip/koobiq-components-tooltip.mjs +0 -5
- package/esm2022/tooltip/public-api.mjs +0 -3
- package/esm2022/tooltip/tooltip.animations.mjs +0 -19
- package/esm2022/tooltip/tooltip.component.mjs +0 -400
- package/esm2022/tooltip/tooltip.module.mjs +0 -35
- package/esm2022/top-bar/index.mjs +0 -2
- package/esm2022/top-bar/koobiq-components-top-bar.mjs +0 -5
- package/esm2022/top-bar/module.mjs +0 -25
- package/esm2022/top-bar/public-api.mjs +0 -3
- package/esm2022/top-bar/top-bar.mjs +0 -74
- package/esm2022/tree/control/base-tree-control.mjs +0 -59
- package/esm2022/tree/control/flat-tree-control.filters.mjs +0 -52
- package/esm2022/tree/control/flat-tree-control.mjs +0 -109
- package/esm2022/tree/control/nested-tree-control.mjs +0 -40
- package/esm2022/tree/control/tree-control.mjs +0 -2
- package/esm2022/tree/data-source/flat-data-source.mjs +0 -157
- package/esm2022/tree/data-source/nested-data-source.mjs +0 -28
- package/esm2022/tree/index.mjs +0 -2
- package/esm2022/tree/koobiq-components-tree.mjs +0 -5
- package/esm2022/tree/node.mjs +0 -31
- package/esm2022/tree/outlet.mjs +0 -15
- package/esm2022/tree/padding.directive.mjs +0 -108
- package/esm2022/tree/public-api.mjs +0 -17
- package/esm2022/tree/toggle.mjs +0 -93
- package/esm2022/tree/tree-base.mjs +0 -236
- package/esm2022/tree/tree-errors.mjs +0 -36
- package/esm2022/tree/tree-option.component.mjs +0 -303
- package/esm2022/tree/tree-selection.component.mjs +0 -568
- package/esm2022/tree/tree.mjs +0 -19
- package/esm2022/tree/tree.module.mjs +0 -64
- package/esm2022/tree-select/index.mjs +0 -2
- package/esm2022/tree-select/koobiq-components-tree-select.mjs +0 -5
- package/esm2022/tree-select/public-api.mjs +0 -3
- package/esm2022/tree-select/tree-select.component.mjs +0 -1034
- package/esm2022/tree-select/tree-select.module.mjs +0 -71
- package/esm2022/username/constants.mjs +0 -25
- package/esm2022/username/index.mjs +0 -6
- package/esm2022/username/koobiq-components-username.mjs +0 -5
- package/esm2022/username/module.mjs +0 -35
- package/esm2022/username/types.mjs +0 -32
- package/esm2022/username/username.mjs +0 -129
- package/esm2022/username/username.pipe.mjs +0 -92
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-breadcrumbs.mjs","sources":["../../../packages/components/breadcrumbs/breadcrumbs.ts","../../../packages/components/breadcrumbs/breadcrumbs.html","../../../packages/components/breadcrumbs/breadcrumbs.module.ts","../../../packages/components/breadcrumbs/koobiq-components-breadcrumbs.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n Input,\n OnInit,\n Provider,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RouterLink } from '@angular/router';\nimport { KbqButton, KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport { KbqComponentColors, KbqDefaultSizes, PopUpPlacements } from '@koobiq/components/core';\nimport { KbqDropdownModule } from '@koobiq/components/dropdown';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqOverflowItem, KbqOverflowItemsModule, KbqOverflowItemsResult } from '@koobiq/components/overflow-items';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { RdxRovingFocusGroupDirective, RdxRovingFocusItemDirective } from '@radix-ng/primitives/roving-focus';\nimport { KbqBreadcrumbsConfiguration, KbqBreadcrumbsWrapMode } from './breadcrumbs.types';\n\nconst KBQ_BREADCRUMBS_DEFAULT_CONFIGURATION: KbqBreadcrumbsConfiguration = {\n max: 4,\n size: 'normal',\n firstItemNegativeMargin: true,\n wrapMode: 'auto'\n};\n\n/** Breadcrumbs options global configuration provider. */\nexport const KBQ_BREADCRUMBS_CONFIGURATION = new InjectionToken<KbqBreadcrumbsConfiguration>(\n 'KBQ_BREADCRUMBS_CONFIGURATION',\n { factory: () => KBQ_BREADCRUMBS_DEFAULT_CONFIGURATION }\n);\n\n/** Utility provider for `KBQ_BREADCRUMBS_CONFIGURATION`. */\nexport const kbqBreadcrumbsConfigurationProvider = (configuration: Partial<KbqBreadcrumbsConfiguration>): Provider => ({\n provide: KBQ_BREADCRUMBS_CONFIGURATION,\n useValue: { ...KBQ_BREADCRUMBS_DEFAULT_CONFIGURATION, ...configuration }\n});\n\n@Directive({\n selector: 'ng-template[kbqBreadcrumbsSeparator]',\n standalone: true,\n host: {\n class: 'kbq-breadcrumbs-separator'\n }\n})\nexport class KbqBreadcrumbsSeparator {\n readonly templateRef = inject(TemplateRef);\n}\n\n/**\n * Directive to style and configure buttons used as breadcrumb items.\n * - Inherits focus management behavior from `RdxRovingFocusItemDirective`.\n * - Optionally injects `KbqButton` to customize its style for breadcrumb usage.\n */\n@Directive({\n standalone: true,\n selector: '[kbq-button][kbqBreadcrumb]',\n host: { class: 'kbq-breadcrumb-item' },\n hostDirectives: [\n {\n directive: RdxRovingFocusItemDirective,\n inputs: ['focusable']\n }\n ]\n})\nexport class KbqBreadcrumbButton implements OnInit {\n private readonly button = inject(KbqButton, { optional: true, self: true });\n\n ngOnInit() {\n if (this.button) {\n this.button.color = KbqComponentColors.Contrast;\n this.button.kbqStyle = KbqButtonStyles.Transparent;\n }\n }\n}\n\n/**\n * Directive provides a way to define a custom template for breadcrumb rendering, leveraging TemplateRef\n *\n */\n@Directive({\n standalone: true,\n selector: '[kbqBreadcrumbView]'\n})\nexport class KbqBreadcrumbView {\n readonly templateRef = inject(TemplateRef);\n}\n\n/**\n * Component represents an individual breadcrumb item with optional support for router navigation and styling.\n */\n@Component({\n standalone: true,\n selector: 'kbq-breadcrumb-item',\n template: `\n <ng-content />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.tabIndex]': 'null'\n }\n})\nexport class KbqBreadcrumbItem {\n /**\n * The text displayed for the breadcrumb item.\n * This text will be shown if breadcrumb item is hidden in dropdown.\n */\n @Input() text: string;\n /**\n * Indicates whether the breadcrumb item is disabled.\n */\n @Input({ transform: booleanAttribute }) disabled: boolean;\n /**\n * Indicates whether the breadcrumb item is the current/active item.\n * Defaults to `false`.\n */\n @Input({ transform: booleanAttribute }) current: boolean = false;\n /**\n * A reference to a custom template provided for the breadcrumb item content.\n * The template can be used to override the default appearance of the breadcrumb.\n */\n @ContentChild(KbqBreadcrumbView, { read: TemplateRef }) customTemplateRef: TemplateRef<any>;\n /**\n * An optional `RouterLink` instance for navigating to a specific route.\n * Injected from the host element, if available and projecting to the hidden breadcrumb item in dropdown.\n */\n readonly routerLink = inject(RouterLink, { optional: true, host: true });\n}\n\n@Component({\n standalone: true,\n selector: 'kbq-breadcrumbs,[kbq-breadcrumbs]',\n templateUrl: './breadcrumbs.html',\n styleUrls: ['./breadcrumbs.scss', './breadcrumbs-tokens.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n RouterLink,\n KbqIconModule,\n KbqButtonModule,\n KbqDropdownModule,\n KbqBreadcrumbButton,\n KbqTitleModule,\n KbqOverflowItemsModule\n ],\n host: {\n class: 'kbq-breadcrumbs',\n '[class.kbq-breadcrumbs_compact]': 'size === \"compact\"',\n '[class.kbq-breadcrumbs_normal]': 'size === \"normal\"',\n '[class.kbq-breadcrumbs_big]': 'size === \"big\"',\n '[class.kbq-breadcrumbs_wrap]': 'wrapMode === \"wrap\"',\n '[class.kbq-breadcrumbs_first-item-negative-margin]': 'firstItemNegativeMargin',\n '[attr.aria-label]': \"'breadcrumb'\"\n },\n hostDirectives: [RdxRovingFocusGroupDirective]\n})\nexport class KbqBreadcrumbs implements AfterContentInit {\n protected readonly configuration = inject(KBQ_BREADCRUMBS_CONFIGURATION);\n /**\n * Determines if a negative margin should be applied to the first breadcrumb item.\n *\n * @see KbqBreadcrumbsConfiguration\n */\n @Input({ transform: booleanAttribute }) firstItemNegativeMargin: boolean =\n this.configuration.firstItemNegativeMargin;\n /**\n * Size of the breadcrumbs. Affects font size.\n * Default value is taken from the global configuration.\n */\n @Input() size: KbqDefaultSizes = this.configuration.size;\n /**\n * Maximum number of visible breadcrumb items.\n * Remaining items are collapsed into a dropdown if the total exceeds this value.\n * Default value is taken from the global configuration.\n */\n @Input() max: number | null = this.configuration.max;\n /**\n * Indicates whether the breadcrumbs are disabled.\n * When disabled, user interactions are blocked.\n */\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n /**\n * Wrapping behavior of the breadcrumb items.\n */\n @Input() wrapMode: KbqBreadcrumbsWrapMode = this.configuration.wrapMode;\n\n @ContentChild(KbqBreadcrumbsSeparator, { read: TemplateRef })\n protected readonly separator?: TemplateRef<any>;\n\n @ContentChildren(forwardRef(() => KbqBreadcrumbItem))\n protected readonly items: QueryList<KbqBreadcrumbItem>;\n\n @ViewChild(KbqOverflowItemsResult, { read: ElementRef })\n private readonly result: ElementRef;\n\n @ViewChildren(KbqOverflowItem, { read: ElementRef })\n private readonly overflowItems: QueryList<ElementRef>;\n\n /**\n * Ensures at least minimum number of breadcrumb items are shown.\n */\n protected readonly minVisibleItems = 2;\n protected readonly KbqComponentColors = KbqComponentColors;\n protected readonly KbqButtonStyles = KbqButtonStyles;\n protected readonly PopUpPlacements = PopUpPlacements;\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n\n /** @docs-private */\n protected get itemsExcludingEdges() {\n return this.items.toArray().slice(1, -1);\n }\n\n /**\n * Calculates the total width of visible items based on the `max` value and overflow items.\n * @returns {number | null} The computed max width for overflow items or null if conditions are not met.\n * @docs-private\n */\n protected get maxWidth(): number | null {\n if (\n !this.overflowItems ||\n !this.overflowItems.length ||\n this.max === null ||\n this.max >= this.items.length ||\n this.max < this.minVisibleItems\n ) {\n return null;\n }\n\n let visibleItemsWidth = this.getItemWidth(this.result);\n // Reorders overflow items to prioritize the first and last elements\n const sortedItems = [\n ...this.overflowItems.toArray().slice(1, -1),\n this.overflowItems.first,\n this.overflowItems.last\n ];\n\n for (let i = 0; i < this.max - 1; i++) {\n visibleItemsWidth += this.getItemWidth(sortedItems[sortedItems.length - i - 1]);\n }\n\n return visibleItemsWidth;\n }\n\n constructor() {\n inject(RdxRovingFocusGroupDirective, { self: true }).orientation = 'horizontal';\n }\n\n ngAfterContentInit() {\n this.items.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.cdr.markForCheck());\n }\n\n private getItemWidth(item?: ElementRef) {\n return item ? item.nativeElement.offsetWidth : 0;\n }\n}\n","<!--\n@TODO: check when updated to Angular 20.x (#DS-4034)\nresolved SSR issue with official hack https://github.com/angular/angular/issues/50543#issuecomment-1572900259\n-->\n<ng-content />\n@if (items.length < minVisibleItems || wrapMode !== 'auto') {\n @for (item of items; track item; let last = $last) {\n <div class=\"kbq-breadcrumb-item__container\">\n <ng-container *ngTemplateOutlet=\"breadcrumbTemplate; context: { $implicit: item, last: last }\" />\n @if (!last) {\n <ng-container [ngTemplateOutlet]=\"separatorTemplate\" />\n }\n </div>\n }\n} @else {\n <div\n #kbqOverflowItems=\"kbqOverflowItems\"\n kbqOverflowItems\n reverseOverflowOrder\n class=\"layout-align-start-center\"\n [style.max-width.px]=\"maxWidth\"\n >\n <div class=\"kbq-breadcrumb-item__container\" [kbqOverflowItem]=\"0\" [order]=\"items.length\">\n <ng-container *ngTemplateOutlet=\"breadcrumbTemplate; context: { $implicit: items.first, last: false }\" />\n <ng-container [ngTemplateOutlet]=\"separatorTemplate\" />\n </div>\n <!-- @TODO delay rendering for proper elements order (#DS-3334)--->\n @if (true) {\n <div kbqOverflowItemsResult class=\"kbq-breadcrumb-item__container\">\n <button\n kbq-button\n kbqBreadcrumb\n class=\"kbq-breadcrumb__expand\"\n [kbqDropdownTriggerFor]=\"hiddenBreadcrumbsDropdown\"\n [kbqStyle]=\"KbqButtonStyles.Transparent\"\n >\n <i kbq-icon=\"kbq-ellipsis-horizontal_16\" [color]=\"KbqComponentColors.ContrastFade\"></i>\n </button>\n <ng-container [ngTemplateOutlet]=\"separatorTemplate\" />\n\n <kbq-dropdown #hiddenBreadcrumbsDropdown=\"kbqDropdown\">\n @for (item of items; track item) {\n @if (kbqOverflowItems.hiddenItemIDs().has($index)) {\n <a kbq-dropdown-item [routerLink]=\"item.routerLink?.urlTree\" [disabled]=\"item.disabled\">\n {{ item.text }}\n </a>\n }\n }\n </kbq-dropdown>\n </div>\n }\n @for (item of itemsExcludingEdges; track item; let index = $index) {\n <div class=\"kbq-breadcrumb-item__container\" [kbqOverflowItem]=\"index + 1\">\n <ng-container *ngTemplateOutlet=\"breadcrumbTemplate; context: { $implicit: item, last: false }\" />\n <ng-container [ngTemplateOutlet]=\"separatorTemplate\" />\n </div>\n }\n <div alwaysVisible class=\"kbq-breadcrumb-item__container\" [kbqOverflowItem]=\"items.length - 1\">\n <ng-container *ngTemplateOutlet=\"breadcrumbTemplate; context: { $implicit: items.last, last: true }\" />\n </div>\n </div>\n}\n\n<ng-template #breadcrumbTemplate let-item let-last=\"last\">\n @if (item.customTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"item.customTemplateRef\" />\n } @else {\n <a\n kbq-button\n kbq-title\n kbqBreadcrumb\n [focusable]=\"!item.disabled && !last\"\n [routerLink]=\"item.routerLink?.urlTree\"\n [attr.aria-current]=\"last ? 'page' : null\"\n [disabled]=\"item.disabled || last\"\n [kbqPlacementPriority]=\"PopUpPlacements.Bottom\"\n [kbqTooltipArrow]=\"false\"\n >\n {{ item.text }}\n </a>\n }\n</ng-template>\n\n<ng-template #separatorTemplate>\n @if (separator) {\n <ng-container [ngTemplateOutlet]=\"separator\" />\n } @else {\n <i kbq-icon=\"\" class=\"kbq-breadcrumb__separator\" [color]=\"KbqComponentColors.ContrastFade\"> / </i>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport {\n KbqBreadcrumbButton,\n KbqBreadcrumbItem,\n KbqBreadcrumbs,\n KbqBreadcrumbsSeparator,\n KbqBreadcrumbView\n} from './breadcrumbs';\n\nconst COMPONENTS = [\n KbqBreadcrumbs,\n KbqBreadcrumbItem,\n KbqBreadcrumbView,\n KbqBreadcrumbsSeparator,\n KbqBreadcrumbButton\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-breadcrumbs.mjs","sources":["../../../packages/components/breadcrumbs/utils.ts","../../../packages/components/breadcrumbs/roving-focus-group.directive.ts","../../../packages/components/breadcrumbs/roving-focus-item.directive.ts","../../../packages/components/breadcrumbs/breadcrumbs.ts","../../../packages/components/breadcrumbs/breadcrumbs.html","../../../packages/components/breadcrumbs/breadcrumbs.module.ts","../../../packages/components/breadcrumbs/koobiq-components-breadcrumbs.ts"],"sourcesContent":["export type Orientation = 'horizontal' | 'vertical';\nexport type Direction = 'ltr' | 'rtl';\n\nexport const ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';\nexport const EVENT_OPTIONS = { bubbles: false, cancelable: true };\n\ntype FocusIntent = 'first' | 'last' | 'prev' | 'next';\n\nexport const MAP_KEY_TO_FOCUS_INTENT: Record<string, FocusIntent> = {\n ArrowLeft: 'prev',\n ArrowUp: 'prev',\n ArrowRight: 'next',\n ArrowDown: 'next',\n PageUp: 'first',\n Home: 'first',\n PageDown: 'last',\n End: 'last'\n};\n\nexport function getDirectionAwareKey(key: string, dir?: Direction) {\n if (dir !== 'rtl') return key;\n\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n}\n\nexport function getFocusIntent(event: KeyboardEvent, orientation?: Orientation, dir?: Direction) {\n const key = getDirectionAwareKey(event.key, dir);\n\n if (orientation === 'vertical' && ['ArrowLeft', 'ArrowRight'].includes(key)) return undefined;\n if (orientation === 'horizontal' && ['ArrowUp', 'ArrowDown'].includes(key)) return undefined;\n\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\n\nexport function focusFirst(candidates: HTMLElement[], preventScroll = false, rootNode?: Document | ShadowRoot) {\n // eslint-disable-next-line no-restricted-globals\n const PREVIOUSLY_FOCUSED_ELEMENT = rootNode?.activeElement ?? window.document.activeElement;\n\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n // eslint-disable-next-line no-restricted-globals\n if (window.document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nexport function wrapArray<T>(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\n\nexport function generateId(): string {\n return `rf-item-${Math.random().toString(36).slice(2, 11)}`;\n}\n","import {\n booleanAttribute,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n Output,\n signal\n} from '@angular/core';\nimport { Direction, ENTRY_FOCUS, EVENT_OPTIONS, focusFirst, Orientation } from './utils';\n\n@Directive({\n selector: '[rdxRovingFocusGroup]',\n host: {\n '[attr.data-orientation]': 'dataOrientation',\n '[attr.tabindex]': 'tabIndex',\n '[attr.dir]': 'dir',\n '(focus)': 'handleFocus($event)',\n '(blur)': 'handleBlur()',\n '(mouseup)': 'handleMouseUp()',\n '(mousedown)': 'handleMouseDown()',\n style: 'outline: none;'\n }\n})\nexport class RdxRovingFocusGroupDirective {\n private readonly ngZone = inject(NgZone);\n private readonly elementRef = inject(ElementRef);\n\n @Input() orientation: Orientation | undefined;\n @Input() dir: Direction = 'ltr';\n @Input({ transform: booleanAttribute }) loop: boolean = true;\n @Input({ transform: booleanAttribute }) preventScrollOnEntryFocus: boolean = false;\n\n @Output() readonly entryFocus = new EventEmitter<Event>();\n @Output() readonly currentTabStopIdChange = new EventEmitter<string | null>();\n\n /** @docs-private */\n readonly currentTabStopId = signal<string | null>(null);\n\n /** @docs-private */\n readonly focusableItems = signal<HTMLElement[]>([]);\n\n private readonly isClickFocus = signal(false);\n private readonly isTabbingBackOut = signal(false);\n private readonly focusableItemsCount = signal(0);\n\n /** @docs-private */\n get dataOrientation() {\n return this.orientation || 'horizontal';\n }\n\n /** @docs-private */\n get tabIndex() {\n return this.isTabbingBackOut() || this.getFocusableItemsCount() === 0 ? -1 : 0;\n }\n\n /** @docs-private */\n handleBlur() {\n this.isTabbingBackOut.set(false);\n }\n\n /** @docs-private */\n handleMouseUp() {\n // reset `isClickFocus` after 1 tick because handleFocus might not triggered due to focused element\n this.ngZone.runOutsideAngular(() => {\n Promise.resolve().then(() => {\n this.ngZone.run(() => {\n this.isClickFocus.set(false);\n });\n });\n });\n }\n\n /** @docs-private */\n handleFocus(event: FocusEvent) {\n // We normally wouldn't need this check, because we already check\n // that the focus is on the current target and not bubbling to it.\n // We do this because Safari doesn't focus buttons when clicked, and\n // instead, the wrapper will get focused and not through a bubbling event.\n const isKeyboardFocus = !this.isClickFocus();\n\n if (\n event.currentTarget === this.elementRef.nativeElement &&\n event.target === event.currentTarget &&\n isKeyboardFocus &&\n !this.isTabbingBackOut()\n ) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n\n this.elementRef.nativeElement.dispatchEvent(entryFocusEvent);\n this.entryFocus.emit(entryFocusEvent);\n\n if (!entryFocusEvent.defaultPrevented) {\n const items = this.focusableItems().filter((item) => item.dataset['disabled'] !== '');\n const activeItem = items.find((item) => item.getAttribute('data-active') === 'true');\n const currentItem = items.find((item) => item.id === this.currentTabStopId());\n const candidateItems = [activeItem, currentItem, ...items].filter(Boolean) as HTMLElement[];\n\n focusFirst(candidateItems, this.preventScrollOnEntryFocus);\n }\n }\n\n this.isClickFocus.set(false);\n }\n\n /** @docs-private */\n handleMouseDown() {\n this.isClickFocus.set(true);\n }\n\n /** @docs-private */\n onItemFocus(tabStopId: string) {\n this.currentTabStopId.set(tabStopId);\n this.currentTabStopIdChange.emit(tabStopId);\n }\n\n /** @docs-private */\n onItemShiftTab() {\n this.isTabbingBackOut.set(true);\n }\n\n /** @docs-private */\n onFocusableItemAdd() {\n this.focusableItemsCount.update((count) => count + 1);\n }\n\n /** @docs-private */\n onFocusableItemRemove() {\n this.focusableItemsCount.update((count) => Math.max(0, count - 1));\n }\n\n /** @docs-private */\n registerItem(item: HTMLElement) {\n const currentItems = this.focusableItems();\n\n this.focusableItems.set([...currentItems, item]);\n }\n\n /** @docs-private */\n unregisterItem(item: HTMLElement) {\n const currentItems = this.focusableItems();\n\n this.focusableItems.set(currentItems.filter((el) => el !== item));\n }\n\n /** @docs-private */\n getFocusableItemsCount() {\n return this.focusableItemsCount();\n }\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { RdxRovingFocusGroupDirective } from './roving-focus-group.directive';\nimport { focusFirst, generateId, getFocusIntent, wrapArray } from './utils';\n\n@Directive({\n selector: '[rdxRovingFocusItem]',\n host: {\n '[attr.tabindex]': 'tabIndex',\n '[attr.data-orientation]': 'parent.orientation',\n '[attr.data-active]': 'active',\n '[attr.data-disabled]': '!focusable ? \"\" : undefined',\n '(mousedown)': 'handleMouseDown($event)',\n '(keydown)': 'handleKeydown($event)',\n '(focus)': 'onFocus()'\n }\n})\nexport class RdxRovingFocusItemDirective implements OnInit, OnDestroy {\n private readonly elementRef = inject(ElementRef);\n private readonly ngZone = inject(NgZone);\n protected readonly parent = inject(RdxRovingFocusGroupDirective);\n\n @Input({ transform: booleanAttribute }) focusable: boolean = true;\n @Input({ transform: booleanAttribute }) active: boolean = true;\n @Input() tabStopId: string;\n @Input({ transform: booleanAttribute }) allowShiftKey: boolean = false;\n\n private readonly id = computed(() => this.tabStopId || generateId());\n\n /** @docs-private */\n readonly isCurrentTabStop = computed(() => this.parent.currentTabStopId() === this.id());\n\n /**\n * Lifecycle hook triggered on initialization.\n * Registers the element with the parent roving focus group if it is focusable.\n * @docs-private\n */\n ngOnInit() {\n if (this.focusable) {\n this.parent.registerItem(this.elementRef.nativeElement);\n this.parent.onFocusableItemAdd();\n }\n }\n\n /**\n * Lifecycle hook triggered on destruction.\n * Unregisters the element from the parent roving focus group if it is focusable.\n * @docs-private\n */\n ngOnDestroy() {\n if (this.focusable) {\n this.parent.unregisterItem(this.elementRef.nativeElement);\n this.parent.onFocusableItemRemove();\n }\n }\n\n /**\n * Determines the `tabIndex` of the element.\n * Returns `0` if the element is the current tab stop; otherwise, returns `-1`.\n * @docs-private\n */\n get tabIndex() {\n return this.isCurrentTabStop() ? 0 : -1;\n }\n\n /** @docs-private */\n handleMouseDown(event: MouseEvent) {\n if (!this.focusable) {\n // We prevent focusing non-focusable items on `mousedown`.\n // Even though the item has tabIndex={-1}, that only means take it out of the tab order.\n event.preventDefault();\n } else {\n // Safari doesn't focus a button when clicked so we run our logic on mousedown also\n this.parent.onItemFocus(this.id());\n }\n }\n\n /** @docs-private */\n onFocus() {\n this.parent.onItemFocus(this.id());\n }\n\n /**\n * Handles the `keydown` event for keyboard navigation within the roving focus group.\n * Supports navigation based on orientation and direction, and focuses appropriate elements.\n *\n * @param event The `KeyboardEvent` object.\n * @docs-private\n */\n handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Tab' && event.shiftKey) {\n this.parent.onItemShiftTab();\n\n return;\n }\n\n if (event.target !== this.elementRef.nativeElement) return;\n\n const focusIntent = getFocusIntent(event, this.parent.orientation, this.parent.dir);\n\n if (focusIntent !== undefined) {\n if (event.metaKey || event.ctrlKey || event.altKey || (this.allowShiftKey ? false : event.shiftKey)) {\n return;\n }\n\n event.preventDefault();\n\n let candidateNodes = this.parent.focusableItems().filter((item) => item.dataset['disabled'] !== '');\n\n if (focusIntent === 'last') {\n candidateNodes.reverse();\n } else if (focusIntent === 'prev' || focusIntent === 'next') {\n if (focusIntent === 'prev') candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(this.elementRef.nativeElement);\n\n candidateNodes = this.parent.loop\n ? wrapArray(candidateNodes, currentIndex + 1)\n : candidateNodes.slice(currentIndex + 1);\n }\n\n this.ngZone.runOutsideAngular(() => {\n Promise.resolve().then(() => {\n focusFirst(candidateNodes, false, this.elementRef.nativeElement);\n });\n });\n }\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n Directive,\n ElementRef,\n forwardRef,\n inject,\n InjectionToken,\n Input,\n OnInit,\n Provider,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RouterLink } from '@angular/router';\nimport { KbqButton, KbqButtonModule, KbqButtonStyles } from '@koobiq/components/button';\nimport { KbqComponentColors, KbqDefaultSizes, PopUpPlacements } from '@koobiq/components/core';\nimport { KbqDropdownModule } from '@koobiq/components/dropdown';\nimport { KbqIconModule } from '@koobiq/components/icon';\nimport { KbqOverflowItem, KbqOverflowItemsModule, KbqOverflowItemsResult } from '@koobiq/components/overflow-items';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { KbqBreadcrumbsConfiguration, KbqBreadcrumbsWrapMode } from './breadcrumbs.types';\nimport { RdxRovingFocusGroupDirective } from './roving-focus-group.directive';\nimport { RdxRovingFocusItemDirective } from './roving-focus-item.directive';\n\nconst KBQ_BREADCRUMBS_DEFAULT_CONFIGURATION: KbqBreadcrumbsConfiguration = {\n max: 4,\n size: 'normal',\n firstItemNegativeMargin: true,\n wrapMode: 'auto'\n};\n\n/** Breadcrumbs options global configuration provider. */\nexport const KBQ_BREADCRUMBS_CONFIGURATION = new InjectionToken<KbqBreadcrumbsConfiguration>(\n 'KBQ_BREADCRUMBS_CONFIGURATION',\n { factory: () => KBQ_BREADCRUMBS_DEFAULT_CONFIGURATION }\n);\n\n/** Utility provider for `KBQ_BREADCRUMBS_CONFIGURATION`. */\nexport const kbqBreadcrumbsConfigurationProvider = (configuration: Partial<KbqBreadcrumbsConfiguration>): Provider => ({\n provide: KBQ_BREADCRUMBS_CONFIGURATION,\n useValue: { ...KBQ_BREADCRUMBS_DEFAULT_CONFIGURATION, ...configuration }\n});\n\n@Directive({\n selector: 'ng-template[kbqBreadcrumbsSeparator]',\n host: {\n class: 'kbq-breadcrumbs-separator'\n }\n})\nexport class KbqBreadcrumbsSeparator {\n readonly templateRef = inject(TemplateRef);\n}\n\n/**\n * Directive to style and configure buttons used as breadcrumb items.\n * - Inherits focus management behavior from `RdxRovingFocusItemDirective`.\n * - Optionally injects `KbqButton` to customize its style for breadcrumb usage.\n */\n@Directive({\n selector: '[kbq-button][kbqBreadcrumb]',\n host: { class: 'kbq-breadcrumb-item' },\n hostDirectives: [\n {\n directive: RdxRovingFocusItemDirective,\n inputs: ['focusable']\n }\n ]\n})\nexport class KbqBreadcrumbButton implements OnInit {\n private readonly button = inject(KbqButton, { optional: true, self: true });\n\n ngOnInit() {\n if (this.button) {\n this.button.color = KbqComponentColors.Contrast;\n this.button.kbqStyle = KbqButtonStyles.Transparent;\n }\n }\n}\n\n/**\n * Directive provides a way to define a custom template for breadcrumb rendering, leveraging TemplateRef\n *\n */\n@Directive({\n selector: '[kbqBreadcrumbView]'\n})\nexport class KbqBreadcrumbView {\n readonly templateRef = inject(TemplateRef);\n}\n\n/**\n * Component represents an individual breadcrumb item with optional support for router navigation and styling.\n */\n@Component({\n selector: 'kbq-breadcrumb-item',\n template: `\n <ng-content />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.tabIndex]': 'null'\n }\n})\nexport class KbqBreadcrumbItem {\n /**\n * The text displayed for the breadcrumb item.\n * This text will be shown if breadcrumb item is hidden in dropdown.\n */\n @Input() text: string;\n /**\n * Indicates whether the breadcrumb item is disabled.\n */\n @Input({ transform: booleanAttribute }) disabled: boolean;\n /**\n * Indicates whether the breadcrumb item is the current/active item.\n * Defaults to `false`.\n */\n @Input({ transform: booleanAttribute }) current: boolean = false;\n /**\n * A reference to a custom template provided for the breadcrumb item content.\n * The template can be used to override the default appearance of the breadcrumb.\n */\n @ContentChild(KbqBreadcrumbView, { read: TemplateRef }) customTemplateRef: TemplateRef<any>;\n /**\n * An optional `RouterLink` instance for navigating to a specific route.\n * Injected from the host element, if available and projecting to the hidden breadcrumb item in dropdown.\n */\n readonly routerLink = inject(RouterLink, { optional: true, host: true });\n}\n\n@Component({\n selector: 'kbq-breadcrumbs,[kbq-breadcrumbs]',\n imports: [\n NgTemplateOutlet,\n RouterLink,\n KbqIconModule,\n KbqButtonModule,\n KbqDropdownModule,\n KbqBreadcrumbButton,\n KbqTitleModule,\n KbqOverflowItemsModule\n ],\n templateUrl: './breadcrumbs.html',\n styleUrls: ['./breadcrumbs.scss', './breadcrumbs-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'kbq-breadcrumbs',\n '[class.kbq-breadcrumbs_compact]': 'size === \"compact\"',\n '[class.kbq-breadcrumbs_normal]': 'size === \"normal\"',\n '[class.kbq-breadcrumbs_big]': 'size === \"big\"',\n '[class.kbq-breadcrumbs_wrap]': 'wrapMode === \"wrap\"',\n '[class.kbq-breadcrumbs_first-item-negative-margin]': 'firstItemNegativeMargin',\n '[attr.aria-label]': \"'breadcrumb'\"\n },\n hostDirectives: [RdxRovingFocusGroupDirective]\n})\nexport class KbqBreadcrumbs implements AfterContentInit {\n protected readonly configuration = inject(KBQ_BREADCRUMBS_CONFIGURATION);\n /**\n * Determines if a negative margin should be applied to the first breadcrumb item.\n *\n * @see KbqBreadcrumbsConfiguration\n */\n @Input({ transform: booleanAttribute }) firstItemNegativeMargin: boolean =\n this.configuration.firstItemNegativeMargin;\n /**\n * Size of the breadcrumbs. Affects font size.\n * Default value is taken from the global configuration.\n */\n @Input() size: KbqDefaultSizes = this.configuration.size;\n /**\n * Maximum number of visible breadcrumb items.\n * Remaining items are collapsed into a dropdown if the total exceeds this value.\n * Default value is taken from the global configuration.\n */\n @Input() max: number | null = this.configuration.max;\n /**\n * Indicates whether the breadcrumbs are disabled.\n * When disabled, user interactions are blocked.\n */\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n /**\n * Wrapping behavior of the breadcrumb items.\n */\n @Input() wrapMode: KbqBreadcrumbsWrapMode = this.configuration.wrapMode;\n\n @ContentChild(KbqBreadcrumbsSeparator, { read: TemplateRef })\n protected readonly separator?: TemplateRef<any>;\n\n @ContentChildren(forwardRef(() => KbqBreadcrumbItem))\n protected readonly items: QueryList<KbqBreadcrumbItem>;\n\n @ViewChild(KbqOverflowItemsResult, { read: ElementRef })\n private readonly result: ElementRef;\n\n @ViewChildren(KbqOverflowItem, { read: ElementRef })\n private readonly overflowItems: QueryList<ElementRef>;\n\n /**\n * Ensures at least minimum number of breadcrumb items are shown.\n */\n protected readonly minVisibleItems = 2;\n protected readonly KbqComponentColors = KbqComponentColors;\n protected readonly KbqButtonStyles = KbqButtonStyles;\n protected readonly PopUpPlacements = PopUpPlacements;\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n\n /** @docs-private */\n protected get itemsExcludingEdges() {\n return this.items.toArray().slice(1, -1);\n }\n\n /**\n * Calculates the total width of visible items based on the `max` value and overflow items.\n * @returns {number | null} The computed max width for overflow items or null if conditions are not met.\n * @docs-private\n */\n protected get maxWidth(): number | null {\n if (\n !this.overflowItems ||\n !this.overflowItems.length ||\n this.max === null ||\n this.max >= this.items.length ||\n this.max < this.minVisibleItems\n ) {\n return null;\n }\n\n let visibleItemsWidth = this.getItemWidth(this.result);\n // Reorders overflow items to prioritize the first and last elements\n const sortedItems = [\n ...this.overflowItems.toArray().slice(1, -1),\n this.overflowItems.first,\n this.overflowItems.last\n ];\n\n for (let i = 0; i < this.max - 1; i++) {\n visibleItemsWidth += this.getItemWidth(sortedItems[sortedItems.length - i - 1]);\n }\n\n return visibleItemsWidth;\n }\n\n constructor() {\n inject(RdxRovingFocusGroupDirective, { self: true }).orientation = 'horizontal';\n }\n\n ngAfterContentInit() {\n this.items.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.cdr.markForCheck());\n }\n\n private getItemWidth(item?: ElementRef) {\n return item ? item.nativeElement.offsetWidth : 0;\n }\n}\n","<!--\n@TODO: check when updated to Angular 20.x (#DS-4034)\nresolved SSR issue with official hack https://github.com/angular/angular/issues/50543#issuecomment-1572900259\n-->\n<ng-content />\n@if (items.length < minVisibleItems || wrapMode !== 'auto') {\n @for (item of items; track item) {\n <div class=\"kbq-breadcrumb-item__container\">\n <ng-container *ngTemplateOutlet=\"breadcrumbTemplate; context: { $implicit: item, last: $last }\" />\n @if (!$last) {\n <ng-container [ngTemplateOutlet]=\"separatorTemplate\" />\n }\n </div>\n }\n} @else {\n <div\n #kbqOverflowItems=\"kbqOverflowItems\"\n kbqOverflowItems\n reverseOverflowOrder\n class=\"layout-align-start-center\"\n [style.max-width.px]=\"maxWidth\"\n >\n <div class=\"kbq-breadcrumb-item__container\" [kbqOverflowItem]=\"0\" [order]=\"items.length\">\n <ng-container *ngTemplateOutlet=\"breadcrumbTemplate; context: { $implicit: items.first, last: false }\" />\n <ng-container [ngTemplateOutlet]=\"separatorTemplate\" />\n </div>\n <!-- @TODO delay rendering for proper elements order (#DS-3334)--->\n @if (true) {\n <div kbqOverflowItemsResult class=\"kbq-breadcrumb-item__container\">\n <button\n kbq-button\n kbqBreadcrumb\n class=\"kbq-breadcrumb__expand\"\n [kbqDropdownTriggerFor]=\"hiddenBreadcrumbsDropdown\"\n [kbqStyle]=\"KbqButtonStyles.Transparent\"\n >\n <i kbq-icon=\"kbq-ellipsis-horizontal_16\" [color]=\"KbqComponentColors.ContrastFade\"></i>\n </button>\n <ng-container [ngTemplateOutlet]=\"separatorTemplate\" />\n\n <kbq-dropdown #hiddenBreadcrumbsDropdown=\"kbqDropdown\">\n @for (item of items; track item) {\n @if (kbqOverflowItems.hiddenItemIDs().has($index)) {\n <a kbq-dropdown-item [routerLink]=\"item.routerLink?.urlTree\" [disabled]=\"item.disabled\">\n {{ item.text }}\n </a>\n }\n }\n </kbq-dropdown>\n </div>\n }\n @for (item of itemsExcludingEdges; track item) {\n <div class=\"kbq-breadcrumb-item__container\" [kbqOverflowItem]=\"$index + 1\">\n <ng-container *ngTemplateOutlet=\"breadcrumbTemplate; context: { $implicit: item, last: false }\" />\n <ng-container [ngTemplateOutlet]=\"separatorTemplate\" />\n </div>\n }\n <div alwaysVisible class=\"kbq-breadcrumb-item__container\" [kbqOverflowItem]=\"items.length - 1\">\n <ng-container *ngTemplateOutlet=\"breadcrumbTemplate; context: { $implicit: items.last, last: true }\" />\n </div>\n </div>\n}\n\n<ng-template #breadcrumbTemplate let-item let-last=\"last\">\n @if (item.customTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"item.customTemplateRef\" />\n } @else {\n <a\n kbq-button\n kbq-title\n kbqBreadcrumb\n [focusable]=\"!item.disabled && !last\"\n [routerLink]=\"item.routerLink?.urlTree\"\n [attr.aria-current]=\"last ? 'page' : null\"\n [disabled]=\"item.disabled || last\"\n [kbqPlacementPriority]=\"PopUpPlacements.Bottom\"\n [kbqTooltipArrow]=\"false\"\n >\n {{ item.text }}\n </a>\n }\n</ng-template>\n\n<ng-template #separatorTemplate>\n @if (separator) {\n <ng-container [ngTemplateOutlet]=\"separator\" />\n } @else {\n <i kbq-icon=\"\" class=\"kbq-breadcrumb__separator\" [color]=\"KbqComponentColors.ContrastFade\"> / </i>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport {\n KbqBreadcrumbButton,\n KbqBreadcrumbItem,\n KbqBreadcrumbs,\n KbqBreadcrumbsSeparator,\n KbqBreadcrumbView\n} from './breadcrumbs';\n\nconst COMPONENTS = [\n KbqBreadcrumbs,\n KbqBreadcrumbItem,\n KbqBreadcrumbView,\n KbqBreadcrumbsSeparator,\n KbqBreadcrumbButton\n];\n\n@NgModule({\n imports: COMPONENTS,\n exports: COMPONENTS\n})\nexport class KbqBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.RdxRovingFocusItemDirective","i2.RdxRovingFocusGroupDirective"],"mappings":";;;;;;;;;;;;;;;;;AAGO,MAAM,WAAW,GAAG,+BAA+B;AACnD,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;AAI1D,MAAM,uBAAuB,GAAgC;AAChE,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,GAAG,EAAE;CACR;AAEK,SAAU,oBAAoB,CAAC,GAAW,EAAE,GAAe,EAAA;IAC7D,IAAI,GAAG,KAAK,KAAK;AAAE,QAAA,OAAO,GAAG;IAE7B,OAAO,GAAG,KAAK,WAAW,GAAG,YAAY,GAAG,GAAG,KAAK,YAAY,GAAG,WAAW,GAAG,GAAG;AACxF;SAEgB,cAAc,CAAC,KAAoB,EAAE,WAAyB,EAAE,GAAe,EAAA;IAC3F,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AAEhD,IAAA,IAAI,WAAW,KAAK,UAAU,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,SAAS;AAC7F,IAAA,IAAI,WAAW,KAAK,YAAY,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,SAAS;AAE5F,IAAA,OAAO,uBAAuB,CAAC,GAAG,CAAC;AACvC;AAEM,SAAU,UAAU,CAAC,UAAyB,EAAE,aAAa,GAAG,KAAK,EAAE,QAAgC,EAAA;;IAEzG,MAAM,0BAA0B,GAAG,QAAQ,EAAE,aAAa,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa;AAE3F,IAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;;QAEhC,IAAI,SAAS,KAAK,0BAA0B;YAAE;AAC9C,QAAA,SAAS,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;;AAElC,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAK,0BAA0B;YAAE;IACtE;AACJ;AAEA;;;AAGG;AACG,SAAU,SAAS,CAAI,KAAU,EAAE,UAAkB,EAAA;IACvD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9E;SAEgB,UAAU,GAAA;AACtB,IAAA,OAAO,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;AAC/D;;MC/Ba,4BAA4B,CAAA;AAbzC,IAAA,WAAA,GAAA;AAcqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAGvC,IAAA,CAAA,GAAG,GAAc,KAAK;QACS,IAAA,CAAA,IAAI,GAAY,IAAI;QACpB,IAAA,CAAA,yBAAyB,GAAY,KAAK;AAE/D,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAS;AACtC,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,YAAY,EAAiB;;AAGpE,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAgB,IAAI,CAAC;;AAG9C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAgB,EAAE,CAAC;AAElC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC;AAChC,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC;AAyGnD,IAAA;;AAtGG,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,WAAW,IAAI,YAAY;IAC3C;;AAGA,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAClF;;IAGA,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;IACpC;;IAGA,aAAa,GAAA;;AAET,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACjB,oBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AAChC,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;IACN;;AAGA,IAAA,WAAW,CAAC,KAAiB,EAAA;;;;;AAKzB,QAAA,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;QAE5C,IACI,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa;AACrD,YAAA,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa;YACpC,eAAe;AACf,YAAA,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC1B;YACE,MAAM,eAAe,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC;YAEnE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC;AAC5D,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC;AAErC,YAAA,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,CAAC;gBACpF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC7E,gBAAA,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAkB;AAE3F,gBAAA,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,yBAAyB,CAAC;YAC9D;QACJ;AAEA,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;IAChC;;IAGA,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;IAC/B;;AAGA,IAAA,WAAW,CAAC,SAAiB,EAAA;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC;AACpC,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC;IAC/C;;IAGA,cAAc,GAAA;AACV,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC;IACnC;;IAGA,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC;IACzD;;IAGA,qBAAqB,GAAA;QACjB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACtE;;AAGA,IAAA,YAAY,CAAC,IAAiB,EAAA;AAC1B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE;AAE1C,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD;;AAGA,IAAA,cAAc,CAAC,IAAiB,EAAA;AAC5B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE;AAE1C,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC;IACrE;;IAGA,sBAAsB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE;IACrC;kIA5HS,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAMjB,gBAAgB,CAAA,EAAA,yBAAA,EAAA,CAAA,2BAAA,EAAA,2BAAA,EAChB,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,cAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAP3B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAbxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACF,wBAAA,yBAAyB,EAAE,iBAAiB;AAC5C,wBAAA,iBAAiB,EAAE,UAAU;AAC7B,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,SAAS,EAAE,qBAAqB;AAChC,wBAAA,QAAQ,EAAE,cAAc;AACxB,wBAAA,WAAW,EAAE,iBAAiB;AAC9B,wBAAA,aAAa,EAAE,mBAAmB;AAClC,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;8BAKY,WAAW,EAAA,CAAA;sBAAnB;gBACQ,GAAG,EAAA,CAAA;sBAAX;gBACuC,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,yBAAyB,EAAA,CAAA;sBAAhE,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAEnB,UAAU,EAAA,CAAA;sBAA5B;gBACkB,sBAAsB,EAAA,CAAA;sBAAxC;;;MCVQ,2BAA2B,CAAA;AAZxC,IAAA,WAAA,GAAA;AAaqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACrB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,4BAA4B,CAAC;QAExB,IAAA,CAAA,SAAS,GAAY,IAAI;QACzB,IAAA,CAAA,MAAM,GAAY,IAAI;QAEtB,IAAA,CAAA,aAAa,GAAY,KAAK;AAErD,QAAA,IAAA,CAAA,EAAE,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,UAAU,EAAE,CAAC;;AAG3D,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;AAiG3F,IAAA;AA/FG;;;;AAIG;IACH,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AACvD,YAAA,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;QACpC;IACJ;AAEA;;;;AAIG;IACH,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AACzD,YAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;QACvC;IACJ;AAEA;;;;AAIG;AACH,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C;;AAGA,IAAA,eAAe,CAAC,KAAiB,EAAA;AAC7B,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;;;YAGjB,KAAK,CAAC,cAAc,EAAE;QAC1B;aAAO;;YAEH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACtC;IACJ;;IAGA,OAAO,GAAA;QACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACtC;AAEA;;;;;;AAMG;AACH,IAAA,aAAa,CAAC,KAAoB,EAAA;QAC9B,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;AACvC,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YAE5B;QACJ;QAEA,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,aAAa;YAAE;AAEpD,QAAA,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAEnF,QAAA,IAAI,WAAW,KAAK,SAAS,EAAE;AAC3B,YAAA,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACjG;YACJ;YAEA,KAAK,CAAC,cAAc,EAAE;YAEtB,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAEnG,YAAA,IAAI,WAAW,KAAK,MAAM,EAAE;gBACxB,cAAc,CAAC,OAAO,EAAE;YAC5B;iBAAO,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,MAAM,EAAE;gBACzD,IAAI,WAAW,KAAK,MAAM;oBAAE,cAAc,CAAC,OAAO,EAAE;AACpD,gBAAA,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAE1E,gBAAA,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;sBACvB,SAAS,CAAC,cAAc,EAAE,YAAY,GAAG,CAAC;sBAC1C,cAAc,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;YAChD;AAEA,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AAC/B,gBAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;oBACxB,UAAU,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AACpE,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;QACN;IACJ;kIA7GS,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAKhB,gBAAgB,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAChB,gBAAgB,6EAEhB,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,yBAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,+BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAR3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE,UAAU;AAC7B,wBAAA,yBAAyB,EAAE,oBAAoB;AAC/C,wBAAA,oBAAoB,EAAE,QAAQ;AAC9B,wBAAA,sBAAsB,EAAE,6BAA6B;AACrD,wBAAA,aAAa,EAAE,yBAAyB;AACxC,wBAAA,WAAW,EAAE,uBAAuB;AACpC,wBAAA,SAAS,EAAE;AACd;AACJ,iBAAA;8BAM2C,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,SAAS,EAAA,CAAA;sBAAjB;gBACuC,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;ACE1C,MAAM,qCAAqC,GAAgC;AACvE,IAAA,GAAG,EAAE,CAAC;AACN,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,QAAQ,EAAE;CACb;AAED;AACO,MAAM,6BAA6B,GAAG,IAAI,cAAc,CAC3D,+BAA+B,EAC/B,EAAE,OAAO,EAAE,MAAM,qCAAqC,EAAE;AAG5D;MACa,mCAAmC,GAAG,CAAC,aAAmD,MAAgB;AACnH,IAAA,OAAO,EAAE,6BAA6B;AACtC,IAAA,QAAQ,EAAE,EAAE,GAAG,qCAAqC,EAAE,GAAG,aAAa;AACzE,CAAA;MAQY,uBAAuB,CAAA;AANpC,IAAA,WAAA,GAAA;AAOa,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7C,IAAA;kIAFY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV;AACJ,iBAAA;;AAKD;;;;AAIG;MAWU,mBAAmB,CAAA;AAVhC,IAAA,WAAA,GAAA;AAWqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAQ9E,IAAA;IANG,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,kBAAkB,CAAC,QAAQ;YAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,WAAW;QACtD;IACJ;kIARS,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE;AACtC,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,2BAA2B;4BACtC,MAAM,EAAE,CAAC,WAAW;AACvB;AACJ;AACJ,iBAAA;;AAYD;;;AAGG;MAIU,iBAAiB,CAAA;AAH9B,IAAA,WAAA,GAAA;AAIa,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAC7C,IAAA;kIAFY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE;AACb,iBAAA;;AAKD;;AAEG;MAWU,iBAAiB,CAAA;AAV9B,IAAA,WAAA,GAAA;AAoBI;;;AAGG;QACqC,IAAA,CAAA,OAAO,GAAY,KAAK;AAMhE;;;AAGG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC3E,IAAA;kIAzBY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EASN,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAKhB,gBAAgB,+HAKtB,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,WAAW,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA3B1C;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAMQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE;;AAET,IAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,iBAAiB,EAAE;AACtB;AACJ,iBAAA;8BAMY,IAAI,EAAA,CAAA;sBAAZ;gBAIuC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKkB,iBAAiB,EAAA,CAAA;sBAAxE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;;MAmC7C,cAAc,CAAA;;AAqDvB,IAAA,IAAc,mBAAmB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C;AAEA;;;;AAIG;AACH,IAAA,IAAc,QAAQ,GAAA;QAClB,IACI,CAAC,IAAI,CAAC,aAAa;AACnB,YAAA,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;YAC1B,IAAI,CAAC,GAAG,KAAK,IAAI;AACjB,YAAA,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM;AAC7B,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,EACjC;AACE,YAAA,OAAO,IAAI;QACf;QAEA,IAAI,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;;AAEtD,QAAA,MAAM,WAAW,GAAG;AAChB,YAAA,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,KAAK;YACxB,IAAI,CAAC,aAAa,CAAC;SACtB;AAED,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,iBAAiB,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF;AAEA,QAAA,OAAO,iBAAiB;IAC5B;AAEA,IAAA,WAAA,GAAA;AAvFmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,6BAA6B,CAAC;AACxE;;;;AAIG;AACqC,QAAA,IAAA,CAAA,uBAAuB,GAC3D,IAAI,CAAC,aAAa,CAAC,uBAAuB;AAC9C;;;AAGG;AACM,QAAA,IAAA,CAAA,IAAI,GAAoB,IAAI,CAAC,aAAa,CAAC,IAAI;AACxD;;;;AAIG;AACM,QAAA,IAAA,CAAA,GAAG,GAAkB,IAAI,CAAC,aAAa,CAAC,GAAG;AACpD;;;AAGG;QACqC,IAAA,CAAA,QAAQ,GAAY,KAAK;AACjE;;AAEG;AACM,QAAA,IAAA,CAAA,QAAQ,GAA2B,IAAI,CAAC,aAAa,CAAC,QAAQ;AAcvE;;AAEG;QACgB,IAAA,CAAA,eAAe,GAAG,CAAC;QACnB,IAAA,CAAA,kBAAkB,GAAG,kBAAkB;QACvC,IAAA,CAAA,eAAe,GAAG,eAAe;QACjC,IAAA,CAAA,eAAe,GAAG,eAAe;AACnC,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAuC5C,QAAA,MAAM,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,GAAG,YAAY;IACnF;IAEA,kBAAkB,GAAA;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IACzG;AAEQ,IAAA,YAAY,CAAC,IAAiB,EAAA;AAClC,QAAA,OAAO,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC;IACpD;kIAlGS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,EAAA,uBAAA,EAAA,CAAA,yBAAA,EAAA,yBAAA,EAOH,gBAAgB,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAiBhB,gBAAgB,ieAMtB,uBAAuB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,WAAW,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAGxB,iBAAiB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGxC,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,UAAU,gDAGvC,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,UAAU,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAC,4BAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChNrD,o3HA0FA,EAAA,MAAA,EAAA,CAAA,80PAAA,EAAA,ueAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDuDQ,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,UAAU,mOACV,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACb,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,qCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,gCAAA,EAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EArEZ,mBAAmB,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAuExB,cAAc,kIACd,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,cAAA,EAAA,iCAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,OAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAiBjB,cAAc,EAAA,UAAA,EAAA,CAAA;kBA3B1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mCAAmC,EAAA,OAAA,EACpC;wBACL,gBAAgB;wBAChB,UAAU;wBACV,aAAa;wBACb,eAAe;wBACf,iBAAiB;wBACjB,mBAAmB;wBACnB,cAAc;wBACd;AACH,qBAAA,EAAA,aAAA,EAGc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,iCAAiC,EAAE,oBAAoB;AACvD,wBAAA,gCAAgC,EAAE,mBAAmB;AACrD,wBAAA,6BAA6B,EAAE,gBAAgB;AAC/C,wBAAA,8BAA8B,EAAE,qBAAqB;AACrD,wBAAA,oDAAoD,EAAE,yBAAyB;AAC/E,wBAAA,mBAAmB,EAAE;qBACxB,EAAA,cAAA,EACe,CAAC,4BAA4B,CAAC,EAAA,QAAA,EAAA,o3HAAA,EAAA,MAAA,EAAA,CAAA,80PAAA,EAAA,ueAAA,CAAA,EAAA;wDASN,uBAAuB,EAAA,CAAA;sBAA9D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAM7B,IAAI,EAAA,CAAA;sBAAZ;gBAMQ,GAAG,EAAA,CAAA;sBAAX;gBAKuC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAI7B,QAAQ,EAAA,CAAA;sBAAhB;gBAGkB,SAAS,EAAA,CAAA;sBAD3B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,uBAAuB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gBAIzC,KAAK,EAAA,CAAA;sBADvB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,iBAAiB,CAAC;gBAInC,MAAM,EAAA,CAAA;sBADtB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,sBAAsB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAItC,aAAa,EAAA,CAAA;sBAD7B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;;AEvMvD,MAAM,UAAU,GAAG;IACf,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,uBAAuB;IACvB;CACH;MAMY,oBAAoB,CAAA;kIAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAX7B,cAAc;YACd,iBAAiB;YACjB,iBAAiB;YACjB,uBAAuB;AACvB,YAAA,mBAAmB,aAJnB,cAAc;YACd,iBAAiB;YACjB,iBAAiB;YACjB,uBAAuB;YACvB,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAOV,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAX7B,cAAc,CAAA,EAAA,CAAA,CAAA;;4FAWL,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,UAAU;AACnB,oBAAA,OAAO,EAAE;AACZ,iBAAA;;;ACpBD;;AAEG;;;;"}
|
|
@@ -2,14 +2,13 @@ import * as i1 from '@angular/cdk/a11y';
|
|
|
2
2
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
3
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { forwardRef, EventEmitter,
|
|
5
|
+
import { forwardRef, EventEmitter, Output, Input, ContentChildren, Directive, ViewChild, Optional, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
6
6
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
7
|
import * as i2 from '@koobiq/components/button';
|
|
8
|
-
import {
|
|
8
|
+
import { KbqButtonModule, KbqButton } from '@koobiq/components/button';
|
|
9
9
|
import { getNodesWithoutComments } from '@koobiq/components/core';
|
|
10
10
|
import { KbqIcon } from '@koobiq/components/icon';
|
|
11
|
-
import
|
|
12
|
-
import { KbqTitleModule } from '@koobiq/components/title';
|
|
11
|
+
import { KbqTitleDirective, KbqTitleModule } from '@koobiq/components/title';
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Provider Expression that allows kbq-button-toggle-group to register as a ControlValueAccessor.
|
|
@@ -205,10 +204,10 @@ class KbqButtonToggleGroup {
|
|
|
205
204
|
this.selectionModel.select(correspondingOption);
|
|
206
205
|
}
|
|
207
206
|
}
|
|
208
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
209
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
207
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqButtonToggleGroup, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
208
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: KbqButtonToggleGroup, isStandalone: true, selector: "kbq-button-toggle-group", inputs: { vertical: "vertical", value: "value", multiple: "multiple", disabled: "disabled" }, outputs: { valueChange: "valueChange", change: "change" }, host: { properties: { "class.kbq-button-toggle_vertical": "vertical" }, classAttribute: "kbq-button-toggle-group" }, providers: [KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR], queries: [{ propertyName: "buttonToggles", predicate: i0.forwardRef(() => KbqButtonToggle) }], exportAs: ["kbqButtonToggleGroup"], ngImport: i0 }); }
|
|
210
209
|
}
|
|
211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqButtonToggleGroup, decorators: [{
|
|
212
211
|
type: Directive,
|
|
213
212
|
args: [{
|
|
214
213
|
selector: 'kbq-button-toggle-group',
|
|
@@ -324,8 +323,8 @@ class KbqButtonToggle {
|
|
|
324
323
|
// Use `markForCheck` to explicit update button toggle's status.
|
|
325
324
|
this.changeDetectorRef.markForCheck();
|
|
326
325
|
}
|
|
327
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
328
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
326
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqButtonToggle, deps: [{ token: KbqButtonToggleGroup, optional: true }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
327
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: KbqButtonToggle, isStandalone: true, selector: "kbq-button-toggle", inputs: { checked: "checked", value: "value", tabIndex: "tabIndex", disabled: "disabled" }, outputs: { change: "change" }, host: { properties: { "class": "\"kbq-button-toggle\" + iconType", "class.kbq-disabled": "disabled", "class.kbq-selected": "checked" }, classAttribute: "kbq-button-toggle" }, queries: [{ propertyName: "icons", predicate: KbqIcon, descendants: true }], viewQueries: [{ propertyName: "mcButton", first: true, predicate: KbqButton, descendants: true }], exportAs: ["kbqButtonToggle"], ngImport: i0, template: `
|
|
329
328
|
<button
|
|
330
329
|
kbq-button
|
|
331
330
|
kbq-title
|
|
@@ -340,11 +339,14 @@ class KbqButtonToggle {
|
|
|
340
339
|
<ng-content />
|
|
341
340
|
</div>
|
|
342
341
|
</button>
|
|
343
|
-
`, isInline: true, styles: [".kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal);border-radius:var(--kbq-button-toggle-size-container-border-radius);padding:var(--kbq-button-toggle-size-container-padding-vertical) var(--kbq-button-toggle-size-container-padding-horizontal)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;align-items:center;height:var(--kbq-button-toggle-size-item-height);min-height:var(--kbq-button-toggle-size-item-height);border-radius:var(--kbq-button-toggle-size-item-border-radius);border:var(--kbq-size-border-width) solid transparent}.kbq-button-toggle-group .kbq-button-toggle.cdk-keyboard-focused{outline:1px solid var(--kbq-states-line-focus-theme);border-color:var(--kbq-states-line-focus-theme)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{height:inherit;min-height:inherit;border-radius:var(--kbq-button-toggle-size-item-border-radius);border-width:0;padding:calc(var(--kbq-button-toggle-size-item-padding-vertical) - var(--kbq-button-toggle-size-item-focus-outline-width)) calc(var(--kbq-button-toggle-size-item-padding-horizontal) - var(--kbq-button-toggle-size-item-focus-outline-width))}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;align-items:center;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.cdk-keyboard-focused,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon.cdk-keyboard-focused{outline:none}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:var(--kbq-button-toggle-size-item-height)}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius)}.kbq-button-toggle-group{background:var(--kbq-button-toggle-container-background)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button{background:var(--kbq-button-toggle-item-default-background);color:var(--kbq-button-toggle-item-default-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-default-icon)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button:hover:not(.kbq-disabled),.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button:hover:not(.kbq-disabled){background:var(--kbq-button-toggle-item-states-hover-background);color:var(--kbq-button-toggle-item-states-hover-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button:hover:not(.kbq-disabled) .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button:hover:not(.kbq-disabled) .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-hover-icon)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button:active:not(.kbq-disabled),.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button:active:not(.kbq-disabled){background:var(--kbq-button-toggle-item-states-active-background);color:var(--kbq-button-toggle-item-states-active-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button:active:not(.kbq-disabled) .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button:active:not(.kbq-disabled) .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-active-icon)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.kbq-selected:not(.kbq-disabled),.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.kbq-selected:not(.kbq-disabled){background:var(--kbq-button-toggle-item-states-selected-background);color:var(--kbq-button-toggle-item-states-selected-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.kbq-selected:not(.kbq-disabled) .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.kbq-selected:not(.kbq-disabled) .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-icon)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.kbq-selected:not(.kbq-disabled):active,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.kbq-selected:not(.kbq-disabled):active{background:var(--kbq-button-toggle-item-states-selected-active-background);color:var(--kbq-button-toggle-item-states-selected-active-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.kbq-selected:not(.kbq-disabled):active .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.kbq-selected:not(.kbq-disabled):active .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-active-icon)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.kbq-disabled,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.kbq-disabled{background:var(--kbq-button-toggle-item-states-disabled-background);color:var(--kbq-button-toggle-item-states-disabled-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.kbq-disabled .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.kbq-disabled .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-disabled-icon)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.kbq-disabled.kbq-selected,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.kbq-disabled.kbq-selected{background:var(--kbq-button-toggle-item-states-selected-disabled-background);color:var(--kbq-button-toggle-item-states-selected-disabled-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.kbq-disabled.kbq-selected .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.kbq-disabled.kbq-selected .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-disabled-icon)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.cdk-keyboard-focused,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button.cdk-keyboard-focused{border-color:var(--kbq-button-toggle-item-states-focused-outline)}.kbq-button-toggle .kbq-button-toggle-wrapper{font-size:var(--kbq-typography-text-normal-medium-font-size);font-style:var(--kbq-typography-text-normal-medium-font-style);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}\n", ".kbq-button-toggle-group{--kbq-button-toggle-size-container-border-radius: var(--kbq-size-border-radius);--kbq-button-toggle-size-container-padding-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-container-padding-vertical: var(--kbq-size-xxs);--kbq-button-toggle-size-container-content-gap-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-item-height: 22px;--kbq-button-toggle-size-item-border-radius: var(--kbq-size-xxs);--kbq-button-toggle-size-item-padding-horizontal: var(--kbq-size-s);--kbq-button-toggle-size-item-padding-vertical: var(--kbq-size-3xs);--kbq-button-toggle-size-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-item-focus-outline-width: var(--kbq-size-3xs);--kbq-button-toggle-container-background: var(--kbq-background-contrast-fade);--kbq-button-toggle-item-default-background: var(--kbq-background-contrast-fade);--kbq-button-toggle-item-default-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-default-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-hover-background: var(--kbq-states-background-contrast-fade-hover);--kbq-button-toggle-item-states-hover-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-hover-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-active-background: var(--kbq-states-background-contrast-fade-active);--kbq-button-toggle-item-states-active-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-active-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-background: var(--kbq-background-card);--kbq-button-toggle-item-states-selected-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-selected-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-active-background: var(--kbq-states-background-transparent-active);--kbq-button-toggle-item-states-selected-active-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-selected-active-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-disabled-background: var(--kbq-states-background-disabled);--kbq-button-toggle-item-states-selected-disabled-text: var(--kbq-states-foreground-disabled);--kbq-button-toggle-item-states-selected-disabled-icon: var(--kbq-states-icon-disabled);--kbq-button-toggle-item-states-disabled-background: none;--kbq-button-toggle-item-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-button-toggle-item-states-disabled-icon: var(--kbq-states-icon-disabled);--kbq-button-toggle-item-states-focused-outline: var(--kbq-states-line-focus-theme)}\n"], dependencies: [{ kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "directive", type: i3.KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
342
|
+
`, isInline: true, styles: [".kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal);border-radius:var(--kbq-button-toggle-size-container-border-radius);padding:var(--kbq-button-toggle-size-container-padding-vertical) var(--kbq-button-toggle-size-container-padding-horizontal)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;align-items:center;height:var(--kbq-button-toggle-size-item-height);min-height:var(--kbq-button-toggle-size-item-height);border-radius:var(--kbq-button-toggle-size-item-border-radius);border:var(--kbq-size-border-width) solid transparent}.kbq-button-toggle-group .kbq-button-toggle.cdk-keyboard-focused{outline:1px solid var(--kbq-states-line-focus-theme);border-color:var(--kbq-states-line-focus-theme)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{height:inherit;min-height:inherit;border-radius:var(--kbq-button-toggle-size-item-border-radius);border-width:0;padding:calc(var(--kbq-button-toggle-size-item-padding-vertical) - var(--kbq-button-toggle-size-item-focus-outline-width)) calc(var(--kbq-button-toggle-size-item-padding-horizontal) - var(--kbq-button-toggle-size-item-focus-outline-width))}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;align-items:center;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.cdk-keyboard-focused,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon.cdk-keyboard-focused{outline:none}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:var(--kbq-button-toggle-size-item-height)}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius)}.kbq-button-toggle-group{background:var(--kbq-button-toggle-container-background)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button{background:var(--kbq-button-toggle-item-default-background);color:var(--kbq-button-toggle-item-default-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-default-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-hover:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-hover:not(.kbq-disabled)>.kbq-icon-button,.kbq-button-toggle-group .kbq-button-toggle:hover:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle:hover:not(.kbq-disabled)>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-hover-background);color:var(--kbq-button-toggle-item-states-hover-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-hover:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-hover:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle:hover:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle:hover:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-hover-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-active:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-active:not(.kbq-disabled)>.kbq-icon-button,.kbq-button-toggle-group .kbq-button-toggle:active:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle:active:not(.kbq-disabled)>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-active-background);color:var(--kbq-button-toggle-item-states-active-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-active:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-active:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle:active:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle:active:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-active-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled)>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-selected-background);color:var(--kbq-button-toggle-item-states-selected-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled).kbq-active>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled).kbq-active>.kbq-icon-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled):active>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled):active>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-selected-active-background);color:var(--kbq-button-toggle-item-states-selected-active-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled).kbq-active>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled).kbq-active>.kbq-icon-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled):active>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled):active>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-active-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-disabled-background);color:var(--kbq-button-toggle-item-states-disabled-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-disabled-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled.kbq-selected>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled.kbq-selected>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-selected-disabled-background);color:var(--kbq-button-toggle-item-states-selected-disabled-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled.kbq-selected>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled.kbq-selected>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-disabled-icon)}.kbq-button-toggle-group .kbq-button-toggle.cdk-keyboard-focused{border-color:var(--kbq-button-toggle-item-states-focused-outline)}.kbq-button-toggle .kbq-button-toggle-wrapper{font-size:var(--kbq-typography-text-normal-medium-font-size);font-style:var(--kbq-typography-text-normal-medium-font-style);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}\n", ".kbq-button-toggle-group{--kbq-button-toggle-size-container-border-radius: var(--kbq-size-border-radius);--kbq-button-toggle-size-container-padding-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-container-padding-vertical: var(--kbq-size-xxs);--kbq-button-toggle-size-container-content-gap-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-item-height: 22px;--kbq-button-toggle-size-item-border-radius: var(--kbq-size-xxs);--kbq-button-toggle-size-item-padding-horizontal: var(--kbq-size-s);--kbq-button-toggle-size-item-padding-vertical: var(--kbq-size-3xs);--kbq-button-toggle-size-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-item-focus-outline-width: var(--kbq-size-3xs);--kbq-button-toggle-container-background: var(--kbq-background-contrast-fade);--kbq-button-toggle-item-default-background: var(--kbq-background-contrast-fade);--kbq-button-toggle-item-default-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-default-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-hover-background: var(--kbq-states-background-contrast-fade-hover);--kbq-button-toggle-item-states-hover-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-hover-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-active-background: var(--kbq-states-background-contrast-fade-active);--kbq-button-toggle-item-states-active-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-active-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-background: var(--kbq-background-card);--kbq-button-toggle-item-states-selected-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-selected-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-active-background: var(--kbq-states-background-transparent-active);--kbq-button-toggle-item-states-selected-active-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-selected-active-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-disabled-background: var(--kbq-states-background-disabled);--kbq-button-toggle-item-states-selected-disabled-text: var(--kbq-states-foreground-disabled);--kbq-button-toggle-item-states-selected-disabled-icon: var(--kbq-states-icon-disabled);--kbq-button-toggle-item-states-disabled-background: none;--kbq-button-toggle-item-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-button-toggle-item-states-disabled-icon: var(--kbq-states-icon-disabled);--kbq-button-toggle-item-states-focused-outline: var(--kbq-states-line-focus-theme)}\n"], dependencies: [{ kind: "directive", type: KbqTitleDirective, selector: "[kbq-title]", exportAs: ["kbqTitle"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i2.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i2.KbqButtonCssStyler, selector: "[kbq-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
344
343
|
}
|
|
345
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqButtonToggle, decorators: [{
|
|
346
345
|
type: Component,
|
|
347
|
-
args: [{ selector: 'kbq-button-toggle',
|
|
346
|
+
args: [{ selector: 'kbq-button-toggle', imports: [
|
|
347
|
+
KbqTitleDirective,
|
|
348
|
+
KbqButtonModule
|
|
349
|
+
], template: `
|
|
348
350
|
<button
|
|
349
351
|
kbq-button
|
|
350
352
|
kbq-title
|
|
@@ -359,10 +361,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
359
361
|
<ng-content />
|
|
360
362
|
</div>
|
|
361
363
|
</button>
|
|
362
|
-
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
364
|
+
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'kbqButtonToggle', host: {
|
|
363
365
|
class: 'kbq-button-toggle',
|
|
364
|
-
'[class]': '"kbq-button-toggle" + iconType'
|
|
365
|
-
|
|
366
|
+
'[class]': '"kbq-button-toggle" + iconType',
|
|
367
|
+
'[class.kbq-disabled]': 'disabled',
|
|
368
|
+
'[class.kbq-selected]': 'checked'
|
|
369
|
+
}, styles: [".kbq-button-toggle-group{box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;gap:var(--kbq-button-toggle-size-container-content-gap-horizontal);border-radius:var(--kbq-button-toggle-size-container-border-radius);padding:var(--kbq-button-toggle-size-container-padding-vertical) var(--kbq-button-toggle-size-container-padding-horizontal)}.kbq-button-toggle-group .kbq-button-toggle{display:flex;overflow:hidden;justify-content:flex-start;align-items:center;height:var(--kbq-button-toggle-size-item-height);min-height:var(--kbq-button-toggle-size-item-height);border-radius:var(--kbq-button-toggle-size-item-border-radius);border:var(--kbq-size-border-width) solid transparent}.kbq-button-toggle-group .kbq-button-toggle.cdk-keyboard-focused{outline:1px solid var(--kbq-states-line-focus-theme);border-color:var(--kbq-states-line-focus-theme)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon{height:inherit;min-height:inherit;border-radius:var(--kbq-button-toggle-size-item-border-radius);border-width:0;padding:calc(var(--kbq-button-toggle-size-item-padding-vertical) - var(--kbq-button-toggle-size-item-focus-outline-width)) calc(var(--kbq-button-toggle-size-item-padding-horizontal) - var(--kbq-button-toggle-size-item-focus-outline-width))}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-wrapper{width:100%}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-button-toggle-wrapper,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon .kbq-button-toggle-wrapper{display:inline-flex;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;align-items:center;width:100%;gap:var(--kbq-button-toggle-size-item-content-gap-horizontal)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button.cdk-keyboard-focused,.kbq-button-toggle-group .kbq-button-toggle>.kbq-button-icon.cdk-keyboard-focused{outline:none}.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group:not(.kbq-button-toggle_vertical) .kbq-button-toggle>.kbq-button-icon{max-width:100%;height:var(--kbq-button-toggle-size-item-height)}.kbq-button-toggle_vertical{flex-direction:column}.kbq-button-toggle_vertical .kbq-button-toggle{width:100%}.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button,.kbq-button-toggle_vertical .kbq-button-toggle>.kbq-button-icon{width:100%;border-radius:var(--kbq-button-toggle-size-item-border-radius)}.kbq-button-toggle-group{background:var(--kbq-button-toggle-container-background)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button{background:var(--kbq-button-toggle-item-default-background);color:var(--kbq-button-toggle-item-default-text)}.kbq-button-toggle-group .kbq-button-toggle>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-default-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-hover:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-hover:not(.kbq-disabled)>.kbq-icon-button,.kbq-button-toggle-group .kbq-button-toggle:hover:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle:hover:not(.kbq-disabled)>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-hover-background);color:var(--kbq-button-toggle-item-states-hover-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-hover:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-hover:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle:hover:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle:hover:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-hover-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-active:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-active:not(.kbq-disabled)>.kbq-icon-button,.kbq-button-toggle-group .kbq-button-toggle:active:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle:active:not(.kbq-disabled)>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-active-background);color:var(--kbq-button-toggle-item-states-active-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-active:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-active:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle:active:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle:active:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-active-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled)>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled)>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-selected-background);color:var(--kbq-button-toggle-item-states-selected-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled)>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled)>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled).kbq-active>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled).kbq-active>.kbq-icon-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled):active>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled):active>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-selected-active-background);color:var(--kbq-button-toggle-item-states-selected-active-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled).kbq-active>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled).kbq-active>.kbq-icon-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled):active>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-selected:not(.kbq-disabled):active>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-active-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-disabled-background);color:var(--kbq-button-toggle-item-states-disabled-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-disabled-icon)}.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled.kbq-selected>.kbq-button,.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled.kbq-selected>.kbq-icon-button{background:var(--kbq-button-toggle-item-states-selected-disabled-background);color:var(--kbq-button-toggle-item-states-selected-disabled-text)}.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled.kbq-selected>.kbq-button .kbq-icon.kbq-empty,.kbq-button-toggle-group .kbq-button-toggle.kbq-disabled.kbq-selected>.kbq-icon-button .kbq-icon.kbq-empty{color:var(--kbq-button-toggle-item-states-selected-disabled-icon)}.kbq-button-toggle-group .kbq-button-toggle.cdk-keyboard-focused{border-color:var(--kbq-button-toggle-item-states-focused-outline)}.kbq-button-toggle .kbq-button-toggle-wrapper{font-size:var(--kbq-typography-text-normal-medium-font-size);font-style:var(--kbq-typography-text-normal-medium-font-style);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}\n", ".kbq-button-toggle-group{--kbq-button-toggle-size-container-border-radius: var(--kbq-size-border-radius);--kbq-button-toggle-size-container-padding-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-container-padding-vertical: var(--kbq-size-xxs);--kbq-button-toggle-size-container-content-gap-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-item-height: 22px;--kbq-button-toggle-size-item-border-radius: var(--kbq-size-xxs);--kbq-button-toggle-size-item-padding-horizontal: var(--kbq-size-s);--kbq-button-toggle-size-item-padding-vertical: var(--kbq-size-3xs);--kbq-button-toggle-size-item-content-gap-horizontal: var(--kbq-size-xxs);--kbq-button-toggle-size-item-focus-outline-width: var(--kbq-size-3xs);--kbq-button-toggle-container-background: var(--kbq-background-contrast-fade);--kbq-button-toggle-item-default-background: var(--kbq-background-contrast-fade);--kbq-button-toggle-item-default-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-default-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-hover-background: var(--kbq-states-background-contrast-fade-hover);--kbq-button-toggle-item-states-hover-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-hover-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-active-background: var(--kbq-states-background-contrast-fade-active);--kbq-button-toggle-item-states-active-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-active-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-background: var(--kbq-background-card);--kbq-button-toggle-item-states-selected-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-selected-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-active-background: var(--kbq-states-background-transparent-active);--kbq-button-toggle-item-states-selected-active-text: var(--kbq-foreground-contrast);--kbq-button-toggle-item-states-selected-active-icon: var(--kbq-icon-contrast-fade);--kbq-button-toggle-item-states-selected-disabled-background: var(--kbq-states-background-disabled);--kbq-button-toggle-item-states-selected-disabled-text: var(--kbq-states-foreground-disabled);--kbq-button-toggle-item-states-selected-disabled-icon: var(--kbq-states-icon-disabled);--kbq-button-toggle-item-states-disabled-background: none;--kbq-button-toggle-item-states-disabled-text: var(--kbq-states-foreground-disabled);--kbq-button-toggle-item-states-disabled-icon: var(--kbq-states-icon-disabled);--kbq-button-toggle-item-states-focused-outline: var(--kbq-states-line-focus-theme)}\n"] }]
|
|
366
370
|
}], ctorParameters: () => [{ type: KbqButtonToggleGroup, decorators: [{
|
|
367
371
|
type: Optional
|
|
368
372
|
}] }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i0.ElementRef }], propDecorators: { icons: [{
|
|
@@ -384,16 +388,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
384
388
|
}] } });
|
|
385
389
|
|
|
386
390
|
class KbqButtonToggleModule {
|
|
387
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
388
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
389
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
391
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqButtonToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
392
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: KbqButtonToggleModule, imports: [KbqButtonModule, KbqTitleModule, KbqButtonToggleGroup, KbqButtonToggle], exports: [KbqButtonToggleGroup, KbqButtonToggle] }); }
|
|
393
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqButtonToggleModule, imports: [KbqButtonModule, KbqTitleModule, KbqButtonToggle] }); }
|
|
390
394
|
}
|
|
391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
395
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: KbqButtonToggleModule, decorators: [{
|
|
392
396
|
type: NgModule,
|
|
393
397
|
args: [{
|
|
394
|
-
imports: [KbqButtonModule, KbqTitleModule],
|
|
395
|
-
exports: [KbqButtonToggleGroup, KbqButtonToggle]
|
|
396
|
-
declarations: [KbqButtonToggleGroup, KbqButtonToggle]
|
|
398
|
+
imports: [KbqButtonModule, KbqTitleModule, KbqButtonToggleGroup, KbqButtonToggle],
|
|
399
|
+
exports: [KbqButtonToggleGroup, KbqButtonToggle]
|
|
397
400
|
}]
|
|
398
401
|
}] });
|
|
399
402
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-button-toggle.mjs","sources":["../../../packages/components/button-toggle/button-toggle.component.ts","../../../packages/components/button-toggle/button-toggle.module.ts","../../../packages/components/button-toggle/koobiq-components-button-toggle.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqButton } from '@koobiq/components/button';\nimport { getNodesWithoutComments } from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/**\n * Provider Expression that allows kbq-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqButtonToggleGroup),\n multi: true\n};\n\n/** Change event object emitted by MсButtonToggle. */\nexport class KbqButtonToggleChange {\n constructor(\n /** The MсButtonToggle that emits the event. */\n public source: KbqButtonToggle,\n /** The value assigned to the MсButtonToggle. */\n public value: any\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'kbq-button-toggle-group',\n providers: [KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n class: 'kbq-button-toggle-group',\n '[class.kbq-button-toggle_vertical]': 'vertical'\n },\n exportAs: 'kbqButtonToggleGroup'\n})\nexport class KbqButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this.selectionModel ? this.selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map((toggle) => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n\n set value(newValue: any) {\n this.setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /** Selected button toggles in the group. */\n get selected(): any {\n const selected = this.selectionModel.selected;\n\n return this.multiple ? selected : selected[0] || null;\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => KbqButtonToggle)) buttonToggles: QueryList<KbqButtonToggle>;\n\n /** Whether multiple button toggle group is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n if (!this.buttonToggles) {\n return;\n }\n\n this.buttonToggles.forEach((toggle) => toggle.markForCheck());\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<KbqButtonToggleChange> = new EventEmitter<KbqButtonToggleChange>();\n private _vertical = false;\n private _multiple = false;\n private _disabled = false;\n private selectionModel: SelectionModel<KbqButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private rawValue: any;\n\n constructor(private _changeDetector: ChangeDetectorRef) {}\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n onTouched: () => any = () => {};\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<KbqButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this.selectionModel.select(...this.buttonToggles.filter((toggle) => toggle.checked));\n this.disabled = this._disabled;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new KbqButtonToggleChange(source, this.value);\n\n this.controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n syncButtonToggle(toggle: KbqButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as KbqButtonToggle).checked = false;\n }\n\n if (select) {\n this.selectionModel.select(toggle);\n } else {\n this.selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this.emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n isSelected(toggle: KbqButtonToggle) {\n return this.selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n isPrechecked(toggle: KbqButtonToggle) {\n if (this.rawValue === undefined) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.rawValue)) {\n return this.rawValue.some((value) => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this.rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private setSelectionByValue(value: any | any[]) {\n this.rawValue = value;\n\n if (!this.buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this.clearSelection();\n value.forEach((currentValue: any) => this.selectValue(currentValue));\n } else {\n this.clearSelection();\n this.selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private clearSelection() {\n this.selectionModel.clear();\n this.buttonToggles.forEach((toggle) => (toggle.checked = false));\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private selectValue(value: any) {\n const correspondingOption = this.buttonToggles.find((toggle) => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this.selectionModel.select(correspondingOption);\n }\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'kbq-button-toggle',\n exportAs: 'kbqButtonToggle',\n template: `\n <button\n kbq-button\n kbq-title\n type=\"button\"\n [kbqStyle]=\"'transparent'\"\n [class.kbq-selected]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex || 0\"\n (click)=\"onToggleClick()\"\n >\n <div #kbqTitleText class=\"kbq-button-toggle-wrapper\">\n <ng-content />\n </div>\n </button>\n `,\n styleUrls: ['button-toggle.scss', 'button-toggle-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'kbq-button-toggle',\n '[class]': '\"kbq-button-toggle\" + iconType'\n }\n})\nexport class KbqButtonToggle implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(KbqIcon, { descendants: true }) icons: QueryList<KbqIcon>;\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup.isSelected(this) : this._checked;\n }\n\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n type: ToggleType;\n iconType: string = '';\n\n @ViewChild(KbqButton, { static: false }) mcButton: KbqButton;\n\n /** KbqButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<KbqButtonToggleChange> = new EventEmitter<KbqButtonToggleChange>();\n\n private isSingleSelector = false;\n private _checked = false;\n private _disabled: boolean = false;\n\n constructor(\n @Optional() public buttonToggleGroup: KbqButtonToggleGroup,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private element: ElementRef\n ) {}\n\n ngOnInit() {\n this.isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this.type = this.isSingleSelector ? 'radio' : 'checkbox';\n\n if (this.buttonToggleGroup && this.buttonToggleGroup.isPrechecked(this)) {\n this.checked = true;\n }\n }\n\n ngAfterContentInit(): void {\n if (this.icons.length) {\n const nodesWithoutComments = getNodesWithoutComments(\n this.element.nativeElement.querySelector('.kbq-button-toggle-wrapper')!.childNodes as NodeList\n ).length;\n\n this.iconType = nodesWithoutComments === this.icons.length ? '-icon' : '-icon-text';\n }\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.element.nativeElement, true);\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this.focusMonitor.stopMonitoring(this.element.nativeElement);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group.isSelected(this)) {\n Promise.resolve().then(() => group.syncButtonToggle(this, false));\n }\n }\n\n /** Focuses the button. */\n focus(): void {\n this.element.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n onToggleClick() {\n if (this.disabled) {\n return;\n }\n\n const newChecked = this.isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup.onTouched();\n }\n }\n\n // Emit a change event when it's the single selector\n this.change.emit(new KbqButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this.changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { KbqButtonToggle, KbqButtonToggleGroup } from './button-toggle.component';\n\n@NgModule({\n imports: [KbqButtonModule, KbqTitleModule],\n exports: [KbqButtonToggleGroup, KbqButtonToggle],\n declarations: [KbqButtonToggleGroup, KbqButtonToggle]\n})\nexport class KbqButtonToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-button-toggle.mjs","sources":["../../../packages/components/button-toggle/button-toggle.component.ts","../../../packages/components/button-toggle/button-toggle.module.ts","../../../packages/components/button-toggle/koobiq-components-button-toggle.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { KbqButton, KbqButtonModule } from '@koobiq/components/button';\nimport { getNodesWithoutComments } from '@koobiq/components/core';\nimport { KbqIcon } from '@koobiq/components/icon';\nimport { KbqTitleDirective } from '@koobiq/components/title';\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/**\n * Provider Expression that allows kbq-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => KbqButtonToggleGroup),\n multi: true\n};\n\n/** Change event object emitted by MсButtonToggle. */\nexport class KbqButtonToggleChange {\n constructor(\n /** The MсButtonToggle that emits the event. */\n public source: KbqButtonToggle,\n /** The value assigned to the MсButtonToggle. */\n public value: any\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'kbq-button-toggle-group',\n providers: [KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n class: 'kbq-button-toggle-group',\n '[class.kbq-button-toggle_vertical]': 'vertical'\n },\n exportAs: 'kbqButtonToggleGroup'\n})\nexport class KbqButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this.selectionModel ? this.selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map((toggle) => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n\n set value(newValue: any) {\n this.setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /** Selected button toggles in the group. */\n get selected(): any {\n const selected = this.selectionModel.selected;\n\n return this.multiple ? selected : selected[0] || null;\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => KbqButtonToggle)) buttonToggles: QueryList<KbqButtonToggle>;\n\n /** Whether multiple button toggle group is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n if (!this.buttonToggles) {\n return;\n }\n\n this.buttonToggles.forEach((toggle) => toggle.markForCheck());\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<KbqButtonToggleChange> = new EventEmitter<KbqButtonToggleChange>();\n private _vertical = false;\n private _multiple = false;\n private _disabled = false;\n private selectionModel: SelectionModel<KbqButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private rawValue: any;\n\n constructor(private _changeDetector: ChangeDetectorRef) {}\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n onTouched: () => any = () => {};\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<KbqButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this.selectionModel.select(...this.buttonToggles.filter((toggle) => toggle.checked));\n this.disabled = this._disabled;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new KbqButtonToggleChange(source, this.value);\n\n this.controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n syncButtonToggle(toggle: KbqButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as KbqButtonToggle).checked = false;\n }\n\n if (select) {\n this.selectionModel.select(toggle);\n } else {\n this.selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this.emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n isSelected(toggle: KbqButtonToggle) {\n return this.selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n isPrechecked(toggle: KbqButtonToggle) {\n if (this.rawValue === undefined) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.rawValue)) {\n return this.rawValue.some((value) => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this.rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private setSelectionByValue(value: any | any[]) {\n this.rawValue = value;\n\n if (!this.buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this.clearSelection();\n value.forEach((currentValue: any) => this.selectValue(currentValue));\n } else {\n this.clearSelection();\n this.selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private clearSelection() {\n this.selectionModel.clear();\n this.buttonToggles.forEach((toggle) => (toggle.checked = false));\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private selectValue(value: any) {\n const correspondingOption = this.buttonToggles.find((toggle) => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this.selectionModel.select(correspondingOption);\n }\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'kbq-button-toggle',\n imports: [\n KbqTitleDirective,\n KbqButtonModule\n ],\n template: `\n <button\n kbq-button\n kbq-title\n type=\"button\"\n [kbqStyle]=\"'transparent'\"\n [class.kbq-selected]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex || 0\"\n (click)=\"onToggleClick()\"\n >\n <div #kbqTitleText class=\"kbq-button-toggle-wrapper\">\n <ng-content />\n </div>\n </button>\n `,\n styleUrls: ['button-toggle.scss', 'button-toggle-tokens.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'kbqButtonToggle',\n host: {\n class: 'kbq-button-toggle',\n '[class]': '\"kbq-button-toggle\" + iconType',\n '[class.kbq-disabled]': 'disabled',\n '[class.kbq-selected]': 'checked'\n }\n})\nexport class KbqButtonToggle implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(KbqIcon, { descendants: true }) icons: QueryList<KbqIcon>;\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup.isSelected(this) : this._checked;\n }\n\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n type: ToggleType;\n iconType: string = '';\n\n @ViewChild(KbqButton, { static: false }) mcButton: KbqButton;\n\n /** KbqButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<KbqButtonToggleChange> = new EventEmitter<KbqButtonToggleChange>();\n\n private isSingleSelector = false;\n private _checked = false;\n private _disabled: boolean = false;\n\n constructor(\n @Optional() public buttonToggleGroup: KbqButtonToggleGroup,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private element: ElementRef\n ) {}\n\n ngOnInit() {\n this.isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this.type = this.isSingleSelector ? 'radio' : 'checkbox';\n\n if (this.buttonToggleGroup && this.buttonToggleGroup.isPrechecked(this)) {\n this.checked = true;\n }\n }\n\n ngAfterContentInit(): void {\n if (this.icons.length) {\n const nodesWithoutComments = getNodesWithoutComments(\n this.element.nativeElement.querySelector('.kbq-button-toggle-wrapper')!.childNodes as NodeList\n ).length;\n\n this.iconType = nodesWithoutComments === this.icons.length ? '-icon' : '-icon-text';\n }\n }\n\n ngAfterViewInit(): void {\n this.focusMonitor.monitor(this.element.nativeElement, true);\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this.focusMonitor.stopMonitoring(this.element.nativeElement);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group.isSelected(this)) {\n Promise.resolve().then(() => group.syncButtonToggle(this, false));\n }\n }\n\n /** Focuses the button. */\n focus(): void {\n this.element.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n onToggleClick() {\n if (this.disabled) {\n return;\n }\n\n const newChecked = this.isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup.onTouched();\n }\n }\n\n // Emit a change event when it's the single selector\n this.change.emit(new KbqButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this.changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { KbqButtonModule } from '@koobiq/components/button';\nimport { KbqTitleModule } from '@koobiq/components/title';\nimport { KbqButtonToggle, KbqButtonToggleGroup } from './button-toggle.component';\n\n@NgModule({\n imports: [KbqButtonModule, KbqTitleModule, KbqButtonToggleGroup, KbqButtonToggle],\n exports: [KbqButtonToggleGroup, KbqButtonToggle]\n})\nexport class KbqButtonToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|