@sdcorejs/angular 19.1.6 → 19.2.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/README.md +10 -0
- package/assets/scss/core/menu.scss +18 -0
- package/assets/scss/core/utilities/_misc.scss +15 -0
- package/assets/scss/sd-core.scss +1 -0
- package/components/anchor/src/components/anchor/anchor.component.d.ts +3 -1
- package/components/badge/src/badge.component.d.ts +1 -0
- package/components/ckeditor-styles/src/ckeditor-styles.component.d.ts +1 -1
- package/components/form-generic/src/components/form-builder/components/expression-builder/expression-builder.component.d.ts +2 -1
- package/components/form-generic/src/components/form-builder/form-builder.component.d.ts +3 -1
- package/components/form-generic/src/components/form-render/components/item/components/checkbox/checkbox.component.d.ts +34 -0
- package/components/form-generic/src/components/form-render/components/item/components/index.d.ts +1 -0
- package/components/form-generic/src/components/form-render/components/item/components/table/table.component.d.ts +6 -1
- package/components/form-generic/src/components/sd-feel-expression/sd-feel-expression.component.d.ts +1 -1
- package/components/form-generic/src/configurations/form.configuration.d.ts +1 -1
- package/components/form-generic/src/models/form-generic-component.model.d.ts +8 -8
- package/components/form-generic/src/models/form-generic-definition-selection.model.d.ts +5 -5
- package/components/form-generic/src/models/form-generic-expression.model.d.ts +12 -12
- package/components/form-generic/src/models/index.d.ts +1 -0
- package/components/form-generic/src/services/form-generic.service.d.ts +2 -2
- package/components/import-excel/src/import-excel.component.d.ts +1 -0
- package/components/index.d.ts +6 -1
- package/components/mini-editor/src/mini-editor.model.d.ts +1 -1
- package/components/modal/src/modal.component.d.ts +3 -2
- package/components/modal-resizable/src/modal-resizable.component.d.ts +92 -0
- package/components/modal-resizable/src/modal-resizable.registry.d.ts +22 -0
- package/components/org-chart/src/org-chart.component.d.ts +6 -0
- package/components/preview/src/preview-image/preview-image.component.d.ts +1 -0
- package/components/query-bar/src/components/actions-bar/actions-bar.component.d.ts +6 -2
- package/components/query-bar/src/components/build-chip/build-chip.component.d.ts +4 -1
- package/components/query-bar/src/components/chip-popover/chip-popover.component.d.ts +8 -0
- package/components/query-bar/src/components/field-picker/field-picker.component.d.ts +2 -0
- package/components/query-bar/src/components/inline-chip/inline-chip.component.d.ts +2 -0
- package/components/query-bar/src/components/inline-value-chip/inline-value-chip.component.d.ts +3 -3
- package/components/query-bar/src/components/saved-filters-menu/saved-filters-menu.component.d.ts +9 -4
- package/components/query-bar/src/query-bar.component.d.ts +32 -5
- package/components/query-bar/src/query-bar.model.d.ts +15 -12
- package/components/query-builder/src/query-builder.component.d.ts +76 -39
- package/components/query-builder/src/query-builder.model.d.ts +59 -52
- package/components/query-builder/src/query-builder.serializer.d.ts +15 -6
- package/components/section/src/section.component.d.ts +3 -0
- package/components/side-drawer/src/body-scroll-lock.service.d.ts +10 -0
- package/components/splitter/src/splitter-handle/splitter-handle.component.d.ts +1 -0
- package/components/tab-router/index.d.ts +2 -1
- package/components/tab-router/src/actions/tab-router.action.d.ts +2 -2
- package/components/tab-router/src/components/tab-router-item/tab-router-item.component.d.ts +2 -2
- package/components/tab-router/src/components/tab-router-nav/tab-router-nav.component.d.ts +3 -3
- package/components/tab-router/src/components/tab-router-outlet/tab-router-outlet.component.d.ts +3 -3
- package/components/tab-router/src/decorators/tab.decorator.d.ts +13 -1
- package/components/tab-router/src/events/tab-router.event.d.ts +3 -3
- package/components/tab-router/src/models/tab-router.model.d.ts +2 -2
- package/components/tab-router/src/pipes/tab-info.pipe.d.ts +2 -2
- package/components/tab-router/src/services/tab-router.service.d.ts +9 -9
- package/components/table/index.d.ts +1 -0
- package/components/table/src/components/config/config.component.d.ts +6 -1
- package/components/table/src/components/desktop-cell/view/view.component.d.ts +1 -0
- package/components/table/src/components/filter/external-filter/external-filter.component.d.ts +1 -1
- package/components/table/src/components/filter/mobile-filter/mobile-filter.component.d.ts +1 -1
- package/components/table/src/components/selector-action/action-filter.pipe.d.ts +8 -1
- package/components/table/src/components/selector-action/selector-action.component.d.ts +2 -0
- package/components/table/src/directives/index.d.ts +1 -0
- package/components/table/src/directives/sd-table-command-header-def.directive.d.ts +24 -0
- package/components/table/src/models/table-column.model.d.ts +30 -13
- package/components/table/src/models/table-item.model.d.ts +30 -1
- package/components/table/src/models/table-option-selector.model.d.ts +5 -4
- package/components/table/src/models/table-option.model.d.ts +12 -0
- package/components/table/src/pipes/sd-group.pipe.d.ts +6 -2
- package/components/table/src/services/table-filter/table-filter.model.d.ts +15 -15
- package/components/table/src/services/table-filter/table-filter.service.d.ts +2 -2
- package/components/table/src/services/table-format/table-format.service.d.ts +1 -1
- package/components/table/src/services/table-selection/selection-action.util.d.ts +24 -0
- package/components/table/src/services/table-selection/table-selection.util.d.ts +31 -0
- package/components/table/src/services/tree/tree.util.d.ts +3 -2
- package/components/table/src/table.component.d.ts +51 -5
- package/components/tree/src/tree-item-def.directive.d.ts +1 -1
- package/components/tree/src/tree.component.d.ts +16 -4
- package/components/tree/src/tree.model.d.ts +31 -25
- package/components/upload-file/src/configurations/upload-file.configuration.d.ts +2 -2
- package/components/upload-file/src/upload-file.component.d.ts +4 -1
- package/configurations/src/sd-core.configuration.d.ts +1 -2
- package/fesm2022/sdcorejs-angular-components-anchor.mjs +36 -12
- package/fesm2022/sdcorejs-angular-components-anchor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-autoid-inspector.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-autoid-inspector.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-badge.mjs +15 -2
- package/fesm2022/sdcorejs-angular-components-badge.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-button.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-button.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs +1 -1
- package/fesm2022/sdcorejs-angular-components-ckeditor-styles.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-code-editor.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-code-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-data-state.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-data-state.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-editor.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-editor.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs +324 -192
- package/fesm2022/sdcorejs-angular-components-form-generic.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-history.mjs +4 -4
- package/fesm2022/sdcorejs-angular-components-history.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs +13 -5
- package/fesm2022/sdcorejs-angular-components-import-excel.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-inform.mjs +3 -3
- package/fesm2022/sdcorejs-angular-components-inform.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-modal-resizable.mjs +164 -8
- package/fesm2022/sdcorejs-angular-components-modal-resizable.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-modal.mjs +30 -18
- package/fesm2022/sdcorejs-angular-components-modal.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-org-chart.mjs +60 -13
- package/fesm2022/sdcorejs-angular-components-org-chart.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-preview.mjs +27 -17
- package/fesm2022/sdcorejs-angular-components-preview.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs +192 -30
- package/fesm2022/sdcorejs-angular-components-query-bar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs +187 -127
- package/fesm2022/sdcorejs-angular-components-query-builder.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-section.mjs +16 -2
- package/fesm2022/sdcorejs-angular-components-section.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs +83 -24
- package/fesm2022/sdcorejs-angular-components-side-drawer.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-splitter.mjs +57 -21
- package/fesm2022/sdcorejs-angular-components-splitter.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-stepper.mjs +2 -2
- package/fesm2022/sdcorejs-angular-components-stepper.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs +68 -20
- package/fesm2022/sdcorejs-angular-components-tab-router.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tab.mjs +3 -2
- package/fesm2022/sdcorejs-angular-components-tab.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-table.mjs +541 -254
- package/fesm2022/sdcorejs-angular-components-table.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-tree.mjs +80 -17
- package/fesm2022/sdcorejs-angular-components-tree.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs +48 -13
- package/fesm2022/sdcorejs-angular-components-upload-file.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-components.mjs +6 -1
- package/fesm2022/sdcorejs-angular-components.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-configurations.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-directives.mjs +45 -8
- package/fesm2022/sdcorejs-angular-directives.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs +40 -29
- package/fesm2022/sdcorejs-angular-forms-autocomplete.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs +5 -5
- package/fesm2022/sdcorejs-angular-forms-checkbox.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs +67 -50
- package/fesm2022/sdcorejs-angular-forms-chip-calendar.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-chip.mjs +57 -43
- package/fesm2022/sdcorejs-angular-forms-chip.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs +231 -60
- package/fesm2022/sdcorejs-angular-forms-date-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-date.mjs +95 -23
- package/fesm2022/sdcorejs-angular-forms-date.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs +130 -26
- package/fesm2022/sdcorejs-angular-forms-datetime.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs +39 -15
- package/fesm2022/sdcorejs-angular-forms-entity-picker.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs +16 -5
- package/fesm2022/sdcorejs-angular-forms-input-color.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs +24 -9
- package/fesm2022/sdcorejs-angular-forms-input-number.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-input.mjs +58 -10
- package/fesm2022/sdcorejs-angular-forms-input.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-models.mjs +227 -6
- package/fesm2022/sdcorejs-angular-forms-models.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-radio.mjs +4 -4
- package/fesm2022/sdcorejs-angular-forms-radio.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-select.mjs +135 -37
- package/fesm2022/sdcorejs-angular-forms-select.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-switch.mjs +18 -3
- package/fesm2022/sdcorejs-angular-forms-switch.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs +51 -62
- package/fesm2022/sdcorejs-angular-forms-textarea.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs +57 -12
- package/fesm2022/sdcorejs-angular-forms-time-range.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-time.mjs +16 -5
- package/fesm2022/sdcorejs-angular-forms-time.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs +100 -9
- package/fesm2022/sdcorejs-angular-forms-tree-select.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-forms.mjs +91 -46
- package/fesm2022/sdcorejs-angular-forms.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-handlers.mjs +18 -3
- package/fesm2022/sdcorejs-angular-handlers.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-i18n.mjs +490 -68
- package/fesm2022/sdcorejs-angular-i18n.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-interceptors.mjs +87 -29
- package/fesm2022/sdcorejs-angular-interceptors.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-auth.mjs +25 -15
- package/fesm2022/sdcorejs-angular-modules-auth.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-icon.mjs +2 -2
- package/fesm2022/sdcorejs-angular-modules-icon.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-keycloak.mjs +32 -3
- package/fesm2022/sdcorejs-angular-modules-keycloak.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-layout.mjs +332 -111
- package/fesm2022/sdcorejs-angular-modules-layout.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-modules-permission.mjs +177 -40
- package/fesm2022/sdcorejs-angular-modules-permission.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-pipes.mjs +62 -28
- package/fesm2022/sdcorejs-angular-pipes.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-api.mjs +123 -13
- package/fesm2022/sdcorejs-angular-services-api.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-cache.mjs +53 -3
- package/fesm2022/sdcorejs-angular-services-cache.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-confirm.mjs +25 -73
- package/fesm2022/sdcorejs-angular-services-confirm.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-excel.mjs +12 -10
- package/fesm2022/sdcorejs-angular-services-excel.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-loading.mjs +75 -84
- package/fesm2022/sdcorejs-angular-services-loading.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-notify.mjs +46 -5
- package/fesm2022/sdcorejs-angular-services-notify.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services-storage.mjs +4 -0
- package/fesm2022/sdcorejs-angular-services-storage.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-services.mjs +0 -1
- package/fesm2022/sdcorejs-angular-services.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-utilities-extensions.mjs +225 -80
- package/fesm2022/sdcorejs-angular-utilities-extensions.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular-utilities-models.mjs +1 -63
- package/fesm2022/sdcorejs-angular-utilities-models.mjs.map +1 -1
- package/fesm2022/sdcorejs-angular.mjs +17 -10
- package/fesm2022/sdcorejs-angular.mjs.map +1 -1
- package/forms/autocomplete/src/autocomplete.component.d.ts +5 -2
- package/forms/chip-calendar/src/chip-calendar.component.d.ts +10 -0
- package/forms/date/src/date.component.d.ts +13 -2
- package/forms/date-range/src/date-range.component.d.ts +13 -2
- package/forms/datetime/src/datetime.component.d.ts +13 -2
- package/forms/entity-picker/src/entity-picker.component.d.ts +9 -3
- package/forms/input/src/input.component.d.ts +3 -0
- package/forms/input-color/src/input-color.component.d.ts +4 -0
- package/forms/input-number/src/input-number.component.d.ts +3 -0
- package/forms/models/index.d.ts +3 -0
- package/forms/models/src/sd-form-control-connector.d.ts +12 -0
- package/forms/models/src/sd-model-facing-control.d.ts +43 -0
- package/forms/models/src/sd-search.model.d.ts +1 -1
- package/forms/models/src/sd-selection-data.model.d.ts +1 -1
- package/forms/models/src/sd-temporal-transform.d.ts +31 -0
- package/forms/models/src/sd-timer-scope.d.ts +29 -0
- package/forms/select/src/select.component.d.ts +27 -4
- package/forms/src/forms.module.d.ts +22 -13
- package/forms/switch/src/switch.component.d.ts +5 -0
- package/forms/textarea/src/textarea.component.d.ts +5 -3
- package/forms/time-range/src/time-range.component.d.ts +22 -1
- package/forms/tree-select/src/tree-select.component.d.ts +36 -5
- package/i18n/src/en.d.ts +90 -10
- package/i18n/src/i18n.messages.d.ts +1 -1
- package/i18n/src/i18n.pipe.d.ts +3 -3
- package/i18n/src/i18n.service.d.ts +2 -1
- package/i18n/src/i18n.types.d.ts +0 -3
- package/interceptors/no-internet/no-internet.interceptor.d.ts +11 -1
- package/modules/auth/services/auth.model.d.ts +1 -1
- package/modules/keycloak/keycloak.service.d.ts +1 -0
- package/modules/layout/components/shared/menu-tree/menu-tree.component.d.ts +2 -0
- package/modules/layout/components/sidebar-mobile-v1/components/sidebar/sidebar.component.d.ts +3 -3
- package/modules/layout/components/sidebar-mobile-v1/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-mobile-v2/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-mobile-v3/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-v1/components/sidebar/sidebar.component.d.ts +8 -3
- package/modules/layout/components/sidebar-v1/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-v2/main.component.d.ts +3 -3
- package/modules/layout/components/sidebar-v3/main.component.d.ts +3 -3
- package/modules/layout/modules/forbidden/pages/root/root.component.d.ts +5 -0
- package/modules/layout/modules/not-found/pages/root/root.component.d.ts +5 -0
- package/modules/layout/services/layout.service.d.ts +21 -0
- package/modules/layout/services/storage/storage.service.d.ts +52 -7
- package/modules/permission/src/configurations/permission.configuration.d.ts +11 -0
- package/modules/permission/src/directives/permission.directive.d.ts +2 -1
- package/modules/permission/src/services/permission.service.d.ts +52 -1
- package/package.json +40 -33
- package/pipes/src/safe-html.pipe.d.ts +26 -4
- package/pipes/src/time-different.pipe.d.ts +1 -0
- package/public-api.d.ts +11 -10
- package/services/api/src/api-host.d.ts +15 -0
- package/services/api/src/api.model.d.ts +14 -0
- package/services/api/src/api.module.d.ts +6 -0
- package/services/cache/src/cache.model.d.ts +10 -0
- package/services/index.d.ts +0 -1
- package/services/notify/index.d.ts +1 -1
- package/utilities/extensions/index.d.ts +1 -5
- package/utilities/extensions/src/url-safety.d.ts +72 -0
- package/utilities/extensions/src/utility.extension.d.ts +9 -5
- package/utilities/models/index.d.ts +0 -10
- package/components/base/index.d.ts +0 -1
- package/components/base/src/base-secure.component.d.ts +0 -8
- package/components/document-builder/index.d.ts +0 -4
- package/components/document-builder/src/components/header-footer-builder/header-footer-builder.component.d.ts +0 -15
- package/components/document-builder/src/components/header-footer-builder/plugins/page-number.plugin.d.ts +0 -4
- package/components/document-builder/src/components/index.d.ts +0 -1
- package/components/document-builder/src/document-builder.component.d.ts +0 -53
- package/components/document-builder/src/document-builder.config.d.ts +0 -21
- package/components/document-builder/src/document-builder.model.d.ts +0 -41
- package/components/document-builder/src/document-builder.utils.d.ts +0 -10
- package/components/document-builder/src/plugins/block-space/block-space.plugin.d.ts +0 -9
- package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.d.ts +0 -44
- package/components/document-builder/src/plugins/ck-comment/ck-comment.plugin.model.d.ts +0 -57
- package/components/document-builder/src/plugins/heading/heading.plugin.d.ts +0 -5
- package/components/document-builder/src/plugins/highlight-range/highlight-range.plugin.d.ts +0 -4
- package/components/document-builder/src/plugins/image-custom/image-custom.plugin.d.ts +0 -31
- package/components/document-builder/src/plugins/image-upload/image-upload.plugin.d.ts +0 -5
- package/components/document-builder/src/plugins/index.d.ts +0 -11
- package/components/document-builder/src/plugins/page-orientation/page-orientation.plugin.d.ts +0 -24
- package/components/document-builder/src/plugins/paste-handler/filters/bookmark.d.ts +0 -14
- package/components/document-builder/src/plugins/paste-handler/filters/br.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/image.d.ts +0 -25
- package/components/document-builder/src/plugins/paste-handler/filters/list.d.ts +0 -29
- package/components/document-builder/src/plugins/paste-handler/filters/parse.d.ts +0 -35
- package/components/document-builder/src/plugins/paste-handler/filters/removeboldwrapper.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removegooglesheetstag.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removeinvalidtablewidth.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removemsattributes.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removestyleblock.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/removexmlns.d.ts +0 -15
- package/components/document-builder/src/plugins/paste-handler/filters/replacemsfootnotes.d.ts +0 -54
- package/components/document-builder/src/plugins/paste-handler/filters/space.d.ts +0 -27
- package/components/document-builder/src/plugins/paste-handler/filters/table.d.ts +0 -16
- package/components/document-builder/src/plugins/paste-handler/filters/utils.d.ts +0 -25
- package/components/document-builder/src/plugins/paste-handler/index.d.ts +0 -35
- package/components/document-builder/src/plugins/paste-handler/normalizers/googledocsnormalizer.d.ts +0 -31
- package/components/document-builder/src/plugins/paste-handler/normalizers/googlesheetsnormalizer.d.ts +0 -31
- package/components/document-builder/src/plugins/paste-handler/normalizers/mswordnormalizer.d.ts +0 -29
- package/components/document-builder/src/plugins/paste-handler/types.d.ts +0 -30
- package/components/document-builder/src/plugins/table-custom/index.d.ts +0 -34
- package/components/document-builder/src/plugins/variable/variable.plugin.d.ts +0 -51
- package/components/table/src/pipes/selection-visible-select-all.pipe.d.ts +0 -9
- package/fesm2022/sdcorejs-angular-components-base.mjs +0 -23
- package/fesm2022/sdcorejs-angular-components-base.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs +0 -5038
- package/fesm2022/sdcorejs-angular-components-document-builder.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-models.mjs +0 -6
- package/fesm2022/sdcorejs-angular-models.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-services-docx.mjs +0 -291
- package/fesm2022/sdcorejs-angular-services-docx.mjs.map +0 -1
- package/fesm2022/sdcorejs-angular-services-license.mjs +0 -97
- package/fesm2022/sdcorejs-angular-services-license.mjs.map +0 -1
- package/models/index.d.ts +0 -1
- package/models/src/language.model.d.ts +0 -2
- package/services/docx/index.d.ts +0 -1
- package/services/docx/src/lib/docx.model.d.ts +0 -9
- package/services/docx/src/lib/docx.service.d.ts +0 -14
- package/services/docx/src/lib/pandoc-core.d.ts +0 -11
- package/services/docx/src/public-api.d.ts +0 -2
- package/services/license/index.d.ts +0 -1
- package/services/license/src/license.service.d.ts +0 -9
- package/utilities/extensions/src/array.extension.d.ts +0 -1
- package/utilities/extensions/src/color.extension.d.ts +0 -5
- package/utilities/extensions/src/date.extension.d.ts +0 -1
- package/utilities/extensions/src/number.extension.d.ts +0 -1
- package/utilities/extensions/src/string.extension.d.ts +0 -50
- package/utilities/models/src/color.model.d.ts +0 -4
- package/utilities/models/src/empty.model.d.ts +0 -4
- package/utilities/models/src/filter.model.d.ts +0 -12
- package/utilities/models/src/maybe-async.model.d.ts +0 -10
- package/utilities/models/src/nested-key-of.model.d.ts +0 -4
- package/utilities/models/src/operator.model.d.ts +0 -13
- package/utilities/models/src/order.model.d.ts +0 -4
- package/utilities/models/src/paging.model.d.ts +0 -8
- package/utilities/models/src/pattern.model.d.ts +0 -21
- package/utilities/models/src/size.model.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdcorejs-angular-components-org-chart.mjs","sources":["../../../projects/sdcorejs-angular/components/org-chart/src/org-chart-item-def.directive.ts","../../../projects/sdcorejs-angular/components/org-chart/src/org-chart.component.ts","../../../projects/sdcorejs-angular/components/org-chart/src/org-chart.component.html","../../../projects/sdcorejs-angular/components/org-chart/sdcorejs-angular-components-org-chart.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\nimport { SdOrgChartItem, SdOrgChartItemContext } from './org-chart.model';\n\n@Directive({\n selector: '[sdOrgChartItemDef]',\n})\nexport class SdOrgChartItemDefDirective<T extends SdOrgChartItem = SdOrgChartItem> {\n static ngTemplateContextGuard<T extends SdOrgChartItem>(\n _dir: SdOrgChartItemDefDirective<T>,\n _ctx: unknown\n ): _ctx is SdOrgChartItemContext<T> {\n return true;\n }\n\n readonly templateRef: TemplateRef<SdOrgChartItemContext<T>> = inject(TemplateRef);\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, TemplateRef, booleanAttribute, computed, contentChild, input, signal } from '@angular/core';\nimport { SdOrgChartItemDefDirective } from './org-chart-item-def.directive';\nimport { SdOrgChartItem, SdOrgChartItemContext, SdOrgChartOption } from './org-chart.model';\nimport { SdIcon } from '@sdcorejs/angular/modules/icon';\n\n@Component({\n selector: 'sd-org-chart',\n standalone: true,\n imports: [SdIcon, CommonModule],\n templateUrl: './org-chart.component.html',\n styleUrl: './org-chart.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-autoid]': 'autoId()',\n },\n})\nexport class SdOrgChart {\n readonly autoIdInput = input<string | undefined | null>(undefined, { alias: 'autoId' });\n readonly option = input<SdOrgChartOption | undefined>(undefined);\n readonly autoId = computed(() => {\n const scope = this.option()?.autoId ?? this.autoIdInput();\n return scope ? `components-org-chart-${scope}` : undefined;\n });\n\n readonly items = input<SdOrgChartItem[] | undefined>(undefined);\n readonly itemTemplate = input<TemplateRef<SdOrgChartItemContext> | undefined | null>(undefined);\n readonly collapsible = input(true, { transform: booleanAttribute });\n\n readonly itemDef = contentChild(SdOrgChartItemDefDirective);\n readonly resolvedItems = computed(() => this.option()?.items ?? this.items() ?? []);\n readonly resolvedCollapsible = computed(() => this.option()?.collapsible ?? this.collapsible());\n\n readonly resolvedItemTemplate = computed<TemplateRef<SdOrgChartItemContext> | undefined>(() => {\n return this.itemDef()?.templateRef || this.option()?.itemTemplate || this.itemTemplate() || undefined;\n });\n\n readonly #expandedState = signal<Record<string, boolean>>({});\n\n readonly trackByItem = (_index: number, item: SdOrgChartItem) => item.id;\n\n hasChildren = (item: SdOrgChartItem): boolean => {\n return this.childrenOf(item).length > 0;\n };\n\n childrenOf = (item: SdOrgChartItem): SdOrgChartItem[] => {\n return item.children || [];\n };\n\n isExpanded = (item: SdOrgChartItem): boolean => {\n if (!this.resolvedCollapsible()) {\n return true;\n }\n\n const key = this.#itemKey(item);\n const state = this.#expandedState();\n return state[key] ?? item.expanded ?? true;\n };\n\n toggle = (item: SdOrgChartItem, event?: Event): void => {\n event?.stopPropagation();\n\n if (!this.resolvedCollapsible() || !this.hasChildren(item)) {\n return;\n }\n\n const key = this.#itemKey(item);\n const expanded = !(this.#expandedState()[key] ?? item.expanded ?? true);\n this.#expandedState.update(state => ({\n ...state,\n [key]: expanded,\n }));\n this.option()?.onToggle?.({ item, expanded });\n };\n\n createContext = (item: SdOrgChartItem, depth: number, parent: SdOrgChartItem | null): SdOrgChartItemContext => {\n const hasChildren = this.hasChildren(item);\n const expanded = this.isExpanded(item);\n\n return {\n $implicit: item,\n item,\n depth,\n parent,\n expanded,\n hasChildren,\n isLeaf: !hasChildren,\n toggle: () => this.toggle(item),\n };\n };\n\n nodeAutoId = (item: SdOrgChartItem, part: 'node' | 'image' | 'title' | 'description' | 'toggle'): string | undefined => {\n const base = this.autoId();\n if (!base) {\n return undefined;\n }\n\n return `${base}-${part}-${this.#autoIdKey(item)}`;\n };\n\n #itemKey = (item: SdOrgChartItem): string => {\n return String(item.id);\n };\n\n #autoIdKey = (item: SdOrgChartItem): string => {\n return this.#itemKey(item).replace(/[^a-zA-Z0-9_-]/g, '-');\n };\n}\n","@let _resolvedItems = resolvedItems();\n@let _resolvedItemTemplate = resolvedItemTemplate();\n\n<div class=\"sd-org-chart\" role=\"tree\">\n <ul class=\"sd-org-chart__tree\">\n @for (item of _resolvedItems; track trackByItem($index, item)) {\n <ng-container\n *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: item, item: item, depth: 0, parent: null, templateRef: _resolvedItemTemplate }\" />\n }\n </ul>\n</div>\n\n<ng-template #nodeTemplate let-item let-depth=\"depth\" let-parent=\"parent\" let-templateRef=\"templateRef\">\n @let _children = childrenOf(item);\n @let _hasChildren = _children.length > 0;\n @let _expanded = isExpanded(item);\n @let _context = createContext(item, depth, parent);\n\n <li\n class=\"sd-org-chart__node\"\n [class.sd-org-chart__node--expanded]=\"_hasChildren && _expanded\"\n [class.sd-org-chart__node--collapsed]=\"_hasChildren && !_expanded\"\n role=\"treeitem\"\n [attr.aria-expanded]=\"_hasChildren ? _expanded : null\">\n <div class=\"sd-org-chart__node-shell\">\n <div\n class=\"sd-org-chart__card\"\n [class.sd-org-chart__card--no-image]=\"!item.image\"\n [class.sd-org-chart__card--compact]=\"!item.image && !item.description\"\n [attr.data-node-id]=\"item.id\"\n [attr.data-autoid]=\"nodeAutoId(item, 'node')\"\n [attr.data-depth]=\"depth\"\n [style.--sd-org-node-color]=\"item.color || null\">\n @if (templateRef) {\n <ng-container *ngTemplateOutlet=\"templateRef; context: _context\" />\n } @else {\n @if (item.image) {\n <img class=\"sd-org-chart__image\" [src]=\"item.image\" [alt]=\"item.title\" [attr.data-autoid]=\"nodeAutoId(item, 'image')\" />\n }\n <div class=\"sd-org-chart__title\" [attr.data-autoid]=\"nodeAutoId(item, 'title')\">{{ item.title }}</div>\n @if (item.description) {\n <div class=\"sd-org-chart__description\" [attr.data-autoid]=\"nodeAutoId(item, 'description')\">{{ item.description }}</div>\n }\n }\n </div>\n\n @if (_hasChildren && collapsible()) {\n <button\n type=\"button\"\n class=\"sd-org-chart__toggle\"\n [attr.aria-label]=\"_expanded ? 'Collapse children' : 'Expand children'\"\n [attr.aria-expanded]=\"_expanded\"\n [attr.data-autoid]=\"nodeAutoId(item, 'toggle')\"\n (click)=\"toggle(item, $event)\">\n <sd-icon [name]=\"_expanded ? 'expand_more' : 'chevron_right'\"></sd-icon>\n </button>\n }\n </div>\n\n @if (_hasChildren && _expanded) {\n <ul class=\"sd-org-chart__children\" role=\"group\">\n @for (child of _children; track trackByItem($index, child)) {\n <ng-container\n *ngTemplateOutlet=\"\n nodeTemplate;\n context: { $implicit: child, item: child, depth: depth + 1, parent: item, templateRef: templateRef }\n \" />\n }\n </ul>\n }\n </li>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdcorejs-angular-components-org-chart.mjs","sources":["../../../projects/sdcorejs-angular/components/org-chart/src/org-chart-item-def.directive.ts","../../../projects/sdcorejs-angular/components/org-chart/src/org-chart.component.ts","../../../projects/sdcorejs-angular/components/org-chart/src/org-chart.component.html","../../../projects/sdcorejs-angular/components/org-chart/sdcorejs-angular-components-org-chart.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\nimport { SdOrgChartItem, SdOrgChartItemContext } from './org-chart.model';\n\n@Directive({\n selector: '[sdOrgChartItemDef]',\n})\nexport class SdOrgChartItemDefDirective<T extends SdOrgChartItem = SdOrgChartItem> {\n static ngTemplateContextGuard<T extends SdOrgChartItem>(\n _dir: SdOrgChartItemDefDirective<T>,\n _ctx: unknown\n ): _ctx is SdOrgChartItemContext<T> {\n return true;\n }\n\n readonly templateRef: TemplateRef<SdOrgChartItemContext<T>> = inject(TemplateRef);\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n booleanAttribute,\n computed,\n contentChild,\n input,\n signal,\n untracked,\n} from '@angular/core';\nimport { SdOrgChartItemDefDirective } from './org-chart-item-def.directive';\nimport { SdOrgChartItem, SdOrgChartItemContext, SdOrgChartOption } from './org-chart.model';\nimport { SdIcon } from '@sdcorejs/angular/modules/icon';\n\n/** Shared empty children list — leaf nodes reuse this ref instead of a new `[]` per call. */\nconst EMPTY_ORG_CHART_ITEMS: SdOrgChartItem[] = [];\n\n@Component({\n selector: 'sd-org-chart',\n standalone: true,\n imports: [SdIcon, CommonModule],\n templateUrl: './org-chart.component.html',\n styleUrl: './org-chart.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-autoid]': 'autoId()',\n },\n})\nexport class SdOrgChart {\n readonly autoIdInput = input<string | undefined | null>(undefined, { alias: 'autoId' });\n readonly option = input<SdOrgChartOption | undefined>(undefined);\n readonly autoId = computed(() => {\n const scope = this.option()?.autoId ?? this.autoIdInput();\n return scope ? `components-org-chart-${scope}` : undefined;\n });\n\n readonly items = input<SdOrgChartItem[] | undefined>(undefined);\n readonly itemTemplate = input<TemplateRef<SdOrgChartItemContext> | undefined | null>(undefined);\n readonly collapsible = input(true, { transform: booleanAttribute });\n\n readonly itemDef = contentChild(SdOrgChartItemDefDirective);\n readonly resolvedItems = computed(() => this.option()?.items ?? this.items() ?? []);\n readonly resolvedCollapsible = computed(() => this.option()?.collapsible ?? this.collapsible());\n\n readonly resolvedItemTemplate = computed<TemplateRef<SdOrgChartItemContext> | undefined>(() => {\n return this.itemDef()?.templateRef || this.option()?.itemTemplate || this.itemTemplate() || undefined;\n });\n\n readonly #expandedState = signal<Record<string, boolean>>({});\n\n /**\n * Node object → template context, memo hoá trong một `computed`.\n *\n * why: `createContext()` được gọi thẳng từ template (`@let _context = createContext(...)`) nên\n * trước đây MỖI node cấp phát một context MỚI ở MỖI chu kỳ change detection, rồi đưa vào\n * `*ngTemplateOutlet` — đúng bug class cấp-phát-mỗi-CD (`ngTemplateOutletContext` đổi ref mỗi\n * CD → outlet ghi lại context liên tục). Computed chỉ phụ thuộc CẤU TRÚC items (không phụ thuộc\n * trạng thái expand — xem `#buildContext`), nên giữa hai lần CD ref context là như nhau.\n */\n readonly #contextByItem = computed<Map<SdOrgChartItem, SdOrgChartItemContext>>(() => {\n // why: khoá theo CHÍNH object node, KHÔNG theo `item.id`. Hai node trùng `id` ở hai nhánh khác\n // nhau là hợp lệ (id chỉ cần duy nhất trong phạm vi consumer quan tâm), nhưng khoá theo id thì\n // chúng dùng CHUNG một context — node thứ hai nhận `depth`/`parent` của node thứ nhất và\n // template `sdOrgChartItemDef` render sai dữ liệu.\n const map = new Map<SdOrgChartItem, SdOrgChartItemContext>();\n const walk = (items: SdOrgChartItem[], depth: number, parent: SdOrgChartItem | null): void => {\n for (const item of items) {\n map.set(item, this.#buildContext(item, depth, parent));\n const children = this.childrenOf(item);\n if (children.length > 0) walk(children, depth + 1, item);\n }\n };\n walk(this.resolvedItems(), 0, null);\n return map;\n });\n\n readonly trackByItem = (_index: number, item: SdOrgChartItem) => item.id;\n\n hasChildren = (item: SdOrgChartItem): boolean => {\n return this.childrenOf(item).length > 0;\n };\n\n /** why: trả về hằng số dùng chung thay vì `[]` mới, để leaf không cấp phát mỗi lần CD gọi tới. */\n childrenOf = (item: SdOrgChartItem): SdOrgChartItem[] => {\n return item.children || EMPTY_ORG_CHART_ITEMS;\n };\n\n isExpanded = (item: SdOrgChartItem): boolean => {\n if (!this.resolvedCollapsible()) {\n return true;\n }\n\n const key = this.#itemKey(item);\n const state = this.#expandedState();\n return state[key] ?? item.expanded ?? true;\n };\n\n toggle = (item: SdOrgChartItem, event?: Event): void => {\n event?.stopPropagation();\n\n if (!this.resolvedCollapsible() || !this.hasChildren(item)) {\n return;\n }\n\n const key = this.#itemKey(item);\n const expanded = !(this.#expandedState()[key] ?? item.expanded ?? true);\n this.#expandedState.update(state => ({\n ...state,\n [key]: expanded,\n }));\n this.option()?.onToggle?.({ item, expanded });\n };\n\n /**\n * Template context của một node. Ref ổn định giữa các lần CD nhờ `#contextByItem`.\n * Item không nằm trong `resolvedItems()` (gọi thủ công từ bên ngoài) thì dựng mới — trường hợp\n * này không nằm trên đường render nên không gây churn.\n */\n createContext = (item: SdOrgChartItem, depth: number, parent: SdOrgChartItem | null): SdOrgChartItemContext => {\n const context = this.#contextByItem().get(item);\n if (!context) return this.#buildContext(item, depth, parent);\n // why: `expanded` phải làm TƯƠI mỗi lần đọc và mutate TẠI CHỖ. Nếu để `#contextByItem` đọc\n // `#expandedState` thì mở/đóng MỘT node sẽ vứt và dựng lại context của TOÀN BỘ chart —\n // memo hoá thô hơn hẳn thứ nó bảo vệ. Mutate tại chỗ giữ nguyên ref nên `ngTemplateOutlet`\n // không phải ghi lại context.\n context.expanded = this.isExpanded(item);\n return context;\n };\n\n nodeAutoId = (item: SdOrgChartItem, part: 'node' | 'image' | 'title' | 'description' | 'toggle'): string | undefined => {\n const base = this.autoId();\n if (!base) {\n return undefined;\n }\n\n return `${base}-${part}-${this.#autoIdKey(item)}`;\n };\n\n #buildContext = (item: SdOrgChartItem, depth: number, parent: SdOrgChartItem | null): SdOrgChartItemContext => {\n const hasChildren = this.hasChildren(item);\n\n return {\n $implicit: item,\n item,\n depth,\n parent,\n // why: `untracked` để `#contextByItem` KHÔNG phụ thuộc `#expandedState`. Không có nó thì\n // toggle một node làm computed chạy lại và dựng mới context của mọi node. Giá trị thật được\n // `createContext()` làm tươi tại chỗ mỗi lần đọc.\n expanded: untracked(() => this.isExpanded(item)),\n hasChildren,\n isLeaf: !hasChildren,\n toggle: () => this.toggle(item),\n };\n };\n\n #itemKey = (item: SdOrgChartItem): string => {\n return String(item.id);\n };\n\n #autoIdKey = (item: SdOrgChartItem): string => {\n return this.#itemKey(item).replace(/[^a-zA-Z0-9_-]/g, '-');\n };\n}\n","@let _resolvedItems = resolvedItems();\n@let _resolvedItemTemplate = resolvedItemTemplate();\n\n<div class=\"sd-org-chart\" role=\"tree\">\n <ul class=\"sd-org-chart__tree\">\n @for (item of _resolvedItems; track trackByItem($index, item)) {\n <ng-container\n *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: item, item: item, depth: 0, parent: null, templateRef: _resolvedItemTemplate }\" />\n }\n </ul>\n</div>\n\n<ng-template #nodeTemplate let-item let-depth=\"depth\" let-parent=\"parent\" let-templateRef=\"templateRef\">\n @let _children = childrenOf(item);\n @let _hasChildren = _children.length > 0;\n @let _expanded = isExpanded(item);\n @let _context = createContext(item, depth, parent);\n\n <!-- why: role=\"treeitem\" BẮT BUỘC phải có aria-selected — thiếu nó screen reader không biết\n node đang ở trạng thái nào và bỏ qua luôn ngữ nghĩa tree. Org-chart là sơ đồ chỉ-đọc, không\n có khái niệm chọn node, nên khai báo tĩnh \"false\" (đúng sự thật) thay vì bỏ trống.\n aria-level bổ sung để screen reader đọc được độ sâu của node trong sơ đồ. -->\n <li\n class=\"sd-org-chart__node\"\n [class.sd-org-chart__node--expanded]=\"_hasChildren && _expanded\"\n [class.sd-org-chart__node--collapsed]=\"_hasChildren && !_expanded\"\n role=\"treeitem\"\n [attr.aria-level]=\"depth + 1\"\n [attr.aria-expanded]=\"_hasChildren ? _expanded : null\"\n aria-selected=\"false\">\n <div class=\"sd-org-chart__node-shell\">\n <div\n class=\"sd-org-chart__card\"\n [class.sd-org-chart__card--no-image]=\"!item.image\"\n [class.sd-org-chart__card--compact]=\"!item.image && !item.description\"\n [attr.data-node-id]=\"item.id\"\n [attr.data-autoid]=\"nodeAutoId(item, 'node')\"\n [attr.data-depth]=\"depth\"\n [style.--sd-org-node-color]=\"item.color || null\">\n @if (templateRef) {\n <ng-container *ngTemplateOutlet=\"templateRef; context: _context\" />\n } @else {\n @if (item.image) {\n <img class=\"sd-org-chart__image\" [src]=\"item.image\" [alt]=\"item.title\" [attr.data-autoid]=\"nodeAutoId(item, 'image')\" />\n }\n <div class=\"sd-org-chart__title\" [attr.data-autoid]=\"nodeAutoId(item, 'title')\">{{ item.title }}</div>\n @if (item.description) {\n <div class=\"sd-org-chart__description\" [attr.data-autoid]=\"nodeAutoId(item, 'description')\">{{ item.description }}</div>\n }\n }\n </div>\n\n <!-- why: gate theo resolvedCollapsible() chứ KHÔNG theo input thô collapsible(). Với\n `[option]=\"{ collapsible: false }\"` thì input thô vẫn là mặc định true → chevron vẫn\n render nhưng toggle() đã chặn nên bấm không có tác dụng. -->\n @if (_hasChildren && resolvedCollapsible()) {\n <button\n type=\"button\"\n class=\"sd-org-chart__toggle\"\n [attr.aria-label]=\"_expanded ? 'Collapse children' : 'Expand children'\"\n [attr.aria-expanded]=\"_expanded\"\n [attr.data-autoid]=\"nodeAutoId(item, 'toggle')\"\n (click)=\"toggle(item, $event)\">\n <sd-icon [name]=\"_expanded ? 'expand_more' : 'chevron_right'\"></sd-icon>\n </button>\n }\n </div>\n\n @if (_hasChildren && _expanded) {\n <ul class=\"sd-org-chart__children\" role=\"group\">\n @for (child of _children; track trackByItem($index, child)) {\n <ng-container\n *ngTemplateOutlet=\"\n nodeTemplate;\n context: { $implicit: child, item: child, depth: depth + 1, parent: item, templateRef: templateRef }\n \" />\n }\n </ul>\n }\n </li>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|