@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.
Files changed (721) hide show
  1. package/accordion/entry-accordion.d.ts +4 -0
  2. package/accordion/index.d.ts +5 -0
  3. package/accordion/lib/components/accordion/accordion.component.d.ts +125 -0
  4. package/accordion/lib/components/accordion/accordion.types.d.ts +64 -0
  5. package/accordion/lib/components/accordion/index.d.ts +2 -0
  6. package/accordion/lib/core/types/index.d.ts +133 -0
  7. package/base-layout/entry-base-layout.d.ts +4 -0
  8. package/base-layout/index.d.ts +5 -0
  9. package/base-layout/lib/components/base-layout/base-layout.component.d.ts +108 -0
  10. package/base-layout/lib/components/base-layout/base-layout.types.d.ts +40 -0
  11. package/base-layout/lib/components/base-layout/index.d.ts +13 -0
  12. package/base-layout/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
  13. package/base-layout/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
  14. package/base-layout/lib/components/blackbox/blackbox.service.d.ts +144 -0
  15. package/base-layout/lib/components/blackbox/blackbox.types.d.ts +238 -0
  16. package/base-layout/lib/components/button/button-area.component.d.ts +93 -0
  17. package/base-layout/lib/components/button/button.component.d.ts +61 -0
  18. package/base-layout/lib/components/button/button.types.d.ts +75 -0
  19. package/base-layout/lib/components/page-header/breadcrumb.service.d.ts +96 -0
  20. package/base-layout/lib/components/page-header/page-header.component.d.ts +59 -0
  21. package/base-layout/lib/components/page-header/page-header.types.d.ts +96 -0
  22. package/base-layout/lib/core/types/index.d.ts +133 -0
  23. package/blackbox/entry-blackbox.d.ts +4 -0
  24. package/blackbox/index.d.ts +5 -0
  25. package/blackbox/lib/components/blackbox/blackbox-debugger.component.d.ts +80 -0
  26. package/blackbox/lib/components/blackbox/blackbox-debugger.service.d.ts +34 -0
  27. package/blackbox/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
  28. package/blackbox/lib/components/blackbox/blackbox-json-viewer.component.d.ts +18 -0
  29. package/blackbox/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
  30. package/blackbox/lib/components/blackbox/blackbox.interceptor.d.ts +38 -0
  31. package/blackbox/lib/components/blackbox/blackbox.service.d.ts +144 -0
  32. package/blackbox/lib/components/blackbox/blackbox.types.d.ts +238 -0
  33. package/blackbox/lib/components/blackbox/index.d.ts +23 -0
  34. package/blackbox/lib/components/blackbox/ui-track.directive.d.ts +20 -0
  35. package/blackbox/lib/components/button/button-area.component.d.ts +93 -0
  36. package/blackbox/lib/components/button/button.component.d.ts +61 -0
  37. package/blackbox/lib/components/button/button.types.d.ts +75 -0
  38. package/blackbox/lib/components/button/index.d.ts +15 -0
  39. package/blackbox/lib/components/modal/confirm-dialog.component.d.ts +46 -0
  40. package/blackbox/lib/components/modal/index.d.ts +4 -0
  41. package/blackbox/lib/components/modal/modal.component.d.ts +44 -0
  42. package/blackbox/lib/components/modal/modal.service.d.ts +93 -0
  43. package/blackbox/lib/components/modal/modal.types.d.ts +110 -0
  44. package/blackbox/lib/core/types/index.d.ts +133 -0
  45. package/button/entry-button.d.ts +4 -0
  46. package/button/index.d.ts +5 -0
  47. package/button/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
  48. package/button/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
  49. package/button/lib/components/blackbox/blackbox.service.d.ts +144 -0
  50. package/button/lib/components/blackbox/blackbox.types.d.ts +238 -0
  51. package/button/lib/components/button/button-area.component.d.ts +93 -0
  52. package/button/lib/components/button/button.component.d.ts +61 -0
  53. package/button/lib/components/button/button.types.d.ts +75 -0
  54. package/button/lib/components/button/index.d.ts +15 -0
  55. package/button/lib/core/types/index.d.ts +133 -0
  56. package/core/entry-core.d.ts +5 -0
  57. package/core/index.d.ts +5 -0
  58. package/core/lib/core/types/index.d.ts +133 -0
  59. package/core/lib/core/utils/index.d.ts +60 -0
  60. package/crud-table/entry-crud-table.d.ts +4 -0
  61. package/crud-table/index.d.ts +5 -0
  62. package/crud-table/lib/components/accordion/accordion.component.d.ts +125 -0
  63. package/crud-table/lib/components/accordion/accordion.types.d.ts +64 -0
  64. package/crud-table/lib/components/accordion/index.d.ts +2 -0
  65. package/crud-table/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
  66. package/crud-table/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
  67. package/crud-table/lib/components/blackbox/blackbox.service.d.ts +144 -0
  68. package/crud-table/lib/components/blackbox/blackbox.types.d.ts +238 -0
  69. package/crud-table/lib/components/button/button-area.component.d.ts +93 -0
  70. package/crud-table/lib/components/button/button.component.d.ts +61 -0
  71. package/crud-table/lib/components/button/button.types.d.ts +75 -0
  72. package/crud-table/lib/components/button/index.d.ts +15 -0
  73. package/crud-table/lib/components/crud-table/crud-table.component.d.ts +143 -0
  74. package/crud-table/lib/components/crud-table/crud-table.types.d.ts +207 -0
  75. package/crud-table/lib/components/crud-table/index.d.ts +15 -0
  76. package/crud-table/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
  77. package/crud-table/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
  78. package/crud-table/lib/components/form-builder/form-builder.component.d.ts +279 -0
  79. package/crud-table/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
  80. package/crud-table/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
  81. package/crud-table/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
  82. package/crud-table/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
  83. package/crud-table/lib/components/form-builder/services/location.service.d.ts +83 -0
  84. package/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
  85. package/crud-table/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
  86. package/crud-table/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
  87. package/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
  88. package/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
  89. package/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
  90. package/crud-table/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
  91. package/crud-table/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
  92. package/crud-table/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
  93. package/crud-table/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
  94. package/crud-table/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
  95. package/crud-table/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
  96. package/crud-table/lib/components/form-builder/types/condition.types.d.ts +51 -0
  97. package/crud-table/lib/components/form-builder/types/field.types.d.ts +330 -0
  98. package/crud-table/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
  99. package/crud-table/lib/components/form-builder/types/schema.types.d.ts +304 -0
  100. package/crud-table/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
  101. package/crud-table/lib/components/form-builder/types/validation.types.d.ts +179 -0
  102. package/crud-table/lib/components/modal/confirm-dialog.component.d.ts +46 -0
  103. package/crud-table/lib/components/modal/modal.service.d.ts +93 -0
  104. package/crud-table/lib/components/modal/modal.types.d.ts +110 -0
  105. package/crud-table/lib/core/logging/logger.config.d.ts +18 -0
  106. package/crud-table/lib/core/logging/logger.service.d.ts +75 -0
  107. package/crud-table/lib/core/logging/logger.types.d.ts +70 -0
  108. package/crud-table/lib/core/types/index.d.ts +133 -0
  109. package/esm2022/accordion/entry-accordion.mjs +5 -0
  110. package/esm2022/accordion/gnggln-ng-ui-system-accordion.mjs +5 -0
  111. package/esm2022/accordion/lib/components/accordion/accordion.component.mjs +398 -0
  112. package/esm2022/accordion/lib/components/accordion/accordion.types.mjs +6 -0
  113. package/esm2022/accordion/lib/components/accordion/index.mjs +2 -0
  114. package/esm2022/accordion/lib/core/types/index.mjs +6 -0
  115. package/esm2022/base-layout/entry-base-layout.mjs +5 -0
  116. package/esm2022/base-layout/gnggln-ng-ui-system-base-layout.mjs +5 -0
  117. package/esm2022/base-layout/lib/components/base-layout/base-layout.component.mjs +272 -0
  118. package/esm2022/base-layout/lib/components/base-layout/base-layout.types.mjs +6 -0
  119. package/esm2022/base-layout/lib/components/base-layout/index.mjs +14 -0
  120. package/esm2022/base-layout/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
  121. package/esm2022/base-layout/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
  122. package/esm2022/base-layout/lib/components/blackbox/blackbox.service.mjs +323 -0
  123. package/esm2022/base-layout/lib/components/blackbox/blackbox.types.mjs +25 -0
  124. package/esm2022/base-layout/lib/components/button/button-area.component.mjs +210 -0
  125. package/esm2022/base-layout/lib/components/button/button.component.mjs +180 -0
  126. package/esm2022/base-layout/lib/components/button/button.types.mjs +6 -0
  127. package/esm2022/base-layout/lib/components/page-header/breadcrumb.service.mjs +243 -0
  128. package/esm2022/base-layout/lib/components/page-header/page-header.component.mjs +243 -0
  129. package/esm2022/base-layout/lib/components/page-header/page-header.types.mjs +21 -0
  130. package/esm2022/base-layout/lib/core/types/index.mjs +6 -0
  131. package/esm2022/blackbox/entry-blackbox.mjs +5 -0
  132. package/esm2022/blackbox/gnggln-ng-ui-system-blackbox.mjs +5 -0
  133. package/esm2022/blackbox/lib/components/blackbox/blackbox-debugger.component.mjs +904 -0
  134. package/esm2022/blackbox/lib/components/blackbox/blackbox-debugger.service.mjs +51 -0
  135. package/esm2022/blackbox/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
  136. package/esm2022/blackbox/lib/components/blackbox/blackbox-json-viewer.component.mjs +66 -0
  137. package/esm2022/blackbox/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
  138. package/esm2022/blackbox/lib/components/blackbox/blackbox.interceptor.mjs +135 -0
  139. package/esm2022/blackbox/lib/components/blackbox/blackbox.service.mjs +323 -0
  140. package/esm2022/blackbox/lib/components/blackbox/blackbox.types.mjs +25 -0
  141. package/esm2022/blackbox/lib/components/blackbox/index.mjs +27 -0
  142. package/esm2022/blackbox/lib/components/blackbox/ui-track.directive.mjs +69 -0
  143. package/esm2022/blackbox/lib/components/button/button-area.component.mjs +210 -0
  144. package/esm2022/blackbox/lib/components/button/button.component.mjs +180 -0
  145. package/esm2022/blackbox/lib/components/button/button.types.mjs +6 -0
  146. package/esm2022/blackbox/lib/components/button/index.mjs +16 -0
  147. package/esm2022/blackbox/lib/components/modal/confirm-dialog.component.mjs +151 -0
  148. package/esm2022/blackbox/lib/components/modal/index.mjs +4 -0
  149. package/esm2022/blackbox/lib/components/modal/modal.component.mjs +139 -0
  150. package/esm2022/blackbox/lib/components/modal/modal.service.mjs +197 -0
  151. package/esm2022/blackbox/lib/components/modal/modal.types.mjs +6 -0
  152. package/esm2022/blackbox/lib/core/types/index.mjs +6 -0
  153. package/esm2022/button/entry-button.mjs +5 -0
  154. package/esm2022/button/gnggln-ng-ui-system-button.mjs +5 -0
  155. package/esm2022/button/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
  156. package/esm2022/button/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
  157. package/esm2022/button/lib/components/blackbox/blackbox.service.mjs +323 -0
  158. package/esm2022/button/lib/components/blackbox/blackbox.types.mjs +25 -0
  159. package/esm2022/button/lib/components/button/button-area.component.mjs +210 -0
  160. package/esm2022/button/lib/components/button/button.component.mjs +180 -0
  161. package/esm2022/button/lib/components/button/button.types.mjs +6 -0
  162. package/esm2022/button/lib/components/button/index.mjs +16 -0
  163. package/esm2022/button/lib/core/types/index.mjs +6 -0
  164. package/esm2022/core/entry-core.mjs +6 -0
  165. package/esm2022/core/gnggln-ng-ui-system-core.mjs +5 -0
  166. package/esm2022/core/lib/core/types/index.mjs +6 -0
  167. package/esm2022/core/lib/core/utils/index.mjs +102 -0
  168. package/esm2022/crud-table/entry-crud-table.mjs +5 -0
  169. package/esm2022/crud-table/gnggln-ng-ui-system-crud-table.mjs +5 -0
  170. package/esm2022/crud-table/lib/components/accordion/accordion.component.mjs +398 -0
  171. package/esm2022/crud-table/lib/components/accordion/accordion.types.mjs +6 -0
  172. package/esm2022/crud-table/lib/components/accordion/index.mjs +2 -0
  173. package/esm2022/crud-table/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
  174. package/esm2022/crud-table/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
  175. package/esm2022/crud-table/lib/components/blackbox/blackbox.service.mjs +323 -0
  176. package/esm2022/crud-table/lib/components/blackbox/blackbox.types.mjs +25 -0
  177. package/esm2022/crud-table/lib/components/button/button-area.component.mjs +210 -0
  178. package/esm2022/crud-table/lib/components/button/button.component.mjs +180 -0
  179. package/esm2022/crud-table/lib/components/button/button.types.mjs +6 -0
  180. package/esm2022/crud-table/lib/components/button/index.mjs +16 -0
  181. package/esm2022/crud-table/lib/components/crud-table/crud-table.component.mjs +789 -0
  182. package/esm2022/crud-table/lib/components/crud-table/crud-table.types.mjs +6 -0
  183. package/esm2022/crud-table/lib/components/crud-table/index.mjs +16 -0
  184. package/esm2022/crud-table/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
  185. package/esm2022/crud-table/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
  186. package/esm2022/crud-table/lib/components/form-builder/form-builder.component.mjs +1351 -0
  187. package/esm2022/crud-table/lib/components/form-builder/services/form-condition.service.mjs +132 -0
  188. package/esm2022/crud-table/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
  189. package/esm2022/crud-table/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
  190. package/esm2022/crud-table/lib/components/form-builder/services/form-validation.service.mjs +381 -0
  191. package/esm2022/crud-table/lib/components/form-builder/services/location.service.mjs +141 -0
  192. package/esm2022/crud-table/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
  193. package/esm2022/crud-table/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
  194. package/esm2022/crud-table/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
  195. package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
  196. package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
  197. package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
  198. package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
  199. package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
  200. package/esm2022/crud-table/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
  201. package/esm2022/crud-table/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
  202. package/esm2022/crud-table/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
  203. package/esm2022/crud-table/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
  204. package/esm2022/crud-table/lib/components/form-builder/types/condition.types.mjs +6 -0
  205. package/esm2022/crud-table/lib/components/form-builder/types/field.types.mjs +6 -0
  206. package/esm2022/crud-table/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
  207. package/esm2022/crud-table/lib/components/form-builder/types/schema.types.mjs +6 -0
  208. package/esm2022/crud-table/lib/components/form-builder/types/territoriale.types.mjs +6 -0
  209. package/esm2022/crud-table/lib/components/form-builder/types/validation.types.mjs +10 -0
  210. package/esm2022/crud-table/lib/components/modal/confirm-dialog.component.mjs +151 -0
  211. package/esm2022/crud-table/lib/components/modal/modal.service.mjs +197 -0
  212. package/esm2022/crud-table/lib/components/modal/modal.types.mjs +6 -0
  213. package/esm2022/crud-table/lib/core/logging/logger.config.mjs +18 -0
  214. package/esm2022/crud-table/lib/core/logging/logger.service.mjs +295 -0
  215. package/esm2022/crud-table/lib/core/logging/logger.types.mjs +7 -0
  216. package/esm2022/crud-table/lib/core/types/index.mjs +6 -0
  217. package/esm2022/crud-table/lib/sources/location-data.opt.json +8942 -0
  218. package/esm2022/crud-table/lib/sources/nazioni.opt.json +215 -0
  219. package/esm2022/form-builder/entry-form-builder.mjs +5 -0
  220. package/esm2022/form-builder/gnggln-ng-ui-system-form-builder.mjs +5 -0
  221. package/esm2022/form-builder/lib/components/accordion/accordion.component.mjs +398 -0
  222. package/esm2022/form-builder/lib/components/accordion/accordion.types.mjs +6 -0
  223. package/esm2022/form-builder/lib/components/accordion/index.mjs +2 -0
  224. package/esm2022/form-builder/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
  225. package/esm2022/form-builder/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
  226. package/esm2022/form-builder/lib/components/blackbox/blackbox.service.mjs +323 -0
  227. package/esm2022/form-builder/lib/components/blackbox/blackbox.types.mjs +25 -0
  228. package/esm2022/form-builder/lib/components/button/button-area.component.mjs +210 -0
  229. package/esm2022/form-builder/lib/components/button/button.component.mjs +180 -0
  230. package/esm2022/form-builder/lib/components/button/button.types.mjs +6 -0
  231. package/esm2022/form-builder/lib/components/button/index.mjs +16 -0
  232. package/esm2022/form-builder/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
  233. package/esm2022/form-builder/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
  234. package/esm2022/form-builder/lib/components/form-builder/form-builder.component.mjs +1351 -0
  235. package/esm2022/form-builder/lib/components/form-builder/form-wizard.component.mjs +1064 -0
  236. package/esm2022/form-builder/lib/components/form-builder/index.mjs +24 -0
  237. package/esm2022/form-builder/lib/components/form-builder/services/form-condition.service.mjs +132 -0
  238. package/esm2022/form-builder/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
  239. package/esm2022/form-builder/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
  240. package/esm2022/form-builder/lib/components/form-builder/services/form-validation.service.mjs +381 -0
  241. package/esm2022/form-builder/lib/components/form-builder/services/location.service.mjs +141 -0
  242. package/esm2022/form-builder/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
  243. package/esm2022/form-builder/lib/components/form-builder/services/wizard-sync.service.mjs +84 -0
  244. package/esm2022/form-builder/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
  245. package/esm2022/form-builder/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
  246. package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
  247. package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
  248. package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
  249. package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
  250. package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
  251. package/esm2022/form-builder/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
  252. package/esm2022/form-builder/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
  253. package/esm2022/form-builder/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
  254. package/esm2022/form-builder/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
  255. package/esm2022/form-builder/lib/components/form-builder/types/condition.types.mjs +6 -0
  256. package/esm2022/form-builder/lib/components/form-builder/types/field.types.mjs +6 -0
  257. package/esm2022/form-builder/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
  258. package/esm2022/form-builder/lib/components/form-builder/types/index.mjs +3 -0
  259. package/esm2022/form-builder/lib/components/form-builder/types/schema.types.mjs +6 -0
  260. package/esm2022/form-builder/lib/components/form-builder/types/territoriale.types.mjs +6 -0
  261. package/esm2022/form-builder/lib/components/form-builder/types/validation.types.mjs +10 -0
  262. package/esm2022/form-builder/lib/core/logging/logger.config.mjs +18 -0
  263. package/esm2022/form-builder/lib/core/logging/logger.service.mjs +295 -0
  264. package/esm2022/form-builder/lib/core/logging/logger.types.mjs +7 -0
  265. package/esm2022/form-builder/lib/core/types/index.mjs +6 -0
  266. package/esm2022/form-builder/lib/sources/location-data.opt.json +8942 -0
  267. package/esm2022/form-builder/lib/sources/nazioni.opt.json +215 -0
  268. package/esm2022/form-builder-editor/entry-form-builder-editor.mjs +5 -0
  269. package/esm2022/form-builder-editor/gnggln-ng-ui-system-form-builder-editor.mjs +5 -0
  270. package/esm2022/form-builder-editor/lib/components/accordion/accordion.component.mjs +398 -0
  271. package/esm2022/form-builder-editor/lib/components/accordion/accordion.types.mjs +6 -0
  272. package/esm2022/form-builder-editor/lib/components/accordion/index.mjs +2 -0
  273. package/esm2022/form-builder-editor/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
  274. package/esm2022/form-builder-editor/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
  275. package/esm2022/form-builder-editor/lib/components/blackbox/blackbox.service.mjs +323 -0
  276. package/esm2022/form-builder-editor/lib/components/blackbox/blackbox.types.mjs +25 -0
  277. package/esm2022/form-builder-editor/lib/components/button/button-area.component.mjs +210 -0
  278. package/esm2022/form-builder-editor/lib/components/button/button.component.mjs +180 -0
  279. package/esm2022/form-builder-editor/lib/components/button/button.types.mjs +6 -0
  280. package/esm2022/form-builder-editor/lib/components/button/index.mjs +16 -0
  281. package/esm2022/form-builder-editor/lib/components/form-builder/adapters/it-date-adapter.mjs +82 -0
  282. package/esm2022/form-builder-editor/lib/components/form-builder/directives/currency-input.directive.mjs +184 -0
  283. package/esm2022/form-builder-editor/lib/components/form-builder/form-builder.component.mjs +1351 -0
  284. package/esm2022/form-builder-editor/lib/components/form-builder/services/form-condition.service.mjs +132 -0
  285. package/esm2022/form-builder-editor/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
  286. package/esm2022/form-builder-editor/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
  287. package/esm2022/form-builder-editor/lib/components/form-builder/services/form-validation.service.mjs +381 -0
  288. package/esm2022/form-builder-editor/lib/components/form-builder/services/location.service.mjs +141 -0
  289. package/esm2022/form-builder-editor/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
  290. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +190 -0
  291. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/file-input/file-input.component.mjs +310 -0
  292. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
  293. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
  294. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
  295. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
  296. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
  297. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
  298. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
  299. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.mjs +648 -0
  300. package/esm2022/form-builder-editor/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +432 -0
  301. package/esm2022/form-builder-editor/lib/components/form-builder/types/condition.types.mjs +6 -0
  302. package/esm2022/form-builder-editor/lib/components/form-builder/types/field.types.mjs +6 -0
  303. package/esm2022/form-builder-editor/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
  304. package/esm2022/form-builder-editor/lib/components/form-builder/types/index.mjs +3 -0
  305. package/esm2022/form-builder-editor/lib/components/form-builder/types/schema.types.mjs +6 -0
  306. package/esm2022/form-builder-editor/lib/components/form-builder/types/territoriale.types.mjs +6 -0
  307. package/esm2022/form-builder-editor/lib/components/form-builder/types/validation.types.mjs +10 -0
  308. package/esm2022/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.component.mjs +730 -0
  309. package/esm2022/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.service.mjs +56 -0
  310. package/esm2022/form-builder-editor/lib/components/form-builder-editor/index.mjs +23 -0
  311. package/esm2022/form-builder-editor/lib/components/form-builder-editor/presets/editor-presets.mjs +395 -0
  312. package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/editor-persistence.service.mjs +190 -0
  313. package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/editor-state.service.mjs +324 -0
  314. package/esm2022/form-builder-editor/lib/components/form-builder-editor/services/field-factory.service.mjs +188 -0
  315. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/condition-editor/condition-editor.component.mjs +667 -0
  316. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/editor-toolbar/editor-toolbar.component.mjs +317 -0
  317. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/field-config-panel/field-config-panel.component.mjs +611 -0
  318. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/field-palette/field-palette.component.mjs +267 -0
  319. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/form-values-panel/form-values-panel.component.mjs +276 -0
  320. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/options-editor/options-editor.component.mjs +323 -0
  321. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +238 -0
  322. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.mjs +473 -0
  323. package/esm2022/form-builder-editor/lib/components/form-builder-editor/sub-components/validation-editor/validation-editor.component.mjs +473 -0
  324. package/esm2022/form-builder-editor/lib/components/form-builder-editor/types/editor.types.mjs +6 -0
  325. package/esm2022/form-builder-editor/lib/components/modal/confirm-dialog.component.mjs +151 -0
  326. package/esm2022/form-builder-editor/lib/components/modal/index.mjs +4 -0
  327. package/esm2022/form-builder-editor/lib/components/modal/modal.component.mjs +139 -0
  328. package/esm2022/form-builder-editor/lib/components/modal/modal.service.mjs +197 -0
  329. package/esm2022/form-builder-editor/lib/components/modal/modal.types.mjs +6 -0
  330. package/esm2022/form-builder-editor/lib/core/logging/logger.config.mjs +18 -0
  331. package/esm2022/form-builder-editor/lib/core/logging/logger.service.mjs +295 -0
  332. package/esm2022/form-builder-editor/lib/core/logging/logger.types.mjs +7 -0
  333. package/esm2022/form-builder-editor/lib/core/types/index.mjs +6 -0
  334. package/esm2022/form-builder-editor/lib/sources/location-data.opt.json +8942 -0
  335. package/esm2022/form-builder-editor/lib/sources/nazioni.opt.json +215 -0
  336. package/esm2022/http/entry-http.mjs +5 -0
  337. package/esm2022/http/gnggln-ng-ui-system-http.mjs +5 -0
  338. package/esm2022/http/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
  339. package/esm2022/http/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
  340. package/esm2022/http/lib/components/blackbox/blackbox.service.mjs +323 -0
  341. package/esm2022/http/lib/components/blackbox/blackbox.types.mjs +25 -0
  342. package/esm2022/http/lib/components/http/http-message.handler.mjs +143 -0
  343. package/esm2022/http/lib/components/http/http.service.mjs +228 -0
  344. package/esm2022/http/lib/components/http/http.tokens.mjs +29 -0
  345. package/esm2022/http/lib/components/http/http.types.mjs +6 -0
  346. package/esm2022/http/lib/components/http/index.mjs +19 -0
  347. package/esm2022/http/lib/components/layout-builder/layout-builder.types.mjs +9 -0
  348. package/esm2022/http/lib/components/layout-builder/layout.service.mjs +239 -0
  349. package/esm2022/http/lib/components/toast/toast-container.component.mjs +80 -0
  350. package/esm2022/http/lib/components/toast/toast.component.mjs +151 -0
  351. package/esm2022/http/lib/components/toast/toast.service.mjs +156 -0
  352. package/esm2022/http/lib/components/toast/toast.types.mjs +12 -0
  353. package/esm2022/http/lib/core/types/index.mjs +6 -0
  354. package/esm2022/http/lib/core/utils/index.mjs +102 -0
  355. package/esm2022/layout-builder/entry-layout-builder.mjs +5 -0
  356. package/esm2022/layout-builder/gnggln-ng-ui-system-layout-builder.mjs +5 -0
  357. package/esm2022/layout-builder/lib/components/layout-builder/index.mjs +18 -0
  358. package/esm2022/layout-builder/lib/components/layout-builder/layout-builder.component.mjs +1804 -0
  359. package/esm2022/layout-builder/lib/components/layout-builder/layout-builder.types.mjs +9 -0
  360. package/esm2022/layout-builder/lib/components/layout-builder/layout.service.mjs +239 -0
  361. package/esm2022/layout-builder/lib/core/types/index.mjs +6 -0
  362. package/esm2022/lib/components/accordion/accordion.component.mjs +106 -61
  363. package/esm2022/lib/components/accordion/accordion.types.mjs +1 -1
  364. package/esm2022/lib/components/base-layout/base-layout.component.mjs +88 -34
  365. package/esm2022/lib/components/base-layout/base-layout.types.mjs +1 -1
  366. package/esm2022/lib/components/base-layout/index.mjs +1 -1
  367. package/esm2022/lib/components/blackbox/blackbox-debugger.component.mjs +904 -0
  368. package/esm2022/lib/components/blackbox/blackbox-debugger.service.mjs +51 -0
  369. package/esm2022/lib/components/blackbox/blackbox-fingerprint.service.mjs +116 -0
  370. package/esm2022/lib/components/blackbox/blackbox-json-viewer.component.mjs +66 -0
  371. package/esm2022/lib/components/blackbox/blackbox-storage.service.mjs +286 -0
  372. package/esm2022/lib/components/blackbox/blackbox.interceptor.mjs +135 -0
  373. package/esm2022/lib/components/blackbox/blackbox.service.mjs +323 -0
  374. package/esm2022/lib/components/blackbox/blackbox.types.mjs +25 -0
  375. package/esm2022/lib/components/blackbox/index.mjs +27 -0
  376. package/esm2022/lib/components/blackbox/ui-track.directive.mjs +69 -0
  377. package/esm2022/lib/components/button/button-area.component.mjs +16 -2
  378. package/esm2022/lib/components/button/button.component.mjs +23 -7
  379. package/esm2022/lib/components/button/button.types.mjs +1 -1
  380. package/esm2022/lib/components/crud-table/crud-table.component.mjs +14 -14
  381. package/esm2022/lib/components/form-builder/form-builder.component.mjs +710 -183
  382. package/esm2022/lib/components/form-builder/form-wizard.component.mjs +789 -235
  383. package/esm2022/lib/components/form-builder/index.mjs +7 -2
  384. package/esm2022/lib/components/form-builder/services/form-error-state.matcher.mjs +10 -0
  385. package/esm2022/lib/components/form-builder/services/form-field-error.service.mjs +103 -0
  386. package/esm2022/lib/components/form-builder/services/location.service.mjs +4 -3
  387. package/esm2022/lib/components/form-builder/services/nominatim-geocoding.service.mjs +120 -0
  388. package/esm2022/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.mjs +142 -113
  389. package/esm2022/lib/components/form-builder/sub-components/form-fields/form-number-field.component.mjs +113 -0
  390. package/esm2022/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.mjs +105 -0
  391. package/esm2022/lib/components/form-builder/sub-components/form-fields/form-select-field.component.mjs +126 -0
  392. package/esm2022/lib/components/form-builder/sub-components/form-fields/form-text-field.component.mjs +147 -0
  393. package/esm2022/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.mjs +99 -0
  394. package/esm2022/lib/components/form-builder/sub-components/form-fields/index.mjs +6 -0
  395. package/esm2022/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.mjs +322 -0
  396. package/esm2022/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.mjs +3 -3
  397. package/esm2022/lib/components/form-builder/types/field.types.mjs +1 -1
  398. package/esm2022/lib/components/form-builder/types/geocoded-location.types.mjs +6 -0
  399. package/esm2022/lib/components/form-builder/types/index.mjs +3 -2
  400. package/esm2022/lib/components/form-builder/types/schema.types.mjs +1 -1
  401. package/esm2022/lib/components/form-builder/types/validation.types.mjs +6 -2
  402. package/esm2022/lib/components/form-builder-editor/form-builder-editor.component.mjs +3 -3
  403. package/esm2022/lib/components/form-builder-editor/index.mjs +3 -1
  404. package/esm2022/lib/components/form-builder-editor/presets/editor-presets.mjs +395 -0
  405. package/esm2022/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.mjs +2 -2
  406. package/esm2022/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.mjs +2 -1
  407. package/esm2022/lib/components/http/http-message.handler.mjs +143 -0
  408. package/esm2022/lib/components/http/http.service.mjs +228 -0
  409. package/esm2022/lib/components/http/http.tokens.mjs +29 -0
  410. package/esm2022/lib/components/http/http.types.mjs +6 -0
  411. package/esm2022/lib/components/http/index.mjs +19 -0
  412. package/esm2022/lib/components/layout-builder/layout-builder.component.mjs +27 -15
  413. package/esm2022/lib/components/modal/confirm-dialog.component.mjs +3 -3
  414. package/esm2022/lib/components/modal/modal.service.mjs +5 -2
  415. package/esm2022/lib/components/page-header/breadcrumb.service.mjs +5 -4
  416. package/esm2022/lib/components/table/paginated-table.component.mjs +17 -3
  417. package/esm2022/lib/components/table/table.types.mjs +1 -1
  418. package/esm2022/lib/components/toast/index.mjs +18 -0
  419. package/esm2022/lib/components/toast/toast-container.component.mjs +80 -0
  420. package/esm2022/lib/components/toast/toast.component.mjs +151 -0
  421. package/esm2022/lib/components/toast/toast.service.mjs +156 -0
  422. package/esm2022/lib/components/toast/toast.types.mjs +12 -0
  423. package/esm2022/lib/core/logging/index.mjs +10 -0
  424. package/esm2022/lib/core/logging/logger.config.mjs +18 -0
  425. package/esm2022/lib/core/logging/logger.service.mjs +295 -0
  426. package/esm2022/lib/core/logging/logger.types.mjs +7 -0
  427. package/esm2022/lib/core/types/index.mjs +1 -1
  428. package/esm2022/lib/core/utils/index.mjs +50 -1
  429. package/esm2022/lib/version/ng-ui-system-version.mjs +12 -0
  430. package/esm2022/modal/entry-modal.mjs +5 -0
  431. package/esm2022/modal/gnggln-ng-ui-system-modal.mjs +5 -0
  432. package/esm2022/modal/lib/components/button/button.component.mjs +180 -0
  433. package/esm2022/modal/lib/components/button/button.types.mjs +6 -0
  434. package/esm2022/modal/lib/components/modal/confirm-dialog.component.mjs +151 -0
  435. package/esm2022/modal/lib/components/modal/index.mjs +4 -0
  436. package/esm2022/modal/lib/components/modal/modal.component.mjs +139 -0
  437. package/esm2022/modal/lib/components/modal/modal.service.mjs +197 -0
  438. package/esm2022/modal/lib/components/modal/modal.types.mjs +6 -0
  439. package/esm2022/modal/lib/core/types/index.mjs +6 -0
  440. package/esm2022/page-header/entry-page-header.mjs +5 -0
  441. package/esm2022/page-header/gnggln-ng-ui-system-page-header.mjs +5 -0
  442. package/esm2022/page-header/lib/components/page-header/breadcrumb.service.mjs +243 -0
  443. package/esm2022/page-header/lib/components/page-header/index.mjs +20 -0
  444. package/esm2022/page-header/lib/components/page-header/page-header.component.mjs +243 -0
  445. package/esm2022/page-header/lib/components/page-header/page-header.types.mjs +21 -0
  446. package/esm2022/public-api.mjs +17 -8
  447. package/esm2022/table/entry-table.mjs +5 -0
  448. package/esm2022/table/gnggln-ng-ui-system-table.mjs +5 -0
  449. package/esm2022/table/lib/components/table/index.mjs +2 -0
  450. package/esm2022/table/lib/components/table/paginated-table.component.mjs +421 -0
  451. package/esm2022/table/lib/components/table/table.types.mjs +6 -0
  452. package/esm2022/table/lib/core/utils/index.mjs +102 -0
  453. package/esm2022/toast/entry-toast.mjs +5 -0
  454. package/esm2022/toast/gnggln-ng-ui-system-toast.mjs +5 -0
  455. package/esm2022/toast/lib/components/toast/index.mjs +18 -0
  456. package/esm2022/toast/lib/components/toast/toast-container.component.mjs +80 -0
  457. package/esm2022/toast/lib/components/toast/toast.component.mjs +151 -0
  458. package/esm2022/toast/lib/components/toast/toast.service.mjs +156 -0
  459. package/esm2022/toast/lib/components/toast/toast.types.mjs +12 -0
  460. package/esm2022/toast/lib/core/types/index.mjs +6 -0
  461. package/esm2022/toast/lib/core/utils/index.mjs +102 -0
  462. package/fesm2022/gnggln-ng-ui-system-accordion.mjs +409 -0
  463. package/fesm2022/gnggln-ng-ui-system-accordion.mjs.map +1 -0
  464. package/fesm2022/gnggln-ng-ui-system-base-layout.mjs +1905 -0
  465. package/fesm2022/gnggln-ng-ui-system-base-layout.mjs.map +1 -0
  466. package/fesm2022/gnggln-ng-ui-system-blackbox.mjs +2829 -0
  467. package/fesm2022/gnggln-ng-ui-system-blackbox.mjs.map +1 -0
  468. package/fesm2022/gnggln-ng-ui-system-button.mjs +1148 -0
  469. package/fesm2022/gnggln-ng-ui-system-button.mjs.map +1 -0
  470. package/fesm2022/gnggln-ng-ui-system-core.mjs +117 -0
  471. package/fesm2022/gnggln-ng-ui-system-core.mjs.map +1 -0
  472. package/fesm2022/gnggln-ng-ui-system-crud-table.mjs +49600 -0
  473. package/fesm2022/gnggln-ng-ui-system-crud-table.mjs.map +1 -0
  474. package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs +54332 -0
  475. package/fesm2022/gnggln-ng-ui-system-form-builder-editor.mjs.map +1 -0
  476. package/fesm2022/gnggln-ng-ui-system-form-builder.mjs +49609 -0
  477. package/fesm2022/gnggln-ng-ui-system-form-builder.mjs.map +1 -0
  478. package/fesm2022/gnggln-ng-ui-system-http.mjs +1878 -0
  479. package/fesm2022/gnggln-ng-ui-system-http.mjs.map +1 -0
  480. package/fesm2022/gnggln-ng-ui-system-layout-builder.mjs +2064 -0
  481. package/fesm2022/gnggln-ng-ui-system-layout-builder.mjs.map +1 -0
  482. package/fesm2022/gnggln-ng-ui-system-modal.mjs +664 -0
  483. package/fesm2022/gnggln-ng-ui-system-modal.mjs.map +1 -0
  484. package/fesm2022/gnggln-ng-ui-system-page-header.mjs +526 -0
  485. package/fesm2022/gnggln-ng-ui-system-page-header.mjs.map +1 -0
  486. package/fesm2022/gnggln-ng-ui-system-table.mjs +533 -0
  487. package/fesm2022/gnggln-ng-ui-system-table.mjs.map +1 -0
  488. package/fesm2022/gnggln-ng-ui-system-toast.mjs +516 -0
  489. package/fesm2022/gnggln-ng-ui-system-toast.mjs.map +1 -0
  490. package/fesm2022/gnggln-ng-ui-system.mjs +10068 -4234
  491. package/fesm2022/gnggln-ng-ui-system.mjs.map +1 -1
  492. package/form-builder/entry-form-builder.d.ts +4 -0
  493. package/form-builder/index.d.ts +5 -0
  494. package/form-builder/lib/components/accordion/accordion.component.d.ts +125 -0
  495. package/form-builder/lib/components/accordion/accordion.types.d.ts +64 -0
  496. package/form-builder/lib/components/accordion/index.d.ts +2 -0
  497. package/form-builder/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
  498. package/form-builder/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
  499. package/form-builder/lib/components/blackbox/blackbox.service.d.ts +144 -0
  500. package/form-builder/lib/components/blackbox/blackbox.types.d.ts +238 -0
  501. package/form-builder/lib/components/button/button-area.component.d.ts +93 -0
  502. package/form-builder/lib/components/button/button.component.d.ts +61 -0
  503. package/form-builder/lib/components/button/button.types.d.ts +75 -0
  504. package/form-builder/lib/components/button/index.d.ts +15 -0
  505. package/form-builder/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
  506. package/form-builder/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
  507. package/form-builder/lib/components/form-builder/form-builder.component.d.ts +279 -0
  508. package/form-builder/lib/components/form-builder/form-wizard.component.d.ts +172 -0
  509. package/form-builder/lib/components/form-builder/index.d.ts +19 -0
  510. package/form-builder/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
  511. package/form-builder/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
  512. package/form-builder/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
  513. package/form-builder/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
  514. package/form-builder/lib/components/form-builder/services/location.service.d.ts +83 -0
  515. package/form-builder/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
  516. package/form-builder/lib/components/form-builder/services/wizard-sync.service.d.ts +63 -0
  517. package/form-builder/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
  518. package/form-builder/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
  519. package/form-builder/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
  520. package/form-builder/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
  521. package/form-builder/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
  522. package/form-builder/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
  523. package/form-builder/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
  524. package/form-builder/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
  525. package/form-builder/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
  526. package/form-builder/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
  527. package/form-builder/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
  528. package/form-builder/lib/components/form-builder/types/condition.types.d.ts +51 -0
  529. package/form-builder/lib/components/form-builder/types/field.types.d.ts +330 -0
  530. package/form-builder/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
  531. package/form-builder/lib/components/form-builder/types/index.d.ts +6 -0
  532. package/form-builder/lib/components/form-builder/types/schema.types.d.ts +304 -0
  533. package/form-builder/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
  534. package/form-builder/lib/components/form-builder/types/validation.types.d.ts +179 -0
  535. package/form-builder/lib/core/logging/logger.config.d.ts +18 -0
  536. package/form-builder/lib/core/logging/logger.service.d.ts +75 -0
  537. package/form-builder/lib/core/logging/logger.types.d.ts +70 -0
  538. package/form-builder/lib/core/types/index.d.ts +133 -0
  539. package/form-builder-editor/entry-form-builder-editor.d.ts +4 -0
  540. package/form-builder-editor/index.d.ts +5 -0
  541. package/form-builder-editor/lib/components/accordion/accordion.component.d.ts +125 -0
  542. package/form-builder-editor/lib/components/accordion/accordion.types.d.ts +64 -0
  543. package/form-builder-editor/lib/components/accordion/index.d.ts +2 -0
  544. package/form-builder-editor/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
  545. package/form-builder-editor/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
  546. package/form-builder-editor/lib/components/blackbox/blackbox.service.d.ts +144 -0
  547. package/form-builder-editor/lib/components/blackbox/blackbox.types.d.ts +238 -0
  548. package/form-builder-editor/lib/components/button/button-area.component.d.ts +93 -0
  549. package/form-builder-editor/lib/components/button/button.component.d.ts +61 -0
  550. package/form-builder-editor/lib/components/button/button.types.d.ts +75 -0
  551. package/form-builder-editor/lib/components/button/index.d.ts +15 -0
  552. package/form-builder-editor/lib/components/form-builder/adapters/it-date-adapter.d.ts +32 -0
  553. package/form-builder-editor/lib/components/form-builder/directives/currency-input.directive.d.ts +48 -0
  554. package/form-builder-editor/lib/components/form-builder/form-builder.component.d.ts +279 -0
  555. package/form-builder-editor/lib/components/form-builder/services/form-condition.service.d.ts +46 -0
  556. package/form-builder-editor/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
  557. package/form-builder-editor/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
  558. package/form-builder-editor/lib/components/form-builder/services/form-validation.service.d.ts +63 -0
  559. package/form-builder-editor/lib/components/form-builder/services/location.service.d.ts +83 -0
  560. package/form-builder-editor/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
  561. package/form-builder-editor/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +31 -0
  562. package/form-builder-editor/lib/components/form-builder/sub-components/file-input/file-input.component.d.ts +41 -0
  563. package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
  564. package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
  565. package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
  566. package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
  567. package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
  568. package/form-builder-editor/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
  569. package/form-builder-editor/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
  570. package/form-builder-editor/lib/components/form-builder/sub-components/specifica-territoriale/specifica-territoriale.component.d.ts +145 -0
  571. package/form-builder-editor/lib/components/form-builder/sub-components/table-territoriale/table-territoriale.component.d.ts +108 -0
  572. package/form-builder-editor/lib/components/form-builder/types/condition.types.d.ts +51 -0
  573. package/form-builder-editor/lib/components/form-builder/types/field.types.d.ts +330 -0
  574. package/form-builder-editor/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
  575. package/form-builder-editor/lib/components/form-builder/types/index.d.ts +6 -0
  576. package/form-builder-editor/lib/components/form-builder/types/schema.types.d.ts +304 -0
  577. package/form-builder-editor/lib/components/form-builder/types/territoriale.types.d.ts +170 -0
  578. package/form-builder-editor/lib/components/form-builder/types/validation.types.d.ts +179 -0
  579. package/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.component.d.ts +117 -0
  580. package/form-builder-editor/lib/components/form-builder-editor/form-builder-editor.service.d.ts +38 -0
  581. package/form-builder-editor/lib/components/form-builder-editor/index.d.ts +17 -0
  582. package/form-builder-editor/lib/components/form-builder-editor/presets/editor-presets.d.ts +25 -0
  583. package/form-builder-editor/lib/components/form-builder-editor/services/editor-persistence.service.d.ts +42 -0
  584. package/form-builder-editor/lib/components/form-builder-editor/services/editor-state.service.d.ts +66 -0
  585. package/form-builder-editor/lib/components/form-builder-editor/services/field-factory.service.d.ts +28 -0
  586. package/form-builder-editor/lib/components/form-builder-editor/sub-components/condition-editor/condition-editor.component.d.ts +139 -0
  587. package/form-builder-editor/lib/components/form-builder-editor/sub-components/editor-toolbar/editor-toolbar.component.d.ts +43 -0
  588. package/form-builder-editor/lib/components/form-builder-editor/sub-components/field-config-panel/field-config-panel.component.d.ts +83 -0
  589. package/form-builder-editor/lib/components/form-builder-editor/sub-components/field-palette/field-palette.component.d.ts +40 -0
  590. package/form-builder-editor/lib/components/form-builder-editor/sub-components/form-values-panel/form-values-panel.component.d.ts +51 -0
  591. package/form-builder-editor/lib/components/form-builder-editor/sub-components/options-editor/options-editor.component.d.ts +63 -0
  592. package/form-builder-editor/lib/components/form-builder-editor/sub-components/preview-container/preview-container.component.d.ts +68 -0
  593. package/form-builder-editor/lib/components/form-builder-editor/sub-components/section-editor/section-editor.component.d.ts +82 -0
  594. package/form-builder-editor/lib/components/form-builder-editor/sub-components/validation-editor/validation-editor.component.d.ts +112 -0
  595. package/form-builder-editor/lib/components/form-builder-editor/types/editor.types.d.ts +124 -0
  596. package/form-builder-editor/lib/components/modal/confirm-dialog.component.d.ts +46 -0
  597. package/form-builder-editor/lib/components/modal/index.d.ts +4 -0
  598. package/form-builder-editor/lib/components/modal/modal.component.d.ts +44 -0
  599. package/form-builder-editor/lib/components/modal/modal.service.d.ts +93 -0
  600. package/form-builder-editor/lib/components/modal/modal.types.d.ts +110 -0
  601. package/form-builder-editor/lib/core/logging/logger.config.d.ts +18 -0
  602. package/form-builder-editor/lib/core/logging/logger.service.d.ts +75 -0
  603. package/form-builder-editor/lib/core/logging/logger.types.d.ts +70 -0
  604. package/form-builder-editor/lib/core/types/index.d.ts +133 -0
  605. package/http/entry-http.d.ts +4 -0
  606. package/http/index.d.ts +5 -0
  607. package/http/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
  608. package/http/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
  609. package/http/lib/components/blackbox/blackbox.service.d.ts +144 -0
  610. package/http/lib/components/blackbox/blackbox.types.d.ts +238 -0
  611. package/http/lib/components/http/http-message.handler.d.ts +59 -0
  612. package/http/lib/components/http/http.service.d.ts +98 -0
  613. package/http/lib/components/http/http.tokens.d.ts +29 -0
  614. package/http/lib/components/http/http.types.d.ts +50 -0
  615. package/http/lib/components/http/index.d.ts +17 -0
  616. package/http/lib/components/layout-builder/layout-builder.types.d.ts +436 -0
  617. package/http/lib/components/layout-builder/layout.service.d.ts +100 -0
  618. package/http/lib/components/toast/toast-container.component.d.ts +27 -0
  619. package/http/lib/components/toast/toast.component.d.ts +37 -0
  620. package/http/lib/components/toast/toast.service.d.ts +39 -0
  621. package/http/lib/components/toast/toast.types.d.ts +52 -0
  622. package/http/lib/core/types/index.d.ts +133 -0
  623. package/http/lib/core/utils/index.d.ts +60 -0
  624. package/layout-builder/entry-layout-builder.d.ts +4 -0
  625. package/layout-builder/index.d.ts +5 -0
  626. package/layout-builder/lib/components/layout-builder/index.d.ts +16 -0
  627. package/layout-builder/lib/components/layout-builder/layout-builder.component.d.ts +85 -0
  628. package/layout-builder/lib/components/layout-builder/layout-builder.types.d.ts +436 -0
  629. package/layout-builder/lib/components/layout-builder/layout.service.d.ts +100 -0
  630. package/layout-builder/lib/core/types/index.d.ts +133 -0
  631. package/lib/components/accordion/accordion.component.d.ts +10 -3
  632. package/lib/components/accordion/accordion.types.d.ts +2 -0
  633. package/lib/components/base-layout/base-layout.component.d.ts +36 -11
  634. package/lib/components/base-layout/base-layout.types.d.ts +14 -0
  635. package/lib/components/base-layout/index.d.ts +1 -1
  636. package/lib/components/blackbox/blackbox-debugger.component.d.ts +80 -0
  637. package/lib/components/blackbox/blackbox-debugger.service.d.ts +34 -0
  638. package/lib/components/blackbox/blackbox-fingerprint.service.d.ts +36 -0
  639. package/lib/components/blackbox/blackbox-json-viewer.component.d.ts +18 -0
  640. package/lib/components/blackbox/blackbox-storage.service.d.ts +55 -0
  641. package/lib/components/blackbox/blackbox.interceptor.d.ts +38 -0
  642. package/lib/components/blackbox/blackbox.service.d.ts +144 -0
  643. package/lib/components/blackbox/blackbox.types.d.ts +238 -0
  644. package/lib/components/blackbox/index.d.ts +23 -0
  645. package/lib/components/blackbox/ui-track.directive.d.ts +20 -0
  646. package/lib/components/button/button-area.component.d.ts +6 -1
  647. package/lib/components/button/button.component.d.ts +8 -2
  648. package/lib/components/button/button.types.d.ts +5 -0
  649. package/lib/components/form-builder/form-builder.component.d.ts +125 -29
  650. package/lib/components/form-builder/form-wizard.component.d.ts +89 -4
  651. package/lib/components/form-builder/index.d.ts +7 -1
  652. package/lib/components/form-builder/services/form-error-state.matcher.d.ts +9 -0
  653. package/lib/components/form-builder/services/form-field-error.service.d.ts +38 -0
  654. package/lib/components/form-builder/services/nominatim-geocoding.service.d.ts +37 -0
  655. package/lib/components/form-builder/sub-components/error-summary/form-error-summary.component.d.ts +9 -6
  656. package/lib/components/form-builder/sub-components/form-fields/form-number-field.component.d.ts +42 -0
  657. package/lib/components/form-builder/sub-components/form-fields/form-radio-field.component.d.ts +45 -0
  658. package/lib/components/form-builder/sub-components/form-fields/form-select-field.component.d.ts +44 -0
  659. package/lib/components/form-builder/sub-components/form-fields/form-text-field.component.d.ts +62 -0
  660. package/lib/components/form-builder/sub-components/form-fields/form-textarea-field.component.d.ts +39 -0
  661. package/lib/components/form-builder/sub-components/form-fields/index.d.ts +5 -0
  662. package/lib/components/form-builder/sub-components/location-geocoded/location-geocoded.component.d.ts +84 -0
  663. package/lib/components/form-builder/types/field.types.d.ts +48 -6
  664. package/lib/components/form-builder/types/geocoded-location.types.d.ts +116 -0
  665. package/lib/components/form-builder/types/index.d.ts +4 -3
  666. package/lib/components/form-builder/types/schema.types.d.ts +83 -6
  667. package/lib/components/form-builder/types/validation.types.d.ts +5 -0
  668. package/lib/components/form-builder-editor/index.d.ts +2 -0
  669. package/lib/components/form-builder-editor/presets/editor-presets.d.ts +25 -0
  670. package/lib/components/http/http-message.handler.d.ts +59 -0
  671. package/lib/components/http/http.service.d.ts +98 -0
  672. package/lib/components/http/http.tokens.d.ts +29 -0
  673. package/lib/components/http/http.types.d.ts +50 -0
  674. package/lib/components/http/index.d.ts +17 -0
  675. package/lib/components/page-header/breadcrumb.service.d.ts +2 -2
  676. package/lib/components/table/table.types.d.ts +5 -0
  677. package/lib/components/toast/index.d.ts +17 -0
  678. package/lib/components/toast/toast-container.component.d.ts +27 -0
  679. package/lib/components/toast/toast.component.d.ts +37 -0
  680. package/lib/components/toast/toast.service.d.ts +39 -0
  681. package/lib/components/toast/toast.types.d.ts +52 -0
  682. package/lib/core/logging/index.d.ts +8 -0
  683. package/lib/core/logging/logger.config.d.ts +18 -0
  684. package/lib/core/logging/logger.service.d.ts +75 -0
  685. package/lib/core/logging/logger.types.d.ts +70 -0
  686. package/lib/core/types/index.d.ts +76 -0
  687. package/lib/core/utils/index.d.ts +31 -0
  688. package/lib/version/ng-ui-system-version.d.ts +9 -0
  689. package/modal/entry-modal.d.ts +4 -0
  690. package/modal/index.d.ts +5 -0
  691. package/modal/lib/components/button/button.component.d.ts +61 -0
  692. package/modal/lib/components/button/button.types.d.ts +75 -0
  693. package/modal/lib/components/modal/confirm-dialog.component.d.ts +46 -0
  694. package/modal/lib/components/modal/index.d.ts +4 -0
  695. package/modal/lib/components/modal/modal.component.d.ts +44 -0
  696. package/modal/lib/components/modal/modal.service.d.ts +93 -0
  697. package/modal/lib/components/modal/modal.types.d.ts +110 -0
  698. package/modal/lib/core/types/index.d.ts +133 -0
  699. package/package.json +93 -8
  700. package/page-header/entry-page-header.d.ts +4 -0
  701. package/page-header/index.d.ts +5 -0
  702. package/page-header/lib/components/page-header/breadcrumb.service.d.ts +96 -0
  703. package/page-header/lib/components/page-header/index.d.ts +16 -0
  704. package/page-header/lib/components/page-header/page-header.component.d.ts +59 -0
  705. package/page-header/lib/components/page-header/page-header.types.d.ts +96 -0
  706. package/public-api.d.ts +11 -6
  707. package/table/entry-table.d.ts +4 -0
  708. package/table/index.d.ts +5 -0
  709. package/table/lib/components/table/index.d.ts +2 -0
  710. package/table/lib/components/table/paginated-table.component.d.ts +85 -0
  711. package/table/lib/components/table/table.types.d.ts +86 -0
  712. package/table/lib/core/utils/index.d.ts +60 -0
  713. package/toast/entry-toast.d.ts +4 -0
  714. package/toast/index.d.ts +5 -0
  715. package/toast/lib/components/toast/index.d.ts +17 -0
  716. package/toast/lib/components/toast/toast-container.component.d.ts +27 -0
  717. package/toast/lib/components/toast/toast.component.d.ts +37 -0
  718. package/toast/lib/components/toast/toast.service.d.ts +39 -0
  719. package/toast/lib/components/toast/toast.types.d.ts +52 -0
  720. package/toast/lib/core/types/index.d.ts +133 -0
  721. package/toast/lib/core/utils/index.d.ts +60 -0
