@seniorsistemas/angular-components 18.1.2 → 19.0.0

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 (503) hide show
  1. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
  2. package/common/deprecated-selector/README.md +74 -0
  3. package/common/deprecated-selector/deprecated-selector.directive.d.ts +15 -0
  4. package/common/deprecated-selector/index.d.ts +5 -0
  5. package/common/deprecated-selector/public-api.d.ts +7 -0
  6. package/content-generator/index.d.ts +5 -0
  7. package/{text-area-ia/lib/text-area-ia/text-area-ia.component.d.ts → content-generator/lib/content-generator/content-generator.component.d.ts} +8 -4
  8. package/content-generator/lib/content-generator/content-generator.module.d.ts +16 -0
  9. package/content-generator/public-api.d.ts +2 -0
  10. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +9 -8
  11. package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +4 -3
  12. package/custom-fields/lib/custom-fields/models/custom-field-type.d.ts +33 -0
  13. package/custom-fields/lib/custom-fields/models/index.d.ts +1 -0
  14. package/custom-fields/public-api.d.ts +2 -1
  15. package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/field-label/field-label.component.d.ts +3 -3
  16. package/dynamic-form/dynamic-form/components/grid/row/row.component.d.ts +19 -0
  17. package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/lookup.component.d.ts +20 -35
  18. package/dynamic-form/dynamic-form/components/structure/base-structure-component.d.ts +10 -0
  19. package/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +12 -0
  20. package/dynamic-form/dynamic-form/components/structure/section/section.component.d.ts +14 -0
  21. package/dynamic-form/dynamic-form/configurations/registry.d.ts +8 -0
  22. package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +11 -0
  23. package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +46 -0
  24. package/dynamic-form/{lib/dynamic-form → dynamic-form}/configurations/structure/section.d.ts +9 -8
  25. package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +11 -0
  26. package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +30 -0
  27. package/dynamic-form/dynamic-form/dynamic-form.d.ts +35 -0
  28. package/dynamic-form/{lib/dynamic-form → dynamic-form}/dynamic-form.directive.d.ts +7 -13
  29. package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +10 -0
  30. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/addon-config.d.ts +2 -1
  31. package/dynamic-form/dynamic-form/form-field/configurations/field-size.d.ts +14 -0
  32. package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +21 -0
  33. package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +28 -0
  34. package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +28 -0
  35. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +21 -0
  36. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +12 -0
  37. package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +16 -0
  38. package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +32 -0
  39. package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +11 -0
  40. package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +18 -0
  41. package/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.d.ts +28 -0
  42. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/country-phone-picker-field.d.ts +6 -7
  43. package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +15 -0
  44. package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +16 -0
  45. package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +56 -0
  46. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/number-field.d.ts +9 -22
  47. package/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.d.ts +30 -0
  48. package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +24 -0
  49. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/radio-button-field.d.ts +7 -9
  50. package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +32 -0
  51. package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +24 -0
  52. package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +16 -0
  53. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +18 -0
  54. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +37 -0
  55. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/autocomplete/autocomplete-field.component.d.ts +9 -6
  56. package/dynamic-form/dynamic-form/form-field/fields/base-field-component.d.ts +7 -0
  57. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/bignumber/bignumber-field.component.d.ts +9 -8
  58. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/boolean/boolean-radio-field/boolean-field.component.d.ts +4 -4
  59. package/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +10 -0
  60. package/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +11 -0
  61. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/calendar/calendar-field.component.d.ts +10 -10
  62. package/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +10 -0
  63. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/chips/chips-field.component.d.ts +5 -5
  64. package/dynamic-form/dynamic-form/form-field/fields/content-generator/content-generator-field.component.d.ts +10 -0
  65. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +4 -4
  66. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/currency/currency-field.component.d.ts +10 -6
  67. package/dynamic-form/{lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.d.ts → dynamic-form/form-field/fields/file-picker/file-picker-field.component.d.ts} +7 -6
  68. package/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +18 -0
  69. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/number/number-field.component.d.ts +8 -9
  70. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/password/password-field.component.d.ts +8 -6
  71. package/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +10 -0
  72. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/radio-button/radio-button-field.component.d.ts +5 -5
  73. package/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.d.ts +12 -0
  74. package/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +23 -0
  75. package/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +11 -0
  76. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/text/text-field.component.d.ts +8 -8
  77. package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +18 -0
  78. package/dynamic-form/dynamic-form/services/form-field-utils.service.d.ts +15 -0
  79. package/dynamic-form/public-api.d.ts +35 -43
  80. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +3 -3
  81. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +8 -6
  82. package/esm2022/common/deprecated-selector/deprecated-selector.directive.mjs +28 -0
  83. package/esm2022/common/deprecated-selector/public-api.mjs +8 -0
  84. package/esm2022/common/deprecated-selector/seniorsistemas-angular-components-common-deprecated-selector.mjs +5 -0
  85. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +3 -3
  86. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +170 -0
  87. package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +54 -0
  88. package/esm2022/content-generator/lib/services/IAssist/iassist.service.mjs +77 -0
  89. package/esm2022/content-generator/lib/services/IAssist/models/iassist-input-data.mjs +3 -0
  90. package/esm2022/content-generator/lib/services/IAssist/models/iassist-response.mjs +3 -0
  91. package/esm2022/content-generator/public-api.mjs +3 -0
  92. package/esm2022/content-generator/seniorsistemas-angular-components-content-generator.mjs +5 -0
  93. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +2 -2
  94. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +68 -69
  95. package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +5 -5
  96. package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +26 -1
  97. package/esm2022/custom-fields/lib/custom-fields/models/index.mjs +2 -0
  98. package/esm2022/custom-fields/public-api.mjs +3 -2
  99. package/esm2022/dynamic-form/dynamic-form/components/field-label/field-label.component.mjs +21 -0
  100. package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +41 -0
  101. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +689 -0
  102. package/esm2022/dynamic-form/dynamic-form/components/lookup/types/default-filter.mjs +2 -0
  103. package/esm2022/dynamic-form/dynamic-form/components/lookup/types/label-options.mjs +2 -0
  104. package/esm2022/dynamic-form/dynamic-form/components/structure/base-structure-component.mjs +2 -0
  105. package/esm2022/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.mjs +18 -0
  106. package/esm2022/dynamic-form/dynamic-form/components/structure/section/section.component.mjs +23 -0
  107. package/esm2022/dynamic-form/dynamic-form/configurations/registry.mjs +12 -0
  108. package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +2 -0
  109. package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +2 -0
  110. package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +2 -0
  111. package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +2 -0
  112. package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +48 -0
  113. package/esm2022/dynamic-form/dynamic-form/dynamic-form.directive.mjs +76 -0
  114. package/esm2022/dynamic-form/dynamic-form/dynamic-form.mjs +77 -0
  115. package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +20 -0
  116. package/esm2022/dynamic-form/dynamic-form/form-field/addon-config.mjs +2 -0
  117. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/field-size.mjs +34 -0
  118. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +2 -0
  119. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +2 -0
  120. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +2 -0
  121. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +2 -0
  122. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +2 -0
  123. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +2 -0
  124. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +2 -0
  125. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +2 -0
  126. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +2 -0
  127. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/content-generator-field.mjs +2 -0
  128. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +2 -0
  129. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +2 -0
  130. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +3 -0
  131. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +2 -0
  132. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +2 -0
  133. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +2 -0
  134. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +2 -0
  135. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +9 -0
  136. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +2 -0
  137. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +2 -0
  138. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +2 -0
  139. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +2 -0
  140. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +2 -0
  141. package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +42 -0
  142. package/esm2022/dynamic-form/dynamic-form/form-field/fields/base-field-component.mjs +2 -0
  143. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +135 -0
  144. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +22 -0
  145. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +20 -0
  146. package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +28 -0
  147. package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +135 -0
  148. package/esm2022/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +17 -0
  149. package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +55 -0
  150. package/esm2022/dynamic-form/dynamic-form/form-field/fields/content-generator/content-generator-field.component.mjs +18 -0
  151. package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +25 -0
  152. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +100 -0
  153. package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-picker/file-picker-field.component.mjs +47 -0
  154. package/esm2022/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +41 -0
  155. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +129 -0
  156. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +85 -0
  157. package/esm2022/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +18 -0
  158. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +57 -0
  159. package/esm2022/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.mjs +20 -0
  160. package/esm2022/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.mjs +115 -0
  161. package/esm2022/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +22 -0
  162. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +93 -0
  163. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +36 -0
  164. package/esm2022/dynamic-form/dynamic-form/services/form-field-utils.service.mjs +39 -0
  165. package/esm2022/dynamic-form/public-api.mjs +62 -44
  166. package/esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs +1 -1
  167. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +318 -0
  168. package/esm2022/{file-upload/lib/file-upload/file-upload.module.mjs → file-picker/lib/file-picker/file-picker.module.mjs} +11 -11
  169. package/esm2022/{file-upload/lib/file-upload/file-upload.service.mjs → file-picker/lib/file-picker/file-picker.service.mjs} +5 -5
  170. package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/file-dto.mjs +1 -1
  171. package/esm2022/{file-upload/lib/file-upload/models/file-upload-permissions.mjs → file-picker/lib/file-picker/models/file-picker-permissions.mjs} +1 -1
  172. package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/list-blob-metadata.mjs +1 -1
  173. package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/uploadError.mjs +1 -1
  174. package/esm2022/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/validate-errors.mjs +1 -1
  175. package/esm2022/file-picker/public-api.mjs +4 -0
  176. package/esm2022/{slide-panel/seniorsistemas-angular-components-slide-panel.mjs → file-picker/seniorsistemas-angular-components-file-picker.mjs} +1 -1
  177. package/esm2022/file-upload/public-api.mjs +14 -3
  178. package/esm2022/ia-insight/public-api.mjs +23 -4
  179. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.mjs +32 -0
  180. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +3 -5
  181. package/esm2022/inline-edit/lib/inline-edit/components/index.mjs +2 -2
  182. package/esm2022/inline-edit/lib/inline-edit/fields/index.mjs +2 -2
  183. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-content-generator-field.mjs +7 -0
  184. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +4 -4
  185. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +8 -8
  186. package/esm2022/inline-edit/public-api.mjs +2 -2
  187. package/esm2022/insights/lib/insights/components/insights-card/components/index.mjs +2 -0
  188. package/esm2022/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.mjs +13 -0
  189. package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +94 -0
  190. package/esm2022/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.mjs +59 -0
  191. package/esm2022/insights/lib/insights/insights.component.mjs +89 -0
  192. package/esm2022/insights/lib/insights/insights.module.mjs +47 -0
  193. package/esm2022/insights/lib/insights/models/index.mjs +2 -0
  194. package/esm2022/insights/lib/insights/models/insights-item.mjs +2 -0
  195. package/esm2022/insights/lib/insights/models/insights-template-types.mjs +2 -0
  196. package/esm2022/insights/public-api.mjs +4 -0
  197. package/esm2022/insights/seniorsistemas-angular-components-insights.mjs +5 -0
  198. package/esm2022/optional-fields/editor/editor-field/editor-field.component.mjs +18 -0
  199. package/esm2022/optional-fields/editor/editor-field.mjs +17 -0
  200. package/esm2022/optional-fields/editor/public-api.mjs +2 -0
  201. package/esm2022/optional-fields/editor/seniorsistemas-angular-components-optional-fields-editor.mjs +5 -0
  202. package/esm2022/product-header/public-api.mjs +23 -3
  203. package/esm2022/select/lib/select/select.component.mjs +3 -3
  204. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +158 -0
  205. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +20 -0
  206. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.service.mjs +26 -0
  207. package/esm2022/slide-in-bar/public-api.mjs +4 -0
  208. package/esm2022/slide-in-bar/seniorsistemas-angular-components-slide-in-bar.mjs +5 -0
  209. package/esm2022/stepper/lib/stepper/models/index.mjs +2 -0
  210. package/esm2022/stepper/lib/stepper/models/step-selection-event.mjs +2 -0
  211. package/esm2022/stepper/lib/stepper/models/step-state.mjs +7 -0
  212. package/esm2022/stepper/lib/stepper/models/step.mjs +2 -0
  213. package/esm2022/stepper/lib/stepper/stepper.component.mjs +138 -0
  214. package/esm2022/stepper/lib/stepper/stepper.module.mjs +19 -0
  215. package/esm2022/stepper/public-api.mjs +4 -0
  216. package/esm2022/stepper/seniorsistemas-angular-components-stepper.mjs +5 -0
  217. package/esm2022/table/lib/table/table-column/models/dynamic-editable-grid.interface.mjs +1 -1
  218. package/esm2022/text-area-ia/public-api.mjs +23 -3
  219. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +3 -3
  220. package/esm2022/topbar/lib/topbar/topbar.component.mjs +65 -0
  221. package/esm2022/topbar/lib/topbar/topbar.module.mjs +20 -0
  222. package/esm2022/topbar/public-api.mjs +3 -0
  223. package/esm2022/topbar/seniorsistemas-angular-components-topbar.mjs +5 -0
  224. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +2 -2
  225. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  226. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +7 -5
  227. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  228. package/fesm2022/seniorsistemas-angular-components-common-deprecated-selector.mjs +42 -0
  229. package/fesm2022/seniorsistemas-angular-components-common-deprecated-selector.mjs.map +1 -0
  230. package/fesm2022/seniorsistemas-angular-components-common.mjs +2 -2
  231. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  232. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +299 -0
  233. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -0
  234. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +1 -1
  235. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  236. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +95 -71
  237. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  238. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +882 -2554
  239. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  240. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +361 -0
  241. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -0
  242. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs +14 -330
  243. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs.map +1 -1
  244. package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs +23 -260
  245. package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs.map +1 -1
  246. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +20 -21
  247. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  248. package/fesm2022/seniorsistemas-angular-components-insights.mjs +287 -0
  249. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -0
  250. package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs +39 -0
  251. package/fesm2022/seniorsistemas-angular-components-optional-fields-editor.mjs.map +1 -0
  252. package/fesm2022/seniorsistemas-angular-components-product-header.mjs +23 -61
  253. package/fesm2022/seniorsistemas-angular-components-product-header.mjs.map +1 -1
  254. package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
  255. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  256. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +202 -0
  257. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -0
  258. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +166 -0
  259. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -0
  260. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs +23 -268
  261. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs.map +1 -1
  262. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +2 -2
  263. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  264. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +88 -0
  265. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -0
  266. package/{slide-panel → file-picker}/index.d.ts +1 -1
  267. package/file-picker/lib/file-picker/file-picker.component.d.ts +81 -0
  268. package/{file-upload/lib/file-upload/file-upload.module.d.ts → file-picker/lib/file-picker/file-picker.module.d.ts} +5 -5
  269. package/{file-upload/lib/file-upload/file-upload.service.d.ts → file-picker/lib/file-picker/file-picker.service.d.ts} +3 -3
  270. package/file-picker/lib/file-picker/models/file-picker-permissions.d.ts +2 -0
  271. package/file-picker/public-api.d.ts +7 -0
  272. package/file-upload/README.md +45 -0
  273. package/file-upload/public-api.d.ts +25 -6
  274. package/ia-insight/public-api.d.ts +32 -3
  275. package/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.d.ts +13 -0
  276. package/inline-edit/lib/inline-edit/components/index.d.ts +1 -1
  277. package/inline-edit/lib/inline-edit/fields/index.d.ts +2 -2
  278. package/inline-edit/lib/inline-edit/fields/inline-edit-content-generator-field.d.ts +6 -0
  279. package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +3 -3
  280. package/inline-edit/public-api.d.ts +2 -2
  281. package/insights/index.d.ts +5 -0
  282. package/insights/lib/insights/components/insights-card/components/index.d.ts +1 -0
  283. package/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.d.ts +5 -0
  284. package/{ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.d.ts → insights/lib/insights/components/insights-card/insights-card.component.d.ts} +5 -5
  285. package/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.d.ts +21 -0
  286. package/insights/lib/insights/insights.component.d.ts +30 -0
  287. package/insights/lib/insights/insights.module.d.ts +17 -0
  288. package/insights/lib/insights/models/index.d.ts +2 -0
  289. package/{ia-insight/lib/ia-insight/models/ia-insight-item.d.ts → insights/lib/insights/models/insights-item.d.ts} +1 -1
  290. package/insights/lib/insights/models/insights-template-types.d.ts +1 -0
  291. package/insights/public-api.d.ts +3 -0
  292. package/optional-fields/editor/editor-field/editor-field.component.d.ts +10 -0
  293. package/optional-fields/editor/editor-field.d.ts +17 -0
  294. package/optional-fields/editor/index.d.ts +5 -0
  295. package/optional-fields/editor/public-api.d.ts +1 -0
  296. package/package.json +62 -25
  297. package/product-header/public-api.d.ts +21 -2
  298. package/slide-in-bar/index.d.ts +5 -0
  299. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +33 -0
  300. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +8 -0
  301. package/{slide-panel/lib/slide-panel/slide-panel.service.d.ts → slide-in-bar/lib/slide-in-bar/slide-in-bar.service.d.ts} +3 -3
  302. package/slide-in-bar/public-api.d.ts +3 -0
  303. package/stepper/index.d.ts +5 -0
  304. package/stepper/lib/stepper/models/index.d.ts +3 -0
  305. package/stepper/lib/stepper/models/step-selection-event.d.ts +6 -0
  306. package/stepper/lib/stepper/models/step-state.d.ts +5 -0
  307. package/stepper/lib/stepper/models/step.d.ts +11 -0
  308. package/stepper/lib/stepper/stepper.component.d.ts +20 -0
  309. package/stepper/lib/stepper/stepper.module.d.ts +9 -0
  310. package/stepper/public-api.d.ts +3 -0
  311. package/styles.css +9 -1
  312. package/table/lib/table/table-column/models/dynamic-editable-grid.interface.d.ts +2 -2
  313. package/text-area-ia/public-api.d.ts +21 -2
  314. package/{steps → topbar}/index.d.ts +1 -1
  315. package/topbar/lib/topbar/topbar.component.d.ts +16 -0
  316. package/topbar/lib/topbar/topbar.module.d.ts +10 -0
  317. package/topbar/public-api.d.ts +2 -0
  318. package/dynamic-form/lib/dynamic-form/components/grid/row/row.component.d.ts +0 -15
  319. package/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.d.ts +0 -8
  320. package/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +0 -12
  321. package/dynamic-form/lib/dynamic-form/components/structure/section/section.component.d.ts +0 -14
  322. package/dynamic-form/lib/dynamic-form/configurations/dynamic-config.d.ts +0 -3
  323. package/dynamic-form/lib/dynamic-form/configurations/dynamic-type.d.ts +0 -24
  324. package/dynamic-form/lib/dynamic-form/configurations/grid/grid.d.ts +0 -14
  325. package/dynamic-form/lib/dynamic-form/configurations/grid/row.d.ts +0 -8
  326. package/dynamic-form/lib/dynamic-form/configurations/grid-type.d.ts +0 -3
  327. package/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.d.ts +0 -10
  328. package/dynamic-form/lib/dynamic-form/configurations/structure/structure.d.ts +0 -14
  329. package/dynamic-form/lib/dynamic-form/configurations/structure-type.d.ts +0 -4
  330. package/dynamic-form/lib/dynamic-form/dynamic-form.component.d.ts +0 -19
  331. package/dynamic-form/lib/dynamic-form/dynamic-form.d.ts +0 -57
  332. package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +0 -83
  333. package/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.d.ts +0 -7
  334. package/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.d.ts +0 -32
  335. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +0 -30
  336. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +0 -38
  337. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.d.ts +0 -43
  338. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +0 -29
  339. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +0 -11
  340. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.d.ts +0 -34
  341. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +0 -45
  342. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +0 -9
  343. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.d.ts +0 -24
  344. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.d.ts +0 -9
  345. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.d.ts +0 -14
  346. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.d.ts +0 -18
  347. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.d.ts +0 -96
  348. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +0 -97
  349. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.d.ts +0 -45
  350. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +0 -35
  351. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.d.ts +0 -41
  352. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.d.ts +0 -32
  353. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +0 -17
  354. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +0 -24
  355. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +0 -26
  356. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.d.ts +0 -41
  357. package/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.d.ts +0 -32
  358. package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +0 -10
  359. package/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +0 -10
  360. package/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +0 -10
  361. package/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.d.ts +0 -10
  362. package/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +0 -9
  363. package/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +0 -9
  364. package/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.d.ts +0 -10
  365. package/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +0 -25
  366. package/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +0 -10
  367. package/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +0 -14
  368. package/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +0 -9
  369. package/dynamic-form/lib/dynamic-form/form-field/form-field.d.ts +0 -192
  370. package/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.d.ts +0 -12
  371. package/esm2022/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.mjs +0 -20
  372. package/esm2022/dynamic-form/lib/dynamic-form/components/grid/row/row.component.mjs +0 -41
  373. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.mjs +0 -643
  374. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.mjs +0 -2
  375. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.mjs +0 -2
  376. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.mjs +0 -2
  377. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.mjs +0 -27
  378. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/section/section.component.mjs +0 -33
  379. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-config.mjs +0 -71
  380. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-type.mjs +0 -26
  381. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/grid.mjs +0 -14
  382. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/row.mjs +0 -10
  383. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid-type.mjs +0 -5
  384. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.mjs +0 -10
  385. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/section.mjs +0 -31
  386. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/structure.mjs +0 -9
  387. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure-type.mjs +0 -6
  388. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.component.mjs +0 -41
  389. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.directive.mjs +0 -107
  390. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.mjs +0 -189
  391. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.module.mjs +0 -293
  392. package/esm2022/dynamic-form/lib/dynamic-form/form-field/addon-config.mjs +0 -2
  393. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.mjs +0 -13
  394. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.mjs +0 -34
  395. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +0 -24
  396. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +0 -37
  397. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.mjs +0 -31
  398. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.mjs +0 -30
  399. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +0 -15
  400. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.mjs +0 -47
  401. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.mjs +0 -56
  402. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +0 -9
  403. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.mjs +0 -25
  404. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +0 -15
  405. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.mjs +0 -14
  406. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.mjs +0 -16
  407. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.mjs +0 -15
  408. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.mjs +0 -64
  409. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.mjs +0 -66
  410. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.mjs +0 -38
  411. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.mjs +0 -33
  412. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.mjs +0 -35
  413. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +0 -27
  414. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.mjs +0 -43
  415. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.mjs +0 -30
  416. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +0 -17
  417. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.mjs +0 -30
  418. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +0 -32
  419. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.mjs +0 -38
  420. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +0 -37
  421. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.mjs +0 -22
  422. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +0 -124
  423. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +0 -27
  424. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +0 -23
  425. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.mjs +0 -31
  426. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +0 -118
  427. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +0 -21
  428. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.mjs +0 -59
  429. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +0 -29
  430. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.mjs +0 -100
  431. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.mjs +0 -23
  432. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +0 -56
  433. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +0 -23
  434. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs +0 -121
  435. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.mjs +0 -75
  436. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +0 -22
  437. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +0 -52
  438. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs +0 -24
  439. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs +0 -103
  440. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +0 -25
  441. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.mjs +0 -88
  442. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +0 -29
  443. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +0 -22
  444. package/esm2022/dynamic-form/lib/dynamic-form/form-field/form-field.mjs +0 -243
  445. package/esm2022/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.mjs +0 -150
  446. package/esm2022/file-upload/lib/file-upload/file-upload.component.mjs +0 -293
  447. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.mjs +0 -13
  448. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.mjs +0 -94
  449. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.mjs +0 -59
  450. package/esm2022/ia-insight/lib/ia-insight/ia-insight.component.mjs +0 -68
  451. package/esm2022/ia-insight/lib/ia-insight/ia-insight.module.mjs +0 -47
  452. package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-item.mjs +0 -2
  453. package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-template-types.mjs +0 -2
  454. package/esm2022/ia-insight/lib/ia-insight/models/index.mjs +0 -2
  455. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.mjs +0 -32
  456. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.mjs +0 -7
  457. package/esm2022/product-header/lib/product-header/product-header.component.mjs +0 -44
  458. package/esm2022/product-header/lib/product-header/product-header.module.mjs +0 -20
  459. package/esm2022/slide-panel/lib/slide-panel/slide-panel.component.mjs +0 -137
  460. package/esm2022/slide-panel/lib/slide-panel/slide-panel.module.mjs +0 -20
  461. package/esm2022/slide-panel/lib/slide-panel/slide-panel.service.mjs +0 -26
  462. package/esm2022/slide-panel/public-api.mjs +0 -4
  463. package/esm2022/steps/lib/steps/steps.component.mjs +0 -122
  464. package/esm2022/steps/lib/steps/steps.module.mjs +0 -19
  465. package/esm2022/steps/public-api.mjs +0 -3
  466. package/esm2022/steps/seniorsistemas-angular-components-steps.mjs +0 -5
  467. package/esm2022/text-area-ia/lib/services/IAssist/iassist.service.mjs +0 -77
  468. package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-input-data.mjs +0 -3
  469. package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-response.mjs +0 -3
  470. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.component.mjs +0 -150
  471. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.module.mjs +0 -50
  472. package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs +0 -182
  473. package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs.map +0 -1
  474. package/fesm2022/seniorsistemas-angular-components-steps.mjs +0 -145
  475. package/fesm2022/seniorsistemas-angular-components-steps.mjs.map +0 -1
  476. package/file-upload/lib/file-upload/file-upload.component.d.ts +0 -80
  477. package/file-upload/lib/file-upload/models/file-upload-permissions.d.ts +0 -2
  478. package/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.d.ts +0 -5
  479. package/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.d.ts +0 -21
  480. package/ia-insight/lib/ia-insight/ia-insight.component.d.ts +0 -29
  481. package/ia-insight/lib/ia-insight/ia-insight.module.d.ts +0 -17
  482. package/ia-insight/lib/ia-insight/models/ia-insight-template-types.d.ts +0 -1
  483. package/ia-insight/lib/ia-insight/models/index.d.ts +0 -2
  484. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.d.ts +0 -13
  485. package/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.d.ts +0 -6
  486. package/product-header/lib/product-header/product-header.component.d.ts +0 -15
  487. package/product-header/lib/product-header/product-header.module.d.ts +0 -10
  488. package/slide-panel/lib/slide-panel/slide-panel.component.d.ts +0 -32
  489. package/slide-panel/lib/slide-panel/slide-panel.module.d.ts +0 -8
  490. package/slide-panel/public-api.d.ts +0 -3
  491. package/steps/lib/steps/steps.component.d.ts +0 -36
  492. package/steps/lib/steps/steps.module.d.ts +0 -9
  493. package/steps/public-api.d.ts +0 -2
  494. package/text-area-ia/lib/text-area-ia/text-area-ia.module.d.ts +0 -15
  495. /package/{text-area-ia → content-generator}/lib/services/IAssist/iassist.service.d.ts +0 -0
  496. /package/{text-area-ia → content-generator}/lib/services/IAssist/models/iassist-input-data.d.ts +0 -0
  497. /package/{text-area-ia → content-generator}/lib/services/IAssist/models/iassist-response.d.ts +0 -0
  498. /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/default-filter.d.ts +0 -0
  499. /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/label-options.d.ts +0 -0
  500. /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/file-dto.d.ts +0 -0
  501. /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/list-blob-metadata.d.ts +0 -0
  502. /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/uploadError.d.ts +0 -0
  503. /package/{file-upload/lib/file-upload → file-picker/lib/file-picker}/models/validate-errors.d.ts +0 -0
