@gnggln/ng-ui-system 1.0.0-alpha.2 → 1.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/entry-accordion.d.ts +4 -0
- package/accordion/index.d.ts +5 -0
- package/accordion/lib/components/accordion/accordion.component.d.ts +125 -0
- package/accordion/lib/components/accordion/accordion.types.d.ts +64 -0
- package/accordion/lib/components/accordion/index.d.ts +2 -0
- package/accordion/lib/core/types/index.d.ts +133 -0
- package/base-layout/entry-base-layout.d.ts +4 -0
- package/base-layout/index.d.ts +5 -0
- package/base-layout/lib/components/base-layout/base-layout.component.d.ts +108 -0
- package/base-layout/lib/components/base-layout/base-layout.types.d.ts +40 -0
- package/base-layout/lib/components/base-layout/index.d.ts +13 -0
- package/base-layout/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/base-layout/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/base-layout/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/base-layout/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/base-layout/lib/components/button/button-area.component.d.ts +93 -0
- package/base-layout/lib/components/button/button.component.d.ts +61 -0
- package/base-layout/lib/components/button/button.types.d.ts +75 -0
- package/base-layout/lib/components/page-header/breadcrumb.service.d.ts +96 -0
- package/base-layout/lib/components/page-header/page-header.component.d.ts +59 -0
- package/base-layout/lib/components/page-header/page-header.types.d.ts +96 -0
- package/base-layout/lib/core/types/index.d.ts +133 -0
- package/blackbox/entry-blackbox.d.ts +4 -0
- package/blackbox/index.d.ts +5 -0
- package/blackbox/lib/components/blackbox/blackbox-debugger.component.d.ts +80 -0
- package/blackbox/lib/components/blackbox/blackbox-debugger.service.d.ts +34 -0
- package/blackbox/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/blackbox/lib/components/blackbox/blackbox-json-viewer.component.d.ts +18 -0
- package/blackbox/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/blackbox/lib/components/blackbox/blackbox.interceptor.d.ts +38 -0
- package/blackbox/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/blackbox/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/blackbox/lib/components/blackbox/index.d.ts +23 -0
- package/blackbox/lib/components/blackbox/ui-track.directive.d.ts +20 -0
- package/blackbox/lib/components/button/button-area.component.d.ts +93 -0
- package/blackbox/lib/components/button/button.component.d.ts +61 -0
- package/blackbox/lib/components/button/button.types.d.ts +75 -0
- package/blackbox/lib/components/button/index.d.ts +15 -0
- package/blackbox/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/blackbox/lib/components/modal/index.d.ts +4 -0
- package/blackbox/lib/components/modal/modal.component.d.ts +44 -0
- package/blackbox/lib/components/modal/modal.service.d.ts +93 -0
- package/blackbox/lib/components/modal/modal.types.d.ts +110 -0
- package/blackbox/lib/core/types/index.d.ts +133 -0
- package/button/entry-button.d.ts +4 -0
- package/button/index.d.ts +5 -0
- package/button/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/button/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/button/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/button/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/button/lib/components/button/button-area.component.d.ts +93 -0
- package/button/lib/components/button/button.component.d.ts +61 -0
- package/button/lib/components/button/button.types.d.ts +75 -0
- package/button/lib/components/button/index.d.ts +15 -0
- package/button/lib/core/types/index.d.ts +133 -0
- package/core/entry-core.d.ts +5 -0
- package/core/index.d.ts +5 -0
- package/core/lib/core/types/index.d.ts +133 -0
- package/core/lib/core/utils/index.d.ts +60 -0
- package/crud-table/entry-crud-table.d.ts +4 -0
- package/crud-table/index.d.ts +5 -0
- package/crud-table/lib/components/accordion/accordion.component.d.ts +125 -0
- package/crud-table/lib/components/accordion/accordion.types.d.ts +64 -0
- package/crud-table/lib/components/accordion/index.d.ts +2 -0
- package/crud-table/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/crud-table/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/crud-table/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/crud-table/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/crud-table/lib/components/button/button-area.component.d.ts +93 -0
- package/crud-table/lib/components/button/button.component.d.ts +61 -0
- package/crud-table/lib/components/button/button.types.d.ts +75 -0
- package/crud-table/lib/components/button/index.d.ts +15 -0
- package/crud-table/lib/components/crud-table/crud-table.component.d.ts +143 -0
- package/crud-table/lib/components/crud-table/crud-table.types.d.ts +207 -0
- package/crud-table/lib/components/crud-table/index.d.ts +15 -0
- package/crud-table/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/crud-table/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/crud-table/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/crud-table/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/crud-table/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/crud-table/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/crud-table/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/crud-table/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/crud-table/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/crud-table/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/crud-table/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/crud-table/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/crud-table/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/crud-table/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/crud-table/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/crud-table/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/crud-table/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/crud-table/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/crud-table/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/crud-table/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/crud-table/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/crud-table/lib/components/modal/modal.service.d.ts +93 -0
- package/crud-table/lib/components/modal/modal.types.d.ts +110 -0
- package/crud-table/lib/core/logging/logger.config.d.ts +18 -0
- package/crud-table/lib/core/logging/logger.service.d.ts +75 -0
- package/crud-table/lib/core/logging/logger.types.d.ts +70 -0
- package/crud-table/lib/core/types/index.d.ts +133 -0
- package/esm2022/accordion/entry-accordion.mjs +5 -0
- package/esm2022/accordion/gnggln-ng-ui-system-accordion.mjs +5 -0
- package/esm2022/accordion/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/accordion/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/accordion/lib/components/accordion/index.mjs +2 -0
- package/esm2022/accordion/lib/core/types/index.mjs +6 -0
- package/esm2022/base-layout/entry-base-layout.mjs +5 -0
- package/esm2022/base-layout/gnggln-ng-ui-system-base-layout.mjs +5 -0
- package/esm2022/base-layout/lib/components/base-layout/base-layout.component.mjs +272 -0
- package/esm2022/base-layout/lib/components/base-layout/base-layout.types.mjs +6 -0
- package/esm2022/base-layout/lib/components/base-layout/index.mjs +14 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/base-layout/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/base-layout/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/base-layout/lib/components/button/button.component.mjs +180 -0
- package/esm2022/base-layout/lib/components/button/button.types.mjs +6 -0
- package/esm2022/base-layout/lib/components/page-header/breadcrumb.service.mjs +243 -0
- package/esm2022/base-layout/lib/components/page-header/page-header.component.mjs +243 -0
- package/esm2022/base-layout/lib/components/page-header/page-header.types.mjs +21 -0
- package/esm2022/base-layout/lib/core/types/index.mjs +6 -0
- package/esm2022/blackbox/entry-blackbox.mjs +5 -0
- package/esm2022/blackbox/gnggln-ng-ui-system-blackbox.mjs +5 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-debugger.component.mjs +904 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-debugger.service.mjs +51 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-json-viewer.component.mjs +66 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.interceptor.mjs +135 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/blackbox/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/blackbox/lib/components/blackbox/index.mjs +27 -0
- package/esm2022/blackbox/lib/components/blackbox/ui-track.directive.mjs +69 -0
- package/esm2022/blackbox/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/blackbox/lib/components/button/button.component.mjs +180 -0
- package/esm2022/blackbox/lib/components/button/button.types.mjs +6 -0
- package/esm2022/blackbox/lib/components/button/index.mjs +16 -0
- package/esm2022/blackbox/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/blackbox/lib/components/modal/index.mjs +4 -0
- package/esm2022/blackbox/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/blackbox/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/blackbox/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/blackbox/lib/core/types/index.mjs +6 -0
- package/esm2022/button/entry-button.mjs +5 -0
- package/esm2022/button/gnggln-ng-ui-system-button.mjs +5 -0
- package/esm2022/button/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/button/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/button/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/button/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/button/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/button/lib/components/button/button.component.mjs +180 -0
- package/esm2022/button/lib/components/button/button.types.mjs +6 -0
- package/esm2022/button/lib/components/button/index.mjs +16 -0
- package/esm2022/button/lib/core/types/index.mjs +6 -0
- package/esm2022/core/entry-core.mjs +6 -0
- package/esm2022/core/gnggln-ng-ui-system-core.mjs +5 -0
- package/esm2022/core/lib/core/types/index.mjs +6 -0
- package/esm2022/core/lib/core/utils/index.mjs +102 -0
- package/esm2022/crud-table/entry-crud-table.mjs +5 -0
- package/esm2022/crud-table/gnggln-ng-ui-system-crud-table.mjs +5 -0
- package/esm2022/crud-table/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/crud-table/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/accordion/index.mjs +2 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/crud-table/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/crud-table/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/crud-table/lib/components/button/button.component.mjs +180 -0
- package/esm2022/crud-table/lib/components/button/button.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/button/index.mjs +16 -0
- package/esm2022/crud-table/lib/components/crud-table/crud-table.component.mjs +789 -0
- package/esm2022/crud-table/lib/components/crud-table/crud-table.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/crud-table/index.mjs +16 -0
- package/esm2022/crud-table/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/crud-table/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/crud-table/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/crud-table/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/crud-table/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/crud-table/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/crud-table/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/crud-table/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/crud-table/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/crud-table/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/crud-table/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/crud-table/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/crud-table/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/crud-table/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/crud-table/lib/core/types/index.mjs +6 -0
- package/esm2022/crud-table/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/crud-table/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/form-builder/entry-form-builder.mjs +5 -0
- package/esm2022/form-builder/gnggln-ng-ui-system-form-builder.mjs +5 -0
- package/esm2022/form-builder/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/form-builder/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/accordion/index.mjs +2 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/form-builder/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/form-builder/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/form-builder/lib/components/button/button.component.mjs +180 -0
- package/esm2022/form-builder/lib/components/button/button.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/button/index.mjs +16 -0
- package/esm2022/form-builder/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/form-builder/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/form-builder/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/form-builder/lib/components/form-builder/form-wizard.component.mjs +1064 -0
- package/esm2022/form-builder/lib/components/form-builder/index.mjs +24 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/form-builder/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/form-builder/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/form-builder/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/form-builder/lib/components/form-builder/services/wizard-sync.service.mjs +84 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/form-builder/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/form-builder/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/index.mjs +3 -0
- package/esm2022/form-builder/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/form-builder/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/form-builder/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/form-builder/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/form-builder/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/form-builder/lib/core/types/index.mjs +6 -0
- package/esm2022/form-builder/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/form-builder/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/form-builder-editor/entry-form-builder-editor.mjs +5 -0
- package/esm2022/form-builder-editor/gnggln-ng-ui-system-form-builder-editor.mjs +5 -0
- package/esm2022/form-builder-editor/lib/components/accordion/accordion.component.mjs +398 -0
- package/esm2022/form-builder-editor/lib/components/accordion/accordion.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/accordion/index.mjs +2 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/form-builder-editor/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/form-builder-editor/lib/components/button/button-area.component.mjs +210 -0
- package/esm2022/form-builder-editor/lib/components/button/button.component.mjs +180 -0
- package/esm2022/form-builder-editor/lib/components/button/button.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/button/index.mjs +16 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/form-builder.component.mjs +1351 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-condition.service.mjs +132 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/form-validation.service.mjs +381 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/location.service.mjs +141 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/condition.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/field.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/index.mjs +3 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/schema.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/territoriale.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/form-builder/types/validation.types.mjs +10 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.component.mjs +730 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.service.mjs +56 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/index.mjs +23 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/presets/editor-presets.mjs +395 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/editor-persistence.service.mjs +190 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/editor-state.service.mjs +324 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/field-factory.service.mjs +188 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/condition-editor/condition-editor.component.mjs +667 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/editor-toolbar/editor-toolbar.component.mjs +317 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/field-config-panel/field-config-panel.component.mjs +611 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/field-palette/field-palette.component.mjs +267 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/form-values-panel/form-values-panel.component.mjs +276 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/options-editor/options-editor.component.mjs +323 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +238 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.mjs +473 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/validation-editor/validation-editor.component.mjs +473 -0
- package/esm2022/form-builder-editor/lib/components/form-builder-editor/types/editor.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/form-builder-editor/lib/components/modal/index.mjs +4 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/form-builder-editor/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/form-builder-editor/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/form-builder-editor/lib/core/types/index.mjs +6 -0
- package/esm2022/form-builder-editor/lib/sources/location-data.opt.json +8942 -0
- package/esm2022/form-builder-editor/lib/sources/nazioni.opt.json +215 -0
- package/esm2022/http/entry-http.mjs +5 -0
- package/esm2022/http/gnggln-ng-ui-system-http.mjs +5 -0
- package/esm2022/http/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/http/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/http/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/http/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/http/lib/components/http/http-message.handler.mjs +143 -0
- package/esm2022/http/lib/components/http/http.service.mjs +228 -0
- package/esm2022/http/lib/components/http/http.tokens.mjs +29 -0
- package/esm2022/http/lib/components/http/http.types.mjs +6 -0
- package/esm2022/http/lib/components/http/index.mjs +19 -0
- package/esm2022/http/lib/components/layout-builder/layout-builder.types.mjs +9 -0
- package/esm2022/http/lib/components/layout-builder/layout.service.mjs +239 -0
- package/esm2022/http/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/http/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/http/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/http/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/http/lib/core/types/index.mjs +6 -0
- package/esm2022/http/lib/core/utils/index.mjs +102 -0
- package/esm2022/layout-builder/entry-layout-builder.mjs +5 -0
- package/esm2022/layout-builder/gnggln-ng-ui-system-layout-builder.mjs +5 -0
- package/esm2022/layout-builder/lib/components/layout-builder/index.mjs +18 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout-builder.component.mjs +1804 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout-builder.types.mjs +9 -0
- package/esm2022/layout-builder/lib/components/layout-builder/layout.service.mjs +239 -0
- package/esm2022/layout-builder/lib/core/types/index.mjs +6 -0
- package/esm2022/lib/components/accordion/accordion.component.mjs +106 -61
- package/esm2022/lib/components/accordion/accordion.types.mjs +1 -1
- package/esm2022/lib/components/base-layout/base-layout.component.mjs +88 -34
- package/esm2022/lib/components/base-layout/base-layout.types.mjs +1 -1
- package/esm2022/lib/components/base-layout/index.mjs +1 -1
- package/esm2022/lib/components/blackbox/blackbox-debugger.component.mjs +904 -0
- package/esm2022/lib/components/blackbox/blackbox-debugger.service.mjs +51 -0
- package/esm2022/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
- package/esm2022/lib/components/blackbox/blackbox-json-viewer.component.mjs +66 -0
- package/esm2022/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
- package/esm2022/lib/components/blackbox/blackbox.interceptor.mjs +135 -0
- package/esm2022/lib/components/blackbox/blackbox.service.mjs +323 -0
- package/esm2022/lib/components/blackbox/blackbox.types.mjs +25 -0
- package/esm2022/lib/components/blackbox/index.mjs +27 -0
- package/esm2022/lib/components/blackbox/ui-track.directive.mjs +69 -0
- package/esm2022/lib/components/button/button-area.component.mjs +16 -2
- package/esm2022/lib/components/button/button.component.mjs +23 -7
- package/esm2022/lib/components/button/button.types.mjs +1 -1
- package/esm2022/lib/components/crud-table/crud-table.component.mjs +14 -14
- package/esm2022/lib/components/form-builder/form-builder.component.mjs +710 -183
- package/esm2022/lib/components/form-builder/form-wizard.component.mjs +789 -235
- package/esm2022/lib/components/form-builder/index.mjs +7 -2
- package/esm2022/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
- package/esm2022/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
- package/esm2022/lib/components/form-builder/services/location.service.mjs +4 -3
- package/esm2022/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
- package/esm2022/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +142 -113
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
- package/esm2022/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
- package/esm2022/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
- package/esm2022/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +3 -3
- package/esm2022/lib/components/form-builder/types/field.types.mjs +1 -1
- package/esm2022/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
- package/esm2022/lib/components/form-builder/types/index.mjs +3 -2
- package/esm2022/lib/components/form-builder/types/schema.types.mjs +1 -1
- package/esm2022/lib/components/form-builder/types/validation.types.mjs +6 -2
- package/esm2022/lib/components/form-builder-editor/form-builder-editor.component.mjs +3 -3
- package/esm2022/lib/components/form-builder-editor/index.mjs +3 -1
- package/esm2022/lib/components/form-builder-editor/presets/editor-presets.mjs +395 -0
- package/esm2022/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +2 -2
- package/esm2022/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.mjs +2 -1
- package/esm2022/lib/components/http/http-message.handler.mjs +143 -0
- package/esm2022/lib/components/http/http.service.mjs +228 -0
- package/esm2022/lib/components/http/http.tokens.mjs +29 -0
- package/esm2022/lib/components/http/http.types.mjs +6 -0
- package/esm2022/lib/components/http/index.mjs +19 -0
- package/esm2022/lib/components/layout-builder/layout-builder.component.mjs +27 -15
- package/esm2022/lib/components/modal/confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/components/modal/modal.service.mjs +5 -2
- package/esm2022/lib/components/page-header/breadcrumb.service.mjs +5 -4
- package/esm2022/lib/components/table/paginated-table.component.mjs +17 -3
- package/esm2022/lib/components/table/table.types.mjs +1 -1
- package/esm2022/lib/components/toast/index.mjs +18 -0
- package/esm2022/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/lib/core/logging/index.mjs +10 -0
- package/esm2022/lib/core/logging/logger.config.mjs +18 -0
- package/esm2022/lib/core/logging/logger.service.mjs +295 -0
- package/esm2022/lib/core/logging/logger.types.mjs +7 -0
- package/esm2022/lib/core/types/index.mjs +1 -1
- package/esm2022/lib/core/utils/index.mjs +50 -1
- package/esm2022/lib/version/ng-ui-system-version.mjs +12 -0
- package/esm2022/modal/entry-modal.mjs +5 -0
- package/esm2022/modal/gnggln-ng-ui-system-modal.mjs +5 -0
- package/esm2022/modal/lib/components/button/button.component.mjs +180 -0
- package/esm2022/modal/lib/components/button/button.types.mjs +6 -0
- package/esm2022/modal/lib/components/modal/confirm-dialog.component.mjs +151 -0
- package/esm2022/modal/lib/components/modal/index.mjs +4 -0
- package/esm2022/modal/lib/components/modal/modal.component.mjs +139 -0
- package/esm2022/modal/lib/components/modal/modal.service.mjs +197 -0
- package/esm2022/modal/lib/components/modal/modal.types.mjs +6 -0
- package/esm2022/modal/lib/core/types/index.mjs +6 -0
- package/esm2022/page-header/entry-page-header.mjs +5 -0
- package/esm2022/page-header/gnggln-ng-ui-system-page-header.mjs +5 -0
- package/esm2022/page-header/lib/components/page-header/breadcrumb.service.mjs +243 -0
- package/esm2022/page-header/lib/components/page-header/index.mjs +20 -0
- package/esm2022/page-header/lib/components/page-header/page-header.component.mjs +243 -0
- package/esm2022/page-header/lib/components/page-header/page-header.types.mjs +21 -0
- package/esm2022/public-api.mjs +17 -8
- package/esm2022/table/entry-table.mjs +5 -0
- package/esm2022/table/gnggln-ng-ui-system-table.mjs +5 -0
- package/esm2022/table/lib/components/table/index.mjs +2 -0
- package/esm2022/table/lib/components/table/paginated-table.component.mjs +421 -0
- package/esm2022/table/lib/components/table/table.types.mjs +6 -0
- package/esm2022/table/lib/core/utils/index.mjs +102 -0
- package/esm2022/toast/entry-toast.mjs +5 -0
- package/esm2022/toast/gnggln-ng-ui-system-toast.mjs +5 -0
- package/esm2022/toast/lib/components/toast/index.mjs +18 -0
- package/esm2022/toast/lib/components/toast/toast-container.component.mjs +80 -0
- package/esm2022/toast/lib/components/toast/toast.component.mjs +151 -0
- package/esm2022/toast/lib/components/toast/toast.service.mjs +156 -0
- package/esm2022/toast/lib/components/toast/toast.types.mjs +12 -0
- package/esm2022/toast/lib/core/types/index.mjs +6 -0
- package/esm2022/toast/lib/core/utils/index.mjs +102 -0
- package/fesm2022/gnggln-ng-ui-system-accordion.mjs +409 -0
- package/fesm2022/gnggln-ng-ui-system-accordion.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-base-layout.mjs +1905 -0
- package/fesm2022/gnggln-ng-ui-system-base-layout.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-blackbox.mjs +2829 -0
- package/fesm2022/gnggln-ng-ui-system-blackbox.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-button.mjs +1148 -0
- package/fesm2022/gnggln-ng-ui-system-button.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-core.mjs +117 -0
- package/fesm2022/gnggln-ng-ui-system-core.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-crud-table.mjs +49600 -0
- package/fesm2022/gnggln-ng-ui-system-crud-table.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs +54332 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder.mjs +49609 -0
- package/fesm2022/gnggln-ng-ui-system-form-builder.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-http.mjs +1878 -0
- package/fesm2022/gnggln-ng-ui-system-http.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-layout-builder.mjs +2064 -0
- package/fesm2022/gnggln-ng-ui-system-layout-builder.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-modal.mjs +664 -0
- package/fesm2022/gnggln-ng-ui-system-modal.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-page-header.mjs +526 -0
- package/fesm2022/gnggln-ng-ui-system-page-header.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-table.mjs +533 -0
- package/fesm2022/gnggln-ng-ui-system-table.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system-toast.mjs +516 -0
- package/fesm2022/gnggln-ng-ui-system-toast.mjs.map +1 -0
- package/fesm2022/gnggln-ng-ui-system.mjs +10068 -4234
- package/fesm2022/gnggln-ng-ui-system.mjs.map +1 -1
- package/form-builder/entry-form-builder.d.ts +4 -0
- package/form-builder/index.d.ts +5 -0
- package/form-builder/lib/components/accordion/accordion.component.d.ts +125 -0
- package/form-builder/lib/components/accordion/accordion.types.d.ts +64 -0
- package/form-builder/lib/components/accordion/index.d.ts +2 -0
- package/form-builder/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/form-builder/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/form-builder/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/form-builder/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/form-builder/lib/components/button/button-area.component.d.ts +93 -0
- package/form-builder/lib/components/button/button.component.d.ts +61 -0
- package/form-builder/lib/components/button/button.types.d.ts +75 -0
- package/form-builder/lib/components/button/index.d.ts +15 -0
- package/form-builder/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/form-builder/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/form-builder/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/form-builder/lib/components/form-builder/form-wizard.component.d.ts +172 -0
- package/form-builder/lib/components/form-builder/index.d.ts +19 -0
- package/form-builder/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/form-builder/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/form-builder/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/form-builder/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/form-builder/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/form-builder/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/form-builder/lib/components/form-builder/services/wizard-sync.service.d.ts +63 -0
- package/form-builder/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/form-builder/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/form-builder/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/form-builder/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/form-builder/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/form-builder/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/form-builder/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/form-builder/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/form-builder/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/form-builder/lib/components/form-builder/types/index.d.ts +6 -0
- package/form-builder/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/form-builder/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/form-builder/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/form-builder/lib/core/logging/logger.config.d.ts +18 -0
- package/form-builder/lib/core/logging/logger.service.d.ts +75 -0
- package/form-builder/lib/core/logging/logger.types.d.ts +70 -0
- package/form-builder/lib/core/types/index.d.ts +133 -0
- package/form-builder-editor/entry-form-builder-editor.d.ts +4 -0
- package/form-builder-editor/index.d.ts +5 -0
- package/form-builder-editor/lib/components/accordion/accordion.component.d.ts +125 -0
- package/form-builder-editor/lib/components/accordion/accordion.types.d.ts +64 -0
- package/form-builder-editor/lib/components/accordion/index.d.ts +2 -0
- package/form-builder-editor/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/form-builder-editor/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/form-builder-editor/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/form-builder-editor/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/form-builder-editor/lib/components/button/button-area.component.d.ts +93 -0
- package/form-builder-editor/lib/components/button/button.component.d.ts +61 -0
- package/form-builder-editor/lib/components/button/button.types.d.ts +75 -0
- package/form-builder-editor/lib/components/button/index.d.ts +15 -0
- package/form-builder-editor/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
- package/form-builder-editor/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
- package/form-builder-editor/lib/components/form-builder/form-builder.component.d.ts +279 -0
- package/form-builder-editor/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
- package/form-builder-editor/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/form-builder-editor/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/form-builder-editor/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
- package/form-builder-editor/lib/components/form-builder/services/location.service.d.ts +83 -0
- package/form-builder-editor/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
- package/form-builder-editor/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
- package/form-builder-editor/lib/components/form-builder/types/condition.types.d.ts +51 -0
- package/form-builder-editor/lib/components/form-builder/types/field.types.d.ts +330 -0
- package/form-builder-editor/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/form-builder-editor/lib/components/form-builder/types/index.d.ts +6 -0
- package/form-builder-editor/lib/components/form-builder/types/schema.types.d.ts +304 -0
- package/form-builder-editor/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
- package/form-builder-editor/lib/components/form-builder/types/validation.types.d.ts +179 -0
- package/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.component.d.ts +117 -0
- package/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.service.d.ts +38 -0
- package/form-builder-editor/lib/components/form-builder-editor/index.d.ts +17 -0
- package/form-builder-editor/lib/components/form-builder-editor/presets/editor-presets.d.ts +25 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/editor-persistence.service.d.ts +42 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/editor-state.service.d.ts +66 -0
- package/form-builder-editor/lib/components/form-builder-editor/services/field-factory.service.d.ts +28 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/condition-editor/condition-editor.component.d.ts +139 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/editor-toolbar/editor-toolbar.component.d.ts +43 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/field-config-panel/field-config-panel.component.d.ts +83 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/field-palette/field-palette.component.d.ts +40 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/form-values-panel/form-values-panel.component.d.ts +51 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/options-editor/options-editor.component.d.ts +63 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.d.ts +68 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.d.ts +82 -0
- package/form-builder-editor/lib/components/form-builder-editor/sub-components/validation-editor/validation-editor.component.d.ts +112 -0
- package/form-builder-editor/lib/components/form-builder-editor/types/editor.types.d.ts +124 -0
- package/form-builder-editor/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/form-builder-editor/lib/components/modal/index.d.ts +4 -0
- package/form-builder-editor/lib/components/modal/modal.component.d.ts +44 -0
- package/form-builder-editor/lib/components/modal/modal.service.d.ts +93 -0
- package/form-builder-editor/lib/components/modal/modal.types.d.ts +110 -0
- package/form-builder-editor/lib/core/logging/logger.config.d.ts +18 -0
- package/form-builder-editor/lib/core/logging/logger.service.d.ts +75 -0
- package/form-builder-editor/lib/core/logging/logger.types.d.ts +70 -0
- package/form-builder-editor/lib/core/types/index.d.ts +133 -0
- package/http/entry-http.d.ts +4 -0
- package/http/index.d.ts +5 -0
- package/http/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/http/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/http/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/http/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/http/lib/components/http/http-message.handler.d.ts +59 -0
- package/http/lib/components/http/http.service.d.ts +98 -0
- package/http/lib/components/http/http.tokens.d.ts +29 -0
- package/http/lib/components/http/http.types.d.ts +50 -0
- package/http/lib/components/http/index.d.ts +17 -0
- package/http/lib/components/layout-builder/layout-builder.types.d.ts +436 -0
- package/http/lib/components/layout-builder/layout.service.d.ts +100 -0
- package/http/lib/components/toast/toast-container.component.d.ts +27 -0
- package/http/lib/components/toast/toast.component.d.ts +37 -0
- package/http/lib/components/toast/toast.service.d.ts +39 -0
- package/http/lib/components/toast/toast.types.d.ts +52 -0
- package/http/lib/core/types/index.d.ts +133 -0
- package/http/lib/core/utils/index.d.ts +60 -0
- package/layout-builder/entry-layout-builder.d.ts +4 -0
- package/layout-builder/index.d.ts +5 -0
- package/layout-builder/lib/components/layout-builder/index.d.ts +16 -0
- package/layout-builder/lib/components/layout-builder/layout-builder.component.d.ts +85 -0
- package/layout-builder/lib/components/layout-builder/layout-builder.types.d.ts +436 -0
- package/layout-builder/lib/components/layout-builder/layout.service.d.ts +100 -0
- package/layout-builder/lib/core/types/index.d.ts +133 -0
- package/lib/components/accordion/accordion.component.d.ts +10 -3
- package/lib/components/accordion/accordion.types.d.ts +2 -0
- package/lib/components/base-layout/base-layout.component.d.ts +36 -11
- package/lib/components/base-layout/base-layout.types.d.ts +14 -0
- package/lib/components/base-layout/index.d.ts +1 -1
- package/lib/components/blackbox/blackbox-debugger.component.d.ts +80 -0
- package/lib/components/blackbox/blackbox-debugger.service.d.ts +34 -0
- package/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
- package/lib/components/blackbox/blackbox-json-viewer.component.d.ts +18 -0
- package/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
- package/lib/components/blackbox/blackbox.interceptor.d.ts +38 -0
- package/lib/components/blackbox/blackbox.service.d.ts +144 -0
- package/lib/components/blackbox/blackbox.types.d.ts +238 -0
- package/lib/components/blackbox/index.d.ts +23 -0
- package/lib/components/blackbox/ui-track.directive.d.ts +20 -0
- package/lib/components/button/button-area.component.d.ts +6 -1
- package/lib/components/button/button.component.d.ts +8 -2
- package/lib/components/button/button.types.d.ts +5 -0
- package/lib/components/form-builder/form-builder.component.d.ts +125 -29
- package/lib/components/form-builder/form-wizard.component.d.ts +89 -4
- package/lib/components/form-builder/index.d.ts +7 -1
- package/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
- package/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
- package/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
- package/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +9 -6
- package/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
- package/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
- package/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
- package/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
- package/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
- package/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
- package/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
- package/lib/components/form-builder/types/field.types.d.ts +48 -6
- package/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
- package/lib/components/form-builder/types/index.d.ts +4 -3
- package/lib/components/form-builder/types/schema.types.d.ts +83 -6
- package/lib/components/form-builder/types/validation.types.d.ts +5 -0
- package/lib/components/form-builder-editor/index.d.ts +2 -0
- package/lib/components/form-builder-editor/presets/editor-presets.d.ts +25 -0
- package/lib/components/http/http-message.handler.d.ts +59 -0
- package/lib/components/http/http.service.d.ts +98 -0
- package/lib/components/http/http.tokens.d.ts +29 -0
- package/lib/components/http/http.types.d.ts +50 -0
- package/lib/components/http/index.d.ts +17 -0
- package/lib/components/page-header/breadcrumb.service.d.ts +2 -2
- package/lib/components/table/table.types.d.ts +5 -0
- package/lib/components/toast/index.d.ts +17 -0
- package/lib/components/toast/toast-container.component.d.ts +27 -0
- package/lib/components/toast/toast.component.d.ts +37 -0
- package/lib/components/toast/toast.service.d.ts +39 -0
- package/lib/components/toast/toast.types.d.ts +52 -0
- package/lib/core/logging/index.d.ts +8 -0
- package/lib/core/logging/logger.config.d.ts +18 -0
- package/lib/core/logging/logger.service.d.ts +75 -0
- package/lib/core/logging/logger.types.d.ts +70 -0
- package/lib/core/types/index.d.ts +76 -0
- package/lib/core/utils/index.d.ts +31 -0
- package/lib/version/ng-ui-system-version.d.ts +9 -0
- package/modal/entry-modal.d.ts +4 -0
- package/modal/index.d.ts +5 -0
- package/modal/lib/components/button/button.component.d.ts +61 -0
- package/modal/lib/components/button/button.types.d.ts +75 -0
- package/modal/lib/components/modal/confirm-dialog.component.d.ts +46 -0
- package/modal/lib/components/modal/index.d.ts +4 -0
- package/modal/lib/components/modal/modal.component.d.ts +44 -0
- package/modal/lib/components/modal/modal.service.d.ts +93 -0
- package/modal/lib/components/modal/modal.types.d.ts +110 -0
- package/modal/lib/core/types/index.d.ts +133 -0
- package/package.json +93 -8
- package/page-header/entry-page-header.d.ts +4 -0
- package/page-header/index.d.ts +5 -0
- package/page-header/lib/components/page-header/breadcrumb.service.d.ts +96 -0
- package/page-header/lib/components/page-header/index.d.ts +16 -0
- package/page-header/lib/components/page-header/page-header.component.d.ts +59 -0
- package/page-header/lib/components/page-header/page-header.types.d.ts +96 -0
- package/public-api.d.ts +11 -6
- package/table/entry-table.d.ts +4 -0
- package/table/index.d.ts +5 -0
- package/table/lib/components/table/index.d.ts +2 -0
- package/table/lib/components/table/paginated-table.component.d.ts +85 -0
- package/table/lib/components/table/table.types.d.ts +86 -0
- package/table/lib/core/utils/index.d.ts +60 -0
- package/toast/entry-toast.d.ts +4 -0
- package/toast/index.d.ts +5 -0
- package/toast/lib/components/toast/index.d.ts +17 -0
- package/toast/lib/components/toast/toast-container.component.d.ts +27 -0
- package/toast/lib/components/toast/toast.component.d.ts +37 -0
- package/toast/lib/components/toast/toast.service.d.ts +39 -0
- package/toast/lib/components/toast/toast.types.d.ts +52 -0
- package/toast/lib/core/types/index.d.ts +133 -0
- package/toast/lib/core/utils/index.d.ts +60 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation, inject } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { UiButtonComponent } from './button.component';
|
|
4
|
+
import { UiBlackboxService } from '../blackbox/blackbox.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Standalone button-group component driven by a `UiButtonDescriptor[]` configuration.
|
|
8
|
+
*
|
|
9
|
+
* Renders a group of `UiButton` instances from declarative descriptors.
|
|
10
|
+
* Supports per-button loading/disabled states, dynamic visibility,
|
|
11
|
+
* alignment control, and optional navigation via Angular Router.
|
|
12
|
+
*
|
|
13
|
+
* When the `UiBlackboxService` is provided, button clicks are
|
|
14
|
+
* automatically tracked in the active session.
|
|
15
|
+
*
|
|
16
|
+
* @selector ui-button-area
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```html
|
|
20
|
+
* <ui-button-area
|
|
21
|
+
* [buttons]="actions"
|
|
22
|
+
* align="end"
|
|
23
|
+
* gap="sm"
|
|
24
|
+
* [loadingIds]="currentlyLoading"
|
|
25
|
+
* />
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Dynamic configuration
|
|
31
|
+
* actions: UiButtonDescriptor[] = [
|
|
32
|
+
* { id: 'export', label: 'Export Excel', icon: 'file-spreadsheet', variant: 'primary',
|
|
33
|
+
* action: () => this.exportExcel() },
|
|
34
|
+
* { id: 'delete', label: 'Delete', icon: 'trash-2', variant: 'warn',
|
|
35
|
+
* action: () => this.deleteSelected(), hidden: !this.hasSelection },
|
|
36
|
+
* ];
|
|
37
|
+
*
|
|
38
|
+
* // Set loading state from outside:
|
|
39
|
+
* currentlyLoading: string | string[] | null = 'export';
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export class UiButtonAreaComponent {
|
|
43
|
+
constructor() {
|
|
44
|
+
/**
|
|
45
|
+
* Array of button descriptors to render.
|
|
46
|
+
* Buttons with `hidden: true` are filtered out.
|
|
47
|
+
*/
|
|
48
|
+
this.buttons = [];
|
|
49
|
+
/** Horizontal alignment of the button group. */
|
|
50
|
+
this.align = 'end';
|
|
51
|
+
/** Accessible group label for screen readers. */
|
|
52
|
+
this.ariaLabel = 'Actions';
|
|
53
|
+
/** Gap between buttons (maps to design token spacing). */
|
|
54
|
+
this.gap = 'sm';
|
|
55
|
+
/** Stack buttons vertically on mobile viewports (<600px). */
|
|
56
|
+
this.stackOnMobile = true;
|
|
57
|
+
/**
|
|
58
|
+
* When `true`, all buttons are disabled while any button is in a loading state.
|
|
59
|
+
* Useful to prevent double-actions during async operations.
|
|
60
|
+
*/
|
|
61
|
+
this.disableWhileLoading = false;
|
|
62
|
+
/** @internal */
|
|
63
|
+
this._loadingIds = new Set();
|
|
64
|
+
/** @internal Optional router for href navigation. */
|
|
65
|
+
this.router = inject(Router, { optional: true });
|
|
66
|
+
/** @internal Optional BlackBox service — auto-tracks button clicks when available. */
|
|
67
|
+
this.blackbox = inject(UiBlackboxService, { optional: true });
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Set one or more buttons to a loading state by their `id`.
|
|
71
|
+
* Accepts a single string, an array of strings, or `null` to clear.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```html
|
|
75
|
+
* <!-- Single -->
|
|
76
|
+
* <ui-button-area [loadingIds]="'save'" />
|
|
77
|
+
*
|
|
78
|
+
* <!-- Multiple -->
|
|
79
|
+
* <ui-button-area [loadingIds]="['save', 'export']" />
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
set loadingIds(value) {
|
|
83
|
+
if (value === null || value === undefined) {
|
|
84
|
+
this._loadingIds = new Set();
|
|
85
|
+
}
|
|
86
|
+
else if (Array.isArray(value)) {
|
|
87
|
+
this._loadingIds = new Set(value);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this._loadingIds = new Set([value]);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Buttons filtered to visible (non-hidden) entries. */
|
|
94
|
+
get visibleButtons() {
|
|
95
|
+
return this.buttons.filter((b) => !b.hidden);
|
|
96
|
+
}
|
|
97
|
+
/** Assembled CSS class string for the button area container. */
|
|
98
|
+
get areaClasses() {
|
|
99
|
+
return [
|
|
100
|
+
'ui-button-area',
|
|
101
|
+
`ui-button-area--align-${this.align}`,
|
|
102
|
+
`ui-button-area--gap-${this.gap}`,
|
|
103
|
+
this.stackOnMobile ? 'ui-button-area--stack-mobile' : '',
|
|
104
|
+
]
|
|
105
|
+
.filter(Boolean)
|
|
106
|
+
.join(' ');
|
|
107
|
+
}
|
|
108
|
+
/** @internal Track function for @for loop. */
|
|
109
|
+
trackButton(index, button) {
|
|
110
|
+
return button.id ?? `idx-${index}`;
|
|
111
|
+
}
|
|
112
|
+
/** Whether a specific button is in a loading state. */
|
|
113
|
+
isButtonLoading(button) {
|
|
114
|
+
return !!button.loading || (!!button.id && this._loadingIds.has(button.id));
|
|
115
|
+
}
|
|
116
|
+
/** Whether a specific button is disabled (includes loading logic). */
|
|
117
|
+
isButtonDisabled(button) {
|
|
118
|
+
if (button.disabled)
|
|
119
|
+
return true;
|
|
120
|
+
if (this.isButtonLoading(button))
|
|
121
|
+
return true;
|
|
122
|
+
if (this.disableWhileLoading && this._loadingIds.size > 0)
|
|
123
|
+
return true;
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
/** @internal Handles button click: tracks action, calls callback and/or navigates. */
|
|
127
|
+
handleButtonClick(button, event) {
|
|
128
|
+
// BlackBox auto-tracking (no-op if service is not provided)
|
|
129
|
+
this.blackbox?.trackAction(button.id ?? button.label, {
|
|
130
|
+
tag: 'ui-button',
|
|
131
|
+
id: button.id,
|
|
132
|
+
text: button.label,
|
|
133
|
+
});
|
|
134
|
+
if (button.action) {
|
|
135
|
+
button.action(event);
|
|
136
|
+
}
|
|
137
|
+
if (button.href && this.router) {
|
|
138
|
+
this.router.navigateByUrl(button.href);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiButtonAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiButtonAreaComponent, isStandalone: true, selector: "ui-button-area", inputs: { buttons: "buttons", align: "align", ariaLabel: "ariaLabel", gap: "gap", stackOnMobile: "stackOnMobile", disableWhileLoading: "disableWhileLoading", loadingIds: "loadingIds" }, host: { classAttribute: "ui-button-area-host" }, ngImport: i0, template: `
|
|
143
|
+
<div
|
|
144
|
+
[class]="areaClasses"
|
|
145
|
+
role="group"
|
|
146
|
+
[attr.aria-label]="ariaLabel"
|
|
147
|
+
>
|
|
148
|
+
@for (button of visibleButtons; track trackButton($index, button)) {
|
|
149
|
+
<ui-button
|
|
150
|
+
[attr.data-button-id]="button.id || null"
|
|
151
|
+
[label]="button.label"
|
|
152
|
+
[tooltip]="button.tooltip ?? ''"
|
|
153
|
+
[ariaLabel]="button.ariaLabel"
|
|
154
|
+
[icon]="button.icon"
|
|
155
|
+
[iconPosition]="button.iconPosition ?? 'trailing'"
|
|
156
|
+
[variant]="button.variant ?? 'primary'"
|
|
157
|
+
[size]="button.size ?? 'md'"
|
|
158
|
+
[loading]="isButtonLoading(button)"
|
|
159
|
+
[disabled]="isButtonDisabled(button)"
|
|
160
|
+
[customClass]="button.customClass"
|
|
161
|
+
(click)="handleButtonClick(button, $event)"
|
|
162
|
+
/>
|
|
163
|
+
}
|
|
164
|
+
</div>
|
|
165
|
+
`, isInline: true, styles: [".ui-button-area-host{display:block}@media (max-width: 767.98px){.ui-button-area-host{width:100%}}.ui-button-area{display:flex;flex-wrap:wrap;align-items:center}.ui-button-area--gap-xs{gap:var(--ui-spacing-1)}.ui-button-area--gap-sm{gap:var(--ui-spacing-2)}.ui-button-area--gap-md{gap:var(--ui-spacing-3)}.ui-button-area--gap-lg{gap:var(--ui-spacing-4)}.ui-button-area--gap-xl{gap:var(--ui-spacing-5)}.ui-button-area--align-start{justify-content:flex-start}.ui-button-area--align-center{justify-content:center}.ui-button-area--align-end{justify-content:flex-end}.ui-button-area--align-between{justify-content:space-between}@media (max-width: 767.98px){.ui-button-area--stack-mobile{flex-direction:column;width:100%}.ui-button-area--stack-mobile .ui-button-host{display:flex;width:100%}.ui-button-area--stack-mobile .ui-button{width:100%}}\n"], dependencies: [{ kind: "component", type: UiButtonComponent, selector: "ui-button", inputs: ["label", "tooltip", "variant", "size", "icon", "iconPosition", "loading", "disabled", "fullWidth", "type", "ariaLabel", "customClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
166
|
+
}
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiButtonAreaComponent, decorators: [{
|
|
168
|
+
type: Component,
|
|
169
|
+
args: [{ selector: 'ui-button-area', standalone: true, imports: [UiButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
170
|
+
class: 'ui-button-area-host',
|
|
171
|
+
}, template: `
|
|
172
|
+
<div
|
|
173
|
+
[class]="areaClasses"
|
|
174
|
+
role="group"
|
|
175
|
+
[attr.aria-label]="ariaLabel"
|
|
176
|
+
>
|
|
177
|
+
@for (button of visibleButtons; track trackButton($index, button)) {
|
|
178
|
+
<ui-button
|
|
179
|
+
[attr.data-button-id]="button.id || null"
|
|
180
|
+
[label]="button.label"
|
|
181
|
+
[tooltip]="button.tooltip ?? ''"
|
|
182
|
+
[ariaLabel]="button.ariaLabel"
|
|
183
|
+
[icon]="button.icon"
|
|
184
|
+
[iconPosition]="button.iconPosition ?? 'trailing'"
|
|
185
|
+
[variant]="button.variant ?? 'primary'"
|
|
186
|
+
[size]="button.size ?? 'md'"
|
|
187
|
+
[loading]="isButtonLoading(button)"
|
|
188
|
+
[disabled]="isButtonDisabled(button)"
|
|
189
|
+
[customClass]="button.customClass"
|
|
190
|
+
(click)="handleButtonClick(button, $event)"
|
|
191
|
+
/>
|
|
192
|
+
}
|
|
193
|
+
</div>
|
|
194
|
+
`, styles: [".ui-button-area-host{display:block}@media (max-width: 767.98px){.ui-button-area-host{width:100%}}.ui-button-area{display:flex;flex-wrap:wrap;align-items:center}.ui-button-area--gap-xs{gap:var(--ui-spacing-1)}.ui-button-area--gap-sm{gap:var(--ui-spacing-2)}.ui-button-area--gap-md{gap:var(--ui-spacing-3)}.ui-button-area--gap-lg{gap:var(--ui-spacing-4)}.ui-button-area--gap-xl{gap:var(--ui-spacing-5)}.ui-button-area--align-start{justify-content:flex-start}.ui-button-area--align-center{justify-content:center}.ui-button-area--align-end{justify-content:flex-end}.ui-button-area--align-between{justify-content:space-between}@media (max-width: 767.98px){.ui-button-area--stack-mobile{flex-direction:column;width:100%}.ui-button-area--stack-mobile .ui-button-host{display:flex;width:100%}.ui-button-area--stack-mobile .ui-button{width:100%}}\n"] }]
|
|
195
|
+
}], propDecorators: { buttons: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], align: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], ariaLabel: [{
|
|
200
|
+
type: Input
|
|
201
|
+
}], gap: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], stackOnMobile: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}], disableWhileLoading: [{
|
|
206
|
+
type: Input
|
|
207
|
+
}], loadingIds: [{
|
|
208
|
+
type: Input
|
|
209
|
+
}] } });
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLWFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRWpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DRztBQW9DSCxNQUFNLE9BQU8scUJBQXFCO0lBbkNsQztRQW9DRTs7O1dBR0c7UUFDTSxZQUFPLEdBQXlCLEVBQUUsQ0FBQztRQUU1QyxnREFBZ0Q7UUFDdkMsVUFBSyxHQUFzQixLQUFLLENBQUM7UUFFMUMsaURBQWlEO1FBQ3hDLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFFL0IsMERBQTBEO1FBQ2pELFFBQUcsR0FBVyxJQUFJLENBQUM7UUFFNUIsNkRBQTZEO1FBQ3BELGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTlCOzs7V0FHRztRQUNNLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQTBCckMsZ0JBQWdCO1FBQ1IsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBRXhDLHFEQUFxRDtRQUM3QyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXBELHNGQUFzRjtRQUM5RSxhQUFRLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FxRGxFO0lBcEZDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQTJDO1FBQ3hELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQy9CLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFXRCx3REFBd0Q7SUFDeEQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsSUFBSSxXQUFXO1FBQ2IsT0FBTztZQUNMLGdCQUFnQjtZQUNoQix5QkFBeUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQyx1QkFBdUIsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN6RDthQUNFLE1BQU0sQ0FBQyxPQUFPLENBQUM7YUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsOENBQThDO0lBQzlDLFdBQVcsQ0FBQyxLQUFhLEVBQUUsTUFBMEI7UUFDbkQsT0FBTyxNQUFNLENBQUMsRUFBRSxJQUFJLE9BQU8sS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELHVEQUF1RDtJQUN2RCxlQUFlLENBQUMsTUFBMEI7UUFDeEMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxzRUFBc0U7SUFDdEUsZ0JBQWdCLENBQUMsTUFBMEI7UUFDekMsSUFBSSxNQUFNLENBQUMsUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUM5QyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdkUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsc0ZBQXNGO0lBQ3RGLGlCQUFpQixDQUFDLE1BQTBCLEVBQUUsS0FBaUI7UUFDN0QsNERBQTREO1FBQzVELElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNwRCxHQUFHLEVBQUUsV0FBVztZQUNoQixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUs7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7K0dBNUdVLHFCQUFxQjttR0FBckIscUJBQXFCLHFUQTFCdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJULGk1QkE3QlMsaUJBQWlCOzs0RkFnQ2hCLHFCQUFxQjtrQkFuQ2pDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsaUJBQWlCLENBQUMsbUJBQ1gsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3QixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDs4QkFRUSxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csR0FBRztzQkFBWCxLQUFLO2dCQUdHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBTUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQWdCRixVQUFVO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBVaVNpemUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcclxuaW1wb3J0IHsgVWlCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUJ1dHRvbkRlc2NyaXB0b3IsIFVpQnV0dG9uQXJlYUFsaWduIH0gZnJvbSAnLi9idXR0b24udHlwZXMnO1xyXG5pbXBvcnQgeyBVaUJsYWNrYm94U2VydmljZSB9IGZyb20gJy4uL2JsYWNrYm94L2JsYWNrYm94LnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIFN0YW5kYWxvbmUgYnV0dG9uLWdyb3VwIGNvbXBvbmVudCBkcml2ZW4gYnkgYSBgVWlCdXR0b25EZXNjcmlwdG9yW11gIGNvbmZpZ3VyYXRpb24uXHJcbiAqXHJcbiAqIFJlbmRlcnMgYSBncm91cCBvZiBgVWlCdXR0b25gIGluc3RhbmNlcyBmcm9tIGRlY2xhcmF0aXZlIGRlc2NyaXB0b3JzLlxyXG4gKiBTdXBwb3J0cyBwZXItYnV0dG9uIGxvYWRpbmcvZGlzYWJsZWQgc3RhdGVzLCBkeW5hbWljIHZpc2liaWxpdHksXHJcbiAqIGFsaWdubWVudCBjb250cm9sLCBhbmQgb3B0aW9uYWwgbmF2aWdhdGlvbiB2aWEgQW5ndWxhciBSb3V0ZXIuXHJcbiAqXHJcbiAqIFdoZW4gdGhlIGBVaUJsYWNrYm94U2VydmljZWAgaXMgcHJvdmlkZWQsIGJ1dHRvbiBjbGlja3MgYXJlXHJcbiAqIGF1dG9tYXRpY2FsbHkgdHJhY2tlZCBpbiB0aGUgYWN0aXZlIHNlc3Npb24uXHJcbiAqXHJcbiAqIEBzZWxlY3RvciB1aS1idXR0b24tYXJlYVxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDx1aS1idXR0b24tYXJlYVxyXG4gKiAgIFtidXR0b25zXT1cImFjdGlvbnNcIlxyXG4gKiAgIGFsaWduPVwiZW5kXCJcclxuICogICBnYXA9XCJzbVwiXHJcbiAqICAgW2xvYWRpbmdJZHNdPVwiY3VycmVudGx5TG9hZGluZ1wiXHJcbiAqIC8+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIC8vIER5bmFtaWMgY29uZmlndXJhdGlvblxyXG4gKiBhY3Rpb25zOiBVaUJ1dHRvbkRlc2NyaXB0b3JbXSA9IFtcclxuICogICB7IGlkOiAnZXhwb3J0JywgbGFiZWw6ICdFeHBvcnQgRXhjZWwnLCBpY29uOiAnZmlsZS1zcHJlYWRzaGVldCcsIHZhcmlhbnQ6ICdwcmltYXJ5JyxcclxuICogICAgIGFjdGlvbjogKCkgPT4gdGhpcy5leHBvcnRFeGNlbCgpIH0sXHJcbiAqICAgeyBpZDogJ2RlbGV0ZScsIGxhYmVsOiAnRGVsZXRlJywgaWNvbjogJ3RyYXNoLTInLCB2YXJpYW50OiAnd2FybicsXHJcbiAqICAgICBhY3Rpb246ICgpID0+IHRoaXMuZGVsZXRlU2VsZWN0ZWQoKSwgaGlkZGVuOiAhdGhpcy5oYXNTZWxlY3Rpb24gfSxcclxuICogXTtcclxuICpcclxuICogLy8gU2V0IGxvYWRpbmcgc3RhdGUgZnJvbSBvdXRzaWRlOlxyXG4gKiBjdXJyZW50bHlMb2FkaW5nOiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgPSAnZXhwb3J0JztcclxuICogYGBgXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3VpLWJ1dHRvbi1hcmVhJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtVaUJ1dHRvbkNvbXBvbmVudF0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3VpLWJ1dHRvbi1hcmVhLWhvc3QnLFxyXG4gIH0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXZcclxuICAgICAgW2NsYXNzXT1cImFyZWFDbGFzc2VzXCJcclxuICAgICAgcm9sZT1cImdyb3VwXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxyXG4gICAgPlxyXG4gICAgICBAZm9yIChidXR0b24gb2YgdmlzaWJsZUJ1dHRvbnM7IHRyYWNrIHRyYWNrQnV0dG9uKCRpbmRleCwgYnV0dG9uKSkge1xyXG4gICAgICAgIDx1aS1idXR0b25cclxuICAgICAgICAgIFthdHRyLmRhdGEtYnV0dG9uLWlkXT1cImJ1dHRvbi5pZCB8fCBudWxsXCJcclxuICAgICAgICAgIFtsYWJlbF09XCJidXR0b24ubGFiZWxcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiYnV0dG9uLnRvb2x0aXAgPz8gJydcIlxyXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCJidXR0b24uYXJpYUxhYmVsXCJcclxuICAgICAgICAgIFtpY29uXT1cImJ1dHRvbi5pY29uXCJcclxuICAgICAgICAgIFtpY29uUG9zaXRpb25dPVwiYnV0dG9uLmljb25Qb3NpdGlvbiA/PyAndHJhaWxpbmcnXCJcclxuICAgICAgICAgIFt2YXJpYW50XT1cImJ1dHRvbi52YXJpYW50ID8/ICdwcmltYXJ5J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCJidXR0b24uc2l6ZSA/PyAnbWQnXCJcclxuICAgICAgICAgIFtsb2FkaW5nXT1cImlzQnV0dG9uTG9hZGluZyhidXR0b24pXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0J1dHRvbkRpc2FibGVkKGJ1dHRvbilcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzXT1cImJ1dHRvbi5jdXN0b21DbGFzc1wiXHJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soYnV0dG9uLCAkZXZlbnQpXCJcclxuICAgICAgICAvPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlVXJsOiAnLi9idXR0b24tYXJlYS5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUJ1dHRvbkFyZWFDb21wb25lbnQge1xyXG4gIC8qKlxyXG4gICAqIEFycmF5IG9mIGJ1dHRvbiBkZXNjcmlwdG9ycyB0byByZW5kZXIuXHJcbiAgICogQnV0dG9ucyB3aXRoIGBoaWRkZW46IHRydWVgIGFyZSBmaWx0ZXJlZCBvdXQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgYnV0dG9uczogVWlCdXR0b25EZXNjcmlwdG9yW10gPSBbXTtcclxuXHJcbiAgLyoqIEhvcml6b250YWwgYWxpZ25tZW50IG9mIHRoZSBidXR0b24gZ3JvdXAuICovXHJcbiAgQElucHV0KCkgYWxpZ246IFVpQnV0dG9uQXJlYUFsaWduID0gJ2VuZCc7XHJcblxyXG4gIC8qKiBBY2Nlc3NpYmxlIGdyb3VwIGxhYmVsIGZvciBzY3JlZW4gcmVhZGVycy4gKi9cclxuICBASW5wdXQoKSBhcmlhTGFiZWwgPSAnQWN0aW9ucyc7XHJcblxyXG4gIC8qKiBHYXAgYmV0d2VlbiBidXR0b25zIChtYXBzIHRvIGRlc2lnbiB0b2tlbiBzcGFjaW5nKS4gKi9cclxuICBASW5wdXQoKSBnYXA6IFVpU2l6ZSA9ICdzbSc7XHJcblxyXG4gIC8qKiBTdGFjayBidXR0b25zIHZlcnRpY2FsbHkgb24gbW9iaWxlIHZpZXdwb3J0cyAoPDYwMHB4KS4gKi9cclxuICBASW5wdXQoKSBzdGFja09uTW9iaWxlID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBgdHJ1ZWAsIGFsbCBidXR0b25zIGFyZSBkaXNhYmxlZCB3aGlsZSBhbnkgYnV0dG9uIGlzIGluIGEgbG9hZGluZyBzdGF0ZS5cclxuICAgKiBVc2VmdWwgdG8gcHJldmVudCBkb3VibGUtYWN0aW9ucyBkdXJpbmcgYXN5bmMgb3BlcmF0aW9ucy5cclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlV2hpbGVMb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBvbmUgb3IgbW9yZSBidXR0b25zIHRvIGEgbG9hZGluZyBzdGF0ZSBieSB0aGVpciBgaWRgLlxyXG4gICAqIEFjY2VwdHMgYSBzaW5nbGUgc3RyaW5nLCBhbiBhcnJheSBvZiBzdHJpbmdzLCBvciBgbnVsbGAgdG8gY2xlYXIuXHJcbiAgICpcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIGBgYGh0bWxcclxuICAgKiA8IS0tIFNpbmdsZSAtLT5cclxuICAgKiA8dWktYnV0dG9uLWFyZWEgW2xvYWRpbmdJZHNdPVwiJ3NhdmUnXCIgLz5cclxuICAgKlxyXG4gICAqIDwhLS0gTXVsdGlwbGUgLS0+XHJcbiAgICogPHVpLWJ1dHRvbi1hcmVhIFtsb2FkaW5nSWRzXT1cIlsnc2F2ZScsICdleHBvcnQnXVwiIC8+XHJcbiAgICogYGBgXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgbG9hZGluZ0lkcyh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLl9sb2FkaW5nSWRzID0gbmV3IFNldCgpO1xyXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICB0aGlzLl9sb2FkaW5nSWRzID0gbmV3IFNldCh2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9sb2FkaW5nSWRzID0gbmV3IFNldChbdmFsdWVdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgKi9cclxuICBwcml2YXRlIF9sb2FkaW5nSWRzID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKiBAaW50ZXJuYWwgT3B0aW9uYWwgcm91dGVyIGZvciBocmVmIG5hdmlnYXRpb24uICovXHJcbiAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG5cclxuICAvKiogQGludGVybmFsIE9wdGlvbmFsIEJsYWNrQm94IHNlcnZpY2Ug4oCUIGF1dG8tdHJhY2tzIGJ1dHRvbiBjbGlja3Mgd2hlbiBhdmFpbGFibGUuICovXHJcbiAgcHJpdmF0ZSBibGFja2JveCA9IGluamVjdChVaUJsYWNrYm94U2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuXHJcbiAgLyoqIEJ1dHRvbnMgZmlsdGVyZWQgdG8gdmlzaWJsZSAobm9uLWhpZGRlbikgZW50cmllcy4gKi9cclxuICBnZXQgdmlzaWJsZUJ1dHRvbnMoKTogVWlCdXR0b25EZXNjcmlwdG9yW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuYnV0dG9ucy5maWx0ZXIoKGIpID0+ICFiLmhpZGRlbik7XHJcbiAgfVxyXG5cclxuICAvKiogQXNzZW1ibGVkIENTUyBjbGFzcyBzdHJpbmcgZm9yIHRoZSBidXR0b24gYXJlYSBjb250YWluZXIuICovXHJcbiAgZ2V0IGFyZWFDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICAndWktYnV0dG9uLWFyZWEnLFxyXG4gICAgICBgdWktYnV0dG9uLWFyZWEtLWFsaWduLSR7dGhpcy5hbGlnbn1gLFxyXG4gICAgICBgdWktYnV0dG9uLWFyZWEtLWdhcC0ke3RoaXMuZ2FwfWAsXHJcbiAgICAgIHRoaXMuc3RhY2tPbk1vYmlsZSA/ICd1aS1idXR0b24tYXJlYS0tc3RhY2stbW9iaWxlJyA6ICcnLFxyXG4gICAgXVxyXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgIC5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIFRyYWNrIGZ1bmN0aW9uIGZvciBAZm9yIGxvb3AuICovXHJcbiAgdHJhY2tCdXR0b24oaW5kZXg6IG51bWJlciwgYnV0dG9uOiBVaUJ1dHRvbkRlc2NyaXB0b3IpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGJ1dHRvbi5pZCA/PyBgaWR4LSR7aW5kZXh9YDtcclxuICB9XHJcblxyXG4gIC8qKiBXaGV0aGVyIGEgc3BlY2lmaWMgYnV0dG9uIGlzIGluIGEgbG9hZGluZyBzdGF0ZS4gKi9cclxuICBpc0J1dHRvbkxvYWRpbmcoYnV0dG9uOiBVaUJ1dHRvbkRlc2NyaXB0b3IpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIWJ1dHRvbi5sb2FkaW5nIHx8ICghIWJ1dHRvbi5pZCAmJiB0aGlzLl9sb2FkaW5nSWRzLmhhcyhidXR0b24uaWQpKTtcclxuICB9XHJcblxyXG4gIC8qKiBXaGV0aGVyIGEgc3BlY2lmaWMgYnV0dG9uIGlzIGRpc2FibGVkIChpbmNsdWRlcyBsb2FkaW5nIGxvZ2ljKS4gKi9cclxuICBpc0J1dHRvbkRpc2FibGVkKGJ1dHRvbjogVWlCdXR0b25EZXNjcmlwdG9yKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYnV0dG9uLmRpc2FibGVkKSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmlzQnV0dG9uTG9hZGluZyhidXR0b24pKSByZXR1cm4gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmRpc2FibGVXaGlsZUxvYWRpbmcgJiYgdGhpcy5fbG9hZGluZ0lkcy5zaXplID4gMCkgcmV0dXJuIHRydWU7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKiogQGludGVybmFsIEhhbmRsZXMgYnV0dG9uIGNsaWNrOiB0cmFja3MgYWN0aW9uLCBjYWxscyBjYWxsYmFjayBhbmQvb3IgbmF2aWdhdGVzLiAqL1xyXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbjogVWlCdXR0b25EZXNjcmlwdG9yLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gQmxhY2tCb3ggYXV0by10cmFja2luZyAobm8tb3AgaWYgc2VydmljZSBpcyBub3QgcHJvdmlkZWQpXHJcbiAgICB0aGlzLmJsYWNrYm94Py50cmFja0FjdGlvbihidXR0b24uaWQgPz8gYnV0dG9uLmxhYmVsLCB7XHJcbiAgICAgIHRhZzogJ3VpLWJ1dHRvbicsXHJcbiAgICAgIGlkOiBidXR0b24uaWQsXHJcbiAgICAgIHRleHQ6IGJ1dHRvbi5sYWJlbCxcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChidXR0b24uYWN0aW9uKSB7XHJcbiAgICAgIGJ1dHRvbi5hY3Rpb24oZXZlbnQpO1xyXG4gICAgfVxyXG4gICAgaWYgKGJ1dHRvbi5ocmVmICYmIHRoaXMucm91dGVyKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYnV0dG9uLmhyZWYpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
3
|
+
import { LucideAngularModule } from 'lucide-angular';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/tooltip";
|
|
6
|
+
import * as i2 from "lucide-angular";
|
|
7
|
+
/** @internal Size-to-icon-pixel mapping for consistent icon sizing. */
|
|
8
|
+
const ICON_SIZE_MAP = {
|
|
9
|
+
xs: 14,
|
|
10
|
+
sm: 16,
|
|
11
|
+
md: 18,
|
|
12
|
+
lg: 20,
|
|
13
|
+
xl: 22,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Standalone button component with design-token-driven theming,
|
|
17
|
+
* variant/size system, Lucide icon support, loading states, and WCAG 2.1 AA accessibility.
|
|
18
|
+
*
|
|
19
|
+
* Uses native `<button>` click events — listen with `(click)` on the host element.
|
|
20
|
+
*
|
|
21
|
+
* @selector ui-button
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```html
|
|
25
|
+
* <!-- Basic -->
|
|
26
|
+
* <ui-button label="Save" variant="primary" icon="save" (click)="save()" />
|
|
27
|
+
*
|
|
28
|
+
* <!-- Loading -->
|
|
29
|
+
* <ui-button label="Submitting..." variant="primary" [loading]="true" />
|
|
30
|
+
*
|
|
31
|
+
* <!-- Icon-only: tooltip o ariaLabel forniscono il nome accessibile -->
|
|
32
|
+
* <ui-button icon="trash-2" variant="warn" tooltip="Elimina" (click)="delete()" />
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export class UiButtonComponent {
|
|
36
|
+
constructor() {
|
|
37
|
+
/** Button label text. */
|
|
38
|
+
this.label = '';
|
|
39
|
+
/** Tooltip text shown on hover (uses Angular Material tooltip). */
|
|
40
|
+
this.tooltip = '';
|
|
41
|
+
/** Visual style variant. */
|
|
42
|
+
this.variant = 'primary';
|
|
43
|
+
/** Size variant. */
|
|
44
|
+
this.size = 'md';
|
|
45
|
+
/** Icon position relative to the label. */
|
|
46
|
+
this.iconPosition = 'trailing';
|
|
47
|
+
/** Whether the button is in a loading state. Disables interaction and shows spinner. */
|
|
48
|
+
this.loading = false;
|
|
49
|
+
/** Whether the button is disabled. */
|
|
50
|
+
this.disabled = false;
|
|
51
|
+
/** Expand button to full container width. */
|
|
52
|
+
this.fullWidth = false;
|
|
53
|
+
/** HTML button type attribute. */
|
|
54
|
+
this.type = 'button';
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Nome accessibile risolto per il pulsante nativo.
|
|
58
|
+
* Usa `ariaLabel` se impostato; per pulsanti solo icona senza testo visibile
|
|
59
|
+
* ricade sul `tooltip` (il tooltip Material non sostituisce il nome accessibile).
|
|
60
|
+
*/
|
|
61
|
+
get effectiveAriaLabel() {
|
|
62
|
+
const explicit = this.ariaLabel?.trim();
|
|
63
|
+
if (explicit)
|
|
64
|
+
return explicit;
|
|
65
|
+
if (this.label?.trim())
|
|
66
|
+
return undefined;
|
|
67
|
+
const tip = this.tooltip?.trim();
|
|
68
|
+
if (this.icon && tip)
|
|
69
|
+
return tip;
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
/** Computed icon pixel size based on button size. */
|
|
73
|
+
get iconSize() {
|
|
74
|
+
return ICON_SIZE_MAP[this.size] ?? 18;
|
|
75
|
+
}
|
|
76
|
+
/** Assembled CSS class string for the native button element. */
|
|
77
|
+
get buttonClasses() {
|
|
78
|
+
return [
|
|
79
|
+
'ui-button',
|
|
80
|
+
`ui-button--${this.variant}`,
|
|
81
|
+
`ui-button--${this.size}`,
|
|
82
|
+
this.loading ? 'ui-button--loading' : '',
|
|
83
|
+
this.fullWidth ? 'ui-button--full-width' : '',
|
|
84
|
+
!this.label && this.icon ? 'ui-button--icon-only' : '',
|
|
85
|
+
this.customClass ?? '',
|
|
86
|
+
]
|
|
87
|
+
.filter(Boolean)
|
|
88
|
+
.join(' ');
|
|
89
|
+
}
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiButtonComponent, isStandalone: true, selector: "ui-button", inputs: { label: "label", tooltip: "tooltip", variant: "variant", size: "size", icon: "icon", iconPosition: "iconPosition", loading: "loading", disabled: "disabled", fullWidth: "fullWidth", type: "type", ariaLabel: "ariaLabel", customClass: "customClass" }, host: { properties: { "class.ui-button-host--full-width": "fullWidth" }, classAttribute: "ui-button-host" }, ngImport: i0, template: `
|
|
92
|
+
<button
|
|
93
|
+
[type]="type"
|
|
94
|
+
[class]="buttonClasses"
|
|
95
|
+
[disabled]="disabled || loading"
|
|
96
|
+
[attr.aria-label]="effectiveAriaLabel || null"
|
|
97
|
+
[attr.aria-busy]="loading || null"
|
|
98
|
+
[matTooltip]="tooltip"
|
|
99
|
+
>
|
|
100
|
+
<span class="ui-button__content" [class.ui-button__content--hidden]="loading">
|
|
101
|
+
@if (icon && iconPosition === 'leading') {
|
|
102
|
+
<lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
|
|
103
|
+
}
|
|
104
|
+
@if (label) {
|
|
105
|
+
<span class="ui-button__label">{{ label }}</span>
|
|
106
|
+
}
|
|
107
|
+
<ng-content />
|
|
108
|
+
@if (icon && iconPosition === 'trailing') {
|
|
109
|
+
<lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
|
|
110
|
+
}
|
|
111
|
+
</span>
|
|
112
|
+
@if (loading) {
|
|
113
|
+
<span class="ui-button__spinner-overlay">
|
|
114
|
+
<span class="ui-button__spinner" aria-hidden="true"></span>
|
|
115
|
+
<span class="ui-button__sr-only">Loading</span>
|
|
116
|
+
</span>
|
|
117
|
+
}
|
|
118
|
+
</button>
|
|
119
|
+
`, isInline: true, styles: [".ui-button-host{display:inline-flex}.ui-button-host--full-width{display:flex;width:100%}.ui-button{appearance:none;border:none;cursor:pointer;font-family:var(--ui-font-family);font-weight:var(--ui-font-weight-medium);letter-spacing:.01em;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ui-radius-md);white-space:nowrap;text-decoration:none;overflow:hidden;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast),border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast),opacity var(--ui-transition-fast)}.ui-button:focus{outline:none}.ui-button:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--full-width{width:100%}.ui-button--xs{height:28px;padding:0 var(--ui-spacing-2);font-size:var(--ui-font-size-xs);border-radius:var(--ui-radius-sm);gap:var(--ui-spacing-1)}.ui-button--sm{height:32px;padding:0 var(--ui-spacing-3);font-size:var(--ui-font-size-xs);gap:6px}.ui-button--md{height:36px;padding:0 var(--ui-spacing-4);font-size:var(--ui-font-size-sm);gap:var(--ui-spacing-2)}.ui-button--lg{height:40px;padding:0 var(--ui-spacing-5);font-size:var(--ui-font-size-sm);gap:var(--ui-spacing-2)}.ui-button--xl{height:48px;padding:0 var(--ui-spacing-6);font-size:var(--ui-font-size-md);gap:var(--ui-spacing-3)}.ui-button--icon-only.ui-button--xs{width:28px;padding:0}.ui-button--icon-only.ui-button--sm{width:32px;padding:0}.ui-button--icon-only.ui-button--md{width:36px;padding:0}.ui-button--icon-only.ui-button--lg{width:40px;padding:0}.ui-button--icon-only.ui-button--xl{width:48px;padding:0}.ui-button--primary{background:var(--ui-color-primary);color:var(--ui-color-primary-contrast)}.ui-button--primary:hover:not(:disabled){background:var(--ui-color-primary-hover)}.ui-button--primary:active:not(:disabled){background:var(--ui-color-primary-active)}.ui-button--accent{background:var(--ui-color-accent);color:var(--ui-color-accent-contrast)}.ui-button--accent:hover:not(:disabled){background:var(--ui-color-accent-hover)}.ui-button--accent:active:not(:disabled){background:var(--ui-color-accent-active)}.ui-button--warn{background:var(--ui-color-warn);color:var(--ui-color-warn-contrast)}.ui-button--warn:hover:not(:disabled){background:var(--ui-color-warn-hover)}.ui-button--warn:active:not(:disabled){background:var(--ui-color-warn-active)}.ui-button--neutral{background:var(--ui-color-neutral-200);color:var(--ui-color-text)}.ui-button--neutral:hover:not(:disabled){background:var(--ui-color-neutral-300)}.ui-button--neutral:active:not(:disabled){background:var(--ui-color-neutral-400);color:var(--ui-color-text-inverse)}.ui-button--ghost{background:transparent;color:var(--ui-color-text-secondary)}.ui-button--ghost:hover:not(:disabled){background:var(--ui-color-surface-hover);color:var(--ui-color-text)}.ui-button--ghost:active:not(:disabled){background:var(--ui-color-neutral-200)}.ui-button--outline{background:transparent;color:var(--ui-color-primary);border:1.5px solid var(--ui-color-border-strong)}.ui-button--outline:hover:not(:disabled){background:var(--ui-color-primary-light);border-color:var(--ui-color-primary)}.ui-button--outline:active:not(:disabled){background:var(--ui-color-primary-light);border-color:var(--ui-color-primary-hover)}.ui-button--loading{cursor:wait;pointer-events:none}.ui-button__content{display:inline-flex;align-items:center;gap:inherit;transition:visibility var(--ui-transition-fast)}.ui-button__content--hidden{visibility:hidden}.ui-button__label{line-height:1;background-color:transparent!important}.ui-button__spinner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ui-button__spinner{width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-button-spin .6s linear infinite}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.ui-button__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"], dependencies: [{ kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i2.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
120
|
+
}
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiButtonComponent, decorators: [{
|
|
122
|
+
type: Component,
|
|
123
|
+
args: [{ selector: 'ui-button', standalone: true, imports: [MatTooltipModule, LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
124
|
+
class: 'ui-button-host',
|
|
125
|
+
'[class.ui-button-host--full-width]': 'fullWidth',
|
|
126
|
+
}, template: `
|
|
127
|
+
<button
|
|
128
|
+
[type]="type"
|
|
129
|
+
[class]="buttonClasses"
|
|
130
|
+
[disabled]="disabled || loading"
|
|
131
|
+
[attr.aria-label]="effectiveAriaLabel || null"
|
|
132
|
+
[attr.aria-busy]="loading || null"
|
|
133
|
+
[matTooltip]="tooltip"
|
|
134
|
+
>
|
|
135
|
+
<span class="ui-button__content" [class.ui-button__content--hidden]="loading">
|
|
136
|
+
@if (icon && iconPosition === 'leading') {
|
|
137
|
+
<lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
|
|
138
|
+
}
|
|
139
|
+
@if (label) {
|
|
140
|
+
<span class="ui-button__label">{{ label }}</span>
|
|
141
|
+
}
|
|
142
|
+
<ng-content />
|
|
143
|
+
@if (icon && iconPosition === 'trailing') {
|
|
144
|
+
<lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
|
|
145
|
+
}
|
|
146
|
+
</span>
|
|
147
|
+
@if (loading) {
|
|
148
|
+
<span class="ui-button__spinner-overlay">
|
|
149
|
+
<span class="ui-button__spinner" aria-hidden="true"></span>
|
|
150
|
+
<span class="ui-button__sr-only">Loading</span>
|
|
151
|
+
</span>
|
|
152
|
+
}
|
|
153
|
+
</button>
|
|
154
|
+
`, styles: [".ui-button-host{display:inline-flex}.ui-button-host--full-width{display:flex;width:100%}.ui-button{appearance:none;border:none;cursor:pointer;font-family:var(--ui-font-family);font-weight:var(--ui-font-weight-medium);letter-spacing:.01em;position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ui-radius-md);white-space:nowrap;text-decoration:none;overflow:hidden;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast),border-color var(--ui-transition-fast),box-shadow var(--ui-transition-fast),opacity var(--ui-transition-fast)}.ui-button:focus{outline:none}.ui-button:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--full-width{width:100%}.ui-button--xs{height:28px;padding:0 var(--ui-spacing-2);font-size:var(--ui-font-size-xs);border-radius:var(--ui-radius-sm);gap:var(--ui-spacing-1)}.ui-button--sm{height:32px;padding:0 var(--ui-spacing-3);font-size:var(--ui-font-size-xs);gap:6px}.ui-button--md{height:36px;padding:0 var(--ui-spacing-4);font-size:var(--ui-font-size-sm);gap:var(--ui-spacing-2)}.ui-button--lg{height:40px;padding:0 var(--ui-spacing-5);font-size:var(--ui-font-size-sm);gap:var(--ui-spacing-2)}.ui-button--xl{height:48px;padding:0 var(--ui-spacing-6);font-size:var(--ui-font-size-md);gap:var(--ui-spacing-3)}.ui-button--icon-only.ui-button--xs{width:28px;padding:0}.ui-button--icon-only.ui-button--sm{width:32px;padding:0}.ui-button--icon-only.ui-button--md{width:36px;padding:0}.ui-button--icon-only.ui-button--lg{width:40px;padding:0}.ui-button--icon-only.ui-button--xl{width:48px;padding:0}.ui-button--primary{background:var(--ui-color-primary);color:var(--ui-color-primary-contrast)}.ui-button--primary:hover:not(:disabled){background:var(--ui-color-primary-hover)}.ui-button--primary:active:not(:disabled){background:var(--ui-color-primary-active)}.ui-button--accent{background:var(--ui-color-accent);color:var(--ui-color-accent-contrast)}.ui-button--accent:hover:not(:disabled){background:var(--ui-color-accent-hover)}.ui-button--accent:active:not(:disabled){background:var(--ui-color-accent-active)}.ui-button--warn{background:var(--ui-color-warn);color:var(--ui-color-warn-contrast)}.ui-button--warn:hover:not(:disabled){background:var(--ui-color-warn-hover)}.ui-button--warn:active:not(:disabled){background:var(--ui-color-warn-active)}.ui-button--neutral{background:var(--ui-color-neutral-200);color:var(--ui-color-text)}.ui-button--neutral:hover:not(:disabled){background:var(--ui-color-neutral-300)}.ui-button--neutral:active:not(:disabled){background:var(--ui-color-neutral-400);color:var(--ui-color-text-inverse)}.ui-button--ghost{background:transparent;color:var(--ui-color-text-secondary)}.ui-button--ghost:hover:not(:disabled){background:var(--ui-color-surface-hover);color:var(--ui-color-text)}.ui-button--ghost:active:not(:disabled){background:var(--ui-color-neutral-200)}.ui-button--outline{background:transparent;color:var(--ui-color-primary);border:1.5px solid var(--ui-color-border-strong)}.ui-button--outline:hover:not(:disabled){background:var(--ui-color-primary-light);border-color:var(--ui-color-primary)}.ui-button--outline:active:not(:disabled){background:var(--ui-color-primary-light);border-color:var(--ui-color-primary-hover)}.ui-button--loading{cursor:wait;pointer-events:none}.ui-button__content{display:inline-flex;align-items:center;gap:inherit;transition:visibility var(--ui-transition-fast)}.ui-button__content--hidden{visibility:hidden}.ui-button__label{line-height:1;background-color:transparent!important}.ui-button__spinner-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ui-button__spinner{width:1.1em;height:1.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-button-spin .6s linear infinite}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.ui-button__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"] }]
|
|
155
|
+
}], propDecorators: { label: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], tooltip: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], variant: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], size: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], icon: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], iconPosition: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], loading: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], disabled: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], fullWidth: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], type: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], ariaLabel: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], customClass: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}] } });
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXVpLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJckQsdUVBQXVFO0FBQ3ZFLE1BQU0sYUFBYSxHQUEyQjtJQUM1QyxFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0NBQ1AsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBMENILE1BQU0sT0FBTyxpQkFBaUI7SUF6QzlCO1FBMENFLHlCQUF5QjtRQUNoQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRXBCLG1FQUFtRTtRQUMxRCxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBRXRCLDRCQUE0QjtRQUNuQixZQUFPLEdBQWMsU0FBUyxDQUFDO1FBRXhDLG9CQUFvQjtRQUNYLFNBQUksR0FBVyxJQUFJLENBQUM7UUFLN0IsMkNBQTJDO1FBQ2xDLGlCQUFZLEdBQW1CLFVBQVUsQ0FBQztRQUVuRCx3RkFBd0Y7UUFDL0UsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUV6QixzQ0FBc0M7UUFDN0IsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQiw2Q0FBNkM7UUFDcEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQixrQ0FBa0M7UUFDekIsU0FBSSxHQUFrQyxRQUFRLENBQUM7S0E0Q3pEO0lBcENDOzs7O09BSUc7SUFDSCxJQUFJLGtCQUFrQjtRQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3hDLElBQUksUUFBUTtZQUFFLE9BQU8sUUFBUSxDQUFDO1FBRTlCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUV6QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxHQUFHO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFakMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxJQUFJLFFBQVE7UUFDVixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsSUFBSSxhQUFhO1FBQ2YsT0FBTztZQUNMLFdBQVc7WUFDWCxjQUFjLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDNUIsY0FBYyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN0RCxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUU7U0FDdkI7YUFDRSxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzsrR0F4RVUsaUJBQWlCO21HQUFqQixpQkFBaUIsb2JBL0JsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVCx3b0lBbkNTLGdCQUFnQiw0VEFBRSxtQkFBbUI7OzRGQXNDcEMsaUJBQWlCO2tCQXpDN0IsU0FBUzsrQkFDRSxXQUFXLGNBQ1QsSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsbUJBQy9CLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsb0NBQW9DLEVBQUUsV0FBVztxQkFDbEQsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCVDs4QkFLUSxLQUFLO3NCQUFiLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTHVjaWRlQW5ndWxhck1vZHVsZSB9IGZyb20gJ2x1Y2lkZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgVWlWYXJpYW50LCBVaVNpemUsIFVpSWNvbk5hbWUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzJztcclxuaW1wb3J0IHsgVWlJY29uUG9zaXRpb24gfSBmcm9tICcuL2J1dHRvbi50eXBlcyc7XHJcblxyXG4vKiogQGludGVybmFsIFNpemUtdG8taWNvbi1waXhlbCBtYXBwaW5nIGZvciBjb25zaXN0ZW50IGljb24gc2l6aW5nLiAqL1xyXG5jb25zdCBJQ09OX1NJWkVfTUFQOiBSZWNvcmQ8VWlTaXplLCBudW1iZXI+ID0ge1xyXG4gIHhzOiAxNCxcclxuICBzbTogMTYsXHJcbiAgbWQ6IDE4LFxyXG4gIGxnOiAyMCxcclxuICB4bDogMjIsXHJcbn07XHJcblxyXG4vKipcclxuICogU3RhbmRhbG9uZSBidXR0b24gY29tcG9uZW50IHdpdGggZGVzaWduLXRva2VuLWRyaXZlbiB0aGVtaW5nLFxyXG4gKiB2YXJpYW50L3NpemUgc3lzdGVtLCBMdWNpZGUgaWNvbiBzdXBwb3J0LCBsb2FkaW5nIHN0YXRlcywgYW5kIFdDQUcgMi4xIEFBIGFjY2Vzc2liaWxpdHkuXHJcbiAqXHJcbiAqIFVzZXMgbmF0aXZlIGA8YnV0dG9uPmAgY2xpY2sgZXZlbnRzIOKAlCBsaXN0ZW4gd2l0aCBgKGNsaWNrKWAgb24gdGhlIGhvc3QgZWxlbWVudC5cclxuICpcclxuICogQHNlbGVjdG9yIHVpLWJ1dHRvblxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGBodG1sXHJcbiAqIDwhLS0gQmFzaWMgLS0+XHJcbiAqIDx1aS1idXR0b24gbGFiZWw9XCJTYXZlXCIgdmFyaWFudD1cInByaW1hcnlcIiBpY29uPVwic2F2ZVwiIChjbGljayk9XCJzYXZlKClcIiAvPlxyXG4gKlxyXG4gKiA8IS0tIExvYWRpbmcgLS0+XHJcbiAqIDx1aS1idXR0b24gbGFiZWw9XCJTdWJtaXR0aW5nLi4uXCIgdmFyaWFudD1cInByaW1hcnlcIiBbbG9hZGluZ109XCJ0cnVlXCIgLz5cclxuICpcclxuICogPCEtLSBJY29uLW9ubHk6IHRvb2x0aXAgbyBhcmlhTGFiZWwgZm9ybmlzY29ubyBpbCBub21lIGFjY2Vzc2liaWxlIC0tPlxyXG4gKiA8dWktYnV0dG9uIGljb249XCJ0cmFzaC0yXCIgdmFyaWFudD1cIndhcm5cIiB0b29sdGlwPVwiRWxpbWluYVwiIChjbGljayk9XCJkZWxldGUoKVwiIC8+XHJcbiAqIGBgYFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1idXR0b24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW01hdFRvb2x0aXBNb2R1bGUsIEx1Y2lkZUFuZ3VsYXJNb2R1bGVdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICd1aS1idXR0b24taG9zdCcsXHJcbiAgICAnW2NsYXNzLnVpLWJ1dHRvbi1ob3N0LS1mdWxsLXdpZHRoXSc6ICdmdWxsV2lkdGgnLFxyXG4gIH0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxidXR0b25cclxuICAgICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgICAgIFtjbGFzc109XCJidXR0b25DbGFzc2VzXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvYWRpbmdcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImVmZmVjdGl2ZUFyaWFMYWJlbCB8fCBudWxsXCJcclxuICAgICAgW2F0dHIuYXJpYS1idXN5XT1cImxvYWRpbmcgfHwgbnVsbFwiXHJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXBcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInVpLWJ1dHRvbl9fY29udGVudFwiIFtjbGFzcy51aS1idXR0b25fX2NvbnRlbnQtLWhpZGRlbl09XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgQGlmIChpY29uICYmIGljb25Qb3NpdGlvbiA9PT0gJ2xlYWRpbmcnKSB7XHJcbiAgICAgICAgICA8bHVjaWRlLWljb24gW25hbWVdPVwiaWNvbiFcIiBbc2l6ZV09XCJpY29uU2l6ZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFiZWwpIHtcclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidWktYnV0dG9uX19sYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8bmctY29udGVudCAvPlxyXG4gICAgICAgIEBpZiAoaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICd0cmFpbGluZycpIHtcclxuICAgICAgICAgIDxsdWNpZGUtaWNvbiBbbmFtZV09XCJpY29uIVwiIFtzaXplXT1cImljb25TaXplXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgLz5cclxuICAgICAgICB9XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1idXR0b25fX3NwaW5uZXItb3ZlcmxheVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1aS1idXR0b25fX3NwaW5uZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVpLWJ1dHRvbl9fc3Itb25seVwiPkxvYWRpbmc8L3NwYW4+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L2J1dHRvbj5cclxuICBgLFxyXG4gIHN0eWxlVXJsOiAnLi9idXR0b24uY29tcG9uZW50LnNjc3MnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlCdXR0b25Db21wb25lbnQge1xyXG4gIC8qKiBCdXR0b24gbGFiZWwgdGV4dC4gKi9cclxuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xyXG5cclxuICAvKiogVG9vbHRpcCB0ZXh0IHNob3duIG9uIGhvdmVyICh1c2VzIEFuZ3VsYXIgTWF0ZXJpYWwgdG9vbHRpcCkuICovXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnO1xyXG5cclxuICAvKiogVmlzdWFsIHN0eWxlIHZhcmlhbnQuICovXHJcbiAgQElucHV0KCkgdmFyaWFudDogVWlWYXJpYW50ID0gJ3ByaW1hcnknO1xyXG5cclxuICAvKiogU2l6ZSB2YXJpYW50LiAqL1xyXG4gIEBJbnB1dCgpIHNpemU6IFVpU2l6ZSA9ICdtZCc7XHJcblxyXG4gIC8qKiBMdWNpZGUgaWNvbiBuYW1lLiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucyAqL1xyXG4gIEBJbnB1dCgpIGljb24/OiBVaUljb25OYW1lO1xyXG5cclxuICAvKiogSWNvbiBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGFiZWwuICovXHJcbiAgQElucHV0KCkgaWNvblBvc2l0aW9uOiBVaUljb25Qb3NpdGlvbiA9ICd0cmFpbGluZyc7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRoZSBidXR0b24gaXMgaW4gYSBsb2FkaW5nIHN0YXRlLiBEaXNhYmxlcyBpbnRlcmFjdGlvbiBhbmQgc2hvd3Mgc3Bpbm5lci4gKi9cclxuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gIC8qKiBXaGV0aGVyIHRoZSBidXR0b24gaXMgZGlzYWJsZWQuICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqIEV4cGFuZCBidXR0b24gdG8gZnVsbCBjb250YWluZXIgd2lkdGguICovXHJcbiAgQElucHV0KCkgZnVsbFdpZHRoID0gZmFsc2U7XHJcblxyXG4gIC8qKiBIVE1MIGJ1dHRvbiB0eXBlIGF0dHJpYnV0ZS4gKi9cclxuICBASW5wdXQoKSB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0JyA9ICdidXR0b24nO1xyXG5cclxuICAvKiogQWNjZXNzaWJsZSBsYWJlbCBvdmVycmlkZSAocmVxdWlyZWQgZm9yIGljb24tb25seSBidXR0b25zKS4gKi9cclxuICBASW5wdXQoKSBhcmlhTGFiZWw/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzcyBmb3IgZWRnZSBjYXNlcy4gKi9cclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogTm9tZSBhY2Nlc3NpYmlsZSByaXNvbHRvIHBlciBpbCBwdWxzYW50ZSBuYXRpdm8uXHJcbiAgICogVXNhIGBhcmlhTGFiZWxgIHNlIGltcG9zdGF0bzsgcGVyIHB1bHNhbnRpIHNvbG8gaWNvbmEgc2VuemEgdGVzdG8gdmlzaWJpbGVcclxuICAgKiByaWNhZGUgc3VsIGB0b29sdGlwYCAoaWwgdG9vbHRpcCBNYXRlcmlhbCBub24gc29zdGl0dWlzY2UgaWwgbm9tZSBhY2Nlc3NpYmlsZSkuXHJcbiAgICovXHJcbiAgZ2V0IGVmZmVjdGl2ZUFyaWFMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgZXhwbGljaXQgPSB0aGlzLmFyaWFMYWJlbD8udHJpbSgpO1xyXG4gICAgaWYgKGV4cGxpY2l0KSByZXR1cm4gZXhwbGljaXQ7XHJcblxyXG4gICAgaWYgKHRoaXMubGFiZWw/LnRyaW0oKSkgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICBjb25zdCB0aXAgPSB0aGlzLnRvb2x0aXA/LnRyaW0oKTtcclxuICAgIGlmICh0aGlzLmljb24gJiYgdGlwKSByZXR1cm4gdGlwO1xyXG5cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKiogQ29tcHV0ZWQgaWNvbiBwaXhlbCBzaXplIGJhc2VkIG9uIGJ1dHRvbiBzaXplLiAqL1xyXG4gIGdldCBpY29uU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIElDT05fU0laRV9NQVBbdGhpcy5zaXplXSA/PyAxODtcclxuICB9XHJcblxyXG4gIC8qKiBBc3NlbWJsZWQgQ1NTIGNsYXNzIHN0cmluZyBmb3IgdGhlIG5hdGl2ZSBidXR0b24gZWxlbWVudC4gKi9cclxuICBnZXQgYnV0dG9uQ2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgJ3VpLWJ1dHRvbicsXHJcbiAgICAgIGB1aS1idXR0b24tLSR7dGhpcy52YXJpYW50fWAsXHJcbiAgICAgIGB1aS1idXR0b24tLSR7dGhpcy5zaXplfWAsXHJcbiAgICAgIHRoaXMubG9hZGluZyA/ICd1aS1idXR0b24tLWxvYWRpbmcnIDogJycsXHJcbiAgICAgIHRoaXMuZnVsbFdpZHRoID8gJ3VpLWJ1dHRvbi0tZnVsbC13aWR0aCcgOiAnJyxcclxuICAgICAgIXRoaXMubGFiZWwgJiYgdGhpcy5pY29uID8gJ3VpLWJ1dHRvbi0taWNvbi1vbmx5JyA6ICcnLFxyXG4gICAgICB0aGlzLmN1c3RvbUNsYXNzID8/ICcnLFxyXG4gICAgXVxyXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pXHJcbiAgICAgIC5qb2luKCcgJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ng-ui-system/button
|
|
3
|
+
* Types and interfaces for UiButton and UiButtonArea components.
|
|
4
|
+
*/
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vYnV0dG9uXG4gKiBUeXBlcyBhbmQgaW50ZXJmYWNlcyBmb3IgVWlCdXR0b24gYW5kIFVpQnV0dG9uQXJlYSBjb21wb25lbnRzLlxuICovXG5cbmltcG9ydCB7IFVpVmFyaWFudCwgVWlTaXplLCBVaUljb25OYW1lIH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5cbi8vIFJlLWV4cG9ydCBmb3IgY29uc3VtZXIgY29udmVuaWVuY2VcbmV4cG9ydCB7IFVpVmFyaWFudCwgVWlTaXplLCBVaUljb25OYW1lIH07XG5cbi8qKlxuICogUG9zaXRpb24gb2YgdGhlIGljb24gcmVsYXRpdmUgdG8gdGhlIGJ1dHRvbiBsYWJlbC5cbiAqL1xuZXhwb3J0IHR5cGUgVWlJY29uUG9zaXRpb24gPSAnbGVhZGluZycgfCAndHJhaWxpbmcnO1xuXG4vKipcbiAqIERlc2NyaXB0b3IgZm9yIGRlY2xhcmF0aXZlIGJ1dHRvbiBjb25maWd1cmF0aW9uIGluIFVpQnV0dG9uQXJlYS5cbiAqXG4gKiBBbGxvd3MgZGVmaW5pbmcgYnV0dG9uIGdyb3VwcyBhcyBkYXRhIHN0cnVjdHVyZXMsIGVuYWJsaW5nXG4gKiBkeW5hbWljIFVJIHVwZGF0ZXMgdGhyb3VnaCBjb25maWd1cmF0aW9uIG1hbmlwdWxhdGlvbi5cbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqICMjIyBCYXNpYyB1c2FnZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYWN0aW9uczogVWlCdXR0b25EZXNjcmlwdG9yW10gPSBbXG4gKiAgIHsgaWQ6ICdzYXZlJywgbGFiZWw6ICdTYXZlJywgdmFyaWFudDogJ3ByaW1hcnknLCBpY29uOiAnc2F2ZScsIGFjdGlvbjogKCkgPT4gdGhpcy5zYXZlKCkgfSxcbiAqICAgeyBpZDogJ2NhbmNlbCcsIGxhYmVsOiAnQ2FuY2VsJywgdmFyaWFudDogJ291dGxpbmUnLCBhY3Rpb246ICgpID0+IHRoaXMuY2FuY2VsKCkgfSxcbiAqIF07XG4gKiBgYGBcbiAqXG4gKiAjIyMgRHluYW1pYyBsb2FkaW5nIHN0YXRlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBUb2dnbGUgbG9hZGluZyBvbiBhIHNwZWNpZmljIGJ1dHRvbiBieSBtdXRhdGluZyB0aGUgZGVzY3JpcHRvcjpcbiAqIHRoaXMuYWN0aW9uc1swXS5sb2FkaW5nID0gdHJ1ZTtcbiAqXG4gKiAvLyBPciB1c2UgbG9hZGluZ0lkcyBvbiB0aGUgYnV0dG9uIGFyZWE6XG4gKiB0aGlzLmN1cnJlbnRMb2FkaW5nSWRzID0gWydzYXZlJ107XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVaUJ1dHRvbkRlc2NyaXB0b3Ige1xuICAvKiogVW5pcXVlIGlkZW50aWZpZXIgZm9yIHByb2dyYW1tYXRpYyBzdGF0ZSBjb250cm9sIChsb2FkaW5nLCBkaXNhYmxlZCkuICovXG4gIGlkPzogc3RyaW5nO1xuXG4gIC8qKiBCdXR0b24gbGFiZWwgdGV4dC4gKi9cbiAgbGFiZWw6IHN0cmluZztcblxuICAvKiogVG9vbHRpcCB0ZXh0IHNob3duIG9uIGhvdmVyLiAqL1xuICB0b29sdGlwPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOb21lIGFjY2Vzc2liaWxlIGVzcGxpY2l0byAob3ZlcnJpZGUpLlxuICAgKiBQZXIgcHVsc2FudGkgc29sbyBpY29uYSBzZW56YSBgbGFiZWxgLCBzZSBvbWVzc28gc2kgdXNhIGB0b29sdGlwYCBjb21lIGBhcmlhLWxhYmVsYC5cbiAgICovXG4gIGFyaWFMYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogQ2xpY2sgaGFuZGxlci4gU3VwcG9ydHMgYm90aCBzeW5jIGFuZCBhc3luYyBjYWxsYmFja3MuXG4gICAqIFJlY2VpdmVzIHRoZSBuYXRpdmUgTW91c2VFdmVudCBhcyBhcmd1bWVudC5cbiAgICovXG4gIGFjdGlvbj86IChldmVudD86IE1vdXNlRXZlbnQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKiBMdWNpZGUgaWNvbiBuYW1lLiBAc2VlIGh0dHBzOi8vbHVjaWRlLmRldi9pY29ucyAqL1xuICBpY29uPzogVWlJY29uTmFtZTtcblxuICAvKiogSWNvbiBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbGFiZWwuIEBkZWZhdWx0ICd0cmFpbGluZycgKi9cbiAgaWNvblBvc2l0aW9uPzogVWlJY29uUG9zaXRpb247XG5cbiAgLyoqIFZpc3VhbCB2YXJpYW50LiBAZGVmYXVsdCAncHJpbWFyeScgKi9cbiAgdmFyaWFudD86IFVpVmFyaWFudDtcblxuICAvKiogU2l6ZSB2YXJpYW50LiBAZGVmYXVsdCAnbWQnICovXG4gIHNpemU/OiBVaVNpemU7XG5cbiAgLyoqIE5hdmlnYXRpb24gVVJMIChBbmd1bGFyIFJvdXRlciBuYXZpZ2F0ZUJ5VXJsKS4gKi9cbiAgaHJlZj86IHN0cmluZztcblxuICAvKiogV2hldGhlciB0aGlzIGJ1dHRvbiBpcyBpbiBhIGxvYWRpbmcgc3RhdGUuICovXG4gIGxvYWRpbmc/OiBib29sZWFuO1xuXG4gIC8qKiBXaGV0aGVyIHRoaXMgYnV0dG9uIGlzIGRpc2FibGVkLiAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBidXR0b24gaXMgaGlkZGVuIGZyb20gdGhlIFVJLiAqL1xuICBoaWRkZW4/OiBib29sZWFuO1xuXG4gIC8qKiBBZGRpdGlvbmFsIENTUyBjbGFzcyBmb3IgZWRnZSBjYXNlcy4gKi9cbiAgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQWxpZ25tZW50IG9wdGlvbnMgZm9yIFVpQnV0dG9uQXJlYS5cbiAqL1xuZXhwb3J0IHR5cGUgVWlCdXR0b25BcmVhQWxpZ24gPSAnc3RhcnQnIHwgJ2NlbnRlcicgfCAnZW5kJyB8ICdiZXR3ZWVuJztcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ng-ui-system — Button entry point.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import {
|
|
7
|
+
* UiButtonComponent,
|
|
8
|
+
* UiButtonAreaComponent,
|
|
9
|
+
* UiButtonDescriptor,
|
|
10
|
+
* } from 'ng-ui-system';
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
// Components
|
|
14
|
+
export { UiButtonComponent } from './button.component';
|
|
15
|
+
export { UiButtonAreaComponent } from './button-area.component';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy11aS1zeXN0ZW0vc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILGFBQWE7QUFDYixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBuZy11aS1zeXN0ZW0g4oCUIEJ1dHRvbiBlbnRyeSBwb2ludC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBpbXBvcnQge1xyXG4gKiAgIFVpQnV0dG9uQ29tcG9uZW50LFxyXG4gKiAgIFVpQnV0dG9uQXJlYUNvbXBvbmVudCxcclxuICogICBVaUJ1dHRvbkRlc2NyaXB0b3IsXHJcbiAqIH0gZnJvbSAnbmctdWktc3lzdGVtJztcclxuICogYGBgXHJcbiAqL1xyXG5cclxuLy8gQ29tcG9uZW50c1xyXG5leHBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IFVpQnV0dG9uQXJlYUNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uLWFyZWEuY29tcG9uZW50JztcclxuXHJcbi8vIFR5cGVzXHJcbmV4cG9ydCB7XHJcbiAgVWlCdXR0b25EZXNjcmlwdG9yLFxyXG4gIFVpQnV0dG9uQXJlYUFsaWduLFxyXG4gIFVpSWNvblBvc2l0aW9uLFxyXG59IGZyb20gJy4vYnV0dG9uLnR5cGVzJztcclxuIl19
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ng-ui-system/form-builder
|
|
3
|
+
* Adapter e formati per il datepicker italiano (DD/MM/YYYY).
|
|
4
|
+
*/
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import { NativeDateAdapter } from '@angular/material/core';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* Adapter personalizzato per il parsing delle date in formato italiano DD/MM/YYYY.
|
|
10
|
+
*
|
|
11
|
+
* Estende il NativeDateAdapter di Angular Material per gestire:
|
|
12
|
+
* - Parsing: converte stringhe DD/MM/YYYY in oggetti Date
|
|
13
|
+
* - Formattazione: visualizza le date nel formato italiano
|
|
14
|
+
* - Primo giorno della settimana: Lunedi (1)
|
|
15
|
+
*/
|
|
16
|
+
export class UiItalianDateAdapter extends NativeDateAdapter {
|
|
17
|
+
/**
|
|
18
|
+
* Il primo giorno della settimana e Lunedi (1).
|
|
19
|
+
*/
|
|
20
|
+
getFirstDayOfWeek() {
|
|
21
|
+
return 1;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Parsing di una stringa di data in formato DD/MM/YYYY.
|
|
25
|
+
* Supporta sia il formato con separatore `/` che `-`.
|
|
26
|
+
*/
|
|
27
|
+
parse(value) {
|
|
28
|
+
if (typeof value === 'string' && value.length > 0) {
|
|
29
|
+
// Gestisci formato DD/MM/YYYY o DD-MM-YYYY
|
|
30
|
+
const parts = value.split(/[\/\-]/);
|
|
31
|
+
if (parts.length === 3) {
|
|
32
|
+
const day = parseInt(parts[0], 10);
|
|
33
|
+
const month = parseInt(parts[1], 10) - 1; // Mesi 0-based
|
|
34
|
+
const year = parseInt(parts[2], 10);
|
|
35
|
+
if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {
|
|
36
|
+
// Validazione base
|
|
37
|
+
if (day >= 1 && day <= 31 && month >= 0 && month <= 11 && year >= 1900 && year <= 2100) {
|
|
38
|
+
return new Date(year, month, day);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return super.parse(value);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Formatta una data in formato DD/MM/YYYY per la visualizzazione.
|
|
47
|
+
*/
|
|
48
|
+
format(date, displayFormat) {
|
|
49
|
+
if (displayFormat === 'input') {
|
|
50
|
+
const day = date.getDate().toString().padStart(2, '0');
|
|
51
|
+
const month = (date.getMonth() + 1).toString().padStart(2, '0');
|
|
52
|
+
const year = date.getFullYear();
|
|
53
|
+
return `${day}/${month}/${year}`;
|
|
54
|
+
}
|
|
55
|
+
return date.toLocaleDateString('it-IT', {
|
|
56
|
+
year: 'numeric',
|
|
57
|
+
month: 'long',
|
|
58
|
+
day: 'numeric',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiItalianDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
62
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiItalianDateAdapter }); }
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiItalianDateAdapter, decorators: [{
|
|
65
|
+
type: Injectable
|
|
66
|
+
}] });
|
|
67
|
+
/**
|
|
68
|
+
* Formati data italiani per Angular Material.
|
|
69
|
+
* Configura il datepicker per usare DD/MM/YYYY.
|
|
70
|
+
*/
|
|
71
|
+
export const UI_IT_DATE_FORMATS = {
|
|
72
|
+
parse: {
|
|
73
|
+
dateInput: 'input',
|
|
74
|
+
},
|
|
75
|
+
display: {
|
|
76
|
+
dateInput: 'input',
|
|
77
|
+
monthYearLabel: { year: 'numeric', month: 'short' },
|
|
78
|
+
dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },
|
|
79
|
+
monthYearA11yLabel: { year: 'numeric', month: 'long' },
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXQtZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctdWktc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvYWRhcHRlcnMvaXQtZGF0ZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFrQixNQUFNLHdCQUF3QixDQUFDOztBQUUzRTs7Ozs7OztHQU9HO0FBRUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQUN6RDs7T0FFRztJQUNNLGlCQUFpQjtRQUN4QixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRDs7O09BR0c7SUFDTSxLQUFLLENBQUMsS0FBVTtRQUN2QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xELDJDQUEyQztZQUMzQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbkMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlO2dCQUN6RCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUVwQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2pELG1CQUFtQjtvQkFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO3dCQUN2RixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3BDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNNLE1BQU0sQ0FBQyxJQUFVLEVBQUUsYUFBcUI7UUFDL0MsSUFBSyxhQUFxQixLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sR0FBRyxHQUFHLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7WUFDdEMsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsTUFBTTtZQUNiLEdBQUcsRUFBRSxTQUFTO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EvQ1Usb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7O0FBbURYOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFtQjtJQUNoRCxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsT0FBTztLQUNuQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtRQUNuRCxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRTtRQUNqRSxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtLQUN2RDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQG1vZHVsZSBuZy11aS1zeXN0ZW0vZm9ybS1idWlsZGVyXHJcbiAqIEFkYXB0ZXIgZSBmb3JtYXRpIHBlciBpbCBkYXRlcGlja2VyIGl0YWxpYW5vIChERC9NTS9ZWVlZKS5cclxuICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdGl2ZURhdGVBZGFwdGVyLCBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEFkYXB0ZXIgcGVyc29uYWxpenphdG8gcGVyIGlsIHBhcnNpbmcgZGVsbGUgZGF0ZSBpbiBmb3JtYXRvIGl0YWxpYW5vIEREL01NL1lZWVkuXHJcbiAqXHJcbiAqIEVzdGVuZGUgaWwgTmF0aXZlRGF0ZUFkYXB0ZXIgZGkgQW5ndWxhciBNYXRlcmlhbCBwZXIgZ2VzdGlyZTpcclxuICogLSBQYXJzaW5nOiBjb252ZXJ0ZSBzdHJpbmdoZSBERC9NTS9ZWVlZIGluIG9nZ2V0dGkgRGF0ZVxyXG4gKiAtIEZvcm1hdHRhemlvbmU6IHZpc3VhbGl6emEgbGUgZGF0ZSBuZWwgZm9ybWF0byBpdGFsaWFub1xyXG4gKiAtIFByaW1vIGdpb3JubyBkZWxsYSBzZXR0aW1hbmE6IEx1bmVkaSAoMSlcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVpSXRhbGlhbkRhdGVBZGFwdGVyIGV4dGVuZHMgTmF0aXZlRGF0ZUFkYXB0ZXIge1xyXG4gIC8qKlxyXG4gICAqIElsIHByaW1vIGdpb3JubyBkZWxsYSBzZXR0aW1hbmEgZSBMdW5lZGkgKDEpLlxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gMTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcnNpbmcgZGkgdW5hIHN0cmluZ2EgZGkgZGF0YSBpbiBmb3JtYXRvIEREL01NL1lZWVkuXHJcbiAgICogU3VwcG9ydGEgc2lhIGlsIGZvcm1hdG8gY29uIHNlcGFyYXRvcmUgYC9gIGNoZSBgLWAuXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgcGFyc2UodmFsdWU6IGFueSk6IERhdGUgfCBudWxsIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgLy8gR2VzdGlzY2kgZm9ybWF0byBERC9NTS9ZWVlZIG8gREQtTU0tWVlZWVxyXG4gICAgICBjb25zdCBwYXJ0cyA9IHZhbHVlLnNwbGl0KC9bXFwvXFwtXS8pO1xyXG4gICAgICBpZiAocGFydHMubGVuZ3RoID09PSAzKSB7XHJcbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2VJbnQocGFydHNbMF0sIDEwKTtcclxuICAgICAgICBjb25zdCBtb250aCA9IHBhcnNlSW50KHBhcnRzWzFdLCAxMCkgLSAxOyAvLyBNZXNpIDAtYmFzZWRcclxuICAgICAgICBjb25zdCB5ZWFyID0gcGFyc2VJbnQocGFydHNbMl0sIDEwKTtcclxuXHJcbiAgICAgICAgaWYgKCFpc05hTihkYXkpICYmICFpc05hTihtb250aCkgJiYgIWlzTmFOKHllYXIpKSB7XHJcbiAgICAgICAgICAvLyBWYWxpZGF6aW9uZSBiYXNlXHJcbiAgICAgICAgICBpZiAoZGF5ID49IDEgJiYgZGF5IDw9IDMxICYmIG1vbnRoID49IDAgJiYgbW9udGggPD0gMTEgJiYgeWVhciA+PSAxOTAwICYmIHllYXIgPD0gMjEwMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3VwZXIucGFyc2UodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRm9ybWF0dGEgdW5hIGRhdGEgaW4gZm9ybWF0byBERC9NTS9ZWVlZIHBlciBsYSB2aXN1YWxpenphemlvbmUuXHJcbiAgICovXHJcbiAgb3ZlcnJpZGUgZm9ybWF0KGRhdGU6IERhdGUsIGRpc3BsYXlGb3JtYXQ6IG9iamVjdCk6IHN0cmluZyB7XHJcbiAgICBpZiAoKGRpc3BsYXlGb3JtYXQgYXMgYW55KSA9PT0gJ2lucHV0Jykge1xyXG4gICAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICAgIGNvbnN0IG1vbnRoID0gKGRhdGUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgcmV0dXJuIGAke2RheX0vJHttb250aH0vJHt5ZWFyfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoJ2l0LUlUJywge1xyXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXHJcbiAgICAgIG1vbnRoOiAnbG9uZycsXHJcbiAgICAgIGRheTogJ251bWVyaWMnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogRm9ybWF0aSBkYXRhIGl0YWxpYW5pIHBlciBBbmd1bGFyIE1hdGVyaWFsLlxyXG4gKiBDb25maWd1cmEgaWwgZGF0ZXBpY2tlciBwZXIgdXNhcmUgREQvTU0vWVlZWS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBVSV9JVF9EQVRFX0ZPUk1BVFM6IE1hdERhdGVGb3JtYXRzID0ge1xyXG4gIHBhcnNlOiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdpbnB1dCcsXHJcbiAgfSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdpbnB1dCcsXHJcbiAgICBtb250aFllYXJMYWJlbDogeyB5ZWFyOiAnbnVtZXJpYycsIG1vbnRoOiAnc2hvcnQnIH0sXHJcbiAgICBkYXRlQTExeUxhYmVsOiB7IHllYXI6ICdudW1lcmljJywgbW9udGg6ICdsb25nJywgZGF5OiAnbnVtZXJpYycgfSxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogeyB5ZWFyOiAnbnVtZXJpYycsIG1vbnRoOiAnbG9uZycgfSxcclxuICB9LFxyXG59O1xyXG4iXX0=
|