@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,180 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
3
|
+
import { LucideAngularModule } from 'lucide-angular';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/tooltip";
|
|
6
|
+
import * as i2 from "lucide-angular";
|
|
7
|
+
/** @internal Size-to-icon-pixel mapping for consistent icon sizing. */
|
|
8
|
+
const ICON_SIZE_MAP = {
|
|
9
|
+
xs: 14,
|
|
10
|
+
sm: 16,
|
|
11
|
+
md: 18,
|
|
12
|
+
lg: 20,
|
|
13
|
+
xl: 22,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Standalone button component with design-token-driven theming,
|
|
17
|
+
* variant/size system, Lucide icon support, loading states, and WCAG 2.1 AA accessibility.
|
|
18
|
+
*
|
|
19
|
+
* Uses native `<button>` click events — listen with `(click)` on the host element.
|
|
20
|
+
*
|
|
21
|
+
* @selector ui-button
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```html
|
|
25
|
+
* <!-- Basic -->
|
|
26
|
+
* <ui-button label="Save" variant="primary" icon="save" (click)="save()" />
|
|
27
|
+
*
|
|
28
|
+
* <!-- Loading -->
|
|
29
|
+
* <ui-button label="Submitting..." variant="primary" [loading]="true" />
|
|
30
|
+
*
|
|
31
|
+
* <!-- Icon-only: tooltip o ariaLabel forniscono il nome accessibile -->
|
|
32
|
+
* <ui-button icon="trash-2" variant="warn" tooltip="Elimina" (click)="delete()" />
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export class UiButtonComponent {
|
|
36
|
+
constructor() {
|
|
37
|
+
/** Button label text. */
|
|
38
|
+
this.label = '';
|
|
39
|
+
/** Tooltip text shown on hover (uses Angular Material tooltip). */
|
|
40
|
+
this.tooltip = '';
|
|
41
|
+
/** Visual style variant. */
|
|
42
|
+
this.variant = 'primary';
|
|
43
|
+
/** Size variant. */
|
|
44
|
+
this.size = 'md';
|
|
45
|
+
/** Icon position relative to the label. */
|
|
46
|
+
this.iconPosition = 'trailing';
|
|
47
|
+
/** Whether the button is in a loading state. Disables interaction and shows spinner. */
|
|
48
|
+
this.loading = false;
|
|
49
|
+
/** Whether the button is disabled. */
|
|
50
|
+
this.disabled = false;
|
|
51
|
+
/** Expand button to full container width. */
|
|
52
|
+
this.fullWidth = false;
|
|
53
|
+
/** HTML button type attribute. */
|
|
54
|
+
this.type = 'button';
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Nome accessibile risolto per il pulsante nativo.
|
|
58
|
+
* Usa `ariaLabel` se impostato; per pulsanti solo icona senza testo visibile
|
|
59
|
+
* ricade sul `tooltip` (il tooltip Material non sostituisce il nome accessibile).
|
|
60
|
+
*/
|
|
61
|
+
get effectiveAriaLabel() {
|
|
62
|
+
const explicit = this.ariaLabel?.trim();
|
|
63
|
+
if (explicit)
|
|
64
|
+
return explicit;
|
|
65
|
+
if (this.label?.trim())
|
|
66
|
+
return undefined;
|
|
67
|
+
const tip = this.tooltip?.trim();
|
|
68
|
+
if (this.icon && tip)
|
|
69
|
+
return tip;
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
/** Computed icon pixel size based on button size. */
|
|
73
|
+
get iconSize() {
|
|
74
|
+
return ICON_SIZE_MAP[this.size] ?? 18;
|
|
75
|
+
}
|
|
76
|
+
/** Assembled CSS class string for the native button element. */
|
|
77
|
+
get buttonClasses() {
|
|
78
|
+
return [
|
|
79
|
+
'ui-button',
|
|
80
|
+
`ui-button--${this.variant}`,
|
|
81
|
+
`ui-button--${this.size}`,
|
|
82
|
+
this.loading ? 'ui-button--loading' : '',
|
|
83
|
+
this.fullWidth ? 'ui-button--full-width' : '',
|
|
84
|
+
!this.label && this.icon ? 'ui-button--icon-only' : '',
|
|
85
|
+
this.customClass ?? '',
|
|
86
|
+
]
|
|
87
|
+
.filter(Boolean)
|
|
88
|
+
.join(' ');
|
|
89
|
+
}
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiButtonComponent, isStandalone: true, selector: "ui-button", inputs: { label: "label", tooltip: "tooltip", variant: "variant", size: "size", icon: "icon", iconPosition: "iconPosition", loading: "loading", disabled: "disabled", fullWidth: "fullWidth", type: "type", ariaLabel: "ariaLabel", customClass: "customClass" }, host: { properties: { "class.ui-button-host--full-width": "fullWidth" }, classAttribute: "ui-button-host" }, ngImport: i0, template: `
|
|
92
|
+
<button
|
|
93
|
+
[type]="type"
|
|
94
|
+
[class]="buttonClasses"
|
|
95
|
+
[disabled]="disabled || loading"
|
|
96
|
+
[attr.aria-label]="effectiveAriaLabel || null"
|
|
97
|
+
[attr.aria-busy]="loading || null"
|
|
98
|
+
[matTooltip]="tooltip"
|
|
99
|
+
>
|
|
100
|
+
<span class="ui-button__content" [class.ui-button__content--hidden]="loading">
|
|
101
|
+
@if (icon && iconPosition === 'leading') {
|
|
102
|
+
<lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
|
|
103
|
+
}
|
|
104
|
+
@if (label) {
|
|
105
|
+
<span class="ui-button__label">{{ label }}</span>
|
|
106
|
+
}
|
|
107
|
+
<ng-content />
|
|
108
|
+
@if (icon && iconPosition === 'trailing') {
|
|
109
|
+
<lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
|
|
110
|
+
}
|
|
111
|
+
</span>
|
|
112
|
+
@if (loading) {
|
|
113
|
+
<span class="ui-button__spinner-overlay">
|
|
114
|
+
<span class="ui-button__spinner" aria-hidden="true"></span>
|
|
115
|
+
<span class="ui-button__sr-only">Loading</span>
|
|
116
|
+
</span>
|
|
117
|
+
}
|
|
118
|
+
</button>
|
|
119
|
+
`, isInline: true, styles: [".ui-button-host{display:inline-flex}.ui-button-host--full-width{display:flex;width:100%}.ui-button{appearance:none;border:none;cursor:pointer;font-family:var(--ui-font-family);font-weight:var(--ui-font-weight-medium);letter-spacing:.01em;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ui-radius-md);white-space:nowrap;text-decoration:none;overflow:hidden;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast),border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast),opacity var(--ui-transition-fast)}.ui-button:focus{outline:none}.ui-button:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--full-width{width:100%}.ui-button--xs{height:28px;padding:0 var(--ui-spacing-2);font-size:var(--ui-font-size-xs);border-radius:var(--ui-radius-sm);gap:var(--ui-spacing-1)}.ui-button--sm{height:32px;padding:0 var(--ui-spacing-3);font-size:var(--ui-font-size-xs);gap:6px}.ui-button--md{height:36px;padding:0 var(--ui-spacing-4);font-size:var(--ui-font-size-sm);gap:var(--ui-spacing-2)}.ui-button--lg{height:40px;padding:0 var(--ui-spacing-5);font-size:var(--ui-font-size-sm);gap:var(--ui-spacing-2)}.ui-button--xl{height:48px;padding:0 var(--ui-spacing-6);font-size:var(--ui-font-size-md);gap:var(--ui-spacing-3)}.ui-button--icon-only.ui-button--xs{width:28px;padding:0}.ui-button--icon-only.ui-button--sm{width:32px;padding:0}.ui-button--icon-only.ui-button--md{width:36px;padding:0}.ui-button--icon-only.ui-button--lg{width:40px;padding:0}.ui-button--icon-only.ui-button--xl{width:48px;padding:0}.ui-button--primary{background:var(--ui-color-primary);color:var(--ui-color-primary-contrast)}.ui-button--primary:hover:not(:disabled){background:var(--ui-color-primary-hover)}.ui-button--primary:active:not(:disabled){background:var(--ui-color-primary-active)}.ui-button--accent{background:var(--ui-color-accent);color:var(--ui-color-accent-contrast)}.ui-button--accent:hover:not(:disabled){background:var(--ui-color-accent-hover)}.ui-button--accent:active:not(:disabled){background:var(--ui-color-accent-active)}.ui-button--warn{background:var(--ui-color-warn);color:var(--ui-color-warn-contrast)}.ui-button--warn:hover:not(:disabled){background:var(--ui-color-warn-hover)}.ui-button--warn:active:not(:disabled){background:var(--ui-color-warn-active)}.ui-button--neutral{background:var(--ui-color-neutral-200);color:var(--ui-color-text)}.ui-button--neutral:hover:not(:disabled){background:var(--ui-color-neutral-300)}.ui-button--neutral:active:not(:disabled){background:var(--ui-color-neutral-400);color:var(--ui-color-text-inverse)}.ui-button--ghost{background:transparent;color:var(--ui-color-text-secondary)}.ui-button--ghost:hover:not(:disabled){background:var(--ui-color-surface-hover);color:var(--ui-color-text)}.ui-button--ghost:active:not(:disabled){background:var(--ui-color-neutral-200)}.ui-button--outline{background:transparent;color:var(--ui-color-primary);border:1.5px solid var(--ui-color-border-strong)}.ui-button--outline:hover:not(:disabled){background:var(--ui-color-primary-light);border-color:var(--ui-color-primary)}.ui-button--outline:active:not(:disabled){background:var(--ui-color-primary-light);border-color:var(--ui-color-primary-hover)}.ui-button--loading{cursor:wait;pointer-events:none}.ui-button__content{display:inline-flex;align-items:center;gap:inherit;transition:visibility var(--ui-transition-fast)}.ui-button__content--hidden{visibility:hidden}.ui-button__label{line-height:1;background-color:transparent!important}.ui-button__spinner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ui-button__spinner{width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-button-spin .6s linear infinite}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.ui-button__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i2.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 }); }
|
|
120
|
+
}
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiButtonComponent, decorators: [{
|
|
122
|
+
type: Component,
|
|
123
|
+
args: [{ selector: 'ui-button', standalone: true, imports: [MatTooltipModule, LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
124
|
+
class: 'ui-button-host',
|
|
125
|
+
'[class.ui-button-host--full-width]': 'fullWidth',
|
|
126
|
+
}, template: `
|
|
127
|
+
<button
|
|
128
|
+
[type]="type"
|
|
129
|
+
[class]="buttonClasses"
|
|
130
|
+
[disabled]="disabled || loading"
|
|
131
|
+
[attr.aria-label]="effectiveAriaLabel || null"
|
|
132
|
+
[attr.aria-busy]="loading || null"
|
|
133
|
+
[matTooltip]="tooltip"
|
|
134
|
+
>
|
|
135
|
+
<span class="ui-button__content" [class.ui-button__content--hidden]="loading">
|
|
136
|
+
@if (icon && iconPosition === 'leading') {
|
|
137
|
+
<lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
|
|
138
|
+
}
|
|
139
|
+
@if (label) {
|
|
140
|
+
<span class="ui-button__label">{{ label }}</span>
|
|
141
|
+
}
|
|
142
|
+
<ng-content />
|
|
143
|
+
@if (icon && iconPosition === 'trailing') {
|
|
144
|
+
<lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
|
|
145
|
+
}
|
|
146
|
+
</span>
|
|
147
|
+
@if (loading) {
|
|
148
|
+
<span class="ui-button__spinner-overlay">
|
|
149
|
+
<span class="ui-button__spinner" aria-hidden="true"></span>
|
|
150
|
+
<span class="ui-button__sr-only">Loading</span>
|
|
151
|
+
</span>
|
|
152
|
+
}
|
|
153
|
+
</button>
|
|
154
|
+
`, styles: [".ui-button-host{display:inline-flex}.ui-button-host--full-width{display:flex;width:100%}.ui-button{appearance:none;border:none;cursor:pointer;font-family:var(--ui-font-family);font-weight:var(--ui-font-weight-medium);letter-spacing:.01em;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ui-radius-md);white-space:nowrap;text-decoration:none;overflow:hidden;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast),border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast),opacity var(--ui-transition-fast)}.ui-button:focus{outline:none}.ui-button:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--full-width{width:100%}.ui-button--xs{height:28px;padding:0 var(--ui-spacing-2);font-size:var(--ui-font-size-xs);border-radius:var(--ui-radius-sm);gap:var(--ui-spacing-1)}.ui-button--sm{height:32px;padding:0 var(--ui-spacing-3);font-size:var(--ui-font-size-xs);gap:6px}.ui-button--md{height:36px;padding:0 var(--ui-spacing-4);font-size:var(--ui-font-size-sm);gap:var(--ui-spacing-2)}.ui-button--lg{height:40px;padding:0 var(--ui-spacing-5);font-size:var(--ui-font-size-sm);gap:var(--ui-spacing-2)}.ui-button--xl{height:48px;padding:0 var(--ui-spacing-6);font-size:var(--ui-font-size-md);gap:var(--ui-spacing-3)}.ui-button--icon-only.ui-button--xs{width:28px;padding:0}.ui-button--icon-only.ui-button--sm{width:32px;padding:0}.ui-button--icon-only.ui-button--md{width:36px;padding:0}.ui-button--icon-only.ui-button--lg{width:40px;padding:0}.ui-button--icon-only.ui-button--xl{width:48px;padding:0}.ui-button--primary{background:var(--ui-color-primary);color:var(--ui-color-primary-contrast)}.ui-button--primary:hover:not(:disabled){background:var(--ui-color-primary-hover)}.ui-button--primary:active:not(:disabled){background:var(--ui-color-primary-active)}.ui-button--accent{background:var(--ui-color-accent);color:var(--ui-color-accent-contrast)}.ui-button--accent:hover:not(:disabled){background:var(--ui-color-accent-hover)}.ui-button--accent:active:not(:disabled){background:var(--ui-color-accent-active)}.ui-button--warn{background:var(--ui-color-warn);color:var(--ui-color-warn-contrast)}.ui-button--warn:hover:not(:disabled){background:var(--ui-color-warn-hover)}.ui-button--warn:active:not(:disabled){background:var(--ui-color-warn-active)}.ui-button--neutral{background:var(--ui-color-neutral-200);color:var(--ui-color-text)}.ui-button--neutral:hover:not(:disabled){background:var(--ui-color-neutral-300)}.ui-button--neutral:active:not(:disabled){background:var(--ui-color-neutral-400);color:var(--ui-color-text-inverse)}.ui-button--ghost{background:transparent;color:var(--ui-color-text-secondary)}.ui-button--ghost:hover:not(:disabled){background:var(--ui-color-surface-hover);color:var(--ui-color-text)}.ui-button--ghost:active:not(:disabled){background:var(--ui-color-neutral-200)}.ui-button--outline{background:transparent;color:var(--ui-color-primary);border:1.5px solid var(--ui-color-border-strong)}.ui-button--outline:hover:not(:disabled){background:var(--ui-color-primary-light);border-color:var(--ui-color-primary)}.ui-button--outline:active:not(:disabled){background:var(--ui-color-primary-light);border-color:var(--ui-color-primary-hover)}.ui-button--loading{cursor:wait;pointer-events:none}.ui-button__content{display:inline-flex;align-items:center;gap:inherit;transition:visibility var(--ui-transition-fast)}.ui-button__content--hidden{visibility:hidden}.ui-button__label{line-height:1;background-color:transparent!important}.ui-button__spinner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ui-button__spinner{width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-button-spin .6s linear infinite}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.ui-button__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"] }]
|
|
155
|
+
}], propDecorators: { label: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], tooltip: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], variant: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], size: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], icon: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], iconPosition: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], loading: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], disabled: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], fullWidth: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], type: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], ariaLabel: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], customClass: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}] } });
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJckQsdUVBQXVFO0FBQ3ZFLE1BQU0sYUFBYSxHQUEyQjtJQUM1QyxFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0NBQ1AsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBMENILE1BQU0sT0FBTyxpQkFBaUI7SUF6QzlCO1FBMENFLHlCQUF5QjtRQUNoQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRXBCLG1FQUFtRTtRQUMxRCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRXRCLDRCQUE0QjtRQUNuQixZQUFPLEdBQWMsU0FBUyxDQUFDO1FBRXhDLG9CQUFvQjtRQUNYLFNBQUksR0FBVyxJQUFJLENBQUM7UUFLN0IsMkNBQTJDO1FBQ2xDLGlCQUFZLEdBQW1CLFVBQVUsQ0FBQztRQUVuRCx3RkFBd0Y7UUFDL0UsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUV6QixzQ0FBc0M7UUFDN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQiw2Q0FBNkM7UUFDcEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQixrQ0FBa0M7UUFDekIsU0FBSSxHQUFrQyxRQUFRLENBQUM7S0E0Q3pEO0lBcENDOzs7O09BSUc7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3hDLElBQUksUUFBUTtZQUFFLE9BQU8sUUFBUSxDQUFDO1FBRTlCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUV6QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFakMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxJQUFJLFFBQVE7UUFDVixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsSUFBSSxhQUFhO1FBQ2YsT0FBTztZQUNMLFdBQVc7WUFDWCxjQUFjLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDNUIsY0FBYyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN0RCxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUU7U0FDdkI7YUFDRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzsrR0F4RVUsaUJBQWlCO21HQUFqQixpQkFBaUIsb2JBL0JsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVCx3b0lBbkNTLGdCQUFnQiw0VEFBRSxtQkFBbUI7OzRGQXNDcEMsaUJBQWlCO2tCQXpDN0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsbUJBQy9CLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsb0NBQW9DLEVBQUUsV0FBVztxQkFDbEQsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVDs4QkFLUSxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTHVjaWRlQW5ndWxhck1vZHVsZSB9IGZyb20gJ2x1Y2lkZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgVWlWYXJpYW50LCBVaVNpemUsIFVpSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcclxuaW1wb3J0IHsgVWlJY29uUG9zaXRpb24gfSBmcm9tICcuL2J1dHRvbi50eXBlcyc7XHJcblxyXG4vKiogQGludGVybmFsIFNpemUtdG8taWNvbi1waXhlbCBtYXBwaW5nIGZvciBjb25zaXN0ZW50IGljb24gc2l6aW5nLiAqL1xyXG5jb25zdCBJQ09OX1NJWkVfTUFQOiBSZWNvcmQ8VWlTaXplLCBudW1iZXI+ID0ge1xyXG4gIHhzOiAxNCxcclxuICBzbTogMTYsXHJcbiAgbWQ6IDE4LFxyXG4gIGxnOiAyMCxcclxuICB4bDogMjIsXHJcbn07XHJcblxyXG4vKipcclxuICogU3RhbmRhbG9uZSBidXR0b24gY29tcG9uZW50IHdpdGggZGVzaWduLXRva2VuLWRyaXZlbiB0aGVtaW5nLFxyXG4gKiB2YXJpYW50L3NpemUgc3lzdGVtLCBMdWNpZGUgaWNvbiBzdXBwb3J0LCBsb2FkaW5nIHN0YXRlcywgYW5kIFdDQUcgMi4xIEFBIGFjY2Vzc2liaWxpdHkuXHJcbiAqXHJcbiAqIFVzZXMgbmF0aXZlIGA8YnV0dG9uPmAgY2xpY2sgZXZlbnRzIOKAlCBsaXN0ZW4gd2l0aCBgKGNsaWNrKWAgb24gdGhlIGhvc3QgZWxlbWVudC5cclxuICpcclxuICogQHNlbGVjdG9yIHVpLWJ1dHRvblxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDwhLS0gQmFzaWMgLS0+XHJcbiAqIDx1aS1idXR0b24gbGFiZWw9XCJTYXZlXCIgdmFyaWFudD1cInByaW1hcnlcIiBpY29uPVwic2F2ZVwiIChjbGljayk9XCJzYXZlKClcIiAvPlxyXG4gKlxyXG4gKiA8IS0tIExvYWRpbmcgLS0+XHJcbiAqIDx1aS1idXR0b24gbGFiZWw9XCJTdWJtaXR0aW5nLi4uXCIgdmFyaWFudD1cInByaW1hcnlcIiBbbG9hZGluZ109XCJ0cnVlXCIgLz5cclxuICpcclxuICogPCEtLSBJY29uLW9ubHk6IHRvb2x0aXAgbyBhcmlhTGFiZWwgZm9ybmlzY29ubyBpbCBub21lIGFjY2Vzc2liaWxlIC0tPlxyXG4gKiA8dWktYnV0dG9uIGljb249XCJ0cmFzaC0yXCIgdmFyaWFudD1cIndhcm5cIiB0b29sdGlwPVwiRWxpbWluYVwiIChjbGljayk9XCJkZWxldGUoKVwiIC8+XHJcbiAqIGBgYFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1idXR0b24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdFRvb2x0aXBNb2R1bGUsIEx1Y2lkZUFuZ3VsYXJNb2R1bGVdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICd1aS1idXR0b24taG9zdCcsXHJcbiAgICAnW2NsYXNzLnVpLWJ1dHRvbi1ob3N0LS1mdWxsLXdpZHRoXSc6ICdmdWxsV2lkdGgnLFxyXG4gIH0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxidXR0b25cclxuICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgIFtjbGFzc109XCJidXR0b25DbGFzc2VzXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImVmZmVjdGl2ZUFyaWFMYWJlbCB8fCBudWxsXCJcclxuICAgICAgW2F0dHIuYXJpYS1idXN5XT1cImxvYWRpbmcgfHwgbnVsbFwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInVpLWJ1dHRvbl9fY29udGVudFwiIFtjbGFzcy51aS1idXR0b25fX2NvbnRlbnQtLWhpZGRlbl09XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgQGlmIChpY29uICYmIGljb25Qb3NpdGlvbiA9PT0gJ2xlYWRpbmcnKSB7XHJcbiAgICAgICAgICA8bHVjaWRlLWljb24gW25hbWVdPVwiaWNvbiFcIiBbc2l6ZV09XCJpY29uU2l6ZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFiZWwpIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidWktYnV0dG9uX19sYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8bmctY29udGVudCAvPlxyXG4gICAgICAgIEBpZiAoaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICd0cmFpbGluZycpIHtcclxuICAgICAgICAgIDxsdWNpZGUtaWNvbiBbbmFtZV09XCJpY29uIVwiIFtzaXplXT1cImljb25TaXplXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cclxuICAgICAgICB9XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1idXR0b25fX3NwaW5uZXItb3ZlcmxheVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1idXR0b25fX3NwaW5uZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVpLWJ1dHRvbl9fc3Itb25seVwiPkxvYWRpbmc8L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L2J1dHRvbj5cclxuICBgLFxyXG4gIHN0eWxlVXJsOiAnLi9idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlCdXR0b25Db21wb25lbnQge1xyXG4gIC8qKiBCdXR0b24gbGFiZWwgdGV4dC4gKi9cclxuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xyXG5cclxuICAvKiogVG9vbHRpcCB0ZXh0IHNob3duIG9uIGhvdmVyICh1c2VzIEFuZ3VsYXIgTWF0ZXJpYWwgdG9vbHRpcCkuICovXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnO1xyXG5cclxuICAvKiogVmlzdWFsIHN0eWxlIHZhcmlhbnQuICovXHJcbiAgQElucHV0KCkgdmFyaWFudDogVWlWYXJpYW50ID0gJ3ByaW1hcnknO1xyXG5cclxuICAvKiogU2l6ZSB2YXJpYW50LiAqL1xyXG4gIEBJbnB1dCgpIHNpemU6IFVpU2l6ZSA9ICdtZCc7XHJcblxyXG4gIC8qKiBMdWNpZGUgaWNvbiBuYW1lLiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucyAqL1xyXG4gIEBJbnB1dCgpIGljb24/OiBVaUljb25OYW1lO1xyXG5cclxuICAvKiogSWNvbiBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGFiZWwuICovXHJcbiAgQElucHV0KCkgaWNvblBvc2l0aW9uOiBVaUljb25Qb3NpdGlvbiA9ICd0cmFpbGluZyc7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRoZSBidXR0b24gaXMgaW4gYSBsb2FkaW5nIHN0YXRlLiBEaXNhYmxlcyBpbnRlcmFjdGlvbiBhbmQgc2hvd3Mgc3Bpbm5lci4gKi9cclxuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRoZSBidXR0b24gaXMgZGlzYWJsZWQuICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqIEV4cGFuZCBidXR0b24gdG8gZnVsbCBjb250YWluZXIgd2lkdGguICovXHJcbiAgQElucHV0KCkgZnVsbFdpZHRoID0gZmFsc2U7XHJcblxyXG4gIC8qKiBIVE1MIGJ1dHRvbiB0eXBlIGF0dHJpYnV0ZS4gKi9cclxuICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xyXG5cclxuICAvKiogQWNjZXNzaWJsZSBsYWJlbCBvdmVycmlkZSAocmVxdWlyZWQgZm9yIGljb24tb25seSBidXR0b25zKS4gKi9cclxuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzcyBmb3IgZWRnZSBjYXNlcy4gKi9cclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogTm9tZSBhY2Nlc3NpYmlsZSByaXNvbHRvIHBlciBpbCBwdWxzYW50ZSBuYXRpdm8uXHJcbiAgICogVXNhIGBhcmlhTGFiZWxgIHNlIGltcG9zdGF0bzsgcGVyIHB1bHNhbnRpIHNvbG8gaWNvbmEgc2VuemEgdGVzdG8gdmlzaWJpbGVcclxuICAgKiByaWNhZGUgc3VsIGB0b29sdGlwYCAoaWwgdG9vbHRpcCBNYXRlcmlhbCBub24gc29zdGl0dWlzY2UgaWwgbm9tZSBhY2Nlc3NpYmlsZSkuXHJcbiAgICovXHJcbiAgZ2V0IGVmZmVjdGl2ZUFyaWFMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgZXhwbGljaXQgPSB0aGlzLmFyaWFMYWJlbD8udHJpbSgpO1xyXG4gICAgaWYgKGV4cGxpY2l0KSByZXR1cm4gZXhwbGljaXQ7XHJcblxyXG4gICAgaWYgKHRoaXMubGFiZWw/LnRyaW0oKSkgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICBjb25zdCB0aXAgPSB0aGlzLnRvb2x0aXA/LnRyaW0oKTtcclxuICAgIGlmICh0aGlzLmljb24gJiYgdGlwKSByZXR1cm4gdGlwO1xyXG5cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKiogQ29tcHV0ZWQgaWNvbiBwaXhlbCBzaXplIGJhc2VkIG9uIGJ1dHRvbiBzaXplLiAqL1xyXG4gIGdldCBpY29uU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIElDT05fU0laRV9NQVBbdGhpcy5zaXplXSA/PyAxODtcclxuICB9XHJcblxyXG4gIC8qKiBBc3NlbWJsZWQgQ1NTIGNsYXNzIHN0cmluZyBmb3IgdGhlIG5hdGl2ZSBidXR0b24gZWxlbWVudC4gKi9cclxuICBnZXQgYnV0dG9uQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJ3VpLWJ1dHRvbicsXHJcbiAgICAgIGB1aS1idXR0b24tLSR7dGhpcy52YXJpYW50fWAsXHJcbiAgICAgIGB1aS1idXR0b24tLSR7dGhpcy5zaXplfWAsXHJcbiAgICAgIHRoaXMubG9hZGluZyA/ICd1aS1idXR0b24tLWxvYWRpbmcnIDogJycsXHJcbiAgICAgIHRoaXMuZnVsbFdpZHRoID8gJ3VpLWJ1dHRvbi0tZnVsbC13aWR0aCcgOiAnJyxcclxuICAgICAgIXRoaXMubGFiZWwgJiYgdGhpcy5pY29uID8gJ3VpLWJ1dHRvbi0taWNvbi1vbmx5JyA6ICcnLFxyXG4gICAgICB0aGlzLmN1c3RvbUNsYXNzID8/ICcnLFxyXG4gICAgXVxyXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgIC5qb2luKCcgJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ng-ui-system/button
|
|
3
|
+
* Types and interfaces for UiButton and UiButtonArea components.
|
|
4
|
+
*/
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vYnV0dG9uXG4gKiBUeXBlcyBhbmQgaW50ZXJmYWNlcyBmb3IgVWlCdXR0b24gYW5kIFVpQnV0dG9uQXJlYSBjb21wb25lbnRzLlxuICovXG5cbmltcG9ydCB7IFVpVmFyaWFudCwgVWlTaXplLCBVaUljb25OYW1lIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5cbi8vIFJlLWV4cG9ydCBmb3IgY29uc3VtZXIgY29udmVuaWVuY2VcbmV4cG9ydCB7IFVpVmFyaWFudCwgVWlTaXplLCBVaUljb25OYW1lIH07XG5cbi8qKlxuICogUG9zaXRpb24gb2YgdGhlIGljb24gcmVsYXRpdmUgdG8gdGhlIGJ1dHRvbiBsYWJlbC5cbiAqL1xuZXhwb3J0IHR5cGUgVWlJY29uUG9zaXRpb24gPSAnbGVhZGluZycgfCAndHJhaWxpbmcnO1xuXG4vKipcbiAqIERlc2NyaXB0b3IgZm9yIGRlY2xhcmF0aXZlIGJ1dHRvbiBjb25maWd1cmF0aW9uIGluIFVpQnV0dG9uQXJlYS5cbiAqXG4gKiBBbGxvd3MgZGVmaW5pbmcgYnV0dG9uIGdyb3VwcyBhcyBkYXRhIHN0cnVjdHVyZXMsIGVuYWJsaW5nXG4gKiBkeW5hbWljIFVJIHVwZGF0ZXMgdGhyb3VnaCBjb25maWd1cmF0aW9uIG1hbmlwdWxhdGlvbi5cbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqICMjIyBCYXNpYyB1c2FnZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYWN0aW9uczogVWlCdXR0b25EZXNjcmlwdG9yW10gPSBbXG4gKiAgIHsgaWQ6ICdzYXZlJywgbGFiZWw6ICdTYXZlJywgdmFyaWFudDogJ3ByaW1hcnknLCBpY29uOiAnc2F2ZScsIGFjdGlvbjogKCkgPT4gdGhpcy5zYXZlKCkgfSxcbiAqICAgeyBpZDogJ2NhbmNlbCcsIGxhYmVsOiAnQ2FuY2VsJywgdmFyaWFudDogJ291dGxpbmUnLCBhY3Rpb246ICgpID0+IHRoaXMuY2FuY2VsKCkgfSxcbiAqIF07XG4gKiBgYGBcbiAqXG4gKiAjIyMgRHluYW1pYyBsb2FkaW5nIHN0YXRlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBUb2dnbGUgbG9hZGluZyBvbiBhIHNwZWNpZmljIGJ1dHRvbiBieSBtdXRhdGluZyB0aGUgZGVzY3JpcHRvcjpcbiAqIHRoaXMuYWN0aW9uc1swXS5sb2FkaW5nID0gdHJ1ZTtcbiAqXG4gKiAvLyBPciB1c2UgbG9hZGluZ0lkcyBvbiB0aGUgYnV0dG9uIGFyZWE6XG4gKiB0aGlzLmN1cnJlbnRMb2FkaW5nSWRzID0gWydzYXZlJ107XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaUJ1dHRvbkRlc2NyaXB0b3Ige1xuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHByb2dyYW1tYXRpYyBzdGF0ZSBjb250cm9sIChsb2FkaW5nLCBkaXNhYmxlZCkuICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKiBCdXR0b24gbGFiZWwgdGV4dC4gKi9cbiAgbGFiZWw6IHN0cmluZztcblxuICAvKiogVG9vbHRpcCB0ZXh0IHNob3duIG9uIGhvdmVyLiAqL1xuICB0b29sdGlwPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOb21lIGFjY2Vzc2liaWxlIGVzcGxpY2l0byAob3ZlcnJpZGUpLlxuICAgKiBQZXIgcHVsc2FudGkgc29sbyBpY29uYSBzZW56YSBgbGFiZWxgLCBzZSBvbWVzc28gc2kgdXNhIGB0b29sdGlwYCBjb21lIGBhcmlhLWxhYmVsYC5cbiAgICovXG4gIGFyaWFMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogQ2xpY2sgaGFuZGxlci4gU3VwcG9ydHMgYm90aCBzeW5jIGFuZCBhc3luYyBjYWxsYmFja3MuXG4gICAqIFJlY2VpdmVzIHRoZSBuYXRpdmUgTW91c2VFdmVudCBhcyBhcmd1bWVudC5cbiAgICovXG4gIGFjdGlvbj86IChldmVudD86IE1vdXNlRXZlbnQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKiBMdWNpZGUgaWNvbiBuYW1lLiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucyAqL1xuICBpY29uPzogVWlJY29uTmFtZTtcblxuICAvKiogSWNvbiBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGFiZWwuIEBkZWZhdWx0ICd0cmFpbGluZycgKi9cbiAgaWNvblBvc2l0aW9uPzogVWlJY29uUG9zaXRpb247XG5cbiAgLyoqIFZpc3VhbCB2YXJpYW50LiBAZGVmYXVsdCAncHJpbWFyeScgKi9cbiAgdmFyaWFudD86IFVpVmFyaWFudDtcblxuICAvKiogU2l6ZSB2YXJpYW50LiBAZGVmYXVsdCAnbWQnICovXG4gIHNpemU/OiBVaVNpemU7XG5cbiAgLyoqIE5hdmlnYXRpb24gVVJMIChBbmd1bGFyIFJvdXRlciBuYXZpZ2F0ZUJ5VXJsKS4gKi9cbiAgaHJlZj86IHN0cmluZztcblxuICAvKiogV2hldGhlciB0aGlzIGJ1dHRvbiBpcyBpbiBhIGxvYWRpbmcgc3RhdGUuICovXG4gIGxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKiBXaGV0aGVyIHRoaXMgYnV0dG9uIGlzIGRpc2FibGVkLiAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBidXR0b24gaXMgaGlkZGVuIGZyb20gdGhlIFVJLiAqL1xuICBoaWRkZW4/OiBib29sZWFuO1xuXG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzcyBmb3IgZWRnZSBjYXNlcy4gKi9cbiAgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWxpZ25tZW50IG9wdGlvbnMgZm9yIFVpQnV0dG9uQXJlYS5cbiAqL1xuZXhwb3J0IHR5cGUgVWlCdXR0b25BcmVhQWxpZ24gPSAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJyB8ICdiZXR3ZWVuJztcbiJdfQ==
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { LucideAngularModule } from 'lucide-angular';
|
|
4
|
+
import { UiButtonComponent } from '../button/button.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "lucide-angular";
|
|
7
|
+
/** @internal Mappatura variante -> icona Lucide di default. */
|
|
8
|
+
const VARIANT_ICON_MAP = {
|
|
9
|
+
confirm: 'check-circle',
|
|
10
|
+
delete: 'trash-2',
|
|
11
|
+
warn: 'alert-triangle',
|
|
12
|
+
info: 'info',
|
|
13
|
+
};
|
|
14
|
+
/** @internal Mappatura variante -> colore pulsante di conferma. */
|
|
15
|
+
const VARIANT_BUTTON_MAP = {
|
|
16
|
+
confirm: 'primary',
|
|
17
|
+
delete: 'warn',
|
|
18
|
+
warn: 'warn',
|
|
19
|
+
info: 'primary',
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Dialogo di conferma leggero per azioni condizionali.
|
|
23
|
+
*
|
|
24
|
+
* Non va utilizzato direttamente nel template: viene aperto
|
|
25
|
+
* programmaticamente tramite `UiModalService.confirm()` e i suoi
|
|
26
|
+
* metodi scorciatoia (`confirmDelete`, `confirmDiscard`, `confirmSave`).
|
|
27
|
+
*
|
|
28
|
+
* Supporta quattro varianti semantiche — confirm, delete, warn, info —
|
|
29
|
+
* ciascuna con icona e colore preconfigurati.
|
|
30
|
+
*
|
|
31
|
+
* @selector ui-confirm-dialog
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* // Apertura tramite servizio
|
|
36
|
+
* this.modalService.confirm({
|
|
37
|
+
* title: 'Conferma eliminazione',
|
|
38
|
+
* message: 'Questa azione non puo essere annullata.',
|
|
39
|
+
* variant: 'delete',
|
|
40
|
+
* }).subscribe(confirmed => {
|
|
41
|
+
* if (confirmed) this.deleteItem();
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export class UiConfirmDialogComponent {
|
|
46
|
+
constructor() {
|
|
47
|
+
/** @internal Dati iniettati dal servizio modale. */
|
|
48
|
+
this.data = inject(MAT_DIALOG_DATA);
|
|
49
|
+
/** @internal Riferimento al dialogo per la chiusura. */
|
|
50
|
+
this.dialogRef = inject(MatDialogRef);
|
|
51
|
+
}
|
|
52
|
+
/** Variante semantica corrente. */
|
|
53
|
+
get variant() {
|
|
54
|
+
return this.data.variant || 'confirm';
|
|
55
|
+
}
|
|
56
|
+
/** Nome icona Lucide da visualizzare. */
|
|
57
|
+
get iconName() {
|
|
58
|
+
return this.data.icon || VARIANT_ICON_MAP[this.variant];
|
|
59
|
+
}
|
|
60
|
+
/** Variante del pulsante di conferma. */
|
|
61
|
+
get confirmButtonVariant() {
|
|
62
|
+
return VARIANT_BUTTON_MAP[this.variant];
|
|
63
|
+
}
|
|
64
|
+
/** Classi CSS per il contenitore icona. */
|
|
65
|
+
get iconClasses() {
|
|
66
|
+
return `ui-confirm-dialog__icon ui-confirm-dialog__icon--${this.variant}`;
|
|
67
|
+
}
|
|
68
|
+
/** Conferma e chiude il dialogo con `true`. */
|
|
69
|
+
confirm() {
|
|
70
|
+
this.dialogRef.close(true);
|
|
71
|
+
}
|
|
72
|
+
/** Annulla e chiude il dialogo con `false`. */
|
|
73
|
+
cancel() {
|
|
74
|
+
this.dialogRef.close(false);
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiConfirmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiConfirmDialogComponent, isStandalone: true, selector: "ui-confirm-dialog", host: { attributes: { "role": "alertdialog", "aria-modal": "true" }, properties: { "attr.aria-labelledby": "\"ui-confirm-title\"", "attr.aria-describedby": "\"ui-confirm-message\"" }, classAttribute: "ui-confirm-dialog-host" }, ngImport: i0, template: `
|
|
78
|
+
<div class="ui-confirm-dialog">
|
|
79
|
+
<!-- Icona -->
|
|
80
|
+
<div [class]="iconClasses">
|
|
81
|
+
<lucide-icon [name]="iconName" [size]="32" aria-hidden="true" />
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<!-- Contenuto -->
|
|
85
|
+
<div class="ui-confirm-dialog__content">
|
|
86
|
+
@if (data.title) {
|
|
87
|
+
<h3 class="ui-confirm-dialog__title" id="ui-confirm-title">{{ data.title }}</h3>
|
|
88
|
+
}
|
|
89
|
+
<p class="ui-confirm-dialog__message" id="ui-confirm-message">{{ data.message }}</p>
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
<!-- Azioni -->
|
|
93
|
+
<div class="ui-confirm-dialog__actions">
|
|
94
|
+
<ui-button
|
|
95
|
+
[label]="data.cancelText || 'Annulla'"
|
|
96
|
+
variant="ghost"
|
|
97
|
+
size="md"
|
|
98
|
+
(click)="cancel()"
|
|
99
|
+
/>
|
|
100
|
+
<ui-button
|
|
101
|
+
[label]="data.confirmText || 'Conferma'"
|
|
102
|
+
[variant]="confirmButtonVariant"
|
|
103
|
+
size="md"
|
|
104
|
+
(click)="confirm()"
|
|
105
|
+
/>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
`, isInline: true, styles: [".ui-confirm-dialog-host{display:block}.ui-confirm-dialog{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--ui-spacing-8) var(--ui-spacing-6);background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg)}.ui-confirm-dialog__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--ui-radius-full);margin-bottom:var(--ui-spacing-4)}.ui-confirm-dialog__icon--confirm{background:var(--ui-color-primary-light);color:var(--ui-color-primary)}.ui-confirm-dialog__icon--delete{background:var(--ui-color-warn-light);color:var(--ui-color-warn)}.ui-confirm-dialog__icon--warn{background:var(--ui-color-warning-light);color:var(--ui-color-warning)}.ui-confirm-dialog__icon--info{background:var(--ui-color-info-light);color:var(--ui-color-info)}.ui-confirm-dialog__content{margin-bottom:var(--ui-spacing-6)}.ui-confirm-dialog__title{margin:0 0 var(--ui-spacing-2);font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight)}.ui-confirm-dialog__message{margin:0;font-size:var(--ui-font-size-sm);color:var(--ui-color-text-secondary);line-height:var(--ui-line-height-normal);max-width:340px}.ui-confirm-dialog__actions{display:flex;gap:var(--ui-spacing-2);width:100%;justify-content:center}.ui-confirm-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: transparent;--mdc-dialog-container-shape: var(--ui-radius-lg)}.ui-confirm-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:transparent!important;box-shadow:none!important;border-radius:var(--ui-radius-lg)!important;overflow:visible}@media (max-width: 480px){.ui-confirm-dialog{padding:var(--ui-spacing-6) var(--ui-spacing-4)}.ui-confirm-dialog__actions{flex-direction:column-reverse;gap:var(--ui-spacing-2)}.ui-confirm-dialog__actions .ui-button-host{width:100%}}.ui-modal-backdrop{background:var(--ui-color-backdrop)}.ui-confirm-backdrop--stacked{background:#0000004d}\n"], dependencies: [{ 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"] }, { kind: "component", type: UiButtonComponent, selector: "ui-button", inputs: ["label", "tooltip", "variant", "size", "icon", "iconPosition", "loading", "disabled", "fullWidth", "type", "ariaLabel", "customClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
109
|
+
}
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiConfirmDialogComponent, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{ selector: 'ui-confirm-dialog', standalone: true, imports: [LucideAngularModule, UiButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
113
|
+
class: 'ui-confirm-dialog-host',
|
|
114
|
+
role: 'alertdialog',
|
|
115
|
+
'aria-modal': 'true',
|
|
116
|
+
'[attr.aria-labelledby]': '"ui-confirm-title"',
|
|
117
|
+
'[attr.aria-describedby]': '"ui-confirm-message"',
|
|
118
|
+
}, template: `
|
|
119
|
+
<div class="ui-confirm-dialog">
|
|
120
|
+
<!-- Icona -->
|
|
121
|
+
<div [class]="iconClasses">
|
|
122
|
+
<lucide-icon [name]="iconName" [size]="32" aria-hidden="true" />
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
<!-- Contenuto -->
|
|
126
|
+
<div class="ui-confirm-dialog__content">
|
|
127
|
+
@if (data.title) {
|
|
128
|
+
<h3 class="ui-confirm-dialog__title" id="ui-confirm-title">{{ data.title }}</h3>
|
|
129
|
+
}
|
|
130
|
+
<p class="ui-confirm-dialog__message" id="ui-confirm-message">{{ data.message }}</p>
|
|
131
|
+
</div>
|
|
132
|
+
|
|
133
|
+
<!-- Azioni -->
|
|
134
|
+
<div class="ui-confirm-dialog__actions">
|
|
135
|
+
<ui-button
|
|
136
|
+
[label]="data.cancelText || 'Annulla'"
|
|
137
|
+
variant="ghost"
|
|
138
|
+
size="md"
|
|
139
|
+
(click)="cancel()"
|
|
140
|
+
/>
|
|
141
|
+
<ui-button
|
|
142
|
+
[label]="data.confirmText || 'Conferma'"
|
|
143
|
+
[variant]="confirmButtonVariant"
|
|
144
|
+
size="md"
|
|
145
|
+
(click)="confirm()"
|
|
146
|
+
/>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
`, styles: [".ui-confirm-dialog-host{display:block}.ui-confirm-dialog{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--ui-spacing-8) var(--ui-spacing-6);background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg)}.ui-confirm-dialog__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--ui-radius-full);margin-bottom:var(--ui-spacing-4)}.ui-confirm-dialog__icon--confirm{background:var(--ui-color-primary-light);color:var(--ui-color-primary)}.ui-confirm-dialog__icon--delete{background:var(--ui-color-warn-light);color:var(--ui-color-warn)}.ui-confirm-dialog__icon--warn{background:var(--ui-color-warning-light);color:var(--ui-color-warning)}.ui-confirm-dialog__icon--info{background:var(--ui-color-info-light);color:var(--ui-color-info)}.ui-confirm-dialog__content{margin-bottom:var(--ui-spacing-6)}.ui-confirm-dialog__title{margin:0 0 var(--ui-spacing-2);font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight)}.ui-confirm-dialog__message{margin:0;font-size:var(--ui-font-size-sm);color:var(--ui-color-text-secondary);line-height:var(--ui-line-height-normal);max-width:340px}.ui-confirm-dialog__actions{display:flex;gap:var(--ui-spacing-2);width:100%;justify-content:center}.ui-confirm-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: transparent;--mdc-dialog-container-shape: var(--ui-radius-lg)}.ui-confirm-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:transparent!important;box-shadow:none!important;border-radius:var(--ui-radius-lg)!important;overflow:visible}@media (max-width: 480px){.ui-confirm-dialog{padding:var(--ui-spacing-6) var(--ui-spacing-4)}.ui-confirm-dialog__actions{flex-direction:column-reverse;gap:var(--ui-spacing-2)}.ui-confirm-dialog__actions .ui-button-host{width:100%}}.ui-modal-backdrop{background:var(--ui-color-backdrop)}.ui-confirm-backdrop--stacked{background:#0000004d}\n"] }]
|
|
150
|
+
}] });
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9jb25maXJtLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRy9ELCtEQUErRDtBQUMvRCxNQUFNLGdCQUFnQixHQUF5QztJQUM3RCxPQUFPLEVBQUUsY0FBYztJQUN2QixNQUFNLEVBQUUsU0FBUztJQUNqQixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLElBQUksRUFBRSxNQUFNO0NBQ2IsQ0FBQztBQUVGLG1FQUFtRTtBQUNuRSxNQUFNLGtCQUFrQixHQUF3QztJQUM5RCxPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQWdESCxNQUFNLE9BQU8sd0JBQXdCO0lBL0NyQztRQWdERSxvREFBb0Q7UUFDM0MsU0FBSSxHQUF3QixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFN0Qsd0RBQXdEO1FBQ3ZDLGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7S0ErQm5EO0lBN0JDLG1DQUFtQztJQUNuQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELDJDQUEyQztJQUMzQyxJQUFJLFdBQVc7UUFDYixPQUFPLG9EQUFvRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVELCtDQUErQztJQUMvQyxPQUFPO1FBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELCtDQUErQztJQUMvQyxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQzsrR0FuQ1Usd0JBQXdCO21HQUF4Qix3QkFBd0IsaVRBbEN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVCw2akVBekNTLG1CQUFtQixnUEFBRSxpQkFBaUI7OzRGQTRDckMsd0JBQXdCO2tCQS9DcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsbUJBQ2hDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLHdCQUF3Qjt3QkFDL0IsSUFBSSxFQUFFLGFBQWE7d0JBQ25CLFlBQVksRUFBRSxNQUFNO3dCQUNwQix3QkFBd0IsRUFBRSxvQkFBb0I7d0JBQzlDLHlCQUF5QixFQUFFLHNCQUFzQjtxQkFDbEQsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBMdWNpZGVBbmd1bGFyTW9kdWxlIH0gZnJvbSAnbHVjaWRlLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlDb25maXJtRGlhbG9nRGF0YSwgVWlDb25maXJtVmFyaWFudCwgVWlJY29uTmFtZSwgVWlWYXJpYW50IH0gZnJvbSAnLi9tb2RhbC50eXBlcyc7XHJcblxyXG4vKiogQGludGVybmFsIE1hcHBhdHVyYSB2YXJpYW50ZSAtPiBpY29uYSBMdWNpZGUgZGkgZGVmYXVsdC4gKi9cclxuY29uc3QgVkFSSUFOVF9JQ09OX01BUDogUmVjb3JkPFVpQ29uZmlybVZhcmlhbnQsIFVpSWNvbk5hbWU+ID0ge1xyXG4gIGNvbmZpcm06ICdjaGVjay1jaXJjbGUnLFxyXG4gIGRlbGV0ZTogJ3RyYXNoLTInLFxyXG4gIHdhcm46ICdhbGVydC10cmlhbmdsZScsXHJcbiAgaW5mbzogJ2luZm8nLFxyXG59O1xyXG5cclxuLyoqIEBpbnRlcm5hbCBNYXBwYXR1cmEgdmFyaWFudGUgLT4gY29sb3JlIHB1bHNhbnRlIGRpIGNvbmZlcm1hLiAqL1xyXG5jb25zdCBWQVJJQU5UX0JVVFRPTl9NQVA6IFJlY29yZDxVaUNvbmZpcm1WYXJpYW50LCBVaVZhcmlhbnQ+ID0ge1xyXG4gIGNvbmZpcm06ICdwcmltYXJ5JyxcclxuICBkZWxldGU6ICd3YXJuJyxcclxuICB3YXJuOiAnd2FybicsXHJcbiAgaW5mbzogJ3ByaW1hcnknLFxyXG59O1xyXG5cclxuLyoqXHJcbiAqIERpYWxvZ28gZGkgY29uZmVybWEgbGVnZ2VybyBwZXIgYXppb25pIGNvbmRpemlvbmFsaS5cclxuICpcclxuICogTm9uIHZhIHV0aWxpenphdG8gZGlyZXR0YW1lbnRlIG5lbCB0ZW1wbGF0ZTogdmllbmUgYXBlcnRvXHJcbiAqIHByb2dyYW1tYXRpY2FtZW50ZSB0cmFtaXRlIGBVaU1vZGFsU2VydmljZS5jb25maXJtKClgIGUgaSBzdW9pXHJcbiAqIG1ldG9kaSBzY29yY2lhdG9pYSAoYGNvbmZpcm1EZWxldGVgLCBgY29uZmlybURpc2NhcmRgLCBgY29uZmlybVNhdmVgKS5cclxuICpcclxuICogU3VwcG9ydGEgcXVhdHRybyB2YXJpYW50aSBzZW1hbnRpY2hlIOKAlCBjb25maXJtLCBkZWxldGUsIHdhcm4sIGluZm8g4oCUXHJcbiAqIGNpYXNjdW5hIGNvbiBpY29uYSBlIGNvbG9yZSBwcmVjb25maWd1cmF0aS5cclxuICpcclxuICogQHNlbGVjdG9yIHVpLWNvbmZpcm0tZGlhbG9nXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogLy8gQXBlcnR1cmEgdHJhbWl0ZSBzZXJ2aXppb1xyXG4gKiB0aGlzLm1vZGFsU2VydmljZS5jb25maXJtKHtcclxuICogICB0aXRsZTogJ0NvbmZlcm1hIGVsaW1pbmF6aW9uZScsXHJcbiAqICAgbWVzc2FnZTogJ1F1ZXN0YSBhemlvbmUgbm9uIHB1byBlc3NlcmUgYW5udWxsYXRhLicsXHJcbiAqICAgdmFyaWFudDogJ2RlbGV0ZScsXHJcbiAqIH0pLnN1YnNjcmliZShjb25maXJtZWQgPT4ge1xyXG4gKiAgIGlmIChjb25maXJtZWQpIHRoaXMuZGVsZXRlSXRlbSgpO1xyXG4gKiB9KTtcclxuICogYGBgXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWNvbmZpcm0tZGlhbG9nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtMdWNpZGVBbmd1bGFyTW9kdWxlLCBVaUJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3VpLWNvbmZpcm0tZGlhbG9nLWhvc3QnLFxyXG4gICAgcm9sZTogJ2FsZXJ0ZGlhbG9nJyxcclxuICAgICdhcmlhLW1vZGFsJzogJ3RydWUnLFxyXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnXCJ1aS1jb25maXJtLXRpdGxlXCInLFxyXG4gICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ1widWktY29uZmlybS1tZXNzYWdlXCInLFxyXG4gIH0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ1aS1jb25maXJtLWRpYWxvZ1wiPlxyXG4gICAgICA8IS0tIEljb25hIC0tPlxyXG4gICAgICA8ZGl2IFtjbGFzc109XCJpY29uQ2xhc3Nlc1wiPlxyXG4gICAgICAgIDxsdWNpZGUtaWNvbiBbbmFtZV09XCJpY29uTmFtZVwiIFtzaXplXT1cIjMyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tIENvbnRlbnV0byAtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cInVpLWNvbmZpcm0tZGlhbG9nX19jb250ZW50XCI+XHJcbiAgICAgICAgQGlmIChkYXRhLnRpdGxlKSB7XHJcbiAgICAgICAgICA8aDMgY2xhc3M9XCJ1aS1jb25maXJtLWRpYWxvZ19fdGl0bGVcIiBpZD1cInVpLWNvbmZpcm0tdGl0bGVcIj57eyBkYXRhLnRpdGxlIH19PC9oMz5cclxuICAgICAgICB9XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ1aS1jb25maXJtLWRpYWxvZ19fbWVzc2FnZVwiIGlkPVwidWktY29uZmlybS1tZXNzYWdlXCI+e3sgZGF0YS5tZXNzYWdlIH19PC9wPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwhLS0gQXppb25pIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidWktY29uZmlybS1kaWFsb2dfX2FjdGlvbnNcIj5cclxuICAgICAgICA8dWktYnV0dG9uXHJcbiAgICAgICAgICBbbGFiZWxdPVwiZGF0YS5jYW5jZWxUZXh0IHx8ICdBbm51bGxhJ1wiXHJcbiAgICAgICAgICB2YXJpYW50PVwiZ2hvc3RcIlxyXG4gICAgICAgICAgc2l6ZT1cIm1kXCJcclxuICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8dWktYnV0dG9uXHJcbiAgICAgICAgICBbbGFiZWxdPVwiZGF0YS5jb25maXJtVGV4dCB8fCAnQ29uZmVybWEnXCJcclxuICAgICAgICAgIFt2YXJpYW50XT1cImNvbmZpcm1CdXR0b25WYXJpYW50XCJcclxuICAgICAgICAgIHNpemU9XCJtZFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiY29uZmlybSgpXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmw6ICcuL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpQ29uZmlybURpYWxvZ0NvbXBvbmVudCB7XHJcbiAgLyoqIEBpbnRlcm5hbCBEYXRpIGluaWV0dGF0aSBkYWwgc2Vydml6aW8gbW9kYWxlLiAqL1xyXG4gIHJlYWRvbmx5IGRhdGE6IFVpQ29uZmlybURpYWxvZ0RhdGEgPSBpbmplY3QoTUFUX0RJQUxPR19EQVRBKTtcclxuXHJcbiAgLyoqIEBpbnRlcm5hbCBSaWZlcmltZW50byBhbCBkaWFsb2dvIHBlciBsYSBjaGl1c3VyYS4gKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1JlZiA9IGluamVjdChNYXREaWFsb2dSZWYpO1xyXG5cclxuICAvKiogVmFyaWFudGUgc2VtYW50aWNhIGNvcnJlbnRlLiAqL1xyXG4gIGdldCB2YXJpYW50KCk6IFVpQ29uZmlybVZhcmlhbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS52YXJpYW50IHx8ICdjb25maXJtJztcclxuICB9XHJcblxyXG4gIC8qKiBOb21lIGljb25hIEx1Y2lkZSBkYSB2aXN1YWxpenphcmUuICovXHJcbiAgZ2V0IGljb25OYW1lKCk6IFVpSWNvbk5hbWUge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5pY29uIHx8IFZBUklBTlRfSUNPTl9NQVBbdGhpcy52YXJpYW50XTtcclxuICB9XHJcblxyXG4gIC8qKiBWYXJpYW50ZSBkZWwgcHVsc2FudGUgZGkgY29uZmVybWEuICovXHJcbiAgZ2V0IGNvbmZpcm1CdXR0b25WYXJpYW50KCk6IFVpVmFyaWFudCB7XHJcbiAgICByZXR1cm4gVkFSSUFOVF9CVVRUT05fTUFQW3RoaXMudmFyaWFudF07XHJcbiAgfVxyXG5cclxuICAvKiogQ2xhc3NpIENTUyBwZXIgaWwgY29udGVuaXRvcmUgaWNvbmEuICovXHJcbiAgZ2V0IGljb25DbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYHVpLWNvbmZpcm0tZGlhbG9nX19pY29uIHVpLWNvbmZpcm0tZGlhbG9nX19pY29uLS0ke3RoaXMudmFyaWFudH1gO1xyXG4gIH1cclxuXHJcbiAgLyoqIENvbmZlcm1hIGUgY2hpdWRlIGlsIGRpYWxvZ28gY29uIGB0cnVlYC4gKi9cclxuICBjb25maXJtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKiogQW5udWxsYSBlIGNoaXVkZSBpbCBkaWFsb2dvIGNvbiBgZmFsc2VgLiAqL1xyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { UiModalComponent } from './modal.component';
|
|
2
|
+
export { UiConfirmDialogComponent } from './confirm-dialog.component';
|
|
3
|
+
export { UiModalService } from './modal.service';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFVpTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFVpQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0IHsgVWlNb2RhbFNlcnZpY2UgfSBmcm9tICcuL21vZGFsLnNlcnZpY2UnO1xyXG5leHBvcnQge1xyXG4gIFVpTW9kYWxDb25maWcsXHJcbiAgVWlNb2RhbE9wZW5Db25maWcsXHJcbiAgVWlNb2RhbFNpemUsXHJcbiAgVWlDb25maXJtRGlhbG9nRGF0YSxcclxuICBVaUNvbmZpcm1WYXJpYW50LFxyXG59IGZyb20gJy4vbW9kYWwudHlwZXMnO1xyXG4iXX0=
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, inject, } from '@angular/core';
|
|
2
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { LucideAngularModule } from 'lucide-angular';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "lucide-angular";
|
|
6
|
+
/**
|
|
7
|
+
* Componente modale standalone con struttura header/body/footer.
|
|
8
|
+
*
|
|
9
|
+
* Da utilizzare come wrapper all'interno di componenti aperti
|
|
10
|
+
* tramite `UiModalService.open()`. Fornisce la struttura visuale
|
|
11
|
+
* e gestisce la chiusura programmatica.
|
|
12
|
+
*
|
|
13
|
+
* **Content projection:**
|
|
14
|
+
* - Contenuto di default: va nel body
|
|
15
|
+
* - `[uiModalHeader]`: sostituisce il titolo nell'header
|
|
16
|
+
* - `[uiModalFooter]`: azioni nel footer
|
|
17
|
+
*
|
|
18
|
+
* @selector ui-modal
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```html
|
|
22
|
+
* <ui-modal [config]="{ title: 'Dettagli', size: 'md' }">
|
|
23
|
+
* <p>Contenuto del body della modale.</p>
|
|
24
|
+
* <div uiModalFooter>
|
|
25
|
+
* <ui-button label="Chiudi" variant="ghost" (click)="close()" />
|
|
26
|
+
* <ui-button label="Salva" variant="primary" (click)="save()" />
|
|
27
|
+
* </div>
|
|
28
|
+
* </ui-modal>
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export class UiModalComponent {
|
|
32
|
+
constructor() {
|
|
33
|
+
/** Configurazione strutturale della modale. */
|
|
34
|
+
this.config = {};
|
|
35
|
+
/**
|
|
36
|
+
* Emesso quando la modale viene chiusa.
|
|
37
|
+
* Utile se il componente e usato direttamente nel template
|
|
38
|
+
* senza UiModalService.
|
|
39
|
+
*/
|
|
40
|
+
this.closed = new EventEmitter();
|
|
41
|
+
/** @internal Riferimento al dialogo Material per la chiusura. */
|
|
42
|
+
this.dialogRef = inject(MatDialogRef, { optional: true });
|
|
43
|
+
}
|
|
44
|
+
/** Chiude la modale con un risultato opzionale. */
|
|
45
|
+
close(result) {
|
|
46
|
+
if (this.dialogRef) {
|
|
47
|
+
this.dialogRef.close(result);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.closed.emit(result);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiModalComponent, isStandalone: true, selector: "ui-modal", inputs: { config: "config" }, outputs: { closed: "closed" }, host: { attributes: { "role": "dialog", "aria-modal": "true" }, properties: { "attr.aria-label": "config.title || null" }, classAttribute: "ui-modal-host" }, ngImport: i0, template: `
|
|
55
|
+
<!-- Header -->
|
|
56
|
+
@if (config.title || config.showCloseButton !== false) {
|
|
57
|
+
<div class="ui-modal__header">
|
|
58
|
+
<div class="ui-modal__header-content">
|
|
59
|
+
<ng-content select="[uiModalHeader]">
|
|
60
|
+
@if (config.title) {
|
|
61
|
+
<h2 class="ui-modal__title">{{ config.title }}</h2>
|
|
62
|
+
}
|
|
63
|
+
</ng-content>
|
|
64
|
+
</div>
|
|
65
|
+
@if (config.showCloseButton !== false) {
|
|
66
|
+
<button
|
|
67
|
+
class="ui-modal__close"
|
|
68
|
+
(click)="close()"
|
|
69
|
+
aria-label="Chiudi modale"
|
|
70
|
+
type="button"
|
|
71
|
+
>
|
|
72
|
+
<lucide-icon name="x" [size]="18" aria-hidden="true" />
|
|
73
|
+
</button>
|
|
74
|
+
}
|
|
75
|
+
</div>
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
<!-- Body -->
|
|
79
|
+
<div class="ui-modal__body">
|
|
80
|
+
<ng-content />
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<!-- Footer -->
|
|
84
|
+
@if (!config.hideFooter) {
|
|
85
|
+
<div class="ui-modal__footer">
|
|
86
|
+
<ng-content select="[uiModalFooter]" />
|
|
87
|
+
</div>
|
|
88
|
+
}
|
|
89
|
+
`, isInline: true, styles: [".ui-modal-host{display:flex;flex-direction:column;max-height:90vh;background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);overflow:hidden;box-shadow:var(--ui-shadow-lg)}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-4) var(--ui-spacing-6);border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);flex-shrink:0;gap:var(--ui-spacing-3)}.ui-modal__header-content{flex:1;min-width:0}.ui-modal__title{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-modal__close{appearance:none;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ui-radius-md);color:var(--ui-color-text-secondary);flex-shrink:0;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}.ui-modal__close:focus{outline:none}.ui-modal__close:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-modal__close:hover{background:var(--ui-color-surface-hover);color:var(--ui-color-text)}.ui-modal__close:active{background:var(--ui-color-neutral-200)}.ui-modal__body{flex:1;overflow-y:auto;padding:var(--ui-spacing-6)}.ui-modal__body::-webkit-scrollbar{width:6px}.ui-modal__body::-webkit-scrollbar-track{background:transparent}.ui-modal__body::-webkit-scrollbar-thumb{background:var(--ui-color-neutral-300);border-radius:var(--ui-radius-full)}.ui-modal__body::-webkit-scrollbar-thumb:hover{background:var(--ui-color-neutral-400)}.ui-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--ui-spacing-2);padding:var(--ui-spacing-4) var(--ui-spacing-6);border-top:1px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);flex-shrink:0}.ui-modal__footer:empty{display:none}.ui-modal-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: transparent;--mdc-dialog-container-shape: var(--ui-radius-lg)}.ui-modal-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:transparent!important;box-shadow:none!important;border-radius:var(--ui-radius-lg)!important;overflow:visible}.ui-modal-panel--sm .mat-mdc-dialog-container{max-width:400px}.ui-modal-panel--md .mat-mdc-dialog-container{max-width:560px}.ui-modal-panel--lg .mat-mdc-dialog-container{max-width:720px}.ui-modal-panel--xl .mat-mdc-dialog-container{max-width:900px}.ui-modal-panel--fullscreen .ui-modal-host{height:95vh;max-height:95vh;border-radius:var(--ui-radius-md)}.ui-modal-backdrop{background:var(--ui-color-backdrop)}.ui-confirm-backdrop--stacked{background:#0000004d}@media (max-width: 768px){.ui-modal__header,.ui-modal__footer{padding-left:var(--ui-spacing-4);padding-right:var(--ui-spacing-4)}.ui-modal__body{padding:var(--ui-spacing-4)}}\n"], dependencies: [{ 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 }); }
|
|
90
|
+
}
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiModalComponent, decorators: [{
|
|
92
|
+
type: Component,
|
|
93
|
+
args: [{ selector: 'ui-modal', standalone: true, imports: [LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
94
|
+
class: 'ui-modal-host',
|
|
95
|
+
role: 'dialog',
|
|
96
|
+
'aria-modal': 'true',
|
|
97
|
+
'[attr.aria-label]': 'config.title || null',
|
|
98
|
+
}, template: `
|
|
99
|
+
<!-- Header -->
|
|
100
|
+
@if (config.title || config.showCloseButton !== false) {
|
|
101
|
+
<div class="ui-modal__header">
|
|
102
|
+
<div class="ui-modal__header-content">
|
|
103
|
+
<ng-content select="[uiModalHeader]">
|
|
104
|
+
@if (config.title) {
|
|
105
|
+
<h2 class="ui-modal__title">{{ config.title }}</h2>
|
|
106
|
+
}
|
|
107
|
+
</ng-content>
|
|
108
|
+
</div>
|
|
109
|
+
@if (config.showCloseButton !== false) {
|
|
110
|
+
<button
|
|
111
|
+
class="ui-modal__close"
|
|
112
|
+
(click)="close()"
|
|
113
|
+
aria-label="Chiudi modale"
|
|
114
|
+
type="button"
|
|
115
|
+
>
|
|
116
|
+
<lucide-icon name="x" [size]="18" aria-hidden="true" />
|
|
117
|
+
</button>
|
|
118
|
+
}
|
|
119
|
+
</div>
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
<!-- Body -->
|
|
123
|
+
<div class="ui-modal__body">
|
|
124
|
+
<ng-content />
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<!-- Footer -->
|
|
128
|
+
@if (!config.hideFooter) {
|
|
129
|
+
<div class="ui-modal__footer">
|
|
130
|
+
<ng-content select="[uiModalFooter]" />
|
|
131
|
+
</div>
|
|
132
|
+
}
|
|
133
|
+
`, styles: [".ui-modal-host{display:flex;flex-direction:column;max-height:90vh;background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);overflow:hidden;box-shadow:var(--ui-shadow-lg)}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-4) var(--ui-spacing-6);border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);flex-shrink:0;gap:var(--ui-spacing-3)}.ui-modal__header-content{flex:1;min-width:0}.ui-modal__title{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-modal__close{appearance:none;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ui-radius-md);color:var(--ui-color-text-secondary);flex-shrink:0;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}.ui-modal__close:focus{outline:none}.ui-modal__close:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-modal__close:hover{background:var(--ui-color-surface-hover);color:var(--ui-color-text)}.ui-modal__close:active{background:var(--ui-color-neutral-200)}.ui-modal__body{flex:1;overflow-y:auto;padding:var(--ui-spacing-6)}.ui-modal__body::-webkit-scrollbar{width:6px}.ui-modal__body::-webkit-scrollbar-track{background:transparent}.ui-modal__body::-webkit-scrollbar-thumb{background:var(--ui-color-neutral-300);border-radius:var(--ui-radius-full)}.ui-modal__body::-webkit-scrollbar-thumb:hover{background:var(--ui-color-neutral-400)}.ui-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--ui-spacing-2);padding:var(--ui-spacing-4) var(--ui-spacing-6);border-top:1px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);flex-shrink:0}.ui-modal__footer:empty{display:none}.ui-modal-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: transparent;--mdc-dialog-container-shape: var(--ui-radius-lg)}.ui-modal-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:transparent!important;box-shadow:none!important;border-radius:var(--ui-radius-lg)!important;overflow:visible}.ui-modal-panel--sm .mat-mdc-dialog-container{max-width:400px}.ui-modal-panel--md .mat-mdc-dialog-container{max-width:560px}.ui-modal-panel--lg .mat-mdc-dialog-container{max-width:720px}.ui-modal-panel--xl .mat-mdc-dialog-container{max-width:900px}.ui-modal-panel--fullscreen .ui-modal-host{height:95vh;max-height:95vh;border-radius:var(--ui-radius-md)}.ui-modal-backdrop{background:var(--ui-color-backdrop)}.ui-confirm-backdrop--stacked{background:#0000004d}@media (max-width: 768px){.ui-modal__header,.ui-modal__footer{padding-left:var(--ui-spacing-4);padding-right:var(--ui-spacing-4)}.ui-modal__body{padding:var(--ui-spacing-4)}}\n"] }]
|
|
134
|
+
}], propDecorators: { config: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], closed: [{
|
|
137
|
+
type: Output
|
|
138
|
+
}] } });
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBbURILE1BQU0sT0FBTyxnQkFBZ0I7SUFsRDdCO1FBbURFLCtDQUErQztRQUN0QyxXQUFNLEdBQWtCLEVBQUUsQ0FBQztRQUVwQzs7OztXQUlHO1FBQ08sV0FBTSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFL0MsaUVBQWlFO1FBQ3pELGNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FVOUQ7SUFSQyxtREFBbUQ7SUFDbkQsS0FBSyxDQUFDLE1BQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7K0dBckJVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLCtSQXRDakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUNULGkvRkE1Q1MsbUJBQW1COzs0RkErQ2xCLGdCQUFnQjtrQkFsRDVCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDLG1CQUNiLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGVBQWU7d0JBQ3RCLElBQUksRUFBRSxRQUFRO3dCQUNkLFlBQVksRUFBRSxNQUFNO3dCQUNwQixtQkFBbUIsRUFBRSxzQkFBc0I7cUJBQzVDLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUNUOzhCQUtRLE1BQU07c0JBQWQsS0FBSztnQkFPSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGluamVjdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTHVjaWRlQW5ndWxhck1vZHVsZSB9IGZyb20gJ2x1Y2lkZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgVWlNb2RhbENvbmZpZyB9IGZyb20gJy4vbW9kYWwudHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgbW9kYWxlIHN0YW5kYWxvbmUgY29uIHN0cnV0dHVyYSBoZWFkZXIvYm9keS9mb290ZXIuXHJcbiAqXHJcbiAqIERhIHV0aWxpenphcmUgY29tZSB3cmFwcGVyIGFsbCdpbnRlcm5vIGRpIGNvbXBvbmVudGkgYXBlcnRpXHJcbiAqIHRyYW1pdGUgYFVpTW9kYWxTZXJ2aWNlLm9wZW4oKWAuIEZvcm5pc2NlIGxhIHN0cnV0dHVyYSB2aXN1YWxlXHJcbiAqIGUgZ2VzdGlzY2UgbGEgY2hpdXN1cmEgcHJvZ3JhbW1hdGljYS5cclxuICpcclxuICogKipDb250ZW50IHByb2plY3Rpb246KipcclxuICogLSBDb250ZW51dG8gZGkgZGVmYXVsdDogdmEgbmVsIGJvZHlcclxuICogLSBgW3VpTW9kYWxIZWFkZXJdYDogc29zdGl0dWlzY2UgaWwgdGl0b2xvIG5lbGwnaGVhZGVyXHJcbiAqIC0gYFt1aU1vZGFsRm9vdGVyXWA6IGF6aW9uaSBuZWwgZm9vdGVyXHJcbiAqXHJcbiAqIEBzZWxlY3RvciB1aS1tb2RhbFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDx1aS1tb2RhbCBbY29uZmlnXT1cInsgdGl0bGU6ICdEZXR0YWdsaScsIHNpemU6ICdtZCcgfVwiPlxyXG4gKiAgIDxwPkNvbnRlbnV0byBkZWwgYm9keSBkZWxsYSBtb2RhbGUuPC9wPlxyXG4gKiAgIDxkaXYgdWlNb2RhbEZvb3Rlcj5cclxuICogICAgIDx1aS1idXR0b24gbGFiZWw9XCJDaGl1ZGlcIiB2YXJpYW50PVwiZ2hvc3RcIiAoY2xpY2spPVwiY2xvc2UoKVwiIC8+XHJcbiAqICAgICA8dWktYnV0dG9uIGxhYmVsPVwiU2FsdmFcIiB2YXJpYW50PVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlKClcIiAvPlxyXG4gKiAgIDwvZGl2PlxyXG4gKiA8L3VpLW1vZGFsPlxyXG4gKiBgYGBcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktbW9kYWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0x1Y2lkZUFuZ3VsYXJNb2R1bGVdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICd1aS1tb2RhbC1ob3N0JyxcclxuICAgIHJvbGU6ICdkaWFsb2cnLFxyXG4gICAgJ2FyaWEtbW9kYWwnOiAndHJ1ZScsXHJcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnY29uZmlnLnRpdGxlIHx8IG51bGwnLFxyXG4gIH0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDwhLS0gSGVhZGVyIC0tPlxyXG4gICAgQGlmIChjb25maWcudGl0bGUgfHwgY29uZmlnLnNob3dDbG9zZUJ1dHRvbiAhPT0gZmFsc2UpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInVpLW1vZGFsX19oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidWktbW9kYWxfX2hlYWRlci1jb250ZW50XCI+XHJcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdWlNb2RhbEhlYWRlcl1cIj5cclxuICAgICAgICAgICAgQGlmIChjb25maWcudGl0bGUpIHtcclxuICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ1aS1tb2RhbF9fdGl0bGVcIj57eyBjb25maWcudGl0bGUgfX08L2gyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmIChjb25maWcuc2hvd0Nsb3NlQnV0dG9uICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cInVpLW1vZGFsX19jbG9zZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcclxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkNoaXVkaSBtb2RhbGVcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGx1Y2lkZS1pY29uIG5hbWU9XCJ4XCIgW3NpemVdPVwiMThcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuXHJcbiAgICA8IS0tIEJvZHkgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwidWktbW9kYWxfX2JvZHlcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgLz5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gRm9vdGVyIC0tPlxyXG4gICAgQGlmICghY29uZmlnLmhpZGVGb290ZXIpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cInVpLW1vZGFsX19mb290ZXJcIj5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdWlNb2RhbEZvb3Rlcl1cIiAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICBgLFxyXG4gIHN0eWxlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaU1vZGFsQ29tcG9uZW50IHtcclxuICAvKiogQ29uZmlndXJhemlvbmUgc3RydXR0dXJhbGUgZGVsbGEgbW9kYWxlLiAqL1xyXG4gIEBJbnB1dCgpIGNvbmZpZzogVWlNb2RhbENvbmZpZyA9IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBFbWVzc28gcXVhbmRvIGxhIG1vZGFsZSB2aWVuZSBjaGl1c2EuXHJcbiAgICogVXRpbGUgc2UgaWwgY29tcG9uZW50ZSBlIHVzYXRvIGRpcmV0dGFtZW50ZSBuZWwgdGVtcGxhdGVcclxuICAgKiBzZW56YSBVaU1vZGFsU2VydmljZS5cclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG5cclxuICAvKiogQGludGVybmFsIFJpZmVyaW1lbnRvIGFsIGRpYWxvZ28gTWF0ZXJpYWwgcGVyIGxhIGNoaXVzdXJhLiAqL1xyXG4gIHByaXZhdGUgZGlhbG9nUmVmID0gaW5qZWN0KE1hdERpYWxvZ1JlZiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuXHJcbiAgLyoqIENoaXVkZSBsYSBtb2RhbGUgY29uIHVuIHJpc3VsdGF0byBvcHppb25hbGUuICovXHJcbiAgY2xvc2UocmVzdWx0PzogdW5rbm93bik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlhbG9nUmVmKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlZC5lbWl0KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|