@gnggln/ng-ui-system 1.0.0-alpha.2 → 1.0.0-alpha.21
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/entry-accordion.d.ts +4 -0
- package/accordion/index.d.ts +5 -0
- package/accordion/lib/components/accordion/accordion.component.d.ts +125 -0
- package/accordion/lib/components/accordion/accordion.types.d.ts +64 -0
- package/accordion/lib/components/accordion/index.d.ts +2 -0
- package/accordion/lib/core/types/index.d.ts +133 -0
- package/base-layout/entry-base-layout.d.ts +4 -0
- package/base-layout/index.d.ts +5 -0
- package/base-layout/lib/components/base-layout/base-layout.component.d.ts +108 -0
- package/base-layout/lib/components/base-layout/base-layout.types.d.ts +40 -0
- package/base-layout/lib/components/base-layout/index.d.ts +13 -0
- package/base-layout/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/base-layout/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/base-layout/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/base-layout/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/base-layout/lib/components/button/button-area.component.d.ts +93 -0
- package/base-layout/lib/components/button/button.component.d.ts +61 -0
- package/base-layout/lib/components/button/button.types.d.ts +75 -0
- package/base-layout/lib/components/page-header/breadcrumb.service.d.ts +96 -0
- package/base-layout/lib/components/page-header/page-header.component.d.ts +59 -0
- package/base-layout/lib/components/page-header/page-header.types.d.ts +96 -0
- package/base-layout/lib/core/types/index.d.ts +133 -0
- package/blackbox/entry-blackbox.d.ts +4 -0
- package/blackbox/index.d.ts +5 -0
- package/blackbox/lib/components/blackbox/blackbox-debugger.component.d.ts +80 -0
- package/blackbox/lib/components/blackbox/blackbox-debugger.service.d.ts +34 -0
- package/blackbox/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/blackbox/lib/components/blackbox/blackbox-json-viewer.component.d.ts +18 -0
- package/blackbox/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/blackbox/lib/components/blackbox/blackbox.interceptor.d.ts +38 -0
- package/blackbox/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/blackbox/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/blackbox/lib/components/blackbox/index.d.ts +23 -0
- package/blackbox/lib/components/blackbox/ui-track.directive.d.ts +20 -0
- package/blackbox/lib/components/button/button-area.component.d.ts +93 -0
- package/blackbox/lib/components/button/button.component.d.ts +61 -0
- package/blackbox/lib/components/button/button.types.d.ts +75 -0
- package/blackbox/lib/components/button/index.d.ts +15 -0
- package/blackbox/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/blackbox/lib/components/modal/index.d.ts +4 -0
- package/blackbox/lib/components/modal/modal.component.d.ts +44 -0
- package/blackbox/lib/components/modal/modal.service.d.ts +93 -0
- package/blackbox/lib/components/modal/modal.types.d.ts +110 -0
- package/blackbox/lib/core/types/index.d.ts +133 -0
- package/button/entry-button.d.ts +4 -0
- package/button/index.d.ts +5 -0
- package/button/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/button/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/button/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/button/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/button/lib/components/button/button-area.component.d.ts +93 -0
- package/button/lib/components/button/button.component.d.ts +61 -0
- package/button/lib/components/button/button.types.d.ts +75 -0
- package/button/lib/components/button/index.d.ts +15 -0
- package/button/lib/core/types/index.d.ts +133 -0
- package/core/entry-core.d.ts +5 -0
- package/core/index.d.ts +5 -0
- package/core/lib/core/types/index.d.ts +133 -0
- package/core/lib/core/utils/index.d.ts +60 -0
- package/crud-table/entry-crud-table.d.ts +4 -0
- package/crud-table/index.d.ts +5 -0
- package/crud-table/lib/components/accordion/accordion.component.d.ts +125 -0
- package/crud-table/lib/components/accordion/accordion.types.d.ts +64 -0
- package/crud-table/lib/components/accordion/index.d.ts +2 -0
- package/crud-table/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/crud-table/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/crud-table/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/crud-table/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/crud-table/lib/components/button/button-area.component.d.ts +93 -0
- package/crud-table/lib/components/button/button.component.d.ts +61 -0
- package/crud-table/lib/components/button/button.types.d.ts +75 -0
- package/crud-table/lib/components/button/index.d.ts +15 -0
- package/crud-table/lib/components/crud-table/crud-table.component.d.ts +143 -0
- package/crud-table/lib/components/crud-table/crud-table.types.d.ts +207 -0
- package/crud-table/lib/components/crud-table/index.d.ts +15 -0
- package/crud-table/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/crud-table/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/crud-table/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/crud-table/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/crud-table/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/crud-table/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/crud-table/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/crud-table/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/crud-table/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/crud-table/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/crud-table/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/crud-table/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/crud-table/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/crud-table/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/crud-table/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/crud-table/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/crud-table/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/crud-table/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/crud-table/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/crud-table/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/crud-table/lib/components/modal/modal.service.d.ts +93 -0
- package/crud-table/lib/components/modal/modal.types.d.ts +110 -0
- package/crud-table/lib/core/logging/logger.config.d.ts +18 -0
- package/crud-table/lib/core/logging/logger.service.d.ts +75 -0
- package/crud-table/lib/core/logging/logger.types.d.ts +70 -0
- package/crud-table/lib/core/types/index.d.ts +133 -0
- package/esm2022/accordion/entry-accordion.mjs +5 -0
- package/esm2022/accordion/gnggln-ng-ui-system-accordion.mjs +5 -0
- package/esm2022/accordion/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/accordion/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/accordion/lib/components/accordion/index.mjs +2 -0
- package/esm2022/accordion/lib/core/types/index.mjs +6 -0
- package/esm2022/base-layout/entry-base-layout.mjs +5 -0
- package/esm2022/base-layout/gnggln-ng-ui-system-base-layout.mjs +5 -0
- package/esm2022/base-layout/lib/components/base-layout/base-layout.component.mjs +272 -0
- package/esm2022/base-layout/lib/components/base-layout/base-layout.types.mjs +6 -0
- package/esm2022/base-layout/lib/components/base-layout/index.mjs +14 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/base-layout/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/base-layout/lib/components/button/button.component.mjs +180 -0
- package/esm2022/base-layout/lib/components/button/button.types.mjs +6 -0
- package/esm2022/base-layout/lib/components/page-header/breadcrumb.service.mjs +243 -0
- package/esm2022/base-layout/lib/components/page-header/page-header.component.mjs +243 -0
- package/esm2022/base-layout/lib/components/page-header/page-header.types.mjs +21 -0
- package/esm2022/base-layout/lib/core/types/index.mjs +6 -0
- package/esm2022/blackbox/entry-blackbox.mjs +5 -0
- package/esm2022/blackbox/gnggln-ng-ui-system-blackbox.mjs +5 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-debugger.component.mjs +904 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-debugger.service.mjs +51 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-json-viewer.component.mjs +66 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.interceptor.mjs +135 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/blackbox/lib/components/blackbox/index.mjs +27 -0
- package/esm2022/blackbox/lib/components/blackbox/ui-track.directive.mjs +69 -0
- package/esm2022/blackbox/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/blackbox/lib/components/button/button.component.mjs +180 -0
- package/esm2022/blackbox/lib/components/button/button.types.mjs +6 -0
- package/esm2022/blackbox/lib/components/button/index.mjs +16 -0
- package/esm2022/blackbox/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/blackbox/lib/components/modal/index.mjs +4 -0
- package/esm2022/blackbox/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/blackbox/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/blackbox/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/blackbox/lib/core/types/index.mjs +6 -0
- package/esm2022/button/entry-button.mjs +5 -0
- package/esm2022/button/gnggln-ng-ui-system-button.mjs +5 -0
- package/esm2022/button/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/button/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/button/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/button/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/button/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/button/lib/components/button/button.component.mjs +180 -0
- package/esm2022/button/lib/components/button/button.types.mjs +6 -0
- package/esm2022/button/lib/components/button/index.mjs +16 -0
- package/esm2022/button/lib/core/types/index.mjs +6 -0
- package/esm2022/core/entry-core.mjs +6 -0
- package/esm2022/core/gnggln-ng-ui-system-core.mjs +5 -0
- package/esm2022/core/lib/core/types/index.mjs +6 -0
- package/esm2022/core/lib/core/utils/index.mjs +102 -0
- package/esm2022/crud-table/entry-crud-table.mjs +5 -0
- package/esm2022/crud-table/gnggln-ng-ui-system-crud-table.mjs +5 -0
- package/esm2022/crud-table/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/crud-table/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/accordion/index.mjs +2 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/crud-table/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/crud-table/lib/components/button/button.component.mjs +180 -0
- package/esm2022/crud-table/lib/components/button/button.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/button/index.mjs +16 -0
- package/esm2022/crud-table/lib/components/crud-table/crud-table.component.mjs +789 -0
- package/esm2022/crud-table/lib/components/crud-table/crud-table.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/crud-table/index.mjs +16 -0
- package/esm2022/crud-table/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/crud-table/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/crud-table/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/crud-table/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/crud-table/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/crud-table/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/crud-table/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/crud-table/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/crud-table/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/crud-table/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/crud-table/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/crud-table/lib/core/types/index.mjs +6 -0
- package/esm2022/crud-table/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/crud-table/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/form-builder/entry-form-builder.mjs +5 -0
- package/esm2022/form-builder/gnggln-ng-ui-system-form-builder.mjs +5 -0
- package/esm2022/form-builder/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/form-builder/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/accordion/index.mjs +2 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/form-builder/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/form-builder/lib/components/button/button.component.mjs +180 -0
- package/esm2022/form-builder/lib/components/button/button.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/button/index.mjs +16 -0
- package/esm2022/form-builder/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/form-builder/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/form-builder/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/form-builder/lib/components/form-builder/form-wizard.component.mjs +1064 -0
- package/esm2022/form-builder/lib/components/form-builder/index.mjs +24 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/form-builder/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/form-builder/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/form-builder/lib/components/form-builder/services/wizard-sync.service.mjs +84 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/form-builder/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/index.mjs +3 -0
- package/esm2022/form-builder/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/form-builder/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/form-builder/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/form-builder/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/form-builder/lib/core/types/index.mjs +6 -0
- package/esm2022/form-builder/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/form-builder/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/form-builder-editor/entry-form-builder-editor.mjs +5 -0
- package/esm2022/form-builder-editor/gnggln-ng-ui-system-form-builder-editor.mjs +5 -0
- package/esm2022/form-builder-editor/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/form-builder-editor/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/accordion/index.mjs +2 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/form-builder-editor/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/form-builder-editor/lib/components/button/button.component.mjs +180 -0
- package/esm2022/form-builder-editor/lib/components/button/button.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/button/index.mjs +16 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/index.mjs +3 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.component.mjs +730 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.service.mjs +56 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/index.mjs +23 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/presets/editor-presets.mjs +395 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/editor-persistence.service.mjs +190 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/editor-state.service.mjs +324 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/field-factory.service.mjs +188 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/condition-editor/condition-editor.component.mjs +667 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/editor-toolbar/editor-toolbar.component.mjs +317 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/field-config-panel/field-config-panel.component.mjs +611 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/field-palette/field-palette.component.mjs +267 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/form-values-panel/form-values-panel.component.mjs +276 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/options-editor/options-editor.component.mjs +323 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +238 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.mjs +473 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/validation-editor/validation-editor.component.mjs +473 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/types/editor.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/form-builder-editor/lib/components/modal/index.mjs +4 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/form-builder-editor/lib/core/types/index.mjs +6 -0
- package/esm2022/form-builder-editor/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/form-builder-editor/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/http/entry-http.mjs +5 -0
- package/esm2022/http/gnggln-ng-ui-system-http.mjs +5 -0
- package/esm2022/http/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/http/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/http/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/http/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/http/lib/components/http/http-message.handler.mjs +143 -0
- package/esm2022/http/lib/components/http/http.service.mjs +228 -0
- package/esm2022/http/lib/components/http/http.tokens.mjs +29 -0
- package/esm2022/http/lib/components/http/http.types.mjs +6 -0
- package/esm2022/http/lib/components/http/index.mjs +19 -0
- package/esm2022/http/lib/components/layout-builder/layout-builder.types.mjs +9 -0
- package/esm2022/http/lib/components/layout-builder/layout.service.mjs +239 -0
- package/esm2022/http/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/http/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/http/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/http/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/http/lib/core/types/index.mjs +6 -0
- package/esm2022/http/lib/core/utils/index.mjs +102 -0
- package/esm2022/layout-builder/entry-layout-builder.mjs +5 -0
- package/esm2022/layout-builder/gnggln-ng-ui-system-layout-builder.mjs +5 -0
- package/esm2022/layout-builder/lib/components/layout-builder/index.mjs +18 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout-builder.component.mjs +1804 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout-builder.types.mjs +9 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout.service.mjs +239 -0
- package/esm2022/layout-builder/lib/core/types/index.mjs +6 -0
- package/esm2022/lib/components/accordion/accordion.component.mjs +106 -61
- package/esm2022/lib/components/accordion/accordion.types.mjs +1 -1
- package/esm2022/lib/components/base-layout/base-layout.component.mjs +88 -34
- package/esm2022/lib/components/base-layout/base-layout.types.mjs +1 -1
- package/esm2022/lib/components/base-layout/index.mjs +1 -1
- package/esm2022/lib/components/blackbox/blackbox-debugger.component.mjs +904 -0
- package/esm2022/lib/components/blackbox/blackbox-debugger.service.mjs +51 -0
- package/esm2022/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/lib/components/blackbox/blackbox-json-viewer.component.mjs +66 -0
- package/esm2022/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/lib/components/blackbox/blackbox.interceptor.mjs +135 -0
- package/esm2022/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/lib/components/blackbox/index.mjs +27 -0
- package/esm2022/lib/components/blackbox/ui-track.directive.mjs +69 -0
- package/esm2022/lib/components/button/button-area.component.mjs +16 -2
- package/esm2022/lib/components/button/button.component.mjs +23 -7
- package/esm2022/lib/components/button/button.types.mjs +1 -1
- package/esm2022/lib/components/crud-table/crud-table.component.mjs +14 -14
- package/esm2022/lib/components/form-builder/form-builder.component.mjs +710 -183
- package/esm2022/lib/components/form-builder/form-wizard.component.mjs +789 -235
- package/esm2022/lib/components/form-builder/index.mjs +7 -2
- package/esm2022/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/lib/components/form-builder/services/location.service.mjs +4 -3
- package/esm2022/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +142 -113
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +3 -3
- package/esm2022/lib/components/form-builder/types/field.types.mjs +1 -1
- package/esm2022/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/lib/components/form-builder/types/index.mjs +3 -2
- package/esm2022/lib/components/form-builder/types/schema.types.mjs +1 -1
- package/esm2022/lib/components/form-builder/types/validation.types.mjs +6 -2
- package/esm2022/lib/components/form-builder-editor/form-builder-editor.component.mjs +3 -3
- package/esm2022/lib/components/form-builder-editor/index.mjs +3 -1
- package/esm2022/lib/components/form-builder-editor/presets/editor-presets.mjs +395 -0
- package/esm2022/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +2 -2
- package/esm2022/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.mjs +2 -1
- package/esm2022/lib/components/http/http-message.handler.mjs +143 -0
- package/esm2022/lib/components/http/http.service.mjs +228 -0
- package/esm2022/lib/components/http/http.tokens.mjs +29 -0
- package/esm2022/lib/components/http/http.types.mjs +6 -0
- package/esm2022/lib/components/http/index.mjs +19 -0
- package/esm2022/lib/components/layout-builder/layout-builder.component.mjs +27 -15
- package/esm2022/lib/components/modal/confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/components/modal/modal.service.mjs +5 -2
- package/esm2022/lib/components/page-header/breadcrumb.service.mjs +5 -4
- package/esm2022/lib/components/table/paginated-table.component.mjs +17 -3
- package/esm2022/lib/components/table/table.types.mjs +1 -1
- package/esm2022/lib/components/toast/index.mjs +18 -0
- package/esm2022/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/lib/core/logging/index.mjs +10 -0
- package/esm2022/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/lib/core/types/index.mjs +1 -1
- package/esm2022/lib/core/utils/index.mjs +50 -1
- package/esm2022/lib/version/ng-ui-system-version.mjs +12 -0
- package/esm2022/modal/entry-modal.mjs +5 -0
- package/esm2022/modal/gnggln-ng-ui-system-modal.mjs +5 -0
- package/esm2022/modal/lib/components/button/button.component.mjs +180 -0
- package/esm2022/modal/lib/components/button/button.types.mjs +6 -0
- package/esm2022/modal/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/modal/lib/components/modal/index.mjs +4 -0
- package/esm2022/modal/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/modal/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/modal/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/modal/lib/core/types/index.mjs +6 -0
- package/esm2022/page-header/entry-page-header.mjs +5 -0
- package/esm2022/page-header/gnggln-ng-ui-system-page-header.mjs +5 -0
- package/esm2022/page-header/lib/components/page-header/breadcrumb.service.mjs +243 -0
- package/esm2022/page-header/lib/components/page-header/index.mjs +20 -0
- package/esm2022/page-header/lib/components/page-header/page-header.component.mjs +243 -0
- package/esm2022/page-header/lib/components/page-header/page-header.types.mjs +21 -0
- package/esm2022/public-api.mjs +17 -8
- package/esm2022/table/entry-table.mjs +5 -0
- package/esm2022/table/gnggln-ng-ui-system-table.mjs +5 -0
- package/esm2022/table/lib/components/table/index.mjs +2 -0
- package/esm2022/table/lib/components/table/paginated-table.component.mjs +421 -0
- package/esm2022/table/lib/components/table/table.types.mjs +6 -0
- package/esm2022/table/lib/core/utils/index.mjs +102 -0
- package/esm2022/toast/entry-toast.mjs +5 -0
- package/esm2022/toast/gnggln-ng-ui-system-toast.mjs +5 -0
- package/esm2022/toast/lib/components/toast/index.mjs +18 -0
- package/esm2022/toast/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/toast/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/toast/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/toast/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/toast/lib/core/types/index.mjs +6 -0
- package/esm2022/toast/lib/core/utils/index.mjs +102 -0
- package/fesm2022/gnggln-ng-ui-system-accordion.mjs +409 -0
- package/fesm2022/gnggln-ng-ui-system-accordion.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-base-layout.mjs +1905 -0
- package/fesm2022/gnggln-ng-ui-system-base-layout.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-blackbox.mjs +2829 -0
- package/fesm2022/gnggln-ng-ui-system-blackbox.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-button.mjs +1148 -0
- package/fesm2022/gnggln-ng-ui-system-button.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-core.mjs +117 -0
- package/fesm2022/gnggln-ng-ui-system-core.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-crud-table.mjs +49600 -0
- package/fesm2022/gnggln-ng-ui-system-crud-table.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs +54332 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder.mjs +49609 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-http.mjs +1878 -0
- package/fesm2022/gnggln-ng-ui-system-http.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-layout-builder.mjs +2064 -0
- package/fesm2022/gnggln-ng-ui-system-layout-builder.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-modal.mjs +664 -0
- package/fesm2022/gnggln-ng-ui-system-modal.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-page-header.mjs +526 -0
- package/fesm2022/gnggln-ng-ui-system-page-header.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-table.mjs +533 -0
- package/fesm2022/gnggln-ng-ui-system-table.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-toast.mjs +516 -0
- package/fesm2022/gnggln-ng-ui-system-toast.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system.mjs +10068 -4234
- package/fesm2022/gnggln-ng-ui-system.mjs.map +1 -1
- package/form-builder/entry-form-builder.d.ts +4 -0
- package/form-builder/index.d.ts +5 -0
- package/form-builder/lib/components/accordion/accordion.component.d.ts +125 -0
- package/form-builder/lib/components/accordion/accordion.types.d.ts +64 -0
- package/form-builder/lib/components/accordion/index.d.ts +2 -0
- package/form-builder/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/form-builder/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/form-builder/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/form-builder/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/form-builder/lib/components/button/button-area.component.d.ts +93 -0
- package/form-builder/lib/components/button/button.component.d.ts +61 -0
- package/form-builder/lib/components/button/button.types.d.ts +75 -0
- package/form-builder/lib/components/button/index.d.ts +15 -0
- package/form-builder/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/form-builder/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/form-builder/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/form-builder/lib/components/form-builder/form-wizard.component.d.ts +172 -0
- package/form-builder/lib/components/form-builder/index.d.ts +19 -0
- package/form-builder/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/form-builder/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/form-builder/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/form-builder/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/form-builder/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/form-builder/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/form-builder/lib/components/form-builder/services/wizard-sync.service.d.ts +63 -0
- package/form-builder/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/form-builder/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/form-builder/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/form-builder/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/form-builder/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/form-builder/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/form-builder/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/form-builder/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/form-builder/lib/components/form-builder/types/index.d.ts +6 -0
- package/form-builder/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/form-builder/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/form-builder/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/form-builder/lib/core/logging/logger.config.d.ts +18 -0
- package/form-builder/lib/core/logging/logger.service.d.ts +75 -0
- package/form-builder/lib/core/logging/logger.types.d.ts +70 -0
- package/form-builder/lib/core/types/index.d.ts +133 -0
- package/form-builder-editor/entry-form-builder-editor.d.ts +4 -0
- package/form-builder-editor/index.d.ts +5 -0
- package/form-builder-editor/lib/components/accordion/accordion.component.d.ts +125 -0
- package/form-builder-editor/lib/components/accordion/accordion.types.d.ts +64 -0
- package/form-builder-editor/lib/components/accordion/index.d.ts +2 -0
- package/form-builder-editor/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/form-builder-editor/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/form-builder-editor/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/form-builder-editor/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/form-builder-editor/lib/components/button/button-area.component.d.ts +93 -0
- package/form-builder-editor/lib/components/button/button.component.d.ts +61 -0
- package/form-builder-editor/lib/components/button/button.types.d.ts +75 -0
- package/form-builder-editor/lib/components/button/index.d.ts +15 -0
- package/form-builder-editor/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/form-builder-editor/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/form-builder-editor/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/form-builder-editor/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/form-builder-editor/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/form-builder-editor/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/form-builder-editor/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/form-builder-editor/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/form-builder-editor/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/form-builder-editor/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/form-builder-editor/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/form-builder-editor/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/form-builder-editor/lib/components/form-builder/types/index.d.ts +6 -0
- package/form-builder-editor/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/form-builder-editor/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/form-builder-editor/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.component.d.ts +117 -0
- package/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.service.d.ts +38 -0
- package/form-builder-editor/lib/components/form-builder-editor/index.d.ts +17 -0
- package/form-builder-editor/lib/components/form-builder-editor/presets/editor-presets.d.ts +25 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/editor-persistence.service.d.ts +42 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/editor-state.service.d.ts +66 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/field-factory.service.d.ts +28 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/condition-editor/condition-editor.component.d.ts +139 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/editor-toolbar/editor-toolbar.component.d.ts +43 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/field-config-panel/field-config-panel.component.d.ts +83 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/field-palette/field-palette.component.d.ts +40 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/form-values-panel/form-values-panel.component.d.ts +51 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/options-editor/options-editor.component.d.ts +63 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.d.ts +68 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.d.ts +82 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/validation-editor/validation-editor.component.d.ts +112 -0
- package/form-builder-editor/lib/components/form-builder-editor/types/editor.types.d.ts +124 -0
- package/form-builder-editor/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/form-builder-editor/lib/components/modal/index.d.ts +4 -0
- package/form-builder-editor/lib/components/modal/modal.component.d.ts +44 -0
- package/form-builder-editor/lib/components/modal/modal.service.d.ts +93 -0
- package/form-builder-editor/lib/components/modal/modal.types.d.ts +110 -0
- package/form-builder-editor/lib/core/logging/logger.config.d.ts +18 -0
- package/form-builder-editor/lib/core/logging/logger.service.d.ts +75 -0
- package/form-builder-editor/lib/core/logging/logger.types.d.ts +70 -0
- package/form-builder-editor/lib/core/types/index.d.ts +133 -0
- package/http/entry-http.d.ts +4 -0
- package/http/index.d.ts +5 -0
- package/http/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/http/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/http/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/http/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/http/lib/components/http/http-message.handler.d.ts +59 -0
- package/http/lib/components/http/http.service.d.ts +98 -0
- package/http/lib/components/http/http.tokens.d.ts +29 -0
- package/http/lib/components/http/http.types.d.ts +50 -0
- package/http/lib/components/http/index.d.ts +17 -0
- package/http/lib/components/layout-builder/layout-builder.types.d.ts +436 -0
- package/http/lib/components/layout-builder/layout.service.d.ts +100 -0
- package/http/lib/components/toast/toast-container.component.d.ts +27 -0
- package/http/lib/components/toast/toast.component.d.ts +37 -0
- package/http/lib/components/toast/toast.service.d.ts +39 -0
- package/http/lib/components/toast/toast.types.d.ts +52 -0
- package/http/lib/core/types/index.d.ts +133 -0
- package/http/lib/core/utils/index.d.ts +60 -0
- package/layout-builder/entry-layout-builder.d.ts +4 -0
- package/layout-builder/index.d.ts +5 -0
- package/layout-builder/lib/components/layout-builder/index.d.ts +16 -0
- package/layout-builder/lib/components/layout-builder/layout-builder.component.d.ts +85 -0
- package/layout-builder/lib/components/layout-builder/layout-builder.types.d.ts +436 -0
- package/layout-builder/lib/components/layout-builder/layout.service.d.ts +100 -0
- package/layout-builder/lib/core/types/index.d.ts +133 -0
- package/lib/components/accordion/accordion.component.d.ts +10 -3
- package/lib/components/accordion/accordion.types.d.ts +2 -0
- package/lib/components/base-layout/base-layout.component.d.ts +36 -11
- package/lib/components/base-layout/base-layout.types.d.ts +14 -0
- package/lib/components/base-layout/index.d.ts +1 -1
- package/lib/components/blackbox/blackbox-debugger.component.d.ts +80 -0
- package/lib/components/blackbox/blackbox-debugger.service.d.ts +34 -0
- package/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/lib/components/blackbox/blackbox-json-viewer.component.d.ts +18 -0
- package/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/lib/components/blackbox/blackbox.interceptor.d.ts +38 -0
- package/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/lib/components/blackbox/index.d.ts +23 -0
- package/lib/components/blackbox/ui-track.directive.d.ts +20 -0
- package/lib/components/button/button-area.component.d.ts +6 -1
- package/lib/components/button/button.component.d.ts +8 -2
- package/lib/components/button/button.types.d.ts +5 -0
- package/lib/components/form-builder/form-builder.component.d.ts +125 -29
- package/lib/components/form-builder/form-wizard.component.d.ts +89 -4
- package/lib/components/form-builder/index.d.ts +7 -1
- package/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +9 -6
- package/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/lib/components/form-builder/types/field.types.d.ts +48 -6
- package/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/lib/components/form-builder/types/index.d.ts +4 -3
- package/lib/components/form-builder/types/schema.types.d.ts +83 -6
- package/lib/components/form-builder/types/validation.types.d.ts +5 -0
- package/lib/components/form-builder-editor/index.d.ts +2 -0
- package/lib/components/form-builder-editor/presets/editor-presets.d.ts +25 -0
- package/lib/components/http/http-message.handler.d.ts +59 -0
- package/lib/components/http/http.service.d.ts +98 -0
- package/lib/components/http/http.tokens.d.ts +29 -0
- package/lib/components/http/http.types.d.ts +50 -0
- package/lib/components/http/index.d.ts +17 -0
- package/lib/components/page-header/breadcrumb.service.d.ts +2 -2
- package/lib/components/table/table.types.d.ts +5 -0
- package/lib/components/toast/index.d.ts +17 -0
- package/lib/components/toast/toast-container.component.d.ts +27 -0
- package/lib/components/toast/toast.component.d.ts +37 -0
- package/lib/components/toast/toast.service.d.ts +39 -0
- package/lib/components/toast/toast.types.d.ts +52 -0
- package/lib/core/logging/index.d.ts +8 -0
- package/lib/core/logging/logger.config.d.ts +18 -0
- package/lib/core/logging/logger.service.d.ts +75 -0
- package/lib/core/logging/logger.types.d.ts +70 -0
- package/lib/core/types/index.d.ts +76 -0
- package/lib/core/utils/index.d.ts +31 -0
- package/lib/version/ng-ui-system-version.d.ts +9 -0
- package/modal/entry-modal.d.ts +4 -0
- package/modal/index.d.ts +5 -0
- package/modal/lib/components/button/button.component.d.ts +61 -0
- package/modal/lib/components/button/button.types.d.ts +75 -0
- package/modal/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/modal/lib/components/modal/index.d.ts +4 -0
- package/modal/lib/components/modal/modal.component.d.ts +44 -0
- package/modal/lib/components/modal/modal.service.d.ts +93 -0
- package/modal/lib/components/modal/modal.types.d.ts +110 -0
- package/modal/lib/core/types/index.d.ts +133 -0
- package/package.json +93 -8
- package/page-header/entry-page-header.d.ts +4 -0
- package/page-header/index.d.ts +5 -0
- package/page-header/lib/components/page-header/breadcrumb.service.d.ts +96 -0
- package/page-header/lib/components/page-header/index.d.ts +16 -0
- package/page-header/lib/components/page-header/page-header.component.d.ts +59 -0
- package/page-header/lib/components/page-header/page-header.types.d.ts +96 -0
- package/public-api.d.ts +11 -6
- package/table/entry-table.d.ts +4 -0
- package/table/index.d.ts +5 -0
- package/table/lib/components/table/index.d.ts +2 -0
- package/table/lib/components/table/paginated-table.component.d.ts +85 -0
- package/table/lib/components/table/table.types.d.ts +86 -0
- package/table/lib/core/utils/index.d.ts +60 -0
- package/toast/entry-toast.d.ts +4 -0
- package/toast/index.d.ts +5 -0
- package/toast/lib/components/toast/index.d.ts +17 -0
- package/toast/lib/components/toast/toast-container.component.d.ts +27 -0
- package/toast/lib/components/toast/toast.component.d.ts +37 -0
- package/toast/lib/components/toast/toast.service.d.ts +39 -0
- package/toast/lib/components/toast/toast.types.d.ts +52 -0
- package/toast/lib/core/types/index.d.ts +133 -0
- package/toast/lib/core/utils/index.d.ts +60 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/** biome-ignore-all lint/complexity/useLiteralKeys: <explanation> */
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
|
+
import { NavigationEnd, Router } from '@angular/router';
|
|
4
|
+
import { filter } from 'rxjs/operators';
|
|
5
|
+
import { UI_BREADCRUMB_LABEL_RESOLVER, } from './page-header.types';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Service that builds a nested breadcrumb trail from Angular route configuration.
|
|
9
|
+
*
|
|
10
|
+
* Routes must define `data.id`, `data.title`, and optionally `data.breadcrumbs`
|
|
11
|
+
* (an array of parent route IDs) for the chain to resolve correctly.
|
|
12
|
+
*
|
|
13
|
+
* Supports lazy-loaded routes: the internal route map is rebuilt automatically
|
|
14
|
+
* whenever new routes are loaded via `NavigationEnd`.
|
|
15
|
+
*
|
|
16
|
+
* Label resolution for route parameters (`:param`) is delegated to an injectable
|
|
17
|
+
* `UiLabelResolverFn` via the `UI_BREADCRUMB_LABEL_RESOLVER` token.
|
|
18
|
+
*
|
|
19
|
+
* @usageNotes
|
|
20
|
+
* ### Route configuration
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const routes: Routes = [
|
|
23
|
+
* {
|
|
24
|
+
* path: 'users',
|
|
25
|
+
* data: { id: 'users', title: 'Utenti' },
|
|
26
|
+
* children: [
|
|
27
|
+
* {
|
|
28
|
+
* path: ':userId',
|
|
29
|
+
* data: { id: 'user-detail', title: ':userId', breadcrumbs: ['users'] },
|
|
30
|
+
* component: UserDetailComponent,
|
|
31
|
+
* },
|
|
32
|
+
* ],
|
|
33
|
+
* },
|
|
34
|
+
* ];
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* ### Custom label resolver
|
|
38
|
+
* ```typescript
|
|
39
|
+
* providers: [
|
|
40
|
+
* {
|
|
41
|
+
* provide: UI_BREADCRUMB_LABEL_RESOLVER,
|
|
42
|
+
* useValue: (name: string, value: string) =>
|
|
43
|
+
* name === 'userId' ? `User #${value}` : value,
|
|
44
|
+
* },
|
|
45
|
+
* ]
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export class UiBreadcrumbService {
|
|
49
|
+
constructor() {
|
|
50
|
+
this.router = inject(Router);
|
|
51
|
+
this.labelResolver = inject(UI_BREADCRUMB_LABEL_RESOLVER);
|
|
52
|
+
/** @internal Map of route ID → breadcrumb configuration. */
|
|
53
|
+
this.breadcrumbMap = new Map();
|
|
54
|
+
/** @internal Tracks route count to detect lazy-loaded route additions. */
|
|
55
|
+
this.lastRouteConfigLength = 0;
|
|
56
|
+
/** @internal Last computed breadcrumbs for navigateBack. */
|
|
57
|
+
this.lastBreadcrumbs = [];
|
|
58
|
+
this.rebuildRouteMap();
|
|
59
|
+
this.router.events
|
|
60
|
+
.pipe(filter((event) => event instanceof NavigationEnd))
|
|
61
|
+
.subscribe(() => this.rebuildRouteMapIfNeeded());
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Computes the breadcrumb trail for the currently active route.
|
|
65
|
+
*
|
|
66
|
+
* @param route - The root `ActivatedRoute` (typically injected in the component).
|
|
67
|
+
* @returns Ordered array of breadcrumb items from root to current route.
|
|
68
|
+
*/
|
|
69
|
+
getBreadcrumbsForRoute(route) {
|
|
70
|
+
let deepestRoute = route;
|
|
71
|
+
while (deepestRoute.firstChild) {
|
|
72
|
+
deepestRoute = deepestRoute.firstChild;
|
|
73
|
+
}
|
|
74
|
+
let routeWithId = deepestRoute;
|
|
75
|
+
while (routeWithId && !routeWithId.snapshot.data['id']) {
|
|
76
|
+
routeWithId = routeWithId.parent;
|
|
77
|
+
}
|
|
78
|
+
const routeId = routeWithId?.snapshot.data['id'];
|
|
79
|
+
if (!routeId) {
|
|
80
|
+
this.lastBreadcrumbs = [];
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
const params = this.collectParamsFromPath(deepestRoute);
|
|
84
|
+
const breadcrumbs = this.buildBreadcrumbChain(routeId, params);
|
|
85
|
+
this.lastBreadcrumbs = breadcrumbs;
|
|
86
|
+
return breadcrumbs;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Navigates to the previous breadcrumb (parent route).
|
|
90
|
+
* Falls back to `fallbackUrl` (default: `/`) when no parent exists.
|
|
91
|
+
*/
|
|
92
|
+
navigateBack(fallbackUrl = '/') {
|
|
93
|
+
const prev = this.lastBreadcrumbs.length > 1 ? this.lastBreadcrumbs[this.lastBreadcrumbs.length - 2] : null;
|
|
94
|
+
const target = prev?.url ?? fallbackUrl;
|
|
95
|
+
this.router.navigateByUrl(target);
|
|
96
|
+
}
|
|
97
|
+
/** @internal Collects all route params from the full path (including parents). */
|
|
98
|
+
collectParamsFromPath(route) {
|
|
99
|
+
const params = {};
|
|
100
|
+
for (const r of route.pathFromRoot) {
|
|
101
|
+
Object.assign(params, r.snapshot.params);
|
|
102
|
+
}
|
|
103
|
+
return params;
|
|
104
|
+
}
|
|
105
|
+
// ─── Private helpers ─────────────────────────────────────────────
|
|
106
|
+
/** @internal Rebuilds the map only when new lazy routes appear. */
|
|
107
|
+
rebuildRouteMapIfNeeded() {
|
|
108
|
+
const currentLength = this.countRoutes(this.router.config);
|
|
109
|
+
if (currentLength !== this.lastRouteConfigLength) {
|
|
110
|
+
this.rebuildRouteMap();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/** @internal Recursively counts routes including lazy-loaded children. */
|
|
114
|
+
countRoutes(routes) {
|
|
115
|
+
let count = routes.length;
|
|
116
|
+
for (const route of routes) {
|
|
117
|
+
if (route.children) {
|
|
118
|
+
count += this.countRoutes(route.children);
|
|
119
|
+
}
|
|
120
|
+
if (route._loadedRoutes) {
|
|
121
|
+
count += this.countRoutes(route._loadedRoutes);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return count;
|
|
125
|
+
}
|
|
126
|
+
/** @internal Clears and rebuilds the full route → breadcrumb map. */
|
|
127
|
+
rebuildRouteMap() {
|
|
128
|
+
this.breadcrumbMap.clear();
|
|
129
|
+
this.buildRouteMap(this.router.config);
|
|
130
|
+
this.lastRouteConfigLength = this.countRoutes(this.router.config);
|
|
131
|
+
}
|
|
132
|
+
/** @internal Recursively walks route tree to build the breadcrumb map. */
|
|
133
|
+
buildRouteMap(routes, parentPath = '') {
|
|
134
|
+
for (const route of routes) {
|
|
135
|
+
const currentPath = `${parentPath}/${route.path || ''}`;
|
|
136
|
+
if (route.data?.['id']) {
|
|
137
|
+
const fullPath = this.normalizePath(currentPath);
|
|
138
|
+
this.breadcrumbMap.set(route.data['id'], {
|
|
139
|
+
id: route.data['id'],
|
|
140
|
+
path: fullPath,
|
|
141
|
+
label: route.data['title'] || route.path || route.data['id'],
|
|
142
|
+
parentIds: route.data['breadcrumbs'] || [],
|
|
143
|
+
metadata: route.data,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
if (route.children) {
|
|
147
|
+
this.buildRouteMap(route.children, currentPath);
|
|
148
|
+
}
|
|
149
|
+
if (route._loadedRoutes) {
|
|
150
|
+
this.buildRouteMap(route._loadedRoutes, currentPath);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/** @internal Builds the full breadcrumb chain for a route by its ID. */
|
|
155
|
+
buildBreadcrumbChain(routeId, params) {
|
|
156
|
+
const config = this.breadcrumbMap.get(routeId);
|
|
157
|
+
if (!config)
|
|
158
|
+
return [];
|
|
159
|
+
this.saveFullPath(routeId, this.router.url);
|
|
160
|
+
const parentChain = this.getParentChain(config.parentIds, params);
|
|
161
|
+
const breadcrumbs = [...parentChain];
|
|
162
|
+
breadcrumbs.push({
|
|
163
|
+
label: this.resolveLabel(config.label, params),
|
|
164
|
+
url: this.stripQueryParams(this.router.url),
|
|
165
|
+
isLast: true,
|
|
166
|
+
});
|
|
167
|
+
return breadcrumbs;
|
|
168
|
+
}
|
|
169
|
+
/** @internal Resolves parent breadcrumbs from ordered parent IDs. */
|
|
170
|
+
getParentChain(parentIds, params) {
|
|
171
|
+
if (!parentIds?.length)
|
|
172
|
+
return [];
|
|
173
|
+
return parentIds
|
|
174
|
+
.map((id) => {
|
|
175
|
+
const config = this.breadcrumbMap.get(id);
|
|
176
|
+
if (!config)
|
|
177
|
+
return null;
|
|
178
|
+
return {
|
|
179
|
+
label: this.resolveLabel(config.label, params),
|
|
180
|
+
url: this.resolveUrl(config.path, params),
|
|
181
|
+
isLast: false,
|
|
182
|
+
};
|
|
183
|
+
})
|
|
184
|
+
.filter(Boolean);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* @internal Resolves `:param` placeholders in a label using
|
|
188
|
+
* the injected label resolver function.
|
|
189
|
+
*/
|
|
190
|
+
resolveLabel(label, params) {
|
|
191
|
+
if (!label.includes(':'))
|
|
192
|
+
return label;
|
|
193
|
+
let resolved = label;
|
|
194
|
+
for (const [key, value] of Object.entries(params)) {
|
|
195
|
+
const readableValue = this.labelResolver(key, value);
|
|
196
|
+
resolved = resolved.replace(`:${key}`, readableValue);
|
|
197
|
+
}
|
|
198
|
+
return resolved;
|
|
199
|
+
}
|
|
200
|
+
/** @internal Resolves `:param` placeholders in a path and creates a URL. */
|
|
201
|
+
resolveUrl(path, params) {
|
|
202
|
+
let processedPath = path;
|
|
203
|
+
if (path.includes(':')) {
|
|
204
|
+
const segments = path.split('/');
|
|
205
|
+
const processedSegments = segments.map((segment) => {
|
|
206
|
+
if (segment.startsWith(':')) {
|
|
207
|
+
const paramName = segment.substring(1);
|
|
208
|
+
return params[paramName] || segment;
|
|
209
|
+
}
|
|
210
|
+
return segment;
|
|
211
|
+
});
|
|
212
|
+
processedPath = processedSegments.join('/');
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
return this.router.createUrlTree([processedPath]).toString();
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
return processedPath;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/** @internal Normalizes path by collapsing double slashes and trimming trailing slash. */
|
|
222
|
+
normalizePath(path) {
|
|
223
|
+
return path.replace(/\/+/g, '/').replace(/\/$/, '');
|
|
224
|
+
}
|
|
225
|
+
/** @internal Removes query parameters from a URL. */
|
|
226
|
+
stripQueryParams(url) {
|
|
227
|
+
return url.split('?')[0];
|
|
228
|
+
}
|
|
229
|
+
/** @internal Caches the fully resolved URL for a route ID. */
|
|
230
|
+
saveFullPath(routeId, fullPath) {
|
|
231
|
+
const config = this.breadcrumbMap.get(routeId);
|
|
232
|
+
if (config) {
|
|
233
|
+
config.fullPath = this.stripQueryParams(fullPath);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiBreadcrumbService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
237
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiBreadcrumbService, providedIn: 'root' }); }
|
|
238
|
+
}
|
|
239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiBreadcrumbService, decorators: [{
|
|
240
|
+
type: Injectable,
|
|
241
|
+
args: [{ providedIn: 'root' }]
|
|
242
|
+
}], ctorParameters: () => [] });
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLWhlYWRlci9icmVhZGNydW1iLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUVBQXFFO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBdUIsYUFBYSxFQUFFLE1BQU0sRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsNEJBQTRCLEdBRzdCLE1BQU0scUJBQXFCLENBQUM7O0FBRTdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBRUgsTUFBTSxPQUFPLG1CQUFtQjtJQVc5QjtRQVZpQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFFdEUsNERBQTREO1FBQ3BELGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDOUQsMEVBQTBFO1FBQ2xFLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQUNsQyw0REFBNEQ7UUFDcEQsb0JBQWUsR0FBdUIsRUFBRSxDQUFDO1FBRy9DLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7YUFDdkQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFD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LEVBQUUsQ0FBQztZQUNYLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDOytHQXJOVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUROLE1BQU07OzRGQUNuQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIGJpb21lLWlnbm9yZS1hbGwgbGludC9jb21wbGV4aXR5L3VzZUxpdGVyYWxLZXlzOiA8ZXhwbGFuYXRpb24+ICovXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0eXBlIEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIHR5cGUgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIFVJX0JSRUFEQ1JVTUJfTEFCRUxfUkVTT0xWRVIsXHJcbiAgdHlwZSBVaUJyZWFkY3J1bWJDb25maWcsXHJcbiAgdHlwZSBVaUJyZWFkY3J1bWJJdGVtLFxyXG59IGZyb20gJy4vcGFnZS1oZWFkZXIudHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgdGhhdCBidWlsZHMgYSBuZXN0ZWQgYnJlYWRjcnVtYiB0cmFpbCBmcm9tIEFuZ3VsYXIgcm91dGUgY29uZmlndXJhdGlvbi5cclxuICpcclxuICogUm91dGVzIG11c3QgZGVmaW5lIGBkYXRhLmlkYCwgYGRhdGEudGl0bGVgLCBhbmQgb3B0aW9uYWxseSBgZGF0YS5icmVhZGNydW1ic2BcclxuICogKGFuIGFycmF5IG9mIHBhcmVudCByb3V0ZSBJRHMpIGZvciB0aGUgY2hhaW4gdG8gcmVzb2x2ZSBjb3JyZWN0bHkuXHJcbiAqXHJcbiAqIFN1cHBvcnRzIGxhenktbG9hZGVkIHJvdXRlczogdGhlIGludGVybmFsIHJvdXRlIG1hcCBpcyByZWJ1aWx0IGF1dG9tYXRpY2FsbHlcclxuICogd2hlbmV2ZXIgbmV3IHJvdXRlcyBhcmUgbG9hZGVkIHZpYSBgTmF2aWdhdGlvbkVuZGAuXHJcbiAqXHJcbiAqIExhYmVsIHJlc29sdXRpb24gZm9yIHJvdXRlIHBhcmFtZXRlcnMgKGA6cGFyYW1gKSBpcyBkZWxlZ2F0ZWQgdG8gYW4gaW5qZWN0YWJsZVxyXG4gKiBgVWlMYWJlbFJlc29sdmVyRm5gIHZpYSB0aGUgYFVJX0JSRUFEQ1JVTUJfTEFCRUxfUkVTT0xWRVJgIHRva2VuLlxyXG4gKlxyXG4gKiBAdXNhZ2VOb3Rlc1xyXG4gKiAjIyMgUm91dGUgY29uZmlndXJhdGlvblxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gKiAgIHtcclxuICogICAgIHBhdGg6ICd1c2VycycsXHJcbiAqICAgICBkYXRhOiB7IGlkOiAndXNlcnMnLCB0aXRsZTogJ1V0ZW50aScgfSxcclxuICogICAgIGNoaWxkcmVuOiBbXHJcbiAqICAgICAgIHtcclxuICogICAgICAgICBwYXRoOiAnOnVzZXJJZCcsXHJcbiAqICAgICAgICAgZGF0YTogeyBpZDogJ3VzZXItZGV0YWlsJywgdGl0bGU6ICc6dXNlcklkJywgYnJlYWRjcnVtYnM6IFsndXNlcnMnXSB9LFxyXG4gKiAgICAgICAgIGNvbXBvbmVudDogVXNlckRldGFpbENvbXBvbmVudCxcclxuICogICAgICAgfSxcclxuICogICAgIF0sXHJcbiAqICAgfSxcclxuICogXTtcclxuICogYGBgXHJcbiAqXHJcbiAqICMjIyBDdXN0b20gbGFiZWwgcmVzb2x2ZXJcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBwcm92aWRlcnM6IFtcclxuICogICB7XHJcbiAqICAgICBwcm92aWRlOiBVSV9CUkVBRENSVU1CX0xBQkVMX1JFU09MVkVSLFxyXG4gKiAgICAgdXNlVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XHJcbiAqICAgICAgIG5hbWUgPT09ICd1c2VySWQnID8gYFVzZXIgIyR7dmFsdWV9YCA6IHZhbHVlLFxyXG4gKiAgIH0sXHJcbiAqIF1cclxuICogYGBgXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVWlCcmVhZGNydW1iU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGxhYmVsUmVzb2x2ZXIgPSBpbmplY3QoVUlfQlJFQURDUlVNQl9MQUJFTF9SRVNPTFZFUik7XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgTWFwIG9mIHJvdXRlIElEIOKGkiBicmVhZGNydW1iIGNvbmZpZ3VyYXRpb24uICovXHJcbiAgcHJpdmF0ZSBicmVhZGNydW1iTWFwID0gbmV3IE1hcDxzdHJpbmcsIFVpQnJlYWRjcnVtYkNvbmZpZz4oKTtcclxuICAvKiogQGludGVybmFsIFRyYWNrcyByb3V0ZSBjb3VudCB0byBkZXRlY3QgbGF6eS1sb2FkZWQgcm91dGUgYWRkaXRpb25zLiAqL1xyXG4gIHByaXZhdGUgbGFzdFJvdXRlQ29uZmlnTGVuZ3RoID0gMDtcclxuICAvKiogQGludGVybmFsIExhc3QgY29tcHV0ZWQgYnJlYWRjcnVtYnMgZm9yIG5hdmlnYXRlQmFjay4gKi9cclxuICBwcml2YXRlIGxhc3RCcmVhZGNydW1iczogVWlCcmVhZGNydW1iSXRlbVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5yZWJ1aWxkUm91dGVNYXAoKTtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlYnVpbGRSb3V0ZU1hcElmTmVlZGVkKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29tcHV0ZXMgdGhlIGJyZWFkY3J1bWIgdHJhaWwgZm9yIHRoZSBjdXJyZW50bHkgYWN0aXZlIHJvdXRlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHJvdXRlIC0gVGhlIHJvb3QgYEFjdGl2YXRlZFJvdXRlYCAodHlwaWNhbGx5IGluamVjdGVkIGluIHRoZSBjb21wb25lbnQpLlxyXG4gICAqIEByZXR1cm5zIE9yZGVyZWQgYXJyYXkgb2YgYnJlYWRjcnVtYiBpdGVtcyBmcm9tIHJvb3QgdG8gY3VycmVudCByb3V0ZS5cclxuICAgKi9cclxuICBnZXRCcmVhZGNydW1ic0ZvclJvdXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IFVpQnJlYWRjcnVtYkl0ZW1bXSB7XHJcbiAgICBsZXQgZGVlcGVzdFJvdXRlID0gcm91dGU7XHJcbiAgICB3aGlsZSAoZGVlcGVzdFJvdXRlLmZpcnN0Q2hpbGQpIHtcclxuICAgICAgZGVlcGVzdFJvdXRlID0gZGVlcGVzdFJvdXRlLmZpcnN0Q2hpbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHJvdXRlV2l0aElkOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwgPSBkZWVwZXN0Um91dGU7XHJcbiAgICB3aGlsZSAocm91dGVXaXRoSWQgJiYgIXJvdXRlV2l0aElkLnNuYXBzaG90LmRhdGFbJ2lkJ10pIHtcclxuICAgICAgcm91dGVXaXRoSWQgPSByb3V0ZVdpdGhJZC5wYXJlbnQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCByb3V0ZUlkID0gcm91dGVXaXRoSWQ/LnNuYXBzaG90LmRhdGFbJ2lkJ107XHJcbiAgICBpZiAoIXJvdXRlSWQpIHtcclxuICAgICAgdGhpcy5sYXN0QnJlYWRjcnVtYnMgPSBbXTtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29sbGVjdFBhcmFtc0Zyb21QYXRoKGRlZXBlc3RSb3V0ZSk7XHJcbiAgICBjb25zdCBicmVhZGNydW1icyA9IHRoaXMuYnVpbGRCcmVhZGNydW1iQ2hhaW4ocm91dGVJZCwgcGFyYW1zKTtcclxuICAgIHRoaXMubGFzdEJyZWFkY3J1bWJzID0gYnJlYWRjcnVtYnM7XHJcbiAgICByZXR1cm4gYnJlYWRjcnVtYnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOYXZpZ2F0ZXMgdG8gdGhlIHByZXZpb3VzIGJyZWFkY3J1bWIgKHBhcmVudCByb3V0ZSkuXHJcbiAgICogRmFsbHMgYmFjayB0byBgZmFsbGJhY2tVcmxgIChkZWZhdWx0OiBgL2ApIHdoZW4gbm8gcGFyZW50IGV4aXN0cy5cclxuICAgKi9cclxuICBuYXZpZ2F0ZUJhY2soZmFsbGJhY2tVcmwgPSAnLycpOiB2b2lkIHtcclxuICAgIGNvbnN0IHByZXYgPSB0aGlzLmxhc3RCcmVhZGNydW1icy5sZW5ndGggPiAxID8gdGhpcy5sYXN0QnJlYWRjcnVtYnNbdGhpcy5sYXN0QnJlYWRjcnVtYnMubGVuZ3RoIC0gMl0gOiBudWxsO1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gcHJldj8udXJsID8/IGZhbGxiYWNrVXJsO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0YXJnZXQpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBDb2xsZWN0cyBhbGwgcm91dGUgcGFyYW1zIGZyb20gdGhlIGZ1bGwgcGF0aCAoaW5jbHVkaW5nIHBhcmVudHMpLiAqL1xyXG4gIHByaXZhdGUgY29sbGVjdFBhcmFtc0Zyb21QYXRoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xyXG4gICAgY29uc3QgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IHIgb2Ygcm91dGUucGF0aEZyb21Sb290KSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24ocGFyYW1zLCByLnNuYXBzaG90LnBhcmFtcyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgLy8g4pSA4pSA4pSAIFByaXZhdGUgaGVscGVycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBSZWJ1aWxkcyB0aGUgbWFwIG9ubHkgd2hlbiBuZXcgbGF6eSByb3V0ZXMgYXBwZWFyLiAqL1xyXG4gIHByaXZhdGUgcmVidWlsZFJvdXRlTWFwSWZOZWVkZWQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50TGVuZ3RoID0gdGhpcy5jb3VudFJvdXRlcyh0aGlzLnJvdXRlci5jb25maWcpO1xyXG4gICAgaWYgKGN1cnJlbnRMZW5ndGggIT09IHRoaXMubGFzdFJvdXRlQ29uZmlnTGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMucmVidWlsZFJvdXRlTWFwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIFJlY3Vyc2l2ZWx5IGNvdW50cyByb3V0ZXMgaW5jbHVkaW5nIGxhenktbG9hZGVkIGNoaWxkcmVuLiAqL1xyXG4gIHByaXZhdGUgY291bnRSb3V0ZXMocm91dGVzOiBSb3V0ZXMpOiBudW1iZXIge1xyXG4gICAgbGV0IGNvdW50ID0gcm91dGVzLmxlbmd0aDtcclxuICAgIGZvciAoY29uc3Qgcm91dGUgb2Ygcm91dGVzKSB7XHJcbiAgICAgIGlmIChyb3V0ZS5jaGlsZHJlbikge1xyXG4gICAgICAgIGNvdW50ICs9IHRoaXMuY291bnRSb3V0ZXMocm91dGUuY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICgocm91dGUgYXMgYW55KS5fbG9hZGVkUm91dGVzKSB7XHJcbiAgICAgICAgY291bnQgKz0gdGhpcy5jb3VudFJvdXRlcygocm91dGUgYXMgYW55KS5fbG9hZGVkUm91dGVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvdW50O1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBDbGVhcnMgYW5kIHJlYnVpbGRzIHRoZSBmdWxsIHJvdXRlIOKGkiBicmVhZGNydW1iIG1hcC4gKi9cclxuICBwcml2YXRlIHJlYnVpbGRSb3V0ZU1hcCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYk1hcC5jbGVhcigpO1xyXG4gICAgdGhpcy5idWlsZFJvdXRlTWFwKHRoaXMucm91dGVyLmNvbmZpZyk7XHJcbiAgICB0aGlzLmxhc3RSb3V0ZUNvbmZpZ0xlbmd0aCA9IHRoaXMuY291bnRSb3V0ZXModGhpcy5yb3V0ZXIuY29uZmlnKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgUmVjdXJzaXZlbHkgd2Fsa3Mgcm91dGUgdHJlZSB0byBidWlsZCB0aGUgYnJlYWRjcnVtYiBtYXAuICovXHJcbiAgcHJpdmF0ZSBidWlsZFJvdXRlTWFwKHJvdXRlczogUm91dGVzLCBwYXJlbnRQYXRoID0gJycpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3Qgcm91dGUgb2Ygcm91dGVzKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gYCR7cGFyZW50UGF0aH0vJHtyb3V0ZS5wYXRoIHx8ICcnfWA7XHJcblxyXG4gICAgICBpZiAocm91dGUuZGF0YT8uWydpZCddKSB7XHJcbiAgICAgICAgY29uc3QgZnVsbFBhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoY3VycmVudFBhdGgpO1xyXG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYk1hcC5zZXQocm91dGUuZGF0YVsnaWQnXSwge1xyXG4gICAgICAgICAgaWQ6IHJvdXRlLmRhdGFbJ2lkJ10sXHJcbiAgICAgICAgICBwYXRoOiBmdWxsUGF0aCxcclxuICAgICAgICAgIGxhYmVsOiByb3V0ZS5kYXRhWyd0aXRsZSddIHx8IHJvdXRlLnBhdGggfHwgcm91dGUuZGF0YVsnaWQnXSxcclxuICAgICAgICAgIHBhcmVudElkczogcm91dGUuZGF0YVsnYnJlYWRjcnVtYnMnXSB8fCBbXSxcclxuICAgICAgICAgIG1ldGFkYXRhOiByb3V0ZS5kYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocm91dGUuY2hpbGRyZW4pIHtcclxuICAgICAgICB0aGlzLmJ1aWxkUm91dGVNYXAocm91dGUuY2hpbGRyZW4sIGN1cnJlbnRQYXRoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoKHJvdXRlIGFzIGFueSkuX2xvYWRlZFJvdXRlcykge1xyXG4gICAgICAgIHRoaXMuYnVpbGRSb3V0ZU1hcCgocm91dGUgYXMgYW55KS5fbG9hZGVkUm91dGVzLCBjdXJyZW50UGF0aCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgQnVpbGRzIHRoZSBmdWxsIGJyZWFkY3J1bWIgY2hhaW4gZm9yIGEgcm91dGUgYnkgaXRzIElELiAqL1xyXG4gIHByaXZhdGUgYnVpbGRCcmVhZGNydW1iQ2hhaW4ocm91dGVJZDogc3RyaW5nLCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBVaUJyZWFkY3J1bWJJdGVtW10ge1xyXG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5icmVhZGNydW1iTWFwLmdldChyb3V0ZUlkKTtcclxuICAgIGlmICghY29uZmlnKSByZXR1cm4gW107XHJcblxyXG4gICAgdGhpcy5zYXZlRnVsbFBhdGgocm91dGVJZCwgdGhpcy5yb3V0ZXIudXJsKTtcclxuXHJcbiAgICBjb25zdCBwYXJlbnRDaGFpbiA9IHRoaXMuZ2V0UGFyZW50Q2hhaW4oY29uZmlnLnBhcmVudElkcywgcGFyYW1zKTtcclxuICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBVaUJyZWFkY3J1bWJJdGVtW10gPSBbLi4ucGFyZW50Q2hhaW5dO1xyXG5cclxuICAgIGJyZWFkY3J1bWJzLnB1c2goe1xyXG4gICAgICBsYWJlbDogdGhpcy5yZXNvbHZlTGFiZWwoY29uZmlnLmxhYmVsLCBwYXJhbXMpLFxyXG4gICAgICB1cmw6IHRoaXMuc3RyaXBRdWVyeVBhcmFtcyh0aGlzLnJvdXRlci51cmwpLFxyXG4gICAgICBpc0xhc3Q6IHRydWUsXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gYnJlYWRjcnVtYnM7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIFJlc29sdmVzIHBhcmVudCBicmVhZGNydW1icyBmcm9tIG9yZGVyZWQgcGFyZW50IElEcy4gKi9cclxuICBwcml2YXRlIGdldFBhcmVudENoYWluKHBhcmVudElkczogc3RyaW5nW10sIHBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IFVpQnJlYWRjcnVtYkl0ZW1bXSB7XHJcbiAgICBpZiAoIXBhcmVudElkcz8ubGVuZ3RoKSByZXR1cm4gW107XHJcblxyXG4gICAgcmV0dXJuIHBhcmVudElkc1xyXG4gICAgICAubWFwKChpZCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuYnJlYWRjcnVtYk1hcC5nZXQoaWQpO1xyXG4gICAgICAgIGlmICghY29uZmlnKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGxhYmVsOiB0aGlzLnJlc29sdmVMYWJlbChjb25maWcubGFiZWwsIHBhcmFtcyksXHJcbiAgICAgICAgICB1cmw6IHRoaXMucmVzb2x2ZVVybChjb25maWcucGF0aCwgcGFyYW1zKSxcclxuICAgICAgICAgIGlzTGFzdDogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSlcclxuICAgICAgLmZpbHRlcihCb29sZWFuKSBhcyBVaUJyZWFkY3J1bWJJdGVtW107XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaW50ZXJuYWwgUmVzb2x2ZXMgYDpwYXJhbWAgcGxhY2Vob2xkZXJzIGluIGEgbGFiZWwgdXNpbmdcclxuICAgKiB0aGUgaW5qZWN0ZWQgbGFiZWwgcmVzb2x2ZXIgZnVuY3Rpb24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXNvbHZlTGFiZWwobGFiZWw6IHN0cmluZywgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogc3RyaW5nIHtcclxuICAgIGlmICghbGFiZWwuaW5jbHVkZXMoJzonKSkgcmV0dXJuIGxhYmVsO1xyXG5cclxuICAgIGxldCByZXNvbHZlZCA9IGxhYmVsO1xyXG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFyYW1zKSkge1xyXG4gICAgICBjb25zdCByZWFkYWJsZVZhbHVlID0gdGhpcy5sYWJlbFJlc29sdmVyKGtleSwgdmFsdWUpO1xyXG4gICAgICByZXNvbHZlZCA9IHJlc29sdmVkLnJlcGxhY2UoYDoke2tleX1gLCByZWFkYWJsZVZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXNvbHZlZDtcclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgUmVzb2x2ZXMgYDpwYXJhbWAgcGxhY2Vob2xkZXJzIGluIGEgcGF0aCBhbmQgY3JlYXRlcyBhIFVSTC4gKi9cclxuICBwcml2YXRlIHJlc29sdmVVcmwocGF0aDogc3RyaW5nLCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBzdHJpbmcge1xyXG4gICAgbGV0IHByb2Nlc3NlZFBhdGggPSBwYXRoO1xyXG5cclxuICAgIGlmIChwYXRoLmluY2x1ZGVzKCc6JykpIHtcclxuICAgICAgY29uc3Qgc2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XHJcbiAgICAgIGNvbnN0IHByb2Nlc3NlZFNlZ21lbnRzID0gc2VnbWVudHMubWFwKChzZWdtZW50KSA9PiB7XHJcbiAgICAgICAgaWYgKHNlZ21lbnQuc3RhcnRzV2l0aCgnOicpKSB7XHJcbiAgICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSBzZWdtZW50LnN1YnN0cmluZygxKTtcclxuICAgICAgICAgIHJldHVybiBwYXJhbXNbcGFyYW1OYW1lXSB8fCBzZWdtZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc2VnbWVudDtcclxuICAgICAgfSk7XHJcbiAgICAgIHByb2Nlc3NlZFBhdGggPSBwcm9jZXNzZWRTZWdtZW50cy5qb2luKCcvJyk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW3Byb2Nlc3NlZFBhdGhdKS50b1N0cmluZygpO1xyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIHJldHVybiBwcm9jZXNzZWRQYXRoO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBOb3JtYWxpemVzIHBhdGggYnkgY29sbGFwc2luZyBkb3VibGUgc2xhc2hlcyBhbmQgdHJpbW1pbmcgdHJhaWxpbmcgc2xhc2guICovXHJcbiAgcHJpdmF0ZSBub3JtYWxpemVQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9cXC8rL2csICcvJykucmVwbGFjZSgvXFwvJC8sICcnKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgUmVtb3ZlcyBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gYSBVUkwuICovXHJcbiAgcHJpdmF0ZSBzdHJpcFF1ZXJ5UGFyYW1zKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1cmwuc3BsaXQoJz8nKVswXTtcclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgQ2FjaGVzIHRoZSBmdWxseSByZXNvbHZlZCBVUkwgZm9yIGEgcm91dGUgSUQuICovXHJcbiAgcHJpdmF0ZSBzYXZlRnVsbFBhdGgocm91dGVJZDogc3RyaW5nLCBmdWxsUGF0aDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmJyZWFkY3J1bWJNYXAuZ2V0KHJvdXRlSWQpO1xyXG4gICAgaWYgKGNvbmZpZykge1xyXG4gICAgICBjb25maWcuZnVsbFBhdGggPSB0aGlzLnN0cmlwUXVlcnlQYXJhbXMoZnVsbFBhdGgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, DestroyRef, inject, Input, ChangeDetectionStrategy, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { ActivatedRoute, NavigationEnd, Router, RouterLink } from '@angular/router';
|
|
4
|
+
import { Title } from '@angular/platform-browser';
|
|
5
|
+
import { filter } from 'rxjs/operators';
|
|
6
|
+
import { LucideAngularModule } from 'lucide-angular';
|
|
7
|
+
import { UiBreadcrumbService } from './breadcrumb.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "lucide-angular";
|
|
10
|
+
/**
|
|
11
|
+
* Page header component that renders a breadcrumb navigation trail
|
|
12
|
+
* and a page title. Integrates with `UiBreadcrumbService` to
|
|
13
|
+
* automatically derive breadcrumbs from Angular route configuration.
|
|
14
|
+
*
|
|
15
|
+
* The breadcrumb trail is generated from route `data` properties:
|
|
16
|
+
* - `data.id` — unique route identifier
|
|
17
|
+
* - `data.title` — display label
|
|
18
|
+
* - `data.breadcrumbs` — ordered array of parent route IDs
|
|
19
|
+
*
|
|
20
|
+
* @selector ui-page-header
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```html
|
|
24
|
+
* <!-- Auto breadcrumbs from route data -->
|
|
25
|
+
* <ui-page-header />
|
|
26
|
+
*
|
|
27
|
+
* <!-- With explicit title override -->
|
|
28
|
+
* <ui-page-header title="Custom Title" />
|
|
29
|
+
*
|
|
30
|
+
* <!-- With document title update -->
|
|
31
|
+
* <ui-page-header [updateDocumentTitle]="true" titleSuffix=" | My App" />
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export class UiPageHeaderComponent {
|
|
35
|
+
constructor() {
|
|
36
|
+
/** Override the auto-detected page title. When empty, title is derived from the last breadcrumb. */
|
|
37
|
+
this.title = '';
|
|
38
|
+
/** Route path for the Home breadcrumb link. */
|
|
39
|
+
this.homeRoute = '/';
|
|
40
|
+
/** Whether to display the Home link at the start of the trail. */
|
|
41
|
+
this.showHome = true;
|
|
42
|
+
/** When `true`, updates `document.title` on each navigation. */
|
|
43
|
+
this.updateDocumentTitle = false;
|
|
44
|
+
/** Suffix appended to `document.title` (e.g. `' | My App'`). Only used when `updateDocumentTitle` is `true`. */
|
|
45
|
+
this.titleSuffix = '';
|
|
46
|
+
/** @internal */
|
|
47
|
+
this.breadcrumbs = [];
|
|
48
|
+
this.router = inject(Router);
|
|
49
|
+
this.activatedRoute = inject(ActivatedRoute);
|
|
50
|
+
this.titleService = inject(Title);
|
|
51
|
+
this.breadcrumbService = inject(UiBreadcrumbService);
|
|
52
|
+
this.destroyRef = inject(DestroyRef);
|
|
53
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
54
|
+
}
|
|
55
|
+
/** Resolved page title: explicit `title` input wins, otherwise last breadcrumb label. */
|
|
56
|
+
get displayTitle() {
|
|
57
|
+
if (this.title)
|
|
58
|
+
return this.title;
|
|
59
|
+
if (this.breadcrumbs.length > 0) {
|
|
60
|
+
return this.breadcrumbs[this.breadcrumbs.length - 1].label;
|
|
61
|
+
}
|
|
62
|
+
return '';
|
|
63
|
+
}
|
|
64
|
+
ngOnInit() {
|
|
65
|
+
this.refresh();
|
|
66
|
+
this.router.events
|
|
67
|
+
.pipe(filter((event) => event instanceof NavigationEnd), takeUntilDestroyed(this.destroyRef))
|
|
68
|
+
.subscribe(() => this.refresh());
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Navigates to the previous breadcrumb (parent route).
|
|
72
|
+
* @param fallbackUrl - URL to navigate to when no parent exists (default: homeRoute).
|
|
73
|
+
*/
|
|
74
|
+
navigateBack(fallbackUrl) {
|
|
75
|
+
this.breadcrumbService.navigateBack(fallbackUrl ?? this.homeRoute);
|
|
76
|
+
}
|
|
77
|
+
/** @internal */
|
|
78
|
+
refresh() {
|
|
79
|
+
this.breadcrumbs = this.breadcrumbService.getBreadcrumbsForRoute(this.activatedRoute);
|
|
80
|
+
if (this.updateDocumentTitle) {
|
|
81
|
+
const title = this.displayTitle;
|
|
82
|
+
if (title) {
|
|
83
|
+
this.titleService.setTitle(`${title}${this.titleSuffix}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
this.cdr.markForCheck();
|
|
87
|
+
}
|
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiPageHeaderComponent, isStandalone: true, selector: "ui-page-header", inputs: { title: "title", homeRoute: "homeRoute", showHome: "showHome", updateDocumentTitle: "updateDocumentTitle", titleSuffix: "titleSuffix" }, host: { classAttribute: "ui-page-header-host" }, ngImport: i0, template: `
|
|
90
|
+
<header class="ui-page-header">
|
|
91
|
+
<nav aria-label="Breadcrumb" class="ui-page-header__nav">
|
|
92
|
+
<ol
|
|
93
|
+
class="ui-page-header__breadcrumb"
|
|
94
|
+
itemscope
|
|
95
|
+
itemtype="https://schema.org/BreadcrumbList"
|
|
96
|
+
>
|
|
97
|
+
@if (showHome) {
|
|
98
|
+
<li
|
|
99
|
+
class="ui-page-header__item"
|
|
100
|
+
itemprop="itemListElement"
|
|
101
|
+
itemscope
|
|
102
|
+
itemtype="https://schema.org/ListItem"
|
|
103
|
+
>
|
|
104
|
+
<a
|
|
105
|
+
itemprop="item"
|
|
106
|
+
[routerLink]="homeRoute"
|
|
107
|
+
class="ui-page-header__link"
|
|
108
|
+
aria-label="Home"
|
|
109
|
+
>
|
|
110
|
+
<lucide-icon name="home" [size]="14" aria-hidden="true" />
|
|
111
|
+
<span itemprop="name" class="ui-page-header__text">Home</span>
|
|
112
|
+
</a>
|
|
113
|
+
<meta itemprop="position" content="1" />
|
|
114
|
+
<span class="ui-page-header__separator" aria-hidden="true">
|
|
115
|
+
<lucide-icon name="chevron-right" [size]="14" />
|
|
116
|
+
</span>
|
|
117
|
+
</li>
|
|
118
|
+
}
|
|
119
|
+
@for (crumb of breadcrumbs; track crumb.url; let i = $index) {
|
|
120
|
+
<li
|
|
121
|
+
class="ui-page-header__item"
|
|
122
|
+
[class.ui-page-header__item--current]="crumb.isLast"
|
|
123
|
+
itemprop="itemListElement"
|
|
124
|
+
itemscope
|
|
125
|
+
itemtype="https://schema.org/ListItem"
|
|
126
|
+
>
|
|
127
|
+
@if (!crumb.isLast) {
|
|
128
|
+
<a
|
|
129
|
+
itemprop="item"
|
|
130
|
+
[routerLink]="crumb.url"
|
|
131
|
+
class="ui-page-header__link"
|
|
132
|
+
>
|
|
133
|
+
<span itemprop="name" class="ui-page-header__text">{{ crumb.label }}</span>
|
|
134
|
+
</a>
|
|
135
|
+
<span class="ui-page-header__separator" aria-hidden="true">
|
|
136
|
+
<lucide-icon name="chevron-right" [size]="14" />
|
|
137
|
+
</span>
|
|
138
|
+
} @else {
|
|
139
|
+
<span
|
|
140
|
+
itemprop="name"
|
|
141
|
+
class="ui-page-header__text ui-page-header__text--current"
|
|
142
|
+
aria-current="page"
|
|
143
|
+
>
|
|
144
|
+
{{ crumb.label }}
|
|
145
|
+
</span>
|
|
146
|
+
}
|
|
147
|
+
<meta itemprop="position" [attr.content]="showHome ? i + 2 : i + 1" />
|
|
148
|
+
</li>
|
|
149
|
+
}
|
|
150
|
+
</ol>
|
|
151
|
+
</nav>
|
|
152
|
+
|
|
153
|
+
<h1 class="ui-page-header__title" id="page-title">
|
|
154
|
+
{{ displayTitle }}
|
|
155
|
+
</h1>
|
|
156
|
+
</header>
|
|
157
|
+
`, isInline: true, styles: [".ui-page-header-host{display:block}.ui-page-header{margin-bottom:var(--ui-spacing-5)}.ui-page-header__nav{margin-bottom:var(--ui-spacing-2)}.ui-page-header__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;font-family:var(--ui-font-family);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);gap:var(--ui-spacing-1)}.ui-page-header__item{display:inline-flex;align-items:center;gap:var(--ui-spacing-1)}a.ui-page-header__link lucide-icon{transform:translateY(2px)!important}span.ui-page-header__separator lucide-icon{transform:translateY(3px)!important}.ui-page-header__link{display:inline-flex;align-items:center;gap:4px;text-decoration:none;color:var(--ui-color-primary);border-radius:var(--ui-radius-sm);padding:2px 4px;margin:-2px -4px;transition:color var(--ui-transition-fast),background-color var(--ui-transition-fast)}.ui-page-header__link:hover{color:var(--ui-color-primary-hover);text-decoration:underline}.ui-page-header__link:focus{outline:none}.ui-page-header__link:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-page-header__text{white-space:nowrap}.ui-page-header__text--current{font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}.ui-page-header__separator{display:inline-flex;align-items:center;color:var(--ui-color-text-muted);flex-shrink:0}.ui-page-header__title{margin:0;font-family:var(--ui-font-family);font-size:var(--ui-font-size-2xl);font-weight:var(--ui-font-weight-bold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight)}.ui-page-header__title:focus{outline:none}@media (min-width: 640px){.ui-page-header__title{font-size:var(--ui-font-size-xl)}.ui-page-header__breadcrumb{font-size:var(--ui-font-size-xs)}}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
158
|
+
}
|
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiPageHeaderComponent, decorators: [{
|
|
160
|
+
type: Component,
|
|
161
|
+
args: [{ selector: 'ui-page-header', standalone: true, imports: [RouterLink, LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
162
|
+
class: 'ui-page-header-host',
|
|
163
|
+
}, template: `
|
|
164
|
+
<header class="ui-page-header">
|
|
165
|
+
<nav aria-label="Breadcrumb" class="ui-page-header__nav">
|
|
166
|
+
<ol
|
|
167
|
+
class="ui-page-header__breadcrumb"
|
|
168
|
+
itemscope
|
|
169
|
+
itemtype="https://schema.org/BreadcrumbList"
|
|
170
|
+
>
|
|
171
|
+
@if (showHome) {
|
|
172
|
+
<li
|
|
173
|
+
class="ui-page-header__item"
|
|
174
|
+
itemprop="itemListElement"
|
|
175
|
+
itemscope
|
|
176
|
+
itemtype="https://schema.org/ListItem"
|
|
177
|
+
>
|
|
178
|
+
<a
|
|
179
|
+
itemprop="item"
|
|
180
|
+
[routerLink]="homeRoute"
|
|
181
|
+
class="ui-page-header__link"
|
|
182
|
+
aria-label="Home"
|
|
183
|
+
>
|
|
184
|
+
<lucide-icon name="home" [size]="14" aria-hidden="true" />
|
|
185
|
+
<span itemprop="name" class="ui-page-header__text">Home</span>
|
|
186
|
+
</a>
|
|
187
|
+
<meta itemprop="position" content="1" />
|
|
188
|
+
<span class="ui-page-header__separator" aria-hidden="true">
|
|
189
|
+
<lucide-icon name="chevron-right" [size]="14" />
|
|
190
|
+
</span>
|
|
191
|
+
</li>
|
|
192
|
+
}
|
|
193
|
+
@for (crumb of breadcrumbs; track crumb.url; let i = $index) {
|
|
194
|
+
<li
|
|
195
|
+
class="ui-page-header__item"
|
|
196
|
+
[class.ui-page-header__item--current]="crumb.isLast"
|
|
197
|
+
itemprop="itemListElement"
|
|
198
|
+
itemscope
|
|
199
|
+
itemtype="https://schema.org/ListItem"
|
|
200
|
+
>
|
|
201
|
+
@if (!crumb.isLast) {
|
|
202
|
+
<a
|
|
203
|
+
itemprop="item"
|
|
204
|
+
[routerLink]="crumb.url"
|
|
205
|
+
class="ui-page-header__link"
|
|
206
|
+
>
|
|
207
|
+
<span itemprop="name" class="ui-page-header__text">{{ crumb.label }}</span>
|
|
208
|
+
</a>
|
|
209
|
+
<span class="ui-page-header__separator" aria-hidden="true">
|
|
210
|
+
<lucide-icon name="chevron-right" [size]="14" />
|
|
211
|
+
</span>
|
|
212
|
+
} @else {
|
|
213
|
+
<span
|
|
214
|
+
itemprop="name"
|
|
215
|
+
class="ui-page-header__text ui-page-header__text--current"
|
|
216
|
+
aria-current="page"
|
|
217
|
+
>
|
|
218
|
+
{{ crumb.label }}
|
|
219
|
+
</span>
|
|
220
|
+
}
|
|
221
|
+
<meta itemprop="position" [attr.content]="showHome ? i + 2 : i + 1" />
|
|
222
|
+
</li>
|
|
223
|
+
}
|
|
224
|
+
</ol>
|
|
225
|
+
</nav>
|
|
226
|
+
|
|
227
|
+
<h1 class="ui-page-header__title" id="page-title">
|
|
228
|
+
{{ displayTitle }}
|
|
229
|
+
</h1>
|
|
230
|
+
</header>
|
|
231
|
+
`, styles: [".ui-page-header-host{display:block}.ui-page-header{margin-bottom:var(--ui-spacing-5)}.ui-page-header__nav{margin-bottom:var(--ui-spacing-2)}.ui-page-header__breadcrumb{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;font-family:var(--ui-font-family);font-size:var(--ui-font-size-sm);line-height:var(--ui-line-height-normal);gap:var(--ui-spacing-1)}.ui-page-header__item{display:inline-flex;align-items:center;gap:var(--ui-spacing-1)}a.ui-page-header__link lucide-icon{transform:translateY(2px)!important}span.ui-page-header__separator lucide-icon{transform:translateY(3px)!important}.ui-page-header__link{display:inline-flex;align-items:center;gap:4px;text-decoration:none;color:var(--ui-color-primary);border-radius:var(--ui-radius-sm);padding:2px 4px;margin:-2px -4px;transition:color var(--ui-transition-fast),background-color var(--ui-transition-fast)}.ui-page-header__link:hover{color:var(--ui-color-primary-hover);text-decoration:underline}.ui-page-header__link:focus{outline:none}.ui-page-header__link:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-page-header__text{white-space:nowrap}.ui-page-header__text--current{font-weight:var(--ui-font-weight-medium);color:var(--ui-color-text)}.ui-page-header__separator{display:inline-flex;align-items:center;color:var(--ui-color-text-muted);flex-shrink:0}.ui-page-header__title{margin:0;font-family:var(--ui-font-family);font-size:var(--ui-font-size-2xl);font-weight:var(--ui-font-weight-bold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight)}.ui-page-header__title:focus{outline:none}@media (min-width: 640px){.ui-page-header__title{font-size:var(--ui-font-size-xl)}.ui-page-header__breadcrumb{font-size:var(--ui-font-size-xs)}}\n"] }]
|
|
232
|
+
}], propDecorators: { title: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}], homeRoute: [{
|
|
235
|
+
type: Input
|
|
236
|
+
}], showHome: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], updateDocumentTitle: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], titleSuffix: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}] } });
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRzNEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQWlGSCxNQUFNLE9BQU8scUJBQXFCO0lBaEZsQztRQWlGRSxvR0FBb0c7UUFDM0YsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVwQiwrQ0FBK0M7UUFDdEMsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUV6QixrRUFBa0U7UUFDekQsYUFBUSxHQUFHLElBQUksQ0FBQztRQUV6QixnRUFBZ0U7UUFDdkQsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRXJDLGdIQUFnSDtRQUN2RyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUUxQixnQkFBZ0I7UUFDaEIsZ0JBQVcsR0FBdUIsRUFB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ICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRGVzdHJveVJlZixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEx1Y2lkZUFuZ3VsYXJNb2R1bGUgfSBmcm9tICdsdWNpZGUtYW5ndWxhcic7XHJcbmltcG9ydCB7IFVpQnJlYWRjcnVtYlNlcnZpY2UgfSBmcm9tICcuL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICcuL3BhZ2UtaGVhZGVyLnR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBQYWdlIGhlYWRlciBjb21wb25lbnQgdGhhdCByZW5kZXJzIGEgYnJlYWRjcnVtYiBuYXZpZ2F0aW9uIHRyYWlsXHJcbiAqIGFuZCBhIHBhZ2UgdGl0bGUuIEludGVncmF0ZXMgd2l0aCBgVWlCcmVhZGNydW1iU2VydmljZWAgdG9cclxuICogYXV0b21hdGljYWxseSBkZXJpdmUgYnJlYWRjcnVtYnMgZnJvbSBBbmd1bGFyIHJvdXRlIGNvbmZpZ3VyYXRpb24uXHJcbiAqXHJcbiAqIFRoZSBicmVhZGNydW1iIHRyYWlsIGlzIGdlbmVyYXRlZCBmcm9tIHJvdXRlIGBkYXRhYCBwcm9wZXJ0aWVzOlxyXG4gKiAtIGBkYXRhLmlkYCDigJQgdW5pcXVlIHJvdXRlIGlkZW50aWZpZXJcclxuICogLSBgZGF0YS50aXRsZWAg4oCUIGRpc3BsYXkgbGFiZWxcclxuICogLSBgZGF0YS5icmVhZGNydW1ic2Ag4oCUIG9yZGVyZWQgYXJyYXkgb2YgcGFyZW50IHJvdXRlIElEc1xyXG4gKlxyXG4gKiBAc2VsZWN0b3IgdWktcGFnZS1oZWFkZXJcclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8IS0tIEF1dG8gYnJlYWRjcnVtYnMgZnJvbSByb3V0ZSBkYXRhIC0tPlxyXG4gKiA8dWktcGFnZS1oZWFkZXIgLz5cclxuICpcclxuICogPCEtLSBXaXRoIGV4cGxpY2l0IHRpdGxlIG92ZXJyaWRlIC0tPlxyXG4gKiA8dWktcGFnZS1oZWFkZXIgdGl0bGU9XCJDdXN0b20gVGl0bGVcIiAvPlxyXG4gKlxyXG4gKiA8IS0tIFdpdGggZG9jdW1lbnQgdGl0bGUgdXBkYXRlIC0tPlxyXG4gKiA8dWktcGFnZS1oZWFkZXIgW3VwZGF0ZURvY3VtZW50VGl0bGVdPVwidHJ1ZVwiIHRpdGxlU3VmZml4PVwiIHwgTXkgQXBwXCIgLz5cclxuICogYGBgXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLXBhZ2UtaGVhZGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtSb3V0ZXJMaW5rLCBMdWNpZGVBbmd1bGFyTW9kdWxlXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAndWktcGFnZS1oZWFkZXItaG9zdCcsXHJcbiAgfSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGhlYWRlciBjbGFzcz1cInVpLXBhZ2UtaGVhZGVyXCI+XHJcbiAgICAgIDxuYXYgYXJpYS1sYWJlbD1cIkJyZWFkY3J1bWJcIiBjbGFzcz1cInVpLXBhZ2UtaGVhZGVyX19uYXZcIj5cclxuICAgICAgICA8b2xcclxuICAgICAgICAgIGNsYXNzPVwidWktcGFnZS1oZWFkZXJfX2JyZWFkY3J1bWJcIlxyXG4gICAgICAgICAgaXRlbXNjb3BlXHJcbiAgICAgICAgICBpdGVtdHlwZT1cImh0dHBzOi8vc2NoZW1hLm9yZy9CcmVhZGNydW1iTGlzdFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgQGlmIChzaG93SG9tZSkge1xyXG4gICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICBjbGFzcz1cInVpLXBhZ2UtaGVhZGVyX19pdGVtXCJcclxuICAgICAgICAgICAgICBpdGVtcHJvcD1cIml0ZW1MaXN0RWxlbWVudFwiXHJcbiAgICAgICAgICAgICAgaXRlbXNjb3BlXHJcbiAgICAgICAgICAgICAgaXRlbXR5cGU9XCJodHRwczovL3NjaGVtYS5vcmcvTGlzdEl0ZW1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgIGl0ZW1wcm9wPVwiaXRlbVwiXHJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJob21lUm91dGVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ1aS1wYWdlLWhlYWRlcl9fbGlua1wiXHJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiSG9tZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGx1Y2lkZS1pY29uIG5hbWU9XCJob21lXCIgW3NpemVdPVwiMTRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gaXRlbXByb3A9XCJuYW1lXCIgY2xhc3M9XCJ1aS1wYWdlLWhlYWRlcl9fdGV4dFwiPkhvbWU8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPVwicG9zaXRpb25cIiBjb250ZW50PVwiMVwiIC8+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1wYWdlLWhlYWRlcl9fc2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICA8bHVjaWRlLWljb24gbmFtZT1cImNoZXZyb24tcmlnaHRcIiBbc2l6ZV09XCIxNFwiIC8+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGZvciAoY3J1bWIgb2YgYnJlYWRjcnVtYnM7IHRyYWNrIGNydW1iLnVybDsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgICAgICAgICAgPGxpXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ1aS1wYWdlLWhlYWRlcl9faXRlbVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLnVpLXBhZ2UtaGVhZGVyX19pdGVtLS1jdXJyZW50XT1cImNydW1iLmlzTGFzdFwiXHJcbiAgICAgICAgICAgICAgaXRlbXByb3A9XCJpdGVtTGlzdEVsZW1lbnRcIlxyXG4gICAgICAgICAgICAgIGl0ZW1zY29wZVxyXG4gICAgICAgICAgICAgIGl0ZW10eXBlPVwiaHR0cHM6Ly9zY2hlbWEub3JnL0xpc3RJdGVtXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIEBpZiAoIWNydW1iLmlzTGFzdCkge1xyXG4gICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgaXRlbXByb3A9XCJpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY3J1bWIudXJsXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ1aS1wYWdlLWhlYWRlcl9fbGlua1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGl0ZW1wcm9wPVwibmFtZVwiIGNsYXNzPVwidWktcGFnZS1oZWFkZXJfX3RleHRcIj57eyBjcnVtYi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidWktcGFnZS1oZWFkZXJfX3NlcGFyYXRvclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bHVjaWRlLWljb24gbmFtZT1cImNoZXZyb24tcmlnaHRcIiBbc2l6ZV09XCIxNFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBpdGVtcHJvcD1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInVpLXBhZ2UtaGVhZGVyX190ZXh0IHVpLXBhZ2UtaGVhZGVyX190ZXh0LS1jdXJyZW50XCJcclxuICAgICAgICAgICAgICAgICAgYXJpYS1jdXJyZW50PVwicGFnZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGNydW1iLmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDxtZXRhIGl0ZW1wcm9wPVwicG9zaXRpb25cIiBbYXR0ci5jb250ZW50XT1cInNob3dIb21lID8gaSArIDIgOiBpICsgMVwiIC8+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9vbD5cclxuICAgICAgPC9uYXY+XHJcblxyXG4gICAgICA8aDEgY2xhc3M9XCJ1aS1wYWdlLWhlYWRlcl9fdGl0bGVcIiBpZD1cInBhZ2UtdGl0bGVcIj5cclxuICAgICAgICB7eyBkaXNwbGF5VGl0bGUgfX1cclxuICAgICAgPC9oMT5cclxuICAgIDwvaGVhZGVyPlxyXG4gIGAsXHJcbiAgc3R5bGVVcmw6ICcuL3BhZ2UtaGVhZGVyLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpUGFnZUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqIE92ZXJyaWRlIHRoZSBhdXRvLWRldGVjdGVkIHBhZ2UgdGl0bGUuIFdoZW4gZW1wdHksIHRpdGxlIGlzIGRlcml2ZWQgZnJvbSB0aGUgbGFzdCBicmVhZGNydW1iLiAqL1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XHJcblxyXG4gIC8qKiBSb3V0ZSBwYXRoIGZvciB0aGUgSG9tZSBicmVhZGNydW1iIGxpbmsuICovXHJcbiAgQElucHV0KCkgaG9tZVJvdXRlID0gJy8nO1xyXG5cclxuICAvKiogV2hldGhlciB0byBkaXNwbGF5IHRoZSBIb21lIGxpbmsgYXQgdGhlIHN0YXJ0IG9mIHRoZSB0cmFpbC4gKi9cclxuICBASW5wdXQoKSBzaG93SG9tZSA9IHRydWU7XHJcblxyXG4gIC8qKiBXaGVuIGB0cnVlYCwgdXBkYXRlcyBgZG9jdW1lbnQudGl0bGVgIG9uIGVhY2ggbmF2aWdhdGlvbi4gKi9cclxuICBASW5wdXQoKSB1cGRhdGVEb2N1bWVudFRpdGxlID0gZmFsc2U7XHJcblxyXG4gIC8qKiBTdWZmaXggYXBwZW5kZWQgdG8gYGRvY3VtZW50LnRpdGxlYCAoZS5nLiBgJyB8IE15IEFwcCdgKS4gT25seSB1c2VkIHdoZW4gYHVwZGF0ZURvY3VtZW50VGl0bGVgIGlzIGB0cnVlYC4gKi9cclxuICBASW5wdXQoKSB0aXRsZVN1ZmZpeCA9ICcnO1xyXG5cclxuICAvKiogQGludGVybmFsICovXHJcbiAgYnJlYWRjcnVtYnM6IFVpQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgdGl0bGVTZXJ2aWNlID0gaW5qZWN0KFRpdGxlKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGJyZWFkY3J1bWJTZXJ2aWNlID0gaW5qZWN0KFVpQnJlYWRjcnVtYlNlcnZpY2UpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gIC8qKiBSZXNvbHZlZCBwYWdlIHRpdGxlOiBleHBsaWNpdCBgdGl0bGVgIGlucHV0IHdpbnMsIG90aGVyd2lzZSBsYXN0IGJyZWFkY3J1bWIgbGFiZWwuICovXHJcbiAgZ2V0IGRpc3BsYXlUaXRsZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMudGl0bGUpIHJldHVybiB0aGlzLnRpdGxlO1xyXG4gICAgaWYgKHRoaXMuYnJlYWRjcnVtYnMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5icmVhZGNydW1ic1t0aGlzLmJyZWFkY3J1bWJzLmxlbmd0aCAtIDFdLmxhYmVsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlZnJlc2goKTtcclxuXHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5hdmlnYXRlcyB0byB0aGUgcHJldmlvdXMgYnJlYWRjcnVtYiAocGFyZW50IHJvdXRlKS5cclxuICAgKiBAcGFyYW0gZmFsbGJhY2tVcmwgLSBVUkwgdG8gbmF2aWdhdGUgdG8gd2hlbiBubyBwYXJlbnQgZXhpc3RzIChkZWZhdWx0OiBob21lUm91dGUpLlxyXG4gICAqL1xyXG4gIG5hdmlnYXRlQmFjayhmYWxsYmFja1VybD86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5icmVhZGNydW1iU2VydmljZS5uYXZpZ2F0ZUJhY2soZmFsbGJhY2tVcmwgPz8gdGhpcy5ob21lUm91dGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gIHByaXZhdGUgcmVmcmVzaCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLmdldEJyZWFkY3J1bWJzRm9yUm91dGUodGhpcy5hY3RpdmF0ZWRSb3V0ZSk7XHJcbiAgICBpZiAodGhpcy51cGRhdGVEb2N1bWVudFRpdGxlKSB7XHJcbiAgICAgIGNvbnN0IHRpdGxlID0gdGhpcy5kaXNwbGF5VGl0bGU7XHJcbiAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKGAke3RpdGxlfSR7dGhpcy50aXRsZVN1ZmZpeH1gKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ng-ui-system/page-header
|
|
3
|
+
* Types and interfaces for UiPageHeader and UiBreadcrumbService.
|
|
4
|
+
*/
|
|
5
|
+
import { InjectionToken } from '@angular/core';
|
|
6
|
+
/**
|
|
7
|
+
* Injection token for providing a custom label resolver to UiBreadcrumbService.
|
|
8
|
+
*
|
|
9
|
+
* When not provided, parameters are displayed as-is (identity function).
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* // In your app.config.ts or module providers:
|
|
14
|
+
* { provide: UI_BREADCRUMB_LABEL_RESOLVER, useValue: myLabelResolver }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export const UI_BREADCRUMB_LABEL_RESOLVER = new InjectionToken('UI_BREADCRUMB_LABEL_RESOLVER', {
|
|
18
|
+
providedIn: 'root',
|
|
19
|
+
factory: () => (_name, value) => value,
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1oZWFkZXIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFvRi9DOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBb0IsOEJBQThCLEVBQUU7SUFDaEgsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBYSxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSztDQUN2RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vcGFnZS1oZWFkZXJcclxuICogVHlwZXMgYW5kIGludGVyZmFjZXMgZm9yIFVpUGFnZUhlYWRlciBhbmQgVWlCcmVhZGNydW1iU2VydmljZS5cclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFNpbmdsZSBicmVhZGNydW1iIGl0ZW0gcmVuZGVyZWQgaW4gdGhlIG5hdmlnYXRpb24gdHJhaWwuXHJcbiAqXHJcbiAqIEB1c2FnZU5vdGVzXHJcbiAqICMjIyBTdHJ1Y3R1cmVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBpdGVtOiBVaUJyZWFkY3J1bWJJdGVtID0ge1xyXG4gKiAgIGxhYmVsOiAnRGFzaGJvYXJkJyxcclxuICogICB1cmw6ICcvZGFzaGJvYXJkJyxcclxuICogICBpc0xhc3Q6IGZhbHNlLFxyXG4gKiB9O1xyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlCcmVhZGNydW1iSXRlbSB7XHJcbiAgLyoqIERpc3BsYXkgdGV4dCBmb3IgdGhlIGJyZWFkY3J1bWIgbGluay4gKi9cclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIC8qKiBOYXZpZ2F0aW9uIFVSTCAoQW5ndWxhciBSb3V0ZXIgcGF0aCkuICovXHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgLyoqIFdoZXRoZXIgdGhpcyBpcyB0aGUgbGFzdCAoY3VycmVudCkgYnJlYWRjcnVtYiBpbiB0aGUgdHJhaWwuICovXHJcbiAgaXNMYXN0OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogSW50ZXJuYWwgcm91dGUgY29uZmlndXJhdGlvbiBzdG9yZWQgYnkgVWlCcmVhZGNydW1iU2VydmljZS5cclxuICogQnVpbHQgZnJvbSBBbmd1bGFyIHJvdXRlIGBkYXRhYCBwcm9wZXJ0aWVzLlxyXG4gKlxyXG4gKiBAdXNhZ2VOb3Rlc1xyXG4gKiAjIyMgUm91dGUgZGF0YSBjb252ZW50aW9uXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICoge1xyXG4gKiAgIHBhdGg6ICd1c2Vycy86dXNlcklkJyxcclxuICogICBkYXRhOiB7XHJcbiAqICAgICBpZDogJ3VzZXItZGV0YWlsJyxcclxuICogICAgIHRpdGxlOiAnRGV0dGFnbGlvIHV0ZW50ZScsXHJcbiAqICAgICBicmVhZGNydW1iczogWyd1c2Vycy1saXN0J10sXHJcbiAqICAgfSxcclxuICogICBjb21wb25lbnQ6IFVzZXJEZXRhaWxDb21wb25lbnQsXHJcbiAqIH1cclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVpQnJlYWRjcnVtYkNvbmZpZyB7XHJcbiAgLyoqIFVuaXF1ZSByb3V0ZSBpZGVudGlmaWVyIChmcm9tIGByb3V0ZS5kYXRhLmlkYCkuICovXHJcbiAgaWQ6IHN0cmluZztcclxuICAvKiogUmVzb2x2ZWQgcm91dGUgcGF0aCBwYXR0ZXJuIChtYXkgY29udGFpbiBgOnBhcmFtYCBwbGFjZWhvbGRlcnMpLiAqL1xyXG4gIHBhdGg6IHN0cmluZztcclxuICAvKiogRGlzcGxheSBsYWJlbCAoZnJvbSBgcm91dGUuZGF0YS50aXRsZWAgb3IgZmFsbGJhY2spLiAqL1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgLyoqIE9yZGVyZWQgYXJyYXkgb2YgcGFyZW50IHJvdXRlIElEcyBmb3IgYnVpbGRpbmcgdGhlIGJyZWFkY3J1bWIgY2hhaW4uICovXHJcbiAgcGFyZW50SWRzOiBzdHJpbmdbXTtcclxuICAvKiogRnVsbHkgcmVzb2x2ZWQgVVJMIGNhcHR1cmVkIGF0IG5hdmlnYXRpb24gdGltZS4gKi9cclxuICBmdWxsUGF0aD86IHN0cmluZztcclxuICAvKiogUmF3IHJvdXRlIGRhdGEgbWV0YWRhdGEuICovXHJcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59XHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gc2lnbmF0dXJlIGZvciByZXNvbHZpbmcgcm91dGUgcGFyYW1ldGVyIHZhbHVlcyB0byBodW1hbi1yZWFkYWJsZSBsYWJlbHMuXHJcbiAqXHJcbiAqIENvbnN1bWVycyBjYW4gcHJvdmlkZSBhIGN1c3RvbSBpbXBsZW1lbnRhdGlvbiB2aWEgYFVJX0JSRUFEQ1JVTUJfTEFCRUxfUkVTT0xWRVJgXHJcbiAqIHRvIHRyYW5zbGF0ZSBjcnlwdGljIHBhcmFtZXRlciB2YWx1ZXMgKGUuZy4gVVVJRHMsIHNsdWdzKSBpbnRvIHVzZXItZnJpZW5kbHkgdGV4dC5cclxuICpcclxuICogQHBhcmFtIHBhcmFtTmFtZSAtIFRoZSByb3V0ZSBwYXJhbWV0ZXIgbmFtZSAoZS5nLiBgJ3VzZXJJZCdgKS5cclxuICogQHBhcmFtIHBhcmFtVmFsdWUgLSBUaGUgcmF3IHBhcmFtZXRlciB2YWx1ZSBmcm9tIHRoZSBVUkwgKGUuZy4gYCdhYmMtMTIzJ2ApLlxyXG4gKiBAcmV0dXJucyBBIGh1bWFuLXJlYWRhYmxlIGxhYmVsLCBvciB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgbm8gbWFwcGluZyBleGlzdHMuXHJcbiAqXHJcbiAqIEB1c2FnZU5vdGVzXHJcbiAqICMjIyBDdXN0b20gcmVzb2x2ZXJcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBteVJlc29sdmVyOiBVaUxhYmVsUmVzb2x2ZXJGbiA9IChuYW1lLCB2YWx1ZSkgPT4ge1xyXG4gKiAgIGlmIChuYW1lID09PSAnc3RhdHVzJykge1xyXG4gKiAgICAgcmV0dXJuIHsgcGVuZGluZzogJ0luIGF0dGVzYScsIGFjdGl2ZTogJ0F0dGl2bycgfVt2YWx1ZV0gPz8gdmFsdWU7XHJcbiAqICAgfVxyXG4gKiAgIHJldHVybiB2YWx1ZTtcclxuICogfTtcclxuICpcclxuICogcHJvdmlkZXJzOiBbXHJcbiAqICAgeyBwcm92aWRlOiBVSV9CUkVBRENSVU1CX0xBQkVMX1JFU09MVkVSLCB1c2VWYWx1ZTogbXlSZXNvbHZlciB9LFxyXG4gKiBdXHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgVWlMYWJlbFJlc29sdmVyRm4gPSAocGFyYW1OYW1lOiBzdHJpbmcsIHBhcmFtVmFsdWU6IHN0cmluZykgPT4gc3RyaW5nO1xyXG5cclxuLyoqXHJcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgcHJvdmlkaW5nIGEgY3VzdG9tIGxhYmVsIHJlc29sdmVyIHRvIFVpQnJlYWRjcnVtYlNlcnZpY2UuXHJcbiAqXHJcbiAqIFdoZW4gbm90IHByb3ZpZGVkLCBwYXJhbWV0ZXJzIGFyZSBkaXNwbGF5ZWQgYXMtaXMgKGlkZW50aXR5IGZ1bmN0aW9uKS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiAvLyBJbiB5b3VyIGFwcC5jb25maWcudHMgb3IgbW9kdWxlIHByb3ZpZGVyczpcclxuICogeyBwcm92aWRlOiBVSV9CUkVBRENSVU1CX0xBQkVMX1JFU09MVkVSLCB1c2VWYWx1ZTogbXlMYWJlbFJlc29sdmVyIH1cclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgVUlfQlJFQURDUlVNQl9MQUJFTF9SRVNPTFZFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxVaUxhYmVsUmVzb2x2ZXJGbj4oJ1VJX0JSRUFEQ1JVTUJfTEFCRUxfUkVTT0xWRVInLCB7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gIGZhY3Rvcnk6ICgpID0+IChfbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2YWx1ZSxcclxufSk7XHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for ng-ui-system components.
|
|
3
|
+
* These types are used across multiple components to ensure consistency.
|
|
4
|
+
*/
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb3JlL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTaGFyZWQgdHlwZXMgZm9yIG5nLXVpLXN5c3RlbSBjb21wb25lbnRzLlxyXG4gKiBUaGVzZSB0eXBlcyBhcmUgdXNlZCBhY3Jvc3MgbXVsdGlwbGUgY29tcG9uZW50cyB0byBlbnN1cmUgY29uc2lzdGVuY3kuXHJcbiAqL1xyXG5cclxuLyoqIFN0YW5kYXJkIHNpemUgdmFyaWFudHMgdXNlZCBhY3Jvc3MgY29tcG9uZW50cy4gKi9cclxuZXhwb3J0IHR5cGUgVWlTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XHJcblxyXG4vKiogVmlzdWFsIHN0eWxlIHZhcmlhbnRzIGZvciBjb21wb25lbnRzLiAqL1xyXG5leHBvcnQgdHlwZSBVaVZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyB8ICduZXV0cmFsJyB8ICdnaG9zdCcgfCAnb3V0bGluZSc7XHJcblxyXG4vKiogU2VtYW50aWMgY29sb3IgcGFsZXR0ZSB0b2tlbnMuICovXHJcbmV4cG9ydCB0eXBlIFVpQ29sb3IgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyB8ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICduZXV0cmFsJztcclxuXHJcbi8qKiBMYXlvdXQgZGlyZWN0aW9uLiAqL1xyXG5leHBvcnQgdHlwZSBVaURpcmVjdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XHJcblxyXG4vKiogSG9yaXpvbnRhbCBhbGlnbm1lbnQuICovXHJcbmV4cG9ydCB0eXBlIFVpQWxpZ24gPSAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJyB8ICdzdHJldGNoJztcclxuXHJcbi8qKiBDb21wb25lbnQgZGVuc2l0eSBvcHRpb25zIGZvciBjb21wYWN0IG9yIHNwYWNpb3VzIGxheW91dHMuICovXHJcbmV4cG9ydCB0eXBlIFVpRGVuc2l0eSA9ICdjb21wYWN0JyB8ICdkZWZhdWx0JyB8ICdjb21mb3J0YWJsZSc7XHJcblxyXG4vKipcclxuICogQ29tbW9uIEx1Y2lkZSBpY29uIG5hbWVzIHdpdGggYXV0b2NvbXBsZXRlIHN1cHBvcnQuXHJcbiAqIEFjY2VwdHMgYW55IHZhbGlkIEx1Y2lkZSBpY29uIG5hbWUgYXMgYSBzdHJpbmcuXHJcbiAqXHJcbiAqIFByb3ZpZGVzIEludGVsbGlTZW5zZSBmb3IgdGhlIG1vc3QgZnJlcXVlbnRseSB1c2VkIGVudGVycHJpc2UgaWNvbnMuXHJcbiAqIEZvciB0aGUgZnVsbCBpY29uIGNhdGFsb2d1ZSwgdmlzaXQgaHR0cHM6Ly9sdWNpZGUuZGV2L2ljb25zXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgbXlJY29uOiBVaUljb25OYW1lID0gJ2Fycm93LXJpZ2h0JzsgIC8vIGF1dG9jb21wbGV0ZSDinJNcclxuICogY29uc3QgY3VzdG9tOiBVaUljb25OYW1lID0gJ215LWN1c3RvbS1pY29uJzsgLy8gc3RpbGwgdmFsaWRcclxuICogYGBgXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBVaUljb25OYW1lID1cclxuICAvLyDilIDilIAgTmF2aWdhdGlvbiDilIDilIBcclxuICB8ICdhcnJvdy1yaWdodCdcclxuICB8ICdhcnJvdy1sZWZ0J1xyXG4gIHwgJ2Fycm93LXVwJ1xyXG4gIHwgJ2Fycm93LWRvd24nXHJcbiAgfCAnY2hldnJvbi1yaWdodCdcclxuICB8ICdjaGV2cm9uLWxlZnQnXHJcbiAgfCAnY2hldnJvbi11cCdcclxuICB8ICdjaGV2cm9uLWRvd24nXHJcbiAgfCAnZXh0ZXJuYWwtbGluaydcclxuICB8ICdjb3JuZXItZG93bi1sZWZ0J1xyXG4gIHwgJ2Nvcm5lci1kb3duLXJpZ2h0J1xyXG4gIC8vIOKUgOKUgCBBY3Rpb25zIOKUgOKUgFxyXG4gIHwgJ2NoZWNrJ1xyXG4gIHwgJ3gnXHJcbiAgfCAncGx1cydcclxuICB8ICdtaW51cydcclxuICB8ICdzZWFyY2gnXHJcbiAgfCAncmVmcmVzaC1jdydcclxuICB8ICdkb3dubG9hZCdcclxuICB8ICd1cGxvYWQnXHJcbiAgfCAnc2F2ZSdcclxuICB8ICd0cmFzaC0yJ1xyXG4gIHwgJ3BlbmNpbCdcclxuICB8ICdjb3B5J1xyXG4gIHwgJ2NsaXBib2FyZCdcclxuICB8ICdzaGFyZS0yJ1xyXG4gIHwgJ3NlbmQnXHJcbiAgfCAnbG9nLWluJ1xyXG4gIHwgJ2xvZy1vdXQnXHJcbiAgLy8g4pSA4pSAIENvbW11bmljYXRpb24g4pSA4pSAXHJcbiAgfCAnbWFpbCdcclxuICB8ICdtZXNzYWdlLWNpcmNsZSdcclxuICB8ICdwaG9uZSdcclxuICB8ICdiZWxsJ1xyXG4gIC8vIOKUgOKUgCBVc2VycyAmIElkZW50aXR5IOKUgOKUgFxyXG4gIHwgJ3VzZXInXHJcbiAgfCAndXNlcnMnXHJcbiAgfCAnbG9jaydcclxuICB8ICd1bmxvY2snXHJcbiAgfCAna2V5J1xyXG4gIHwgJ3NoaWVsZCdcclxuICAvLyDilIDilIAgRmlsZXMgJiBNZWRpYSDilIDilIBcclxuICB8ICdmaWxlJ1xyXG4gIHwgJ2ZpbGUtdGV4dCdcclxuICB8ICdmaWxlLXNwcmVhZHNoZWV0J1xyXG4gIHwgJ2ZpbGUtYXJjaGl2ZSdcclxuICB8ICdmb2xkZXInXHJcbiAgfCAnaW1hZ2UnXHJcbiAgfCAnY2FtZXJhJ1xyXG4gIHwgJ3BhcGVyY2xpcCdcclxuICAvLyDilIDilIAgRmVlZGJhY2sgJiBTdGF0dXMg4pSA4pSAXHJcbiAgfCAnaW5mbydcclxuICB8ICdhbGVydC10cmlhbmdsZSdcclxuICB8ICdhbGVydC1jaXJjbGUnXHJcbiAgfCAnY2hlY2stY2lyY2xlJ1xyXG4gIHwgJ3gtY2lyY2xlJ1xyXG4gIHwgJ2hlbHAtY2lyY2xlJ1xyXG4gIHwgJ2xvYWRlci0yJ1xyXG4gIC8vIOKUgOKUgCBMYXlvdXQgJiBVSSDilIDilIBcclxuICB8ICdtZW51J1xyXG4gIHwgJ21vcmUtaG9yaXpvbnRhbCdcclxuICB8ICdtb3JlLXZlcnRpY2FsJ1xyXG4gIHwgJ2dyaWQnXHJcbiAgfCAnbGlzdCdcclxuICB8ICdmaWx0ZXInXHJcbiAgfCAnc2xpZGVycydcclxuICB8ICdjb2x1bW5zJ1xyXG4gIHwgJ21heGltaXplLTInXHJcbiAgfCAnbWluaW1pemUtMidcclxuICAvLyDilIDilIAgTWlzYyDilIDilIBcclxuICB8ICdob21lJ1xyXG4gIHwgJ3NldHRpbmdzJ1xyXG4gIHwgJ3N0YXInXHJcbiAgfCAnaGVhcnQnXHJcbiAgfCAnYm9va21hcmsnXHJcbiAgfCAnY2FsZW5kYXInXHJcbiAgfCAnY2xvY2snXHJcbiAgfCAnbWFwLXBpbidcclxuICB8ICdleWUnXHJcbiAgfCAnZXllLW9mZidcclxuICB8ICdzdW4nXHJcbiAgfCAnbW9vbidcclxuICB8ICdtb25pdG9yJ1xyXG4gIC8vIOKUgOKUgCBBY2NlcHRzIGFueSBzdHJpbmcgZm9yIGN1c3RvbSAvIHVubGlzdGVkIGljb25zIOKUgOKUgFxyXG4gIHwgKHN0cmluZyAmIFJlY29yZDxuZXZlciwgbmV2ZXI+KTtcclxuXHJcbi8qKiBTdGF0dXMgdmFsdWVzIHVzZWQgZm9yIGZlZWRiYWNrIGNvbXBvbmVudHMgKGJhZGdlcywgYWxlcnRzLCBpbmRpY2F0b3JzKS4gKi9cclxuZXhwb3J0IHR5cGUgVWlTdGF0dXMgPSAnaWRsZScgfCAnbG9hZGluZycgfCAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nO1xyXG5cclxuLyoqXHJcbiAqIEdlbmVyaWMga2V5LXZhbHVlIHBhaXIgdXNlZCBpbiBzZWxlY3Qgb3B0aW9ucywgZHJvcGRvd25zLCBldGMuXHJcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBVaU9wdGlvbjxUID0gc3RyaW5nPiB7XHJcbiAgLyoqIFRoZSBkaXNwbGF5IGxhYmVsLiAqL1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSB1bmRlcmx5aW5nIHZhbHVlLiAqL1xyXG4gIHZhbHVlOiBUO1xyXG4gIC8qKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIGRpc2FibGVkLiAqL1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAvKiogT3B0aW9uYWwgaWNvbiBuYW1lIChMdWNpZGUgaWNvbikuICovXHJcbiAgaWNvbj86IFVpSWNvbk5hbWU7XHJcbiAgLyoqIE9wdGlvbmFsIGdyb3VwaW5nIGtleSBmb3IgZ3JvdXBlZCBzZWxlY3RzLiAqL1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogUmVzdWx0IHdyYXBwZXIgZm9yIGFzeW5jIG9wZXJhdGlvbnMuXHJcbiAqIEB0ZW1wbGF0ZSBUIC0gVGhlIHR5cGUgb2YgdGhlIGRhdGEgcGF5bG9hZC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlBc3luY1N0YXRlPFQgPSB1bmtub3duPiB7XHJcbiAgc3RhdHVzOiBVaVN0YXR1cztcclxuICBkYXRhOiBUIHwgbnVsbDtcclxuICBlcnJvcjogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuLy8g4pSA4pSAIFRvYXN0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLyoqIFRvYXN0IG5vdGlmaWNhdGlvbiB0eXBlLiAqL1xyXG5leHBvcnQgdHlwZSBVaVRvYXN0VHlwZSA9ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbyc7XHJcblxyXG4vLyDilIDilIAgRW5kcG9pbnQgLyBIVFRQIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuLyoqIE1lc3NhZ2VzIGNvbmZpZ3VyYXRpb24gZm9yIGFuIGVuZHBvaW50IChpbmxpbmUsIG5vIGxhYmVsIGFyY2hpdmUpLiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVpRW5kcG9pbnRNZXNzYWdlcyB7XHJcbiAgLyoqIFN1Y2Nlc3MgdG9hc3QgbWVzc2FnZS4gU3VwcG9ydHMgYCR7a2V5fWAgcGxhY2Vob2xkZXJzIHJlcGxhY2VkIGF0IHJ1bnRpbWUuICovXHJcbiAgc3VjY2Vzcz86IHN0cmluZztcclxuICAvKiogRXJyb3IgdG9hc3QgbWVzc2FnZS4gU3VwcG9ydHMgYCR7a2V5fWAgcGxhY2Vob2xkZXJzIHJlcGxhY2VkIGF0IHJ1bnRpbWUuICovXHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFeHRyYWN0cyBhIGN1c3RvbSBlcnJvciBtZXNzYWdlIGZyb20gdGhlIEhUVFAgZXJyb3IgcmVzcG9uc2UuXHJcbiAqIFJldHVybiBgbnVsbGAgdG8gZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IG1lc3NhZ2UuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBVaUVycm9yRXh0cmFjdG9yID0gKGVycm9yOiBhbnkpID0+IHN0cmluZyB8IG51bGw7XHJcblxyXG4vKipcclxuICogRHluYW1pY2FsbHkgcmVzb2x2ZXMgYSBzdWNjZXNzIG1lc3NhZ2UgYXQgcnVudGltZS5cclxuICogUmV0dXJuIGBudWxsYCB0byBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHQgbWVzc2FnZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIFVpU3VjY2Vzc1Jlc29sdmVyID0gKCkgPT4gc3RyaW5nIHwgbnVsbDtcclxuXHJcbi8qKlxyXG4gKiBRdWVyeSBwYXJhbWV0ZXJzIGZvciBVUkwgYnVpbGRpbmcuXHJcbiAqIEtleXMgbWFwIHRvIHF1ZXJ5IHBhcmFtIG5hbWVzOyB2YWx1ZXMgYXJlIGF1dG8tY29udmVydGVkIHRvIHN0cmluZ3MuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBVaVF1ZXJ5UGFyYW1ldGVycyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdIHwgbnVtYmVyIHwgbnVtYmVyW10gfCBib29sZWFuPjtcclxuXHJcbi8qKlxyXG4gKiBFbmRwb2ludCBjb25maWd1cmF0aW9uIGZvciBgVWlIdHRwU2VydmljZWAuXHJcbiAqXHJcbiAqIEVhY2ggZW5kcG9pbnQgZGVmaW5lcyBpdHMgVVJMLCBvcHRpb25hbCBpbmxpbmUgbWVzc2FnZXMsIGFuZFxyXG4gKiB0b2FzdC9lcnJvciBiZWhhdmlvdXIuIEFsbCB0b2FzdCBmbGFncyBkZWZhdWx0IHRvIGBmYWxzZWAgKG9wdC1pbikuXHJcbiAqXHJcbiAqIEB1c2FnZU5vdGVzXHJcbiAqICMjIyBCYXNpYyBlbmRwb2ludCBmYWN0b3J5XHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgU0FWRV9VU0VSID0gKCk6IFVpRW5kcG9pbnQgPT4gKHtcclxuICogICB1cmw6ICcvYXBpL3VzZXJzJyxcclxuICogICBpZDogJ3VzZXJfc2F2ZScsXHJcbiAqICAgc2hvd1N1Y2Nlc3M6IHRydWUsXHJcbiAqICAgbWVzc2FnZXM6IHsgc3VjY2VzczogJ1V0ZW50ZSBzYWx2YXRvIScgfSxcclxuICogfSk7XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiAjIyMgRHluYW1pYyBlbmRwb2ludCB3aXRoIHJlcGxhY2VtZW50c1xyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IFVQREFURV9JVEVNID0gKGlkOiBudW1iZXIpOiBVaUVuZHBvaW50ID0+ICh7XHJcbiAqICAgdXJsOiBgL2FwaS9pdGVtcy8ke2lkfWAsXHJcbiAqICAgaWQ6ICdpdGVtX3VwZGF0ZScsXHJcbiAqICAgc2hvd1N1Y2Nlc3M6IHRydWUsXHJcbiAqICAgc2hvd0Vycm9yOiB0cnVlLFxyXG4gKiAgIG1lc3NhZ2VzOiB7XHJcbiAqICAgICBzdWNjZXNzOiAnRWxlbWVudG8gJHtuYW1lfSBhZ2dpb3JuYXRvJyxcclxuICogICAgIGVycm9yOiAnRXJyb3JlIGFnZ2lvcm5hbWVudG8gZWxlbWVudG8nLFxyXG4gKiAgIH0sXHJcbiAqICAgcmVwbGFjZW1lbnRzOiB7IG5hbWU6ICdXaWRnZXQnIH0sXHJcbiAqIH0pO1xyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlFbmRwb2ludCB7XHJcbiAgLyoqIFJlbGF0aXZlIG9yIGFic29sdXRlIFVSTCBmb3IgdGhlIEFQSSBjYWxsLiAqL1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIC8qKiBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVuZHBvaW50ICh1c2VkIGZvciBkZWJvdW5jZSBrZXlpbmcpLiAqL1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyBhIHN1Y2Nlc3MgdG9hc3Qgb24gY29tcGxldGlvbi4gRGVmYXVsdDogYGZhbHNlYC4gKi9cclxuICBzaG93U3VjY2Vzcz86IGJvb2xlYW47XHJcbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyBhbiBlcnJvciB0b2FzdCBvbiBmYWlsdXJlLiBEZWZhdWx0OiBgZmFsc2VgLiAqL1xyXG4gIHNob3dFcnJvcj86IGJvb2xlYW47XHJcbiAgLyoqIElubGluZSBtZXNzYWdlcyBmb3Igc3VjY2Vzcy9lcnJvciB0b2FzdHMuICovXHJcbiAgbWVzc2FnZXM/OiBVaUVuZHBvaW50TWVzc2FnZXM7XHJcbiAgLyoqIFBsYWNlaG9sZGVyIHJlcGxhY2VtZW50cyBmb3IgbWVzc2FnZSBzdHJpbmdzIChgJHtrZXl9YCDihpIgdmFsdWUpLiAqL1xyXG4gIHJlcGxhY2VtZW50cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj47XHJcbiAgLyoqIEN1c3RvbSBlcnJvciBtZXNzYWdlIGV4dHJhY3RvciBmcm9tIHRoZSBIVFRQIGVycm9yIHJlc3BvbnNlLiAqL1xyXG4gIGVycm9yRXh0cmFjdG9yPzogVWlFcnJvckV4dHJhY3RvcjtcclxuICAvKiogQ3VzdG9tIHN1Y2Nlc3MgbWVzc2FnZSByZXNvbHZlciAob3ZlcnJpZGVzIGlubGluZSBtZXNzYWdlKS4gKi9cclxuICBzdWNjZXNzTWVzc2FnZVJlc29sdmVyPzogVWlTdWNjZXNzUmVzb2x2ZXI7XHJcbiAgLyoqIFdoZXRoZXIgdGhpcyBlbmRwb2ludCBzaG91bGQgYmUgdHJhY2tlZCBieSBCbGFja0JveC4gRGVmYXVsdDogYHRydWVgLiAqL1xyXG4gIHRyYWNrYWJsZT86IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bootstrap del secondary entry `@gnggln/ng-ui-system/blackbox`. BlackBox observability.
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/components/blackbox/index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktYmxhY2tib3guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2VudHJ5LWJsYWNrYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQm9vdHN0cmFwIGRlbCBzZWNvbmRhcnkgZW50cnkgYEBnbmdnbG4vbmctdWktc3lzdGVtL2JsYWNrYm94YC4gQmxhY2tCb3ggb2JzZXJ2YWJpbGl0eS5cbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9ibGFja2JveC9pbmRleCc7XG5cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './entry-blackbox';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ25nZ2xuLW5nLXVpLXN5c3RlbS1ibGFja2JveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvZ25nZ2xuLW5nLXVpLXN5c3RlbS1ibGFja2JveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZW50cnktYmxhY2tib3gnO1xuIl19
|