@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,293 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var ts = require('typescript');
|
|
6
|
+
var utils_messages = require('../../utils/messages.cjs');
|
|
7
|
+
var utils_packageConfig = require('../../utils/package-config.cjs');
|
|
8
|
+
var utils_projectFiles = require('../../utils/project-files.cjs');
|
|
9
|
+
var migrations_inputNumberSurface_data = require('./data.cjs');
|
|
10
|
+
require('@angular-devkit/schematics');
|
|
11
|
+
require('@schematics/angular/utility');
|
|
12
|
+
|
|
13
|
+
const LABEL = '[input-number-surface]';
|
|
14
|
+
const EXTENSIONS = ['.ts', '.html'];
|
|
15
|
+
const TS_EXT = '.ts';
|
|
16
|
+
/** A file is an input consumer if it imports the package or names one of the directives. */
|
|
17
|
+
function referencesInput(content) {
|
|
18
|
+
return (content.includes(migrations_inputNumberSurface_data.INPUT_PACKAGE) ||
|
|
19
|
+
new RegExp(migrations_inputNumberSurface_data.INPUT_TYPE).test(content) ||
|
|
20
|
+
new RegExp(migrations_inputNumberSurface_data.PASSWORD_TYPE).test(content));
|
|
21
|
+
}
|
|
22
|
+
const createSourceFile = (fileName, content) => ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
23
|
+
/**
|
|
24
|
+
* Identifiers in the file explicitly typed as `typeName` — through a type annotation, or a
|
|
25
|
+
* `viewChild(<typeName>)` / `viewChild.required(<typeName>)` initializer.
|
|
26
|
+
*
|
|
27
|
+
* Used for two opposite purposes. For `KbqInput` it suppresses a false positive: a member access on one
|
|
28
|
+
* of these can never be the `KbqFormFieldControl` surface this migration warns about, because `KbqInput`
|
|
29
|
+
* still owns it. For `KbqNumberInput` it is what scopes the signal-read rewrite, since `min`/`max`/`step`
|
|
30
|
+
* are far too common to match on the member name alone.
|
|
31
|
+
*
|
|
32
|
+
* Only this file's annotations are consulted — there is no cross-package type resolution — so a receiver
|
|
33
|
+
* whose type is inferred rather than written down is left alone.
|
|
34
|
+
*/
|
|
35
|
+
function collectTypedNames(sourceFile, typeName) {
|
|
36
|
+
const names = new Set();
|
|
37
|
+
const isKbqInputTypeNode = (node) => !!node && ts.isTypeReferenceNode(node) && node.typeName.getText(sourceFile) === typeName;
|
|
38
|
+
const referencesKbqInput = (call) => call.arguments.some((argument) => ts.isIdentifier(argument) && argument.text === typeName);
|
|
39
|
+
const visit = (node) => {
|
|
40
|
+
if ((ts.isPropertyDeclaration(node) || ts.isVariableDeclaration(node) || ts.isParameter(node)) &&
|
|
41
|
+
ts.isIdentifier(node.name) &&
|
|
42
|
+
isKbqInputTypeNode(node.type)) {
|
|
43
|
+
names.add(node.name.text);
|
|
44
|
+
}
|
|
45
|
+
if (ts.isCallExpression(node) &&
|
|
46
|
+
/^viewChild(\.required)?$/.test(node.expression.getText(sourceFile)) &&
|
|
47
|
+
referencesKbqInput(node)) {
|
|
48
|
+
const owner = node.parent;
|
|
49
|
+
if ((ts.isPropertyDeclaration(owner) || ts.isVariableDeclaration(owner)) && ts.isIdentifier(owner.name)) {
|
|
50
|
+
names.add(owner.name.text);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
ts.forEachChild(node, visit);
|
|
54
|
+
};
|
|
55
|
+
ts.forEachChild(sourceFile, visit);
|
|
56
|
+
return names;
|
|
57
|
+
}
|
|
58
|
+
/** The receiver name (capture group 1) of every `FORM_FIELD_CONTROL_MEMBER_PATTERN` match in `content`. */
|
|
59
|
+
function collectFormFieldControlReceivers(content) {
|
|
60
|
+
const regex = new RegExp(migrations_inputNumberSurface_data.FORM_FIELD_CONTROL_MEMBER_PATTERN.pattern, 'g');
|
|
61
|
+
const receivers = [];
|
|
62
|
+
let match;
|
|
63
|
+
while ((match = regex.exec(content))) {
|
|
64
|
+
receivers.push(match[1]);
|
|
65
|
+
}
|
|
66
|
+
return receivers;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Whether `content` reads a removed `KbqFormFieldControl` member off something other than a provably
|
|
70
|
+
* `KbqInput`-typed reference. `KbqInput` keeps every one of these members, so a match whose receiver
|
|
71
|
+
* resolves to a `KbqInput`-typed identifier is a false positive, not a call site the rename broke.
|
|
72
|
+
* `.html` templates fall back to the plain existence check: a template-reference receiver (`#ref="kbqInput"`)
|
|
73
|
+
* is not resolved here.
|
|
74
|
+
*/
|
|
75
|
+
function reportsFormFieldControlMember(filePath, content) {
|
|
76
|
+
const receivers = collectFormFieldControlReceivers(content);
|
|
77
|
+
if (receivers.length === 0)
|
|
78
|
+
return false;
|
|
79
|
+
if (!filePath.endsWith(TS_EXT))
|
|
80
|
+
return true;
|
|
81
|
+
const kbqInputTypedNames = collectTypedNames(createSourceFile(filePath, content), 'KbqInput');
|
|
82
|
+
return receivers.some((receiver) => !kbqInputTypedNames.has(receiver));
|
|
83
|
+
}
|
|
84
|
+
/** Applies text-span edits to `content`, right-to-left, so earlier edits don't shift later offsets. */
|
|
85
|
+
function applyEdits(content, edits) {
|
|
86
|
+
return [...edits]
|
|
87
|
+
.sort((a, b) => b.start - a.start || b.end - a.end)
|
|
88
|
+
.reduce((result, { start, end, text }) => result.slice(0, start) + text + result.slice(end), content);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Trailing identifier of a receiver expression: `input` for `input`, `numberInput` for
|
|
92
|
+
* `this.numberInput`. Anything else (a call, an index read) has no stable name and is skipped.
|
|
93
|
+
*/
|
|
94
|
+
function receiverName(expression) {
|
|
95
|
+
if (ts.isIdentifier(expression))
|
|
96
|
+
return expression.text;
|
|
97
|
+
if (ts.isPropertyAccessExpression(expression) && ts.isIdentifier(expression.name))
|
|
98
|
+
return expression.name.text;
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Rewrites `numberInput.min` to `numberInput.min()` on every receiver this file annotates as a
|
|
103
|
+
* `KbqNumberInput`. A write (`numberInput.min = 5`) is left alone and reported instead: the members are
|
|
104
|
+
* read-only `input()`s, so there is no `.set()` to rewrite to, and the binding is the replacement.
|
|
105
|
+
*
|
|
106
|
+
* Returns the rewritten content plus the distinct member names written to, for the caller to report.
|
|
107
|
+
*/
|
|
108
|
+
function migrateSignalReads(content, filePath) {
|
|
109
|
+
const written = new Set();
|
|
110
|
+
if (!migrations_inputNumberSurface_data.SIGNAL_MEMBERS.some((member) => content.includes(member)))
|
|
111
|
+
return { content, written };
|
|
112
|
+
const sourceFile = createSourceFile(filePath, content);
|
|
113
|
+
const receivers = collectTypedNames(sourceFile, migrations_inputNumberSurface_data.NUMBER_INPUT_TYPE);
|
|
114
|
+
if (receivers.size === 0)
|
|
115
|
+
return { content, written };
|
|
116
|
+
const edits = [];
|
|
117
|
+
const visit = (node) => {
|
|
118
|
+
if (ts.isPropertyAccessExpression(node) &&
|
|
119
|
+
ts.isIdentifier(node.name) &&
|
|
120
|
+
migrations_inputNumberSurface_data.SIGNAL_MEMBERS.includes(node.name.text)) {
|
|
121
|
+
const name = receiverName(node.expression);
|
|
122
|
+
if (name && receivers.has(name)) {
|
|
123
|
+
const parent = node.parent;
|
|
124
|
+
const isWrite = ts.isBinaryExpression(parent) &&
|
|
125
|
+
parent.left === node &&
|
|
126
|
+
parent.operatorToken.kind === ts.SyntaxKind.EqualsToken;
|
|
127
|
+
// Already a call — `min()` — so the rewrite stays idempotent across repeated runs.
|
|
128
|
+
const isCalled = ts.isCallExpression(parent) && parent.expression === node;
|
|
129
|
+
if (isWrite)
|
|
130
|
+
written.add(node.name.text);
|
|
131
|
+
else if (!isCalled)
|
|
132
|
+
edits.push({ start: node.getEnd(), end: node.getEnd(), text: '()' });
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
node.forEachChild(visit);
|
|
136
|
+
};
|
|
137
|
+
visit(sourceFile);
|
|
138
|
+
return { content: edits.length > 0 ? applyEdits(content, edits) : content, written };
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Template reference variables bound to the number input by `exportAs` — `#ref="kbqNumberInput"` and the
|
|
142
|
+
* `kbqNumericalInput` alias. Matched textually: the templates this runs over are the consumer's, and a
|
|
143
|
+
* full template parse would still not tell us the directive's type.
|
|
144
|
+
*/
|
|
145
|
+
function collectTemplateRefs(template) {
|
|
146
|
+
const pattern = new RegExp(`#([A-Za-z_$][\\w$]*)\\s*=\\s*["'](?:${migrations_inputNumberSurface_data.NUMBER_INPUT_EXPORT_AS.join('|')})["']`, 'g');
|
|
147
|
+
return [...template.matchAll(pattern)].map((match) => match[1]);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Names this file imports from `@koobiq/components/input` that were renamed. A name can only be bound
|
|
151
|
+
* once per module, so a name imported from koobiq here cannot also be the `@angular/forms` export of the
|
|
152
|
+
* same spelling — which is what makes a whole-file rename of it safe.
|
|
153
|
+
*/
|
|
154
|
+
function collectRenamedImports(sourceFile) {
|
|
155
|
+
const imported = new Set();
|
|
156
|
+
for (const statement of sourceFile.statements) {
|
|
157
|
+
if (!ts.isImportDeclaration(statement) ||
|
|
158
|
+
!ts.isStringLiteralLike(statement.moduleSpecifier) ||
|
|
159
|
+
statement.moduleSpecifier.text !== migrations_inputNumberSurface_data.INPUT_PACKAGE) {
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const bindings = statement.importClause?.namedBindings;
|
|
163
|
+
if (!bindings || !ts.isNamedImports(bindings))
|
|
164
|
+
continue;
|
|
165
|
+
for (const element of bindings.elements) {
|
|
166
|
+
// `import { MinValidator as Lower }` binds a different local name; the import itself is
|
|
167
|
+
// rewritten by the propertyName branch, and the alias keeps working untouched.
|
|
168
|
+
imported.add((element.propertyName ?? element.name).text);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return migrations_inputNumberSurface_data.RENAMED_EXPORTS.filter(([from]) => imported.has(from));
|
|
172
|
+
}
|
|
173
|
+
/** Rewrites the removed export names to their prefixed replacements, scoped to this file's imports. */
|
|
174
|
+
function migrateRenamedExports(content, filePath) {
|
|
175
|
+
if (!migrations_inputNumberSurface_data.RENAMED_EXPORTS.some(([from]) => content.includes(from)))
|
|
176
|
+
return content;
|
|
177
|
+
const renames = collectRenamedImports(createSourceFile(filePath, content));
|
|
178
|
+
if (renames.length === 0)
|
|
179
|
+
return content;
|
|
180
|
+
// Longest first, so `MIN_VALIDATOR` is never matched as part of a longer identifier by a shorter
|
|
181
|
+
// pattern; `\b` on both ends keeps `KbqMinValidator` itself from matching `MinValidator`.
|
|
182
|
+
return [...renames]
|
|
183
|
+
.sort(([a], [b]) => b.length - a.length)
|
|
184
|
+
.reduce((result, [from, to]) => result.replace(new RegExp(`(?<![\\w$])${from}(?![\\w$])`, 'g'), to), content);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Renames the dropped kebab-case `big-step` to `bigStep`, within the same `<input>` tag as the
|
|
188
|
+
* directive so an unrelated element's attribute of that name is untouched. Both binding forms, and
|
|
189
|
+
* both attribute orders — the directive may sit before or after the attribute.
|
|
190
|
+
*/
|
|
191
|
+
function migrateBigStepAttribute(template) {
|
|
192
|
+
if (!template.includes('big-step'))
|
|
193
|
+
return template;
|
|
194
|
+
return template.replace(/<input\b[^>]*>/g, (tag) => /\bkbqNumberInput\b/.test(tag) ? tag.replace(/(\[?)big-step(\]?)\s*=/g, '$1bigStep$2=') : tag);
|
|
195
|
+
}
|
|
196
|
+
/** Rewrites `ref.min` to `ref.min()` for template refs bound to the number input, and renames `big-step`. */
|
|
197
|
+
function migrateTemplate(template) {
|
|
198
|
+
let content = migrateBigStepAttribute(template);
|
|
199
|
+
const refs = collectTemplateRefs(content);
|
|
200
|
+
const members = migrations_inputNumberSurface_data.SIGNAL_MEMBERS.join('|');
|
|
201
|
+
for (const ref of refs) {
|
|
202
|
+
// `(?!\s*\()` skips anything already invoked, so a second run is a no-op.
|
|
203
|
+
content = content.replace(new RegExp(`\\b(${ref})\\.(${members})\\b(?!\\s*\\()`, 'g'), '$1.$2()');
|
|
204
|
+
}
|
|
205
|
+
return { content, changed: content !== template };
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Rewrites reads of the `KbqNumberInput` members that became `input()` signals — `min`, `max`, `step`,
|
|
209
|
+
* `bigStep` — on a receiver this file annotates as a `KbqNumberInput`, and on a template reference bound
|
|
210
|
+
* through the directive's `exportAs`.
|
|
211
|
+
*
|
|
212
|
+
* Reports the rest: the members that disappeared with the unimplemented `KbqFormFieldControl` surface,
|
|
213
|
+
* the validator classes that gained a `Kbq` prefix, the `EventEmitter` → `Subject` change, and the two
|
|
214
|
+
* behaviors that changed without a call site to point at — the `type="number"` reset and the removed
|
|
215
|
+
* `valueAsNumber` prototype patch. A removed member that was always `undefined` has no replacement
|
|
216
|
+
* expression, so none of that half can be written.
|
|
217
|
+
*
|
|
218
|
+
* `.html` is visited as well as `.ts`, because `type="number"` is markup.
|
|
219
|
+
*/
|
|
220
|
+
function inputNumberSurface(options) {
|
|
221
|
+
return async (tree, context) => {
|
|
222
|
+
const { project } = options;
|
|
223
|
+
// `migrations.json` registers this without a schema, so the schema default never reaches us;
|
|
224
|
+
// applying the fix is the intended behavior of `ng update`.
|
|
225
|
+
const fix = options.fix ?? true;
|
|
226
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
227
|
+
const root = projectDefinition?.root ?? '';
|
|
228
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
229
|
+
let consumers = 0;
|
|
230
|
+
let reported = 0;
|
|
231
|
+
let touched = 0;
|
|
232
|
+
const pending = [];
|
|
233
|
+
utils_projectFiles.visitProjectFiles(rootDir, (filePath, entry) => {
|
|
234
|
+
if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
|
|
235
|
+
return;
|
|
236
|
+
const content = entry?.content.toString();
|
|
237
|
+
if (!content || !referencesInput(content))
|
|
238
|
+
return;
|
|
239
|
+
consumers++;
|
|
240
|
+
for (const { anchor, pattern, message } of migrations_inputNumberSurface_data.warnPatterns) {
|
|
241
|
+
if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
|
|
242
|
+
continue;
|
|
243
|
+
reported++;
|
|
244
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
245
|
+
}
|
|
246
|
+
if (new RegExp(migrations_inputNumberSurface_data.FORM_FIELD_CONTROL_MEMBER_PATTERN.anchor).test(content) &&
|
|
247
|
+
reportsFormFieldControlMember(filePath, content)) {
|
|
248
|
+
reported++;
|
|
249
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_inputNumberSurface_data.FORM_FIELD_CONTROL_MEMBER_PATTERN.message}`]);
|
|
250
|
+
}
|
|
251
|
+
const isTs = filePath.endsWith(TS_EXT);
|
|
252
|
+
// A `.ts` file carries both programmatic reads and any inline template; an `.html` file only
|
|
253
|
+
// the latter. Both passes run on a `.ts` file, so `#ref="kbqNumberInput"` in an inline
|
|
254
|
+
// template is reached too.
|
|
255
|
+
const { content: afterReads, written } = isTs
|
|
256
|
+
? migrateSignalReads(content, filePath)
|
|
257
|
+
: { content, written: new Set() };
|
|
258
|
+
const afterRenames = isTs ? migrateRenamedExports(afterReads, filePath) : afterReads;
|
|
259
|
+
const { content: updated } = migrateTemplate(afterRenames);
|
|
260
|
+
if (written.size > 0) {
|
|
261
|
+
reported++;
|
|
262
|
+
utils_messages.logMessage(context.logger, [
|
|
263
|
+
`${LABEL} ${filePath}`,
|
|
264
|
+
` ${[...written].join(', ')} on KbqNumberInput ${written.size === 1 ? 'is' : 'are'} a ` +
|
|
265
|
+
'read-only input() and cannot be assigned. Bind the value in the template instead ' +
|
|
266
|
+
'([min]="…"); a programmatic write has no .set() to migrate to.'
|
|
267
|
+
]);
|
|
268
|
+
}
|
|
269
|
+
if (updated === content)
|
|
270
|
+
return;
|
|
271
|
+
touched++;
|
|
272
|
+
if (fix)
|
|
273
|
+
pending.push({ filePath, content: updated });
|
|
274
|
+
else
|
|
275
|
+
utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
|
|
276
|
+
});
|
|
277
|
+
// Written after the walk: overwriting during `visit` re-enters the visitor on some Tree backends.
|
|
278
|
+
for (const { filePath, content } of pending) {
|
|
279
|
+
tree.overwrite(filePath, content);
|
|
280
|
+
}
|
|
281
|
+
// Nothing here uses the input, so the summary would only be noise.
|
|
282
|
+
if (consumers === 0)
|
|
283
|
+
return;
|
|
284
|
+
utils_messages.logMessage(context.logger, [
|
|
285
|
+
`${LABEL} processed kbqInput under "${root || '<workspace root>'}", ` +
|
|
286
|
+
`${consumers} file(s) reference the package, ${reported} call site(s) reported, ` +
|
|
287
|
+
`${fix ? 'updated' : 'would update'} ${touched} file(s).`,
|
|
288
|
+
...migrations_inputNumberSurface_data.SUMMARY
|
|
289
|
+
]);
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
exports.default = inputNumberSurface;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-input-number-surface",
|
|
4
|
+
"title": "Koobiq components input 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
|
+
"fix": {
|
|
15
|
+
"type": "boolean",
|
|
16
|
+
"default": true,
|
|
17
|
+
"description": "When true, applies the signal-read replacements. When false, prints what would change without writing."
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# input-signals
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for `21.0.0-0`).
|
|
4
|
+
Reports programmatic writes to the signal inputs of `KbqNumberInput` and `KbqInput`. It never writes to the tree.
|
|
5
|
+
|
|
6
|
+
## Background
|
|
7
|
+
|
|
8
|
+
`KbqNumberInput.value`, `KbqNumberInput.disabled` and `KbqInput.type` are signal inputs read through a getter. A read
|
|
9
|
+
is unchanged; a write no longer compiles.
|
|
10
|
+
|
|
11
|
+
| Write | Manual migration |
|
|
12
|
+
| --------------------------------------------------- | ------------------------------------------------------ |
|
|
13
|
+
| `numberInput.value = …`, `numberInput.disabled = …` | Bind `[value]` / `[disabled]`, or use the form control |
|
|
14
|
+
| `input.type = …` | Bind `[type]` |
|
|
15
|
+
|
|
16
|
+
## Running it manually
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
ng g @koobiq/components:input-signals --project "<your project>"
|
|
20
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Data for the `input-signals` migration.
|
|
5
|
+
*
|
|
6
|
+
* `KbqNumberInput.value` / `.disabled` and `KbqInput.type` are signal inputs read through a getter now. Reads are
|
|
7
|
+
* unchanged; a programmatic write no longer compiles. Warn-only: the write belongs in a binding or a form control.
|
|
8
|
+
*/
|
|
9
|
+
const warnPatterns = [
|
|
10
|
+
{
|
|
11
|
+
anchor: '\\bKbqNumberInput\\b|\\bkbqNumberInput\\b',
|
|
12
|
+
pattern: '\\.\\s*(?:value|disabled)\\s*=[^=]',
|
|
13
|
+
message: 'KbqNumberInput.value and .disabled are signal inputs read through a getter now, so a programmatic ' +
|
|
14
|
+
'write no longer compiles. Bind [value] / [disabled], or write through the form control. This ' +
|
|
15
|
+
'pattern also matches a write to an unrelated object in the same file — check before changing it.'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
anchor: '\\bKbqInput\\b',
|
|
19
|
+
pattern: '\\.\\s*type\\s*=[^=]',
|
|
20
|
+
message: 'KbqInput.type is a signal input read through a getter now, so a programmatic write no longer ' +
|
|
21
|
+
'compiles. Bind [type] instead. This pattern also matches a write to an unrelated object in the ' +
|
|
22
|
+
'same file — check before changing it.'
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
const SUMMARY = [
|
|
26
|
+
'KbqNumberInput.value / .disabled and KbqInput.type are read as before; only programmatic writes are gone.'
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
exports.SUMMARY = SUMMARY;
|
|
30
|
+
exports.warnPatterns = warnPatterns;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils_warnOnlyMigration = require('../../utils/warn-only-migration.cjs');
|
|
6
|
+
var migrations_inputSignals_data = require('./data.cjs');
|
|
7
|
+
require('../../utils/messages.cjs');
|
|
8
|
+
require('../../utils/package-config.cjs');
|
|
9
|
+
require('@angular-devkit/schematics');
|
|
10
|
+
require('@schematics/angular/utility');
|
|
11
|
+
require('../../utils/project-files.cjs');
|
|
12
|
+
|
|
13
|
+
/** Reports programmatic writes to the signal inputs of `KbqNumberInput` and `KbqInput`. Never writes. */
|
|
14
|
+
function inputSignals(options) {
|
|
15
|
+
return utils_warnOnlyMigration.warnOnlyRule({ label: '[input-signals]', warnPatterns: migrations_inputSignals_data.warnPatterns, summary: migrations_inputSignals_data.SUMMARY }, options);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.default = inputSignals;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-input-signals",
|
|
4
|
+
"title": "Koobiq components input signals 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,144 @@
|
|
|
1
|
+
# link-deprecated-path
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for
|
|
4
|
+
`21.0.0-0`). Rewrites `@koobiq/components/link` imports to `@koobiq/components/link/deprecated`.
|
|
5
|
+
|
|
6
|
+
## Background
|
|
7
|
+
|
|
8
|
+
`@koobiq/components/link` now resolves to the `KbqLink` component with the `[kbqLink]` selector. It
|
|
9
|
+
renders the underlined text itself, between the `kbqLinkPrefix` and `kbqLinkSuffix` slots, adds the
|
|
10
|
+
external icon through the `external` input, takes its size from the `size` input and its underline
|
|
11
|
+
from the `underline` input, covers the gaps between the lines of a wrapped link by itself, makes a link on any element but an `<a>` a pseudo link with the `button` role
|
|
12
|
+
and Enter and Space, and stops the click on a disabled link. The previous directive - `KbqLink` and
|
|
13
|
+
`KbqLinkModule` with the `[kbq-link]` selector, whose markup needed the `kbq-link__text` wrapper and
|
|
14
|
+
the `kbq-link_external` and `kbq-text-with-dot` classes - moved to
|
|
15
|
+
`@koobiq/components/link/deprecated` and will be removed in a future major version.
|
|
16
|
+
|
|
17
|
+
Nothing about the directive changed: its inputs, the `[kbq-link]` selector, the `kbqLink` export
|
|
18
|
+
name and the classes its markup relies on behave exactly as before at the new path. Rewriting the
|
|
19
|
+
import is the whole migration - adopting the component is a separate, manual step.
|
|
20
|
+
|
|
21
|
+
## Behaviour change
|
|
22
|
+
|
|
23
|
+
An unmigrated import keeps compiling, and that is why the migration exists: both entry points
|
|
24
|
+
export `KbqLink` and `KbqLinkModule`. Without the rewrite the import brings in the component, whose
|
|
25
|
+
selector is `[kbqLink]`, so the `kbq-link` attribute in the templates matches nothing and the links
|
|
26
|
+
lose their styles.
|
|
27
|
+
|
|
28
|
+
## What it does
|
|
29
|
+
|
|
30
|
+
The schematic walks every `.ts` file under the project root - the whole workspace when `--project`
|
|
31
|
+
is omitted, which is how `ng update` invokes it - skipping `node_modules` and `dist`, and rewrites
|
|
32
|
+
the module specifier `@koobiq/components/link` to `@koobiq/components/link/deprecated`.
|
|
33
|
+
|
|
34
|
+
The match is quote-anchored (`(['"])@koobiq/components/link\1`), so only the exact, bare specifier
|
|
35
|
+
is taken, in the quote style it was written in:
|
|
36
|
+
|
|
37
|
+
| Specifier | Result |
|
|
38
|
+
| -------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
39
|
+
| `'@koobiq/components/link'` | rewritten, still single-quoted |
|
|
40
|
+
| `"@koobiq/components/link"` | rewritten, still double-quoted |
|
|
41
|
+
| `'@koobiq/components/link/deprecated'` | untouched - the migration is idempotent |
|
|
42
|
+
| `'@koobiq/components/link-x'` (hypothetical) | untouched - the closing quote is required, so a longer specifier is not a prefix match |
|
|
43
|
+
|
|
44
|
+
It is a textual replacement rather than an AST rewrite, so an `import`, an `export … from`, a
|
|
45
|
+
dynamic `import()` and a specifier handed to something like `jest.mock()` are all covered by the
|
|
46
|
+
same pass.
|
|
47
|
+
|
|
48
|
+
## What it does _not_ do (manual)
|
|
49
|
+
|
|
50
|
+
| Pattern | Manual migration |
|
|
51
|
+
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
52
|
+
| 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 |
|
|
53
|
+
| Templates | Left as written; they keep working against the directive at its new path |
|
|
54
|
+
| Moving off `/deprecated` | Nothing is migrated _to_ the component: rename `kbq-link` to `kbqLink`, `big` / `compact` to `size` and `noUnderline` to `underline="none"`, drop `multiline`, drop `pseudo` from a host that is not an `<a>` and the `kbq-link__text` wrapper, mark a leading icon with `kbqLinkPrefix` and a trailing one with `kbqLinkSuffix`, replace `kbq-link_external` and its north-east icon with `external`, and the `kbq-text-with-dot` dot with `kbqLinkSuffix` |
|
|
55
|
+
|
|
56
|
+
`fix` defaults to `true`. `ng update` invokes migrations with no options at all, and
|
|
57
|
+
`migrations.json` declares no schema, so the rule applies that default itself. With `--fix false`
|
|
58
|
+
every file that would change is logged instead of written, followed by the same count either way.
|
|
59
|
+
|
|
60
|
+
[Params](schema.ts)
|
|
61
|
+
|
|
62
|
+
Usage for Angular Cli:
|
|
63
|
+
|
|
64
|
+
```shell
|
|
65
|
+
ng g @koobiq/components:link-deprecated-path --project "<your project>"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Usage for Nx:
|
|
69
|
+
|
|
70
|
+
```shell
|
|
71
|
+
nx g @koobiq/components:link-deprecated-path --project "<your project>"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Run locally
|
|
75
|
+
|
|
76
|
+
Build package
|
|
77
|
+
|
|
78
|
+
```shell
|
|
79
|
+
yarn run build:schematics
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Run command (for example, for `koobiq-docs` project)
|
|
83
|
+
|
|
84
|
+
```shell
|
|
85
|
+
ng g ./dist/components/schematics/collection.json:link-deprecated-path --project koobiq-docs
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Result
|
|
89
|
+
|
|
90
|
+
#### Before
|
|
91
|
+
|
|
92
|
+
```ts
|
|
93
|
+
import { Component } from '@angular/core';
|
|
94
|
+
import { KbqIconModule } from '@koobiq/components/icon';
|
|
95
|
+
import { KbqLinkModule } from '@koobiq/components/link';
|
|
96
|
+
|
|
97
|
+
@Component({
|
|
98
|
+
selector: 'my-page',
|
|
99
|
+
imports: [KbqLinkModule, KbqIconModule],
|
|
100
|
+
template: `
|
|
101
|
+
<a class="kbq-link_external" href="https://koobiq.io" target="_blank" kbq-link>
|
|
102
|
+
<span class="kbq-link__text">Koobiq</span>
|
|
103
|
+
<i kbq-icon="kbq-north-east_16"></i>
|
|
104
|
+
</a>
|
|
105
|
+
`
|
|
106
|
+
})
|
|
107
|
+
export class MyPage {}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
#### After
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
import { Component } from '@angular/core';
|
|
114
|
+
import { KbqIconModule } from '@koobiq/components/icon';
|
|
115
|
+
import { KbqLinkModule } from '@koobiq/components/link/deprecated';
|
|
116
|
+
|
|
117
|
+
@Component({
|
|
118
|
+
selector: 'my-page',
|
|
119
|
+
imports: [KbqLinkModule, KbqIconModule],
|
|
120
|
+
template: `
|
|
121
|
+
<a class="kbq-link_external" href="https://koobiq.io" target="_blank" kbq-link>
|
|
122
|
+
<span class="kbq-link__text">Koobiq</span>
|
|
123
|
+
<i kbq-icon="kbq-north-east_16"></i>
|
|
124
|
+
</a>
|
|
125
|
+
`
|
|
126
|
+
})
|
|
127
|
+
export class MyPage {}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
#### With the component
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
import { Component } from '@angular/core';
|
|
134
|
+
import { KbqLinkModule } from '@koobiq/components/link';
|
|
135
|
+
|
|
136
|
+
@Component({
|
|
137
|
+
selector: 'my-page',
|
|
138
|
+
imports: [KbqLinkModule],
|
|
139
|
+
template: `
|
|
140
|
+
<a href="https://koobiq.io" target="_blank" kbqLink external>Koobiq</a>
|
|
141
|
+
`
|
|
142
|
+
})
|
|
143
|
+
export class MyPage {}
|
|
144
|
+
```
|
|
@@ -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.cjs');
|
|
6
|
+
require('../../utils/messages.cjs');
|
|
7
|
+
require('../../utils/package-config.cjs');
|
|
8
|
+
require('@angular-devkit/schematics');
|
|
9
|
+
require('@schematics/angular/utility');
|
|
10
|
+
require('../../utils/project-files.cjs');
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* `@koobiq/components/link` now resolves to the `KbqLink` component, which renders the text, the slots
|
|
14
|
+
* and the external icon itself - the directive it used to export (`KbqLink`, `KbqLinkModule`) moved to
|
|
15
|
+
* `@koobiq/components/link/deprecated`. This rewrites the import specifier only; the API itself is
|
|
16
|
+
* unchanged at its new path.
|
|
17
|
+
*/
|
|
18
|
+
var index = utils_deprecatedPathMigration.deprecatedPathMigration('link');
|
|
19
|
+
|
|
20
|
+
exports.default = index;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-link-deprecated-path",
|
|
4
|
+
"title": "Koobiq components link 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,71 @@
|
|
|
1
|
+
# link-signals
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for
|
|
4
|
+
`21.0.0-0`). Migrates `KbqLink` consumers to its finished signal-based API and reports the members
|
|
5
|
+
the review closed.
|
|
6
|
+
|
|
7
|
+
## Background
|
|
8
|
+
|
|
9
|
+
The three inputs the automated signal migration skipped were all accessors, and each did something
|
|
10
|
+
beyond storing a value:
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
set disabled(value: boolean) { this.disabledSignal.set(value); }
|
|
14
|
+
get tabIndex(): number { return this.disabled ? -1 : this._tabIndex; }
|
|
15
|
+
set print(value: any) { this.printMode = value !== null; this._print = value; this.updatePrintUrl(); }
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`disabledSignal` stays a public `WritableSignal<boolean>`: `kbqTooltip` accepts a link through
|
|
19
|
+
`forDisabledComponent` and reads it, and that contract is typed on the tooltip side. It is a
|
|
20
|
+
`linkedSignal` over the input now, so binding `[disabled]` still drives it and a direct write still
|
|
21
|
+
wins.
|
|
22
|
+
|
|
23
|
+
## What it rewrites
|
|
24
|
+
|
|
25
|
+
| Before | After |
|
|
26
|
+
| --------------- | ----------------- |
|
|
27
|
+
| `link.disabled` | `link.disabled()` |
|
|
28
|
+
|
|
29
|
+
On receivers explicitly typed `KbqLink`. Already-migrated reads are left alone, so the schematic is
|
|
30
|
+
idempotent. There is no template-reference pass: `kbq-link` is an attribute on an anchor, so a
|
|
31
|
+
`#ref="kbqLink"` read is not tied to an element name the schematic can match.
|
|
32
|
+
|
|
33
|
+
## What it does _not_ do
|
|
34
|
+
|
|
35
|
+
| Pattern | Manual migration |
|
|
36
|
+
| ----------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
37
|
+
| `.tabIndex` | `tabIndex()`, and expect what was bound — not `-1` for a disabled link |
|
|
38
|
+
| `link.print = …` | Bind `[print]`; it was a setter with no getter, so there is no read to fix |
|
|
39
|
+
| `.icons` / `.nativeElement` | Now `private`; call `getHostElement()` for the host |
|
|
40
|
+
| `.hasIcon` / `.printMode` / `.printUrl` | Now `protected`; the `kbq-link_print` class and `print` attribute are the contract |
|
|
41
|
+
| `.icon` / `.destroyRef` / `.ngAfterContentInit` | Gone; `icons` answers what `icon` did, and the hook is not implemented |
|
|
42
|
+
| `viewChild(KbqLink)` | The query returns the instance, so a read through it is a double call |
|
|
43
|
+
|
|
44
|
+
`tabIndex` is warned about rather than rewritten because appending `()` would compile and hand back
|
|
45
|
+
a different number for a disabled link. A write of any kind — `=`, `||=`, `++` — is reported rather
|
|
46
|
+
than rewritten: every member is an `input()`, so there is no writable half, and appending `()` would
|
|
47
|
+
turn a read-only error into a syntax error.
|
|
48
|
+
|
|
49
|
+
## Notes with no call site to point at
|
|
50
|
+
|
|
51
|
+
- **`[print]="undefined"` no longer marks the link as printable.** The old setter tested
|
|
52
|
+
`value !== null`, so an explicit `undefined` passed it: the link got `kbq-link_print` and printed
|
|
53
|
+
its `href`. The input tests `!= null`, which covers both. An unbound link behaves exactly as
|
|
54
|
+
before — no class, and the href still lands in the `print` attribute. `print` accepts
|
|
55
|
+
`string | null` instead of `any`.
|
|
56
|
+
- **Reading `disabled` reports the bound input.** The effective state — what the host bindings
|
|
57
|
+
render — is `disabledSignal()`. The two only differ if something writes `disabledSignal` directly,
|
|
58
|
+
which is what `kbqTooltip` does through `forDisabledComponent`. This one is reported next to every
|
|
59
|
+
file the rewrite touched rather than once per project, because the rewrite it applies is correct
|
|
60
|
+
but not value-identical.
|
|
61
|
+
- **A disabled link carries `aria-disabled` instead of `disabled`.** `disabled` is not valid on an
|
|
62
|
+
`<a>` or a `<span>` and told assistive tech nothing. `kbq-disabled` and `tabindex="-1"` are
|
|
63
|
+
unchanged; a selector on `a[kbq-link][disabled]` needs `.kbq-disabled` or `[aria-disabled]`.
|
|
64
|
+
|
|
65
|
+
## Running it manually
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
ng generate @koobiq/components:link-signals --project my-app
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Pass `--fix=false` to see what it would change without writing.
|