@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,70 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils_messages = require('../../utils/messages.js');
|
|
6
|
+
var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
|
|
7
|
+
var migrations_fileUploadDeprecatedOutputs_data = require('./data.js');
|
|
8
|
+
require('@angular-devkit/schematics');
|
|
9
|
+
require('@schematics/angular/utility');
|
|
10
|
+
|
|
11
|
+
const TS_EXT = '.ts';
|
|
12
|
+
const HTML_EXT = '.html';
|
|
13
|
+
const LABEL = '[file-upload-deprecated-outputs]';
|
|
14
|
+
// Build output that `visitProjectFiles` does not prune already.
|
|
15
|
+
const SKIPPED_PATH_SEGMENTS = ['/coverage/', '/out-tsc/'];
|
|
16
|
+
// `fileQueueChange` is a prefix of `fileQueueChanged`, so this one substring check
|
|
17
|
+
// is enough to skip every file neither replacement can possibly match.
|
|
18
|
+
const MATCH_HINT = 'fileQueueChange';
|
|
19
|
+
const compiledReplacements = migrations_fileUploadDeprecatedOutputs_data.replacements.map(({ from, to }) => ({ regexp: new RegExp(from, 'g'), to }));
|
|
20
|
+
function isSkippedPath(filePath) {
|
|
21
|
+
return SKIPPED_PATH_SEGMENTS.some((segment) => filePath.includes(segment));
|
|
22
|
+
}
|
|
23
|
+
function isMigratableFile(filePath) {
|
|
24
|
+
return filePath.endsWith(TS_EXT) || filePath.endsWith(HTML_EXT);
|
|
25
|
+
}
|
|
26
|
+
function applyReplacements(content) {
|
|
27
|
+
let result = content;
|
|
28
|
+
for (const { regexp, to } of compiledReplacements) {
|
|
29
|
+
result = result.replace(regexp, to);
|
|
30
|
+
}
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
function fileUploadDeprecatedOutputs(options) {
|
|
34
|
+
return async (tree, context) => {
|
|
35
|
+
const { project } = options;
|
|
36
|
+
// `ng update` invokes migrations with no options at all, and migrations.json
|
|
37
|
+
// declares no schema, so the schema default never reaches us — applying the
|
|
38
|
+
// fix is the intended behaviour there.
|
|
39
|
+
const fix = options.fix ?? true;
|
|
40
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
41
|
+
const root = projectDefinition?.root ?? '';
|
|
42
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
43
|
+
let touched = 0;
|
|
44
|
+
utils_packageConfig.visitProjectFiles(rootDir, (filePath, entry) => {
|
|
45
|
+
if (isSkippedPath(filePath))
|
|
46
|
+
return;
|
|
47
|
+
if (!isMigratableFile(filePath))
|
|
48
|
+
return;
|
|
49
|
+
const originalContent = entry?.content.toString();
|
|
50
|
+
if (!originalContent || !originalContent.includes(MATCH_HINT))
|
|
51
|
+
return;
|
|
52
|
+
const content = applyReplacements(originalContent);
|
|
53
|
+
if (content === originalContent)
|
|
54
|
+
return;
|
|
55
|
+
touched++;
|
|
56
|
+
if (fix) {
|
|
57
|
+
tree.overwrite(filePath, content);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
utils_messages.logMessage(context.logger, [
|
|
64
|
+
`${LABEL} processed tree under "${root || '<workspace root>'}", ` +
|
|
65
|
+
`${fix ? 'updated' : 'would update'} ${touched} file(s).`
|
|
66
|
+
]);
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
exports.default = fileUploadDeprecatedOutputs;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-file-upload-deprecated-outputs",
|
|
4
|
+
"title": "Koobiq components file-upload deprecated outputs removal",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"project": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the project to migrate. Defaults to the workspace's default project when run via `ng g`; `ng update` invokes the migration with no options at all, which runs it 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,183 @@
|
|
|
1
|
+
# filter-bar-rename-action
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21`
|
|
4
|
+
(registered for `21.0.0-0`). Cleans up after the filter-bar "rename" rework.
|
|
5
|
+
|
|
6
|
+
## Background
|
|
7
|
+
|
|
8
|
+
The save/rename popover used to render a caption above its name field, sourced
|
|
9
|
+
from `filters.name` of the filter-bar locale configuration, while its header
|
|
10
|
+
said either "Сохранить как новый" or "Сохранить изменения". The header now
|
|
11
|
+
carries the caption itself ("Новый фильтр" when saving a new filter, "Новое
|
|
12
|
+
название" when renaming), so the separate field caption — and its locale key —
|
|
13
|
+
were removed.
|
|
14
|
+
|
|
15
|
+
A taken name used to be reported twice: by `filters.error` under the name field
|
|
16
|
+
and by `filters.errorHint` in the alert above it. The message under the field —
|
|
17
|
+
and its locale key — were removed; the field is still marked invalid.
|
|
18
|
+
|
|
19
|
+
`filters.saveChanges` and `filters.saveAsNew` each did two jobs: the label of a
|
|
20
|
+
dropdown item and the header of the popover it opens. A field caption reads
|
|
21
|
+
wrong on a dropdown item, so each key was split into a `…Header` and a
|
|
22
|
+
`…Button` key.
|
|
23
|
+
|
|
24
|
+
The dropdown item that opens the rename popover was reworded from "Изменить" to
|
|
25
|
+
"Переименовать", and its action was narrowed to match the new name.
|
|
26
|
+
|
|
27
|
+
## Breaking change
|
|
28
|
+
|
|
29
|
+
**`filters.name` and `filters.error` were removed from the filter-bar locale
|
|
30
|
+
configuration.**
|
|
31
|
+
|
|
32
|
+
**`filters.saveChanges` and `filters.saveAsNew` were replaced** by
|
|
33
|
+
`saveChangesHeader` / `saveChangesButton` and `saveAsNewHeader` /
|
|
34
|
+
`saveAsNewButton`.
|
|
35
|
+
|
|
36
|
+
A literal typed against the configuration — a
|
|
37
|
+
`kbqFilterBarLocaleConfigurationProvider()` argument, for one — fails to
|
|
38
|
+
compile on a removed key with an excess-property error; an untyped one (a
|
|
39
|
+
`useValue`) silently loses the override.
|
|
40
|
+
|
|
41
|
+
## Behaviour change
|
|
42
|
+
|
|
43
|
+
**Renaming a filter no longer saves it.** `saveAsNew()` used to stamp
|
|
44
|
+
`saved: true` / `changed: false` onto the emitted payload in both modes, so
|
|
45
|
+
renaming a filter with unsaved pipe edits handed the host a payload that
|
|
46
|
+
declared those edits saved — and a host persisting `event.filter` wholesale
|
|
47
|
+
wrote them to storage. In rename mode both flags are now inherited from the
|
|
48
|
+
current filter, so a dirty filter stays dirty under its new name and its "save
|
|
49
|
+
changes" action (with its warning marker) survives the rename.
|
|
50
|
+
|
|
51
|
+
Hosts handling `KbqSaveFilterStatuses.NewName` should persist **the name only**.
|
|
52
|
+
The payload still carries the pipes currently shown in the bar — the component
|
|
53
|
+
cannot know which pipes were last persisted — so writing the whole payload back
|
|
54
|
+
reintroduces the old behaviour.
|
|
55
|
+
|
|
56
|
+
The default wording changed with it: the dropdown items read "Сохранить" and
|
|
57
|
+
"Сохранить как новый", and the alert reporting a taken name reads "Такой фильтр
|
|
58
|
+
уже есть".
|
|
59
|
+
|
|
60
|
+
## What it does
|
|
61
|
+
|
|
62
|
+
The schematic walks every `.ts` and `.html` file in the project (skipping
|
|
63
|
+
`node_modules` and `dist`).
|
|
64
|
+
|
|
65
|
+
| Auto-fix | Where |
|
|
66
|
+
| ---------------------------------------------------------------------------------------------- | ----- |
|
|
67
|
+
| Removes the `name` and `error` properties from a filter-bar `filters` locale literal | `.ts` |
|
|
68
|
+
| Splits `saveChanges` / `saveAsNew` in such a literal into `…Header` and `…Button` (same value) | `.ts` |
|
|
69
|
+
|
|
70
|
+
Literals are found through the TypeScript AST and matched by **fingerprint**: an
|
|
71
|
+
object literal is treated as a `filters` section only when it carries at least
|
|
72
|
+
three of the section's other keys (`saveAsNewFilter`, `saveChanges`,
|
|
73
|
+
`saveAsNewHeader`, `actionsTooltip`, …; old and split keys both count). No type
|
|
74
|
+
resolution is involved — the schematic's virtual tree has no `@koobiq` types to
|
|
75
|
+
resolve against — so an unrelated object that merely has a `name`, `error`,
|
|
76
|
+
`saveChanges` or `saveAsNew` property is never touched. A deleted property goes
|
|
77
|
+
together with exactly one adjacent separator, so the literal keeps its shape and
|
|
78
|
+
nothing else in the file is reformatted.
|
|
79
|
+
|
|
80
|
+
A split key becomes both of its halves, each carrying the old value, so the
|
|
81
|
+
string keeps showing where it did. A half the literal already has is not
|
|
82
|
+
repeated, and a shorthand expands into two references to its variable.
|
|
83
|
+
|
|
84
|
+
A shorthand `name` or `error` (`{ name, saveChanges: … }`) is deliberately left
|
|
85
|
+
alone: deleting it would drop a reference to a variable the file still declares,
|
|
86
|
+
which is a different edit from removing a dead string. The literal is reported
|
|
87
|
+
instead, so the key does not go unnoticed.
|
|
88
|
+
|
|
89
|
+
The AST parse is gated on a cheap pre-check for a `name`, `error`,
|
|
90
|
+
`saveChanges` or `saveAsNew` member (`name:`, `'name':`, or the shorthand
|
|
91
|
+
between two separators) rather than on the bare word, which would match
|
|
92
|
+
`className`, `errorState` and most of a project.
|
|
93
|
+
|
|
94
|
+
## What it does _not_ do (warn-only)
|
|
95
|
+
|
|
96
|
+
| Pattern | Manual migration |
|
|
97
|
+
| ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------- |
|
|
98
|
+
| `filters.name` in `.ts` | A read (or a literal the fingerprint did not match) — drop it |
|
|
99
|
+
| A shorthand `name` / `error` in a matched literal | Remove it by hand, together with the variable if nothing else reads it |
|
|
100
|
+
| `filters.name` / `localeData.name` in a template | Drop the binding, or bind your own string if the field still needs a visible caption |
|
|
101
|
+
| A read or binding of `filters.error` / `localeData.error` | Drop it — the alert above the field reports a taken name alone |
|
|
102
|
+
| An `error` key left in a partial override or binding (`filters: { error: … }`) | Delete it |
|
|
103
|
+
| `KbqSaveFilterStatuses.NewName` | Review the handler: persist the name only, or the rename keeps saving the pending pipe edits |
|
|
104
|
+
| A read of `filters.saveChanges` / `filters.saveAsNew` | Read `…Header` for the popover header or `…Button` for the dropdown item |
|
|
105
|
+
| A `saveChanges` / `saveAsNew` string left in a partial override or binding | Replace it with `…Header` and/or `…Button` |
|
|
106
|
+
|
|
107
|
+
Warnings are checked against the **post-fix** content, so an auto-fixed literal
|
|
108
|
+
does not also report as needing manual work. In dry-run mode (`--fix false`)
|
|
109
|
+
they are reported against the original content instead.
|
|
110
|
+
|
|
111
|
+
`fix` defaults to `true`. `ng update` invokes migrations with no options at all,
|
|
112
|
+
so the rule applies that default itself rather than relying on the schema.
|
|
113
|
+
|
|
114
|
+
[Params](schema.ts)
|
|
115
|
+
|
|
116
|
+
Usage for Angular Cli:
|
|
117
|
+
|
|
118
|
+
```shell
|
|
119
|
+
ng g @koobiq/components:filter-bar-rename-action --project "<your project>"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Usage for Nx:
|
|
123
|
+
|
|
124
|
+
```shell
|
|
125
|
+
nx g @koobiq/components:filter-bar-rename-action --project "<your project>"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Run locally
|
|
129
|
+
|
|
130
|
+
Build package
|
|
131
|
+
|
|
132
|
+
```shell
|
|
133
|
+
yarn run build:schematics
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Run command (for example, for `koobiq-docs` project)
|
|
137
|
+
|
|
138
|
+
```shell
|
|
139
|
+
ng g ./dist/components/schematics/collection.json:filter-bar-rename-action --project koobiq-docs
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Result
|
|
143
|
+
|
|
144
|
+
#### Before
|
|
145
|
+
|
|
146
|
+
```ts
|
|
147
|
+
import { KBQ_FILTER_BAR_LOCALE_CONFIGURATION } from '@koobiq/components/filter-bar';
|
|
148
|
+
|
|
149
|
+
export const filterBarConfiguration = {
|
|
150
|
+
provide: KBQ_FILTER_BAR_LOCALE_CONFIGURATION,
|
|
151
|
+
useValue: {
|
|
152
|
+
...ruRULocaleData.filterBar,
|
|
153
|
+
filters: {
|
|
154
|
+
...ruRULocaleData.filterBar.filters,
|
|
155
|
+
saveChanges: 'Сохранить изменения',
|
|
156
|
+
change: 'Изменить',
|
|
157
|
+
name: 'Название',
|
|
158
|
+
error: 'Поиск с таким названием уже существует',
|
|
159
|
+
saveButton: 'Сохранить'
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
#### After
|
|
166
|
+
|
|
167
|
+
```ts
|
|
168
|
+
import { KBQ_FILTER_BAR_LOCALE_CONFIGURATION } from '@koobiq/components/filter-bar';
|
|
169
|
+
|
|
170
|
+
export const filterBarConfiguration = {
|
|
171
|
+
provide: KBQ_FILTER_BAR_LOCALE_CONFIGURATION,
|
|
172
|
+
useValue: {
|
|
173
|
+
...ruRULocaleData.filterBar,
|
|
174
|
+
filters: {
|
|
175
|
+
...ruRULocaleData.filterBar.filters,
|
|
176
|
+
saveChangesHeader: 'Сохранить изменения',
|
|
177
|
+
saveChangesButton: 'Сохранить изменения',
|
|
178
|
+
change: 'Изменить',
|
|
179
|
+
saveButton: 'Сохранить'
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
```
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Replacement data for the filter-bar "rename" rework.
|
|
5
|
+
*
|
|
6
|
+
* The `filters.name` key was removed from the filter-bar locale configuration: the save/rename
|
|
7
|
+
* popover no longer renders a separate caption above its name field, because its header now
|
|
8
|
+
* carries that caption itself. `filters.error` went too: a taken name is reported by the alert above
|
|
9
|
+
* the field (`filters.errorHint`) alone. `filters.saveChanges` and `filters.saveAsNew` each served as
|
|
10
|
+
* both a popover header and a dropdown item label, so each was split into a `…Header` and a `…Button`
|
|
11
|
+
* key. Renaming a filter also stopped writing `saved: true` / `changed: false` onto the emitted
|
|
12
|
+
* payload, so it no longer persists the filter's pending pipe edits as a side effect.
|
|
13
|
+
*/
|
|
14
|
+
/** The locale keys removed from the `filters` section of the filter-bar configuration. */
|
|
15
|
+
const REMOVED_KEYS = ['name', 'error'];
|
|
16
|
+
/**
|
|
17
|
+
* Cheap pre-check gating the AST parse.
|
|
18
|
+
*
|
|
19
|
+
* Searching for `name` or `error` alone would match `className`, `errorState` and most of a project,
|
|
20
|
+
* so the parse is gated on the shapes a key can take inside an object literal: `name:`, a quoted
|
|
21
|
+
* `'name':`, and the shorthand `name` standing between a brace or comma and the next one. A preceding
|
|
22
|
+
* word character or dot rules out both longer identifiers and property reads, which are warn-only.
|
|
23
|
+
*/
|
|
24
|
+
const REMOVED_MEMBER_PATTERN = /(?:^|[^.\w])(['"]?)(?:name|error)\1\s*[:,}]/;
|
|
25
|
+
/** Keys split in two: the popover header (`…Header`) and the dropdown item label (`…Button`). */
|
|
26
|
+
const SPLIT_KEYS = new Map([
|
|
27
|
+
['saveChanges', ['saveChangesHeader', 'saveChangesButton']],
|
|
28
|
+
['saveAsNew', ['saveAsNewHeader', 'saveAsNewButton']]
|
|
29
|
+
]);
|
|
30
|
+
/** The same pre-check for the split keys; `saveAsNewFilter` does not match. */
|
|
31
|
+
const SPLIT_MEMBER_PATTERN = /(?:^|[^.\w])(['"]?)(?:saveChanges|saveAsNew)\1\s*[:,}]/;
|
|
32
|
+
/** Reported for a shorthand removed key the fix deliberately leaves in place. */
|
|
33
|
+
const shorthandMessage = (key) => `This filter-bar locale literal carries \`${key}\` as a shorthand property. It was left in place — ` +
|
|
34
|
+
'deleting it would drop a reference to a variable the file still declares — so remove it by hand, ' +
|
|
35
|
+
'together with the variable if nothing else reads it.';
|
|
36
|
+
/**
|
|
37
|
+
* Sibling keys that identify a `filters` locale literal.
|
|
38
|
+
*
|
|
39
|
+
* A full locale literal carries the whole key set — matching on a handful of them keeps an unrelated
|
|
40
|
+
* object that merely has a `name`, `error`, `saveChanges` or `saveAsNew` property from being
|
|
41
|
+
* touched. Both the old and the split keys count, so a literal is recognised before and after the
|
|
42
|
+
* split. No type resolution is involved: the schematic's virtual tree has no `@koobiq` types to
|
|
43
|
+
* resolve against.
|
|
44
|
+
*/
|
|
45
|
+
const FINGERPRINT_KEYS = [
|
|
46
|
+
'defaultName',
|
|
47
|
+
'saveNewFilterTooltip',
|
|
48
|
+
'searchPlaceholder',
|
|
49
|
+
'searchEmptyResult',
|
|
50
|
+
'saveAsNewFilter',
|
|
51
|
+
'saveChanges',
|
|
52
|
+
'saveAsNew',
|
|
53
|
+
'saveChangesHeader',
|
|
54
|
+
'saveChangesButton',
|
|
55
|
+
'saveAsNewHeader',
|
|
56
|
+
'saveAsNewButton',
|
|
57
|
+
'change',
|
|
58
|
+
'resetChanges',
|
|
59
|
+
'errorHint',
|
|
60
|
+
'saveButton',
|
|
61
|
+
'cancelButton',
|
|
62
|
+
'actionsTooltip'
|
|
63
|
+
];
|
|
64
|
+
/**
|
|
65
|
+
* How many fingerprint keys an object literal needs before it is rewritten.
|
|
66
|
+
*
|
|
67
|
+
* Three distinct filter-bar strings never co-occur by accident, while a full section carries well
|
|
68
|
+
* over a dozen, so the threshold rejects look-alikes. A partial override with fewer keys is left to
|
|
69
|
+
* the warnings below.
|
|
70
|
+
*/
|
|
71
|
+
const MIN_FINGERPRINT_MATCHES = 3;
|
|
72
|
+
/** Warnings for `.ts` files. Checked against post-fix content, so they only fire on what was left. */
|
|
73
|
+
const tsWarnPatterns = [
|
|
74
|
+
{
|
|
75
|
+
pattern: '\\bfilters\\.name\\b',
|
|
76
|
+
message: 'The `name` key was removed from the filters section of the filter-bar locale configuration. ' +
|
|
77
|
+
'Drop this read — the popover header now captions the name field. Manual migration required: ' +
|
|
78
|
+
'this usage was not an object literal the schematic could rewrite.'
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
pattern: 'KbqSaveFilterStatuses\\.NewName',
|
|
82
|
+
message: "Renaming changed meaning: the payload of a NewName save now keeps the filter's own `saved` / " +
|
|
83
|
+
'`changed` flags instead of forcing saved: true / changed: false, and it still carries the pipes ' +
|
|
84
|
+
'currently shown in the bar. Persist the name only — writing the whole payload back would ' +
|
|
85
|
+
'silently save the pending pipe edits along with it.'
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
/**
|
|
89
|
+
* Warnings for `.html` files and inline templates. A `.ts` file is checked against them too, so the
|
|
90
|
+
* split-key warnings live here and cover both.
|
|
91
|
+
*/
|
|
92
|
+
const templateWarnPatterns = [
|
|
93
|
+
{
|
|
94
|
+
pattern: '\\bfilters\\.name\\b|\\blocaleData\\.name\\b',
|
|
95
|
+
message: 'The `name` key was removed from the filters section of the filter-bar locale configuration. ' +
|
|
96
|
+
'Drop this binding, or bind your own string if the field still needs a visible caption.'
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
pattern: '\\b(?:filters|localeData)\\.error\\b',
|
|
100
|
+
message: 'The `error` key was removed from the filters section of the filter-bar locale configuration: ' +
|
|
101
|
+
'a taken name is reported by the alert above the name field (`errorHint`) alone. Drop this ' +
|
|
102
|
+
'read or binding. Manual migration required.'
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
pattern: '\\bfilters\\s*:\\s*\\{[^{}]*\\berror\\s*:',
|
|
106
|
+
message: 'An `error` key the fix did not rewrite: a filter-bar locale override with too few keys to be ' +
|
|
107
|
+
'recognised, or one bound in a template. The key was removed — delete it, or ignore this if ' +
|
|
108
|
+
'the object is not a filter-bar locale override.'
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
// The lookahead skips calls of the KbqFilters methods that share these names.
|
|
112
|
+
pattern: '\\b(?:filters|localeData)\\.(?:saveChanges|saveAsNew)\\b(?!\\s*\\()',
|
|
113
|
+
message: '`filters.saveChanges` and `filters.saveAsNew` were split: read `saveChangesHeader` / ' +
|
|
114
|
+
'`saveAsNewHeader` for the popover header, or `saveChangesButton` / `saveAsNewButton` for the ' +
|
|
115
|
+
'dropdown item. Manual migration required.'
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
pattern: '([\'"]?)\\b(?:saveChanges|saveAsNew)\\1\\s*:\\s*[\'"`]',
|
|
119
|
+
message: 'A `saveChanges` / `saveAsNew` string the fix did not rewrite: a filter-bar locale override with too ' +
|
|
120
|
+
'few keys to be recognised, or one bound in a template. Each key was split in two — replace it ' +
|
|
121
|
+
'with `…Header` (popover header) and `…Button` (dropdown item), or ignore this if the object is ' +
|
|
122
|
+
'not a filter-bar locale override.'
|
|
123
|
+
}
|
|
124
|
+
];
|
|
125
|
+
/** Behaviour note printed once per run — the parts no call site can point at. */
|
|
126
|
+
const BEHAVIOUR_NOTE = [
|
|
127
|
+
'Filter-bar rename behaviour changed:',
|
|
128
|
+
' - The "Изменить" / "Edit" dropdown item now reads "Переименовать" / "Rename" and only renames.',
|
|
129
|
+
' A filter with unsaved pipe changes stays changed under its new name, so the "save changes"',
|
|
130
|
+
' action (and its warning marker) survives a rename instead of being cleared by it.',
|
|
131
|
+
' - `filters.saveChanges` and `filters.saveAsNew` were each split into a `…Header` key (the popover',
|
|
132
|
+
' header, which now also captions the name field: "Новое название" / "Новый фильтр") and a',
|
|
133
|
+
' `…Button` key (the dropdown item: "Сохранить" / "Сохранить как новый"). The fix copies an',
|
|
134
|
+
' overridden value into both; re-check the headers — an action-shaped string reads wrong there.',
|
|
135
|
+
' - The popover no longer renders a caption above the name field; its header carries it.',
|
|
136
|
+
' - A taken name is reported by the alert above the name field alone ("Такой фильтр уже есть",',
|
|
137
|
+
' `filters.errorHint`): the field is still marked invalid, but `filters.error` no longer repeats',
|
|
138
|
+
' the message underneath.',
|
|
139
|
+
'Override these strings through kbqFilterBarLocaleConfigurationProvider if the new wording does not fit.'
|
|
140
|
+
];
|
|
141
|
+
|
|
142
|
+
exports.BEHAVIOUR_NOTE = BEHAVIOUR_NOTE;
|
|
143
|
+
exports.FINGERPRINT_KEYS = FINGERPRINT_KEYS;
|
|
144
|
+
exports.MIN_FINGERPRINT_MATCHES = MIN_FINGERPRINT_MATCHES;
|
|
145
|
+
exports.REMOVED_KEYS = REMOVED_KEYS;
|
|
146
|
+
exports.REMOVED_MEMBER_PATTERN = REMOVED_MEMBER_PATTERN;
|
|
147
|
+
exports.SPLIT_KEYS = SPLIT_KEYS;
|
|
148
|
+
exports.SPLIT_MEMBER_PATTERN = SPLIT_MEMBER_PATTERN;
|
|
149
|
+
exports.shorthandMessage = shorthandMessage;
|
|
150
|
+
exports.templateWarnPatterns = templateWarnPatterns;
|
|
151
|
+
exports.tsWarnPatterns = tsWarnPatterns;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var ts = require('typescript');
|
|
6
|
+
var utils_messages = require('../../utils/messages.js');
|
|
7
|
+
var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
|
|
8
|
+
var migrations_filterBarRenameAction_data = require('./data.js');
|
|
9
|
+
require('@angular-devkit/schematics');
|
|
10
|
+
require('@schematics/angular/utility');
|
|
11
|
+
|
|
12
|
+
const TS_EXT = '.ts';
|
|
13
|
+
const HTML_EXT = '.html';
|
|
14
|
+
const LABEL = '[filter-bar-rename-action]';
|
|
15
|
+
const createSourceFile = (fileName, content) => ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
16
|
+
/** Property name of an object-literal member, for the forms a locale literal can use. */
|
|
17
|
+
function propertyName(property) {
|
|
18
|
+
if (!ts.isPropertyAssignment(property) && !ts.isShorthandPropertyAssignment(property))
|
|
19
|
+
return null;
|
|
20
|
+
if (!ts.isIdentifier(property.name) && !ts.isStringLiteralLike(property.name))
|
|
21
|
+
return null;
|
|
22
|
+
return property.name.text;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Whether an object literal is recognisably a filter-bar `filters` locale section — one carrying
|
|
26
|
+
* enough of the sibling keys listed in {@link FINGERPRINT_KEYS}.
|
|
27
|
+
*/
|
|
28
|
+
function isFiltersSection(node) {
|
|
29
|
+
const fingerprint = node.properties.filter((property) => {
|
|
30
|
+
const name = propertyName(property);
|
|
31
|
+
return name !== null && migrations_filterBarRenameAction_data.FINGERPRINT_KEYS.includes(name);
|
|
32
|
+
});
|
|
33
|
+
return fingerprint.length >= migrations_filterBarRenameAction_data.MIN_FINGERPRINT_MATCHES;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Rewrites a split key into its `…Header` / `…Button` pair, both carrying the old value, so every
|
|
37
|
+
* string keeps showing where it did. A half the literal already has is not repeated; with both
|
|
38
|
+
* present the old property is just deleted. A shorthand expands into two references to its variable.
|
|
39
|
+
*/
|
|
40
|
+
function splitProperty(property, name, targets, existing, sourceFile) {
|
|
41
|
+
const start = property.getStart(sourceFile);
|
|
42
|
+
const end = property.getEnd();
|
|
43
|
+
const missing = targets.filter((target) => !existing.has(target));
|
|
44
|
+
if (!missing.length)
|
|
45
|
+
return { start, end, text: null };
|
|
46
|
+
const text = sourceFile.text;
|
|
47
|
+
const key = text.slice(property.name.getStart(sourceFile), property.name.getEnd());
|
|
48
|
+
const value = ts.isPropertyAssignment(property)
|
|
49
|
+
? text.slice(property.initializer.getStart(sourceFile), property.initializer.getEnd())
|
|
50
|
+
: name;
|
|
51
|
+
const indent = text.slice(text.lastIndexOf('\n', start - 1) + 1, start);
|
|
52
|
+
const separator = /^[ \t]*$/.test(indent) ? `,${text.includes('\r\n') ? '\r\n' : '\n'}${indent}` : ', ';
|
|
53
|
+
return { start, end, text: missing.map((target) => `${key.replace(name, target)}: ${value}`).join(separator) };
|
|
54
|
+
}
|
|
55
|
+
/** Every edit across the file, plus the shorthand removed keys left behind. */
|
|
56
|
+
function collectFindings(sourceFile) {
|
|
57
|
+
const findings = { edits: [], shorthand: new Set() };
|
|
58
|
+
const visit = (node) => {
|
|
59
|
+
if (ts.isObjectLiteralExpression(node) && isFiltersSection(node)) {
|
|
60
|
+
const existing = new Set(node.properties.map(propertyName));
|
|
61
|
+
for (const property of node.properties) {
|
|
62
|
+
if (!ts.isPropertyAssignment(property) && !ts.isShorthandPropertyAssignment(property))
|
|
63
|
+
continue;
|
|
64
|
+
const name = propertyName(property);
|
|
65
|
+
if (name === null)
|
|
66
|
+
continue;
|
|
67
|
+
const targets = migrations_filterBarRenameAction_data.SPLIT_KEYS.get(name);
|
|
68
|
+
if (targets) {
|
|
69
|
+
findings.edits.push(splitProperty(property, name, targets, existing, sourceFile));
|
|
70
|
+
}
|
|
71
|
+
else if (migrations_filterBarRenameAction_data.REMOVED_KEYS.includes(name) && ts.isPropertyAssignment(property)) {
|
|
72
|
+
findings.edits.push({ start: property.getStart(sourceFile), end: property.getEnd(), text: null });
|
|
73
|
+
}
|
|
74
|
+
else if (migrations_filterBarRenameAction_data.REMOVED_KEYS.includes(name)) {
|
|
75
|
+
// A shorthand: deleting it would also drop a reference to a variable the file
|
|
76
|
+
// still declares, which is a different edit from removing a dead string.
|
|
77
|
+
findings.shorthand.add(name);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
ts.forEachChild(node, visit);
|
|
82
|
+
};
|
|
83
|
+
ts.forEachChild(sourceFile, visit);
|
|
84
|
+
return findings;
|
|
85
|
+
}
|
|
86
|
+
/** A comma and the whitespace — at most one line break — that separates two members. */
|
|
87
|
+
const SEPARATOR_BEFORE = /,[ \t]*\r?\n?[ \t]*$/;
|
|
88
|
+
const SEPARATOR_AFTER = /^,[ \t]*\r?\n?[ \t]*/;
|
|
89
|
+
/**
|
|
90
|
+
* Applies the edits right-to-left, so earlier offsets stay valid. A deleted property takes exactly
|
|
91
|
+
* one adjacent separator with it — the preceding one when it has one — so the literal keeps its shape
|
|
92
|
+
* and nothing around it is reformatted. A sole property leaves an empty literal rather than a stray
|
|
93
|
+
* comma.
|
|
94
|
+
*/
|
|
95
|
+
function applyEdits(content, edits) {
|
|
96
|
+
let result = content;
|
|
97
|
+
for (const { start, end, text } of [...edits].sort((a, b) => b.start - a.start)) {
|
|
98
|
+
if (text !== null) {
|
|
99
|
+
result = result.slice(0, start) + text + result.slice(end);
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const before = SEPARATOR_BEFORE.exec(result.slice(0, start));
|
|
103
|
+
const after = before ? null : SEPARATOR_AFTER.exec(result.slice(end));
|
|
104
|
+
result = result.slice(0, before ? before.index : start) + result.slice(end + (after ? after[0].length : 0));
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
function logWarnings(context, filePath, content, patterns) {
|
|
109
|
+
for (const { pattern, message } of patterns) {
|
|
110
|
+
if (new RegExp(pattern).test(content)) {
|
|
111
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function pickWarnPatterns(filePath) {
|
|
116
|
+
// A .ts file can hold an inline template, so it is checked against both sets.
|
|
117
|
+
return filePath.endsWith(TS_EXT) ? [...migrations_filterBarRenameAction_data.tsWarnPatterns, ...migrations_filterBarRenameAction_data.templateWarnPatterns] : migrations_filterBarRenameAction_data.templateWarnPatterns;
|
|
118
|
+
}
|
|
119
|
+
function isMigratableFile(filePath) {
|
|
120
|
+
return filePath.endsWith(TS_EXT) || filePath.endsWith(HTML_EXT);
|
|
121
|
+
}
|
|
122
|
+
function filterBarRenameAction(options) {
|
|
123
|
+
return async (tree, context) => {
|
|
124
|
+
const { project } = options;
|
|
125
|
+
// ng update invokes migrations with no options at all, and migrations.json declares no
|
|
126
|
+
// schema, so the schema default never reaches us — applying the fix is the intended
|
|
127
|
+
// behaviour there.
|
|
128
|
+
const fix = options.fix ?? true;
|
|
129
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
130
|
+
const root = projectDefinition?.root ?? '';
|
|
131
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
132
|
+
const filePaths = [];
|
|
133
|
+
utils_packageConfig.visitProjectFiles(rootDir, (filePath) => {
|
|
134
|
+
if (!isMigratableFile(filePath))
|
|
135
|
+
return;
|
|
136
|
+
filePaths.push(filePath);
|
|
137
|
+
});
|
|
138
|
+
let touched = 0;
|
|
139
|
+
for (const filePath of filePaths) {
|
|
140
|
+
const originalContent = tree.read(filePath)?.toString();
|
|
141
|
+
if (!originalContent)
|
|
142
|
+
continue;
|
|
143
|
+
let content = originalContent;
|
|
144
|
+
// Parsing every .ts of the project is not free, and a file that carries no `name`, `error`,
|
|
145
|
+
// `saveChanges` or `saveAsNew` member at all cannot hold a literal to fix.
|
|
146
|
+
if (filePath.endsWith(TS_EXT) &&
|
|
147
|
+
(migrations_filterBarRenameAction_data.REMOVED_MEMBER_PATTERN.test(content) || migrations_filterBarRenameAction_data.SPLIT_MEMBER_PATTERN.test(content))) {
|
|
148
|
+
const { edits, shorthand } = collectFindings(createSourceFile(filePath, content));
|
|
149
|
+
content = applyEdits(content, edits);
|
|
150
|
+
for (const key of shorthand) {
|
|
151
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_filterBarRenameAction_data.shorthandMessage(key)}`]);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// Warn on what is left over, so an auto-fixed literal does not also produce a
|
|
155
|
+
// "manual migration required" note. In dry-run mode the fix is not written, so report
|
|
156
|
+
// against the original content.
|
|
157
|
+
logWarnings(context, filePath, fix ? content : originalContent, pickWarnPatterns(filePath));
|
|
158
|
+
if (content === originalContent)
|
|
159
|
+
continue;
|
|
160
|
+
touched++;
|
|
161
|
+
if (fix) {
|
|
162
|
+
tree.overwrite(filePath, content);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
utils_messages.logMessage(context.logger, [
|
|
169
|
+
`${LABEL} processed tree under "${root || '<workspace root>'}", ` +
|
|
170
|
+
`${fix ? 'updated' : 'would update'} ${touched} file(s).`,
|
|
171
|
+
'',
|
|
172
|
+
...migrations_filterBarRenameAction_data.BEHAVIOUR_NOTE
|
|
173
|
+
]);
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
exports.default = filterBarRenameAction;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-filter-bar-rename-action",
|
|
4
|
+
"title": "Koobiq components filter-bar rename action rework",
|
|
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
|
+
}
|