@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,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-timepicker-signals",
|
|
4
|
+
"title": "Koobiq components timepicker signals migration",
|
|
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,73 @@
|
|
|
1
|
+
# timezone-grouping-utils
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21`
|
|
4
|
+
(registered for `21.0.0-0`). Reports the timezone call sites that the review's split of
|
|
5
|
+
`getZonesGroupedByCountry` breaks, and the members whose type or behavior changed under them. It never
|
|
6
|
+
writes to the tree.
|
|
7
|
+
|
|
8
|
+
## Background
|
|
9
|
+
|
|
10
|
+
The package ships no timezone data — every consumer feeds its own rows through two exported utilities, and
|
|
11
|
+
both were wrong.
|
|
12
|
+
|
|
13
|
+
| Member | Before | After |
|
|
14
|
+
| --------------------------------------------------- | ---------------------------------------------- | --------------------------------------------- |
|
|
15
|
+
| `getZonesGroupedByCountry(data, label?, priority?)` | one privileged country plus one "Other" bucket | `getZonesGroupedByCountry(data)`, per country |
|
|
16
|
+
| — | — | `promoteCountry`, `collapseOtherCountries` |
|
|
17
|
+
| host country | read from `Intl` inside the grouping | `kbqResolveHostCountry(data)` |
|
|
18
|
+
| `timezonesSortComparator` | returned the first zone's offset | returns the difference, ties on `city` |
|
|
19
|
+
| `KbqTimezoneGroup.countryCode` | `string` | `string \| null` |
|
|
20
|
+
| `KbqTimezoneZone.offset` | required, rendered verbatim | optional, resolved from `id` when absent |
|
|
21
|
+
| `kbq-timezone-select` `multiple`, `multiline` | accepted, half-rendered | throws |
|
|
22
|
+
|
|
23
|
+
`timezonesSortComparator` deserves a note. Its body returned `parseOffset(first.offset)` rather than a
|
|
24
|
+
difference, so `cmp(+05:00, +02:00)` and `cmp(+02:00, +05:00)` were both positive: it is not a valid
|
|
25
|
+
comparator, and the order a list came out in was whatever the engine's sort algorithm made of it. Any zone
|
|
26
|
+
at `00:00:00` compared equal to everything, and an unparsable offset was `NaN`, which V8 reads as `0`.
|
|
27
|
+
|
|
28
|
+
`getZonesGroupedByCountry` never grouped by country either. It read
|
|
29
|
+
`Intl.DateTimeFormat().resolvedOptions().timeZone` at call time and produced at most two groups — the host
|
|
30
|
+
machine's country and one bucket holding everything else with its `countryName` overwritten. The same input
|
|
31
|
+
rendered differently on a developer's laptop, on CI and on an SSR server versus the browser that hydrated it.
|
|
32
|
+
|
|
33
|
+
## What it does _not_ do
|
|
34
|
+
|
|
35
|
+
Nothing is rewritten. Restoring the old rendering takes a composition of two or three helpers, and which one
|
|
36
|
+
a call site meant — promote the country, collapse the rest, or both — cannot be read off the call.
|
|
37
|
+
|
|
38
|
+
| Pattern | Manual migration |
|
|
39
|
+
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
40
|
+
| `getZonesGroupedByCountry(zones, label, country)` | `collapseOtherCountries(getZonesGroupedByCountry(zones), country, label)` |
|
|
41
|
+
| `getZonesGroupedByCountry(zones, label)` | `collapseOtherCountries(getZonesGroupedByCountry(zones), kbqResolveHostCountry(zones), label)` |
|
|
42
|
+
| `getZonesGroupedByCountry(zones)` | `promoteCountry(getZonesGroupedByCountry(zones), kbqResolveHostCountry(zones))` for a real per-country grouping |
|
|
43
|
+
| `group.countryCode` | Nullable — an aggregate bucket belongs to no country |
|
|
44
|
+
| `zone.offset` | `resolveZoneOffset(zone)`; omit the field to have it derived from the IANA `id` |
|
|
45
|
+
| `multiple` or `multiline` on `kbq-timezone-select` | Use `kbq-select` |
|
|
46
|
+
|
|
47
|
+
## Notes with no call site to point at
|
|
48
|
+
|
|
49
|
+
- The option tooltip carries the same filtered city list the option renders. It used to carry the
|
|
50
|
+
unfiltered one while the show/hide decision was measured on the filtered box, so a search opened a hint
|
|
51
|
+
listing exactly the cities it had just removed.
|
|
52
|
+
- `UtcOffsetPipe` and `CitiesByFilterPipe` are exported, and `KbqTimezoneModule` re-exports
|
|
53
|
+
`KbqOptionModule`, so the documented usage with `kbq-optgroup` works from the module alone.
|
|
54
|
+
- `filterCitiesBySearchString` rejoins on `', '` instead of `','`, so a filtered list no longer begins with
|
|
55
|
+
a stray space. Its offset guard recognizes an offset that is still being typed — `+`, `+03:`, `0330` — and
|
|
56
|
+
leaves the city list whole for it, as before. A lone hyphen-minus is the one sign it now searches for,
|
|
57
|
+
because it is also how `Baden-Baden` is found.
|
|
58
|
+
- Typeahead matches the city. `getLabel()` used to return the whole line, which opens with `UTC`, so typing
|
|
59
|
+
a city's first letters never moved past the first option, and a zone west of UTC — written with U+2212 —
|
|
60
|
+
could not be reached by typing at all.
|
|
61
|
+
- The overlay pane carries `kbq-select-overlay`, as it does for `kbq-select`: the forked template did not
|
|
62
|
+
bind `cdkConnectedOverlayPanelClass`, so a style keyed on `.cdk-overlay-pane.kbq-select-overlay` missed
|
|
63
|
+
the timezone panel.
|
|
64
|
+
- `KbqTimezoneOption` provides `KBQ_TITLE_TEXT_REF` and marks its city label, so a `[kbq-title]` inside an
|
|
65
|
+
option measures the label rather than the whole two-column row.
|
|
66
|
+
- The search placeholder follows the active locale instead of latching to whichever one was applied first.
|
|
67
|
+
A placeholder the consumer binds still wins.
|
|
68
|
+
|
|
69
|
+
## Running it manually
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
ng generate @koobiq/components:timezone-grouping-utils --project my-app
|
|
73
|
+
```
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Data for the `timezone-grouping-utils` migration.
|
|
5
|
+
*
|
|
6
|
+
* The timezone review split the two exported utilities that every consumer routes its data through:
|
|
7
|
+
*
|
|
8
|
+
* - `getZonesGroupedByCountry(data, otherCountriesLabel?, priorityCountry?)` → `getZonesGroupedByCountry(data)`.
|
|
9
|
+
* It groups by country now instead of producing "the host's country plus one Other bucket", and it no
|
|
10
|
+
* longer reads `Intl`. The old behaviour is `collapseOtherCountries(getZonesGroupedByCountry(data),
|
|
11
|
+
* priorityCountry ?? kbqResolveHostCountry(data), otherCountriesLabel)`.
|
|
12
|
+
* - `timezonesSortComparator` returns the difference of the two offsets instead of the first zone's offset,
|
|
13
|
+
* and ties break on `city` rather than on `countryName`, which was always equal inside a group.
|
|
14
|
+
* - `KbqTimezoneGroup.countryCode` is `string | null` — the aggregate bucket belongs to no country.
|
|
15
|
+
* - `KbqTimezoneZone.offset` is optional; omitted, it is resolved from the IANA `id` at render time.
|
|
16
|
+
* - `kbq-timezone-select` rejects `multiple` and `multiline` instead of half-rendering them.
|
|
17
|
+
*
|
|
18
|
+
* Warn-only. The replacement for a dropped argument is a composition whose shape depends on what the call
|
|
19
|
+
* site meant by it, and neither the promotion nor the aggregate label can be derived from the call.
|
|
20
|
+
*/
|
|
21
|
+
/** Import specifier that marks a file as a timezone consumer. */
|
|
22
|
+
const TIMEZONE_PACKAGE = '@koobiq/components/timezone';
|
|
23
|
+
/** Identifier and element shapes that mark a consumer without an import. */
|
|
24
|
+
const TIMEZONE_TYPE = '\\bKbqTimezone\\w*\\b|\\bkbq-timezone-(?:select|option)\\b|\\bgetZonesGroupedByCountry\\b|\\btimezonesSortComparator\\b';
|
|
25
|
+
const warnPatterns = [
|
|
26
|
+
{
|
|
27
|
+
anchor: TIMEZONE_TYPE,
|
|
28
|
+
pattern: '\\bgetZonesGroupedByCountry\\s*\\([^)]*,',
|
|
29
|
+
message: 'getZonesGroupedByCountry now takes only the zones: the otherCountriesLabel and priorityCountry ' +
|
|
30
|
+
'parameters are gone, and the function groups by country instead of producing the host country ' +
|
|
31
|
+
'plus one "Other" bucket. Compose the old behaviour explicitly — ' +
|
|
32
|
+
'collapseOtherCountries(getZonesGroupedByCountry(zones), priorityCountry, otherCountriesLabel) — ' +
|
|
33
|
+
'and use kbqResolveHostCountry(zones) where the country used to be read from Intl.'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
anchor: TIMEZONE_TYPE,
|
|
37
|
+
// Any call with no comma before its first closing parenthesis, so an argument that is itself a call —
|
|
38
|
+
// `getZonesGroupedByCountry(this.getZones())` — is reported too: it compiles unchanged, which is exactly
|
|
39
|
+
// why it must not go unmentioned.
|
|
40
|
+
pattern: '\\bgetZonesGroupedByCountry\\s*\\((?![^)]*,)',
|
|
41
|
+
message: 'getZonesGroupedByCountry no longer reads the host time zone and no longer collapses anything: ' +
|
|
42
|
+
'it returns one group per country, ordered by country name. A single-argument call used to mean ' +
|
|
43
|
+
'"the host country first, everything else under \'Other\'" — write that as ' +
|
|
44
|
+
"collapseOtherCountries(getZonesGroupedByCountry(zones), kbqResolveHostCountry(zones), 'Other'), " +
|
|
45
|
+
'or keep the per-country grouping and pass it through promoteCountry.'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
anchor: TIMEZONE_TYPE,
|
|
49
|
+
pattern: '\\btimezonesSortComparator\\b',
|
|
50
|
+
message: 'timezonesSortComparator returns the difference of the two offsets now — it used to return the ' +
|
|
51
|
+
"first zone's offset, which is not a valid comparator, so a list of more than a couple of zones " +
|
|
52
|
+
"came out in an order the engine's sort happened to produce. Ties break on city instead of on " +
|
|
53
|
+
'countryName, and a zone whose offset cannot be resolved sorts last instead of as UTC.'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
anchor: TIMEZONE_TYPE,
|
|
57
|
+
pattern: '\\.\\s*countryCode\\b',
|
|
58
|
+
message: 'KbqTimezoneGroup.countryCode is `string | null`. The bucket collapseOtherCountries produces ' +
|
|
59
|
+
'spans several countries and says so with null, instead of borrowing the code of an arbitrary ' +
|
|
60
|
+
'member the way the old aggregate group did.'
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
anchor: TIMEZONE_TYPE,
|
|
64
|
+
pattern: '\\.\\s*offset\\b',
|
|
65
|
+
message: 'KbqTimezoneZone.offset is optional. Omit it and the offset is resolved from the IANA id every ' +
|
|
66
|
+
'time the option renders, so a zone that observes DST is labelled correctly on both sides of the ' +
|
|
67
|
+
'change; a string supplied there is still rendered verbatim and never recomputed. Read it with ' +
|
|
68
|
+
'resolveZoneOffset(zone) rather than directly.'
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
anchor: TIMEZONE_TYPE,
|
|
72
|
+
pattern: '<kbq-timezone-select\\b[^>]*\\bmulti(?:ple|line)\\b|\\.\\s*multiple\\s*=(?!=)',
|
|
73
|
+
message: 'kbq-timezone-select rejects multiple selection with an error instead of accepting it and ' +
|
|
74
|
+
'rendering a trigger that shows one of the selected values — through multiple and through ' +
|
|
75
|
+
'multiline alike, since multiline turns on multiple selection as well. An assignment to multiple ' +
|
|
76
|
+
'no longer compiles: it is a signal input now, set through the template. Use kbq-select for ' +
|
|
77
|
+
'multiple selection.'
|
|
78
|
+
}
|
|
79
|
+
];
|
|
80
|
+
/** Printed once per project, after the per-file reports. */
|
|
81
|
+
const SUMMARY = [
|
|
82
|
+
' The two grouping helpers are pure: getZonesGroupedByCountry, promoteCountry and ' +
|
|
83
|
+
'collapseOtherCountries produce the same output on any machine, and kbqResolveHostCountry is the ' +
|
|
84
|
+
'one place that reads Intl. That is what makes a server-rendered list match the one the browser ' +
|
|
85
|
+
'computes on hydration.',
|
|
86
|
+
' The option tooltip carries the same filtered city list the option renders, so a search no longer ' +
|
|
87
|
+
'opens a hint listing the cities it has just filtered out.',
|
|
88
|
+
' UtcOffsetPipe and CitiesByFilterPipe are exported, and KbqTimezoneModule re-exports KbqOptionModule, ' +
|
|
89
|
+
'so the documented usage with kbq-optgroup works from the module alone.',
|
|
90
|
+
' filterCitiesBySearchString rejoins on ", " instead of ",", so a filtered list no longer starts with ' +
|
|
91
|
+
'a stray space. Its offset guard recognizes an offset still being typed (+, +03:, 0330) and keeps ' +
|
|
92
|
+
'the city list whole for it, but a lone hyphen-minus is searched for, so Baden-Baden can be found.',
|
|
93
|
+
' Typing letters in the select moves to the option whose city starts with them. Typeahead used to ' +
|
|
94
|
+
'match the whole line, which opens with UTC, so it never reached past the first option.',
|
|
95
|
+
' The overlay pane carries kbq-select-overlay, as it does for kbq-select.'
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
exports.SUMMARY = SUMMARY;
|
|
99
|
+
exports.TIMEZONE_PACKAGE = TIMEZONE_PACKAGE;
|
|
100
|
+
exports.TIMEZONE_TYPE = TIMEZONE_TYPE;
|
|
101
|
+
exports.warnPatterns = warnPatterns;
|
|
@@ -0,0 +1,65 @@
|
|
|
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_timezoneGroupingUtils_data = require('./data.cjs');
|
|
9
|
+
require('@angular-devkit/schematics');
|
|
10
|
+
require('@schematics/angular/utility');
|
|
11
|
+
|
|
12
|
+
const LABEL = '[timezone-grouping-utils]';
|
|
13
|
+
const EXTENSIONS = ['.ts', '.html'];
|
|
14
|
+
// Compiled once rather than per file. None carries the `g` flag, so a shared instance holds no `lastIndex`.
|
|
15
|
+
const TIMEZONE_TYPE_REGEX = new RegExp(migrations_timezoneGroupingUtils_data.TIMEZONE_TYPE);
|
|
16
|
+
const COMPILED_WARN_PATTERNS = migrations_timezoneGroupingUtils_data.warnPatterns.map(({ anchor, pattern, message }) => ({
|
|
17
|
+
anchor: new RegExp(anchor),
|
|
18
|
+
pattern: new RegExp(pattern),
|
|
19
|
+
message
|
|
20
|
+
}));
|
|
21
|
+
/** A file is a timezone consumer if it imports the package, names a member, or renders one of its elements. */
|
|
22
|
+
function referencesTimezone(content) {
|
|
23
|
+
return content.includes(migrations_timezoneGroupingUtils_data.TIMEZONE_PACKAGE) || TIMEZONE_TYPE_REGEX.test(content);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Reports the timezone call sites the review's split of `getZonesGroupedByCountry` breaks, plus the members
|
|
27
|
+
* whose type or behaviour changed under them. Never writes: what replaces a dropped argument is a
|
|
28
|
+
* composition of two or three helpers, and which one the call site meant cannot be read off the call.
|
|
29
|
+
*
|
|
30
|
+
* `.html` is visited as well as `.ts`, because `[multiple]` is a template binding that used to be accepted.
|
|
31
|
+
*/
|
|
32
|
+
function timezoneGroupingUtils(options) {
|
|
33
|
+
return async (tree, context) => {
|
|
34
|
+
const { project } = options;
|
|
35
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
36
|
+
const root = projectDefinition?.root ?? '';
|
|
37
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
38
|
+
let consumers = 0;
|
|
39
|
+
let reported = 0;
|
|
40
|
+
utils_projectFiles.visitProjectFiles(rootDir, (filePath, entry) => {
|
|
41
|
+
if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
|
|
42
|
+
return;
|
|
43
|
+
const content = entry.content.toString();
|
|
44
|
+
if (!content || !referencesTimezone(content))
|
|
45
|
+
return;
|
|
46
|
+
consumers++;
|
|
47
|
+
for (const { anchor, pattern, message } of COMPILED_WARN_PATTERNS) {
|
|
48
|
+
if (!anchor.test(content) || !pattern.test(content))
|
|
49
|
+
continue;
|
|
50
|
+
reported++;
|
|
51
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
// Nothing here renders or builds a timezone list, so the summary would only be noise.
|
|
55
|
+
if (consumers === 0)
|
|
56
|
+
return;
|
|
57
|
+
utils_messages.logMessage(context.logger, [
|
|
58
|
+
`${LABEL} processed the timezone utilities under "${root || '<workspace root>'}", ` +
|
|
59
|
+
`${consumers} file(s) reference the package, ${reported} call site(s) reported.`,
|
|
60
|
+
...migrations_timezoneGroupingUtils_data.SUMMARY
|
|
61
|
+
]);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
exports.default = timezoneGroupingUtils;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-timezone-grouping-utils",
|
|
4
|
+
"title": "Koobiq components timezone 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,49 @@
|
|
|
1
|
+
# title-encapsulation
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21`
|
|
4
|
+
(registered for `21.0.0-0`). Reports the members of `KbqTitleDirective` that stopped being public in
|
|
5
|
+
the title review. It never writes to the tree.
|
|
6
|
+
|
|
7
|
+
## Background
|
|
8
|
+
|
|
9
|
+
`kbq-title` measures its host and opens a tooltip when the text is truncated. The review kept that
|
|
10
|
+
surface — the `kbq-title` input and the tooltip it opens — and closed everything else, because the
|
|
11
|
+
rest was the measurement machinery:
|
|
12
|
+
|
|
13
|
+
| Member | Before | After |
|
|
14
|
+
| ------------------------------------------------------------------------------------------------------ | ---------------- | ----------------------- |
|
|
15
|
+
| `resizeStream` | `Subject<Event>` | removed |
|
|
16
|
+
| `hasOnlyText` | public getter | `private` |
|
|
17
|
+
| `ngOnDestroy` | declared | removed, no `OnDestroy` |
|
|
18
|
+
| `child`, `parent`, `isHorizontalOverflown`, `isVerticalOverflown`, `handleElementEnter`, `hideTooltip` | public | `protected` |
|
|
19
|
+
|
|
20
|
+
`resizeStream` is the only one that changes how the directive works rather than only what it exposes. It was
|
|
21
|
+
fed by a `(window:resize)` host listener, so one directive instance meant one listener — a dropdown
|
|
22
|
+
with hundreds of options meant hundreds. The directive now injects the CDK `SharedResizeObserver`,
|
|
23
|
+
which adds no per-instance listener and, unlike `window:resize`, also reacts to container-only
|
|
24
|
+
resizes. A consumer that pushed into `resizeStream` to force a re-measure can drop the call.
|
|
25
|
+
|
|
26
|
+
## What it does _not_ do
|
|
27
|
+
|
|
28
|
+
Nothing is rewritten. Every member is either gone or hidden, so there is no expression to migrate a
|
|
29
|
+
call site to — what a consumer should do instead depends on why it reached in.
|
|
30
|
+
|
|
31
|
+
| Pattern | Manual migration |
|
|
32
|
+
| ------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
|
33
|
+
| `.resizeStream` | Drop the call; the shared `ResizeObserver` re-measures on its own |
|
|
34
|
+
| `.hasOnlyText` | Read the rendered DOM directly if it is genuinely needed |
|
|
35
|
+
| `.child` / `.parent` / `.is*Overflown` / `.handleElementEnter` / `.hideTooltip` | Use the `kbq-title` input; these are measurement internals |
|
|
36
|
+
| `super.ngOnDestroy()` in a subclass | Remove it — the base tears down through `takeUntilDestroyed` |
|
|
37
|
+
|
|
38
|
+
## Notes with no call site to point at
|
|
39
|
+
|
|
40
|
+
- The tooltip now opens on keyboard focus, which the class JSDoc and the published guide already
|
|
41
|
+
described. A host that compensated for its absence can drop the workaround.
|
|
42
|
+
- `titleContent` is typed `TemplateRef<unknown>` instead of `TemplateRef<any>`. A `TemplateRef<Ctx>`
|
|
43
|
+
still assigns to it; a value read back out needs a cast.
|
|
44
|
+
|
|
45
|
+
## Running it manually
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
ng generate @koobiq/components:title-encapsulation --project my-app
|
|
49
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Data for the `title-encapsulation` migration.
|
|
5
|
+
*
|
|
6
|
+
* The title review narrowed what `KbqTitleDirective` publishes. Nothing was renamed, so no call site
|
|
7
|
+
* has a mechanical replacement — the members are either gone or no longer reachable from outside:
|
|
8
|
+
*
|
|
9
|
+
* - `resizeStream` — a public `Subject<Event>` fed by a `(window:resize)` host listener. The directive
|
|
10
|
+
* now injects the CDK `SharedResizeObserver` and re-measures on container resizes by itself, so
|
|
11
|
+
* there is nothing left to push into.
|
|
12
|
+
* - `hasOnlyText` — public getter → `private`.
|
|
13
|
+
* - `ngOnDestroy` — no longer declared; teardown runs through `takeUntilDestroyed`, and the directive
|
|
14
|
+
* no longer implements `OnDestroy`.
|
|
15
|
+
* - `child`, `parent`, `isHorizontalOverflown`, `isVerticalOverflown`, `handleElementEnter`,
|
|
16
|
+
* `hideTooltip` — public → `protected`. `child` additionally returns `HTMLElement | undefined`.
|
|
17
|
+
*
|
|
18
|
+
* Warn-only. A consumer that reached for any of these was reaching into the measurement internals,
|
|
19
|
+
* and what it should do instead depends on why — there is no expression to rewrite it to.
|
|
20
|
+
*/
|
|
21
|
+
/** Import specifier that marks a file as a title consumer. */
|
|
22
|
+
const TITLE_PACKAGE = '@koobiq/components/title';
|
|
23
|
+
/** Identifier shape that marks a consumer without an import (e.g. a re-export or a subclass). */
|
|
24
|
+
const TITLE_TYPE = '\\bKbqTitleDirective\\b';
|
|
25
|
+
const SUBCLASS_ANCHOR = 'extends\\s+KbqTitleDirective\\b';
|
|
26
|
+
const warnPatterns = [
|
|
27
|
+
{
|
|
28
|
+
anchor: TITLE_TYPE,
|
|
29
|
+
pattern: '\\.\\s*resizeStream\\b',
|
|
30
|
+
message: 'KbqTitleDirective.resizeStream was removed. It was a Subject fed by a (window:resize) host ' +
|
|
31
|
+
'listener; the directive now injects the CDK SharedResizeObserver and re-measures on container ' +
|
|
32
|
+
'resizes on its own, so a manual `resizeStream.next(event)` has no counterpart and is no longer ' +
|
|
33
|
+
'needed. Drop the call.'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
anchor: TITLE_TYPE,
|
|
37
|
+
pattern: '\\.\\s*hasOnlyText\\b',
|
|
38
|
+
message: 'KbqTitleDirective.hasOnlyText is private. It reported whether the host holds a single text node, ' +
|
|
39
|
+
'which is a detail of the overflow measurement — read the rendered DOM directly if a consumer ' +
|
|
40
|
+
'genuinely needs it.'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
anchor: TITLE_TYPE,
|
|
44
|
+
pattern: '\\.\\s*(?:child|parent|isHorizontalOverflown|isVerticalOverflown|handleElementEnter|hideTooltip)\\b',
|
|
45
|
+
message: 'KbqTitleDirective.child / parent / isHorizontalOverflown / isVerticalOverflown / ' +
|
|
46
|
+
'handleElementEnter / hideTooltip are protected. They are the measurement internals; the ' +
|
|
47
|
+
'supported surface is the `kbq-title` input and the tooltip the directive opens by itself. ' +
|
|
48
|
+
'`child` additionally returns `HTMLElement | undefined` now.'
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
anchor: SUBCLASS_ANCHOR,
|
|
52
|
+
pattern: 'super\\s*\\.\\s*ngOnDestroy\\s*\\(',
|
|
53
|
+
message: 'KbqTitleDirective no longer declares ngOnDestroy — it tears down through takeUntilDestroyed and ' +
|
|
54
|
+
'no longer implements OnDestroy, so `super.ngOnDestroy()` from a subclass no longer resolves. ' +
|
|
55
|
+
'Remove the call; the base teardown runs on its own.'
|
|
56
|
+
}
|
|
57
|
+
];
|
|
58
|
+
/** Printed once per project, after the per-file reports. */
|
|
59
|
+
const SUMMARY = [
|
|
60
|
+
' The tooltip now opens on keyboard focus as the guide always claimed, so a host that compensated ' +
|
|
61
|
+
'for its absence — its own focus listener calling show(), or a duplicate hint — can be removed.',
|
|
62
|
+
' `titleContent` is typed TemplateRef<unknown> instead of TemplateRef<any>; a TemplateRef<SomeCtx> ' +
|
|
63
|
+
'still assigns, but a value read back out needs a cast.'
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
exports.SUMMARY = SUMMARY;
|
|
67
|
+
exports.TITLE_PACKAGE = TITLE_PACKAGE;
|
|
68
|
+
exports.TITLE_TYPE = TITLE_TYPE;
|
|
69
|
+
exports.warnPatterns = warnPatterns;
|
|
@@ -0,0 +1,58 @@
|
|
|
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_titleEncapsulation_data = require('./data.cjs');
|
|
9
|
+
require('@angular-devkit/schematics');
|
|
10
|
+
require('@schematics/angular/utility');
|
|
11
|
+
|
|
12
|
+
const LABEL = '[title-encapsulation]';
|
|
13
|
+
const EXTENSIONS = ['.ts'];
|
|
14
|
+
/** A file is a title consumer if it imports the package or names the directive. */
|
|
15
|
+
function referencesTitle(content) {
|
|
16
|
+
return content.includes(migrations_titleEncapsulation_data.TITLE_PACKAGE) || new RegExp(migrations_titleEncapsulation_data.TITLE_TYPE).test(content);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Reports the members of `KbqTitleDirective` that stopped being public. Never writes: every one of
|
|
20
|
+
* them was removed or hidden outright, so there is no expression to rewrite a call site to.
|
|
21
|
+
*
|
|
22
|
+
* Only `.ts` is visited. The directive's template surface — the `kbq-title` attribute — did not
|
|
23
|
+
* change, so no markup needs migrating.
|
|
24
|
+
*/
|
|
25
|
+
function titleEncapsulation(options) {
|
|
26
|
+
return async (tree, context) => {
|
|
27
|
+
const { project } = options;
|
|
28
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
29
|
+
const root = projectDefinition?.root ?? '';
|
|
30
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
31
|
+
let consumers = 0;
|
|
32
|
+
let reported = 0;
|
|
33
|
+
utils_projectFiles.visitProjectFiles(rootDir, (filePath, entry) => {
|
|
34
|
+
if (!EXTENSIONS.some((extension) => filePath.endsWith(extension)))
|
|
35
|
+
return;
|
|
36
|
+
const content = entry?.content.toString();
|
|
37
|
+
if (!content || !referencesTitle(content))
|
|
38
|
+
return;
|
|
39
|
+
consumers++;
|
|
40
|
+
for (const { anchor, pattern, message } of migrations_titleEncapsulation_data.warnPatterns) {
|
|
41
|
+
if (!new RegExp(anchor).test(content) || !new RegExp(pattern).test(content))
|
|
42
|
+
continue;
|
|
43
|
+
reported++;
|
|
44
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
// Nothing here uses kbq-title, so the summary would only be noise.
|
|
48
|
+
if (consumers === 0)
|
|
49
|
+
return;
|
|
50
|
+
utils_messages.logMessage(context.logger, [
|
|
51
|
+
`${LABEL} processed kbq-title under "${root || '<workspace root>'}", ` +
|
|
52
|
+
`${consumers} file(s) reference the directive, ${reported} call site(s) reported.`,
|
|
53
|
+
...migrations_titleEncapsulation_data.SUMMARY
|
|
54
|
+
]);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
exports.default = titleEncapsulation;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-title-encapsulation",
|
|
4
|
+
"title": "Koobiq components title 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,102 @@
|
|
|
1
|
+
# toast-stack-and-defaults
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21`
|
|
4
|
+
(registered for `21.0.0-0`). Reports the breaking parts of the toast review.
|
|
5
|
+
|
|
6
|
+
This schematic is report-only: it never writes a file. Every change below needs
|
|
7
|
+
a decision a schematic cannot make for you.
|
|
8
|
+
|
|
9
|
+
## Background
|
|
10
|
+
|
|
11
|
+
`KbqToastComponent` used to hold `readonly service = inject(KbqToastService)`
|
|
12
|
+
and reach the whole service through it. It now resolves only the narrow
|
|
13
|
+
`KbqToastStack` contract it actually consumes, through the new
|
|
14
|
+
`KBQ_TOAST_STACK` token, which both `KbqToastService` and
|
|
15
|
+
`KbqToastContainerComponent` provide.
|
|
16
|
+
|
|
17
|
+
## Breaking changes
|
|
18
|
+
|
|
19
|
+
**`KbqToastComponent.service` is gone**, and so are the members that only
|
|
20
|
+
existed for the old rendering path: `elementRef`, `ttl`, `delay`,
|
|
21
|
+
`isTemplateRef()`, `themePalette` and `toastStyle`. Everything the template
|
|
22
|
+
renders — `style`, `icon`, `role`, `closeButton` and the resolved slot templates
|
|
23
|
+
— became `protected`. `data`, `id`, `hovered`, `focused` and `close()` are
|
|
24
|
+
still public.
|
|
25
|
+
|
|
26
|
+
A subclass registered through `KBQ_TOAST_FACTORY` is the documented extension
|
|
27
|
+
point, so it is the code most likely to break:
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
// Before
|
|
31
|
+
class MyToast extends KbqToastComponent {
|
|
32
|
+
ok() {
|
|
33
|
+
this.service.hide(this.id);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// After
|
|
38
|
+
class MyToast extends KbqToastComponent {
|
|
39
|
+
ok() {
|
|
40
|
+
this.close();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Anything the stack contract does not cover is reached by injecting it directly:
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
class MyToast extends KbqToastComponent {
|
|
49
|
+
private readonly stack = inject(KBQ_TOAST_STACK);
|
|
50
|
+
private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The countdown moved into the service, so there is no per-instance `ttl` or
|
|
55
|
+
`delay` to read or write any more — pass the lifetime as the `duration`
|
|
56
|
+
argument of `show()`.
|
|
57
|
+
|
|
58
|
+
**`KbqToastService.animation` was removed** with `@angular/animations`: a toast
|
|
59
|
+
plays its exit animation before it is taken out, and the overlay detaches once
|
|
60
|
+
the last exit has ended.
|
|
61
|
+
|
|
62
|
+
**`showTemplate()` and `templates` return
|
|
63
|
+
`EmbeddedViewRef<KbqToastTemplateContext>`**, whose `$implicit` is the
|
|
64
|
+
`KbqToastData` — not the toast component. Only annotations of the returned ref
|
|
65
|
+
need adjusting; the value has always been the embedded view.
|
|
66
|
+
|
|
67
|
+
**A `KBQ_TOAST_FACTORY` component that does not extend `KbqToastComponent`** is
|
|
68
|
+
rejected: `show()` reads the numeric `id` the service keys its stack by, and
|
|
69
|
+
throws when it is missing instead of stacking a toast it can never dismiss.
|
|
70
|
+
|
|
71
|
+
## Behaviour changes
|
|
72
|
+
|
|
73
|
+
**The data you pass in is no longer written to.** `show()` used to default
|
|
74
|
+
`style` to `contrast` and `icon` to `true` by assigning them onto the caller's
|
|
75
|
+
object; both defaults are resolved inside the toast now. Anything that read
|
|
76
|
+
those keys back after `show()` — or rendered the same object somewhere else,
|
|
77
|
+
which is what `kbq-notification-center` does — has to apply its own defaults.
|
|
78
|
+
|
|
79
|
+
**Auto-dismissal pauses while a toast is hovered or holds the focus.** The
|
|
80
|
+
whole stack shares one heartbeat, which stops while the stack is empty. A toast
|
|
81
|
+
shown through `showTemplate()` carries no such listeners and is not paused.
|
|
82
|
+
|
|
83
|
+
**Every toast is a live region:** `role="alert"` for the error and warning
|
|
84
|
+
styles, `role="status"` otherwise. The stack itself is a labelled
|
|
85
|
+
`role="region"` whose name comes from the new `toastRegion` key of the `a11y`
|
|
86
|
+
section of the locale data.
|
|
87
|
+
|
|
88
|
+
**Focus is handed on only for a keyboard dismissal** — to the next toast, or
|
|
89
|
+
back to the element that held it when the toast appeared. A mouse dismissal
|
|
90
|
+
leaves the focus where the browser put it.
|
|
91
|
+
|
|
92
|
+
## Running the migration
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
ng update @koobiq/components@21
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Or manually:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
ng g @koobiq/components:toast-stack-and-defaults --project "<your project>"
|
|
102
|
+
```
|