@koobiq/components 20.4.1 → 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 +486 -165
- 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 -187
- 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
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var ts = require('typescript');
|
|
6
|
+
var utils_messages = require('../../utils/messages.js');
|
|
7
|
+
var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
|
|
8
|
+
var migrations_readStateDwellHandlers_data = require('./data.js');
|
|
9
|
+
require('@angular-devkit/schematics');
|
|
10
|
+
require('@schematics/angular/utility');
|
|
11
|
+
|
|
12
|
+
const TS_EXT = '.ts';
|
|
13
|
+
const LABEL = '[read-state-dwell-handlers]';
|
|
14
|
+
/** Hand-written TypeScript: neither a declaration file nor a template type-check file. */
|
|
15
|
+
const isMigratableTs = (filePath) => filePath.endsWith(TS_EXT) && !filePath.endsWith('.d.ts') && !filePath.endsWith('.ngtypecheck.ts');
|
|
16
|
+
/** Applies text-span edits to `content`, right-to-left, so earlier edits don't shift later offsets. */
|
|
17
|
+
function applyEdits(content, edits) {
|
|
18
|
+
const sorted = [...edits].sort((a, b) => b.start - a.start || b.end - a.end);
|
|
19
|
+
let result = content;
|
|
20
|
+
for (const { start, end, text } of sorted) {
|
|
21
|
+
result = result.slice(0, start) + text + result.slice(end);
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
const isFunctionLike = (node) => ts.isFunctionDeclaration(node) ||
|
|
26
|
+
ts.isMethodDeclaration(node) ||
|
|
27
|
+
ts.isConstructorDeclaration(node) ||
|
|
28
|
+
ts.isArrowFunction(node) ||
|
|
29
|
+
ts.isFunctionExpression(node) ||
|
|
30
|
+
ts.isGetAccessorDeclaration(node) ||
|
|
31
|
+
ts.isSetAccessorDeclaration(node);
|
|
32
|
+
/**
|
|
33
|
+
* Where a `let`/`const` binding stops being visible.
|
|
34
|
+
*
|
|
35
|
+
* A local has to be scoped to its own block rather than to the enclosing function: two siblings can
|
|
36
|
+
* declare the same name, and only one of them may be the directive. Scoping to the function would
|
|
37
|
+
* rewrite calls on the other one.
|
|
38
|
+
*/
|
|
39
|
+
const isBlockLike = (node) => ts.isBlock(node) || ts.isCaseClause(node) || ts.isDefaultClause(node) || ts.isModuleBlock(node);
|
|
40
|
+
/** Walks up from `node` to the nearest ancestor matching `predicate`. */
|
|
41
|
+
function findAncestor(node, predicate) {
|
|
42
|
+
let current = node.parent;
|
|
43
|
+
while (current) {
|
|
44
|
+
if (predicate(current))
|
|
45
|
+
return current;
|
|
46
|
+
current = current.parent;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
/** Whether a type annotation refers to the directive. */
|
|
51
|
+
function isDirectiveType(type) {
|
|
52
|
+
return (!!type &&
|
|
53
|
+
ts.isTypeReferenceNode(type) &&
|
|
54
|
+
ts.isIdentifier(type.typeName) &&
|
|
55
|
+
type.typeName.text === migrations_readStateDwellHandlers_data.DIRECTIVE_TYPE);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Whether an initializer is `inject(KbqReadStateDirective, …)` or `inject<KbqReadStateDirective>(…)`.
|
|
59
|
+
* The directive has no selector, so a host reaches it through `inject()` and usually leaves the field
|
|
60
|
+
* without a type annotation.
|
|
61
|
+
*/
|
|
62
|
+
function isDirectiveInject(initializer) {
|
|
63
|
+
if (!initializer || !ts.isCallExpression(initializer))
|
|
64
|
+
return false;
|
|
65
|
+
if (!ts.isIdentifier(initializer.expression) || initializer.expression.text !== 'inject')
|
|
66
|
+
return false;
|
|
67
|
+
const [first] = initializer.arguments;
|
|
68
|
+
return ((!!first && ts.isIdentifier(first) && first.text === migrations_readStateDwellHandlers_data.DIRECTIVE_TYPE) ||
|
|
69
|
+
(initializer.typeArguments ?? []).some(isDirectiveType));
|
|
70
|
+
}
|
|
71
|
+
const FIELD_MODIFIERS = new Set([
|
|
72
|
+
ts.SyntaxKind.PrivateKeyword,
|
|
73
|
+
ts.SyntaxKind.PublicKeyword,
|
|
74
|
+
ts.SyntaxKind.ProtectedKeyword,
|
|
75
|
+
ts.SyntaxKind.ReadonlyKeyword
|
|
76
|
+
]);
|
|
77
|
+
/**
|
|
78
|
+
* Collects the receivers whose static type is the directive, by explicit annotation or by an
|
|
79
|
+
* `inject()` initializer (no cross-package type resolution): method/function params, class fields
|
|
80
|
+
* (incl. constructor parameter-properties) and typed locals.
|
|
81
|
+
*/
|
|
82
|
+
function collectReceivers(sourceFile) {
|
|
83
|
+
const receivers = [];
|
|
84
|
+
const add = (text, scope) => receivers.push({ text, start: scope.getStart(sourceFile), end: scope.getEnd() });
|
|
85
|
+
const visit = (node) => {
|
|
86
|
+
if (ts.isParameter(node) && ts.isIdentifier(node.name) && isDirectiveType(node.type)) {
|
|
87
|
+
add(node.name.text, findAncestor(node, isFunctionLike) ?? sourceFile);
|
|
88
|
+
// A constructor parameter-property is also a class field, reachable as `this.<name>`.
|
|
89
|
+
if (node.modifiers?.some((modifier) => FIELD_MODIFIERS.has(modifier.kind))) {
|
|
90
|
+
const owner = findAncestor(node, ts.isClassDeclaration);
|
|
91
|
+
if (owner)
|
|
92
|
+
add(`this.${node.name.text}`, owner);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else if (ts.isPropertyDeclaration(node) &&
|
|
96
|
+
ts.isIdentifier(node.name) &&
|
|
97
|
+
(isDirectiveType(node.type) || isDirectiveInject(node.initializer))) {
|
|
98
|
+
const owner = findAncestor(node, ts.isClassDeclaration);
|
|
99
|
+
if (owner)
|
|
100
|
+
add(`this.${node.name.text}`, owner);
|
|
101
|
+
}
|
|
102
|
+
else if (ts.isVariableDeclaration(node) &&
|
|
103
|
+
ts.isIdentifier(node.name) &&
|
|
104
|
+
(isDirectiveType(node.type) || isDirectiveInject(node.initializer))) {
|
|
105
|
+
add(node.name.text, findAncestor(node, isBlockLike) ?? sourceFile);
|
|
106
|
+
}
|
|
107
|
+
node.forEachChild(visit);
|
|
108
|
+
};
|
|
109
|
+
visit(sourceFile);
|
|
110
|
+
return receivers;
|
|
111
|
+
}
|
|
112
|
+
/** Whether a property access on a receiver is within one of the receiver's scopes. */
|
|
113
|
+
function inReceiverScope(node, sourceFile, receivers) {
|
|
114
|
+
const receiverText = node.expression.getText(sourceFile);
|
|
115
|
+
const start = node.getStart(sourceFile);
|
|
116
|
+
const end = node.getEnd();
|
|
117
|
+
return receivers.some((r) => r.text === receiverText && start >= r.start && end <= r.end);
|
|
118
|
+
}
|
|
119
|
+
/** Walks every property access made on a known directive receiver. */
|
|
120
|
+
function forEachReceiverAccess(sourceFile, receivers, visitor) {
|
|
121
|
+
const visit = (node) => {
|
|
122
|
+
if (ts.isPropertyAccessExpression(node) &&
|
|
123
|
+
ts.isIdentifier(node.name) &&
|
|
124
|
+
inReceiverScope(node, sourceFile, receivers)) {
|
|
125
|
+
visitor(node, node.name.text);
|
|
126
|
+
}
|
|
127
|
+
node.forEachChild(visit);
|
|
128
|
+
};
|
|
129
|
+
visit(sourceFile);
|
|
130
|
+
}
|
|
131
|
+
function parse(content, fileName) {
|
|
132
|
+
return ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
133
|
+
}
|
|
134
|
+
/** Rewrites the renamed handlers on every receiver typed as the directive. */
|
|
135
|
+
function migrateTs(content, fileName) {
|
|
136
|
+
const sourceFile = parse(content, fileName);
|
|
137
|
+
const receivers = collectReceivers(sourceFile);
|
|
138
|
+
if (receivers.length === 0)
|
|
139
|
+
return content;
|
|
140
|
+
const edits = [];
|
|
141
|
+
forEachReceiverAccess(sourceFile, receivers, (node, name) => {
|
|
142
|
+
const renamed = migrations_readStateDwellHandlers_data.RENAMES.get(name);
|
|
143
|
+
if (renamed) {
|
|
144
|
+
edits.push({ start: node.name.getStart(sourceFile), end: node.name.getEnd(), text: renamed });
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
return edits.length > 0 ? applyEdits(content, edits) : content;
|
|
148
|
+
}
|
|
149
|
+
/** Reports the members that changed shape rather than name. */
|
|
150
|
+
function warnReceiverMembers(context, filePath, content) {
|
|
151
|
+
const sourceFile = parse(content, filePath);
|
|
152
|
+
const receivers = collectReceivers(sourceFile);
|
|
153
|
+
if (receivers.length === 0)
|
|
154
|
+
return;
|
|
155
|
+
let found = false;
|
|
156
|
+
forEachReceiverAccess(sourceFile, receivers, (_node, name) => {
|
|
157
|
+
if (migrations_readStateDwellHandlers_data.WARN_MEMBERS.includes(name))
|
|
158
|
+
found = true;
|
|
159
|
+
});
|
|
160
|
+
if (found) {
|
|
161
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_readStateDwellHandlers_data.TIMESTAMP_MESSAGE}`]);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
function logWarnings(context, filePath, content) {
|
|
165
|
+
for (const { pattern, message } of migrations_readStateDwellHandlers_data.warnPatterns) {
|
|
166
|
+
if (new RegExp(pattern).test(content)) {
|
|
167
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function readStateDwellHandlers(options) {
|
|
172
|
+
return async (tree, context) => {
|
|
173
|
+
const { project } = options;
|
|
174
|
+
// `ng update` invokes migrations with no options at all, and migrations.json declares no
|
|
175
|
+
// schema, so the schema default never reaches us — applying the fix is the intended behaviour
|
|
176
|
+
// there.
|
|
177
|
+
const fix = options.fix ?? true;
|
|
178
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
179
|
+
const root = projectDefinition?.root ?? '';
|
|
180
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
181
|
+
const filePaths = [];
|
|
182
|
+
utils_packageConfig.visitProjectFiles(rootDir, (filePath) => {
|
|
183
|
+
// Declarations carry no call sites and `.ngtypecheck.ts` is regenerated on every build, so
|
|
184
|
+
// neither can hold a call worth rewriting — and an edit to either would be noise at best.
|
|
185
|
+
if (isMigratableTs(filePath))
|
|
186
|
+
filePaths.push(filePath);
|
|
187
|
+
});
|
|
188
|
+
let touched = 0;
|
|
189
|
+
for (const filePath of filePaths) {
|
|
190
|
+
const original = tree.read(filePath)?.toString();
|
|
191
|
+
// The directive has no selector — it is reachable through `hostDirectives` and `inject()`
|
|
192
|
+
// only, so a consumer always names it.
|
|
193
|
+
if (!original || !original.includes(migrations_readStateDwellHandlers_data.DIRECTIVE_TYPE))
|
|
194
|
+
continue;
|
|
195
|
+
logWarnings(context, filePath, original);
|
|
196
|
+
warnReceiverMembers(context, filePath, original);
|
|
197
|
+
const content = migrateTs(original, filePath);
|
|
198
|
+
if (content === original)
|
|
199
|
+
continue;
|
|
200
|
+
touched++;
|
|
201
|
+
if (fix) {
|
|
202
|
+
tree.overwrite(filePath, content);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
utils_messages.logMessage(context.logger, [
|
|
209
|
+
`${LABEL} processed tree under "${root || '<workspace root>'}", ` +
|
|
210
|
+
`${fix ? 'updated' : 'would update'} ${touched} file(s).`
|
|
211
|
+
]);
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
exports.default = readStateDwellHandlers;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-read-state-dwell-handlers",
|
|
4
|
+
"title": "Koobiq components read-state dwell handler rename",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"project": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the project to migrate. If omitted, the migration runs over the whole tree.",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "projectName"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"fix": {
|
|
15
|
+
"type": "boolean",
|
|
16
|
+
"default": true,
|
|
17
|
+
"description": "When true, applies all auto-fix replacements. When false, prints what would change without writing."
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# scrollbar-deprecated-path
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21`
|
|
4
|
+
(registered for `21.0.0-0`). Rewrites `@koobiq/components/scrollbar` imports to
|
|
5
|
+
`@koobiq/components/scrollbar/deprecated`.
|
|
6
|
+
|
|
7
|
+
## Background
|
|
8
|
+
|
|
9
|
+
`@koobiq/components/scrollbar` now resolves to a new, dependency-free scrollbar built on
|
|
10
|
+
`CdkScrollable`. The previous implementation — the `overlayscrollbars`-based `KbqScrollbar`
|
|
11
|
+
component together with `KbqScrollbarDirective` — moved to
|
|
12
|
+
`@koobiq/components/scrollbar/deprecated` and will be removed in 22.0.0.
|
|
13
|
+
|
|
14
|
+
Nothing about that implementation changed: `initializationTarget`, `options`, `events`, `defer`,
|
|
15
|
+
`scrollbarInstance`, the `onInitialize` / `onUpdate` / `onDestroy` / `onScroll` outputs and the
|
|
16
|
+
`kbq-scrollbar` element selector all behave exactly as before at the new path. Rewriting the
|
|
17
|
+
import is the whole migration — adopting the new scrollbar is a separate, manual step.
|
|
18
|
+
|
|
19
|
+
## Behaviour change
|
|
20
|
+
|
|
21
|
+
The two entry points share only two exported names, so most unmigrated imports break loudly:
|
|
22
|
+
`KbqScrollbarModule`, `KbqScrollbarDirective`, `KBQ_SCROLLBAR_CONFIG`,
|
|
23
|
+
`KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG`, `KBQ_SCROLLBAR_OPTIONS_DEFAULT_CONFIG_PROVIDER`,
|
|
24
|
+
`KbqScrollbarEvents`, `KbqScrollbarEventListenerArgs` and `KbqScrollbarTarget` live at the
|
|
25
|
+
`/deprecated` path only, so the build stops with `TS2305: … has no exported member`.
|
|
26
|
+
|
|
27
|
+
`KbqScrollbar` and `KbqScrollbarOptions` are the silent pair — both names exist at both paths:
|
|
28
|
+
|
|
29
|
+
- `KbqScrollbar` keeps the `kbq-scrollbar` selector and `exportAs: 'kbqScrollbar'`, so a template
|
|
30
|
+
that only renders `<kbq-scrollbar>` keeps compiling and keeps rendering — with the new
|
|
31
|
+
component, which has a different set of inputs. The `[kbq-scrollbar]` attribute form of the
|
|
32
|
+
selector is gone as well, so a host marked that way quietly matches nothing.
|
|
33
|
+
- `KbqScrollbarOptions` is now `{ mode: KbqScrollbarMode }` instead of the `overlayscrollbars`
|
|
34
|
+
`PartialOptions`.
|
|
35
|
+
|
|
36
|
+
## What it does
|
|
37
|
+
|
|
38
|
+
The schematic walks every `.ts` file under the project root — the whole workspace when `--project`
|
|
39
|
+
is omitted, which is how `ng update` invokes it — skipping `node_modules` and `dist`, and rewrites
|
|
40
|
+
the module specifier `@koobiq/components/scrollbar` to `@koobiq/components/scrollbar/deprecated`.
|
|
41
|
+
|
|
42
|
+
The match is quote-anchored (`(['"])@koobiq/components/scrollbar\1`), so only the exact, bare
|
|
43
|
+
specifier is taken, in the quote style it was written in:
|
|
44
|
+
|
|
45
|
+
| Specifier | Result |
|
|
46
|
+
| ------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
47
|
+
| `'@koobiq/components/scrollbar'` | rewritten, still single-quoted |
|
|
48
|
+
| `"@koobiq/components/scrollbar"` | rewritten, still double-quoted |
|
|
49
|
+
| `'@koobiq/components/scrollbar/deprecated'` | untouched — the migration is idempotent |
|
|
50
|
+
| `'@koobiq/components/scrollbar-x'` (hypothetical) | untouched — the closing quote is required, so a longer specifier is not a prefix match |
|
|
51
|
+
|
|
52
|
+
It is a textual replacement rather than an AST rewrite, so an `import`, an `export … from`, a
|
|
53
|
+
dynamic `import()` and a specifier handed to something like `jest.mock()` are all covered by the
|
|
54
|
+
same pass.
|
|
55
|
+
|
|
56
|
+
## What it does _not_ do (manual)
|
|
57
|
+
|
|
58
|
+
| Pattern | Manual migration |
|
|
59
|
+
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
60
|
+
| A specifier outside a `.ts` file | Only `.ts` files are visited — the same string in a JSON config or a documentation snippet stays as written |
|
|
61
|
+
| `overlayscrollbars` in `package.json` | The `/deprecated` entry point still imports it. Adding it as a dependency is the `mandatory-peer-dependencies` migration's job |
|
|
62
|
+
| Moving off `/deprecated` | Nothing is migrated _to_ the new scrollbar: `options` / `events` / `defer` are replaced by `kbqScrollbarMode`, and the `overlayscrollbars` instance by the `scrollTo*` methods and `scrollChanges` |
|
|
63
|
+
|
|
64
|
+
`fix` defaults to `true`. `ng update` invokes migrations with no options at all, and
|
|
65
|
+
`migrations.json` declares no schema, so the rule applies that default itself. With `--fix false`
|
|
66
|
+
every file that would change is logged instead of written, followed by the same count either way.
|
|
67
|
+
|
|
68
|
+
[Params](schema.ts)
|
|
69
|
+
|
|
70
|
+
Usage for Angular Cli:
|
|
71
|
+
|
|
72
|
+
```shell
|
|
73
|
+
ng g @koobiq/components:scrollbar-deprecated-path --project "<your project>"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Usage for Nx:
|
|
77
|
+
|
|
78
|
+
```shell
|
|
79
|
+
nx g @koobiq/components:scrollbar-deprecated-path --project "<your project>"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Run locally
|
|
83
|
+
|
|
84
|
+
Build package
|
|
85
|
+
|
|
86
|
+
```shell
|
|
87
|
+
yarn run build:schematics
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Run command (for example, for `koobiq-docs` project)
|
|
91
|
+
|
|
92
|
+
```shell
|
|
93
|
+
ng g ./dist/components/schematics/collection.json:scrollbar-deprecated-path --project koobiq-docs
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Result
|
|
97
|
+
|
|
98
|
+
#### Before
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
import { Component } from '@angular/core';
|
|
102
|
+
import { KbqScrollbarModule } from '@koobiq/components/scrollbar';
|
|
103
|
+
|
|
104
|
+
@Component({
|
|
105
|
+
selector: 'my-page',
|
|
106
|
+
imports: [KbqScrollbarModule],
|
|
107
|
+
template: `
|
|
108
|
+
<kbq-scrollbar [options]="{ scrollbars: { autoHide: 'never' } }">...</kbq-scrollbar>
|
|
109
|
+
`
|
|
110
|
+
})
|
|
111
|
+
export class MyPage {}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
#### After
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
import { Component } from '@angular/core';
|
|
118
|
+
import { KbqScrollbarModule } from '@koobiq/components/scrollbar/deprecated';
|
|
119
|
+
|
|
120
|
+
@Component({
|
|
121
|
+
selector: 'my-page',
|
|
122
|
+
imports: [KbqScrollbarModule],
|
|
123
|
+
template: `
|
|
124
|
+
<kbq-scrollbar [options]="{ scrollbars: { autoHide: 'never' } }">...</kbq-scrollbar>
|
|
125
|
+
`
|
|
126
|
+
})
|
|
127
|
+
export class MyPage {}
|
|
128
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils_deprecatedPathMigration = require('../../utils/deprecated-path-migration.js');
|
|
6
|
+
require('../../utils/messages.js');
|
|
7
|
+
require('../../package-config-BhU2TfC8.js');
|
|
8
|
+
require('@angular-devkit/schematics');
|
|
9
|
+
require('@schematics/angular/utility');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* `@koobiq/components/scrollbar` now resolves to the new, dependency-free directive —
|
|
13
|
+
* the `overlayscrollbars`-based component/directive it used to export moved to
|
|
14
|
+
* `@koobiq/components/scrollbar/deprecated`. This rewrites the import specifier only;
|
|
15
|
+
* the API itself (`options`/`events`/`defer`/`scrollbarInstance`, the `kbq-scrollbar`
|
|
16
|
+
* element selector) is unchanged at its new path.
|
|
17
|
+
*/
|
|
18
|
+
var index = utils_deprecatedPathMigration.deprecatedPathMigration('scrollbar');
|
|
19
|
+
|
|
20
|
+
exports.default = index;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-scrollbar-deprecated-path",
|
|
4
|
+
"title": "Koobiq components scrollbar deprecated-path rewrite",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"project": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the project to migrate. If omitted, the migration runs over the whole tree.",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "projectName"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"fix": {
|
|
15
|
+
"type": "boolean",
|
|
16
|
+
"default": true,
|
|
17
|
+
"description": "When true, applies all auto-fix replacements. When false, prints what would change without writing."
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# select-signal-inputs
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21`
|
|
4
|
+
(registered for `21.0.0-0`). Reports the `KbqSelect` members that became signal inputs or stopped
|
|
5
|
+
being public in the select review. It never writes to the tree. `KbqTimezoneSelect` extends `KbqSelect`,
|
|
6
|
+
so a file that names only the timezone select is reported as well.
|
|
7
|
+
|
|
8
|
+
## Background
|
|
9
|
+
|
|
10
|
+
The trigger-label surface moved to signal inputs, and the overlay plumbing was closed:
|
|
11
|
+
|
|
12
|
+
| Member | Before | After |
|
|
13
|
+
| --------------------------------------------------------- | ---------------------------------- | --------------------------------------- |
|
|
14
|
+
| `hiddenItemsText` | accessor pair | `InputSignal<string \| undefined>` |
|
|
15
|
+
| `hiddenItemsTextFormatter` | overridable method | input holding the function |
|
|
16
|
+
| `overlayDir` | public | `protected` |
|
|
17
|
+
| `triggerRect` | public | `protected` |
|
|
18
|
+
| `onRemoveMatcherItem` | `$event: any` | `$event: Event` |
|
|
19
|
+
| `selectEvents` | exported from `core/select/events` | removed together with the module |
|
|
20
|
+
| `hasBackdrop`, `compareWith`, `searchMinOptionsThreshold` | inputs | signals |
|
|
21
|
+
| `multiple`, `tabIndex`, `selectAllHandler` | inputs | signal inputs, still read as properties |
|
|
22
|
+
|
|
23
|
+
The template surface is untouched — every input kept its alias, so `[hiddenItemsText]` and
|
|
24
|
+
`[hiddenItemsTextFormatter]` bind exactly as before. Only programmatic access changed.
|
|
25
|
+
|
|
26
|
+
`selectEvents` was one constant whose value equalled its own name, read by nothing.
|
|
27
|
+
|
|
28
|
+
## What it does _not_ do
|
|
29
|
+
|
|
30
|
+
Nothing is rewritten. A read of a signal input becomes a call, a write becomes a template binding,
|
|
31
|
+
and which of the two a call site wants cannot be derived from the expression.
|
|
32
|
+
|
|
33
|
+
| Pattern | Manual migration |
|
|
34
|
+
| -------------------------------------------------------------- | ---------------------------------------------------------------------------- |
|
|
35
|
+
| `.hiddenItemsText = …` | Bind `[hiddenItemsText]` — an `input()` has no `.set()` |
|
|
36
|
+
| `.hiddenItemsText` | Read it as `hiddenItemsText()`; it reports `string \| undefined` |
|
|
37
|
+
| `.hiddenItemsTextFormatter` | `hiddenItemsTextFormatter()(template, count)`; an override becomes a binding |
|
|
38
|
+
| `.overlayDir` / `.triggerRect` | Protected; use the open/close API and the panel inputs |
|
|
39
|
+
| `selectEvents` | Delete the import |
|
|
40
|
+
| `.hasBackdrop` / `.compareWith` / `.searchMinOptionsThreshold` | Read them as calls: `compareWith()(a, b)` |
|
|
41
|
+
| `.multiple = …` and the other signal inputs | Bind them in the template |
|
|
42
|
+
|
|
43
|
+
## Notes with no call site to point at
|
|
44
|
+
|
|
45
|
+
- Multiple mode orders the selection by the panel. `sortValues()` was documented as sorting by panel
|
|
46
|
+
order, but its default comparator was `a.value - b.value`: `NaN` on string values, which a sort
|
|
47
|
+
treats as "equal" and so leaves the arrival order in place, and plain numeric order otherwise. The
|
|
48
|
+
default is the option's index in the panel now, with an unrendered value — a `KbqVirtualOption`
|
|
49
|
+
under virtual scroll, or `showPreselectedValues` — sorting last. It is visible in the emitted form
|
|
50
|
+
value, the trigger tags, and the option highlighted on open. `[sortComparator]` still wins:
|
|
51
|
+
`(a, b) => a.value - b.value` restores the old numeric order, `() => 0` the old arrival order.
|
|
52
|
+
- The locale subscription created in the constructor had no teardown, and a root-provided singleton
|
|
53
|
+
held every created-then-destroyed select for the lifetime of the app. That is fixed.
|
|
54
|
+
- The select carries combobox/listbox/option ARIA now, and the tag-remove control is keyboard
|
|
55
|
+
operable, so hand-rolled `role` or `aria-*` attributes on the host are duplicates.
|
|
56
|
+
|
|
57
|
+
## Running it manually
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
ng generate @koobiq/components:select-signal-inputs --project my-app
|
|
61
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Data for the `select-signal-inputs` migration.
|
|
5
|
+
*
|
|
6
|
+
* The select review moved the trigger-label surface to signal inputs and closed the overlay
|
|
7
|
+
* internals:
|
|
8
|
+
*
|
|
9
|
+
* - `hiddenItemsText` — accessor pair → `InputSignal<string | undefined>`.
|
|
10
|
+
* - `hiddenItemsTextFormatter` — a method a subclass could override → an input holding the function.
|
|
11
|
+
* - `overlayDir`, `triggerRect` — public → `protected`.
|
|
12
|
+
* - `onRemoveMatcherItem(option, $event)` — the event parameter is `Event` instead of `any`.
|
|
13
|
+
* - `selectEvents`, and the whole `core/select/events.ts` it lived in, are gone. The module held one
|
|
14
|
+
* constant whose value equalled its own name and nothing read it.
|
|
15
|
+
*
|
|
16
|
+
* The template surface is untouched: every input keeps its alias, so `[hiddenItemsText]` and
|
|
17
|
+
* `[hiddenItemsTextFormatter]` bind exactly as before. Only programmatic access changed.
|
|
18
|
+
*
|
|
19
|
+
* Warn-only. A read of a signal input becomes a call, a write becomes the binding, and which of the
|
|
20
|
+
* two a call site wants cannot be derived from the expression.
|
|
21
|
+
*/
|
|
22
|
+
/** Import specifiers that mark a file as a select consumer. */
|
|
23
|
+
const SELECT_PACKAGE = '@koobiq/components/select';
|
|
24
|
+
/**
|
|
25
|
+
* Identifier and attribute shapes that mark a consumer without an import: the select and the timezone select,
|
|
26
|
+
* which extends it and inherits every member reported here. `selectEvents` is in the list because it was exported
|
|
27
|
+
* from `@koobiq/components/core`, so a file importing it need not name the select at all — and that file is
|
|
28
|
+
* exactly the one whose import no longer resolves.
|
|
29
|
+
*/
|
|
30
|
+
const SELECT_TYPE = '\\bKbq(?:Timezone)?Select\\w*\\b|\\bkbq-(?:timezone-)?select\\b|\\bselectEvents\\b';
|
|
31
|
+
const warnPatterns = [
|
|
32
|
+
{
|
|
33
|
+
anchor: SELECT_TYPE,
|
|
34
|
+
pattern: '\\.\\s*hiddenItemsText\\s*=(?!=)',
|
|
35
|
+
message: 'KbqSelect.hiddenItemsText is an InputSignal — an input() has no .set(), so the assignment no ' +
|
|
36
|
+
'longer compiles. Bind [hiddenItemsText] in the template instead. The alias is unchanged, so an ' +
|
|
37
|
+
'existing binding needs nothing.'
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
anchor: SELECT_TYPE,
|
|
41
|
+
pattern: '\\.\\s*hiddenItemsText\\b(?!\\s*[=(])',
|
|
42
|
+
message: 'KbqSelect.hiddenItemsText is an InputSignal: read it as `hiddenItemsText()`. Note it reports ' +
|
|
43
|
+
'`string | undefined` — the locale default is applied where the label is built, not in the input.'
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
anchor: SELECT_TYPE,
|
|
47
|
+
pattern: '\\.\\s*hiddenItemsTextFormatter\\b',
|
|
48
|
+
message: 'KbqSelect.hiddenItemsTextFormatter is an input holding the function, not a method. Call it as ' +
|
|
49
|
+
'`hiddenItemsTextFormatter()(template, count)`, and replace an override in a subclass with a ' +
|
|
50
|
+
'[hiddenItemsTextFormatter] binding.'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
anchor: SELECT_TYPE,
|
|
54
|
+
pattern: '\\.\\s*(?:overlayDir|triggerRect)\\b',
|
|
55
|
+
message: 'KbqSelect.overlayDir and KbqSelect.triggerRect are protected. They are the overlay plumbing; ' +
|
|
56
|
+
'the supported surface is the open/close API and the panel inputs.'
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
anchor: '\\bselectEvents\\b|core/select/events',
|
|
60
|
+
pattern: '\\bselectEvents\\b|core/select/events',
|
|
61
|
+
message: 'selectEvents and the core/select/events module were removed. The module exported one constant ' +
|
|
62
|
+
"whose value equalled its own name ('selectEvents') and nothing read it — delete the import."
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
anchor: SELECT_TYPE,
|
|
66
|
+
pattern: '\\.\\s*(?:hasBackdrop|compareWith|searchMinOptionsThreshold)\\b(?!\\s*[=(])',
|
|
67
|
+
message: 'KbqSelect.hasBackdrop, .compareWith and .searchMinOptionsThreshold are signals now: read them as ' +
|
|
68
|
+
'calls, e.g. `compareWith()(a, b)`. searchMinOptionsThreshold() still reports the resolved number.'
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
anchor: SELECT_TYPE,
|
|
72
|
+
pattern: '\\.\\s*(?:hasBackdrop|compareWith|searchMinOptionsThreshold|multiple|tabIndex|selectAllHandler)\\s*=(?!=)',
|
|
73
|
+
message: 'hasBackdrop, compareWith, searchMinOptionsThreshold, multiple, tabIndex and selectAllHandler of ' +
|
|
74
|
+
'KbqSelect are signal inputs, so an assignment no longer compiles. Bind them in the template; ' +
|
|
75
|
+
'multiple, tabIndex and selectAllHandler are still read as properties. This pattern also matches a ' +
|
|
76
|
+
'write to an unrelated object in the same file — check before changing it.'
|
|
77
|
+
}
|
|
78
|
+
];
|
|
79
|
+
/** Printed once per project, after the per-file reports. */
|
|
80
|
+
const SUMMARY = [
|
|
81
|
+
' Multiple mode orders the selection by the panel now. sortValues() was documented as sorting by ' +
|
|
82
|
+
'panel order, but its default comparator was `a.value - b.value` — NaN on string values, which a ' +
|
|
83
|
+
'sort treats as "equal" and so leaves the arrival order in place, and plain numeric order ' +
|
|
84
|
+
'otherwise. The default is the option index in the panel now, and a value with no rendered option ' +
|
|
85
|
+
'(a KbqVirtualOption under virtual scroll, or showPreselectedValues) sorts last. The order is ' +
|
|
86
|
+
'visible in the emitted form value, the trigger tags and the option highlighted on open. A host ' +
|
|
87
|
+
'that re-sorted the emitted value into panel order itself can drop that; to keep another order, ' +
|
|
88
|
+
'bind [sortComparator] — `(a, b) => a.value - b.value` restores the old numeric order, `() => 0` ' +
|
|
89
|
+
'the old arrival order.',
|
|
90
|
+
' KbqSelect no longer leaks: the locale subscription created in the constructor had no teardown, and ' +
|
|
91
|
+
'a root-provided singleton held every created-then-destroyed select for the lifetime of the app.',
|
|
92
|
+
' The select finally carries combobox/listbox/option ARIA and a keyboard-operable tag-remove ' +
|
|
93
|
+
'control, so hand-rolled role or aria-* attributes on the host are now duplicates.'
|
|
94
|
+
];
|
|
95
|
+
|
|
96
|
+
exports.SELECT_PACKAGE = SELECT_PACKAGE;
|
|
97
|
+
exports.SELECT_TYPE = SELECT_TYPE;
|
|
98
|
+
exports.SUMMARY = SUMMARY;
|
|
99
|
+
exports.warnPatterns = warnPatterns;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils_messages = require('../../utils/messages.js');
|
|
6
|
+
var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
|
|
7
|
+
var migrations_selectSignalInputs_data = require('./data.js');
|
|
8
|
+
require('@angular-devkit/schematics');
|
|
9
|
+
require('@schematics/angular/utility');
|
|
10
|
+
|
|
11
|
+
const LABEL = '[select-signal-inputs]';
|
|
12
|
+
const EXTENSIONS = ['.ts'];
|
|
13
|
+
/** A file is a select consumer if it imports the package or names the component. */
|
|
14
|
+
function referencesSelect(content) {
|
|
15
|
+
return content.includes(migrations_selectSignalInputs_data.SELECT_PACKAGE) || new RegExp(migrations_selectSignalInputs_data.SELECT_TYPE).test(content);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Reports the `KbqSelect` members that became signal inputs or stopped being public. Never writes:
|
|
19
|
+
* a read of a signal input becomes a call and a write becomes a binding, and which of the two a call
|
|
20
|
+
* site wants cannot be derived from the expression.
|
|
21
|
+
*
|
|
22
|
+
* Only `.ts` is visited — every input kept its alias, so no template needs migrating.
|
|
23
|
+
*/
|
|
24
|
+
function selectSignalInputs(options) {
|
|
25
|
+
return async (tree, context) => {
|
|
26
|
+
const { project } = options;
|
|
27
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
28
|
+
const root = projectDefinition?.root ?? '';
|
|
29
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
30
|
+
let consumers = 0;
|
|
31
|
+
let reported = 0;
|
|
32
|
+
utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
|
|
33
|
+
if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
|
|
34
|
+
return;
|
|
35
|
+
const content = entry?.content.toString();
|
|
36
|
+
if (!content || !referencesSelect(content))
|
|
37
|
+
return;
|
|
38
|
+
consumers++;
|
|
39
|
+
for (const { anchor, pattern, message } of migrations_selectSignalInputs_data.warnPatterns) {
|
|
40
|
+
if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
|
|
41
|
+
continue;
|
|
42
|
+
reported++;
|
|
43
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
// Nothing here renders a select, so the summary would only be noise.
|
|
47
|
+
if (consumers === 0)
|
|
48
|
+
return;
|
|
49
|
+
utils_messages.logMessage(context.logger, [
|
|
50
|
+
`${LABEL} processed kbq-select under "${root || '<workspace root>'}", ` +
|
|
51
|
+
`${consumers} file(s) reference the select, ${reported} call site(s) reported.`,
|
|
52
|
+
...migrations_selectSignalInputs_data.SUMMARY
|
|
53
|
+
]);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
exports.default = selectSignalInputs;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-select-signal-inputs",
|
|
4
|
+
"title": "Koobiq components select 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
|
+
}
|