@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,62 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils_messages = require('../../utils/messages.cjs');
|
|
6
|
+
var utils_packageConfig = require('../../utils/package-config.cjs');
|
|
7
|
+
var utils_projectFiles = require('../../utils/project-files.cjs');
|
|
8
|
+
var migrations_flagInnerHtml_data = require('./data.cjs');
|
|
9
|
+
require('@angular-devkit/schematics');
|
|
10
|
+
require('@schematics/angular/utility');
|
|
11
|
+
|
|
12
|
+
const LABEL = '[flag-inner-html]';
|
|
13
|
+
const EXTENSIONS = ['.ts', '.html'];
|
|
14
|
+
/** A file is a flag consumer if it imports the package, names the component, or renders one. */
|
|
15
|
+
function referencesFlag(content) {
|
|
16
|
+
return content.includes(migrations_flagInnerHtml_data.FLAG_PACKAGE) || new RegExp(migrations_flagInnerHtml_data.FLAG_TYPE).test(content);
|
|
17
|
+
}
|
|
18
|
+
/** Renames `[innerHTML]` to `[svg]` inside every `<kbq-flag …>` opening tag, and leaves the rest alone. */
|
|
19
|
+
function rewriteInnerHtmlBindings(content) {
|
|
20
|
+
return content.replace(migrations_flagInnerHtml_data.FLAG_OPEN_TAG, (tag) => tag.replace(migrations_flagInnerHtml_data.INNER_HTML_BINDING, '[svg]='));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Moves `[innerHTML]` bindings off the `<kbq-flag>` host element onto the `svg` input the flag review
|
|
24
|
+
* added, and reports the behavior changes that have no call site to point at.
|
|
25
|
+
*
|
|
26
|
+
* `.html` is visited as well as `.ts`, because the binding lives in a template either way.
|
|
27
|
+
*/
|
|
28
|
+
function flagInnerHtml(options) {
|
|
29
|
+
return async (tree, context) => {
|
|
30
|
+
const { project } = options;
|
|
31
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
32
|
+
const root = projectDefinition?.root ?? '';
|
|
33
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
34
|
+
let consumers = 0;
|
|
35
|
+
let rewritten = 0;
|
|
36
|
+
utils_projectFiles.visitProjectFiles(rootDir, (filePath, entry) => {
|
|
37
|
+
if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
|
|
38
|
+
return;
|
|
39
|
+
const content = entry?.content.toString();
|
|
40
|
+
if (!content || !referencesFlag(content))
|
|
41
|
+
return;
|
|
42
|
+
consumers++;
|
|
43
|
+
const migrated = rewriteInnerHtmlBindings(content);
|
|
44
|
+
if (migrated === content)
|
|
45
|
+
return;
|
|
46
|
+
rewritten++;
|
|
47
|
+
tree.overwrite(filePath, migrated);
|
|
48
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_flagInnerHtml_data.REWRITE_MESSAGE}`]);
|
|
49
|
+
});
|
|
50
|
+
// Nothing here renders a flag, so the summary would only be noise.
|
|
51
|
+
if (consumers === 0)
|
|
52
|
+
return;
|
|
53
|
+
utils_messages.logMessage(context.logger, [
|
|
54
|
+
`${LABEL} processed kbq-flag under "${root || '<workspace root>'}", ` +
|
|
55
|
+
`${consumers} file(s) reference the component, ${rewritten} file(s) rewritten.`,
|
|
56
|
+
...migrations_flagInnerHtml_data.SUMMARY
|
|
57
|
+
]);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
exports.default = flagInnerHtml;
|
|
62
|
+
exports.rewriteInnerHtmlBindings = rewriteInnerHtmlBindings;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-flag-inner-html",
|
|
4
|
+
"title": "Koobiq components flag 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
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# form-field-signals
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components`.
|
|
4
|
+
Migrates consumers of the full `@koobiq/components/form-field` review: the signal-based `KbqFormField` /
|
|
5
|
+
`KbqHint` API, the new accessibility semantics of the cleaner and the password toggle, and the removal of the
|
|
6
|
+
deprecated `mixinColor`.
|
|
7
|
+
|
|
8
|
+
## Why
|
|
9
|
+
|
|
10
|
+
`KbqFormField` finished its migration to signal queries and `KbqHint` to signal inputs, so every programmatic
|
|
11
|
+
read of those members needs a call. The icon-only cleaner and password toggle became real buttons with a
|
|
12
|
+
localized accessible name, which means the component now owns the `aria-label` a consumer used to set by hand.
|
|
13
|
+
`KbqFormFieldControl` followed: the state of every control is a signal, and `stateChanges` is gone.
|
|
14
|
+
Template _bindings_ (`[fillTextOff]`, `[compact]`, …) keep working — only programmatic reads/writes
|
|
15
|
+
and template-reference reads break.
|
|
16
|
+
|
|
17
|
+
| Member | Before | After | Auto-fix |
|
|
18
|
+
| ------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------- | -------------------------------- |
|
|
19
|
+
| `KbqFormField.cleaner` / `passwordToggle` | `T \| null` | `Signal<T \| undefined>` | ✅ read → call |
|
|
20
|
+
| `KbqFormField.hint` / `prefix` / `suffix` | `QueryList<T>` | `Signal<readonly T[]>` | ✅ read → call |
|
|
21
|
+
| `KbqFormField.hasCleaner` / `hasHint` / `hasPasswordToggle` / `hasPrefix` / `hasStepper` / `hasSuffix` | getter | `Signal<boolean>` | ✅ read → call |
|
|
22
|
+
| `KbqHint.fillTextOff` / `compact` (also on `KbqError`, `KbqReactivePasswordHint`) | `boolean` input | `InputSignalWithTransform` | ✅ read → call |
|
|
23
|
+
| `<kbq-cleaner [attr.aria-label]>` | plain attribute binding | `[aria-label]` input | ✅ rewritten |
|
|
24
|
+
| `fiedset-theme` stylesheet | misspelled filename | `fieldset-theme` | ✅ renamed |
|
|
25
|
+
| `mixinColor` / `CanColorCtor` | exported from `core` | removed | ⚠️ warn |
|
|
26
|
+
| `KbqA11yLocaleConfiguration` | 8 keys | +`clear`, `showPassword`, `hidePassword` | ⚠️ warn |
|
|
27
|
+
| `KbqFormFieldRef.control` | `any` | `Signal<KbqFormFieldControlRef>` | ⚠️ warn |
|
|
28
|
+
| `value` / `id` / `placeholder` / `focused` / `empty` / `required` / `disabled` / `errorState` of the controls | property or getter | `Signal` | ✅ read → call, write → `.set()` |
|
|
29
|
+
| `KbqTagInput.id` / `placeholder` / `focused` / `empty` | input, field or getter | read-only `Signal` | ✅ read → call |
|
|
30
|
+
| `KbqInputPassword.elementType` | writable `string` | read-only `Signal<'text' \| 'password'>` | ✅ read → call, ⚠️ write warned |
|
|
31
|
+
| `KbqFormFieldControl.stateChanges` | `Observable<void>` | removed | ⚠️ warn |
|
|
32
|
+
| `KbqFormField.hovered` / `onHoverChanged()` | `boolean` / method | removed | ⚠️ warn |
|
|
33
|
+
|
|
34
|
+
`control`, `stepper` and `connectionContainerRef` were already signals before this release and are deliberately
|
|
35
|
+
left alone — appending `()` to them would be a double call.
|
|
36
|
+
|
|
37
|
+
## What it does (auto-fix)
|
|
38
|
+
|
|
39
|
+
The schematic walks every `.ts`, `.html`, `.scss` and `.css` file in the project (skipping `node_modules` and
|
|
40
|
+
`dist`) and, for files that reference the form field:
|
|
41
|
+
|
|
42
|
+
- **TypeScript reads.** For a receiver whose static type is annotated `KbqFormField`, `KbqHint`, `KbqError` or
|
|
43
|
+
`KbqReactivePasswordHint` (method/function params, class fields — including
|
|
44
|
+
`@ContentChild(KbqFormField) x: KbqFormField`, constructor parameter-properties and `inject(KbqFormField)` — and
|
|
45
|
+
typed locals), a read of a migrated member becomes a call: `formField.hasHint` → `formField.hasHint()` (incl.
|
|
46
|
+
optional chain `formField?.hint` → `formField?.hint()`). A nested declaration that reuses the receiver's name,
|
|
47
|
+
and `this.<field>` inside a `function` that rebinds `this`, are left alone.
|
|
48
|
+
- **Control state.** On a receiver typed `KbqSelect`, `KbqTreeSelect`, `KbqTimezoneSelect`, `KbqTagList`,
|
|
49
|
+
`KbqTimepicker`, `KbqDatepickerInput`, `KbqInput`, `KbqInputPassword`, `KbqTextarea` or `KbqFormFieldControl`,
|
|
50
|
+
a read of `value`, `id`, `placeholder`, `focused`, `empty`, `required`, `disabled` or `errorState` becomes a
|
|
51
|
+
call. A plain `=` write becomes `.set()` where the member stays writable — `disabled` on the selects, the tag
|
|
52
|
+
list, the timepicker and the datepicker input, `value` on the select, the timezone select, the tag list and the
|
|
53
|
+
native-element controls, `placeholder` on the native-element controls. The tree select, the timepicker and the
|
|
54
|
+
datepicker input own their `value`, so a write to it is reported. The same reads of `id`, `placeholder`,
|
|
55
|
+
`focused` and `empty` on a receiver typed `KbqTagInput` become calls too, and so do reads of `elementType` on
|
|
56
|
+
a receiver typed `KbqInputPassword`, whose writes are reported.
|
|
57
|
+
- **Template references.** For a `#ref` bound to `<kbq-form-field>`, `<kbq-hint>`, `<kbq-error>`,
|
|
58
|
+
`<kbq-reactive-password-hint>`, `<kbq-select>`, `<kbq-tree-select>`, `<kbq-timezone-select>` or
|
|
59
|
+
`<kbq-tag-list>`, reads through that ref are rewritten in the same template (external `.html` and inline
|
|
60
|
+
`template:` strings). The ref has to be bare or name the component's own `exportAs` (`#s="kbqSelect"`): one
|
|
61
|
+
that names another directive (`#s="ngModel"`) is left alone. The input, the password input, the textarea, the
|
|
62
|
+
timepicker, the datepicker input and the tag input are directives on a native element, where a bare ref is the
|
|
63
|
+
element, so only a ref naming their `exportAs` is followed: `#i="kbqInput"`, `kbqInputPassword`,
|
|
64
|
+
`kbqTextarea`, `kbqTimepicker`, `kbqDatepickerInput`, `kbqTagInput` or `kbqTagInputFor`.
|
|
65
|
+
Only the ref itself is matched — `form.controls.country.value` stays as it is. Only the expressions of the view
|
|
66
|
+
that declares the ref are looked at — prose, comments and plain attributes are not — and a ref whose name a
|
|
67
|
+
`@for`, `let-`, `*ngFor` or `@let` variable or another `#ref` shares is left alone. In an event binding, a
|
|
68
|
+
write
|
|
69
|
+
to a writable member becomes `.set()`: `(click)="s.disabled = true"` → `(click)="s.disabled.set(true)"`;
|
|
70
|
+
`[(ngModel)]="tags.value"` keeps working on the signal unchanged.
|
|
71
|
+
- **Cleaner accessible name.** `<kbq-cleaner [attr.aria-label]="…">` → `<kbq-cleaner [aria-label]="…">`. The
|
|
72
|
+
component now writes `aria-label` from a host binding, so an `attr.` binding is silently overwritten by the
|
|
73
|
+
localized default.
|
|
74
|
+
- **Stylesheet import.** `fiedset-theme` → `fieldset-theme`.
|
|
75
|
+
|
|
76
|
+
All rewrites are idempotent — running twice does not double the call.
|
|
77
|
+
|
|
78
|
+
## What it does _not_ do (warn-only)
|
|
79
|
+
|
|
80
|
+
These changes can't be rewritten safely and are surfaced as warnings (in both `fix` and dry-run mode):
|
|
81
|
+
|
|
82
|
+
| Change | Manual migration |
|
|
83
|
+
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
84
|
+
| `formField.hint.changes` / `.first` / `.last` / `.toArray()` / `.get(i)` | The content queries are signals over a readonly array. React with `computed()` / `effect()` instead of `.changes`, and index the array instead of the `QueryList` helpers. |
|
|
85
|
+
| `formField.cleaner === null` | `cleaner` / `passwordToggle` now return `undefined` when absent. Use a truthiness check or `== null`. |
|
|
86
|
+
| `hint.fillTextOff = …` / `hint.compact = …` | Read-only signal inputs now. Drive them with a template binding (`[fillTextOff]="…"`), not an assignment. |
|
|
87
|
+
| `formField.cleaner = …` / `hint` / `prefix` / `suffix` / `passwordToggle` | Read-only signal content queries now. Project the content instead — code that assigned a query result (usually a test faking it) has to render the real component. |
|
|
88
|
+
| `mixinColor(...)` / `CanColorCtor` | Removed, and `CanColor` with them. Extend `KbqColorDirective`, which exposes the same `color` input and `colorClassName` getter, or type a member `Signal<KbqComponentColors \| string>`. |
|
|
89
|
+
| A custom `KbqA11yLocaleConfiguration` | Add the three new keys — `clear`, `showPassword`, `hidePassword` — used for the accessible names of the cleaner and the password toggle. |
|
|
90
|
+
| `inject(KBQ_FORM_FIELD_REF)` + `formField.control.<member>` | `control` is typed now. The read was silently `undefined` and has to become `formField.control().<member>`. |
|
|
91
|
+
| `KbqTrim.trim(...)` | Typed `(value: unknown) => unknown`. Narrow or cast the result. |
|
|
92
|
+
| `<kbq-error role="…">` / `<kbq-cleaner role="button">` | `kbq-error` renders `role="alert"` + `aria-atomic` and `kbq-cleaner` renders `role="button"` themselves. Drop the hand-rolled attributes. |
|
|
93
|
+
| `implements KbqFormFieldControl` | Expose the state as signals and drop `stateChanges`: the form field derives its state from the signals. |
|
|
94
|
+
| `formField.control().stateChanges` | Removed. Read the state signals in `computed()` / `effect()`, or turn one into a stream with `toObservable()`. |
|
|
95
|
+
| `formField.hovered` / `.onHoverChanged(…)`, also through a `#ref` | Removed: nothing read them; their pointer listeners ran change detection on every hover. Bind `(mouseenter)` / `(mouseleave)` on `<kbq-form-field>` yourself, or style with `:hover`. |
|
|
96
|
+
| A write to a read-only control member (`select.placeholder = …`) | Bind it in the template, or set the value through a form control. Also reported for `+=`, `++`, `delete` and a destructuring target, and through a template ref, in an event or a two-way binding. |
|
|
97
|
+
| `input.value += …` / `++` / `delete` / destructuring on a writable member | Only a plain `=` becomes `.set()`. Write the rest with `.set()` / `.update()`. Also reported for `+=`, `??=`, `++` and the rest through a template ref in an event binding. |
|
|
98
|
+
| `password.elementType = …`, also through a `#ref` | `KbqInputPassword.elementType` is a read-only signal now. Call `toggleType()` to show or hide the password. |
|
|
99
|
+
| `KbqErrorStateTracker` / `CanUpdateErrorState` | The tracker takes no `stateChanges` subject; `errorState` is a `Signal<boolean>`; the interface no longer declares `errorStateMatcher`. |
|
|
100
|
+
| `mixinErrorState(...)` / `CanUpdateErrorStateCtor` | Removed. Track the error state with `KbqErrorStateTracker`. |
|
|
101
|
+
| `KbqIconErrorStateContext` | Its `errorState` is a `Signal<boolean>`, and `stateChanges` was removed. |
|
|
102
|
+
|
|
103
|
+
## Behaviour changes without a code fix
|
|
104
|
+
|
|
105
|
+
- The form field now writes `aria-describedby` on the control, referencing every rendered hint and — while the
|
|
106
|
+
control is invalid — the error. Tests that assert on the control's attributes will see the new value.
|
|
107
|
+
- `KbqInput`, `KbqInputPassword` and `KbqSelect` render `aria-invalid`; `KbqSelect` also renders `aria-required`.
|
|
108
|
+
- `.kbq-form-field_no-borders` and `.kbq-form-field_in-overlay` no longer use `!important`: they override the
|
|
109
|
+
`--kbq-form-field-*` tokens instead. A stylesheet that fought the old `!important` can be simplified.
|
|
110
|
+
- `KbqDatepicker` is no longer provided as a `KbqFormFieldControl`; the form field always finds the
|
|
111
|
+
`kbqDatepicker` input, which now renders its `id` for the label.
|
|
112
|
+
|
|
113
|
+
## Running it manually
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
ng generate @koobiq/components:form-field-signals --project my-app
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Pass `--fix=false` to see what would change without writing files.
|
|
120
|
+
|
|
121
|
+
## Limitations
|
|
122
|
+
|
|
123
|
+
Receivers are matched by explicit type annotation or an `inject()` initializer (no type inference), so inferred
|
|
124
|
+
receivers (`const f = this.formField; f.hasHint`) and signal queries (`viewChild(KbqSelect)`) are left untouched. After running, **always inspect the diff**
|
|
125
|
+
and act on the warnings before committing.
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Data for the `form-field-signals` migration.
|
|
5
|
+
*
|
|
6
|
+
* The full review of `@koobiq/components/form-field` finished the migration of `KbqFormField` and `KbqHint`
|
|
7
|
+
* to a signal-based public API, removed the deprecated `mixinColor` from `core`, and gave the icon-only
|
|
8
|
+
* cleaner and password toggle real button semantics. `KbqFormFieldControl` followed: the state of every control
|
|
9
|
+
* is a signal, and `stateChanges` is gone.
|
|
10
|
+
*
|
|
11
|
+
* Value-preserving property → signal reads are auto-fixed; everything whose value or type semantics changed
|
|
12
|
+
* is surfaced as a warning.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* `KbqFormField` content queries and their derived `has*` getters became signals.
|
|
16
|
+
*
|
|
17
|
+
* `control`, `stepper` and `connectionContainerRef` were already signals before this release and are
|
|
18
|
+
* deliberately absent — appending `()` to them would produce a double call.
|
|
19
|
+
*/
|
|
20
|
+
const FORM_FIELD_TARGET = {
|
|
21
|
+
id: 'KbqFormField',
|
|
22
|
+
types: ['KbqFormField'],
|
|
23
|
+
elements: { 'kbq-form-field': 'kbqFormField' },
|
|
24
|
+
signalMembers: [
|
|
25
|
+
'cleaner',
|
|
26
|
+
'passwordToggle',
|
|
27
|
+
'hint',
|
|
28
|
+
'prefix',
|
|
29
|
+
'suffix',
|
|
30
|
+
'hasCleaner',
|
|
31
|
+
'hasHint',
|
|
32
|
+
'hasPasswordToggle',
|
|
33
|
+
'hasPrefix',
|
|
34
|
+
'hasStepper',
|
|
35
|
+
'hasSuffix'
|
|
36
|
+
],
|
|
37
|
+
writableMembers: new Set(),
|
|
38
|
+
removedMembers: ['hovered', 'onHoverChanged']
|
|
39
|
+
};
|
|
40
|
+
/** Reported where a `KbqFormField` receiver or a reference variable reaches one of its `removedMembers`. */
|
|
41
|
+
const REMOVED_MEMBERS_MESSAGE = '`KbqFormField.hovered` and `onHoverChanged()` were removed — nothing read them, and their pointer listeners ' +
|
|
42
|
+
'ran change detection on every hover. Bind `(mouseenter)` / `(mouseleave)` on `<kbq-form-field>` yourself, ' +
|
|
43
|
+
'or style with `:hover`.';
|
|
44
|
+
/** `fillTextOff` and `compact` became signal inputs on the whole hint family. */
|
|
45
|
+
const HINT_TARGET = {
|
|
46
|
+
id: 'KbqHint',
|
|
47
|
+
types: ['KbqHint', 'KbqError', 'KbqReactivePasswordHint'],
|
|
48
|
+
elements: {
|
|
49
|
+
'kbq-hint': 'kbqHint',
|
|
50
|
+
'kbq-error': 'kbqError',
|
|
51
|
+
'kbq-reactive-password-hint': 'kbqReactivePasswordHint'
|
|
52
|
+
},
|
|
53
|
+
signalMembers: ['fillTextOff', 'compact'],
|
|
54
|
+
writableMembers: new Set()
|
|
55
|
+
};
|
|
56
|
+
/** The `KbqFormFieldControl` state: a signal on every control, read-only unless a target says otherwise. */
|
|
57
|
+
const CONTROL_MEMBERS = [
|
|
58
|
+
'value',
|
|
59
|
+
'id',
|
|
60
|
+
'placeholder',
|
|
61
|
+
'focused',
|
|
62
|
+
'empty',
|
|
63
|
+
'required',
|
|
64
|
+
'disabled',
|
|
65
|
+
'errorState'
|
|
66
|
+
];
|
|
67
|
+
/** Controls whose `disabled` and `value` both stay writable through `.set()`: the selects and the tag list. */
|
|
68
|
+
const WRITABLE_VALUE_CONTROL_TARGET = {
|
|
69
|
+
id: 'KbqSelect',
|
|
70
|
+
types: ['KbqSelect', 'KbqTimezoneSelect', 'KbqTagList'],
|
|
71
|
+
elements: {
|
|
72
|
+
'kbq-select': 'kbqSelect',
|
|
73
|
+
'kbq-timezone-select': 'kbqTimezoneSelect',
|
|
74
|
+
'kbq-tag-list': 'kbqTagList'
|
|
75
|
+
},
|
|
76
|
+
signalMembers: CONTROL_MEMBERS,
|
|
77
|
+
writableMembers: new Set(['disabled', 'value'])
|
|
78
|
+
};
|
|
79
|
+
/** Controls that own their `value`: only `disabled`, which the form control also sets, stays writable. */
|
|
80
|
+
const READ_ONLY_VALUE_CONTROL_TARGET = {
|
|
81
|
+
id: 'KbqTreeSelect',
|
|
82
|
+
types: ['KbqTreeSelect', 'KbqTimepicker', 'KbqDatepickerInput'],
|
|
83
|
+
elements: { 'kbq-tree-select': 'kbqTreeSelect' },
|
|
84
|
+
exportAs: ['kbqTimepicker', 'kbqDatepickerInput'],
|
|
85
|
+
signalMembers: CONTROL_MEMBERS,
|
|
86
|
+
writableMembers: new Set(['disabled'])
|
|
87
|
+
};
|
|
88
|
+
/** Native-element controls: `value` and `placeholder` stay writable, `disabled` follows the input and the form control. */
|
|
89
|
+
const INPUT_CONTROL_TARGET = {
|
|
90
|
+
id: 'KbqInput',
|
|
91
|
+
types: ['KbqInput', 'KbqTextarea'],
|
|
92
|
+
elements: {},
|
|
93
|
+
exportAs: ['kbqInput', 'kbqTextarea'],
|
|
94
|
+
signalMembers: CONTROL_MEMBERS,
|
|
95
|
+
writableMembers: new Set(['value', 'placeholder'])
|
|
96
|
+
};
|
|
97
|
+
/** The password input: a native-element control whose `elementType` became a read-only signal too. */
|
|
98
|
+
const INPUT_PASSWORD_TARGET = {
|
|
99
|
+
id: 'KbqInputPassword',
|
|
100
|
+
types: ['KbqInputPassword'],
|
|
101
|
+
elements: {},
|
|
102
|
+
exportAs: ['kbqInputPassword'],
|
|
103
|
+
signalMembers: [...CONTROL_MEMBERS, 'elementType'],
|
|
104
|
+
writableMembers: INPUT_CONTROL_TARGET.writableMembers
|
|
105
|
+
};
|
|
106
|
+
/** A receiver typed with the contract itself, which declares every member a read-only signal. */
|
|
107
|
+
const FORM_FIELD_CONTROL_TARGET = {
|
|
108
|
+
id: 'KbqFormFieldControl',
|
|
109
|
+
types: ['KbqFormFieldControl'],
|
|
110
|
+
elements: {},
|
|
111
|
+
signalMembers: CONTROL_MEMBERS,
|
|
112
|
+
writableMembers: new Set()
|
|
113
|
+
};
|
|
114
|
+
/** `KbqTagInput`, the text control of a tag list: its state is a read-only signal, as the tag list reads it. */
|
|
115
|
+
const TAG_INPUT_TARGET = {
|
|
116
|
+
id: 'KbqTagInput',
|
|
117
|
+
types: ['KbqTagInput'],
|
|
118
|
+
elements: {},
|
|
119
|
+
exportAs: ['kbqTagInput', 'kbqTagInputFor'],
|
|
120
|
+
signalMembers: ['id', 'placeholder', 'focused', 'empty'],
|
|
121
|
+
writableMembers: new Set()
|
|
122
|
+
};
|
|
123
|
+
const TARGETS = [
|
|
124
|
+
FORM_FIELD_TARGET,
|
|
125
|
+
HINT_TARGET,
|
|
126
|
+
WRITABLE_VALUE_CONTROL_TARGET,
|
|
127
|
+
READ_ONLY_VALUE_CONTROL_TARGET,
|
|
128
|
+
INPUT_CONTROL_TARGET,
|
|
129
|
+
INPUT_PASSWORD_TARGET,
|
|
130
|
+
FORM_FIELD_CONTROL_TARGET,
|
|
131
|
+
TAG_INPUT_TARGET
|
|
132
|
+
];
|
|
133
|
+
/**
|
|
134
|
+
* `KbqFormField` members that were a `QueryList` and are now a `readonly` array. The call syntax is
|
|
135
|
+
* auto-fixed, but the `QueryList` API is gone.
|
|
136
|
+
*/
|
|
137
|
+
const QUERY_LIST_MEMBERS = ['hint', 'prefix', 'suffix'];
|
|
138
|
+
/** `QueryList` members that a plain array does not have. Detected right after a migrated query member. */
|
|
139
|
+
const QUERY_LIST_ONLY_API = [
|
|
140
|
+
'changes',
|
|
141
|
+
'first',
|
|
142
|
+
'last',
|
|
143
|
+
'dirty',
|
|
144
|
+
'toArray',
|
|
145
|
+
'get',
|
|
146
|
+
'reset',
|
|
147
|
+
'notifyOnChanges',
|
|
148
|
+
'destroy'
|
|
149
|
+
];
|
|
150
|
+
/** `KbqFormField` members whose empty value changed from `null` to `undefined`. */
|
|
151
|
+
const NULLABILITY_CHANGED_MEMBERS = ['cleaner', 'passwordToggle'];
|
|
152
|
+
/**
|
|
153
|
+
* Members that were writable properties and are now read-only signals: inputs, or state the control derives.
|
|
154
|
+
* Scoped by each target's `writableMembers`, so a member writable on one control is not reported on it.
|
|
155
|
+
*/
|
|
156
|
+
const READ_ONLY_INPUT_MEMBERS = ['fillTextOff', 'compact', ...CONTROL_MEMBERS];
|
|
157
|
+
/**
|
|
158
|
+
* `KbqFormField` content queries that were writable properties and are now read-only signals. `cleaner` was
|
|
159
|
+
* writable only because of an internal workaround; the rest were a `QueryList`, which consumers reassigned to
|
|
160
|
+
* fake the projected content in tests.
|
|
161
|
+
*/
|
|
162
|
+
const READ_ONLY_QUERY_MEMBERS = [
|
|
163
|
+
'cleaner',
|
|
164
|
+
'passwordToggle',
|
|
165
|
+
'hint',
|
|
166
|
+
'prefix',
|
|
167
|
+
'suffix'
|
|
168
|
+
];
|
|
169
|
+
/** Members that were writable fields and are now read-only signals only the control itself changes. */
|
|
170
|
+
const READ_ONLY_STATE_MEMBERS = ['elementType'];
|
|
171
|
+
/** Reported where a write reaches one of `READ_ONLY_STATE_MEMBERS`. */
|
|
172
|
+
const READ_ONLY_STATE_MESSAGE = "`KbqInputPassword.elementType` can no longer be assigned: it is a read-only `Signal<'text' | 'password'>` " +
|
|
173
|
+
'now. Call `toggleType()` to show or hide the password instead.';
|
|
174
|
+
/**
|
|
175
|
+
* File-scoped patterns that can't be auto-fixed reliably — surfaced with file locations (in both `fix` and
|
|
176
|
+
* dry-run mode).
|
|
177
|
+
*/
|
|
178
|
+
const warnPatterns = [
|
|
179
|
+
{
|
|
180
|
+
pattern: '\\bmixinColor\\s*\\(',
|
|
181
|
+
message: '`mixinColor` was removed. Extend `KbqColorDirective` from @koobiq/components/core instead — it ' +
|
|
182
|
+
'exposes the same `color` input and `colorClassName` getter.'
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
pattern: '\\bCanColorCtor\\b',
|
|
186
|
+
message: '`CanColorCtor` was removed together with `mixinColor`, and so was the `CanColor` interface: type the ' +
|
|
187
|
+
'member `Signal<KbqComponentColors | string>`, or use `KbqColorDirective`.'
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
pattern: 'implements[^{]*\\bKbqFormFieldControl\\b',
|
|
191
|
+
message: '`KbqFormFieldControl` is signal-based: `value`, `id`, `placeholder`, `focused`, `empty`, `required`, ' +
|
|
192
|
+
'`disabled` and `errorState` are `Signal`s, and `stateChanges` was removed. A custom control exposes ' +
|
|
193
|
+
'its state as signals and drops `stateChanges`: the form field derives its own state from them.'
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
pattern: 'control\\(\\)\\??\\.stateChanges\\b',
|
|
197
|
+
message: 'The form field control no longer has `stateChanges`. Read its state signals in a `computed()` or an ' +
|
|
198
|
+
'`effect()` instead, or turn one into a stream with `toObservable()`.'
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
pattern: '\\bKbqErrorStateTracker\\b',
|
|
202
|
+
message: '`KbqErrorStateTracker` no longer takes a `stateChanges` subject, and its `errorState` is a ' +
|
|
203
|
+
'`Signal<boolean>`: call `updateErrorState()` from `ngDoCheck` and read `errorState()`.'
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
pattern: '\\bmixinErrorState\\s*\\(|\\bCanUpdateErrorStateCtor\\b',
|
|
207
|
+
message: 'The deprecated `mixinErrorState` and `CanUpdateErrorStateCtor` were removed. Track the error state ' +
|
|
208
|
+
'with `KbqErrorStateTracker` from @koobiq/components/core instead.'
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
pattern: '\\bCanUpdateErrorState\\b',
|
|
212
|
+
message: '`CanUpdateErrorState.errorState` is a `Signal<boolean>`, and the interface no longer declares ' +
|
|
213
|
+
'`errorStateMatcher`.'
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
pattern: '\\bKbqIconErrorStateContext\\b|\\bkbqIconErrorStateContextFactoryProvider\\b',
|
|
217
|
+
message: '`KbqIconErrorStateContext.errorState` is a `Signal<boolean>` and `stateChanges` was removed: ' +
|
|
218
|
+
'`KbqIcon` follows the signal.'
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
pattern: '\\bKBQ_FORM_FIELD_REF\\b',
|
|
222
|
+
message: '`KbqFormFieldRef.control` is no longer `any`: it is `Signal<KbqFormFieldControlRef>`. Reads written ' +
|
|
223
|
+
'as `formField.control.<member>` were silently `undefined` and now fail to compile — call the signal ' +
|
|
224
|
+
'first: `formField.control().<member>`.'
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
pattern: '\\bKbqA11yLocaleConfiguration\\b|\\bkbqA11yLocaleConfigurationProvider\\s*\\(',
|
|
228
|
+
message: '`KbqA11yLocaleConfiguration` gained three required keys — `clear`, `showPassword` and ' +
|
|
229
|
+
'`hidePassword` — for the accessible names of the form-field cleaner and password toggle. A custom ' +
|
|
230
|
+
'locale object literal has to provide them.'
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
pattern: '\\bKbqTrim\\b',
|
|
234
|
+
message: '`KbqTrim.trim` is now typed `(value: unknown) => unknown` instead of `any`. Assigning its result to ' +
|
|
235
|
+
'a typed variable needs a narrowing check or a cast.'
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
pattern: '<kbq-error[^>]*\\b(?:role|aria-live|aria-atomic)=',
|
|
239
|
+
message: '`kbq-error` now renders `role="alert"` and `aria-atomic="true"` itself, so the form field announces ' +
|
|
240
|
+
'validation errors. Drop the hand-rolled live-region attributes.'
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
pattern: '<kbq-cleaner[^>]*\\brole=',
|
|
244
|
+
message: '`kbq-cleaner` now renders `role="button"` and a localized `aria-label` itself. The explicit `role` ' +
|
|
245
|
+
'attribute is redundant.'
|
|
246
|
+
}
|
|
247
|
+
];
|
|
248
|
+
/**
|
|
249
|
+
* `KbqCleaner` exposes `aria-label` as a real input backed by a host binding, so an `[attr.aria-label]`
|
|
250
|
+
* written by the consumer is now overwritten by the component's localized default.
|
|
251
|
+
*/
|
|
252
|
+
const attributeRewrites = [
|
|
253
|
+
{
|
|
254
|
+
element: 'kbq-cleaner',
|
|
255
|
+
from: '[attr.aria-label]',
|
|
256
|
+
to: '[aria-label]',
|
|
257
|
+
reason: 'kbq-cleaner now owns the aria-label host binding'
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
element: 'kbq-cleaner',
|
|
261
|
+
from: 'attr.aria-label',
|
|
262
|
+
to: 'aria-label',
|
|
263
|
+
reason: 'kbq-cleaner now owns the aria-label host binding'
|
|
264
|
+
}
|
|
265
|
+
];
|
|
266
|
+
/** The misspelled `_fiedset-theme.scss` was renamed to `_fieldset-theme.scss`. */
|
|
267
|
+
const styleRewrites = [{ from: 'fiedset-theme', to: 'fieldset-theme' }];
|
|
268
|
+
|
|
269
|
+
exports.FORM_FIELD_CONTROL_TARGET = FORM_FIELD_CONTROL_TARGET;
|
|
270
|
+
exports.FORM_FIELD_TARGET = FORM_FIELD_TARGET;
|
|
271
|
+
exports.HINT_TARGET = HINT_TARGET;
|
|
272
|
+
exports.INPUT_CONTROL_TARGET = INPUT_CONTROL_TARGET;
|
|
273
|
+
exports.INPUT_PASSWORD_TARGET = INPUT_PASSWORD_TARGET;
|
|
274
|
+
exports.NULLABILITY_CHANGED_MEMBERS = NULLABILITY_CHANGED_MEMBERS;
|
|
275
|
+
exports.QUERY_LIST_MEMBERS = QUERY_LIST_MEMBERS;
|
|
276
|
+
exports.QUERY_LIST_ONLY_API = QUERY_LIST_ONLY_API;
|
|
277
|
+
exports.READ_ONLY_INPUT_MEMBERS = READ_ONLY_INPUT_MEMBERS;
|
|
278
|
+
exports.READ_ONLY_QUERY_MEMBERS = READ_ONLY_QUERY_MEMBERS;
|
|
279
|
+
exports.READ_ONLY_STATE_MEMBERS = READ_ONLY_STATE_MEMBERS;
|
|
280
|
+
exports.READ_ONLY_STATE_MESSAGE = READ_ONLY_STATE_MESSAGE;
|
|
281
|
+
exports.READ_ONLY_VALUE_CONTROL_TARGET = READ_ONLY_VALUE_CONTROL_TARGET;
|
|
282
|
+
exports.REMOVED_MEMBERS_MESSAGE = REMOVED_MEMBERS_MESSAGE;
|
|
283
|
+
exports.TAG_INPUT_TARGET = TAG_INPUT_TARGET;
|
|
284
|
+
exports.TARGETS = TARGETS;
|
|
285
|
+
exports.WRITABLE_VALUE_CONTROL_TARGET = WRITABLE_VALUE_CONTROL_TARGET;
|
|
286
|
+
exports.attributeRewrites = attributeRewrites;
|
|
287
|
+
exports.styleRewrites = styleRewrites;
|
|
288
|
+
exports.warnPatterns = warnPatterns;
|