@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,31 +1,9 @@
|
|
|
1
1
|
import { Platform } from '@angular/cdk/platform';
|
|
2
2
|
import { DOCUMENT } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { input, Directive, inject, NgZone, ElementRef, Renderer2,
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
var KbqSidebarAnimationState;
|
|
9
|
-
(function (KbqSidebarAnimationState) {
|
|
10
|
-
KbqSidebarAnimationState["Opened"] = "opened";
|
|
11
|
-
KbqSidebarAnimationState["Closed"] = "closed";
|
|
12
|
-
})(KbqSidebarAnimationState || (KbqSidebarAnimationState = {}));
|
|
13
|
-
const kbqSidebarAnimations = {
|
|
14
|
-
sidebarState: trigger('state', [
|
|
15
|
-
state('opened', style({
|
|
16
|
-
minWidth: '{{ openedStateMinWidth }}',
|
|
17
|
-
width: '{{ openedStateWidth }}',
|
|
18
|
-
maxWidth: '{{ openedStateMaxWidth }}'
|
|
19
|
-
}), { params: { openedStateMinWidth: '', openedStateWidth: '', openedStateMaxWidth: '' } }),
|
|
20
|
-
state('closed', style({
|
|
21
|
-
minWidth: '{{ closedStateWidth }}',
|
|
22
|
-
width: '{{ closedStateWidth }}',
|
|
23
|
-
maxWidth: '{{ closedStateWidth }}'
|
|
24
|
-
}), { params: { closedStateWidth: '' } }),
|
|
25
|
-
transition('opened => closed', [animate('0.1s')]),
|
|
26
|
-
transition('closed => opened', [animate('0.2s')])
|
|
27
|
-
])
|
|
28
|
-
};
|
|
4
|
+
import { input, Directive, untracked, inject, NgZone, ElementRef, Renderer2, Injector, signal, output, contentChild, afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
5
|
+
import * as i1 from '@koobiq/components/core';
|
|
6
|
+
import { kbqAnimationsDisabled, KbqStateSaving, kbqAfterAnimations, isControl, isInput, isLeftBracket, isRightBracket } from '@koobiq/components/core';
|
|
29
7
|
|
|
30
8
|
var SidebarPositions;
|
|
31
9
|
(function (SidebarPositions) {
|
|
@@ -34,14 +12,14 @@ var SidebarPositions;
|
|
|
34
12
|
})(SidebarPositions || (SidebarPositions = {}));
|
|
35
13
|
class KbqSidebarOpened {
|
|
36
14
|
constructor() {
|
|
37
|
-
this.minWidth = input(undefined, ...(ngDevMode ? [{ debugName: "minWidth" }] : []));
|
|
38
|
-
this.width = input(undefined, ...(ngDevMode ? [{ debugName: "width" }] : []));
|
|
39
|
-
this.maxWidth = input(undefined, ...(ngDevMode ? [{ debugName: "maxWidth" }] : []));
|
|
15
|
+
this.minWidth = input(undefined, ...(ngDevMode ? [{ debugName: "minWidth" }] : /* istanbul ignore next */ []));
|
|
16
|
+
this.width = input(undefined, ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
|
|
17
|
+
this.maxWidth = input(undefined, ...(ngDevMode ? [{ debugName: "maxWidth" }] : /* istanbul ignore next */ []));
|
|
40
18
|
}
|
|
41
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
42
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
19
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebarOpened, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
20
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: KbqSidebarOpened, isStandalone: true, selector: "[kbq-sidebar-opened]", inputs: { minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "kbq-sidebar-opened" }, exportAs: ["kbqSidebarOpened"], ngImport: i0 }); }
|
|
43
21
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebarOpened, decorators: [{
|
|
45
23
|
type: Directive,
|
|
46
24
|
args: [{
|
|
47
25
|
selector: '[kbq-sidebar-opened]',
|
|
@@ -53,12 +31,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
|
|
|
53
31
|
}], propDecorators: { minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }] } });
|
|
54
32
|
class KbqSidebarClosed {
|
|
55
33
|
constructor() {
|
|
56
|
-
this.width = input(undefined, ...(ngDevMode ? [{ debugName: "width" }] : []));
|
|
34
|
+
this.width = input(undefined, ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
|
|
57
35
|
}
|
|
58
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
59
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
36
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebarClosed, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.25", type: KbqSidebarClosed, isStandalone: true, selector: "[kbq-sidebar-closed]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "kbq-sidebar-closed" }, exportAs: ["kbqSidebarClosed"], ngImport: i0 }); }
|
|
60
38
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebarClosed, decorators: [{
|
|
62
40
|
type: Directive,
|
|
63
41
|
args: [{
|
|
64
42
|
selector: '[kbq-sidebar-closed]',
|
|
@@ -68,23 +46,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.30", ngImpo
|
|
|
68
46
|
exportAs: 'kbqSidebarClosed'
|
|
69
47
|
}]
|
|
70
48
|
}], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }] } });
|
|
49
|
+
/**
|
|
50
|
+
* Coerces a raw persisted payload into a `KbqSidebarState`, returning `null` for anything unrecognizable.
|
|
51
|
+
*
|
|
52
|
+
* Web storage is origin-wide and user-writable, so a payload is never trusted — without this, an entry
|
|
53
|
+
* such as `{"opened": "yes"}` would reach the width bindings and break them.
|
|
54
|
+
*/
|
|
55
|
+
const normalizeSidebarState = (parsed) => {
|
|
56
|
+
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
57
|
+
return null;
|
|
58
|
+
const { opened, width } = parsed;
|
|
59
|
+
if (typeof opened !== 'boolean')
|
|
60
|
+
return null;
|
|
61
|
+
return typeof width === 'string' ? { opened, width } : { opened };
|
|
62
|
+
};
|
|
71
63
|
class KbqSidebar {
|
|
72
|
-
// TODO: Skipped for migration because:
|
|
73
|
-
// Accessor inputs cannot be migrated as they are too complex.
|
|
74
64
|
get opened() {
|
|
75
|
-
return this.
|
|
65
|
+
return this.openedState();
|
|
76
66
|
}
|
|
77
67
|
set opened(value) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
this._opened = value;
|
|
68
|
+
// Untracked: an `effect` that assigns `opened` must not come to depend on the state it replaces.
|
|
69
|
+
untracked(() => this.setOpened(value));
|
|
82
70
|
}
|
|
83
71
|
/**
|
|
84
72
|
* @docs-private
|
|
85
73
|
*/
|
|
86
|
-
get
|
|
87
|
-
return this.
|
|
74
|
+
get params() {
|
|
75
|
+
return this.paramsState();
|
|
76
|
+
}
|
|
77
|
+
/** @docs-private */
|
|
78
|
+
set params(value) {
|
|
79
|
+
this.paramsState.set(value);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @docs-private
|
|
83
|
+
*/
|
|
84
|
+
get internalState() {
|
|
85
|
+
return this.internalStateSignal();
|
|
86
|
+
}
|
|
87
|
+
/** @docs-private */
|
|
88
|
+
set internalState(value) {
|
|
89
|
+
this.internalStateSignal.set(value);
|
|
90
|
+
}
|
|
91
|
+
ngOnChanges(changes) {
|
|
92
|
+
// A bound input is handed to its member, a bound `undefined` as `false`; unbound, it leaves what code wrote.
|
|
93
|
+
if (changes['openedInput']) {
|
|
94
|
+
this.opened = this.openedInput() ?? false;
|
|
95
|
+
}
|
|
88
96
|
}
|
|
89
97
|
constructor() {
|
|
90
98
|
this.ngZone = inject(NgZone);
|
|
@@ -94,35 +102,60 @@ class KbqSidebar {
|
|
|
94
102
|
*/
|
|
95
103
|
this.document = inject(DOCUMENT);
|
|
96
104
|
this.renderer = inject(Renderer2);
|
|
97
|
-
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
98
|
-
this.destroyRef = inject(DestroyRef);
|
|
99
105
|
this.isBrowser = inject(Platform).isBrowser;
|
|
100
|
-
this.
|
|
101
|
-
this.position = input(undefined, ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
106
|
+
this.injector = inject(Injector);
|
|
102
107
|
/**
|
|
108
|
+
* Whether the sidebar opens and closes without motion.
|
|
109
|
+
*
|
|
103
110
|
* @docs-private
|
|
104
111
|
*/
|
|
105
|
-
this.
|
|
112
|
+
this.animationsDisabled = kbqAnimationsDisabled();
|
|
113
|
+
/**
|
|
114
|
+
* Whether the sidebar moves between the opened and closed states: only then is its width transitioned, so
|
|
115
|
+
* the first render and a width written from outside, such as by a splitter, apply at once.
|
|
116
|
+
*
|
|
117
|
+
* @docs-private
|
|
118
|
+
*/
|
|
119
|
+
this.toggling = signal(false, ...(ngDevMode ? [{ debugName: "toggling" }] : /* istanbul ignore next */ []));
|
|
120
|
+
/**
|
|
121
|
+
* Persistence of the opened state and width, applied as a host directive. `useStateSaving` and
|
|
122
|
+
* `stateSavingKey` are its inputs, forwarded onto the sidebar.
|
|
123
|
+
*/
|
|
124
|
+
this.stateSaving = inject(KbqStateSaving);
|
|
125
|
+
this.openedState = signal(true, ...(ngDevMode ? [{ debugName: "openedState" }] : /* istanbul ignore next */ []));
|
|
126
|
+
/**
|
|
127
|
+
* Whether anything has assigned `opened`. Snapshotted while initializing, where only an input binding
|
|
128
|
+
* can have done so — `toggle()` needs a view query and the bracket shortcut is registered later — so
|
|
129
|
+
* it reads as "the application drives this sidebar" and suppresses persistence.
|
|
130
|
+
*/
|
|
131
|
+
this.openedWritten = false;
|
|
132
|
+
this.controlled = false;
|
|
133
|
+
this.position = input(undefined, ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
134
|
+
this.paramsState = signal({
|
|
106
135
|
openedStateWidth: 'inherit',
|
|
107
136
|
openedStateMinWidth: 'inherit',
|
|
108
137
|
openedStateMaxWidth: 'inherit',
|
|
109
138
|
closedStateWidth: '32px'
|
|
110
|
-
};
|
|
139
|
+
}, ...(ngDevMode ? [{ debugName: "paramsState" }] : /* istanbul ignore next */ []));
|
|
111
140
|
this.stateChanged = output();
|
|
112
141
|
/**
|
|
113
142
|
* @docs-private
|
|
114
143
|
*/
|
|
115
|
-
this.openedContent = contentChild(KbqSidebarOpened, ...(ngDevMode ? [{ debugName: "openedContent" }] : []));
|
|
144
|
+
this.openedContent = contentChild(KbqSidebarOpened, ...(ngDevMode ? [{ debugName: "openedContent" }] : /* istanbul ignore next */ []));
|
|
116
145
|
/**
|
|
117
146
|
* @docs-private
|
|
118
147
|
*/
|
|
119
|
-
this.closedContent = contentChild(KbqSidebarClosed, ...(ngDevMode ? [{ debugName: "closedContent" }] : []));
|
|
120
|
-
|
|
121
|
-
* @docs-private
|
|
122
|
-
*/
|
|
123
|
-
this.internalState = true;
|
|
148
|
+
this.closedContent = contentChild(KbqSidebarClosed, ...(ngDevMode ? [{ debugName: "closedContent" }] : /* istanbul ignore next */ []));
|
|
149
|
+
this.internalStateSignal = signal(true, ...(ngDevMode ? [{ debugName: "internalStateSignal" }] : /* istanbul ignore next */ []));
|
|
124
150
|
this.unbindKeydownListener = null;
|
|
151
|
+
/** @docs-private */
|
|
152
|
+
this.openedInput = input(undefined, { ...(ngDevMode ? { debugName: "openedInput" } : /* istanbul ignore next */ {}), alias: 'opened' });
|
|
125
153
|
afterNextRender(() => this.registerKeydownListener());
|
|
154
|
+
// The state lives under the new key now, so restore from it and report it as any other change.
|
|
155
|
+
this.stateSaving.keyChanges.subscribe(() => {
|
|
156
|
+
if (this.restoreState())
|
|
157
|
+
this.waitForStateAnimation(true);
|
|
158
|
+
});
|
|
126
159
|
}
|
|
127
160
|
ngAfterContentInit() {
|
|
128
161
|
const openedContent = this.openedContent();
|
|
@@ -133,31 +166,105 @@ class KbqSidebar {
|
|
|
133
166
|
openedStateMaxWidth: openedContent?.maxWidth() || 'inherit',
|
|
134
167
|
closedStateWidth: closedContent?.width() || '32px'
|
|
135
168
|
};
|
|
169
|
+
// After the params above, which are rebuilt wholesale and would discard a restored width.
|
|
170
|
+
this.controlled = this.openedWritten;
|
|
171
|
+
this.restoreState();
|
|
172
|
+
// The first render shows the content and the width of the initial state; `stateChanged` reports it once
|
|
173
|
+
// rendered.
|
|
174
|
+
this.internalState = this.openedState();
|
|
175
|
+
this.waitForStateAnimation(false);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Reads the persisted state and applies it. Runs while initializing, and again on a key change.
|
|
179
|
+
* Returns whether it changed the opened state.
|
|
180
|
+
*/
|
|
181
|
+
restoreState() {
|
|
182
|
+
if (!this.persists)
|
|
183
|
+
return false;
|
|
184
|
+
const savedState = this.stateSaving.read(normalizeSidebarState);
|
|
185
|
+
if (!savedState)
|
|
186
|
+
return false;
|
|
187
|
+
const changed = savedState.opened !== this.openedState();
|
|
188
|
+
this.stateSaving.applying(() => {
|
|
189
|
+
// Past the setter on purpose: it captures the current `offsetWidth` on the way out, which
|
|
190
|
+
// would overwrite the width being restored on the line below.
|
|
191
|
+
this.openedState.set(savedState.opened);
|
|
192
|
+
// `internalState` otherwise only catches up once the width transition ends.
|
|
193
|
+
this.internalState = savedState.opened;
|
|
194
|
+
if (savedState.width) {
|
|
195
|
+
this.params = { ...this.params, openedStateWidth: savedState.width };
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
return changed;
|
|
136
199
|
}
|
|
137
200
|
ngOnDestroy() {
|
|
138
201
|
this.unRegisterKeydownListener();
|
|
139
202
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
203
|
+
/**
|
|
204
|
+
* Persists whether the sidebar is open and the width it was last left at.
|
|
205
|
+
*
|
|
206
|
+
* Called whenever `opened` changes. The width is only captured as the sidebar closes, so dragging it
|
|
207
|
+
* wider and reloading without closing it keeps the previous width — the same as before persistence.
|
|
208
|
+
*/
|
|
209
|
+
saveState() {
|
|
210
|
+
// Untracked, as `clearSavedState()`: called from a consumer's `effect()`, the state read on the way — `opened`,
|
|
211
|
+
// the width, the state saving inputs — would make the effect run again whenever it changes.
|
|
212
|
+
untracked(() => {
|
|
213
|
+
if (!this.persists)
|
|
214
|
+
return;
|
|
215
|
+
this.stateSaving.write(this.snapshot());
|
|
216
|
+
});
|
|
143
217
|
}
|
|
144
218
|
/**
|
|
145
|
-
*
|
|
219
|
+
* Removes the state persisted for this sidebar.
|
|
220
|
+
*
|
|
221
|
+
* Persistence itself stays on — the next change is written again. Unset `useStateSaving` to stop it.
|
|
146
222
|
*/
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
223
|
+
clearSavedState() {
|
|
224
|
+
untracked(() => this.stateSaving.clear());
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Whether state is currently persisted for this sidebar — restored on init, or written since.
|
|
228
|
+
* Always `false` while `useStateSaving` is unset, and `false` again after `clearSavedState()`.
|
|
229
|
+
*/
|
|
230
|
+
get hasSavedState() {
|
|
231
|
+
return this.stateSaving.state != null;
|
|
232
|
+
}
|
|
233
|
+
toggle() {
|
|
234
|
+
this.opened = !untracked(this.openedState);
|
|
235
|
+
}
|
|
236
|
+
setOpened(value) {
|
|
237
|
+
this.openedWritten = true;
|
|
238
|
+
// While the sidebar still widens, its width is one it passes through, not the opened one.
|
|
239
|
+
if (this.openedState() && !this.toggling()) {
|
|
240
|
+
this.saveWidth();
|
|
241
|
+
}
|
|
242
|
+
const changed = value !== this.openedState();
|
|
243
|
+
this.openedState.set(value);
|
|
244
|
+
if (changed) {
|
|
245
|
+
// The opened content is in place while the sidebar widens, the closed one once it has narrowed.
|
|
246
|
+
if (value) {
|
|
247
|
+
this.internalState = true;
|
|
248
|
+
}
|
|
249
|
+
this.waitForStateAnimation(true);
|
|
150
250
|
}
|
|
251
|
+
// The single choke point for `toggle()` and the bracket shortcut alike. Writing is a no-op until
|
|
252
|
+
// the state has been read, so the input binding that runs before initialization cannot overwrite
|
|
253
|
+
// what is stored.
|
|
254
|
+
this.saveState();
|
|
151
255
|
}
|
|
152
256
|
/**
|
|
153
|
-
*
|
|
257
|
+
* Switches the content and reports the state once rendered, after the width transition when `animated`:
|
|
258
|
+
* the initial state has none.
|
|
154
259
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
260
|
+
waitForStateAnimation(animated) {
|
|
261
|
+
this.stateAnimation?.destroy();
|
|
262
|
+
this.toggling.set(animated);
|
|
263
|
+
this.stateAnimation = kbqAfterAnimations(() => this.elementRef.nativeElement, () => {
|
|
264
|
+
this.toggling.set(false);
|
|
265
|
+
this.internalState = this.openedState();
|
|
266
|
+
this.stateChanged.emit(this.openedState());
|
|
267
|
+
}, this.injector);
|
|
161
268
|
}
|
|
162
269
|
registerKeydownListener() {
|
|
163
270
|
this.ngZone.runOutsideAngular(() => {
|
|
@@ -179,37 +286,49 @@ class KbqSidebar {
|
|
|
179
286
|
this.toggle();
|
|
180
287
|
}
|
|
181
288
|
}
|
|
289
|
+
/** Whether this sidebar reads and writes its state at all. */
|
|
290
|
+
get persists() {
|
|
291
|
+
// A sidebar that is not in the document has no stable key — the default resolver derives one from
|
|
292
|
+
// the path to `<body>` — which is the ordinary state of one projected into an overlay.
|
|
293
|
+
return this.stateSaving.useStateSaving() && !this.controlled && !!this.stateSaving.host?.isConnected;
|
|
294
|
+
}
|
|
295
|
+
/** The whole state, with the width left out while it is the one the content declares. */
|
|
296
|
+
snapshot() {
|
|
297
|
+
const width = this.params.openedStateWidth;
|
|
298
|
+
const opened = this.openedState();
|
|
299
|
+
return width && width !== 'inherit' ? { opened, width } : { opened };
|
|
300
|
+
}
|
|
182
301
|
saveWidth() {
|
|
183
302
|
if (!this.isBrowser)
|
|
184
303
|
return;
|
|
185
|
-
this.params.openedStateWidth
|
|
304
|
+
this.params = { ...this.params, openedStateWidth: `${this.elementRef.nativeElement.offsetWidth}px` };
|
|
186
305
|
}
|
|
187
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
188
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
306
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
307
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.25", type: KbqSidebar, isStandalone: true, selector: "kbq-sidebar", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, openedInput: { classPropertyName: "openedInput", publicName: "opened", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stateChanged: "stateChanged" }, host: { properties: { "class.kbq-sidebar_opened": "opened", "class.kbq-sidebar_toggling": "toggling()", "class.kbq-animations-disabled": "animationsDisabled", "style.min-width": "opened ? params.openedStateMinWidth : params.closedStateWidth", "style.width": "opened ? params.openedStateWidth : params.closedStateWidth", "style.max-width": "opened ? params.openedStateMaxWidth : params.closedStateWidth" }, classAttribute: "kbq-sidebar" }, queries: [{ propertyName: "openedContent", first: true, predicate: KbqSidebarOpened, descendants: true, isSignal: true }, { propertyName: "closedContent", first: true, predicate: KbqSidebarClosed, descendants: true, isSignal: true }], exportAs: ["kbqSidebar"], usesOnChanges: true, hostDirectives: [{ directive: i1.KbqStateSaving, inputs: ["useStateSaving", "useStateSaving", "stateSavingKey", "stateSavingKey"] }], ngImport: i0, template: "@if (internalState) {\n <ng-content select=\"[kbq-sidebar-opened]\" />\n} @else {\n <ng-content select=\"[kbq-sidebar-closed]\" />\n}\n", styles: ["@charset \"UTF-8\";.kbq-sidebar{display:inline-block;height:100%;overflow:hidden}.kbq-sidebar.kbq-sidebar_toggling{transition:min-width .1s,width .1s,max-width .1s;transition-behavior:allow-discrete}.kbq-sidebar.kbq-sidebar_toggling.kbq-sidebar_opened{transition-duration:.2s}.kbq-sidebar.kbq-sidebar_toggling.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-sidebar.kbq-sidebar_toggling{animation:none;transition:none}}.kbq-sidebar-opened,.kbq-sidebar-closed{height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
189
308
|
}
|
|
190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebar, decorators: [{
|
|
191
310
|
type: Component,
|
|
192
311
|
args: [{ selector: 'kbq-sidebar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
193
312
|
class: 'kbq-sidebar',
|
|
194
|
-
'[
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
'
|
|
199
|
-
'
|
|
200
|
-
},
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
313
|
+
'[class.kbq-sidebar_opened]': 'opened',
|
|
314
|
+
'[class.kbq-sidebar_toggling]': 'toggling()',
|
|
315
|
+
'[class.kbq-animations-disabled]': 'animationsDisabled',
|
|
316
|
+
'[style.min-width]': 'opened ? params.openedStateMinWidth : params.closedStateWidth',
|
|
317
|
+
'[style.width]': 'opened ? params.openedStateWidth : params.closedStateWidth',
|
|
318
|
+
'[style.max-width]': 'opened ? params.openedStateMaxWidth : params.closedStateWidth'
|
|
319
|
+
}, hostDirectives: [
|
|
320
|
+
{ directive: KbqStateSaving, inputs: ['useStateSaving', 'stateSavingKey'] }
|
|
321
|
+
], exportAs: 'kbqSidebar', template: "@if (internalState) {\n <ng-content select=\"[kbq-sidebar-opened]\" />\n} @else {\n <ng-content select=\"[kbq-sidebar-closed]\" />\n}\n", styles: ["@charset \"UTF-8\";.kbq-sidebar{display:inline-block;height:100%;overflow:hidden}.kbq-sidebar.kbq-sidebar_toggling{transition:min-width .1s,width .1s,max-width .1s;transition-behavior:allow-discrete}.kbq-sidebar.kbq-sidebar_toggling.kbq-sidebar_opened{transition-duration:.2s}.kbq-sidebar.kbq-sidebar_toggling.kbq-animations-disabled{animation:none;transition:none}@media(prefers-reduced-motion:reduce){.kbq-sidebar.kbq-sidebar_toggling{animation:none;transition:none}}.kbq-sidebar-opened,.kbq-sidebar-closed{height:100%}\n"] }]
|
|
322
|
+
}], ctorParameters: () => [], propDecorators: { position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], stateChanged: [{ type: i0.Output, args: ["stateChanged"] }], openedContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSidebarOpened), { isSignal: true }] }], closedContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => KbqSidebarClosed), { isSignal: true }] }], openedInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "opened", required: false }] }] } });
|
|
204
323
|
|
|
205
324
|
class KbqSidebarModule {
|
|
206
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
207
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
325
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
326
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebarModule, imports: [KbqSidebarClosed, KbqSidebarOpened, KbqSidebar], exports: [KbqSidebarClosed,
|
|
208
327
|
KbqSidebarOpened,
|
|
209
328
|
KbqSidebar] }); }
|
|
210
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
329
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebarModule }); }
|
|
211
330
|
}
|
|
212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
331
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.25", ngImport: i0, type: KbqSidebarModule, decorators: [{
|
|
213
332
|
type: NgModule,
|
|
214
333
|
args: [{
|
|
215
334
|
imports: [KbqSidebarClosed, KbqSidebarOpened, KbqSidebar],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koobiq-components-sidebar.mjs","sources":["../../../packages/components/sidebar/sidebar-animations.ts","../../../packages/components/sidebar/sidebar.component.ts","../../../packages/components/sidebar/sidebar.component.html","../../../packages/components/sidebar/sidebar.module.ts","../../../packages/components/sidebar/koobiq-components-sidebar.ts"],"sourcesContent":["import { animate, AnimationTriggerMetadata, state, style, transition, trigger } from '@angular/animations';\n\nexport enum KbqSidebarAnimationState {\n Opened = 'opened',\n Closed = 'closed'\n}\n\nexport const kbqSidebarAnimations: { readonly sidebarState: AnimationTriggerMetadata } = {\n sidebarState: trigger('state', [\n state(\n 'opened',\n style({\n minWidth: '{{ openedStateMinWidth }}',\n width: '{{ openedStateWidth }}',\n maxWidth: '{{ openedStateMaxWidth }}'\n }),\n { params: { openedStateMinWidth: '', openedStateWidth: '', openedStateMaxWidth: '' } }\n ),\n state(\n 'closed',\n style({\n minWidth: '{{ closedStateWidth }}',\n width: '{{ closedStateWidth }}',\n maxWidth: '{{ closedStateWidth }}'\n }),\n { params: { closedStateWidth: '' } }\n ),\n transition('opened => closed', [animate('0.1s')]),\n transition('closed => opened', [animate('0.2s')])\n ])\n};\n","import { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n afterNextRender,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n contentChild,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n Input,\n input,\n NgZone,\n OnDestroy,\n output,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { isControl, isInput, isLeftBracket, isRightBracket } from '@koobiq/components/core';\nimport { kbqSidebarAnimations, KbqSidebarAnimationState } from './sidebar-animations';\n\nexport enum SidebarPositions {\n Left = 'left',\n Right = 'right'\n}\n\ninterface KbqSidebarParams {\n openedStateMinWidth: string;\n openedStateWidth: string;\n openedStateMaxWidth: string;\n\n closedStateWidth: string;\n}\n\n@Directive({\n selector: '[kbq-sidebar-opened]',\n host: {\n class: 'kbq-sidebar-opened'\n },\n exportAs: 'kbqSidebarOpened'\n})\nexport class KbqSidebarOpened {\n readonly minWidth = input<string>(undefined!);\n readonly width = input<string>(undefined!);\n readonly maxWidth = input<string>(undefined!);\n}\n\n@Directive({\n selector: '[kbq-sidebar-closed]',\n host: {\n class: 'kbq-sidebar-closed'\n },\n exportAs: 'kbqSidebarClosed'\n})\nexport class KbqSidebarClosed {\n readonly width = input<string>(undefined!);\n}\n\n@Component({\n selector: 'kbq-sidebar',\n templateUrl: 'sidebar.component.html',\n styleUrls: ['./sidebar.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-sidebar',\n '[@state]': `{\n value: animationState,\n params: params\n }`,\n '(@state.start)': 'onAnimationStart()',\n '(@state.done)': 'onAnimationDone()'\n },\n animations: [kbqSidebarAnimations.sidebarState],\n exportAs: 'kbqSidebar'\n})\nexport class KbqSidebar implements OnDestroy, AfterContentInit {\n private ngZone = inject(NgZone);\n private elementRef = inject(ElementRef);\n\n /**\n * @docs-private\n */\n protected readonly document = inject<Document>(DOCUMENT);\n private readonly renderer = inject(Renderer2);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly isBrowser = inject(Platform).isBrowser;\n\n // TODO: Skipped for migration because:\n // Accessor inputs cannot be migrated as they are too complex.\n @Input()\n get opened(): boolean {\n return this._opened;\n }\n\n set opened(value: boolean) {\n if (this._opened) {\n this.saveWidth();\n }\n\n this._opened = value;\n }\n\n private _opened: boolean = true;\n\n readonly position = input<SidebarPositions>(undefined!);\n\n /**\n * @docs-private\n */\n params: KbqSidebarParams = {\n openedStateWidth: 'inherit',\n openedStateMinWidth: 'inherit',\n openedStateMaxWidth: 'inherit',\n\n closedStateWidth: '32px'\n };\n\n readonly stateChanged = output<boolean>();\n\n /**\n * @docs-private\n */\n readonly openedContent = contentChild(KbqSidebarOpened);\n\n /**\n * @docs-private\n */\n readonly closedContent = contentChild(KbqSidebarClosed);\n\n /**\n * @docs-private\n */\n get animationState(): KbqSidebarAnimationState {\n return this._opened ? KbqSidebarAnimationState.Opened : KbqSidebarAnimationState.Closed;\n }\n\n /**\n * @docs-private\n */\n internalState: boolean = true;\n\n private unbindKeydownListener: ReturnType<Renderer2['listen']> | null = null;\n\n constructor() {\n afterNextRender(() => this.registerKeydownListener());\n }\n\n ngAfterContentInit(): void {\n const openedContent = this.openedContent();\n const closedContent = this.closedContent();\n\n this.params = {\n openedStateWidth: openedContent?.width() || 'inherit',\n openedStateMinWidth: openedContent?.minWidth() || 'inherit',\n openedStateMaxWidth: openedContent?.maxWidth() || 'inherit',\n\n closedStateWidth: closedContent?.width() || '32px'\n };\n }\n\n ngOnDestroy(): void {\n this.unRegisterKeydownListener();\n }\n\n toggle(): void {\n this.opened = !this.opened;\n this.changeDetectorRef.markForCheck();\n }\n\n /**\n * @docs-private\n */\n onAnimationStart() {\n if (this._opened) {\n this.internalState = this._opened;\n }\n }\n\n /**\n * @docs-private\n */\n onAnimationDone() {\n // The animation still reports done when the sidebar is destroyed before it finishes.\n if (this.destroyRef.destroyed) return;\n\n this.internalState = this._opened;\n\n this.stateChanged.emit(this._opened);\n }\n\n private registerKeydownListener(): void {\n this.ngZone.runOutsideAngular(() => {\n this.unbindKeydownListener ||= this.renderer.listen(this.document, 'keypress', (event) =>\n this.handleKeydown(event)\n );\n });\n }\n\n private unRegisterKeydownListener(): void {\n if (this.unbindKeydownListener) {\n this.unbindKeydownListener();\n this.unbindKeydownListener = null;\n }\n }\n\n private handleKeydown(event: KeyboardEvent): void {\n if (isControl(event) || isInput(event)) return;\n\n const position = this.position();\n\n if (\n (position === SidebarPositions.Left && isLeftBracket(event)) ||\n (position === SidebarPositions.Right && isRightBracket(event))\n ) {\n this.toggle();\n }\n }\n\n private saveWidth() {\n if (!this.isBrowser) return;\n\n this.params.openedStateWidth = `${this.elementRef.nativeElement.offsetWidth}px`;\n }\n}\n","@if (internalState) {\n <ng-content select=\"[kbq-sidebar-opened]\" />\n} @else {\n <ng-content select=\"[kbq-sidebar-closed]\" />\n}\n","import { NgModule } from '@angular/core';\nimport { KbqSidebar, KbqSidebarClosed, KbqSidebarOpened } from './sidebar.component';\n\n@NgModule({\n imports: [KbqSidebarClosed, KbqSidebarOpened, KbqSidebar],\n exports: [\n KbqSidebarClosed,\n KbqSidebarOpened,\n KbqSidebar\n ]\n})\nexport class KbqSidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koobiq-components-sidebar.mjs","sources":["../../../packages/components/sidebar/sidebar.component.ts","../../../packages/components/sidebar/sidebar.component.html","../../../packages/components/sidebar/sidebar.module.ts","../../../packages/components/sidebar/koobiq-components-sidebar.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n Directive,\n ElementRef,\n inject,\n Injector,\n input,\n NgZone,\n OnChanges,\n OnDestroy,\n output,\n Renderer2,\n signal,\n SimpleChanges,\n untracked,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n isControl,\n isInput,\n isLeftBracket,\n isRightBracket,\n kbqAfterAnimations,\n kbqAnimationsDisabled,\n KbqStateSaving\n} from '@koobiq/components/core';\n\nexport enum SidebarPositions {\n Left = 'left',\n Right = 'right'\n}\n\ninterface KbqSidebarParams {\n openedStateMinWidth: string;\n openedStateWidth: string;\n openedStateMaxWidth: string;\n\n closedStateWidth: string;\n}\n\n@Directive({\n selector: '[kbq-sidebar-opened]',\n host: {\n class: 'kbq-sidebar-opened'\n },\n exportAs: 'kbqSidebarOpened'\n})\nexport class KbqSidebarOpened {\n readonly minWidth = input<string>(undefined!);\n readonly width = input<string>(undefined!);\n readonly maxWidth = input<string>(undefined!);\n}\n\n@Directive({\n selector: '[kbq-sidebar-closed]',\n host: {\n class: 'kbq-sidebar-closed'\n },\n exportAs: 'kbqSidebarClosed'\n})\nexport class KbqSidebarClosed {\n readonly width = input<string>(undefined!);\n}\n\n/** The persisted state of a sidebar — whether it was open, and the width it was last left at. */\nexport interface KbqSidebarState {\n opened: boolean;\n /** Absent while the sidebar has never been resized away from the width its content declares. */\n width?: string;\n}\n\n/**\n * Coerces a raw persisted payload into a `KbqSidebarState`, returning `null` for anything unrecognizable.\n *\n * Web storage is origin-wide and user-writable, so a payload is never trusted — without this, an entry\n * such as `{\"opened\": \"yes\"}` would reach the width bindings and break them.\n */\nconst normalizeSidebarState = (parsed: unknown): KbqSidebarState | null => {\n if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) return null;\n\n const { opened, width } = parsed as Partial<KbqSidebarState>;\n\n if (typeof opened !== 'boolean') return null;\n\n return typeof width === 'string' ? { opened, width } : { opened };\n};\n\n@Component({\n selector: 'kbq-sidebar',\n templateUrl: 'sidebar.component.html',\n styleUrls: ['./sidebar.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'kbq-sidebar',\n '[class.kbq-sidebar_opened]': 'opened',\n '[class.kbq-sidebar_toggling]': 'toggling()',\n '[class.kbq-animations-disabled]': 'animationsDisabled',\n '[style.min-width]': 'opened ? params.openedStateMinWidth : params.closedStateWidth',\n '[style.width]': 'opened ? params.openedStateWidth : params.closedStateWidth',\n '[style.max-width]': 'opened ? params.openedStateMaxWidth : params.closedStateWidth'\n },\n // `useStateSaving` and `stateSavingKey` are the directive's inputs, surfaced on the sidebar.\n hostDirectives: [\n { directive: KbqStateSaving, inputs: ['useStateSaving', 'stateSavingKey'] }\n ],\n exportAs: 'kbqSidebar'\n})\nexport class KbqSidebar implements OnChanges, OnDestroy, AfterContentInit {\n private ngZone = inject(NgZone);\n private elementRef = inject(ElementRef);\n\n /**\n * @docs-private\n */\n protected readonly document = inject<Document>(DOCUMENT);\n private readonly renderer = inject(Renderer2);\n private readonly isBrowser = inject(Platform).isBrowser;\n private readonly injector = inject(Injector);\n\n /**\n * Whether the sidebar opens and closes without motion.\n *\n * @docs-private\n */\n protected readonly animationsDisabled = kbqAnimationsDisabled();\n\n /**\n * Whether the sidebar moves between the opened and closed states: only then is its width transitioned, so\n * the first render and a width written from outside, such as by a splitter, apply at once.\n *\n * @docs-private\n */\n protected readonly toggling = signal(false);\n\n private stateAnimation?: { destroy(): void };\n\n /**\n * Persistence of the opened state and width, applied as a host directive. `useStateSaving` and\n * `stateSavingKey` are its inputs, forwarded onto the sidebar.\n */\n private readonly stateSaving = inject(KbqStateSaving);\n\n get opened(): boolean {\n return this.openedState();\n }\n\n set opened(value: boolean) {\n // Untracked: an `effect` that assigns `opened` must not come to depend on the state it replaces.\n untracked(() => this.setOpened(value));\n }\n\n private readonly openedState = signal(true);\n\n /**\n * Whether anything has assigned `opened`. Snapshotted while initializing, where only an input binding\n * can have done so — `toggle()` needs a view query and the bracket shortcut is registered later — so\n * it reads as \"the application drives this sidebar\" and suppresses persistence.\n */\n private openedWritten = false;\n\n private controlled = false;\n\n readonly position = input<SidebarPositions>(undefined!);\n\n /**\n * @docs-private\n */\n get params(): KbqSidebarParams {\n return this.paramsState();\n }\n\n /** @docs-private */\n set params(value: KbqSidebarParams) {\n this.paramsState.set(value);\n }\n\n private readonly paramsState = signal<KbqSidebarParams>({\n openedStateWidth: 'inherit',\n openedStateMinWidth: 'inherit',\n openedStateMaxWidth: 'inherit',\n\n closedStateWidth: '32px'\n });\n\n readonly stateChanged = output<boolean>();\n\n /**\n * @docs-private\n */\n readonly openedContent = contentChild(KbqSidebarOpened);\n\n /**\n * @docs-private\n */\n readonly closedContent = contentChild(KbqSidebarClosed);\n\n /**\n * @docs-private\n */\n get internalState(): boolean {\n return this.internalStateSignal();\n }\n\n /** @docs-private */\n set internalState(value: boolean) {\n this.internalStateSignal.set(value);\n }\n\n private readonly internalStateSignal = signal(true);\n\n private unbindKeydownListener: ReturnType<Renderer2['listen']> | null = null;\n\n /** @docs-private */\n readonly openedInput = input<boolean | undefined>(undefined, { alias: 'opened' });\n\n ngOnChanges(changes: SimpleChanges): void {\n // A bound input is handed to its member, a bound `undefined` as `false`; unbound, it leaves what code wrote.\n if (changes['openedInput']) {\n this.opened = this.openedInput() ?? false;\n }\n }\n\n constructor() {\n afterNextRender(() => this.registerKeydownListener());\n\n // The state lives under the new key now, so restore from it and report it as any other change.\n this.stateSaving.keyChanges.subscribe(() => {\n if (this.restoreState()) this.waitForStateAnimation(true);\n });\n }\n\n ngAfterContentInit(): void {\n const openedContent = this.openedContent();\n const closedContent = this.closedContent();\n\n this.params = {\n openedStateWidth: openedContent?.width() || 'inherit',\n openedStateMinWidth: openedContent?.minWidth() || 'inherit',\n openedStateMaxWidth: openedContent?.maxWidth() || 'inherit',\n\n closedStateWidth: closedContent?.width() || '32px'\n };\n\n // After the params above, which are rebuilt wholesale and would discard a restored width.\n this.controlled = this.openedWritten;\n\n this.restoreState();\n\n // The first render shows the content and the width of the initial state; `stateChanged` reports it once\n // rendered.\n this.internalState = this.openedState();\n this.waitForStateAnimation(false);\n }\n\n /**\n * Reads the persisted state and applies it. Runs while initializing, and again on a key change.\n * Returns whether it changed the opened state.\n */\n private restoreState(): boolean {\n if (!this.persists) return false;\n\n const savedState = this.stateSaving.read(normalizeSidebarState);\n\n if (!savedState) return false;\n\n const changed = savedState.opened !== this.openedState();\n\n this.stateSaving.applying(() => {\n // Past the setter on purpose: it captures the current `offsetWidth` on the way out, which\n // would overwrite the width being restored on the line below.\n this.openedState.set(savedState.opened);\n\n // `internalState` otherwise only catches up once the width transition ends.\n this.internalState = savedState.opened;\n\n if (savedState.width) {\n this.params = { ...this.params, openedStateWidth: savedState.width };\n }\n });\n\n return changed;\n }\n\n ngOnDestroy(): void {\n this.unRegisterKeydownListener();\n }\n\n /**\n * Persists whether the sidebar is open and the width it was last left at.\n *\n * Called whenever `opened` changes. The width is only captured as the sidebar closes, so dragging it\n * wider and reloading without closing it keeps the previous width — the same as before persistence.\n */\n saveState(): void {\n // Untracked, as `clearSavedState()`: called from a consumer's `effect()`, the state read on the way — `opened`,\n // the width, the state saving inputs — would make the effect run again whenever it changes.\n untracked(() => {\n if (!this.persists) return;\n\n this.stateSaving.write(this.snapshot());\n });\n }\n\n /**\n * Removes the state persisted for this sidebar.\n *\n * Persistence itself stays on — the next change is written again. Unset `useStateSaving` to stop it.\n */\n clearSavedState(): void {\n untracked(() => this.stateSaving.clear());\n }\n\n /**\n * Whether state is currently persisted for this sidebar — restored on init, or written since.\n * Always `false` while `useStateSaving` is unset, and `false` again after `clearSavedState()`.\n */\n get hasSavedState(): boolean {\n return this.stateSaving.state != null;\n }\n\n toggle(): void {\n this.opened = !untracked(this.openedState);\n }\n\n private setOpened(value: boolean): void {\n this.openedWritten = true;\n\n // While the sidebar still widens, its width is one it passes through, not the opened one.\n if (this.openedState() && !this.toggling()) {\n this.saveWidth();\n }\n\n const changed = value !== this.openedState();\n\n this.openedState.set(value);\n\n if (changed) {\n // The opened content is in place while the sidebar widens, the closed one once it has narrowed.\n if (value) {\n this.internalState = true;\n }\n\n this.waitForStateAnimation(true);\n }\n\n // The single choke point for `toggle()` and the bracket shortcut alike. Writing is a no-op until\n // the state has been read, so the input binding that runs before initialization cannot overwrite\n // what is stored.\n this.saveState();\n }\n\n /**\n * Switches the content and reports the state once rendered, after the width transition when `animated`:\n * the initial state has none.\n */\n private waitForStateAnimation(animated: boolean): void {\n this.stateAnimation?.destroy();\n this.toggling.set(animated);\n this.stateAnimation = kbqAfterAnimations(\n () => this.elementRef.nativeElement,\n () => {\n this.toggling.set(false);\n this.internalState = this.openedState();\n this.stateChanged.emit(this.openedState());\n },\n this.injector\n );\n }\n\n private registerKeydownListener(): void {\n this.ngZone.runOutsideAngular(() => {\n this.unbindKeydownListener ||= this.renderer.listen(this.document, 'keypress', (event) =>\n this.handleKeydown(event)\n );\n });\n }\n\n private unRegisterKeydownListener(): void {\n if (this.unbindKeydownListener) {\n this.unbindKeydownListener();\n this.unbindKeydownListener = null;\n }\n }\n\n private handleKeydown(event: KeyboardEvent): void {\n if (isControl(event) || isInput(event)) return;\n\n const position = this.position();\n\n if (\n (position === SidebarPositions.Left && isLeftBracket(event)) ||\n (position === SidebarPositions.Right && isRightBracket(event))\n ) {\n this.toggle();\n }\n }\n\n /** Whether this sidebar reads and writes its state at all. */\n private get persists(): boolean {\n // A sidebar that is not in the document has no stable key — the default resolver derives one from\n // the path to `<body>` — which is the ordinary state of one projected into an overlay.\n return this.stateSaving.useStateSaving() && !this.controlled && !!this.stateSaving.host?.isConnected;\n }\n\n /** The whole state, with the width left out while it is the one the content declares. */\n private snapshot(): KbqSidebarState {\n const width = this.params.openedStateWidth;\n const opened = this.openedState();\n\n return width && width !== 'inherit' ? { opened, width } : { opened };\n }\n\n private saveWidth() {\n if (!this.isBrowser) return;\n\n this.params = { ...this.params, openedStateWidth: `${this.elementRef.nativeElement.offsetWidth}px` };\n }\n}\n","@if (internalState) {\n <ng-content select=\"[kbq-sidebar-opened]\" />\n} @else {\n <ng-content select=\"[kbq-sidebar-closed]\" />\n}\n","import { NgModule } from '@angular/core';\nimport { KbqSidebar, KbqSidebarClosed, KbqSidebarOpened } from './sidebar.component';\n\n@NgModule({\n imports: [KbqSidebarClosed, KbqSidebarOpened, KbqSidebar],\n exports: [\n KbqSidebarClosed,\n KbqSidebarOpened,\n KbqSidebar\n ]\n})\nexport class KbqSidebarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|