@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,436 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ng-ui-system/layout-builder
|
|
3
|
+
* Types and interfaces for the UiLayoutBuilder shell component.
|
|
4
|
+
*
|
|
5
|
+
* The layout builder uses a schema-driven approach (similar to UiFormBuilder)
|
|
6
|
+
* to materialize a full responsive application shell from a single descriptor.
|
|
7
|
+
*/
|
|
8
|
+
import { UiIconName, UiVariant } from '../../core/types/index';
|
|
9
|
+
/** Layout mode controlling the overall navigation strategy. */
|
|
10
|
+
export type UiLayoutMode = 'sidebar' | 'topbar' | 'slotted';
|
|
11
|
+
/** Content area sizing strategy. */
|
|
12
|
+
export type UiContentType = 'fluid' | 'boxed' | 'fullscreen';
|
|
13
|
+
/** Single breadcrumb entry derived from the navigation schema. */
|
|
14
|
+
export interface UiLayoutBreadcrumb {
|
|
15
|
+
/** Display label. */
|
|
16
|
+
label: string;
|
|
17
|
+
/** Route URL (omitted for the current/last crumb). */
|
|
18
|
+
url?: string;
|
|
19
|
+
/** Whether this is the last (current) breadcrumb in the trail. */
|
|
20
|
+
isLast: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** Discriminator for navigation item behaviour. */
|
|
23
|
+
export type UiNavItemType = 'route' | 'external' | 'divider';
|
|
24
|
+
/**
|
|
25
|
+
* Single navigation item descriptor.
|
|
26
|
+
*
|
|
27
|
+
* @usageNotes
|
|
28
|
+
* ### Internal route
|
|
29
|
+
* ```typescript
|
|
30
|
+
* { id: 'users', label: 'Utenti', icon: 'users', route: '/users' }
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* ### External link
|
|
34
|
+
* ```typescript
|
|
35
|
+
* { id: 'docs', label: 'Docs', icon: 'external-link', type: 'external',
|
|
36
|
+
* href: 'https://docs.example.com', target: '_blank' }
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* ### Expandable with children
|
|
40
|
+
* ```typescript
|
|
41
|
+
* {
|
|
42
|
+
* id: 'form-builder', label: 'Form Builder', icon: 'file-text',
|
|
43
|
+
* route: '/form-builder',
|
|
44
|
+
* children: [
|
|
45
|
+
* { label: 'Panoramica', items: [
|
|
46
|
+
* { id: 'fb-all', label: 'Tutti i campi', route: '/form-builder/all-fields' }
|
|
47
|
+
* ]}
|
|
48
|
+
* ]
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export interface UiNavItem {
|
|
53
|
+
/** Unique item identifier. */
|
|
54
|
+
id: string;
|
|
55
|
+
/** Display label. */
|
|
56
|
+
label: string;
|
|
57
|
+
/** Lucide icon name. */
|
|
58
|
+
icon?: UiIconName;
|
|
59
|
+
/** Item behaviour type. @default 'route' */
|
|
60
|
+
type?: UiNavItemType;
|
|
61
|
+
/** Angular router path (for `type: 'route'`). */
|
|
62
|
+
route?: string;
|
|
63
|
+
/** Whether to use exact matching for active state. @default false */
|
|
64
|
+
routeActiveExact?: boolean;
|
|
65
|
+
/** External URL (for `type: 'external'`). */
|
|
66
|
+
href?: string;
|
|
67
|
+
/** Link target for external links. @default '_blank' */
|
|
68
|
+
target?: '_blank' | '_self';
|
|
69
|
+
/** Nested child groups for expandable navigation. */
|
|
70
|
+
children?: UiNavGroup[];
|
|
71
|
+
/** Whether this item is hidden. @default false */
|
|
72
|
+
hidden?: boolean;
|
|
73
|
+
/** Badge text or count displayed next to the label. */
|
|
74
|
+
badge?: string | number;
|
|
75
|
+
/** Whether to include this item in the mobile bottom navigation bar. @default false */
|
|
76
|
+
bottomNav?: boolean;
|
|
77
|
+
/** Sort order in the bottom navigation bar (lower = first). */
|
|
78
|
+
bottomNavOrder?: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Labelled group of navigation items (nested under a parent `UiNavItem`).
|
|
82
|
+
*
|
|
83
|
+
* @usageNotes
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const group: UiNavGroup = {
|
|
86
|
+
* label: 'Validazioni',
|
|
87
|
+
* items: [
|
|
88
|
+
* { id: 'v-std', label: 'Standard', route: '/form-builder/validations-standard' },
|
|
89
|
+
* { id: 'v-cross', label: 'Cross-field', route: '/form-builder/validations-crossfield' },
|
|
90
|
+
* ]
|
|
91
|
+
* };
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export interface UiNavGroup {
|
|
95
|
+
/** Group heading displayed above the items. */
|
|
96
|
+
label: string;
|
|
97
|
+
/** Items belonging to this group. */
|
|
98
|
+
items: UiNavItem[];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Top-level grouping used to partition `UiNavItem[]` into labelled sections
|
|
102
|
+
* in the sidebar (e.g. "Overview", "Components").
|
|
103
|
+
*/
|
|
104
|
+
export interface UiNavSection {
|
|
105
|
+
/** Unique section identifier. */
|
|
106
|
+
id: string;
|
|
107
|
+
/** Section heading displayed in the sidebar. */
|
|
108
|
+
label: string;
|
|
109
|
+
/** IDs of `UiNavItem`s belonging to this section (order preserved). */
|
|
110
|
+
itemIds: string[];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Auto-discovery configuration for generating navigation items from Angular routes.
|
|
114
|
+
*
|
|
115
|
+
* When enabled, the layout builder scans the route tree and creates
|
|
116
|
+
* `UiNavItem` entries from routes that declare `data.id` and `data.title`.
|
|
117
|
+
*/
|
|
118
|
+
export interface UiNavAutoDiscoveryConfig {
|
|
119
|
+
/** Whether auto-discovery is enabled. */
|
|
120
|
+
enabled: boolean;
|
|
121
|
+
/** Route paths to exclude from discovery (exact match). */
|
|
122
|
+
excludePaths?: string[];
|
|
123
|
+
/** How to merge discovered items with manually defined items. @default 'append' */
|
|
124
|
+
mergeStrategy?: 'prepend' | 'append' | 'replace';
|
|
125
|
+
}
|
|
126
|
+
/** Navigation configuration block within `UiLayoutSchema`. */
|
|
127
|
+
export interface UiLayoutNavigationConfig {
|
|
128
|
+
/** Flat list of all navigation items. */
|
|
129
|
+
items: UiNavItem[];
|
|
130
|
+
/** Optional grouping into labelled sidebar sections. */
|
|
131
|
+
sections?: UiNavSection[];
|
|
132
|
+
/** Whether the desktop sidebar can collapse to icon-only mode. @default true */
|
|
133
|
+
collapsible?: boolean;
|
|
134
|
+
/** Mobile navigation behaviour. @default 'both' */
|
|
135
|
+
mobileMode?: 'drawer' | 'bottom-nav' | 'both';
|
|
136
|
+
/** Auto-discovery settings for route-driven navigation. */
|
|
137
|
+
autoDiscovery?: UiNavAutoDiscoveryConfig;
|
|
138
|
+
}
|
|
139
|
+
/** Logo configuration for the layout header. */
|
|
140
|
+
export interface UiLayoutLogo {
|
|
141
|
+
/** Short text rendered inside a styled badge (e.g. "UI"). Mutually exclusive with `src`. */
|
|
142
|
+
text?: string;
|
|
143
|
+
/** Image URL for the logo. Mutually exclusive with `text`. */
|
|
144
|
+
src?: string;
|
|
145
|
+
/** Alt text for the logo image. */
|
|
146
|
+
alt?: string;
|
|
147
|
+
}
|
|
148
|
+
/** Header / top-bar configuration. */
|
|
149
|
+
export interface UiLayoutHeaderConfig {
|
|
150
|
+
/** Logo displayed in the sidebar header and mobile top-bar. */
|
|
151
|
+
logo?: UiLayoutLogo;
|
|
152
|
+
/** Application title. */
|
|
153
|
+
title: string;
|
|
154
|
+
/** Optional subtitle or tagline. */
|
|
155
|
+
subtitle?: string;
|
|
156
|
+
}
|
|
157
|
+
/** Single link rendered in the layout footer. */
|
|
158
|
+
export interface UiFooterLink {
|
|
159
|
+
/** Display label. */
|
|
160
|
+
label: string;
|
|
161
|
+
/** External URL. */
|
|
162
|
+
href?: string;
|
|
163
|
+
/** Angular router path (alternative to `href`). */
|
|
164
|
+
route?: string;
|
|
165
|
+
/** Lucide icon name. */
|
|
166
|
+
icon?: UiIconName;
|
|
167
|
+
/** Link target for external links. @default '_self' */
|
|
168
|
+
target?: '_blank' | '_self';
|
|
169
|
+
}
|
|
170
|
+
/** Footer configuration. */
|
|
171
|
+
export interface UiLayoutFooterConfig {
|
|
172
|
+
/** Links rendered in the footer. */
|
|
173
|
+
links?: UiFooterLink[];
|
|
174
|
+
/** Static text (e.g. copyright, version). */
|
|
175
|
+
text?: string;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Single action within the speed-dial FAB.
|
|
179
|
+
*
|
|
180
|
+
* @usageNotes
|
|
181
|
+
* ```typescript
|
|
182
|
+
* const action: UiFabAction = {
|
|
183
|
+
* id: 'new-user',
|
|
184
|
+
* label: 'Nuovo utente',
|
|
185
|
+
* icon: 'user',
|
|
186
|
+
* variant: 'primary',
|
|
187
|
+
* action: () => router.navigate(['/users/new']),
|
|
188
|
+
* };
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
export interface UiFabAction {
|
|
192
|
+
/** Unique action identifier. */
|
|
193
|
+
id: string;
|
|
194
|
+
/** Tooltip / label text. */
|
|
195
|
+
label: string;
|
|
196
|
+
/** Lucide icon name. */
|
|
197
|
+
icon: UiIconName;
|
|
198
|
+
/** Callback invoked on click. */
|
|
199
|
+
action?: () => void;
|
|
200
|
+
/** Visual variant for the button. @default 'primary' */
|
|
201
|
+
variant?: UiVariant;
|
|
202
|
+
/** Accessible label (falls back to `label` if omitted). */
|
|
203
|
+
ariaLabel?: string;
|
|
204
|
+
}
|
|
205
|
+
/** Speed-dial FAB configuration. */
|
|
206
|
+
export interface UiLayoutFabConfig {
|
|
207
|
+
/** Primary FAB action (always visible). */
|
|
208
|
+
mainAction: UiFabAction;
|
|
209
|
+
/** Secondary actions revealed on expand. */
|
|
210
|
+
secondaryActions?: UiFabAction[];
|
|
211
|
+
/** Screen corner position. @default 'bottom-right' */
|
|
212
|
+
position?: 'bottom-right' | 'bottom-left';
|
|
213
|
+
}
|
|
214
|
+
/** Default page-header settings applied to every route unless overridden. */
|
|
215
|
+
export interface UiLayoutPageHeaderConfig {
|
|
216
|
+
/** Whether to show the page header (breadcrumbs + title). @default true */
|
|
217
|
+
show?: boolean;
|
|
218
|
+
/** Home breadcrumb route path. @default '/' */
|
|
219
|
+
homeRoute?: string;
|
|
220
|
+
/** Whether to show the Home link in breadcrumbs. @default true */
|
|
221
|
+
showHome?: boolean;
|
|
222
|
+
/** Whether to sync `document.title` with the current page. @default false */
|
|
223
|
+
updateDocumentTitle?: boolean;
|
|
224
|
+
/** Suffix appended to `document.title`. */
|
|
225
|
+
titleSuffix?: string;
|
|
226
|
+
}
|
|
227
|
+
/** Overlay loader configuration. */
|
|
228
|
+
export interface UiLayoutLoaderConfig {
|
|
229
|
+
/** Show the loader when the layout mounts (hides on first NavigationEnd). @default false */
|
|
230
|
+
showOnInit?: boolean;
|
|
231
|
+
/** Minimum display duration in milliseconds (prevents flicker). @default 0 */
|
|
232
|
+
minDuration?: number;
|
|
233
|
+
}
|
|
234
|
+
/** Discriminator for topbar bar type. */
|
|
235
|
+
export type UiBarType = 'notification' | 'brand' | 'navigation' | 'links';
|
|
236
|
+
/**
|
|
237
|
+
* Notification bar displayed at the top of the page.
|
|
238
|
+
*
|
|
239
|
+
* @usageNotes
|
|
240
|
+
* ```typescript
|
|
241
|
+
* { text: 'Manutenzione prevista alle 22:00', variant: 'warn', dismissible: true }
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
export interface UiNotificationBarConfig {
|
|
245
|
+
/** Notification message text. */
|
|
246
|
+
text: string;
|
|
247
|
+
/** Visual variant. @default 'primary' */
|
|
248
|
+
variant?: UiVariant;
|
|
249
|
+
/** Whether the user can dismiss this bar. @default true */
|
|
250
|
+
dismissible?: boolean;
|
|
251
|
+
/** Lucide icon shown before the text. */
|
|
252
|
+
icon?: UiIconName;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Brand bar with logo, title, and optional user dropdown.
|
|
256
|
+
*
|
|
257
|
+
* @usageNotes
|
|
258
|
+
* ```typescript
|
|
259
|
+
* {
|
|
260
|
+
* logo: { src: '/assets/logo.svg', alt: 'My App' },
|
|
261
|
+
* title: 'My App',
|
|
262
|
+
* userDropdown: {
|
|
263
|
+
* label: 'Mario Rossi',
|
|
264
|
+
* avatar: { src: '/avatar.jpg' },
|
|
265
|
+
* items: [
|
|
266
|
+
* { id: 'profile', label: 'Profilo', icon: 'user', route: '/profile' },
|
|
267
|
+
* { id: 'logout', label: 'Logout', icon: 'log-out', action: () => auth.logout() },
|
|
268
|
+
* ],
|
|
269
|
+
* },
|
|
270
|
+
* }
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
export interface UiBrandBarConfig {
|
|
274
|
+
/** Logo displayed on the left. */
|
|
275
|
+
logo?: UiLayoutLogo;
|
|
276
|
+
/** Application title. */
|
|
277
|
+
title?: string;
|
|
278
|
+
/** User dropdown aligned to the right. */
|
|
279
|
+
userDropdown?: UiUserDropdownConfig;
|
|
280
|
+
}
|
|
281
|
+
/** User dropdown menu configuration for the brand bar. */
|
|
282
|
+
export interface UiUserDropdownConfig {
|
|
283
|
+
/** Display label (e.g. user's name). */
|
|
284
|
+
label: string;
|
|
285
|
+
/** Lucide icon name (fallback when no avatar). */
|
|
286
|
+
icon?: UiIconName;
|
|
287
|
+
/** User avatar image. */
|
|
288
|
+
avatar?: {
|
|
289
|
+
src: string;
|
|
290
|
+
alt?: string;
|
|
291
|
+
};
|
|
292
|
+
/** Dropdown menu items. */
|
|
293
|
+
items: UiDropdownItem[];
|
|
294
|
+
}
|
|
295
|
+
/** Single item in a dropdown menu. */
|
|
296
|
+
export interface UiDropdownItem {
|
|
297
|
+
/** Unique item identifier. */
|
|
298
|
+
id: string;
|
|
299
|
+
/** Display label. */
|
|
300
|
+
label: string;
|
|
301
|
+
/** Lucide icon name. */
|
|
302
|
+
icon?: UiIconName;
|
|
303
|
+
/** Angular router path. */
|
|
304
|
+
route?: string;
|
|
305
|
+
/** Callback invoked on click. */
|
|
306
|
+
action?: () => void;
|
|
307
|
+
/** Render a divider above this item. */
|
|
308
|
+
divider?: boolean;
|
|
309
|
+
}
|
|
310
|
+
/** Navigation bar (used in topbar mode to render horizontal nav links). */
|
|
311
|
+
export interface UiNavigationBarConfig {
|
|
312
|
+
/** Override items for this bar (defaults to `schema.navigation.items`). */
|
|
313
|
+
items?: UiNavItem[];
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Links bar with icon links (e.g. social media, external resources).
|
|
317
|
+
*
|
|
318
|
+
* @usageNotes
|
|
319
|
+
* ```typescript
|
|
320
|
+
* {
|
|
321
|
+
* align: 'end',
|
|
322
|
+
* items: [
|
|
323
|
+
* { icon: 'github', href: 'https://github.com/...', ariaLabel: 'GitHub' },
|
|
324
|
+
* { label: 'Docs', icon: 'book-open', href: 'https://docs.example.com' },
|
|
325
|
+
* ],
|
|
326
|
+
* }
|
|
327
|
+
* ```
|
|
328
|
+
*/
|
|
329
|
+
export interface UiLinksBarConfig {
|
|
330
|
+
/** Horizontal alignment of items. @default 'end' */
|
|
331
|
+
align?: 'start' | 'center' | 'end' | 'space-between';
|
|
332
|
+
/** Link items. */
|
|
333
|
+
items: UiBarLinkItem[];
|
|
334
|
+
}
|
|
335
|
+
/** Single link item in a links bar. */
|
|
336
|
+
export interface UiBarLinkItem {
|
|
337
|
+
/** Display label (optional, icon-only if omitted). */
|
|
338
|
+
label?: string;
|
|
339
|
+
/** Lucide icon name. */
|
|
340
|
+
icon?: UiIconName;
|
|
341
|
+
/** External URL. */
|
|
342
|
+
href?: string;
|
|
343
|
+
/** Angular router path. */
|
|
344
|
+
route?: string;
|
|
345
|
+
/** Link target. @default '_self' */
|
|
346
|
+
target?: '_blank' | '_self';
|
|
347
|
+
/** Accessible label for icon-only items. */
|
|
348
|
+
ariaLabel?: string;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Single bar descriptor in the topbar bar stack.
|
|
352
|
+
*
|
|
353
|
+
* @usageNotes
|
|
354
|
+
* ```typescript
|
|
355
|
+
* const bars: UiBarConfig[] = [
|
|
356
|
+
* { id: 'promo', type: 'notification', notification: { text: 'Promo attiva!', dismissible: true } },
|
|
357
|
+
* { id: 'main', type: 'brand', brand: { logo: { text: 'UI' }, title: 'My App' } },
|
|
358
|
+
* { id: 'nav', type: 'navigation' },
|
|
359
|
+
* { id: 'social', type: 'links', links: { align: 'end', items: [...] } },
|
|
360
|
+
* ];
|
|
361
|
+
* ```
|
|
362
|
+
*/
|
|
363
|
+
export interface UiBarConfig {
|
|
364
|
+
/** Unique bar identifier. */
|
|
365
|
+
id: string;
|
|
366
|
+
/** Bar type discriminator. */
|
|
367
|
+
type: UiBarType;
|
|
368
|
+
/** Whether the bar is initially visible. @default true */
|
|
369
|
+
visible?: boolean;
|
|
370
|
+
/** Configuration when `type === 'notification'`. */
|
|
371
|
+
notification?: UiNotificationBarConfig;
|
|
372
|
+
/** Configuration when `type === 'brand'`. */
|
|
373
|
+
brand?: UiBrandBarConfig;
|
|
374
|
+
/** Configuration when `type === 'navigation'`. */
|
|
375
|
+
navigation?: UiNavigationBarConfig;
|
|
376
|
+
/** Configuration when `type === 'links'`. */
|
|
377
|
+
links?: UiLinksBarConfig;
|
|
378
|
+
}
|
|
379
|
+
/** Topbar configuration (bar stack). */
|
|
380
|
+
export interface UiTopbarConfig {
|
|
381
|
+
/** Ordered list of bars rendered top-to-bottom. */
|
|
382
|
+
bars: UiBarConfig[];
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Root descriptor for the `ui-layout-builder` component.
|
|
386
|
+
*
|
|
387
|
+
* @usageNotes
|
|
388
|
+
* ### Minimal sidebar example
|
|
389
|
+
* ```typescript
|
|
390
|
+
* const schema: UiLayoutSchema = {
|
|
391
|
+
* header: { title: 'My App' },
|
|
392
|
+
* navigation: {
|
|
393
|
+
* items: [
|
|
394
|
+
* { id: 'home', label: 'Home', icon: 'home', route: '/', routeActiveExact: true },
|
|
395
|
+
* { id: 'users', label: 'Utenti', icon: 'users', route: '/users' },
|
|
396
|
+
* ],
|
|
397
|
+
* },
|
|
398
|
+
* };
|
|
399
|
+
* ```
|
|
400
|
+
*
|
|
401
|
+
* ### Topbar mode example
|
|
402
|
+
* ```typescript
|
|
403
|
+
* const schema: UiLayoutSchema = {
|
|
404
|
+
* mode: 'topbar',
|
|
405
|
+
* header: { logo: { text: 'UI' }, title: 'My App' },
|
|
406
|
+
* navigation: { items: [...] },
|
|
407
|
+
* topbar: {
|
|
408
|
+
* bars: [
|
|
409
|
+
* { id: 'alert', type: 'notification', notification: { text: 'Beta!', dismissible: true } },
|
|
410
|
+
* { id: 'main', type: 'brand', brand: { logo: { text: 'UI' }, title: 'My App' } },
|
|
411
|
+
* { id: 'nav', type: 'navigation' },
|
|
412
|
+
* ],
|
|
413
|
+
* },
|
|
414
|
+
* };
|
|
415
|
+
* ```
|
|
416
|
+
*/
|
|
417
|
+
export interface UiLayoutSchema {
|
|
418
|
+
/** Layout mode. @default 'sidebar' */
|
|
419
|
+
mode?: UiLayoutMode;
|
|
420
|
+
/** Header / top-bar branding. Required for sidebar/topbar modes, ignored in slotted mode. */
|
|
421
|
+
header?: UiLayoutHeaderConfig;
|
|
422
|
+
/** Navigation structure and behaviour. Required for sidebar/topbar modes, ignored in slotted mode. */
|
|
423
|
+
navigation?: UiLayoutNavigationConfig;
|
|
424
|
+
/** Footer content (optional). In slotted mode use `[uiLayoutFooter]` content projection instead. */
|
|
425
|
+
footer?: UiLayoutFooterConfig;
|
|
426
|
+
/** Floating action button / speed dial (optional). */
|
|
427
|
+
fab?: UiLayoutFabConfig;
|
|
428
|
+
/** Page header defaults applied to every page (optional). */
|
|
429
|
+
pageHeader?: UiLayoutPageHeaderConfig;
|
|
430
|
+
/** Overlay loader configuration (optional). */
|
|
431
|
+
loader?: UiLayoutLoaderConfig;
|
|
432
|
+
/** Content area sizing strategy. @default 'fluid' */
|
|
433
|
+
contentType?: UiContentType;
|
|
434
|
+
/** Topbar configuration (only used when `mode === 'topbar'`). */
|
|
435
|
+
topbar?: UiTopbarConfig;
|
|
436
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { UiFabAction, UiLayoutFabConfig, UiLayoutMode, UiContentType } from './layout-builder.types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class UiLayoutService {
|
|
5
|
+
private readonly platformId;
|
|
6
|
+
private readonly _loading$;
|
|
7
|
+
/** Whether the overlay loader is currently visible. */
|
|
8
|
+
readonly loading$: Observable<boolean>;
|
|
9
|
+
/** Show the full-screen overlay loader and block body scroll. */
|
|
10
|
+
showLoader(): void;
|
|
11
|
+
/** Hide the overlay loader and restore body scroll. */
|
|
12
|
+
hideLoader(): void;
|
|
13
|
+
/** Toggle the overlay loader. */
|
|
14
|
+
toggleLoader(): void;
|
|
15
|
+
/** Synchronous snapshot of the loading state. */
|
|
16
|
+
isLoading(): boolean;
|
|
17
|
+
private readonly _layoutMode$;
|
|
18
|
+
/** Current layout mode (sidebar or topbar). */
|
|
19
|
+
readonly layoutMode$: Observable<UiLayoutMode>;
|
|
20
|
+
/**
|
|
21
|
+
* Switch layout mode with loader masking the transition.
|
|
22
|
+
* Shows the loader, applies the mode change, then hides the loader
|
|
23
|
+
* after a short delay to prevent visible layout shift.
|
|
24
|
+
*/
|
|
25
|
+
setLayoutMode(mode: UiLayoutMode, transitionMs?: number): void;
|
|
26
|
+
/** Synchronous snapshot of the current layout mode. */
|
|
27
|
+
getLayoutMode(): UiLayoutMode;
|
|
28
|
+
/**
|
|
29
|
+
* @internal Called by the layout-builder component to set the initial mode
|
|
30
|
+
* from the schema without triggering the loader transition.
|
|
31
|
+
*/
|
|
32
|
+
_setInitialLayoutMode(mode: UiLayoutMode): void;
|
|
33
|
+
private readonly _contentType$;
|
|
34
|
+
/** Current content type (fluid, boxed, fullscreen). */
|
|
35
|
+
readonly contentType$: Observable<UiContentType>;
|
|
36
|
+
/** Set the content type per-route or globally. */
|
|
37
|
+
setContentType(type: UiContentType): void;
|
|
38
|
+
/** Synchronous snapshot of the current content type. */
|
|
39
|
+
getContentType(): UiContentType;
|
|
40
|
+
/** @internal */
|
|
41
|
+
_setInitialContentType(type: UiContentType): void;
|
|
42
|
+
private readonly _sidebarOpen$;
|
|
43
|
+
/** Whether the mobile sidebar drawer is open. */
|
|
44
|
+
readonly sidebarOpen$: Observable<boolean>;
|
|
45
|
+
private readonly _sidebarCollapsed$;
|
|
46
|
+
/** Whether the desktop sidebar is in collapsed (icon-only) mode. */
|
|
47
|
+
readonly sidebarCollapsed$: Observable<boolean>;
|
|
48
|
+
/** Toggle the desktop sidebar between expanded and collapsed. */
|
|
49
|
+
toggleSidebar(): void;
|
|
50
|
+
/** Set the desktop sidebar collapsed state explicitly. */
|
|
51
|
+
collapseSidebar(collapsed?: boolean): void;
|
|
52
|
+
/** Open the mobile sidebar drawer. */
|
|
53
|
+
openMobileSidebar(): void;
|
|
54
|
+
/** Close the mobile sidebar drawer. */
|
|
55
|
+
closeMobileSidebar(): void;
|
|
56
|
+
/** Synchronous snapshot: is the mobile sidebar open? */
|
|
57
|
+
isSidebarOpen(): boolean;
|
|
58
|
+
/** Synchronous snapshot: is the desktop sidebar collapsed? */
|
|
59
|
+
isSidebarCollapsed(): boolean;
|
|
60
|
+
private _defaultFabConfig;
|
|
61
|
+
private readonly _fabConfig$;
|
|
62
|
+
/** Current FAB configuration (schema default merged with page overrides). */
|
|
63
|
+
readonly fabConfig$: Observable<UiLayoutFabConfig | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Called internally by the layout-builder component to register the
|
|
66
|
+
* schema-level default FAB config.
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
_setDefaultFabConfig(config: UiLayoutFabConfig | null): void;
|
|
70
|
+
/** Override the FAB main action for the current page context. */
|
|
71
|
+
setMainFabAction(action: UiFabAction): void;
|
|
72
|
+
/** Override all FAB actions for the current page context. */
|
|
73
|
+
setFabActions(main: UiFabAction, secondary?: UiFabAction[]): void;
|
|
74
|
+
/** Reset FAB to the schema-level default configuration. */
|
|
75
|
+
clearFabActions(): void;
|
|
76
|
+
private readonly _navBadges$;
|
|
77
|
+
/** Observable map of nav-item badges keyed by item ID. */
|
|
78
|
+
readonly navBadges$: Observable<Map<string, string | number | null>>;
|
|
79
|
+
private readonly _navVisibility$;
|
|
80
|
+
/** Observable map of nav-item visibility overrides keyed by item ID. */
|
|
81
|
+
readonly navVisibility$: Observable<Map<string, boolean>>;
|
|
82
|
+
/** Set or clear a badge on a navigation item. Pass `null` to remove. */
|
|
83
|
+
setNavBadge(itemId: string, badge: string | number | null): void;
|
|
84
|
+
/** Override visibility of a navigation item. */
|
|
85
|
+
setNavItemVisibility(itemId: string, visible: boolean): void;
|
|
86
|
+
private readonly _barVisibility$;
|
|
87
|
+
/** Observable map of topbar bar visibility keyed by bar ID. */
|
|
88
|
+
readonly barVisibility$: Observable<Map<string, boolean>>;
|
|
89
|
+
/** Show a topbar bar by ID. */
|
|
90
|
+
showBar(barId: string): void;
|
|
91
|
+
/** Hide a topbar bar by ID. */
|
|
92
|
+
hideBar(barId: string): void;
|
|
93
|
+
/** Toggle visibility of a topbar bar by ID. */
|
|
94
|
+
toggleBar(barId: string): void;
|
|
95
|
+
/** Synchronous check of bar visibility (schema `visible` fallback). */
|
|
96
|
+
isBarVisible(barId: string, schemaVisible?: boolean): boolean;
|
|
97
|
+
private setBodyOverflow;
|
|
98
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UiLayoutService, never>;
|
|
99
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<UiLayoutService>;
|
|
100
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types for ng-ui-system components.
|
|
3
|
+
* These types are used across multiple components to ensure consistency.
|
|
4
|
+
*/
|
|
5
|
+
/** Standard size variants used across components. */
|
|
6
|
+
export type UiSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
7
|
+
/** Visual style variants for components. */
|
|
8
|
+
export type UiVariant = 'primary' | 'accent' | 'warn' | 'neutral' | 'ghost' | 'outline';
|
|
9
|
+
/** Semantic color palette tokens. */
|
|
10
|
+
export type UiColor = 'primary' | 'accent' | 'warn' | 'success' | 'info' | 'neutral';
|
|
11
|
+
/** Layout direction. */
|
|
12
|
+
export type UiDirection = 'horizontal' | 'vertical';
|
|
13
|
+
/** Horizontal alignment. */
|
|
14
|
+
export type UiAlign = 'start' | 'center' | 'end' | 'stretch';
|
|
15
|
+
/** Component density options for compact or spacious layouts. */
|
|
16
|
+
export type UiDensity = 'compact' | 'default' | 'comfortable';
|
|
17
|
+
/**
|
|
18
|
+
* Common Lucide icon names with autocomplete support.
|
|
19
|
+
* Accepts any valid Lucide icon name as a string.
|
|
20
|
+
*
|
|
21
|
+
* Provides IntelliSense for the most frequently used enterprise icons.
|
|
22
|
+
* For the full icon catalogue, visit https://lucide.dev/icons
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const myIcon: UiIconName = 'arrow-right'; // autocomplete ✓
|
|
27
|
+
* const custom: UiIconName = 'my-custom-icon'; // still valid
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export type UiIconName = 'arrow-right' | 'arrow-left' | 'arrow-up' | 'arrow-down' | 'chevron-right' | 'chevron-left' | 'chevron-up' | 'chevron-down' | 'external-link' | 'corner-down-left' | 'corner-down-right' | 'check' | 'x' | 'plus' | 'minus' | 'search' | 'refresh-cw' | 'download' | 'upload' | 'save' | 'trash-2' | 'pencil' | 'copy' | 'clipboard' | 'share-2' | 'send' | 'log-in' | 'log-out' | 'mail' | 'message-circle' | 'phone' | 'bell' | 'user' | 'users' | 'lock' | 'unlock' | 'key' | 'shield' | 'file' | 'file-text' | 'file-spreadsheet' | 'file-archive' | 'folder' | 'image' | 'camera' | 'paperclip' | 'info' | 'alert-triangle' | 'alert-circle' | 'check-circle' | 'x-circle' | 'help-circle' | 'loader-2' | 'menu' | 'more-horizontal' | 'more-vertical' | 'grid' | 'list' | 'filter' | 'sliders' | 'columns' | 'maximize-2' | 'minimize-2' | 'home' | 'settings' | 'star' | 'heart' | 'bookmark' | 'calendar' | 'clock' | 'map-pin' | 'eye' | 'eye-off' | 'sun' | 'moon' | 'monitor' | (string & Record<never, never>);
|
|
31
|
+
/** Status values used for feedback components (badges, alerts, indicators). */
|
|
32
|
+
export type UiStatus = 'idle' | 'loading' | 'success' | 'error' | 'warning' | 'info';
|
|
33
|
+
/**
|
|
34
|
+
* Generic key-value pair used in select options, dropdowns, etc.
|
|
35
|
+
* @template T - The type of the value.
|
|
36
|
+
*/
|
|
37
|
+
export interface UiOption<T = string> {
|
|
38
|
+
/** The display label. */
|
|
39
|
+
label: string;
|
|
40
|
+
/** The underlying value. */
|
|
41
|
+
value: T;
|
|
42
|
+
/** Whether this option is disabled. */
|
|
43
|
+
disabled?: boolean;
|
|
44
|
+
/** Optional icon name (Lucide icon). */
|
|
45
|
+
icon?: UiIconName;
|
|
46
|
+
/** Optional grouping key for grouped selects. */
|
|
47
|
+
group?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Result wrapper for async operations.
|
|
51
|
+
* @template T - The type of the data payload.
|
|
52
|
+
*/
|
|
53
|
+
export interface UiAsyncState<T = unknown> {
|
|
54
|
+
status: UiStatus;
|
|
55
|
+
data: T | null;
|
|
56
|
+
error: string | null;
|
|
57
|
+
}
|
|
58
|
+
/** Toast notification type. */
|
|
59
|
+
export type UiToastType = 'success' | 'error' | 'warning' | 'info';
|
|
60
|
+
/** Messages configuration for an endpoint (inline, no label archive). */
|
|
61
|
+
export interface UiEndpointMessages {
|
|
62
|
+
/** Success toast message. Supports `${key}` placeholders replaced at runtime. */
|
|
63
|
+
success?: string;
|
|
64
|
+
/** Error toast message. Supports `${key}` placeholders replaced at runtime. */
|
|
65
|
+
error?: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Extracts a custom error message from the HTTP error response.
|
|
69
|
+
* Return `null` to fall back to the default message.
|
|
70
|
+
*/
|
|
71
|
+
export type UiErrorExtractor = (error: any) => string | null;
|
|
72
|
+
/**
|
|
73
|
+
* Dynamically resolves a success message at runtime.
|
|
74
|
+
* Return `null` to fall back to the default message.
|
|
75
|
+
*/
|
|
76
|
+
export type UiSuccessResolver = () => string | null;
|
|
77
|
+
/**
|
|
78
|
+
* Query parameters for URL building.
|
|
79
|
+
* Keys map to query param names; values are auto-converted to strings.
|
|
80
|
+
*/
|
|
81
|
+
export type UiQueryParameters = Record<string, string | string[] | number | number[] | boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* Endpoint configuration for `UiHttpService`.
|
|
84
|
+
*
|
|
85
|
+
* Each endpoint defines its URL, optional inline messages, and
|
|
86
|
+
* toast/error behaviour. All toast flags default to `false` (opt-in).
|
|
87
|
+
*
|
|
88
|
+
* @usageNotes
|
|
89
|
+
* ### Basic endpoint factory
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const SAVE_USER = (): UiEndpoint => ({
|
|
92
|
+
* url: '/api/users',
|
|
93
|
+
* id: 'user_save',
|
|
94
|
+
* showSuccess: true,
|
|
95
|
+
* messages: { success: 'Utente salvato!' },
|
|
96
|
+
* });
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* ### Dynamic endpoint with replacements
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const UPDATE_ITEM = (id: number): UiEndpoint => ({
|
|
102
|
+
* url: `/api/items/${id}`,
|
|
103
|
+
* id: 'item_update',
|
|
104
|
+
* showSuccess: true,
|
|
105
|
+
* showError: true,
|
|
106
|
+
* messages: {
|
|
107
|
+
* success: 'Elemento ${name} aggiornato',
|
|
108
|
+
* error: 'Errore aggiornamento elemento',
|
|
109
|
+
* },
|
|
110
|
+
* replacements: { name: 'Widget' },
|
|
111
|
+
* });
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export interface UiEndpoint {
|
|
115
|
+
/** Relative or absolute URL for the API call. */
|
|
116
|
+
url: string;
|
|
117
|
+
/** Unique identifier for the endpoint (used for debounce keying). */
|
|
118
|
+
id: string;
|
|
119
|
+
/** Whether to show a success toast on completion. Default: `false`. */
|
|
120
|
+
showSuccess?: boolean;
|
|
121
|
+
/** Whether to show an error toast on failure. Default: `false`. */
|
|
122
|
+
showError?: boolean;
|
|
123
|
+
/** Inline messages for success/error toasts. */
|
|
124
|
+
messages?: UiEndpointMessages;
|
|
125
|
+
/** Placeholder replacements for message strings (`${key}` → value). */
|
|
126
|
+
replacements?: Record<string, string | number>;
|
|
127
|
+
/** Custom error message extractor from the HTTP error response. */
|
|
128
|
+
errorExtractor?: UiErrorExtractor;
|
|
129
|
+
/** Custom success message resolver (overrides inline message). */
|
|
130
|
+
successMessageResolver?: UiSuccessResolver;
|
|
131
|
+
/** Whether this endpoint should be tracked by BlackBox. Default: `true`. */
|
|
132
|
+
trackable?: boolean;
|
|
133
|
+
}
|