@@ -0,0 +1,664 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, Injectable } from '@angular/core';
3
+ import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
4
+ import * as i1 from 'lucide-angular';
5
+ import { LucideAngularModule } from 'lucide-angular';
6
+ import * as i1$1 from '@angular/material/tooltip';
7
+ import { MatTooltipModule } from '@angular/material/tooltip';
8
+ import { Observable, map } from 'rxjs';
9
+
10
+ /**
11
+ * Componente modale standalone con struttura header/body/footer.
12
+ *
13
+ * Da utilizzare come wrapper all'interno di componenti aperti
14
+ * tramite `UiModalService.open()`. Fornisce la struttura visuale
15
+ * e gestisce la chiusura programmatica.
16
+ *
17
+ * **Content projection:**
18
+ * - Contenuto di default: va nel body
19
+ * - `[uiModalHeader]`: sostituisce il titolo nell'header
20
+ * - `[uiModalFooter]`: azioni nel footer
21
+ *
22
+ * @selector ui-modal
23
+ *
24
+ * @example
25
+ * ```html
26
+ * <ui-modal [config]="{ title: 'Dettagli', size: 'md' }">
27
+ * <p>Contenuto del body della modale.</p>
28
+ * <div uiModalFooter>
29
+ * <ui-button label="Chiudi" variant="ghost" (click)="close()" />
30
+ * <ui-button label="Salva" variant="primary" (click)="save()" />
31
+ * </div>
32
+ * </ui-modal>
33
+ * ```
34
+ */
35
+ class UiModalComponent {
36
+ constructor() {
37
+ /** Configurazione strutturale della modale. */
38
+ this.config = {};
39
+ /**
40
+ * Emesso quando la modale viene chiusa.
41
+ * Utile se il componente e usato direttamente nel template
42
+ * senza UiModalService.
43
+ */
44
+ this.closed = new EventEmitter();
45
+ /** @internal Riferimento al dialogo Material per la chiusura. */
46
+ this.dialogRef = inject(MatDialogRef, { optional: true });
47
+ }
48
+ /** Chiude la modale con un risultato opzionale. */
49
+ close(result) {
50
+ if (this.dialogRef) {
51
+ this.dialogRef.close(result);
52
+ }
53
+ else {
54
+ this.closed.emit(result);
55
+ }
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiModalComponent, isStandalone: true, selector: "ui-modal", inputs: { config: "config" }, outputs: { closed: "closed" }, host: { attributes: { "role": "dialog", "aria-modal": "true" }, properties: { "attr.aria-label": "config.title || null" }, classAttribute: "ui-modal-host" }, ngImport: i0, template: `
59
+ <!-- Header -->
60
+ @if (config.title || config.showCloseButton !== false) {
61
+ <div class="ui-modal__header">
62
+ <div class="ui-modal__header-content">
63
+ <ng-content select="[uiModalHeader]">
64
+ @if (config.title) {
65
+ <h2 class="ui-modal__title">{{ config.title }}</h2>
66
+ }
67
+ </ng-content>
68
+ </div>
69
+ @if (config.showCloseButton !== false) {
70
+ <button
71
+ class="ui-modal__close"
72
+ (click)="close()"
73
+ aria-label="Chiudi modale"
74
+ type="button"
75
+ >
76
+ <lucide-icon name="x" [size]="18" aria-hidden="true" />
77
+ </button>
78
+ }
79
+ </div>
80
+ }
81
+
82
+ <!-- Body -->
83
+ <div class="ui-modal__body">
84
+ <ng-content />
85
+ </div>
86
+
87
+ <!-- Footer -->
88
+ @if (!config.hideFooter) {
89
+ <div class="ui-modal__footer">
90
+ <ng-content select="[uiModalFooter]" />
91
+ </div>
92
+ }
93
+ `, isInline: true, styles: [".ui-modal-host{display:flex;flex-direction:column;max-height:90vh;background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);overflow:hidden;box-shadow:var(--ui-shadow-lg)}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-4) var(--ui-spacing-6);border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);flex-shrink:0;gap:var(--ui-spacing-3)}.ui-modal__header-content{flex:1;min-width:0}.ui-modal__title{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-modal__close{appearance:none;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ui-radius-md);color:var(--ui-color-text-secondary);flex-shrink:0;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}.ui-modal__close:focus{outline:none}.ui-modal__close:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-modal__close:hover{background:var(--ui-color-surface-hover);color:var(--ui-color-text)}.ui-modal__close:active{background:var(--ui-color-neutral-200)}.ui-modal__body{flex:1;overflow-y:auto;padding:var(--ui-spacing-6)}.ui-modal__body::-webkit-scrollbar{width:6px}.ui-modal__body::-webkit-scrollbar-track{background:transparent}.ui-modal__body::-webkit-scrollbar-thumb{background:var(--ui-color-neutral-300);border-radius:var(--ui-radius-full)}.ui-modal__body::-webkit-scrollbar-thumb:hover{background:var(--ui-color-neutral-400)}.ui-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--ui-spacing-2);padding:var(--ui-spacing-4) var(--ui-spacing-6);border-top:1px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);flex-shrink:0}.ui-modal__footer:empty{display:none}.ui-modal-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: transparent;--mdc-dialog-container-shape: var(--ui-radius-lg)}.ui-modal-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:transparent!important;box-shadow:none!important;border-radius:var(--ui-radius-lg)!important;overflow:visible}.ui-modal-panel--sm .mat-mdc-dialog-container{max-width:400px}.ui-modal-panel--md .mat-mdc-dialog-container{max-width:560px}.ui-modal-panel--lg .mat-mdc-dialog-container{max-width:720px}.ui-modal-panel--xl .mat-mdc-dialog-container{max-width:900px}.ui-modal-panel--fullscreen .ui-modal-host{height:95vh;max-height:95vh;border-radius:var(--ui-radius-md)}.ui-modal-backdrop{background:var(--ui-color-backdrop)}.ui-confirm-backdrop--stacked{background:#0000004d}@media (max-width: 768px){.ui-modal__header,.ui-modal__footer{padding-left:var(--ui-spacing-4);padding-right:var(--ui-spacing-4)}.ui-modal__body{padding:var(--ui-spacing-4)}}\n"], dependencies: [{ kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiModalComponent, decorators: [{
96
+ type: Component,
97
+ args: [{ selector: 'ui-modal', standalone: true, imports: [LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
98
+ class: 'ui-modal-host',
99
+ role: 'dialog',
100
+ 'aria-modal': 'true',
101
+ '[attr.aria-label]': 'config.title || null',
102
+ }, template: `
103
+ <!-- Header -->
104
+ @if (config.title || config.showCloseButton !== false) {
105
+ <div class="ui-modal__header">
106
+ <div class="ui-modal__header-content">
107
+ <ng-content select="[uiModalHeader]">
108
+ @if (config.title) {
109
+ <h2 class="ui-modal__title">{{ config.title }}</h2>
110
+ }
111
+ </ng-content>
112
+ </div>
113
+ @if (config.showCloseButton !== false) {
114
+ <button
115
+ class="ui-modal__close"
116
+ (click)="close()"
117
+ aria-label="Chiudi modale"
118
+ type="button"
119
+ >
120
+ <lucide-icon name="x" [size]="18" aria-hidden="true" />
121
+ </button>
122
+ }
123
+ </div>
124
+ }
125
+
126
+ <!-- Body -->
127
+ <div class="ui-modal__body">
128
+ <ng-content />
129
+ </div>
130
+
131
+ <!-- Footer -->
132
+ @if (!config.hideFooter) {
133
+ <div class="ui-modal__footer">
134
+ <ng-content select="[uiModalFooter]" />
135
+ </div>
136
+ }
137
+ `, styles: [".ui-modal-host{display:flex;flex-direction:column;max-height:90vh;background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);overflow:hidden;box-shadow:var(--ui-shadow-lg)}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-spacing-4) var(--ui-spacing-6);border-bottom:1px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);flex-shrink:0;gap:var(--ui-spacing-3)}.ui-modal__header-content{flex:1;min-width:0}.ui-modal__title{margin:0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-modal__close{appearance:none;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ui-radius-md);color:var(--ui-color-text-secondary);flex-shrink:0;transition:background-color var(--ui-transition-fast),color var(--ui-transition-fast)}.ui-modal__close:focus{outline:none}.ui-modal__close:focus-visible{outline:var(--ui-focus-ring-width) solid var(--ui-focus-ring-color);outline-offset:var(--ui-focus-ring-offset)}.ui-modal__close:hover{background:var(--ui-color-surface-hover);color:var(--ui-color-text)}.ui-modal__close:active{background:var(--ui-color-neutral-200)}.ui-modal__body{flex:1;overflow-y:auto;padding:var(--ui-spacing-6)}.ui-modal__body::-webkit-scrollbar{width:6px}.ui-modal__body::-webkit-scrollbar-track{background:transparent}.ui-modal__body::-webkit-scrollbar-thumb{background:var(--ui-color-neutral-300);border-radius:var(--ui-radius-full)}.ui-modal__body::-webkit-scrollbar-thumb:hover{background:var(--ui-color-neutral-400)}.ui-modal__footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--ui-spacing-2);padding:var(--ui-spacing-4) var(--ui-spacing-6);border-top:1px solid var(--ui-color-border);background:var(--ui-color-bg-subtle);flex-shrink:0}.ui-modal__footer:empty{display:none}.ui-modal-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: transparent;--mdc-dialog-container-shape: var(--ui-radius-lg)}.ui-modal-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:transparent!important;box-shadow:none!important;border-radius:var(--ui-radius-lg)!important;overflow:visible}.ui-modal-panel--sm .mat-mdc-dialog-container{max-width:400px}.ui-modal-panel--md .mat-mdc-dialog-container{max-width:560px}.ui-modal-panel--lg .mat-mdc-dialog-container{max-width:720px}.ui-modal-panel--xl .mat-mdc-dialog-container{max-width:900px}.ui-modal-panel--fullscreen .ui-modal-host{height:95vh;max-height:95vh;border-radius:var(--ui-radius-md)}.ui-modal-backdrop{background:var(--ui-color-backdrop)}.ui-confirm-backdrop--stacked{background:#0000004d}@media (max-width: 768px){.ui-modal__header,.ui-modal__footer{padding-left:var(--ui-spacing-4);padding-right:var(--ui-spacing-4)}.ui-modal__body{padding:var(--ui-spacing-4)}}\n"] }]
138
+ }], propDecorators: { config: [{
139
+ type: Input
140
+ }], closed: [{
141
+ type: Output
142
+ }] } });
143
+
144
+ /** @internal Size-to-icon-pixel mapping for consistent icon sizing. */
145
+ const ICON_SIZE_MAP = {
146
+ xs: 14,
147
+ sm: 16,
148
+ md: 18,
149
+ lg: 20,
150
+ xl: 22,
151
+ };
152
+ /**
153
+ * Standalone button component with design-token-driven theming,
154
+ * variant/size system, Lucide icon support, loading states, and WCAG 2.1 AA accessibility.
155
+ *
156
+ * Uses native `<button>` click events — listen with `(click)` on the host element.
157
+ *
158
+ * @selector ui-button
159
+ *
160
+ * @example
161
+ * ```html
162
+ * <!-- Basic -->
163
+ * <ui-button label="Save" variant="primary" icon="save" (click)="save()" />
164
+ *
165
+ * <!-- Loading -->
166
+ * <ui-button label="Submitting..." variant="primary" [loading]="true" />
167
+ *
168
+ * <!-- Icon-only: tooltip o ariaLabel forniscono il nome accessibile -->
169
+ * <ui-button icon="trash-2" variant="warn" tooltip="Elimina" (click)="delete()" />
170
+ * ```
171
+ */
172
+ class UiButtonComponent {
173
+ constructor() {
174
+ /** Button label text. */
175
+ this.label = '';
176
+ /** Tooltip text shown on hover (uses Angular Material tooltip). */
177
+ this.tooltip = '';
178
+ /** Visual style variant. */
179
+ this.variant = 'primary';
180
+ /** Size variant. */
181
+ this.size = 'md';
182
+ /** Icon position relative to the label. */
183
+ this.iconPosition = 'trailing';
184
+ /** Whether the button is in a loading state. Disables interaction and shows spinner. */
185
+ this.loading = false;
186
+ /** Whether the button is disabled. */
187
+ this.disabled = false;
188
+ /** Expand button to full container width. */
189
+ this.fullWidth = false;
190
+ /** HTML button type attribute. */
191
+ this.type = 'button';
192
+ }
193
+ /**
194
+ * Nome accessibile risolto per il pulsante nativo.
195
+ * Usa `ariaLabel` se impostato; per pulsanti solo icona senza testo visibile
196
+ * ricade sul `tooltip` (il tooltip Material non sostituisce il nome accessibile).
197
+ */
198
+ get effectiveAriaLabel() {
199
+ const explicit = this.ariaLabel?.trim();
200
+ if (explicit)
201
+ return explicit;
202
+ if (this.label?.trim())
203
+ return undefined;
204
+ const tip = this.tooltip?.trim();
205
+ if (this.icon && tip)
206
+ return tip;
207
+ return undefined;
208
+ }
209
+ /** Computed icon pixel size based on button size. */
210
+ get iconSize() {
211
+ return ICON_SIZE_MAP[this.size] ?? 18;
212
+ }
213
+ /** Assembled CSS class string for the native button element. */
214
+ get buttonClasses() {
215
+ return [
216
+ 'ui-button',
217
+ `ui-button--${this.variant}`,
218
+ `ui-button--${this.size}`,
219
+ this.loading ? 'ui-button--loading' : '',
220
+ this.fullWidth ? 'ui-button--full-width' : '',
221
+ !this.label && this.icon ? 'ui-button--icon-only' : '',
222
+ this.customClass ?? '',
223
+ ]
224
+ .filter(Boolean)
225
+ .join(' ');
226
+ }
227
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
228
+ 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: `
229
+ <button
230
+ [type]="type"
231
+ [class]="buttonClasses"
232
+ [disabled]="disabled || loading"
233
+ [attr.aria-label]="effectiveAriaLabel || null"
234
+ [attr.aria-busy]="loading || null"
235
+ [matTooltip]="tooltip"
236
+ >
237
+ <span class="ui-button__content" [class.ui-button__content--hidden]="loading">
238
+ @if (icon && iconPosition === 'leading') {
239
+ <lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
240
+ }
241
+ @if (label) {
242
+ <span class="ui-button__label">{{ label }}</span>
243
+ }
244
+ <ng-content />
245
+ @if (icon && iconPosition === 'trailing') {
246
+ <lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
247
+ }
248
+ </span>
249
+ @if (loading) {
250
+ <span class="ui-button__spinner-overlay">
251
+ <span class="ui-button__spinner" aria-hidden="true"></span>
252
+ <span class="ui-button__sr-only">Loading</span>
253
+ </span>
254
+ }
255
+ </button>
256
+ `, 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$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
257
+ }
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiButtonComponent, decorators: [{
259
+ type: Component,
260
+ args: [{ selector: 'ui-button', standalone: true, imports: [MatTooltipModule, LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
261
+ class: 'ui-button-host',
262
+ '[class.ui-button-host--full-width]': 'fullWidth',
263
+ }, template: `
264
+ <button
265
+ [type]="type"
266
+ [class]="buttonClasses"
267
+ [disabled]="disabled || loading"
268
+ [attr.aria-label]="effectiveAriaLabel || null"
269
+ [attr.aria-busy]="loading || null"
270
+ [matTooltip]="tooltip"
271
+ >
272
+ <span class="ui-button__content" [class.ui-button__content--hidden]="loading">
273
+ @if (icon && iconPosition === 'leading') {
274
+ <lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
275
+ }
276
+ @if (label) {
277
+ <span class="ui-button__label">{{ label }}</span>
278
+ }
279
+ <ng-content />
280
+ @if (icon && iconPosition === 'trailing') {
281
+ <lucide-icon [name]="icon!" [size]="iconSize" aria-hidden="true" />
282
+ }
283
+ </span>
284
+ @if (loading) {
285
+ <span class="ui-button__spinner-overlay">
286
+ <span class="ui-button__spinner" aria-hidden="true"></span>
287
+ <span class="ui-button__sr-only">Loading</span>
288
+ </span>
289
+ }
290
+ </button>
291
+ `, 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"] }]
292
+ }], propDecorators: { label: [{
293
+ type: Input
294
+ }], tooltip: [{
295
+ type: Input
296
+ }], variant: [{
297
+ type: Input
298
+ }], size: [{
299
+ type: Input
300
+ }], icon: [{
301
+ type: Input
302
+ }], iconPosition: [{
303
+ type: Input
304
+ }], loading: [{
305
+ type: Input
306
+ }], disabled: [{
307
+ type: Input
308
+ }], fullWidth: [{
309
+ type: Input
310
+ }], type: [{
311
+ type: Input
312
+ }], ariaLabel: [{
313
+ type: Input
314
+ }], customClass: [{
315
+ type: Input
316
+ }] } });
317
+
318
+ /** @internal Mappatura variante -> icona Lucide di default. */
319
+ const VARIANT_ICON_MAP = {
320
+ confirm: 'check-circle',
321
+ delete: 'trash-2',
322
+ warn: 'alert-triangle',
323
+ info: 'info',
324
+ };
325
+ /** @internal Mappatura variante -> colore pulsante di conferma. */
326
+ const VARIANT_BUTTON_MAP = {
327
+ confirm: 'primary',
328
+ delete: 'warn',
329
+ warn: 'warn',
330
+ info: 'primary',
331
+ };
332
+ /**
333
+ * Dialogo di conferma leggero per azioni condizionali.
334
+ *
335
+ * Non va utilizzato direttamente nel template: viene aperto
336
+ * programmaticamente tramite `UiModalService.confirm()` e i suoi
337
+ * metodi scorciatoia (`confirmDelete`, `confirmDiscard`, `confirmSave`).
338
+ *
339
+ * Supporta quattro varianti semantiche — confirm, delete, warn, info —
340
+ * ciascuna con icona e colore preconfigurati.
341
+ *
342
+ * @selector ui-confirm-dialog
343
+ *
344
+ * @example
345
+ * ```typescript
346
+ * // Apertura tramite servizio
347
+ * this.modalService.confirm({
348
+ * title: 'Conferma eliminazione',
349
+ * message: 'Questa azione non puo essere annullata.',
350
+ * variant: 'delete',
351
+ * }).subscribe(confirmed => {
352
+ * if (confirmed) this.deleteItem();
353
+ * });
354
+ * ```
355
+ */
356
+ class UiConfirmDialogComponent {
357
+ constructor() {
358
+ /** @internal Dati iniettati dal servizio modale. */
359
+ this.data = inject(MAT_DIALOG_DATA);
360
+ /** @internal Riferimento al dialogo per la chiusura. */
361
+ this.dialogRef = inject(MatDialogRef);
362
+ }
363
+ /** Variante semantica corrente. */
364
+ get variant() {
365
+ return this.data.variant || 'confirm';
366
+ }
367
+ /** Nome icona Lucide da visualizzare. */
368
+ get iconName() {
369
+ return this.data.icon || VARIANT_ICON_MAP[this.variant];
370
+ }
371
+ /** Variante del pulsante di conferma. */
372
+ get confirmButtonVariant() {
373
+ return VARIANT_BUTTON_MAP[this.variant];
374
+ }
375
+ /** Classi CSS per il contenitore icona. */
376
+ get iconClasses() {
377
+ return `ui-confirm-dialog__icon ui-confirm-dialog__icon--${this.variant}`;
378
+ }
379
+ /** Conferma e chiude il dialogo con `true`. */
380
+ confirm() {
381
+ this.dialogRef.close(true);
382
+ }
383
+ /** Annulla e chiude il dialogo con `false`. */
384
+ cancel() {
385
+ this.dialogRef.close(false);
386
+ }
387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiConfirmDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
388
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: UiConfirmDialogComponent, isStandalone: true, selector: "ui-confirm-dialog", host: { attributes: { "role": "alertdialog", "aria-modal": "true" }, properties: { "attr.aria-labelledby": "\"ui-confirm-title\"", "attr.aria-describedby": "\"ui-confirm-message\"" }, classAttribute: "ui-confirm-dialog-host" }, ngImport: i0, template: `
389
+ <div class="ui-confirm-dialog">
390
+ <!-- Icona -->
391
+ <div [class]="iconClasses">
392
+ <lucide-icon [name]="iconName" [size]="32" aria-hidden="true" />
393
+ </div>
394
+
395
+ <!-- Contenuto -->
396
+ <div class="ui-confirm-dialog__content">
397
+ @if (data.title) {
398
+ <h3 class="ui-confirm-dialog__title" id="ui-confirm-title">{{ data.title }}</h3>
399
+ }
400
+ <p class="ui-confirm-dialog__message" id="ui-confirm-message">{{ data.message }}</p>
401
+ </div>
402
+
403
+ <!-- Azioni -->
404
+ <div class="ui-confirm-dialog__actions">
405
+ <ui-button
406
+ [label]="data.cancelText || 'Annulla'"
407
+ variant="ghost"
408
+ size="md"
409
+ (click)="cancel()"
410
+ />
411
+ <ui-button
412
+ [label]="data.confirmText || 'Conferma'"
413
+ [variant]="confirmButtonVariant"
414
+ size="md"
415
+ (click)="confirm()"
416
+ />
417
+ </div>
418
+ </div>
419
+ `, isInline: true, styles: [".ui-confirm-dialog-host{display:block}.ui-confirm-dialog{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--ui-spacing-8) var(--ui-spacing-6);background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg)}.ui-confirm-dialog__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--ui-radius-full);margin-bottom:var(--ui-spacing-4)}.ui-confirm-dialog__icon--confirm{background:var(--ui-color-primary-light);color:var(--ui-color-primary)}.ui-confirm-dialog__icon--delete{background:var(--ui-color-warn-light);color:var(--ui-color-warn)}.ui-confirm-dialog__icon--warn{background:var(--ui-color-warning-light);color:var(--ui-color-warning)}.ui-confirm-dialog__icon--info{background:var(--ui-color-info-light);color:var(--ui-color-info)}.ui-confirm-dialog__content{margin-bottom:var(--ui-spacing-6)}.ui-confirm-dialog__title{margin:0 0 var(--ui-spacing-2);font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight)}.ui-confirm-dialog__message{margin:0;font-size:var(--ui-font-size-sm);color:var(--ui-color-text-secondary);line-height:var(--ui-line-height-normal);max-width:340px}.ui-confirm-dialog__actions{display:flex;gap:var(--ui-spacing-2);width:100%;justify-content:center}.ui-confirm-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: transparent;--mdc-dialog-container-shape: var(--ui-radius-lg)}.ui-confirm-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:transparent!important;box-shadow:none!important;border-radius:var(--ui-radius-lg)!important;overflow:visible}@media (max-width: 480px){.ui-confirm-dialog{padding:var(--ui-spacing-6) var(--ui-spacing-4)}.ui-confirm-dialog__actions{flex-direction:column-reverse;gap:var(--ui-spacing-2)}.ui-confirm-dialog__actions .ui-button-host{width:100%}}.ui-modal-backdrop{background:var(--ui-color-backdrop)}.ui-confirm-backdrop--stacked{background:#0000004d}\n"], dependencies: [{ kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }, { kind: "component", type: UiButtonComponent, selector: "ui-button", inputs: ["label", "tooltip", "variant", "size", "icon", "iconPosition", "loading", "disabled", "fullWidth", "type", "ariaLabel", "customClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
420
+ }
421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiConfirmDialogComponent, decorators: [{
422
+ type: Component,
423
+ args: [{ selector: 'ui-confirm-dialog', standalone: true, imports: [LucideAngularModule, UiButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
424
+ class: 'ui-confirm-dialog-host',
425
+ role: 'alertdialog',
426
+ 'aria-modal': 'true',
427
+ '[attr.aria-labelledby]': '"ui-confirm-title"',
428
+ '[attr.aria-describedby]': '"ui-confirm-message"',
429
+ }, template: `
430
+ <div class="ui-confirm-dialog">
431
+ <!-- Icona -->
432
+ <div [class]="iconClasses">
433
+ <lucide-icon [name]="iconName" [size]="32" aria-hidden="true" />
434
+ </div>
435
+
436
+ <!-- Contenuto -->
437
+ <div class="ui-confirm-dialog__content">
438
+ @if (data.title) {
439
+ <h3 class="ui-confirm-dialog__title" id="ui-confirm-title">{{ data.title }}</h3>
440
+ }
441
+ <p class="ui-confirm-dialog__message" id="ui-confirm-message">{{ data.message }}</p>
442
+ </div>
443
+
444
+ <!-- Azioni -->
445
+ <div class="ui-confirm-dialog__actions">
446
+ <ui-button
447
+ [label]="data.cancelText || 'Annulla'"
448
+ variant="ghost"
449
+ size="md"
450
+ (click)="cancel()"
451
+ />
452
+ <ui-button
453
+ [label]="data.confirmText || 'Conferma'"
454
+ [variant]="confirmButtonVariant"
455
+ size="md"
456
+ (click)="confirm()"
457
+ />
458
+ </div>
459
+ </div>
460
+ `, styles: [".ui-confirm-dialog-host{display:block}.ui-confirm-dialog{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--ui-spacing-8) var(--ui-spacing-6);background:var(--ui-color-surface);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-lg)}.ui-confirm-dialog__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--ui-radius-full);margin-bottom:var(--ui-spacing-4)}.ui-confirm-dialog__icon--confirm{background:var(--ui-color-primary-light);color:var(--ui-color-primary)}.ui-confirm-dialog__icon--delete{background:var(--ui-color-warn-light);color:var(--ui-color-warn)}.ui-confirm-dialog__icon--warn{background:var(--ui-color-warning-light);color:var(--ui-color-warning)}.ui-confirm-dialog__icon--info{background:var(--ui-color-info-light);color:var(--ui-color-info)}.ui-confirm-dialog__content{margin-bottom:var(--ui-spacing-6)}.ui-confirm-dialog__title{margin:0 0 var(--ui-spacing-2);font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-semibold);color:var(--ui-color-text);line-height:var(--ui-line-height-tight)}.ui-confirm-dialog__message{margin:0;font-size:var(--ui-font-size-sm);color:var(--ui-color-text-secondary);line-height:var(--ui-line-height-normal);max-width:340px}.ui-confirm-dialog__actions{display:flex;gap:var(--ui-spacing-2);width:100%;justify-content:center}.ui-confirm-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: transparent;--mdc-dialog-container-shape: var(--ui-radius-lg)}.ui-confirm-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:transparent!important;box-shadow:none!important;border-radius:var(--ui-radius-lg)!important;overflow:visible}@media (max-width: 480px){.ui-confirm-dialog{padding:var(--ui-spacing-6) var(--ui-spacing-4)}.ui-confirm-dialog__actions{flex-direction:column-reverse;gap:var(--ui-spacing-2)}.ui-confirm-dialog__actions .ui-button-host{width:100%}}.ui-modal-backdrop{background:var(--ui-color-backdrop)}.ui-confirm-backdrop--stacked{background:#0000004d}\n"] }]
461
+ }] });
462
+
463
+ /** @internal Mappatura dimensione -> larghezza CSS per il pannello overlay. */
464
+ const SIZE_WIDTH_MAP = {
465
+ sm: '400px',
466
+ md: '560px',
467
+ lg: '720px',
468
+ xl: '900px',
469
+ fullscreen: '95vw',
470
+ };
471
+ /**
472
+ * Servizio per aprire modali e dialoghi di conferma.
473
+ *
474
+ * Gestisce lo stacking intelligente: una modale regolare puo
475
+ * ospitare al massimo un dialogo di conferma sopra di se.
476
+ * Non e possibile stackare due modali regolari.
477
+ *
478
+ * @usageNotes
479
+ *
480
+ * ### Aprire una modale personalizzata
481
+ * ```typescript
482
+ * const ref = this.modalService.open(MyDialogComponent, {
483
+ * size: 'lg',
484
+ * data: { userId: 123 },
485
+ * });
486
+ *
487
+ * ref.afterClosed().subscribe(result => {
488
+ * console.log('Risultato:', result);
489
+ * });
490
+ * ```
491
+ *
492
+ * ### Conferma rapida
493
+ * ```typescript
494
+ * this.modalService.confirm('Confermi questa azione?')
495
+ * .subscribe(ok => { if (ok) this.procedi(); });
496
+ * ```
497
+ *
498
+ * ### Preset di conferma
499
+ * ```typescript
500
+ * this.modalService.confirmDelete('Progetto Alpha')
501
+ * .subscribe(ok => { if (ok) this.elimina(); });
502
+ * ```
503
+ */
504
+ class UiModalService {
505
+ constructor() {
506
+ /** @internal Istanza MatDialog per la gestione overlay. */
507
+ this.dialog = inject(MatDialog);
508
+ /** @internal Stack delle modali regolari aperte. */
509
+ this._modalStack = [];
510
+ /** @internal Traccia se un dialogo di conferma e attualmente aperto. */
511
+ this._confirmOpen = false;
512
+ }
513
+ /**
514
+ * Apre una modale con un componente personalizzato.
515
+ *
516
+ * Il componente aperto puo iniettare `MAT_DIALOG_DATA` per accedere
517
+ * ai dati e `MatDialogRef` per chiudere la modale.
518
+ *
519
+ * @param component - Componente standalone da renderizzare nella modale
520
+ * @param config - Configurazione (dimensione, dati, comportamento)
521
+ * @returns Riferimento alla modale aperta
522
+ */
523
+ open(component, config) {
524
+ // Regola di stacking: non stackare due modali regolari
525
+ if (this._modalStack.length > 0) {
526
+ console.warn('[UiModalService] Una modale e gia aperta. ' +
527
+ 'Usa confirm() per aprire un dialogo di conferma sopra la modale corrente.');
528
+ }
529
+ const size = config?.size || 'md';
530
+ const dialogConfig = {
531
+ width: SIZE_WIDTH_MAP[size],
532
+ maxWidth: size === 'fullscreen' ? '95vw' : '90vw',
533
+ maxHeight: size === 'fullscreen' ? '95vh' : '90vh',
534
+ height: size === 'fullscreen' ? '95vh' : undefined,
535
+ disableClose: config?.disableClose ?? false,
536
+ autoFocus: true,
537
+ restoreFocus: true,
538
+ data: config?.data,
539
+ panelClass: ['ui-modal-panel', `ui-modal-panel--${size}`, ...(config?.panelClass ? [config.panelClass] : [])],
540
+ hasBackdrop: true,
541
+ backdropClass: ['cdk-overlay-dark-backdrop', 'ui-modal-backdrop'],
542
+ };
543
+ const ref = this.dialog.open(component, dialogConfig);
544
+ this._modalStack.push(ref);
545
+ ref.afterClosed().subscribe(() => {
546
+ this._modalStack = this._modalStack.filter((r) => r !== ref);
547
+ });
548
+ return ref;
549
+ }
550
+ /**
551
+ * Apre un dialogo di conferma.
552
+ *
553
+ * Accetta una stringa semplice (messaggio) o un oggetto di
554
+ * configurazione completo. Puo essere aperto sopra una modale
555
+ * esistente (stacking consentito).
556
+ *
557
+ * @param messageOrConfig - Messaggio o configurazione completa
558
+ * @returns Observable che emette `true` se confermato, `false` se annullato
559
+ */
560
+ confirm(messageOrConfig) {
561
+ const data = typeof messageOrConfig === 'string' ? { message: messageOrConfig } : messageOrConfig;
562
+ // Un solo dialogo di conferma alla volta
563
+ if (this._confirmOpen) {
564
+ console.warn('[UiModalService] Un dialogo di conferma e gia aperto.');
565
+ return new Observable((subscriber) => {
566
+ subscriber.next(false);
567
+ subscriber.complete();
568
+ });
569
+ }
570
+ this._confirmOpen = true;
571
+ const dialogConfig = {
572
+ width: '420px',
573
+ maxWidth: '90vw',
574
+ disableClose: false,
575
+ autoFocus: false,
576
+ restoreFocus: true,
577
+ data,
578
+ panelClass: ['ui-confirm-panel'],
579
+ hasBackdrop: true,
580
+ backdropClass: this._modalStack.length > 0
581
+ ? ['cdk-overlay-dark-backdrop', 'ui-confirm-backdrop--stacked']
582
+ : ['cdk-overlay-dark-backdrop', 'ui-modal-backdrop'],
583
+ };
584
+ const ref = this.dialog.open(UiConfirmDialogComponent, dialogConfig);
585
+ return ref.afterClosed().pipe(map((result) => {
586
+ this._confirmOpen = false;
587
+ return !!result;
588
+ }));
589
+ }
590
+ /**
591
+ * Scorciatoia: conferma eliminazione.
592
+ * Variante `delete` con icona cestino e pulsante warn.
593
+ *
594
+ * @param itemName - Nome opzionale dell'elemento da eliminare
595
+ */
596
+ confirmDelete(itemName) {
597
+ return this.confirm({
598
+ title: 'Conferma eliminazione',
599
+ message: itemName
600
+ ? `Sei sicuro di voler eliminare "${itemName}"? Questa azione non puo essere annullata.`
601
+ : 'Sei sicuro di voler eliminare questo elemento? Questa azione non puo essere annullata.',
602
+ confirmText: 'Elimina',
603
+ cancelText: 'Annulla',
604
+ variant: 'delete',
605
+ });
606
+ }
607
+ /**
608
+ * Scorciatoia: conferma abbandono modifiche.
609
+ * Variante `warn` con icona avviso.
610
+ */
611
+ confirmDiscard() {
612
+ return this.confirm({
613
+ title: 'Modifiche non salvate',
614
+ message: 'Ci sono modifiche non salvate. Sei sicuro di voler uscire senza salvare?',
615
+ confirmText: 'Esci senza salvare',
616
+ cancelText: 'Rimani',
617
+ variant: 'warn',
618
+ });
619
+ }
620
+ /**
621
+ * Scorciatoia: conferma salvataggio.
622
+ * Variante `confirm` con icona check.
623
+ */
624
+ confirmSave() {
625
+ return this.confirm({
626
+ title: 'Conferma salvataggio',
627
+ message: 'Sei sicuro di voler salvare le modifiche?',
628
+ confirmText: 'Salva',
629
+ cancelText: 'Annulla',
630
+ variant: 'confirm',
631
+ });
632
+ }
633
+ /** Chiude tutte le modali e dialoghi aperti. */
634
+ closeAll() {
635
+ this.dialog.closeAll();
636
+ this._modalStack = [];
637
+ this._confirmOpen = false;
638
+ }
639
+ /** Indica se ci sono modali o dialoghi attualmente aperti. */
640
+ get hasOpenDialogs() {
641
+ return this.dialog.openDialogs.length > 0;
642
+ }
643
+ /** Numero di modali regolari attualmente aperte. */
644
+ get openModalCount() {
645
+ return this._modalStack.length;
646
+ }
647
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
648
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiModalService, providedIn: 'root' }); }
649
+ }
650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: UiModalService, decorators: [{
651
+ type: Injectable,
652
+ args: [{ providedIn: 'root' }]
653
+ }] });
654
+
655
+ /**
656
+ * Bootstrap del secondary entry `@gnggln/ng-ui-system/modal`. Modal e Confirm Dialog.
657
+ */
658
+
659
+ /**
660
+ * Generated bundle index. Do not edit.
661
+ */
662
+
663
+ export { UiConfirmDialogComponent, UiModalComponent, UiModalService };
664
+ //# sourceMappingURL=gnggln-ng-ui-system-modal.mjs.map