@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,294 @@
|
|
|
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_localeConfigurationProviders_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 = '[locale-configuration-providers]';
|
|
15
|
+
function escapeRegExp(value) {
|
|
16
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
17
|
+
}
|
|
18
|
+
const createSourceFile = (fileName, content) => ts.createSourceFile(fileName, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
|
|
19
|
+
/** The name of a `{ key: value }` property, covering both `provide:` and `'provide':`. */
|
|
20
|
+
function assignedPropertyName(property) {
|
|
21
|
+
if (!ts.isPropertyAssignment(property))
|
|
22
|
+
return null;
|
|
23
|
+
if (!ts.isIdentifier(property.name) && !ts.isStringLiteralLike(property.name))
|
|
24
|
+
return null;
|
|
25
|
+
return property.name.text;
|
|
26
|
+
}
|
|
27
|
+
function findProperty(literal, name) {
|
|
28
|
+
return literal.properties.find((property) => assignedPropertyName(property) === name);
|
|
29
|
+
}
|
|
30
|
+
/** The migrated token a `{ provide: … }` object literal names, if it names one at all. */
|
|
31
|
+
function providedToken(node) {
|
|
32
|
+
if (!ts.isObjectLiteralExpression(node))
|
|
33
|
+
return null;
|
|
34
|
+
const initializer = findProperty(node, migrations_localeConfigurationProviders_data.PROVIDE_PROPERTY)?.initializer;
|
|
35
|
+
if (!initializer || !ts.isIdentifier(initializer))
|
|
36
|
+
return null;
|
|
37
|
+
return migrations_localeConfigurationProviders_data.MIGRATED_PROVIDER_TOKENS.find(({ token }) => token === initializer.text) ?? null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Collects the `{ provide: KBQ_<X>_CONFIGURATION, useValue: … }` entries to rewrite, and the
|
|
41
|
+
* provider objects that need a human instead.
|
|
42
|
+
*/
|
|
43
|
+
function scanProviders(sourceFile) {
|
|
44
|
+
const rewrites = [];
|
|
45
|
+
const warnings = [];
|
|
46
|
+
const visit = (node) => {
|
|
47
|
+
const entry = providedToken(node);
|
|
48
|
+
if (entry) {
|
|
49
|
+
const literal = node;
|
|
50
|
+
const unsupported = migrations_localeConfigurationProviders_data.UNSUPPORTED_PROPERTIES.find((name) => findProperty(literal, name));
|
|
51
|
+
const value = findProperty(literal, migrations_localeConfigurationProviders_data.VALUE_PROPERTY);
|
|
52
|
+
if (unsupported) {
|
|
53
|
+
warnings.push({ token: entry.token, message: migrations_localeConfigurationProviders_data.unsupportedShapeMessage(entry, unsupported) });
|
|
54
|
+
}
|
|
55
|
+
else if (!ts.isArrayLiteralExpression(literal.parent)) {
|
|
56
|
+
// Being an array element is what makes the entry safe to replace. A provider object bound
|
|
57
|
+
// to a name (`export const P = { provide: KBQ_…, useValue: … };`) is not an element of
|
|
58
|
+
// anything, and the helper returns a `Provider` rather than an object literal — swapping it
|
|
59
|
+
// in would silently change what that name means to everything that reads it.
|
|
60
|
+
warnings.push({ token: entry.token, message: migrations_localeConfigurationProviders_data.nonArrayProviderMessage(entry) });
|
|
61
|
+
}
|
|
62
|
+
else if (value && literal.properties.every((property) => isKnownProperty(property))) {
|
|
63
|
+
rewrites.push({
|
|
64
|
+
start: literal.getStart(sourceFile),
|
|
65
|
+
end: literal.getEnd(),
|
|
66
|
+
text: `${entry.helper}(${sourceFile.text.slice(value.initializer.getStart(sourceFile), value.initializer.getEnd())})`,
|
|
67
|
+
entry
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
// Anything left — no `useValue` at all, a spread, or an extra property such as `multi` that
|
|
71
|
+
// the single-argument helper has nowhere to put — keeps the token, so the leftover-reference
|
|
72
|
+
// warning reports it.
|
|
73
|
+
}
|
|
74
|
+
ts.forEachChild(node, visit);
|
|
75
|
+
};
|
|
76
|
+
ts.forEachChild(sourceFile, visit);
|
|
77
|
+
return { rewrites, warnings };
|
|
78
|
+
}
|
|
79
|
+
function isKnownProperty(property) {
|
|
80
|
+
const name = assignedPropertyName(property);
|
|
81
|
+
return name === migrations_localeConfigurationProviders_data.PROVIDE_PROPERTY || name === migrations_localeConfigurationProviders_data.VALUE_PROPERTY;
|
|
82
|
+
}
|
|
83
|
+
/** Splices the replacements in right-to-left, so earlier offsets stay valid. */
|
|
84
|
+
function applyRewrites(content, rewrites) {
|
|
85
|
+
let result = content;
|
|
86
|
+
for (const { start, end, text } of [...rewrites].sort((a, b) => b.start - a.start)) {
|
|
87
|
+
result = result.slice(0, start) + text + result.slice(end);
|
|
88
|
+
}
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Whether `name` is still used outside an import statement. The import clause itself does not count —
|
|
93
|
+
* it is exactly what gets dropped once nothing else refers to the token.
|
|
94
|
+
*/
|
|
95
|
+
function hasNonImportReference(sourceFile, name) {
|
|
96
|
+
let found = false;
|
|
97
|
+
const visit = (node) => {
|
|
98
|
+
if (found || ts.isImportDeclaration(node))
|
|
99
|
+
return;
|
|
100
|
+
if (ts.isIdentifier(node) && node.text === name) {
|
|
101
|
+
found = true;
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
ts.forEachChild(node, visit);
|
|
105
|
+
};
|
|
106
|
+
ts.forEachChild(sourceFile, visit);
|
|
107
|
+
return found;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Idempotently strips `symbol` from any `import { … } from 'from'` clause.
|
|
111
|
+
* - Multi-symbol clause: drop just that symbol, keep the others.
|
|
112
|
+
* - Single-symbol clause: drop the whole import line.
|
|
113
|
+
*/
|
|
114
|
+
function removeImport(content, symbol, from) {
|
|
115
|
+
// The trailing part deliberately stops after a single newline (`[ \t]*\r?\n?` rather than `\s*\n?`):
|
|
116
|
+
// dropping the whole import line must not also swallow the blank line that separates the import
|
|
117
|
+
// block from the code below it.
|
|
118
|
+
const moduleRe = new RegExp(`(import\\s*(?:type\\s*)?\\{)([^}]*)(\\}\\s*from\\s*['"]${escapeRegExp(from)}['"];?[ \\t]*\\r?\\n?)`, 'g');
|
|
119
|
+
return content.replace(moduleRe, (full, open, body, close) => {
|
|
120
|
+
const items = body
|
|
121
|
+
.split(',')
|
|
122
|
+
.map((item) => item.trim())
|
|
123
|
+
.filter(Boolean);
|
|
124
|
+
// An already-empty clause is somebody else's import — leave it alone.
|
|
125
|
+
if (items.length === 0)
|
|
126
|
+
return full;
|
|
127
|
+
// Handle `<name> as <alias>` — match on the source name, not the alias.
|
|
128
|
+
const kept = items.filter((spec) => spec.split(/\s+as\s+/)[0].trim() !== symbol);
|
|
129
|
+
if (kept.length === items.length)
|
|
130
|
+
return full;
|
|
131
|
+
if (kept.length === 0)
|
|
132
|
+
return '';
|
|
133
|
+
return `${open} ${kept.join(', ')} ${close}`;
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Idempotently adds `import { symbol } from 'from'`: into an existing clause of the same module when
|
|
138
|
+
* there is one, otherwise as a new line after the leading comments.
|
|
139
|
+
*/
|
|
140
|
+
function ensureImport(content, symbol, from) {
|
|
141
|
+
// Already imported from anywhere — a re-export or an alias — so leave it alone.
|
|
142
|
+
const alreadyImported = new RegExp(`import\\s*(?:type\\s*)?\\{[^}]*\\b${escapeRegExp(symbol)}\\b[^}]*\\}\\s*from\\s*['"][^'"]+['"]`);
|
|
143
|
+
if (alreadyImported.test(content))
|
|
144
|
+
return content;
|
|
145
|
+
// Deliberately matches a value clause only: a file may carry a separate `import type { … }` clause for
|
|
146
|
+
// the same module, and splicing a helper that is called as a value into that one is a compile error.
|
|
147
|
+
const sameModule = new RegExp(`(import\\s*\\{)([^}]*)(\\}\\s*from\\s*['"]${escapeRegExp(from)}['"])`);
|
|
148
|
+
if (sameModule.test(content)) {
|
|
149
|
+
return content.replace(sameModule, (_full, open, body, close) => {
|
|
150
|
+
const trimmed = body.trim().replace(/,$/, '');
|
|
151
|
+
const next = trimmed.length === 0 ? ` ${symbol} ` : `${body.replace(/\s*$/, '')}, ${symbol} `;
|
|
152
|
+
return `${open}${next}${close}`;
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
const lines = content.split('\n');
|
|
156
|
+
let insertAt = 0;
|
|
157
|
+
let inBlockComment = false;
|
|
158
|
+
for (let i = 0; i < lines.length; i++) {
|
|
159
|
+
const trimmed = lines[i].trim();
|
|
160
|
+
if (inBlockComment) {
|
|
161
|
+
if (trimmed.endsWith('*/'))
|
|
162
|
+
inBlockComment = false;
|
|
163
|
+
insertAt = i + 1;
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
if (trimmed.startsWith('/*')) {
|
|
167
|
+
inBlockComment = !trimmed.includes('*/');
|
|
168
|
+
insertAt = i + 1;
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
if (trimmed.startsWith('//') || trimmed.length === 0) {
|
|
172
|
+
insertAt = i + 1;
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
lines.splice(insertAt, 0, `import { ${symbol} } from '${from}';`);
|
|
178
|
+
return lines.join('\n');
|
|
179
|
+
}
|
|
180
|
+
/** The migrated tokens the rewrite pass touched, in declaration order. */
|
|
181
|
+
function rewrittenTokens(rewrites) {
|
|
182
|
+
return migrations_localeConfigurationProviders_data.MIGRATED_PROVIDER_TOKENS.filter((entry) => rewrites.some(({ entry: touched }) => touched === entry));
|
|
183
|
+
}
|
|
184
|
+
/** Compiled once: the table is fixed, and the pass runs over every file of the project. */
|
|
185
|
+
const compiledRenames = migrations_localeConfigurationProviders_data.RENAMED_SYMBOLS.map(({ from, to }) => ({ pattern: new RegExp(`\\b${from}\\b`, 'g'), to }));
|
|
186
|
+
/**
|
|
187
|
+
* Renames the locale symbols that moved onto their section's name. A word-boundary rewrite is enough
|
|
188
|
+
* here: no old name is a prefix of another one at a word boundary, and none of them is a common word.
|
|
189
|
+
*/
|
|
190
|
+
function renameSymbols(content) {
|
|
191
|
+
return compiledRenames.reduce((result, { pattern, to }) => result.replace(pattern, to), content);
|
|
192
|
+
}
|
|
193
|
+
function logWarnings(context, filePath, content, patterns) {
|
|
194
|
+
const mentionsComponent = migrations_localeConfigurationProviders_data.COMPONENT_MENTIONS.some((mention) => content.includes(mention));
|
|
195
|
+
for (const { pattern, message, needsComponentMention } of patterns) {
|
|
196
|
+
if (needsComponentMention && !mentionsComponent)
|
|
197
|
+
continue;
|
|
198
|
+
if (new RegExp(pattern).test(content)) {
|
|
199
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Reports the tokens still referenced after the rewrite pass — an `inject()` call, a provider shape the
|
|
205
|
+
* helper could not take over, a re-export. `alreadyWarned` holds the tokens a more specific message
|
|
206
|
+
* already covered, so a single provider is never reported twice.
|
|
207
|
+
*/
|
|
208
|
+
function logLeftoverTokens(context, filePath, content, alreadyWarned) {
|
|
209
|
+
const candidates = migrations_localeConfigurationProviders_data.MIGRATED_PROVIDER_TOKENS.filter(({ token }) => !alreadyWarned.has(token) && content.includes(token));
|
|
210
|
+
if (candidates.length === 0)
|
|
211
|
+
return;
|
|
212
|
+
const sourceFile = createSourceFile(filePath, content);
|
|
213
|
+
for (const entry of candidates) {
|
|
214
|
+
if (!hasNonImportReference(sourceFile, entry.token))
|
|
215
|
+
continue;
|
|
216
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${migrations_localeConfigurationProviders_data.leftoverTokenMessage(entry)}`]);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
function localeConfigurationProviders(options) {
|
|
220
|
+
return async (tree, context) => {
|
|
221
|
+
const { project } = options;
|
|
222
|
+
// `ng update` invokes migrations with no options at all, and migrations.json declares no schema,
|
|
223
|
+
// so the schema default never reaches us — applying the fix is the intended behaviour there.
|
|
224
|
+
const fix = options.fix ?? true;
|
|
225
|
+
const projectDefinition = await utils_packageConfig.setupOptions(project, tree);
|
|
226
|
+
const root = projectDefinition?.root ?? '';
|
|
227
|
+
const rootDir = root ? tree.getDir(root) : tree.root;
|
|
228
|
+
const filePaths = [];
|
|
229
|
+
utils_packageConfig.visitProjectFiles(rootDir, (filePath) => {
|
|
230
|
+
if (!filePath.endsWith(TS_EXT) && !filePath.endsWith(HTML_EXT))
|
|
231
|
+
return;
|
|
232
|
+
filePaths.push(filePath);
|
|
233
|
+
});
|
|
234
|
+
let touched = 0;
|
|
235
|
+
for (const filePath of filePaths) {
|
|
236
|
+
const originalContent = tree.read(filePath)?.toString();
|
|
237
|
+
if (!originalContent)
|
|
238
|
+
continue;
|
|
239
|
+
// Renames run first: every later pass — the provider rewrite, the leftover check, the member
|
|
240
|
+
// warnings — is written against the names the section has now, and a project arriving here
|
|
241
|
+
// still carries the released ones.
|
|
242
|
+
let content = renameSymbols(originalContent);
|
|
243
|
+
const providerWarnings = [];
|
|
244
|
+
const isTs = filePath.endsWith(TS_EXT);
|
|
245
|
+
// Parsing every `.ts` of the project is not free, and nothing can change in a file that
|
|
246
|
+
// mentions none of the tokens.
|
|
247
|
+
if (isTs && migrations_localeConfigurationProviders_data.MIGRATED_PROVIDER_TOKENS.some(({ token }) => content.includes(token))) {
|
|
248
|
+
const { rewrites, warnings } = scanProviders(createSourceFile(filePath, content));
|
|
249
|
+
providerWarnings.push(...warnings);
|
|
250
|
+
content = applyRewrites(content, rewrites);
|
|
251
|
+
if (content !== originalContent) {
|
|
252
|
+
// Those edits moved every offset that followed them, and the leftover check has to see
|
|
253
|
+
// the rewritten file rather than the positions it started with.
|
|
254
|
+
const rewritten = createSourceFile(filePath, content);
|
|
255
|
+
for (const entry of rewrittenTokens(rewrites)) {
|
|
256
|
+
// The helper joins an existing clause of the module before the token leaves it, so
|
|
257
|
+
// the import keeps its place in the file even when the token was its only symbol.
|
|
258
|
+
content = ensureImport(content, entry.helper, entry.from);
|
|
259
|
+
if (!hasNonImportReference(rewritten, entry.token)) {
|
|
260
|
+
content = removeImport(content, entry.token, entry.from);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
// Warn on what is left over, so an auto-fixed usage does not also produce a "manual migration
|
|
266
|
+
// required" note. In dry-run mode the fix is not written, so report against the original.
|
|
267
|
+
const reported = fix ? content : originalContent;
|
|
268
|
+
logWarnings(context, filePath, reported, migrations_localeConfigurationProviders_data.memberWarnPatterns);
|
|
269
|
+
if (isTs) {
|
|
270
|
+
for (const { message } of providerWarnings) {
|
|
271
|
+
utils_messages.logMessage(context.logger, [`${LABEL} ${filePath}`, ` ${message}`]);
|
|
272
|
+
}
|
|
273
|
+
logLeftoverTokens(context, filePath, reported, new Set(providerWarnings.map(({ token }) => token)));
|
|
274
|
+
}
|
|
275
|
+
if (content === originalContent)
|
|
276
|
+
continue;
|
|
277
|
+
touched++;
|
|
278
|
+
if (fix) {
|
|
279
|
+
tree.overwrite(filePath, content);
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
utils_messages.logMessage(context.logger, [`${LABEL} would update ${filePath} (run with --fix to apply)`]);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
utils_messages.logMessage(context.logger, [
|
|
286
|
+
`${LABEL} processed tree under "${root || '<workspace root>'}", ` +
|
|
287
|
+
`${fix ? 'updated' : 'would update'} ${touched} file(s).`,
|
|
288
|
+
'',
|
|
289
|
+
...migrations_localeConfigurationProviders_data.BEHAVIOUR_NOTE
|
|
290
|
+
]);
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
exports.default = localeConfigurationProviders;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-locale-configuration-providers",
|
|
4
|
+
"title": "Koobiq components locale configuration providers",
|
|
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,70 @@
|
|
|
1
|
+
### Mandatory Peer Dependencies schematics
|
|
2
|
+
|
|
3
|
+
This schematic adds the packages that became mandatory `peerDependencies` of `@koobiq/components`. It includes:
|
|
4
|
+
|
|
5
|
+
- `overlayscrollbars`
|
|
6
|
+
- `@koobiq/date-adapter`
|
|
7
|
+
|
|
8
|
+
npm installs a newly mandatory peer on upgrade by itself, but Yarn does not and pnpm only does with
|
|
9
|
+
`auto-install-peers`. Those projects would otherwise upgrade into a build that fails with
|
|
10
|
+
`Cannot find module 'overlayscrollbars'`, since `ng add` is the only other place that writes these packages and
|
|
11
|
+
`ng update` never runs it.
|
|
12
|
+
|
|
13
|
+
An entry the project already declares is left untouched, so a `@koobiq/date-adapter` pinned below `3.4.0` keeps
|
|
14
|
+
its version. That one is not an install error but a `TypeError: this.dateAdapter.addCalendarUnits is not a
|
|
15
|
+
function` inside `kbq-time-range`, so the schematic warns about it instead. The warning is only printed for a
|
|
16
|
+
project that brought its own range — one that had no entry at all just received the current one.
|
|
17
|
+
|
|
18
|
+
[Params](schema.ts)
|
|
19
|
+
|
|
20
|
+
Usage for Angular Cli:
|
|
21
|
+
|
|
22
|
+
```shell
|
|
23
|
+
ng g @koobiq/components:mandatory-peer-dependencies --project "<your project>"
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Usage for Nx:
|
|
27
|
+
|
|
28
|
+
```shell
|
|
29
|
+
nx g @koobiq/components:mandatory-peer-dependencies --project "<your project>"
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Run locally
|
|
33
|
+
|
|
34
|
+
Build package
|
|
35
|
+
|
|
36
|
+
```shell
|
|
37
|
+
yarn run build:schematics
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Run command (for example, for `koobiq-docs` project)
|
|
41
|
+
|
|
42
|
+
```shell
|
|
43
|
+
ng g ./dist/components/schematics/collection.json:mandatory-peer-dependencies --project koobiq-docs
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Result
|
|
47
|
+
|
|
48
|
+
#### Before
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"@angular/core": "^20.3.0",
|
|
54
|
+
"@koobiq/components": "^21.0.0"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### After
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"dependencies": {
|
|
64
|
+
"@angular/core": "^20.3.0",
|
|
65
|
+
"@koobiq/components": "^21.0.0",
|
|
66
|
+
"@koobiq/date-adapter": "^3.5.1",
|
|
67
|
+
"overlayscrollbars": "2.7.3"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var tasks = require('@angular-devkit/schematics/tasks');
|
|
6
|
+
var utils_messages = require('../../utils/messages.js');
|
|
7
|
+
var utils_packageConfig = require('../../package-config-BhU2TfC8.js');
|
|
8
|
+
require('@angular-devkit/schematics');
|
|
9
|
+
require('@schematics/angular/utility');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* `@koobiq/components` now declares `overlayscrollbars` and `@koobiq/date-adapter` as mandatory peers.
|
|
13
|
+
*
|
|
14
|
+
* npm installs a newly mandatory peer on upgrade by itself, but Yarn does not and pnpm only does
|
|
15
|
+
* with `auto-install-peers`, so without this migration those consumers upgrade into a build that
|
|
16
|
+
* fails with "Cannot find module 'overlayscrollbars'". `ng add` is the only other place that writes
|
|
17
|
+
* these packages, and `ng update` never runs it.
|
|
18
|
+
*/
|
|
19
|
+
function migrate() {
|
|
20
|
+
return (tree, context) => {
|
|
21
|
+
// Read before the entry is added: `addPackageToPackageJson` leaves one that is already
|
|
22
|
+
// there untouched, so this is the last moment the project's own range is still visible.
|
|
23
|
+
const dateAdapterRange = utils_packageConfig.getPackageVersionFromPackageJson(tree, '@koobiq/date-adapter');
|
|
24
|
+
utils_packageConfig.addPackageToPackageJson(tree, 'overlayscrollbars', "2.7.3");
|
|
25
|
+
utils_packageConfig.addPackageToPackageJson(tree, '@koobiq/date-adapter', "^3.5.1");
|
|
26
|
+
context.addTask(new tasks.NodePackageInstallTask());
|
|
27
|
+
// Only when the project brought its own range, which the call above kept: one pinned below
|
|
28
|
+
// the new floor is not an install error but a
|
|
29
|
+
// `TypeError: this.dateAdapter.addCalendarUnits is not a function` inside `kbq-time-range`.
|
|
30
|
+
// A project that had no entry just got the current range and has nothing to act on.
|
|
31
|
+
if (dateAdapterRange) {
|
|
32
|
+
utils_messages.logMessage(context.logger, [
|
|
33
|
+
`\`@koobiq/date-adapter\` is declared as "${dateAdapterRange}" and was left untouched.`,
|
|
34
|
+
'It has to be 3.4.0 or newer — upgrade it together with the adapter you use',
|
|
35
|
+
'(`@koobiq/luxon-date-adapter` or `@koobiq/moment-date-adapter`): the date components',
|
|
36
|
+
'call `addCalendarUnits()` and `startOf()`, which 3.4.0 was the first to add.'
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
exports.default = migrate;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"$id": "koobiq-components-mandatory-peer-dependencies",
|
|
4
|
+
"title": "koobiq-components mandatory-peer-dependencies schematic",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"project": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the project",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "projectName"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# markdown-signals
|
|
2
|
+
|
|
3
|
+
Migration schematic invoked automatically by `ng update @koobiq/components@21` (registered for
|
|
4
|
+
`21.0.0-0`). Migrates `KbqMarkdown` consumers to its signal-based API and reports the two behavior
|
|
5
|
+
fixes the review made.
|
|
6
|
+
|
|
7
|
+
## Background
|
|
8
|
+
|
|
9
|
+
`markdownText` was the component's only input, and its setter did the rendering — which is why the
|
|
10
|
+
automated signal migration skipped it:
|
|
11
|
+
|
|
12
|
+
```ts
|
|
13
|
+
set markdownText(value: string | null) {
|
|
14
|
+
if (value && this.markdownText !== value) {
|
|
15
|
+
this.resultHtml.set(this.getResultHTML(value));
|
|
16
|
+
}
|
|
17
|
+
this._markdownText = value;
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The rendered HTML is a `computed` now and the input is a plain `input()`.
|
|
22
|
+
|
|
23
|
+
## What it rewrites
|
|
24
|
+
|
|
25
|
+
| Before | After |
|
|
26
|
+
| ----------------------- | ------------------------- |
|
|
27
|
+
| `markdown.markdownText` | `markdown.markdownText()` |
|
|
28
|
+
|
|
29
|
+
Both on receivers explicitly typed `KbqMarkdown` and through template reference variables on
|
|
30
|
+
`<kbq-markdown>`, in external and inline templates. Already-migrated reads are left alone, so the
|
|
31
|
+
schematic is idempotent.
|
|
32
|
+
|
|
33
|
+
## What it does _not_ do
|
|
34
|
+
|
|
35
|
+
| Pattern | Manual migration |
|
|
36
|
+
| --------------------------------- | -------------------------------------------------------------- |
|
|
37
|
+
| `markdown.markdownText = …` | Bind `[markdownText]` in the template — the input is read-only |
|
|
38
|
+
| `resultHtml.set(…)` in a subclass | Now a read-only `computed` — feed `markdownText` instead |
|
|
39
|
+
| `viewChild(KbqMarkdown)` | The query is a signal too, so a read needs two calls |
|
|
40
|
+
|
|
41
|
+
## Notes with no call site to point at
|
|
42
|
+
|
|
43
|
+
Both are consequences of the `if (value && …)` guard in the old setter.
|
|
44
|
+
|
|
45
|
+
- **Clearing `markdownText` now clears the output.** The setter only re-rendered for a truthy value,
|
|
46
|
+
so setting it back to `null` or `''` left the previous HTML on screen indefinitely.
|
|
47
|
+
- **The projected content is a standing fallback.** A `<kbq-markdown>` that both projects content and
|
|
48
|
+
binds `[markdownText]` falls back to the projected content whenever the input is empty, not just at
|
|
49
|
+
first render. The projected text is re-read when it changes, so content that only appears after the
|
|
50
|
+
first render is picked up too.
|
|
51
|
+
|
|
52
|
+
## Running it manually
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
ng generate @koobiq/components:markdown-signals --project my-app
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Pass `--fix=false` to see what it would change without writing.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Data for the `markdown-signals` migration.
|
|
5
|
+
*
|
|
6
|
+
* `markdownText` was the component's only input and the last accessor input in the package. Its setter did
|
|
7
|
+
* the rendering, which is why the automated signal migration skipped it; the rendered HTML is a `computed`
|
|
8
|
+
* now and the input is a plain `input()`.
|
|
9
|
+
*
|
|
10
|
+
* - `markdown.markdownText` → `markdown.markdownText()` (value unchanged — auto-fixed)
|
|
11
|
+
* - `resultHtml` → a read-only `computed`; it was already `protected`, so only a subclass could ever name
|
|
12
|
+
* it, and only a write to it changed (warn)
|
|
13
|
+
*
|
|
14
|
+
* The setter also never cleared what it had rendered, which the review fixed — see `SUMMARY`.
|
|
15
|
+
*/
|
|
16
|
+
/** Members of `KbqMarkdown` whose value is unchanged; a read must become a call. Auto-fixed. */
|
|
17
|
+
const SIGNAL_MEMBERS = ['markdownText'];
|
|
18
|
+
/** Signal-API methods reachable on a signal; a read followed by one is already migrated. */
|
|
19
|
+
const SIGNAL_API_METHODS = new Set(['set', 'update', 'asReadonly', 'subscribe']);
|
|
20
|
+
/** TypeScript type annotation that marks a receiver as a markdown component. */
|
|
21
|
+
const MARKDOWN_TYPE = 'KbqMarkdown';
|
|
22
|
+
/** Element selector whose template reference variables (`#ref`) point at a markdown component. */
|
|
23
|
+
const MARKDOWN_ELEMENT = 'kbq-markdown';
|
|
24
|
+
/** Import specifier that marks a file as a markdown consumer. */
|
|
25
|
+
const MARKDOWN_PACKAGE = '@koobiq/components/markdown';
|
|
26
|
+
const SUBCLASS_ANCHOR = 'extends\\s+KbqMarkdown\\b';
|
|
27
|
+
const warnPatterns = [
|
|
28
|
+
{
|
|
29
|
+
anchor: SUBCLASS_ANCHOR,
|
|
30
|
+
pattern: '\\bresultHtml\\s*\\.\\s*set\\b',
|
|
31
|
+
message: 'KbqMarkdown.resultHtml is a read-only `computed` instead of a `WritableSignal`. It derives from ' +
|
|
32
|
+
'`markdownText` and the projected content, so a subclass that used to push HTML into it has to feed ' +
|
|
33
|
+
'the input instead.'
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
/**
|
|
37
|
+
* Reported for a read through a signal query, which is a signal holding the component: the read needs two
|
|
38
|
+
* calls rather than one. Emitted from the AST pass rather than a regex, so it follows the same receiver
|
|
39
|
+
* resolution as the rewrite and fires for an aliased import too.
|
|
40
|
+
*
|
|
41
|
+
* `viewChild()` without `.required` is typed `Signal<KbqMarkdown | undefined>`, so the safe spelling differs
|
|
42
|
+
* between the two forms - advising the required form for an optional query would hand the consumer a
|
|
43
|
+
* `TypeError`.
|
|
44
|
+
*/
|
|
45
|
+
const signalQueryMessage = (member, required) => `A signal query holds the component behind a call of its own, so reading \`${member}\` through it needs ` +
|
|
46
|
+
`two calls: \`this.markdown()${required ? '' : '?'}.${member}()\`. ` +
|
|
47
|
+
(required
|
|
48
|
+
? 'Those reads are left untouched - migrate them by hand.'
|
|
49
|
+
: 'The query is optional, so keep the `?.`: it is `Signal<KbqMarkdown | undefined>`. Those reads are ' +
|
|
50
|
+
'left untouched - migrate them by hand.');
|
|
51
|
+
/** Reported when a template renders the component but cannot be parsed, so nothing in it was inspected. */
|
|
52
|
+
const UNPARSEABLE_TEMPLATE_MESSAGE = 'This template renders <kbq-markdown> but could not be parsed, so it was left untouched. Migrate reads ' +
|
|
53
|
+
'through its template reference variables by hand.';
|
|
54
|
+
/**
|
|
55
|
+
* Reported when a file names `KbqMarkdown` in a type position the receiver pass cannot scope to a single
|
|
56
|
+
* identifier - a union, an array, a `QueryList<…>`, a cast, a return type - or reads the member in a shape
|
|
57
|
+
* the access pass cannot reach. Those reads are left alone, and staying silent reads as "nothing to do".
|
|
58
|
+
*/
|
|
59
|
+
const UNRESOLVED_RECEIVER_MESSAGE = 'KbqMarkdown is used here in a way this migration cannot resolve to a single receiver, so any signal ' +
|
|
60
|
+
'read through it was left untouched. Check these lines by hand:';
|
|
61
|
+
/** Printed once per project, after the per-file reports. */
|
|
62
|
+
const SUMMARY = [
|
|
63
|
+
' Clearing `markdownText` now clears the rendered output. The setter only re-rendered for a truthy value, ' +
|
|
64
|
+
'so setting it back to null or an empty string left the previous HTML on screen indefinitely.',
|
|
65
|
+
' A `<kbq-markdown>` that both projects content and binds `[markdownText]` falls back to the projected ' +
|
|
66
|
+
'content whenever the input is empty, not just at first render. The projected text is re-read when it ' +
|
|
67
|
+
'changes, so content that only appears after the first render is picked up too.'
|
|
68
|
+
];
|
|
69
|
+
|
|
70
|
+
exports.MARKDOWN_ELEMENT = MARKDOWN_ELEMENT;
|
|
71
|
+
exports.MARKDOWN_PACKAGE = MARKDOWN_PACKAGE;
|
|
72
|
+
exports.MARKDOWN_TYPE = MARKDOWN_TYPE;
|
|
73
|
+
exports.SIGNAL_API_METHODS = SIGNAL_API_METHODS;
|
|
74
|
+
exports.SIGNAL_MEMBERS = SIGNAL_MEMBERS;
|
|
75
|
+
exports.SUMMARY = SUMMARY;
|
|
76
|
+
exports.UNPARSEABLE_TEMPLATE_MESSAGE = UNPARSEABLE_TEMPLATE_MESSAGE;
|
|
77
|
+
exports.UNRESOLVED_RECEIVER_MESSAGE = UNRESOLVED_RECEIVER_MESSAGE;
|
|
78
|
+
exports.signalQueryMessage = signalQueryMessage;
|
|
79
|
+
exports.warnPatterns = warnPatterns;
|