@@ -0,0 +1,135 @@
1
+ import { Component, inject, input, ViewChild } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
4
+ import { PrimeNG } from 'primeng/config';
5
+ import { DatePickerModule } from 'primeng/datepicker';
6
+ import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
7
+ import { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';
8
+ import { isNullOrUndefined } from '@seniorsistemas/angular-components/utils';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/forms";
11
+ import * as i2 from "primeng/datepicker";
12
+ import * as i3 from "@ngx-translate/core";
13
+ export class CalendarFieldComponent {
14
+ changeDetectorRef;
15
+ field = input.required();
16
+ formControl = input.required();
17
+ translateService = inject(TranslateService);
18
+ locale = {
19
+ firstDayOfWeek: 0,
20
+ dayNames: [
21
+ this.translateService.instant('platform.angular_components.sunday'),
22
+ this.translateService.instant('platform.angular_components.monday'),
23
+ this.translateService.instant('platform.angular_components.tuesday'),
24
+ this.translateService.instant('platform.angular_components.wednesday'),
25
+ this.translateService.instant('platform.angular_components.thursday'),
26
+ this.translateService.instant('platform.angular_components.friday'),
27
+ this.translateService.instant('platform.angular_components.saturday'),
28
+ ],
29
+ dayNamesShort: [
30
+ this.translateService.instant('platform.angular_components.sunday_short'),
31
+ this.translateService.instant('platform.angular_components.monday_short'),
32
+ this.translateService.instant('platform.angular_components.tuesday_short'),
33
+ this.translateService.instant('platform.angular_components.wednesday_short'),
34
+ this.translateService.instant('platform.angular_components.thursday_short'),
35
+ this.translateService.instant('platform.angular_components.friday_short'),
36
+ this.translateService.instant('platform.angular_components.saturday_short'),
37
+ ],
38
+ dayNamesMin: [
39
+ this.translateService.instant('platform.angular_components.sunday_min'),
40
+ this.translateService.instant('platform.angular_components.monday_min'),
41
+ this.translateService.instant('platform.angular_components.tuesday_min'),
42
+ this.translateService.instant('platform.angular_components.wednesday_min'),
43
+ this.translateService.instant('platform.angular_components.thursday_min'),
44
+ this.translateService.instant('platform.angular_components.friday_min'),
45
+ this.translateService.instant('platform.angular_components.saturday_min'),
46
+ ],
47
+ monthNames: [
48
+ this.translateService.instant('platform.angular_components.january'),
49
+ this.translateService.instant('platform.angular_components.february'),
50
+ this.translateService.instant('platform.angular_components.march'),
51
+ this.translateService.instant('platform.angular_components.april'),
52
+ this.translateService.instant('platform.angular_components.may'),
53
+ this.translateService.instant('platform.angular_components.june'),
54
+ this.translateService.instant('platform.angular_components.july'),
55
+ this.translateService.instant('platform.angular_components.august'),
56
+ this.translateService.instant('platform.angular_components.september'),
57
+ this.translateService.instant('platform.angular_components.october'),
58
+ this.translateService.instant('platform.angular_components.november'),
59
+ this.translateService.instant('platform.angular_components.december'),
60
+ ],
61
+ monthNamesShort: [
62
+ this.translateService.instant('platform.angular_components.january_short'),
63
+ this.translateService.instant('platform.angular_components.february_short'),
64
+ this.translateService.instant('platform.angular_components.march_short'),
65
+ this.translateService.instant('platform.angular_components.april_short'),
66
+ this.translateService.instant('platform.angular_components.may_short'),
67
+ this.translateService.instant('platform.angular_components.june_short'),
68
+ this.translateService.instant('platform.angular_components.july_short'),
69
+ this.translateService.instant('platform.angular_components.august_short'),
70
+ this.translateService.instant('platform.angular_components.september_short'),
71
+ this.translateService.instant('platform.angular_components.october_short'),
72
+ this.translateService.instant('platform.angular_components.november_short'),
73
+ this.translateService.instant('platform.angular_components.december_short'),
74
+ ],
75
+ today: this.translateService.instant('platform.angular_components.today'),
76
+ clear: this.translateService.instant('platform.angular_components.clear'),
77
+ dateFormat: this.translateService.instant('platform.angular_components.date_format'),
78
+ hourFormat: this.translateService.instant('platform.angular_components.hour_format'),
79
+ };
80
+ primengConfig = inject(PrimeNG);
81
+ constructor(changeDetectorRef) {
82
+ this.changeDetectorRef = changeDetectorRef;
83
+ }
84
+ ngOnInit() {
85
+ const field = this.field();
86
+ if (isNullOrUndefined(field.selectionMode)) {
87
+ field.selectionMode = 'single';
88
+ }
89
+ if (isNullOrUndefined(field.rangeSeparator)) {
90
+ field.rangeSeparator = '-';
91
+ }
92
+ if (isNullOrUndefined(field.view)) {
93
+ field.view = 'date';
94
+ }
95
+ if (isNullOrUndefined(field.showSeconds)) {
96
+ switch (field.type) {
97
+ case 'dateTime':
98
+ case 'localDateTime':
99
+ case 'time':
100
+ field.showSeconds = true;
101
+ break;
102
+ }
103
+ }
104
+ const _locale = field.calendarLocaleOptions || this.locale;
105
+ this.primengConfig.setTranslation({
106
+ ..._locale,
107
+ });
108
+ }
109
+ calendar = null;
110
+ inputRef;
111
+ ngAfterViewInit() {
112
+ this.setInputRef();
113
+ this.changeDetectorRef.detectChanges();
114
+ }
115
+ setInputRef() {
116
+ this.inputRef = this.calendar?.inputfieldViewChild?.nativeElement;
117
+ }
118
+ get timeOnly() {
119
+ return this.field()?.type === 'time';
120
+ }
121
+ get showTime() {
122
+ const type = this.field()?.type;
123
+ return type === 'localDateTime' || type === 'dateTime' || type === 'time';
124
+ }
125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
126
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CalendarFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n >\n </s-field-label>\n}\n\n@if (_field) {\n <div [sTooltip]=\"_field.tooltip\">\n <!-- A diretiva sCalendarMask n\u00E3o est\u00E1 suportando sele\u00E7\u00E3o m\u00FAltipla. A forma como ela foi escrita n\u00E3o permite identificar a quantidade de datas\n que est\u00E3o sendo selecionadas. Removi o uso dela quando est\u00E1 com selectionMode=multiple. Analisar a remove\u00E7\u00E3o completa desta diretiva. -->\n @if (_field.selectionMode !== 'multiple') {\n <p-datepicker\n #calendar\n sCalendarMask\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"_field.selectionMode\"\n [rangeSeparator]=\"_field.rangeSeparator ? _field.rangeSeparator : calendar.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"_field.showSeconds\"\n [showOnFocus]=\"_field.showOnFocus\"\n [formControl]=\"formControl()\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"_field.minDate\"\n [maxDate]=\"_field.maxDate\"\n [defaultDate]=\"_field.defaultDate ? _field.defaultDate : calendar.defaultDate\"\n [dateFormat]=\"\n _field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\n \"\n [hourFormat]=\"\n _field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\n \"\n [view]=\"_field.view ? _field.view : calendar.view\"\n [placeholder]=\"_field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"_field.appendTo\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onSelect)=\"_field.onSelect ? _field.onSelect($event) : null\"\n (onClose)=\"_field.onClose ? _field.onClose($event) : null\"\n (onTodayClick)=\"_field.onTodayClick ? _field.onTodayClick($event) : null\"\n (onClearClick)=\"_field.onClearClick ? _field.onClearClick($event) : null\"\n (onMonthChange)=\"_field.onMonthChange ? _field.onMonthChange($event) : null\"\n (onYearChange)=\"_field.onYearChange ? _field.onYearChange($event) : null\"\n >\n </p-datepicker>\n } @else {\n <!-- A \u00FAnica diferen\u00E7a deste bloco \u00E9 a remo\u00E7\u00E3o da diretiva sCalendarMask. -->\n <p-datepicker\n #calendar\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"_field.selectionMode\"\n [rangeSeparator]=\"_field.rangeSeparator ? _field.rangeSeparator : calendar.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"_field.showSeconds\"\n [showOnFocus]=\"_field.showOnFocus\"\n [formControl]=\"formControl()\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"_field.minDate\"\n [maxDate]=\"_field.maxDate\"\n [defaultDate]=\"_field.defaultDate ? _field.defaultDate : calendar.defaultDate\"\n [dateFormat]=\"\n _field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\n \"\n [hourFormat]=\"\n _field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\n \"\n [view]=\"_field.view ? _field.view : calendar.view\"\n [placeholder]=\"_field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"_field.appendTo\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onSelect)=\"_field.onSelect ? _field.onSelect($event) : null\"\n (onClose)=\"_field.onClose ? _field.onClose($event) : null\"\n (onTodayClick)=\"_field.onTodayClick ? _field.onTodayClick($event) : null\"\n (onClearClick)=\"_field.onClearClick ? _field.onClearClick($event) : null\"\n (onMonthChange)=\"_field.onMonthChange ? _field.onMonthChange($event) : null\"\n (onYearChange)=\"_field.onYearChange ? _field.onYearChange($event) : null\"\n [showTransitionOptions]=\"'0ms'\"\n [hideTransitionOptions]=\"'0ms'\"\n >\n </p-datepicker>\n }\n </div>\n}\n\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DatePickerModule }, { kind: "component", type: i2.DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
127
+ }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CalendarFieldComponent, decorators: [{
129
+ type: Component,
130
+ args: [{ standalone: true, imports: [FieldLabelComponent, ReactiveFormsModule, DatePickerModule, TooltipDirective, TranslateModule], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n >\n </s-field-label>\n}\n\n@if (_field) {\n <div [sTooltip]=\"_field.tooltip\">\n <!-- A diretiva sCalendarMask n\u00E3o est\u00E1 suportando sele\u00E7\u00E3o m\u00FAltipla. A forma como ela foi escrita n\u00E3o permite identificar a quantidade de datas\n que est\u00E3o sendo selecionadas. Removi o uso dela quando est\u00E1 com selectionMode=multiple. Analisar a remove\u00E7\u00E3o completa desta diretiva. -->\n @if (_field.selectionMode !== 'multiple') {\n <p-datepicker\n #calendar\n sCalendarMask\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"_field.selectionMode\"\n [rangeSeparator]=\"_field.rangeSeparator ? _field.rangeSeparator : calendar.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"_field.showSeconds\"\n [showOnFocus]=\"_field.showOnFocus\"\n [formControl]=\"formControl()\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"_field.minDate\"\n [maxDate]=\"_field.maxDate\"\n [defaultDate]=\"_field.defaultDate ? _field.defaultDate : calendar.defaultDate\"\n [dateFormat]=\"\n _field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\n \"\n [hourFormat]=\"\n _field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\n \"\n [view]=\"_field.view ? _field.view : calendar.view\"\n [placeholder]=\"_field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"_field.appendTo\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onSelect)=\"_field.onSelect ? _field.onSelect($event) : null\"\n (onClose)=\"_field.onClose ? _field.onClose($event) : null\"\n (onTodayClick)=\"_field.onTodayClick ? _field.onTodayClick($event) : null\"\n (onClearClick)=\"_field.onClearClick ? _field.onClearClick($event) : null\"\n (onMonthChange)=\"_field.onMonthChange ? _field.onMonthChange($event) : null\"\n (onYearChange)=\"_field.onYearChange ? _field.onYearChange($event) : null\"\n >\n </p-datepicker>\n } @else {\n <!-- A \u00FAnica diferen\u00E7a deste bloco \u00E9 a remo\u00E7\u00E3o da diretiva sCalendarMask. -->\n <p-datepicker\n #calendar\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [showIcon]=\"true\"\n [timeOnly]=\"timeOnly\"\n [selectionMode]=\"_field.selectionMode\"\n [rangeSeparator]=\"_field.rangeSeparator ? _field.rangeSeparator : calendar.rangeSeparator\"\n [showTime]=\"showTime\"\n [showSeconds]=\"_field.showSeconds\"\n [showOnFocus]=\"_field.showOnFocus\"\n [formControl]=\"formControl()\"\n [icon]=\"timeOnly ? 'fa fa-clock' : 'fa fa-calendar'\"\n [minDate]=\"_field.minDate\"\n [maxDate]=\"_field.maxDate\"\n [defaultDate]=\"_field.defaultDate ? _field.defaultDate : calendar.defaultDate\"\n [dateFormat]=\"\n _field.calendarLocaleOptions?.dateFormat || 'platform.angular_components.date_format' | translate\n \"\n [hourFormat]=\"\n _field.calendarLocaleOptions?.hourFormat || 'platform.angular_components.hour_format' | translate\n \"\n [view]=\"_field.view ? _field.view : calendar.view\"\n [placeholder]=\"_field.placeholder\"\n inputStyleClass=\"mousetrap\"\n [appendTo]=\"_field.appendTo\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onSelect)=\"_field.onSelect ? _field.onSelect($event) : null\"\n (onClose)=\"_field.onClose ? _field.onClose($event) : null\"\n (onTodayClick)=\"_field.onTodayClick ? _field.onTodayClick($event) : null\"\n (onClearClick)=\"_field.onClearClick ? _field.onClearClick($event) : null\"\n (onMonthChange)=\"_field.onMonthChange ? _field.onMonthChange($event) : null\"\n (onYearChange)=\"_field.onYearChange ? _field.onYearChange($event) : null\"\n [showTransitionOptions]=\"'0ms'\"\n [hideTransitionOptions]=\"'0ms'\"\n >\n </p-datepicker>\n }\n </div>\n}\n\n" }]
131
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { calendar: [{
132
+ type: ViewChild,
133
+ args: ['calendar']
134
+ }] } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jYWxlbmRhci9jYWxlbmRhci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBTTdFLE1BQU0sT0FBTyxzQkFBc0I7SUF3RUY7SUF2RTdCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF1QixDQUFDO0lBRTlDLFdBQVcsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7SUFFM0Is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LGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQztRQUNoQyxPQUFPLElBQUksS0FBSyxlQUFlLElBQUksSUFBSSxLQUFLLFVBQVUsSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDO0lBQzlFLENBQUM7d0dBM0hRLHNCQUFzQjs0RkFBdEIsc0JBQXNCLDBiQ2hCbkMsdW1LQStGQSw0Q0RsRmMsbUJBQW1CLGlHQUFFLG1CQUFtQix5VEFBRSxnQkFBZ0IsMjFDQUFFLGdCQUFnQiwyTkFBRSxlQUFlOzs0RkFHOUYsc0JBQXNCO2tCQUxsQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztzRkEwR2pGLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBQcmltZU5HIH0gZnJvbSAncHJpbWVuZy9jb25maWcnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlciwgRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBDYWxlbmRhckZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2NhbGVuZGFyLWZpZWxkJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ZpZWxkLWxhYmVsL2ZpZWxkLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy91dGlscyc7XG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGaWVsZExhYmVsQ29tcG9uZW50LCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBEYXRlUGlja2VyTW9kdWxlLCBUb29sdGlwRGlyZWN0aXZlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FsZW5kYXItZmllbGQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnLCBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8Q2FsZW5kYXJGaWVsZENvbmZpZz4oKTtcblxuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSBpbmplY3QoVHJhbnNsYXRlU2VydmljZSk7XG5cbiAgICBwdWJsaWMgbG9jYWxlID0ge1xuICAgICAgICBmaXJzdERheU9mV2VlazogMCxcbiAgICAgICAgZGF5TmFtZXM6IFtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc3VuZGF5JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1vbmRheScpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50dWVzZGF5JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLndlZG5lc2RheScpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50aHVyc2RheScpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5mcmlkYXknKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuc2F0dXJkYXknKSxcbiAgICAgICAgXSxcbiAgICAgICAgZGF5TmFtZXNTaG9ydDogW1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zdW5kYXlfc2hvcnQnKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubW9uZGF5X3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnR1ZXNkYXlfc2hvcnQnKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMud2VkbmVzZGF5X3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRodXJzZGF5X3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmZyaWRheV9zaG9ydCcpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zYXR1cmRheV9zaG9ydCcpLFxuICAgICAgICBdLFxuICAgICAgICBkYXlOYW1lc01pbjogW1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zdW5kYXlfbWluJyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1vbmRheV9taW4nKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMudHVlc2RheV9taW4nKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMud2VkbmVzZGF5X21pbicpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy50aHVyc2RheV9taW4nKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZnJpZGF5X21pbicpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5zYXR1cmRheV9taW4nKSxcbiAgICAgICAgXSxcbiAgICAgICAgbW9udGhOYW1lczogW1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5qYW51YXJ5JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmZlYnJ1YXJ5JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1hcmNoJyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmFwcmlsJyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1heScpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5qdW5lJyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmp1bHknKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuYXVndXN0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnNlcHRlbWJlcicpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5vY3RvYmVyJyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm5vdmVtYmVyJyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmRlY2VtYmVyJyksXG4gICAgICAgIF0sXG4gICAgICAgIG1vbnRoTmFtZXNTaG9ydDogW1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5qYW51YXJ5X3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmZlYnJ1YXJ5X3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1hcmNoX3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmFwcmlsX3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm1heV9zaG9ydCcpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5qdW5lX3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmp1bHlfc2hvcnQnKSxcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuYXVndXN0X3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnNlcHRlbWJlcl9zaG9ydCcpLFxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5vY3RvYmVyX3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm5vdmVtYmVyX3Nob3J0JyksXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmRlY2VtYmVyX3Nob3J0JyksXG4gICAgICAgIF0sXG4gICAgICAgIHRvZGF5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnRvZGF5JyksXG4gICAgICAgIGNsZWFyOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmNsZWFyJyksXG4gICAgICAgIGRhdGVGb3JtYXQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZGF0ZV9mb3JtYXQnKSxcbiAgICAgICAgaG91ckZvcm1hdDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5ob3VyX2Zvcm1hdCcpLFxuICAgIH07XG5cbiAgICBwcml2YXRlIHByaW1lbmdDb25maWcgPSBpbmplY3QoUHJpbWVORyk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQoKTtcbiAgICAgICAgaWYoaXNOdWxsT3JVbmRlZmluZWQoZmllbGQuc2VsZWN0aW9uTW9kZSkpIHtcbiAgICAgICAgICAgIGZpZWxkLnNlbGVjdGlvbk1vZGUgPSAnc2luZ2xlJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKGlzTnVsbE9yVW5kZWZpbmVkKGZpZWxkLnJhbmdlU2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgZmllbGQucmFuZ2VTZXBhcmF0b3IgPSAnLSdcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKGlzTnVsbE9yVW5kZWZpbmVkKGZpZWxkLnZpZXcpKSB7XG4gICAgICAgICAgICBmaWVsZC52aWV3ID0gJ2RhdGUnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZChmaWVsZC5zaG93U2Vjb25kcykpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcbiAgICAgICAgICAgICAgICBjYXNlICdsb2NhbERhdGVUaW1lJzpcbiAgICAgICAgICAgICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgICAgICAgICAgICAgZmllbGQuc2hvd1NlY29uZHMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IF9sb2NhbGUgPSBmaWVsZC5jYWxlbmRhckxvY2FsZU9wdGlvbnMgfHwgdGhpcy5sb2NhbGU7XG4gICAgICAgIHRoaXMucHJpbWVuZ0NvbmZpZy5zZXRUcmFuc2xhdGlvbih7XG4gICAgICAgICAgICAuLi5fbG9jYWxlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdjYWxlbmRhcicpIGNhbGVuZGFyOiBEYXRlUGlja2VyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgaW5wdXRSZWY6IEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldElucHV0UmVmKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5wdXRSZWYoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRSZWYgPSB0aGlzLmNhbGVuZGFyPy5pbnB1dGZpZWxkVmlld0NoaWxkPy5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCB0aW1lT25seSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQoKT8udHlwZSA9PT0gJ3RpbWUnO1xuICAgIH1cblxuICAgIGdldCBzaG93VGltZSgpIHtcbiAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZmllbGQoKT8udHlwZTtcbiAgICAgICAgcmV0dXJuIHR5cGUgPT09ICdsb2NhbERhdGVUaW1lJyB8fCB0eXBlID09PSAnZGF0ZVRpbWUnIHx8IHR5cGUgPT09ICd0aW1lJztcbiAgICB9XG59XG5cbiIsIkBsZXQgX2ZpZWxkID0gZmllbGQoKTtcbkBpZiAoaW5wdXRSZWYpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmXCJcbiAgICA+XG4gICAgPC9zLWZpZWxkLWxhYmVsPlxufVxuXG5AaWYgKF9maWVsZCkge1xuICAgIDxkaXYgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCI+XG4gICAgICAgIDwhLS0gQSBkaXJldGl2YSBzQ2FsZW5kYXJNYXNrIG7Do28gZXN0w6Egc3Vwb3J0YW5kbyBzZWxlw6fDo28gbcO6bHRpcGxhLiBBIGZvcm1hIGNvbW8gZWxhIGZvaSBlc2NyaXRhIG7Do28gcGVybWl0ZSBpZGVudGlmaWNhciBhIHF1YW50aWRhZGUgZGUgZGF0YXNcbiAgICAgICAgcXVlIGVzdMOjbyBzZW5kbyBzZWxlY2lvbmFkYXMuIFJlbW92aSBvIHVzbyBkZWxhIHF1YW5kbyBlc3TDoSBjb20gc2VsZWN0aW9uTW9kZT1tdWx0aXBsZS4gQW5hbGlzYXIgYSByZW1vdmXDp8OjbyBjb21wbGV0YSBkZXN0YSBkaXJldGl2YS4gLS0+XG4gICAgICAgIEBpZiAoX2ZpZWxkLnNlbGVjdGlvbk1vZGUgIT09ICdtdWx0aXBsZScpIHtcbiAgICAgICAgICAgIDxwLWRhdGVwaWNrZXJcbiAgICAgICAgICAgICAgICAjY2FsZW5kYXJcbiAgICAgICAgICAgICAgICBzQ2FsZW5kYXJNYXNrXG4gICAgICAgICAgICAgICAgW2lucHV0SWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt0aW1lT25seV09XCJ0aW1lT25seVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiX2ZpZWxkLnNlbGVjdGlvbk1vZGVcIlxuICAgICAgICAgICAgICAgIFtyYW5nZVNlcGFyYXRvcl09XCJfZmllbGQucmFuZ2VTZXBhcmF0b3IgPyBfZmllbGQucmFuZ2VTZXBhcmF0b3IgOiBjYWxlbmRhci5yYW5nZVNlcGFyYXRvclwiXG4gICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInNob3dUaW1lXCJcbiAgICAgICAgICAgICAgICBbc2hvd1NlY29uZHNdPVwiX2ZpZWxkLnNob3dTZWNvbmRzXCJcbiAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiX2ZpZWxkLnNob3dPbkZvY3VzXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwidGltZU9ubHkgPyAnZmEgZmEtY2xvY2snIDogJ2ZhIGZhLWNhbGVuZGFyJ1wiXG4gICAgICAgICAgICAgICAgW21pbkRhdGVdPVwiX2ZpZWxkLm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cIl9maWVsZC5tYXhEYXRlXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdERhdGVdPVwiX2ZpZWxkLmRlZmF1bHREYXRlID8gX2ZpZWxkLmRlZmF1bHREYXRlIDogY2FsZW5kYXIuZGVmYXVsdERhdGVcIlxuICAgICAgICAgICAgICAgIFtkYXRlRm9ybWF0XT1cIlxuICAgICAgICAgICAgICAgICAgICBfZmllbGQuY2FsZW5kYXJMb2NhbGVPcHRpb25zPy5kYXRlRm9ybWF0IHx8ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZGF0ZV9mb3JtYXQnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbaG91ckZvcm1hdF09XCJcbiAgICAgICAgICAgICAgICAgICAgX2ZpZWxkLmNhbGVuZGFyTG9jYWxlT3B0aW9ucz8uaG91ckZvcm1hdCB8fCAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmhvdXJfZm9ybWF0JyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3ZpZXddPVwiX2ZpZWxkLnZpZXcgPyBfZmllbGQudmlldyA6IGNhbGVuZGFyLnZpZXdcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGlucHV0U3R5bGVDbGFzcz1cIm1vdXNldHJhcFwiXG4gICAgICAgICAgICAgICAgW2FwcGVuZFRvXT1cIl9maWVsZC5hcHBlbmRUb1wiXG4gICAgICAgICAgICAgICAgKG9uQmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uRm9jdXMpPVwiX2ZpZWxkLm9uRm9jdXMgPyBfZmllbGQub25Gb2N1cygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIl9maWVsZC5vblNlbGVjdCA/IF9maWVsZC5vblNlbGVjdCgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uQ2xvc2UpPVwiX2ZpZWxkLm9uQ2xvc2UgPyBfZmllbGQub25DbG9zZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uVG9kYXlDbGljayk9XCJfZmllbGQub25Ub2RheUNsaWNrID8gX2ZpZWxkLm9uVG9kYXlDbGljaygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uQ2xlYXJDbGljayk9XCJfZmllbGQub25DbGVhckNsaWNrID8gX2ZpZWxkLm9uQ2xlYXJDbGljaygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uTW9udGhDaGFuZ2UpPVwiX2ZpZWxkLm9uTW9udGhDaGFuZ2UgPyBfZmllbGQub25Nb250aENoYW5nZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uWWVhckNoYW5nZSk9XCJfZmllbGQub25ZZWFyQ2hhbmdlID8gX2ZpZWxkLm9uWWVhckNoYW5nZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3AtZGF0ZXBpY2tlcj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8IS0tIEEgw7puaWNhIGRpZmVyZW7Dp2EgZGVzdGUgYmxvY28gw6kgYSByZW1vw6fDo28gZGEgZGlyZXRpdmEgc0NhbGVuZGFyTWFzay4gLS0+XG4gICAgICAgICAgICA8cC1kYXRlcGlja2VyXG4gICAgICAgICAgICAgICAgI2NhbGVuZGFyXG4gICAgICAgICAgICAgICAgW2lucHV0SWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJfZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt0aW1lT25seV09XCJ0aW1lT25seVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiX2ZpZWxkLnNlbGVjdGlvbk1vZGVcIlxuICAgICAgICAgICAgICAgIFtyYW5nZVNlcGFyYXRvcl09XCJfZmllbGQucmFuZ2VTZXBhcmF0b3IgPyBfZmllbGQucmFuZ2VTZXBhcmF0b3IgOiBjYWxlbmRhci5yYW5nZVNlcGFyYXRvclwiXG4gICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInNob3dUaW1lXCJcbiAgICAgICAgICAgICAgICBbc2hvd1NlY29uZHNdPVwiX2ZpZWxkLnNob3dTZWNvbmRzXCJcbiAgICAgICAgICAgICAgICBbc2hvd09uRm9jdXNdPVwiX2ZpZWxkLnNob3dPbkZvY3VzXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwidGltZU9ubHkgPyAnZmEgZmEtY2xvY2snIDogJ2ZhIGZhLWNhbGVuZGFyJ1wiXG4gICAgICAgICAgICAgICAgW21pbkRhdGVdPVwiX2ZpZWxkLm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cIl9maWVsZC5tYXhEYXRlXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdERhdGVdPVwiX2ZpZWxkLmRlZmF1bHREYXRlID8gX2ZpZWxkLmRlZmF1bHREYXRlIDogY2FsZW5kYXIuZGVmYXVsdERhdGVcIlxuICAgICAgICAgICAgICAgIFtkYXRlRm9ybWF0XT1cIlxuICAgICAgICAgICAgICAgICAgICBfZmllbGQuY2FsZW5kYXJMb2NhbGVPcHRpb25zPy5kYXRlRm9ybWF0IHx8ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuZGF0ZV9mb3JtYXQnIHwgdHJhbnNsYXRlXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbaG91ckZvcm1hdF09XCJcbiAgICAgICAgICAgICAgICAgICAgX2ZpZWxkLmNhbGVuZGFyTG9jYWxlT3B0aW9ucz8uaG91ckZvcm1hdCB8fCAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmhvdXJfZm9ybWF0JyB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3ZpZXddPVwiX2ZpZWxkLnZpZXcgPyBfZmllbGQudmlldyA6IGNhbGVuZGFyLnZpZXdcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIGlucHV0U3R5bGVDbGFzcz1cIm1vdXNldHJhcFwiXG4gICAgICAgICAgICAgICAgW2FwcGVuZFRvXT1cIl9maWVsZC5hcHBlbmRUb1wiXG4gICAgICAgICAgICAgICAgKG9uQmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uRm9jdXMpPVwiX2ZpZWxkLm9uRm9jdXMgPyBfZmllbGQub25Gb2N1cygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIl9maWVsZC5vblNlbGVjdCA/IF9maWVsZC5vblNlbGVjdCgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uQ2xvc2UpPVwiX2ZpZWxkLm9uQ2xvc2UgPyBfZmllbGQub25DbG9zZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uVG9kYXlDbGljayk9XCJfZmllbGQub25Ub2RheUNsaWNrID8gX2ZpZWxkLm9uVG9kYXlDbGljaygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uQ2xlYXJDbGljayk9XCJfZmllbGQub25DbGVhckNsaWNrID8gX2ZpZWxkLm9uQ2xlYXJDbGljaygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uTW9udGhDaGFuZ2UpPVwiX2ZpZWxkLm9uTW9udGhDaGFuZ2UgPyBfZmllbGQub25Nb250aENoYW5nZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKG9uWWVhckNoYW5nZSk9XCJfZmllbGQub25ZZWFyQ2hhbmdlID8gX2ZpZWxkLm9uWWVhckNoYW5nZSgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3Nob3dUcmFuc2l0aW9uT3B0aW9uc109XCInMG1zJ1wiXG4gICAgICAgICAgICAgICAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCInMG1zJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3AtZGF0ZXBpY2tlcj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxufVxuXG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { CheckboxListModule } from '@seniorsistemas/angular-components/checkbox-list';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@seniorsistemas/angular-components/checkbox-list";
7
+ export class CheckboxFieldComponent {
8
+ field = input.required();
9
+ formControl = input.required();
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: CheckboxFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<s-checkbox-list\n [data]=\"field().data\"\n [formControl]=\"formControl()\"\n>\n</s-checkbox-list>\n\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CheckboxListModule }, { kind: "component", type: i2.CheckboxListComponent, selector: "s-checkbox-list", inputs: ["data"] }] });
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ standalone: true, imports: [ReactiveFormsModule, CheckboxListModule], template: "<s-checkbox-list\n [data]=\"field().data\"\n [formControl]=\"formControl()\"\n>\n</s-checkbox-list>\n\n" }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jaGVja2JveC9jaGVja2JveC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NoZWNrYm94L2NoZWNrYm94LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7O0FBUXRGLE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7SUFDOUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQzt3R0FGbkMsc0JBQXNCOzRGQUF0QixzQkFBc0Isb1ZDVm5DLCtHQU1BLDJDRENjLG1CQUFtQix5VEFBRSxrQkFBa0I7OzRGQUd4QyxzQkFBc0I7a0JBTGxDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENoZWNrYm94TGlzdE1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY2hlY2tib3gtbGlzdCc7XG5pbXBvcnQgeyBDaGVja2JveEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2NoZWNrYm94LWZpZWxkJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIENoZWNrYm94TGlzdE1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICdjaGVja2JveC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8Q2hlY2tib3hGaWVsZENvbmZpZz4oKTtcbiAgICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xufVxuXG4iLCI8cy1jaGVja2JveC1saXN0XG4gICAgW2RhdGFdPVwiZmllbGQoKS5kYXRhXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4+XG48L3MtY2hlY2tib3gtbGlzdD5cblxuIl19
@@ -0,0 +1,55 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
4
+ import { ChipsModule } from '@seniorsistemas/angular-components/chips';
5
+ import { TranslateModule } from '@ngx-translate/core';
6
+ import { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/cdk/clipboard";
9
+ import * as i2 from "@seniorsistemas/angular-components/chips";
10
+ import * as i3 from "@angular/forms";
11
+ import * as i4 from "@ngx-translate/core";
12
+ export class ChipsFieldComponent {
13
+ clipboard;
14
+ changeDetectorRef;
15
+ elementRef;
16
+ field = input.required();
17
+ formControl = input.required();
18
+ feedbackMessageVisible = false;
19
+ copyButtonVisible = true;
20
+ inputRef = null;
21
+ constructor(clipboard, changeDetectorRef, elementRef) {
22
+ this.clipboard = clipboard;
23
+ this.changeDetectorRef = changeDetectorRef;
24
+ this.elementRef = elementRef;
25
+ }
26
+ onCopyFieldContent() {
27
+ if (this.formControl().value) {
28
+ this.copyButtonVisible = false;
29
+ this.feedbackMessageVisible = true;
30
+ setTimeout(() => {
31
+ this.feedbackMessageVisible = false;
32
+ this.copyButtonVisible = true;
33
+ }, 3000);
34
+ const content = this.formControl().value.join(this.field().separator || '\n');
35
+ this.clipboard.copy(content);
36
+ if (this.field().onCopy) {
37
+ this.field().onCopy?.(content);
38
+ }
39
+ }
40
+ }
41
+ ngAfterViewInit() {
42
+ this.setInputRef();
43
+ this.changeDetectorRef.detectChanges();
44
+ }
45
+ setInputRef() {
46
+ this.inputRef = this.elementRef.nativeElement.querySelector('input');
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipsFieldComponent, deps: [{ token: i1.Clipboard }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChipsFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div class=\"chips-field-wrapper\">\n <div style=\"width: 100%\">\n @if (_field.keyFilter) {\n <s-chips\n [inputId]=\"_field.id || _field.name\"\n [formControl]=\"formControl()\"\n [placeholder]=\"_field.placeholder\"\n [allowDuplicated]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"_field.onAdd ? _field.onAdd($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onChipClick)=\"_field.onChipClick ? _field.onChipClick($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n [keyFilter]=\"_field.keyFilter\"\n >\n <ng-template\n let-item\n pTemplate=\"item\"\n >\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\"\n >\n {{ item }}\n </span>\n </ng-template>\n </s-chips>\n } @else {\n <s-chips\n [inputId]=\"_field.id || _field.name\"\n [formControl]=\"formControl()\"\n [placeholder]=\"_field.placeholder\"\n [allowDuplicated]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"_field.onAdd ? _field.onAdd($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onChipClick)=\"_field.onChipClick ? _field.onChipClick($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n >\n <ng-template\n let-item\n pTemplate=\"item\"\n >\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\"\n >\n {{ item }}\n </span>\n </ng-template>\n </s-chips>\n }\n </div>\n\n @if (_field.showCopyButton && formControl().value?.length > 0 && copyButtonVisible) {\n <button\n class=\"copy-content-button\"\n (click)=\"onCopyFieldContent()\"\n >\n {{ 'platform.angular_components.copy_field_content' | translate }}\n </button>\n }\n\n @if (feedbackMessageVisible) {\n <span class=\"feedback-message\">\n {{ 'platform.angular_components.copied_to_clipboard' | translate }}\n </span>\n }\n</div>\n\n", styles: [".chips-field-wrapper{align-items:flex-start;display:flex;flex-direction:column}.chips-field-wrapper .chip-content{display:block;overflow:hidden;padding-right:1rem;text-overflow:ellipsis}.chips-field-wrapper .copy-content-button{background-color:transparent;border:none;color:#2a6496;cursor:pointer;margin-top:8px}.chips-field-wrapper .feedback-message{color:#0c9348;display:block;margin-top:8px;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: ChipsModule }, { kind: "component", type: i2.ChipsComponent, selector: "s-chips", inputs: ["disabled", "field", "value", "placeholder", "max", "maxLength", "inputId", "allowDuplicated", "caseSensitiveDuplication", "addOnTab", "addOnBlur", "separator", "autofocus", "infoLabel", "keyFilter", "showTooltip", "maxLengthRenderWithoutTooltip"], outputs: ["added", "removed", "focused", "focusLost", "chipClicked", "valueChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }] });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChipsFieldComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ standalone: true, imports: [FieldLabelComponent, ChipsModule, ReactiveFormsModule, TranslateModule, TooltipDirective], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<div class=\"chips-field-wrapper\">\n <div style=\"width: 100%\">\n @if (_field.keyFilter) {\n <s-chips\n [inputId]=\"_field.id || _field.name\"\n [formControl]=\"formControl()\"\n [placeholder]=\"_field.placeholder\"\n [allowDuplicated]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"_field.onAdd ? _field.onAdd($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onChipClick)=\"_field.onChipClick ? _field.onChipClick($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n [keyFilter]=\"_field.keyFilter\"\n >\n <ng-template\n let-item\n pTemplate=\"item\"\n >\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\"\n >\n {{ item }}\n </span>\n </ng-template>\n </s-chips>\n } @else {\n <s-chips\n [inputId]=\"_field.id || _field.name\"\n [formControl]=\"formControl()\"\n [placeholder]=\"_field.placeholder\"\n [allowDuplicated]=\"false\"\n [addOnTab]=\"true\"\n [addOnBlur]=\"true\"\n (onAdd)=\"_field.onAdd ? _field.onAdd($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onChipClick)=\"_field.onChipClick ? _field.onChipClick($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n >\n <ng-template\n let-item\n pTemplate=\"item\"\n >\n <span\n class=\"chip-content\"\n [sTooltip]=\"item\"\n >\n {{ item }}\n </span>\n </ng-template>\n </s-chips>\n }\n </div>\n\n @if (_field.showCopyButton && formControl().value?.length > 0 && copyButtonVisible) {\n <button\n class=\"copy-content-button\"\n (click)=\"onCopyFieldContent()\"\n >\n {{ 'platform.angular_components.copy_field_content' | translate }}\n </button>\n }\n\n @if (feedbackMessageVisible) {\n <span class=\"feedback-message\">\n {{ 'platform.angular_components.copied_to_clipboard' | translate }}\n </span>\n }\n</div>\n\n", styles: [".chips-field-wrapper{align-items:flex-start;display:flex;flex-direction:column}.chips-field-wrapper .chip-content{display:block;overflow:hidden;padding-right:1rem;text-overflow:ellipsis}.chips-field-wrapper .copy-content-button{background-color:transparent;border:none;color:#2a6496;cursor:pointer;margin-top:8px}.chips-field-wrapper .feedback-message{color:#0c9348;display:block;margin-top:8px;-webkit-user-select:none;user-select:none}\n"] }]
54
+ }], ctorParameters: () => [{ type: i1.Clipboard }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jaGlwcy9jaGlwcy1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NoaXBzL2NoaXBzLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7QUFPOUUsTUFBTSxPQUFPLG1CQUFtQjtJQVNQO0lBQ0E7SUFDQTtJQVZyQixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBb0IsQ0FBQztJQUMzQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO0lBRXJDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztJQUMvQixpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDekIsUUFBUSxHQUF1QixJQUFJLENBQUM7SUFFM0MsWUFDcUIsU0FBb0IsRUFDcEIsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBRnRCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQ3hDLENBQUM7SUFFRyxrQkFBa0I7UUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1lBRW5DLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztnQkFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUNsQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFVCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBRTlFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTdCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRU0sZUFBZTtRQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekUsQ0FBQzt3R0F6Q1EsbUJBQW1COzRGQUFuQixtQkFBbUIsb1ZDZmhDLG8vRkFrRkEsaWZEdkVjLG1CQUFtQixpR0FBRSxXQUFXLDBiQUFFLG1CQUFtQix5VEFBRSxlQUFlLDRGQUFFLGdCQUFnQjs7NEZBSXpGLG1CQUFtQjtrQkFOL0IsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGlwc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2NoaXBzLWZpZWxkJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ZpZWxkLWxhYmVsL2ZpZWxkLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDaGlwc01vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY2hpcHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy90b29sdGlwJztcbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ZpZWxkTGFiZWxDb21wb25lbnQsIENoaXBzTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIFRvb2x0aXBEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGlwcy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hpcHMtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hpcHNGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxDaGlwc0ZpZWxkQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBwdWJsaWMgZmVlZGJhY2tNZXNzYWdlVmlzaWJsZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBjb3B5QnV0dG9uVmlzaWJsZSA9IHRydWU7XG4gICAgcHVibGljIGlucHV0UmVmOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG9uQ29weUZpZWxkQ29udGVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2woKS52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb3B5QnV0dG9uVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5mZWVkYmFja01lc3NhZ2VWaXNpYmxlID0gdHJ1ZTtcblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mZWVkYmFja01lc3NhZ2VWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3B5QnV0dG9uVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9LCAzMDAwKTtcblxuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuZm9ybUNvbnRyb2woKS52YWx1ZS5qb2luKHRoaXMuZmllbGQoKS5zZXBhcmF0b3IgfHwgJ1xcbicpO1xuXG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZC5jb3B5KGNvbnRlbnQpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZCgpLm9uQ29weSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS5vbkNvcHk/Lihjb250ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0SW5wdXRSZWYoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbnB1dFJlZigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dFJlZiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgfVxufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG5AaWYgKGlucHV0UmVmKSB7XG4gICAgPHMtZmllbGQtbGFiZWxcbiAgICAgICAgW2ZpZWxkXT1cIl9maWVsZFwiXG4gICAgICAgIFtmaWVsZENvbnRhaW5lclJlZl09XCJpbnB1dFJlZlwiXG4gICAgPjwvcy1maWVsZC1sYWJlbD5cbn1cblxuPGRpdiBjbGFzcz1cImNoaXBzLWZpZWxkLXdyYXBwZXJcIj5cbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCVcIj5cbiAgICAgICAgQGlmIChfZmllbGQua2V5RmlsdGVyKSB7XG4gICAgICAgICAgICA8cy1jaGlwc1xuICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFthbGxvd0R1cGxpY2F0ZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFthZGRPblRhYl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbYWRkT25CbHVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIChvbkFkZCk9XCJfZmllbGQub25BZGQgPyBfZmllbGQub25BZGQoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChvblJlbW92ZSk9XCJfZmllbGQub25SZW1vdmUgPyBfZmllbGQub25SZW1vdmUoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChvbkNoaXBDbGljayk9XCJfZmllbGQub25DaGlwQ2xpY2sgPyBfZmllbGQub25DaGlwQ2xpY2soJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChvbkZvY3VzKT1cIl9maWVsZC5vbkZvY3VzID8gX2ZpZWxkLm9uRm9jdXMoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChvbkJsdXIpPVwiX2ZpZWxkLm9uQmx1ciA/IF9maWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIFtrZXlGaWx0ZXJdPVwiX2ZpZWxkLmtleUZpbHRlclwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIGxldC1pdGVtXG4gICAgICAgICAgICAgICAgICAgIHBUZW1wbGF0ZT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpcC1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzVG9vbHRpcF09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvcy1jaGlwcz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8cy1jaGlwc1xuICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cIl9maWVsZC5pZCB8fCBfZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIFthbGxvd0R1cGxpY2F0ZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFthZGRPblRhYl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbYWRkT25CbHVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIChvbkFkZCk9XCJfZmllbGQub25BZGQgPyBfZmllbGQub25BZGQoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChvblJlbW92ZSk9XCJfZmllbGQub25SZW1vdmUgPyBfZmllbGQub25SZW1vdmUoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChvbkNoaXBDbGljayk9XCJfZmllbGQub25DaGlwQ2xpY2sgPyBfZmllbGQub25DaGlwQ2xpY2soJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChvbkZvY3VzKT1cIl9maWVsZC5vbkZvY3VzID8gX2ZpZWxkLm9uRm9jdXMoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgICAgIChvbkJsdXIpPVwiX2ZpZWxkLm9uQmx1ciA/IF9maWVsZC5vbkJsdXIoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBsZXQtaXRlbVxuICAgICAgICAgICAgICAgICAgICBwVGVtcGxhdGU9XCJpdGVtXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNoaXAtY29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc1Rvb2x0aXBdPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3MtY2hpcHM+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoX2ZpZWxkLnNob3dDb3B5QnV0dG9uICYmIGZvcm1Db250cm9sKCkudmFsdWU/Lmxlbmd0aCA+IDAgJiYgY29weUJ1dHRvblZpc2libGUpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJjb3B5LWNvbnRlbnQtYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNvcHlGaWVsZENvbnRlbnQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7ICdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY29weV9maWVsZF9jb250ZW50JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICB9XG5cbiAgICBAaWYgKGZlZWRiYWNrTWVzc2FnZVZpc2libGUpIHtcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmZWVkYmFjay1tZXNzYWdlXCI+XG4gICAgICAgICAgICB7eyAncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmNvcGllZF90b19jbGlwYm9hcmQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICB9XG48L2Rpdj5cblxuIl19
@@ -0,0 +1,18 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
4
+ import { ContentGeneratorModule } from '@seniorsistemas/angular-components/content-generator';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@seniorsistemas/angular-components/content-generator";
7
+ import * as i2 from "@angular/forms";
8
+ export class ContentGeneratorFieldComponent {
9
+ field = input.required();
10
+ formControl = input.required();
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentGeneratorFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ContentGeneratorFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\n\n@if (contentGenerator.textArea()?.renderTextArea) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"contentGenerator.textArea()?.textAreaElement?.nativeElement\"\n ></s-field-label>\n}\n\n<s-content-generator\n #contentGenerator\n [rows]=\"_field.rows ?? 5\"\n [formControl]=\"formControl()\"\n [id]=\"_field.name\"\n [readonly]=\"_field.readonly ? _field.readonly() : false\"\n [prompt]=\"_field.prompt ?? ''\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [label]=\"_field.label ?? ''\"\n [speechRecognition]=\"_field.speechRecognition ?? false\"\n [keepContext]=\"_field.keepContext\"\n [speechRecognitionPlaceholder]=\"_field.speechRecognitionPlaceholder\"\n [maxLength]=\"_field.maxLength ?? null\"\n></s-content-generator>\n", styles: [".footer-content{display:flex;flex-grow:0}.textarea-ia{display:flex;align-items:flex-end;gap:8px}.textarea-ia s-textarea{width:100%}.iassist-button{display:flex;justify-content:center;align-items:center;border:none;border-radius:50%;box-shadow:none;cursor:pointer;height:32px;width:32px}.dialog-header{display:flex;gap:12px}.dialog-header .iassist-icon{display:block;height:24px;width:24px}.speech-recognition{margin-bottom:12.5px}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: ContentGeneratorModule }, { kind: "component", type: i1.ContentGeneratorComponent, selector: "s-content-generator, s-text-area-ia", inputs: ["id", "label", "placeholder", "prompt", "readonly", "rows", "cols", "speechRecognition", "keepContext", "speechRecognitionPlaceholder", "maxLength", "textAreaStyle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ContentGeneratorFieldComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ standalone: true, imports: [FieldLabelComponent, ContentGeneratorModule, ReactiveFormsModule], template: "@let _field = field();\n\n@if (contentGenerator.textArea()?.renderTextArea) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"contentGenerator.textArea()?.textAreaElement?.nativeElement\"\n ></s-field-label>\n}\n\n<s-content-generator\n #contentGenerator\n [rows]=\"_field.rows ?? 5\"\n [formControl]=\"formControl()\"\n [id]=\"_field.name\"\n [readonly]=\"_field.readonly ? _field.readonly() : false\"\n [prompt]=\"_field.prompt ?? ''\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [label]=\"_field.label ?? ''\"\n [speechRecognition]=\"_field.speechRecognition ?? false\"\n [keepContext]=\"_field.keepContext\"\n [speechRecognitionPlaceholder]=\"_field.speechRecognitionPlaceholder\"\n [maxLength]=\"_field.maxLength ?? null\"\n></s-content-generator>\n", styles: [".footer-content{display:flex;flex-grow:0}.textarea-ia{display:flex;align-items:flex-end;gap:8px}.textarea-ia s-textarea{width:100%}.iassist-button{display:flex;justify-content:center;align-items:center;border:none;border-radius:50%;box-shadow:none;cursor:pointer;height:32px;width:32px}.dialog-header{display:flex;gap:12px}.dialog-header .iassist-icon{display:block;height:24px;width:24px}.speech-recognition{margin-bottom:12.5px}\n"] }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1nZW5lcmF0b3ItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jb250ZW50LWdlbmVyYXRvci9jb250ZW50LWdlbmVyYXRvci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NvbnRlbnQtZ2VuZXJhdG9yL2NvbnRlbnQtZ2VuZXJhdG9yLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7O0FBUTlGLE1BQU0sT0FBTyw4QkFBOEI7SUFDdkMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQStCLENBQUM7SUFFdEQsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQzt3R0FIbkMsOEJBQThCOzRGQUE5Qiw4QkFBOEIsb1ZDYjNDLDZ6QkF1QkEsMGVEZGMsbUJBQW1CLGlHQUFFLHNCQUFzQiwwVEFBRSxtQkFBbUI7OzRGQUlqRSw4QkFBOEI7a0JBTjFDLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbnRlbnRHZW5lcmF0b3JGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkcy9jb250ZW50LWdlbmVyYXRvci1maWVsZCc7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9maWVsZC1sYWJlbC9maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudEdlbmVyYXRvck1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvY29udGVudC1nZW5lcmF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtGaWVsZExhYmVsQ29tcG9uZW50LCBDb250ZW50R2VuZXJhdG9yTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC1nZW5lcmF0b3ItZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbnRlbnQtZ2VuZXJhdG9yLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRHZW5lcmF0b3JGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxDb250ZW50R2VuZXJhdG9yRmllbGRDb25maWc+KCk7XG5cbiAgICBmb3JtQ29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG5cbkBpZiAoY29udGVudEdlbmVyYXRvci50ZXh0QXJlYSgpPy5yZW5kZXJUZXh0QXJlYSkge1xuICAgIDxzLWZpZWxkLWxhYmVsXG4gICAgICAgIFtmaWVsZF09XCJfZmllbGRcIlxuICAgICAgICBbZmllbGRDb250YWluZXJSZWZdPVwiY29udGVudEdlbmVyYXRvci50ZXh0QXJlYSgpPy50ZXh0QXJlYUVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnRcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG59XG5cbjxzLWNvbnRlbnQtZ2VuZXJhdG9yXG4gICAgI2NvbnRlbnRHZW5lcmF0b3JcbiAgICBbcm93c109XCJfZmllbGQucm93cyA/PyA1XCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2woKVwiXG4gICAgW2lkXT1cIl9maWVsZC5uYW1lXCJcbiAgICBbcmVhZG9ubHldPVwiX2ZpZWxkLnJlYWRvbmx5ID8gX2ZpZWxkLnJlYWRvbmx5KCkgOiBmYWxzZVwiXG4gICAgW3Byb21wdF09XCJfZmllbGQucHJvbXB0ID8/ICcnXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiX2ZpZWxkLnBsYWNlaG9sZGVyID8/ICcnXCJcbiAgICBbbGFiZWxdPVwiX2ZpZWxkLmxhYmVsID8/ICcnXCJcbiAgICBbc3BlZWNoUmVjb2duaXRpb25dPVwiX2ZpZWxkLnNwZWVjaFJlY29nbml0aW9uID8/IGZhbHNlXCJcbiAgICBba2VlcENvbnRleHRdPVwiX2ZpZWxkLmtlZXBDb250ZXh0XCJcbiAgICBbc3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlcl09XCJfZmllbGQuc3BlZWNoUmVjb2duaXRpb25QbGFjZWhvbGRlclwiXG4gICAgW21heExlbmd0aF09XCJfZmllbGQubWF4TGVuZ3RoID8/IG51bGxcIlxuPjwvcy1jb250ZW50LWdlbmVyYXRvcj5cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
4
+ import { CountryPhonePickerModule } from '@seniorsistemas/angular-components/country-phone-picker';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@seniorsistemas/angular-components/country-phone-picker";
7
+ import * as i2 from "@angular/forms";
8
+ export class CountryPhonePickerFieldComponent {
9
+ changeDetectorRef;
10
+ field = input.required();
11
+ formControl = input.required();
12
+ constructor(changeDetectorRef) {
13
+ this.changeDetectorRef = changeDetectorRef;
14
+ }
15
+ ngAfterViewInit() {
16
+ this.changeDetectorRef.detectChanges();
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CountryPhonePickerFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\n@if (countryPhonePicker.phoneInput?.nativeElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"countryPhonePicker.phoneInput?.nativeElement\"\n ></s-field-label>\n}\n\n<s-country-phone-picker\n #countryPhonePicker\n [formControl]=\"formControl()\"\n [ordination]=\"_field.ordination\"\n [countries]=\"_field.countries\"\n (selected)=\"_field.onSelected($event)\"\n (focusLost)=\"_field.onFocusLost ? _field.onFocusLost($event) : null\"\n>\n</s-country-phone-picker>\n\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: CountryPhonePickerModule }, { kind: "component", type: i1.CountryPhonePickerComponent, selector: "s-country-phone-picker", inputs: ["countries", "ordination"], outputs: ["selected", "focusLost"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CountryPhonePickerFieldComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ standalone: true, imports: [FieldLabelComponent, CountryPhonePickerModule, ReactiveFormsModule], template: "@let _field = field();\n@if (countryPhonePicker.phoneInput?.nativeElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"countryPhonePicker.phoneInput?.nativeElement\"\n ></s-field-label>\n}\n\n<s-country-phone-picker\n #countryPhonePicker\n [formControl]=\"formControl()\"\n [ordination]=\"_field.ordination\"\n [countries]=\"_field.countries\"\n (selected)=\"_field.onSelected($event)\"\n (focusLost)=\"_field.onFocusLost ? _field.onFocusLost($event) : null\"\n>\n</s-country-phone-picker>\n\n" }]
24
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1waG9uZS1waWNrZXItZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jb3VudHJ5LXBob25lLXBpY2tlci9jb3VudHJ5LXBob25lLXBpY2tlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7OztBQU1uRyxNQUFNLE9BQU8sZ0NBQWdDO0lBSVo7SUFIN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQTRCLENBQUM7SUFDbkQsV0FBVyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztJQUU1QyxZQUE2QixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFFOUQsZUFBZTtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQzt3R0FSUSxnQ0FBZ0M7NEZBQWhDLGdDQUFnQyxvVkNaN0MseWlCQWtCQSw0Q0RUYyxtQkFBbUIsaUdBQUUsd0JBQXdCLHdNQUFFLG1CQUFtQjs7NEZBR25FLGdDQUFnQztrQkFMNUMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ291bnRyeVBob25lUGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uL2Jhc2UtZmllbGQtY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ZpZWxkLWxhYmVsL2ZpZWxkLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3VudHJ5UGhvbmVQaWNrZXJNb2R1bGUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2NvdW50cnktcGhvbmUtcGlja2VyJztcbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0ZpZWxkTGFiZWxDb21wb25lbnQsIENvdW50cnlQaG9uZVBpY2tlck1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcsIEFmdGVyVmlld0luaXQge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8Q291bnRyeVBob25lUGlja2VyQ29uZmlnPigpO1xuICAgIGZvcm1Db250cm9sID0gaW5wdXQucmVxdWlyZWQ8Rm9ybUNvbnRyb2w+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cblxuIiwiQGxldCBfZmllbGQgPSBmaWVsZCgpO1xuQGlmIChjb3VudHJ5UGhvbmVQaWNrZXIucGhvbmVJbnB1dD8ubmF0aXZlRWxlbWVudCkge1xuICAgIDxzLWZpZWxkLWxhYmVsXG4gICAgICAgIFtmaWVsZF09XCJfZmllbGRcIlxuICAgICAgICBbZmllbGRDb250YWluZXJSZWZdPVwiY291bnRyeVBob25lUGlja2VyLnBob25lSW5wdXQ/Lm5hdGl2ZUVsZW1lbnRcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG59XG5cbjxzLWNvdW50cnktcGhvbmUtcGlja2VyXG4gICAgI2NvdW50cnlQaG9uZVBpY2tlclxuICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICBbb3JkaW5hdGlvbl09XCJfZmllbGQub3JkaW5hdGlvblwiXG4gICAgW2NvdW50cmllc109XCJfZmllbGQuY291bnRyaWVzXCJcbiAgICAoc2VsZWN0ZWQpPVwiX2ZpZWxkLm9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgKGZvY3VzTG9zdCk9XCJfZmllbGQub25Gb2N1c0xvc3QgPyBfZmllbGQub25Gb2N1c0xvc3QoJGV2ZW50KSA6IG51bGxcIlxuPlxuPC9zLWNvdW50cnktcGhvbmUtcGlja2VyPlxuXG4iXX0=
@@ -0,0 +1,100 @@
1
+ import { Component, computed, inject, input, viewChild, } from '@angular/core';
2
+ import { ReactiveFormsModule } from '@angular/forms';
3
+ import { currencies } from '@seniorsistemas/angular-components/currency';
4
+ import { InputMask, InputMaskModule } from 'primeng/inputmask';
5
+ import { first } from 'rxjs/operators';
6
+ import { FormFieldUtilsService } from '../../../services/form-field-utils.service';
7
+ import { NumberAlignmentOption, NumberInputModule } from '@seniorsistemas/angular-components/number-input';
8
+ import { FieldLabelComponent } from '../../../components/field-label/field-label.component';
9
+ import { NgClass } from '@angular/common';
10
+ import { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@seniorsistemas/angular-components/currency";
13
+ import * as i2 from "@seniorsistemas/angular-components/locale";
14
+ import * as i3 from "primeng/inputmask";
15
+ import * as i4 from "@angular/forms";
16
+ import * as i5 from "@seniorsistemas/angular-components/number-input";
17
+ /**
18
+ * @deprecated Should use bignumber instead
19
+ */
20
+ export class CurrencyFieldComponent {
21
+ currencyService;
22
+ localeService;
23
+ changeDetectorRef;
24
+ inputRefComponent = viewChild('inputRef');
25
+ field = input.required();
26
+ formControl = input.required();
27
+ fieldUtils = inject(FormFieldUtilsService);
28
+ currencies = currencies;
29
+ mask;
30
+ inputRef = computed(() => {
31
+ const inputRef = this.inputRefComponent();
32
+ if (!inputRef) {
33
+ return undefined;
34
+ }
35
+ if (inputRef instanceof InputMask) {
36
+ return inputRef.inputViewChild?.nativeElement;
37
+ }
38
+ else {
39
+ return inputRef.nativeElement;
40
+ }
41
+ });
42
+ constructor(currencyService, localeService, changeDetectorRef) {
43
+ this.currencyService = currencyService;
44
+ this.localeService = localeService;
45
+ this.changeDetectorRef = changeDetectorRef;
46
+ }
47
+ ngOnInit() {
48
+ this.onLocaleService();
49
+ const field = this.field();
50
+ this.mask = typeof field.mask === 'function' ? field.mask() : field.mask;
51
+ }
52
+ ngAfterViewInit() {
53
+ this.changeDetectorRef.detectChanges();
54
+ }
55
+ onLocaleService() {
56
+ this.localeService
57
+ .getLocale()
58
+ .pipe(first())
59
+ .subscribe({
60
+ next: () => {
61
+ if (!this.field().numberLocaleOptions?.decimalSeparator) {
62
+ this.field().numberLocaleOptions = {
63
+ currencySymbol: this.field().numberLocaleOptions?.currencySymbol,
64
+ thousandsSeparator: this.field().numberLocaleOptions?.thousandsSeparator,
65
+ decimalSeparator: this.localeService.getDecimalSeparator(),
66
+ };
67
+ }
68
+ if (!this.field().numberLocaleOptions?.thousandsSeparator) {
69
+ this.field().numberLocaleOptions = {
70
+ currencySymbol: this.field().numberLocaleOptions.currencySymbol,
71
+ decimalSeparator: this.field().numberLocaleOptions.decimalSeparator,
72
+ thousandsSeparator: this.localeService.getGroupingSeparator(),
73
+ };
74
+ }
75
+ if (!this.field().numberLocaleOptions?.currencySymbol) {
76
+ this.field().numberLocaleOptions = {
77
+ decimalSeparator: this.field().numberLocaleOptions.decimalSeparator,
78
+ thousandsSeparator: this.field().numberLocaleOptions.thousandsSeparator,
79
+ currencySymbol: 'R$',
80
+ };
81
+ }
82
+ },
83
+ error: () => (this.field().numberLocaleOptions = this.field().numberLocaleOptions ?? {
84
+ thousandsSeparator: '.',
85
+ decimalSeparator: ',',
86
+ currencySymbol: 'R$',
87
+ }),
88
+ });
89
+ }
90
+ parseAlignTo(field) {
91
+ return field.alignTo === 'right' ? NumberAlignmentOption.RIGHT : NumberAlignmentOption.LEFT;
92
+ }
93
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, deps: [{ token: i1.CurrencyService }, { token: i2.LocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
94
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CurrencyFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefComponent", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <p-inputMask\n class=\"input-mask\"\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [mask]=\"mask\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap !rounded-l-[0px]\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (onInput)=\"_field.onInput ? _field.onInput($event) : null\"\n ></p-inputMask>\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i3.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i5.NumberInputDirective, selector: "input[sNumberInput]", inputs: ["precision", "scale", "decimalSeparator", "thousandsSeparator", "alignTo", "allowNegative", "placeholder"], outputs: ["pasteRejected"] }] });
95
+ }
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
97
+ type: Component,
98
+ args: [{ standalone: true, imports: [FieldLabelComponent, NgClass, InputMaskModule, ReactiveFormsModule, TooltipDirective, NumberInputModule], template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n<div\n class=\"[input-is-invalid>.button-container>.button-container]:border-[1px] [input-is-invalid>.button-container>.button-container]:border-r-0 [input-is-invalid>.button-container>.button-container]:border-criticality-red [input-is-invalid>.button-container>input]:border-[1px] [input-is-invalid>.button-container>input]:border-criticality-red [input-has-focus>.button-container]:border-[1px] [input-has-focus>.button-container]:border-r-0 [input-has-focus>.button-container]:border-primary flex h-[35px] w-full\"\n [ngClass]=\"{\n '[&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-r-0 [&:has(.input-mask.ng-invalid.ng-dirty)>.button-container]:border-criticality-red [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-[1px] [&:has(.input-mask.ng-invalid.ng-dirty)>input]:border-criticality-red':\n hasMask,\n }\"\n>\n @if (_field.currency || _field.numberLocaleOptions?.currencySymbol) {\n <div\n class=\"button-container flex h-full min-w-10 items-center justify-center rounded-l-[3px] border border-r-0 border-[#c1c1cc] px-[8px]\"\n >\n <span class=\"text-[#212533]\">\n {{\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol\n }}\n </span>\n </div>\n }\n\n @if (hasMask) {\n <p-inputMask\n class=\"input-mask\"\n #inputRef\n type=\"text\"\n [inputId]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [mask]=\"mask\"\n [placeholder]=\"_field.placeholder\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n styleClass=\"mousetrap !rounded-l-[0px]\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (onFocus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (onComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (onInput)=\"_field.onInput ? _field.onInput($event) : null\"\n ></p-inputMask>\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"h-full w-full rounded-r-[3px] border border-[#c1c1cc] p-2 outline-none focus:border-[1px] focus:border-primary\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</div>\n\n" }]
99
+ }], ctorParameters: () => [{ type: i1.CurrencyService }, { type: i2.LocaleService }, { type: i0.ChangeDetectorRef }] });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9jdXJyZW5jeS9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsUUFBUSxFQUVSLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxVQUFVLEVBQW1CLE1BQU0sNkNBQTZDLENBQUM7QUFFMUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDNUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7O0FBRTlFOztHQUVH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QyxLQUFLLEVBQUUsQ0FBQyxtQkFBbUIsR0FBRzt3QkFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFvQixDQUFDLGdCQUFnQjt3QkFDcEUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFvQixDQUFDLGtCQUFrQjt3QkFDeEUsY0FBYyxFQUFFLElBQUk7cUJBQ3ZCLENBQUM7Z0JBQ04sQ0FBQztZQUNMLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQ1IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLG1CQUFtQixJQUFJO2dCQUNwRSxrQkFBa0IsRUFBRSxHQUFHO2dCQUN2QixnQkFBZ0IsRUFBRSxHQUFHO2dCQUNyQixjQUFjLEVBQUUsSUFBSTthQUN2QixDQUFDO1NBQ1QsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUEwQjtRQUNuQyxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQztJQUNoRyxDQUFDO3dHQS9FUSxzQkFBc0I7NEZBQXRCLHNCQUFzQixtZENqQ25DLGt6SUEyRkEsNENEN0RjLG1CQUFtQixrR0FBRSxPQUFPLG1GQUFFLGVBQWUscWlCQUFFLG1CQUFtQiwwa0JBQUUsZ0JBQWdCLDJOQUFFLGlCQUFpQjs7NEZBR3hHLHNCQUFzQjtrQkFMbEMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBPbkluaXQsXG4gICAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBjdXJyZW5jaWVzLCBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2N1cnJlbmN5JztcbmltcG9ydCB7IExvY2FsZVNlcnZpY2UgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL2xvY2FsZSc7XG5pbXBvcnQgeyBJbnB1dE1hc2ssIElucHV0TWFza01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRtYXNrJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS1maWVsZC11dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IEN1cnJlbmN5RmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvY3VycmVuY3ktZmllbGQnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vYmFzZS1maWVsZC1jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVtYmVyQWxpZ25tZW50T3B0aW9uLCBOdW1iZXJJbnB1dE1vZHVsZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvbnVtYmVyLWlucHV0JztcbmltcG9ydCB7IEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ZpZWxkLWxhYmVsL2ZpZWxkLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFNob3VsZCB1c2UgYmlnbnVtYmVyIGluc3RlYWRcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRmllbGRMYWJlbENvbXBvbmVudCwgTmdDbGFzcywgSW5wdXRNYXNrTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUb29sdGlwRGlyZWN0aXZlLCBOdW1iZXJJbnB1dE1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICdjdXJyZW5jeS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBCYXNlRmllbGRDb21wb25lbnRDb25maWcsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFJlZkNvbXBvbmVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmIHwgSW5wdXRNYXNrPignaW5wdXRSZWYnKTtcbiAgICBmaWVsZCA9IGlucHV0LnJlcXVpcmVkPEN1cnJlbmN5RmllbGRDb25maWc+KCk7XG4gICAgZm9ybUNvbnRyb2wgPSBpbnB1dC5yZXF1aXJlZDxGb3JtQ29udHJvbD4oKTtcblxuICAgIGZpZWxkVXRpbHMgPSBpbmplY3QoRm9ybUZpZWxkVXRpbHNTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBjdXJyZW5jaWVzID0gY3VycmVuY2llcztcbiAgICBwdWJsaWMgbWFzaz86IHN0cmluZztcblxuICAgIHB1YmxpYyBpbnB1dFJlZiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXRSZWYgPSB0aGlzLmlucHV0UmVmQ29tcG9uZW50KCk7XG4gICAgICAgIGlmICghaW5wdXRSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlucHV0UmVmIGluc3RhbmNlb2YgSW5wdXRNYXNrKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5wdXRSZWYuaW5wdXRWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gaW5wdXRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTG9jYWxlU2VydmljZSgpO1xuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQoKTtcbiAgICAgICAgdGhpcy5tYXNrID0gdHlwZW9mIGZpZWxkLm1hc2sgPT09ICdmdW5jdGlvbicgPyBmaWVsZC5tYXNrKCkgOiBmaWVsZC5tYXNrO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25Mb2NhbGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRMb2NhbGUoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucz8uZGVjaW1hbFNlcGFyYXRvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aG91c2FuZHNTZXBhcmF0b3I6IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5sb2NhbGVTZXJ2aWNlLmdldERlY2ltYWxTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy50aG91c2FuZHNTZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyEuY3VycmVuY3lTeW1ib2wsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMhLmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0R3JvdXBpbmdTZXBhcmF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogdGhpcy5maWVsZCgpLm51bWJlckxvY2FsZU9wdGlvbnMhLmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhvdXNhbmRzU2VwYXJhdG9yOiB0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyEudGhvdXNhbmRzU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sOiAnUiQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+XG4gICAgICAgICAgICAgICAgICAgICh0aGlzLmZpZWxkKCkubnVtYmVyTG9jYWxlT3B0aW9ucyA9IHRoaXMuZmllbGQoKS5udW1iZXJMb2NhbGVPcHRpb25zID8/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRob3VzYW5kc1NlcGFyYXRvcjogJy4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogJywnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVuY3lTeW1ib2w6ICdSJCcsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGFyc2VBbGlnblRvKGZpZWxkOiBDdXJyZW5jeUZpZWxkQ29uZmlnKSB7XG4gICAgICAgIHJldHVybiBmaWVsZC5hbGlnblRvID09PSAncmlnaHQnID8gTnVtYmVyQWxpZ25tZW50T3B0aW9uLlJJR0hUIDogTnVtYmVyQWxpZ25tZW50T3B0aW9uLkxFRlQ7XG4gICAgfVxufVxuXG4iLCJAbGV0IF9maWVsZCA9IGZpZWxkKCk7XG5AaWYgKGlucHV0UmVmKCkpIHtcbiAgICA8cy1maWVsZC1sYWJlbFxuICAgICAgICBbZmllbGRdPVwiX2ZpZWxkXCJcbiAgICAgICAgW2ZpZWxkQ29udGFpbmVyUmVmXT1cImlucHV0UmVmKClcIlxuICAgID48L3MtZmllbGQtbGFiZWw+XG59XG5AbGV0IGhhc01hc2sgPSAhIV9maWVsZC5tYXNrO1xuPGRpdlxuICAgIGNsYXNzPVwiW2lucHV0LWlzLWludmFsaWQ+LmJ1dHRvbi1jb250YWluZXI+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj4uYnV0dG9uLWNvbnRhaW5lcl06Ym9yZGVyLXItMCBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj4uYnV0dG9uLWNvbnRhaW5lcl06Ym9yZGVyLWNyaXRpY2FsaXR5LXJlZCBbaW5wdXQtaXMtaW52YWxpZD4uYnV0dG9uLWNvbnRhaW5lcj5pbnB1dF06Ym9yZGVyLVsxcHhdIFtpbnB1dC1pcy1pbnZhbGlkPi5idXR0b24tY29udGFpbmVyPmlucHV0XTpib3JkZXItY3JpdGljYWxpdHktcmVkIFtpbnB1dC1oYXMtZm9jdXM+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbaW5wdXQtaGFzLWZvY3VzPi5idXR0b24tY29udGFpbmVyXTpib3JkZXItci0wIFtpbnB1dC1oYXMtZm9jdXM+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1wcmltYXJ5IGZsZXggaC1bMzVweF0gdy1mdWxsXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdbJjpoYXMoLmlucHV0LW1hc2submctaW52YWxpZC5uZy1kaXJ0eSk+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1bMXB4XSBbJjpoYXMoLmlucHV0LW1hc2submctaW52YWxpZC5uZy1kaXJ0eSk+LmJ1dHRvbi1jb250YWluZXJdOmJvcmRlci1yLTAgWyY6aGFzKC5pbnB1dC1tYXNrLm5nLWludmFsaWQubmctZGlydHkpPi5idXR0b24tY29udGFpbmVyXTpib3JkZXItY3JpdGljYWxpdHktcmVkIFsmOmhhcyguaW5wdXQtbWFzay5uZy1pbnZhbGlkLm5nLWRpcnR5KT5pbnB1dF06Ym9yZGVyLVsxcHhdIFsmOmhhcyguaW5wdXQtbWFzay5uZy1pbnZhbGlkLm5nLWRpcnR5KT5pbnB1dF06Ym9yZGVyLWNyaXRpY2FsaXR5LXJlZCc6XG4gICAgICAgICAgICBoYXNNYXNrLFxuICAgIH1cIlxuPlxuICAgIEBpZiAoX2ZpZWxkLmN1cnJlbmN5IHx8IF9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5jdXJyZW5jeVN5bWJvbCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1jb250YWluZXIgZmxleCBoLWZ1bGwgbWluLXctMTAgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbC1bM3B4XSBib3JkZXIgYm9yZGVyLXItMCBib3JkZXItWyNjMWMxY2NdIHB4LVs4cHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LVsjMjEyNTMzXVwiPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgIF9maWVsZC5jdXJyZW5jeVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBjdXJyZW5jeVNlcnZpY2UuZ2V0Q3VycmVuY3lTeW1ib2woeyBjdXJyZW5jeTogX2ZpZWxkLmN1cnJlbmN5KCkgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LmN1cnJlbmN5U3ltYm9sXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChoYXNNYXNrKSB7XG4gICAgICAgIDxwLWlucHV0TWFza1xuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1tYXNrXCJcbiAgICAgICAgICAgICNpbnB1dFJlZlxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW2lucHV0SWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgIFtuYW1lXT1cIl9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbCgpXCJcbiAgICAgICAgICAgIFttYXNrXT1cIm1hc2tcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIl9maWVsZC5wbGFjZWhvbGRlclwiXG4gICAgICAgICAgICBzbG90Q2hhcj1cIl9cIlxuICAgICAgICAgICAgW3NUb29sdGlwXT1cIl9maWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICBbc2hvd0RlbGF5XT1cIjUwMFwiXG4gICAgICAgICAgICBzdHlsZUNsYXNzPVwibW91c2V0cmFwICFyb3VuZGVkLWwtWzBweF1cIlxuICAgICAgICAgICAgKG9uQmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAob25Gb2N1cyk9XCJfZmllbGQub25Gb2N1cyA/IF9maWVsZC5vbkZvY3VzKCRldmVudCkgOiBudWxsXCJcbiAgICAgICAgICAgIChvbkNvbXBsZXRlKT1cIl9maWVsZC5vbkNvbXBsZXRlID8gX2ZpZWxkLm9uQ29tcGxldGUoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgICAgICAgKG9uSW5wdXQpPVwiX2ZpZWxkLm9uSW5wdXQgPyBfZmllbGQub25JbnB1dCgkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgID48L3AtaW5wdXRNYXNrPlxuICAgIH0gQGVsc2UgaWYgKCFoYXNNYXNrKSB7XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0UmVmXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbaWRdPVwiX2ZpZWxkLmlkIHx8IF9maWVsZC5uYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaC1mdWxsIHctZnVsbCByb3VuZGVkLXItWzNweF0gYm9yZGVyIGJvcmRlci1bI2MxYzFjY10gcC0yIG91dGxpbmUtbm9uZSBmb2N1czpib3JkZXItWzFweF0gZm9jdXM6Ym9yZGVyLXByaW1hcnlcIlxuICAgICAgICAgICAgW25hbWVdPVwiX2ZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sKClcIlxuICAgICAgICAgICAgc051bWJlcklucHV0XG4gICAgICAgICAgICBbcHJlY2lzaW9uXT1cIlxuICAgICAgICAgICAgICAgIF9maWVsZC5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICAgICAgPyBmaWVsZFV0aWxzLmlzRnVuY3Rpb24oX2ZpZWxkLnByZWNpc2lvbilcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy50cmlnZ2VyKF9maWVsZC5wcmVjaXNpb24pXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9maWVsZC5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICAgICAgOiBfZmllbGQuY3VycmVuY3kgJiYgX2ZpZWxkLmN1cnJlbmN5KClcbiAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJlbmNpZXNbX2ZpZWxkLmN1cnJlbmN5KCldLnByZWNpc2lvblxuICAgICAgICAgICAgICAgICAgICAgIDogMTVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc2NhbGVdPVwiXG4gICAgICAgICAgICAgICAgX2ZpZWxkLnNjYWxlXG4gICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy5pc0Z1bmN0aW9uKF9maWVsZC5zY2FsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZmllbGRVdGlscy50cmlnZ2VyKF9maWVsZC5zY2FsZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLnNjYWxlXG4gICAgICAgICAgICAgICAgICAgIDogX2ZpZWxkLmN1cnJlbmN5ICYmIF9maWVsZC5jdXJyZW5jeSgpXG4gICAgICAgICAgICAgICAgICAgICAgPyBjdXJyZW5jaWVzW19maWVsZC5jdXJyZW5jeSgpXS5zY2FsZVxuICAgICAgICAgICAgICAgICAgICAgIDogMlxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtkZWNpbWFsU2VwYXJhdG9yXT1cIl9maWVsZC5udW1iZXJMb2NhbGVPcHRpb25zPy5kZWNpbWFsU2VwYXJhdG9yXCJcbiAgICAgICAgICAgIFt0aG91c2FuZHNTZXBhcmF0b3JdPVwiX2ZpZWxkLm51bWJlckxvY2FsZU9wdGlvbnM/LnRob3VzYW5kc1NlcGFyYXRvclwiXG4gICAgICAgICAgICBbYWxpZ25Ub109XCJwYXJzZUFsaWduVG8oX2ZpZWxkKVwiXG4gICAgICAgICAgICBbc1Rvb2x0aXBdPVwiX2ZpZWxkLnRvb2x0aXBcIlxuICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJfZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW3Nob3dEZWxheV09XCI1MDBcIlxuICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJfZmllbGQuYnJvd3NlckF1dG9jb21wbGV0ZSA/ICdvbicgOiAnb2ZmJ1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCInbW91c2V0cmFwJ1wiXG4gICAgICAgICAgICAoYmx1cik9XCJfZmllbGQub25CbHVyID8gX2ZpZWxkLm9uQmx1cigkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgICAgICAoZm9jdXMpPVwiX2ZpZWxkLm9uRm9jdXMgPyBfZmllbGQub25Gb2N1cygkZXZlbnQpIDogbnVsbFwiXG4gICAgICAgIC8+XG4gICAgfVxuPC9kaXY+XG5cbiJdfQ==