@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,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ng-ui-system — Toast Notifications entry point.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import { UiToastService, UiToastConfig } from '@gnggln/ng-ui-system';
|
|
7
|
+
*
|
|
8
|
+
* const toast = inject(UiToastService);
|
|
9
|
+
* toast.success('Salvato!');
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
// Service
|
|
13
|
+
export { UiToastService } from './toast.service';
|
|
14
|
+
// Components (for advanced use / testing)
|
|
15
|
+
export { UiToastComponent } from './toast.component';
|
|
16
|
+
export { UiToastContainerComponent } from './toast-container.component';
|
|
17
|
+
export { UI_TOAST_DEFAULTS } from './toast.types';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFFSCxVQUFVO0FBQ1YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELDBDQUEwQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogbmctdWktc3lzdGVtIOKAlCBUb2FzdCBOb3RpZmljYXRpb25zIGVudHJ5IHBvaW50LlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGltcG9ydCB7IFVpVG9hc3RTZXJ2aWNlLCBVaVRvYXN0Q29uZmlnIH0gZnJvbSAnQGduZ2dsbi9uZy11aS1zeXN0ZW0nO1xyXG4gKlxyXG4gKiBjb25zdCB0b2FzdCA9IGluamVjdChVaVRvYXN0U2VydmljZSk7XHJcbiAqIHRvYXN0LnN1Y2Nlc3MoJ1NhbHZhdG8hJyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuXHJcbi8vIFNlcnZpY2VcclxuZXhwb3J0IHsgVWlUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xyXG5cclxuLy8gQ29tcG9uZW50cyAoZm9yIGFkdmFuY2VkIHVzZSAvIHRlc3RpbmcpXHJcbmV4cG9ydCB7IFVpVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFVpVG9hc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5cclxuLy8gVHlwZXNcclxuZXhwb3J0IHR5cGUge1xyXG4gICAgVWlUb2FzdENvbmZpZyxcclxuICAgIFVpVG9hc3RSZWYsXHJcbiAgICBVaVRvYXN0RGF0YSxcclxufSBmcm9tICcuL3RvYXN0LnR5cGVzJztcclxuZXhwb3J0IHR5cGUgeyBVaVRvYXN0UG9zaXRpb24gfSBmcm9tICcuL3RvYXN0LnR5cGVzJztcclxuZXhwb3J0IHsgVUlfVE9BU1RfREVGQVVMVFMgfSBmcm9tICcuL3RvYXN0LnR5cGVzJztcclxuIl19
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toast container — manages stacking and positioning of active toasts.
|
|
3
|
+
*
|
|
4
|
+
* Dynamically attached to the DOM by `UiToastService` on first use.
|
|
5
|
+
* Renders one `ui-toast` per active notification.
|
|
6
|
+
*
|
|
7
|
+
* @selector ui-toast-container
|
|
8
|
+
* @internal Not intended for direct use.
|
|
9
|
+
*/
|
|
10
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, inject, } from '@angular/core';
|
|
11
|
+
import { UiToastComponent } from './toast.component';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class UiToastContainerComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
16
|
+
/** Active toasts — managed by UiToastService. */
|
|
17
|
+
this.toasts = [];
|
|
18
|
+
}
|
|
19
|
+
/** Called by UiToastService to add a toast. */
|
|
20
|
+
addToast(toast) {
|
|
21
|
+
this.toasts = [...this.toasts, toast];
|
|
22
|
+
this.cdr.markForCheck();
|
|
23
|
+
}
|
|
24
|
+
/** Called by UiToastService to remove a toast. */
|
|
25
|
+
removeToast(id) {
|
|
26
|
+
this.toasts = this.toasts.filter(t => t.id !== id);
|
|
27
|
+
this.cdr.markForCheck();
|
|
28
|
+
}
|
|
29
|
+
/** Update a toast's state (e.g. entering → exiting). */
|
|
30
|
+
updateToastState(id, state) {
|
|
31
|
+
const toast = this.toasts.find(t => t.id === id);
|
|
32
|
+
if (toast) {
|
|
33
|
+
toast.state = state;
|
|
34
|
+
this.cdr.markForCheck();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** Dismiss handler from the toast component. */
|
|
38
|
+
onDismiss(toast) {
|
|
39
|
+
// This is handled by the service via dismiss()
|
|
40
|
+
if (toast.timeoutId)
|
|
41
|
+
clearTimeout(toast.timeoutId);
|
|
42
|
+
this.updateToastState(toast.id, 'exiting');
|
|
43
|
+
setTimeout(() => this.removeToast(toast.id), 260);
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiToastContainerComponent, isStandalone: true, selector: "ui-toast-container", host: { classAttribute: "ui-toast-container-host" }, ngImport: i0, template: `
|
|
47
|
+
@for (toast of toasts; track toast.id) {
|
|
48
|
+
<ui-toast
|
|
49
|
+
[message]="toast.message"
|
|
50
|
+
[type]="toast.type"
|
|
51
|
+
[state]="toast.state"
|
|
52
|
+
[dismissible]="toast.config.dismissible"
|
|
53
|
+
[enableHtml]="toast.config.enableHtml"
|
|
54
|
+
[icon]="toast.config.icon"
|
|
55
|
+
[customClass]="toast.config.customClass"
|
|
56
|
+
(dismissed)="onDismiss(toast)"
|
|
57
|
+
/>
|
|
58
|
+
}
|
|
59
|
+
`, isInline: true, styles: [".ui-toast-container-host{position:fixed;z-index:10000;pointer-events:none;display:flex;flex-direction:column;gap:var(--ui-spacing-3, 12px);padding:var(--ui-spacing-6, 24px);max-height:100vh;overflow:hidden;top:0;right:0;align-items:flex-end}.ui-toast-container-host--top-right{top:0;right:0;align-items:flex-end}.ui-toast-container-host--top-left{top:0;left:0;align-items:flex-start}.ui-toast-container-host--bottom-right{top:auto;bottom:0;right:0;align-items:flex-end;flex-direction:column-reverse}.ui-toast-container-host--bottom-left{top:auto;bottom:0;left:0;align-items:flex-start;flex-direction:column-reverse}.ui-toast-container-host--top-center{top:0;left:50%;right:auto;transform:translate(-50%);align-items:center}.ui-toast-container-host--bottom-center{inset:auto auto 0 50%;transform:translate(-50%);align-items:center;flex-direction:column-reverse}\n"], dependencies: [{ kind: "component", type: UiToastComponent, selector: "ui-toast", inputs: ["message", "type", "state", "dismissible", "enableHtml", "icon", "customClass"], outputs: ["dismissed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
60
|
+
}
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiToastContainerComponent, decorators: [{
|
|
62
|
+
type: Component,
|
|
63
|
+
args: [{ selector: 'ui-toast-container', standalone: true, imports: [UiToastComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
64
|
+
'class': 'ui-toast-container-host',
|
|
65
|
+
}, template: `
|
|
66
|
+
@for (toast of toasts; track toast.id) {
|
|
67
|
+
<ui-toast
|
|
68
|
+
[message]="toast.message"
|
|
69
|
+
[type]="toast.type"
|
|
70
|
+
[state]="toast.state"
|
|
71
|
+
[dismissible]="toast.config.dismissible"
|
|
72
|
+
[enableHtml]="toast.config.enableHtml"
|
|
73
|
+
[icon]="toast.config.icon"
|
|
74
|
+
[customClass]="toast.config.customClass"
|
|
75
|
+
(dismissed)="onDismiss(toast)"
|
|
76
|
+
/>
|
|
77
|
+
}
|
|
78
|
+
`, styles: [".ui-toast-container-host{position:fixed;z-index:10000;pointer-events:none;display:flex;flex-direction:column;gap:var(--ui-spacing-3, 12px);padding:var(--ui-spacing-6, 24px);max-height:100vh;overflow:hidden;top:0;right:0;align-items:flex-end}.ui-toast-container-host--top-right{top:0;right:0;align-items:flex-end}.ui-toast-container-host--top-left{top:0;left:0;align-items:flex-start}.ui-toast-container-host--bottom-right{top:auto;bottom:0;right:0;align-items:flex-end;flex-direction:column-reverse}.ui-toast-container-host--bottom-left{top:auto;bottom:0;left:0;align-items:flex-start;flex-direction:column-reverse}.ui-toast-container-host--top-center{top:0;left:50%;right:auto;transform:translate(-50%);align-items:center}.ui-toast-container-host--bottom-center{inset:auto auto 0 50%;transform:translate(-50%);align-items:center;flex-direction:column-reverse}\n"] }]
|
|
79
|
+
}] });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQTRCckQsTUFBTSxPQUFPLHlCQUF5QjtJQXpCdEM7UUEwQmEsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXpDLGlEQUFpRDtRQUNqRCxXQUFNLEdBQWtCLEVBQUUsQ0FBQztLQThCOUI7SUE1QkcsK0NBQStDO0lBQy9DLFFBQVEsQ0FBQyxLQUFrQjtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxXQUFXLENBQUMsRUFBVTtRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsZ0JBQWdCLENBQUMsRUFBVSxFQUFFLEtBQTJCO1FBQ3BELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxTQUFTLENBQUMsS0FBa0I7UUFDeEIsK0NBQStDO1FBQy9DLElBQUksS0FBSyxDQUFDLFNBQVM7WUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDOytHQWpDUSx5QkFBeUI7bUdBQXpCLHlCQUF5QixtSUFoQnhCOzs7Ozs7Ozs7Ozs7O0dBYVgsdzZCQW5CVyxnQkFBZ0I7OzRGQXNCakIseUJBQXlCO2tCQXpCckMsU0FBUzsrQkFDSSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLENBQUMsbUJBQ1YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixPQUFPLEVBQUUseUJBQXlCO3FCQUNyQyxZQUNTOzs7Ozs7Ozs7Ozs7O0dBYVgiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVG9hc3QgY29udGFpbmVyIOKAlCBtYW5hZ2VzIHN0YWNraW5nIGFuZCBwb3NpdGlvbmluZyBvZiBhY3RpdmUgdG9hc3RzLlxyXG4gKlxyXG4gKiBEeW5hbWljYWxseSBhdHRhY2hlZCB0byB0aGUgRE9NIGJ5IGBVaVRvYXN0U2VydmljZWAgb24gZmlyc3QgdXNlLlxyXG4gKiBSZW5kZXJzIG9uZSBgdWktdG9hc3RgIHBlciBhY3RpdmUgbm90aWZpY2F0aW9uLlxyXG4gKlxyXG4gKiBAc2VsZWN0b3IgdWktdG9hc3QtY29udGFpbmVyXHJcbiAqIEBpbnRlcm5hbCBOb3QgaW50ZW5kZWQgZm9yIGRpcmVjdCB1c2UuXHJcbiAqL1xyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgaW5qZWN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVaVRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgdHlwZSB7IFVpVG9hc3REYXRhIH0gZnJvbSAnLi90b2FzdC50eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndWktdG9hc3QtY29udGFpbmVyJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbVWlUb2FzdENvbXBvbmVudF0sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ2NsYXNzJzogJ3VpLXRvYXN0LWNvbnRhaW5lci1ob3N0JyxcclxuICAgIH0sXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgQGZvciAodG9hc3Qgb2YgdG9hc3RzOyB0cmFjayB0b2FzdC5pZCkge1xyXG4gICAgICA8dWktdG9hc3RcclxuICAgICAgICBbbWVzc2FnZV09XCJ0b2FzdC5tZXNzYWdlXCJcclxuICAgICAgICBbdHlwZV09XCJ0b2FzdC50eXBlXCJcclxuICAgICAgICBbc3RhdGVdPVwidG9hc3Quc3RhdGVcIlxyXG4gICAgICAgIFtkaXNtaXNzaWJsZV09XCJ0b2FzdC5jb25maWcuZGlzbWlzc2libGVcIlxyXG4gICAgICAgIFtlbmFibGVIdG1sXT1cInRvYXN0LmNvbmZpZy5lbmFibGVIdG1sXCJcclxuICAgICAgICBbaWNvbl09XCJ0b2FzdC5jb25maWcuaWNvblwiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzXT1cInRvYXN0LmNvbmZpZy5jdXN0b21DbGFzc1wiXHJcbiAgICAgICAgKGRpc21pc3NlZCk9XCJvbkRpc21pc3ModG9hc3QpXCJcclxuICAgICAgLz5cclxuICAgIH1cclxuICBgLFxyXG4gICAgc3R5bGVVcmw6ICcuL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaVRvYXN0Q29udGFpbmVyQ29tcG9uZW50IHtcclxuICAgIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcblxyXG4gICAgLyoqIEFjdGl2ZSB0b2FzdHMg4oCUIG1hbmFnZWQgYnkgVWlUb2FzdFNlcnZpY2UuICovXHJcbiAgICB0b2FzdHM6IFVpVG9hc3REYXRhW10gPSBbXTtcclxuXHJcbiAgICAvKiogQ2FsbGVkIGJ5IFVpVG9hc3RTZXJ2aWNlIHRvIGFkZCBhIHRvYXN0LiAqL1xyXG4gICAgYWRkVG9hc3QodG9hc3Q6IFVpVG9hc3REYXRhKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy50b2FzdHMgPSBbLi4udGhpcy50b2FzdHMsIHRvYXN0XTtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQ2FsbGVkIGJ5IFVpVG9hc3RTZXJ2aWNlIHRvIHJlbW92ZSBhIHRvYXN0LiAqL1xyXG4gICAgcmVtb3ZlVG9hc3QoaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudG9hc3RzID0gdGhpcy50b2FzdHMuZmlsdGVyKHQgPT4gdC5pZCAhPT0gaWQpO1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBVcGRhdGUgYSB0b2FzdCdzIHN0YXRlIChlLmcuIGVudGVyaW5nIOKGkiBleGl0aW5nKS4gKi9cclxuICAgIHVwZGF0ZVRvYXN0U3RhdGUoaWQ6IHN0cmluZywgc3RhdGU6IFVpVG9hc3REYXRhWydzdGF0ZSddKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdG9hc3QgPSB0aGlzLnRvYXN0cy5maW5kKHQgPT4gdC5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmICh0b2FzdCkge1xyXG4gICAgICAgICAgICB0b2FzdC5zdGF0ZSA9IHN0YXRlO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIERpc21pc3MgaGFuZGxlciBmcm9tIHRoZSB0b2FzdCBjb21wb25lbnQuICovXHJcbiAgICBvbkRpc21pc3ModG9hc3Q6IFVpVG9hc3REYXRhKTogdm9pZCB7XHJcbiAgICAgICAgLy8gVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBzZXJ2aWNlIHZpYSBkaXNtaXNzKClcclxuICAgICAgICBpZiAodG9hc3QudGltZW91dElkKSBjbGVhclRpbWVvdXQodG9hc3QudGltZW91dElkKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVRvYXN0U3RhdGUodG9hc3QuaWQsICdleGl0aW5nJyk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbW92ZVRvYXN0KHRvYXN0LmlkKSwgMjYwKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Individual toast notification element.
|
|
3
|
+
*
|
|
4
|
+
* Rendered dynamically by `UiToastContainerComponent`.
|
|
5
|
+
* Handles its own enter/exit CSS animations and auto-dismiss countdown.
|
|
6
|
+
*
|
|
7
|
+
* @selector ui-toast
|
|
8
|
+
* @internal Not intended for direct use — managed by `UiToastService`.
|
|
9
|
+
*/
|
|
10
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, EventEmitter, } from '@angular/core';
|
|
11
|
+
import { CommonModule } from '@angular/common';
|
|
12
|
+
import { LucideAngularModule } from 'lucide-angular';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "lucide-angular";
|
|
15
|
+
export class UiToastComponent {
|
|
16
|
+
constructor() {
|
|
17
|
+
/** Toast message text. */
|
|
18
|
+
this.message = '';
|
|
19
|
+
/** Toast type for styling. */
|
|
20
|
+
this.type = 'info';
|
|
21
|
+
/** Animation state. */
|
|
22
|
+
this.state = 'entering';
|
|
23
|
+
/** Whether the close button is shown. */
|
|
24
|
+
this.dismissible = true;
|
|
25
|
+
/** Whether HTML rendering is enabled. */
|
|
26
|
+
this.enableHtml = false;
|
|
27
|
+
/** Emitted when the user clicks the dismiss button. */
|
|
28
|
+
this.dismissed = new EventEmitter();
|
|
29
|
+
}
|
|
30
|
+
/** Resolved icon name based on type. */
|
|
31
|
+
get resolvedIcon() {
|
|
32
|
+
if (this.icon)
|
|
33
|
+
return this.icon;
|
|
34
|
+
switch (this.type) {
|
|
35
|
+
case 'success': return 'check-circle';
|
|
36
|
+
case 'error': return 'x-circle';
|
|
37
|
+
case 'warning': return 'alert-triangle';
|
|
38
|
+
case 'info':
|
|
39
|
+
default: return 'info';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
// Transition from entering → visible after the CSS animation completes
|
|
44
|
+
this.enterTimeout = setTimeout(() => {
|
|
45
|
+
this.state = 'visible';
|
|
46
|
+
}, 320);
|
|
47
|
+
}
|
|
48
|
+
ngOnDestroy() {
|
|
49
|
+
if (this.enterTimeout)
|
|
50
|
+
clearTimeout(this.enterTimeout);
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiToastComponent, isStandalone: true, selector: "ui-toast", inputs: { message: "message", type: "type", state: "state", dismissible: "dismissible", enableHtml: "enableHtml", icon: "icon", customClass: "customClass" }, outputs: { dismissed: "dismissed" }, host: { classAttribute: "ui-toast-host" }, ngImport: i0, template: `
|
|
54
|
+
<div
|
|
55
|
+
class="ui-toast {{ customClass || '' }}"
|
|
56
|
+
[class.ui-toast--success]="type === 'success'"
|
|
57
|
+
[class.ui-toast--error]="type === 'error'"
|
|
58
|
+
[class.ui-toast--warning]="type === 'warning'"
|
|
59
|
+
[class.ui-toast--info]="type === 'info'"
|
|
60
|
+
[class.ui-toast--entering]="state === 'entering'"
|
|
61
|
+
[class.ui-toast--visible]="state === 'visible'"
|
|
62
|
+
[class.ui-toast--exiting]="state === 'exiting'"
|
|
63
|
+
role="alert"
|
|
64
|
+
aria-live="assertive"
|
|
65
|
+
aria-atomic="true"
|
|
66
|
+
>
|
|
67
|
+
<div class="ui-toast__icon">
|
|
68
|
+
<lucide-icon [name]="resolvedIcon" [size]="20"></lucide-icon>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<div class="ui-toast__content">
|
|
72
|
+
@if (enableHtml) {
|
|
73
|
+
<span class="ui-toast__message" [innerHTML]="message"></span>
|
|
74
|
+
} @else {
|
|
75
|
+
<span class="ui-toast__message">{{ message }}</span>
|
|
76
|
+
}
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
@if (dismissible) {
|
|
80
|
+
<button
|
|
81
|
+
class="ui-toast__close"
|
|
82
|
+
type="button"
|
|
83
|
+
(click)="dismissed.emit()"
|
|
84
|
+
aria-label="Chiudi notifica"
|
|
85
|
+
>
|
|
86
|
+
<lucide-icon name="x" [size]="16"></lucide-icon>
|
|
87
|
+
</button>
|
|
88
|
+
}
|
|
89
|
+
</div>
|
|
90
|
+
`, isInline: true, styles: [".ui-toast-host{display:contents}.ui-toast{display:flex;align-items:flex-start;gap:var(--ui-spacing-3, 12px);padding:var(--ui-spacing-3, 12px) var(--ui-spacing-4, 16px);border-radius:var(--ui-radius-md, 8px);min-width:320px;max-width:440px;font-family:var(--ui-font-family, \"Inter\", sans-serif);font-size:var(--ui-font-size-sm, .875rem);font-weight:400;line-height:1.5;color:var(--ui-color-neutral-900, #111827);background:var(--ui-color-surface, #ffffff);border:1px solid var(--ui-color-neutral-200, #e5e7eb);box-shadow:var(--ui-shadow-md);pointer-events:auto;position:relative;overflow:hidden}.ui-toast:before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:4px;background:transparent}.ui-toast--entering{animation:ui-toast-slide-in .25s cubic-bezier(.2,0,0,1) forwards}.ui-toast--visible{opacity:1;transform:translate(0)}.ui-toast--exiting{animation:ui-toast-slide-out .2s cubic-bezier(.4,0,1,1) forwards}.ui-toast--success:before{background:var(--ui-color-success, #10b981)}.ui-toast--success .ui-toast__icon{color:var(--ui-color-success, #10b981)}.ui-toast--error:before{background:var(--ui-color-warn, #ef4444)}.ui-toast--error .ui-toast__icon{color:var(--ui-color-warn, #ef4444)}.ui-toast--warning:before{background:var(--ui-color-warning, #f59e0b)}.ui-toast--warning .ui-toast__icon{color:var(--ui-color-warning, #f59e0b)}.ui-toast--info:before{background:var(--ui-color-info, #3b82f6)}.ui-toast--info .ui-toast__icon{color:var(--ui-color-info, #3b82f6)}.ui-toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:2px}.ui-toast__content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;min-height:20px}.ui-toast__message{word-break:break-word;margin:0}.ui-toast__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin:0 -4px 0 0;border:none;border-radius:var(--ui-radius-sm, 4px);background:transparent;color:var(--ui-color-neutral-400, #9ca3af);cursor:pointer;transition-property:background,color;transition-duration:var(--ui-transition-fast);transition-timing-function:ease}.ui-toast__close:hover{background:var(--ui-color-neutral-100, #f3f4f6);color:var(--ui-color-neutral-700, #374151)}.ui-toast__close:focus{outline:none}.ui-toast__close:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}@keyframes ui-toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes ui-toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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 }); }
|
|
91
|
+
}
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiToastComponent, decorators: [{
|
|
93
|
+
type: Component,
|
|
94
|
+
args: [{ selector: 'ui-toast', standalone: true, imports: [CommonModule, LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
95
|
+
'class': 'ui-toast-host',
|
|
96
|
+
}, template: `
|
|
97
|
+
<div
|
|
98
|
+
class="ui-toast {{ customClass || '' }}"
|
|
99
|
+
[class.ui-toast--success]="type === 'success'"
|
|
100
|
+
[class.ui-toast--error]="type === 'error'"
|
|
101
|
+
[class.ui-toast--warning]="type === 'warning'"
|
|
102
|
+
[class.ui-toast--info]="type === 'info'"
|
|
103
|
+
[class.ui-toast--entering]="state === 'entering'"
|
|
104
|
+
[class.ui-toast--visible]="state === 'visible'"
|
|
105
|
+
[class.ui-toast--exiting]="state === 'exiting'"
|
|
106
|
+
role="alert"
|
|
107
|
+
aria-live="assertive"
|
|
108
|
+
aria-atomic="true"
|
|
109
|
+
>
|
|
110
|
+
<div class="ui-toast__icon">
|
|
111
|
+
<lucide-icon [name]="resolvedIcon" [size]="20"></lucide-icon>
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
<div class="ui-toast__content">
|
|
115
|
+
@if (enableHtml) {
|
|
116
|
+
<span class="ui-toast__message" [innerHTML]="message"></span>
|
|
117
|
+
} @else {
|
|
118
|
+
<span class="ui-toast__message">{{ message }}</span>
|
|
119
|
+
}
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
@if (dismissible) {
|
|
123
|
+
<button
|
|
124
|
+
class="ui-toast__close"
|
|
125
|
+
type="button"
|
|
126
|
+
(click)="dismissed.emit()"
|
|
127
|
+
aria-label="Chiudi notifica"
|
|
128
|
+
>
|
|
129
|
+
<lucide-icon name="x" [size]="16"></lucide-icon>
|
|
130
|
+
</button>
|
|
131
|
+
}
|
|
132
|
+
</div>
|
|
133
|
+
`, styles: [".ui-toast-host{display:contents}.ui-toast{display:flex;align-items:flex-start;gap:var(--ui-spacing-3, 12px);padding:var(--ui-spacing-3, 12px) var(--ui-spacing-4, 16px);border-radius:var(--ui-radius-md, 8px);min-width:320px;max-width:440px;font-family:var(--ui-font-family, \"Inter\", sans-serif);font-size:var(--ui-font-size-sm, .875rem);font-weight:400;line-height:1.5;color:var(--ui-color-neutral-900, #111827);background:var(--ui-color-surface, #ffffff);border:1px solid var(--ui-color-neutral-200, #e5e7eb);box-shadow:var(--ui-shadow-md);pointer-events:auto;position:relative;overflow:hidden}.ui-toast:before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:4px;background:transparent}.ui-toast--entering{animation:ui-toast-slide-in .25s cubic-bezier(.2,0,0,1) forwards}.ui-toast--visible{opacity:1;transform:translate(0)}.ui-toast--exiting{animation:ui-toast-slide-out .2s cubic-bezier(.4,0,1,1) forwards}.ui-toast--success:before{background:var(--ui-color-success, #10b981)}.ui-toast--success .ui-toast__icon{color:var(--ui-color-success, #10b981)}.ui-toast--error:before{background:var(--ui-color-warn, #ef4444)}.ui-toast--error .ui-toast__icon{color:var(--ui-color-warn, #ef4444)}.ui-toast--warning:before{background:var(--ui-color-warning, #f59e0b)}.ui-toast--warning .ui-toast__icon{color:var(--ui-color-warning, #f59e0b)}.ui-toast--info:before{background:var(--ui-color-info, #3b82f6)}.ui-toast--info .ui-toast__icon{color:var(--ui-color-info, #3b82f6)}.ui-toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:2px}.ui-toast__content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;min-height:20px}.ui-toast__message{word-break:break-word;margin:0}.ui-toast__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin:0 -4px 0 0;border:none;border-radius:var(--ui-radius-sm, 4px);background:transparent;color:var(--ui-color-neutral-400, #9ca3af);cursor:pointer;transition-property:background,color;transition-duration:var(--ui-transition-fast);transition-timing-function:ease}.ui-toast__close:hover{background:var(--ui-color-neutral-100, #f3f4f6);color:var(--ui-color-neutral-700, #374151)}.ui-toast__close:focus{outline:none}.ui-toast__close:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}@keyframes ui-toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes ui-toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}\n"] }]
|
|
134
|
+
}], propDecorators: { message: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], type: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], state: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], dismissible: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], enableHtml: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], icon: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], customClass: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], dismissed: [{
|
|
149
|
+
type: Output
|
|
150
|
+
}] } });
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFDSCxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEdBR2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFvRHJELE1BQU0sT0FBTyxnQkFBZ0I7SUFqRDdCO1FBa0RFLDBCQUEwQjtRQUNqQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLDhCQUE4QjtRQUNyQixTQUFJLEdBQWdCLE1BQU0sQ0FBQztRQUNwQyx1QkFBdUI7UUFDZCxVQUFLLEdBQXVDLFVBQVUsQ0FBQztRQUNoRSx5Q0FBeUM7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDNUIseUNBQXlDO1FBQ2hDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFNNUIsdURBQXVEO1FBQzdDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBMEJoRDtJQXRCQyx3Q0FBd0M7SUFDeEMsSUFBSSxZQUFZO1FBQ2QsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8sY0FBYyxDQUFDO1lBQ3RDLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxVQUFVLENBQUM7WUFDaEMsS0FBSyxTQUFTLENBQUMsQ0FBQyxPQUFPLGdCQUFnQixDQUFDO1lBQ3hDLEtBQUssTUFBTSxDQUFDO1lBQ1osT0FBTyxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN6QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7K0dBMUNVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGtUQXhDakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1QsaXFGQTNDUyxZQUFZLDhCQUFFLG1CQUFtQjs7NEZBOENoQyxnQkFBZ0I7a0JBakQ1QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsbUJBQzNCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osT0FBTyxFQUFFLGVBQWU7cUJBQ3pCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1Q7OEJBS1EsT0FBTztzQkFBZixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogSW5kaXZpZHVhbCB0b2FzdCBub3RpZmljYXRpb24gZWxlbWVudC5cclxuICpcclxuICogUmVuZGVyZWQgZHluYW1pY2FsbHkgYnkgYFVpVG9hc3RDb250YWluZXJDb21wb25lbnRgLlxyXG4gKiBIYW5kbGVzIGl0cyBvd24gZW50ZXIvZXhpdCBDU1MgYW5pbWF0aW9ucyBhbmQgYXV0by1kaXNtaXNzIGNvdW50ZG93bi5cclxuICpcclxuICogQHNlbGVjdG9yIHVpLXRvYXN0XHJcbiAqIEBpbnRlcm5hbCBOb3QgaW50ZW5kZWQgZm9yIGRpcmVjdCB1c2Ug4oCUIG1hbmFnZWQgYnkgYFVpVG9hc3RTZXJ2aWNlYC5cclxuICovXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTHVjaWRlQW5ndWxhck1vZHVsZSB9IGZyb20gJ2x1Y2lkZS1hbmd1bGFyJztcclxuaW1wb3J0IHR5cGUgeyBVaVRvYXN0VHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvaW5kZXgnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS10b2FzdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBMdWNpZGVBbmd1bGFyTW9kdWxlXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHtcclxuICAgICdjbGFzcyc6ICd1aS10b2FzdC1ob3N0JyxcclxuICB9LFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwidWktdG9hc3Qge3sgY3VzdG9tQ2xhc3MgfHwgJycgfX1cIlxyXG4gICAgICBbY2xhc3MudWktdG9hc3QtLXN1Y2Nlc3NdPVwidHlwZSA9PT0gJ3N1Y2Nlc3MnXCJcclxuICAgICAgW2NsYXNzLnVpLXRvYXN0LS1lcnJvcl09XCJ0eXBlID09PSAnZXJyb3InXCJcclxuICAgICAgW2NsYXNzLnVpLXRvYXN0LS13YXJuaW5nXT1cInR5cGUgPT09ICd3YXJuaW5nJ1wiXHJcbiAgICAgIFtjbGFzcy51aS10b2FzdC0taW5mb109XCJ0eXBlID09PSAnaW5mbydcIlxyXG4gICAgICBbY2xhc3MudWktdG9hc3QtLWVudGVyaW5nXT1cInN0YXRlID09PSAnZW50ZXJpbmcnXCJcclxuICAgICAgW2NsYXNzLnVpLXRvYXN0LS12aXNpYmxlXT1cInN0YXRlID09PSAndmlzaWJsZSdcIlxyXG4gICAgICBbY2xhc3MudWktdG9hc3QtLWV4aXRpbmddPVwic3RhdGUgPT09ICdleGl0aW5nJ1wiXHJcbiAgICAgIHJvbGU9XCJhbGVydFwiXHJcbiAgICAgIGFyaWEtbGl2ZT1cImFzc2VydGl2ZVwiXHJcbiAgICAgIGFyaWEtYXRvbWljPVwidHJ1ZVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ1aS10b2FzdF9faWNvblwiPlxyXG4gICAgICAgIDxsdWNpZGUtaWNvbiBbbmFtZV09XCJyZXNvbHZlZEljb25cIiBbc2l6ZV09XCIyMFwiPjwvbHVjaWRlLWljb24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInVpLXRvYXN0X19jb250ZW50XCI+XHJcbiAgICAgICAgQGlmIChlbmFibGVIdG1sKSB7XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVpLXRvYXN0X19tZXNzYWdlXCIgW2lubmVySFRNTF09XCJtZXNzYWdlXCI+PC9zcGFuPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS10b2FzdF9fbWVzc2FnZVwiPnt7IG1lc3NhZ2UgfX08L3NwYW4+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIEBpZiAoZGlzbWlzc2libGUpIHtcclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBjbGFzcz1cInVpLXRvYXN0X19jbG9zZVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIChjbGljayk9XCJkaXNtaXNzZWQuZW1pdCgpXCJcclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCJDaGl1ZGkgbm90aWZpY2FcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxsdWNpZGUtaWNvbiBuYW1lPVwieFwiIFtzaXplXT1cIjE2XCI+PC9sdWNpZGUtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybDogJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAvKiogVG9hc3QgbWVzc2FnZSB0ZXh0LiAqL1xyXG4gIEBJbnB1dCgpIG1lc3NhZ2UgPSAnJztcclxuICAvKiogVG9hc3QgdHlwZSBmb3Igc3R5bGluZy4gKi9cclxuICBASW5wdXQoKSB0eXBlOiBVaVRvYXN0VHlwZSA9ICdpbmZvJztcclxuICAvKiogQW5pbWF0aW9uIHN0YXRlLiAqL1xyXG4gIEBJbnB1dCgpIHN0YXRlOiAnZW50ZXJpbmcnIHwgJ3Zpc2libGUnIHwgJ2V4aXRpbmcnID0gJ2VudGVyaW5nJztcclxuICAvKiogV2hldGhlciB0aGUgY2xvc2UgYnV0dG9uIGlzIHNob3duLiAqL1xyXG4gIEBJbnB1dCgpIGRpc21pc3NpYmxlID0gdHJ1ZTtcclxuICAvKiogV2hldGhlciBIVE1MIHJlbmRlcmluZyBpcyBlbmFibGVkLiAqL1xyXG4gIEBJbnB1dCgpIGVuYWJsZUh0bWwgPSBmYWxzZTtcclxuICAvKiogQ3VzdG9tIEx1Y2lkZSBpY29uIG92ZXJyaWRlLiAqL1xyXG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XHJcbiAgLyoqIEFkZGl0aW9uYWwgQ1NTIGNsYXNzLiAqL1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG5cclxuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyB0aGUgZGlzbWlzcyBidXR0b24uICovXHJcbiAgQE91dHB1dCgpIGRpc21pc3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBlbnRlclRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcclxuXHJcbiAgLyoqIFJlc29sdmVkIGljb24gbmFtZSBiYXNlZCBvbiB0eXBlLiAqL1xyXG4gIGdldCByZXNvbHZlZEljb24oKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmljb24pIHJldHVybiB0aGlzLmljb247XHJcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xyXG4gICAgICBjYXNlICdzdWNjZXNzJzogcmV0dXJuICdjaGVjay1jaXJjbGUnO1xyXG4gICAgICBjYXNlICdlcnJvcic6IHJldHVybiAneC1jaXJjbGUnO1xyXG4gICAgICBjYXNlICd3YXJuaW5nJzogcmV0dXJuICdhbGVydC10cmlhbmdsZSc7XHJcbiAgICAgIGNhc2UgJ2luZm8nOlxyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gJ2luZm8nO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBUcmFuc2l0aW9uIGZyb20gZW50ZXJpbmcg4oaSIHZpc2libGUgYWZ0ZXIgdGhlIENTUyBhbmltYXRpb24gY29tcGxldGVzXHJcbiAgICB0aGlzLmVudGVyVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnN0YXRlID0gJ3Zpc2libGUnO1xyXG4gICAgfSwgMzIwKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZW50ZXJUaW1lb3V0KSBjbGVhclRpbWVvdXQodGhpcy5lbnRlclRpbWVvdXQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ng-ui-system/toast
|
|
3
|
+
* Proprietary toast notification service.
|
|
4
|
+
*
|
|
5
|
+
* Zero external dependencies — renders toast components directly into the DOM
|
|
6
|
+
* via Angular's `ApplicationRef`.
|
|
7
|
+
*
|
|
8
|
+
* @usageNotes
|
|
9
|
+
* ### Basic usage
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const toast = inject(UiToastService);
|
|
12
|
+
* toast.success('Record salvato!');
|
|
13
|
+
* toast.error('Errore durante il salvataggio');
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* ### With config
|
|
17
|
+
* ```typescript
|
|
18
|
+
* toast.warning('Attenzione', { duration: 8000, position: 'bottom-right' });
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* ### Programmatic dismiss
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const ref = toast.info('Caricamento in corso...', { duration: 0 });
|
|
24
|
+
* // ...later
|
|
25
|
+
* ref.dismiss();
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @selector —
|
|
29
|
+
*/
|
|
30
|
+
import { Injectable, ApplicationRef, createComponent, EnvironmentInjector, inject, } from '@angular/core';
|
|
31
|
+
import { DOCUMENT } from '@angular/common';
|
|
32
|
+
import { uiUniqueId } from '../../core/utils/index';
|
|
33
|
+
import { UI_TOAST_DEFAULTS, } from './toast.types';
|
|
34
|
+
import { UiToastContainerComponent } from './toast-container.component';
|
|
35
|
+
import * as i0 from "@angular/core";
|
|
36
|
+
/**
|
|
37
|
+
* Central toast notification service.
|
|
38
|
+
*
|
|
39
|
+
* Manages a single `UiToastContainerComponent` in the DOM and provides
|
|
40
|
+
* convenience methods for showing typed notifications.
|
|
41
|
+
*/
|
|
42
|
+
export class UiToastService {
|
|
43
|
+
constructor() {
|
|
44
|
+
this.appRef = inject(ApplicationRef);
|
|
45
|
+
this.injector = inject(EnvironmentInjector);
|
|
46
|
+
this.document = inject(DOCUMENT);
|
|
47
|
+
/** Reference to the singleton container component. */
|
|
48
|
+
this.containerRef = null;
|
|
49
|
+
}
|
|
50
|
+
// ── Public API ─────────────────────────────────────────────────────
|
|
51
|
+
/** Show a **success** toast. */
|
|
52
|
+
success(message, config) {
|
|
53
|
+
return this.show(message, 'success', config);
|
|
54
|
+
}
|
|
55
|
+
/** Show an **error** toast. */
|
|
56
|
+
error(message, config) {
|
|
57
|
+
return this.show(message, 'error', config);
|
|
58
|
+
}
|
|
59
|
+
/** Show a **warning** toast. */
|
|
60
|
+
warning(message, config) {
|
|
61
|
+
return this.show(message, 'warning', config);
|
|
62
|
+
}
|
|
63
|
+
/** Show an **info** toast. */
|
|
64
|
+
info(message, config) {
|
|
65
|
+
return this.show(message, 'info', config);
|
|
66
|
+
}
|
|
67
|
+
/** Show a toast with explicit type. */
|
|
68
|
+
show(message, type = 'info', config) {
|
|
69
|
+
this.ensureContainer(config?.position);
|
|
70
|
+
const container = this.containerRef.instance;
|
|
71
|
+
const id = uiUniqueId('toast');
|
|
72
|
+
const merged = {
|
|
73
|
+
...UI_TOAST_DEFAULTS,
|
|
74
|
+
...config,
|
|
75
|
+
};
|
|
76
|
+
const data = {
|
|
77
|
+
id,
|
|
78
|
+
message,
|
|
79
|
+
type: config?.type ?? type,
|
|
80
|
+
config: merged,
|
|
81
|
+
state: 'entering',
|
|
82
|
+
};
|
|
83
|
+
// Auto-dismiss
|
|
84
|
+
if (merged.duration > 0) {
|
|
85
|
+
data.timeoutId = setTimeout(() => this.dismiss(id), merged.duration);
|
|
86
|
+
}
|
|
87
|
+
container.addToast(data);
|
|
88
|
+
return {
|
|
89
|
+
id,
|
|
90
|
+
dismiss: () => this.dismiss(id),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/** Dismiss a specific toast by ID. */
|
|
94
|
+
dismiss(id) {
|
|
95
|
+
const container = this.containerRef?.instance;
|
|
96
|
+
if (!container)
|
|
97
|
+
return;
|
|
98
|
+
const toast = container.toasts.find(t => t.id === id);
|
|
99
|
+
if (!toast || toast.state === 'exiting')
|
|
100
|
+
return;
|
|
101
|
+
if (toast.timeoutId)
|
|
102
|
+
clearTimeout(toast.timeoutId);
|
|
103
|
+
// Animate out, then remove
|
|
104
|
+
container.updateToastState(id, 'exiting');
|
|
105
|
+
setTimeout(() => container.removeToast(id), 260);
|
|
106
|
+
}
|
|
107
|
+
/** Dismiss all active toasts. */
|
|
108
|
+
dismissAll() {
|
|
109
|
+
const container = this.containerRef?.instance;
|
|
110
|
+
if (!container)
|
|
111
|
+
return;
|
|
112
|
+
const ids = container.toasts.map(t => t.id);
|
|
113
|
+
ids.forEach(id => this.dismiss(id));
|
|
114
|
+
}
|
|
115
|
+
// ── Internals ──────────────────────────────────────────────────────
|
|
116
|
+
/**
|
|
117
|
+
* Ensures the container component exists in the DOM.
|
|
118
|
+
* Creates it lazily on first toast call.
|
|
119
|
+
*/
|
|
120
|
+
ensureContainer(position) {
|
|
121
|
+
if (this.containerRef) {
|
|
122
|
+
// Update position class if needed
|
|
123
|
+
if (position) {
|
|
124
|
+
const el = this.containerRef.location.nativeElement;
|
|
125
|
+
this.applyPositionClass(el, position);
|
|
126
|
+
}
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
// Create the container component dynamically
|
|
130
|
+
this.containerRef = createComponent(UiToastContainerComponent, {
|
|
131
|
+
environmentInjector: this.injector,
|
|
132
|
+
});
|
|
133
|
+
// Attach to Angular's change detection
|
|
134
|
+
this.appRef.attachView(this.containerRef.hostView);
|
|
135
|
+
// Insert into the DOM
|
|
136
|
+
const el = this.containerRef.location.nativeElement;
|
|
137
|
+
this.applyPositionClass(el, position ?? UI_TOAST_DEFAULTS.position);
|
|
138
|
+
this.document.body.appendChild(el);
|
|
139
|
+
}
|
|
140
|
+
/** Apply CSS position modifier class to the container element. */
|
|
141
|
+
applyPositionClass(el, position) {
|
|
142
|
+
// Remove old position classes
|
|
143
|
+
el.className = el.className
|
|
144
|
+
.split(' ')
|
|
145
|
+
.filter(c => !c.startsWith('ui-toast-container-host--'))
|
|
146
|
+
.join(' ');
|
|
147
|
+
el.classList.add(`ui-toast-container-host--${position}`);
|
|
148
|
+
}
|
|
149
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
150
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiToastService, providedIn: 'root' }); }
|
|
151
|
+
}
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiToastService, decorators: [{
|
|
153
|
+
type: Injectable,
|
|
154
|
+
args: [{ providedIn: 'root' }]
|
|
155
|
+
}] });
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3QvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUNILE9BQU8sRUFDSCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUlILGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFeEU7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVxQixXQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUN2QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDLHNEQUFzRDtRQUM5QyxpQkFBWSxHQUFtRCxJQUFJLENBQUM7S0F1SC9FO0lBckhHLHNFQUFzRTtJQUV0RSxnQ0FBZ0M7SUFDaEMsT0FBTyxDQUFDLE9BQWUsRUFBRSxNQUFzQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsK0JBQStCO0lBQy9CLEtBQUssQ0FBQyxPQUFlLEVBQUUsTUFBc0I7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxPQUFPLENBQUMsT0FBZSxFQUFFLE1BQXNCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCw4QkFBOEI7SUFDOUIsSUFBSSxDQUFDLE9BQWUsRUFBRSxNQUFzQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLElBQUksQ0FBQyxPQUFlLEVBQUUsT0FBb0IsTUFBTSxFQUFFLE1BQXNCO1FBQ3BFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFhLENBQUMsUUFBUSxDQUFDO1FBRTlDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixNQUFNLE1BQU0sR0FBRztZQUNYLEdBQUcsaUJBQWlCO1lBQ3BCLEdBQUcsTUFBTTtTQUNaLENBQUM7UUFFRixNQUFNLElBQUksR0FBZ0I7WUFDdEIsRUFBRTtZQUNGLE9BQU87WUFDUCxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxJQUFJO1lBQzFCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsS0FBSyxFQUFFLFVBQVU7U0FDcEIsQ0FBQztRQUVGLGVBQWU7UUFDZixJQUFJLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUVELFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekIsT0FBTztZQUNILEVBQUU7WUFDRixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7U0FDbEMsQ0FBQztJQUNOLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEVBQVU7UUFDZCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFdkIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTztRQUVoRCxJQUFJLEtBQUssQ0FBQyxTQUFTO1lBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVuRCwyQkFBMkI7UUFDM0IsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLFVBQVU7UUFDTixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFdkIsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsc0VBQXNFO0lBRXRFOzs7T0FHRztJQUNLLGVBQWUsQ0FBQyxRQUFpQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixrQ0FBa0M7WUFDbEMsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDWCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUE0QixDQUFDO2dCQUNuRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFDRCxPQUFPO1FBQ1gsQ0FBQztRQUVELDZDQUE2QztRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQyx5QkFBeUIsRUFBRTtZQUMzRCxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUNyQyxDQUFDLENBQUM7UUFFSCx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuRCxzQkFBc0I7UUFDdEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBNEIsQ0FBQztRQUNuRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFFBQVEsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGtFQUFrRTtJQUMxRCxrQkFBa0IsQ0FBQyxFQUFlLEVBQUUsUUFBZ0I7UUFDeEQsOEJBQThCO1FBQzlCLEVBQUUsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVM7YUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO2FBQ3ZELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDRCQUE0QixRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7K0dBNUhRLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbW9kdWxlIG5nLXVpLXN5c3RlbS90b2FzdFxyXG4gKiBQcm9wcmlldGFyeSB0b2FzdCBub3RpZmljYXRpb24gc2VydmljZS5cclxuICpcclxuICogWmVybyBleHRlcm5hbCBkZXBlbmRlbmNpZXMg4oCUIHJlbmRlcnMgdG9hc3QgY29tcG9uZW50cyBkaXJlY3RseSBpbnRvIHRoZSBET01cclxuICogdmlhIEFuZ3VsYXIncyBgQXBwbGljYXRpb25SZWZgLlxyXG4gKlxyXG4gKiBAdXNhZ2VOb3Rlc1xyXG4gKiAjIyMgQmFzaWMgdXNhZ2VcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB0b2FzdCA9IGluamVjdChVaVRvYXN0U2VydmljZSk7XHJcbiAqIHRvYXN0LnN1Y2Nlc3MoJ1JlY29yZCBzYWx2YXRvIScpO1xyXG4gKiB0b2FzdC5lcnJvcignRXJyb3JlIGR1cmFudGUgaWwgc2FsdmF0YWdnaW8nKTtcclxuICogYGBgXHJcbiAqXHJcbiAqICMjIyBXaXRoIGNvbmZpZ1xyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIHRvYXN0Lndhcm5pbmcoJ0F0dGVuemlvbmUnLCB7IGR1cmF0aW9uOiA4MDAwLCBwb3NpdGlvbjogJ2JvdHRvbS1yaWdodCcgfSk7XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiAjIyMgUHJvZ3JhbW1hdGljIGRpc21pc3NcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCByZWYgPSB0b2FzdC5pbmZvKCdDYXJpY2FtZW50byBpbiBjb3Jzby4uLicsIHsgZHVyYXRpb246IDAgfSk7XHJcbiAqIC8vIC4uLmxhdGVyXHJcbiAqIHJlZi5kaXNtaXNzKCk7XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAc2VsZWN0b3Ig4oCUXHJcbiAqL1xyXG5pbXBvcnQge1xyXG4gICAgSW5qZWN0YWJsZSxcclxuICAgIEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgY3JlYXRlQ29tcG9uZW50LFxyXG4gICAgRW52aXJvbm1lbnRJbmplY3RvcixcclxuICAgIGluamVjdCxcclxuICAgIENvbXBvbmVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IFVpVG9hc3RUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy9pbmRleCc7XHJcbmltcG9ydCB7IHVpVW5pcXVlSWQgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2luZGV4JztcclxuaW1wb3J0IHtcclxuICAgIFVpVG9hc3RDb25maWcsXHJcbiAgICBVaVRvYXN0UmVmLFxyXG4gICAgVWlUb2FzdERhdGEsXHJcbiAgICBVSV9UT0FTVF9ERUZBVUxUUyxcclxufSBmcm9tICcuL3RvYXN0LnR5cGVzJztcclxuaW1wb3J0IHsgVWlUb2FzdENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vdG9hc3QtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQ2VudHJhbCB0b2FzdCBub3RpZmljYXRpb24gc2VydmljZS5cclxuICpcclxuICogTWFuYWdlcyBhIHNpbmdsZSBgVWlUb2FzdENvbnRhaW5lckNvbXBvbmVudGAgaW4gdGhlIERPTSBhbmQgcHJvdmlkZXNcclxuICogY29udmVuaWVuY2UgbWV0aG9kcyBmb3Igc2hvd2luZyB0eXBlZCBub3RpZmljYXRpb25zLlxyXG4gKi9cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFVpVG9hc3RTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwUmVmID0gaW5qZWN0KEFwcGxpY2F0aW9uUmVmKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuXHJcbiAgICAvKiogUmVmZXJlbmNlIHRvIHRoZSBzaW5nbGV0b24gY29udGFpbmVyIGNvbXBvbmVudC4gKi9cclxuICAgIHByaXZhdGUgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8VWlUb2FzdENvbnRhaW5lckNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAvLyDilIDilIAgUHVibGljIEFQSSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbiAgICAvKiogU2hvdyBhICoqc3VjY2VzcyoqIHRvYXN0LiAqL1xyXG4gICAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZz86IFVpVG9hc3RDb25maWcpOiBVaVRvYXN0UmVmIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsICdzdWNjZXNzJywgY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogU2hvdyBhbiAqKmVycm9yKiogdG9hc3QuICovXHJcbiAgICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZz86IFVpVG9hc3RDb25maWcpOiBVaVRvYXN0UmVmIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaG93KG1lc3NhZ2UsICdlcnJvcicsIGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFNob3cgYSAqKndhcm5pbmcqKiB0b2FzdC4gKi9cclxuICAgIHdhcm5pbmcobWVzc2FnZTogc3RyaW5nLCBjb25maWc/OiBVaVRvYXN0Q29uZmlnKTogVWlUb2FzdFJlZiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvdyhtZXNzYWdlLCAnd2FybmluZycsIGNvbmZpZyk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFNob3cgYW4gKippbmZvKiogdG9hc3QuICovXHJcbiAgICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogVWlUb2FzdENvbmZpZyk6IFVpVG9hc3RSZWYge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNob3cobWVzc2FnZSwgJ2luZm8nLCBjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBTaG93IGEgdG9hc3Qgd2l0aCBleHBsaWNpdCB0eXBlLiAqL1xyXG4gICAgc2hvdyhtZXNzYWdlOiBzdHJpbmcsIHR5cGU6IFVpVG9hc3RUeXBlID0gJ2luZm8nLCBjb25maWc/OiBVaVRvYXN0Q29uZmlnKTogVWlUb2FzdFJlZiB7XHJcbiAgICAgICAgdGhpcy5lbnN1cmVDb250YWluZXIoY29uZmlnPy5wb3NpdGlvbik7XHJcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXJSZWYhLmluc3RhbmNlO1xyXG5cclxuICAgICAgICBjb25zdCBpZCA9IHVpVW5pcXVlSWQoJ3RvYXN0Jyk7XHJcbiAgICAgICAgY29uc3QgbWVyZ2VkID0ge1xyXG4gICAgICAgICAgICAuLi5VSV9UT0FTVF9ERUZBVUxUUyxcclxuICAgICAgICAgICAgLi4uY29uZmlnLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IGRhdGE6IFVpVG9hc3REYXRhID0ge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgbWVzc2FnZSxcclxuICAgICAgICAgICAgdHlwZTogY29uZmlnPy50eXBlID8/IHR5cGUsXHJcbiAgICAgICAgICAgIGNvbmZpZzogbWVyZ2VkLFxyXG4gICAgICAgICAgICBzdGF0ZTogJ2VudGVyaW5nJyxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICAvLyBBdXRvLWRpc21pc3NcclxuICAgICAgICBpZiAobWVyZ2VkLmR1cmF0aW9uID4gMCkge1xyXG4gICAgICAgICAgICBkYXRhLnRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5kaXNtaXNzKGlkKSwgbWVyZ2VkLmR1cmF0aW9uKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnRhaW5lci5hZGRUb2FzdChkYXRhKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIGRpc21pc3M6ICgpID0+IHRoaXMuZGlzbWlzcyhpZCksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogRGlzbWlzcyBhIHNwZWNpZmljIHRvYXN0IGJ5IElELiAqL1xyXG4gICAgZGlzbWlzcyhpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXJSZWY/Lmluc3RhbmNlO1xyXG4gICAgICAgIGlmICghY29udGFpbmVyKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IHRvYXN0ID0gY29udGFpbmVyLnRvYXN0cy5maW5kKHQgPT4gdC5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmICghdG9hc3QgfHwgdG9hc3Quc3RhdGUgPT09ICdleGl0aW5nJykgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAodG9hc3QudGltZW91dElkKSBjbGVhclRpbWVvdXQodG9hc3QudGltZW91dElkKTtcclxuXHJcbiAgICAgICAgLy8gQW5pbWF0ZSBvdXQsIHRoZW4gcmVtb3ZlXHJcbiAgICAgICAgY29udGFpbmVyLnVwZGF0ZVRvYXN0U3RhdGUoaWQsICdleGl0aW5nJyk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBjb250YWluZXIucmVtb3ZlVG9hc3QoaWQpLCAyNjApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBEaXNtaXNzIGFsbCBhY3RpdmUgdG9hc3RzLiAqL1xyXG4gICAgZGlzbWlzc0FsbCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lclJlZj8uaW5zdGFuY2U7XHJcbiAgICAgICAgaWYgKCFjb250YWluZXIpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgaWRzID0gY29udGFpbmVyLnRvYXN0cy5tYXAodCA9PiB0LmlkKTtcclxuICAgICAgICBpZHMuZm9yRWFjaChpZCA9PiB0aGlzLmRpc21pc3MoaWQpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyDilIDilIAgSW50ZXJuYWxzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW5zdXJlcyB0aGUgY29udGFpbmVyIGNvbXBvbmVudCBleGlzdHMgaW4gdGhlIERPTS5cclxuICAgICAqIENyZWF0ZXMgaXQgbGF6aWx5IG9uIGZpcnN0IHRvYXN0IGNhbGwuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZW5zdXJlQ29udGFpbmVyKHBvc2l0aW9uPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyUmVmKSB7XHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSBwb3NpdGlvbiBjbGFzcyBpZiBuZWVkZWRcclxuICAgICAgICAgICAgaWYgKHBvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IHRoaXMuY29udGFpbmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGx5UG9zaXRpb25DbGFzcyhlbCwgcG9zaXRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgY29udGFpbmVyIGNvbXBvbmVudCBkeW5hbWljYWxseVxyXG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVmID0gY3JlYXRlQ29tcG9uZW50KFVpVG9hc3RDb250YWluZXJDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgZW52aXJvbm1lbnRJbmplY3RvcjogdGhpcy5pbmplY3RvcixcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gQXR0YWNoIHRvIEFuZ3VsYXIncyBjaGFuZ2UgZGV0ZWN0aW9uXHJcbiAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLmNvbnRhaW5lclJlZi5ob3N0Vmlldyk7XHJcblxyXG4gICAgICAgIC8vIEluc2VydCBpbnRvIHRoZSBET01cclxuICAgICAgICBjb25zdCBlbCA9IHRoaXMuY29udGFpbmVyUmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5hcHBseVBvc2l0aW9uQ2xhc3MoZWwsIHBvc2l0aW9uID8/IFVJX1RPQVNUX0RFRkFVTFRTLnBvc2l0aW9uKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBBcHBseSBDU1MgcG9zaXRpb24gbW9kaWZpZXIgY2xhc3MgdG8gdGhlIGNvbnRhaW5lciBlbGVtZW50LiAqL1xyXG4gICAgcHJpdmF0ZSBhcHBseVBvc2l0aW9uQ2xhc3MoZWw6IEhUTUxFbGVtZW50LCBwb3NpdGlvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgLy8gUmVtb3ZlIG9sZCBwb3NpdGlvbiBjbGFzc2VzXHJcbiAgICAgICAgZWwuY2xhc3NOYW1lID0gZWwuY2xhc3NOYW1lXHJcbiAgICAgICAgICAgIC5zcGxpdCgnICcpXHJcbiAgICAgICAgICAgIC5maWx0ZXIoYyA9PiAhYy5zdGFydHNXaXRoKCd1aS10b2FzdC1jb250YWluZXItaG9zdC0tJykpXHJcbiAgICAgICAgICAgIC5qb2luKCcgJyk7XHJcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZChgdWktdG9hc3QtY29udGFpbmVyLWhvc3QtLSR7cG9zaXRpb259YCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ng-ui-system/toast
|
|
3
|
+
* Types and interfaces for the proprietary toast notification system.
|
|
4
|
+
*/
|
|
5
|
+
/** Defaults applied to every toast unless overridden. */
|
|
6
|
+
export const UI_TOAST_DEFAULTS = {
|
|
7
|
+
duration: 5000,
|
|
8
|
+
position: 'top-right',
|
|
9
|
+
dismissible: true,
|
|
10
|
+
enableHtml: false,
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0L3RvYXN0LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQTJESCx5REFBeUQ7QUFDekQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQTBGO0lBQ3BILFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLFdBQVc7SUFDckIsV0FBVyxFQUFFLElBQUk7SUFDakIsVUFBVSxFQUFFLEtBQUs7Q0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAbW9kdWxlIG5nLXVpLXN5c3RlbS90b2FzdFxyXG4gKiBUeXBlcyBhbmQgaW50ZXJmYWNlcyBmb3IgdGhlIHByb3ByaWV0YXJ5IHRvYXN0IG5vdGlmaWNhdGlvbiBzeXN0ZW0uXHJcbiAqL1xyXG5cclxuaW1wb3J0IHR5cGUgeyBVaVRvYXN0VHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvaW5kZXgnO1xyXG5cclxuLyoqIFBvc2l0aW9uIG9mIHRoZSB0b2FzdCBjb250YWluZXIgb24gc2NyZWVuLiAqL1xyXG5leHBvcnQgdHlwZSBVaVRvYXN0UG9zaXRpb24gPVxyXG4gICAgfCAndG9wLXJpZ2h0J1xyXG4gICAgfCAndG9wLWxlZnQnXHJcbiAgICB8ICdib3R0b20tcmlnaHQnXHJcbiAgICB8ICdib3R0b20tbGVmdCdcclxuICAgIHwgJ3RvcC1jZW50ZXInXHJcbiAgICB8ICdib3R0b20tY2VudGVyJztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGEgdG9hc3Qgbm90aWZpY2F0aW9uLlxyXG4gKlxyXG4gKiBAdXNhZ2VOb3Rlc1xyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIHRvYXN0U2VydmljZS5zdWNjZXNzKCdTYXZlZCEnLCB7IGR1cmF0aW9uOiAzMDAwLCBwb3NpdGlvbjogJ2JvdHRvbS1yaWdodCcgfSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBVaVRvYXN0Q29uZmlnIHtcclxuICAgIC8qKiBUb2FzdCB0eXBlIChvdmVycmlkZXMgdGhlIG1ldGhvZC1sZXZlbCBkZWZhdWx0KS4gKi9cclxuICAgIHR5cGU/OiBVaVRvYXN0VHlwZTtcclxuICAgIC8qKiBBdXRvLWRpc21pc3MgZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzLiBgMGAgPSBwZXJzaXN0ZW50LiBEZWZhdWx0OiBgNTAwMGAuICovXHJcbiAgICBkdXJhdGlvbj86IG51bWJlcjtcclxuICAgIC8qKiBTY3JlZW4gcG9zaXRpb24gZm9yIHRoaXMgdG9hc3QuIERlZmF1bHQ6IGAndG9wLXJpZ2h0J2AuICovXHJcbiAgICBwb3NpdGlvbj86IFVpVG9hc3RQb3NpdGlvbjtcclxuICAgIC8qKiBXaGV0aGVyIGEgY2xvc2UgYnV0dG9uIGlzIHNob3duLiBEZWZhdWx0OiBgdHJ1ZWAuICovXHJcbiAgICBkaXNtaXNzaWJsZT86IGJvb2xlYW47XHJcbiAgICAvKiogQWxsb3cgSFRNTCBjb250ZW50IGluIHRoZSBtZXNzYWdlLiBEZWZhdWx0OiBgZmFsc2VgLiAqL1xyXG4gICAgZW5hYmxlSHRtbD86IGJvb2xlYW47XHJcbiAgICAvKiogQ3VzdG9tIEx1Y2lkZSBpY29uIG5hbWUuIERlZmF1bHRzIHRvIHR5cGUtc3BlY2lmaWMgaWNvbi4gKi9cclxuICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICAvKiogQWRkaXRpb25hbCBDU1MgY2xhc3MgYXBwZW5kZWQgdG8gdGhlIHRvYXN0IGVsZW1lbnQuICovXHJcbiAgICBjdXN0b21DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlZmVyZW5jZSB0byBhIGxpdmUgdG9hc3QgaW5zdGFuY2UuXHJcbiAqIENhbiBiZSB1c2VkIHRvIGRpc21pc3MgdGhlIHRvYXN0IHByb2dyYW1tYXRpY2FsbHkuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVpVG9hc3RSZWYge1xyXG4gICAgLyoqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIHRvYXN0IGluc3RhbmNlLiAqL1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIC8qKiBEaXNtaXNzIHRoaXMgc3BlY2lmaWMgdG9hc3QuICovXHJcbiAgICBkaXNtaXNzOiAoKSA9PiB2b2lkO1xyXG59XHJcblxyXG4vKiogQGludGVybmFsIERhdGEgbW9kZWwgZm9yIGEgdG9hc3QgbWFuYWdlZCBieSB0aGUgc2VydmljZS4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBVaVRvYXN0RGF0YSB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgdHlwZTogVWlUb2FzdFR5cGU7XHJcbiAgICBjb25maWc6IFJlcXVpcmVkPFBpY2s8VWlUb2FzdENvbmZpZywgJ2R1cmF0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGlzbWlzc2libGUnIHwgJ2VuYWJsZUh0bWwnPj4gJiBVaVRvYXN0Q29uZmlnO1xyXG4gICAgc3RhdGU6ICdlbnRlcmluZycgfCAndmlzaWJsZScgfCAnZXhpdGluZyc7XHJcbiAgICB0aW1lb3V0SWQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcclxufVxyXG5cclxuLyoqIERlZmF1bHRzIGFwcGxpZWQgdG8gZXZlcnkgdG9hc3QgdW5sZXNzIG92ZXJyaWRkZW4uICovXHJcbmV4cG9ydCBjb25zdCBVSV9UT0FTVF9ERUZBVUxUUzogUmVxdWlyZWQ8UGljazxVaVRvYXN0Q29uZmlnLCAnZHVyYXRpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkaXNtaXNzaWJsZScgfCAnZW5hYmxlSHRtbCc+PiA9IHtcclxuICAgIGR1cmF0aW9uOiA1MDAwLFxyXG4gICAgcG9zaXRpb246ICd0b3AtcmlnaHQnLFxyXG4gICAgZGlzbWlzc2libGU6IHRydWUsXHJcbiAgICBlbmFibGVIdG1sOiBmYWxzZSxcclxufTtcclxuIl19
|
|
@@ -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,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared utility functions for ng-ui-system components.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Generates a unique ID with an optional prefix.
|
|
6
|
+
* Uses crypto.randomUUID() when available for better randomness, falls back to crypto.getRandomValues().
|
|
7
|
+
* Useful for linking labels to form controls, ARIA attributes, etc.
|
|
8
|
+
*
|
|
9
|
+
* @param prefix - Optional prefix for the generated ID.
|
|
10
|
+
* @returns A unique string ID.
|
|
11
|
+
*/
|
|
12
|
+
export function uiUniqueId(prefix = 'ui') {
|
|
13
|
+
let randomPart;
|
|
14
|
+
// Try crypto.randomUUID() first (modern browsers/Node 19+)
|
|
15
|
+
if (typeof crypto !== 'undefined' && crypto.randomUUID) {
|
|
16
|
+
randomPart = crypto.randomUUID().substring(0, 8);
|
|
17
|
+
}
|
|
18
|
+
// Fallback to crypto.getRandomValues()
|
|
19
|
+
else if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
|
|
20
|
+
const array = new Uint8Array(4);
|
|
21
|
+
crypto.getRandomValues(array);
|
|
22
|
+
randomPart = Array.from(array, (byte) => byte.toString(36))
|
|
23
|
+
.join('')
|
|
24
|
+
.substring(0, 8);
|
|
25
|
+
}
|
|
26
|
+
// Final fallback to Math.random() for older environments
|
|
27
|
+
else {
|
|
28
|
+
randomPart = Math.random().toString(36).substring(2, 9); // NOSONAR - Fallback for environments without crypto API
|
|
29
|
+
}
|
|
30
|
+
return `${prefix}-${randomPart}`;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Coerces a value to a boolean.
|
|
34
|
+
* Useful for handling string boolean attributes in templates.
|
|
35
|
+
*
|
|
36
|
+
* @param value - The value to coerce.
|
|
37
|
+
* @returns The boolean representation.
|
|
38
|
+
*/
|
|
39
|
+
export function uiCoerceBoolean(value) {
|
|
40
|
+
return value != null && `${value}` !== 'false';
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Clamps a number between a minimum and maximum value.
|
|
44
|
+
*
|
|
45
|
+
* @param value - The value to clamp.
|
|
46
|
+
* @param min - The minimum allowed value.
|
|
47
|
+
* @param max - The maximum allowed value.
|
|
48
|
+
* @returns The clamped value.
|
|
49
|
+
*/
|
|
50
|
+
export function uiClamp(value, min, max) {
|
|
51
|
+
return Math.max(min, Math.min(max, value));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Removes all `null` and `undefined` values from an object.
|
|
55
|
+
* Returns a new object — the original is not mutated.
|
|
56
|
+
*
|
|
57
|
+
* @param obj - The source object.
|
|
58
|
+
* @returns A shallow copy with nullish entries removed.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* uiFilterNullish({ a: 1, b: null, c: 'x', d: undefined });
|
|
63
|
+
* // → { a: 1, c: 'x' }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
export function uiFilterNullish(obj) {
|
|
67
|
+
return Object.entries(obj)
|
|
68
|
+
.filter(([, value]) => value !== null && value !== undefined)
|
|
69
|
+
.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Converts a key-value object into a URL query string.
|
|
73
|
+
* Nullish values are filtered out automatically.
|
|
74
|
+
*
|
|
75
|
+
* @param params - Query parameter object.
|
|
76
|
+
* @returns A query string like `?key=value&key2=value2`, or an empty string if no params.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* uiQueryParamsToPath({ search: 'test', page: 1, active: true });
|
|
81
|
+
* // → '?search=test&page=1&active=true'
|
|
82
|
+
*
|
|
83
|
+
* uiQueryParamsToPath(undefined);
|
|
84
|
+
* // → ''
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export function uiQueryParamsToPath(params) {
|
|
88
|
+
if (!params)
|
|
89
|
+
return '';
|
|
90
|
+
const searchParams = new URLSearchParams();
|
|
91
|
+
Object.entries(uiFilterNullish(params)).forEach(([key, value]) => {
|
|
92
|
+
if (Array.isArray(value)) {
|
|
93
|
+
value.forEach((v) => searchParams.append(key, String(v ?? '')));
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
searchParams.append(key, String(value ?? ''));
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
const str = searchParams.toString();
|
|
100
|
+
return str ? `?${str}` : '';
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb3JlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUk7SUFDdEMsSUFBSSxVQUFrQixDQUFDO0lBRXZCLDJEQUEyRDtJQUMzRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCx1Q0FBdUM7U0FDbEMsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3hELElBQUksQ0FBQyxFQUFFLENBQUM7YUFDUixTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFDRCx5REFBeUQ7U0FDcEQsQ0FBQztRQUNKLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5REFBeUQ7SUFDcEgsQ0FBQztJQUVELE9BQU8sR0FBRyxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7QUFDbkMsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYztJQUM1QyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLENBQUM7QUFDakQsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQWEsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUM3RCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQW9DLEdBQU07SUFDdkUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztTQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztTQUM1RCxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBZ0IsQ0FBQyxDQUFDO0FBQ2pGLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBZ0M7SUFDbEUsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN2QixNQUFNLFlBQVksR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQzNDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUMvRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDO2FBQU0sQ0FBQztZQUNOLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFNoYXJlZCB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgbmctdWktc3lzdGVtIGNvbXBvbmVudHMuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlcyBhIHVuaXF1ZSBJRCB3aXRoIGFuIG9wdGlvbmFsIHByZWZpeC5cclxuICogVXNlcyBjcnlwdG8ucmFuZG9tVVVJRCgpIHdoZW4gYXZhaWxhYmxlIGZvciBiZXR0ZXIgcmFuZG9tbmVzcywgZmFsbHMgYmFjayB0byBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKCkuXHJcbiAqIFVzZWZ1bCBmb3IgbGlua2luZyBsYWJlbHMgdG8gZm9ybSBjb250cm9scywgQVJJQSBhdHRyaWJ1dGVzLCBldGMuXHJcbiAqXHJcbiAqIEBwYXJhbSBwcmVmaXggLSBPcHRpb25hbCBwcmVmaXggZm9yIHRoZSBnZW5lcmF0ZWQgSUQuXHJcbiAqIEByZXR1cm5zIEEgdW5pcXVlIHN0cmluZyBJRC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1aVVuaXF1ZUlkKHByZWZpeCA9ICd1aScpOiBzdHJpbmcge1xyXG4gIGxldCByYW5kb21QYXJ0OiBzdHJpbmc7XHJcblxyXG4gIC8vIFRyeSBjcnlwdG8ucmFuZG9tVVVJRCgpIGZpcnN0IChtb2Rlcm4gYnJvd3NlcnMvTm9kZSAxOSspXHJcbiAgaWYgKHR5cGVvZiBjcnlwdG8gIT09ICd1bmRlZmluZWQnICYmIGNyeXB0by5yYW5kb21VVUlEKSB7XHJcbiAgICByYW5kb21QYXJ0ID0gY3J5cHRvLnJhbmRvbVVVSUQoKS5zdWJzdHJpbmcoMCwgOCk7XHJcbiAgfVxyXG4gIC8vIEZhbGxiYWNrIHRvIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMoKVxyXG4gIGVsc2UgaWYgKHR5cGVvZiBjcnlwdG8gIT09ICd1bmRlZmluZWQnICYmIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcclxuICAgIGNvbnN0IGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoNCk7XHJcbiAgICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGFycmF5KTtcclxuICAgIHJhbmRvbVBhcnQgPSBBcnJheS5mcm9tKGFycmF5LCAoYnl0ZSkgPT4gYnl0ZS50b1N0cmluZygzNikpXHJcbiAgICAgIC5qb2luKCcnKVxyXG4gICAgICAuc3Vic3RyaW5nKDAsIDgpO1xyXG4gIH1cclxuICAvLyBGaW5hbCBmYWxsYmFjayB0byBNYXRoLnJhbmRvbSgpIGZvciBvbGRlciBlbnZpcm9ubWVudHNcclxuICBlbHNlIHtcclxuICAgIHJhbmRvbVBhcnQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgOSk7IC8vIE5PU09OQVIgLSBGYWxsYmFjayBmb3IgZW52aXJvbm1lbnRzIHdpdGhvdXQgY3J5cHRvIEFQSVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGAke3ByZWZpeH0tJHtyYW5kb21QYXJ0fWA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb2VyY2VzIGEgdmFsdWUgdG8gYSBib29sZWFuLlxyXG4gKiBVc2VmdWwgZm9yIGhhbmRsaW5nIHN0cmluZyBib29sZWFuIGF0dHJpYnV0ZXMgaW4gdGVtcGxhdGVzLlxyXG4gKlxyXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY29lcmNlLlxyXG4gKiBAcmV0dXJucyBUaGUgYm9vbGVhbiByZXByZXNlbnRhdGlvbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1aUNvZXJjZUJvb2xlYW4odmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcclxuICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnO1xyXG59XHJcblxyXG4vKipcclxuICogQ2xhbXBzIGEgbnVtYmVyIGJldHdlZW4gYSBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlLlxyXG4gKlxyXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2xhbXAuXHJcbiAqIEBwYXJhbSBtaW4gLSBUaGUgbWluaW11bSBhbGxvd2VkIHZhbHVlLlxyXG4gKiBAcGFyYW0gbWF4IC0gVGhlIG1heGltdW0gYWxsb3dlZCB2YWx1ZS5cclxuICogQHJldHVybnMgVGhlIGNsYW1wZWQgdmFsdWUuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdWlDbGFtcCh2YWx1ZTogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xyXG4gIHJldHVybiBNYXRoLm1heChtaW4sIE1hdGgubWluKG1heCwgdmFsdWUpKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgYWxsIGBudWxsYCBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzIGZyb20gYW4gb2JqZWN0LlxyXG4gKiBSZXR1cm5zIGEgbmV3IG9iamVjdCDigJQgdGhlIG9yaWdpbmFsIGlzIG5vdCBtdXRhdGVkLlxyXG4gKlxyXG4gKiBAcGFyYW0gb2JqIC0gVGhlIHNvdXJjZSBvYmplY3QuXHJcbiAqIEByZXR1cm5zIEEgc2hhbGxvdyBjb3B5IHdpdGggbnVsbGlzaCBlbnRyaWVzIHJlbW92ZWQuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogdWlGaWx0ZXJOdWxsaXNoKHsgYTogMSwgYjogbnVsbCwgYzogJ3gnLCBkOiB1bmRlZmluZWQgfSk7XHJcbiAqIC8vIOKGkiB7IGE6IDEsIGM6ICd4JyB9XHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHVpRmlsdGVyTnVsbGlzaDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KG9iajogVCk6IFBhcnRpYWw8VD4ge1xyXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvYmopXHJcbiAgICAuZmlsdGVyKChbLCB2YWx1ZV0pID0+IHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpXHJcbiAgICAucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4gKHsgLi4uYWNjLCBba2V5XTogdmFsdWUgfSksIHt9IGFzIFBhcnRpYWw8VD4pO1xyXG59XHJcblxyXG4vKipcclxuICogQ29udmVydHMgYSBrZXktdmFsdWUgb2JqZWN0IGludG8gYSBVUkwgcXVlcnkgc3RyaW5nLlxyXG4gKiBOdWxsaXNoIHZhbHVlcyBhcmUgZmlsdGVyZWQgb3V0IGF1dG9tYXRpY2FsbHkuXHJcbiAqXHJcbiAqIEBwYXJhbSBwYXJhbXMgLSBRdWVyeSBwYXJhbWV0ZXIgb2JqZWN0LlxyXG4gKiBAcmV0dXJucyBBIHF1ZXJ5IHN0cmluZyBsaWtlIGA/a2V5PXZhbHVlJmtleTI9dmFsdWUyYCwgb3IgYW4gZW1wdHkgc3RyaW5nIGlmIG5vIHBhcmFtcy5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiB1aVF1ZXJ5UGFyYW1zVG9QYXRoKHsgc2VhcmNoOiAndGVzdCcsIHBhZ2U6IDEsIGFjdGl2ZTogdHJ1ZSB9KTtcclxuICogLy8g4oaSICc/c2VhcmNoPXRlc3QmcGFnZT0xJmFjdGl2ZT10cnVlJ1xyXG4gKlxyXG4gKiB1aVF1ZXJ5UGFyYW1zVG9QYXRoKHVuZGVmaW5lZCk7XHJcbiAqIC8vIOKGkiAnJ1xyXG4gKiBgYGBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB1aVF1ZXJ5UGFyYW1zVG9QYXRoKHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogc3RyaW5nIHtcclxuICBpZiAoIXBhcmFtcykgcmV0dXJuICcnO1xyXG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcclxuICBPYmplY3QuZW50cmllcyh1aUZpbHRlck51bGxpc2gocGFyYW1zKSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgdmFsdWUuZm9yRWFjaCgodikgPT4gc2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIFN0cmluZyh2ID8/ICcnKSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIFN0cmluZyh2YWx1ZSA/PyAnJykpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIGNvbnN0IHN0ciA9IHNlYXJjaFBhcmFtcy50b1N0cmluZygpO1xyXG4gIHJldHVybiBzdHIgPyBgPyR7c3RyfWAgOiAnJztcclxufVxyXG4iXX0=
|