@seniorsistemas/angular-components 19.7.3 → 19.7.4-fix-sds-577-afa523ed

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 (652) hide show
  1. package/accordion/README.md +1 -0
  2. package/accordion/lib/accordion/accordion.component.d.ts +1 -1
  3. package/accordion/lib/accordion/accordion.module.d.ts +1 -6
  4. package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +1 -1
  5. package/alert/README.md +1 -1
  6. package/alert/lib/alert/alert.component.d.ts +1 -1
  7. package/alert/lib/alert/alert.module.d.ts +1 -2
  8. package/autocomplete/README.md +1 -1
  9. package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +1 -1
  10. package/badge/lib/badge/badge.component.d.ts +1 -1
  11. package/badge/lib/badge/badge.module.d.ts +3 -7
  12. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
  13. package/bignumber-input/lib/bignumber-input/bignumber-input.module.d.ts +1 -2
  14. package/breadcrumb/README.md +9 -5
  15. package/button/README.md +1 -0
  16. package/calendar-mask/README.md +4 -2
  17. package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +1 -1
  18. package/calendar-mask/lib/calendar-mask/calendar-mask.module.d.ts +1 -2
  19. package/card/lib/card/card.component.d.ts +1 -1
  20. package/card/lib/card/card.module.d.ts +1 -3
  21. package/chat/lib/chat/chat.component.d.ts +2 -1
  22. package/chat/lib/chat/chat.module.d.ts +3 -6
  23. package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +1 -1
  24. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +1 -1
  25. package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +1 -3
  26. package/chips/lib/chips/chip-item/chip-item.component.d.ts +1 -1
  27. package/chips/lib/chips/chips/chips.component.d.ts +1 -1
  28. package/chips/lib/chips/chips.module.d.ts +1 -6
  29. package/code-editor/README.md +1 -1
  30. package/code-editor/lib/code-editor/code-editor.component.d.ts +1 -1
  31. package/code-editor/lib/code-editor/code-editor.module.d.ts +1 -3
  32. package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +1 -1
  33. package/collapse-link/lib/collapse-link/collapse-link.module.d.ts +1 -2
  34. package/common/deprecated-selector/README.md +120 -47
  35. package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +1 -1
  36. package/common/lib/svg-factory/components/senior-icon/senior-icon.component.d.ts +1 -1
  37. package/common/lib/svg-factory/svg-factory.directive.d.ts +1 -1
  38. package/common/lib/svg-factory/svg-factory.module.d.ts +1 -4
  39. package/confirm-dialog/README.md +3 -1
  40. package/content-generator/README.md +2 -2
  41. package/content-generator/lib/content-generator/content-generator.component.d.ts +2 -1
  42. package/content-generator/lib/content-generator/content-generator.module.d.ts +1 -10
  43. package/control-errors/lib/control-errors/control-errors.component.d.ts +2 -2
  44. package/control-errors/lib/control-errors/control-errors.module.d.ts +1 -3
  45. package/country-phone-picker/README.md +1 -1
  46. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +2 -1
  47. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.d.ts +1 -5
  48. package/currency/README.md +1 -1
  49. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +1 -1
  50. package/custom-fields/lib/custom-fields/custom-fields.module.d.ts +1 -7
  51. package/datepicker/README.md +44 -11
  52. package/datepicker/lib/datepicker/datepicker.component.d.ts +1 -0
  53. package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +3 -5
  54. package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +1 -0
  55. package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +1 -1
  56. package/editable-overlay/lib/editable-overlay/editable-overlay.module.d.ts +1 -2
  57. package/editor/README.md +8 -0
  58. package/empty-state/lib/empty-state/empty-state.component.d.ts +1 -1
  59. package/empty-state/lib/empty-state/empty-state.module.d.ts +1 -3
  60. package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +1 -1
  61. package/esm2022/accordion/lib/accordion/accordion.component.mjs +3 -3
  62. package/esm2022/accordion/lib/accordion/accordion.module.mjs +4 -10
  63. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +17 -8
  64. package/esm2022/alert/lib/alert/alert.component.mjs +4 -4
  65. package/esm2022/alert/lib/alert/alert.module.mjs +4 -6
  66. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +4 -4
  67. package/esm2022/badge/lib/badge/badge.component.mjs +7 -6
  68. package/esm2022/badge/lib/badge/badge.module.mjs +4 -9
  69. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +3 -2
  70. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +4 -7
  71. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +6 -7
  72. package/esm2022/button/lib/button/button.component.mjs +3 -3
  73. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +3 -2
  74. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +4 -6
  75. package/esm2022/card/lib/card/card.component.mjs +4 -4
  76. package/esm2022/card/lib/card/card.module.mjs +4 -7
  77. package/esm2022/chat/lib/chat/chat.component.mjs +8 -7
  78. package/esm2022/chat/lib/chat/chat.module.mjs +7 -11
  79. package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +6 -6
  80. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +4 -5
  81. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +6 -7
  82. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +4 -7
  83. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +5 -5
  84. package/esm2022/chips/lib/chips/chips/chips.component.mjs +7 -7
  85. package/esm2022/chips/lib/chips/chips.module.mjs +4 -10
  86. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +4 -4
  87. package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +8 -11
  88. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +4 -4
  89. package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +4 -6
  90. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +3 -3
  91. package/esm2022/common/lib/svg-factory/components/senior-icon/senior-icon.component.mjs +3 -3
  92. package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +4 -3
  93. package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +4 -14
  94. package/esm2022/content-generator/lib/content-generator/content-generator.component.mjs +28 -16
  95. package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +4 -42
  96. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +3 -3
  97. package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +6 -9
  98. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +14 -14
  99. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +6 -28
  100. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +6 -6
  101. package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +9 -35
  102. package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +6 -3
  103. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +3 -3
  104. package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +4 -6
  105. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +3 -3
  106. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +3 -3
  107. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +5 -3
  108. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +3 -3
  109. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +3 -2
  110. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +4 -6
  111. package/esm2022/editor/lib/editor/editor.component.mjs +4 -4
  112. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +4 -4
  113. package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +4 -7
  114. package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +4 -4
  115. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +5 -5
  116. package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +4 -7
  117. package/esm2022/file-picker/lib/file-picker/file-picker.component.mjs +10 -11
  118. package/esm2022/file-picker/lib/file-picker/file-picker.module.mjs +4 -11
  119. package/esm2022/gantt/lib/gantt/components/side-table/side-table.component.mjs +5 -5
  120. package/esm2022/gantt/lib/gantt/gantt.component.mjs +4 -4
  121. package/esm2022/gantt/lib/gantt/gantt.module.mjs +4 -12
  122. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +6 -7
  123. package/esm2022/global-search/lib/global-search/global-search.component.mjs +17 -10
  124. package/esm2022/global-search/lib/global-search/global-search.module.mjs +15 -33
  125. package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +5 -4
  126. package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +4 -4
  127. package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +4 -7
  128. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +5 -5
  129. package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +3 -2
  130. package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +5 -14
  131. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +7 -8
  132. package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +4 -10
  133. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +4 -3
  134. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +4 -6
  135. package/esm2022/info-sign/lib/info-sign/components/info-sign/info-sign.component.mjs +6 -6
  136. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +4 -3
  137. package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +4 -8
  138. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +14 -10
  139. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.mjs +7 -6
  140. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +6 -6
  141. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +34 -20
  142. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +6 -6
  143. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.mjs +7 -7
  144. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +16 -15
  145. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +3 -3
  146. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +4 -89
  147. package/esm2022/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.mjs +6 -6
  148. package/esm2022/insights/lib/insights/components/insights-card/insights-card.component.mjs +11 -10
  149. package/esm2022/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.mjs +7 -7
  150. package/esm2022/insights/lib/insights/insights.component.mjs +4 -5
  151. package/esm2022/insights/lib/insights/insights.module.mjs +4 -34
  152. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +18 -22
  153. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +9 -8
  154. package/esm2022/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +6 -6
  155. package/esm2022/kanban/lib/kanban/kanban.component.mjs +20 -11
  156. package/esm2022/kanban/lib/kanban/kanban.module.mjs +4 -41
  157. package/esm2022/label-value/lib/label-value/label-value.component.mjs +8 -8
  158. package/esm2022/label-value/lib/label-value/label-value.module.mjs +4 -10
  159. package/esm2022/lib/locale/fallback.mjs +3 -2
  160. package/esm2022/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.mjs +3 -3
  161. package/esm2022/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.mjs +4 -4
  162. package/esm2022/loading-state/lib/loading-state/components/progress-bar-indicator/progress-bar-indicator.component.mjs +4 -4
  163. package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +13 -7
  164. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +3 -2
  165. package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +4 -20
  166. package/esm2022/locale/lib/locale/locale.module.mjs +6 -8
  167. package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +6 -5
  168. package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +16 -15
  169. package/esm2022/locale/lib/locale/pipes/localized-currency-impure.pipe.mjs +6 -5
  170. package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +11 -10
  171. package/esm2022/locale/lib/locale/pipes/localized-date-impure.pipe.mjs +6 -5
  172. package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +3 -2
  173. package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +10 -7
  174. package/esm2022/locale/lib/locale/pipes/localized-time-impure.pipe.mjs +6 -5
  175. package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +3 -2
  176. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +7 -4
  177. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +4 -6
  178. package/esm2022/mask/lib/mask/mask-formatter.module.mjs +3 -3
  179. package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +3 -2
  180. package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +3 -2
  181. package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +5 -7
  182. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +8 -8
  183. package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +4 -8
  184. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +3 -2
  185. package/esm2022/number-input/lib/number-input/number-input.module.mjs +4 -6
  186. package/esm2022/numeric/lib/numeric.module.mjs +4 -6
  187. package/esm2022/numeric/lib/numeric.pipe.mjs +6 -3
  188. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +8 -3
  189. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +7 -8
  190. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +6 -8
  191. package/esm2022/object-card/lib/object-card/object-card.component.mjs +6 -6
  192. package/esm2022/object-card/lib/object-card/object-card.module.mjs +4 -10
  193. package/esm2022/paginator/lib/paginator/paginator.component.mjs +3 -3
  194. package/esm2022/panel/lib/panel/panel.component.mjs +15 -7
  195. package/esm2022/panel/lib/panel/panel.module.mjs +7 -10
  196. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +4 -4
  197. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +4 -3
  198. package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +4 -7
  199. package/esm2022/pin-code-field/lib/pin-code-field/pin-code-field.component.mjs +5 -6
  200. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +9 -10
  201. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +5 -11
  202. package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +8 -6
  203. package/esm2022/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.mjs +4 -4
  204. package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +5 -5
  205. package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +4 -9
  206. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +5 -5
  207. package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +6 -14
  208. package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +3 -4
  209. package/esm2022/select/lib/select/select.component.mjs +3 -5
  210. package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +5 -5
  211. package/esm2022/select-button/lib/select-button/select-button.component.mjs +6 -6
  212. package/esm2022/select-button/lib/select-button/select-button.module.mjs +6 -13
  213. package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +5 -5
  214. package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +7 -10
  215. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +5 -5
  216. package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +4 -7
  217. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.mjs +6 -6
  218. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +7 -9
  219. package/esm2022/slider/lib/slider/slider.component.mjs +6 -6
  220. package/esm2022/slider/lib/slider/slider.module.mjs +6 -9
  221. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +4 -5
  222. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +5 -13
  223. package/esm2022/split-button/lib/split-button/split-button.component.mjs +5 -5
  224. package/esm2022/split-button/lib/split-button/split-button.module.mjs +4 -6
  225. package/esm2022/star-rating/star-rating/star-rating.component.mjs +3 -3
  226. package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +6 -6
  227. package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +4 -8
  228. package/esm2022/stepper/lib/stepper/stepper.component.mjs +6 -6
  229. package/esm2022/stepper/lib/stepper/stepper.module.mjs +4 -7
  230. package/esm2022/structure/lib/structure/footer.component.mjs +3 -2
  231. package/esm2022/structure/lib/structure/header.component.mjs +5 -4
  232. package/esm2022/structure/lib/structure/structure.module.mjs +5 -7
  233. package/esm2022/switch/lib/switch/switch.component.mjs +4 -5
  234. package/esm2022/switch/lib/switch/switch.module.mjs +4 -6
  235. package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +6 -3
  236. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +17 -9
  237. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +4 -4
  238. package/esm2022/table/lib/table/table.module.mjs +4 -34
  239. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +19 -16
  240. package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +4 -8
  241. package/esm2022/template/lib/template/template.module.mjs +4 -5
  242. package/esm2022/text-area/lib/text-area/text-area.component.mjs +9 -9
  243. package/esm2022/text-area/lib/text-area.module.mjs +5 -24
  244. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +5 -5
  245. package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +7 -9
  246. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.mjs +6 -6
  247. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.mjs +9 -9
  248. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +25 -14
  249. package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +4 -4
  250. package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +6 -14
  251. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +7 -7
  252. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +3 -3
  253. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +4 -4
  254. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +6 -6
  255. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +4 -3
  256. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +4 -20
  257. package/esm2022/tile/lib/tile/tile.component.mjs +6 -6
  258. package/esm2022/tile/lib/tile/tile.module.mjs +4 -7
  259. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.mjs +6 -6
  260. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.mjs +5 -5
  261. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.mjs +4 -4
  262. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.mjs +5 -5
  263. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.mjs +3 -3
  264. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.mjs +5 -5
  265. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.mjs +7 -7
  266. package/esm2022/timeline/lib/timeline/timeline.component.mjs +5 -6
  267. package/esm2022/timeline/lib/timeline/timeline.module.mjs +4 -20
  268. package/esm2022/toast/lib/toast/toast.component.mjs +4 -4
  269. package/esm2022/toast/lib/toast/toast.module.mjs +6 -7
  270. package/esm2022/token-list/lib/token-list/token-list.component.mjs +4 -4
  271. package/esm2022/token-list/lib/token-list/token-list.module.mjs +4 -6
  272. package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +3 -4
  273. package/esm2022/topbar/lib/topbar/topbar.component.mjs +3 -3
  274. package/esm2022/topbar/lib/topbar/topbar.module.mjs +7 -10
  275. package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +6 -5
  276. package/esm2022/tree/lib/tree/tree.component.mjs +5 -5
  277. package/esm2022/tree/lib/tree/tree.module.mjs +4 -10
  278. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +5 -5
  279. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +4 -6
  280. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +20 -17
  281. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  282. package/fesm2022/seniorsistemas-angular-components-alert.mjs +6 -8
  283. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
  284. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +3 -3
  285. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  286. package/fesm2022/seniorsistemas-angular-components-badge.mjs +8 -12
  287. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
  288. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +5 -7
  289. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  290. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -6
  291. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  292. package/fesm2022/seniorsistemas-angular-components-button.mjs +2 -2
  293. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  294. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +5 -6
  295. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
  296. package/fesm2022/seniorsistemas-angular-components-card.mjs +7 -9
  297. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
  298. package/fesm2022/seniorsistemas-angular-components-chat.mjs +15 -16
  299. package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
  300. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +7 -10
  301. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  302. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +3 -4
  303. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -1
  304. package/fesm2022/seniorsistemas-angular-components-chips.mjs +14 -18
  305. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  306. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +5 -7
  307. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  308. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +6 -8
  309. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
  310. package/fesm2022/seniorsistemas-angular-components-common.mjs +9 -16
  311. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  312. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +28 -52
  313. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  314. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +5 -8
  315. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  316. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +17 -37
  317. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  318. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +12 -35
  319. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  320. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +5 -2
  321. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -1
  322. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +2 -2
  323. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -1
  324. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +12 -11
  325. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  326. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +5 -6
  327. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
  328. package/fesm2022/seniorsistemas-angular-components-editor.mjs +3 -3
  329. package/fesm2022/seniorsistemas-angular-components-editor.mjs.map +1 -1
  330. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +8 -11
  331. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  332. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +6 -9
  333. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  334. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +11 -18
  335. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  336. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +9 -16
  337. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  338. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +31 -47
  339. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  340. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +8 -10
  341. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
  342. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +10 -17
  343. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  344. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +8 -14
  345. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  346. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +5 -6
  347. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
  348. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +9 -11
  349. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  350. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +64 -121
  351. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  352. package/fesm2022/seniorsistemas-angular-components-insights.mjs +22 -47
  353. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
  354. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +86 -113
  355. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  356. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +10 -16
  357. package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
  358. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +40 -46
  359. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
  360. package/fesm2022/seniorsistemas-angular-components-locale.mjs +40 -31
  361. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  362. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +9 -8
  363. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
  364. package/fesm2022/seniorsistemas-angular-components-mask.mjs +4 -3
  365. package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
  366. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +55 -56
  367. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
  368. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +9 -13
  369. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  370. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +6 -6
  371. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
  372. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +7 -2
  373. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
  374. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +8 -7
  375. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
  376. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +14 -21
  377. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  378. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +2 -2
  379. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -1
  380. package/fesm2022/seniorsistemas-angular-components-panel.mjs +17 -11
  381. package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
  382. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +8 -9
  383. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
  384. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +4 -5
  385. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
  386. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +11 -17
  387. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  388. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +15 -15
  389. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
  390. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +8 -15
  391. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
  392. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +9 -15
  393. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  394. package/fesm2022/seniorsistemas-angular-components-select.mjs +4 -6
  395. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  396. package/fesm2022/seniorsistemas-angular-components-shared.mjs +8 -11
  397. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  398. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +7 -10
  399. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -1
  400. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +7 -9
  401. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
  402. package/fesm2022/seniorsistemas-angular-components-slider.mjs +8 -11
  403. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  404. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +7 -15
  405. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  406. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +6 -8
  407. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  408. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +2 -2
  409. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -1
  410. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +8 -12
  411. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
  412. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +8 -11
  413. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
  414. package/fesm2022/seniorsistemas-angular-components-structure.mjs +18 -18
  415. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
  416. package/fesm2022/seniorsistemas-angular-components-switch.mjs +6 -9
  417. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  418. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +20 -21
  419. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  420. package/fesm2022/seniorsistemas-angular-components-table.mjs +27 -45
  421. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  422. package/fesm2022/seniorsistemas-angular-components-template.mjs +3 -4
  423. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
  424. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +12 -30
  425. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  426. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +6 -8
  427. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  428. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +45 -37
  429. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  430. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +14 -25
  431. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  432. package/fesm2022/seniorsistemas-angular-components-tile.mjs +8 -12
  433. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  434. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +58 -124
  435. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
  436. package/fesm2022/seniorsistemas-angular-components-toast.mjs +4 -5
  437. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  438. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +6 -8
  439. package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
  440. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +2 -2
  441. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  442. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +5 -8
  443. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
  444. package/fesm2022/seniorsistemas-angular-components-tree.mjs +10 -13
  445. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  446. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +6 -8
  447. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  448. package/fesm2022/seniorsistemas-angular-components.mjs +2 -1
  449. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -1
  450. package/fieldset/lib/fieldset/fieldset.component.d.ts +1 -1
  451. package/fieldset/lib/fieldset/fieldset.module.d.ts +1 -3
  452. package/file-picker/lib/file-picker/file-picker.component.d.ts +1 -1
  453. package/file-picker/lib/file-picker/file-picker.module.d.ts +1 -7
  454. package/gantt/lib/gantt/components/side-table/side-table.component.d.ts +1 -1
  455. package/gantt/lib/gantt/gantt.component.d.ts +1 -1
  456. package/gantt/lib/gantt/gantt.module.d.ts +1 -4
  457. package/global-search/README.md +12 -1
  458. package/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.d.ts +1 -1
  459. package/global-search/lib/global-search/global-search.component.d.ts +1 -1
  460. package/global-search/lib/global-search/global-search.module.d.ts +8 -12
  461. package/grid-menu/README.md +27 -2
  462. package/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.d.ts +1 -1
  463. package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +1 -1
  464. package/grid-menu/lib/grid-menu/grid-menu.module.d.ts +1 -3
  465. package/help-popover/README.md +2 -2
  466. package/help-popover/lib/help-popover/help-popover/help-popover.component.d.ts +1 -1
  467. package/help-popover/lib/help-popover/help-popover.directive.d.ts +1 -1
  468. package/help-popover/lib/help-popover/help-popover.module.d.ts +2 -5
  469. package/ia-insight/README.md +1 -1
  470. package/image-cropper/README.md +2 -2
  471. package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +1 -1
  472. package/image-cropper/lib/image-cropper/image-cropper.module.d.ts +3 -8
  473. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +1 -1
  474. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.d.ts +1 -2
  475. package/info-sign/README.md +1 -1
  476. package/info-sign/lib/info-sign/components/info-sign/info-sign.component.d.ts +2 -2
  477. package/info-sign/lib/info-sign/info-sign.directive.d.ts +1 -1
  478. package/info-sign/lib/info-sign/info-sign.module.d.ts +1 -4
  479. package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +7 -6
  480. package/inline-edit/lib/inline-edit/components/fields/inline-edit-content-generator/inline-edit-content-generator.component.d.ts +4 -4
  481. package/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.d.ts +4 -4
  482. package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +5 -4
  483. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +4 -4
  484. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.d.ts +4 -4
  485. package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +5 -4
  486. package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +1 -1
  487. package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +1 -23
  488. package/insights/lib/insights/components/insights-card/components/insights-card-loader/insights-card-loader.component.d.ts +1 -1
  489. package/insights/lib/insights/components/insights-card/insights-card.component.d.ts +2 -1
  490. package/insights/lib/insights/components/insights-sidebar/insights-sidebar.component.d.ts +1 -1
  491. package/insights/lib/insights/insights.component.d.ts +1 -1
  492. package/insights/lib/insights/insights.module.d.ts +3 -12
  493. package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +5 -5
  494. package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +4 -4
  495. package/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +1 -1
  496. package/kanban/lib/kanban/kanban.component.d.ts +1 -1
  497. package/kanban/lib/kanban/kanban.module.d.ts +3 -13
  498. package/label-value/lib/label-value/label-value.component.d.ts +1 -1
  499. package/label-value/lib/label-value/label-value.module.d.ts +1 -6
  500. package/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.d.ts +1 -1
  501. package/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.d.ts +1 -1
  502. package/loading-state/lib/loading-state/components/progress-bar-indicator/progress-bar-indicator.component.d.ts +1 -1
  503. package/loading-state/lib/loading-state/loading-state.component.d.ts +1 -1
  504. package/loading-state/lib/loading-state/loading-state.directive.d.ts +1 -1
  505. package/loading-state/lib/loading-state/loading-state.module.d.ts +1 -6
  506. package/locale/lib/locale/locale.module.d.ts +1 -2
  507. package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +3 -3
  508. package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +3 -3
  509. package/locale/lib/locale/pipes/localized-currency-impure.pipe.d.ts +3 -3
  510. package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +3 -3
  511. package/locale/lib/locale/pipes/localized-date-impure.pipe.d.ts +3 -3
  512. package/locale/lib/locale/pipes/localized-date.pipe.d.ts +1 -1
  513. package/locale/lib/locale/pipes/localized-number.pipe.d.ts +2 -2
  514. package/locale/lib/locale/pipes/localized-time-impure.pipe.d.ts +3 -3
  515. package/locale/lib/locale/pipes/localized-time.pipe.d.ts +1 -1
  516. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +2 -1
  517. package/localized-number-input/lib/localized-number-input/localized-number-input.module.d.ts +1 -2
  518. package/mask/lib/mask/mask-formatter.module.d.ts +1 -1
  519. package/mask/lib/mask/mask-formatter.pipe.d.ts +1 -1
  520. package/mouse-events/lib/mouse-events/long-press.directive.d.ts +1 -1
  521. package/mouse-events/lib/mouse-events/mouse-events.module.d.ts +3 -4
  522. package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +1 -1
  523. package/navigation-button/lib/navigation-button/navigation-button.module.d.ts +1 -4
  524. package/number-input/lib/number-input/number-input.directive.d.ts +1 -1
  525. package/number-input/lib/number-input/number-input.module.d.ts +1 -2
  526. package/numeric/lib/numeric.module.d.ts +1 -2
  527. package/numeric/lib/numeric.pipe.d.ts +1 -1
  528. package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +1 -0
  529. package/object-card/README.md +13 -1
  530. package/object-card/lib/object-card/elements/field/object-card-field.component.d.ts +1 -1
  531. package/object-card/lib/object-card/elements/main/object-card-main.component.d.ts +1 -1
  532. package/object-card/lib/object-card/object-card.component.d.ts +1 -1
  533. package/object-card/lib/object-card/object-card.module.d.ts +5 -10
  534. package/package.json +1 -1
  535. package/panel/lib/panel/panel.component.d.ts +6 -1
  536. package/panel/lib/panel/panel.module.d.ts +2 -4
  537. package/password-strength/lib/password-strength/password-strength.component.d.ts +1 -1
  538. package/password-strength/lib/password-strength/password-strength.directive.d.ts +1 -1
  539. package/password-strength/lib/password-strength/password-strength.module.d.ts +2 -4
  540. package/picklist/README.md +74 -2
  541. package/product-header/README.md +1 -1
  542. package/profile-picture-picker/README.md +1 -1
  543. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +1 -1
  544. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.d.ts +1 -7
  545. package/progressbar/README.md +0 -1
  546. package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +2 -1
  547. package/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.d.ts +1 -1
  548. package/progressbar/lib/progressbar/progressbar.component.d.ts +1 -1
  549. package/progressbar/lib/progressbar/progressbar.module.d.ts +1 -5
  550. package/radio-button/README.md +0 -1
  551. package/rating-scale/README.md +1 -1
  552. package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +2 -2
  553. package/rating-scale/lib/rating-scale/rating-scale.module.d.ts +1 -3
  554. package/schematics/migrations/migrate-steps-to-stepper/index.d.ts +2 -0
  555. package/schematics/migrations/migrate-steps-to-stepper/index.js +104 -0
  556. package/schematics/migrations/migrate-steps-to-stepper/index.js.map +1 -0
  557. package/schematics/migrations/migrate-steps-to-stepper/index.test.d.ts +1 -0
  558. package/schematics/migrations/migrate-steps-to-stepper/index.test.js +206 -0
  559. package/schematics/migrations/migrate-steps-to-stepper/index.test.js.map +1 -0
  560. package/schematics/migrations.json +5 -0
  561. package/schematics/utils/ast-utils.d.ts +13 -0
  562. package/schematics/utils/ast-utils.js +76 -0
  563. package/schematics/utils/ast-utils.js.map +1 -1
  564. package/select/lib/select/select.component.d.ts +1 -1
  565. package/select-button/README.md +1 -1
  566. package/select-button/lib/select-button/components/select-button-item/select-button-item.component.d.ts +1 -1
  567. package/select-button/lib/select-button/select-button.component.d.ts +1 -1
  568. package/select-button/lib/select-button/select-button.module.d.ts +1 -3
  569. package/shared/lib/shared/border-button/border-button.component.d.ts +1 -1
  570. package/shared/lib/shared/border-button/border-button.module.d.ts +1 -3
  571. package/sidebar/lib/sidebar/sidebar.component.d.ts +1 -1
  572. package/sidebar/lib/sidebar/sidebar.module.d.ts +2 -4
  573. package/slide-in-bar/README.md +1 -1
  574. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.component.d.ts +1 -1
  575. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +1 -2
  576. package/slider/README.md +1 -1
  577. package/slider/lib/slider/slider.component.d.ts +1 -1
  578. package/slider/lib/slider/slider.module.d.ts +1 -3
  579. package/speech-recognition/README.md +1 -1
  580. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +1 -1
  581. package/speech-recognition/lib/speech-recognition/speech-recognition.module.d.ts +1 -3
  582. package/split-button/README.md +1 -1
  583. package/split-button/lib/split-button/split-button.component.d.ts +1 -1
  584. package/split-button/lib/split-button/split-button.module.d.ts +1 -2
  585. package/spotlight/README.md +1 -1
  586. package/star-rating/README.md +1 -1
  587. package/stats-card/README.md +1 -1
  588. package/stats-card/lib/stats-card/stats-card.component.d.ts +1 -1
  589. package/stats-card/lib/stats-card/stats-card.module.d.ts +1 -4
  590. package/stepper/lib/stepper/stepper.component.d.ts +1 -1
  591. package/stepper/lib/stepper/stepper.module.d.ts +1 -3
  592. package/structure/lib/structure/footer.component.d.ts +1 -1
  593. package/structure/lib/structure/header.component.d.ts +1 -1
  594. package/structure/lib/structure/structure.module.d.ts +1 -2
  595. package/switch/lib/switch/switch.component.d.ts +1 -1
  596. package/switch/lib/switch/switch.module.d.ts +1 -2
  597. package/table/README.md +9 -8
  598. package/table/lib/table/row-toggler/row-toggler.directive.d.ts +1 -1
  599. package/table/lib/table/table-column/table-columns.component.d.ts +1 -1
  600. package/table/lib/table/table-paging/table-paging.component.d.ts +1 -1
  601. package/table/lib/table/table.module.d.ts +5 -12
  602. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +1 -1
  603. package/table-header/lib/table-header/table-header-checkox.module.d.ts +1 -4
  604. package/template/README.md +177 -0
  605. package/template/lib/template/template.module.d.ts +2 -3
  606. package/text-area/lib/text-area/text-area.component.d.ts +1 -1
  607. package/text-area/lib/text-area.module.d.ts +1 -5
  608. package/text-area-ia/README.md +1 -1
  609. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +1 -1
  610. package/thumbnail/lib/thumbnail/thumbnail.module.d.ts +1 -2
  611. package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +1 -1
  612. package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +2 -2
  613. package/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +5 -4
  614. package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +1 -1
  615. package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +1 -8
  616. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +1 -1
  617. package/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +1 -1
  618. package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +1 -1
  619. package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +1 -1
  620. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +1 -1
  621. package/tiered-menu/lib/tiered-menu/tiered-menu.module.d.ts +1 -6
  622. package/tile/lib/tile/tile.component.d.ts +1 -1
  623. package/tile/lib/tile/tile.module.d.ts +3 -5
  624. package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +1 -1
  625. package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +1 -1
  626. package/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.d.ts +1 -1
  627. package/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.d.ts +1 -1
  628. package/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.d.ts +1 -1
  629. package/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +1 -1
  630. package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +1 -1
  631. package/timeline/lib/timeline/timeline.component.d.ts +1 -1
  632. package/timeline/lib/timeline/timeline.module.d.ts +1 -5
  633. package/toast/lib/toast/toast.component.d.ts +1 -1
  634. package/toast/lib/toast/toast.module.d.ts +3 -3
  635. package/token-list/lib/token-list/token-list.component.d.ts +1 -1
  636. package/token-list/lib/token-list/token-list.module.d.ts +1 -2
  637. package/tooltip/lib/tooltip/tooltip.module.d.ts +1 -2
  638. package/topbar/lib/topbar/topbar.component.d.ts +1 -1
  639. package/topbar/lib/topbar/topbar.module.d.ts +3 -5
  640. package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +1 -1
  641. package/tree/lib/tree/tree.component.d.ts +1 -1
  642. package/tree/lib/tree/tree.module.d.ts +1 -6
  643. package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +1 -1
  644. package/workspace-switch/lib/workspace-switch/workspace-switch.module.d.ts +1 -2
  645. package/esm2022/insights/lib/insights/components/insights-card/components/index.mjs +0 -2
  646. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.mjs +0 -20
  647. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.mjs +0 -19
  648. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.mjs +0 -33
  649. package/insights/lib/insights/components/insights-card/components/index.d.ts +0 -1
  650. package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.d.ts +0 -10
  651. package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.d.ts +0 -9
  652. package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.d.ts +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-custom-fields.mjs","sources":["../../projects/angular-components/custom-fields/src/lib/custom-fields/custom-fields.service.ts","../../projects/angular-components/custom-fields/src/lib/custom-fields/models/custom-field-type.ts","../../projects/angular-components/custom-fields/src/lib/custom-fields/custom-fields.component.ts","../../projects/angular-components/custom-fields/src/lib/custom-fields/custom-fields.component.html","../../projects/angular-components/custom-fields/src/lib/custom-fields/custom-fields.module.ts","../../projects/angular-components/custom-fields/src/seniorsistemas-angular-components-custom-fields.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { CustomFieldsResponse } from './models';\n\n@Injectable()\nexport class CustomFieldsService {\n private http = inject(HttpClient);\n\n\n public getCustomFields(\n domain: string,\n service: string,\n entity: string,\n endpoint: string,\n ): Observable<CustomFieldsResponse> {\n const entityDto = { entityId: { domain_: domain, service_: service, id: entity } };\n return this.http.post<CustomFieldsResponse>(endpoint, entityDto);\n }\n\n public getFileLocationUrl(\n dto: {\n domain: string;\n service: string;\n entityName: string;\n field: string;\n fileName: string;\n },\n endpoint: string,\n ): Observable<any> {\n return this.http.post(endpoint, dto);\n }\n\n public uploadTempFile(location: string, file: File) {\n return this.http.put(location, file, {\n reportProgress: true,\n observe: 'events',\n headers: { 'Content-Type': file.type },\n });\n }\n\n public requestAccess(objectId: string, endpoint: string) {\n return this.http.post(endpoint, { objectId });\n }\n\n public getFile(permanentUrl: string) {\n return this.http.get(permanentUrl, { responseType: 'blob' });\n }\n}\n\n","import { FieldType } from '@seniorsistemas/angular-components/dynamic-form';\n\nexport enum CustomFieldType {\n String = 'String',\n Boolean = 'Boolean',\n Integer = 'Integer',\n Double = 'Double',\n Date = 'Date',\n DateTime = 'DateTime',\n LocalDateTime = 'LocalDateTime',\n Time = 'Time',\n Money = 'Money',\n Blob = 'Blob',\n Binary = 'Binary',\n Any = 'Any',\n Enum = 'Enum',\n}\n\nexport type CustomFieldsTypeAPI = 'Enumeration' | keyof typeof CustomFieldType;\n\nexport const apiTypesToDynamicFormType = (type: CustomFieldsTypeAPI): FieldType => {\n switch (type) {\n case 'String':\n case 'Any':\n return 'string';\n case 'Binary':\n return 'binary';\n case 'Blob':\n return 'blob';\n case 'DateTime':\n case 'Time':\n case 'Date':\n case 'LocalDateTime':\n return 'date';\n case 'Enumeration':\n case 'Enum':\n return 'enum';\n case 'Boolean':\n return 'boolean';\n case 'Money':\n case 'Double':\n case 'Integer':\n return 'legacyNumber';\n }\n};\n\nexport interface FieldFromAPI {\n id: string;\n type: CustomFieldsTypeAPI;\n customizable: boolean;\n customization: FieldCustomization;\n}\n\nexport interface FieldCustomization {\n active: boolean;\n label: string;\n tooltip: string;\n mask?: string;\n validationRegex?: string;\n customEnumeration?: CustomEnumeration;\n infoSign?: string;\n mandatory?: boolean;\n}\n\nexport interface CustomEnumeration {\n multiple?: boolean;\n values: EnumValue[];\n}\n\nexport interface EnumValue {\n key: string;\n value: string;\n}\n\nexport interface CustomFieldsResponse {\n entity_: {\n active: boolean;\n fields: FieldFromAPI[];\n };\n}\n\n","import { HttpErrorResponse, HttpEventType } from '@angular/common/http';\nimport { AfterViewInit, Component, ElementRef, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, inject } from '@angular/core';\nimport {\n ControlContainer,\n ControlValueAccessor,\n FormArray,\n FormControl,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validator,\n ValidatorFn,\n Validators,\n} from '@angular/forms';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { TranslateService } from '@ngx-translate/core';\nimport BigNumber from 'bignumber.js';\nimport { BehaviorSubject, forkJoin, Observable, of, Subject, throwError } from 'rxjs';\nimport { catchError, finalize, takeUntil } from 'rxjs/operators';\n\nimport {\n BlobFieldConfig,\n BooleanFieldConfig,\n DynamicStructure,\n DynamicType,\n dynamicTypeToDynamicStructure,\n ExpandedDynamicType,\n NumberFieldConfig,\n SelectFieldConfig,\n StructureType,\n} from '@seniorsistemas/angular-components/dynamic-form';\nimport { FileDto } from '@seniorsistemas/angular-components/file-upload';\nimport {\n CalendarLocaleOptions,\n LocaleOptions,\n LocaleService,\n NumberLocaleOptions,\n} from '@seniorsistemas/angular-components/locale';\nimport moment from 'moment';\nimport { CustomFieldsService } from './custom-fields.service';\nimport {\n apiTypesToDynamicFormType,\n CustomFieldsResponse,\n CustomFieldsTypeAPI,\n CustomFieldType,\n FieldFromAPI,\n} from './models';\n\n/**\n * @description Componente que carrega e renderiza campos customizados dinamicamente\n * a partir da API de customização de campos do Senior. Realiza chamadas HTTP para\n * obter a configuração dos campos, gera o formulário reativamente via {@link DynamicFormComponent}\n * e implementa {@link ControlValueAccessor} e {@link Validator} para integração completa\n * com formulários Angular.\n *\n * @example\n * ```html\n * <s-custom-fields\n * formControlName=\"camposCustomizados\"\n * domain=\"plataforma\"\n * service=\"servico\"\n * entity=\"entidade\" />\n * ```\n *\n * @category Inputs\n */\n@Component({\n selector: 's-custom-fields',\n templateUrl: './custom-fields.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: CustomFieldsComponent,\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: CustomFieldsComponent,\n multi: true,\n },\n ],\n})\nexport class CustomFieldsComponent\n implements OnInit, OnDestroy, ControlValueAccessor, Validator, OnChanges, AfterViewInit\n{\n private readonly customFieldsService = inject(CustomFieldsService);\n private readonly localeService = inject(LocaleService);\n private readonly sanitizer = inject(DomSanitizer);\n private readonly translateService = inject(TranslateService);\n private readonly controlContainer = inject(ControlContainer, { optional: true });\n\n /** @description Domínio utilizado para buscar os campos customizados na API. Campo obrigatório. */\n @Input({ required: true })\n public domain!: string;\n\n /** @description Nome do serviço utilizado para identificar os campos customizados. Campo obrigatório. */\n @Input({ required: true })\n public service!: string;\n\n /** @description Nome da entidade para a qual os campos customizados são carregados. Campo obrigatório. */\n @Input({ required: true })\n public entity!: string;\n\n /** @description Mensagem de erro exibida quando algum campo customizado está inválido. @default '' */\n @Input()\n public invalidErrorLabel = '';\n\n /** @description Objeto com dados pré-carregados da entidade, evitando chamadas extras à API. */\n @Input()\n public entityObject?: CustomFieldsResponse;\n\n /** @description Endpoint para buscar a configuração dos campos customizados. */\n @Input()\n public customFieldsEndpoint = 'platform/field_customization/queries/getEntity';\n\n /** @description Endpoint para solicitar o upload de arquivos em campos do tipo blob. */\n @Input()\n public fileLocationEndpoint = 'platform/field_customization/actions/requestUpload';\n\n /** @description Endpoint para solicitar acesso a arquivos já enviados. */\n @Input()\n public requestAccessEndpoint = 'platform/field_customization/actions/requestAccess';\n\n /** @description Mensagem de erro exibida quando um campo obrigatório não está preenchido. @default '' */\n @Input()\n public requiredErrorMessage = '';\n\n /** @description Tempo em ms após o qual o info-sign de campos do tipo data é exibido. @default 0 */\n @Input()\n public displayTimeInfoSign = 0;\n\n /** @description Exibe a data de upload nos campos do tipo arquivo. @default false */\n @Input()\n public showFileUploadDate = false;\n\n /** @description Observable que sinaliza quando o componente deve iniciar o carregamento dos campos. @default null */\n @Input()\n public ready$: BehaviorSubject<boolean> | null = null;\n\n /** @description Quando `true`, todos os campos customizados são desabilitados. */\n @Input()\n public disableFields: boolean | undefined;\n\n protected rowType: StructureType = 'row';\n\n public fields: DynamicType[] = [];\n public formGroup: FormGroup = new FormGroup({});\n\n protected dynamicStructure: DynamicStructure[] = [];\n\n private ready = false;\n private onChange: any;\n private onTouched: any;\n private value: any;\n private readonly ngUsubscribe: Subject<void> = new Subject();\n private uploadCanceled: boolean | undefined;\n private hasBlob: boolean | undefined;\n private hasUploaded: boolean | undefined;\n\n constructor() {\n this.invalidErrorLabel = this.translateService.instant('platform.angular_components.invalid_value');\n }\n\n public get hasCustomFields(): boolean {\n return !!this.fields?.length;\n }\n\n public get parentForm(): FormGroup {\n return this.controlContainer!.control as FormGroup;\n }\n\n public get parentControl(): FormControl {\n return this.parentForm.get('custom') as FormControl;\n }\n\n public ngOnInit(): void {\n this._validateInputs();\n this._createForm();\n this.addDisplayTimeInfoSignToFields();\n }\n\n public ngAfterViewInit(): void {\n this.enableOrDisableFields(!!this.disableFields);\n\n this.formGroup.valueChanges.subscribe(() => this.onChange?.(this.parseFieldsValues()));\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const _disableFields = changes['disableFields'];\n if (_disableFields) {\n this.enableOrDisableFields(_disableFields.currentValue);\n }\n }\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public registerOnChange(fn: Function) {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: Function) {\n this.onTouched = fn;\n }\n\n public writeValue(value: any) {\n if (this.ready) {\n const newValue = this.parseValuesForFields(value);\n this.formGroup.patchValue(newValue);\n this.value = newValue;\n this.createFilesIfSetFormValuesAfterInit();\n } else {\n this.formGroup.patchValue(value || {});\n this.value = value;\n }\n }\n\n public setDisabledState(isDisabled: boolean) {\n if (isDisabled) {\n this.formGroup.disable({ emitEvent: false });\n } else {\n this.formGroup.enable({ emitEvent: false });\n }\n }\n\n public getCustomFields(): Observable<CustomFieldsResponse> {\n if (this.entityObject?.entity_) {\n return of(this.entityObject);\n }\n return this.customFieldsService.getCustomFields(\n this.domain,\n this.service,\n this.entity,\n this.customFieldsEndpoint,\n );\n }\n\n public validate() {\n const errors: any = {};\n Object.keys(this.formGroup.controls).forEach((field) => {\n const { errors: controlErrors } = this.formGroup.get(field) as FormGroup;\n if (controlErrors) {\n errors[field] = controlErrors;\n }\n });\n return errors;\n }\n\n public cleanFields() {\n this.formGroup.reset();\n }\n\n private enableOrDisableFields(disabled: boolean): void {\n if (!this.formGroup) {\n return;\n }\n\n for (const controlName of Object.keys(this.formGroup.value)) {\n disabled ? this.formGroup.get(controlName)?.disable() : this.formGroup.get(controlName)?.enable();\n }\n }\n\n private _validateInputs(): void {\n if (!this.domain) {\n throw new Error('You need to specify the custom-fields domain!');\n }\n if (!this.service) {\n throw new Error('You need to specify the custom-fields service!');\n }\n if (!this.entity) {\n throw new Error('You need to specify the custom-fields entity!');\n }\n }\n\n private _createForm(): void {\n this.formGroup = new FormGroup({});\n const observables = [this.getCustomFields(), this.localeService.get()];\n forkJoin(observables)\n .pipe(\n takeUntil(this.ngUsubscribe),\n finalize(() => {\n this.formGroup.markAsPristine();\n this.parentControl?.markAsPristine();\n\n if (this.ready$) {\n this.ready$.next(true);\n }\n }),\n )\n .subscribe((response) => {\n const [customFieldsResponse, localeOptions] = response as [CustomFieldsResponse, LocaleOptions];\n const defaults: { [key in string]: { defaultValue?: boolean; defaultMask?: string } } = {};\n defaults[CustomFieldType.String] = {};\n defaults[CustomFieldType.Boolean] = { defaultValue: false };\n defaults[CustomFieldType.Integer] = {};\n defaults[CustomFieldType.Double] = { defaultMask: '' };\n defaults[CustomFieldType.Money] = {};\n defaults[CustomFieldType.Date] = {};\n defaults[CustomFieldType.DateTime] = {};\n defaults[CustomFieldType.LocalDateTime] = {};\n defaults[CustomFieldType.Time] = {};\n defaults[CustomFieldType.Blob] = {};\n defaults[CustomFieldType.Enum] = {};\n defaults[CustomFieldType.Binary] = {};\n defaults[CustomFieldType.Any] = {};\n\n if (!customFieldsResponse || !customFieldsResponse.entity_) {\n return;\n }\n const { active, fields } = customFieldsResponse.entity_;\n if (!active) {\n return;\n }\n\n fields\n .filter((field) => field.customizable && field.customization?.active)\n .forEach((field) => {\n const dynamicType = this.getDynamicType(field, localeOptions);\n\n const fieldType = field.type;\n\n if (field.type === CustomFieldType.Blob && this.value && this.value[dynamicType.name]) {\n this.createBlobToFileUpload(dynamicType as BlobFieldConfig);\n }\n\n const { validationRegex } = field.customization;\n\n const asIsTypes: CustomFieldsTypeAPI[] = [\n CustomFieldType.Boolean,\n CustomFieldType.Money,\n CustomFieldType.Date,\n CustomFieldType.DateTime,\n CustomFieldType.LocalDateTime,\n CustomFieldType.Time,\n ];\n\n const validators = [];\n if (validationRegex && !asIsTypes.includes(fieldType)) {\n validators.push(Validators.pattern(validationRegex));\n }\n if (fieldType === CustomFieldType.Integer && !(dynamicType as NumberFieldConfig).mask) {\n validators.push(Validators.pattern(/^\\-?\\d*$/));\n }\n\n if (dynamicType.required?.()) {\n validators.push(Validators.required);\n }\n\n const control = new FormControl(\n { value: defaults[fieldType].defaultValue, disabled: this.formGroup.disabled },\n validators,\n );\n\n this.formGroup.addControl(dynamicType.name, control);\n\n this.fields.push(dynamicType);\n });\n this.dynamicStructure = dynamicTypeToDynamicStructure(this.fields);\n\n this.createFieldCustomization(fields);\n this.formGroup.patchValue(this.parseValuesForFields(this.value));\n this.ready = true;\n });\n }\n\n private parseValuesForFields(values: any) {\n const parsedValues = { ...values };\n\n this.fields.forEach((field) => {\n const type = field.type;\n const name = field.name;\n const value = values?.[name];\n\n /**\n * Tratamento exclusivo para campos boolean que tem o status Empty\n * Essa condicional necessita estar antes do if (!value) return;\n * Pois ela tem um status que usa null no valor do campo radio boolean\n */\n if (type === 'boolean') {\n const isString = typeof value === 'string';\n const notValid = !isString && typeof value !== 'boolean';\n if (notValid) {\n parsedValues[name] = null;\n } else {\n // Condicional para campos que retornam string de boolen do backand\n if (isString) {\n parsedValues[name] = value === 'true' ? true : false;\n } else {\n parsedValues[name] = value;\n }\n }\n }\n\n if (!value) {\n return;\n }\n\n switch (type) {\n case 'date':\n parsedValues[name] = moment(value).toDate();\n break;\n case 'dateTime':\n parsedValues[name] = moment(value).toDate();\n break;\n case 'localDateTime':\n parsedValues[name] = moment(value, 'YYYY-MM-DD[T]HH:mm:ss.SSS').toDate();\n break;\n case 'time':\n parsedValues[name] = moment(value, 'HH:mm:ss').toDate();\n break;\n default:\n break;\n }\n });\n\n return parsedValues;\n }\n\n /**\n * Algumas equipes só setam valor no formulário, após o carregamento da tela\n * Como é bem padrão isso, foi necessário criar esse método para gerar o file\n * após setar o valor no formulário\n */\n private createFilesIfSetFormValuesAfterInit() {\n if (!this.hasUploaded) {\n this.fields\n .filter((field) => field.type === 'blob')\n .forEach((field) => {\n if (this.formGroup.get(field.name)?.value) {\n this.createBlobToFileUpload(field);\n }\n });\n }\n }\n\n private parseFieldsValues() {\n const parsedValues: any = {};\n\n this.fields.forEach((field) => {\n const { type } = field;\n const name = field.name;\n let value = this.formGroup.get(name)?.value;\n\n if (value) {\n switch (type) {\n case 'number':\n const { mask, scale } = field;\n if (mask) value = new BigNumber(value).toFixed(scale as number).toString();\n break;\n case 'date':\n value = moment(value).format('YYYY-MM-DD');\n break;\n case 'dateTime':\n value = moment(value).format();\n break;\n case 'localDateTime':\n value = moment(value).format('YYYY-MM-DD[T]HH:mm:ss.SSS');\n break;\n case 'time':\n value = moment(value).format('HH:mm:ss');\n break;\n default:\n break;\n }\n }\n if ((value === null || value === undefined) && (type === 'number' || type === 'enum')) {\n const isMultiple = (field as SelectFieldConfig).multiple;\n parsedValues[name] = isMultiple ? [] : null;\n } else {\n parsedValues[name] = value;\n }\n });\n\n if (this.hasBlob) {\n parsedValues['fieldCustomization'] = this.formGroup.get('fieldCustomization')?.value;\n }\n return parsedValues;\n }\n\n private getDynamicType(field: FieldFromAPI, localeOptions: LocaleOptions): DynamicType {\n let parameters: Partial<DynamicType> = {};\n\n switch (field.type) {\n case CustomFieldType.Blob:\n parameters = this.getBlobParameters();\n break;\n case CustomFieldType.Boolean:\n parameters = this.getBooleanParameters();\n break;\n case 'Enumeration':\n case CustomFieldType.Enum:\n field.type = 'Enum';\n parameters = this.getSelectParameters(field);\n break;\n case CustomFieldType.Money:\n parameters = {\n type: 'legacyNumber',\n precision: 15,\n scale: 2,\n leftAddon: {\n label: localeOptions?.number?.currencySymbol ?? 'R$',\n },\n };\n break;\n case CustomFieldType.Double:\n parameters = {\n type: 'legacyNumber',\n precision: 15,\n scale: 2,\n localizedNumber: true,\n };\n break;\n case CustomFieldType.Integer:\n parameters = {\n type: 'legacyNumber',\n precision: 15,\n scale: 0,\n };\n break;\n case CustomFieldType.Any:\n field.type = 'String';\n parameters = {\n type: 'string',\n };\n break;\n }\n\n const dynamicType: DynamicType & {\n calendarOptions: CalendarLocaleOptions;\n currencyOptions: NumberLocaleOptions;\n } = {\n ...parameters,\n name: field.id,\n label: field.customization.label,\n tooltip: field.customization.tooltip,\n infoSign: field.customization.infoSign,\n type: apiTypesToDynamicFormType(field.type),\n mask: field.customization.mask,\n required: () => field.customization.mandatory ?? false,\n calendarOptions: localeOptions.calendar,\n currencyOptions: localeOptions.number,\n } as DynamicType & { calendarOptions: CalendarLocaleOptions; currencyOptions: NumberLocaleOptions };\n return dynamicType;\n }\n\n private getSelectParameters(field: any): Partial<SelectFieldConfig> {\n return {\n type: 'enum',\n showClear: true,\n multiple: field.customization.customEnumeration.multiple,\n options: field.customization.customEnumeration.values.map((e: any) => ({ label: e.value, value: e.key })),\n };\n }\n\n private getBooleanParameters(): Partial<BooleanFieldConfig> {\n return {\n type: 'boolean',\n optionsLabel: {\n true: this.getTranslateLabel(`true_label`),\n false: this.getTranslateLabel(`false_label`),\n empty: this.getTranslateLabel(`empty_label`),\n },\n };\n }\n\n private getBlobParameters(): Partial<ExpandedDynamicType> {\n return {\n type: 'blob',\n size: {\n sm: 12,\n md: 12,\n lg: 12,\n xl: 12,\n }, // Como vai ser filho de Row, faz sentido habilitar o tipo expandido.\n accept: 'image/*, application/*, text/*',\n chooseLabel: this.getTranslateLabel(`choose_label`),\n removeLabel: this.getTranslateLabel(`remove_label`),\n cancelLabel: this.getTranslateLabel(`cancel_label`),\n successTooltip: this.getTranslateLabel(`success_tooltip`),\n multiple: false,\n onUploadFile: (event: { files: FileDto[] }, blobField: BlobFieldConfig) => {\n this.hasUploaded = true;\n this.uploadFile(event, blobField);\n },\n onRemoveFile: (event: FileDto, blobField: BlobFieldConfig) => {\n this.removeFile({ file: event }, blobField);\n },\n onCancelUpload: (event: number, blobField: BlobFieldConfig) => {\n this.cancelUpload(event, blobField);\n },\n onDownloadFile: (event: { index: number; anchor: ElementRef }, blobField: BlobFieldConfig) => {\n this.downloadFile(event, blobField);\n },\n showFileUploadDate: this.showFileUploadDate,\n };\n }\n\n /**\n * É necessário criar o fieldCustomization quando há um Blob na entidade para gerar o\n * com os fields inseridos e deletados.\n */\n private createFieldCustomization(fields: FieldFromAPI[]): void {\n this.hasBlob = !!fields.filter((field) => field.type === CustomFieldType.Blob).length;\n if (this.hasBlob) {\n this.formGroup.addControl(\n 'fieldCustomization',\n new FormArray([\n new FormGroup({\n domain: new FormControl(this.domain),\n service: new FormControl(this.service),\n entity: new FormControl(this.entity),\n toDelete: new FormControl({ value: {}, disabled: false }),\n toInsert: new FormControl({ value: {}, disabled: false }),\n }),\n ]),\n );\n }\n }\n\n private createBlobToFileUpload(field: BlobFieldConfig) {\n const _name = field.name;\n const objectId = this.value[_name] ? this.value[_name] : this.formGroup.get(_name)?.value;\n const fileName = objectId.substring(objectId.lastIndexOf('/') + 1);\n const file: Partial<FileDto> = { objectId, name: fileName, savedFile: true };\n field.files = [file as FileDto];\n }\n\n private downloadFile(event: { index: number; anchor: ElementRef }, field: BlobFieldConfig) {\n const { index, anchor } = event;\n const _files = field.files || [];\n if (!_files.length) {\n return;\n }\n const currentFile = _files[index];\n if (currentFile.objectURL) {\n anchor.nativeElement.click();\n } else {\n const _objectId = currentFile.objectId as string;\n this.customFieldsService\n .requestAccess(_objectId, this.requestAccessEndpoint)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((data: any) => {\n const { fileName, uri } = data;\n this.customFieldsService\n .getFile(uri)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((blob: any) => {\n const newFile = new File([blob], fileName) as FileDto;\n newFile.objectURL = this.sanitizer.bypassSecurityTrustUrl(uri);\n anchor.nativeElement.setAttribute('href', uri);\n newFile.objectId = currentFile.objectId;\n newFile.savedFile = true;\n _files[index] = newFile;\n field.files = [..._files];\n anchor.nativeElement.click();\n });\n });\n }\n }\n\n private uploadFile(event: { files: FileDto[] }, formField: BlobFieldConfig): void {\n const { files } = event;\n const field = this.fields.find((record) => record.name === formField.name) as BlobFieldConfig;\n if (!field) {\n return;\n }\n\n // Se ocorrer um upload, já existindo um arquivo com upload feito. É necessário excluir o mesmo.\n if (field?.files?.length) {\n this.removeFile({ file: field.files[0] }, field);\n }\n field.files = files;\n const _name = field.name;\n\n for (let i = 0; i < files.length; i++) {\n const file = files[i];\n if (!file.savedFile && !file.progress) {\n file.isUploading = true;\n this.formGroup.get(_name)?.setValidators(isUploading(file));\n this.formGroup.get(_name)?.updateValueAndValidity();\n this.customFieldsService\n .getFileLocationUrl(\n {\n domain: this.domain,\n service: this.service,\n entityName: this.entity,\n field: _name,\n fileName: file.name,\n },\n this.fileLocationEndpoint,\n )\n .pipe(\n takeUntil(this.ngUsubscribe),\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i))),\n )\n .subscribe((data: any) => {\n const { location, version, objectId } = data;\n file.version = version;\n file.objectId = objectId;\n file.uploadSubscribe = this.customFieldsService\n .uploadTempFile(location, file)\n .pipe(\n takeUntil(this.ngUsubscribe),\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i))),\n finalize(() => {\n file.isUploading = false;\n }),\n )\n .subscribe((response: any) => {\n const { type } = response;\n if (!this.uploadCanceled) {\n if (type === HttpEventType.UploadProgress) {\n file.progress = Math.round(response.loaded / response.total) * 100;\n } else if (type === HttpEventType.Response) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(\n URL.createObjectURL(file),\n );\n\n const value = { objectId, name: file.name, version: file.version };\n const toInsert = this.formGroup.get('fieldCustomization')?.value[0].toInsert;\n const fieldCustomization = this.formGroup.get('fieldCustomization')?.value;\n if (fieldCustomization?.value?.[0]) {\n fieldCustomization.value[0].toInsert = {\n ...toInsert,\n [_name]: value,\n };\n }\n this.formGroup.get(_name)?.setValue(`${file.objectId}/${file.name}`);\n this.formGroup.get(_name)?.clearValidators();\n this.formGroup.get(_name)?.updateValueAndValidity();\n field.files = [file];\n }\n } else if (this.uploadCanceled && type === HttpEventType.Response) {\n this.uploadCanceled = false;\n }\n });\n field.files = [file];\n });\n }\n }\n }\n\n private removeFile(event: { file: FileDto }, blobField: BlobFieldConfig): void {\n const { file } = event;\n\n const field = this.fields.find((record) => record.name === blobField.name) as BlobFieldConfig;\n\n field!.files = [];\n\n if (file.objectId) {\n // Quando é um arquivo já salvo o objectId já é no formato \"objectId/name\"\n const value = file.savedFile ? `${file.objectId}` : `${file.objectId}/${file.name}`;\n const toDelete = this.formGroup.get('fieldCustomization')!.value[0].toDelete;\n delete this.formGroup.get('fieldCustomization')!.value[0].toInsert[field!.name];\n this.formGroup.get('fieldCustomization')!.value[0].toDelete = {\n ...toDelete,\n [field!.name]: [...(toDelete[field!.name] || []), value],\n };\n }\n\n this.formGroup.get(field!.name)!.clearValidators();\n this.formGroup.get(field!.name)!.setValue('');\n this.formGroup.get(field!.name)!.updateValueAndValidity();\n }\n\n private cancelUpload(index: number, formField: BlobFieldConfig): void {\n this.uploadCanceled = true;\n const field = this.fields.find((record) => record.name === formField.name) as BlobFieldConfig;\n if (!field) {\n return;\n }\n const _name = field.name;\n const _files = field.files || [];\n _files[index]?.uploadSubscribe?.unsubscribe();\n field.files = [];\n const fieldCustomization = this.formGroup.get('fieldCustomization')?.value[0];\n delete fieldCustomization.toInsert[_name];\n this.formGroup.get(_name)?.clearValidators();\n this.formGroup.get(_name)?.setValue('');\n this.formGroup.get(_name)?.updateValueAndValidity();\n }\n\n private defaltCatchError(field: BlobFieldConfig, err: HttpErrorResponse, index: number): Observable<never> {\n const { files } = field;\n if (files) {\n files[index].error = err;\n files[index].isUploading = false;\n field.files = [...files];\n const _name = field.name;\n this.formGroup.get(_name)?.setValidators([errorOnUpload(files[index])]);\n this.formGroup.get(_name)?.updateValueAndValidity();\n return throwError(() => new Error('error in upload file. Details: ' + err.message));\n } else {\n return throwError(() => new Error('error in upload file. Details: ' + err.message));\n }\n }\n\n private getTranslateLabel(label: string): string {\n return this.translateService.instant(`${this.domain}.${this.service}.${label}`);\n }\n\n private addDisplayTimeInfoSignToFields(): void {\n this.fields.forEach((field) => {\n field.displayTimeInfoSign = this.displayTimeInfoSign;\n });\n }\n}\n\nfunction isUploading(file: FileDto): ValidatorFn {\n return () => (file.isUploading ? { isUploading: true } : null);\n}\n\nfunction errorOnUpload(file: FileDto): ValidatorFn {\n return () => (file.error ? { uploadError: true } : null);\n}\n\n","@let errorMessages =\n {\n pattern: invalidErrorLabel,\n required: requiredErrorMessage,\n };\n\n<s-dynamic-form\n [configs]=\"dynamicStructure\"\n [form]=\"formGroup\"\n [errorMessages]=\"errorMessages\"\n>\n</s-dynamic-form>\n\n","import { CommonModule } from \"@angular/common\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { CustomFieldsComponent } from \"./custom-fields.component\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { TranslateModule, TranslateService } from \"@ngx-translate/core\";\nimport { LocaleModule } from \"@seniorsistemas/angular-components/locale\";\nimport { DynamicFormModule } from \"@seniorsistemas/angular-components/dynamic-form\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n LocaleModule,\n DynamicFormModule,\n TranslateModule\n ],\n declarations: [CustomFieldsComponent],\n exports: [CustomFieldsComponent],\n providers: [CustomFieldsService, TranslateService]\n})\nexport class CustomFieldsModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seniorsistemas-angular-components-custom-fields.mjs","sources":["../../projects/angular-components/custom-fields/src/lib/custom-fields/custom-fields.service.ts","../../projects/angular-components/custom-fields/src/lib/custom-fields/models/custom-field-type.ts","../../projects/angular-components/custom-fields/src/lib/custom-fields/custom-fields.component.ts","../../projects/angular-components/custom-fields/src/lib/custom-fields/custom-fields.component.html","../../projects/angular-components/custom-fields/src/lib/custom-fields/custom-fields.module.ts","../../projects/angular-components/custom-fields/src/seniorsistemas-angular-components-custom-fields.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { CustomFieldsResponse } from './models';\n\n@Injectable()\nexport class CustomFieldsService {\n private http = inject(HttpClient);\n\n\n public getCustomFields(\n domain: string,\n service: string,\n entity: string,\n endpoint: string,\n ): Observable<CustomFieldsResponse> {\n const entityDto = { entityId: { domain_: domain, service_: service, id: entity } };\n return this.http.post<CustomFieldsResponse>(endpoint, entityDto);\n }\n\n public getFileLocationUrl(\n dto: {\n domain: string;\n service: string;\n entityName: string;\n field: string;\n fileName: string;\n },\n endpoint: string,\n ): Observable<any> {\n return this.http.post(endpoint, dto);\n }\n\n public uploadTempFile(location: string, file: File) {\n return this.http.put(location, file, {\n reportProgress: true,\n observe: 'events',\n headers: { 'Content-Type': file.type },\n });\n }\n\n public requestAccess(objectId: string, endpoint: string) {\n return this.http.post(endpoint, { objectId });\n }\n\n public getFile(permanentUrl: string) {\n return this.http.get(permanentUrl, { responseType: 'blob' });\n }\n}\n\n","import { FieldType } from '@seniorsistemas/angular-components/dynamic-form';\n\nexport enum CustomFieldType {\n String = 'String',\n Boolean = 'Boolean',\n Integer = 'Integer',\n Double = 'Double',\n Date = 'Date',\n DateTime = 'DateTime',\n LocalDateTime = 'LocalDateTime',\n Time = 'Time',\n Money = 'Money',\n Blob = 'Blob',\n Binary = 'Binary',\n Any = 'Any',\n Enum = 'Enum',\n}\n\nexport type CustomFieldsTypeAPI = 'Enumeration' | keyof typeof CustomFieldType;\n\nexport const apiTypesToDynamicFormType = (type: CustomFieldsTypeAPI): FieldType => {\n switch (type) {\n case 'String':\n case 'Any':\n return 'string';\n case 'Binary':\n return 'binary';\n case 'Blob':\n return 'blob';\n case 'DateTime':\n case 'Time':\n case 'Date':\n case 'LocalDateTime':\n return 'date';\n case 'Enumeration':\n case 'Enum':\n return 'enum';\n case 'Boolean':\n return 'boolean';\n case 'Money':\n case 'Double':\n case 'Integer':\n return 'legacyNumber';\n }\n};\n\nexport interface FieldFromAPI {\n id: string;\n type: CustomFieldsTypeAPI;\n customizable: boolean;\n customization: FieldCustomization;\n}\n\nexport interface FieldCustomization {\n active: boolean;\n label: string;\n tooltip: string;\n mask?: string;\n validationRegex?: string;\n customEnumeration?: CustomEnumeration;\n infoSign?: string;\n mandatory?: boolean;\n}\n\nexport interface CustomEnumeration {\n multiple?: boolean;\n values: EnumValue[];\n}\n\nexport interface EnumValue {\n key: string;\n value: string;\n}\n\nexport interface CustomFieldsResponse {\n entity_: {\n active: boolean;\n fields: FieldFromAPI[];\n };\n}\n\n","import { HttpErrorResponse, HttpEventType } from '@angular/common/http';\r\nimport {\r\n AfterViewInit,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n inject,\r\n} from '@angular/core';\r\nimport {\r\n ControlContainer,\r\n ControlValueAccessor,\r\n FormArray,\r\n FormControl,\r\n FormGroup,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n Validator,\r\n ValidatorFn,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport BigNumber from 'bignumber.js';\r\nimport { BehaviorSubject, forkJoin, Observable, of, Subject, throwError } from 'rxjs';\r\nimport { catchError, finalize, takeUntil } from 'rxjs/operators';\r\n\r\nimport {\r\n BlobFieldConfig,\r\n BooleanFieldConfig,\r\n DynamicStructure,\r\n DynamicType,\r\n dynamicTypeToDynamicStructure,\r\n ExpandedDynamicType,\r\n NumberFieldConfig,\r\n SelectFieldConfig,\r\n StructureType,\r\n} from '@seniorsistemas/angular-components/dynamic-form';\r\nimport { FileDto } from '@seniorsistemas/angular-components/file-upload';\r\nimport {\r\n CalendarLocaleOptions,\r\n LocaleOptions,\r\n LocaleService,\r\n NumberLocaleOptions,\r\n} from '@seniorsistemas/angular-components/locale';\r\nimport moment from 'moment';\r\nimport { CustomFieldsService } from './custom-fields.service';\r\nimport {\r\n apiTypesToDynamicFormType,\r\n CustomFieldsResponse,\r\n CustomFieldsTypeAPI,\r\n CustomFieldType,\r\n FieldFromAPI,\r\n} from './models';\r\nimport { DynamicFormComponent as DynamicFormComponent_1 } from '@seniorsistemas/angular-components/dynamic-form';\r\n\r\n/**\r\n * @description Componente que carrega e renderiza campos customizados dinamicamente\r\n * a partir da API de customização de campos do Senior. Realiza chamadas HTTP para\r\n * obter a configuração dos campos, gera o formulário reativamente via {@link DynamicFormComponent}\r\n * e implementa {@link ControlValueAccessor} e {@link Validator} para integração completa\r\n * com formulários Angular.\r\n *\r\n * @example\r\n * ```html\r\n * <s-custom-fields\r\n * formControlName=\"camposCustomizados\"\r\n * domain=\"plataforma\"\r\n * service=\"servico\"\r\n * entity=\"entidade\" />\r\n * ```\r\n *\r\n * @category Inputs\r\n */\r\n@Component({\r\n selector: 's-custom-fields',\r\n templateUrl: './custom-fields.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: CustomFieldsComponent,\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: CustomFieldsComponent,\r\n multi: true,\r\n },\r\n ],\r\n standalone: true,\r\n imports: [DynamicFormComponent_1],\r\n})\r\nexport class CustomFieldsComponent\r\n implements OnInit, OnDestroy, ControlValueAccessor, Validator, OnChanges, AfterViewInit\r\n{\r\n private readonly customFieldsService = inject(CustomFieldsService);\r\n private readonly localeService = inject(LocaleService);\r\n private readonly sanitizer = inject(DomSanitizer);\r\n private readonly translateService = inject(TranslateService);\r\n private readonly controlContainer = inject(ControlContainer, { optional: true });\r\n\r\n /** @description Domínio utilizado para buscar os campos customizados na API. Campo obrigatório. */\r\n @Input({ required: true })\r\n public domain!: string;\r\n\r\n /** @description Nome do serviço utilizado para identificar os campos customizados. Campo obrigatório. */\r\n @Input({ required: true })\r\n public service!: string;\r\n\r\n /** @description Nome da entidade para a qual os campos customizados são carregados. Campo obrigatório. */\r\n @Input({ required: true })\r\n public entity!: string;\r\n\r\n /** @description Mensagem de erro exibida quando algum campo customizado está inválido. @default '' */\r\n @Input()\r\n public invalidErrorLabel = '';\r\n\r\n /** @description Objeto com dados pré-carregados da entidade, evitando chamadas extras à API. */\r\n @Input()\r\n public entityObject?: CustomFieldsResponse;\r\n\r\n /** @description Endpoint para buscar a configuração dos campos customizados. */\r\n @Input()\r\n public customFieldsEndpoint = 'platform/field_customization/queries/getEntity';\r\n\r\n /** @description Endpoint para solicitar o upload de arquivos em campos do tipo blob. */\r\n @Input()\r\n public fileLocationEndpoint = 'platform/field_customization/actions/requestUpload';\r\n\r\n /** @description Endpoint para solicitar acesso a arquivos já enviados. */\r\n @Input()\r\n public requestAccessEndpoint = 'platform/field_customization/actions/requestAccess';\r\n\r\n /** @description Mensagem de erro exibida quando um campo obrigatório não está preenchido. @default '' */\r\n @Input()\r\n public requiredErrorMessage = '';\r\n\r\n /** @description Tempo em ms após o qual o info-sign de campos do tipo data é exibido. @default 0 */\r\n @Input()\r\n public displayTimeInfoSign = 0;\r\n\r\n /** @description Exibe a data de upload nos campos do tipo arquivo. @default false */\r\n @Input()\r\n public showFileUploadDate = false;\r\n\r\n /** @description Observable que sinaliza quando o componente deve iniciar o carregamento dos campos. @default null */\r\n @Input()\r\n public ready$: BehaviorSubject<boolean> | null = null;\r\n\r\n /** @description Quando `true`, todos os campos customizados são desabilitados. */\r\n @Input()\r\n public disableFields: boolean | undefined;\r\n\r\n protected rowType: StructureType = 'row';\r\n\r\n public fields: DynamicType[] = [];\r\n public formGroup: FormGroup = new FormGroup({});\r\n\r\n protected dynamicStructure: DynamicStructure[] = [];\r\n\r\n private ready = false;\r\n private onChange: any;\r\n private onTouched: any;\r\n private value: any;\r\n private readonly ngUsubscribe: Subject<void> = new Subject();\r\n private uploadCanceled: boolean | undefined;\r\n private hasBlob: boolean | undefined;\r\n private hasUploaded: boolean | undefined;\r\n\r\n constructor() {\r\n this.invalidErrorLabel = this.translateService.instant('platform.angular_components.invalid_value');\r\n }\r\n\r\n public get hasCustomFields(): boolean {\r\n return !!this.fields?.length;\r\n }\r\n\r\n public get parentForm(): FormGroup {\r\n return this.controlContainer!.control as FormGroup;\r\n }\r\n\r\n public get parentControl(): FormControl {\r\n return this.parentForm.get('custom') as FormControl;\r\n }\r\n\r\n public ngOnInit(): void {\r\n this._validateInputs();\r\n this._createForm();\r\n this.addDisplayTimeInfoSignToFields();\r\n }\r\n\r\n public ngAfterViewInit(): void {\r\n this.enableOrDisableFields(!!this.disableFields);\r\n\r\n this.formGroup.valueChanges.subscribe(() => this.onChange?.(this.parseFieldsValues()));\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges): void {\r\n const _disableFields = changes['disableFields'];\r\n if (_disableFields) {\r\n this.enableOrDisableFields(_disableFields.currentValue);\r\n }\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.ngUsubscribe.next();\r\n this.ngUsubscribe.complete();\r\n }\r\n\r\n public registerOnChange(fn: Function) {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: Function) {\r\n this.onTouched = fn;\r\n }\r\n\r\n public writeValue(value: any) {\r\n if (this.ready) {\r\n const newValue = this.parseValuesForFields(value);\r\n this.formGroup.patchValue(newValue);\r\n this.value = newValue;\r\n this.createFilesIfSetFormValuesAfterInit();\r\n } else {\r\n this.formGroup.patchValue(value || {});\r\n this.value = value;\r\n }\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean) {\r\n if (isDisabled) {\r\n this.formGroup.disable({ emitEvent: false });\r\n } else {\r\n this.formGroup.enable({ emitEvent: false });\r\n }\r\n }\r\n\r\n public getCustomFields(): Observable<CustomFieldsResponse> {\r\n if (this.entityObject?.entity_) {\r\n return of(this.entityObject);\r\n }\r\n return this.customFieldsService.getCustomFields(\r\n this.domain,\r\n this.service,\r\n this.entity,\r\n this.customFieldsEndpoint,\r\n );\r\n }\r\n\r\n public validate() {\r\n const errors: any = {};\r\n Object.keys(this.formGroup.controls).forEach((field) => {\r\n const { errors: controlErrors } = this.formGroup.get(field) as FormGroup;\r\n if (controlErrors) {\r\n errors[field] = controlErrors;\r\n }\r\n });\r\n return errors;\r\n }\r\n\r\n public cleanFields() {\r\n this.formGroup.reset();\r\n }\r\n\r\n private enableOrDisableFields(disabled: boolean): void {\r\n if (!this.formGroup) {\r\n return;\r\n }\r\n\r\n for (const controlName of Object.keys(this.formGroup.value)) {\r\n disabled ? this.formGroup.get(controlName)?.disable() : this.formGroup.get(controlName)?.enable();\r\n }\r\n }\r\n\r\n private _validateInputs(): void {\r\n if (!this.domain) {\r\n throw new Error('You need to specify the custom-fields domain!');\r\n }\r\n if (!this.service) {\r\n throw new Error('You need to specify the custom-fields service!');\r\n }\r\n if (!this.entity) {\r\n throw new Error('You need to specify the custom-fields entity!');\r\n }\r\n }\r\n\r\n private _createForm(): void {\r\n this.formGroup = new FormGroup({});\r\n const observables = [this.getCustomFields(), this.localeService.get()];\r\n forkJoin(observables)\r\n .pipe(\r\n takeUntil(this.ngUsubscribe),\r\n finalize(() => {\r\n this.formGroup.markAsPristine();\r\n this.parentControl?.markAsPristine();\r\n\r\n if (this.ready$) {\r\n this.ready$.next(true);\r\n }\r\n }),\r\n )\r\n .subscribe((response) => {\r\n const [customFieldsResponse, localeOptions] = response as [CustomFieldsResponse, LocaleOptions];\r\n const defaults: { [key in string]: { defaultValue?: boolean; defaultMask?: string } } = {};\r\n defaults[CustomFieldType.String] = {};\r\n defaults[CustomFieldType.Boolean] = { defaultValue: false };\r\n defaults[CustomFieldType.Integer] = {};\r\n defaults[CustomFieldType.Double] = { defaultMask: '' };\r\n defaults[CustomFieldType.Money] = {};\r\n defaults[CustomFieldType.Date] = {};\r\n defaults[CustomFieldType.DateTime] = {};\r\n defaults[CustomFieldType.LocalDateTime] = {};\r\n defaults[CustomFieldType.Time] = {};\r\n defaults[CustomFieldType.Blob] = {};\r\n defaults[CustomFieldType.Enum] = {};\r\n defaults[CustomFieldType.Binary] = {};\r\n defaults[CustomFieldType.Any] = {};\r\n\r\n if (!customFieldsResponse || !customFieldsResponse.entity_) {\r\n return;\r\n }\r\n const { active, fields } = customFieldsResponse.entity_;\r\n if (!active) {\r\n return;\r\n }\r\n\r\n fields\r\n .filter((field) => field.customizable && field.customization?.active)\r\n .forEach((field) => {\r\n const dynamicType = this.getDynamicType(field, localeOptions);\r\n\r\n const fieldType = field.type;\r\n\r\n if (field.type === CustomFieldType.Blob && this.value && this.value[dynamicType.name]) {\r\n this.createBlobToFileUpload(dynamicType as BlobFieldConfig);\r\n }\r\n\r\n const { validationRegex } = field.customization;\r\n\r\n const asIsTypes: CustomFieldsTypeAPI[] = [\r\n CustomFieldType.Boolean,\r\n CustomFieldType.Money,\r\n CustomFieldType.Date,\r\n CustomFieldType.DateTime,\r\n CustomFieldType.LocalDateTime,\r\n CustomFieldType.Time,\r\n ];\r\n\r\n const validators = [];\r\n if (validationRegex && !asIsTypes.includes(fieldType)) {\r\n validators.push(Validators.pattern(validationRegex));\r\n }\r\n if (fieldType === CustomFieldType.Integer && !(dynamicType as NumberFieldConfig).mask) {\r\n validators.push(Validators.pattern(/^\\-?\\d*$/));\r\n }\r\n\r\n if (dynamicType.required?.()) {\r\n validators.push(Validators.required);\r\n }\r\n\r\n const control = new FormControl(\r\n { value: defaults[fieldType].defaultValue, disabled: this.formGroup.disabled },\r\n validators,\r\n );\r\n\r\n this.formGroup.addControl(dynamicType.name, control);\r\n\r\n this.fields.push(dynamicType);\r\n });\r\n this.dynamicStructure = dynamicTypeToDynamicStructure(this.fields);\r\n\r\n this.createFieldCustomization(fields);\r\n this.formGroup.patchValue(this.parseValuesForFields(this.value));\r\n this.ready = true;\r\n });\r\n }\r\n\r\n private parseValuesForFields(values: any) {\r\n const parsedValues = { ...values };\r\n\r\n this.fields.forEach((field) => {\r\n const type = field.type;\r\n const name = field.name;\r\n const value = values?.[name];\r\n\r\n /**\r\n * Tratamento exclusivo para campos boolean que tem o status Empty\r\n * Essa condicional necessita estar antes do if (!value) return;\r\n * Pois ela tem um status que usa null no valor do campo radio boolean\r\n */\r\n if (type === 'boolean') {\r\n const isString = typeof value === 'string';\r\n const notValid = !isString && typeof value !== 'boolean';\r\n if (notValid) {\r\n parsedValues[name] = null;\r\n } else {\r\n // Condicional para campos que retornam string de boolen do backand\r\n if (isString) {\r\n parsedValues[name] = value === 'true' ? true : false;\r\n } else {\r\n parsedValues[name] = value;\r\n }\r\n }\r\n }\r\n\r\n if (!value) {\r\n return;\r\n }\r\n\r\n switch (type) {\r\n case 'date':\r\n parsedValues[name] = moment(value).toDate();\r\n break;\r\n case 'dateTime':\r\n parsedValues[name] = moment(value).toDate();\r\n break;\r\n case 'localDateTime':\r\n parsedValues[name] = moment(value, 'YYYY-MM-DD[T]HH:mm:ss.SSS').toDate();\r\n break;\r\n case 'time':\r\n parsedValues[name] = moment(value, 'HH:mm:ss').toDate();\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n return parsedValues;\r\n }\r\n\r\n /**\r\n * Algumas equipes só setam valor no formulário, após o carregamento da tela\r\n * Como é bem padrão isso, foi necessário criar esse método para gerar o file\r\n * após setar o valor no formulário\r\n */\r\n private createFilesIfSetFormValuesAfterInit() {\r\n if (!this.hasUploaded) {\r\n this.fields\r\n .filter((field) => field.type === 'blob')\r\n .forEach((field) => {\r\n if (this.formGroup.get(field.name)?.value) {\r\n this.createBlobToFileUpload(field);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private parseFieldsValues() {\r\n const parsedValues: any = {};\r\n\r\n this.fields.forEach((field) => {\r\n const { type } = field;\r\n const name = field.name;\r\n let value = this.formGroup.get(name)?.value;\r\n\r\n if (value) {\r\n switch (type) {\r\n case 'number':\r\n const { mask, scale } = field;\r\n if (mask) value = new BigNumber(value).toFixed(scale as number).toString();\r\n break;\r\n case 'date':\r\n value = moment(value).format('YYYY-MM-DD');\r\n break;\r\n case 'dateTime':\r\n value = moment(value).format();\r\n break;\r\n case 'localDateTime':\r\n value = moment(value).format('YYYY-MM-DD[T]HH:mm:ss.SSS');\r\n break;\r\n case 'time':\r\n value = moment(value).format('HH:mm:ss');\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n if ((value === null || value === undefined) && (type === 'number' || type === 'enum')) {\r\n const isMultiple = (field as SelectFieldConfig).multiple;\r\n parsedValues[name] = isMultiple ? [] : null;\r\n } else {\r\n parsedValues[name] = value;\r\n }\r\n });\r\n\r\n if (this.hasBlob) {\r\n parsedValues['fieldCustomization'] = this.formGroup.get('fieldCustomization')?.value;\r\n }\r\n return parsedValues;\r\n }\r\n\r\n private getDynamicType(field: FieldFromAPI, localeOptions: LocaleOptions): DynamicType {\r\n let parameters: Partial<DynamicType> = {};\r\n\r\n switch (field.type) {\r\n case CustomFieldType.Blob:\r\n parameters = this.getBlobParameters();\r\n break;\r\n case CustomFieldType.Boolean:\r\n parameters = this.getBooleanParameters();\r\n break;\r\n case 'Enumeration':\r\n case CustomFieldType.Enum:\r\n field.type = 'Enum';\r\n parameters = this.getSelectParameters(field);\r\n break;\r\n case CustomFieldType.Money:\r\n parameters = {\r\n type: 'legacyNumber',\r\n precision: 15,\r\n scale: 2,\r\n leftAddon: {\r\n label: localeOptions?.number?.currencySymbol ?? 'R$',\r\n },\r\n };\r\n break;\r\n case CustomFieldType.Double:\r\n parameters = {\r\n type: 'legacyNumber',\r\n precision: 15,\r\n scale: 2,\r\n localizedNumber: true,\r\n };\r\n break;\r\n case CustomFieldType.Integer:\r\n parameters = {\r\n type: 'legacyNumber',\r\n precision: 15,\r\n scale: 0,\r\n };\r\n break;\r\n case CustomFieldType.Any:\r\n field.type = 'String';\r\n parameters = {\r\n type: 'string',\r\n };\r\n break;\r\n }\r\n\r\n const dynamicType: DynamicType & {\r\n calendarOptions: CalendarLocaleOptions;\r\n currencyOptions: NumberLocaleOptions;\r\n } = {\r\n ...parameters,\r\n name: field.id,\r\n label: field.customization.label,\r\n tooltip: field.customization.tooltip,\r\n infoSign: field.customization.infoSign,\r\n type: apiTypesToDynamicFormType(field.type),\r\n mask: field.customization.mask,\r\n required: () => field.customization.mandatory ?? false,\r\n calendarOptions: localeOptions.calendar,\r\n currencyOptions: localeOptions.number,\r\n } as DynamicType & { calendarOptions: CalendarLocaleOptions; currencyOptions: NumberLocaleOptions };\r\n return dynamicType;\r\n }\r\n\r\n private getSelectParameters(field: any): Partial<SelectFieldConfig> {\r\n return {\r\n type: 'enum',\r\n showClear: true,\r\n multiple: field.customization.customEnumeration.multiple,\r\n options: field.customization.customEnumeration.values.map((e: any) => ({ label: e.value, value: e.key })),\r\n };\r\n }\r\n\r\n private getBooleanParameters(): Partial<BooleanFieldConfig> {\r\n return {\r\n type: 'boolean',\r\n optionsLabel: {\r\n true: this.getTranslateLabel(`true_label`),\r\n false: this.getTranslateLabel(`false_label`),\r\n empty: this.getTranslateLabel(`empty_label`),\r\n },\r\n };\r\n }\r\n\r\n private getBlobParameters(): Partial<ExpandedDynamicType> {\r\n return {\r\n type: 'blob',\r\n size: {\r\n sm: 12,\r\n md: 12,\r\n lg: 12,\r\n xl: 12,\r\n }, // Como vai ser filho de Row, faz sentido habilitar o tipo expandido.\r\n accept: 'image/*, application/*, text/*',\r\n chooseLabel: this.getTranslateLabel(`choose_label`),\r\n removeLabel: this.getTranslateLabel(`remove_label`),\r\n cancelLabel: this.getTranslateLabel(`cancel_label`),\r\n successTooltip: this.getTranslateLabel(`success_tooltip`),\r\n multiple: false,\r\n onUploadFile: (event: { files: FileDto[] }, blobField: BlobFieldConfig) => {\r\n this.hasUploaded = true;\r\n this.uploadFile(event, blobField);\r\n },\r\n onRemoveFile: (event: FileDto, blobField: BlobFieldConfig) => {\r\n this.removeFile({ file: event }, blobField);\r\n },\r\n onCancelUpload: (event: number, blobField: BlobFieldConfig) => {\r\n this.cancelUpload(event, blobField);\r\n },\r\n onDownloadFile: (event: { index: number; anchor: ElementRef }, blobField: BlobFieldConfig) => {\r\n this.downloadFile(event, blobField);\r\n },\r\n showFileUploadDate: this.showFileUploadDate,\r\n };\r\n }\r\n\r\n /**\r\n * É necessário criar o fieldCustomization quando há um Blob na entidade para gerar o\r\n * com os fields inseridos e deletados.\r\n */\r\n private createFieldCustomization(fields: FieldFromAPI[]): void {\r\n this.hasBlob = !!fields.filter((field) => field.type === CustomFieldType.Blob).length;\r\n if (this.hasBlob) {\r\n this.formGroup.addControl(\r\n 'fieldCustomization',\r\n new FormArray([\r\n new FormGroup({\r\n domain: new FormControl(this.domain),\r\n service: new FormControl(this.service),\r\n entity: new FormControl(this.entity),\r\n toDelete: new FormControl({ value: {}, disabled: false }),\r\n toInsert: new FormControl({ value: {}, disabled: false }),\r\n }),\r\n ]),\r\n );\r\n }\r\n }\r\n\r\n private createBlobToFileUpload(field: BlobFieldConfig) {\r\n const _name = field.name;\r\n const objectId = this.value[_name] ? this.value[_name] : this.formGroup.get(_name)?.value;\r\n const fileName = objectId.substring(objectId.lastIndexOf('/') + 1);\r\n const file: Partial<FileDto> = { objectId, name: fileName, savedFile: true };\r\n field.files = [file as FileDto];\r\n }\r\n\r\n private downloadFile(event: { index: number; anchor: ElementRef }, field: BlobFieldConfig) {\r\n const { index, anchor } = event;\r\n const _files = field.files || [];\r\n if (!_files.length) {\r\n return;\r\n }\r\n const currentFile = _files[index];\r\n if (currentFile.objectURL) {\r\n anchor.nativeElement.click();\r\n } else {\r\n const _objectId = currentFile.objectId as string;\r\n this.customFieldsService\r\n .requestAccess(_objectId, this.requestAccessEndpoint)\r\n .pipe(takeUntil(this.ngUsubscribe))\r\n .subscribe((data: any) => {\r\n const { fileName, uri } = data;\r\n this.customFieldsService\r\n .getFile(uri)\r\n .pipe(takeUntil(this.ngUsubscribe))\r\n .subscribe((blob: any) => {\r\n const newFile = new File([blob], fileName) as FileDto;\r\n newFile.objectURL = this.sanitizer.bypassSecurityTrustUrl(uri);\r\n anchor.nativeElement.setAttribute('href', uri);\r\n newFile.objectId = currentFile.objectId;\r\n newFile.savedFile = true;\r\n _files[index] = newFile;\r\n field.files = [..._files];\r\n anchor.nativeElement.click();\r\n });\r\n });\r\n }\r\n }\r\n\r\n private uploadFile(event: { files: FileDto[] }, formField: BlobFieldConfig): void {\r\n const { files } = event;\r\n const field = this.fields.find((record) => record.name === formField.name) as BlobFieldConfig;\r\n if (!field) {\r\n return;\r\n }\r\n\r\n // Se ocorrer um upload, já existindo um arquivo com upload feito. É necessário excluir o mesmo.\r\n if (field?.files?.length) {\r\n this.removeFile({ file: field.files[0] }, field);\r\n }\r\n field.files = files;\r\n const _name = field.name;\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n const file = files[i];\r\n if (!file.savedFile && !file.progress) {\r\n file.isUploading = true;\r\n this.formGroup.get(_name)?.setValidators(isUploading(file));\r\n this.formGroup.get(_name)?.updateValueAndValidity();\r\n this.customFieldsService\r\n .getFileLocationUrl(\r\n {\r\n domain: this.domain,\r\n service: this.service,\r\n entityName: this.entity,\r\n field: _name,\r\n fileName: file.name,\r\n },\r\n this.fileLocationEndpoint,\r\n )\r\n .pipe(\r\n takeUntil(this.ngUsubscribe),\r\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i))),\r\n )\r\n .subscribe((data: any) => {\r\n const { location, version, objectId } = data;\r\n file.version = version;\r\n file.objectId = objectId;\r\n file.uploadSubscribe = this.customFieldsService\r\n .uploadTempFile(location, file)\r\n .pipe(\r\n takeUntil(this.ngUsubscribe),\r\n catchError((err: HttpErrorResponse) => of(this.defaltCatchError(field, err, i))),\r\n finalize(() => {\r\n file.isUploading = false;\r\n }),\r\n )\r\n .subscribe((response: any) => {\r\n const { type } = response;\r\n if (!this.uploadCanceled) {\r\n if (type === HttpEventType.UploadProgress) {\r\n file.progress = Math.round(response.loaded / response.total) * 100;\r\n } else if (type === HttpEventType.Response) {\r\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(\r\n URL.createObjectURL(file),\r\n );\r\n\r\n const value = { objectId, name: file.name, version: file.version };\r\n const toInsert = this.formGroup.get('fieldCustomization')?.value[0].toInsert;\r\n const fieldCustomization = this.formGroup.get('fieldCustomization')?.value;\r\n if (fieldCustomization?.value?.[0]) {\r\n fieldCustomization.value[0].toInsert = {\r\n ...toInsert,\r\n [_name]: value,\r\n };\r\n }\r\n this.formGroup.get(_name)?.setValue(`${file.objectId}/${file.name}`);\r\n this.formGroup.get(_name)?.clearValidators();\r\n this.formGroup.get(_name)?.updateValueAndValidity();\r\n field.files = [file];\r\n }\r\n } else if (this.uploadCanceled && type === HttpEventType.Response) {\r\n this.uploadCanceled = false;\r\n }\r\n });\r\n field.files = [file];\r\n });\r\n }\r\n }\r\n }\r\n\r\n private removeFile(event: { file: FileDto }, blobField: BlobFieldConfig): void {\r\n const { file } = event;\r\n\r\n const field = this.fields.find((record) => record.name === blobField.name) as BlobFieldConfig;\r\n\r\n field!.files = [];\r\n\r\n if (file.objectId) {\r\n // Quando é um arquivo já salvo o objectId já é no formato \"objectId/name\"\r\n const value = file.savedFile ? `${file.objectId}` : `${file.objectId}/${file.name}`;\r\n const toDelete = this.formGroup.get('fieldCustomization')!.value[0].toDelete;\r\n delete this.formGroup.get('fieldCustomization')!.value[0].toInsert[field!.name];\r\n this.formGroup.get('fieldCustomization')!.value[0].toDelete = {\r\n ...toDelete,\r\n [field!.name]: [...(toDelete[field!.name] || []), value],\r\n };\r\n }\r\n\r\n this.formGroup.get(field!.name)!.clearValidators();\r\n this.formGroup.get(field!.name)!.setValue('');\r\n this.formGroup.get(field!.name)!.updateValueAndValidity();\r\n }\r\n\r\n private cancelUpload(index: number, formField: BlobFieldConfig): void {\r\n this.uploadCanceled = true;\r\n const field = this.fields.find((record) => record.name === formField.name) as BlobFieldConfig;\r\n if (!field) {\r\n return;\r\n }\r\n const _name = field.name;\r\n const _files = field.files || [];\r\n _files[index]?.uploadSubscribe?.unsubscribe();\r\n field.files = [];\r\n const fieldCustomization = this.formGroup.get('fieldCustomization')?.value[0];\r\n delete fieldCustomization.toInsert[_name];\r\n this.formGroup.get(_name)?.clearValidators();\r\n this.formGroup.get(_name)?.setValue('');\r\n this.formGroup.get(_name)?.updateValueAndValidity();\r\n }\r\n\r\n private defaltCatchError(field: BlobFieldConfig, err: HttpErrorResponse, index: number): Observable<never> {\r\n const { files } = field;\r\n if (files) {\r\n files[index].error = err;\r\n files[index].isUploading = false;\r\n field.files = [...files];\r\n const _name = field.name;\r\n this.formGroup.get(_name)?.setValidators([errorOnUpload(files[index])]);\r\n this.formGroup.get(_name)?.updateValueAndValidity();\r\n return throwError(() => new Error('error in upload file. Details: ' + err.message));\r\n } else {\r\n return throwError(() => new Error('error in upload file. Details: ' + err.message));\r\n }\r\n }\r\n\r\n private getTranslateLabel(label: string): string {\r\n return this.translateService.instant(`${this.domain}.${this.service}.${label}`);\r\n }\r\n\r\n private addDisplayTimeInfoSignToFields(): void {\r\n this.fields.forEach((field) => {\r\n field.displayTimeInfoSign = this.displayTimeInfoSign;\r\n });\r\n }\r\n}\r\n\r\nfunction isUploading(file: FileDto): ValidatorFn {\r\n return () => (file.isUploading ? { isUploading: true } : null);\r\n}\r\n\r\nfunction errorOnUpload(file: FileDto): ValidatorFn {\r\n return () => (file.error ? { uploadError: true } : null);\r\n}\r\n","@let errorMessages =\n {\n pattern: invalidErrorLabel,\n required: requiredErrorMessage,\n };\n\n<s-dynamic-form\n [configs]=\"dynamicStructure\"\n [form]=\"formGroup\"\n [errorMessages]=\"errorMessages\"\n>\n</s-dynamic-form>\n\n","import { NgModule } from '@angular/core';\r\nimport { CustomFieldsComponent } from './custom-fields.component';\r\nimport { CustomFieldsService } from './custom-fields.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@NgModule({\r\n imports: [CustomFieldsComponent],\r\n exports: [CustomFieldsComponent],\r\n providers: [CustomFieldsService, TranslateService],\r\n})\r\nexport class CustomFieldsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DynamicFormComponent_1"],"mappings":";;;;;;;;;;;;;MAMa,mBAAmB,CAAA;AACpB,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAG3B,IAAA,eAAe,CAClB,MAAc,EACd,OAAe,EACf,MAAc,EACd,QAAgB,EAAA;AAEhB,QAAA,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;QACnF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuB,QAAQ,EAAE,SAAS,CAAC,CAAC;KACpE;IAEM,kBAAkB,CACrB,GAMC,EACD,QAAgB,EAAA;QAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACxC;IAEM,cAAc,CAAC,QAAgB,EAAE,IAAU,EAAA;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE;AACjC,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE;AACzC,SAAA,CAAC,CAAC;KACN;IAEM,aAAa,CAAC,QAAgB,EAAE,QAAgB,EAAA;AACnD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;KACjD;AAEM,IAAA,OAAO,CAAC,YAAoB,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;KAChE;wGAzCQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAAnB,mBAAmB,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;ICHC,gBAcX;AAdD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,eAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,eAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACjB,CAAC,EAdW,eAAe,KAAf,eAAe,GAc1B,EAAA,CAAA,CAAA,CAAA;AAIY,MAAA,yBAAyB,GAAG,CAAC,IAAyB,KAAe;IAC9E,QAAQ,IAAI;AACR,QAAA,KAAK,QAAQ,CAAC;AACd,QAAA,KAAK,KAAK;AACN,YAAA,OAAO,QAAQ,CAAC;AACpB,QAAA,KAAK,QAAQ;AACT,YAAA,OAAO,QAAQ,CAAC;AACpB,QAAA,KAAK,MAAM;AACP,YAAA,OAAO,MAAM,CAAC;AAClB,QAAA,KAAK,UAAU,CAAC;AAChB,QAAA,KAAK,MAAM,CAAC;AACZ,QAAA,KAAK,MAAM,CAAC;AACZ,QAAA,KAAK,eAAe;AAChB,YAAA,OAAO,MAAM,CAAC;AAClB,QAAA,KAAK,aAAa,CAAC;AACnB,QAAA,KAAK,MAAM;AACP,YAAA,OAAO,MAAM,CAAC;AAClB,QAAA,KAAK,SAAS;AACV,YAAA,OAAO,SAAS,CAAC;AACrB,QAAA,KAAK,OAAO,CAAC;AACb,QAAA,KAAK,QAAQ,CAAC;AACd,QAAA,KAAK,SAAS;AACV,YAAA,OAAO,cAAc,CAAC;KAC7B;AACL;;ACgBA;;;;;;;;;;;;;;;;;AAiBG;MAmBU,qBAAqB,CAAA;AAGb,IAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAClD,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACtC,IAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACjC,IAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC5C,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;AAI1E,IAAA,MAAM,CAAU;;AAIhB,IAAA,OAAO,CAAU;;AAIjB,IAAA,MAAM,CAAU;;IAIhB,iBAAiB,GAAG,EAAE,CAAC;;AAIvB,IAAA,YAAY,CAAwB;;IAIpC,oBAAoB,GAAG,gDAAgD,CAAC;;IAIxE,oBAAoB,GAAG,oDAAoD,CAAC;;IAI5E,qBAAqB,GAAG,oDAAoD,CAAC;;IAI7E,oBAAoB,GAAG,EAAE,CAAC;;IAI1B,mBAAmB,GAAG,CAAC,CAAC;;IAIxB,kBAAkB,GAAG,KAAK,CAAC;;IAI3B,MAAM,GAAoC,IAAI,CAAC;;AAI/C,IAAA,aAAa,CAAsB;IAEhC,OAAO,GAAkB,KAAK,CAAC;IAElC,MAAM,GAAkB,EAAE,CAAC;AAC3B,IAAA,SAAS,GAAc,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;IAEtC,gBAAgB,GAAuB,EAAE,CAAC;IAE5C,KAAK,GAAG,KAAK,CAAC;AACd,IAAA,QAAQ,CAAM;AACd,IAAA,SAAS,CAAM;AACf,IAAA,KAAK,CAAM;AACF,IAAA,YAAY,GAAkB,IAAI,OAAO,EAAE,CAAC;AACrD,IAAA,cAAc,CAAsB;AACpC,IAAA,OAAO,CAAsB;AAC7B,IAAA,WAAW,CAAsB;AAEzC,IAAA,WAAA,GAAA;QACI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;KACvG;AAED,IAAA,IAAW,eAAe,GAAA;AACtB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;KAChC;AAED,IAAA,IAAW,UAAU,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,gBAAiB,CAAC,OAAoB,CAAC;KACtD;AAED,IAAA,IAAW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAgB,CAAC;KACvD;IAEM,QAAQ,GAAA;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,8BAA8B,EAAE,CAAC;KACzC;IAEM,eAAe,GAAA;QAClB,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;KAC1F;AAEM,IAAA,WAAW,CAAC,OAAsB,EAAA;AACrC,QAAA,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAChD,IAAI,cAAc,EAAE;AAChB,YAAA,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;SAC3D;KACJ;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;KAChC;AAEM,IAAA,gBAAgB,CAAC,EAAY,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAEM,IAAA,iBAAiB,CAAC,EAAY,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAEM,IAAA,UAAU,CAAC,KAAU,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAClD,YAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,mCAAmC,EAAE,CAAC;SAC9C;aAAM;YACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACvC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACtB;KACJ;AAEM,IAAA,gBAAgB,CAAC,UAAmB,EAAA;QACvC,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;SAChD;aAAM;YACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;SAC/C;KACJ;IAEM,eAAe,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;AAC5B,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAC3C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,oBAAoB,CAC5B,CAAC;KACL;IAEM,QAAQ,GAAA;QACX,MAAM,MAAM,GAAQ,EAAE,CAAC;AACvB,QAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACnD,YAAA,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAc,CAAC;YACzE,IAAI,aAAa,EAAE;AACf,gBAAA,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;aACjC;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC;KACjB;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;KAC1B;AAEO,IAAA,qBAAqB,CAAC,QAAiB,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,OAAO;SACV;AAED,QAAA,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AACzD,YAAA,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;SACrG;KACJ;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACpE;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACpE;KACJ;IAEO,WAAW,GAAA;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC;AACnC,QAAA,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;QACvE,QAAQ,CAAC,WAAW,CAAC;aAChB,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAC5B,QAAQ,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;AAChC,YAAA,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC;AAErC,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;AACL,SAAC,CAAC,CACL;AACA,aAAA,SAAS,CAAC,CAAC,QAAQ,KAAI;AACpB,YAAA,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC,GAAG,QAAiD,CAAC;YAChG,MAAM,QAAQ,GAA0E,EAAE,CAAC;AAC3F,YAAA,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACtC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC5D,YAAA,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACvC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACvD,YAAA,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AACrC,YAAA,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,YAAA,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AACxC,YAAA,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;AAC7C,YAAA,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,YAAA,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,YAAA,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACpC,YAAA,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;AACtC,YAAA,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAEnC,IAAI,CAAC,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;gBACxD,OAAO;aACV;YACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,OAAO,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO;aACV;YAED,MAAM;AACD,iBAAA,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC;AACpE,iBAAA,OAAO,CAAC,CAAC,KAAK,KAAI;gBACf,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAE9D,gBAAA,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;gBAE7B,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AACnF,oBAAA,IAAI,CAAC,sBAAsB,CAAC,WAA8B,CAAC,CAAC;iBAC/D;AAED,gBAAA,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC;AAEhD,gBAAA,MAAM,SAAS,GAA0B;AACrC,oBAAA,eAAe,CAAC,OAAO;AACvB,oBAAA,eAAe,CAAC,KAAK;AACrB,oBAAA,eAAe,CAAC,IAAI;AACpB,oBAAA,eAAe,CAAC,QAAQ;AACxB,oBAAA,eAAe,CAAC,aAAa;AAC7B,oBAAA,eAAe,CAAC,IAAI;iBACvB,CAAC;gBAEF,MAAM,UAAU,GAAG,EAAE,CAAC;gBACtB,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACnD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;iBACxD;gBACD,IAAI,SAAS,KAAK,eAAe,CAAC,OAAO,IAAI,CAAE,WAAiC,CAAC,IAAI,EAAE;oBACnF,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;iBACnD;AAED,gBAAA,IAAI,WAAW,CAAC,QAAQ,IAAI,EAAE;AAC1B,oBAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;iBACxC;gBAED,MAAM,OAAO,GAAG,IAAI,WAAW,CAC3B,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAC9E,UAAU,CACb,CAAC;gBAEF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAErD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClC,aAAC,CAAC,CAAC;YACP,IAAI,CAAC,gBAAgB,GAAG,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEnE,YAAA,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACtB,SAAC,CAAC,CAAC;KACV;AAEO,IAAA,oBAAoB,CAAC,MAAW,EAAA;AACpC,QAAA,MAAM,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC1B,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AACxB,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AACxB,YAAA,MAAM,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7B;;;;AAIG;AACH,YAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACpB,gBAAA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;gBAC3C,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;gBACzD,IAAI,QAAQ,EAAE;AACV,oBAAA,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;iBAC7B;qBAAM;;oBAEH,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;qBACxD;yBAAM;AACH,wBAAA,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;qBAC9B;iBACJ;aACJ;YAED,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO;aACV;YAED,QAAQ,IAAI;AACR,gBAAA,KAAK,MAAM;oBACP,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC5C,MAAM;AACV,gBAAA,KAAK,UAAU;oBACX,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC5C,MAAM;AACV,gBAAA,KAAK,eAAe;AAChB,oBAAA,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC,MAAM,EAAE,CAAC;oBACzE,MAAM;AACV,gBAAA,KAAK,MAAM;AACP,oBAAA,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;oBACxD,MAAM;AACV,gBAAA;oBACI,MAAM;aACb;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,YAAY,CAAC;KACvB;AAED;;;;AAIG;IACK,mCAAmC,GAAA;AACvC,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM;iBACN,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;AACxC,iBAAA,OAAO,CAAC,CAAC,KAAK,KAAI;AACf,gBAAA,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE;AACvC,oBAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;iBACtC;AACL,aAAC,CAAC,CAAC;SACV;KACJ;IAEO,iBAAiB,GAAA;QACrB,MAAM,YAAY,GAAQ,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC1B,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;AACvB,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;YAE5C,IAAI,KAAK,EAAE;gBACP,QAAQ,IAAI;AACR,oBAAA,KAAK,QAAQ;AACT,wBAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;AAC9B,wBAAA,IAAI,IAAI;AAAE,4BAAA,KAAK,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC3E,MAAM;AACV,oBAAA,KAAK,MAAM;wBACP,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;wBAC3C,MAAM;AACV,oBAAA,KAAK,UAAU;wBACX,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC/B,MAAM;AACV,oBAAA,KAAK,eAAe;wBAChB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;wBAC1D,MAAM;AACV,oBAAA,KAAK,MAAM;wBACP,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACzC,MAAM;AACV,oBAAA;wBACI,MAAM;iBACb;aACJ;YACD,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,MAAM,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,CAAC,EAAE;AACnF,gBAAA,MAAM,UAAU,GAAI,KAA2B,CAAC,QAAQ,CAAC;AACzD,gBAAA,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC;aAC/C;iBAAM;AACH,gBAAA,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aAC9B;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,YAAY,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC;SACxF;AACD,QAAA,OAAO,YAAY,CAAC;KACvB;IAEO,cAAc,CAAC,KAAmB,EAAE,aAA4B,EAAA;QACpE,IAAI,UAAU,GAAyB,EAAE,CAAC;AAE1C,QAAA,QAAQ,KAAK,CAAC,IAAI;YACd,KAAK,eAAe,CAAC,IAAI;AACrB,gBAAA,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACtC,MAAM;YACV,KAAK,eAAe,CAAC,OAAO;AACxB,gBAAA,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACzC,MAAM;AACV,YAAA,KAAK,aAAa,CAAC;YACnB,KAAK,eAAe,CAAC,IAAI;AACrB,gBAAA,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;AACpB,gBAAA,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM;YACV,KAAK,eAAe,CAAC,KAAK;AACtB,gBAAA,UAAU,GAAG;AACT,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,SAAS,EAAE;AACP,wBAAA,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,IAAI,IAAI;AACvD,qBAAA;iBACJ,CAAC;gBACF,MAAM;YACV,KAAK,eAAe,CAAC,MAAM;AACvB,gBAAA,UAAU,GAAG;AACT,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,eAAe,EAAE,IAAI;iBACxB,CAAC;gBACF,MAAM;YACV,KAAK,eAAe,CAAC,OAAO;AACxB,gBAAA,UAAU,GAAG;AACT,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,KAAK,EAAE,CAAC;iBACX,CAAC;gBACF,MAAM;YACV,KAAK,eAAe,CAAC,GAAG;AACpB,gBAAA,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;AACtB,gBAAA,UAAU,GAAG;AACT,oBAAA,IAAI,EAAE,QAAQ;iBACjB,CAAC;gBACF,MAAM;SACb;AAED,QAAA,MAAM,WAAW,GAGb;AACA,YAAA,GAAG,UAAU;YACb,IAAI,EAAE,KAAK,CAAC,EAAE;AACd,YAAA,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK;AAChC,YAAA,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;AACpC,YAAA,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ;AACtC,YAAA,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3C,YAAA,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI;YAC9B,QAAQ,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,SAAS,IAAI,KAAK;YACtD,eAAe,EAAE,aAAa,CAAC,QAAQ;YACvC,eAAe,EAAE,aAAa,CAAC,MAAM;SAC0D,CAAC;AACpG,QAAA,OAAO,WAAW,CAAC;KACtB;AAEO,IAAA,mBAAmB,CAAC,KAAU,EAAA;QAClC,OAAO;AACH,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ;AACxD,YAAA,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;SAC5G,CAAC;KACL;IAEO,oBAAoB,GAAA;QACxB,OAAO;AACH,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE;AACV,gBAAA,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;AAC1C,gBAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;AAC5C,gBAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;AAC/C,aAAA;SACJ,CAAC;KACL;IAEO,iBAAiB,GAAA;QACrB,OAAO;AACH,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAE;AACF,gBAAA,EAAE,EAAE,EAAE;AACN,gBAAA,EAAE,EAAE,EAAE;AACN,gBAAA,EAAE,EAAE,EAAE;AACN,gBAAA,EAAE,EAAE,EAAE;AACT,aAAA;AACD,YAAA,MAAM,EAAE,gCAAgC;AACxC,YAAA,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;AACnD,YAAA,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;AACnD,YAAA,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;AACnD,YAAA,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;AACzD,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,CAAC,KAA2B,EAAE,SAA0B,KAAI;AACtE,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aACrC;AACD,YAAA,YAAY,EAAE,CAAC,KAAc,EAAE,SAA0B,KAAI;gBACzD,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;aAC/C;AACD,YAAA,cAAc,EAAE,CAAC,KAAa,EAAE,SAA0B,KAAI;AAC1D,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aACvC;AACD,YAAA,cAAc,EAAE,CAAC,KAA4C,EAAE,SAA0B,KAAI;AACzF,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aACvC;YACD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC9C,CAAC;KACL;AAED;;;AAGG;AACK,IAAA,wBAAwB,CAAC,MAAsB,EAAA;QACnD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACtF,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,SAAS,CAAC,UAAU,CACrB,oBAAoB,EACpB,IAAI,SAAS,CAAC;AACV,gBAAA,IAAI,SAAS,CAAC;AACV,oBAAA,MAAM,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,oBAAA,OAAO,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;AACtC,oBAAA,MAAM,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,oBAAA,QAAQ,EAAE,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACzD,oBAAA,QAAQ,EAAE,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;iBAC5D,CAAC;AACL,aAAA,CAAC,CACL,CAAC;SACL;KACJ;AAEO,IAAA,sBAAsB,CAAC,KAAsB,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;AAC1F,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnE,QAAA,MAAM,IAAI,GAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7E,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC,IAAe,CAAC,CAAC;KACnC;IAEO,YAAY,CAAC,KAA4C,EAAE,KAAsB,EAAA;AACrF,QAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AAChC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAChB,OAAO;SACV;AACD,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,WAAW,CAAC,SAAS,EAAE;AACvB,YAAA,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAChC;aAAM;AACH,YAAA,MAAM,SAAS,GAAG,WAAW,CAAC,QAAkB,CAAC;AACjD,YAAA,IAAI,CAAC,mBAAmB;AACnB,iBAAA,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,qBAAqB,CAAC;AACpD,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClC,iBAAA,SAAS,CAAC,CAAC,IAAS,KAAI;AACrB,gBAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/B,gBAAA,IAAI,CAAC,mBAAmB;qBACnB,OAAO,CAAC,GAAG,CAAC;AACZ,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClC,qBAAA,SAAS,CAAC,CAAC,IAAS,KAAI;oBACrB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAY,CAAC;oBACtD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;oBAC/D,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC/C,oBAAA,OAAO,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;AACxC,oBAAA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACzB,oBAAA,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AACxB,oBAAA,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;AAC1B,oBAAA,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;AACjC,iBAAC,CAAC,CAAC;AACX,aAAC,CAAC,CAAC;SACV;KACJ;IAEO,UAAU,CAAC,KAA2B,EAAE,SAA0B,EAAA;AACtE,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAoB,CAAC;QAC9F,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;;AAGD,QAAA,IAAI,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;AACtB,YAAA,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;SACpD;AACD,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AACpB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;AAEzB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;AACpD,gBAAA,IAAI,CAAC,mBAAmB;AACnB,qBAAA,kBAAkB,CACf;oBACI,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,UAAU,EAAE,IAAI,CAAC,MAAM;AACvB,oBAAA,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI,CAAC,IAAI;iBACtB,EACD,IAAI,CAAC,oBAAoB,CAC5B;AACA,qBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAC5B,UAAU,CAAC,CAAC,GAAsB,KAAK,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CACnF;AACA,qBAAA,SAAS,CAAC,CAAC,IAAS,KAAI;oBACrB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AAC7C,oBAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,oBAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB;AAC1C,yBAAA,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;AAC9B,yBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAC5B,UAAU,CAAC,CAAC,GAAsB,KAAK,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAChF,QAAQ,CAAC,MAAK;AACV,wBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AAC7B,qBAAC,CAAC,CACL;AACA,yBAAA,SAAS,CAAC,CAAC,QAAa,KAAI;AACzB,wBAAA,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;AAC1B,wBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,4BAAA,IAAI,IAAI,KAAK,aAAa,CAAC,cAAc,EAAE;AACvC,gCAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;6BACtE;AAAM,iCAAA,IAAI,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE;AACxC,gCAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAClD,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAC5B,CAAC;AAEF,gCAAA,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACnE,gCAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7E,gCAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC;gCAC3E,IAAI,kBAAkB,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE;AAChC,oCAAA,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG;AACnC,wCAAA,GAAG,QAAQ;wCACX,CAAC,KAAK,GAAG,KAAK;qCACjB,CAAC;iCACL;gCACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAI,CAAA,EAAA,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC,CAAC;gCACrE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;gCAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;AACpD,gCAAA,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;6BACxB;yBACJ;6BAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE;AAC/D,4BAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;yBAC/B;AACL,qBAAC,CAAC,CAAC;AACP,oBAAA,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,iBAAC,CAAC,CAAC;aACV;SACJ;KACJ;IAEO,UAAU,CAAC,KAAwB,EAAE,SAA0B,EAAA;AACnE,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAoB,CAAC;AAE9F,QAAA,KAAM,CAAC,KAAK,GAAG,EAAE,CAAC;AAElB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;;YAEf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,CAAG,EAAA,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,CAAA,CAAE,CAAC;AACpF,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7E,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAM,CAAC,IAAI,CAAC,CAAC;AAChF,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG;AAC1D,gBAAA,GAAG,QAAQ;AACX,gBAAA,CAAC,KAAM,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC;aAC3D,CAAC;SACL;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAM,CAAC,IAAI,CAAE,CAAC,eAAe,EAAE,CAAC;AACnD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAM,CAAC,IAAI,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAM,CAAC,IAAI,CAAE,CAAC,sBAAsB,EAAE,CAAC;KAC7D;IAEO,YAAY,CAAC,KAAa,EAAE,SAA0B,EAAA;AAC1D,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAoB,CAAC;QAC9F,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;AACD,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;AACzB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAC9C,QAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9E,QAAA,OAAO,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;KACvD;AAEO,IAAA,gBAAgB,CAAC,KAAsB,EAAE,GAAsB,EAAE,KAAa,EAAA;AAClF,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,EAAE;AACP,YAAA,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC;AACzB,YAAA,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;AACjC,YAAA,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AACzB,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAC;AACpD,YAAA,OAAO,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;SACvF;aAAM;AACH,YAAA,OAAO,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;SACvF;KACJ;AAEO,IAAA,iBAAiB,CAAC,KAAa,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAA,CAAE,CAAC,CAAC;KACnF;IAEO,8BAA8B,GAAA;QAClC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC1B,YAAA,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;AACzD,SAAC,CAAC,CAAC;KACN;wGArtBQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAfnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,aAAa;AACtB,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;SACJ,EC5FL,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qQAaA,4CDiFcA,oBAAsB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,SAAA,EAAA,QAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEvB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAlBjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAEhB,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAuB,qBAAA;AAClC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAuB,qBAAA;AAClC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,OAAA,EACP,CAACA,oBAAsB,CAAC,EAAA,QAAA,EAAA,qQAAA,EAAA,CAAA;wDAa1B,MAAM,EAAA,CAAA;sBADZ,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAKlB,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAKlB,MAAM,EAAA,CAAA;sBADZ,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAKlB,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBAKC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAKC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAKC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAKC,qBAAqB,EAAA,CAAA;sBAD3B,KAAK;gBAKC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBAKC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAKC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAKC,MAAM,EAAA,CAAA;sBADZ,KAAK;gBAKC,aAAa,EAAA,CAAA;sBADnB,KAAK;;AA8pBV,SAAS,WAAW,CAAC,IAAa,EAAA;IAC9B,OAAO,OAAO,IAAI,CAAC,WAAW,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,IAAa,EAAA;IAChC,OAAO,OAAO,IAAI,CAAC,KAAK,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAC7D;;MEpzBa,kBAAkB,CAAA;wGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAlB,kBAAkB,EAAA,OAAA,EAAA,CAJjB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAGtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,aAFhB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,YAFxC,qBAAqB,CAAA,EAAA,CAAA,CAAA;;4FAItB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAChC,oBAAA,SAAS,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;AACrD,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}