@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
package/esm2022/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.mjs
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { HttpClient, HttpParams } from '@angular/common/http';
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
|
+
import { map } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const DEFAULT_BASE = 'https://nominatim.openstreetmap.org';
|
|
6
|
+
/**
|
|
7
|
+
* Integrazione con l'API pubblica Nominatim (OpenStreetMap) per la ricerca indirizzi.
|
|
8
|
+
* Mappa i risultati sul tipo {@link UiGeocodedLocationType}.
|
|
9
|
+
*
|
|
10
|
+
* In browser è consigliato usare un proxy same-origin per CORS e User-Agent;
|
|
11
|
+
* vedi {@link UiLocationGeocodedFieldConfig.nominatimBaseUrl}.
|
|
12
|
+
*
|
|
13
|
+
* @providedIn root
|
|
14
|
+
*/
|
|
15
|
+
export class UiNominatimGeocodingService {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.http = inject(HttpClient);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Cerca indirizzi in base alla query testuale.
|
|
21
|
+
*
|
|
22
|
+
* @param query - Testo libero inserito dall'utente
|
|
23
|
+
* @param config - Opzioni di ricerca e base URL
|
|
24
|
+
*/
|
|
25
|
+
search(query, config = {}) {
|
|
26
|
+
const trimmed = query.trim();
|
|
27
|
+
const base = (config.nominatimBaseUrl ?? DEFAULT_BASE).replace(/\/$/, '');
|
|
28
|
+
const limit = config.limit ?? 5;
|
|
29
|
+
let params = new HttpParams()
|
|
30
|
+
.set('q', trimmed)
|
|
31
|
+
.set('format', 'json')
|
|
32
|
+
.set('addressdetails', '1')
|
|
33
|
+
.set('limit', String(limit));
|
|
34
|
+
if (config.biasCountry) {
|
|
35
|
+
params = params.set('countrycodes', config.biasCountry.toLowerCase());
|
|
36
|
+
}
|
|
37
|
+
if (config.biasProximity) {
|
|
38
|
+
const { lat, lng } = config.biasProximity;
|
|
39
|
+
const pad = 0.05;
|
|
40
|
+
const left = lng - pad;
|
|
41
|
+
const right = lng + pad;
|
|
42
|
+
const top = lat + pad;
|
|
43
|
+
const bottom = lat - pad;
|
|
44
|
+
params = params.set('viewbox', `${left},${top},${right},${bottom}`).set('bounded', '1');
|
|
45
|
+
}
|
|
46
|
+
const url = `${base}/search`;
|
|
47
|
+
return this.http.get(url, { params }).pipe(map((items) => items.map((item) => this.mapItem(item))));
|
|
48
|
+
}
|
|
49
|
+
/** Converte un risultato Nominatim in {@link UiGeocodedLocationType}. */
|
|
50
|
+
mapItem(item) {
|
|
51
|
+
const addr = item.address ?? {};
|
|
52
|
+
const lat = parseFloat(item.lat);
|
|
53
|
+
const lon = parseFloat(item.lon);
|
|
54
|
+
const bb = item.boundingbox;
|
|
55
|
+
let boundingBox;
|
|
56
|
+
if (bb && bb.length >= 4) {
|
|
57
|
+
const south = parseFloat(bb[0]);
|
|
58
|
+
const north = parseFloat(bb[1]);
|
|
59
|
+
const west = parseFloat(bb[2]);
|
|
60
|
+
const east = parseFloat(bb[3]);
|
|
61
|
+
if (!Number.isNaN(south + north + west + east)) {
|
|
62
|
+
boundingBox = { south, north, west, east };
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const city = addr['city'] ||
|
|
66
|
+
addr['town'] ||
|
|
67
|
+
addr['village'] ||
|
|
68
|
+
addr['municipality'] ||
|
|
69
|
+
addr['hamlet'] ||
|
|
70
|
+
addr['suburb'];
|
|
71
|
+
const confidence = typeof item.importance === 'number' ? Math.min(1, Math.max(0, item.importance / 0.75)) : undefined;
|
|
72
|
+
const ccRaw = addr['country_code'];
|
|
73
|
+
const countryCode = typeof ccRaw === 'string' ? ccRaw.toUpperCase() : undefined;
|
|
74
|
+
const isItalian = countryCode === 'IT';
|
|
75
|
+
const italian = isItalian
|
|
76
|
+
? {
|
|
77
|
+
comune: city,
|
|
78
|
+
provincia: addr['county'] || addr['state_district'] || addr['province'],
|
|
79
|
+
regione: addr['state'],
|
|
80
|
+
}
|
|
81
|
+
: undefined;
|
|
82
|
+
const foreign = !isItalian
|
|
83
|
+
? {
|
|
84
|
+
locality: city,
|
|
85
|
+
adminArea: addr['state'] || addr['state_district'] || addr['county'],
|
|
86
|
+
countryCode,
|
|
87
|
+
}
|
|
88
|
+
: undefined;
|
|
89
|
+
return {
|
|
90
|
+
label: item.display_name,
|
|
91
|
+
latitude: lat,
|
|
92
|
+
longitude: lon,
|
|
93
|
+
formattedAddress: item.display_name,
|
|
94
|
+
territory: isItalian ? 'italian' : 'foreign',
|
|
95
|
+
italian,
|
|
96
|
+
foreign,
|
|
97
|
+
street: addr['road'] || addr['pedestrian'] || addr['path'],
|
|
98
|
+
streetNumber: addr['house_number'],
|
|
99
|
+
postalCode: addr['postcode'],
|
|
100
|
+
city,
|
|
101
|
+
municipality: addr['municipality'],
|
|
102
|
+
province: addr['state_district'] || addr['county'],
|
|
103
|
+
region: addr['state'],
|
|
104
|
+
country: addr['country'],
|
|
105
|
+
countryCode,
|
|
106
|
+
placeId: String(item.place_id),
|
|
107
|
+
confidence,
|
|
108
|
+
boundingBox,
|
|
109
|
+
source: 'nominatim',
|
|
110
|
+
raw: item,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiNominatimGeocodingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
114
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiNominatimGeocodingService, providedIn: 'root' }); }
|
|
115
|
+
}
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiNominatimGeocodingService, decorators: [{
|
|
117
|
+
type: Injectable,
|
|
118
|
+
args: [{ providedIn: 'root' }]
|
|
119
|
+
}] });
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9taW5hdGltLWdlb2NvZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvc2VydmljZXMvbm9taW5hdGltLWdlb2NvZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFtQnZDLE1BQU0sWUFBWSxHQUFHLHFDQUFxQyxDQUFDO0FBRTNEOzs7Ozs7OztHQVFHO0FBRUgsTUFBTSxPQUFPLDJCQUEyQjtJQUR4QztRQUVtQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBK0c1QztJQTdHQzs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxLQUFhLEVBQUUsU0FBd0MsRUFBRTtRQUM5RCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLElBQUksWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUVoQyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTthQUMxQixHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQzthQUNqQixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzthQUNyQixHQUFHLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDO2FBQzFCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFL0IsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQzFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztZQUNqQixNQUFNLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ3pCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksSUFBSSxHQUFHLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxRixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLFNBQVMsQ0FBQztRQUU3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF3QixHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0gsQ0FBQztJQUVELHlFQUF5RTtJQUN6RSxPQUFPLENBQUMsSUFBeUI7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFNUIsSUFBSSxXQUFrRCxDQUFDO1FBQ3ZELElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLFdBQVcsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNaLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDWixJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sVUFBVSxHQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRXJHLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2hGLE1BQU0sU0FBUyxHQUFHLFdBQVcsS0FBSyxJQUFJLENBQUM7UUFFdkMsTUFBTSxPQUFPLEdBQXlDLFNBQVM7WUFDN0QsQ0FBQyxDQUFDO2dCQUNFLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDdkUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDdkI7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsTUFBTSxPQUFPLEdBQXlDLENBQUMsU0FBUztZQUM5RCxDQUFDLENBQUM7Z0JBQ0UsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNwRSxXQUFXO2FBQ1o7WUFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWQsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixRQUFRLEVBQUUsR0FBRztZQUNiLFNBQVMsRUFBRSxHQUFHO1lBQ2QsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDbkMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzVDLE9BQU87WUFDUCxPQUFPO1lBQ1AsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMxRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNsQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUM1QixJQUFJO1lBQ0osWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDbEMsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDbEQsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDeEIsV0FBVztZQUNYLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QixVQUFVO1lBQ1YsV0FBVztZQUNYLE1BQU0sRUFBRSxXQUFXO1lBQ25CLEdBQUcsRUFBRSxJQUFJO1NBQ1YsQ0FBQztJQUNKLENBQUM7K0dBL0dVLDJCQUEyQjttSEFBM0IsMkJBQTJCLGNBRGQsTUFBTTs7NEZBQ25CLDJCQUEyQjtrQkFEdkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB0eXBlIHtcclxuICBVaUdlb2NvZGVkRm9yZWlnbkRldGFpbHMsXHJcbiAgVWlHZW9jb2RlZEl0YWxpYW5EZXRhaWxzLFxyXG4gIFVpR2VvY29kZWRMb2NhdGlvblR5cGUsXHJcbiAgVWlMb2NhdGlvbkdlb2NvZGVkRmllbGRDb25maWcsXHJcbn0gZnJvbSAnLi4vdHlwZXMvZ2VvY29kZWQtbG9jYXRpb24udHlwZXMnO1xyXG5cclxuLyoqIFJpc3Bvc3RhIGVsZW1lbnRhcmUgZGVsbCdBUEkgc2VhcmNoIGRpIE5vbWluYXRpbSAoZm9ybWF0PWpzb24pLiAqL1xyXG5pbnRlcmZhY2UgTm9taW5hdGltU2VhcmNoSXRlbSB7XHJcbiAgcGxhY2VfaWQ6IG51bWJlcjtcclxuICBsYXQ6IHN0cmluZztcclxuICBsb246IHN0cmluZztcclxuICBkaXNwbGF5X25hbWU6IHN0cmluZztcclxuICBpbXBvcnRhbmNlPzogbnVtYmVyO1xyXG4gIGJvdW5kaW5nYm94PzogW3N0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZ107XHJcbiAgYWRkcmVzcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbn1cclxuXHJcbmNvbnN0IERFRkFVTFRfQkFTRSA9ICdodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZyc7XHJcblxyXG4vKipcclxuICogSW50ZWdyYXppb25lIGNvbiBsJ0FQSSBwdWJibGljYSBOb21pbmF0aW0gKE9wZW5TdHJlZXRNYXApIHBlciBsYSByaWNlcmNhIGluZGlyaXp6aS5cclxuICogTWFwcGEgaSByaXN1bHRhdGkgc3VsIHRpcG8ge0BsaW5rIFVpR2VvY29kZWRMb2NhdGlvblR5cGV9LlxyXG4gKlxyXG4gKiBJbiBicm93c2VyIMOoIGNvbnNpZ2xpYXRvIHVzYXJlIHVuIHByb3h5IHNhbWUtb3JpZ2luIHBlciBDT1JTIGUgVXNlci1BZ2VudDtcclxuICogdmVkaSB7QGxpbmsgVWlMb2NhdGlvbkdlb2NvZGVkRmllbGRDb25maWcubm9taW5hdGltQmFzZVVybH0uXHJcbiAqXHJcbiAqIEBwcm92aWRlZEluIHJvb3RcclxuICovXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBVaU5vbWluYXRpbUdlb2NvZGluZ1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2VyY2EgaW5kaXJpenppIGluIGJhc2UgYWxsYSBxdWVyeSB0ZXN0dWFsZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBxdWVyeSAtIFRlc3RvIGxpYmVybyBpbnNlcml0byBkYWxsJ3V0ZW50ZVxyXG4gICAqIEBwYXJhbSBjb25maWcgLSBPcHppb25pIGRpIHJpY2VyY2EgZSBiYXNlIFVSTFxyXG4gICAqL1xyXG4gIHNlYXJjaChxdWVyeTogc3RyaW5nLCBjb25maWc6IFVpTG9jYXRpb25HZW9jb2RlZEZpZWxkQ29uZmlnID0ge30pOiBPYnNlcnZhYmxlPFVpR2VvY29kZWRMb2NhdGlvblR5cGVbXT4ge1xyXG4gICAgY29uc3QgdHJpbW1lZCA9IHF1ZXJ5LnRyaW0oKTtcclxuICAgIGNvbnN0IGJhc2UgPSAoY29uZmlnLm5vbWluYXRpbUJhc2VVcmwgPz8gREVGQVVMVF9CQVNFKS5yZXBsYWNlKC9cXC8kLywgJycpO1xyXG4gICAgY29uc3QgbGltaXQgPSBjb25maWcubGltaXQgPz8gNTtcclxuXHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgICAuc2V0KCdxJywgdHJpbW1lZClcclxuICAgICAgLnNldCgnZm9ybWF0JywgJ2pzb24nKVxyXG4gICAgICAuc2V0KCdhZGRyZXNzZGV0YWlscycsICcxJylcclxuICAgICAgLnNldCgnbGltaXQnLCBTdHJpbmcobGltaXQpKTtcclxuXHJcbiAgICBpZiAoY29uZmlnLmJpYXNDb3VudHJ5KSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2NvdW50cnljb2RlcycsIGNvbmZpZy5iaWFzQ291bnRyeS50b0xvd2VyQ2FzZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29uZmlnLmJpYXNQcm94aW1pdHkpIHtcclxuICAgICAgY29uc3QgeyBsYXQsIGxuZyB9ID0gY29uZmlnLmJpYXNQcm94aW1pdHk7XHJcbiAgICAgIGNvbnN0IHBhZCA9IDAuMDU7XHJcbiAgICAgIGNvbnN0IGxlZnQgPSBsbmcgLSBwYWQ7XHJcbiAgICAgIGNvbnN0IHJpZ2h0ID0gbG5nICsgcGFkO1xyXG4gICAgICBjb25zdCB0b3AgPSBsYXQgKyBwYWQ7XHJcbiAgICAgIGNvbnN0IGJvdHRvbSA9IGxhdCAtIHBhZDtcclxuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndmlld2JveCcsIGAke2xlZnR9LCR7dG9wfSwke3JpZ2h0fSwke2JvdHRvbX1gKS5zZXQoJ2JvdW5kZWQnLCAnMScpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHVybCA9IGAke2Jhc2V9L3NlYXJjaGA7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Tm9taW5hdGltU2VhcmNoSXRlbVtdPih1cmwsIHsgcGFyYW1zIH0pLnBpcGUobWFwKChpdGVtcykgPT4gaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLm1hcEl0ZW0oaXRlbSkpKSk7XHJcbiAgfVxyXG5cclxuICAvKiogQ29udmVydGUgdW4gcmlzdWx0YXRvIE5vbWluYXRpbSBpbiB7QGxpbmsgVWlHZW9jb2RlZExvY2F0aW9uVHlwZX0uICovXHJcbiAgbWFwSXRlbShpdGVtOiBOb21pbmF0aW1TZWFyY2hJdGVtKTogVWlHZW9jb2RlZExvY2F0aW9uVHlwZSB7XHJcbiAgICBjb25zdCBhZGRyID0gaXRlbS5hZGRyZXNzID8/IHt9O1xyXG4gICAgY29uc3QgbGF0ID0gcGFyc2VGbG9hdChpdGVtLmxhdCk7XHJcbiAgICBjb25zdCBsb24gPSBwYXJzZUZsb2F0KGl0ZW0ubG9uKTtcclxuICAgIGNvbnN0IGJiID0gaXRlbS5ib3VuZGluZ2JveDtcclxuXHJcbiAgICBsZXQgYm91bmRpbmdCb3g6IFVpR2VvY29kZWRMb2NhdGlvblR5cGVbJ2JvdW5kaW5nQm94J107XHJcbiAgICBpZiAoYmIgJiYgYmIubGVuZ3RoID49IDQpIHtcclxuICAgICAgY29uc3Qgc291dGggPSBwYXJzZUZsb2F0KGJiWzBdKTtcclxuICAgICAgY29uc3Qgbm9ydGggPSBwYXJzZUZsb2F0KGJiWzFdKTtcclxuICAgICAgY29uc3Qgd2VzdCA9IHBhcnNlRmxvYXQoYmJbMl0pO1xyXG4gICAgICBjb25zdCBlYXN0ID0gcGFyc2VGbG9hdChiYlszXSk7XHJcbiAgICAgIGlmICghTnVtYmVyLmlzTmFOKHNvdXRoICsgbm9ydGggKyB3ZXN0ICsgZWFzdCkpIHtcclxuICAgICAgICBib3VuZGluZ0JveCA9IHsgc291dGgsIG5vcnRoLCB3ZXN0LCBlYXN0IH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjaXR5ID1cclxuICAgICAgYWRkclsnY2l0eSddIHx8XHJcbiAgICAgIGFkZHJbJ3Rvd24nXSB8fFxyXG4gICAgICBhZGRyWyd2aWxsYWdlJ10gfHxcclxuICAgICAgYWRkclsnbXVuaWNpcGFsaXR5J10gfHxcclxuICAgICAgYWRkclsnaGFtbGV0J10gfHxcclxuICAgICAgYWRkclsnc3VidXJiJ107XHJcblxyXG4gICAgY29uc3QgY29uZmlkZW5jZSA9XHJcbiAgICAgIHR5cGVvZiBpdGVtLmltcG9ydGFuY2UgPT09ICdudW1iZXInID8gTWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgaXRlbS5pbXBvcnRhbmNlIC8gMC43NSkpIDogdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0IGNjUmF3ID0gYWRkclsnY291bnRyeV9jb2RlJ107XHJcbiAgICBjb25zdCBjb3VudHJ5Q29kZSA9IHR5cGVvZiBjY1JhdyA9PT0gJ3N0cmluZycgPyBjY1Jhdy50b1VwcGVyQ2FzZSgpIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgaXNJdGFsaWFuID0gY291bnRyeUNvZGUgPT09ICdJVCc7XHJcblxyXG4gICAgY29uc3QgaXRhbGlhbjogVWlHZW9jb2RlZEl0YWxpYW5EZXRhaWxzIHwgdW5kZWZpbmVkID0gaXNJdGFsaWFuXHJcbiAgICAgID8ge1xyXG4gICAgICAgICAgY29tdW5lOiBjaXR5LFxyXG4gICAgICAgICAgcHJvdmluY2lhOiBhZGRyWydjb3VudHknXSB8fCBhZGRyWydzdGF0ZV9kaXN0cmljdCddIHx8IGFkZHJbJ3Byb3ZpbmNlJ10sXHJcbiAgICAgICAgICByZWdpb25lOiBhZGRyWydzdGF0ZSddLFxyXG4gICAgICAgIH1cclxuICAgICAgOiB1bmRlZmluZWQ7XHJcblxyXG4gICAgY29uc3QgZm9yZWlnbjogVWlHZW9jb2RlZEZvcmVpZ25EZXRhaWxzIHwgdW5kZWZpbmVkID0gIWlzSXRhbGlhblxyXG4gICAgICA/IHtcclxuICAgICAgICAgIGxvY2FsaXR5OiBjaXR5LFxyXG4gICAgICAgICAgYWRtaW5BcmVhOiBhZGRyWydzdGF0ZSddIHx8IGFkZHJbJ3N0YXRlX2Rpc3RyaWN0J10gfHwgYWRkclsnY291bnR5J10sXHJcbiAgICAgICAgICBjb3VudHJ5Q29kZSxcclxuICAgICAgICB9XHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGxhYmVsOiBpdGVtLmRpc3BsYXlfbmFtZSxcclxuICAgICAgbGF0aXR1ZGU6IGxhdCxcclxuICAgICAgbG9uZ2l0dWRlOiBsb24sXHJcbiAgICAgIGZvcm1hdHRlZEFkZHJlc3M6IGl0ZW0uZGlzcGxheV9uYW1lLFxyXG4gICAgICB0ZXJyaXRvcnk6IGlzSXRhbGlhbiA/ICdpdGFsaWFuJyA6ICdmb3JlaWduJyxcclxuICAgICAgaXRhbGlhbixcclxuICAgICAgZm9yZWlnbixcclxuICAgICAgc3RyZWV0OiBhZGRyWydyb2FkJ10gfHwgYWRkclsncGVkZXN0cmlhbiddIHx8IGFkZHJbJ3BhdGgnXSxcclxuICAgICAgc3RyZWV0TnVtYmVyOiBhZGRyWydob3VzZV9udW1iZXInXSxcclxuICAgICAgcG9zdGFsQ29kZTogYWRkclsncG9zdGNvZGUnXSxcclxuICAgICAgY2l0eSxcclxuICAgICAgbXVuaWNpcGFsaXR5OiBhZGRyWydtdW5pY2lwYWxpdHknXSxcclxuICAgICAgcHJvdmluY2U6IGFkZHJbJ3N0YXRlX2Rpc3RyaWN0J10gfHwgYWRkclsnY291bnR5J10sXHJcbiAgICAgIHJlZ2lvbjogYWRkclsnc3RhdGUnXSxcclxuICAgICAgY291bnRyeTogYWRkclsnY291bnRyeSddLFxyXG4gICAgICBjb3VudHJ5Q29kZSxcclxuICAgICAgcGxhY2VJZDogU3RyaW5nKGl0ZW0ucGxhY2VfaWQpLFxyXG4gICAgICBjb25maWRlbmNlLFxyXG4gICAgICBib3VuZGluZ0JveCxcclxuICAgICAgc291cmNlOiAnbm9taW5hdGltJyxcclxuICAgICAgcmF3OiBpdGVtLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { LucideAngularModule } from 'lucide-angular';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "lucide-angular";
|
|
5
|
+
/**
|
|
6
|
+
* Riepilogo stato validazione del form.
|
|
7
|
+
*
|
|
8
|
+
* Con errori: indicatore + dropdown hover/click per il dettaglio e navigazione ai campi.
|
|
9
|
+
* Senza errori: messaggio di stato positivo fisso (no dropdown), UI prevedibile.
|
|
10
|
+
*
|
|
11
|
+
* @selector ui-form-error-summary
|
|
12
|
+
*/
|
|
13
|
+
export class UiFormErrorSummaryComponent {
|
|
14
|
+
constructor() {
|
|
15
|
+
/** Lista di errori dettagliati per campo. */
|
|
16
|
+
this.errors = [];
|
|
17
|
+
/** Conteggio totale degli errori (somma di tutti i messaggi). */
|
|
18
|
+
this.totalErrorCount = 0;
|
|
19
|
+
/** Testo mostrato quando non ci sono errori. */
|
|
20
|
+
this.validMessage = 'Il form è compilato correttamente';
|
|
21
|
+
/** Emesso quando l'utente clicca su un errore per navigare al campo. */
|
|
22
|
+
this.fieldClick = new EventEmitter();
|
|
23
|
+
/** @internal Stato del dropdown (solo con errori). */
|
|
24
|
+
this.showDropdown = false;
|
|
25
|
+
}
|
|
26
|
+
/** True se il form ha almeno un errore da mostrare nel summary. */
|
|
27
|
+
get hasErrors() {
|
|
28
|
+
return this.displayCount > 0;
|
|
29
|
+
}
|
|
30
|
+
/** Conteggio da visualizzare: usa totalErrorCount se fornito, altrimenti conta dai dettagli. */
|
|
31
|
+
get displayCount() {
|
|
32
|
+
return this.totalErrorCount > 0 ? this.totalErrorCount : this.errors.reduce((sum, d) => sum + d.errors.length, 0);
|
|
33
|
+
}
|
|
34
|
+
/** @internal Gestione click su errore. */
|
|
35
|
+
onFieldClick(fieldKey) {
|
|
36
|
+
this.showDropdown = false;
|
|
37
|
+
this.fieldClick.emit(fieldKey);
|
|
38
|
+
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiFormErrorSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiFormErrorSummaryComponent, isStandalone: true, selector: "ui-form-error-summary", inputs: { errors: "errors", totalErrorCount: "totalErrorCount", validMessage: "validMessage" }, outputs: { fieldClick: "fieldClick" }, ngImport: i0, template: `
|
|
41
|
+
<div
|
|
42
|
+
class="ui-form-error-summary"
|
|
43
|
+
[class.ui-form-error-summary--invalid]="hasErrors"
|
|
44
|
+
[class.ui-form-error-summary--valid]="!hasErrors"
|
|
45
|
+
>
|
|
46
|
+
@if (hasErrors) {
|
|
47
|
+
<div
|
|
48
|
+
class="ui-form-error-summary__panel ui-form-error-summary__panel--invalid"
|
|
49
|
+
(mouseenter)="showDropdown = true"
|
|
50
|
+
(mouseleave)="showDropdown = false"
|
|
51
|
+
>
|
|
52
|
+
<div
|
|
53
|
+
class="ui-form-error-summary__heading"
|
|
54
|
+
(click)="showDropdown = !showDropdown"
|
|
55
|
+
role="button"
|
|
56
|
+
tabindex="0"
|
|
57
|
+
[attr.aria-expanded]="showDropdown"
|
|
58
|
+
[attr.aria-label]="displayCount + ' errori nel form'"
|
|
59
|
+
(keydown.enter)="showDropdown = !showDropdown"
|
|
60
|
+
(keydown.space)="showDropdown = !showDropdown; $event.preventDefault()"
|
|
61
|
+
>
|
|
62
|
+
<lucide-icon name="alert-circle" [size]="20" class="ui-form-error-summary__icon" aria-hidden="true" />
|
|
63
|
+
<p class="ui-form-error-summary__text">
|
|
64
|
+
Sono presenti <strong>{{ displayCount }}</strong>
|
|
65
|
+
{{ displayCount === 1 ? 'errore' : 'errori' }} nel form.
|
|
66
|
+
</p>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<div
|
|
70
|
+
class="ui-form-error-summary__dropdown"
|
|
71
|
+
[class.ui-form-error-summary__dropdown--visible]="showDropdown"
|
|
72
|
+
role="list"
|
|
73
|
+
aria-label="Elenco errori del form"
|
|
74
|
+
>
|
|
75
|
+
<div class="ui-form-error-summary__dropdown-content">
|
|
76
|
+
<h4 class="ui-form-error-summary__dropdown-title">Dettagli errori:</h4>
|
|
77
|
+
<ul class="ui-form-error-summary__list">
|
|
78
|
+
@for (detail of errors; track detail.fieldKey) {
|
|
79
|
+
<li
|
|
80
|
+
class="ui-form-error-summary__item"
|
|
81
|
+
role="listitem"
|
|
82
|
+
(click)="onFieldClick(detail.fieldKey)"
|
|
83
|
+
tabindex="0"
|
|
84
|
+
(keydown.enter)="onFieldClick(detail.fieldKey)"
|
|
85
|
+
>
|
|
86
|
+
<div class="ui-form-error-summary__field-name">
|
|
87
|
+
<lucide-icon name="arrow-right" [size]="14" class="ui-form-error-summary__arrow" aria-hidden="true" />
|
|
88
|
+
{{ detail.fieldLabel }}
|
|
89
|
+
</div>
|
|
90
|
+
<div class="ui-form-error-summary__messages">
|
|
91
|
+
@for (err of detail.errors; track $index; let last = $last) {
|
|
92
|
+
<span>{{ err }}@if (!last) {, }</span>
|
|
93
|
+
}
|
|
94
|
+
</div>
|
|
95
|
+
</li>
|
|
96
|
+
}
|
|
97
|
+
</ul>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
} @else {
|
|
102
|
+
<div class="ui-form-error-summary__panel ui-form-error-summary__panel--valid" role="status" aria-live="polite">
|
|
103
|
+
<lucide-icon name="check-circle" [size]="20" class="ui-form-error-summary__icon-valid" aria-hidden="true" />
|
|
104
|
+
<p class="ui-form-error-summary__text-valid">{{ validMessage }}</p>
|
|
105
|
+
</div>
|
|
106
|
+
}
|
|
107
|
+
</div>
|
|
108
|
+
`, isInline: true, styles: [".ui-form-error-summary{position:relative}.ui-form-error-summary--invalid{cursor:pointer}.ui-form-error-summary--valid{cursor:default}.ui-form-error-summary__panel--valid{display:flex;align-items:center;gap:var(--ui-spacing-2, 8px);padding:var(--ui-spacing-2, 8px) 0}.ui-form-error-summary__icon-valid{color:var(--ui-color-success, #16a34a);flex-shrink:0}.ui-form-error-summary__text-valid{margin:0;color:var(--ui-color-success, #15803d);font-size:var(--ui-font-size-sm, 14px);font-family:var(--ui-font-family);line-height:1.4}.ui-form-error-summary__heading{display:flex;align-items:center;gap:var(--ui-spacing-2, 8px);padding:var(--ui-spacing-2, 8px) 0;outline:none}.ui-form-error-summary__heading:focus{outline:none}.ui-form-error-summary__heading:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-form-error-summary__icon{color:var(--ui-color-error, #dc2626);flex-shrink:0}.ui-form-error-summary__text{margin:0;color:var(--ui-color-error, #dc2626);font-size:var(--ui-font-size-sm, 14px);font-family:var(--ui-font-family);line-height:1.4}.ui-form-error-summary__text strong{font-weight:var(--ui-font-weight-semibold, 600)}.ui-form-error-summary__dropdown{position:absolute;bottom:100%;left:0;right:0;min-width:320px;max-height:300px;overflow-y:auto;background:var(--ui-color-surface, #fff);border:1px solid var(--ui-color-border, #e5e7eb);border-radius:var(--ui-radius-lg, 8px);box-shadow:0 -10px 25px -3px #0000001a,0 -4px 6px -2px #0000000d;z-index:1000;margin-bottom:var(--ui-spacing-2, 8px);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease-in-out,visibility .2s ease-in-out,transform .2s ease-in-out}.ui-form-error-summary__dropdown--visible{opacity:1;visibility:visible;transform:translateY(0)}.ui-form-error-summary__dropdown-content{padding:var(--ui-spacing-4, 16px)}.ui-form-error-summary__dropdown-title{margin:0 0 var(--ui-spacing-3, 12px) 0;color:var(--ui-color-text, #374151);font-size:var(--ui-font-size-sm, 14px);font-weight:var(--ui-font-weight-semibold, 600);font-family:var(--ui-font-family)}.ui-form-error-summary__list{list-style:none;padding:0;margin:0}.ui-form-error-summary__item{padding:var(--ui-spacing-3, 12px);border-radius:var(--ui-radius-md, 6px);cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;margin-bottom:var(--ui-spacing-2, 8px);outline:none}.ui-form-error-summary__item:focus{outline:none}.ui-form-error-summary__item:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-form-error-summary__item:last-child{margin-bottom:0}.ui-form-error-summary__item:hover{background:var(--ui-color-surface-hover, #f9fafb);border-color:var(--ui-color-border, #e5e7eb)}.ui-form-error-summary__field-name{display:flex;align-items:center;gap:var(--ui-spacing-2, 8px);font-weight:var(--ui-font-weight-semibold, 600);color:var(--ui-color-text, #374151);font-size:var(--ui-font-size-sm, 14px);font-family:var(--ui-font-family);margin-bottom:4px}.ui-form-error-summary__arrow{color:var(--ui-color-text-muted, #6b7280);flex-shrink:0;transition:transform .15s ease}.ui-form-error-summary__item:hover .ui-form-error-summary__arrow{transform:translate(4px)}.ui-form-error-summary__messages{color:var(--ui-color-error, #dc2626);font-size:var(--ui-font-size-xs, 13px);font-family:var(--ui-font-family);line-height:1.4;margin-left:22px}@media (max-width: 768px){.ui-form-error-summary__dropdown{position:fixed;inset:50% 16px auto;transform:translateY(-50%);margin-bottom:0}.ui-form-error-summary__dropdown--visible{transform:translateY(-50%)}}\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 }); }
|
|
109
|
+
}
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiFormErrorSummaryComponent, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{ selector: 'ui-form-error-summary', standalone: true, imports: [LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: `
|
|
113
|
+
<div
|
|
114
|
+
class="ui-form-error-summary"
|
|
115
|
+
[class.ui-form-error-summary--invalid]="hasErrors"
|
|
116
|
+
[class.ui-form-error-summary--valid]="!hasErrors"
|
|
117
|
+
>
|
|
118
|
+
@if (hasErrors) {
|
|
119
|
+
<div
|
|
120
|
+
class="ui-form-error-summary__panel ui-form-error-summary__panel--invalid"
|
|
121
|
+
(mouseenter)="showDropdown = true"
|
|
122
|
+
(mouseleave)="showDropdown = false"
|
|
123
|
+
>
|
|
124
|
+
<div
|
|
125
|
+
class="ui-form-error-summary__heading"
|
|
126
|
+
(click)="showDropdown = !showDropdown"
|
|
127
|
+
role="button"
|
|
128
|
+
tabindex="0"
|
|
129
|
+
[attr.aria-expanded]="showDropdown"
|
|
130
|
+
[attr.aria-label]="displayCount + ' errori nel form'"
|
|
131
|
+
(keydown.enter)="showDropdown = !showDropdown"
|
|
132
|
+
(keydown.space)="showDropdown = !showDropdown; $event.preventDefault()"
|
|
133
|
+
>
|
|
134
|
+
<lucide-icon name="alert-circle" [size]="20" class="ui-form-error-summary__icon" aria-hidden="true" />
|
|
135
|
+
<p class="ui-form-error-summary__text">
|
|
136
|
+
Sono presenti <strong>{{ displayCount }}</strong>
|
|
137
|
+
{{ displayCount === 1 ? 'errore' : 'errori' }} nel form.
|
|
138
|
+
</p>
|
|
139
|
+
</div>
|
|
140
|
+
|
|
141
|
+
<div
|
|
142
|
+
class="ui-form-error-summary__dropdown"
|
|
143
|
+
[class.ui-form-error-summary__dropdown--visible]="showDropdown"
|
|
144
|
+
role="list"
|
|
145
|
+
aria-label="Elenco errori del form"
|
|
146
|
+
>
|
|
147
|
+
<div class="ui-form-error-summary__dropdown-content">
|
|
148
|
+
<h4 class="ui-form-error-summary__dropdown-title">Dettagli errori:</h4>
|
|
149
|
+
<ul class="ui-form-error-summary__list">
|
|
150
|
+
@for (detail of errors; track detail.fieldKey) {
|
|
151
|
+
<li
|
|
152
|
+
class="ui-form-error-summary__item"
|
|
153
|
+
role="listitem"
|
|
154
|
+
(click)="onFieldClick(detail.fieldKey)"
|
|
155
|
+
tabindex="0"
|
|
156
|
+
(keydown.enter)="onFieldClick(detail.fieldKey)"
|
|
157
|
+
>
|
|
158
|
+
<div class="ui-form-error-summary__field-name">
|
|
159
|
+
<lucide-icon name="arrow-right" [size]="14" class="ui-form-error-summary__arrow" aria-hidden="true" />
|
|
160
|
+
{{ detail.fieldLabel }}
|
|
161
|
+
</div>
|
|
162
|
+
<div class="ui-form-error-summary__messages">
|
|
163
|
+
@for (err of detail.errors; track $index; let last = $last) {
|
|
164
|
+
<span>{{ err }}@if (!last) {, }</span>
|
|
165
|
+
}
|
|
166
|
+
</div>
|
|
167
|
+
</li>
|
|
168
|
+
}
|
|
169
|
+
</ul>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
} @else {
|
|
174
|
+
<div class="ui-form-error-summary__panel ui-form-error-summary__panel--valid" role="status" aria-live="polite">
|
|
175
|
+
<lucide-icon name="check-circle" [size]="20" class="ui-form-error-summary__icon-valid" aria-hidden="true" />
|
|
176
|
+
<p class="ui-form-error-summary__text-valid">{{ validMessage }}</p>
|
|
177
|
+
</div>
|
|
178
|
+
}
|
|
179
|
+
</div>
|
|
180
|
+
`, styles: [".ui-form-error-summary{position:relative}.ui-form-error-summary--invalid{cursor:pointer}.ui-form-error-summary--valid{cursor:default}.ui-form-error-summary__panel--valid{display:flex;align-items:center;gap:var(--ui-spacing-2, 8px);padding:var(--ui-spacing-2, 8px) 0}.ui-form-error-summary__icon-valid{color:var(--ui-color-success, #16a34a);flex-shrink:0}.ui-form-error-summary__text-valid{margin:0;color:var(--ui-color-success, #15803d);font-size:var(--ui-font-size-sm, 14px);font-family:var(--ui-font-family);line-height:1.4}.ui-form-error-summary__heading{display:flex;align-items:center;gap:var(--ui-spacing-2, 8px);padding:var(--ui-spacing-2, 8px) 0;outline:none}.ui-form-error-summary__heading:focus{outline:none}.ui-form-error-summary__heading:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-form-error-summary__icon{color:var(--ui-color-error, #dc2626);flex-shrink:0}.ui-form-error-summary__text{margin:0;color:var(--ui-color-error, #dc2626);font-size:var(--ui-font-size-sm, 14px);font-family:var(--ui-font-family);line-height:1.4}.ui-form-error-summary__text strong{font-weight:var(--ui-font-weight-semibold, 600)}.ui-form-error-summary__dropdown{position:absolute;bottom:100%;left:0;right:0;min-width:320px;max-height:300px;overflow-y:auto;background:var(--ui-color-surface, #fff);border:1px solid var(--ui-color-border, #e5e7eb);border-radius:var(--ui-radius-lg, 8px);box-shadow:0 -10px 25px -3px #0000001a,0 -4px 6px -2px #0000000d;z-index:1000;margin-bottom:var(--ui-spacing-2, 8px);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease-in-out,visibility .2s ease-in-out,transform .2s ease-in-out}.ui-form-error-summary__dropdown--visible{opacity:1;visibility:visible;transform:translateY(0)}.ui-form-error-summary__dropdown-content{padding:var(--ui-spacing-4, 16px)}.ui-form-error-summary__dropdown-title{margin:0 0 var(--ui-spacing-3, 12px) 0;color:var(--ui-color-text, #374151);font-size:var(--ui-font-size-sm, 14px);font-weight:var(--ui-font-weight-semibold, 600);font-family:var(--ui-font-family)}.ui-form-error-summary__list{list-style:none;padding:0;margin:0}.ui-form-error-summary__item{padding:var(--ui-spacing-3, 12px);border-radius:var(--ui-radius-md, 6px);cursor:pointer;transition:background-color .15s ease;border:1px solid transparent;margin-bottom:var(--ui-spacing-2, 8px);outline:none}.ui-form-error-summary__item:focus{outline:none}.ui-form-error-summary__item:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-form-error-summary__item:last-child{margin-bottom:0}.ui-form-error-summary__item:hover{background:var(--ui-color-surface-hover, #f9fafb);border-color:var(--ui-color-border, #e5e7eb)}.ui-form-error-summary__field-name{display:flex;align-items:center;gap:var(--ui-spacing-2, 8px);font-weight:var(--ui-font-weight-semibold, 600);color:var(--ui-color-text, #374151);font-size:var(--ui-font-size-sm, 14px);font-family:var(--ui-font-family);margin-bottom:4px}.ui-form-error-summary__arrow{color:var(--ui-color-text-muted, #6b7280);flex-shrink:0;transition:transform .15s ease}.ui-form-error-summary__item:hover .ui-form-error-summary__arrow{transform:translate(4px)}.ui-form-error-summary__messages{color:var(--ui-color-error, #dc2626);font-size:var(--ui-font-size-xs, 13px);font-family:var(--ui-font-family);line-height:1.4;margin-left:22px}@media (max-width: 768px){.ui-form-error-summary__dropdown{position:fixed;inset:50% 16px auto;transform:translateY(-50%);margin-bottom:0}.ui-form-error-summary__dropdown--visible{transform:translateY(-50%)}}\n"] }]
|
|
181
|
+
}], propDecorators: { errors: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], totalErrorCount: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], validMessage: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], fieldClick: [{
|
|
188
|
+
type: Output
|
|
189
|
+
}] } });
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1idWlsZGVyL3N1Yi1jb21wb25lbnRzL2Vycm9yLXN1bW1hcnkvZm9ybS1lcnJvci1zdW1tYXJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHckQ7Ozs7Ozs7R0FPRztBQThFSCxNQUFNLE9BQU8sMkJBQTJCO0lBN0V4QztRQThFRSw2Q0FBNkM7UUFDcEMsV0FBTSxHQUF3QixFQUFFLENBQUM7UUFFMUMsaUVBQWlFO1FBQ3hELG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRTdCLGdEQUFnRDtRQUN2QyxpQkFBWSxHQUFHLG1DQUFtQyxDQUFDO1FBRTVELHdFQUF3RTtRQUM5RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVsRCxzREFBc0Q7UUFDdEQsaUJBQVksR0FBRyxLQUFLLENBQUM7S0FpQnRCO0lBZkMsbUVBQW1FO0lBQ25FLElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELGdHQUFnRztJQUNoRyxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwSCxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLFlBQVksQ0FBQyxRQUFnQjtRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQTlCVSwyQkFBMkI7bUdBQTNCLDJCQUEyQix3TkF2RTVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9FVCxvcUhBdkVTLG1CQUFtQjs7NEZBMEVsQiwyQkFBMkI7a0JBN0V2QyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFDYix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9FVDs4QkFLUSxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxZQUFZO3NCQUFwQixLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEx1Y2lkZUFuZ3VsYXJNb2R1bGUgfSBmcm9tICdsdWNpZGUtYW5ndWxhcic7XHJcbmltcG9ydCB7IFVpRm9ybUVycm9yRGV0YWlsIH0gZnJvbSAnLi4vLi4vdHlwZXMvdmFsaWRhdGlvbi50eXBlcyc7XHJcblxyXG4vKipcclxuICogUmllcGlsb2dvIHN0YXRvIHZhbGlkYXppb25lIGRlbCBmb3JtLlxyXG4gKlxyXG4gKiBDb24gZXJyb3JpOiBpbmRpY2F0b3JlICsgZHJvcGRvd24gaG92ZXIvY2xpY2sgcGVyIGlsIGRldHRhZ2xpbyBlIG5hdmlnYXppb25lIGFpIGNhbXBpLlxyXG4gKiBTZW56YSBlcnJvcmk6IG1lc3NhZ2dpbyBkaSBzdGF0byBwb3NpdGl2byBmaXNzbyAobm8gZHJvcGRvd24pLCBVSSBwcmV2ZWRpYmlsZS5cclxuICpcclxuICogQHNlbGVjdG9yIHVpLWZvcm0tZXJyb3Itc3VtbWFyeVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1mb3JtLWVycm9yLXN1bW1hcnknLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0x1Y2lkZUFuZ3VsYXJNb2R1bGVdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJ1aS1mb3JtLWVycm9yLXN1bW1hcnlcIlxyXG4gICAgICBbY2xhc3MudWktZm9ybS1lcnJvci1zdW1tYXJ5LS1pbnZhbGlkXT1cImhhc0Vycm9yc1wiXHJcbiAgICAgIFtjbGFzcy51aS1mb3JtLWVycm9yLXN1bW1hcnktLXZhbGlkXT1cIiFoYXNFcnJvcnNcIlxyXG4gICAgPlxyXG4gICAgICBAaWYgKGhhc0Vycm9ycykge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwidWktZm9ybS1lcnJvci1zdW1tYXJ5X19wYW5lbCB1aS1mb3JtLWVycm9yLXN1bW1hcnlfX3BhbmVsLS1pbnZhbGlkXCJcclxuICAgICAgICAgIChtb3VzZWVudGVyKT1cInNob3dEcm9wZG93biA9IHRydWVcIlxyXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwic2hvd0Ryb3Bkb3duID0gZmFsc2VcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ1aS1mb3JtLWVycm9yLXN1bW1hcnlfX2hlYWRpbmdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwic2hvd0Ryb3Bkb3duID0gIXNob3dEcm9wZG93blwiXHJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInNob3dEcm9wZG93blwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGlzcGxheUNvdW50ICsgJyBlcnJvcmkgbmVsIGZvcm0nXCJcclxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2hvd0Ryb3Bkb3duID0gIXNob3dEcm9wZG93blwiXHJcbiAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cInNob3dEcm9wZG93biA9ICFzaG93RHJvcGRvd247ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGx1Y2lkZS1pY29uIG5hbWU9XCJhbGVydC1jaXJjbGVcIiBbc2l6ZV09XCIyMFwiIGNsYXNzPVwidWktZm9ybS1lcnJvci1zdW1tYXJ5X19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ1aS1mb3JtLWVycm9yLXN1bW1hcnlfX3RleHRcIj5cclxuICAgICAgICAgICAgICBTb25vIHByZXNlbnRpIDxzdHJvbmc+e3sgZGlzcGxheUNvdW50IH19PC9zdHJvbmc+XHJcbiAgICAgICAgICAgICAge3sgZGlzcGxheUNvdW50ID09PSAxID8gJ2Vycm9yZScgOiAnZXJyb3JpJyB9fSBuZWwgZm9ybS5cclxuICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInVpLWZvcm0tZXJyb3Itc3VtbWFyeV9fZHJvcGRvd25cIlxyXG4gICAgICAgICAgICBbY2xhc3MudWktZm9ybS1lcnJvci1zdW1tYXJ5X19kcm9wZG93bi0tdmlzaWJsZV09XCJzaG93RHJvcGRvd25cIlxyXG4gICAgICAgICAgICByb2xlPVwibGlzdFwiXHJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJFbGVuY28gZXJyb3JpIGRlbCBmb3JtXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVpLWZvcm0tZXJyb3Itc3VtbWFyeV9fZHJvcGRvd24tY29udGVudFwiPlxyXG4gICAgICAgICAgICAgIDxoNCBjbGFzcz1cInVpLWZvcm0tZXJyb3Itc3VtbWFyeV9fZHJvcGRvd24tdGl0bGVcIj5EZXR0YWdsaSBlcnJvcmk6PC9oND5cclxuICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJ1aS1mb3JtLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKGRldGFpbCBvZiBlcnJvcnM7IHRyYWNrIGRldGFpbC5maWVsZEtleSkge1xyXG4gICAgICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVpLWZvcm0tZXJyb3Itc3VtbWFyeV9faXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImxpc3RpdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25GaWVsZENsaWNrKGRldGFpbC5maWVsZEtleSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25GaWVsZENsaWNrKGRldGFpbC5maWVsZEtleSlcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVpLWZvcm0tZXJyb3Itc3VtbWFyeV9fZmllbGQtbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGx1Y2lkZS1pY29uIG5hbWU9XCJhcnJvdy1yaWdodFwiIFtzaXplXT1cIjE0XCIgY2xhc3M9XCJ1aS1mb3JtLWVycm9yLXN1bW1hcnlfX2Fycm93XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IGRldGFpbC5maWVsZExhYmVsIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVpLWZvcm0tZXJyb3Itc3VtbWFyeV9fbWVzc2FnZXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGVyciBvZiBkZXRhaWwuZXJyb3JzOyB0cmFjayAkaW5kZXg7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZXJyIH19QGlmICghbGFzdCkgeywgfTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidWktZm9ybS1lcnJvci1zdW1tYXJ5X19wYW5lbCB1aS1mb3JtLWVycm9yLXN1bW1hcnlfX3BhbmVsLS12YWxpZFwiIHJvbGU9XCJzdGF0dXNcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cclxuICAgICAgICAgIDxsdWNpZGUtaWNvbiBuYW1lPVwiY2hlY2stY2lyY2xlXCIgW3NpemVdPVwiMjBcIiBjbGFzcz1cInVpLWZvcm0tZXJyb3Itc3VtbWFyeV9faWNvbi12YWxpZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInVpLWZvcm0tZXJyb3Itc3VtbWFyeV9fdGV4dC12YWxpZFwiPnt7IHZhbGlkTWVzc2FnZSB9fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybDogJy4vZm9ybS1lcnJvci1zdW1tYXJ5LmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpRm9ybUVycm9yU3VtbWFyeUNvbXBvbmVudCB7XHJcbiAgLyoqIExpc3RhIGRpIGVycm9yaSBkZXR0YWdsaWF0aSBwZXIgY2FtcG8uICovXHJcbiAgQElucHV0KCkgZXJyb3JzOiBVaUZvcm1FcnJvckRldGFpbFtdID0gW107XHJcblxyXG4gIC8qKiBDb250ZWdnaW8gdG90YWxlIGRlZ2xpIGVycm9yaSAoc29tbWEgZGkgdHV0dGkgaSBtZXNzYWdnaSkuICovXHJcbiAgQElucHV0KCkgdG90YWxFcnJvckNvdW50ID0gMDtcclxuXHJcbiAgLyoqIFRlc3RvIG1vc3RyYXRvIHF1YW5kbyBub24gY2kgc29ubyBlcnJvcmkuICovXHJcbiAgQElucHV0KCkgdmFsaWRNZXNzYWdlID0gJ0lsIGZvcm0gw6ggY29tcGlsYXRvIGNvcnJldHRhbWVudGUnO1xyXG5cclxuICAvKiogRW1lc3NvIHF1YW5kbyBsJ3V0ZW50ZSBjbGljY2Egc3UgdW4gZXJyb3JlIHBlciBuYXZpZ2FyZSBhbCBjYW1wby4gKi9cclxuICBAT3V0cHV0KCkgZmllbGRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKiogQGludGVybmFsIFN0YXRvIGRlbCBkcm9wZG93biAoc29sbyBjb24gZXJyb3JpKS4gKi9cclxuICBzaG93RHJvcGRvd24gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFRydWUgc2UgaWwgZm9ybSBoYSBhbG1lbm8gdW4gZXJyb3JlIGRhIG1vc3RyYXJlIG5lbCBzdW1tYXJ5LiAqL1xyXG4gIGdldCBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5Q291bnQgPiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqIENvbnRlZ2dpbyBkYSB2aXN1YWxpenphcmU6IHVzYSB0b3RhbEVycm9yQ291bnQgc2UgZm9ybml0bywgYWx0cmltZW50aSBjb250YSBkYWkgZGV0dGFnbGkuICovXHJcbiAgZ2V0IGRpc3BsYXlDb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudG90YWxFcnJvckNvdW50ID4gMCA/IHRoaXMudG90YWxFcnJvckNvdW50IDogdGhpcy5lcnJvcnMucmVkdWNlKChzdW0sIGQpID0+IHN1bSArIGQuZXJyb3JzLmxlbmd0aCwgMCk7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIEdlc3Rpb25lIGNsaWNrIHN1IGVycm9yZS4gKi9cclxuICBvbkZpZWxkQ2xpY2soZmllbGRLZXk6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuICAgIHRoaXMuZmllbGRDbGljay5lbWl0KGZpZWxkS2V5KTtcclxuICB9XHJcbn1cclxuIl19
|