@koobiq/components 20.4.2 → 21.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion-trigger.scss +3 -10
- package/accordion/accordion.scss +4 -6
- package/actions-panel/actions-panel-container.scss +45 -1
- package/alert/alert.component.scss +3 -2
- package/app-switcher/_app-switcher-theme.scss +0 -4
- package/app-switcher/app-switcher-dropdown-app.scss +3 -2
- package/app-switcher/app-switcher-dropdown-site.scss +2 -1
- package/app-switcher/{kbq-app-switcher-list-item.scss → app-switcher-list-item.scss} +18 -4
- package/app-switcher/app-switcher-tokens.scss +15 -0
- package/app-switcher/app-switcher.scss +14 -4
- package/autocomplete/autocomplete.scss +7 -6
- package/badge/badge.component.scss +5 -8
- package/breadcrumbs/breadcrumbs.scss +25 -10
- package/button/_button-base.scss +30 -7
- package/button/_button-theme.scss +16 -0
- package/button/button-group.scss +7 -0
- package/button/button-tokens.scss +0 -2
- package/button/button.scss +34 -2
- package/button-toggle/_button-toggle-theme.scss +7 -2
- package/button-toggle/button-toggle.scss +65 -15
- package/checkbox/_checkbox-theme.scss +4 -3
- package/checkbox/checkbox.scss +3 -6
- package/clamped-text/clamped-text.scss +6 -2
- package/code-block/code-block-tokens.scss +0 -224
- package/code-block/code-block.scss +20 -9
- package/content-panel/content-panel-aside.scss +3 -2
- package/content-panel/content-panel-container.scss +37 -0
- package/content-panel/content-panel.scss +4 -3
- package/core/highlight/_highlight-theme.scss +3 -1
- package/core/option/action-container.scss +2 -2
- package/core/option/action.scss +2 -1
- package/core/option/option.scss +2 -1
- package/core/pop-up/_pop-up.scss +0 -37
- package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +5 -10
- package/core/styles/_core.scss +3 -0
- package/core/styles/_koobiq-theme.scss +5 -6
- package/core/styles/common/_animation.scss +44 -16
- package/core/styles/common/_groups-mixins.scss +21 -19
- package/core/styles/common/_groups.scss +4 -32
- package/core/styles/common/_index.scss +0 -2
- package/core/styles/common/_link.scss +117 -0
- package/core/styles/common/_list.scss +0 -26
- package/core/styles/common/_overlay.scss +8 -10
- package/core/styles/common/_rtl.scss +0 -14
- package/core/styles/common/_select.scss +33 -15
- package/core/styles/common/_squircle.scss +63 -0
- package/core/styles/common/_tokens.scss +0 -11
- package/core/styles/common/_vendor-prefixes.scss +0 -20
- package/core/styles/functions/_timing.scss +0 -22
- package/core/styles/theming/_scrollbar-theme.scss +6 -1
- package/core/styles/theming/_theming.scss +13 -65
- package/core/styles/typography/_index.scss +0 -1
- package/core/styles/typography/_typography.scss +0 -143
- package/core/styles/visual/_body.scss +1 -6
- package/core/styles/visual/_layout.scss +0 -12
- package/datepicker/calendar-body.scss +3 -1
- package/datepicker/calendar-header.scss +0 -1
- package/datepicker/datepicker-content.scss +33 -1
- package/datepicker/datepicker-toggle.scss +0 -38
- package/dl/dl-tokens.scss +10 -0
- package/dl/dl.scss +113 -13
- package/dropdown/_dropdown-theme.scss +4 -16
- package/dropdown/dropdown-item.scss +4 -10
- package/dropdown/dropdown.scss +2 -1
- package/empty-state/_empty-state-theme.scss +10 -4
- package/empty-state/empty-state-tokens.scss +4 -4
- package/empty-state/empty-state.scss +4 -0
- package/fesm2022/koobiq-components-accordion.mjs +347 -229
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +302 -187
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +39 -39
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +677 -367
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +620 -253
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +46 -48
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +221 -169
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +565 -196
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +332 -116
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +172 -132
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +165 -158
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +755 -601
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +260 -143
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +4342 -1595
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +1713 -1606
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +73 -36
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +447 -89
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +703 -599
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +20 -20
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +46 -31
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +116 -60
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +550 -290
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +2810 -2538
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-flag.mjs +79 -24
- package/fesm2022/koobiq-components-flag.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +389 -525
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +366 -136
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +429 -212
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +601 -459
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link-deprecated.mjs +196 -0
- package/fesm2022/koobiq-components-link-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-link.mjs +328 -125
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +583 -433
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +167 -68
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +55 -78
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +853 -475
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +895 -556
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +680 -310
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +46 -64
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +684 -285
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +87 -33
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +52 -43
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +450 -231
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +127 -21
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar-deprecated.mjs +299 -0
- package/fesm2022/koobiq-components-scrollbar-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-scrollbar.mjs +745 -222
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +288 -126
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +883 -693
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +207 -88
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +689 -296
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-skeleton.mjs +815 -41
- package/fesm2022/koobiq-components-skeleton.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +109 -88
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter-deprecated.mjs +591 -0
- package/fesm2022/koobiq-components-splitter-deprecated.mjs.map +1 -0
- package/fesm2022/koobiq-components-splitter.mjs +890 -501
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +63 -49
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +1062 -603
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +886 -733
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +213 -185
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +299 -147
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +233 -245
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +344 -142
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +229 -145
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +463 -143
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +177 -130
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +657 -214
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +61 -32
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +719 -488
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +1506 -558
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +290 -135
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/dropzone.scss +31 -3
- package/file-upload/file-upload-tokens.scss +2 -22
- package/file-upload/file-upload.scss +6 -0
- package/file-upload/multiple-file-upload.component.scss +14 -12
- package/file-upload/single-file-upload.component.scss +3 -2
- package/filter-bar/filters.scss +7 -0
- package/filter-bar/pipes/base-pipe.scss +3 -3
- package/filter-bar/pipes/pipe-date.scss +8 -1
- package/flag/flag-tokens.scss +22 -0
- package/flag/flag.scss +34 -21
- package/form-field/{_fiedset-theme.scss → _fieldset-theme.scss} +1 -5
- package/form-field/_form-field-theme.scss +4 -9
- package/form-field/cleaner.scss +3 -1
- package/form-field/fieldset.scss +3 -4
- package/form-field/form-field.scss +26 -21
- package/form-field/password-toggle.scss +3 -1
- package/icon/_icon-button-theme.scss +7 -0
- package/icon/_icon-theme.scss +10 -7
- package/icon/icon-button.scss +0 -2
- package/icon/icon-tokens.scss +12 -9
- package/inline-edit/inline-edit.scss +40 -54
- package/input/input.scss +4 -0
- package/link/{_link-theme.scss → deprecated/_link-theme.scss} +11 -6
- package/link/deprecated/link-tokens.scss +27 -0
- package/link/link-tokens.scss +6 -25
- package/link/link.scss +137 -0
- package/list/list.scss +3 -2
- package/loader-overlay/_loader-overlay-theme.scss +19 -10
- package/loader-overlay/loader-overlay-tokens.scss +0 -2
- package/loader-overlay/loader-overlay.scss +7 -1
- package/markdown/_markdown-theme.scss +16 -0
- package/markdown/markdown-tokens.scss +5 -0
- package/markdown/markdown.scss +2 -1
- package/modal/_modal-animation.scss +23 -14
- package/modal/modal-tokens.scss +2 -1
- package/modal/modal.scss +35 -31
- package/navbar/_navbar-item_horizontal.scss +8 -6
- package/navbar/_navbar-item_vertical.scss +18 -6
- package/navbar/_navbar-theme.scss +9 -1
- package/navbar/navbar-brand.scss +8 -6
- package/navbar/navbar-divider.scss +1 -1
- package/navbar/navbar-item.scss +8 -9
- package/navbar/navbar-toggle.scss +3 -3
- package/navbar/navbar-tokens.scss +14 -0
- package/navbar/navbar.scss +1 -2
- package/navbar/vertical-navbar.scss +2 -2
- package/notification-center/_notification-center-theme.scss +11 -6
- package/notification-center/notification-center-tokens.scss +33 -0
- package/notification-center/notification-center.scss +58 -20
- package/notification-center/notification-item.scss +15 -6
- package/package.json +112 -81
- package/popover/popover-tokens.scss +0 -2
- package/popover/popover.scss +41 -19
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/_progress-bar-theme.scss +20 -3
- package/progress-bar/progress-bar-tokens.scss +3 -0
- package/progress-bar/progress-bar.scss +36 -8
- package/progress-spinner/progress-spinner.scss +4 -3
- package/radio/_radio-theme.scss +21 -4
- package/radio/radio-tokens.scss +7 -3
- package/radio/radio.scss +55 -8
- package/schematics/collection.json +399 -7
- package/schematics/migrations/accordion-state-saving-default/README.md +60 -0
- package/schematics/migrations/accordion-state-saving-default/data.js +75 -0
- package/schematics/migrations/accordion-state-saving-default/index.js +60 -0
- package/schematics/migrations/accordion-state-saving-default/schema.json +15 -0
- package/schematics/migrations/actions-panel-overlay-container/README.md +35 -0
- package/schematics/migrations/actions-panel-overlay-container/data.js +47 -0
- package/schematics/migrations/actions-panel-overlay-container/index.js +54 -0
- package/schematics/migrations/actions-panel-overlay-container/schema.json +15 -0
- package/schematics/migrations/alert-signals/README.md +13 -7
- package/schematics/migrations/alert-signals/data.js +3 -0
- package/schematics/migrations/alert-signals/index.js +70 -203
- package/schematics/migrations/angular-animations-removal/README.md +46 -0
- package/schematics/migrations/angular-animations-removal/data.js +150 -0
- package/schematics/migrations/angular-animations-removal/index.js +20 -0
- package/schematics/migrations/angular-animations-removal/schema.json +15 -0
- package/schematics/migrations/app-switcher-signals/README.md +88 -0
- package/schematics/migrations/app-switcher-signals/data.js +136 -0
- package/schematics/migrations/app-switcher-signals/index.js +365 -0
- package/schematics/migrations/app-switcher-signals/schema.json +20 -0
- package/schematics/migrations/autocomplete-panel-width-auto/README.md +2 -2
- package/schematics/migrations/autocomplete-panel-width-auto/index.js +1 -1
- package/schematics/migrations/autocomplete-signals/README.md +92 -0
- package/schematics/migrations/autocomplete-signals/data.js +149 -0
- package/schematics/migrations/autocomplete-signals/index.js +706 -0
- package/schematics/migrations/autocomplete-signals/schema.json +20 -0
- package/schematics/migrations/badge-signals/README.md +77 -0
- package/schematics/migrations/badge-signals/data.js +109 -0
- package/schematics/migrations/badge-signals/index.js +693 -0
- package/schematics/migrations/badge-signals/schema.json +20 -0
- package/schematics/migrations/button-state-and-styles/README.md +129 -0
- package/schematics/migrations/button-state-and-styles/data.js +136 -0
- package/schematics/migrations/button-state-and-styles/index.js +220 -0
- package/schematics/migrations/button-state-and-styles/schema.json +20 -0
- package/schematics/migrations/button-supported-colors/README.md +73 -0
- package/schematics/migrations/button-supported-colors/data.js +106 -0
- package/schematics/migrations/button-supported-colors/index.js +260 -0
- package/schematics/migrations/button-supported-colors/schema.json +20 -0
- package/schematics/migrations/button-toggle-signals-and-aria/README.md +137 -0
- package/schematics/migrations/button-toggle-signals-and-aria/data.js +200 -0
- package/schematics/migrations/button-toggle-signals-and-aria/index.js +496 -0
- package/schematics/migrations/button-toggle-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/button-truncation/README.md +110 -0
- package/schematics/migrations/button-truncation/data.js +88 -0
- package/schematics/migrations/button-truncation/index.js +269 -0
- package/schematics/migrations/button-truncation/schema.json +20 -0
- package/schematics/migrations/checkbox-signals/README.md +76 -0
- package/schematics/migrations/checkbox-signals/data.js +114 -0
- package/schematics/migrations/checkbox-signals/index.js +634 -0
- package/schematics/migrations/checkbox-signals/schema.json +20 -0
- package/schematics/migrations/clamped-text-disclosure/README.md +62 -0
- package/schematics/migrations/clamped-text-disclosure/data.js +101 -0
- package/schematics/migrations/clamped-text-disclosure/index.js +59 -0
- package/schematics/migrations/clamped-text-disclosure/schema.json +15 -0
- package/schematics/migrations/code-block-signals/README.md +84 -0
- package/schematics/migrations/code-block-signals/data.js +121 -0
- package/schematics/migrations/code-block-signals/index.js +700 -0
- package/schematics/migrations/code-block-signals/schema.json +20 -0
- package/schematics/migrations/color-signals/README.md +46 -0
- package/schematics/migrations/color-signals/data.js +131 -0
- package/schematics/migrations/color-signals/index.js +19 -0
- package/schematics/migrations/color-signals/schema.json +20 -0
- package/schematics/migrations/core-mixins-removal/README.md +20 -0
- package/schematics/migrations/core-mixins-removal/data.js +27 -0
- package/schematics/migrations/core-mixins-removal/index.js +17 -0
- package/schematics/migrations/core-mixins-removal/schema.json +15 -0
- package/schematics/migrations/css-selectors/README.md +2 -2
- package/schematics/migrations/css-selectors/index.js +1 -1
- package/schematics/migrations/datepicker-signals/README.md +24 -0
- package/schematics/migrations/datepicker-signals/data.js +49 -0
- package/schematics/migrations/datepicker-signals/index.js +17 -0
- package/schematics/migrations/datepicker-signals/schema.json +15 -0
- package/schematics/migrations/deprecated-icons/README.md +2 -2
- package/schematics/migrations/deprecated-icons/index.js +1 -1
- package/schematics/migrations/design-tokens-v4/README.md +75 -0
- package/schematics/migrations/design-tokens-v4/index.js +59 -0
- package/schematics/migrations/design-tokens-v4/schema.json +15 -0
- package/schematics/migrations/divider-signals-and-aria/README.md +47 -0
- package/schematics/migrations/divider-signals-and-aria/data.js +62 -0
- package/schematics/migrations/divider-signals-and-aria/index.js +211 -0
- package/schematics/migrations/divider-signals-and-aria/schema.json +15 -0
- package/schematics/migrations/dl-attribute-coercion/README.md +59 -0
- package/schematics/migrations/dl-attribute-coercion/data.js +85 -0
- package/schematics/migrations/dl-attribute-coercion/index.js +161 -0
- package/schematics/migrations/dl-attribute-coercion/schema.json +15 -0
- package/schematics/migrations/dl-standalone-names/README.md +49 -0
- package/schematics/migrations/dl-standalone-names/data.js +44 -0
- package/schematics/migrations/dl-standalone-names/index.js +321 -0
- package/schematics/migrations/dl-standalone-names/schema.json +20 -0
- package/schematics/migrations/dropdown-demote-overlay/README.md +137 -0
- package/schematics/migrations/dropdown-demote-overlay/data.js +84 -0
- package/schematics/migrations/dropdown-demote-overlay/index.js +288 -0
- package/schematics/migrations/dropdown-demote-overlay/schema.json +20 -0
- package/schematics/migrations/dropdown-signals/README.md +83 -0
- package/schematics/migrations/dropdown-signals/data.js +152 -0
- package/schematics/migrations/dropdown-signals/index.js +19 -0
- package/schematics/migrations/dropdown-signals/schema.json +20 -0
- package/schematics/migrations/empty-state-error-color/README.md +84 -0
- package/schematics/migrations/empty-state-error-color/data.js +85 -0
- package/schematics/migrations/empty-state-error-color/index.js +71 -0
- package/schematics/migrations/empty-state-error-color/schema.json +15 -0
- package/schematics/migrations/empty-state-size-attr/README.md +2 -2
- package/schematics/migrations/empty-state-size-attr/index.js +1 -1
- package/schematics/migrations/file-upload-cva-and-primitives/README.md +70 -0
- package/schematics/migrations/file-upload-cva-and-primitives/data.js +97 -0
- package/schematics/migrations/file-upload-cva-and-primitives/index.js +60 -0
- package/schematics/migrations/file-upload-cva-and-primitives/schema.json +15 -0
- package/schematics/migrations/file-upload-deprecated-outputs/README.md +90 -0
- package/schematics/migrations/file-upload-deprecated-outputs/data.js +20 -0
- package/schematics/migrations/file-upload-deprecated-outputs/index.js +70 -0
- package/schematics/migrations/file-upload-deprecated-outputs/schema.json +20 -0
- package/schematics/migrations/filter-bar-rename-action/README.md +183 -0
- package/schematics/migrations/filter-bar-rename-action/data.js +151 -0
- package/schematics/migrations/filter-bar-rename-action/index.js +177 -0
- package/schematics/migrations/filter-bar-rename-action/schema.json +20 -0
- package/schematics/migrations/filter-bar-signals/README.md +27 -16
- package/schematics/migrations/filter-bar-signals/data.js +1 -2
- package/schematics/migrations/filter-bar-signals/index.js +100 -195
- package/schematics/migrations/filter-bar-state-saving-default/README.md +53 -0
- package/schematics/migrations/filter-bar-state-saving-default/data.js +87 -0
- package/schematics/migrations/filter-bar-state-saving-default/index.js +61 -0
- package/schematics/migrations/filter-bar-state-saving-default/schema.json +15 -0
- package/schematics/migrations/flag-inner-html/README.md +67 -0
- package/schematics/migrations/flag-inner-html/data.js +58 -0
- package/schematics/migrations/flag-inner-html/index.js +61 -0
- package/schematics/migrations/flag-inner-html/schema.json +15 -0
- package/schematics/migrations/form-field-signals/README.md +125 -0
- package/schematics/migrations/form-field-signals/data.js +288 -0
- package/schematics/migrations/form-field-signals/index.js +382 -0
- package/schematics/migrations/form-field-signals/schema.json +20 -0
- package/schematics/migrations/icon-semantics-and-api/README.md +65 -0
- package/schematics/migrations/icon-semantics-and-api/data.js +97 -0
- package/schematics/migrations/icon-semantics-and-api/index.js +64 -0
- package/schematics/migrations/icon-semantics-and-api/schema.json +15 -0
- package/schematics/migrations/icons-replacement/README.md +5 -5
- package/schematics/migrations/icons-replacement/index.js +1 -1
- package/schematics/migrations/inline-edit-a11y-and-types/README.md +82 -0
- package/schematics/migrations/inline-edit-a11y-and-types/data.js +117 -0
- package/schematics/migrations/inline-edit-a11y-and-types/index.js +97 -0
- package/schematics/migrations/inline-edit-a11y-and-types/schema.json +20 -0
- package/schematics/migrations/input-number-surface/README.md +140 -0
- package/schematics/migrations/input-number-surface/data.js +135 -0
- package/schematics/migrations/input-number-surface/index.js +292 -0
- package/schematics/migrations/input-number-surface/schema.json +20 -0
- package/schematics/migrations/input-signals/README.md +20 -0
- package/schematics/migrations/input-signals/data.js +30 -0
- package/schematics/migrations/input-signals/index.js +17 -0
- package/schematics/migrations/input-signals/schema.json +15 -0
- package/schematics/migrations/link-deprecated-path/README.md +144 -0
- package/schematics/migrations/link-deprecated-path/index.js +19 -0
- package/schematics/migrations/link-deprecated-path/schema.json +20 -0
- package/schematics/migrations/link-signals/README.md +71 -0
- package/schematics/migrations/link-signals/data.js +116 -0
- package/schematics/migrations/link-signals/index.js +415 -0
- package/schematics/migrations/link-signals/schema.json +20 -0
- package/schematics/migrations/list-signals/README.md +22 -0
- package/schematics/migrations/list-signals/data.js +35 -0
- package/schematics/migrations/list-signals/index.js +17 -0
- package/schematics/migrations/list-signals/schema.json +15 -0
- package/schematics/migrations/list-tree-multiple-input/README.md +105 -0
- package/schematics/migrations/list-tree-multiple-input/data.js +74 -0
- package/schematics/migrations/list-tree-multiple-input/index.js +221 -0
- package/schematics/migrations/list-tree-multiple-input/schema.json +20 -0
- package/schematics/migrations/loader-overlay-signals/README.md +62 -0
- package/schematics/migrations/loader-overlay-signals/data.js +101 -0
- package/schematics/migrations/loader-overlay-signals/index.js +697 -0
- package/schematics/migrations/loader-overlay-signals/schema.json +20 -0
- package/schematics/migrations/loader-overlay-size-attr/README.md +2 -2
- package/schematics/migrations/loader-overlay-size-attr/index.js +1 -1
- package/schematics/migrations/locale-configuration-providers/README.md +163 -0
- package/schematics/migrations/locale-configuration-providers/data.js +257 -0
- package/schematics/migrations/locale-configuration-providers/index.js +294 -0
- package/schematics/migrations/locale-configuration-providers/schema.json +20 -0
- package/schematics/migrations/mandatory-peer-dependencies/README.md +70 -0
- package/schematics/migrations/mandatory-peer-dependencies/index.js +42 -0
- package/schematics/migrations/mandatory-peer-dependencies/schema.json +15 -0
- package/schematics/migrations/markdown-signals/README.md +58 -0
- package/schematics/migrations/markdown-signals/data.js +79 -0
- package/schematics/migrations/markdown-signals/index.js +639 -0
- package/schematics/migrations/markdown-signals/schema.json +20 -0
- package/schematics/migrations/modal-dialog-semantics/README.md +106 -0
- package/schematics/migrations/modal-dialog-semantics/data.js +110 -0
- package/schematics/migrations/modal-dialog-semantics/index.js +58 -0
- package/schematics/migrations/modal-dialog-semantics/schema.json +15 -0
- package/schematics/migrations/modal-signals/README.md +88 -0
- package/schematics/migrations/modal-signals/data.js +132 -0
- package/schematics/migrations/modal-signals/index.js +19 -0
- package/schematics/migrations/modal-signals/schema.json +20 -0
- package/schematics/migrations/navbar-signals-and-aria/README.md +111 -0
- package/schematics/migrations/navbar-signals-and-aria/data.js +198 -0
- package/schematics/migrations/navbar-signals-and-aria/index.js +568 -0
- package/schematics/migrations/navbar-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/new-icons-pack/README.md +10 -10
- package/schematics/migrations/new-icons-pack/index.js +1 -1
- package/schematics/migrations/notification-center-signals/README.md +67 -0
- package/schematics/migrations/notification-center-signals/data.js +66 -0
- package/schematics/migrations/notification-center-signals/index.js +61 -0
- package/schematics/migrations/notification-center-signals/schema.json +15 -0
- package/schematics/migrations/option-signals/README.md +37 -0
- package/schematics/migrations/option-signals/data.js +86 -0
- package/schematics/migrations/option-signals/index.js +19 -0
- package/schematics/migrations/option-signals/schema.json +20 -0
- package/schematics/migrations/popover-leave-delay/README.md +51 -0
- package/schematics/migrations/popover-leave-delay/data.js +61 -0
- package/schematics/migrations/popover-leave-delay/index.js +54 -0
- package/schematics/migrations/popover-leave-delay/schema.json +15 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/README.md +54 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/data.js +76 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/index.js +58 -0
- package/schematics/migrations/progress-bar-percentage-and-aria/schema.json +15 -0
- package/schematics/migrations/progress-spinner-signals/README.md +72 -0
- package/schematics/migrations/progress-spinner-signals/data.js +83 -0
- package/schematics/migrations/progress-spinner-signals/index.js +694 -0
- package/schematics/migrations/progress-spinner-signals/schema.json +20 -0
- package/schematics/migrations/query-list-signals/README.md +32 -0
- package/schematics/migrations/query-list-signals/data.js +70 -0
- package/schematics/migrations/query-list-signals/index.js +17 -0
- package/schematics/migrations/query-list-signals/schema.json +15 -0
- package/schematics/migrations/radio-signals-and-aria/README.md +82 -0
- package/schematics/migrations/radio-signals-and-aria/data.js +163 -0
- package/schematics/migrations/radio-signals-and-aria/index.js +39 -0
- package/schematics/migrations/radio-signals-and-aria/schema.json +20 -0
- package/schematics/migrations/read-state-dwell-handlers/README.md +125 -0
- package/schematics/migrations/read-state-dwell-handlers/data.js +45 -0
- package/schematics/migrations/read-state-dwell-handlers/index.js +215 -0
- package/schematics/migrations/read-state-dwell-handlers/schema.json +20 -0
- package/schematics/migrations/scrollbar-deprecated-path/README.md +128 -0
- package/schematics/migrations/scrollbar-deprecated-path/index.js +20 -0
- package/schematics/migrations/scrollbar-deprecated-path/schema.json +20 -0
- package/schematics/migrations/select-signal-inputs/README.md +61 -0
- package/schematics/migrations/select-signal-inputs/data.js +99 -0
- package/schematics/migrations/select-signal-inputs/index.js +57 -0
- package/schematics/migrations/select-signal-inputs/schema.json +15 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/README.md +57 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/data.js +111 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/index.js +57 -0
- package/schematics/migrations/sidepanel-non-modal-behavior/schema.json +15 -0
- package/schematics/migrations/signal-inputs-subclasses/README.md +28 -0
- package/schematics/migrations/signal-inputs-subclasses/data.js +69 -0
- package/schematics/migrations/signal-inputs-subclasses/index.js +17 -0
- package/schematics/migrations/signal-inputs-subclasses/schema.json +15 -0
- package/schematics/migrations/split-button-optional-disabled/README.md +47 -0
- package/schematics/migrations/split-button-optional-disabled/data.js +53 -0
- package/schematics/migrations/split-button-optional-disabled/index.js +57 -0
- package/schematics/migrations/split-button-optional-disabled/schema.json +15 -0
- package/schematics/migrations/splitter-deprecated-path/README.md +136 -0
- package/schematics/migrations/splitter-deprecated-path/index.js +20 -0
- package/schematics/migrations/splitter-deprecated-path/schema.json +20 -0
- package/schematics/migrations/state-saving-default/README.md +67 -0
- package/schematics/migrations/state-saving-default/data.js +88 -0
- package/schematics/migrations/state-saving-default/index.js +62 -0
- package/schematics/migrations/state-saving-default/schema.json +15 -0
- package/schematics/migrations/table-cell-content/README.md +55 -0
- package/schematics/migrations/table-cell-content/data.js +66 -0
- package/schematics/migrations/table-cell-content/index.js +66 -0
- package/schematics/migrations/table-cell-content/schema.json +15 -0
- package/schematics/migrations/tabs-signals-and-aria/README.md +93 -0
- package/schematics/migrations/tabs-signals-and-aria/data.js +139 -0
- package/schematics/migrations/tabs-signals-and-aria/index.js +65 -0
- package/schematics/migrations/tabs-signals-and-aria/schema.json +15 -0
- package/schematics/migrations/tag-list-cleaner/README.md +58 -0
- package/schematics/migrations/tag-list-cleaner/data.js +42 -0
- package/schematics/migrations/tag-list-cleaner/index.js +196 -0
- package/schematics/migrations/tag-list-cleaner/schema.json +20 -0
- package/schematics/migrations/tag-slots/README.md +41 -0
- package/schematics/migrations/tag-slots/index.js +190 -0
- package/schematics/migrations/tag-slots/schema.json +20 -0
- package/schematics/migrations/tags-signals/README.md +85 -0
- package/schematics/migrations/tags-signals/data.js +103 -0
- package/schematics/migrations/tags-signals/index.js +673 -0
- package/schematics/migrations/tags-signals/schema.json +20 -0
- package/schematics/migrations/textarea-signals/README.md +72 -0
- package/schematics/migrations/textarea-signals/data.js +121 -0
- package/schematics/migrations/textarea-signals/index.js +379 -0
- package/schematics/migrations/textarea-signals/schema.json +20 -0
- package/schematics/migrations/time-range-title-for/README.md +164 -0
- package/schematics/migrations/time-range-title-for/data.js +139 -0
- package/schematics/migrations/time-range-title-for/index.js +163 -0
- package/schematics/migrations/time-range-title-for/schema.json +20 -0
- package/schematics/migrations/timepicker-signals/README.md +78 -0
- package/schematics/migrations/timepicker-signals/data.js +82 -0
- package/schematics/migrations/timepicker-signals/index.js +709 -0
- package/schematics/migrations/timepicker-signals/schema.json +20 -0
- package/schematics/migrations/timezone-grouping-utils/README.md +73 -0
- package/schematics/migrations/timezone-grouping-utils/data.js +101 -0
- package/schematics/migrations/timezone-grouping-utils/index.js +64 -0
- package/schematics/migrations/timezone-grouping-utils/schema.json +15 -0
- package/schematics/migrations/title-encapsulation/README.md +49 -0
- package/schematics/migrations/title-encapsulation/data.js +69 -0
- package/schematics/migrations/title-encapsulation/index.js +57 -0
- package/schematics/migrations/title-encapsulation/schema.json +15 -0
- package/schematics/migrations/toast-stack-and-defaults/README.md +102 -0
- package/schematics/migrations/toast-stack-and-defaults/data.js +79 -0
- package/schematics/migrations/toast-stack-and-defaults/index.js +53 -0
- package/schematics/migrations/toast-stack-and-defaults/schema.json +15 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/README.md +53 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/data.js +89 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/index.js +60 -0
- package/schematics/migrations/tooltip-pointer-events-and-types/schema.json +15 -0
- package/schematics/migrations/top-bar-container-selectors/README.md +111 -0
- package/schematics/migrations/top-bar-container-selectors/data.js +56 -0
- package/schematics/migrations/top-bar-container-selectors/index.js +84 -0
- package/schematics/migrations/top-bar-container-selectors/schema.json +20 -0
- package/schematics/migrations/tree-select-signals/README.md +61 -0
- package/schematics/migrations/tree-select-signals/data.js +106 -0
- package/schematics/migrations/tree-select-signals/index.js +58 -0
- package/schematics/migrations/tree-select-signals/schema.json +15 -0
- package/schematics/migrations/tree-signals/README.md +82 -0
- package/schematics/migrations/tree-signals/data.js +123 -0
- package/schematics/migrations/tree-signals/index.js +54 -0
- package/schematics/migrations/tree-signals/schema.json +15 -0
- package/schematics/migrations/tree-state-saving-default/README.md +66 -0
- package/schematics/migrations/tree-state-saving-default/data.js +78 -0
- package/schematics/migrations/tree-state-saving-default/index.js +60 -0
- package/schematics/migrations/tree-state-saving-default/schema.json +15 -0
- package/schematics/migrations/username-pipe-injection/README.md +59 -0
- package/schematics/migrations/username-pipe-injection/data.js +78 -0
- package/schematics/migrations/username-pipe-injection/index.js +58 -0
- package/schematics/migrations/username-pipe-injection/schema.json +15 -0
- package/schematics/migrations/v20-upgrade/README.md +36 -16
- package/schematics/migrations/v20-upgrade/data.js +124 -77
- package/schematics/migrations/v20-upgrade/index.js +6 -213
- package/schematics/migrations/v21-upgrade/README.md +271 -0
- package/schematics/migrations/v21-upgrade/data.js +1371 -0
- package/schematics/migrations/v21-upgrade/index.js +94 -0
- package/schematics/migrations/v21-upgrade/schema.json +20 -0
- package/schematics/migrations/zoneless-change-detection/README.md +30 -0
- package/schematics/migrations/zoneless-change-detection/data.js +29 -0
- package/schematics/migrations/zoneless-change-detection/index.js +20 -0
- package/schematics/migrations/zoneless-change-detection/schema.json +15 -0
- package/schematics/migrations.json +392 -2
- package/schematics/ng-add/index.js +515 -14
- package/schematics/ng-add/schema.json +15 -0
- package/schematics/utils/deprecated-path-migration.js +61 -0
- package/schematics/utils/package-config.js +9 -105
- package/scrollbar/{_scrollbar-component-theme.scss → deprecated/_scrollbar-component-theme.scss} +1 -1
- package/scrollbar/{scrollbar.component.scss → deprecated/scrollbar.component.scss} +1 -1
- package/scrollbar/native-scrollbar.scss +68 -0
- package/scrollbar/scrollbar-tokens.scss +13 -22
- package/scrollbar/scrollbar-track.scss +94 -0
- package/scrollbar/scrollbar-viewport.scss +33 -0
- package/scrollbar/scrollbar.scss +24 -0
- package/search-expandable/search-expandable-tokens.scss +4 -0
- package/search-expandable/search-expandable.scss +4 -2
- package/select/_select-theme.scss +3 -16
- package/select/select.scss +0 -6
- package/sidebar/sidebar.scss +20 -0
- package/sidepanel/_sidepanel-theme.scss +1 -1
- package/sidepanel/sidepanel-tokens.scss +7 -1
- package/sidepanel/sidepanel.scss +41 -5
- package/skeleton/skeleton-presets.scss +350 -0
- package/skeleton/skeleton-tokens.scss +127 -0
- package/skeleton/skeleton.scss +53 -45
- package/split-button/_split-button-theme.scss +4 -4
- package/split-button/split-button.scss +2 -6
- package/splitter/{_splitter-theme.scss → deprecated/_splitter-theme.scss} +1 -1
- package/splitter/deprecated/splitter.scss +51 -0
- package/splitter/splitter-tokens.scss +19 -0
- package/splitter/splitter.scss +148 -28
- package/table/_table-theme.scss +13 -12
- package/table/table-tokens.scss +8 -0
- package/table/table.scss +47 -22
- package/tabs/_tabs-common.scss +14 -14
- package/tabs/_tabs-theme.scss +4 -5
- package/tabs/tab-body.scss +49 -1
- package/tabs/tab-header.scss +2 -1
- package/tags/tag-list.scss +4 -0
- package/tags/tag.scss +19 -1
- package/time-range/time-range.scss +9 -0
- package/timezone/timezone-option.component.scss +4 -7
- package/timezone/timezone-select.component.scss +3 -0
- package/toast/_toast-theme.scss +1 -4
- package/toast/toast-container.component.scss +19 -13
- package/toast/toast-tokens.scss +12 -6
- package/toast/toast.component.scss +42 -19
- package/toggle/_toggle-theme.scss +4 -10
- package/toggle/toggle.scss +67 -26
- package/tooltip/_tooltip-theme.scss +7 -1
- package/tooltip/tooltip-tokens.scss +1 -2
- package/tooltip/tooltip.scss +55 -9
- package/top-bar/top-bar-tokens.scss +13 -2
- package/top-bar/top-bar.scss +24 -19
- package/tree/_tree-theme.scss +0 -1
- package/tree/toggle.scss +5 -9
- package/tree/tree-option.scss +2 -4
- package/tree/tree-tokens.scss +2 -1
- package/tree/tree.scss +3 -5
- package/tree-select/_tree-select-theme.scss +4 -15
- package/tree-select/tree-select-tokens.scss +16 -0
- package/tree-select/tree-select.scss +0 -6
- package/{accordion/index.d.ts → types/koobiq-components-accordion.d.ts} +102 -84
- package/{actions-panel/index.d.ts → types/koobiq-components-actions-panel.d.ts} +44 -59
- package/{alert/index.d.ts → types/koobiq-components-alert.d.ts} +8 -3
- package/types/koobiq-components-app-switcher.d.ts +406 -0
- package/types/koobiq-components-autocomplete.d.ts +443 -0
- package/{badge/index.d.ts → types/koobiq-components-badge.d.ts} +25 -20
- package/{breadcrumbs/index.d.ts → types/koobiq-components-breadcrumbs.d.ts} +97 -46
- package/types/koobiq-components-button-toggle.d.ts +340 -0
- package/types/koobiq-components-button.d.ts +296 -0
- package/types/koobiq-components-checkbox.d.ts +172 -0
- package/types/koobiq-components-clamped-text.d.ts +184 -0
- package/{code-block/index.d.ts → types/koobiq-components-code-block.d.ts} +114 -79
- package/{content-panel/index.d.ts → types/koobiq-components-content-panel.d.ts} +81 -25
- package/{core/index.d.ts → types/koobiq-components-core.d.ts} +2827 -865
- package/{datepicker/index.d.ts → types/koobiq-components-datepicker.d.ts} +161 -116
- package/types/koobiq-components-divider.d.ts +43 -0
- package/types/koobiq-components-dl.d.ts +235 -0
- package/{dropdown/index.d.ts → types/koobiq-components-dropdown.d.ts} +245 -239
- package/types/koobiq-components-ellipsis-center.d.ts +85 -0
- package/types/koobiq-components-empty-state.d.ts +106 -0
- package/{file-upload/index.d.ts → types/koobiq-components-file-upload.d.ts} +214 -107
- package/{filter-bar/index.d.ts → types/koobiq-components-filter-bar.d.ts} +410 -495
- package/types/koobiq-components-flag.d.ts +68 -0
- package/{form-field/index.d.ts → types/koobiq-components-form-field.d.ts} +167 -191
- package/types/koobiq-components-icon.d.ts +333 -0
- package/{inline-edit/index.d.ts → types/koobiq-components-inline-edit.d.ts} +109 -46
- package/types/koobiq-components-input.d.ts +477 -0
- package/types/koobiq-components-link-deprecated.d.ts +101 -0
- package/types/koobiq-components-link.d.ts +176 -0
- package/{list/index.d.ts → types/koobiq-components-list.d.ts} +162 -99
- package/types/koobiq-components-loader-overlay.d.ts +101 -0
- package/{markdown/index.d.ts → types/koobiq-components-markdown.d.ts} +16 -24
- package/types/koobiq-components-modal.d.ts +666 -0
- package/types/koobiq-components-navbar.d.ts +569 -0
- package/types/koobiq-components-notification-center.d.ts +500 -0
- package/{overflow-items/index.d.ts → types/koobiq-components-overflow-items.d.ts} +8 -22
- package/types/koobiq-components-popover.d.ts +468 -0
- package/types/koobiq-components-progress-bar.d.ts +67 -0
- package/{progress-spinner/index.d.ts → types/koobiq-components-progress-spinner.d.ts} +33 -10
- package/types/koobiq-components-radio.d.ts +294 -0
- package/{resizer/index.d.ts → types/koobiq-components-resizer.d.ts} +37 -2
- package/{scrollbar/index.d.ts → types/koobiq-components-scrollbar-deprecated.d.ts} +18 -1
- package/types/koobiq-components-scrollbar.d.ts +154 -0
- package/types/koobiq-components-search-expandable.d.ts +164 -0
- package/{select/index.d.ts → types/koobiq-components-select.d.ts} +360 -167
- package/types/koobiq-components-sidebar.d.ts +152 -0
- package/types/koobiq-components-sidepanel.d.ts +436 -0
- package/types/koobiq-components-skeleton.d.ts +234 -0
- package/types/koobiq-components-split-button.d.ts +65 -0
- package/{splitter/index.d.ts → types/koobiq-components-splitter-deprecated.d.ts} +44 -1
- package/types/koobiq-components-splitter.d.ts +406 -0
- package/types/koobiq-components-table.d.ts +44 -0
- package/types/koobiq-components-tabs.d.ts +888 -0
- package/{tags/index.d.ts → types/koobiq-components-tags.d.ts} +249 -133
- package/types/koobiq-components-textarea.d.ts +178 -0
- package/{time-range/index.d.ts → types/koobiq-components-time-range.d.ts} +135 -62
- package/types/koobiq-components-timepicker.d.ts +223 -0
- package/types/koobiq-components-timezone.d.ts +266 -0
- package/types/koobiq-components-title.d.ts +184 -0
- package/types/koobiq-components-toast.d.ts +289 -0
- package/types/koobiq-components-toggle.d.ts +121 -0
- package/types/koobiq-components-tooltip.d.ts +610 -0
- package/types/koobiq-components-top-bar.d.ts +61 -0
- package/types/koobiq-components-tree-select.d.ts +667 -0
- package/types/koobiq-components-tree.d.ts +1290 -0
- package/types/koobiq-components-username.d.ts +340 -0
- package/username/_username-theme.scss +35 -0
- package/username/username.scss +10 -34
- package/app-switcher/index.d.ts +0 -276
- package/autocomplete/index.d.ts +0 -286
- package/button/index.d.ts +0 -153
- package/button-toggle/index.d.ts +0 -162
- package/checkbox/index.d.ts +0 -163
- package/clamped-text/index.d.ts +0 -146
- package/core/styles/_tokens.scss +0 -7
- package/core/styles/common/_clearfix.scss +0 -13
- package/core/styles/common/_popup.scss +0 -6
- package/core/styles/functions/_index.scss +0 -3
- package/core/styles/functions/_number.scss +0 -60
- package/core/styles/functions/_string.scss +0 -18
- package/core/styles/theming/scrollbar-tokens.scss +0 -25
- package/core/styles/typography/_typography-utils.scss +0 -84
- package/divider/index.d.ts +0 -20
- package/dl/index.d.ts +0 -45
- package/ellipsis-center/index.d.ts +0 -71
- package/empty-state/index.d.ts +0 -45
- package/flag/index.d.ts +0 -44
- package/icon/index.d.ts +0 -200
- package/input/index.d.ts +0 -354
- package/link/index.d.ts +0 -56
- package/loader-overlay/index.d.ts +0 -57
- package/modal/index.d.ts +0 -339
- package/navbar/index.d.ts +0 -372
- package/notification-center/index.d.ts +0 -323
- package/popover/index.d.ts +0 -182
- package/prebuilt-themes/dark-theme.css +0 -1
- package/prebuilt-themes/light-theme.css +0 -1
- package/progress-bar/index.d.ts +0 -31
- package/radio/index.d.ts +0 -203
- package/search-expandable/index.d.ts +0 -101
- package/sidebar/index.d.ts +0 -94
- package/sidepanel/index.d.ts +0 -272
- package/skeleton/index.d.ts +0 -26
- package/split-button/index.d.ts +0 -46
- package/table/index.d.ts +0 -25
- package/tabs/index.d.ts +0 -677
- package/textarea/index.d.ts +0 -138
- package/timepicker/index.d.ts +0 -197
- package/timezone/index.d.ts +0 -125
- package/title/index.d.ts +0 -139
- package/toast/index.d.ts +0 -178
- package/toggle/index.d.ts +0 -104
- package/tooltip/index.d.ts +0 -335
- package/top-bar/index.d.ts +0 -33
- package/tree/index.d.ts +0 -802
- package/tree-select/index.d.ts +0 -475
- package/username/index.d.ts +0 -194
- /package/{dynamic-translation/index.d.ts → types/koobiq-components-dynamic-translation.d.ts} +0 -0
- /package/{index.d.ts → types/koobiq-components.d.ts} +0 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Replacement data for the narrowed button color set.
|
|
5
|
+
*
|
|
6
|
+
* A button used to accept any `KbqComponentColors` / `ThemePalette` value, but
|
|
7
|
+
* `kbq-button-theme()` only ever styled the pairs the design system defines. A style
|
|
8
|
+
* paired with anything else matched no theme rule at all and fell through to the
|
|
9
|
+
* user-agent button appearance — most visibly `transparent` with no explicit color,
|
|
10
|
+
* because the shared default (`contrast-fade`) was not one of the two colors the
|
|
11
|
+
* transparent block styled.
|
|
12
|
+
*
|
|
13
|
+
* Two things changed:
|
|
14
|
+
*
|
|
15
|
+
* 1. Each style now carries its own default color. `transparent` resolves to
|
|
16
|
+
* `contrast` rather than `contrast-fade`: it paints neither fill nor border, so
|
|
17
|
+
* the color only picks the foreground and the design system has no faded
|
|
18
|
+
* transparent variant.
|
|
19
|
+
* 2. Every style gained an unqualified fallback rule, so a pair the design system
|
|
20
|
+
* does not define renders in the style's default color instead of unstyled — and
|
|
21
|
+
* `color` was narrowed to the four colors a button actually supports.
|
|
22
|
+
*/
|
|
23
|
+
/** The colors `color` still accepts, on a button, a button group and a split button. */
|
|
24
|
+
const SUPPORTED_COLORS = ['theme', 'theme-fade', 'contrast', 'contrast-fade'];
|
|
25
|
+
/**
|
|
26
|
+
* Color values a button no longer accepts, as written in a template.
|
|
27
|
+
*
|
|
28
|
+
* `KbqComponentColors.Default` is deliberately absent: it is `'contrast'`, so it
|
|
29
|
+
* still compiles. `ThemePalette.Default` is `'secondary'` and does not — but the two
|
|
30
|
+
* are indistinguishable by member name, so that one is left to the warning below.
|
|
31
|
+
*/
|
|
32
|
+
const UNSUPPORTED_COLORS = ['error', 'warning', 'success', 'empty', 'primary', 'secondary', 'info'];
|
|
33
|
+
/**
|
|
34
|
+
* Enum member names that resolve to an unsupported color. Used only to warn: the
|
|
35
|
+
* receiver is not resolved, so rewriting on a name alone could delete a binding that
|
|
36
|
+
* reads from something else entirely.
|
|
37
|
+
*/
|
|
38
|
+
const UNSUPPORTED_MEMBERS = ['Error', 'Warning', 'Success', 'Empty', 'Primary', 'Secondary', 'Info'];
|
|
39
|
+
/** Attribute / element names identifying a host whose `color` input is now narrowed. */
|
|
40
|
+
const COLOR_HOST_ATTRIBUTES = ['kbq-button', 'kbq-button-group', 'kbqButtonGroupRoot', 'kbq-split-button'];
|
|
41
|
+
const COLOR_HOST_ELEMENTS = ['kbq-button-group', 'kbq-split-button'];
|
|
42
|
+
/** The input this migration rewrites. */
|
|
43
|
+
const COLOR_ATTRIBUTE = 'color';
|
|
44
|
+
const removedColorMessage = (value) => `removed \`color="${value}"\`: a button supports ${SUPPORTED_COLORS.join(', ')} only. The button already ` +
|
|
45
|
+
`rendered in its style's default color here — an unsupported color matched no theme rule — so dropping the ` +
|
|
46
|
+
`binding keeps the appearance and fixes the type error.`;
|
|
47
|
+
const unsupportedMemberMessage = (member) => `\`color\` is bound to \`${member}\`, which is not one of ${SUPPORTED_COLORS.join(', ')}. Remove the binding ` +
|
|
48
|
+
`to keep the style's default color, or pick a supported one. Not rewritten automatically: the expression is ` +
|
|
49
|
+
`not resolved, so the member name alone does not prove which enum it comes from.`;
|
|
50
|
+
/** Warnings for `.ts` sources. */
|
|
51
|
+
const tsWarnPatterns = [
|
|
52
|
+
{
|
|
53
|
+
pattern: '\\.color\\s*=\\s*(?:KbqComponentColors|ThemePalette)\\.(?:' + UNSUPPORTED_MEMBERS.join('|') + ')',
|
|
54
|
+
message: 'assigns an unsupported color programmatically. `KbqButton.color`, `KbqButtonGroupRoot.color` and ' +
|
|
55
|
+
'`KbqSplitButton.color` now accept ' +
|
|
56
|
+
SUPPORTED_COLORS.join(', ') +
|
|
57
|
+
' only; anything else never had a theme rule and now renders in the style default.'
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
pattern: 'kbqOkType',
|
|
61
|
+
message: '`kbqOkType` on `KbqModalComponent` / `ModalOptions` was narrowed from `string` to `KbqButtonColor`: ' +
|
|
62
|
+
'it colors the predefined OK button, so it takes ' +
|
|
63
|
+
SUPPORTED_COLORS.join(', ') +
|
|
64
|
+
' only.'
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
pattern: ':\\s*(?:KbqComponentColors|ThemePalette)\\b',
|
|
68
|
+
message: 'declares a member typed `KbqComponentColors` / `ThemePalette`. If it feeds a button `color` binding, ' +
|
|
69
|
+
'narrow it to `KbqButtonColor` — the wide type no longer assigns. Watch for values built inside ' +
|
|
70
|
+
'`Array.from`/`map` callbacks too: without a return-type annotation an enum member widens to the whole ' +
|
|
71
|
+
'enum and stops assigning even when every value is supported.'
|
|
72
|
+
}
|
|
73
|
+
];
|
|
74
|
+
/** Warnings for stylesheets. */
|
|
75
|
+
const styleWarnPatterns = [
|
|
76
|
+
{
|
|
77
|
+
pattern: '\\.kbq-button_transparent[^{,]*\\.kbq-contrast-fade|\\.kbq-contrast-fade[^{,]*\\.kbq-button_transparent',
|
|
78
|
+
message: 'targets `.kbq-button_transparent.kbq-contrast-fade`, which no longer matches: a transparent button ' +
|
|
79
|
+
'defaults to `contrast` now. Retarget it at `.kbq-contrast`, or drop it if it was a workaround for the ' +
|
|
80
|
+
'transparent button rendering unstyled.'
|
|
81
|
+
}
|
|
82
|
+
];
|
|
83
|
+
const UNPARSEABLE_TEMPLATE_MESSAGE = 'template could not be parsed, so its `color` bindings were left untouched — check them by hand.';
|
|
84
|
+
const BEHAVIOUR_NOTE = [
|
|
85
|
+
'Behaviour changes that are not auto-fixable:',
|
|
86
|
+
' - A transparent button with no explicit color now renders in `contrast` instead of `contrast-fade`.',
|
|
87
|
+
' It used to match no theme rule at all and rendered as a native button, so this is the fix — but a',
|
|
88
|
+
' stylesheet or a `color` getter read that expected `contrast-fade` needs updating.',
|
|
89
|
+
' - A style paired with a color the design system does not define (e.g. filled + theme) now renders in the',
|
|
90
|
+
' style default instead of unstyled.',
|
|
91
|
+
' - `KbqButtonGroupRoot` no longer propagates a color it was never given, so each nested button follows the',
|
|
92
|
+
' default color of its own style. A color bound on the group still wins over that default.'
|
|
93
|
+
];
|
|
94
|
+
|
|
95
|
+
exports.BEHAVIOUR_NOTE = BEHAVIOUR_NOTE;
|
|
96
|
+
exports.COLOR_ATTRIBUTE = COLOR_ATTRIBUTE;
|
|
97
|
+
exports.COLOR_HOST_ATTRIBUTES = COLOR_HOST_ATTRIBUTES;
|
|
98
|
+
exports.COLOR_HOST_ELEMENTS = COLOR_HOST_ELEMENTS;
|
|
99
|
+
exports.SUPPORTED_COLORS = SUPPORTED_COLORS;
|
|
100
|
+
exports.UNPARSEABLE_TEMPLATE_MESSAGE = UNPARSEABLE_TEMPLATE_MESSAGE;
|
|
101
|
+
exports.UNSUPPORTED_COLORS = UNSUPPORTED_COLORS;
|
|
102
|
+
exports.UNSUPPORTED_MEMBERS = UNSUPPORTED_MEMBERS;
|
|
103
|
+
exports.removedColorMessage = removedColorMessage;
|
|
104
|
+
exports.styleWarnPatterns = styleWarnPatterns;
|
|
105
|
+
exports.tsWarnPatterns = tsWarnPatterns;
|
|
106
|
+
exports.unsupportedMemberMessage = unsupportedMemberMessage;
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var ts = require('typescript');
|
|
6
|
+
var utils_ast = require('../../utils/ast.js');
|
|
7
|
+
var utils_messages = require('../../utils/messages.js');
|
|
8
|
+
var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
|
|
9
|
+
var utils_typescript = require('../../utils/typescript.js');
|
|
10
|
+
var migrations_buttonSupportedColors_data = require('./data.js');
|
|
11
|
+
require('@angular-devkit/schematics');
|
|
12
|
+
require('@schematics/angular/utility');
|
|
13
|
+
|
|
14
|
+
const TS_EXT = '.ts';
|
|
15
|
+
const HTML_EXT = '.html';
|
|
16
|
+
const SCSS_EXT = '.scss';
|
|
17
|
+
const CSS_EXT = '.css';
|
|
18
|
+
const LABEL = '[button-supported-colors]';
|
|
19
|
+
/** `color`, `[color]` and `bind-color` all name the same input. */
|
|
20
|
+
function attributeName(name) {
|
|
21
|
+
return utils_ast.getSimpleAttributeName(name).replace(/^bind-/, '');
|
|
22
|
+
}
|
|
23
|
+
function hasAttribute(element, name) {
|
|
24
|
+
return (element.attrs ?? []).some((attr) => typeof attr.name === 'string' && attributeName(attr.name) === name);
|
|
25
|
+
}
|
|
26
|
+
/** Whether the element is one whose `color` input this release narrowed. */
|
|
27
|
+
function isColorHost(element) {
|
|
28
|
+
return (migrations_buttonSupportedColors_data.COLOR_HOST_ELEMENTS.includes(element.name) || migrations_buttonSupportedColors_data.COLOR_HOST_ATTRIBUTES.some((name) => hasAttribute(element, name)));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The color a binding resolves to, when that can be read off the source alone.
|
|
32
|
+
*
|
|
33
|
+
* Covers the two unambiguous forms: a plain attribute (`color="error"`) and a bound
|
|
34
|
+
* string literal (`[color]="'error'"`). Anything else — an enum member, a field, a
|
|
35
|
+
* ternary — returns `null` and is warned about instead of rewritten.
|
|
36
|
+
*/
|
|
37
|
+
function literalColor(attr) {
|
|
38
|
+
const raw = typeof attr.value === 'string' ? attr.value.trim() : '';
|
|
39
|
+
if (!raw)
|
|
40
|
+
return null;
|
|
41
|
+
// A plain attribute carries the value verbatim; only a binding is an expression.
|
|
42
|
+
if (attributeName(attr.name) === attr.name)
|
|
43
|
+
return raw;
|
|
44
|
+
const quoted = /^'([^']*)'$|^"([^"]*)"$/.exec(raw);
|
|
45
|
+
return quoted ? (quoted[1] ?? quoted[2]) : null;
|
|
46
|
+
}
|
|
47
|
+
/** The trailing enum member of a property access, e.g. `colors.Error` → `Error`. */
|
|
48
|
+
function memberName(attr) {
|
|
49
|
+
const raw = typeof attr.value === 'string' ? attr.value.trim() : '';
|
|
50
|
+
const match = /^[\w$.]*\.(\w+)$/.exec(raw);
|
|
51
|
+
return match && migrations_buttonSupportedColors_data.UNSUPPORTED_MEMBERS.includes(match[1]) ? raw : null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Collects `color` bindings on button hosts: the removable ones by span, the ones
|
|
55
|
+
* that only look unsupported by line.
|
|
56
|
+
*/
|
|
57
|
+
class ColorCollector {
|
|
58
|
+
constructor() {
|
|
59
|
+
this.removals = [];
|
|
60
|
+
this.warnings = [];
|
|
61
|
+
}
|
|
62
|
+
visitElement(element) {
|
|
63
|
+
if (isColorHost(element)) {
|
|
64
|
+
for (const attr of element.attrs ?? []) {
|
|
65
|
+
if (typeof attr.name !== 'string' || attributeName(attr.name) !== migrations_buttonSupportedColors_data.COLOR_ATTRIBUTE)
|
|
66
|
+
continue;
|
|
67
|
+
const value = literalColor(attr);
|
|
68
|
+
if (value !== null) {
|
|
69
|
+
if (migrations_buttonSupportedColors_data.UNSUPPORTED_COLORS.includes(value)) {
|
|
70
|
+
this.removals.push({
|
|
71
|
+
start: attr.sourceSpan.start.offset,
|
|
72
|
+
end: attr.sourceSpan.end.offset,
|
|
73
|
+
value
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const expression = memberName(attr);
|
|
79
|
+
if (expression) {
|
|
80
|
+
this.warnings.push({ line: attr.sourceSpan.start.line + 1, expression });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
this.visitChildren(element);
|
|
85
|
+
}
|
|
86
|
+
visitBlock(block) {
|
|
87
|
+
this.visitChildren(block);
|
|
88
|
+
}
|
|
89
|
+
visitChildren(node) {
|
|
90
|
+
for (const child of node.children ?? []) {
|
|
91
|
+
child.visit(this);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
visitAttribute() { }
|
|
95
|
+
visitText() { }
|
|
96
|
+
visitComment() { }
|
|
97
|
+
visitExpansion() { }
|
|
98
|
+
visitExpansionCase() { }
|
|
99
|
+
visitBlockParameter() { }
|
|
100
|
+
visitLetDeclaration() { }
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Deletes the given spans, each together with the whitespace that separated it from
|
|
104
|
+
* the previous attribute: an inline attribute takes its leading spaces, one written
|
|
105
|
+
* on its own line takes the line break and the indent as well, so the tag is not left
|
|
106
|
+
* with a blank line.
|
|
107
|
+
*/
|
|
108
|
+
function removeSpans(content, spans) {
|
|
109
|
+
let result = content;
|
|
110
|
+
// Right-to-left, so earlier offsets stay valid.
|
|
111
|
+
for (const { start, end } of [...spans].sort((a, b) => b.start - a.start)) {
|
|
112
|
+
let from = start;
|
|
113
|
+
while (from > 0 && (result[from - 1] === ' ' || result[from - 1] === '\t'))
|
|
114
|
+
from--;
|
|
115
|
+
if (result[from - 1] === '\n') {
|
|
116
|
+
from--;
|
|
117
|
+
if (result[from - 1] === '\r')
|
|
118
|
+
from--;
|
|
119
|
+
}
|
|
120
|
+
result = result.slice(0, from) + result.slice(end);
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Drops unsupported `color` values from every button host in a template. Returns
|
|
126
|
+
* `null` when the template could not be parsed — editing it blind is how a
|
|
127
|
+
* regex-based migration corrupts binding expressions, so the caller warns instead.
|
|
128
|
+
*/
|
|
129
|
+
async function migrateTemplate(template) {
|
|
130
|
+
// Parsing every template of the project is not free, and a template with no
|
|
131
|
+
// colored host in it cannot produce a finding.
|
|
132
|
+
if (!template.includes(migrations_buttonSupportedColors_data.COLOR_ATTRIBUTE))
|
|
133
|
+
return { content: template, removed: [], warnings: [] };
|
|
134
|
+
const parsed = await utils_typescript.parseTemplate(template);
|
|
135
|
+
if (!parsed.tree)
|
|
136
|
+
return null;
|
|
137
|
+
const collector = new ColorCollector();
|
|
138
|
+
utils_ast.visitAll(collector, parsed.tree.rootNodes);
|
|
139
|
+
return {
|
|
140
|
+
content: removeSpans(template, collector.removals),
|
|
141
|
+
removed: collector.removals,
|
|
142
|
+
warnings: collector.warnings
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Applies the template migration to every inline `@Component({ template })` literal
|
|
147
|
+
* of a `.ts` source. Line numbers are reported relative to the file, which is what a
|
|
148
|
+
* reader of an inline template needs.
|
|
149
|
+
*/
|
|
150
|
+
async function migrateInlineTemplates(content, sourceFile, onParseError) {
|
|
151
|
+
let result = content;
|
|
152
|
+
const removed = [];
|
|
153
|
+
const warnings = [];
|
|
154
|
+
// Right-to-left, so the ranges of the literals still to be processed stay valid.
|
|
155
|
+
for (const { start, end } of [...utils_typescript.collectInlineTemplateRanges(sourceFile)].sort((a, b) => b.start - a.start)) {
|
|
156
|
+
const migrated = await migrateTemplate(result.slice(start, end));
|
|
157
|
+
if (migrated === null) {
|
|
158
|
+
onParseError();
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
const lineOffset = result.slice(0, start).split('\n').length - 1;
|
|
162
|
+
removed.push(...migrated.removed);
|
|
163
|
+
warnings.push(...migrated.warnings.map(({ line, expression }) => ({ line: line + lineOffset, expression })));
|
|
164
|
+
result = result.slice(0, start) + migrated.content + result.slice(end);
|
|
165
|
+
}
|
|
166
|
+
return { content: result, removed, warnings };
|
|
167
|
+
}
|
|
168
|
+
const createSourceFile = (fileName, content) => ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
169
|
+
function logWarnings(context, filePath, content, patterns) {
|
|
170
|
+
for (const { pattern, message } of patterns) {
|
|
171
|
+
if (new RegExp(pattern).test(content)) {
|
|
172
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function pickWarnPatterns(filePath) {
|
|
177
|
+
if (filePath.endsWith(TS_EXT))
|
|
178
|
+
return migrations_buttonSupportedColors_data.tsWarnPatterns;
|
|
179
|
+
if (filePath.endsWith(HTML_EXT))
|
|
180
|
+
return [];
|
|
181
|
+
return migrations_buttonSupportedColors_data.styleWarnPatterns;
|
|
182
|
+
}
|
|
183
|
+
function isMigratableFile(filePath) {
|
|
184
|
+
return (filePath.endsWith(TS_EXT) ||
|
|
185
|
+
filePath.endsWith(HTML_EXT) ||
|
|
186
|
+
filePath.endsWith(SCSS_EXT) ||
|
|
187
|
+
filePath.endsWith(CSS_EXT));
|
|
188
|
+
}
|
|
189
|
+
function buttonSupportedColors(options) {
|
|
190
|
+
return async (tree, context) => {
|
|
191
|
+
const { project } = options;
|
|
192
|
+
// `ng update` invokes migrations with no options at all, and migrations.json
|
|
193
|
+
// declares no schema, so the schema default never reaches us — applying the
|
|
194
|
+
// fix is the intended behaviour there.
|
|
195
|
+
const fix = options.fix ?? true;
|
|
196
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
197
|
+
const root = projectDefinition?.root ?? '';
|
|
198
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
199
|
+
const filePaths = [];
|
|
200
|
+
utils_packageConfig.visitProjectFiles(rootDir, (filePath) => {
|
|
201
|
+
if (!isMigratableFile(filePath))
|
|
202
|
+
return;
|
|
203
|
+
filePaths.push(filePath);
|
|
204
|
+
});
|
|
205
|
+
let touched = 0;
|
|
206
|
+
for (const filePath of filePaths) {
|
|
207
|
+
const originalContent = tree.read(filePath)?.toString();
|
|
208
|
+
if (!originalContent)
|
|
209
|
+
continue;
|
|
210
|
+
let content = originalContent;
|
|
211
|
+
let unparseable = false;
|
|
212
|
+
const reportParseError = () => (unparseable = true);
|
|
213
|
+
let result = { content, removed: [], warnings: [] };
|
|
214
|
+
if (filePath.endsWith(TS_EXT)) {
|
|
215
|
+
result = await migrateInlineTemplates(content, createSourceFile(filePath, content), reportParseError);
|
|
216
|
+
}
|
|
217
|
+
else if (filePath.endsWith(HTML_EXT)) {
|
|
218
|
+
const migrated = await migrateTemplate(content);
|
|
219
|
+
if (migrated === null)
|
|
220
|
+
reportParseError();
|
|
221
|
+
else
|
|
222
|
+
result = migrated;
|
|
223
|
+
}
|
|
224
|
+
content = result.content;
|
|
225
|
+
for (const { value } of result.removed) {
|
|
226
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_buttonSupportedColors_data.removedColorMessage(value)}`]);
|
|
227
|
+
}
|
|
228
|
+
for (const { line, expression } of result.warnings) {
|
|
229
|
+
utils_messages.logMessage(context.logger, [
|
|
230
|
+
`${LABEL} ${filePath}:${line}`,
|
|
231
|
+
` ${migrations_buttonSupportedColors_data.unsupportedMemberMessage(expression)}`
|
|
232
|
+
]);
|
|
233
|
+
}
|
|
234
|
+
// Warn on what is left over, so an auto-fixed usage does not also produce
|
|
235
|
+
// a "manual migration required" note. In dry-run mode the fix is not
|
|
236
|
+
// written, so report against the original content.
|
|
237
|
+
logWarnings(context, filePath, fix ? content : originalContent, pickWarnPatterns(filePath));
|
|
238
|
+
if (unparseable) {
|
|
239
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_buttonSupportedColors_data.UNPARSEABLE_TEMPLATE_MESSAGE}`]);
|
|
240
|
+
}
|
|
241
|
+
if (content === originalContent)
|
|
242
|
+
continue;
|
|
243
|
+
touched++;
|
|
244
|
+
if (fix) {
|
|
245
|
+
tree.overwrite(filePath, content);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
utils_messages.logMessage(context.logger, [
|
|
252
|
+
`${LABEL} processed tree under "${root || '<workspace root>'}", ` +
|
|
253
|
+
`${fix ? 'updated' : 'would update'} ${touched} file(s).`,
|
|
254
|
+
'',
|
|
255
|
+
...migrations_buttonSupportedColors_data.BEHAVIOUR_NOTE
|
|
256
|
+
]);
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
exports.default = buttonSupportedColors;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-button-supported-colors",
|
|
4
|
+
"title": "Koobiq components button supported colors upgrade",
|
|
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,137 @@
|
|
|
1
|
+
# button-toggle-signals-and-aria
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21`
|
|
4
|
+
(registered for `21.0.0-0`). Migrates consumers of the v21.0.0 button-toggle
|
|
5
|
+
review.
|
|
6
|
+
|
|
7
|
+
## Background
|
|
8
|
+
|
|
9
|
+
The review of `kbq-button-toggle` changed two unrelated things, which is why one
|
|
10
|
+
schematic covers both:
|
|
11
|
+
|
|
12
|
+
1. **ARIA, tab order and the keyboard.** The control always behaved like a radio
|
|
13
|
+
group in single selection and like a set of toggle buttons with `multiple`,
|
|
14
|
+
and none of it reached assistive tech: selection was readable from the
|
|
15
|
+
`.kbq-selected` class alone. A single-selection group is now a `radiogroup` of
|
|
16
|
+
`role="radio"` buttons with `aria-checked`, walked with the arrow keys and
|
|
17
|
+
entered through a single tab stop; a `multiple` group is a `group` of toggle
|
|
18
|
+
buttons with `aria-pressed`, each still its own tab stop.
|
|
19
|
+
2. **Signal inputs.** `vertical` and `multiple` moved from `@Input()`
|
|
20
|
+
getter/setter pairs to `input()`.
|
|
21
|
+
|
|
22
|
+
Only the second breaks compilation. The first changes rendered markup and
|
|
23
|
+
behaviour, which no rewrite can carry over, so it is reported instead.
|
|
24
|
+
|
|
25
|
+
## What it does
|
|
26
|
+
|
|
27
|
+
The schematic walks every `.ts`, `.html`, `.scss`, `.css` and `.less` file in the
|
|
28
|
+
project (skipping `node_modules` and `dist`). A `.ts` file is inspected only if it
|
|
29
|
+
names a `KbqButtonToggle*` symbol, imports `@koobiq/components/button-toggle` or
|
|
30
|
+
mentions `kbq-button-toggle`; a stylesheet only if it mentions
|
|
31
|
+
`kbq-button-toggle`.
|
|
32
|
+
|
|
33
|
+
| Auto-fix | Where |
|
|
34
|
+
| ----------------------- | ------------------------------------------------ |
|
|
35
|
+
| `group.vertical` → `()` | `.ts` on a `KbqButtonToggleGroup`-typed receiver |
|
|
36
|
+
| `group.multiple` → `()` | `.ts` on a `KbqButtonToggleGroup`-typed receiver |
|
|
37
|
+
| `ref.vertical` → `()` | templates, through `#ref="kbqButtonToggleGroup"` |
|
|
38
|
+
| `ref.multiple` → `()` | templates, through `#ref="kbqButtonToggleGroup"` |
|
|
39
|
+
|
|
40
|
+
Receivers are resolved **within the file**, with no cross-file type resolution.
|
|
41
|
+
Covered: method and function parameters, class fields, constructor
|
|
42
|
+
parameter-properties and locals — by explicit type annotation, by an import under
|
|
43
|
+
an alias (`KbqButtonToggleGroup as Group`), or by a `viewChild()` /
|
|
44
|
+
`viewChild.required()` / `contentChild()` / `inject()` initialiser, where the
|
|
45
|
+
signal form is reached through its call (`this.group().multiple`). Not covered:
|
|
46
|
+
a receiver whose type comes from another file (`const g = this.group; g.multiple`,
|
|
47
|
+
an imported const) — those are reported instead of being rewritten.
|
|
48
|
+
|
|
49
|
+
Resolution is lexical: every declaration of a name is collected, not only the
|
|
50
|
+
button-toggle-typed ones, and the innermost scope containing the access wins. A
|
|
51
|
+
nested `const group = { vertical: 'north' }` therefore shadows an outer
|
|
52
|
+
`KbqButtonToggleGroup` of the same name and is left alone, which matters most in
|
|
53
|
+
spec files, where a `describe` often reuses short names.
|
|
54
|
+
|
|
55
|
+
Template reference variables are matched through the `exportAs`, in external
|
|
56
|
+
`.html` files and in inline `@Component({ template })` strings alike, with
|
|
57
|
+
whitespace around the dot tolerated (`group . multiple`, or a binding wrapped
|
|
58
|
+
over two lines) and preserved by the rewrite.
|
|
59
|
+
|
|
60
|
+
Every rewrite is idempotent: an access that is already a call, or is followed by
|
|
61
|
+
`.set` / `.update` / `.asReadonly` / `.subscribe`, is left alone.
|
|
62
|
+
|
|
63
|
+
## What it reports
|
|
64
|
+
|
|
65
|
+
**Assignments to `vertical` / `multiple`.** An `input()` is read-only and has no
|
|
66
|
+
`.set()`, so there is nothing to rewrite to — bind the input in the template and
|
|
67
|
+
drive the bound value instead.
|
|
68
|
+
|
|
69
|
+
**Members that were removed or narrowed**, found on a typed receiver:
|
|
70
|
+
|
|
71
|
+
| Member | Why |
|
|
72
|
+
| -------------------------------------- | ------------------------------------------------------------------------------------------ |
|
|
73
|
+
| `KbqButtonToggle.mcButton` | removed — a dead view query with a legacy prefix; use `focus()` / `focusViaKeyboard()` |
|
|
74
|
+
| `KbqButtonToggle.buttonToggleGroup` | `protected`, and typed `KbqButtonToggleGroup \| null` — it was non-null while being `null` |
|
|
75
|
+
| `KbqButtonToggle.icons` | private — read the resulting `iconType` instead |
|
|
76
|
+
| `KbqButtonToggle.iconType` | read-only getter — reported on assignment only, a read still reads the same |
|
|
77
|
+
| `KbqButtonToggle.type` | read-only getter that follows `multiple` at runtime — reported on assignment only |
|
|
78
|
+
| `KbqButtonToggleGroup.selected` | typed `KbqButtonToggle \| KbqButtonToggle[] \| null` instead of `any` |
|
|
79
|
+
| `KbqButtonToggleGroup.emitChangeEvent` | takes the toggle the change came from: `emitChangeEvent(toggle)` |
|
|
80
|
+
|
|
81
|
+
**Reads it could not resolve.** A `vertical` / `multiple` read on a receiver that
|
|
82
|
+
is not declared in the file — an imported const, an alias assigned from somewhere
|
|
83
|
+
else — is reported once per file, since a single-file pass cannot tell whether it
|
|
84
|
+
is a group.
|
|
85
|
+
|
|
86
|
+
**Icon-only toggles with no accessible name.** The template is parsed and every
|
|
87
|
+
`<kbq-button-toggle>` whose content holds an icon and no text at all is reported
|
|
88
|
+
with its line number, unless it carries `aria-label` or `aria-labelledby` (bound
|
|
89
|
+
or static, `[attr.]`-prefixed or not). A `title` does not count: it stays on
|
|
90
|
+
`<kbq-button-toggle>`, while the accessible name is computed for the inner
|
|
91
|
+
`<button>`, and the attribute never reaches it. An icon glyph is `aria-hidden`, so
|
|
92
|
+
such a button is announced as unlabelled — an AXE `button-name` failure — and the
|
|
93
|
+
component now logs a dev-mode warning about it. `aria-label` and `aria-labelledby`
|
|
94
|
+
are inputs of the toggle and are forwarded to the inner button, so the fix is one
|
|
95
|
+
attribute; the schematic cannot invent the text.
|
|
96
|
+
|
|
97
|
+
**Patterns worth a second look**, in files that already reference the
|
|
98
|
+
button-toggle: anything mentioning `tabindex` (the tab order of a single-selection
|
|
99
|
+
group is one stop now), a leftover `mcButton`, and manual `markForCheck()` calls
|
|
100
|
+
(inert now that a toggle derives its state from signals).
|
|
101
|
+
|
|
102
|
+
**Stylesheets** that copied the old theme selector `& > .kbq-icon-button`, a class
|
|
103
|
+
`KbqButton` never emitted — it is `.kbq-button-icon` now — or that override the
|
|
104
|
+
keyboard-focus `border-color`, which the theme owns alone since the structural
|
|
105
|
+
stylesheet stopped declaring it.
|
|
106
|
+
|
|
107
|
+
## What it cannot see
|
|
108
|
+
|
|
109
|
+
Printed once per run, because no call site points at it:
|
|
110
|
+
|
|
111
|
+
- the rendered `role` / `aria-checked` / `aria-pressed` and the group's
|
|
112
|
+
`aria-orientation`, which snapshot and DOM-query tests will notice;
|
|
113
|
+
- arrow keys moving focus and selection together and `Home`/`End` jumping to the
|
|
114
|
+
ends, with the keydown `preventDefault`-ed;
|
|
115
|
+
- naming the group with a plain `aria-label` / `aria-labelledby` attribute, which
|
|
116
|
+
it had no role to be announced against before;
|
|
117
|
+
- `disabled` on a standalone toggle finally returning a `boolean` instead of the
|
|
118
|
+
`null` group it could not find;
|
|
119
|
+
- `tabIndex` defaulting to `null` instead of `undefined`;
|
|
120
|
+
- the group implementing `OnDestroy`, so tearing down a whole selected group no
|
|
121
|
+
longer emits `valueChange` after destruction;
|
|
122
|
+
- `onTouched` / `registerOnTouched` taking `() => void`, and
|
|
123
|
+
`KBQ_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR` being typed `Provider`.
|
|
124
|
+
|
|
125
|
+
## Usage
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
ng update @koobiq/components@21
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Or manually, for a project that is already on 21.0.0:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
ng g @koobiq/components:button-toggle-signals-and-aria --project "<your project>"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Add `--fix=false` to print what would change without writing anything.
|