@koobiq/components 20.4.2 → 21.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-trigger.scss +3 -10
- package/accordion/accordion.scss +4 -6
- package/actions-panel/actions-panel-container.scss +45 -1
- package/alert/alert.component.scss +3 -2
- package/app-switcher/_app-switcher-theme.scss +0 -4
- package/app-switcher/app-switcher-dropdown-app.scss +3 -2
- package/app-switcher/app-switcher-dropdown-site.scss +2 -1
- package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
- package/app-switcher/app-switcher-tokens.scss +15 -0
- package/app-switcher/app-switcher.scss +14 -4
- package/autocomplete/autocomplete.scss +7 -6
- package/badge/badge.component.scss +5 -8
- package/breadcrumbs/breadcrumbs.scss +25 -10
- package/button/_button-base.scss +30 -7
- package/button/_button-theme.scss +16 -0
- package/button/button-group.scss +7 -0
- package/button/button-tokens.scss +0 -2
- package/button/button.scss +34 -2
- package/button-toggle/_button-toggle-theme.scss +7 -2
- package/button-toggle/button-toggle.scss +65 -15
- package/checkbox/_checkbox-theme.scss +4 -3
- package/checkbox/checkbox.scss +3 -6
- package/clamped-text/clamped-text.scss +6 -2
- package/code-block/code-block-tokens.scss +0 -224
- package/code-block/code-block.scss +20 -9
- package/content-panel/content-panel-aside.scss +3 -2
- package/content-panel/content-panel-container.scss +37 -0
- package/content-panel/content-panel.scss +4 -3
- package/core/highlight/_highlight-theme.scss +3 -1
- package/core/option/action-container.scss +2 -2
- package/core/option/action.scss +2 -1
- package/core/option/option.scss +2 -1
- package/core/pop-up/_pop-up.scss +0 -37
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
- package/core/styles/_core.scss +3 -0
- package/core/styles/_koobiq-theme.scss +5 -6
- package/core/styles/common/_animation.scss +44 -16
- package/core/styles/common/_groups-mixins.scss +21 -19
- package/core/styles/common/_groups.scss +4 -32
- package/core/styles/common/_index.scss +0 -2
- package/core/styles/common/_link.scss +117 -0
- package/core/styles/common/_list.scss +0 -26
- package/core/styles/common/_overlay.scss +8 -10
- package/core/styles/common/_rtl.scss +0 -14
- package/core/styles/common/_select.scss +33 -15
- package/core/styles/common/_squircle.scss +63 -0
- package/core/styles/common/_tokens.scss +0 -11
- package/core/styles/common/_vendor-prefixes.scss +0 -20
- package/core/styles/functions/_timing.scss +0 -22
- package/core/styles/theming/_scrollbar-theme.scss +6 -1
- package/core/styles/theming/_theming.scss +13 -65
- package/core/styles/typography/_index.scss +0 -1
- package/core/styles/typography/_typography.scss +0 -143
- package/core/styles/visual/_body.scss +1 -6
- package/core/styles/visual/_layout.scss +0 -12
- package/datepicker/calendar-body.scss +3 -1
- package/datepicker/calendar-header.scss +0 -1
- package/datepicker/datepicker-content.scss +33 -1
- package/datepicker/datepicker-toggle.scss +0 -38
- package/dl/dl-tokens.scss +10 -0
- package/dl/dl.scss +113 -13
- package/dropdown/_dropdown-theme.scss +4 -16
- package/dropdown/dropdown-item.scss +4 -10
- package/dropdown/dropdown.scss +2 -1
- package/empty-state/_empty-state-theme.scss +10 -4
- package/empty-state/empty-state-tokens.scss +4 -4
- package/empty-state/empty-state.scss +4 -0
- package/fesm2022/koobiq-components-accordion.mjs +347 -229
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +39 -39
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +46 -48
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +332 -116
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +172 -132
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +755 -601
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +260 -143
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +4342 -1595
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +73 -36
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +447 -89
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +703 -599
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +116 -60
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +550 -290
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +79 -24
- package/fesm2022/koobiq-components-flag.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +389 -525
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +366 -136
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +601 -459
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
- package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-link.mjs +328 -125
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +583 -433
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +55 -78
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +853 -475
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +895 -556
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +680 -310
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +684 -285
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +450 -231
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +127 -21
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
- package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +883 -693
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +207 -88
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +815 -41
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +109 -88
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
- package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-splitter.mjs +890 -501
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +63 -49
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +1062 -603
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +886 -733
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +213 -185
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +299 -147
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +233 -245
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +344 -142
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +229 -145
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +463 -143
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +177 -130
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +657 -214
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +61 -32
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +719 -488
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +1506 -558
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +290 -135
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/dropzone.scss +31 -3
- package/file-upload/file-upload-tokens.scss +2 -22
- package/file-upload/file-upload.scss +6 -0
- package/file-upload/multiple-file-upload.component.scss +14 -12
- package/file-upload/single-file-upload.component.scss +3 -2
- package/filter-bar/filters.scss +7 -0
- package/filter-bar/pipes/base-pipe.scss +3 -3
- package/filter-bar/pipes/pipe-date.scss +8 -1
- package/flag/flag-tokens.scss +22 -0
- package/flag/flag.scss +34 -21
- package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
- package/form-field/_form-field-theme.scss +4 -9
- package/form-field/cleaner.scss +3 -1
- package/form-field/fieldset.scss +3 -4
- package/form-field/form-field.scss +26 -21
- package/form-field/password-toggle.scss +3 -1
- package/icon/_icon-button-theme.scss +7 -0
- package/icon/_icon-theme.scss +10 -7
- package/icon/icon-button.scss +0 -2
- package/icon/icon-tokens.scss +12 -9
- package/inline-edit/inline-edit.scss +40 -54
- package/input/input.scss +4 -0
- package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
- package/link/deprecated/link-tokens.scss +27 -0
- package/link/link-tokens.scss +6 -25
- package/link/link.scss +137 -0
- package/list/list.scss +3 -2
- package/loader-overlay/_loader-overlay-theme.scss +19 -10
- package/loader-overlay/loader-overlay-tokens.scss +0 -2
- package/loader-overlay/loader-overlay.scss +7 -1
- package/markdown/_markdown-theme.scss +16 -0
- package/markdown/markdown-tokens.scss +5 -0
- package/markdown/markdown.scss +2 -1
- package/modal/_modal-animation.scss +23 -14
- package/modal/modal-tokens.scss +2 -1
- package/modal/modal.scss +35 -31
- package/navbar/_navbar-item_horizontal.scss +8 -6
- package/navbar/_navbar-item_vertical.scss +18 -6
- package/navbar/_navbar-theme.scss +9 -1
- package/navbar/navbar-brand.scss +8 -6
- package/navbar/navbar-divider.scss +1 -1
- package/navbar/navbar-item.scss +8 -9
- package/navbar/navbar-toggle.scss +3 -3
- package/navbar/navbar-tokens.scss +14 -0
- package/navbar/navbar.scss +1 -2
- package/navbar/vertical-navbar.scss +2 -2
- package/notification-center/_notification-center-theme.scss +11 -6
- package/notification-center/notification-center-tokens.scss +33 -0
- package/notification-center/notification-center.scss +58 -20
- package/notification-center/notification-item.scss +15 -6
- package/package.json +112 -81
- package/popover/popover-tokens.scss +0 -2
- package/popover/popover.scss +41 -19
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +20 -3
- package/progress-bar/progress-bar-tokens.scss +3 -0
- package/progress-bar/progress-bar.scss +36 -8
- package/progress-spinner/progress-spinner.scss +4 -3
- package/radio/_radio-theme.scss +21 -4
- package/radio/radio-tokens.scss +7 -3
- package/radio/radio.scss +55 -8
- package/schematics/collection.json +399 -7
- package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
- package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
- package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
- package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
- package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
- package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
- package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
- package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
- package/schematics/migrations/alert-signals/README.md +13 -7
- package/schematics/migrations/alert-signals/data.js +3 -0
- package/schematics/migrations/alert-signals/index.js +70 -203
- package/schematics/migrations/angular-animations-removal/README.md +46 -0
- package/schematics/migrations/angular-animations-removal/data.js +150 -0
- package/schematics/migrations/angular-animations-removal/index.js +20 -0
- package/schematics/migrations/angular-animations-removal/schema.json +15 -0
- package/schematics/migrations/app-switcher-signals/README.md +88 -0
- package/schematics/migrations/app-switcher-signals/data.js +136 -0
- package/schematics/migrations/app-switcher-signals/index.js +365 -0
- package/schematics/migrations/app-switcher-signals/schema.json +20 -0
- package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
- package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
- package/schematics/migrations/autocomplete-signals/README.md +92 -0
- package/schematics/migrations/autocomplete-signals/data.js +149 -0
- package/schematics/migrations/autocomplete-signals/index.js +706 -0
- package/schematics/migrations/autocomplete-signals/schema.json +20 -0
- package/schematics/migrations/badge-signals/README.md +77 -0
- package/schematics/migrations/badge-signals/data.js +109 -0
- package/schematics/migrations/badge-signals/index.js +693 -0
- package/schematics/migrations/badge-signals/schema.json +20 -0
- package/schematics/migrations/button-state-and-styles/README.md +129 -0
- package/schematics/migrations/button-state-and-styles/data.js +136 -0
- package/schematics/migrations/button-state-and-styles/index.js +220 -0
- package/schematics/migrations/button-state-and-styles/schema.json +20 -0
- package/schematics/migrations/button-supported-colors/README.md +73 -0
- package/schematics/migrations/button-supported-colors/data.js +106 -0
- package/schematics/migrations/button-supported-colors/index.js +260 -0
- package/schematics/migrations/button-supported-colors/schema.json +20 -0
- package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
- package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
- package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
- package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/button-truncation/README.md +110 -0
- package/schematics/migrations/button-truncation/data.js +88 -0
- package/schematics/migrations/button-truncation/index.js +269 -0
- package/schematics/migrations/button-truncation/schema.json +20 -0
- package/schematics/migrations/checkbox-signals/README.md +76 -0
- package/schematics/migrations/checkbox-signals/data.js +114 -0
- package/schematics/migrations/checkbox-signals/index.js +634 -0
- package/schematics/migrations/checkbox-signals/schema.json +20 -0
- package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
- package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
- package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
- package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
- package/schematics/migrations/code-block-signals/README.md +84 -0
- package/schematics/migrations/code-block-signals/data.js +121 -0
- package/schematics/migrations/code-block-signals/index.js +700 -0
- package/schematics/migrations/code-block-signals/schema.json +20 -0
- package/schematics/migrations/color-signals/README.md +46 -0
- package/schematics/migrations/color-signals/data.js +131 -0
- package/schematics/migrations/color-signals/index.js +19 -0
- package/schematics/migrations/color-signals/schema.json +20 -0
- package/schematics/migrations/core-mixins-removal/README.md +20 -0
- package/schematics/migrations/core-mixins-removal/data.js +27 -0
- package/schematics/migrations/core-mixins-removal/index.js +17 -0
- package/schematics/migrations/core-mixins-removal/schema.json +15 -0
- package/schematics/migrations/css-selectors/README.md +2 -2
- package/schematics/migrations/css-selectors/index.js +1 -1
- package/schematics/migrations/datepicker-signals/README.md +24 -0
- package/schematics/migrations/datepicker-signals/data.js +49 -0
- package/schematics/migrations/datepicker-signals/index.js +17 -0
- package/schematics/migrations/datepicker-signals/schema.json +15 -0
- package/schematics/migrations/deprecated-icons/README.md +2 -2
- package/schematics/migrations/deprecated-icons/index.js +1 -1
- package/schematics/migrations/design-tokens-v4/README.md +75 -0
- package/schematics/migrations/design-tokens-v4/index.js +59 -0
- package/schematics/migrations/design-tokens-v4/schema.json +15 -0
- package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
- package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
- package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
- package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
- package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
- package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
- package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
- package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
- package/schematics/migrations/dl-standalone-names/README.md +49 -0
- package/schematics/migrations/dl-standalone-names/data.js +44 -0
- package/schematics/migrations/dl-standalone-names/index.js +321 -0
- package/schematics/migrations/dl-standalone-names/schema.json +20 -0
- package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
- package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
- package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
- package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
- package/schematics/migrations/dropdown-signals/README.md +83 -0
- package/schematics/migrations/dropdown-signals/data.js +152 -0
- package/schematics/migrations/dropdown-signals/index.js +19 -0
- package/schematics/migrations/dropdown-signals/schema.json +20 -0
- package/schematics/migrations/empty-state-error-color/README.md +84 -0
- package/schematics/migrations/empty-state-error-color/data.js +85 -0
- package/schematics/migrations/empty-state-error-color/index.js +71 -0
- package/schematics/migrations/empty-state-error-color/schema.json +15 -0
- package/schematics/migrations/empty-state-size-attr/README.md +2 -2
- package/schematics/migrations/empty-state-size-attr/index.js +1 -1
- package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
- package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
- package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
- package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
- package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
- package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
- package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
- package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
- package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
- package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
- package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
- package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
- package/schematics/migrations/filter-bar-signals/README.md +27 -16
- package/schematics/migrations/filter-bar-signals/data.js +1 -2
- package/schematics/migrations/filter-bar-signals/index.js +100 -195
- package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
- package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
- package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
- package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
- package/schematics/migrations/flag-inner-html/README.md +67 -0
- package/schematics/migrations/flag-inner-html/data.js +58 -0
- package/schematics/migrations/flag-inner-html/index.js +61 -0
- package/schematics/migrations/flag-inner-html/schema.json +15 -0
- package/schematics/migrations/form-field-signals/README.md +125 -0
- package/schematics/migrations/form-field-signals/data.js +288 -0
- package/schematics/migrations/form-field-signals/index.js +382 -0
- package/schematics/migrations/form-field-signals/schema.json +20 -0
- package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
- package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
- package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
- package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
- package/schematics/migrations/icons-replacement/README.md +5 -5
- package/schematics/migrations/icons-replacement/index.js +1 -1
- package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
- package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
- package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
- package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
- package/schematics/migrations/input-number-surface/README.md +140 -0
- package/schematics/migrations/input-number-surface/data.js +135 -0
- package/schematics/migrations/input-number-surface/index.js +292 -0
- package/schematics/migrations/input-number-surface/schema.json +20 -0
- package/schematics/migrations/input-signals/README.md +20 -0
- package/schematics/migrations/input-signals/data.js +30 -0
- package/schematics/migrations/input-signals/index.js +17 -0
- package/schematics/migrations/input-signals/schema.json +15 -0
- package/schematics/migrations/link-deprecated-path/README.md +144 -0
- package/schematics/migrations/link-deprecated-path/index.js +19 -0
- package/schematics/migrations/link-deprecated-path/schema.json +20 -0
- package/schematics/migrations/link-signals/README.md +71 -0
- package/schematics/migrations/link-signals/data.js +116 -0
- package/schematics/migrations/link-signals/index.js +415 -0
- package/schematics/migrations/link-signals/schema.json +20 -0
- package/schematics/migrations/list-signals/README.md +22 -0
- package/schematics/migrations/list-signals/data.js +35 -0
- package/schematics/migrations/list-signals/index.js +17 -0
- package/schematics/migrations/list-signals/schema.json +15 -0
- package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
- package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
- package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
- package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
- package/schematics/migrations/loader-overlay-signals/README.md +62 -0
- package/schematics/migrations/loader-overlay-signals/data.js +101 -0
- package/schematics/migrations/loader-overlay-signals/index.js +697 -0
- package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
- package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
- package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
- package/schematics/migrations/locale-configuration-providers/README.md +163 -0
- package/schematics/migrations/locale-configuration-providers/data.js +257 -0
- package/schematics/migrations/locale-configuration-providers/index.js +294 -0
- package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
- package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
- package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
- package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
- package/schematics/migrations/markdown-signals/README.md +58 -0
- package/schematics/migrations/markdown-signals/data.js +79 -0
- package/schematics/migrations/markdown-signals/index.js +639 -0
- package/schematics/migrations/markdown-signals/schema.json +20 -0
- package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
- package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
- package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
- package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
- package/schematics/migrations/modal-signals/README.md +88 -0
- package/schematics/migrations/modal-signals/data.js +132 -0
- package/schematics/migrations/modal-signals/index.js +19 -0
- package/schematics/migrations/modal-signals/schema.json +20 -0
- package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
- package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
- package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
- package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/new-icons-pack/README.md +10 -10
- package/schematics/migrations/new-icons-pack/index.js +1 -1
- package/schematics/migrations/notification-center-signals/README.md +67 -0
- package/schematics/migrations/notification-center-signals/data.js +66 -0
- package/schematics/migrations/notification-center-signals/index.js +61 -0
- package/schematics/migrations/notification-center-signals/schema.json +15 -0
- package/schematics/migrations/option-signals/README.md +37 -0
- package/schematics/migrations/option-signals/data.js +86 -0
- package/schematics/migrations/option-signals/index.js +19 -0
- package/schematics/migrations/option-signals/schema.json +20 -0
- package/schematics/migrations/popover-leave-delay/README.md +51 -0
- package/schematics/migrations/popover-leave-delay/data.js +61 -0
- package/schematics/migrations/popover-leave-delay/index.js +54 -0
- package/schematics/migrations/popover-leave-delay/schema.json +15 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
- package/schematics/migrations/progress-spinner-signals/README.md +72 -0
- package/schematics/migrations/progress-spinner-signals/data.js +83 -0
- package/schematics/migrations/progress-spinner-signals/index.js +694 -0
- package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
- package/schematics/migrations/query-list-signals/README.md +32 -0
- package/schematics/migrations/query-list-signals/data.js +70 -0
- package/schematics/migrations/query-list-signals/index.js +17 -0
- package/schematics/migrations/query-list-signals/schema.json +15 -0
- package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
- package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
- package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
- package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
- package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
- package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
- package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
- package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
- package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
- package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
- package/schematics/migrations/select-signal-inputs/README.md +61 -0
- package/schematics/migrations/select-signal-inputs/data.js +99 -0
- package/schematics/migrations/select-signal-inputs/index.js +57 -0
- package/schematics/migrations/select-signal-inputs/schema.json +15 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
- package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
- package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
- package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
- package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
- package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
- package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
- package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
- package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
- package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
- package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
- package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
- package/schematics/migrations/state-saving-default/README.md +67 -0
- package/schematics/migrations/state-saving-default/data.js +88 -0
- package/schematics/migrations/state-saving-default/index.js +62 -0
- package/schematics/migrations/state-saving-default/schema.json +15 -0
- package/schematics/migrations/table-cell-content/README.md +55 -0
- package/schematics/migrations/table-cell-content/data.js +66 -0
- package/schematics/migrations/table-cell-content/index.js +66 -0
- package/schematics/migrations/table-cell-content/schema.json +15 -0
- package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
- package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
- package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
- package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
- package/schematics/migrations/tag-list-cleaner/README.md +58 -0
- package/schematics/migrations/tag-list-cleaner/data.js +42 -0
- package/schematics/migrations/tag-list-cleaner/index.js +196 -0
- package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
- package/schematics/migrations/tag-slots/README.md +41 -0
- package/schematics/migrations/tag-slots/index.js +190 -0
- package/schematics/migrations/tag-slots/schema.json +20 -0
- package/schematics/migrations/tags-signals/README.md +85 -0
- package/schematics/migrations/tags-signals/data.js +103 -0
- package/schematics/migrations/tags-signals/index.js +673 -0
- package/schematics/migrations/tags-signals/schema.json +20 -0
- package/schematics/migrations/textarea-signals/README.md +72 -0
- package/schematics/migrations/textarea-signals/data.js +121 -0
- package/schematics/migrations/textarea-signals/index.js +379 -0
- package/schematics/migrations/textarea-signals/schema.json +20 -0
- package/schematics/migrations/time-range-title-for/README.md +164 -0
- package/schematics/migrations/time-range-title-for/data.js +139 -0
- package/schematics/migrations/time-range-title-for/index.js +163 -0
- package/schematics/migrations/time-range-title-for/schema.json +20 -0
- package/schematics/migrations/timepicker-signals/README.md +78 -0
- package/schematics/migrations/timepicker-signals/data.js +82 -0
- package/schematics/migrations/timepicker-signals/index.js +709 -0
- package/schematics/migrations/timepicker-signals/schema.json +20 -0
- package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
- package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
- package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
- package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
- package/schematics/migrations/title-encapsulation/README.md +49 -0
- package/schematics/migrations/title-encapsulation/data.js +69 -0
- package/schematics/migrations/title-encapsulation/index.js +57 -0
- package/schematics/migrations/title-encapsulation/schema.json +15 -0
- package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
- package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
- package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
- package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
- package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
- package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
- package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
- package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
- package/schematics/migrations/tree-select-signals/README.md +61 -0
- package/schematics/migrations/tree-select-signals/data.js +106 -0
- package/schematics/migrations/tree-select-signals/index.js +58 -0
- package/schematics/migrations/tree-select-signals/schema.json +15 -0
- package/schematics/migrations/tree-signals/README.md +82 -0
- package/schematics/migrations/tree-signals/data.js +123 -0
- package/schematics/migrations/tree-signals/index.js +54 -0
- package/schematics/migrations/tree-signals/schema.json +15 -0
- package/schematics/migrations/tree-state-saving-default/README.md +66 -0
- package/schematics/migrations/tree-state-saving-default/data.js +78 -0
- package/schematics/migrations/tree-state-saving-default/index.js +60 -0
- package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
- package/schematics/migrations/username-pipe-injection/README.md +59 -0
- package/schematics/migrations/username-pipe-injection/data.js +78 -0
- package/schematics/migrations/username-pipe-injection/index.js +58 -0
- package/schematics/migrations/username-pipe-injection/schema.json +15 -0
- package/schematics/migrations/v20-upgrade/README.md +36 -16
- package/schematics/migrations/v20-upgrade/data.js +124 -77
- package/schematics/migrations/v20-upgrade/index.js +6 -213
- package/schematics/migrations/v21-upgrade/README.md +271 -0
- package/schematics/migrations/v21-upgrade/data.js +1371 -0
- package/schematics/migrations/v21-upgrade/index.js +94 -0
- package/schematics/migrations/v21-upgrade/schema.json +20 -0
- package/schematics/migrations/zoneless-change-detection/README.md +30 -0
- package/schematics/migrations/zoneless-change-detection/data.js +29 -0
- package/schematics/migrations/zoneless-change-detection/index.js +20 -0
- package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
- package/schematics/migrations.json +392 -2
- package/schematics/ng-add/index.js +515 -14
- package/schematics/ng-add/schema.json +15 -0
- package/schematics/utils/deprecated-path-migration.js +61 -0
- package/schematics/utils/package-config.js +9 -105
- package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
- package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
- package/scrollbar/native-scrollbar.scss +68 -0
- package/scrollbar/scrollbar-tokens.scss +13 -22
- package/scrollbar/scrollbar-track.scss +94 -0
- package/scrollbar/scrollbar-viewport.scss +33 -0
- package/scrollbar/scrollbar.scss +24 -0
- package/search-expandable/search-expandable-tokens.scss +4 -0
- package/search-expandable/search-expandable.scss +4 -2
- package/select/_select-theme.scss +3 -16
- package/select/select.scss +0 -6
- package/sidebar/sidebar.scss +20 -0
- package/sidepanel/_sidepanel-theme.scss +1 -1
- package/sidepanel/sidepanel-tokens.scss +7 -1
- package/sidepanel/sidepanel.scss +41 -5
- package/skeleton/skeleton-presets.scss +350 -0
- package/skeleton/skeleton-tokens.scss +127 -0
- package/skeleton/skeleton.scss +53 -45
- package/split-button/_split-button-theme.scss +4 -4
- package/split-button/split-button.scss +2 -6
- package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
- package/splitter/deprecated/splitter.scss +51 -0
- package/splitter/splitter-tokens.scss +19 -0
- package/splitter/splitter.scss +148 -28
- package/table/_table-theme.scss +13 -12
- package/table/table-tokens.scss +8 -0
- package/table/table.scss +47 -22
- package/tabs/_tabs-common.scss +14 -14
- package/tabs/_tabs-theme.scss +4 -5
- package/tabs/tab-body.scss +49 -1
- package/tabs/tab-header.scss +2 -1
- package/tags/tag-list.scss +4 -0
- package/tags/tag.scss +19 -1
- package/time-range/time-range.scss +9 -0
- package/timezone/timezone-option.component.scss +4 -7
- package/timezone/timezone-select.component.scss +3 -0
- package/toast/_toast-theme.scss +1 -4
- package/toast/toast-container.component.scss +19 -13
- package/toast/toast-tokens.scss +12 -6
- package/toast/toast.component.scss +42 -19
- package/toggle/_toggle-theme.scss +4 -10
- package/toggle/toggle.scss +67 -26
- package/tooltip/_tooltip-theme.scss +7 -1
- package/tooltip/tooltip-tokens.scss +1 -2
- package/tooltip/tooltip.scss +55 -9
- package/top-bar/top-bar-tokens.scss +13 -2
- package/top-bar/top-bar.scss +24 -19
- package/tree/_tree-theme.scss +0 -1
- package/tree/toggle.scss +5 -9
- package/tree/tree-option.scss +2 -4
- package/tree/tree-tokens.scss +2 -1
- package/tree/tree.scss +3 -5
- package/tree-select/_tree-select-theme.scss +4 -15
- package/tree-select/tree-select-tokens.scss +16 -0
- package/tree-select/tree-select.scss +0 -6
- package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
- package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
- package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
- package/types/koobiq-components-app-switcher.d.ts +406 -0
- package/types/koobiq-components-autocomplete.d.ts +443 -0
- package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
- package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
- package/types/koobiq-components-button-toggle.d.ts +340 -0
- package/types/koobiq-components-button.d.ts +296 -0
- package/types/koobiq-components-checkbox.d.ts +172 -0
- package/types/koobiq-components-clamped-text.d.ts +184 -0
- package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
- package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
- package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
- package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
- package/types/koobiq-components-divider.d.ts +43 -0
- package/types/koobiq-components-dl.d.ts +235 -0
- package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
- package/types/koobiq-components-ellipsis-center.d.ts +85 -0
- package/types/koobiq-components-empty-state.d.ts +106 -0
- package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
- package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
- package/types/koobiq-components-flag.d.ts +68 -0
- package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
- package/types/koobiq-components-icon.d.ts +333 -0
- package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
- package/types/koobiq-components-input.d.ts +477 -0
- package/types/koobiq-components-link-deprecated.d.ts +101 -0
- package/types/koobiq-components-link.d.ts +176 -0
- package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
- package/types/koobiq-components-loader-overlay.d.ts +101 -0
- package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
- package/types/koobiq-components-modal.d.ts +666 -0
- package/types/koobiq-components-navbar.d.ts +569 -0
- package/types/koobiq-components-notification-center.d.ts +500 -0
- package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
- package/types/koobiq-components-popover.d.ts +468 -0
- package/types/koobiq-components-progress-bar.d.ts +67 -0
- package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
- package/types/koobiq-components-radio.d.ts +294 -0
- package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
- package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
- package/types/koobiq-components-scrollbar.d.ts +154 -0
- package/types/koobiq-components-search-expandable.d.ts +164 -0
- package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
- package/types/koobiq-components-sidebar.d.ts +152 -0
- package/types/koobiq-components-sidepanel.d.ts +436 -0
- package/types/koobiq-components-skeleton.d.ts +234 -0
- package/types/koobiq-components-split-button.d.ts +65 -0
- package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
- package/types/koobiq-components-splitter.d.ts +406 -0
- package/types/koobiq-components-table.d.ts +44 -0
- package/types/koobiq-components-tabs.d.ts +888 -0
- package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
- package/types/koobiq-components-textarea.d.ts +178 -0
- package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
- package/types/koobiq-components-timepicker.d.ts +223 -0
- package/types/koobiq-components-timezone.d.ts +266 -0
- package/types/koobiq-components-title.d.ts +184 -0
- package/types/koobiq-components-toast.d.ts +289 -0
- package/types/koobiq-components-toggle.d.ts +121 -0
- package/types/koobiq-components-tooltip.d.ts +610 -0
- package/types/koobiq-components-top-bar.d.ts +61 -0
- package/types/koobiq-components-tree-select.d.ts +667 -0
- package/types/koobiq-components-tree.d.ts +1290 -0
- package/types/koobiq-components-username.d.ts +340 -0
- package/username/_username-theme.scss +35 -0
- package/username/username.scss +10 -34
- package/app-switcher/index.d.ts +0 -276
- package/autocomplete/index.d.ts +0 -286
- package/button/index.d.ts +0 -153
- package/button-toggle/index.d.ts +0 -162
- package/checkbox/index.d.ts +0 -163
- package/clamped-text/index.d.ts +0 -146
- package/core/styles/_tokens.scss +0 -7
- package/core/styles/common/_clearfix.scss +0 -13
- package/core/styles/common/_popup.scss +0 -6
- package/core/styles/functions/_index.scss +0 -3
- package/core/styles/functions/_number.scss +0 -60
- package/core/styles/functions/_string.scss +0 -18
- package/core/styles/theming/scrollbar-tokens.scss +0 -25
- package/core/styles/typography/_typography-utils.scss +0 -84
- package/divider/index.d.ts +0 -20
- package/dl/index.d.ts +0 -45
- package/ellipsis-center/index.d.ts +0 -71
- package/empty-state/index.d.ts +0 -45
- package/flag/index.d.ts +0 -44
- package/icon/index.d.ts +0 -200
- package/input/index.d.ts +0 -354
- package/link/index.d.ts +0 -56
- package/loader-overlay/index.d.ts +0 -57
- package/modal/index.d.ts +0 -339
- package/navbar/index.d.ts +0 -372
- package/notification-center/index.d.ts +0 -323
- package/popover/index.d.ts +0 -182
- package/prebuilt-themes/dark-theme.css +0 -1
- package/prebuilt-themes/light-theme.css +0 -1
- package/progress-bar/index.d.ts +0 -31
- package/radio/index.d.ts +0 -203
- package/search-expandable/index.d.ts +0 -101
- package/sidebar/index.d.ts +0 -94
- package/sidepanel/index.d.ts +0 -272
- package/skeleton/index.d.ts +0 -26
- package/split-button/index.d.ts +0 -46
- package/table/index.d.ts +0 -25
- package/tabs/index.d.ts +0 -677
- package/textarea/index.d.ts +0 -138
- package/timepicker/index.d.ts +0 -197
- package/timezone/index.d.ts +0 -125
- package/title/index.d.ts +0 -139
- package/toast/index.d.ts +0 -178
- package/toggle/index.d.ts +0 -104
- package/tooltip/index.d.ts +0 -335
- package/top-bar/index.d.ts +0 -33
- package/tree/index.d.ts +0 -802
- package/tree-select/index.d.ts +0 -475
- package/username/index.d.ts +0 -194
- /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
- /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
|
@@ -1,29 +1,24 @@
|
|
|
1
|
-
import { coerceCssPixelValue } from '@angular/cdk/coercion';
|
|
2
1
|
import { CdkDialogContainer, Dialog } from '@angular/cdk/dialog';
|
|
3
|
-
import {
|
|
4
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
2
|
+
import { OverlayContainer, Overlay, OVERLAY_DEFAULT_CONFIG } from '@angular/cdk/overlay';
|
|
5
3
|
import * as i0 from '@angular/core';
|
|
6
|
-
import { InjectionToken,
|
|
7
|
-
import { map, of, Subject, ReplaySubject, filter, take, takeUntil } from 'rxjs';
|
|
8
|
-
import { trigger, state, style, transition, group, animate, query, animateChild } from '@angular/animations';
|
|
4
|
+
import { InjectionToken, signal, inject, Injector, Renderer2, ViewEncapsulation, ChangeDetectionStrategy, Component, Injectable, EnvironmentInjector, createEnvironmentInjector, NgModule } from '@angular/core';
|
|
9
5
|
import { CdkPortalOutlet } from '@angular/cdk/portal';
|
|
10
|
-
import
|
|
11
|
-
import * as i2 from '@koobiq/components/button';
|
|
6
|
+
import * as i3 from '@koobiq/components/button';
|
|
12
7
|
import { KbqButtonModule } from '@koobiq/components/button';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
8
|
+
import * as i1 from '@koobiq/components/core';
|
|
9
|
+
import { ruRULocaleData, kbqLocaleConfigurationOverrideProvider, kbqAnimationsDisabled, KbqLocaleOverridesDirective, kbqAfterAnimations, KBQ_WINDOW } from '@koobiq/components/core';
|
|
10
|
+
import * as i2 from '@koobiq/components/divider';
|
|
15
11
|
import { KbqDividerModule } from '@koobiq/components/divider';
|
|
16
|
-
import * as
|
|
12
|
+
import * as i4 from '@koobiq/components/icon';
|
|
17
13
|
import { KbqIconModule } from '@koobiq/components/icon';
|
|
18
|
-
import * as
|
|
14
|
+
import * as i5 from '@koobiq/components/tooltip';
|
|
19
15
|
import { KbqToolTipModule } from '@koobiq/components/tooltip';
|
|
16
|
+
import { Subject, ReplaySubject, filter, take } from 'rxjs';
|
|
20
17
|
|
|
21
18
|
/** Injection token that can be used to specify default actions panel config. */
|
|
22
19
|
const KBQ_ACTIONS_PANEL_DEFAULT_CONFIG = new InjectionToken('KBQ_ACTIONS_PANEL_DEFAULT_CONFIG', { factory: () => new KbqActionsPanelConfig() });
|
|
23
20
|
/**
|
|
24
|
-
* Utility for providing default actions panel config.
|
|
25
|
-
*
|
|
26
|
-
* @see `KBQ_ACTIONS_PANEL_DEFAULT_CONFIG`
|
|
21
|
+
* Utility for providing default actions panel config through {@link KBQ_ACTIONS_PANEL_DEFAULT_CONFIG}.
|
|
27
22
|
*/
|
|
28
23
|
const kbqActionsPanelDefaultConfigProvider = (config) => ({
|
|
29
24
|
provide: KBQ_ACTIONS_PANEL_DEFAULT_CONFIG,
|
|
@@ -32,68 +27,41 @@ const kbqActionsPanelDefaultConfigProvider = (config) => ({
|
|
|
32
27
|
/**
|
|
33
28
|
* Configuration for opened actions panel.
|
|
34
29
|
* Based on cdk `DialogConfig`.
|
|
35
|
-
*
|
|
36
|
-
* @see `DialogConfig`
|
|
37
|
-
*
|
|
38
30
|
*/
|
|
39
31
|
class KbqActionsPanelConfig {
|
|
40
32
|
constructor() {
|
|
41
33
|
/**
|
|
42
|
-
* Data being injected into the child component.
|
|
43
|
-
*
|
|
44
|
-
* @see `KBQ_ACTIONS_PANEL_DATA`
|
|
34
|
+
* Data being injected into the child component with {@link KBQ_ACTIONS_PANEL_DATA}.
|
|
45
35
|
*/
|
|
46
36
|
this.data = null;
|
|
47
37
|
/**
|
|
48
38
|
* Whether the actions panel should be closed of when the user goes backwards/forwards in history.
|
|
39
|
+
* Defaults to `true`.
|
|
49
40
|
* NOTE! This does not apply to router navigation.
|
|
50
|
-
*
|
|
51
|
-
* @default true
|
|
52
41
|
*/
|
|
53
42
|
this.closeOnNavigation = true;
|
|
54
43
|
/**
|
|
55
|
-
* Direction of the text in the actions panel.
|
|
56
|
-
*
|
|
57
|
-
* @default 'ltr'
|
|
44
|
+
* Direction of the text in the actions panel. Defaults to `'ltr'`.
|
|
58
45
|
*/
|
|
59
46
|
this.direction = 'ltr';
|
|
60
47
|
/**
|
|
61
|
-
* Scroll strategy to be used for the actions panel.
|
|
62
|
-
*
|
|
63
|
-
* @default `RepositionScrollStrategy`
|
|
48
|
+
* Scroll strategy to be used for the actions panel. Defaults to `RepositionScrollStrategy`.
|
|
64
49
|
*/
|
|
65
50
|
this.scrollStrategy = (overlay) => overlay.scrollStrategies.reposition();
|
|
66
51
|
/**
|
|
67
|
-
* Whether the user can use ESC or click on close button to close the actions panel.
|
|
68
|
-
*
|
|
69
|
-
* @default false
|
|
52
|
+
* Whether the user can use ESC or click on close button to close the actions panel. Defaults to `false`.
|
|
70
53
|
*/
|
|
71
54
|
this.disableClose = false;
|
|
72
55
|
}
|
|
73
56
|
}
|
|
74
57
|
|
|
75
58
|
/** Localization configuration provider. */
|
|
76
|
-
const KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION = new InjectionToken('
|
|
77
|
-
/** Utility provider for `KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION`. */
|
|
78
|
-
const kbqActionsPanelLocaleConfigurationProvider = (configuration) => ({
|
|
79
|
-
provide: KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION,
|
|
80
|
-
useValue: configuration
|
|
81
|
-
});
|
|
59
|
+
const KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION = new InjectionToken('KbqActionsPanelLocaleConfiguration', { factory: () => ruRULocaleData.actionsPanel });
|
|
82
60
|
/**
|
|
83
|
-
*
|
|
61
|
+
* Utility provider for `KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION`. Only the strings you pass are
|
|
62
|
+
* overridden; the rest keep following the active locale.
|
|
84
63
|
*/
|
|
85
|
-
const
|
|
86
|
-
state('void, hidden', style({ transform: 'translateY(100%)' })),
|
|
87
|
-
state('visible', style({ transform: 'translateY(0%)' })),
|
|
88
|
-
transition('visible => void, visible => hidden', group([
|
|
89
|
-
animate(`${KbqAnimationDurations.Entering} ${KbqAnimationCurves.StandardCurve}`),
|
|
90
|
-
query('@*', animateChild(), { optional: true })
|
|
91
|
-
])),
|
|
92
|
-
transition('void => visible', group([
|
|
93
|
-
animate(`${KbqAnimationDurations.Exiting} ${KbqAnimationCurves.StandardCurve}`),
|
|
94
|
-
query('@*', animateChild(), { optional: true })
|
|
95
|
-
]))
|
|
96
|
-
]);
|
|
64
|
+
const kbqActionsPanelLocaleConfigurationProvider = (configuration) => kbqLocaleConfigurationOverrideProvider('actionsPanel', configuration);
|
|
97
65
|
/**
|
|
98
66
|
* Internal component that wraps user-provided actions panel content.
|
|
99
67
|
*
|
|
@@ -107,13 +75,20 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
|
|
|
107
75
|
*
|
|
108
76
|
* @docs-private
|
|
109
77
|
*/
|
|
110
|
-
this.animationState = 'void';
|
|
78
|
+
this.animationState = signal('void', ...(ngDevMode ? [{ debugName: "animationState" }] : /* istanbul ignore next */ []));
|
|
111
79
|
/**
|
|
112
|
-
* Emits
|
|
80
|
+
* Emits the state the actions panel has finished moving to.
|
|
113
81
|
*
|
|
114
82
|
* @docs-private
|
|
115
83
|
*/
|
|
116
|
-
this.
|
|
84
|
+
this.animationDone = new Subject();
|
|
85
|
+
/**
|
|
86
|
+
* Whether the actions panel moves without motion.
|
|
87
|
+
*
|
|
88
|
+
* @docs-private
|
|
89
|
+
*/
|
|
90
|
+
this.animationsDisabled = kbqAnimationsDisabled();
|
|
91
|
+
this.injector = inject(Injector);
|
|
117
92
|
/**
|
|
118
93
|
* Actions panel configuration.
|
|
119
94
|
*
|
|
@@ -122,15 +97,12 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
|
|
|
122
97
|
this.config = inject(KbqActionsPanelConfig);
|
|
123
98
|
this.actionsPanel = inject(KbqActionsPanel);
|
|
124
99
|
this.renderer = inject(Renderer2);
|
|
125
|
-
this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
|
|
126
100
|
/**
|
|
127
101
|
* Actions panel locale configuration.
|
|
128
102
|
*
|
|
129
103
|
* @docs-private
|
|
130
104
|
*/
|
|
131
|
-
this.localeConfiguration =
|
|
132
|
-
? this.localeService.changes.pipe(map(() => this.localeService.getParams('actionsPanel')))
|
|
133
|
-
: of(inject(KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION)));
|
|
105
|
+
this.localeConfiguration = inject(KbqLocaleOverridesDirective, { self: true }).read('actionsPanel', KBQ_ACTIONS_PANEL_LOCALE_CONFIGURATION);
|
|
134
106
|
}
|
|
135
107
|
ngOnDestroy() {
|
|
136
108
|
super.ngOnDestroy();
|
|
@@ -151,11 +123,9 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
|
|
|
151
123
|
*/
|
|
152
124
|
startOpenAnimation() {
|
|
153
125
|
if (!this.destroyed) {
|
|
154
|
-
this.animationState
|
|
155
|
-
// animationState lives in host bindings and `detectChanges` does not refresh host bindings so we have to
|
|
156
|
-
// call `markForCheck` to ensure the host view is refreshed eventually.
|
|
157
|
-
this._changeDetectorRef.markForCheck();
|
|
126
|
+
this.animationState.set('visible');
|
|
158
127
|
this._changeDetectorRef.detectChanges();
|
|
128
|
+
this.waitForAnimation('visible');
|
|
159
129
|
}
|
|
160
130
|
}
|
|
161
131
|
/**
|
|
@@ -165,28 +135,9 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
|
|
|
165
135
|
*/
|
|
166
136
|
startCloseAnimation() {
|
|
167
137
|
if (!this.destroyed) {
|
|
168
|
-
this.animationState
|
|
169
|
-
this.
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Handles animation done events.
|
|
174
|
-
*
|
|
175
|
-
* @docs-private
|
|
176
|
-
*/
|
|
177
|
-
onAnimationDone(event) {
|
|
178
|
-
if (event.toState === 'visible') {
|
|
179
|
-
this._trapFocus();
|
|
138
|
+
this.animationState.set('hidden');
|
|
139
|
+
this.waitForAnimation('hidden');
|
|
180
140
|
}
|
|
181
|
-
this.animationStateChanged.emit(event);
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Handles animation start events.
|
|
185
|
-
*
|
|
186
|
-
* @docs-private
|
|
187
|
-
*/
|
|
188
|
-
onAnimationStart(event) {
|
|
189
|
-
this.animationStateChanged.emit(event);
|
|
190
141
|
}
|
|
191
142
|
/**
|
|
192
143
|
* Handles escape key events.
|
|
@@ -194,10 +145,11 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
|
|
|
194
145
|
* @docs-private
|
|
195
146
|
*/
|
|
196
147
|
handleEscape(event) {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
148
|
+
// A control inside the panel spent the key closing a popup of its own, such as a tooltip.
|
|
149
|
+
if (event.defaultPrevented || this.config.disableClose)
|
|
150
|
+
return;
|
|
151
|
+
event.preventDefault();
|
|
152
|
+
this.close();
|
|
201
153
|
}
|
|
202
154
|
/**
|
|
203
155
|
* @docs-private
|
|
@@ -205,6 +157,26 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
|
|
|
205
157
|
_contentAttached() {
|
|
206
158
|
this.applyContainerClass();
|
|
207
159
|
}
|
|
160
|
+
waitForAnimation(state) {
|
|
161
|
+
const pending = this.pendingTransition;
|
|
162
|
+
// An entrance cut short by closing still ends, or the panel would never report having opened.
|
|
163
|
+
if (pending) {
|
|
164
|
+
pending.wait.destroy();
|
|
165
|
+
this.pendingTransition = undefined;
|
|
166
|
+
this.animationDone.next(pending.state);
|
|
167
|
+
}
|
|
168
|
+
// A subscriber may have disposed of the panel by now.
|
|
169
|
+
if (this.destroyed)
|
|
170
|
+
return;
|
|
171
|
+
const wait = kbqAfterAnimations(() => this._elementRef.nativeElement, () => {
|
|
172
|
+
this.pendingTransition = undefined;
|
|
173
|
+
if (state === 'visible') {
|
|
174
|
+
this._trapFocus();
|
|
175
|
+
}
|
|
176
|
+
this.animationDone.next(state);
|
|
177
|
+
}, this.injector);
|
|
178
|
+
this.pendingTransition = { state, wait };
|
|
179
|
+
}
|
|
208
180
|
applyContainerClass() {
|
|
209
181
|
const { containerClass } = this.config;
|
|
210
182
|
if (containerClass) {
|
|
@@ -216,8 +188,8 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
|
|
|
216
188
|
}
|
|
217
189
|
}
|
|
218
190
|
}
|
|
219
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
220
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
191
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
192
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqActionsPanelContainer, isStandalone: true, selector: "kbq-actions-panel-container", host: { listeners: { "keydown.escape": "handleEscape($any($event))" }, properties: { "class.kbq-actions-panel-container_rtl": "config.direction === \"rtl\"", "class.kbq-actions-panel-container_visible": "animationState() === 'visible'", "class.kbq-animations-disabled": "animationsDisabled" }, classAttribute: "kbq-actions-panel-container" }, usesInheritance: true, hostDirectives: [{ directive: i1.KbqLocaleOverridesDirective }], ngImport: i0, template: `
|
|
221
193
|
<div class="kbq-actions-panel-container__content">
|
|
222
194
|
<ng-template cdkPortalOutlet />
|
|
223
195
|
</div>
|
|
@@ -227,16 +199,17 @@ class KbqActionsPanelContainer extends CdkDialogContainer {
|
|
|
227
199
|
class="kbq-actions-panel-container__close-button"
|
|
228
200
|
color="contrast"
|
|
229
201
|
kbq-button
|
|
230
|
-
[
|
|
202
|
+
[attr.aria-label]="localeConfiguration().closeTooltip"
|
|
203
|
+
[kbqTooltip]="localeConfiguration().closeTooltip"
|
|
231
204
|
[kbqTooltipOffset]="16"
|
|
232
205
|
(click)="close()"
|
|
233
206
|
>
|
|
234
207
|
<i kbq-icon="kbq-circle-xmark_16"></i>
|
|
235
208
|
</button>
|
|
236
209
|
}
|
|
237
|
-
`, isInline: true, styles: [".kbq-actions-panel-container,.kbq-actions-panel-overlay{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var( --kbq-line-on-contrast-less, var(--kbq-line-contrast-fade) );--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", "
|
|
210
|
+
`, isInline: true, styles: [".kbq-actions-panel-container,.kbq-actions-panel-overlay{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var( --kbq-line-on-contrast-less, var(--kbq-line-contrast-fade) );--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", "@charset \"UTF-8\";.kbq-actions-panel-container{background:var(--kbq-actions-panel-background-color);color:var(--kbq-actions-panel-text-color);box-shadow:var(--kbq-actions-panel-box-shadow);height:var(--kbq-actions-panel-height);padding:var(--kbq-actions-panel-padding);border-radius:var(--kbq-actions-panel-border-radius)}@supports (corner-shape: squircle){.kbq-actions-panel-container{corner-shape:squircle;border-radius:clamp(var(--kbq-actions-panel-border-radius) * 1.85,var(--kbq-actions-panel-border-radius) * 2.3 - 3.6px,var(--kbq-actions-panel-border-radius) * 2)}}.kbq-actions-panel-container{display:flex;flex-grow:1;align-items:center;overflow:hidden;box-sizing:border-box;transform:translateY(100%);transition:transform .15s cubic-bezier(.4,0,.2,1)}.kbq-actions-panel-container.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-actions-panel-container{animation:none;transition:none}}.kbq-actions-panel-container.kbq-actions-panel-container_visible{transform:none;animation:kbq-actions-panel-enter 125ms cubic-bezier(.4,0,.2,1)}.kbq-actions-panel-container.kbq-actions-panel-container_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-actions-panel-container.kbq-actions-panel-container_visible{animation:none;transition:none}}.kbq-actions-panel-container .kbq-actions-panel-container__content{display:flex;align-items:center;flex-grow:1;overflow:hidden}.kbq-actions-panel-container .kbq-actions-panel-container__vertical-divider{background-color:var(--kbq-actions-panel-vertical-divider-background-color);height:var(--kbq-actions-panel-vertical-divider-height)!important;margin:var(--kbq-actions-panel-vertical-divider-margin)}.kbq-actions-panel-container .kbq-button,.kbq-actions-panel-container .kbq-button-icon{--kbq-button-filled-contrast-fade-off-background: transparent;--kbq-button-filled-contrast-fade-on-background: transparent}.kbq-actions-panel-container .kbq-button.kbq-disabled.kbq-contrast,.kbq-actions-panel-container .kbq-button.kbq-disabled.kbq-contrast-fade,.kbq-actions-panel-container .kbq-button-icon.kbq-disabled.kbq-contrast,.kbq-actions-panel-container .kbq-button-icon.kbq-disabled.kbq-contrast-fade{--kbq-button-filled-contrast-fade-off-states-disabled-background: var(--kbq-button-filled-contrast-fade-off-background);--kbq-button-filled-contrast-fade-off-states-disabled-border: var(--kbq-button-filled-contrast-fade-off-border);--kbq-button-filled-contrast-fade-off-states-disabled-foreground: var(--kbq-button-filled-contrast-fade-off-foreground);--kbq-button-filled-contrast-fade-off-states-disabled-left-icon: var(--kbq-button-filled-contrast-fade-off-left-icon);--kbq-button-filled-contrast-fade-off-states-disabled-right-icon: var(--kbq-button-filled-contrast-fade-off-right-icon);--kbq-button-filled-contrast-fade-on-states-disabled-background: var(--kbq-button-filled-contrast-fade-on-background);--kbq-button-filled-contrast-fade-on-states-disabled-border: var(--kbq-button-filled-contrast-fade-on-border);--kbq-button-filled-contrast-fade-on-states-disabled-foreground: var(--kbq-button-filled-contrast-fade-on-foreground);--kbq-button-filled-contrast-fade-on-states-disabled-left-icon: var(--kbq-button-filled-contrast-fade-on-left-icon);--kbq-button-filled-contrast-fade-on-states-disabled-right-icon: var(--kbq-button-filled-contrast-fade-on-right-icon);--kbq-button-outline-contrast-fade-on-states-disabled-background: var(--kbq-button-outline-contrast-fade-on-background);--kbq-button-outline-contrast-fade-on-states-disabled-border: var(--kbq-button-outline-contrast-fade-on-border);--kbq-button-outline-contrast-fade-on-states-disabled-foreground: var(--kbq-button-outline-contrast-fade-on-foreground);--kbq-button-outline-contrast-fade-on-states-disabled-left-icon: var(--kbq-button-outline-contrast-fade-on-left-icon);--kbq-button-outline-contrast-fade-on-states-disabled-right-icon: var(--kbq-button-outline-contrast-fade-on-right-icon);--kbq-button-transparent-contrast-fade-on-states-disabled-background: var(--kbq-button-transparent-contrast-fade-on-background);--kbq-button-transparent-contrast-fade-on-states-disabled-border: var(--kbq-button-transparent-contrast-fade-on-border);--kbq-button-transparent-contrast-fade-on-states-disabled-foreground: var(--kbq-button-transparent-contrast-fade-on-foreground);--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon: var(--kbq-button-transparent-contrast-fade-on-left-icon);--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon: var(--kbq-button-transparent-contrast-fade-on-right-icon);opacity:var(--kbq-opacity-disabled)}.kbq-actions-panel-overlay{margin:var(--kbq-actions-panel-margin)}@keyframes kbq-actions-panel-enter{0%{transform:translateY(100%)}}\n"], dependencies: [{ kind: "directive", type: CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: KbqDividerModule }, { kind: "component", type: i2.KbqDivider, selector: "kbq-divider", inputs: ["vertical", "paddings", "decorative", "length"] }, { kind: "ngmodule", type: KbqButtonModule }, { kind: "component", type: i3.KbqButton, selector: "[kbq-button]", inputs: ["kbqStyle", "disabled", "tabIndex"] }, { kind: "directive", type: i3.KbqButtonCssStyler, selector: "[kbq-button]" }, { kind: "ngmodule", type: KbqIconModule }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["aria-hidden", "iconSize", "autoColor", "kbq-icon"] }, { kind: "ngmodule", type: KbqToolTipModule }, { kind: "directive", type: i5.KbqTooltipTrigger, selector: "[kbqTooltip]", inputs: ["kbqTooltipScrollStrategy", "forDisabledComponent", "ignoreTooltipPointerEvents", "kbqTooltipSingleInstance", "kbqTrigger", "hideWithTimeout", "kbqEnterDelay", "kbqLeaveDelay", "kbqRelativeToPointer", "kbqRelativeToCaret", "kbqRelativeToCaretVertical", "kbqTooltip", "kbqTooltipHeader", "kbqTooltipModifier", "kbqTooltipContext", "kbqTooltipClass", "kbqTooltipColor", "kbqTooltipArrow", "kbqTooltipOffset", "kbqTooltipDisabled", "kbqPlacementPriority", "kbqPlacement", "kbqVisible"], outputs: ["kbqPlacementChange", "kbqVisibleChange"], exportAs: ["kbqTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
238
211
|
}
|
|
239
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelContainer, decorators: [{
|
|
240
213
|
type: Component,
|
|
241
214
|
args: [{ selector: 'kbq-actions-panel-container', imports: [
|
|
242
215
|
CdkPortalOutlet,
|
|
@@ -254,21 +227,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
|
|
|
254
227
|
class="kbq-actions-panel-container__close-button"
|
|
255
228
|
color="contrast"
|
|
256
229
|
kbq-button
|
|
257
|
-
[
|
|
230
|
+
[attr.aria-label]="localeConfiguration().closeTooltip"
|
|
231
|
+
[kbqTooltip]="localeConfiguration().closeTooltip"
|
|
258
232
|
[kbqTooltipOffset]="16"
|
|
259
233
|
(click)="close()"
|
|
260
234
|
>
|
|
261
235
|
<i kbq-icon="kbq-circle-xmark_16"></i>
|
|
262
236
|
</button>
|
|
263
237
|
}
|
|
264
|
-
`, changeDetection: ChangeDetectionStrategy.
|
|
238
|
+
`, changeDetection: ChangeDetectionStrategy.Eager, encapsulation: ViewEncapsulation.None, host: {
|
|
265
239
|
class: 'kbq-actions-panel-container',
|
|
266
240
|
'[class.kbq-actions-panel-container_rtl]': 'config.direction === "rtl"',
|
|
267
|
-
'[
|
|
268
|
-
'
|
|
269
|
-
'(
|
|
270
|
-
|
|
271
|
-
}, animations: [KBQ_ACTIONS_PANEL_CONTAINER_ANIMATION], styles: [".kbq-actions-panel-container,.kbq-actions-panel-overlay{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var( --kbq-line-on-contrast-less, var(--kbq-line-contrast-fade) );--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", ".kbq-actions-panel-container{background:var(--kbq-actions-panel-background-color);color:var(--kbq-actions-panel-text-color);box-shadow:var(--kbq-actions-panel-box-shadow);height:var(--kbq-actions-panel-height);padding:var(--kbq-actions-panel-padding);border-radius:var(--kbq-actions-panel-border-radius);display:flex;flex-grow:1;align-items:center;overflow:hidden;box-sizing:border-box}.kbq-actions-panel-container .kbq-actions-panel-container__content{display:flex;align-items:center;flex-grow:1;overflow:hidden}.kbq-actions-panel-container .kbq-actions-panel-container__vertical-divider{background-color:var(--kbq-actions-panel-vertical-divider-background-color);height:var(--kbq-actions-panel-vertical-divider-height)!important;margin:var(--kbq-actions-panel-vertical-divider-margin)}.kbq-actions-panel-container .kbq-button,.kbq-actions-panel-container .kbq-button-icon{--kbq-button-filled-contrast-fade-off-background: transparent;--kbq-button-filled-contrast-fade-on-background: transparent}.kbq-actions-panel-overlay{margin:var(--kbq-actions-panel-margin)}\n"] }]
|
|
241
|
+
'[class.kbq-actions-panel-container_visible]': "animationState() === 'visible'",
|
|
242
|
+
'[class.kbq-animations-disabled]': 'animationsDisabled',
|
|
243
|
+
'(keydown.escape)': 'handleEscape($any($event))'
|
|
244
|
+
}, hostDirectives: [KbqLocaleOverridesDirective], styles: [".kbq-actions-panel-container,.kbq-actions-panel-overlay{--kbq-actions-panel-background-color: var(--kbq-background-contrast);--kbq-actions-panel-text-color: var(--kbq-foreground-on-contrast);--kbq-actions-panel-padding: var(--kbq-size-s);--kbq-actions-panel-margin: var(--kbq-size-s) var(--kbq-size-s) var(--kbq-size-l);--kbq-actions-panel-border-radius: var(--kbq-size-l);--kbq-actions-panel-box-shadow: var(--kbq-shadow-card);--kbq-actions-panel-height: var(--kbq-size-5xl);--kbq-actions-panel-vertical-divider-background-color: var( --kbq-line-on-contrast-less, var(--kbq-line-contrast-fade) );--kbq-actions-panel-vertical-divider-height: var(--kbq-size-m);--kbq-actions-panel-vertical-divider-margin: 0 var(--kbq-size-s)}\n", "@charset \"UTF-8\";.kbq-actions-panel-container{background:var(--kbq-actions-panel-background-color);color:var(--kbq-actions-panel-text-color);box-shadow:var(--kbq-actions-panel-box-shadow);height:var(--kbq-actions-panel-height);padding:var(--kbq-actions-panel-padding);border-radius:var(--kbq-actions-panel-border-radius)}@supports (corner-shape: squircle){.kbq-actions-panel-container{corner-shape:squircle;border-radius:clamp(var(--kbq-actions-panel-border-radius) * 1.85,var(--kbq-actions-panel-border-radius) * 2.3 - 3.6px,var(--kbq-actions-panel-border-radius) * 2)}}.kbq-actions-panel-container{display:flex;flex-grow:1;align-items:center;overflow:hidden;box-sizing:border-box;transform:translateY(100%);transition:transform .15s cubic-bezier(.4,0,.2,1)}.kbq-actions-panel-container.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-actions-panel-container{animation:none;transition:none}}.kbq-actions-panel-container.kbq-actions-panel-container_visible{transform:none;animation:kbq-actions-panel-enter 125ms cubic-bezier(.4,0,.2,1)}.kbq-actions-panel-container.kbq-actions-panel-container_visible.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-actions-panel-container.kbq-actions-panel-container_visible{animation:none;transition:none}}.kbq-actions-panel-container .kbq-actions-panel-container__content{display:flex;align-items:center;flex-grow:1;overflow:hidden}.kbq-actions-panel-container .kbq-actions-panel-container__vertical-divider{background-color:var(--kbq-actions-panel-vertical-divider-background-color);height:var(--kbq-actions-panel-vertical-divider-height)!important;margin:var(--kbq-actions-panel-vertical-divider-margin)}.kbq-actions-panel-container .kbq-button,.kbq-actions-panel-container .kbq-button-icon{--kbq-button-filled-contrast-fade-off-background: transparent;--kbq-button-filled-contrast-fade-on-background: transparent}.kbq-actions-panel-container .kbq-button.kbq-disabled.kbq-contrast,.kbq-actions-panel-container .kbq-button.kbq-disabled.kbq-contrast-fade,.kbq-actions-panel-container .kbq-button-icon.kbq-disabled.kbq-contrast,.kbq-actions-panel-container .kbq-button-icon.kbq-disabled.kbq-contrast-fade{--kbq-button-filled-contrast-fade-off-states-disabled-background: var(--kbq-button-filled-contrast-fade-off-background);--kbq-button-filled-contrast-fade-off-states-disabled-border: var(--kbq-button-filled-contrast-fade-off-border);--kbq-button-filled-contrast-fade-off-states-disabled-foreground: var(--kbq-button-filled-contrast-fade-off-foreground);--kbq-button-filled-contrast-fade-off-states-disabled-left-icon: var(--kbq-button-filled-contrast-fade-off-left-icon);--kbq-button-filled-contrast-fade-off-states-disabled-right-icon: var(--kbq-button-filled-contrast-fade-off-right-icon);--kbq-button-filled-contrast-fade-on-states-disabled-background: var(--kbq-button-filled-contrast-fade-on-background);--kbq-button-filled-contrast-fade-on-states-disabled-border: var(--kbq-button-filled-contrast-fade-on-border);--kbq-button-filled-contrast-fade-on-states-disabled-foreground: var(--kbq-button-filled-contrast-fade-on-foreground);--kbq-button-filled-contrast-fade-on-states-disabled-left-icon: var(--kbq-button-filled-contrast-fade-on-left-icon);--kbq-button-filled-contrast-fade-on-states-disabled-right-icon: var(--kbq-button-filled-contrast-fade-on-right-icon);--kbq-button-outline-contrast-fade-on-states-disabled-background: var(--kbq-button-outline-contrast-fade-on-background);--kbq-button-outline-contrast-fade-on-states-disabled-border: var(--kbq-button-outline-contrast-fade-on-border);--kbq-button-outline-contrast-fade-on-states-disabled-foreground: var(--kbq-button-outline-contrast-fade-on-foreground);--kbq-button-outline-contrast-fade-on-states-disabled-left-icon: var(--kbq-button-outline-contrast-fade-on-left-icon);--kbq-button-outline-contrast-fade-on-states-disabled-right-icon: var(--kbq-button-outline-contrast-fade-on-right-icon);--kbq-button-transparent-contrast-fade-on-states-disabled-background: var(--kbq-button-transparent-contrast-fade-on-background);--kbq-button-transparent-contrast-fade-on-states-disabled-border: var(--kbq-button-transparent-contrast-fade-on-border);--kbq-button-transparent-contrast-fade-on-states-disabled-foreground: var(--kbq-button-transparent-contrast-fade-on-foreground);--kbq-button-transparent-contrast-fade-on-states-disabled-left-icon: var(--kbq-button-transparent-contrast-fade-on-left-icon);--kbq-button-transparent-contrast-fade-on-states-disabled-right-icon: var(--kbq-button-transparent-contrast-fade-on-right-icon);opacity:var(--kbq-opacity-disabled)}.kbq-actions-panel-overlay{margin:var(--kbq-actions-panel-margin)}@keyframes kbq-actions-panel-enter{0%{transform:translateY(100%)}}\n"] }]
|
|
272
245
|
}] });
|
|
273
246
|
|
|
274
247
|
/**
|
|
@@ -284,7 +257,7 @@ class KbqActionsPanelRef {
|
|
|
284
257
|
this.keydownEvents = this.dialogRef.keydownEvents;
|
|
285
258
|
/** Emits when the actions panel starts opening, before its entrance animation plays. */
|
|
286
259
|
this.beforeOpened = this.beforeOpenedSubject;
|
|
287
|
-
/** Emits when the actions panel has opened and appeared. */
|
|
260
|
+
/** Emits when the actions panel has opened and appeared, or once closing cuts its entrance short. */
|
|
288
261
|
this.afterOpened = this.afterOpenedSubject;
|
|
289
262
|
/** Emits when the actions panel starts closing, before its exit animation plays. */
|
|
290
263
|
this.beforeClosed = this.beforeClosedSubject;
|
|
@@ -321,33 +294,28 @@ class KbqActionsPanelRef {
|
|
|
321
294
|
}
|
|
322
295
|
/** Closes the actions panel. */
|
|
323
296
|
close(result) {
|
|
324
|
-
|
|
297
|
+
const container = this.containerInstance;
|
|
298
|
+
if (!container) {
|
|
325
299
|
return;
|
|
326
300
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
this.closeAnimationFallbackTimeout = setTimeout(() => this.dialogRef.close(this.result), totalTime + 100);
|
|
331
|
-
});
|
|
301
|
+
// The exit ends an entrance still in progress, so it starts ahead of `beforeClosed` for `afterOpened` to
|
|
302
|
+
// come first — and the container is let go before that, since an `afterOpened` subscriber may close again.
|
|
303
|
+
this.containerInstance = null;
|
|
332
304
|
this.result = result;
|
|
305
|
+
container.startCloseAnimation();
|
|
333
306
|
this.beforeClosedSubject.next(result);
|
|
334
307
|
this.beforeClosedSubject.complete();
|
|
335
|
-
this.containerInstance.startCloseAnimation();
|
|
336
|
-
this.containerInstance = null;
|
|
337
308
|
}
|
|
338
309
|
handleAnimation() {
|
|
339
|
-
this.containerInstance.
|
|
340
|
-
.pipe(filter((
|
|
310
|
+
this.containerInstance.animationDone
|
|
311
|
+
.pipe(filter((state) => state === 'visible'), take(1))
|
|
341
312
|
.subscribe(() => {
|
|
342
313
|
this.afterOpenedSubject.next();
|
|
343
314
|
this.afterOpenedSubject.complete();
|
|
344
315
|
});
|
|
345
|
-
this.containerInstance.
|
|
346
|
-
.pipe(filter((
|
|
347
|
-
.subscribe(() =>
|
|
348
|
-
clearTimeout(this.closeAnimationFallbackTimeout);
|
|
349
|
-
this.dialogRef.close(this.result);
|
|
350
|
-
});
|
|
316
|
+
this.containerInstance.animationDone
|
|
317
|
+
.pipe(filter((state) => state === 'hidden'), take(1))
|
|
318
|
+
.subscribe(() => this.dialogRef.close(this.result));
|
|
351
319
|
}
|
|
352
320
|
handleOverlayDetachments() {
|
|
353
321
|
this.dialogRef.overlayRef
|
|
@@ -359,24 +327,167 @@ class KbqActionsPanelRef {
|
|
|
359
327
|
}
|
|
360
328
|
}
|
|
361
329
|
|
|
330
|
+
/**
|
|
331
|
+
* Element that {@link KbqActionsPanelScopedOverlayContainer} renders overlays into.
|
|
332
|
+
*
|
|
333
|
+
* @docs-private
|
|
334
|
+
*/
|
|
335
|
+
const KBQ_ACTIONS_PANEL_SCOPED_OVERLAY_HOST = new InjectionToken('KBQ_ACTIONS_PANEL_SCOPED_OVERLAY_HOST');
|
|
336
|
+
/**
|
|
337
|
+
* Class of the wrapper that {@link KbqActionsPanelScopedOverlayContainer} adds to the host.
|
|
338
|
+
*
|
|
339
|
+
* @docs-private
|
|
340
|
+
*/
|
|
341
|
+
const KBQ_ACTIONS_PANEL_SCOPED_OVERLAY_CONTAINER_SELECTOR = 'kbq-actions-panel-scoped-overlay-container';
|
|
342
|
+
/**
|
|
343
|
+
* Hosts currently promoted to a containing block, with the inline `position` to put back and the number of containers
|
|
344
|
+
* relying on the promotion.
|
|
345
|
+
*
|
|
346
|
+
* The promotion belongs to the host rather than to a container: several containers share one host whenever panels
|
|
347
|
+
* overlap — replacing an open panel creates the new overlay before the old one finishes closing — and the first
|
|
348
|
+
* to be destroyed must not restore a `position` the others still need.
|
|
349
|
+
*/
|
|
350
|
+
const promotedHosts = new WeakMap();
|
|
351
|
+
/**
|
|
352
|
+
* `OverlayContainer` that renders overlays inside {@link KBQ_ACTIONS_PANEL_SCOPED_OVERLAY_HOST} instead of
|
|
353
|
+
* `document.body`.
|
|
354
|
+
*
|
|
355
|
+
* CDK resolves the overlay host from the `OverlayContainer` available in DI, and there is exactly one of those per
|
|
356
|
+
* application. Providing this container in a child injector — together with a `Dialog` of its own — is what makes a
|
|
357
|
+
* single overlay render inside a specific element while the rest of the application keeps using the global container.
|
|
358
|
+
*
|
|
359
|
+
* The container is scoped to one host and is not reusable: it is expected to be created and destroyed alongside the
|
|
360
|
+
* overlay it hosts.
|
|
361
|
+
*
|
|
362
|
+
* @docs-private
|
|
363
|
+
*/
|
|
364
|
+
class KbqActionsPanelScopedOverlayContainer extends OverlayContainer {
|
|
365
|
+
constructor() {
|
|
366
|
+
super(...arguments);
|
|
367
|
+
this.host = inject(KBQ_ACTIONS_PANEL_SCOPED_OVERLAY_HOST).nativeElement;
|
|
368
|
+
this.window = inject(KBQ_WINDOW);
|
|
369
|
+
/** Wrapper that isolates the container from the host's own content. */
|
|
370
|
+
this.wrapperElement = null;
|
|
371
|
+
/** Whether this container holds a share of the host's promotion to a containing block. */
|
|
372
|
+
this.holdsHostPromotion = false;
|
|
373
|
+
}
|
|
374
|
+
ngOnDestroy() {
|
|
375
|
+
super.ngOnDestroy();
|
|
376
|
+
this.wrapperElement?.remove();
|
|
377
|
+
this.wrapperElement = null;
|
|
378
|
+
this.releaseHostPromotion();
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Deliberately does not call `super`: CDK's implementation marks the container with a `platform` attribute and
|
|
382
|
+
* removes every other container carrying one, which is bookkeeping for the single application-wide container. A
|
|
383
|
+
* scoped container is not that container, and joining the scheme would make it delete — and be deleted by — the
|
|
384
|
+
* global one as soon as both exist.
|
|
385
|
+
*/
|
|
386
|
+
_createContainer() {
|
|
387
|
+
const wrapper = this._document.createElement('div');
|
|
388
|
+
wrapper.classList.add(KBQ_ACTIONS_PANEL_SCOPED_OVERLAY_CONTAINER_SELECTOR);
|
|
389
|
+
wrapper.style.position = 'absolute';
|
|
390
|
+
wrapper.style.inset = '0';
|
|
391
|
+
wrapper.style.pointerEvents = 'none';
|
|
392
|
+
const container = this._document.createElement('div');
|
|
393
|
+
container.classList.add('cdk-overlay-container');
|
|
394
|
+
// CDK styles `.cdk-overlay-container` as a viewport-sized `position: fixed` layer. A scoped container has to
|
|
395
|
+
// cover the host instead; the remaining CDK rules (`top`/`left`/`width`/`height`) already do the right thing
|
|
396
|
+
// once the element is out of the fixed positioning context.
|
|
397
|
+
container.style.position = 'absolute';
|
|
398
|
+
// The container gets a wrapper of its own rather than being appended to the host directly, because CDK's
|
|
399
|
+
// `Dialog` marks every sibling of the overlay container with `aria-hidden` while a dialog is open. Inside the
|
|
400
|
+
// host those siblings are the very content the actions panel acts on, so the container is kept as an only
|
|
401
|
+
// child and there is nothing left for CDK to hide.
|
|
402
|
+
wrapper.appendChild(container);
|
|
403
|
+
this.promoteHostToContainingBlock();
|
|
404
|
+
this.host.appendChild(wrapper);
|
|
405
|
+
this.wrapperElement = wrapper;
|
|
406
|
+
this._containerElement = container;
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* The wrapper is absolutely positioned, so it resolves against the nearest positioned ancestor. A `static` host
|
|
410
|
+
* would let the overlay land on some outer element instead, so it is promoted to `relative`; a host that is
|
|
411
|
+
* already positioned is left untouched.
|
|
412
|
+
*/
|
|
413
|
+
promoteHostToContainingBlock() {
|
|
414
|
+
if (!this._platform.isBrowser) {
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
const promotion = promotedHosts.get(this.host);
|
|
418
|
+
if (promotion) {
|
|
419
|
+
promotion.containers++;
|
|
420
|
+
this.holdsHostPromotion = true;
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
423
|
+
// A host that is not in the document yet reports no position at all (`getComputedStyle` returns an empty
|
|
424
|
+
// declaration), and is treated as `static`: promoting one that turns out to be positioned is harmless,
|
|
425
|
+
// leaving a `static` one alone is not.
|
|
426
|
+
const { position } = this.window.getComputedStyle(this.host);
|
|
427
|
+
if (position && position !== 'static') {
|
|
428
|
+
return;
|
|
429
|
+
}
|
|
430
|
+
promotedHosts.set(this.host, { inlinePosition: this.host.style.position, containers: 1 });
|
|
431
|
+
this.host.style.position = 'relative';
|
|
432
|
+
this.holdsHostPromotion = true;
|
|
433
|
+
}
|
|
434
|
+
/** Gives the host its own `position` back once no scoped container depends on the promotion any more. */
|
|
435
|
+
releaseHostPromotion() {
|
|
436
|
+
if (!this.holdsHostPromotion) {
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
439
|
+
this.holdsHostPromotion = false;
|
|
440
|
+
const promotion = promotedHosts.get(this.host);
|
|
441
|
+
if (--promotion.containers > 0) {
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
promotedHosts.delete(this.host);
|
|
445
|
+
this.host.style.position = promotion.inlinePosition;
|
|
446
|
+
}
|
|
447
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelScopedOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
448
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelScopedOverlayContainer }); }
|
|
449
|
+
}
|
|
450
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelScopedOverlayContainer, decorators: [{
|
|
451
|
+
type: Injectable
|
|
452
|
+
}] });
|
|
453
|
+
|
|
362
454
|
/** Injection token that can be used to access the data that was passed in to actions panel. */
|
|
363
455
|
const KBQ_ACTIONS_PANEL_DATA = new InjectionToken('KBQ_ACTIONS_PANEL_DATA');
|
|
364
456
|
/**
|
|
365
457
|
* Selector for actions panel overlay.
|
|
366
458
|
*
|
|
367
|
-
* @
|
|
459
|
+
* @internal
|
|
368
460
|
*/
|
|
369
461
|
const KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR = 'kbq-actions-panel-overlay';
|
|
462
|
+
/**
|
|
463
|
+
* `Dialog` backing a panel that renders into an `overlayContainer`.
|
|
464
|
+
*
|
|
465
|
+
* A child `Dialog` shares `openDialogs` with the root one but keeps an `_ariaHiddenElements` map of its own, and CDK
|
|
466
|
+
* restores the `aria-hidden` marks from whichever instance happens to close the last dialog. Left apart, marks a root
|
|
467
|
+
* dialog put on the application are never taken off again. Adopting the root's map keeps both halves of that
|
|
468
|
+
* bookkeeping on the same object.
|
|
469
|
+
*/
|
|
470
|
+
class KbqActionsPanelScopedDialog extends Dialog {
|
|
471
|
+
constructor() {
|
|
472
|
+
super();
|
|
473
|
+
this['_ariaHiddenElements'] = inject(Dialog, { skipSelf: true })['_ariaHiddenElements'];
|
|
474
|
+
}
|
|
475
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelScopedDialog, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
476
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelScopedDialog }); }
|
|
477
|
+
}
|
|
478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelScopedDialog, decorators: [{
|
|
479
|
+
type: Injectable
|
|
480
|
+
}], ctorParameters: () => [] });
|
|
370
481
|
/**
|
|
371
482
|
* Service for opening actions panel.
|
|
372
483
|
*/
|
|
373
484
|
class KbqActionsPanel {
|
|
374
485
|
constructor() {
|
|
375
486
|
this.injector = inject(Injector);
|
|
487
|
+
this.environmentInjector = inject(EnvironmentInjector);
|
|
376
488
|
this.overlay = inject(Overlay);
|
|
377
489
|
this.dialog = inject(Dialog);
|
|
378
490
|
this.defaultConfig = inject(KBQ_ACTIONS_PANEL_DEFAULT_CONFIG);
|
|
379
|
-
this.resizeObserver = inject(SharedResizeObserver);
|
|
380
491
|
/** The reference to the currently opened actions panel. */
|
|
381
492
|
this.openedActionsPanelRef = null;
|
|
382
493
|
}
|
|
@@ -413,80 +524,84 @@ class KbqActionsPanel {
|
|
|
413
524
|
openDialog(componentOrTemplateRef, config = {}) {
|
|
414
525
|
let actionsPanelRef;
|
|
415
526
|
const { overlayContainer, overlayPanelClass } = config;
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
: this.overlay.position().global().centerHorizontally().bottom(),
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
527
|
+
// CDK takes the overlay host from the `OverlayContainer` its `Dialog` was injected with, and there is one of
|
|
528
|
+
// those per application. Rendering the panel inside `overlayContainer` therefore means giving this panel a
|
|
529
|
+
// `Dialog` of its own, backed by a container scoped to that element.
|
|
530
|
+
const scopedInjector = overlayContainer ? this.createScopedInjector(overlayContainer) : null;
|
|
531
|
+
const dialog = scopedInjector ? scopedInjector.get(Dialog) : this.dialog;
|
|
532
|
+
try {
|
|
533
|
+
dialog.open(componentOrTemplateRef, {
|
|
534
|
+
...config,
|
|
535
|
+
container: KbqActionsPanelContainer,
|
|
536
|
+
restoreFocus: false,
|
|
537
|
+
autoFocus: null,
|
|
538
|
+
hasBackdrop: false,
|
|
539
|
+
// Disable closing since we need to sync it up to the animation ourselves
|
|
540
|
+
closeOnOverlayDetachments: false,
|
|
541
|
+
// Disable closing since we need to sync it up to the animation ourselves
|
|
542
|
+
closeOnDestroy: false,
|
|
543
|
+
// Disable closing since we need to sync it up to the animation ourselves
|
|
544
|
+
disableClose: true,
|
|
545
|
+
scrollStrategy: config.scrollStrategy && config.scrollStrategy(this.overlay),
|
|
546
|
+
// Pinned to the bottom center of the overlay container — the viewport by default, `overlayContainer`
|
|
547
|
+
// when one is given. The panel's width follows from `.cdk-overlay-pane`'s `max-width: 100%` in both
|
|
548
|
+
// cases.
|
|
549
|
+
positionStrategy: this.overlay.position().global().centerHorizontally().bottom(),
|
|
550
|
+
templateContext: () => {
|
|
551
|
+
return {
|
|
552
|
+
$implicit: config.data,
|
|
553
|
+
data: config.data,
|
|
554
|
+
actionsPanelRef
|
|
555
|
+
};
|
|
556
|
+
},
|
|
557
|
+
injector: Injector.create({
|
|
558
|
+
parent: config.injector || this.injector,
|
|
559
|
+
providers: [{ provide: KbqActionsPanelConfig, useValue: config }]
|
|
560
|
+
}),
|
|
561
|
+
providers: (dialogRef, _dialogConfig, container) => {
|
|
562
|
+
actionsPanelRef = new KbqActionsPanelRef(dialogRef, container);
|
|
563
|
+
return [
|
|
564
|
+
{ provide: KbqActionsPanelRef, useValue: actionsPanelRef },
|
|
565
|
+
{ provide: KBQ_ACTIONS_PANEL_DATA, useValue: config.data }
|
|
566
|
+
];
|
|
567
|
+
}
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
catch (error) {
|
|
571
|
+
// `open()` builds the overlay, and with it the scoped container that has already put a wrapper into the
|
|
572
|
+
// host and promoted it. Nothing else would ever destroy the injector, so unwind it here.
|
|
573
|
+
scopedInjector?.destroy();
|
|
574
|
+
throw error;
|
|
575
|
+
}
|
|
458
576
|
const { overlayRef } = actionsPanelRef;
|
|
459
577
|
overlayRef.addPanelClass(KBQ_ACTIONS_PANEL_OVERLAY_SELECTOR);
|
|
460
578
|
if (overlayPanelClass)
|
|
461
579
|
overlayRef.addPanelClass(overlayPanelClass);
|
|
462
|
-
if (
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
.observe(overlayContainer.nativeElement)
|
|
467
|
-
.pipe(takeUntil(afterClosed))
|
|
468
|
-
.subscribe(() => {
|
|
469
|
-
if (this.syncOverlayMaxWidth(overlayContainer.nativeElement, overlayRef.overlayElement)) {
|
|
470
|
-
overlayRef.updatePosition();
|
|
471
|
-
}
|
|
472
|
-
});
|
|
580
|
+
if (scopedInjector) {
|
|
581
|
+
// The scoped injector owns the panel's `Dialog` and overlay container, so it lives exactly as long as the
|
|
582
|
+
// panel. `afterClosed` emits after the overlay has been disposed of.
|
|
583
|
+
actionsPanelRef.afterClosed.subscribe(() => scopedInjector.destroy());
|
|
473
584
|
}
|
|
474
585
|
return actionsPanelRef;
|
|
475
586
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
587
|
+
/** Injector that makes CDK render the panel's overlay inside `host` instead of `document.body`. */
|
|
588
|
+
createScopedInjector(host) {
|
|
589
|
+
return createEnvironmentInjector([
|
|
590
|
+
// A `Dialog` of its own is what carries the scoped container into `createOverlayRef` — the root one
|
|
591
|
+
// resolves the application-wide container. It still reaches the root `Dialog` through `skipSelf` and
|
|
592
|
+
// shares its registry of open dialogs, so `closeAll()` and `afterAllClosed` keep seeing this panel.
|
|
593
|
+
{ provide: Dialog, useClass: KbqActionsPanelScopedDialog },
|
|
594
|
+
{ provide: KBQ_ACTIONS_PANEL_SCOPED_OVERLAY_HOST, useValue: host },
|
|
595
|
+
{ provide: OverlayContainer, useClass: KbqActionsPanelScopedOverlayContainer },
|
|
596
|
+
// A popover is shown in the top layer and laid out against the viewport, wherever its host sits in
|
|
597
|
+
// the DOM: the panel would leave `host` and pin itself to the bottom of the page.
|
|
598
|
+
{ provide: OVERLAY_DEFAULT_CONFIG, useValue: { usePopover: false } }
|
|
599
|
+
], this.environmentInjector, KbqActionsPanel.name);
|
|
485
600
|
}
|
|
486
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
487
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
601
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanel, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
602
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanel, providedIn: 'root' }); }
|
|
488
603
|
}
|
|
489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
604
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanel, decorators: [{
|
|
490
605
|
type: Injectable,
|
|
491
606
|
args: [{ providedIn: 'root' }]
|
|
492
607
|
}] });
|
|
@@ -495,11 +610,11 @@ const COMPONENTS = [
|
|
|
495
610
|
KbqActionsPanelContainer
|
|
496
611
|
];
|
|
497
612
|
class KbqActionsPanelModule {
|
|
498
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
499
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
500
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
613
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
614
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelModule, imports: [KbqActionsPanelContainer], exports: [KbqActionsPanelContainer] }); }
|
|
615
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelModule, providers: [KbqActionsPanel], imports: [COMPONENTS] }); }
|
|
501
616
|
}
|
|
502
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqActionsPanelModule, decorators: [{
|
|
503
618
|
type: NgModule,
|
|
504
619
|
args: [{
|
|
505
620
|
imports: COMPONENTS,
|