@koobiq/components 20.4.2 → 21.0.1
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 +791 -609
- 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 +2871 -2595
- 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 +400 -149
- 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 +734 -488
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +1700 -617
- 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 +415 -18
- package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
- package/schematics/migrations/accordion-state-saving-default/data.cjs +75 -0
- package/schematics/migrations/accordion-state-saving-default/index.cjs +61 -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.cjs +47 -0
- package/schematics/migrations/actions-panel-overlay-container/index.cjs +55 -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 → data.cjs} +3 -0
- package/schematics/migrations/alert-signals/index.cjs +221 -0
- package/schematics/migrations/angular-animations-removal/README.md +46 -0
- package/schematics/migrations/angular-animations-removal/data.cjs +150 -0
- package/schematics/migrations/angular-animations-removal/index.cjs +21 -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.cjs +136 -0
- package/schematics/migrations/app-switcher-signals/index.cjs +366 -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 → index.cjs} +6 -5
- package/schematics/migrations/autocomplete-signals/README.md +92 -0
- package/schematics/migrations/autocomplete-signals/data.cjs +149 -0
- package/schematics/migrations/autocomplete-signals/index.cjs +707 -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.cjs +109 -0
- package/schematics/migrations/badge-signals/index.cjs +694 -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.cjs +136 -0
- package/schematics/migrations/button-state-and-styles/index.cjs +221 -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.cjs +106 -0
- package/schematics/migrations/button-supported-colors/index.cjs +261 -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.cjs +200 -0
- package/schematics/migrations/button-toggle-signals-and-aria/index.cjs +497 -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.cjs +88 -0
- package/schematics/migrations/button-truncation/index.cjs +270 -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.cjs +114 -0
- package/schematics/migrations/checkbox-signals/index.cjs +635 -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.cjs +101 -0
- package/schematics/migrations/clamped-text-disclosure/index.cjs +60 -0
- package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
- package/schematics/migrations/code-block-highlight-js-core/README.md +53 -0
- package/schematics/migrations/code-block-highlight-js-core/data.cjs +64 -0
- package/schematics/migrations/code-block-highlight-js-core/index.cjs +319 -0
- package/schematics/migrations/code-block-highlight-js-core/schema.json +20 -0
- package/schematics/migrations/code-block-signals/README.md +84 -0
- package/schematics/migrations/code-block-signals/data.cjs +121 -0
- package/schematics/migrations/code-block-signals/index.cjs +701 -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.cjs +131 -0
- package/schematics/migrations/color-signals/index.cjs +20 -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.cjs +27 -0
- package/schematics/migrations/core-mixins-removal/index.cjs +18 -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 → index.cjs} +4 -3
- package/schematics/migrations/datepicker-signals/README.md +24 -0
- package/schematics/migrations/datepicker-signals/data.cjs +49 -0
- package/schematics/migrations/datepicker-signals/index.cjs +18 -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 → index.cjs} +8 -7
- package/schematics/migrations/design-tokens-v4/README.md +75 -0
- package/schematics/migrations/design-tokens-v4/index.cjs +60 -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.cjs +62 -0
- package/schematics/migrations/divider-signals-and-aria/index.cjs +212 -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.cjs +85 -0
- package/schematics/migrations/dl-attribute-coercion/index.cjs +162 -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.cjs +44 -0
- package/schematics/migrations/dl-standalone-names/index.cjs +322 -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.cjs +84 -0
- package/schematics/migrations/dropdown-demote-overlay/index.cjs +289 -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.cjs +152 -0
- package/schematics/migrations/dropdown-signals/index.cjs +20 -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.cjs +85 -0
- package/schematics/migrations/empty-state-error-color/index.cjs +72 -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 → index.cjs} +6 -5
- package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
- package/schematics/migrations/file-upload-cva-and-primitives/data.cjs +97 -0
- package/schematics/migrations/file-upload-cva-and-primitives/index.cjs +61 -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.cjs +20 -0
- package/schematics/migrations/file-upload-deprecated-outputs/index.cjs +71 -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.cjs +151 -0
- package/schematics/migrations/filter-bar-rename-action/index.cjs +178 -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 → data.cjs} +1 -2
- package/schematics/migrations/filter-bar-signals/index.cjs +225 -0
- package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
- package/schematics/migrations/filter-bar-state-saving-default/data.cjs +87 -0
- package/schematics/migrations/filter-bar-state-saving-default/index.cjs +62 -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.cjs +58 -0
- package/schematics/migrations/flag-inner-html/index.cjs +62 -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.cjs +288 -0
- package/schematics/migrations/form-field-signals/index.cjs +383 -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.cjs +97 -0
- package/schematics/migrations/icon-semantics-and-api/index.cjs +65 -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 → index.cjs} +4 -3
- package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
- package/schematics/migrations/inline-edit-a11y-and-types/data.cjs +117 -0
- package/schematics/migrations/inline-edit-a11y-and-types/index.cjs +98 -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.cjs +135 -0
- package/schematics/migrations/input-number-surface/index.cjs +293 -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.cjs +30 -0
- package/schematics/migrations/input-signals/index.cjs +18 -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.cjs +20 -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.cjs +116 -0
- package/schematics/migrations/link-signals/index.cjs +416 -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.cjs +35 -0
- package/schematics/migrations/list-signals/index.cjs +18 -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.cjs +74 -0
- package/schematics/migrations/list-tree-multiple-input/index.cjs +222 -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.cjs +101 -0
- package/schematics/migrations/loader-overlay-signals/index.cjs +698 -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 → index.cjs} +6 -5
- package/schematics/migrations/locale-configuration-providers/README.md +163 -0
- package/schematics/migrations/locale-configuration-providers/data.cjs +257 -0
- package/schematics/migrations/locale-configuration-providers/index.cjs +295 -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.cjs +43 -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.cjs +79 -0
- package/schematics/migrations/markdown-signals/index.cjs +640 -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.cjs +110 -0
- package/schematics/migrations/modal-dialog-semantics/index.cjs +59 -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.cjs +132 -0
- package/schematics/migrations/modal-signals/index.cjs +20 -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.cjs +198 -0
- package/schematics/migrations/navbar-signals-and-aria/index.cjs +569 -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 → index.cjs} +8 -7
- package/schematics/migrations/notification-center-signals/README.md +67 -0
- package/schematics/migrations/notification-center-signals/data.cjs +66 -0
- package/schematics/migrations/notification-center-signals/index.cjs +62 -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.cjs +86 -0
- package/schematics/migrations/option-signals/index.cjs +20 -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.cjs +61 -0
- package/schematics/migrations/popover-leave-delay/index.cjs +55 -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.cjs +76 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/index.cjs +59 -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.cjs +83 -0
- package/schematics/migrations/progress-spinner-signals/index.cjs +695 -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.cjs +70 -0
- package/schematics/migrations/query-list-signals/index.cjs +18 -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.cjs +163 -0
- package/schematics/migrations/radio-signals-and-aria/index.cjs +40 -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.cjs +45 -0
- package/schematics/migrations/read-state-dwell-handlers/index.cjs +216 -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.cjs +21 -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.cjs +99 -0
- package/schematics/migrations/select-signal-inputs/index.cjs +58 -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.cjs +111 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/index.cjs +58 -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.cjs +69 -0
- package/schematics/migrations/signal-inputs-subclasses/index.cjs +18 -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.cjs +53 -0
- package/schematics/migrations/split-button-optional-disabled/index.cjs +58 -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.cjs +21 -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.cjs +88 -0
- package/schematics/migrations/state-saving-default/index.cjs +63 -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.cjs +66 -0
- package/schematics/migrations/table-cell-content/index.cjs +67 -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.cjs +139 -0
- package/schematics/migrations/tabs-signals-and-aria/index.cjs +66 -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.cjs +42 -0
- package/schematics/migrations/tag-list-cleaner/index.cjs +197 -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.cjs +191 -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.cjs +103 -0
- package/schematics/migrations/tags-signals/index.cjs +674 -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.cjs +121 -0
- package/schematics/migrations/textarea-signals/index.cjs +380 -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.cjs +139 -0
- package/schematics/migrations/time-range-title-for/index.cjs +164 -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.cjs +82 -0
- package/schematics/migrations/timepicker-signals/index.cjs +710 -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.cjs +101 -0
- package/schematics/migrations/timezone-grouping-utils/index.cjs +65 -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.cjs +69 -0
- package/schematics/migrations/title-encapsulation/index.cjs +58 -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.cjs +79 -0
- package/schematics/migrations/toast-stack-and-defaults/index.cjs +54 -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.cjs +89 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/index.cjs +61 -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.cjs +56 -0
- package/schematics/migrations/top-bar-container-selectors/index.cjs +85 -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.cjs +106 -0
- package/schematics/migrations/tree-select-signals/index.cjs +59 -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.cjs +123 -0
- package/schematics/migrations/tree-signals/index.cjs +55 -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.cjs +78 -0
- package/schematics/migrations/tree-state-saving-default/index.cjs +61 -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.cjs +78 -0
- package/schematics/migrations/username-pipe-injection/index.cjs +59 -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 → data.cjs} +124 -77
- package/schematics/migrations/v20-upgrade/index.cjs +19 -0
- package/schematics/migrations/v21-upgrade/README.md +271 -0
- package/schematics/migrations/v21-upgrade/data.cjs +1371 -0
- package/schematics/migrations/v21-upgrade/index.cjs +95 -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.cjs +29 -0
- package/schematics/migrations/zoneless-change-detection/index.cjs +21 -0
- package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
- package/schematics/migrations.json +401 -6
- package/schematics/ng-add/index.cjs +266 -0
- package/schematics/ng-add/schema.json +15 -0
- package/schematics/utils/{angular-parsing.js → angular-parsing.cjs} +2 -2
- package/schematics/utils/deprecated-path-migration.cjs +62 -0
- package/schematics/utils/html-config.cjs +148 -0
- package/schematics/utils/{icon-migration.js → icon-migration.cjs} +2 -2
- package/schematics/utils/list-item-pattern.cjs +16 -0
- package/schematics/utils/{package-config.js → package-config.cjs} +3 -32
- package/schematics/utils/project-files.cjs +25 -0
- package/schematics/utils/replacement-driver.cjs +337 -0
- package/schematics/utils/safe-rule.cjs +23 -0
- package/schematics/utils/signal-members-migration.cjs +779 -0
- package/schematics/utils/tag-patterns.cjs +21 -0
- package/schematics/utils/template-ref-access.cjs +155 -0
- package/schematics/utils/{typescript.js → typescript.cjs} +1 -1
- package/schematics/utils/warn-only-migration.cjs +52 -0
- package/schematics/utils/workspace-styles.cjs +123 -0
- 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} +150 -88
- 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 +670 -0
- package/types/koobiq-components-tree.d.ts +1339 -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/schematics/migrations/alert-signals/index.js +0 -353
- package/schematics/migrations/filter-bar-signals/index.js +0 -319
- package/schematics/migrations/v20-upgrade/index.js +0 -225
- package/schematics/ng-add/index.js +0 -39
- 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/schematics/migrations/css-selectors/{data.js → data.cjs} +0 -0
- /package/schematics/migrations/deprecated-icons/{data.js → data.cjs} +0 -0
- /package/schematics/migrations/icons-replacement/{data.js → data.cjs} +0 -0
- /package/schematics/migrations/new-icons-pack/{data.js → data.cjs} +0 -0
- /package/schematics/utils/{ast.js → ast.cjs} +0 -0
- /package/schematics/utils/{messages.js → messages.cjs} +0 -0
- /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
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Data for the `tree-state-saving-default` migration.
|
|
5
|
+
*
|
|
6
|
+
* `KbqTreeSelection` and `KbqTree` persist their expanded nodes now, and `useStateSaving` defaults to
|
|
7
|
+
* `true`. A tree that was never configured to persist anything comes back with the branches the user
|
|
8
|
+
* left open, which changes four things a consumer can only find out by reading:
|
|
9
|
+
*
|
|
10
|
+
* - The key is derived from where the tree sits in the document when no `stateSavingKey` is given, so
|
|
11
|
+
* restructuring the markup above it strands what was saved under the previous key.
|
|
12
|
+
* - Expansion is persisted by the value `FlatTreeControl.getValue` returns, which must therefore be a
|
|
13
|
+
* stable, unique string rather than something derived from the node's position or object identity.
|
|
14
|
+
* - Expansion the application performs itself is not persisted until something else is.
|
|
15
|
+
* - A `NestedTreeControl` has no `getValue`, so a tree built on one persists nothing.
|
|
16
|
+
*
|
|
17
|
+
* Warn-only. The markup whose behaviour changed is exactly the markup that says nothing about the
|
|
18
|
+
* input, so there is no expression to rewrite — and rewriting it to `[useStateSaving]="false"` would
|
|
19
|
+
* withhold the feature this release is shipping.
|
|
20
|
+
*/
|
|
21
|
+
/** Import specifiers that mark a file as a tree consumer. */
|
|
22
|
+
const TREE_PACKAGE = '@koobiq/components/tree';
|
|
23
|
+
/** Identifier and element shapes that mark a consumer without an import. */
|
|
24
|
+
const TREE_TYPE = '\\bKbqTreeSelection\\b|\\bKbqTree\\b|\\bkbq-tree-selection\\b|\\bkbq-tree\\b';
|
|
25
|
+
/** The rendered element, which is what the default flip reaches. `<kbq-tree` also opens the selection. */
|
|
26
|
+
const TREE_ELEMENT = '<kbq-tree-selection\\b|<kbq-tree[\\s>]';
|
|
27
|
+
const warnPatterns = [
|
|
28
|
+
{
|
|
29
|
+
anchor: TREE_ELEMENT,
|
|
30
|
+
pattern: TREE_ELEMENT,
|
|
31
|
+
unless: '\\buseStateSaving\\b',
|
|
32
|
+
message: 'Trees persist their expanded nodes by default now: useStateSaving defaults to true. Pass ' +
|
|
33
|
+
'[useStateSaving]="false" to keep the previous behaviour. To keep persistence but pin where ' +
|
|
34
|
+
'the state is stored, give the tree a stateSavingKey — or an id, which anchors the key ' +
|
|
35
|
+
'derived from the document just as well. Selection is not persisted; it stays with the form ' +
|
|
36
|
+
'control the tree is bound to.'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
anchor: 'new\\s+FlatTreeControl\\b',
|
|
40
|
+
pattern: 'new\\s+FlatTreeControl\\b',
|
|
41
|
+
unless: '\\[useStateSaving\\]="false"',
|
|
42
|
+
message: 'Expansion is persisted by the value getValue returns — the third argument of the ' +
|
|
43
|
+
'FlatTreeControl constructor. Check that it returns a string that is stable across reloads ' +
|
|
44
|
+
'and unique within the tree: a value derived from the node index, or from the node object, ' +
|
|
45
|
+
'restores the wrong branches. Where two nodes share a value, the first of them is expanded.'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
anchor: TREE_TYPE,
|
|
49
|
+
pattern: '\\.\\s*(expandAll|collapseAll|expandDescendants|collapseDescendants)\\s*\\(|\\.\\s*expansionModel\\b',
|
|
50
|
+
message: 'Expansion the application performs itself is not persisted on its own — only what a user ' +
|
|
51
|
+
'expands or collapses is. Call saveState() on the tree after expanding programmatically if ' +
|
|
52
|
+
'that state should be restored on the next visit.'
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
anchor: 'new\\s+NestedTreeControl\\b',
|
|
56
|
+
pattern: 'new\\s+NestedTreeControl\\b',
|
|
57
|
+
message: 'A tree on a NestedTreeControl persists nothing: the control has no getValue, so there is no ' +
|
|
58
|
+
'stable identity to store a node under. A warning is logged in dev mode; unset ' +
|
|
59
|
+
'useStateSaving on that tree to silence it.'
|
|
60
|
+
}
|
|
61
|
+
];
|
|
62
|
+
/** Printed once, after the per-file reports. */
|
|
63
|
+
const SUMMARY = [
|
|
64
|
+
' Nodes that arrive after the tree has initialized are waited for, so a lazily loaded tree is',
|
|
65
|
+
' restored as its branches load. Nothing is persisted while a search filter is active, and a tree',
|
|
66
|
+
' rendered inside an overlay — the one kbq-tree-select puts in its panel, for instance — does not',
|
|
67
|
+
' persist at all, because it has no stable key while it is out of the document.',
|
|
68
|
+
' Storage format: entries are written under a "kbq.state." prefix and carry a timestamp, so an',
|
|
69
|
+
' entry stranded by a markup change is collected once it outlives KBQ_STATE_SAVING_TTL (90 days by',
|
|
70
|
+
' default).',
|
|
71
|
+
' Provide KBQ_STATE_STORE to persist somewhere else (KbqSessionStorageStateStore is bundled), and',
|
|
72
|
+
' KBQ_STATE_SAVING_KEY_RESOLVER to derive the key from something other than the document position.'
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
exports.SUMMARY = SUMMARY;
|
|
76
|
+
exports.TREE_PACKAGE = TREE_PACKAGE;
|
|
77
|
+
exports.TREE_TYPE = TREE_TYPE;
|
|
78
|
+
exports.warnPatterns = warnPatterns;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils_messages = require('../../utils/messages.cjs');
|
|
6
|
+
var utils_packageConfig = require('../../utils/package-config.cjs');
|
|
7
|
+
var utils_projectFiles = require('../../utils/project-files.cjs');
|
|
8
|
+
var migrations_treeStateSavingDefault_data = require('./data.cjs');
|
|
9
|
+
require('@angular-devkit/schematics');
|
|
10
|
+
require('@schematics/angular/utility');
|
|
11
|
+
|
|
12
|
+
const LABEL = '[tree-state-saving-default]';
|
|
13
|
+
const EXTENSIONS = ['.ts', '.html'];
|
|
14
|
+
/** A file is a tree consumer if it imports the package, names the component, or renders one. */
|
|
15
|
+
function referencesTree(content) {
|
|
16
|
+
return content.includes(migrations_treeStateSavingDefault_data.TREE_PACKAGE) || new RegExp(migrations_treeStateSavingDefault_data.TREE_TYPE).test(content);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Reports the consequences of the tree persisting its expanded nodes, with `useStateSaving` defaulting
|
|
20
|
+
* to `true`. Never writes: the markup whose behaviour changed is exactly the markup that does not
|
|
21
|
+
* mention the input, and rewriting it to opt out would withhold the feature the release is shipping.
|
|
22
|
+
*
|
|
23
|
+
* `.html` is visited as well as `.ts`, because the default flip keys off the rendered element while the
|
|
24
|
+
* node-identity report keys off the tree control the application constructs.
|
|
25
|
+
*/
|
|
26
|
+
function treeStateSavingDefault(options) {
|
|
27
|
+
return async (tree, context) => {
|
|
28
|
+
const { project } = options;
|
|
29
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
30
|
+
const root = projectDefinition?.root ?? '';
|
|
31
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
32
|
+
let consumers = 0;
|
|
33
|
+
let reported = 0;
|
|
34
|
+
utils_projectFiles.visitProjectFiles(rootDir, (filePath, entry) => {
|
|
35
|
+
if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
|
|
36
|
+
return;
|
|
37
|
+
const content = entry?.content.toString();
|
|
38
|
+
if (!content || !referencesTree(content))
|
|
39
|
+
return;
|
|
40
|
+
consumers++;
|
|
41
|
+
for (const { anchor, pattern, unless, message } of migrations_treeStateSavingDefault_data.warnPatterns) {
|
|
42
|
+
if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
|
|
43
|
+
continue;
|
|
44
|
+
if (unless && new RegExp(unless).test(content))
|
|
45
|
+
continue;
|
|
46
|
+
reported++;
|
|
47
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
// Nothing here renders a tree, so the summary would only be noise.
|
|
51
|
+
if (consumers === 0)
|
|
52
|
+
return;
|
|
53
|
+
utils_messages.logMessage(context.logger, [
|
|
54
|
+
`${LABEL} processed kbq-tree under "${root || '<workspace root>'}", ` +
|
|
55
|
+
`${consumers} file(s) reference the tree, ${reported} report(s) raised.`,
|
|
56
|
+
...migrations_treeStateSavingDefault_data.SUMMARY
|
|
57
|
+
]);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
exports.default = treeStateSavingDefault;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-tree-state-saving-default",
|
|
4
|
+
"title": "Koobiq components tree state saving default migration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"project": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the project to inspect. If omitted, the migration runs over the whole tree.",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "projectName"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# username-pipe-injection
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21`
|
|
4
|
+
(registered for `21.0.0-0`). Reports the call sites that obtained `KbqUsernamePipe` or
|
|
5
|
+
`KbqUsernameCustomPipe` through dependency injection, which stopped resolving in the username review.
|
|
6
|
+
It never writes to the tree.
|
|
7
|
+
|
|
8
|
+
## Background
|
|
9
|
+
|
|
10
|
+
Both pipe classes carried two decorators: `@Injectable({ providedIn: 'root' })` on top of `@Pipe`. That
|
|
11
|
+
produced two instantiation paths with two different injectors. Used in a template, a pipe is created
|
|
12
|
+
against the node injector, so a component- or route-level `{ provide: KBQ_PROFILE_MAPPING, … }` applies.
|
|
13
|
+
Obtained with `inject(KbqUsernamePipe)`, it was the **root** singleton, and its own
|
|
14
|
+
`inject(KBQ_PROFILE_MAPPING)` resolved at the root injector — the scoped mapping was invisible. The same
|
|
15
|
+
class therefore produced two different strings for the same profile depending on how you got hold of it,
|
|
16
|
+
and the search guide recommended exactly the path that ignored the override.
|
|
17
|
+
|
|
18
|
+
`providedIn: 'root'` is gone. In a template nothing changes; through DI the pipes no longer resolve.
|
|
19
|
+
|
|
20
|
+
| Before | After |
|
|
21
|
+
| ------------------------------------------------------- | -------------------------------------------------------------------- |
|
|
22
|
+
| `inject(KbqUsernamePipe).transform(user)` | `kbqInjectUsernameFormatter()` → `formatUsername(user)` |
|
|
23
|
+
| `inject(KbqUsernameCustomPipe).transform(user, format)` | `kbqFormatUsernameCustom(user, format, inject(KBQ_PROFILE_MAPPING))` |
|
|
24
|
+
| `constructor(private pipe: KbqUsernamePipe)` | `private readonly formatUsername = kbqInjectUsernameFormatter()` |
|
|
25
|
+
| `KbqMappingMissingError` | Removed; both pipes fall back to `kbqDefaultProfileMapping` |
|
|
26
|
+
|
|
27
|
+
`kbqInjectUsernameFormatter()` must run in an injection context. It resolves `KBQ_PROFILE_MAPPING` where
|
|
28
|
+
_you_ call it, which is what makes the string it returns match the one `kbq-username` renders next to it.
|
|
29
|
+
|
|
30
|
+
## What it does _not_ do
|
|
31
|
+
|
|
32
|
+
Nothing is rewritten. `kbqInjectUsernameFormatter()` returns a function rather than an object with a
|
|
33
|
+
`transform` method, and it has to be evaluated in an injection context — neither can be derived from the
|
|
34
|
+
call site.
|
|
35
|
+
|
|
36
|
+
## Notes with no call site to point at
|
|
37
|
+
|
|
38
|
+
- The shipped `KBQ_PROFILE_MAPPING` now maps the uppercase keys `F` / `M` / `L` as well, so
|
|
39
|
+
`{{ user | kbqUsernameCustom }}` with the library's own default format renders the surname instead of a
|
|
40
|
+
literal capital `L`. Spread `kbqDefaultProfileMapping` to pick the uppercase keys up in a mapping of
|
|
41
|
+
your own.
|
|
42
|
+
- `kbq-username` renders the name of a profile that carries only some of the name fields. It used to
|
|
43
|
+
require both `firstName` and `lastName`, so `{ lastName, login }` rendered the login alone and
|
|
44
|
+
`{ firstName, middleName }` rendered an empty element.
|
|
45
|
+
- `KbqUsernameSecondaryHint` is exported by `KbqUsernameModule`. It was declared, documented and used by
|
|
46
|
+
the component's own template but missing from the module, so inside a `<kbq-username-custom-view>` the
|
|
47
|
+
directive silently did not apply and the hint rendered in the primary color.
|
|
48
|
+
- The secondary color no longer hangs off an adjacent-sibling selector, so a login with no name in front
|
|
49
|
+
of it renders in the secondary color as intended.
|
|
50
|
+
- Initials are taken by code point, so a name starting outside the BMP no longer abbreviates to a lone
|
|
51
|
+
surrogate.
|
|
52
|
+
- `kbq-title` is not attached in `mode="text"`, which applies no ellipsis for it to detect.
|
|
53
|
+
- The site hint carries a visually hidden label from the new `username.siteLabel` locale key.
|
|
54
|
+
|
|
55
|
+
## Running it manually
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
ng generate @koobiq/components:username-pipe-injection --project my-app
|
|
59
|
+
```
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Data for the `username-pipe-injection` migration.
|
|
5
|
+
*
|
|
6
|
+
* The username review split the pipes' injectable role from their pipe role. Both classes used to carry
|
|
7
|
+
* `@Injectable({ providedIn: 'root' })` on top of `@Pipe`, which produced a root singleton whose
|
|
8
|
+
* `inject(KBQ_PROFILE_MAPPING)` resolved at the root injector — so the documented `inject(KbqUsernamePipe)`
|
|
9
|
+
* pattern silently ignored the component- or route-level mapping the token exists for, and formatted a
|
|
10
|
+
* profile differently from the `kbq-username` right next to it.
|
|
11
|
+
*
|
|
12
|
+
* `providedIn: 'root'` is gone. In a template both pipes work exactly as before; obtained through DI they
|
|
13
|
+
* no longer resolve at all, which is the one breaking call site.
|
|
14
|
+
*
|
|
15
|
+
* Warn-only: the replacement is a different expression (`kbqInjectUsernameFormatter()` returns a
|
|
16
|
+
* function, not an object with `transform`), and it has to be evaluated in an injection context.
|
|
17
|
+
*/
|
|
18
|
+
/** Import specifier that marks a file as a username consumer. */
|
|
19
|
+
const USERNAME_PACKAGE = '@koobiq/components/username';
|
|
20
|
+
/** Identifier and element shapes that mark a consumer without an import. */
|
|
21
|
+
const USERNAME_TYPE = '\\bKbqUsername\\w*\\b|\\bkbq-username\\b';
|
|
22
|
+
const warnPatterns = [
|
|
23
|
+
{
|
|
24
|
+
anchor: USERNAME_TYPE,
|
|
25
|
+
pattern: 'inject\\(\\s*KbqUsernamePipe\\s*\\)',
|
|
26
|
+
message: 'KbqUsernamePipe is no longer providedIn: "root", so inject(KbqUsernamePipe) throws a ' +
|
|
27
|
+
'NullInjectorError. Replace it with kbqInjectUsernameFormatter(), which returns a ' +
|
|
28
|
+
'(profile, format?) => string bound to the KBQ_PROFILE_MAPPING visible where you call it — ' +
|
|
29
|
+
'that is the mapping kbq-username renders with, which the root singleton could never see.'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
anchor: USERNAME_TYPE,
|
|
33
|
+
pattern: 'inject\\(\\s*KbqUsernameCustomPipe\\s*\\)',
|
|
34
|
+
message: 'KbqUsernameCustomPipe is no longer providedIn: "root", so inject(KbqUsernameCustomPipe) throws ' +
|
|
35
|
+
'a NullInjectorError. Call kbqFormatUsernameCustom(profile, format, inject(KBQ_PROFILE_MAPPING)) ' +
|
|
36
|
+
'from your own injection context instead.'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
anchor: USERNAME_TYPE,
|
|
40
|
+
pattern: ':\\s*KbqUsername(?:Custom)?Pipe\\b',
|
|
41
|
+
message: 'A KbqUsernamePipe / KbqUsernameCustomPipe constructor parameter or field is resolved through DI ' +
|
|
42
|
+
'only while the class is providedIn: "root", which it no longer is. Use ' +
|
|
43
|
+
'kbqInjectUsernameFormatter() or the kbqFormatUsername / kbqFormatUsernameCustom functions; the ' +
|
|
44
|
+
'pipes themselves keep working in templates.'
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
// The only symbol of the package whose name does not start with `KbqUsername`.
|
|
48
|
+
anchor: USERNAME_PACKAGE,
|
|
49
|
+
pattern: '\\bKbqMappingMissingError\\b',
|
|
50
|
+
message: 'KbqMappingMissingError is removed. It could never be thrown — KBQ_PROFILE_MAPPING is created ' +
|
|
51
|
+
'with a factory, so the optional inject() never returned null — and both pipes now fall back to ' +
|
|
52
|
+
'the exported kbqDefaultProfileMapping.'
|
|
53
|
+
}
|
|
54
|
+
];
|
|
55
|
+
/** Printed once per project, after the per-file reports. */
|
|
56
|
+
const SUMMARY = [
|
|
57
|
+
' The shipped KBQ_PROFILE_MAPPING now maps the uppercase keys F / M / L as well, so ' +
|
|
58
|
+
'{{ user | kbqUsernameCustom }} with the library default format renders the surname instead of a ' +
|
|
59
|
+
'literal capital L. A mapping of your own that only covers f / m / l keeps working; spread ' +
|
|
60
|
+
'kbqDefaultProfileMapping to pick the uppercase keys up.',
|
|
61
|
+
' kbq-username renders the name of a profile that carries only some of the name fields. It used to ' +
|
|
62
|
+
'require both firstName and lastName, so { lastName, login } rendered the login alone and ' +
|
|
63
|
+
'{ firstName, middleName } rendered an empty element.',
|
|
64
|
+
' KbqUsernameSecondaryHint is exported by KbqUsernameModule. It was declared, documented and used by ' +
|
|
65
|
+
'the component template, but missing from the module — so inside a <kbq-username-custom-view> the ' +
|
|
66
|
+
'directive silently did not apply, and the hint rendered in the primary color.',
|
|
67
|
+
' The secondary color no longer depends on an adjacent primary sibling, so a login with no name in ' +
|
|
68
|
+
'front of it renders in the secondary color as intended.',
|
|
69
|
+
' Initials are taken by code point, so a name starting outside the BMP no longer abbreviates to a ' +
|
|
70
|
+
'lone surrogate.',
|
|
71
|
+
' The kbq-title directive is not attached in mode="text", which applies no ellipsis for it to detect.',
|
|
72
|
+
' The site hint carries a visually hidden label from the new `username.siteLabel` locale key.'
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
exports.SUMMARY = SUMMARY;
|
|
76
|
+
exports.USERNAME_PACKAGE = USERNAME_PACKAGE;
|
|
77
|
+
exports.USERNAME_TYPE = USERNAME_TYPE;
|
|
78
|
+
exports.warnPatterns = warnPatterns;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils_messages = require('../../utils/messages.cjs');
|
|
6
|
+
var utils_packageConfig = require('../../utils/package-config.cjs');
|
|
7
|
+
var utils_projectFiles = require('../../utils/project-files.cjs');
|
|
8
|
+
var migrations_usernamePipeInjection_data = require('./data.cjs');
|
|
9
|
+
require('@angular-devkit/schematics');
|
|
10
|
+
require('@schematics/angular/utility');
|
|
11
|
+
|
|
12
|
+
const LABEL = '[username-pipe-injection]';
|
|
13
|
+
const EXTENSIONS = ['.ts', '.html'];
|
|
14
|
+
/** A file is a username consumer if it imports the package, names a symbol, or renders the component. */
|
|
15
|
+
function referencesUsername(content) {
|
|
16
|
+
return content.includes(migrations_usernamePipeInjection_data.USERNAME_PACKAGE) || new RegExp(migrations_usernamePipeInjection_data.USERNAME_TYPE).test(content);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Reports the call sites that obtained `KbqUsernamePipe` / `KbqUsernameCustomPipe` through DI, which
|
|
20
|
+
* stopped resolving when the review dropped `@Injectable({ providedIn: 'root' })` from both pipes.
|
|
21
|
+
* Never writes: the replacement is a different expression and has to run in an injection context.
|
|
22
|
+
*
|
|
23
|
+
* `.html` is visited as well as `.ts` so that a project rendering `kbq-username` gets the summary of the
|
|
24
|
+
* rendering changes even when nothing injects a pipe.
|
|
25
|
+
*/
|
|
26
|
+
function usernamePipeInjection(options) {
|
|
27
|
+
return async (tree, context) => {
|
|
28
|
+
const { project } = options;
|
|
29
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
30
|
+
const root = projectDefinition?.root ?? '';
|
|
31
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
32
|
+
let consumers = 0;
|
|
33
|
+
let reported = 0;
|
|
34
|
+
utils_projectFiles.visitProjectFiles(rootDir, (filePath, entry) => {
|
|
35
|
+
if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
|
|
36
|
+
return;
|
|
37
|
+
const content = entry?.content.toString();
|
|
38
|
+
if (!content || !referencesUsername(content))
|
|
39
|
+
return;
|
|
40
|
+
consumers++;
|
|
41
|
+
for (const { anchor, pattern, message } of migrations_usernamePipeInjection_data.warnPatterns) {
|
|
42
|
+
if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
|
|
43
|
+
continue;
|
|
44
|
+
reported++;
|
|
45
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
// Nothing here renders a username, so the summary would only be noise.
|
|
49
|
+
if (consumers === 0)
|
|
50
|
+
return;
|
|
51
|
+
utils_messages.logMessage(context.logger, [
|
|
52
|
+
`${LABEL} processed kbq-username under "${root || '<workspace root>'}", ` +
|
|
53
|
+
`${consumers} file(s) reference the component, ${reported} call site(s) reported.`,
|
|
54
|
+
...migrations_usernamePipeInjection_data.SUMMARY
|
|
55
|
+
]);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
exports.default = usernamePipeInjection;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-username-pipe-injection",
|
|
4
|
+
"title": "Koobiq components username review migration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"project": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the project to inspect. If omitted, the migration runs over the whole tree.",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "projectName"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -15,11 +15,14 @@ from three ordered tables in `data.ts`:
|
|
|
15
15
|
`risk-level` → `badge`, `components-experimental/form-field` → `components/form-field`),
|
|
16
16
|
class renames (`KbqNavbarIc*` → `Kbq*`, `KbqRiskLevel*` → `KbqBadge*`,
|
|
17
17
|
`KbqWarningTooltipTrigger` / `KbqExtendedTooltipTrigger` → `KbqTooltipTrigger`,
|
|
18
|
-
`KbqDatepickerToggle` → `KbqDatepickerToggleIconComponent`, etc
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
`KbqDatepickerToggle` → `KbqDatepickerToggleIconComponent`, etc.; when the file
|
|
19
|
+
imported the new name as well, one import specifier is kept), removals of the
|
|
20
|
+
symbols that have no replacement (`KBQ_VALIDATION`, `KbqValidationOptions`,
|
|
21
|
+
`KBQ_SANITY_CHECKS`, `KBQ_SIDEPANEL_WITH_SHADOW`, `KbqCommonModule`, etc.) from
|
|
22
|
+
imports and lists such as `imports: []` and `providers: []`, function renames (`toBoolean(` → `booleanAttribute(`, `isCorrectExtension(` →
|
|
21
23
|
`FileValidators.isCorrectExtension(`, `formatDataSize(` → `getFormattedSizeParts(`),
|
|
22
|
-
method renames on instances (`.openPanel(` → `.open(
|
|
24
|
+
method renames on instances (`.openPanel(` → `.open(` in a file that uses the Koobiq autocomplete,
|
|
25
|
+
`.toggleIsCollapsed(` →
|
|
23
26
|
`.toggle(`, `.focusViaKeyboard(` → `.focus(`), and deprecated type-alias
|
|
24
27
|
renames (`DropdownPositionX` → `KbqDropdownPositionX`, `DropdownPositionY` →
|
|
25
28
|
`KbqDropdownPositionY`).
|
|
@@ -29,9 +32,12 @@ from three ordered tables in `data.ts`:
|
|
|
29
32
|
`<kbq-datepicker-toggle-icon>`, `<kbq-risk-level>` → `<kbq-badge>`,
|
|
30
33
|
`<kbq-navbar-ic>` → `<kbq-navbar>`, `[kbqWarningTooltip]` →
|
|
31
34
|
`kbqTooltipModifier="warning" [kbqTooltip]`, `kbqFormFieldWithoutBorders` →
|
|
32
|
-
`noBorders`, the deprecated `KbqCodeBlock` input attributes
|
|
33
|
-
|
|
34
|
-
`files
|
|
35
|
+
`noBorders`, the deprecated `KbqCodeBlock` input attributes on a
|
|
36
|
+
`<kbq-code-block>` that does not bind the replacement too (`canLoad` →
|
|
37
|
+
`canDownload`, `codeFiles` → `files`: bindings, static and valueless attributes),
|
|
38
|
+
the `KbqFilterBarSearch` inputs that survived the tag rename
|
|
39
|
+
(`emitValueByEnter` → `isEmitValueByEnterEnabled`, `onSearchTimeout` →
|
|
40
|
+
`emitValueTimeout`, `tooltip` → `tooltipText`), and template-ref exportAs renames
|
|
35
41
|
(`="kbqWarningTooltip"` → `="kbqTooltip"`).
|
|
36
42
|
- **`scssReplacements`** — CSS class selectors renamed at the component level.
|
|
37
43
|
|
|
@@ -40,15 +46,29 @@ from three ordered tables in `data.ts`:
|
|
|
40
46
|
Some changes require code restructuring and are surfaced as console warnings
|
|
41
47
|
without auto-fixing:
|
|
42
48
|
|
|
43
|
-
| Pattern | Manual migration
|
|
44
|
-
| ------------------------------------------------- |
|
|
45
|
-
| `(onSaveAsNew)` | Listen to `(onSave)` and branch on `$event.status === 'newFilter'`
|
|
46
|
-
| `[customValidation]` | Use `FormControl` validators (e.g. `FileValidators.isCorrectExtension`)
|
|
47
|
-
| `[errors]` (file-upload) | Use `FormControl.errors`
|
|
48
|
-
| `[apps]` (app-switcher) | Wrap in single-site `[sites]="[{ id, name, apps }]"` and read with `KbqAppSwitcherSite`
|
|
49
|
-
| `scrollableCodeContent` (code-block) | Use the `scrollTo()` method instead
|
|
50
|
-
| `.canLoad` / `.codeFiles` (code-block, TS access) | Template bindings are auto-migrated; update programmatic access to `.canDownload` / `.files` manually
|
|
51
|
-
|
|
|
49
|
+
| Pattern | Manual migration |
|
|
50
|
+
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
51
|
+
| `(onSaveAsNew)` | Listen to `(onSave)` and branch on `$event.status === 'newFilter'` |
|
|
52
|
+
| `[customValidation]` | Use `FormControl` validators (e.g. `FileValidators.isCorrectExtension`) |
|
|
53
|
+
| `[errors]` (file-upload) | Use `FormControl.errors` |
|
|
54
|
+
| `[apps]` (app-switcher) | Wrap in single-site `[sites]="[{ id, name, apps }]"` and read with `KbqAppSwitcherSite` |
|
|
55
|
+
| `scrollableCodeContent` (code-block) | Use the `scrollTo()` method instead |
|
|
56
|
+
| `.canLoad` / `.codeFiles` (code-block, TS access) | Template bindings are auto-migrated; update programmatic access to `.canDownload` / `.files` manually |
|
|
57
|
+
| alias next to its replacement (code-block) | Left untouched: merge `canLoad` + `canDownload` and `codeFiles` + `files` into one binding each |
|
|
58
|
+
| removed symbol used outside an import or a list | Left untouched (e.g. `@Inject(KBQ_VALIDATION) x: KbqValidationOptions`): remove the uses by hand |
|
|
59
|
+
| `required` (KbqFilter) | Use `cleanable = false` and `removable = false` (best-effort match — verify it is a KbqFilter config) |
|
|
60
|
+
| `[initialValue]` (filter-search) | Seed the bound `[formControl]` / `[(ngModel)]` — the component has no value input |
|
|
61
|
+
| `(onSearch)` (filter-search) | Read the query from the bound control instead |
|
|
62
|
+
| `kbq-filter-search` as an attribute | `kbq-search-expandable` is element-only — replace the host element by hand |
|
|
63
|
+
| `<kbq-filter-search>` timeout default | `onSearchTimeout` defaulted to `0`, `emitValueTimeout` to `200` — add `[emitValueTimeout]="0"` to keep |
|
|
64
|
+
|
|
65
|
+
## Behavior changes with no code pattern
|
|
66
|
+
|
|
67
|
+
Defaults that changed with no markup to rewrite, so there is nothing to match on — verify these by hand:
|
|
68
|
+
|
|
69
|
+
| Change | What to do |
|
|
70
|
+
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
71
|
+
| `kbqTooltip` panes are hoverable now: `ignoreTooltipPointerEvents` defaults to `false` instead of `true` (WCAG 1.4.13 "Content on Hover or Focus") | Add `[ignoreTooltipPointerEvents]="true"` to tooltips that float over other click targets. The built-in overflow hints (`kbq-title`, `kbqEllipsisCenter`, option and timezone hints) already opt out, and so does any tooltip whose `kbqTrigger` is `manual` or `none` |
|
|
52
72
|
|
|
53
73
|
## Running it manually
|
|
54
74
|
|