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