@seniorsistemas/angular-components 17.31.2 → 18.0.0-develop-ae6477c0

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 (3310) hide show
  1. package/README.md +25 -0
  2. package/accordion/index.d.ts +5 -0
  3. package/accordion/lib/accordion/accordion.component.d.ts +21 -0
  4. package/accordion/lib/accordion/accordion.module.d.ts +12 -0
  5. package/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.d.ts +30 -0
  6. package/accordion/lib/accordion/models/accordion-button-settings.d.ts +5 -0
  7. package/accordion/public-api.d.ts +3 -0
  8. package/alert/index.d.ts +5 -0
  9. package/alert/lib/alert/alert.component.d.ts +16 -0
  10. package/alert/lib/alert/alert.module.d.ts +8 -0
  11. package/alert/public-api.d.ts +2 -0
  12. package/autocomplete/index.d.ts +5 -0
  13. package/autocomplete/lib/autocomplete/autocomplete.component.d.ts +251 -0
  14. package/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.d.ts +9 -0
  15. package/autocomplete/public-api.d.ts +1 -0
  16. package/badge/index.d.ts +5 -0
  17. package/badge/lib/badge/badge.component.d.ts +21 -0
  18. package/badge/lib/badge/badge.module.d.ts +10 -0
  19. package/badge/lib/badge/types/badge-colors.d.ts +1 -0
  20. package/badge/lib/badge/types/badge-types.d.ts +1 -0
  21. package/badge/public-api.d.ts +4 -0
  22. package/bignumber-input/index.d.ts +5 -0
  23. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +42 -0
  24. package/bignumber-input/lib/bignumber-input/bignumber-input.module.d.ts +8 -0
  25. package/bignumber-input/public-api.d.ts +2 -0
  26. package/breadcrumb/index.d.ts +5 -0
  27. package/breadcrumb/lib/breadcrumb/breadcrumb.component.d.ts +25 -0
  28. package/breadcrumb/lib/breadcrumb/breadcrumb.module.d.ts +10 -0
  29. package/breadcrumb/public-api.d.ts +2 -0
  30. package/button/index.d.ts +5 -0
  31. package/button/lib/button/button.component.d.ts +35 -0
  32. package/button/lib/button/button.module.d.ts +7 -0
  33. package/button/lib/button/models/button-animations.d.ts +1 -0
  34. package/button/lib/button/models/button-badge-config.d.ts +6 -0
  35. package/button/lib/button/models/button-priority.d.ts +1 -0
  36. package/button/lib/button/models/button-size.d.ts +1 -0
  37. package/button/lib/button/models/index.d.ts +4 -0
  38. package/button/public-api.d.ts +3 -0
  39. package/calendar-mask/index.d.ts +5 -0
  40. package/calendar-mask/lib/calendar-mask/calendar-mask.directive.d.ts +69 -0
  41. package/calendar-mask/lib/calendar-mask/calendar-mask.module.d.ts +8 -0
  42. package/calendar-mask/public-api.d.ts +2 -0
  43. package/card/index.d.ts +5 -0
  44. package/card/lib/card/card.component.d.ts +26 -0
  45. package/card/lib/card/card.module.d.ts +9 -0
  46. package/card/public-api.d.ts +2 -0
  47. package/chat/index.d.ts +5 -0
  48. package/chat/lib/chat/chat.component.d.ts +11 -0
  49. package/chat/lib/chat/chat.module.d.ts +11 -0
  50. package/chat/lib/chat/components/chat-message/chat-message.component.d.ts +11 -0
  51. package/chat/lib/chat/types/chat-message.d.ts +8 -0
  52. package/chat/public-api.d.ts +3 -0
  53. package/checkbox/index.d.ts +5 -0
  54. package/checkbox/lib/checkbox/checkbox.component.d.ts +19 -0
  55. package/checkbox/public-api.d.ts +1 -0
  56. package/checkbox-list/index.d.ts +5 -0
  57. package/checkbox-list/lib/checkbox-list/checkbox-list.component.d.ts +21 -0
  58. package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +9 -0
  59. package/checkbox-list/lib/checkbox-list/models/checkbox-list-data.d.ts +5 -0
  60. package/checkbox-list/lib/checkbox-list/models/checkbox-list-state.d.ts +7 -0
  61. package/checkbox-list/public-api.d.ts +4 -0
  62. package/chips/index.d.ts +5 -0
  63. package/chips/lib/chips/chip-item/chip-item.component.d.ts +25 -0
  64. package/chips/lib/chips/chips/chips.component.d.ts +66 -0
  65. package/chips/lib/chips/chips.module.d.ts +12 -0
  66. package/chips/lib/chips/models/chip-models.d.ts +7 -0
  67. package/chips/public-api.d.ts +3 -0
  68. package/code-editor/index.d.ts +5 -0
  69. package/code-editor/lib/code-editor/code-editor.component.d.ts +31 -0
  70. package/code-editor/lib/code-editor/code-editor.module.d.ts +9 -0
  71. package/code-editor/lib/code-editor/core/facades/core-facade.d.ts +34 -0
  72. package/code-editor/lib/code-editor/core/use-cases/core-linters.d.ts +6 -0
  73. package/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +27 -0
  74. package/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.d.ts +15 -0
  75. package/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.d.ts +6 -0
  76. package/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.d.ts +12 -0
  77. package/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.d.ts +8 -0
  78. package/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.d.ts +1 -0
  79. package/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/editor-theme.d.ts +3 -0
  80. package/code-editor/lib/code-editor/infra/utils/custom-http-client/custom-http-client.d.ts +34 -0
  81. package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations-service.d.ts +25 -0
  82. package/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +16 -0
  83. package/code-editor/public-api.d.ts +4 -0
  84. package/collapse-link/index.d.ts +5 -0
  85. package/collapse-link/lib/collapse-link/collapse-link.component.d.ts +20 -0
  86. package/collapse-link/lib/collapse-link/collapse-link.module.d.ts +8 -0
  87. package/collapse-link/public-api.d.ts +2 -0
  88. package/common/index.d.ts +5 -0
  89. package/common/lib/angular-components.module.d.ts +13 -0
  90. package/common/lib/custom-http-client/custom-http-client.d.ts +34 -0
  91. package/common/lib/custom-http-client/json-response-formatters/format-blob-response.d.ts +6 -0
  92. package/common/lib/custom-http-client/json-response-formatters/format-json-response.d.ts +6 -0
  93. package/common/lib/debouce.d.ts +7 -0
  94. package/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +5 -0
  95. package/common/lib/svg-factory/components/senior-icon/senior-icon.component.d.ts +5 -0
  96. package/common/lib/svg-factory/components/svg-factory-icons.d.ts +1 -0
  97. package/common/lib/svg-factory/index.d.ts +2 -0
  98. package/common/lib/svg-factory/svg-factory.directive.d.ts +15 -0
  99. package/common/lib/svg-factory/svg-factory.module.d.ts +10 -0
  100. package/common/public-api.d.ts +5 -0
  101. package/confirm-dialog/README.md +226 -0
  102. package/confirm-dialog/index.d.ts +5 -0
  103. package/confirm-dialog/lib/confirm-dialog.model.d.ts +8 -0
  104. package/confirm-dialog/lib/confirm-dialog.service.d.ts +8 -0
  105. package/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.d.ts +7 -0
  106. package/confirm-dialog/public-api.d.ts +2 -0
  107. package/control-errors/index.d.ts +5 -0
  108. package/control-errors/lib/control-errors/control-errors.component.d.ts +26 -0
  109. package/control-errors/lib/control-errors/control-errors.module.d.ts +9 -0
  110. package/control-errors/public-api.d.ts +2 -0
  111. package/country-phone-picker/index.d.ts +5 -0
  112. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +67 -0
  113. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.d.ts +11 -0
  114. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.d.ts +13 -0
  115. package/country-phone-picker/lib/country-phone-picker/resources/countries.d.ts +2 -0
  116. package/country-phone-picker/public-api.d.ts +6 -0
  117. package/currency/index.d.ts +5 -0
  118. package/currency/lib/currency.service.d.ts +12 -0
  119. package/currency/lib/models/currencies.d.ts +634 -0
  120. package/currency/lib/types/currency.d.ts +2 -0
  121. package/currency/public-api.d.ts +3 -0
  122. package/custom-fields/index.d.ts +5 -0
  123. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +86 -0
  124. package/custom-fields/lib/custom-fields/custom-fields.module.d.ts +13 -0
  125. package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +20 -0
  126. package/custom-fields/public-api.d.ts +3 -0
  127. package/dialog/index.d.ts +5 -0
  128. package/dialog/lib/src/dialog/dialog.component.d.ts +29 -0
  129. package/dialog/lib/src/dialog/models/active-dialog.d.ts +11 -0
  130. package/dialog/lib/src/dialog/models/dialog-models.d.ts +18 -0
  131. package/dialog/lib/src/dialog/services/dialog.service.d.ts +24 -0
  132. package/dialog/lib/src/dialog/services/internal-dialog.service.d.ts +10 -0
  133. package/dialog/public-api.d.ts +4 -0
  134. package/dynamic-form/index.d.ts +5 -0
  135. package/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.d.ts +8 -0
  136. package/dynamic-form/lib/dynamic-form/components/grid/row/row.component.d.ts +15 -0
  137. package/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.d.ts +164 -0
  138. package/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.d.ts +4 -0
  139. package/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.d.ts +13 -0
  140. package/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.d.ts +8 -0
  141. package/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +12 -0
  142. package/dynamic-form/lib/dynamic-form/components/structure/section/section.component.d.ts +14 -0
  143. package/dynamic-form/lib/dynamic-form/configurations/grid/grid.d.ts +14 -0
  144. package/dynamic-form/lib/dynamic-form/configurations/grid/row.d.ts +8 -0
  145. package/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.d.ts +10 -0
  146. package/dynamic-form/lib/dynamic-form/configurations/structure/section.d.ts +20 -0
  147. package/dynamic-form/lib/dynamic-form/configurations/structure/structure.d.ts +14 -0
  148. package/dynamic-form/lib/dynamic-form/dynamic-form.component.d.ts +19 -0
  149. package/dynamic-form/lib/dynamic-form/dynamic-form.d.ts +57 -0
  150. package/dynamic-form/lib/dynamic-form/dynamic-form.directive.d.ts +34 -0
  151. package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +83 -0
  152. package/dynamic-form/lib/dynamic-form/form-field/addon-config.d.ts +7 -0
  153. package/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.d.ts +32 -0
  154. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +30 -0
  155. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +38 -0
  156. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.d.ts +43 -0
  157. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +29 -0
  158. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +11 -0
  159. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.d.ts +34 -0
  160. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +45 -0
  161. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +9 -0
  162. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.d.ts +24 -0
  163. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.d.ts +15 -0
  164. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.d.ts +9 -0
  165. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.d.ts +14 -0
  166. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.d.ts +96 -0
  167. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +97 -0
  168. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.d.ts +47 -0
  169. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.d.ts +45 -0
  170. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +35 -0
  171. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.d.ts +23 -0
  172. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.d.ts +41 -0
  173. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.d.ts +32 -0
  174. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +17 -0
  175. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +24 -0
  176. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +26 -0
  177. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.d.ts +41 -0
  178. package/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.d.ts +17 -0
  179. package/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.d.ts +32 -0
  180. package/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +27 -0
  181. package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.d.ts +11 -0
  182. package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +10 -0
  183. package/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +10 -0
  184. package/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.d.ts +35 -0
  185. package/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +10 -0
  186. package/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.d.ts +22 -0
  187. package/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +14 -0
  188. package/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +660 -0
  189. package/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.d.ts +10 -0
  190. package/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.d.ts +19 -0
  191. package/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +9 -0
  192. package/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.d.ts +31 -0
  193. package/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.d.ts +22 -0
  194. package/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +9 -0
  195. package/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.d.ts +17 -0
  196. package/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.d.ts +10 -0
  197. package/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +25 -0
  198. package/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +10 -0
  199. package/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.d.ts +25 -0
  200. package/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +14 -0
  201. package/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +9 -0
  202. package/dynamic-form/lib/dynamic-form/form-field/form-field.d.ts +192 -0
  203. package/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.d.ts +12 -0
  204. package/dynamic-form/public-api.d.ts +43 -0
  205. package/editable-overlay/index.d.ts +5 -0
  206. package/editable-overlay/lib/editable-overlay/editable-overlay.directive.d.ts +11 -0
  207. package/editable-overlay/lib/editable-overlay/editable-overlay.module.d.ts +8 -0
  208. package/editable-overlay/public-api.d.ts +2 -0
  209. package/empty-state/index.d.ts +5 -0
  210. package/empty-state/lib/empty-state/empty-state.component.d.ts +21 -0
  211. package/empty-state/lib/empty-state/empty-state.module.d.ts +10 -0
  212. package/empty-state/lib/empty-state/go-back/go-back.component.d.ts +13 -0
  213. package/empty-state/public-api.d.ts +3 -0
  214. package/esm2022/accordion/lib/accordion/accordion.component.mjs +90 -0
  215. package/esm2022/accordion/lib/accordion/accordion.module.mjs +36 -0
  216. package/esm2022/accordion/lib/accordion/components/accordion-panel/accordion-panel.component.mjs +124 -0
  217. package/esm2022/accordion/lib/accordion/models/accordion-button-settings.mjs +2 -0
  218. package/esm2022/accordion/public-api.mjs +4 -0
  219. package/esm2022/accordion/seniorsistemas-angular-components-accordion.mjs +5 -0
  220. package/esm2022/alert/lib/alert/alert.component.mjs +44 -0
  221. package/esm2022/alert/lib/alert/alert.module.mjs +18 -0
  222. package/esm2022/alert/public-api.mjs +3 -0
  223. package/esm2022/alert/seniorsistemas-angular-components-alert.mjs +5 -0
  224. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +558 -0
  225. package/esm2022/autocomplete/lib/autocomplete/components/autocomplete-chip/autocomplete-chip.component.mjs +17 -0
  226. package/esm2022/autocomplete/public-api.mjs +2 -0
  227. package/esm2022/autocomplete/seniorsistemas-angular-components-autocomplete.mjs +5 -0
  228. package/esm2022/badge/lib/badge/badge.component.mjs +46 -0
  229. package/esm2022/badge/lib/badge/badge.module.mjs +20 -0
  230. package/esm2022/badge/lib/badge/types/badge-colors.mjs +4 -0
  231. package/esm2022/badge/lib/badge/types/badge-types.mjs +2 -0
  232. package/esm2022/badge/public-api.mjs +3 -0
  233. package/esm2022/badge/seniorsistemas-angular-components-badge.mjs +5 -0
  234. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +156 -0
  235. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +21 -0
  236. package/esm2022/bignumber-input/public-api.mjs +3 -0
  237. package/esm2022/bignumber-input/seniorsistemas-angular-components-bignumber-input.mjs +5 -0
  238. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.component.mjs +105 -0
  239. package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.module.mjs +20 -0
  240. package/esm2022/breadcrumb/public-api.mjs +3 -0
  241. package/esm2022/breadcrumb/seniorsistemas-angular-components-breadcrumb.mjs +5 -0
  242. package/esm2022/button/lib/button/button.component.mjs +100 -0
  243. package/esm2022/button/lib/button/button.module.mjs +18 -0
  244. package/esm2022/button/lib/button/models/button-animations.mjs +2 -0
  245. package/esm2022/button/lib/button/models/button-badge-config.mjs +2 -0
  246. package/esm2022/button/lib/button/models/button-priority.mjs +2 -0
  247. package/esm2022/button/lib/button/models/button-size.mjs +2 -0
  248. package/esm2022/button/lib/button/models/index.mjs +2 -0
  249. package/esm2022/button/public-api.mjs +4 -0
  250. package/esm2022/button/seniorsistemas-angular-components-button.mjs +5 -0
  251. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.directive.mjs +611 -0
  252. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +18 -0
  253. package/esm2022/calendar-mask/public-api.mjs +3 -0
  254. package/esm2022/calendar-mask/seniorsistemas-angular-components-calendar-mask.mjs +5 -0
  255. package/esm2022/card/lib/card/card.component.mjs +85 -0
  256. package/esm2022/card/lib/card/card.module.mjs +19 -0
  257. package/esm2022/card/public-api.mjs +3 -0
  258. package/esm2022/card/seniorsistemas-angular-components-card.mjs +5 -0
  259. package/esm2022/chat/lib/chat/chat.component.mjs +29 -0
  260. package/esm2022/chat/lib/chat/chat.module.mjs +22 -0
  261. package/esm2022/chat/lib/chat/components/chat-message/chat-message.component.mjs +29 -0
  262. package/esm2022/chat/lib/chat/types/chat-message.mjs +2 -0
  263. package/esm2022/chat/public-api.mjs +3 -0
  264. package/esm2022/chat/seniorsistemas-angular-components-chat.mjs +5 -0
  265. package/esm2022/checkbox/lib/checkbox/checkbox.component.mjs +67 -0
  266. package/esm2022/checkbox/public-api.mjs +2 -0
  267. package/esm2022/checkbox/seniorsistemas-angular-components-checkbox.mjs +5 -0
  268. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.component.mjs +129 -0
  269. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +19 -0
  270. package/esm2022/checkbox-list/lib/checkbox-list/models/checkbox-list-data.mjs +2 -0
  271. package/esm2022/checkbox-list/lib/checkbox-list/models/checkbox-list-state.mjs +2 -0
  272. package/esm2022/checkbox-list/public-api.mjs +3 -0
  273. package/esm2022/checkbox-list/seniorsistemas-angular-components-checkbox-list.mjs +5 -0
  274. package/esm2022/chips/lib/chips/chip-item/chip-item.component.mjs +67 -0
  275. package/esm2022/chips/lib/chips/chips/chips.component.mjs +241 -0
  276. package/esm2022/chips/lib/chips/chips.module.mjs +22 -0
  277. package/esm2022/chips/lib/chips/models/chip-models.mjs +2 -0
  278. package/esm2022/chips/public-api.mjs +3 -0
  279. package/esm2022/chips/seniorsistemas-angular-components-chips.mjs +5 -0
  280. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +116 -0
  281. package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +32 -0
  282. package/esm2022/code-editor/lib/code-editor/core/facades/core-facade.mjs +91 -0
  283. package/esm2022/code-editor/lib/code-editor/core/facades/linter-facade.mjs +2 -0
  284. package/esm2022/code-editor/lib/code-editor/core/models/enums/marker-severity.mjs +7 -0
  285. package/esm2022/code-editor/lib/code-editor/core/models/index.mjs +5 -0
  286. package/esm2022/code-editor/lib/code-editor/core/models/interfaces/marker.mjs +2 -0
  287. package/esm2022/code-editor/lib/code-editor/core/use-cases/core-linters.mjs +11 -0
  288. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/codemirror-6-core.mjs +113 -0
  289. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/editor-languages.mjs +17 -0
  290. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/json/json.language.mjs +67 -0
  291. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.mjs +29 -0
  292. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.mjs +29 -0
  293. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.mjs +17 -0
  294. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.mjs +77 -0
  295. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.mjs +4 -0
  296. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.mjs +35 -0
  297. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.mjs +334 -0
  298. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.mjs +25 -0
  299. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.mjs +18 -0
  300. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.mjs +37 -0
  301. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.mjs +10 -0
  302. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.mjs +8 -0
  303. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.mjs +12 -0
  304. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.mjs +36 -0
  305. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.mjs +9 -0
  306. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.mjs +22 -0
  307. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.mjs +2 -0
  308. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.mjs +2 -0
  309. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.mjs +2 -0
  310. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.mjs +2 -0
  311. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.mjs +2 -0
  312. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.mjs +2 -0
  313. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.mjs +2 -0
  314. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.mjs +2 -0
  315. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.mjs +2 -0
  316. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.mjs +2 -0
  317. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.mjs +2 -0
  318. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.mjs +2 -0
  319. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.mjs +2 -0
  320. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.mjs +2 -0
  321. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.mjs +11 -0
  322. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.mjs +9 -0
  323. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.mjs +14 -0
  324. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.mjs +18 -0
  325. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.mjs +3 -0
  326. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/index.mjs +4 -0
  327. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.mjs +2 -0
  328. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/models/types/editor-theme.mjs +2 -0
  329. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/editor-themes.mjs +15 -0
  330. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.mjs +61 -0
  331. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.mjs +39 -0
  332. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.mjs +25 -0
  333. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.mjs +18 -0
  334. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.mjs +16 -0
  335. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.mjs +13 -0
  336. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.mjs +22 -0
  337. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.mjs +15 -0
  338. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/index.mjs +3 -0
  339. package/esm2022/code-editor/lib/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.mjs +5 -0
  340. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/custom-http-client.mjs +82 -0
  341. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.mjs +10 -0
  342. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.mjs +9 -0
  343. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-http-client/json-response-formatters/index.mjs +3 -0
  344. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations-service.mjs +37 -0
  345. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/custom-translations.module.mjs +32 -0
  346. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/index.mjs +3 -0
  347. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/models/index.mjs +3 -0
  348. package/esm2022/code-editor/lib/code-editor/infra/utils/custom-translations/models/interfaces/translations.mjs +2 -0
  349. package/esm2022/code-editor/lib/code-editor/infra/utils/index.mjs +3 -0
  350. package/esm2022/code-editor/lib/code-editor/models/enums/languages.mjs +6 -0
  351. package/esm2022/code-editor/lib/code-editor/models/enums/themes.mjs +5 -0
  352. package/esm2022/code-editor/lib/code-editor/models/index.mjs +6 -0
  353. package/esm2022/code-editor/lib/code-editor/models/interfaces/editor-options.mjs +2 -0
  354. package/esm2022/code-editor/public-api.mjs +6 -0
  355. package/esm2022/code-editor/seniorsistemas-angular-components-code-editor.mjs +5 -0
  356. package/esm2022/collapse-link/lib/collapse-link/collapse-link.component.mjs +81 -0
  357. package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +18 -0
  358. package/esm2022/collapse-link/public-api.mjs +3 -0
  359. package/esm2022/collapse-link/seniorsistemas-angular-components-collapse-link.mjs +5 -0
  360. package/esm2022/common/lib/angular-components.module.mjs +24 -0
  361. package/esm2022/common/lib/custom-http-client/custom-http-client.mjs +86 -0
  362. package/esm2022/common/lib/custom-http-client/json-response-formatters/format-blob-response.mjs +10 -0
  363. package/esm2022/common/lib/custom-http-client/json-response-formatters/format-json-response.mjs +9 -0
  364. package/esm2022/common/lib/debouce.mjs +35 -0
  365. package/esm2022/common/lib/svg-factory/components/iassist-icon/iassist-icon.component.mjs +11 -0
  366. package/esm2022/common/lib/svg-factory/components/senior-icon/senior-icon.component.mjs +11 -0
  367. package/esm2022/common/lib/svg-factory/components/svg-factory-icons.mjs +2 -0
  368. package/esm2022/common/lib/svg-factory/index.mjs +3 -0
  369. package/esm2022/common/lib/svg-factory/svg-factory.directive.mjs +44 -0
  370. package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +26 -0
  371. package/esm2022/common/public-api.mjs +5 -0
  372. package/esm2022/common/seniorsistemas-angular-components-common.mjs +5 -0
  373. package/esm2022/confirm-dialog/lib/confirm-dialog.model.mjs +2 -0
  374. package/esm2022/confirm-dialog/lib/confirm-dialog.service.mjs +34 -0
  375. package/esm2022/confirm-dialog/lib/popup-confirm-dialog/popup-confirm-dialog.component.mjs +17 -0
  376. package/esm2022/confirm-dialog/public-api.mjs +2 -0
  377. package/esm2022/confirm-dialog/seniorsistemas-angular-components-confirm-dialog.mjs +5 -0
  378. package/esm2022/control-errors/lib/control-errors/control-errors.component.mjs +52 -0
  379. package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +19 -0
  380. package/esm2022/control-errors/public-api.mjs +3 -0
  381. package/esm2022/control-errors/seniorsistemas-angular-components-control-errors.mjs +5 -0
  382. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +319 -0
  383. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +41 -0
  384. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +42 -0
  385. package/esm2022/country-phone-picker/lib/country-phone-picker/models/country-phone-data.mjs +2 -0
  386. package/esm2022/country-phone-picker/lib/country-phone-picker/models/ordination.mjs +7 -0
  387. package/esm2022/country-phone-picker/lib/country-phone-picker/models/phone-selection-data.mjs +2 -0
  388. package/esm2022/country-phone-picker/lib/country-phone-picker/resources/countries.mjs +228 -0
  389. package/esm2022/country-phone-picker/public-api.mjs +5 -0
  390. package/esm2022/country-phone-picker/seniorsistemas-angular-components-country-phone-picker.mjs +5 -0
  391. package/esm2022/currency/lib/currency.service.mjs +25 -0
  392. package/esm2022/currency/lib/models/currencies.mjs +161 -0
  393. package/esm2022/currency/lib/types/currency.mjs +2 -0
  394. package/esm2022/currency/public-api.mjs +3 -0
  395. package/esm2022/currency/seniorsistemas-angular-components-currency.mjs +5 -0
  396. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +685 -0
  397. package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +45 -0
  398. package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +35 -0
  399. package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +17 -0
  400. package/esm2022/custom-fields/public-api.mjs +4 -0
  401. package/esm2022/custom-fields/seniorsistemas-angular-components-custom-fields.mjs +5 -0
  402. package/esm2022/dialog/lib/src/dialog/dialog.component.mjs +82 -0
  403. package/esm2022/dialog/lib/src/dialog/models/active-dialog.mjs +18 -0
  404. package/esm2022/dialog/lib/src/dialog/models/dialog-models.mjs +2 -0
  405. package/esm2022/dialog/lib/src/dialog/services/dialog.service.mjs +96 -0
  406. package/esm2022/dialog/lib/src/dialog/services/internal-dialog.service.mjs +29 -0
  407. package/esm2022/dialog/public-api.mjs +4 -0
  408. package/esm2022/dialog/seniorsistemas-angular-components-dialog.mjs +5 -0
  409. package/esm2022/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.mjs +20 -0
  410. package/esm2022/dynamic-form/lib/dynamic-form/components/grid/row/row.component.mjs +41 -0
  411. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.mjs +640 -0
  412. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.mjs +2 -0
  413. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.mjs +2 -0
  414. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.mjs +2 -0
  415. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.mjs +27 -0
  416. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/section/section.component.mjs +33 -0
  417. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-config.mjs +71 -0
  418. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-type.mjs +26 -0
  419. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/grid.mjs +14 -0
  420. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/row.mjs +10 -0
  421. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid-type.mjs +5 -0
  422. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.mjs +10 -0
  423. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/section.mjs +31 -0
  424. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/structure.mjs +9 -0
  425. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure-type.mjs +6 -0
  426. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.component.mjs +41 -0
  427. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.directive.mjs +107 -0
  428. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.mjs +189 -0
  429. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.module.mjs +293 -0
  430. package/esm2022/dynamic-form/lib/dynamic-form/form-field/addon-config.mjs +2 -0
  431. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.mjs +13 -0
  432. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.mjs +34 -0
  433. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +24 -0
  434. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +37 -0
  435. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.mjs +31 -0
  436. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.mjs +30 -0
  437. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +15 -0
  438. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.mjs +47 -0
  439. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.mjs +56 -0
  440. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +9 -0
  441. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.mjs +25 -0
  442. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +15 -0
  443. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.mjs +14 -0
  444. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.mjs +16 -0
  445. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.mjs +15 -0
  446. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.mjs +64 -0
  447. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.mjs +66 -0
  448. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.mjs +38 -0
  449. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.mjs +33 -0
  450. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.mjs +35 -0
  451. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +27 -0
  452. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.mjs +43 -0
  453. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.mjs +30 -0
  454. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +17 -0
  455. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.mjs +30 -0
  456. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +32 -0
  457. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.mjs +38 -0
  458. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +37 -0
  459. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.mjs +22 -0
  460. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +124 -0
  461. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +27 -0
  462. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +23 -0
  463. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.mjs +31 -0
  464. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +118 -0
  465. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +21 -0
  466. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.mjs +59 -0
  467. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +29 -0
  468. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.mjs +100 -0
  469. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.mjs +23 -0
  470. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +56 -0
  471. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +23 -0
  472. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs +121 -0
  473. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.mjs +75 -0
  474. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +22 -0
  475. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +52 -0
  476. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs +24 -0
  477. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs +103 -0
  478. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +25 -0
  479. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.mjs +88 -0
  480. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +29 -0
  481. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +22 -0
  482. package/esm2022/dynamic-form/lib/dynamic-form/form-field/form-field.mjs +243 -0
  483. package/esm2022/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.mjs +150 -0
  484. package/esm2022/dynamic-form/public-api.mjs +44 -0
  485. package/esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs +5 -0
  486. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.directive.mjs +44 -0
  487. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +18 -0
  488. package/esm2022/editable-overlay/public-api.mjs +3 -0
  489. package/esm2022/editable-overlay/seniorsistemas-angular-components-editable-overlay.mjs +5 -0
  490. package/esm2022/empty-state/lib/empty-state/empty-state.component.mjs +51 -0
  491. package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +22 -0
  492. package/esm2022/empty-state/lib/empty-state/go-back/go-back.component.mjs +34 -0
  493. package/esm2022/empty-state/public-api.mjs +4 -0
  494. package/esm2022/empty-state/seniorsistemas-angular-components-empty-state.mjs +5 -0
  495. package/esm2022/fieldset/lib/fieldset/fieldset.component.mjs +78 -0
  496. package/esm2022/fieldset/lib/fieldset/fieldset.models.mjs +2 -0
  497. package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +19 -0
  498. package/esm2022/fieldset/public-api.mjs +3 -0
  499. package/esm2022/fieldset/seniorsistemas-angular-components-fieldset.mjs +5 -0
  500. package/esm2022/file-upload/lib/file-upload/file-upload.component.mjs +293 -0
  501. package/esm2022/file-upload/lib/file-upload/file-upload.module.mjs +42 -0
  502. package/esm2022/file-upload/lib/file-upload/file-upload.service.mjs +18 -0
  503. package/esm2022/file-upload/lib/file-upload/models/file-dto.mjs +2 -0
  504. package/esm2022/file-upload/lib/file-upload/models/file-upload-permissions.mjs +2 -0
  505. package/esm2022/file-upload/lib/file-upload/models/list-blob-metadata.mjs +2 -0
  506. package/esm2022/file-upload/lib/file-upload/models/uploadError.mjs +2 -0
  507. package/esm2022/file-upload/lib/file-upload/models/validate-errors.mjs +2 -0
  508. package/esm2022/file-upload/public-api.mjs +3 -0
  509. package/esm2022/file-upload/seniorsistemas-angular-components-file-upload.mjs +5 -0
  510. package/esm2022/gantt/lib/gantt/components/gantt/arrow.mjs +87 -0
  511. package/esm2022/gantt/lib/gantt/components/gantt/bar.mjs +294 -0
  512. package/esm2022/gantt/lib/gantt/components/gantt/gantt-options.mjs +20 -0
  513. package/esm2022/gantt/lib/gantt/components/gantt/gantt.mjs +812 -0
  514. package/esm2022/gantt/lib/gantt/components/gantt/popup.mjs +110 -0
  515. package/esm2022/gantt/lib/gantt/components/gantt/utils/date-utils.mjs +116 -0
  516. package/esm2022/gantt/lib/gantt/components/gantt/utils/svg-utils.mjs +111 -0
  517. package/esm2022/gantt/lib/gantt/components/side-table/side-table.component.mjs +32 -0
  518. package/esm2022/gantt/lib/gantt/gantt.component.mjs +146 -0
  519. package/esm2022/gantt/lib/gantt/gantt.module.mjs +24 -0
  520. package/esm2022/gantt/lib/gantt/models/index.mjs +2 -0
  521. package/esm2022/gantt/lib/gantt/models/options.mjs +2 -0
  522. package/esm2022/gantt/lib/gantt/models/task.mjs +2 -0
  523. package/esm2022/gantt/lib/gantt/models/view-mode.mjs +12 -0
  524. package/esm2022/gantt/public-api.mjs +4 -0
  525. package/esm2022/gantt/seniorsistemas-angular-components-gantt.mjs +5 -0
  526. package/esm2022/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.mjs +73 -0
  527. package/esm2022/global-search/lib/global-search/global-search.component.mjs +140 -0
  528. package/esm2022/global-search/lib/global-search/global-search.module.mjs +78 -0
  529. package/esm2022/global-search/lib/global-search/types/global-search-size.enum.mjs +2 -0
  530. package/esm2022/global-search/public-api.mjs +5 -0
  531. package/esm2022/global-search/seniorsistemas-angular-components-global-search.mjs +5 -0
  532. package/esm2022/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.mjs +60 -0
  533. package/esm2022/grid-menu/lib/grid-menu/grid-menu.component.mjs +56 -0
  534. package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +20 -0
  535. package/esm2022/grid-menu/lib/grid-menu/types/grid-menu-item.mjs +2 -0
  536. package/esm2022/grid-menu/public-api.mjs +4 -0
  537. package/esm2022/grid-menu/seniorsistemas-angular-components-grid-menu.mjs +5 -0
  538. package/esm2022/help-popover/lib/help-popover/help-popover/help-popover.component.mjs +84 -0
  539. package/esm2022/help-popover/lib/help-popover/help-popover.directive.mjs +314 -0
  540. package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +25 -0
  541. package/esm2022/help-popover/lib/help-popover/models/help-popover.models.mjs +2 -0
  542. package/esm2022/help-popover/public-api.mjs +4 -0
  543. package/esm2022/help-popover/seniorsistemas-angular-components-help-popover.mjs +5 -0
  544. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.mjs +13 -0
  545. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.mjs +94 -0
  546. package/esm2022/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.mjs +59 -0
  547. package/esm2022/ia-insight/lib/ia-insight/ia-insight.component.mjs +68 -0
  548. package/esm2022/ia-insight/lib/ia-insight/ia-insight.module.mjs +47 -0
  549. package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-item.mjs +2 -0
  550. package/esm2022/ia-insight/lib/ia-insight/models/ia-insight-template-types.mjs +2 -0
  551. package/esm2022/ia-insight/lib/ia-insight/models/index.mjs +2 -0
  552. package/esm2022/ia-insight/public-api.mjs +4 -0
  553. package/esm2022/ia-insight/seniorsistemas-angular-components-ia-insight.mjs +5 -0
  554. package/esm2022/image-cropper/lib/image-cropper/image-cropper.component.mjs +179 -0
  555. package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +23 -0
  556. package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +73 -0
  557. package/esm2022/image-cropper/public-api.mjs +4 -0
  558. package/esm2022/image-cropper/seniorsistemas-angular-components-image-cropper.mjs +5 -0
  559. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.mjs +28 -0
  560. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +18 -0
  561. package/esm2022/infinite-scroll/public-api.mjs +3 -0
  562. package/esm2022/infinite-scroll/seniorsistemas-angular-components-infinite-scroll.mjs +5 -0
  563. package/esm2022/info-sign/lib/info-sign/components/info-sign/info-sign.component.mjs +17 -0
  564. package/esm2022/info-sign/lib/info-sign/info-sign.directive.mjs +68 -0
  565. package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +20 -0
  566. package/esm2022/info-sign/public-api.mjs +3 -0
  567. package/esm2022/info-sign/seniorsistemas-angular-components-info-sign.mjs +5 -0
  568. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.mjs +53 -0
  569. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.mjs +32 -0
  570. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +85 -0
  571. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.mjs +32 -0
  572. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.mjs +33 -0
  573. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.mjs +32 -0
  574. package/esm2022/inline-edit/lib/inline-edit/components/index.mjs +8 -0
  575. package/esm2022/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.mjs +105 -0
  576. package/esm2022/inline-edit/lib/inline-edit/fields/index.mjs +8 -0
  577. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-calendar-field.mjs +45 -0
  578. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-field.mjs +13 -0
  579. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.mjs +60 -0
  580. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-number-field.mjs +38 -0
  581. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-field.mjs +15 -0
  582. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-area-ia-field.mjs +7 -0
  583. package/esm2022/inline-edit/lib/inline-edit/fields/inline-edit-text-field.mjs +7 -0
  584. package/esm2022/inline-edit/lib/inline-edit/inline-edit.component.mjs +66 -0
  585. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +102 -0
  586. package/esm2022/inline-edit/lib/inline-edit/types/addon-config.mjs +2 -0
  587. package/esm2022/inline-edit/public-api.mjs +4 -0
  588. package/esm2022/inline-edit/seniorsistemas-angular-components-inline-edit.mjs +5 -0
  589. package/esm2022/interactive-content/lib/interactive-content/interactive-content.directive.mjs +63 -0
  590. package/esm2022/interactive-content/public-api.mjs +2 -0
  591. package/esm2022/interactive-content/seniorsistemas-angular-components-interactive-content.mjs +5 -0
  592. package/esm2022/kanban/lib/kanban/components/kanban-column/kanban-column.component.mjs +100 -0
  593. package/esm2022/kanban/lib/kanban/components/kanban-item/kanban-item.component.mjs +62 -0
  594. package/esm2022/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.mjs +17 -0
  595. package/esm2022/kanban/lib/kanban/kanban-event.service.mjs +26 -0
  596. package/esm2022/kanban/lib/kanban/kanban.component.mjs +219 -0
  597. package/esm2022/kanban/lib/kanban/kanban.module.mjs +56 -0
  598. package/esm2022/kanban/lib/kanban/types/index.mjs +2 -0
  599. package/esm2022/kanban/lib/kanban/types/kanban-data.mjs +2 -0
  600. package/esm2022/kanban/lib/kanban/types/kanban-template-types.mjs +2 -0
  601. package/esm2022/kanban/public-api.mjs +3 -0
  602. package/esm2022/kanban/seniorsistemas-angular-components-kanban.mjs +5 -0
  603. package/esm2022/label-value/lib/label-value/label-value.component.mjs +35 -0
  604. package/esm2022/label-value/lib/label-value/label-value.module.mjs +22 -0
  605. package/esm2022/label-value/lib/label-value/types/label-value-configuration.mjs +2 -0
  606. package/esm2022/label-value/public-api.mjs +3 -0
  607. package/esm2022/label-value/seniorsistemas-angular-components-label-value.mjs +5 -0
  608. package/esm2022/lib/locale/fallback.mjs +334 -0
  609. package/esm2022/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.mjs +11 -0
  610. package/esm2022/loading-state/lib/loading-state/components/loading-state-indicators.mjs +6 -0
  611. package/esm2022/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.mjs +12 -0
  612. package/esm2022/loading-state/lib/loading-state/loading-state.component.mjs +74 -0
  613. package/esm2022/loading-state/lib/loading-state/loading-state.directive.mjs +62 -0
  614. package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +30 -0
  615. package/esm2022/loading-state/public-api.mjs +5 -0
  616. package/esm2022/loading-state/seniorsistemas-angular-components-loading-state.mjs +5 -0
  617. package/esm2022/locale/lib/locale/locale.module.mjs +85 -0
  618. package/esm2022/locale/lib/locale/locale.service.mjs +87 -0
  619. package/esm2022/locale/lib/locale/options/calendar.mjs +24 -0
  620. package/esm2022/locale/lib/locale/options/index.mjs +27 -0
  621. package/esm2022/locale/lib/locale/options/number.mjs +9 -0
  622. package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +18 -0
  623. package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +38 -0
  624. package/esm2022/locale/lib/locale/pipes/localized-currency-impure.pipe.mjs +21 -0
  625. package/esm2022/locale/lib/locale/pipes/localized-currency.pipe.mjs +53 -0
  626. package/esm2022/locale/lib/locale/pipes/localized-date-impure.pipe.mjs +15 -0
  627. package/esm2022/locale/lib/locale/pipes/localized-date.pipe.mjs +23 -0
  628. package/esm2022/locale/lib/locale/pipes/localized-number.pipe.mjs +31 -0
  629. package/esm2022/locale/lib/locale/pipes/localized-time-impure.pipe.mjs +15 -0
  630. package/esm2022/locale/lib/locale/pipes/localized-time.pipe.mjs +23 -0
  631. package/esm2022/locale/public-api.mjs +13 -0
  632. package/esm2022/locale/seniorsistemas-angular-components-locale.mjs +5 -0
  633. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +63 -0
  634. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +18 -0
  635. package/esm2022/localized-number-input/public-api.mjs +3 -0
  636. package/esm2022/localized-number-input/seniorsistemas-angular-components-localized-number-input.mjs +5 -0
  637. package/esm2022/mask/lib/mask/mask-formatter.module.mjs +16 -0
  638. package/esm2022/mask/lib/mask/mask-formatter.pipe.mjs +65 -0
  639. package/esm2022/mask/public-api.mjs +3 -0
  640. package/esm2022/mask/seniorsistemas-angular-components-mask.mjs +5 -0
  641. package/esm2022/mouse-events/lib/mouse-events/double-click.directive.mjs +37 -0
  642. package/esm2022/mouse-events/lib/mouse-events/long-press.directive.mjs +51 -0
  643. package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +27 -0
  644. package/esm2022/mouse-events/public-api.mjs +4 -0
  645. package/esm2022/mouse-events/seniorsistemas-angular-components-mouse-events.mjs +5 -0
  646. package/esm2022/navigation-button/lib/navigation-button/models/index.mjs +2 -0
  647. package/esm2022/navigation-button/lib/navigation-button/models/navigation-button-item.mjs +2 -0
  648. package/esm2022/navigation-button/lib/navigation-button/models/navigation-button-step-changed-info.mjs +2 -0
  649. package/esm2022/navigation-button/lib/navigation-button/navigation-button.component.mjs +134 -0
  650. package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +20 -0
  651. package/esm2022/navigation-button/public-api.mjs +4 -0
  652. package/esm2022/navigation-button/seniorsistemas-angular-components-navigation-button.mjs +5 -0
  653. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +164 -0
  654. package/esm2022/number-input/lib/number-input/number-input.module.mjs +21 -0
  655. package/esm2022/number-input/public-api.mjs +3 -0
  656. package/esm2022/number-input/seniorsistemas-angular-components-number-input.mjs +5 -0
  657. package/esm2022/numeric/lib/numeric.module.mjs +18 -0
  658. package/esm2022/numeric/lib/numeric.pipe.mjs +29 -0
  659. package/esm2022/numeric/lib/numeric.service.mjs +92 -0
  660. package/esm2022/numeric/public-api.mjs +4 -0
  661. package/esm2022/numeric/seniorsistemas-angular-components-numeric.mjs +5 -0
  662. package/esm2022/object-card/lib/object-card/elements/field/object-card-field.component.mjs +51 -0
  663. package/esm2022/object-card/lib/object-card/elements/main/object-card-main.component.mjs +87 -0
  664. package/esm2022/object-card/lib/object-card/object-card.component.mjs +146 -0
  665. package/esm2022/object-card/lib/object-card/object-card.module.mjs +24 -0
  666. package/esm2022/object-card/public-api.mjs +5 -0
  667. package/esm2022/object-card/seniorsistemas-angular-components-object-card.mjs +5 -0
  668. package/esm2022/paginator/lib/models/paginator.models.mjs +2 -0
  669. package/esm2022/paginator/lib/paginator/paginator.component.mjs +138 -0
  670. package/esm2022/paginator/public-api.mjs +2 -0
  671. package/esm2022/paginator/seniorsistemas-angular-components-paginator.mjs +5 -0
  672. package/esm2022/panel/lib/panel/panel.component.mjs +91 -0
  673. package/esm2022/panel/lib/panel/panel.module.mjs +20 -0
  674. package/esm2022/panel/public-api.mjs +3 -0
  675. package/esm2022/panel/seniorsistemas-angular-components-panel.mjs +5 -0
  676. package/esm2022/password-strength/lib/password-strength/password-strength.component.mjs +92 -0
  677. package/esm2022/password-strength/lib/password-strength/password-strength.directive.mjs +210 -0
  678. package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +19 -0
  679. package/esm2022/password-strength/lib/password-strength/types/password-positions.mjs +2 -0
  680. package/esm2022/password-strength/lib/password-strength/types/password-strengths.mjs +2 -0
  681. package/esm2022/password-strength/public-api.mjs +4 -0
  682. package/esm2022/password-strength/seniorsistemas-angular-components-password-strength.mjs +5 -0
  683. package/esm2022/picklist/lib/picklist/picklist.component.mjs +299 -0
  684. package/esm2022/picklist/lib/picklist/picklist.module.mjs +36 -0
  685. package/esm2022/picklist/lib/picklist/types/index.mjs +2 -0
  686. package/esm2022/picklist/lib/picklist/types/picklist-item.mjs +2 -0
  687. package/esm2022/picklist/lib/picklist/types/picklist-template-types.mjs +2 -0
  688. package/esm2022/picklist/public-api.mjs +5 -0
  689. package/esm2022/picklist/seniorsistemas-angular-components-picklist.mjs +5 -0
  690. package/esm2022/product-header/lib/product-header/product-header.component.mjs +44 -0
  691. package/esm2022/product-header/lib/product-header/product-header.module.mjs +20 -0
  692. package/esm2022/product-header/public-api.mjs +3 -0
  693. package/esm2022/product-header/seniorsistemas-angular-components-product-header.mjs +5 -0
  694. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/confirmation-texts.mjs +2 -0
  695. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/cropper-labels-config.mjs +2 -0
  696. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/file-validation-errors.mjs +2 -0
  697. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/index.mjs +2 -0
  698. package/esm2022/profile-picture-picker/lib/profile-picture-picker/models/profile-picture-picker-data.mjs +2 -0
  699. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.mjs +277 -0
  700. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +25 -0
  701. package/esm2022/profile-picture-picker/lib/profile-picture-picker/validators/index.mjs +2 -0
  702. package/esm2022/profile-picture-picker/lib/profile-picture-picker/validators/validators.mjs +28 -0
  703. package/esm2022/profile-picture-picker/public-api.mjs +4 -0
  704. package/esm2022/profile-picture-picker/seniorsistemas-angular-components-profile-picture-picker.mjs +5 -0
  705. package/esm2022/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.mjs +60 -0
  706. package/esm2022/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.mjs +19 -0
  707. package/esm2022/progressbar/lib/progressbar/progressbar.component.mjs +57 -0
  708. package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +21 -0
  709. package/esm2022/progressbar/lib/progressbar/types/index.mjs +2 -0
  710. package/esm2022/progressbar/lib/progressbar/types/progressbar-colors.mjs +2 -0
  711. package/esm2022/progressbar/lib/progressbar/types/progressbar-mode.mjs +2 -0
  712. package/esm2022/progressbar/public-api.mjs +4 -0
  713. package/esm2022/progressbar/seniorsistemas-angular-components-progressbar.mjs +5 -0
  714. package/esm2022/public-api.mjs +2 -0
  715. package/esm2022/radio-button/lib/radio-button/radio-button.component.mjs +82 -0
  716. package/esm2022/radio-button/lib/radio-button-group/models/radio-button-group.models.mjs +2 -0
  717. package/esm2022/radio-button/lib/radio-button-group/radio-button-group.component.mjs +62 -0
  718. package/esm2022/radio-button/lib/services/radio-button-registry.service.mjs +38 -0
  719. package/esm2022/radio-button/public-api.mjs +3 -0
  720. package/esm2022/radio-button/seniorsistemas-angular-components-radio-button.mjs +5 -0
  721. package/esm2022/rating-scale/lib/rating-scale/models/index.mjs +2 -0
  722. package/esm2022/rating-scale/lib/rating-scale/models/rating-scale-node.mjs +2 -0
  723. package/esm2022/rating-scale/lib/rating-scale/rating-scale.component.mjs +54 -0
  724. package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +24 -0
  725. package/esm2022/rating-scale/public-api.mjs +3 -0
  726. package/esm2022/rating-scale/seniorsistemas-angular-components-rating-scale.mjs +5 -0
  727. package/esm2022/select/lib/select/components/select-option/select-option.component.mjs +27 -0
  728. package/esm2022/select/lib/select/select.component.mjs +610 -0
  729. package/esm2022/select/public-api.mjs +2 -0
  730. package/esm2022/select/seniorsistemas-angular-components-select.mjs +5 -0
  731. package/esm2022/select-button/lib/select-button/components/select-button-item/select-button-item.component.mjs +28 -0
  732. package/esm2022/select-button/lib/select-button/models/select-button-item.mjs +2 -0
  733. package/esm2022/select-button/lib/select-button/select-button.component.mjs +122 -0
  734. package/esm2022/select-button/lib/select-button/select-button.module.mjs +23 -0
  735. package/esm2022/select-button/public-api.mjs +3 -0
  736. package/esm2022/select-button/seniorsistemas-angular-components-select-button.mjs +5 -0
  737. package/esm2022/seniorsistemas-angular-components.mjs +5 -0
  738. package/esm2022/shared/lib/shared/border-button/border-button.component.mjs +19 -0
  739. package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +19 -0
  740. package/esm2022/shared/lib/shared/helpers.mjs +31 -0
  741. package/esm2022/shared/lib/shared/models/border-button-options.mjs +2 -0
  742. package/esm2022/shared/lib/shared/models/severities.mjs +9 -0
  743. package/esm2022/shared/public-api.mjs +5 -0
  744. package/esm2022/shared/seniorsistemas-angular-components-shared.mjs +5 -0
  745. package/esm2022/sidebar/lib/sidebar/sidebar.component.mjs +114 -0
  746. package/esm2022/sidebar/lib/sidebar/sidebar.module.mjs +20 -0
  747. package/esm2022/sidebar/public-api.mjs +3 -0
  748. package/esm2022/sidebar/seniorsistemas-angular-components-sidebar.mjs +5 -0
  749. package/esm2022/slide-panel/lib/slide-panel/slide-panel.component.mjs +137 -0
  750. package/esm2022/slide-panel/lib/slide-panel/slide-panel.module.mjs +20 -0
  751. package/esm2022/slide-panel/lib/slide-panel/slide-panel.service.mjs +26 -0
  752. package/esm2022/slide-panel/public-api.mjs +4 -0
  753. package/esm2022/slide-panel/seniorsistemas-angular-components-slide-panel.mjs +5 -0
  754. package/esm2022/slider/lib/slider/slider.component.mjs +601 -0
  755. package/esm2022/slider/lib/slider/slider.module.mjs +19 -0
  756. package/esm2022/slider/public-api.mjs +3 -0
  757. package/esm2022/slider/seniorsistemas-angular-components-slider.mjs +5 -0
  758. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.mjs +217 -0
  759. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +24 -0
  760. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.service.mjs +146 -0
  761. package/esm2022/speech-recognition/lib/speech-recognition/text-to-speech.service.mjs +81 -0
  762. package/esm2022/speech-recognition/public-api.mjs +5 -0
  763. package/esm2022/speech-recognition/seniorsistemas-angular-components-speech-recognition.mjs +5 -0
  764. package/esm2022/split-button/lib/split-button/models/index.mjs +2 -0
  765. package/esm2022/split-button/lib/split-button/models/split-button-option.mjs +2 -0
  766. package/esm2022/split-button/lib/split-button/models/split-button-type.mjs +2 -0
  767. package/esm2022/split-button/lib/split-button/split-button.component.mjs +64 -0
  768. package/esm2022/split-button/lib/split-button/split-button.module.mjs +18 -0
  769. package/esm2022/split-button/public-api.mjs +4 -0
  770. package/esm2022/split-button/seniorsistemas-angular-components-split-button.mjs +5 -0
  771. package/esm2022/star-rating/public-api.mjs +2 -0
  772. package/esm2022/star-rating/seniorsistemas-angular-components-star-rating.mjs +5 -0
  773. package/esm2022/star-rating/star-rating/star-rating-models.mjs +2 -0
  774. package/esm2022/star-rating/star-rating/star-rating.component.mjs +63 -0
  775. package/esm2022/stats-card/lib/stats-card/stats-card.component.mjs +119 -0
  776. package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +19 -0
  777. package/esm2022/stats-card/public-api.mjs +3 -0
  778. package/esm2022/stats-card/seniorsistemas-angular-components-stats-card.mjs +5 -0
  779. package/esm2022/steps/lib/steps/steps.component.mjs +122 -0
  780. package/esm2022/steps/lib/steps/steps.module.mjs +19 -0
  781. package/esm2022/steps/public-api.mjs +3 -0
  782. package/esm2022/steps/seniorsistemas-angular-components-steps.mjs +5 -0
  783. package/esm2022/structure/lib/structure/footer.component.mjs +14 -0
  784. package/esm2022/structure/lib/structure/header.component.mjs +14 -0
  785. package/esm2022/structure/lib/structure/structure.module.mjs +19 -0
  786. package/esm2022/structure/public-api.mjs +5 -0
  787. package/esm2022/structure/seniorsistemas-angular-components-structure.mjs +5 -0
  788. package/esm2022/switch/lib/switch/switch.component.mjs +93 -0
  789. package/esm2022/switch/lib/switch/switch.module.mjs +18 -0
  790. package/esm2022/switch/public-api.mjs +3 -0
  791. package/esm2022/switch/seniorsistemas-angular-components-switch.mjs +5 -0
  792. package/esm2022/table/lib/locale-utils.mjs +15 -0
  793. package/esm2022/table/lib/table/export-utils.mjs +112 -0
  794. package/esm2022/table/lib/table/navigation/navigation.directive.mjs +130 -0
  795. package/esm2022/table/lib/table/row-toggler/row-toggler.directive.mjs +38 -0
  796. package/esm2022/table/lib/table/table-column/index.mjs +3 -0
  797. package/esm2022/table/lib/table/table-column/models/badge-column.interface.mjs +2 -0
  798. package/esm2022/table/lib/table/table-column/models/badge-configs.interface.mjs +2 -0
  799. package/esm2022/table/lib/table/table-column/models/column-colors.mjs +2 -0
  800. package/esm2022/table/lib/table/table-column/models/column-values.interface.mjs +2 -0
  801. package/esm2022/table/lib/table/table-column/models/column.interface.mjs +2 -0
  802. package/esm2022/table/lib/table/table-column/models/dynamic-editable-grid.interface.mjs +2 -0
  803. package/esm2022/table/lib/table/table-column/models/enum-badge-colors.mjs +10 -0
  804. package/esm2022/table/lib/table/table-column/models/enum-column-field-type.mjs +13 -0
  805. package/esm2022/table/lib/table/table-column/models/index.mjs +11 -0
  806. package/esm2022/table/lib/table/table-column/models/locale-options.interface.mjs +2 -0
  807. package/esm2022/table/lib/table/table-column/models/number-locale-options.interface.mjs +2 -0
  808. package/esm2022/table/lib/table/table-column/table-columns.component.mjs +299 -0
  809. package/esm2022/table/lib/table/table-paging/index.mjs +3 -0
  810. package/esm2022/table/lib/table/table-paging/models/custom-action.interface.mjs +2 -0
  811. package/esm2022/table/lib/table/table-paging/models/index.mjs +2 -0
  812. package/esm2022/table/lib/table/table-paging/table-paging.component.mjs +325 -0
  813. package/esm2022/table/lib/table/table.module.mjs +27 -0
  814. package/esm2022/table/public-api.mjs +6 -0
  815. package/esm2022/table/seniorsistemas-angular-components-table.mjs +5 -0
  816. package/esm2022/table-header/lib/table-header/table-header-checkbox.component.mjs +151 -0
  817. package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +20 -0
  818. package/esm2022/table-header/public-api.mjs +3 -0
  819. package/esm2022/table-header/seniorsistemas-angular-components-table-header.mjs +5 -0
  820. package/esm2022/tabs/lib/tab-item/tab-item.component.mjs +36 -0
  821. package/esm2022/tabs/lib/tabs/tabs.component.mjs +51 -0
  822. package/esm2022/tabs/public-api.mjs +3 -0
  823. package/esm2022/tabs/seniorsistemas-angular-components-tabs.mjs +5 -0
  824. package/esm2022/template/lib/template/template.directive.mjs +22 -0
  825. package/esm2022/template/lib/template/template.module.mjs +17 -0
  826. package/esm2022/template/public-api.mjs +3 -0
  827. package/esm2022/template/seniorsistemas-angular-components-template.mjs +5 -0
  828. package/esm2022/text-area/lib/text-area/text-area.component.mjs +116 -0
  829. package/esm2022/text-area/lib/text-area.module.mjs +35 -0
  830. package/esm2022/text-area/public-api.mjs +3 -0
  831. package/esm2022/text-area/seniorsistemas-angular-components-text-area.mjs +5 -0
  832. package/esm2022/text-area-ia/lib/services/IAssist/iassist.service.mjs +77 -0
  833. package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-input-data.mjs +3 -0
  834. package/esm2022/text-area-ia/lib/services/IAssist/models/iassist-response.mjs +3 -0
  835. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.component.mjs +150 -0
  836. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.module.mjs +50 -0
  837. package/esm2022/text-area-ia/public-api.mjs +3 -0
  838. package/esm2022/text-area-ia/seniorsistemas-angular-components-text-area-ia.mjs +5 -0
  839. package/esm2022/thumbnail/lib/thumbnail/thumbnail-size.mjs +2 -0
  840. package/esm2022/thumbnail/lib/thumbnail/thumbnail.component.mjs +77 -0
  841. package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +20 -0
  842. package/esm2022/thumbnail/lib/thumbnail/thumbnail.service.mjs +62 -0
  843. package/esm2022/thumbnail/public-api.mjs +4 -0
  844. package/esm2022/thumbnail/seniorsistemas-angular-components-thumbnail.mjs +5 -0
  845. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.mjs +17 -0
  846. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.mjs +42 -0
  847. package/esm2022/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.mjs +64 -0
  848. package/esm2022/thumbnails/lib/thumbnails/models/thumbnails-item.mjs +2 -0
  849. package/esm2022/thumbnails/lib/thumbnails/thumbnails.component.mjs +48 -0
  850. package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +24 -0
  851. package/esm2022/thumbnails/public-api.mjs +3 -0
  852. package/esm2022/thumbnails/seniorsistemas-angular-components-thumbnails.mjs +5 -0
  853. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +303 -0
  854. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.mjs +11 -0
  855. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.mjs +73 -0
  856. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.mjs +179 -0
  857. package/esm2022/tiered-menu/lib/tiered-menu/models/index.mjs +2 -0
  858. package/esm2022/tiered-menu/lib/tiered-menu/models/tiered-menu-item-data.mjs +2 -0
  859. package/esm2022/tiered-menu/lib/tiered-menu/models/tiered-menu-item-internal-data.mjs +2 -0
  860. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.mjs +17 -0
  861. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.global.service.mjs +11 -0
  862. package/esm2022/tiered-menu/lib/tiered-menu/services/tiered-menu.service.mjs +54 -0
  863. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.directive.mjs +234 -0
  864. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +34 -0
  865. package/esm2022/tiered-menu/public-api.mjs +6 -0
  866. package/esm2022/tiered-menu/seniorsistemas-angular-components-tiered-menu.mjs +5 -0
  867. package/esm2022/tile/lib/tile/tile.component.mjs +65 -0
  868. package/esm2022/tile/lib/tile/tile.module.mjs +20 -0
  869. package/esm2022/tile/public-api.mjs +3 -0
  870. package/esm2022/tile/seniorsistemas-angular-components-tile.mjs +5 -0
  871. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.mjs +24 -0
  872. package/esm2022/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.mjs +20 -0
  873. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.mjs +26 -0
  874. package/esm2022/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.mjs +19 -0
  875. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.mjs +21 -0
  876. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.mjs +33 -0
  877. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.mjs +11 -0
  878. package/esm2022/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.mjs +29 -0
  879. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.mjs +60 -0
  880. package/esm2022/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.mjs +33 -0
  881. package/esm2022/timeline/lib/timeline/models/timeline-item-severity.mjs +7 -0
  882. package/esm2022/timeline/lib/timeline/models/timeline-item-size.mjs +6 -0
  883. package/esm2022/timeline/lib/timeline/models/timeline-item.mjs +44 -0
  884. package/esm2022/timeline/lib/timeline/timeline.component.mjs +66 -0
  885. package/esm2022/timeline/lib/timeline/timeline.module.mjs +32 -0
  886. package/esm2022/timeline/public-api.mjs +6 -0
  887. package/esm2022/timeline/seniorsistemas-angular-components-timeline.mjs +5 -0
  888. package/esm2022/toast/lib/toast/toast.component.mjs +46 -0
  889. package/esm2022/toast/lib/toast/toast.module.mjs +17 -0
  890. package/esm2022/toast/lib/toast/toast.service.mjs +68 -0
  891. package/esm2022/toast/lib/toast/types/toast.mjs +2 -0
  892. package/esm2022/toast/public-api.mjs +4 -0
  893. package/esm2022/toast/seniorsistemas-angular-components-toast.mjs +5 -0
  894. package/esm2022/token-list/lib/token-list/models/index.mjs +2 -0
  895. package/esm2022/token-list/lib/token-list/models/token.mjs +2 -0
  896. package/esm2022/token-list/lib/token-list/token-list.component.mjs +42 -0
  897. package/esm2022/token-list/lib/token-list/token-list.module.mjs +18 -0
  898. package/esm2022/token-list/public-api.mjs +4 -0
  899. package/esm2022/token-list/seniorsistemas-angular-components-token-list.mjs +5 -0
  900. package/esm2022/tooltip/lib/tooltip/models/mobile-behavior.mjs +2 -0
  901. package/esm2022/tooltip/lib/tooltip/models/tooltip-event.mjs +2 -0
  902. package/esm2022/tooltip/lib/tooltip/models/tooltip-position.mjs +2 -0
  903. package/esm2022/tooltip/lib/tooltip/tooltip.component.mjs +18 -0
  904. package/esm2022/tooltip/lib/tooltip/tooltip.directive.mjs +339 -0
  905. package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +19 -0
  906. package/esm2022/tooltip/public-api.mjs +3 -0
  907. package/esm2022/tooltip/seniorsistemas-angular-components-tooltip.mjs +5 -0
  908. package/esm2022/tree/lib/tree/Models/tree.models.mjs +2 -0
  909. package/esm2022/tree/lib/tree/components/tree-node-item/tree-node-item.component.mjs +157 -0
  910. package/esm2022/tree/lib/tree/tree.component.mjs +238 -0
  911. package/esm2022/tree/lib/tree/tree.module.mjs +22 -0
  912. package/esm2022/tree/public-api.mjs +3 -0
  913. package/esm2022/tree/seniorsistemas-angular-components-tree.mjs +5 -0
  914. package/esm2022/utils/lib/utils/breakpoints.mjs +11 -0
  915. package/esm2022/utils/lib/utils/utils.mjs +104 -0
  916. package/esm2022/utils/public-api.mjs +3 -0
  917. package/esm2022/utils/seniorsistemas-angular-components-utils.mjs +5 -0
  918. package/esm2022/workspace-switch/lib/workspace-switch/models/index.mjs +2 -0
  919. package/esm2022/workspace-switch/lib/workspace-switch/models/workspace.mjs +2 -0
  920. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.component.mjs +137 -0
  921. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +18 -0
  922. package/esm2022/workspace-switch/public-api.mjs +3 -0
  923. package/esm2022/workspace-switch/seniorsistemas-angular-components-workspace-switch.mjs +5 -0
  924. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +250 -0
  925. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -0
  926. package/fesm2022/seniorsistemas-angular-components-alert.mjs +66 -0
  927. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -0
  928. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +579 -0
  929. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -0
  930. package/fesm2022/seniorsistemas-angular-components-badge.mjs +70 -0
  931. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -0
  932. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +180 -0
  933. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -0
  934. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +128 -0
  935. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -0
  936. package/fesm2022/seniorsistemas-angular-components-button.mjs +122 -0
  937. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -0
  938. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +633 -0
  939. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -0
  940. package/fesm2022/seniorsistemas-angular-components-card.mjs +107 -0
  941. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -0
  942. package/fesm2022/seniorsistemas-angular-components-chat.mjs +78 -0
  943. package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -0
  944. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +151 -0
  945. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -0
  946. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs +74 -0
  947. package/fesm2022/seniorsistemas-angular-components-checkbox.mjs.map +1 -0
  948. package/fesm2022/seniorsistemas-angular-components-chips.mjs +327 -0
  949. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -0
  950. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +1535 -0
  951. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -0
  952. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +103 -0
  953. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -0
  954. package/fesm2022/seniorsistemas-angular-components-common.mjs +246 -0
  955. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -0
  956. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs +54 -0
  957. package/fesm2022/seniorsistemas-angular-components-confirm-dialog.mjs.map +1 -0
  958. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +75 -0
  959. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -0
  960. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +631 -0
  961. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -0
  962. package/fesm2022/seniorsistemas-angular-components-currency.mjs +193 -0
  963. package/fesm2022/seniorsistemas-angular-components-currency.mjs.map +1 -0
  964. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +778 -0
  965. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -0
  966. package/fesm2022/seniorsistemas-angular-components-dialog.mjs +221 -0
  967. package/fesm2022/seniorsistemas-angular-components-dialog.mjs.map +1 -0
  968. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +3851 -0
  969. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -0
  970. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +66 -0
  971. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -0
  972. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +107 -0
  973. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -0
  974. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +101 -0
  975. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -0
  976. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs +354 -0
  977. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs.map +1 -0
  978. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +1748 -0
  979. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -0
  980. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +288 -0
  981. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -0
  982. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +136 -0
  983. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -0
  984. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +422 -0
  985. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -0
  986. package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs +267 -0
  987. package/fesm2022/seniorsistemas-angular-components-ia-insight.mjs.map +1 -0
  988. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +273 -0
  989. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -0
  990. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +50 -0
  991. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -0
  992. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +105 -0
  993. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -0
  994. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +679 -0
  995. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -0
  996. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs +70 -0
  997. package/fesm2022/seniorsistemas-angular-components-interactive-content.mjs.map +1 -0
  998. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +456 -0
  999. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -0
  1000. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +61 -0
  1001. package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -0
  1002. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +185 -0
  1003. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -0
  1004. package/fesm2022/seniorsistemas-angular-components-locale.mjs +409 -0
  1005. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -0
  1006. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +85 -0
  1007. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -0
  1008. package/fesm2022/seniorsistemas-angular-components-mask.mjs +85 -0
  1009. package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -0
  1010. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +116 -0
  1011. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -0
  1012. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +158 -0
  1013. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -0
  1014. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +189 -0
  1015. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -0
  1016. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +139 -0
  1017. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -0
  1018. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +296 -0
  1019. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -0
  1020. package/fesm2022/seniorsistemas-angular-components-paginator.mjs +145 -0
  1021. package/fesm2022/seniorsistemas-angular-components-paginator.mjs.map +1 -0
  1022. package/fesm2022/seniorsistemas-angular-components-panel.mjs +113 -0
  1023. package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -0
  1024. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +321 -0
  1025. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -0
  1026. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +339 -0
  1027. package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -0
  1028. package/fesm2022/seniorsistemas-angular-components-product-header.mjs +68 -0
  1029. package/fesm2022/seniorsistemas-angular-components-product-header.mjs.map +1 -0
  1030. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +334 -0
  1031. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -0
  1032. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +152 -0
  1033. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -0
  1034. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs +182 -0
  1035. package/fesm2022/seniorsistemas-angular-components-radio-button.mjs.map +1 -0
  1036. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +81 -0
  1037. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -0
  1038. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +172 -0
  1039. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -0
  1040. package/fesm2022/seniorsistemas-angular-components-select.mjs +639 -0
  1041. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -0
  1042. package/fesm2022/seniorsistemas-angular-components-shared.mjs +82 -0
  1043. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -0
  1044. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs +137 -0
  1045. package/fesm2022/seniorsistemas-angular-components-sidebar.mjs.map +1 -0
  1046. package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs +182 -0
  1047. package/fesm2022/seniorsistemas-angular-components-slide-panel.mjs.map +1 -0
  1048. package/fesm2022/seniorsistemas-angular-components-slider.mjs +624 -0
  1049. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -0
  1050. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +463 -0
  1051. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -0
  1052. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +86 -0
  1053. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -0
  1054. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs +70 -0
  1055. package/fesm2022/seniorsistemas-angular-components-star-rating.mjs.map +1 -0
  1056. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +142 -0
  1057. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -0
  1058. package/fesm2022/seniorsistemas-angular-components-steps.mjs +145 -0
  1059. package/fesm2022/seniorsistemas-angular-components-steps.mjs.map +1 -0
  1060. package/fesm2022/seniorsistemas-angular-components-structure.mjs +48 -0
  1061. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -0
  1062. package/fesm2022/seniorsistemas-angular-components-switch.mjs +115 -0
  1063. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -0
  1064. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +175 -0
  1065. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -0
  1066. package/fesm2022/seniorsistemas-angular-components-table.mjs +957 -0
  1067. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -0
  1068. package/fesm2022/seniorsistemas-angular-components-tabs.mjs +91 -0
  1069. package/fesm2022/seniorsistemas-angular-components-tabs.mjs.map +1 -0
  1070. package/fesm2022/seniorsistemas-angular-components-template.mjs +43 -0
  1071. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -0
  1072. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs +275 -0
  1073. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs.map +1 -0
  1074. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +154 -0
  1075. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -0
  1076. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +159 -0
  1077. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -0
  1078. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +182 -0
  1079. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -0
  1080. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +877 -0
  1081. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -0
  1082. package/fesm2022/seniorsistemas-angular-components-tile.mjs +89 -0
  1083. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -0
  1084. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +382 -0
  1085. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -0
  1086. package/fesm2022/seniorsistemas-angular-components-toast.mjs +132 -0
  1087. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -0
  1088. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +64 -0
  1089. package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -0
  1090. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +376 -0
  1091. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -0
  1092. package/fesm2022/seniorsistemas-angular-components-tree.mjs +417 -0
  1093. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -0
  1094. package/fesm2022/seniorsistemas-angular-components-utils.mjs +121 -0
  1095. package/fesm2022/seniorsistemas-angular-components-utils.mjs.map +1 -0
  1096. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +159 -0
  1097. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -0
  1098. package/fesm2022/seniorsistemas-angular-components.mjs +340 -0
  1099. package/fesm2022/seniorsistemas-angular-components.mjs.map +1 -0
  1100. package/fieldset/index.d.ts +5 -0
  1101. package/fieldset/lib/fieldset/fieldset.component.d.ts +19 -0
  1102. package/fieldset/lib/fieldset/fieldset.models.d.ts +4 -0
  1103. package/fieldset/lib/fieldset/fieldset.module.d.ts +9 -0
  1104. package/fieldset/public-api.d.ts +3 -0
  1105. package/file-upload/index.d.ts +5 -0
  1106. package/file-upload/lib/file-upload/file-upload.component.d.ts +80 -0
  1107. package/file-upload/lib/file-upload/file-upload.module.d.ts +13 -0
  1108. package/file-upload/lib/file-upload/file-upload.service.d.ts +9 -0
  1109. package/file-upload/lib/file-upload/models/file-dto.d.ts +13 -0
  1110. package/file-upload/lib/file-upload/models/file-upload-permissions.d.ts +2 -0
  1111. package/file-upload/lib/file-upload/models/uploadError.d.ts +6 -0
  1112. package/file-upload/lib/file-upload/models/validate-errors.d.ts +1 -0
  1113. package/file-upload/public-api.d.ts +6 -0
  1114. package/gantt/index.d.ts +5 -0
  1115. package/gantt/lib/gantt/components/gantt/arrow.d.ts +16 -0
  1116. package/gantt/lib/gantt/components/gantt/bar.d.ts +44 -0
  1117. package/gantt/lib/gantt/components/gantt/gantt-options.d.ts +2 -0
  1118. package/gantt/lib/gantt/components/gantt/gantt.d.ts +65 -0
  1119. package/gantt/lib/gantt/components/gantt/popup.d.ts +15 -0
  1120. package/gantt/lib/gantt/components/gantt/utils/svg-utils.d.ts +11 -0
  1121. package/gantt/lib/gantt/components/side-table/side-table.component.d.ts +13 -0
  1122. package/gantt/lib/gantt/gantt.component.d.ts +33 -0
  1123. package/gantt/lib/gantt/gantt.module.d.ts +10 -0
  1124. package/gantt/lib/gantt/models/index.d.ts +2 -0
  1125. package/gantt/lib/gantt/models/options.d.ts +26 -0
  1126. package/gantt/public-api.d.ts +4 -0
  1127. package/global-search/index.d.ts +5 -0
  1128. package/global-search/lib/global-search/components/dropdown/global-search-dropdown-item.component.d.ts +27 -0
  1129. package/global-search/lib/global-search/global-search.component.d.ts +37 -0
  1130. package/global-search/lib/global-search/global-search.module.d.ts +17 -0
  1131. package/global-search/lib/global-search/types/global-search-size.enum.d.ts +1 -0
  1132. package/global-search/public-api.d.ts +4 -0
  1133. package/grid-menu/index.d.ts +5 -0
  1134. package/grid-menu/lib/grid-menu/components/grid-menu-item/grid-menu-item.component.d.ts +17 -0
  1135. package/grid-menu/lib/grid-menu/grid-menu.component.d.ts +16 -0
  1136. package/grid-menu/lib/grid-menu/grid-menu.module.d.ts +10 -0
  1137. package/grid-menu/lib/grid-menu/types/grid-menu-item.d.ts +11 -0
  1138. package/grid-menu/public-api.d.ts +4 -0
  1139. package/help-popover/index.d.ts +5 -0
  1140. package/help-popover/lib/help-popover/help-popover/help-popover.component.d.ts +36 -0
  1141. package/help-popover/lib/help-popover/help-popover.directive.d.ts +64 -0
  1142. package/help-popover/lib/help-popover/help-popover.module.d.ts +10 -0
  1143. package/help-popover/lib/help-popover/models/help-popover.models.d.ts +2 -0
  1144. package/help-popover/public-api.d.ts +5 -0
  1145. package/ia-insight/index.d.ts +5 -0
  1146. package/ia-insight/lib/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.d.ts +5 -0
  1147. package/ia-insight/lib/ia-insight/components/ia-insight-card/ia-insight-card.component.d.ts +25 -0
  1148. package/ia-insight/lib/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.d.ts +21 -0
  1149. package/ia-insight/lib/ia-insight/ia-insight.component.d.ts +29 -0
  1150. package/ia-insight/lib/ia-insight/ia-insight.module.d.ts +17 -0
  1151. package/ia-insight/lib/ia-insight/models/ia-insight-item.d.ts +21 -0
  1152. package/ia-insight/lib/ia-insight/models/ia-insight-template-types.d.ts +1 -0
  1153. package/ia-insight/lib/ia-insight/models/index.d.ts +2 -0
  1154. package/ia-insight/public-api.d.ts +3 -0
  1155. package/image-cropper/index.d.ts +5 -0
  1156. package/image-cropper/lib/image-cropper/image-cropper.component.d.ts +46 -0
  1157. package/image-cropper/lib/image-cropper/image-cropper.module.d.ts +13 -0
  1158. package/image-cropper/lib/image-cropper/image-cropper.service.d.ts +42 -0
  1159. package/image-cropper/public-api.d.ts +3 -0
  1160. package/index.d.ts +5 -0
  1161. package/infinite-scroll/index.d.ts +5 -0
  1162. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.directive.d.ts +10 -0
  1163. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.d.ts +8 -0
  1164. package/infinite-scroll/public-api.d.ts +2 -0
  1165. package/info-sign/index.d.ts +5 -0
  1166. package/info-sign/lib/info-sign/components/info-sign/info-sign.component.d.ts +10 -0
  1167. package/info-sign/lib/info-sign/info-sign.directive.d.ts +18 -0
  1168. package/info-sign/lib/info-sign/info-sign.module.d.ts +10 -0
  1169. package/info-sign/public-api.d.ts +2 -0
  1170. package/inline-edit/index.d.ts +5 -0
  1171. package/inline-edit/lib/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +21 -0
  1172. package/inline-edit/lib/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.d.ts +13 -0
  1173. package/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +22 -0
  1174. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +13 -0
  1175. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.d.ts +13 -0
  1176. package/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.d.ts +13 -0
  1177. package/inline-edit/lib/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +30 -0
  1178. package/inline-edit/lib/inline-edit/fields/index.d.ts +14 -0
  1179. package/inline-edit/lib/inline-edit/fields/inline-edit-calendar-field.d.ts +44 -0
  1180. package/inline-edit/lib/inline-edit/fields/inline-edit-field.d.ts +15 -0
  1181. package/inline-edit/lib/inline-edit/fields/inline-edit-lookup-field.d.ts +79 -0
  1182. package/inline-edit/lib/inline-edit/fields/inline-edit-number-field.d.ts +40 -0
  1183. package/inline-edit/lib/inline-edit/inline-edit.component.d.ts +15 -0
  1184. package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +29 -0
  1185. package/inline-edit/lib/inline-edit/types/addon-config.d.ts +7 -0
  1186. package/inline-edit/public-api.d.ts +4 -0
  1187. package/interactive-content/index.d.ts +5 -0
  1188. package/interactive-content/lib/interactive-content/interactive-content.directive.d.ts +18 -0
  1189. package/interactive-content/public-api.d.ts +1 -0
  1190. package/kanban/index.d.ts +5 -0
  1191. package/kanban/lib/kanban/components/kanban-column/kanban-column.component.d.ts +23 -0
  1192. package/kanban/lib/kanban/components/kanban-item/kanban-item.component.d.ts +21 -0
  1193. package/kanban/lib/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +6 -0
  1194. package/kanban/lib/kanban/kanban-event.service.d.ts +15 -0
  1195. package/kanban/lib/kanban/kanban.component.d.ts +46 -0
  1196. package/kanban/lib/kanban/kanban.module.d.ts +18 -0
  1197. package/kanban/lib/kanban/types/index.d.ts +2 -0
  1198. package/kanban/lib/kanban/types/kanban-data.d.ts +27 -0
  1199. package/kanban/lib/kanban/types/kanban-template-types.d.ts +1 -0
  1200. package/kanban/public-api.d.ts +3 -0
  1201. package/label-value/index.d.ts +5 -0
  1202. package/label-value/lib/label-value/label-value.component.d.ts +12 -0
  1203. package/label-value/lib/label-value/label-value.module.d.ts +12 -0
  1204. package/label-value/lib/label-value/types/label-value-configuration.d.ts +29 -0
  1205. package/label-value/public-api.d.ts +3 -0
  1206. package/loading-state/index.d.ts +5 -0
  1207. package/loading-state/lib/loading-state/components/dots-indicator/dots-indicator.components.d.ts +5 -0
  1208. package/loading-state/lib/loading-state/components/logo-indicator/logo-indicator.component.d.ts +5 -0
  1209. package/loading-state/lib/loading-state/loading-state.component.d.ts +23 -0
  1210. package/loading-state/lib/loading-state/loading-state.directive.d.ts +22 -0
  1211. package/loading-state/lib/loading-state/loading-state.module.d.ts +12 -0
  1212. package/loading-state/public-api.d.ts +4 -0
  1213. package/locale/index.d.ts +5 -0
  1214. package/locale/lib/locale/locale.module.d.ts +19 -0
  1215. package/locale/lib/locale/locale.service.d.ts +27 -0
  1216. package/locale/lib/locale/options/calendar.d.ts +25 -0
  1217. package/locale/lib/locale/options/index.d.ts +14 -0
  1218. package/locale/lib/locale/options/number.d.ts +11 -0
  1219. package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +9 -0
  1220. package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +12 -0
  1221. package/locale/lib/locale/pipes/localized-currency-impure.pipe.d.ts +11 -0
  1222. package/locale/lib/locale/pipes/localized-currency.pipe.d.ts +22 -0
  1223. package/locale/lib/locale/pipes/localized-date-impure.pipe.d.ts +7 -0
  1224. package/locale/lib/locale/pipes/localized-date.pipe.d.ts +10 -0
  1225. package/locale/lib/locale/pipes/localized-number.pipe.d.ts +17 -0
  1226. package/locale/lib/locale/pipes/localized-time-impure.pipe.d.ts +7 -0
  1227. package/locale/lib/locale/pipes/localized-time.pipe.d.ts +10 -0
  1228. package/locale/public-api.d.ts +12 -0
  1229. package/localized-number-input/index.d.ts +5 -0
  1230. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +16 -0
  1231. package/localized-number-input/lib/localized-number-input/localized-number-input.module.d.ts +8 -0
  1232. package/localized-number-input/public-api.d.ts +2 -0
  1233. package/mask/index.d.ts +5 -0
  1234. package/mask/lib/mask/mask-formatter.module.d.ts +7 -0
  1235. package/mask/lib/mask/mask-formatter.pipe.d.ts +8 -0
  1236. package/mask/public-api.d.ts +2 -0
  1237. package/mouse-events/index.d.ts +5 -0
  1238. package/mouse-events/lib/mouse-events/double-click.directive.d.ts +12 -0
  1239. package/mouse-events/lib/mouse-events/long-press.directive.d.ts +16 -0
  1240. package/mouse-events/lib/mouse-events/mouse-events.module.d.ts +9 -0
  1241. package/mouse-events/public-api.d.ts +3 -0
  1242. package/navigation-button/index.d.ts +5 -0
  1243. package/navigation-button/lib/navigation-button/models/index.d.ts +2 -0
  1244. package/navigation-button/lib/navigation-button/models/navigation-button-step-changed-info.d.ts +5 -0
  1245. package/navigation-button/lib/navigation-button/navigation-button.component.d.ts +33 -0
  1246. package/navigation-button/lib/navigation-button/navigation-button.module.d.ts +10 -0
  1247. package/navigation-button/public-api.d.ts +3 -0
  1248. package/number-input/index.d.ts +5 -0
  1249. package/number-input/lib/number-input/number-input.directive.d.ts +47 -0
  1250. package/number-input/lib/number-input/number-input.module.d.ts +11 -0
  1251. package/number-input/public-api.d.ts +2 -0
  1252. package/numeric/index.d.ts +5 -0
  1253. package/numeric/lib/numeric.module.d.ts +8 -0
  1254. package/numeric/lib/numeric.pipe.d.ts +16 -0
  1255. package/numeric/lib/numeric.service.d.ts +24 -0
  1256. package/numeric/public-api.d.ts +3 -0
  1257. package/object-card/index.d.ts +5 -0
  1258. package/object-card/lib/object-card/elements/field/object-card-field.component.d.ts +20 -0
  1259. package/object-card/lib/object-card/elements/main/object-card-main.component.d.ts +31 -0
  1260. package/object-card/lib/object-card/object-card.component.d.ts +31 -0
  1261. package/object-card/lib/object-card/object-card.module.d.ts +14 -0
  1262. package/object-card/public-api.d.ts +4 -0
  1263. package/package.json +554 -42
  1264. package/paginator/index.d.ts +5 -0
  1265. package/paginator/lib/models/paginator.models.d.ts +14 -0
  1266. package/paginator/lib/paginator/paginator.component.d.ts +30 -0
  1267. package/paginator/public-api.d.ts +2 -0
  1268. package/panel/index.d.ts +5 -0
  1269. package/panel/lib/panel/panel.component.d.ts +27 -0
  1270. package/panel/lib/panel/panel.module.d.ts +10 -0
  1271. package/panel/public-api.d.ts +2 -0
  1272. package/password-strength/index.d.ts +5 -0
  1273. package/password-strength/lib/password-strength/password-strength.component.d.ts +23 -0
  1274. package/password-strength/lib/password-strength/password-strength.directive.d.ts +30 -0
  1275. package/password-strength/lib/password-strength/password-strength.module.d.ts +9 -0
  1276. package/password-strength/lib/password-strength/types/password-positions.d.ts +1 -0
  1277. package/password-strength/lib/password-strength/types/password-strengths.d.ts +1 -0
  1278. package/password-strength/public-api.d.ts +5 -0
  1279. package/picklist/index.d.ts +5 -0
  1280. package/picklist/lib/picklist/picklist.component.d.ts +74 -0
  1281. package/picklist/lib/picklist/picklist.module.d.ts +12 -0
  1282. package/picklist/lib/picklist/types/index.d.ts +2 -0
  1283. package/picklist/lib/picklist/types/picklist-item.d.ts +4 -0
  1284. package/picklist/lib/picklist/types/picklist-template-types.d.ts +1 -0
  1285. package/picklist/public-api.d.ts +4 -0
  1286. package/product-header/index.d.ts +5 -0
  1287. package/product-header/lib/product-header/product-header.component.d.ts +15 -0
  1288. package/product-header/lib/product-header/product-header.module.d.ts +10 -0
  1289. package/product-header/public-api.d.ts +2 -0
  1290. package/profile-picture-picker/index.d.ts +5 -0
  1291. package/profile-picture-picker/lib/profile-picture-picker/models/file-validation-errors.d.ts +5 -0
  1292. package/profile-picture-picker/lib/profile-picture-picker/models/index.d.ts +4 -0
  1293. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.component.d.ts +58 -0
  1294. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.d.ts +13 -0
  1295. package/profile-picture-picker/lib/profile-picture-picker/validators/index.d.ts +1 -0
  1296. package/profile-picture-picker/lib/profile-picture-picker/validators/validators.d.ts +7 -0
  1297. package/profile-picture-picker/public-api.d.ts +4 -0
  1298. package/progressbar/index.d.ts +5 -0
  1299. package/progressbar/lib/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +20 -0
  1300. package/progressbar/lib/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.d.ts +8 -0
  1301. package/progressbar/lib/progressbar/progressbar.component.d.ts +17 -0
  1302. package/progressbar/lib/progressbar/progressbar.module.d.ts +10 -0
  1303. package/progressbar/lib/progressbar/types/index.d.ts +2 -0
  1304. package/progressbar/lib/progressbar/types/progressbar-colors.d.ts +1 -0
  1305. package/progressbar/lib/progressbar/types/progressbar-mode.d.ts +1 -0
  1306. package/progressbar/public-api.d.ts +3 -0
  1307. package/public-api.d.ts +1 -4
  1308. package/radio-button/index.d.ts +5 -0
  1309. package/radio-button/lib/radio-button/radio-button.component.d.ts +31 -0
  1310. package/radio-button/lib/radio-button-group/models/radio-button-group.models.d.ts +5 -0
  1311. package/radio-button/lib/radio-button-group/radio-button-group.component.d.ts +25 -0
  1312. package/radio-button/lib/services/radio-button-registry.service.d.ts +12 -0
  1313. package/radio-button/public-api.d.ts +3 -0
  1314. package/rating-scale/index.d.ts +5 -0
  1315. package/rating-scale/lib/rating-scale/models/index.d.ts +1 -0
  1316. package/rating-scale/lib/rating-scale/rating-scale.component.d.ts +18 -0
  1317. package/rating-scale/lib/rating-scale/rating-scale.module.d.ts +9 -0
  1318. package/rating-scale/public-api.d.ts +3 -0
  1319. package/select/index.d.ts +5 -0
  1320. package/select/lib/select/components/select-option/select-option.component.d.ts +14 -0
  1321. package/select/lib/select/select.component.d.ts +266 -0
  1322. package/select/public-api.d.ts +1 -0
  1323. package/select-button/index.d.ts +5 -0
  1324. package/select-button/lib/select-button/components/select-button-item/select-button-item.component.d.ts +10 -0
  1325. package/select-button/lib/select-button/select-button.component.d.ts +22 -0
  1326. package/select-button/lib/select-button/select-button.module.d.ts +9 -0
  1327. package/select-button/public-api.d.ts +3 -0
  1328. package/shared/index.d.ts +5 -0
  1329. package/shared/lib/shared/border-button/border-button.component.d.ts +9 -0
  1330. package/shared/lib/shared/border-button/border-button.module.d.ts +9 -0
  1331. package/shared/lib/shared/models/border-button-options.d.ts +9 -0
  1332. package/shared/lib/shared/models/severities.d.ts +8 -0
  1333. package/shared/public-api.d.ts +6 -0
  1334. package/sidebar/index.d.ts +5 -0
  1335. package/sidebar/lib/sidebar/sidebar.component.d.ts +30 -0
  1336. package/sidebar/lib/sidebar/sidebar.module.d.ts +10 -0
  1337. package/sidebar/public-api.d.ts +2 -0
  1338. package/slide-panel/index.d.ts +5 -0
  1339. package/slide-panel/lib/slide-panel/slide-panel.component.d.ts +32 -0
  1340. package/slide-panel/lib/slide-panel/slide-panel.module.d.ts +8 -0
  1341. package/slide-panel/lib/slide-panel/slide-panel.service.d.ts +10 -0
  1342. package/slide-panel/public-api.d.ts +3 -0
  1343. package/slider/index.d.ts +5 -0
  1344. package/slider/lib/slider/slider.component.d.ts +97 -0
  1345. package/slider/lib/slider/slider.module.d.ts +9 -0
  1346. package/slider/public-api.d.ts +2 -0
  1347. package/speech-recognition/index.d.ts +5 -0
  1348. package/speech-recognition/lib/speech-recognition/speech-recognition/speech-recognition.component.d.ts +54 -0
  1349. package/speech-recognition/lib/speech-recognition/speech-recognition.module.d.ts +9 -0
  1350. package/speech-recognition/lib/speech-recognition/speech-recognition.service.d.ts +29 -0
  1351. package/speech-recognition/lib/speech-recognition/text-to-speech.service.d.ts +26 -0
  1352. package/speech-recognition/public-api.d.ts +4 -0
  1353. package/split-button/index.d.ts +5 -0
  1354. package/split-button/lib/split-button/models/index.d.ts +2 -0
  1355. package/split-button/lib/split-button/models/split-button-type.d.ts +1 -0
  1356. package/split-button/lib/split-button/split-button.component.d.ts +22 -0
  1357. package/split-button/lib/split-button/split-button.module.d.ts +8 -0
  1358. package/split-button/public-api.d.ts +3 -0
  1359. package/star-rating/index.d.ts +5 -0
  1360. package/star-rating/public-api.d.ts +2 -0
  1361. package/star-rating/star-rating/star-rating-models.d.ts +1 -0
  1362. package/star-rating/star-rating/star-rating.component.d.ts +20 -0
  1363. package/stats-card/index.d.ts +5 -0
  1364. package/stats-card/lib/stats-card/stats-card.component.d.ts +28 -0
  1365. package/stats-card/lib/stats-card/stats-card.module.d.ts +9 -0
  1366. package/stats-card/public-api.d.ts +2 -0
  1367. package/steps/index.d.ts +5 -0
  1368. package/steps/lib/steps/steps.component.d.ts +36 -0
  1369. package/steps/lib/steps/steps.module.d.ts +9 -0
  1370. package/steps/public-api.d.ts +2 -0
  1371. package/structure/index.d.ts +5 -0
  1372. package/structure/lib/structure/footer.component.d.ts +5 -0
  1373. package/structure/lib/structure/header.component.d.ts +5 -0
  1374. package/structure/lib/structure/structure.module.d.ts +9 -0
  1375. package/structure/public-api.d.ts +4 -0
  1376. package/styles.css +1 -0
  1377. package/switch/index.d.ts +5 -0
  1378. package/switch/lib/switch/switch.component.d.ts +25 -0
  1379. package/switch/lib/switch/switch.module.d.ts +8 -0
  1380. package/switch/public-api.d.ts +2 -0
  1381. package/table/index.d.ts +5 -0
  1382. package/table/lib/table/export-utils.d.ts +16 -0
  1383. package/table/lib/table/navigation/navigation.directive.d.ts +18 -0
  1384. package/table/lib/table/row-toggler/row-toggler.directive.d.ts +10 -0
  1385. package/table/lib/table/table-column/index.d.ts +2 -0
  1386. package/table/lib/table/table-column/models/badge-column.interface.d.ts +9 -0
  1387. package/table/lib/table/table-column/models/badge-configs.interface.d.ts +5 -0
  1388. package/table/lib/table/table-column/models/column-colors.d.ts +1 -0
  1389. package/table/lib/table/table-column/models/column-values.interface.d.ts +18 -0
  1390. package/table/lib/table/table-column/models/column.interface.d.ts +28 -0
  1391. package/table/lib/table/table-column/models/dynamic-editable-grid.interface.d.ts +13 -0
  1392. package/table/lib/table/table-column/models/index.d.ts +10 -0
  1393. package/table/lib/table/table-column/models/locale-options.interface.d.ts +6 -0
  1394. package/table/lib/table/table-column/models/number-locale-options.interface.d.ts +6 -0
  1395. package/table/lib/table/table-column/table-columns.component.d.ts +53 -0
  1396. package/table/lib/table/table-paging/index.d.ts +2 -0
  1397. package/table/lib/table/table-paging/models/index.d.ts +1 -0
  1398. package/table/lib/table/table-paging/table-paging.component.d.ts +65 -0
  1399. package/table/lib/table/table.module.d.ts +17 -0
  1400. package/table/public-api.d.ts +5 -0
  1401. package/table-header/index.d.ts +5 -0
  1402. package/table-header/lib/table-header/table-header-checkbox.component.d.ts +31 -0
  1403. package/table-header/lib/table-header/table-header-checkox.module.d.ts +10 -0
  1404. package/table-header/public-api.d.ts +2 -0
  1405. package/tabs/index.d.ts +5 -0
  1406. package/tabs/lib/tab-item/tab-item.component.d.ts +18 -0
  1407. package/tabs/lib/tabs/tabs.component.d.ts +16 -0
  1408. package/tabs/public-api.d.ts +2 -0
  1409. package/template/index.d.ts +5 -0
  1410. package/template/lib/template/template.directive.d.ts +8 -0
  1411. package/template/lib/template/template.module.d.ts +8 -0
  1412. package/template/public-api.d.ts +2 -0
  1413. package/text-area/index.d.ts +5 -0
  1414. package/text-area/lib/text-area/text-area.component.d.ts +36 -0
  1415. package/text-area/lib/text-area.module.d.ts +11 -0
  1416. package/text-area/public-api.d.ts +2 -0
  1417. package/text-area-ia/index.d.ts +5 -0
  1418. package/text-area-ia/lib/services/IAssist/iassist.service.d.ts +16 -0
  1419. package/text-area-ia/lib/services/IAssist/models/iassist-input-data.d.ts +6 -0
  1420. package/text-area-ia/lib/services/IAssist/models/iassist-response.d.ts +5 -0
  1421. package/text-area-ia/lib/text-area-ia/text-area-ia.component.d.ts +47 -0
  1422. package/text-area-ia/lib/text-area-ia/text-area-ia.module.d.ts +15 -0
  1423. package/text-area-ia/public-api.d.ts +2 -0
  1424. package/thumbnail/index.d.ts +5 -0
  1425. package/thumbnail/lib/thumbnail/thumbnail-size.d.ts +1 -0
  1426. package/thumbnail/lib/thumbnail/thumbnail.component.d.ts +27 -0
  1427. package/thumbnail/lib/thumbnail/thumbnail.module.d.ts +8 -0
  1428. package/thumbnail/lib/thumbnail/thumbnail.service.d.ts +10 -0
  1429. package/thumbnail/public-api.d.ts +3 -0
  1430. package/thumbnails/index.d.ts +5 -0
  1431. package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +6 -0
  1432. package/thumbnails/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +11 -0
  1433. package/thumbnails/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +23 -0
  1434. package/thumbnails/lib/thumbnails/models/thumbnails-item.d.ts +20 -0
  1435. package/thumbnails/lib/thumbnails/thumbnails.component.d.ts +20 -0
  1436. package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +14 -0
  1437. package/thumbnails/public-api.d.ts +3 -0
  1438. package/tiered-menu/index.d.ts +5 -0
  1439. package/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +35 -0
  1440. package/tiered-menu/lib/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +5 -0
  1441. package/tiered-menu/lib/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +18 -0
  1442. package/tiered-menu/lib/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +27 -0
  1443. package/tiered-menu/lib/tiered-menu/models/index.d.ts +2 -0
  1444. package/tiered-menu/lib/tiered-menu/models/tiered-menu-item-data.d.ts +10 -0
  1445. package/tiered-menu/lib/tiered-menu/models/tiered-menu-item-internal-data.d.ts +6 -0
  1446. package/tiered-menu/lib/tiered-menu/services/tiered-menu.event.service.d.ts +14 -0
  1447. package/tiered-menu/lib/tiered-menu/services/tiered-menu.global.service.d.ts +7 -0
  1448. package/tiered-menu/lib/tiered-menu/services/tiered-menu.service.d.ts +15 -0
  1449. package/tiered-menu/lib/tiered-menu/tiered-menu.directive.d.ts +46 -0
  1450. package/tiered-menu/lib/tiered-menu/tiered-menu.module.d.ts +12 -0
  1451. package/tiered-menu/public-api.d.ts +5 -0
  1452. package/tile/index.d.ts +5 -0
  1453. package/tile/lib/tile/tile.component.d.ts +19 -0
  1454. package/tile/lib/tile/tile.module.d.ts +10 -0
  1455. package/tile/public-api.d.ts +2 -0
  1456. package/timeline/index.d.ts +5 -0
  1457. package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +9 -0
  1458. package/timeline/lib/timeline/components/horizontal-timeline/horizontal-timeline.module.d.ts +10 -0
  1459. package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +10 -0
  1460. package/timeline/lib/timeline/components/timeline-icon-item/timeline-icon-item.module.d.ts +9 -0
  1461. package/timeline/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.d.ts +9 -0
  1462. package/timeline/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.d.ts +13 -0
  1463. package/timeline/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.d.ts +5 -0
  1464. package/timeline/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +11 -0
  1465. package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +24 -0
  1466. package/timeline/lib/timeline/components/vertical-timeline/vertical-timeline.module.d.ts +13 -0
  1467. package/timeline/lib/timeline/models/timeline-item.d.ts +27 -0
  1468. package/timeline/lib/timeline/timeline.component.d.ts +23 -0
  1469. package/timeline/lib/timeline/timeline.module.d.ts +11 -0
  1470. package/timeline/public-api.d.ts +5 -0
  1471. package/toast/index.d.ts +5 -0
  1472. package/toast/lib/toast/toast.component.d.ts +15 -0
  1473. package/toast/lib/toast/toast.module.d.ts +8 -0
  1474. package/toast/lib/toast/toast.service.d.ts +15 -0
  1475. package/toast/lib/toast/types/toast.d.ts +16 -0
  1476. package/toast/public-api.d.ts +3 -0
  1477. package/token-list/index.d.ts +5 -0
  1478. package/token-list/lib/token-list/models/index.d.ts +1 -0
  1479. package/token-list/lib/token-list/token-list.component.d.ts +16 -0
  1480. package/token-list/lib/token-list/token-list.module.d.ts +8 -0
  1481. package/token-list/public-api.d.ts +3 -0
  1482. package/tooltip/index.d.ts +5 -0
  1483. package/tooltip/lib/tooltip/models/mobile-behavior.d.ts +1 -0
  1484. package/tooltip/lib/tooltip/models/tooltip-event.d.ts +1 -0
  1485. package/tooltip/lib/tooltip/models/tooltip-position.d.ts +1 -0
  1486. package/tooltip/lib/tooltip/tooltip.component.d.ts +12 -0
  1487. package/tooltip/lib/tooltip/tooltip.directive.d.ts +63 -0
  1488. package/tooltip/lib/tooltip/tooltip.module.d.ts +9 -0
  1489. package/tooltip/public-api.d.ts +5 -0
  1490. package/tree/index.d.ts +5 -0
  1491. package/tree/lib/tree/Models/tree.models.d.ts +28 -0
  1492. package/tree/lib/tree/components/tree-node-item/tree-node-item.component.d.ts +38 -0
  1493. package/tree/lib/tree/tree.component.d.ts +36 -0
  1494. package/tree/lib/tree/tree.module.d.ts +12 -0
  1495. package/tree/public-api.d.ts +3 -0
  1496. package/utils/index.d.ts +5 -2
  1497. package/utils/lib/utils/utils.d.ts +28 -0
  1498. package/utils/public-api.d.ts +2 -0
  1499. package/workspace-switch/index.d.ts +5 -0
  1500. package/workspace-switch/lib/workspace-switch/models/index.d.ts +1 -0
  1501. package/workspace-switch/lib/workspace-switch/workspace-switch.component.d.ts +33 -0
  1502. package/workspace-switch/lib/workspace-switch/workspace-switch.module.d.ts +8 -0
  1503. package/workspace-switch/public-api.d.ts +3 -0
  1504. package/angular-components.module.d.ts +0 -9
  1505. package/bundles/seniorsistemas-angular-components.umd.js +0 -24519
  1506. package/bundles/seniorsistemas-angular-components.umd.js.map +0 -1
  1507. package/bundles/seniorsistemas-angular-components.umd.min.js +0 -17
  1508. package/bundles/seniorsistemas-angular-components.umd.min.js.map +0 -1
  1509. package/components/accessibility-events/accessibility-events.module.d.ts +0 -2
  1510. package/components/accessibility-events/directives/accessibility-event.directive.d.ts +0 -14
  1511. package/components/accessibility-events/index.d.ts +0 -2
  1512. package/components/accordion/accordion.component.d.ts +0 -20
  1513. package/components/accordion/accordion.module.d.ts +0 -2
  1514. package/components/accordion/components/accordion-panel/accordion-panel.component.d.ts +0 -31
  1515. package/components/accordion/index.d.ts +0 -3
  1516. package/components/accordion/models/accordion-button-settings.d.ts +0 -4
  1517. package/components/accordion/models/accordion-switch-settings.d.ts +0 -4
  1518. package/components/alert/alert.component.d.ts +0 -13
  1519. package/components/alert/alert.module.d.ts +0 -2
  1520. package/components/alert/index.d.ts +0 -2
  1521. package/components/badge/badge.component.d.ts +0 -20
  1522. package/components/badge/badge.module.d.ts +0 -2
  1523. package/components/badge/index.d.ts +0 -3
  1524. package/components/badge/models/badge-colors.d.ts +0 -8
  1525. package/components/badge/models/badge-types.d.ts +0 -4
  1526. package/components/badge/models/index.d.ts +0 -2
  1527. package/components/bignumber-input/bignumber-input.directive.d.ts +0 -29
  1528. package/components/bignumber-input/bignumber-input.module.d.ts +0 -2
  1529. package/components/bignumber-input/index.d.ts +0 -2
  1530. package/components/breadcrumb/breadcrumb.component.d.ts +0 -22
  1531. package/components/breadcrumb/breadcrumb.module.d.ts +0 -2
  1532. package/components/breadcrumb/index.d.ts +0 -2
  1533. package/components/button/button.component.d.ts +0 -43
  1534. package/components/button/button.module.d.ts +0 -2
  1535. package/components/button/index.d.ts +0 -6
  1536. package/components/button/models/button-animation.d.ts +0 -3
  1537. package/components/button/models/button-badge-config.d.ts +0 -7
  1538. package/components/button/models/button-priority.d.ts +0 -7
  1539. package/components/button/models/button-size.d.ts +0 -4
  1540. package/components/calendar-mask/calendar-mask.directive.d.ts +0 -66
  1541. package/components/calendar-mask/calendar-mask.module.d.ts +0 -2
  1542. package/components/calendar-mask/index.d.ts +0 -2
  1543. package/components/card/card.component.d.ts +0 -22
  1544. package/components/card/card.module.d.ts +0 -2
  1545. package/components/card/index.d.ts +0 -3
  1546. package/components/card/models/card-template-types.d.ts +0 -5
  1547. package/components/chat/chat.component.d.ts +0 -7
  1548. package/components/chat/chat.module.d.ts +0 -2
  1549. package/components/chat/components/chat-message/chat-message.component.d.ts +0 -8
  1550. package/components/chat/index.d.ts +0 -3
  1551. package/components/chat/types/chat-message.d.ts +0 -8
  1552. package/components/checkbox/checkbox.component.d.ts +0 -17
  1553. package/components/checkbox/checkbox.module.d.ts +0 -2
  1554. package/components/checkbox/index.d.ts +0 -3
  1555. package/components/checkbox/models/checkbox-data.d.ts +0 -5
  1556. package/components/checkbox/models/checkbox-state.d.ts +0 -6
  1557. package/components/checkbox/models/index.d.ts +0 -2
  1558. package/components/chips/chip-item/chip-item.component.d.ts +0 -22
  1559. package/components/chips/chips/chips.component.d.ts +0 -55
  1560. package/components/chips/chips.module.d.ts +0 -2
  1561. package/components/chips/index.d.ts +0 -3
  1562. package/components/chips/models/chip-models.d.ts +0 -7
  1563. package/components/code-editor/code-editor.component.d.ts +0 -27
  1564. package/components/code-editor/code-editor.module.d.ts +0 -2
  1565. package/components/code-editor/core/facades/core-facade.d.ts +0 -34
  1566. package/components/code-editor/core/use-cases/core-linters.d.ts +0 -6
  1567. package/components/code-editor/index.d.ts +0 -3
  1568. package/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.d.ts +0 -27
  1569. package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.d.ts +0 -15
  1570. package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.d.ts +0 -6
  1571. package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.d.ts +0 -12
  1572. package/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.d.ts +0 -8
  1573. package/components/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.d.ts +0 -1
  1574. package/components/code-editor/infra/cores/codemirror-6/models/types/editor-theme.d.ts +0 -3
  1575. package/components/code-editor/infra/utils/custom-http-client/custom-http-client.d.ts +0 -34
  1576. package/components/code-editor/infra/utils/custom-translations/custom-translations-service.d.ts +0 -25
  1577. package/components/code-editor/infra/utils/custom-translations/custom-translations.module.d.ts +0 -12
  1578. package/components/collapse-link/collapse-link.component.d.ts +0 -17
  1579. package/components/collapse-link/collapse-link.module.d.ts +0 -2
  1580. package/components/collapse-link/index.d.ts +0 -2
  1581. package/components/control-errors/control-errors.component.d.ts +0 -9
  1582. package/components/control-errors/control-errors.module.d.ts +0 -2
  1583. package/components/control-errors/index.d.ts +0 -2
  1584. package/components/country-phone-picker/country-phone-picker.component.d.ts +0 -64
  1585. package/components/country-phone-picker/country-phone-picker.module.d.ts +0 -2
  1586. package/components/country-phone-picker/country-phone-picker.service.d.ts +0 -10
  1587. package/components/country-phone-picker/index.d.ts +0 -4
  1588. package/components/country-phone-picker/models/index.d.ts +0 -3
  1589. package/components/country-phone-picker/resources/countries.d.ts +0 -2
  1590. package/components/country-phone-picker/resources/index.d.ts +0 -1
  1591. package/components/custom-fields/custom-fields.component.d.ts +0 -82
  1592. package/components/custom-fields/custom-fields.module.d.ts +0 -2
  1593. package/components/custom-fields/custom-fields.service.d.ts +0 -17
  1594. package/components/custom-fields/index.d.ts +0 -3
  1595. package/components/dynamic-form/components/dynamic-field/dynamic-field.component.d.ts +0 -12
  1596. package/components/dynamic-form/components/field-label/field-label.component.d.ts +0 -5
  1597. package/components/dynamic-form/components/field-label/field-label.module.d.ts +0 -2
  1598. package/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.d.ts +0 -14
  1599. package/components/dynamic-form/components/fields/base-field-component.d.ts +0 -27
  1600. package/components/dynamic-form/components/fields/bignumber/bignumber-field.component.d.ts +0 -24
  1601. package/components/dynamic-form/components/fields/bignumber/bignumber-field.module.d.ts +0 -2
  1602. package/components/dynamic-form/components/fields/boolean/boolean-field.component.d.ts +0 -8
  1603. package/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.d.ts +0 -7
  1604. package/components/dynamic-form/components/fields/button-field/button-field.component.d.ts +0 -7
  1605. package/components/dynamic-form/components/fields/calendar/calendar-field.component.d.ts +0 -31
  1606. package/components/dynamic-form/components/fields/checkbox/checkbox-field.component.d.ts +0 -7
  1607. package/components/dynamic-form/components/fields/checkbox/checkbox-field.module.d.ts +0 -2
  1608. package/components/dynamic-form/components/fields/chips/chips-field.component.d.ts +0 -19
  1609. package/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.d.ts +0 -14
  1610. package/components/dynamic-form/components/fields/currency/currency-field.component.d.ts +0 -21
  1611. package/components/dynamic-form/components/fields/currency/currency-field.module.d.ts +0 -2
  1612. package/components/dynamic-form/components/fields/editor/editor-field.component.d.ts +0 -7
  1613. package/components/dynamic-form/components/fields/editor/editor-field.module.d.ts +0 -2
  1614. package/components/dynamic-form/components/fields/file-upload/file-upload.component.d.ts +0 -17
  1615. package/components/dynamic-form/components/fields/index.d.ts +0 -21
  1616. package/components/dynamic-form/components/fields/lookup/lookup-field.component.d.ts +0 -7
  1617. package/components/dynamic-form/components/fields/number/number-field.component.d.ts +0 -27
  1618. package/components/dynamic-form/components/fields/number/number-field.module.d.ts +0 -2
  1619. package/components/dynamic-form/components/fields/password/password-field.component.d.ts +0 -19
  1620. package/components/dynamic-form/components/fields/password/password-field.module.d.ts +0 -2
  1621. package/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.d.ts +0 -6
  1622. package/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.d.ts +0 -2
  1623. package/components/dynamic-form/components/fields/radio-button/radio-button-field.component.d.ts +0 -15
  1624. package/components/dynamic-form/components/fields/select/select-field.component.d.ts +0 -7
  1625. package/components/dynamic-form/components/fields/slider/slider-field.component.d.ts +0 -22
  1626. package/components/dynamic-form/components/fields/text/text-field.component.d.ts +0 -22
  1627. package/components/dynamic-form/components/fields/text/text-field.module.d.ts +0 -2
  1628. package/components/dynamic-form/components/fields/text-area/text-area-field.component.d.ts +0 -11
  1629. package/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.d.ts +0 -28
  1630. package/components/dynamic-form/components/grid/row/row.component.d.ts +0 -12
  1631. package/components/dynamic-form/components/lookup/lookup.component.d.ts +0 -188
  1632. package/components/dynamic-form/components/lookup/models/default-filter.d.ts +0 -4
  1633. package/components/dynamic-form/components/lookup/models/index.d.ts +0 -1
  1634. package/components/dynamic-form/components/structure/base-structure-component.d.ts +0 -8
  1635. package/components/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +0 -9
  1636. package/components/dynamic-form/components/structure/section/section.component.d.ts +0 -11
  1637. package/components/dynamic-form/configurations/addon-config.d.ts +0 -8
  1638. package/components/dynamic-form/configurations/field-type.d.ts +0 -30
  1639. package/components/dynamic-form/configurations/fields/autocomplete-field.d.ts +0 -30
  1640. package/components/dynamic-form/configurations/fields/bignumber-field.d.ts +0 -36
  1641. package/components/dynamic-form/configurations/fields/blob-field.d.ts +0 -43
  1642. package/components/dynamic-form/configurations/fields/boolean-field.d.ts +0 -29
  1643. package/components/dynamic-form/configurations/fields/boolean-switch-field.d.ts +0 -11
  1644. package/components/dynamic-form/configurations/fields/button-field.d.ts +0 -37
  1645. package/components/dynamic-form/configurations/fields/calendar-field.d.ts +0 -45
  1646. package/components/dynamic-form/configurations/fields/checkbox-field.d.ts +0 -9
  1647. package/components/dynamic-form/configurations/fields/chips-field.d.ts +0 -24
  1648. package/components/dynamic-form/configurations/fields/country-phone-picker-field.d.ts +0 -15
  1649. package/components/dynamic-form/configurations/fields/currency-field.d.ts +0 -8
  1650. package/components/dynamic-form/configurations/fields/decimal-field.d.ts +0 -14
  1651. package/components/dynamic-form/configurations/fields/field.d.ts +0 -96
  1652. package/components/dynamic-form/configurations/fields/index.d.ts +0 -21
  1653. package/components/dynamic-form/configurations/fields/lookup-field.d.ts +0 -94
  1654. package/components/dynamic-form/configurations/fields/number-field.d.ts +0 -42
  1655. package/components/dynamic-form/configurations/fields/password-field.d.ts +0 -45
  1656. package/components/dynamic-form/configurations/fields/profile-picture.d.ts +0 -36
  1657. package/components/dynamic-form/configurations/fields/radio-button-field.d.ts +0 -23
  1658. package/components/dynamic-form/configurations/fields/select-field.d.ts +0 -37
  1659. package/components/dynamic-form/configurations/fields/slider-field.d.ts +0 -31
  1660. package/components/dynamic-form/configurations/fields/text-area-field.d.ts +0 -24
  1661. package/components/dynamic-form/configurations/fields/text-area-ia-field.d.ts +0 -26
  1662. package/components/dynamic-form/configurations/fields/text-field.d.ts +0 -41
  1663. package/components/dynamic-form/configurations/form-field.d.ts +0 -190
  1664. package/components/dynamic-form/configurations/grid/grid.d.ts +0 -14
  1665. package/components/dynamic-form/configurations/grid/row.d.ts +0 -8
  1666. package/components/dynamic-form/configurations/structure/fieldset.d.ts +0 -10
  1667. package/components/dynamic-form/configurations/structure/section.d.ts +0 -20
  1668. package/components/dynamic-form/configurations/structure/structure.d.ts +0 -15
  1669. package/components/dynamic-form/dynamic-form.component.d.ts +0 -10
  1670. package/components/dynamic-form/dynamic-form.d.ts +0 -56
  1671. package/components/dynamic-form/dynamic-form.directive.d.ts +0 -28
  1672. package/components/dynamic-form/dynamic-form.module.d.ts +0 -2
  1673. package/components/dynamic-form/index.d.ts +0 -32
  1674. package/components/dynamic-form/services/IAssist/iassist.service.d.ts +0 -13
  1675. package/components/dynamic-form/services/IAssist/models/iassist-input-data.d.ts +0 -6
  1676. package/components/dynamic-form/services/IAssist/models/iassist-response.d.ts +0 -5
  1677. package/components/dynamic-form/services/IAssist/models/index.d.ts +0 -2
  1678. package/components/editable-overlay/editable-overlay.directive.d.ts +0 -9
  1679. package/components/editable-overlay/editable-overlay.module.d.ts +0 -2
  1680. package/components/editable-overlay/index.d.ts +0 -2
  1681. package/components/empty-state/empty-state.component.d.ts +0 -16
  1682. package/components/empty-state/empty-state.module.d.ts +0 -2
  1683. package/components/empty-state/go-back/go-back.component.d.ts +0 -11
  1684. package/components/empty-state/index.d.ts +0 -2
  1685. package/components/fieldset/fieldset.component.d.ts +0 -14
  1686. package/components/fieldset/fieldset.models.d.ts +0 -4
  1687. package/components/fieldset/fieldset.module.d.ts +0 -2
  1688. package/components/fieldset/index.d.ts +0 -3
  1689. package/components/file-upload/file-upload.component.d.ts +0 -76
  1690. package/components/file-upload/file-upload.module.d.ts +0 -2
  1691. package/components/file-upload/file-upload.service.d.ts +0 -6
  1692. package/components/file-upload/index.d.ts +0 -3
  1693. package/components/file-upload/models/file-dto.d.ts +0 -11
  1694. package/components/file-upload/models/file-upload-permissions.d.ts +0 -6
  1695. package/components/file-upload/models/index.d.ts +0 -4
  1696. package/components/file-upload/models/uploadError.d.ts +0 -6
  1697. package/components/file-upload/models/validate-errors.d.ts +0 -6
  1698. package/components/gantt/components/gantt/arrow.d.ts +0 -16
  1699. package/components/gantt/components/gantt/bar.d.ts +0 -44
  1700. package/components/gantt/components/gantt/gantt-options.d.ts +0 -2
  1701. package/components/gantt/components/gantt/gantt.d.ts +0 -64
  1702. package/components/gantt/components/gantt/popup.d.ts +0 -14
  1703. package/components/gantt/components/gantt/utils/svg-utils.d.ts +0 -11
  1704. package/components/gantt/components/side-table/side-table.component.d.ts +0 -10
  1705. package/components/gantt/gantt.component.d.ts +0 -30
  1706. package/components/gantt/gantt.module.d.ts +0 -2
  1707. package/components/gantt/index.d.ts +0 -3
  1708. package/components/gantt/models/index.d.ts +0 -3
  1709. package/components/gantt/models/options.d.ts +0 -26
  1710. package/components/global-search/elements/dropdown/global-search-dropdown-item.component.d.ts +0 -24
  1711. package/components/global-search/global-search-size.enum.d.ts +0 -5
  1712. package/components/global-search/global-search.component.d.ts +0 -34
  1713. package/components/global-search/global-search.module.d.ts +0 -2
  1714. package/components/global-search/index.d.ts +0 -4
  1715. package/components/grid-menu/components/grid-menu-item/grid-menu-item.component.d.ts +0 -14
  1716. package/components/grid-menu/grid-menu.component.d.ts +0 -13
  1717. package/components/grid-menu/grid-menu.module.d.ts +0 -2
  1718. package/components/grid-menu/index.d.ts +0 -3
  1719. package/components/grid-menu/types/grid-menu-item.d.ts +0 -11
  1720. package/components/help-popover/help-popover/help-popover.component.d.ts +0 -32
  1721. package/components/help-popover/help-popover.directive.d.ts +0 -64
  1722. package/components/help-popover/help-popover.module.d.ts +0 -2
  1723. package/components/help-popover/index.d.ts +0 -5
  1724. package/components/help-popover/models/help-popover.models.d.ts +0 -2
  1725. package/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.d.ts +0 -2
  1726. package/components/ia-insight/components/ia-insight-card/ia-insight-card.component.d.ts +0 -22
  1727. package/components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.d.ts +0 -18
  1728. package/components/ia-insight/ia-insight.component.d.ts +0 -28
  1729. package/components/ia-insight/ia-insight.module.d.ts +0 -2
  1730. package/components/ia-insight/index.d.ts +0 -3
  1731. package/components/ia-insight/models/ia-insight-item.d.ts +0 -21
  1732. package/components/ia-insight/models/ia-insight-template-types.d.ts +0 -5
  1733. package/components/ia-insight/models/index.d.ts +0 -2
  1734. package/components/image-cropper/image-cropper.component.d.ts +0 -42
  1735. package/components/image-cropper/image-cropper.module.d.ts +0 -2
  1736. package/components/image-cropper/image-cropper.service.d.ts +0 -39
  1737. package/components/image-cropper/index.d.ts +0 -3
  1738. package/components/index.d.ts +0 -76
  1739. package/components/infinite-scroll/infinite-scroll.directive.d.ts +0 -7
  1740. package/components/infinite-scroll/infinite-scroll.module.d.ts +0 -2
  1741. package/components/info-sign/index.d.ts +0 -2
  1742. package/components/info-sign/info-sign.component.d.ts +0 -7
  1743. package/components/info-sign/info-sign.directive.d.ts +0 -16
  1744. package/components/info-sign/info-sign.module.d.ts +0 -2
  1745. package/components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.d.ts +0 -17
  1746. package/components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.d.ts +0 -10
  1747. package/components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.d.ts +0 -18
  1748. package/components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.d.ts +0 -9
  1749. package/components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.d.ts +0 -10
  1750. package/components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.d.ts +0 -9
  1751. package/components/inline-edit/components/inline-edit-item/inline-edit-item.component.d.ts +0 -27
  1752. package/components/inline-edit/fields/index.d.ts +0 -7
  1753. package/components/inline-edit/fields/inline-edit-calendar-field.d.ts +0 -44
  1754. package/components/inline-edit/fields/inline-edit-field.d.ts +0 -13
  1755. package/components/inline-edit/fields/inline-edit-lookup-field.d.ts +0 -79
  1756. package/components/inline-edit/fields/inline-edit-number-field.d.ts +0 -38
  1757. package/components/inline-edit/index.d.ts +0 -3
  1758. package/components/inline-edit/inline-edit.component.d.ts +0 -14
  1759. package/components/inline-edit/inline-edit.module.d.ts +0 -2
  1760. package/components/kanban/components/kanban-column/kanban-column.component.d.ts +0 -18
  1761. package/components/kanban/components/kanban-item/kanban-item.component.d.ts +0 -16
  1762. package/components/kanban/components/kanban-item-dragging/kanban-item-dragging.component.d.ts +0 -3
  1763. package/components/kanban/index.d.ts +0 -3
  1764. package/components/kanban/kanban-event.service.d.ts +0 -12
  1765. package/components/kanban/kanban.component.d.ts +0 -43
  1766. package/components/kanban/kanban.module.d.ts +0 -2
  1767. package/components/kanban/models/index.d.ts +0 -2
  1768. package/components/kanban/models/kanban-data.d.ts +0 -27
  1769. package/components/kanban/models/kanban-template-types.d.ts +0 -7
  1770. package/components/label-value/index.d.ts +0 -3
  1771. package/components/label-value/label-value.component.d.ts +0 -9
  1772. package/components/label-value/label-value.module.d.ts +0 -2
  1773. package/components/label-value/types/label-value-configuration.d.ts +0 -29
  1774. package/components/loading-state/components/dots-indicator/dots-indicator.components.d.ts +0 -2
  1775. package/components/loading-state/components/logo-indicator/logo-indicator.component.d.ts +0 -2
  1776. package/components/loading-state/index.d.ts +0 -3
  1777. package/components/loading-state/loading-state.component.d.ts +0 -20
  1778. package/components/loading-state/loading-state.directive.d.ts +0 -19
  1779. package/components/loading-state/loading-state.module.d.ts +0 -2
  1780. package/components/locale/index.d.ts +0 -10
  1781. package/components/locale/locale.module.d.ts +0 -5
  1782. package/components/locale/locale.service.d.ts +0 -24
  1783. package/components/locale/options/calendar.d.ts +0 -25
  1784. package/components/locale/options/index.d.ts +0 -26
  1785. package/components/locale/options/number.d.ts +0 -11
  1786. package/components/locale/pipes/localized-bignumber-impure.pipe.d.ts +0 -6
  1787. package/components/locale/pipes/localized-bignumber.pipe.d.ts +0 -9
  1788. package/components/locale/pipes/localized-currency-impure.pipe.d.ts +0 -8
  1789. package/components/locale/pipes/localized-currency.pipe.d.ts +0 -19
  1790. package/components/locale/pipes/localized-date-impure.pipe.d.ts +0 -4
  1791. package/components/locale/pipes/localized-date.pipe.d.ts +0 -7
  1792. package/components/locale/pipes/localized-number.pipe.d.ts +0 -14
  1793. package/components/locale/pipes/localized-time-impure.pipe.d.ts +0 -4
  1794. package/components/locale/pipes/localized-time.pipe.d.ts +0 -7
  1795. package/components/locale/pipes/numeric.pipe.d.ts +0 -13
  1796. package/components/locale/services/numeric.service.d.ts +0 -27
  1797. package/components/localized-number-input/index.d.ts +0 -2
  1798. package/components/localized-number-input/localized-number-input.directive.d.ts +0 -13
  1799. package/components/localized-number-input/localized-number-input.module.d.ts +0 -2
  1800. package/components/mask/index.d.ts +0 -2
  1801. package/components/mask/mask-formatter.module.d.ts +0 -2
  1802. package/components/mask/mask-formatter.pipe.d.ts +0 -5
  1803. package/components/mouse-events/double-click.directive.d.ts +0 -9
  1804. package/components/mouse-events/index.d.ts +0 -3
  1805. package/components/mouse-events/long-press.directive.d.ts +0 -13
  1806. package/components/mouse-events/mouse-events.module.d.ts +0 -2
  1807. package/components/navigation-button/index.d.ts +0 -3
  1808. package/components/navigation-button/models/index.d.ts +0 -2
  1809. package/components/navigation-button/models/navigation-button-step-changed-info.d.ts +0 -5
  1810. package/components/navigation-button/navigation-button.component.d.ts +0 -30
  1811. package/components/navigation-button/navigation-button.module.d.ts +0 -2
  1812. package/components/number-input/index.d.ts +0 -2
  1813. package/components/number-input/number-input.directive.d.ts +0 -44
  1814. package/components/number-input/number-input.module.d.ts +0 -5
  1815. package/components/object-card/elements/field/object-card-field.component.d.ts +0 -17
  1816. package/components/object-card/elements/main/object-card-main.component.d.ts +0 -27
  1817. package/components/object-card/index.d.ts +0 -4
  1818. package/components/object-card/object-card.component.d.ts +0 -28
  1819. package/components/object-card/object-card.module.d.ts +0 -2
  1820. package/components/panel/index.d.ts +0 -2
  1821. package/components/panel/panel.component.d.ts +0 -25
  1822. package/components/panel/panel.module.d.ts +0 -2
  1823. package/components/password-strength/index.d.ts +0 -4
  1824. package/components/password-strength/models/index.d.ts +0 -2
  1825. package/components/password-strength/models/password-positions.d.ts +0 -5
  1826. package/components/password-strength/models/password-strengths.d.ts +0 -6
  1827. package/components/password-strength/password-strength.component.d.ts +0 -19
  1828. package/components/password-strength/password-strength.directive.d.ts +0 -26
  1829. package/components/password-strength/password-strength.module.d.ts +0 -2
  1830. package/components/picklist/index.d.ts +0 -4
  1831. package/components/picklist/picklist/models/picklist-models.d.ts +0 -8
  1832. package/components/picklist/picklist/picklist.component.d.ts +0 -71
  1833. package/components/picklist/picklist.module.d.ts +0 -2
  1834. package/components/product-header/index.d.ts +0 -2
  1835. package/components/product-header/product-header.component.d.ts +0 -10
  1836. package/components/product-header/product-header.module.d.ts +0 -2
  1837. package/components/profile-picture-picker/index.d.ts +0 -3
  1838. package/components/profile-picture-picker/models/file-validation-errors.d.ts +0 -10
  1839. package/components/profile-picture-picker/models/index.d.ts +0 -4
  1840. package/components/profile-picture-picker/profile-picture-picker.component.d.ts +0 -55
  1841. package/components/profile-picture-picker/profile-picture-picker.module.d.ts +0 -2
  1842. package/components/progressbar/components/progressbar-determinate/progressbar-determinate.component.d.ts +0 -17
  1843. package/components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.d.ts +0 -5
  1844. package/components/progressbar/index.d.ts +0 -3
  1845. package/components/progressbar/models/index.d.ts +0 -2
  1846. package/components/progressbar/models/progressbar-colors.d.ts +0 -6
  1847. package/components/progressbar/models/progressbar-mode.d.ts +0 -4
  1848. package/components/progressbar/progressbar.component.d.ts +0 -15
  1849. package/components/progressbar/progressbar.module.d.ts +0 -2
  1850. package/components/rating-scale/index.d.ts +0 -3
  1851. package/components/rating-scale/models/index.d.ts +0 -1
  1852. package/components/rating-scale/rating-scale.component.d.ts +0 -15
  1853. package/components/rating-scale/rating-scale.module.d.ts +0 -2
  1854. package/components/select-button/components/select-button-item/select-button-item.component.d.ts +0 -7
  1855. package/components/select-button/index.d.ts +0 -3
  1856. package/components/select-button/models/index.d.ts +0 -1
  1857. package/components/select-button/select-button.component.d.ts +0 -19
  1858. package/components/select-button/select-button.module.d.ts +0 -2
  1859. package/components/shared/border-button/border-button.component.d.ts +0 -9
  1860. package/components/shared/border-button/border-button.module.d.ts +0 -2
  1861. package/components/shared/index.d.ts +0 -3
  1862. package/components/shared/models/border-button-options.d.ts +0 -9
  1863. package/components/shared/models/enum-severity.d.ts +0 -7
  1864. package/components/sidebar/index.d.ts +0 -2
  1865. package/components/sidebar/sidebar.component.d.ts +0 -22
  1866. package/components/sidebar/sidebar.module.d.ts +0 -2
  1867. package/components/slide-panel/index.d.ts +0 -2
  1868. package/components/slide-panel/slide-panel.component.d.ts +0 -32
  1869. package/components/slide-panel/slide-panel.module.d.ts +0 -2
  1870. package/components/slide-panel/slide-panel.service.d.ts +0 -7
  1871. package/components/slider/index.d.ts +0 -2
  1872. package/components/slider/slider.component.d.ts +0 -95
  1873. package/components/slider/slider.module.d.ts +0 -2
  1874. package/components/speech-recognition/speech-recognition/speech-recognition.component.d.ts +0 -51
  1875. package/components/speech-recognition/speech-recognition.module.d.ts +0 -2
  1876. package/components/speech-recognition/speech-recognition.service.d.ts +0 -26
  1877. package/components/speech-recognition/text-to-speech.service.d.ts +0 -23
  1878. package/components/split-button/index.d.ts +0 -4
  1879. package/components/split-button/models/split-button-type.d.ts +0 -5
  1880. package/components/split-button/split-button.component.d.ts +0 -19
  1881. package/components/split-button/split-button.module.d.ts +0 -2
  1882. package/components/stats-card/index.d.ts +0 -2
  1883. package/components/stats-card/stats-card.component.d.ts +0 -26
  1884. package/components/stats-card/stats-card.module.d.ts +0 -2
  1885. package/components/steps/index.d.ts +0 -2
  1886. package/components/steps/steps.component.d.ts +0 -38
  1887. package/components/steps/steps.module.d.ts +0 -2
  1888. package/components/structure/footer.component.d.ts +0 -2
  1889. package/components/structure/header.component.d.ts +0 -4
  1890. package/components/structure/index.d.ts +0 -3
  1891. package/components/structure/structure.module.d.ts +0 -2
  1892. package/components/switch/index.d.ts +0 -2
  1893. package/components/switch/switch.component.d.ts +0 -22
  1894. package/components/switch/switch.module.d.ts +0 -2
  1895. package/components/table/frozen-position/frozen-position.directive.d.ts +0 -28
  1896. package/components/table/index.d.ts +0 -6
  1897. package/components/table/navigation/navigation.directive.d.ts +0 -15
  1898. package/components/table/row-toggler/row-toggler.directive.d.ts +0 -7
  1899. package/components/table/table-column/index.d.ts +0 -1
  1900. package/components/table/table-column/models/badge-column.interface.d.ts +0 -9
  1901. package/components/table/table-column/models/badge-configs.interface.d.ts +0 -5
  1902. package/components/table/table-column/models/column-colors.d.ts +0 -1
  1903. package/components/table/table-column/models/column-values.interface.d.ts +0 -17
  1904. package/components/table/table-column/models/column.interface.d.ts +0 -27
  1905. package/components/table/table-column/models/dynamic-editable-grid.interface.d.ts +0 -13
  1906. package/components/table/table-column/models/index.d.ts +0 -9
  1907. package/components/table/table-column/models/locale-options.interface.d.ts +0 -6
  1908. package/components/table/table-column/models/number-locale-options.interface.d.ts +0 -6
  1909. package/components/table/table-column/table-columns.component.d.ts +0 -49
  1910. package/components/table/table-paging/index.d.ts +0 -1
  1911. package/components/table/table-paging/models/index.d.ts +0 -1
  1912. package/components/table/table-paging/table-paging.component.d.ts +0 -63
  1913. package/components/table/table.module.d.ts +0 -2
  1914. package/components/table-header/index.d.ts +0 -2
  1915. package/components/table-header/table-header-checkbox.component.d.ts +0 -25
  1916. package/components/table-header/table-header-checkox.module.d.ts +0 -2
  1917. package/components/template/index.d.ts +0 -2
  1918. package/components/template/template.directive.d.ts +0 -6
  1919. package/components/template/template.module.d.ts +0 -2
  1920. package/components/text-area/index.d.ts +0 -2
  1921. package/components/text-area/text-area/text-area.component.d.ts +0 -32
  1922. package/components/text-area/text-area.module.d.ts +0 -2
  1923. package/components/text-area-ia/index.d.ts +0 -2
  1924. package/components/text-area-ia/text-area-ia.component.d.ts +0 -44
  1925. package/components/text-area-ia/text-area-ia.module.d.ts +0 -2
  1926. package/components/thumbnail/index.d.ts +0 -3
  1927. package/components/thumbnail/thumbnail-size.d.ts +0 -5
  1928. package/components/thumbnail/thumbnail.component.d.ts +0 -24
  1929. package/components/thumbnail/thumbnail.module.d.ts +0 -2
  1930. package/components/thumbnail/thumbnail.service.d.ts +0 -7
  1931. package/components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.d.ts +0 -3
  1932. package/components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.d.ts +0 -8
  1933. package/components/thumbnails/components/thumbnail-item/thumbnail-item.component.d.ts +0 -20
  1934. package/components/thumbnails/index.d.ts +0 -3
  1935. package/components/thumbnails/models/thumbnails-item.d.ts +0 -20
  1936. package/components/thumbnails/thumbnails.component.d.ts +0 -17
  1937. package/components/thumbnails/thumbnails.module.d.ts +0 -2
  1938. package/components/tiered-menu/components/tiered-menu/tiered-menu.component.d.ts +0 -32
  1939. package/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.d.ts +0 -2
  1940. package/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.d.ts +0 -15
  1941. package/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.d.ts +0 -24
  1942. package/components/tiered-menu/index.d.ts +0 -3
  1943. package/components/tiered-menu/models/index.d.ts +0 -2
  1944. package/components/tiered-menu/models/tiered-menu-item-data.d.ts +0 -9
  1945. package/components/tiered-menu/models/tiered-menu-item-internal-data.d.ts +0 -6
  1946. package/components/tiered-menu/services/tiered-menu.event.service.d.ts +0 -11
  1947. package/components/tiered-menu/services/tiered-menu.global.service.d.ts +0 -4
  1948. package/components/tiered-menu/services/tiered-menu.service.d.ts +0 -12
  1949. package/components/tiered-menu/tiered-menu.directive.d.ts +0 -41
  1950. package/components/tiered-menu/tiered-menu.module.d.ts +0 -2
  1951. package/components/tiered-menu/utils.d.ts +0 -2
  1952. package/components/tile/index.d.ts +0 -2
  1953. package/components/tile/tile.component.d.ts +0 -16
  1954. package/components/tile/tile.module.d.ts +0 -2
  1955. package/components/timeline/components/horizontal-timeline/horizontal-timeline.component.d.ts +0 -6
  1956. package/components/timeline/components/horizontal-timeline/horizontal-timeline.module.d.ts +0 -2
  1957. package/components/timeline/components/timeline-icon-item/timeline-icon-item.component.d.ts +0 -7
  1958. package/components/timeline/components/timeline-icon-item/timeline-icon-item.module.d.ts +0 -2
  1959. package/components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.d.ts +0 -6
  1960. package/components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.d.ts +0 -10
  1961. package/components/timeline/components/vertical-timeline/components/range-line/range-line.component.d.ts +0 -2
  1962. package/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.d.ts +0 -8
  1963. package/components/timeline/components/vertical-timeline/vertical-timeline.component.d.ts +0 -21
  1964. package/components/timeline/components/vertical-timeline/vertical-timeline.module.d.ts +0 -2
  1965. package/components/timeline/index.d.ts +0 -3
  1966. package/components/timeline/models/index.d.ts +0 -3
  1967. package/components/timeline/models/timeline-item.d.ts +0 -27
  1968. package/components/timeline/timeline.component.d.ts +0 -20
  1969. package/components/timeline/timeline.module.d.ts +0 -2
  1970. package/components/toast/index.d.ts +0 -3
  1971. package/components/toast/toast.component.d.ts +0 -12
  1972. package/components/toast/toast.module.d.ts +0 -2
  1973. package/components/toast/toast.service.d.ts +0 -12
  1974. package/components/toast/types/toast.d.ts +0 -16
  1975. package/components/token-list/index.d.ts +0 -3
  1976. package/components/token-list/models/index.d.ts +0 -1
  1977. package/components/token-list/token-list.component.d.ts +0 -13
  1978. package/components/token-list/token-list.module.d.ts +0 -2
  1979. package/components/tooltip/index.d.ts +0 -2
  1980. package/components/tooltip/models/index.d.ts +0 -3
  1981. package/components/tooltip/models/mobile-behavior.d.ts +0 -4
  1982. package/components/tooltip/models/tooltip-event.d.ts +0 -4
  1983. package/components/tooltip/models/tooltip-position.d.ts +0 -6
  1984. package/components/tooltip/tooltip.component.d.ts +0 -9
  1985. package/components/tooltip/tooltip.directive.d.ts +0 -57
  1986. package/components/tooltip/tooltip.module.d.ts +0 -2
  1987. package/components/tree/Models/tree.models.d.ts +0 -28
  1988. package/components/tree/components/tree-node-item/tree-node-item.component.d.ts +0 -35
  1989. package/components/tree/index.d.ts +0 -3
  1990. package/components/tree/tree.component.d.ts +0 -33
  1991. package/components/tree/tree.module.d.ts +0 -2
  1992. package/components/utils/debouce.d.ts +0 -4
  1993. package/components/utils/export-utils.d.ts +0 -9
  1994. package/components/utils/index.d.ts +0 -5
  1995. package/components/utils/utils.d.ts +0 -25
  1996. package/components/workspace-switch/index.d.ts +0 -3
  1997. package/components/workspace-switch/models/index.d.ts +0 -1
  1998. package/components/workspace-switch/workspace-switch.component.d.ts +0 -30
  1999. package/components/workspace-switch/workspace-switch.module.d.ts +0 -2
  2000. package/esm2015/angular-components.module.js +0 -22
  2001. package/esm2015/components/accessibility-events/accessibility-events.module.js +0 -17
  2002. package/esm2015/components/accessibility-events/directives/accessibility-event.directive.js +0 -61
  2003. package/esm2015/components/accessibility-events/index.js +0 -3
  2004. package/esm2015/components/accordion/accordion.component.js +0 -100
  2005. package/esm2015/components/accordion/accordion.module.js +0 -31
  2006. package/esm2015/components/accordion/components/accordion-panel/accordion-panel.component.js +0 -118
  2007. package/esm2015/components/accordion/index.js +0 -4
  2008. package/esm2015/components/accordion/models/accordion-button-settings.js +0 -1
  2009. package/esm2015/components/accordion/models/accordion-switch-settings.js +0 -1
  2010. package/esm2015/components/alert/alert.component.js +0 -47
  2011. package/esm2015/components/alert/alert.module.js +0 -15
  2012. package/esm2015/components/alert/index.js +0 -3
  2013. package/esm2015/components/badge/badge.component.js +0 -61
  2014. package/esm2015/components/badge/badge.module.js +0 -17
  2015. package/esm2015/components/badge/index.js +0 -4
  2016. package/esm2015/components/badge/models/badge-colors.js +0 -12
  2017. package/esm2015/components/badge/models/badge-types.js +0 -6
  2018. package/esm2015/components/badge/models/index.js +0 -3
  2019. package/esm2015/components/bignumber-input/bignumber-input.directive.js +0 -148
  2020. package/esm2015/components/bignumber-input/bignumber-input.module.js +0 -15
  2021. package/esm2015/components/bignumber-input/index.js +0 -3
  2022. package/esm2015/components/breadcrumb/breadcrumb.component.js +0 -90
  2023. package/esm2015/components/breadcrumb/breadcrumb.module.js +0 -17
  2024. package/esm2015/components/breadcrumb/index.js +0 -3
  2025. package/esm2015/components/button/button.component.js +0 -138
  2026. package/esm2015/components/button/button.module.js +0 -20
  2027. package/esm2015/components/button/index.js +0 -6
  2028. package/esm2015/components/button/models/button-animation.js +0 -5
  2029. package/esm2015/components/button/models/button-badge-config.js +0 -1
  2030. package/esm2015/components/button/models/button-priority.js +0 -9
  2031. package/esm2015/components/button/models/button-size.js +0 -6
  2032. package/esm2015/components/calendar-mask/calendar-mask.directive.js +0 -573
  2033. package/esm2015/components/calendar-mask/calendar-mask.module.js +0 -15
  2034. package/esm2015/components/calendar-mask/index.js +0 -3
  2035. package/esm2015/components/card/card.component.js +0 -73
  2036. package/esm2015/components/card/card.module.js +0 -16
  2037. package/esm2015/components/card/index.js +0 -4
  2038. package/esm2015/components/card/models/card-template-types.js +0 -7
  2039. package/esm2015/components/chat/chat.component.js +0 -32
  2040. package/esm2015/components/chat/chat.module.js +0 -18
  2041. package/esm2015/components/chat/components/chat-message/chat-message.component.js +0 -28
  2042. package/esm2015/components/chat/index.js +0 -3
  2043. package/esm2015/components/chat/types/chat-message.js +0 -1
  2044. package/esm2015/components/checkbox/checkbox.component.js +0 -107
  2045. package/esm2015/components/checkbox/checkbox.module.js +0 -16
  2046. package/esm2015/components/checkbox/index.js +0 -3
  2047. package/esm2015/components/checkbox/models/checkbox-data.js +0 -1
  2048. package/esm2015/components/checkbox/models/checkbox-state.js +0 -1
  2049. package/esm2015/components/checkbox/models/index.js +0 -1
  2050. package/esm2015/components/chips/chip-item/chip-item.component.js +0 -68
  2051. package/esm2015/components/chips/chips/chips.component.js +0 -228
  2052. package/esm2015/components/chips/chips.module.js +0 -24
  2053. package/esm2015/components/chips/index.js +0 -3
  2054. package/esm2015/components/chips/models/chip-models.js +0 -1
  2055. package/esm2015/components/code-editor/code-editor.component.js +0 -116
  2056. package/esm2015/components/code-editor/code-editor.module.js +0 -24
  2057. package/esm2015/components/code-editor/core/facades/core-facade.js +0 -91
  2058. package/esm2015/components/code-editor/core/facades/linter-facade.js +0 -1
  2059. package/esm2015/components/code-editor/core/models/enums/marker-severity.js +0 -7
  2060. package/esm2015/components/code-editor/core/models/index.js +0 -3
  2061. package/esm2015/components/code-editor/core/models/interfaces/marker.js +0 -1
  2062. package/esm2015/components/code-editor/core/use-cases/core-linters.js +0 -9
  2063. package/esm2015/components/code-editor/index.js +0 -5
  2064. package/esm2015/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.js +0 -120
  2065. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.js +0 -17
  2066. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.js +0 -67
  2067. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.js +0 -29
  2068. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.js +0 -29
  2069. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.js +0 -17
  2070. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.js +0 -75
  2071. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.js +0 -4
  2072. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.js +0 -35
  2073. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.js +0 -341
  2074. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.js +0 -34
  2075. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.js +0 -18
  2076. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.js +0 -37
  2077. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.js +0 -10
  2078. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.js +0 -8
  2079. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.js +0 -12
  2080. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.js +0 -36
  2081. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.js +0 -9
  2082. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.js +0 -7
  2083. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.js +0 -1
  2084. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.js +0 -1
  2085. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.js +0 -1
  2086. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.js +0 -1
  2087. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.js +0 -1
  2088. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.js +0 -1
  2089. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.js +0 -1
  2090. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.js +0 -1
  2091. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.js +0 -1
  2092. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.js +0 -1
  2093. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.js +0 -1
  2094. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.js +0 -1
  2095. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.js +0 -1
  2096. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.js +0 -1
  2097. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.js +0 -10
  2098. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.js +0 -9
  2099. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.js +0 -15
  2100. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.js +0 -16
  2101. package/esm2015/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.js +0 -3
  2102. package/esm2015/components/code-editor/infra/cores/codemirror-6/models/index.js +0 -1
  2103. package/esm2015/components/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.js +0 -1
  2104. package/esm2015/components/code-editor/infra/cores/codemirror-6/models/types/editor-theme.js +0 -1
  2105. package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/editor-themes.js +0 -15
  2106. package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.js +0 -61
  2107. package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.js +0 -29
  2108. package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.js +0 -25
  2109. package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.js +0 -18
  2110. package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.js +0 -16
  2111. package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.js +0 -13
  2112. package/esm2015/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.js +0 -22
  2113. package/esm2015/components/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.js +0 -18
  2114. package/esm2015/components/code-editor/infra/cores/codemirror-6/utils/index.js +0 -3
  2115. package/esm2015/components/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.js +0 -6
  2116. package/esm2015/components/code-editor/infra/utils/custom-http-client/custom-http-client.js +0 -80
  2117. package/esm2015/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.js +0 -13
  2118. package/esm2015/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.js +0 -12
  2119. package/esm2015/components/code-editor/infra/utils/custom-http-client/json-response-formatters/index.js +0 -3
  2120. package/esm2015/components/code-editor/infra/utils/custom-translations/custom-translations-service.js +0 -37
  2121. package/esm2015/components/code-editor/infra/utils/custom-translations/custom-translations.module.js +0 -30
  2122. package/esm2015/components/code-editor/infra/utils/custom-translations/index.js +0 -3
  2123. package/esm2015/components/code-editor/infra/utils/custom-translations/models/index.js +0 -1
  2124. package/esm2015/components/code-editor/infra/utils/custom-translations/models/interfaces/translations.js +0 -1
  2125. package/esm2015/components/code-editor/infra/utils/index.js +0 -3
  2126. package/esm2015/components/code-editor/models/enums/languages.js +0 -6
  2127. package/esm2015/components/code-editor/models/enums/themes.js +0 -5
  2128. package/esm2015/components/code-editor/models/index.js +0 -4
  2129. package/esm2015/components/code-editor/models/interfaces/editor-options.js +0 -1
  2130. package/esm2015/components/collapse-link/collapse-link.component.js +0 -73
  2131. package/esm2015/components/collapse-link/collapse-link.module.js +0 -15
  2132. package/esm2015/components/collapse-link/index.js +0 -3
  2133. package/esm2015/components/control-errors/control-errors.component.js +0 -37
  2134. package/esm2015/components/control-errors/control-errors.module.js +0 -16
  2135. package/esm2015/components/control-errors/index.js +0 -3
  2136. package/esm2015/components/country-phone-picker/country-phone-picker.component.js +0 -301
  2137. package/esm2015/components/country-phone-picker/country-phone-picker.module.js +0 -27
  2138. package/esm2015/components/country-phone-picker/country-phone-picker.service.js +0 -43
  2139. package/esm2015/components/country-phone-picker/index.js +0 -5
  2140. package/esm2015/components/country-phone-picker/models/country-phone-data.js +0 -1
  2141. package/esm2015/components/country-phone-picker/models/index.js +0 -2
  2142. package/esm2015/components/country-phone-picker/models/ordination.js +0 -7
  2143. package/esm2015/components/country-phone-picker/models/phone-selection-data.js +0 -1
  2144. package/esm2015/components/country-phone-picker/resources/countries.js +0 -228
  2145. package/esm2015/components/country-phone-picker/resources/index.js +0 -2
  2146. package/esm2015/components/custom-fields/custom-fields.component.js +0 -609
  2147. package/esm2015/components/custom-fields/custom-fields.module.js +0 -30
  2148. package/esm2015/components/custom-fields/custom-fields.service.js +0 -36
  2149. package/esm2015/components/custom-fields/index.js +0 -4
  2150. package/esm2015/components/custom-fields/models/custom-field-type.js +0 -17
  2151. package/esm2015/components/dynamic-form/components/dynamic-field/dynamic-field.component.js +0 -37
  2152. package/esm2015/components/dynamic-form/components/field-label/field-label.component.js +0 -18
  2153. package/esm2015/components/dynamic-form/components/field-label/field-label.module.js +0 -19
  2154. package/esm2015/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.js +0 -32
  2155. package/esm2015/components/dynamic-form/components/fields/base-field-component.js +0 -9
  2156. package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.component.js +0 -113
  2157. package/esm2015/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +0 -32
  2158. package/esm2015/components/dynamic-form/components/fields/boolean/boolean-field.component.js +0 -20
  2159. package/esm2015/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.js +0 -17
  2160. package/esm2015/components/dynamic-form/components/fields/button-field/button-field.component.js +0 -31
  2161. package/esm2015/components/dynamic-form/components/fields/calendar/calendar-field.component.js +0 -106
  2162. package/esm2015/components/dynamic-form/components/fields/checkbox/checkbox-field.component.js +0 -17
  2163. package/esm2015/components/dynamic-form/components/fields/checkbox/checkbox-field.module.js +0 -17
  2164. package/esm2015/components/dynamic-form/components/fields/chips/chips-field.component.js +0 -53
  2165. package/esm2015/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.js +0 -32
  2166. package/esm2015/components/dynamic-form/components/fields/currency/currency-field.component.js +0 -71
  2167. package/esm2015/components/dynamic-form/components/fields/currency/currency-field.module.js +0 -30
  2168. package/esm2015/components/dynamic-form/components/fields/editor/editor-field.component.js +0 -18
  2169. package/esm2015/components/dynamic-form/components/fields/editor/editor-field.module.js +0 -18
  2170. package/esm2015/components/dynamic-form/components/fields/file-upload/file-upload.component.js +0 -51
  2171. package/esm2015/components/dynamic-form/components/fields/index.js +0 -22
  2172. package/esm2015/components/dynamic-form/components/fields/lookup/lookup-field.component.js +0 -17
  2173. package/esm2015/components/dynamic-form/components/fields/number/number-field.component.js +0 -109
  2174. package/esm2015/components/dynamic-form/components/fields/number/number-field.module.js +0 -34
  2175. package/esm2015/components/dynamic-form/components/fields/password/password-field.component.js +0 -77
  2176. package/esm2015/components/dynamic-form/components/fields/password/password-field.module.js +0 -30
  2177. package/esm2015/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.js +0 -17
  2178. package/esm2015/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.js +0 -24
  2179. package/esm2015/components/dynamic-form/components/fields/radio-button/radio-button-field.component.js +0 -60
  2180. package/esm2015/components/dynamic-form/components/fields/select/select-field.component.js +0 -18
  2181. package/esm2015/components/dynamic-form/components/fields/slider/slider-field.component.js +0 -111
  2182. package/esm2015/components/dynamic-form/components/fields/text/text-field.component.js +0 -86
  2183. package/esm2015/components/dynamic-form/components/fields/text/text-field.module.js +0 -32
  2184. package/esm2015/components/dynamic-form/components/fields/text-area/text-area-field.component.js +0 -26
  2185. package/esm2015/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +0 -92
  2186. package/esm2015/components/dynamic-form/components/grid/row/row.component.js +0 -77
  2187. package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +0 -585
  2188. package/esm2015/components/dynamic-form/components/lookup/models/default-filter.js +0 -1
  2189. package/esm2015/components/dynamic-form/components/lookup/models/index.js +0 -1
  2190. package/esm2015/components/dynamic-form/components/structure/base-structure-component.js +0 -1
  2191. package/esm2015/components/dynamic-form/components/structure/fieldset/fieldset.component.js +0 -31
  2192. package/esm2015/components/dynamic-form/components/structure/section/section.component.js +0 -52
  2193. package/esm2015/components/dynamic-form/configurations/addon-config.js +0 -1
  2194. package/esm2015/components/dynamic-form/configurations/dynamic-config.js +0 -71
  2195. package/esm2015/components/dynamic-form/configurations/dynamic-type.js +0 -26
  2196. package/esm2015/components/dynamic-form/configurations/field-size.js +0 -9
  2197. package/esm2015/components/dynamic-form/configurations/field-type.js +0 -32
  2198. package/esm2015/components/dynamic-form/configurations/fields/autocomplete-field.js +0 -11
  2199. package/esm2015/components/dynamic-form/configurations/fields/bignumber-field.js +0 -23
  2200. package/esm2015/components/dynamic-form/configurations/fields/blob-field.js +0 -19
  2201. package/esm2015/components/dynamic-form/configurations/fields/boolean-field.js +0 -21
  2202. package/esm2015/components/dynamic-form/configurations/fields/boolean-switch-field.js +0 -13
  2203. package/esm2015/components/dynamic-form/configurations/fields/button-field.js +0 -30
  2204. package/esm2015/components/dynamic-form/configurations/fields/calendar-field.js +0 -37
  2205. package/esm2015/components/dynamic-form/configurations/fields/checkbox-field.js +0 -8
  2206. package/esm2015/components/dynamic-form/configurations/fields/chips-field.js +0 -17
  2207. package/esm2015/components/dynamic-form/configurations/fields/country-phone-picker-field.js +0 -11
  2208. package/esm2015/components/dynamic-form/configurations/fields/currency-field.js +0 -12
  2209. package/esm2015/components/dynamic-form/configurations/fields/decimal-field.js +0 -14
  2210. package/esm2015/components/dynamic-form/configurations/fields/editor-field.js +0 -11
  2211. package/esm2015/components/dynamic-form/configurations/fields/field.js +0 -41
  2212. package/esm2015/components/dynamic-form/configurations/fields/index.js +0 -22
  2213. package/esm2015/components/dynamic-form/configurations/fields/lookup-field.js +0 -33
  2214. package/esm2015/components/dynamic-form/configurations/fields/number-field.js +0 -23
  2215. package/esm2015/components/dynamic-form/configurations/fields/password-field.js +0 -20
  2216. package/esm2015/components/dynamic-form/configurations/fields/profile-picture.js +0 -21
  2217. package/esm2015/components/dynamic-form/configurations/fields/radio-button-field.js +0 -19
  2218. package/esm2015/components/dynamic-form/configurations/fields/select-field.js +0 -26
  2219. package/esm2015/components/dynamic-form/configurations/fields/slider-field.js +0 -21
  2220. package/esm2015/components/dynamic-form/configurations/fields/text-area-field.js +0 -20
  2221. package/esm2015/components/dynamic-form/configurations/fields/text-area-ia-field.js +0 -21
  2222. package/esm2015/components/dynamic-form/configurations/fields/text-field.js +0 -24
  2223. package/esm2015/components/dynamic-form/configurations/form-field.js +0 -92
  2224. package/esm2015/components/dynamic-form/configurations/grid/grid.js +0 -10
  2225. package/esm2015/components/dynamic-form/configurations/grid/row.js +0 -7
  2226. package/esm2015/components/dynamic-form/configurations/grid-type.js +0 -5
  2227. package/esm2015/components/dynamic-form/configurations/structure/fieldset.js +0 -8
  2228. package/esm2015/components/dynamic-form/configurations/structure/section.js +0 -29
  2229. package/esm2015/components/dynamic-form/configurations/structure/structure.js +0 -7
  2230. package/esm2015/components/dynamic-form/configurations/structure-type.js +0 -6
  2231. package/esm2015/components/dynamic-form/dynamic-form.component.js +0 -32
  2232. package/esm2015/components/dynamic-form/dynamic-form.directive.js +0 -80
  2233. package/esm2015/components/dynamic-form/dynamic-form.js +0 -196
  2234. package/esm2015/components/dynamic-form/dynamic-form.module.js +0 -191
  2235. package/esm2015/components/dynamic-form/index.js +0 -31
  2236. package/esm2015/components/dynamic-form/services/IAssist/iassist.service.js +0 -75
  2237. package/esm2015/components/dynamic-form/services/IAssist/models/iassist-input-data.js +0 -1
  2238. package/esm2015/components/dynamic-form/services/IAssist/models/iassist-response.js +0 -1
  2239. package/esm2015/components/dynamic-form/services/IAssist/models/index.js +0 -1
  2240. package/esm2015/components/editable-overlay/editable-overlay.directive.js +0 -42
  2241. package/esm2015/components/editable-overlay/editable-overlay.module.js +0 -15
  2242. package/esm2015/components/editable-overlay/index.js +0 -3
  2243. package/esm2015/components/empty-state/empty-state.component.js +0 -57
  2244. package/esm2015/components/empty-state/empty-state.module.js +0 -19
  2245. package/esm2015/components/empty-state/go-back/go-back.component.js +0 -37
  2246. package/esm2015/components/empty-state/index.js +0 -3
  2247. package/esm2015/components/fieldset/fieldset.component.js +0 -68
  2248. package/esm2015/components/fieldset/fieldset.models.js +0 -1
  2249. package/esm2015/components/fieldset/fieldset.module.js +0 -16
  2250. package/esm2015/components/fieldset/index.js +0 -3
  2251. package/esm2015/components/file-upload/file-upload.component.js +0 -285
  2252. package/esm2015/components/file-upload/file-upload.module.js +0 -27
  2253. package/esm2015/components/file-upload/file-upload.service.js +0 -19
  2254. package/esm2015/components/file-upload/index.js +0 -4
  2255. package/esm2015/components/file-upload/models/file-dto.js +0 -1
  2256. package/esm2015/components/file-upload/models/file-upload-permissions.js +0 -12
  2257. package/esm2015/components/file-upload/models/index.js +0 -3
  2258. package/esm2015/components/file-upload/models/list-blob-metadata.js +0 -1
  2259. package/esm2015/components/file-upload/models/uploadError.js +0 -1
  2260. package/esm2015/components/file-upload/models/validate-errors.js +0 -8
  2261. package/esm2015/components/gantt/components/gantt/arrow.js +0 -82
  2262. package/esm2015/components/gantt/components/gantt/bar.js +0 -264
  2263. package/esm2015/components/gantt/components/gantt/gantt-options.js +0 -20
  2264. package/esm2015/components/gantt/components/gantt/gantt.js +0 -808
  2265. package/esm2015/components/gantt/components/gantt/popup.js +0 -100
  2266. package/esm2015/components/gantt/components/gantt/utils/date-utils.js +0 -127
  2267. package/esm2015/components/gantt/components/gantt/utils/svg-utils.js +0 -119
  2268. package/esm2015/components/gantt/components/side-table/side-table.component.js +0 -32
  2269. package/esm2015/components/gantt/gantt.component.js +0 -160
  2270. package/esm2015/components/gantt/gantt.module.js +0 -20
  2271. package/esm2015/components/gantt/index.js +0 -4
  2272. package/esm2015/components/gantt/models/index.js +0 -2
  2273. package/esm2015/components/gantt/models/options.js +0 -1
  2274. package/esm2015/components/gantt/models/task.js +0 -1
  2275. package/esm2015/components/gantt/models/view-mode.js +0 -12
  2276. package/esm2015/components/global-search/elements/dropdown/global-search-dropdown-item.component.js +0 -76
  2277. package/esm2015/components/global-search/global-search-size.enum.js +0 -7
  2278. package/esm2015/components/global-search/global-search.component.js +0 -135
  2279. package/esm2015/components/global-search/global-search.module.js +0 -50
  2280. package/esm2015/components/global-search/index.js +0 -5
  2281. package/esm2015/components/grid-menu/components/grid-menu-item/grid-menu-item.component.js +0 -66
  2282. package/esm2015/components/grid-menu/grid-menu.component.js +0 -61
  2283. package/esm2015/components/grid-menu/grid-menu.module.js +0 -17
  2284. package/esm2015/components/grid-menu/index.js +0 -3
  2285. package/esm2015/components/grid-menu/types/grid-menu-item.js +0 -1
  2286. package/esm2015/components/help-popover/help-popover/help-popover.component.js +0 -82
  2287. package/esm2015/components/help-popover/help-popover.directive.js +0 -328
  2288. package/esm2015/components/help-popover/help-popover.module.js +0 -20
  2289. package/esm2015/components/help-popover/index.js +0 -4
  2290. package/esm2015/components/help-popover/models/help-popover.models.js +0 -1
  2291. package/esm2015/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.js +0 -13
  2292. package/esm2015/components/ia-insight/components/ia-insight-card/ia-insight-card.component.js +0 -94
  2293. package/esm2015/components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.js +0 -60
  2294. package/esm2015/components/ia-insight/ia-insight.component.js +0 -82
  2295. package/esm2015/components/ia-insight/ia-insight.module.js +0 -40
  2296. package/esm2015/components/ia-insight/index.js +0 -4
  2297. package/esm2015/components/ia-insight/models/ia-insight-item.js +0 -1
  2298. package/esm2015/components/ia-insight/models/ia-insight-template-types.js +0 -7
  2299. package/esm2015/components/ia-insight/models/index.js +0 -2
  2300. package/esm2015/components/image-cropper/image-cropper.component.js +0 -183
  2301. package/esm2015/components/image-cropper/image-cropper.module.js +0 -20
  2302. package/esm2015/components/image-cropper/image-cropper.service.js +0 -62
  2303. package/esm2015/components/image-cropper/index.js +0 -4
  2304. package/esm2015/components/index.js +0 -77
  2305. package/esm2015/components/infinite-scroll/infinite-scroll.directive.js +0 -30
  2306. package/esm2015/components/infinite-scroll/infinite-scroll.module.js +0 -21
  2307. package/esm2015/components/info-sign/index.js +0 -3
  2308. package/esm2015/components/info-sign/info-sign.component.js +0 -13
  2309. package/esm2015/components/info-sign/info-sign.directive.js +0 -68
  2310. package/esm2015/components/info-sign/info-sign.module.js +0 -24
  2311. package/esm2015/components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.js +0 -51
  2312. package/esm2015/components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.js +0 -30
  2313. package/esm2015/components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.js +0 -75
  2314. package/esm2015/components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.js +0 -30
  2315. package/esm2015/components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.js +0 -30
  2316. package/esm2015/components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.js +0 -30
  2317. package/esm2015/components/inline-edit/components/index.js +0 -8
  2318. package/esm2015/components/inline-edit/components/inline-edit-item/inline-edit-item.component.js +0 -98
  2319. package/esm2015/components/inline-edit/fields/index.js +0 -8
  2320. package/esm2015/components/inline-edit/fields/inline-edit-calendar-field.js +0 -26
  2321. package/esm2015/components/inline-edit/fields/inline-edit-field.js +0 -9
  2322. package/esm2015/components/inline-edit/fields/inline-edit-lookup-field.js +0 -32
  2323. package/esm2015/components/inline-edit/fields/inline-edit-number-field.js +0 -24
  2324. package/esm2015/components/inline-edit/fields/inline-edit-text-area-field.js +0 -11
  2325. package/esm2015/components/inline-edit/fields/inline-edit-text-area-ia-field.js +0 -7
  2326. package/esm2015/components/inline-edit/fields/inline-edit-text-field.js +0 -7
  2327. package/esm2015/components/inline-edit/index.js +0 -4
  2328. package/esm2015/components/inline-edit/inline-edit.component.js +0 -70
  2329. package/esm2015/components/inline-edit/inline-edit.module.js +0 -62
  2330. package/esm2015/components/kanban/components/kanban-column/kanban-column.component.js +0 -96
  2331. package/esm2015/components/kanban/components/kanban-item/kanban-item.component.js +0 -60
  2332. package/esm2015/components/kanban/components/kanban-item-dragging/kanban-item-dragging.component.js +0 -19
  2333. package/esm2015/components/kanban/index.js +0 -4
  2334. package/esm2015/components/kanban/kanban-event.service.js +0 -27
  2335. package/esm2015/components/kanban/kanban.component.js +0 -217
  2336. package/esm2015/components/kanban/kanban.module.js +0 -45
  2337. package/esm2015/components/kanban/models/index.js +0 -2
  2338. package/esm2015/components/kanban/models/kanban-data.js +0 -1
  2339. package/esm2015/components/kanban/models/kanban-template-types.js +0 -9
  2340. package/esm2015/components/label-value/index.js +0 -3
  2341. package/esm2015/components/label-value/label-value.component.js +0 -31
  2342. package/esm2015/components/label-value/label-value.module.js +0 -20
  2343. package/esm2015/components/label-value/types/label-value-configuration.js +0 -1
  2344. package/esm2015/components/loading-state/components/dots-indicator/dots-indicator.components.js +0 -13
  2345. package/esm2015/components/loading-state/components/loading-state-indicators.js +0 -6
  2346. package/esm2015/components/loading-state/components/logo-indicator/logo-indicator.component.js +0 -13
  2347. package/esm2015/components/loading-state/index.js +0 -4
  2348. package/esm2015/components/loading-state/loading-state.component.js +0 -73
  2349. package/esm2015/components/loading-state/loading-state.directive.js +0 -60
  2350. package/esm2015/components/loading-state/loading-state.module.js +0 -31
  2351. package/esm2015/components/locale/index.js +0 -11
  2352. package/esm2015/components/locale/locale.module.js +0 -71
  2353. package/esm2015/components/locale/locale.service.js +0 -89
  2354. package/esm2015/components/locale/options/calendar.js +0 -29
  2355. package/esm2015/components/locale/options/index.js +0 -24
  2356. package/esm2015/components/locale/options/number.js +0 -9
  2357. package/esm2015/components/locale/pipes/localized-bignumber-impure.pipe.js +0 -16
  2358. package/esm2015/components/locale/pipes/localized-bignumber.pipe.js +0 -39
  2359. package/esm2015/components/locale/pipes/localized-currency-impure.pipe.js +0 -19
  2360. package/esm2015/components/locale/pipes/localized-currency.pipe.js +0 -53
  2361. package/esm2015/components/locale/pipes/localized-date-impure.pipe.js +0 -13
  2362. package/esm2015/components/locale/pipes/localized-date.pipe.js +0 -24
  2363. package/esm2015/components/locale/pipes/localized-number.pipe.js +0 -31
  2364. package/esm2015/components/locale/pipes/localized-time-impure.pipe.js +0 -13
  2365. package/esm2015/components/locale/pipes/localized-time.pipe.js +0 -24
  2366. package/esm2015/components/locale/pipes/numeric.pipe.js +0 -28
  2367. package/esm2015/components/locale/services/numeric.service.js +0 -86
  2368. package/esm2015/components/localized-number-input/index.js +0 -3
  2369. package/esm2015/components/localized-number-input/localized-number-input.directive.js +0 -58
  2370. package/esm2015/components/localized-number-input/localized-number-input.module.js +0 -15
  2371. package/esm2015/components/mask/index.js +0 -3
  2372. package/esm2015/components/mask/mask-formatter.module.js +0 -13
  2373. package/esm2015/components/mask/mask-formatter.pipe.js +0 -71
  2374. package/esm2015/components/mouse-events/double-click.directive.js +0 -38
  2375. package/esm2015/components/mouse-events/index.js +0 -4
  2376. package/esm2015/components/mouse-events/long-press.directive.js +0 -49
  2377. package/esm2015/components/mouse-events/mouse-events.module.js +0 -22
  2378. package/esm2015/components/navigation-button/index.js +0 -3
  2379. package/esm2015/components/navigation-button/models/index.js +0 -1
  2380. package/esm2015/components/navigation-button/models/navigation-button-item.js +0 -1
  2381. package/esm2015/components/navigation-button/models/navigation-button-step-changed-info.js +0 -1
  2382. package/esm2015/components/navigation-button/navigation-button.component.js +0 -126
  2383. package/esm2015/components/navigation-button/navigation-button.module.js +0 -17
  2384. package/esm2015/components/number-input/index.js +0 -3
  2385. package/esm2015/components/number-input/number-input.directive.js +0 -162
  2386. package/esm2015/components/number-input/number-input.module.js +0 -18
  2387. package/esm2015/components/object-card/elements/field/object-card-field.component.js +0 -53
  2388. package/esm2015/components/object-card/elements/main/object-card-main.component.js +0 -93
  2389. package/esm2015/components/object-card/index.js +0 -5
  2390. package/esm2015/components/object-card/object-card.component.js +0 -137
  2391. package/esm2015/components/object-card/object-card.module.js +0 -21
  2392. package/esm2015/components/panel/index.js +0 -3
  2393. package/esm2015/components/panel/panel.component.js +0 -84
  2394. package/esm2015/components/panel/panel.module.js +0 -17
  2395. package/esm2015/components/password-strength/index.js +0 -5
  2396. package/esm2015/components/password-strength/models/index.js +0 -3
  2397. package/esm2015/components/password-strength/models/password-positions.js +0 -7
  2398. package/esm2015/components/password-strength/models/password-strengths.js +0 -8
  2399. package/esm2015/components/password-strength/password-strength.component.js +0 -95
  2400. package/esm2015/components/password-strength/password-strength.directive.js +0 -196
  2401. package/esm2015/components/password-strength/password-strength.module.js +0 -19
  2402. package/esm2015/components/picklist/index.js +0 -5
  2403. package/esm2015/components/picklist/picklist/models/picklist-models.js +0 -6
  2404. package/esm2015/components/picklist/picklist/picklist.component.js +0 -305
  2405. package/esm2015/components/picklist/picklist.module.js +0 -25
  2406. package/esm2015/components/product-header/index.js +0 -3
  2407. package/esm2015/components/product-header/product-header.component.js +0 -45
  2408. package/esm2015/components/product-header/product-header.module.js +0 -17
  2409. package/esm2015/components/profile-picture-picker/index.js +0 -4
  2410. package/esm2015/components/profile-picture-picker/models/confirmation-texts.js +0 -1
  2411. package/esm2015/components/profile-picture-picker/models/cropper-labels-config.js +0 -1
  2412. package/esm2015/components/profile-picture-picker/models/file-validation-errors.js +0 -8
  2413. package/esm2015/components/profile-picture-picker/models/index.js +0 -2
  2414. package/esm2015/components/profile-picture-picker/models/profile-picture-picker-data.js +0 -1
  2415. package/esm2015/components/profile-picture-picker/profile-picture-picker.component.js +0 -262
  2416. package/esm2015/components/profile-picture-picker/profile-picture-picker.module.js +0 -33
  2417. package/esm2015/components/progressbar/components/progressbar-determinate/progressbar-determinate.component.js +0 -61
  2418. package/esm2015/components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.js +0 -19
  2419. package/esm2015/components/progressbar/index.js +0 -4
  2420. package/esm2015/components/progressbar/models/index.js +0 -3
  2421. package/esm2015/components/progressbar/models/progressbar-colors.js +0 -8
  2422. package/esm2015/components/progressbar/models/progressbar-mode.js +0 -6
  2423. package/esm2015/components/progressbar/progressbar.component.js +0 -62
  2424. package/esm2015/components/progressbar/progressbar.module.js +0 -21
  2425. package/esm2015/components/rating-scale/index.js +0 -3
  2426. package/esm2015/components/rating-scale/models/index.js +0 -1
  2427. package/esm2015/components/rating-scale/models/rating-scale-node.js +0 -1
  2428. package/esm2015/components/rating-scale/rating-scale.component.js +0 -52
  2429. package/esm2015/components/rating-scale/rating-scale.module.js +0 -19
  2430. package/esm2015/components/select-button/components/select-button-item/select-button-item.component.js +0 -34
  2431. package/esm2015/components/select-button/index.js +0 -3
  2432. package/esm2015/components/select-button/models/index.js +0 -1
  2433. package/esm2015/components/select-button/models/select-button-item.js +0 -1
  2434. package/esm2015/components/select-button/select-button.component.js +0 -114
  2435. package/esm2015/components/select-button/select-button.module.js +0 -19
  2436. package/esm2015/components/shared/border-button/border-button.component.js +0 -26
  2437. package/esm2015/components/shared/border-button/border-button.module.js +0 -16
  2438. package/esm2015/components/shared/helpers.js +0 -30
  2439. package/esm2015/components/shared/index.js +0 -3
  2440. package/esm2015/components/shared/models/border-button-options.js +0 -1
  2441. package/esm2015/components/shared/models/enum-severity.js +0 -9
  2442. package/esm2015/components/sidebar/index.js +0 -3
  2443. package/esm2015/components/sidebar/sidebar.component.js +0 -72
  2444. package/esm2015/components/sidebar/sidebar.module.js +0 -19
  2445. package/esm2015/components/slide-panel/index.js +0 -3
  2446. package/esm2015/components/slide-panel/slide-panel.component.js +0 -140
  2447. package/esm2015/components/slide-panel/slide-panel.module.js +0 -17
  2448. package/esm2015/components/slide-panel/slide-panel.service.js +0 -27
  2449. package/esm2015/components/slider/index.js +0 -3
  2450. package/esm2015/components/slider/slider.component.js +0 -620
  2451. package/esm2015/components/slider/slider.module.js +0 -16
  2452. package/esm2015/components/speech-recognition/speech-recognition/speech-recognition.component.js +0 -224
  2453. package/esm2015/components/speech-recognition/speech-recognition.module.js +0 -19
  2454. package/esm2015/components/speech-recognition/speech-recognition.service.js +0 -151
  2455. package/esm2015/components/speech-recognition/text-to-speech.service.js +0 -84
  2456. package/esm2015/components/split-button/index.js +0 -4
  2457. package/esm2015/components/split-button/models/split-button-option.js +0 -1
  2458. package/esm2015/components/split-button/models/split-button-type.js +0 -7
  2459. package/esm2015/components/split-button/split-button.component.js +0 -68
  2460. package/esm2015/components/split-button/split-button.module.js +0 -15
  2461. package/esm2015/components/stats-card/index.js +0 -3
  2462. package/esm2015/components/stats-card/stats-card.component.js +0 -124
  2463. package/esm2015/components/stats-card/stats-card.module.js +0 -23
  2464. package/esm2015/components/steps/index.js +0 -3
  2465. package/esm2015/components/steps/steps.component.js +0 -97
  2466. package/esm2015/components/steps/steps.module.js +0 -16
  2467. package/esm2015/components/structure/footer.component.js +0 -12
  2468. package/esm2015/components/structure/header.component.js +0 -18
  2469. package/esm2015/components/structure/index.js +0 -4
  2470. package/esm2015/components/structure/structure.module.js +0 -16
  2471. package/esm2015/components/switch/index.js +0 -3
  2472. package/esm2015/components/switch/switch.component.js +0 -92
  2473. package/esm2015/components/switch/switch.module.js +0 -15
  2474. package/esm2015/components/table/frozen-position/frozen-position.directive.js +0 -203
  2475. package/esm2015/components/table/index.js +0 -6
  2476. package/esm2015/components/table/navigation/navigation.directive.js +0 -134
  2477. package/esm2015/components/table/row-toggler/row-toggler.directive.js +0 -36
  2478. package/esm2015/components/table/table-column/index.js +0 -2
  2479. package/esm2015/components/table/table-column/models/badge-column.interface.js +0 -1
  2480. package/esm2015/components/table/table-column/models/badge-configs.interface.js +0 -1
  2481. package/esm2015/components/table/table-column/models/column-colors.js +0 -1
  2482. package/esm2015/components/table/table-column/models/column-values.interface.js +0 -1
  2483. package/esm2015/components/table/table-column/models/column.interface.js +0 -1
  2484. package/esm2015/components/table/table-column/models/dynamic-editable-grid.interface.js +0 -1
  2485. package/esm2015/components/table/table-column/models/enum-badge-colors.js +0 -10
  2486. package/esm2015/components/table/table-column/models/enum-column-field-type.js +0 -13
  2487. package/esm2015/components/table/table-column/models/index.js +0 -3
  2488. package/esm2015/components/table/table-column/models/locale-options.interface.js +0 -1
  2489. package/esm2015/components/table/table-column/models/number-locale-options.interface.js +0 -1
  2490. package/esm2015/components/table/table-column/table-columns.component.js +0 -285
  2491. package/esm2015/components/table/table-paging/index.js +0 -1
  2492. package/esm2015/components/table/table-paging/models/custom-action.interface.js +0 -1
  2493. package/esm2015/components/table/table-paging/models/index.js +0 -1
  2494. package/esm2015/components/table/table-paging/table-paging.component.js +0 -313
  2495. package/esm2015/components/table/table.module.js +0 -45
  2496. package/esm2015/components/table-header/index.js +0 -3
  2497. package/esm2015/components/table-header/table-header-checkbox.component.js +0 -141
  2498. package/esm2015/components/table-header/table-header-checkox.module.js +0 -15
  2499. package/esm2015/components/template/index.js +0 -3
  2500. package/esm2015/components/template/template.directive.js +0 -20
  2501. package/esm2015/components/template/template.module.js +0 -15
  2502. package/esm2015/components/text-area/index.js +0 -3
  2503. package/esm2015/components/text-area/text-area/text-area.component.js +0 -115
  2504. package/esm2015/components/text-area/text-area.module.js +0 -24
  2505. package/esm2015/components/text-area-ia/index.js +0 -3
  2506. package/esm2015/components/text-area-ia/text-area-ia.component.js +0 -144
  2507. package/esm2015/components/text-area-ia/text-area-ia.module.js +0 -32
  2508. package/esm2015/components/thumbnail/index.js +0 -4
  2509. package/esm2015/components/thumbnail/thumbnail-size.js +0 -7
  2510. package/esm2015/components/thumbnail/thumbnail.component.js +0 -80
  2511. package/esm2015/components/thumbnail/thumbnail.module.js +0 -17
  2512. package/esm2015/components/thumbnail/thumbnail.service.js +0 -61
  2513. package/esm2015/components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.js +0 -16
  2514. package/esm2015/components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.js +0 -41
  2515. package/esm2015/components/thumbnails/components/thumbnail-item/thumbnail-item.component.js +0 -66
  2516. package/esm2015/components/thumbnails/index.js +0 -3
  2517. package/esm2015/components/thumbnails/models/thumbnails-item.js +0 -1
  2518. package/esm2015/components/thumbnails/thumbnails.component.js +0 -56
  2519. package/esm2015/components/thumbnails/thumbnails.module.js +0 -21
  2520. package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +0 -283
  2521. package/esm2015/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +0 -13
  2522. package/esm2015/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +0 -76
  2523. package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +0 -178
  2524. package/esm2015/components/tiered-menu/index.js +0 -3
  2525. package/esm2015/components/tiered-menu/models/index.js +0 -1
  2526. package/esm2015/components/tiered-menu/models/tiered-menu-item-data.js +0 -1
  2527. package/esm2015/components/tiered-menu/models/tiered-menu-item-internal-data.js +0 -1
  2528. package/esm2015/components/tiered-menu/services/tiered-menu.event.service.js +0 -18
  2529. package/esm2015/components/tiered-menu/services/tiered-menu.global.service.js +0 -9
  2530. package/esm2015/components/tiered-menu/services/tiered-menu.service.js +0 -51
  2531. package/esm2015/components/tiered-menu/tiered-menu.directive.js +0 -220
  2532. package/esm2015/components/tiered-menu/tiered-menu.module.js +0 -29
  2533. package/esm2015/components/tiered-menu/utils.js +0 -7
  2534. package/esm2015/components/tile/index.js +0 -3
  2535. package/esm2015/components/tile/tile.component.js +0 -71
  2536. package/esm2015/components/tile/tile.module.js +0 -24
  2537. package/esm2015/components/timeline/components/horizontal-timeline/horizontal-timeline.component.js +0 -25
  2538. package/esm2015/components/timeline/components/horizontal-timeline/horizontal-timeline.module.js +0 -21
  2539. package/esm2015/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +0 -25
  2540. package/esm2015/components/timeline/components/timeline-icon-item/timeline-icon-item.module.js +0 -19
  2541. package/esm2015/components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.js +0 -26
  2542. package/esm2015/components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.js +0 -35
  2543. package/esm2015/components/timeline/components/vertical-timeline/components/range-line/range-line.component.js +0 -13
  2544. package/esm2015/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.js +0 -28
  2545. package/esm2015/components/timeline/components/vertical-timeline/vertical-timeline.component.js +0 -53
  2546. package/esm2015/components/timeline/components/vertical-timeline/vertical-timeline.module.js +0 -29
  2547. package/esm2015/components/timeline/index.js +0 -4
  2548. package/esm2015/components/timeline/models/index.js +0 -4
  2549. package/esm2015/components/timeline/models/timeline-item-severity.js +0 -7
  2550. package/esm2015/components/timeline/models/timeline-item-size.js +0 -6
  2551. package/esm2015/components/timeline/models/timeline-item.js +0 -37
  2552. package/esm2015/components/timeline/timeline.component.js +0 -66
  2553. package/esm2015/components/timeline/timeline.module.js +0 -27
  2554. package/esm2015/components/toast/index.js +0 -4
  2555. package/esm2015/components/toast/toast.component.js +0 -51
  2556. package/esm2015/components/toast/toast.module.js +0 -14
  2557. package/esm2015/components/toast/toast.service.js +0 -68
  2558. package/esm2015/components/toast/types/toast.js +0 -1
  2559. package/esm2015/components/token-list/index.js +0 -3
  2560. package/esm2015/components/token-list/models/index.js +0 -1
  2561. package/esm2015/components/token-list/models/token.js +0 -1
  2562. package/esm2015/components/token-list/token-list.component.js +0 -50
  2563. package/esm2015/components/token-list/token-list.module.js +0 -15
  2564. package/esm2015/components/tooltip/index.js +0 -3
  2565. package/esm2015/components/tooltip/models/index.js +0 -4
  2566. package/esm2015/components/tooltip/models/mobile-behavior.js +0 -6
  2567. package/esm2015/components/tooltip/models/tooltip-event.js +0 -6
  2568. package/esm2015/components/tooltip/models/tooltip-position.js +0 -8
  2569. package/esm2015/components/tooltip/tooltip.component.js +0 -21
  2570. package/esm2015/components/tooltip/tooltip.directive.js +0 -331
  2571. package/esm2015/components/tooltip/tooltip.module.js +0 -19
  2572. package/esm2015/components/tree/Models/tree.models.js +0 -1
  2573. package/esm2015/components/tree/components/tree-node-item/tree-node-item.component.js +0 -154
  2574. package/esm2015/components/tree/index.js +0 -3
  2575. package/esm2015/components/tree/tree.component.js +0 -254
  2576. package/esm2015/components/tree/tree.module.js +0 -20
  2577. package/esm2015/components/utils/breakpoints.js +0 -11
  2578. package/esm2015/components/utils/debouce.js +0 -35
  2579. package/esm2015/components/utils/export-utils.js +0 -89
  2580. package/esm2015/components/utils/index.js +0 -6
  2581. package/esm2015/components/utils/locale-utils.js +0 -15
  2582. package/esm2015/components/utils/utils.js +0 -44
  2583. package/esm2015/components/workspace-switch/index.js +0 -3
  2584. package/esm2015/components/workspace-switch/models/index.js +0 -1
  2585. package/esm2015/components/workspace-switch/models/workspace.js +0 -1
  2586. package/esm2015/components/workspace-switch/workspace-switch.component.js +0 -143
  2587. package/esm2015/components/workspace-switch/workspace-switch.module.js +0 -15
  2588. package/esm2015/locale/fallback.js +0 -333
  2589. package/esm2015/public-api.js +0 -5
  2590. package/esm2015/seniorsistemas-angular-components.js +0 -117
  2591. package/esm2015/utils/currency/currency.service.js +0 -189
  2592. package/esm2015/utils/currency/index.js +0 -2
  2593. package/esm2015/utils/index.js +0 -3
  2594. package/esm2015/utils/svg-factory/components/iassist-icon/iassist-icon.component.js +0 -11
  2595. package/esm2015/utils/svg-factory/components/senior-icon/senior-icon.component.js +0 -11
  2596. package/esm2015/utils/svg-factory/components/svg-factory-icons.js +0 -6
  2597. package/esm2015/utils/svg-factory/index.js +0 -3
  2598. package/esm2015/utils/svg-factory/svg-factory.directive.js +0 -49
  2599. package/esm2015/utils/svg-factory/svg-factory.module.js +0 -21
  2600. package/esm5/angular-components.module.js +0 -26
  2601. package/esm5/components/accessibility-events/accessibility-events.module.js +0 -20
  2602. package/esm5/components/accessibility-events/directives/accessibility-event.directive.js +0 -67
  2603. package/esm5/components/accessibility-events/index.js +0 -3
  2604. package/esm5/components/accordion/accordion.component.js +0 -115
  2605. package/esm5/components/accordion/accordion.module.js +0 -34
  2606. package/esm5/components/accordion/components/accordion-panel/accordion-panel.component.js +0 -124
  2607. package/esm5/components/accordion/index.js +0 -4
  2608. package/esm5/components/accordion/models/accordion-button-settings.js +0 -1
  2609. package/esm5/components/accordion/models/accordion-switch-settings.js +0 -1
  2610. package/esm5/components/alert/alert.component.js +0 -52
  2611. package/esm5/components/alert/alert.module.js +0 -18
  2612. package/esm5/components/alert/index.js +0 -3
  2613. package/esm5/components/badge/badge.component.js +0 -62
  2614. package/esm5/components/badge/badge.module.js +0 -20
  2615. package/esm5/components/badge/index.js +0 -4
  2616. package/esm5/components/badge/models/badge-colors.js +0 -12
  2617. package/esm5/components/badge/models/badge-types.js +0 -6
  2618. package/esm5/components/badge/models/index.js +0 -3
  2619. package/esm5/components/bignumber-input/bignumber-input.directive.js +0 -153
  2620. package/esm5/components/bignumber-input/bignumber-input.module.js +0 -18
  2621. package/esm5/components/bignumber-input/index.js +0 -3
  2622. package/esm5/components/breadcrumb/breadcrumb.component.js +0 -95
  2623. package/esm5/components/breadcrumb/breadcrumb.module.js +0 -20
  2624. package/esm5/components/breadcrumb/index.js +0 -3
  2625. package/esm5/components/button/button.component.js +0 -141
  2626. package/esm5/components/button/button.module.js +0 -23
  2627. package/esm5/components/button/index.js +0 -6
  2628. package/esm5/components/button/models/button-animation.js +0 -5
  2629. package/esm5/components/button/models/button-badge-config.js +0 -1
  2630. package/esm5/components/button/models/button-priority.js +0 -9
  2631. package/esm5/components/button/models/button-size.js +0 -6
  2632. package/esm5/components/calendar-mask/calendar-mask.directive.js +0 -584
  2633. package/esm5/components/calendar-mask/calendar-mask.module.js +0 -18
  2634. package/esm5/components/calendar-mask/index.js +0 -3
  2635. package/esm5/components/card/card.component.js +0 -79
  2636. package/esm5/components/card/card.module.js +0 -19
  2637. package/esm5/components/card/index.js +0 -4
  2638. package/esm5/components/card/models/card-template-types.js +0 -7
  2639. package/esm5/components/chat/chat.component.js +0 -34
  2640. package/esm5/components/chat/chat.module.js +0 -21
  2641. package/esm5/components/chat/components/chat-message/chat-message.component.js +0 -29
  2642. package/esm5/components/chat/index.js +0 -3
  2643. package/esm5/components/chat/types/chat-message.js +0 -1
  2644. package/esm5/components/checkbox/checkbox.component.js +0 -116
  2645. package/esm5/components/checkbox/checkbox.module.js +0 -19
  2646. package/esm5/components/checkbox/index.js +0 -3
  2647. package/esm5/components/checkbox/models/checkbox-data.js +0 -1
  2648. package/esm5/components/checkbox/models/checkbox-state.js +0 -1
  2649. package/esm5/components/checkbox/models/index.js +0 -1
  2650. package/esm5/components/chips/chip-item/chip-item.component.js +0 -77
  2651. package/esm5/components/chips/chips/chips.component.js +0 -235
  2652. package/esm5/components/chips/chips.module.js +0 -27
  2653. package/esm5/components/chips/index.js +0 -3
  2654. package/esm5/components/chips/models/chip-models.js +0 -1
  2655. package/esm5/components/code-editor/code-editor.component.js +0 -131
  2656. package/esm5/components/code-editor/code-editor.module.js +0 -27
  2657. package/esm5/components/code-editor/core/facades/core-facade.js +0 -102
  2658. package/esm5/components/code-editor/core/facades/linter-facade.js +0 -1
  2659. package/esm5/components/code-editor/core/models/enums/marker-severity.js +0 -7
  2660. package/esm5/components/code-editor/core/models/index.js +0 -3
  2661. package/esm5/components/code-editor/core/models/interfaces/marker.js +0 -1
  2662. package/esm5/components/code-editor/core/use-cases/core-linters.js +0 -13
  2663. package/esm5/components/code-editor/index.js +0 -5
  2664. package/esm5/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.js +0 -132
  2665. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.js +0 -21
  2666. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.js +0 -25
  2667. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.js +0 -29
  2668. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.js +0 -29
  2669. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.js +0 -17
  2670. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.js +0 -68
  2671. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.js +0 -4
  2672. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.js +0 -35
  2673. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.js +0 -355
  2674. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.js +0 -46
  2675. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.js +0 -19
  2676. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.js +0 -2
  2677. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.js +0 -10
  2678. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.js +0 -8
  2679. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.js +0 -12
  2680. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.js +0 -36
  2681. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.js +0 -9
  2682. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.js +0 -7
  2683. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.js +0 -1
  2684. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.js +0 -1
  2685. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.js +0 -1
  2686. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.js +0 -1
  2687. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.js +0 -1
  2688. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.js +0 -1
  2689. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.js +0 -1
  2690. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.js +0 -1
  2691. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.js +0 -1
  2692. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.js +0 -1
  2693. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.js +0 -1
  2694. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.js +0 -1
  2695. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/safe-http-communication.js +0 -1
  2696. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.js +0 -1
  2697. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.js +0 -14
  2698. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.js +0 -9
  2699. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.js +0 -15
  2700. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.js +0 -27
  2701. package/esm5/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.js +0 -3
  2702. package/esm5/components/code-editor/infra/cores/codemirror-6/models/index.js +0 -1
  2703. package/esm5/components/code-editor/infra/cores/codemirror-6/models/types/diagnostic-severity.js +0 -1
  2704. package/esm5/components/code-editor/infra/cores/codemirror-6/models/types/editor-theme.js +0 -1
  2705. package/esm5/components/code-editor/infra/cores/codemirror-6/themes/editor-themes.js +0 -19
  2706. package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.js +0 -61
  2707. package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.js +0 -30
  2708. package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.js +0 -25
  2709. package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.js +0 -18
  2710. package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.js +0 -16
  2711. package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.js +0 -13
  2712. package/esm5/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.js +0 -22
  2713. package/esm5/components/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.js +0 -18
  2714. package/esm5/components/code-editor/infra/cores/codemirror-6/utils/index.js +0 -3
  2715. package/esm5/components/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.js +0 -6
  2716. package/esm5/components/code-editor/infra/utils/custom-http-client/custom-http-client.js +0 -126
  2717. package/esm5/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.js +0 -21
  2718. package/esm5/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.js +0 -14
  2719. package/esm5/components/code-editor/infra/utils/custom-http-client/json-response-formatters/index.js +0 -3
  2720. package/esm5/components/code-editor/infra/utils/custom-translations/custom-translations-service.js +0 -41
  2721. package/esm5/components/code-editor/infra/utils/custom-translations/custom-translations.module.js +0 -31
  2722. package/esm5/components/code-editor/infra/utils/custom-translations/index.js +0 -3
  2723. package/esm5/components/code-editor/infra/utils/custom-translations/models/index.js +0 -1
  2724. package/esm5/components/code-editor/infra/utils/custom-translations/models/interfaces/translations.js +0 -1
  2725. package/esm5/components/code-editor/infra/utils/index.js +0 -3
  2726. package/esm5/components/code-editor/models/enums/languages.js +0 -6
  2727. package/esm5/components/code-editor/models/enums/themes.js +0 -5
  2728. package/esm5/components/code-editor/models/index.js +0 -4
  2729. package/esm5/components/code-editor/models/interfaces/editor-options.js +0 -1
  2730. package/esm5/components/collapse-link/collapse-link.component.js +0 -75
  2731. package/esm5/components/collapse-link/collapse-link.module.js +0 -18
  2732. package/esm5/components/collapse-link/index.js +0 -3
  2733. package/esm5/components/control-errors/control-errors.component.js +0 -40
  2734. package/esm5/components/control-errors/control-errors.module.js +0 -19
  2735. package/esm5/components/control-errors/index.js +0 -3
  2736. package/esm5/components/country-phone-picker/country-phone-picker.component.js +0 -327
  2737. package/esm5/components/country-phone-picker/country-phone-picker.module.js +0 -30
  2738. package/esm5/components/country-phone-picker/country-phone-picker.service.js +0 -46
  2739. package/esm5/components/country-phone-picker/index.js +0 -5
  2740. package/esm5/components/country-phone-picker/models/country-phone-data.js +0 -1
  2741. package/esm5/components/country-phone-picker/models/index.js +0 -2
  2742. package/esm5/components/country-phone-picker/models/ordination.js +0 -7
  2743. package/esm5/components/country-phone-picker/models/phone-selection-data.js +0 -1
  2744. package/esm5/components/country-phone-picker/resources/countries.js +0 -228
  2745. package/esm5/components/country-phone-picker/resources/index.js +0 -2
  2746. package/esm5/components/custom-fields/custom-fields.component.js +0 -649
  2747. package/esm5/components/custom-fields/custom-fields.module.js +0 -33
  2748. package/esm5/components/custom-fields/custom-fields.service.js +0 -37
  2749. package/esm5/components/custom-fields/index.js +0 -4
  2750. package/esm5/components/custom-fields/models/custom-field-type.js +0 -17
  2751. package/esm5/components/dynamic-form/components/dynamic-field/dynamic-field.component.js +0 -38
  2752. package/esm5/components/dynamic-form/components/field-label/field-label.component.js +0 -21
  2753. package/esm5/components/dynamic-form/components/field-label/field-label.module.js +0 -22
  2754. package/esm5/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.js +0 -33
  2755. package/esm5/components/dynamic-form/components/fields/base-field-component.js +0 -13
  2756. package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.component.js +0 -122
  2757. package/esm5/components/dynamic-form/components/fields/bignumber/bignumber-field.module.js +0 -35
  2758. package/esm5/components/dynamic-form/components/fields/boolean/boolean-field.component.js +0 -23
  2759. package/esm5/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.js +0 -20
  2760. package/esm5/components/dynamic-form/components/fields/button-field/button-field.component.js +0 -34
  2761. package/esm5/components/dynamic-form/components/fields/calendar/calendar-field.component.js +0 -107
  2762. package/esm5/components/dynamic-form/components/fields/checkbox/checkbox-field.component.js +0 -20
  2763. package/esm5/components/dynamic-form/components/fields/checkbox/checkbox-field.module.js +0 -20
  2764. package/esm5/components/dynamic-form/components/fields/chips/chips-field.component.js +0 -55
  2765. package/esm5/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.js +0 -33
  2766. package/esm5/components/dynamic-form/components/fields/currency/currency-field.component.js +0 -75
  2767. package/esm5/components/dynamic-form/components/fields/currency/currency-field.module.js +0 -33
  2768. package/esm5/components/dynamic-form/components/fields/editor/editor-field.component.js +0 -23
  2769. package/esm5/components/dynamic-form/components/fields/editor/editor-field.module.js +0 -21
  2770. package/esm5/components/dynamic-form/components/fields/file-upload/file-upload.component.js +0 -55
  2771. package/esm5/components/dynamic-form/components/fields/index.js +0 -22
  2772. package/esm5/components/dynamic-form/components/fields/lookup/lookup-field.component.js +0 -20
  2773. package/esm5/components/dynamic-form/components/fields/number/number-field.component.js +0 -122
  2774. package/esm5/components/dynamic-form/components/fields/number/number-field.module.js +0 -37
  2775. package/esm5/components/dynamic-form/components/fields/password/password-field.component.js +0 -79
  2776. package/esm5/components/dynamic-form/components/fields/password/password-field.module.js +0 -33
  2777. package/esm5/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.js +0 -20
  2778. package/esm5/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.js +0 -27
  2779. package/esm5/components/dynamic-form/components/fields/radio-button/radio-button-field.component.js +0 -51
  2780. package/esm5/components/dynamic-form/components/fields/select/select-field.component.js +0 -23
  2781. package/esm5/components/dynamic-form/components/fields/slider/slider-field.component.js +0 -123
  2782. package/esm5/components/dynamic-form/components/fields/text/text-field.component.js +0 -94
  2783. package/esm5/components/dynamic-form/components/fields/text/text-field.module.js +0 -35
  2784. package/esm5/components/dynamic-form/components/fields/text-area/text-area-field.component.js +0 -27
  2785. package/esm5/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +0 -94
  2786. package/esm5/components/dynamic-form/components/grid/row/row.component.js +0 -37
  2787. package/esm5/components/dynamic-form/components/lookup/lookup.component.js +0 -598
  2788. package/esm5/components/dynamic-form/components/lookup/models/default-filter.js +0 -1
  2789. package/esm5/components/dynamic-form/components/lookup/models/index.js +0 -1
  2790. package/esm5/components/dynamic-form/components/structure/base-structure-component.js +0 -1
  2791. package/esm5/components/dynamic-form/components/structure/fieldset/fieldset.component.js +0 -26
  2792. package/esm5/components/dynamic-form/components/structure/section/section.component.js +0 -44
  2793. package/esm5/components/dynamic-form/configurations/addon-config.js +0 -1
  2794. package/esm5/components/dynamic-form/configurations/dynamic-config.js +0 -73
  2795. package/esm5/components/dynamic-form/configurations/dynamic-type.js +0 -26
  2796. package/esm5/components/dynamic-form/configurations/field-size.js +0 -12
  2797. package/esm5/components/dynamic-form/configurations/field-type.js +0 -32
  2798. package/esm5/components/dynamic-form/configurations/fields/autocomplete-field.js +0 -16
  2799. package/esm5/components/dynamic-form/configurations/fields/bignumber-field.js +0 -28
  2800. package/esm5/components/dynamic-form/configurations/fields/blob-field.js +0 -24
  2801. package/esm5/components/dynamic-form/configurations/fields/boolean-field.js +0 -28
  2802. package/esm5/components/dynamic-form/configurations/fields/boolean-switch-field.js +0 -18
  2803. package/esm5/components/dynamic-form/configurations/fields/button-field.js +0 -35
  2804. package/esm5/components/dynamic-form/configurations/fields/calendar-field.js +0 -42
  2805. package/esm5/components/dynamic-form/configurations/fields/checkbox-field.js +0 -13
  2806. package/esm5/components/dynamic-form/configurations/fields/chips-field.js +0 -22
  2807. package/esm5/components/dynamic-form/configurations/fields/country-phone-picker-field.js +0 -16
  2808. package/esm5/components/dynamic-form/configurations/fields/currency-field.js +0 -17
  2809. package/esm5/components/dynamic-form/configurations/fields/decimal-field.js +0 -19
  2810. package/esm5/components/dynamic-form/configurations/fields/editor-field.js +0 -16
  2811. package/esm5/components/dynamic-form/configurations/fields/field.js +0 -49
  2812. package/esm5/components/dynamic-form/configurations/fields/index.js +0 -22
  2813. package/esm5/components/dynamic-form/configurations/fields/lookup-field.js +0 -51
  2814. package/esm5/components/dynamic-form/configurations/fields/number-field.js +0 -28
  2815. package/esm5/components/dynamic-form/configurations/fields/password-field.js +0 -25
  2816. package/esm5/components/dynamic-form/configurations/fields/profile-picture.js +0 -26
  2817. package/esm5/components/dynamic-form/configurations/fields/radio-button-field.js +0 -26
  2818. package/esm5/components/dynamic-form/configurations/fields/select-field.js +0 -33
  2819. package/esm5/components/dynamic-form/configurations/fields/slider-field.js +0 -26
  2820. package/esm5/components/dynamic-form/configurations/fields/text-area-field.js +0 -25
  2821. package/esm5/components/dynamic-form/configurations/fields/text-area-ia-field.js +0 -26
  2822. package/esm5/components/dynamic-form/configurations/fields/text-field.js +0 -29
  2823. package/esm5/components/dynamic-form/configurations/form-field.js +0 -96
  2824. package/esm5/components/dynamic-form/configurations/grid/grid.js +0 -13
  2825. package/esm5/components/dynamic-form/configurations/grid/row.js +0 -11
  2826. package/esm5/components/dynamic-form/configurations/grid-type.js +0 -5
  2827. package/esm5/components/dynamic-form/configurations/structure/fieldset.js +0 -13
  2828. package/esm5/components/dynamic-form/configurations/structure/section.js +0 -34
  2829. package/esm5/components/dynamic-form/configurations/structure/structure.js +0 -10
  2830. package/esm5/components/dynamic-form/configurations/structure-type.js +0 -6
  2831. package/esm5/components/dynamic-form/dynamic-form.component.js +0 -33
  2832. package/esm5/components/dynamic-form/dynamic-form.directive.js +0 -85
  2833. package/esm5/components/dynamic-form/dynamic-form.js +0 -215
  2834. package/esm5/components/dynamic-form/dynamic-form.module.js +0 -194
  2835. package/esm5/components/dynamic-form/index.js +0 -31
  2836. package/esm5/components/dynamic-form/services/IAssist/iassist.service.js +0 -58
  2837. package/esm5/components/dynamic-form/services/IAssist/models/iassist-input-data.js +0 -1
  2838. package/esm5/components/dynamic-form/services/IAssist/models/iassist-response.js +0 -1
  2839. package/esm5/components/dynamic-form/services/IAssist/models/index.js +0 -1
  2840. package/esm5/components/editable-overlay/editable-overlay.directive.js +0 -45
  2841. package/esm5/components/editable-overlay/editable-overlay.module.js +0 -18
  2842. package/esm5/components/editable-overlay/index.js +0 -3
  2843. package/esm5/components/empty-state/empty-state.component.js +0 -59
  2844. package/esm5/components/empty-state/empty-state.module.js +0 -22
  2845. package/esm5/components/empty-state/go-back/go-back.component.js +0 -38
  2846. package/esm5/components/empty-state/index.js +0 -3
  2847. package/esm5/components/fieldset/fieldset.component.js +0 -69
  2848. package/esm5/components/fieldset/fieldset.models.js +0 -1
  2849. package/esm5/components/fieldset/fieldset.module.js +0 -19
  2850. package/esm5/components/fieldset/index.js +0 -3
  2851. package/esm5/components/file-upload/file-upload.component.js +0 -304
  2852. package/esm5/components/file-upload/file-upload.module.js +0 -30
  2853. package/esm5/components/file-upload/file-upload.service.js +0 -22
  2854. package/esm5/components/file-upload/index.js +0 -4
  2855. package/esm5/components/file-upload/models/file-dto.js +0 -1
  2856. package/esm5/components/file-upload/models/file-upload-permissions.js +0 -12
  2857. package/esm5/components/file-upload/models/index.js +0 -3
  2858. package/esm5/components/file-upload/models/list-blob-metadata.js +0 -1
  2859. package/esm5/components/file-upload/models/uploadError.js +0 -1
  2860. package/esm5/components/file-upload/models/validate-errors.js +0 -8
  2861. package/esm5/components/gantt/components/gantt/arrow.js +0 -81
  2862. package/esm5/components/gantt/components/gantt/bar.js +0 -299
  2863. package/esm5/components/gantt/components/gantt/gantt-options.js +0 -20
  2864. package/esm5/components/gantt/components/gantt/gantt.js +0 -924
  2865. package/esm5/components/gantt/components/gantt/popup.js +0 -84
  2866. package/esm5/components/gantt/components/gantt/utils/date-utils.js +0 -135
  2867. package/esm5/components/gantt/components/gantt/utils/svg-utils.js +0 -121
  2868. package/esm5/components/gantt/components/side-table/side-table.component.js +0 -33
  2869. package/esm5/components/gantt/gantt.component.js +0 -162
  2870. package/esm5/components/gantt/gantt.module.js +0 -23
  2871. package/esm5/components/gantt/index.js +0 -4
  2872. package/esm5/components/gantt/models/index.js +0 -2
  2873. package/esm5/components/gantt/models/options.js +0 -1
  2874. package/esm5/components/gantt/models/task.js +0 -1
  2875. package/esm5/components/gantt/models/view-mode.js +0 -12
  2876. package/esm5/components/global-search/elements/dropdown/global-search-dropdown-item.component.js +0 -78
  2877. package/esm5/components/global-search/global-search-size.enum.js +0 -7
  2878. package/esm5/components/global-search/global-search.component.js +0 -137
  2879. package/esm5/components/global-search/global-search.module.js +0 -53
  2880. package/esm5/components/global-search/index.js +0 -5
  2881. package/esm5/components/grid-menu/components/grid-menu-item/grid-menu-item.component.js +0 -79
  2882. package/esm5/components/grid-menu/grid-menu.component.js +0 -66
  2883. package/esm5/components/grid-menu/grid-menu.module.js +0 -20
  2884. package/esm5/components/grid-menu/index.js +0 -3
  2885. package/esm5/components/grid-menu/types/grid-menu-item.js +0 -1
  2886. package/esm5/components/help-popover/help-popover/help-popover.component.js +0 -115
  2887. package/esm5/components/help-popover/help-popover.directive.js +0 -348
  2888. package/esm5/components/help-popover/help-popover.module.js +0 -23
  2889. package/esm5/components/help-popover/index.js +0 -4
  2890. package/esm5/components/help-popover/models/help-popover.models.js +0 -1
  2891. package/esm5/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.js +0 -16
  2892. package/esm5/components/ia-insight/components/ia-insight-card/ia-insight-card.component.js +0 -96
  2893. package/esm5/components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.js +0 -61
  2894. package/esm5/components/ia-insight/ia-insight.component.js +0 -83
  2895. package/esm5/components/ia-insight/ia-insight.module.js +0 -43
  2896. package/esm5/components/ia-insight/index.js +0 -4
  2897. package/esm5/components/ia-insight/models/ia-insight-item.js +0 -1
  2898. package/esm5/components/ia-insight/models/ia-insight-template-types.js +0 -7
  2899. package/esm5/components/ia-insight/models/index.js +0 -2
  2900. package/esm5/components/image-cropper/image-cropper.component.js +0 -185
  2901. package/esm5/components/image-cropper/image-cropper.module.js +0 -23
  2902. package/esm5/components/image-cropper/image-cropper.service.js +0 -70
  2903. package/esm5/components/image-cropper/index.js +0 -4
  2904. package/esm5/components/index.js +0 -77
  2905. package/esm5/components/infinite-scroll/infinite-scroll.directive.js +0 -31
  2906. package/esm5/components/infinite-scroll/infinite-scroll.module.js +0 -24
  2907. package/esm5/components/info-sign/index.js +0 -3
  2908. package/esm5/components/info-sign/info-sign.component.js +0 -16
  2909. package/esm5/components/info-sign/info-sign.directive.js +0 -69
  2910. package/esm5/components/info-sign/info-sign.module.js +0 -27
  2911. package/esm5/components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.js +0 -53
  2912. package/esm5/components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.js +0 -33
  2913. package/esm5/components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.js +0 -99
  2914. package/esm5/components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.js +0 -33
  2915. package/esm5/components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.js +0 -33
  2916. package/esm5/components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.js +0 -33
  2917. package/esm5/components/inline-edit/components/index.js +0 -8
  2918. package/esm5/components/inline-edit/components/inline-edit-item/inline-edit-item.component.js +0 -112
  2919. package/esm5/components/inline-edit/fields/index.js +0 -8
  2920. package/esm5/components/inline-edit/fields/inline-edit-calendar-field.js +0 -31
  2921. package/esm5/components/inline-edit/fields/inline-edit-field.js +0 -11
  2922. package/esm5/components/inline-edit/fields/inline-edit-lookup-field.js +0 -50
  2923. package/esm5/components/inline-edit/fields/inline-edit-number-field.js +0 -29
  2924. package/esm5/components/inline-edit/fields/inline-edit-text-area-field.js +0 -16
  2925. package/esm5/components/inline-edit/fields/inline-edit-text-area-ia-field.js +0 -11
  2926. package/esm5/components/inline-edit/fields/inline-edit-text-field.js +0 -11
  2927. package/esm5/components/inline-edit/index.js +0 -4
  2928. package/esm5/components/inline-edit/inline-edit.component.js +0 -84
  2929. package/esm5/components/inline-edit/inline-edit.module.js +0 -65
  2930. package/esm5/components/kanban/components/kanban-column/kanban-column.component.js +0 -99
  2931. package/esm5/components/kanban/components/kanban-item/kanban-item.component.js +0 -62
  2932. package/esm5/components/kanban/components/kanban-item-dragging/kanban-item-dragging.component.js +0 -20
  2933. package/esm5/components/kanban/index.js +0 -4
  2934. package/esm5/components/kanban/kanban-event.service.js +0 -28
  2935. package/esm5/components/kanban/kanban.component.js +0 -221
  2936. package/esm5/components/kanban/kanban.module.js +0 -48
  2937. package/esm5/components/kanban/models/index.js +0 -2
  2938. package/esm5/components/kanban/models/kanban-data.js +0 -1
  2939. package/esm5/components/kanban/models/kanban-template-types.js +0 -9
  2940. package/esm5/components/label-value/index.js +0 -3
  2941. package/esm5/components/label-value/label-value.component.js +0 -34
  2942. package/esm5/components/label-value/label-value.module.js +0 -23
  2943. package/esm5/components/label-value/types/label-value-configuration.js +0 -1
  2944. package/esm5/components/loading-state/components/dots-indicator/dots-indicator.components.js +0 -16
  2945. package/esm5/components/loading-state/components/loading-state-indicators.js +0 -6
  2946. package/esm5/components/loading-state/components/logo-indicator/logo-indicator.component.js +0 -16
  2947. package/esm5/components/loading-state/index.js +0 -4
  2948. package/esm5/components/loading-state/loading-state.component.js +0 -81
  2949. package/esm5/components/loading-state/loading-state.directive.js +0 -65
  2950. package/esm5/components/loading-state/loading-state.module.js +0 -34
  2951. package/esm5/components/locale/index.js +0 -11
  2952. package/esm5/components/locale/locale.module.js +0 -75
  2953. package/esm5/components/locale/locale.service.js +0 -93
  2954. package/esm5/components/locale/options/calendar.js +0 -33
  2955. package/esm5/components/locale/options/index.js +0 -28
  2956. package/esm5/components/locale/options/number.js +0 -12
  2957. package/esm5/components/locale/pipes/localized-bignumber-impure.pipe.js +0 -21
  2958. package/esm5/components/locale/pipes/localized-bignumber.pipe.js +0 -40
  2959. package/esm5/components/locale/pipes/localized-currency-impure.pipe.js +0 -25
  2960. package/esm5/components/locale/pipes/localized-currency.pipe.js +0 -59
  2961. package/esm5/components/locale/pipes/localized-date-impure.pipe.js +0 -18
  2962. package/esm5/components/locale/pipes/localized-date.pipe.js +0 -26
  2963. package/esm5/components/locale/pipes/localized-number.pipe.js +0 -32
  2964. package/esm5/components/locale/pipes/localized-time-impure.pipe.js +0 -18
  2965. package/esm5/components/locale/pipes/localized-time.pipe.js +0 -26
  2966. package/esm5/components/locale/pipes/numeric.pipe.js +0 -32
  2967. package/esm5/components/locale/services/numeric.service.js +0 -87
  2968. package/esm5/components/localized-number-input/index.js +0 -3
  2969. package/esm5/components/localized-number-input/localized-number-input.directive.js +0 -61
  2970. package/esm5/components/localized-number-input/localized-number-input.module.js +0 -18
  2971. package/esm5/components/mask/index.js +0 -3
  2972. package/esm5/components/mask/mask-formatter.module.js +0 -16
  2973. package/esm5/components/mask/mask-formatter.pipe.js +0 -72
  2974. package/esm5/components/mouse-events/double-click.directive.js +0 -40
  2975. package/esm5/components/mouse-events/index.js +0 -4
  2976. package/esm5/components/mouse-events/long-press.directive.js +0 -51
  2977. package/esm5/components/mouse-events/mouse-events.module.js +0 -25
  2978. package/esm5/components/navigation-button/index.js +0 -3
  2979. package/esm5/components/navigation-button/models/index.js +0 -1
  2980. package/esm5/components/navigation-button/models/navigation-button-item.js +0 -1
  2981. package/esm5/components/navigation-button/models/navigation-button-step-changed-info.js +0 -1
  2982. package/esm5/components/navigation-button/navigation-button.component.js +0 -131
  2983. package/esm5/components/navigation-button/navigation-button.module.js +0 -20
  2984. package/esm5/components/number-input/index.js +0 -3
  2985. package/esm5/components/number-input/number-input.directive.js +0 -167
  2986. package/esm5/components/number-input/number-input.module.js +0 -21
  2987. package/esm5/components/object-card/elements/field/object-card-field.component.js +0 -55
  2988. package/esm5/components/object-card/elements/main/object-card-main.component.js +0 -99
  2989. package/esm5/components/object-card/index.js +0 -5
  2990. package/esm5/components/object-card/object-card.component.js +0 -139
  2991. package/esm5/components/object-card/object-card.module.js +0 -24
  2992. package/esm5/components/panel/index.js +0 -3
  2993. package/esm5/components/panel/panel.component.js +0 -85
  2994. package/esm5/components/panel/panel.module.js +0 -20
  2995. package/esm5/components/password-strength/index.js +0 -5
  2996. package/esm5/components/password-strength/models/index.js +0 -3
  2997. package/esm5/components/password-strength/models/password-positions.js +0 -7
  2998. package/esm5/components/password-strength/models/password-strengths.js +0 -8
  2999. package/esm5/components/password-strength/password-strength.component.js +0 -96
  3000. package/esm5/components/password-strength/password-strength.directive.js +0 -197
  3001. package/esm5/components/password-strength/password-strength.module.js +0 -22
  3002. package/esm5/components/picklist/index.js +0 -5
  3003. package/esm5/components/picklist/picklist/models/picklist-models.js +0 -6
  3004. package/esm5/components/picklist/picklist/picklist.component.js +0 -339
  3005. package/esm5/components/picklist/picklist.module.js +0 -28
  3006. package/esm5/components/product-header/index.js +0 -3
  3007. package/esm5/components/product-header/product-header.component.js +0 -47
  3008. package/esm5/components/product-header/product-header.module.js +0 -20
  3009. package/esm5/components/profile-picture-picker/index.js +0 -4
  3010. package/esm5/components/profile-picture-picker/models/confirmation-texts.js +0 -1
  3011. package/esm5/components/profile-picture-picker/models/cropper-labels-config.js +0 -1
  3012. package/esm5/components/profile-picture-picker/models/file-validation-errors.js +0 -8
  3013. package/esm5/components/profile-picture-picker/models/index.js +0 -2
  3014. package/esm5/components/profile-picture-picker/models/profile-picture-picker-data.js +0 -1
  3015. package/esm5/components/profile-picture-picker/profile-picture-picker.component.js +0 -270
  3016. package/esm5/components/profile-picture-picker/profile-picture-picker.module.js +0 -36
  3017. package/esm5/components/progressbar/components/progressbar-determinate/progressbar-determinate.component.js +0 -63
  3018. package/esm5/components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.js +0 -22
  3019. package/esm5/components/progressbar/index.js +0 -4
  3020. package/esm5/components/progressbar/models/index.js +0 -3
  3021. package/esm5/components/progressbar/models/progressbar-colors.js +0 -8
  3022. package/esm5/components/progressbar/models/progressbar-mode.js +0 -6
  3023. package/esm5/components/progressbar/progressbar.component.js +0 -63
  3024. package/esm5/components/progressbar/progressbar.module.js +0 -24
  3025. package/esm5/components/rating-scale/index.js +0 -3
  3026. package/esm5/components/rating-scale/models/index.js +0 -1
  3027. package/esm5/components/rating-scale/models/rating-scale-node.js +0 -1
  3028. package/esm5/components/rating-scale/rating-scale.component.js +0 -54
  3029. package/esm5/components/rating-scale/rating-scale.module.js +0 -22
  3030. package/esm5/components/select-button/components/select-button-item/select-button-item.component.js +0 -35
  3031. package/esm5/components/select-button/index.js +0 -3
  3032. package/esm5/components/select-button/models/index.js +0 -1
  3033. package/esm5/components/select-button/models/select-button-item.js +0 -1
  3034. package/esm5/components/select-button/select-button.component.js +0 -128
  3035. package/esm5/components/select-button/select-button.module.js +0 -22
  3036. package/esm5/components/shared/border-button/border-button.component.js +0 -27
  3037. package/esm5/components/shared/border-button/border-button.module.js +0 -19
  3038. package/esm5/components/shared/helpers.js +0 -35
  3039. package/esm5/components/shared/index.js +0 -3
  3040. package/esm5/components/shared/models/border-button-options.js +0 -1
  3041. package/esm5/components/shared/models/enum-severity.js +0 -9
  3042. package/esm5/components/sidebar/index.js +0 -3
  3043. package/esm5/components/sidebar/sidebar.component.js +0 -74
  3044. package/esm5/components/sidebar/sidebar.module.js +0 -22
  3045. package/esm5/components/slide-panel/index.js +0 -3
  3046. package/esm5/components/slide-panel/slide-panel.component.js +0 -145
  3047. package/esm5/components/slide-panel/slide-panel.module.js +0 -20
  3048. package/esm5/components/slide-panel/slide-panel.service.js +0 -28
  3049. package/esm5/components/slider/index.js +0 -3
  3050. package/esm5/components/slider/slider.component.js +0 -648
  3051. package/esm5/components/slider/slider.module.js +0 -19
  3052. package/esm5/components/speech-recognition/speech-recognition/speech-recognition.component.js +0 -248
  3053. package/esm5/components/speech-recognition/speech-recognition.module.js +0 -22
  3054. package/esm5/components/speech-recognition/speech-recognition.service.js +0 -168
  3055. package/esm5/components/speech-recognition/text-to-speech.service.js +0 -92
  3056. package/esm5/components/split-button/index.js +0 -4
  3057. package/esm5/components/split-button/models/split-button-option.js +0 -1
  3058. package/esm5/components/split-button/models/split-button-type.js +0 -7
  3059. package/esm5/components/split-button/split-button.component.js +0 -69
  3060. package/esm5/components/split-button/split-button.module.js +0 -18
  3061. package/esm5/components/stats-card/index.js +0 -3
  3062. package/esm5/components/stats-card/stats-card.component.js +0 -131
  3063. package/esm5/components/stats-card/stats-card.module.js +0 -26
  3064. package/esm5/components/steps/index.js +0 -3
  3065. package/esm5/components/steps/steps.component.js +0 -107
  3066. package/esm5/components/steps/steps.module.js +0 -19
  3067. package/esm5/components/structure/footer.component.js +0 -15
  3068. package/esm5/components/structure/header.component.js +0 -18
  3069. package/esm5/components/structure/index.js +0 -4
  3070. package/esm5/components/structure/structure.module.js +0 -19
  3071. package/esm5/components/switch/index.js +0 -3
  3072. package/esm5/components/switch/switch.component.js +0 -94
  3073. package/esm5/components/switch/switch.module.js +0 -18
  3074. package/esm5/components/table/frozen-position/frozen-position.directive.js +0 -256
  3075. package/esm5/components/table/index.js +0 -6
  3076. package/esm5/components/table/navigation/navigation.directive.js +0 -137
  3077. package/esm5/components/table/row-toggler/row-toggler.directive.js +0 -39
  3078. package/esm5/components/table/table-column/index.js +0 -2
  3079. package/esm5/components/table/table-column/models/badge-column.interface.js +0 -1
  3080. package/esm5/components/table/table-column/models/badge-configs.interface.js +0 -1
  3081. package/esm5/components/table/table-column/models/column-colors.js +0 -1
  3082. package/esm5/components/table/table-column/models/column-values.interface.js +0 -1
  3083. package/esm5/components/table/table-column/models/column.interface.js +0 -1
  3084. package/esm5/components/table/table-column/models/dynamic-editable-grid.interface.js +0 -1
  3085. package/esm5/components/table/table-column/models/enum-badge-colors.js +0 -10
  3086. package/esm5/components/table/table-column/models/enum-column-field-type.js +0 -13
  3087. package/esm5/components/table/table-column/models/index.js +0 -3
  3088. package/esm5/components/table/table-column/models/locale-options.interface.js +0 -1
  3089. package/esm5/components/table/table-column/models/number-locale-options.interface.js +0 -1
  3090. package/esm5/components/table/table-column/table-columns.component.js +0 -288
  3091. package/esm5/components/table/table-paging/index.js +0 -1
  3092. package/esm5/components/table/table-paging/models/custom-action.interface.js +0 -1
  3093. package/esm5/components/table/table-paging/models/index.js +0 -1
  3094. package/esm5/components/table/table-paging/table-paging.component.js +0 -361
  3095. package/esm5/components/table/table.module.js +0 -48
  3096. package/esm5/components/table-header/index.js +0 -3
  3097. package/esm5/components/table-header/table-header-checkbox.component.js +0 -157
  3098. package/esm5/components/table-header/table-header-checkox.module.js +0 -18
  3099. package/esm5/components/template/index.js +0 -3
  3100. package/esm5/components/template/template.directive.js +0 -21
  3101. package/esm5/components/template/template.module.js +0 -18
  3102. package/esm5/components/text-area/index.js +0 -3
  3103. package/esm5/components/text-area/text-area/text-area.component.js +0 -126
  3104. package/esm5/components/text-area/text-area.module.js +0 -27
  3105. package/esm5/components/text-area-ia/index.js +0 -3
  3106. package/esm5/components/text-area-ia/text-area-ia.component.js +0 -147
  3107. package/esm5/components/text-area-ia/text-area-ia.module.js +0 -35
  3108. package/esm5/components/thumbnail/index.js +0 -4
  3109. package/esm5/components/thumbnail/thumbnail-size.js +0 -7
  3110. package/esm5/components/thumbnail/thumbnail.component.js +0 -83
  3111. package/esm5/components/thumbnail/thumbnail.module.js +0 -20
  3112. package/esm5/components/thumbnail/thumbnail.service.js +0 -65
  3113. package/esm5/components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.js +0 -19
  3114. package/esm5/components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.js +0 -44
  3115. package/esm5/components/thumbnails/components/thumbnail-item/thumbnail-item.component.js +0 -68
  3116. package/esm5/components/thumbnails/index.js +0 -3
  3117. package/esm5/components/thumbnails/models/thumbnails-item.js +0 -1
  3118. package/esm5/components/thumbnails/thumbnails.component.js +0 -61
  3119. package/esm5/components/thumbnails/thumbnails.module.js +0 -24
  3120. package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +0 -288
  3121. package/esm5/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.js +0 -16
  3122. package/esm5/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.js +0 -78
  3123. package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +0 -180
  3124. package/esm5/components/tiered-menu/index.js +0 -3
  3125. package/esm5/components/tiered-menu/models/index.js +0 -1
  3126. package/esm5/components/tiered-menu/models/tiered-menu-item-data.js +0 -1
  3127. package/esm5/components/tiered-menu/models/tiered-menu-item-internal-data.js +0 -1
  3128. package/esm5/components/tiered-menu/services/tiered-menu.event.service.js +0 -19
  3129. package/esm5/components/tiered-menu/services/tiered-menu.global.service.js +0 -12
  3130. package/esm5/components/tiered-menu/services/tiered-menu.service.js +0 -54
  3131. package/esm5/components/tiered-menu/tiered-menu.directive.js +0 -224
  3132. package/esm5/components/tiered-menu/tiered-menu.module.js +0 -32
  3133. package/esm5/components/tiered-menu/utils.js +0 -7
  3134. package/esm5/components/tile/index.js +0 -3
  3135. package/esm5/components/tile/tile.component.js +0 -77
  3136. package/esm5/components/tile/tile.module.js +0 -27
  3137. package/esm5/components/timeline/components/horizontal-timeline/horizontal-timeline.component.js +0 -26
  3138. package/esm5/components/timeline/components/horizontal-timeline/horizontal-timeline.module.js +0 -24
  3139. package/esm5/components/timeline/components/timeline-icon-item/timeline-icon-item.component.js +0 -28
  3140. package/esm5/components/timeline/components/timeline-icon-item/timeline-icon-item.module.js +0 -22
  3141. package/esm5/components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.js +0 -27
  3142. package/esm5/components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.js +0 -36
  3143. package/esm5/components/timeline/components/vertical-timeline/components/range-line/range-line.component.js +0 -16
  3144. package/esm5/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.js +0 -31
  3145. package/esm5/components/timeline/components/vertical-timeline/vertical-timeline.component.js +0 -58
  3146. package/esm5/components/timeline/components/vertical-timeline/vertical-timeline.module.js +0 -32
  3147. package/esm5/components/timeline/index.js +0 -4
  3148. package/esm5/components/timeline/models/index.js +0 -4
  3149. package/esm5/components/timeline/models/timeline-item-severity.js +0 -7
  3150. package/esm5/components/timeline/models/timeline-item-size.js +0 -6
  3151. package/esm5/components/timeline/models/timeline-item.js +0 -39
  3152. package/esm5/components/timeline/timeline.component.js +0 -71
  3153. package/esm5/components/timeline/timeline.module.js +0 -30
  3154. package/esm5/components/toast/index.js +0 -4
  3155. package/esm5/components/toast/toast.component.js +0 -54
  3156. package/esm5/components/toast/toast.module.js +0 -17
  3157. package/esm5/components/toast/toast.service.js +0 -70
  3158. package/esm5/components/toast/types/toast.js +0 -1
  3159. package/esm5/components/token-list/index.js +0 -3
  3160. package/esm5/components/token-list/models/index.js +0 -1
  3161. package/esm5/components/token-list/models/token.js +0 -1
  3162. package/esm5/components/token-list/token-list.component.js +0 -52
  3163. package/esm5/components/token-list/token-list.module.js +0 -18
  3164. package/esm5/components/tooltip/index.js +0 -3
  3165. package/esm5/components/tooltip/models/index.js +0 -4
  3166. package/esm5/components/tooltip/models/mobile-behavior.js +0 -6
  3167. package/esm5/components/tooltip/models/tooltip-event.js +0 -6
  3168. package/esm5/components/tooltip/models/tooltip-position.js +0 -8
  3169. package/esm5/components/tooltip/tooltip.component.js +0 -22
  3170. package/esm5/components/tooltip/tooltip.directive.js +0 -339
  3171. package/esm5/components/tooltip/tooltip.module.js +0 -22
  3172. package/esm5/components/tree/Models/tree.models.js +0 -1
  3173. package/esm5/components/tree/components/tree-node-item/tree-node-item.component.js +0 -169
  3174. package/esm5/components/tree/index.js +0 -3
  3175. package/esm5/components/tree/tree.component.js +0 -280
  3176. package/esm5/components/tree/tree.module.js +0 -23
  3177. package/esm5/components/utils/breakpoints.js +0 -11
  3178. package/esm5/components/utils/debouce.js +0 -50
  3179. package/esm5/components/utils/export-utils.js +0 -96
  3180. package/esm5/components/utils/index.js +0 -6
  3181. package/esm5/components/utils/locale-utils.js +0 -15
  3182. package/esm5/components/utils/utils.js +0 -44
  3183. package/esm5/components/workspace-switch/index.js +0 -3
  3184. package/esm5/components/workspace-switch/models/index.js +0 -1
  3185. package/esm5/components/workspace-switch/models/workspace.js +0 -1
  3186. package/esm5/components/workspace-switch/workspace-switch.component.js +0 -148
  3187. package/esm5/components/workspace-switch/workspace-switch.module.js +0 -18
  3188. package/esm5/locale/fallback.js +0 -333
  3189. package/esm5/public-api.js +0 -5
  3190. package/esm5/seniorsistemas-angular-components.js +0 -117
  3191. package/esm5/utils/currency/currency.service.js +0 -191
  3192. package/esm5/utils/currency/index.js +0 -2
  3193. package/esm5/utils/index.js +0 -3
  3194. package/esm5/utils/svg-factory/components/iassist-icon/iassist-icon.component.js +0 -14
  3195. package/esm5/utils/svg-factory/components/senior-icon/senior-icon.component.js +0 -14
  3196. package/esm5/utils/svg-factory/components/svg-factory-icons.js +0 -6
  3197. package/esm5/utils/svg-factory/index.js +0 -3
  3198. package/esm5/utils/svg-factory/svg-factory.directive.js +0 -54
  3199. package/esm5/utils/svg-factory/svg-factory.module.js +0 -24
  3200. package/fesm2015/seniorsistemas-angular-components.js +0 -22423
  3201. package/fesm2015/seniorsistemas-angular-components.js.map +0 -1
  3202. package/fesm5/seniorsistemas-angular-components.js +0 -24034
  3203. package/fesm5/seniorsistemas-angular-components.js.map +0 -1
  3204. package/seniorsistemas-angular-components.d.ts +0 -116
  3205. package/seniorsistemas-angular-components.metadata.json +0 -1
  3206. package/utils/currency/currency.service.d.ts +0 -642
  3207. package/utils/currency/index.d.ts +0 -1
  3208. package/utils/svg-factory/components/iassist-icon/iassist-icon.component.d.ts +0 -2
  3209. package/utils/svg-factory/components/senior-icon/senior-icon.component.d.ts +0 -2
  3210. package/utils/svg-factory/components/svg-factory-icons.d.ts +0 -4
  3211. package/utils/svg-factory/index.d.ts +0 -2
  3212. package/utils/svg-factory/svg-factory.directive.d.ts +0 -13
  3213. package/utils/svg-factory/svg-factory.module.d.ts +0 -2
  3214. /package/{components → code-editor/lib}/code-editor/core/facades/linter-facade.d.ts +0 -0
  3215. /package/{components → code-editor/lib}/code-editor/core/models/enums/marker-severity.d.ts +0 -0
  3216. /package/{components → code-editor/lib}/code-editor/core/models/index.d.ts +0 -0
  3217. /package/{components → code-editor/lib}/code-editor/core/models/interfaces/marker.d.ts +0 -0
  3218. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/editor-languages.d.ts +0 -0
  3219. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/json/json.language.d.ts +0 -0
  3220. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.d.ts +0 -0
  3221. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.d.ts +0 -0
  3222. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.d.ts +0 -0
  3223. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/index.d.ts +0 -0
  3224. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.d.ts +0 -0
  3225. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.d.ts +0 -0
  3226. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.d.ts +0 -0
  3227. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.d.ts +0 -0
  3228. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.d.ts +0 -0
  3229. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.d.ts +0 -0
  3230. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.d.ts +0 -0
  3231. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.d.ts +0 -0
  3232. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.d.ts +0 -0
  3233. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.d.ts +0 -0
  3234. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/completion-Item.d.ts +0 -0
  3235. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/facade-metadata-name.d.ts +0 -0
  3236. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/fields-order-by.d.ts +0 -0
  3237. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/get-facade-metadata-by-path.d.ts +0 -0
  3238. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-context-metadata-by-id.d.ts +0 -0
  3239. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-expression-metadata.d.ts +0 -0
  3240. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/list-facade-metadata-names.d.ts +0 -0
  3241. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-expression-metadata.d.ts +0 -0
  3242. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-context-metadata.d.ts +0 -0
  3243. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-facade-metadata.d.ts +0 -0
  3244. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-front-field-metadata.d.ts +0 -0
  3245. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/rec-page-request.d.ts +0 -0
  3246. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/interfaces/tax-calculation-configs.d.ts +0 -0
  3247. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.d.ts +0 -0
  3248. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.d.ts +0 -0
  3249. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.d.ts +0 -0
  3250. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/index.d.ts +0 -0
  3251. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/models/index.d.ts +0 -0
  3252. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/editor-themes.d.ts +0 -0
  3253. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.d.ts +0 -0
  3254. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.d.ts +0 -0
  3255. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.d.ts +0 -0
  3256. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.d.ts +0 -0
  3257. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.d.ts +0 -0
  3258. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.d.ts +0 -0
  3259. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.d.ts +0 -0
  3260. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.d.ts +0 -0
  3261. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/utils/index.d.ts +0 -0
  3262. /package/{components → code-editor/lib}/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.d.ts +0 -0
  3263. /package/{components → code-editor/lib}/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.d.ts +0 -0
  3264. /package/{components → code-editor/lib}/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.d.ts +0 -0
  3265. /package/{components → code-editor/lib}/code-editor/infra/utils/custom-http-client/json-response-formatters/index.d.ts +0 -0
  3266. /package/{components → code-editor/lib}/code-editor/infra/utils/custom-translations/index.d.ts +0 -0
  3267. /package/{components → code-editor/lib}/code-editor/infra/utils/custom-translations/models/index.d.ts +0 -0
  3268. /package/{components → code-editor/lib}/code-editor/infra/utils/custom-translations/models/interfaces/translations.d.ts +0 -0
  3269. /package/{components → code-editor/lib}/code-editor/infra/utils/index.d.ts +0 -0
  3270. /package/{components → code-editor/lib}/code-editor/models/enums/languages.d.ts +0 -0
  3271. /package/{components → code-editor/lib}/code-editor/models/enums/themes.d.ts +0 -0
  3272. /package/{components → code-editor/lib}/code-editor/models/index.d.ts +0 -0
  3273. /package/{components → code-editor/lib}/code-editor/models/interfaces/editor-options.d.ts +0 -0
  3274. /package/{components → country-phone-picker/lib}/country-phone-picker/models/country-phone-data.d.ts +0 -0
  3275. /package/{components → country-phone-picker/lib}/country-phone-picker/models/ordination.d.ts +0 -0
  3276. /package/{components → country-phone-picker/lib}/country-phone-picker/models/phone-selection-data.d.ts +0 -0
  3277. /package/{components → custom-fields/lib}/custom-fields/models/custom-field-type.d.ts +0 -0
  3278. /package/{components → dynamic-form/lib}/dynamic-form/configurations/dynamic-config.d.ts +0 -0
  3279. /package/{components → dynamic-form/lib}/dynamic-form/configurations/dynamic-type.d.ts +0 -0
  3280. /package/{components → dynamic-form/lib}/dynamic-form/configurations/grid-type.d.ts +0 -0
  3281. /package/{components → dynamic-form/lib}/dynamic-form/configurations/structure-type.d.ts +0 -0
  3282. /package/{components/dynamic-form → dynamic-form/lib/dynamic-form/form-field}/configurations/field-size.d.ts +0 -0
  3283. /package/{components/dynamic-form → dynamic-form/lib/dynamic-form/form-field}/configurations/fields/editor-field.d.ts +0 -0
  3284. /package/{components → file-upload/lib}/file-upload/models/list-blob-metadata.d.ts +0 -0
  3285. /package/{components → gantt/lib}/gantt/components/gantt/utils/date-utils.d.ts +0 -0
  3286. /package/{components → gantt/lib}/gantt/models/task.d.ts +0 -0
  3287. /package/{components → gantt/lib}/gantt/models/view-mode.d.ts +0 -0
  3288. /package/{components → inline-edit/lib}/inline-edit/components/index.d.ts +0 -0
  3289. /package/{components → inline-edit/lib}/inline-edit/fields/inline-edit-text-area-field.d.ts +0 -0
  3290. /package/{components → inline-edit/lib}/inline-edit/fields/inline-edit-text-area-ia-field.d.ts +0 -0
  3291. /package/{components → inline-edit/lib}/inline-edit/fields/inline-edit-text-field.d.ts +0 -0
  3292. /package/{locale → lib/locale}/fallback.d.ts +0 -0
  3293. /package/{components → loading-state/lib}/loading-state/components/loading-state-indicators.d.ts +0 -0
  3294. /package/{components → navigation-button/lib}/navigation-button/models/navigation-button-item.d.ts +0 -0
  3295. /package/{components → profile-picture-picker/lib}/profile-picture-picker/models/confirmation-texts.d.ts +0 -0
  3296. /package/{components → profile-picture-picker/lib}/profile-picture-picker/models/cropper-labels-config.d.ts +0 -0
  3297. /package/{components → profile-picture-picker/lib}/profile-picture-picker/models/profile-picture-picker-data.d.ts +0 -0
  3298. /package/{components → rating-scale/lib}/rating-scale/models/rating-scale-node.d.ts +0 -0
  3299. /package/{components → select-button/lib}/select-button/models/select-button-item.d.ts +0 -0
  3300. /package/{components → shared/lib}/shared/helpers.d.ts +0 -0
  3301. /package/{components → split-button/lib}/split-button/models/split-button-option.d.ts +0 -0
  3302. /package/{components/utils → table/lib}/locale-utils.d.ts +0 -0
  3303. /package/{components → table/lib}/table/table-column/models/enum-badge-colors.d.ts +0 -0
  3304. /package/{components → table/lib}/table/table-column/models/enum-column-field-type.d.ts +0 -0
  3305. /package/{components → table/lib}/table/table-paging/models/custom-action.interface.d.ts +0 -0
  3306. /package/{components → timeline/lib}/timeline/models/timeline-item-severity.d.ts +0 -0
  3307. /package/{components → timeline/lib}/timeline/models/timeline-item-size.d.ts +0 -0
  3308. /package/{components → token-list/lib}/token-list/models/token.d.ts +0 -0
  3309. /package/{components → utils/lib}/utils/breakpoints.d.ts +0 -0
  3310. /package/{components → workspace-switch/lib}/workspace-switch/models/workspace.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"seniorsistemas-angular-components.js","sources":["ng://@seniorsistemas/angular-components/components/accordion/components/accordion-panel/accordion-panel.component.ts","ng://@seniorsistemas/angular-components/components/accordion/accordion.component.ts","ng://@seniorsistemas/angular-components/components/switch/switch.component.ts","ng://@seniorsistemas/angular-components/components/switch/switch.module.ts","ng://@seniorsistemas/angular-components/components/tooltip/models/tooltip-position.ts","ng://@seniorsistemas/angular-components/components/tooltip/tooltip.component.ts","ng://@seniorsistemas/angular-components/components/utils/debouce.ts","ng://@seniorsistemas/angular-components/components/utils/utils.ts","ng://@seniorsistemas/angular-components/components/tooltip/models/mobile-behavior.ts","ng://@seniorsistemas/angular-components/components/tooltip/models/tooltip-event.ts","ng://@seniorsistemas/angular-components/components/tooltip/tooltip.directive.ts","ng://@seniorsistemas/angular-components/components/tooltip/tooltip.module.ts","ng://@seniorsistemas/angular-components/components/accordion/accordion.module.ts","ng://@seniorsistemas/angular-components/components/alert/alert.component.ts","ng://@seniorsistemas/angular-components/components/alert/alert.module.ts","ng://@seniorsistemas/angular-components/components/badge/models/badge-colors.ts","ng://@seniorsistemas/angular-components/components/badge/models/badge-types.ts","ng://@seniorsistemas/angular-components/components/badge/badge.component.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.component.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.directive.ts","ng://@seniorsistemas/angular-components/components/info-sign/info-sign.module.ts","ng://@seniorsistemas/angular-components/components/badge/badge.module.ts","ng://@seniorsistemas/angular-components/components/locale/options/calendar.ts","ng://@seniorsistemas/angular-components/components/locale/options/number.ts","ng://@seniorsistemas/angular-components/components/locale/options/index.ts","ng://@seniorsistemas/angular-components/components/locale/locale.service.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-bignumber.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-bignumber-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-currency.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-currency-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-date.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-date-impure.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-number.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-time.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/localized-time-impure.pipe.ts","ng://@seniorsistemas/angular-components/utils/currency/currency.service.ts","ng://@seniorsistemas/angular-components/components/locale/services/numeric.service.ts","ng://@seniorsistemas/angular-components/components/locale/pipes/numeric.pipe.ts","ng://@seniorsistemas/angular-components/components/locale/locale.module.ts","ng://@seniorsistemas/angular-components/components/bignumber-input/bignumber-input.directive.ts","ng://@seniorsistemas/angular-components/components/bignumber-input/bignumber-input.module.ts","ng://@seniorsistemas/angular-components/components/breadcrumb/breadcrumb.component.ts","ng://@seniorsistemas/angular-components/components/breadcrumb/breadcrumb.module.ts","ng://@seniorsistemas/angular-components/components/button/models/button-animation.ts","ng://@seniorsistemas/angular-components/components/button/models/button-priority.ts","ng://@seniorsistemas/angular-components/components/button/models/button-size.ts","ng://@seniorsistemas/angular-components/components/button/button.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/services/tiered-menu.event.service.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/services/tiered-menu.service.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/utils.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/components/tiered-menu/tiered-menu.component.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/services/tiered-menu.global.service.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/tiered-menu.directive.ts","ng://@seniorsistemas/angular-components/components/tiered-menu/tiered-menu.module.ts","ng://@seniorsistemas/angular-components/components/button/button.module.ts","ng://@seniorsistemas/angular-components/components/calendar-mask/calendar-mask.directive.ts","ng://@seniorsistemas/angular-components/components/calendar-mask/calendar-mask.module.ts","ng://@seniorsistemas/angular-components/components/template/template.directive.ts","ng://@seniorsistemas/angular-components/components/card/models/card-template-types.ts","ng://@seniorsistemas/angular-components/components/card/card.component.ts","ng://@seniorsistemas/angular-components/components/template/template.module.ts","ng://@seniorsistemas/angular-components/components/card/card.module.ts","ng://@seniorsistemas/angular-components/components/chat/chat.component.ts","ng://@seniorsistemas/angular-components/components/chat/components/chat-message/chat-message.component.ts","ng://@seniorsistemas/angular-components/components/chat/chat.module.ts","ng://@seniorsistemas/angular-components/components/checkbox/checkbox.component.ts","ng://@seniorsistemas/angular-components/components/checkbox/checkbox.module.ts","ng://@seniorsistemas/angular-components/components/code-editor/models/enums/languages.ts","ng://@seniorsistemas/angular-components/components/code-editor/models/enums/themes.ts","ng://@seniorsistemas/angular-components/components/code-editor/models/index.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/use-cases/core-linters.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/facades/core-facade.ts","ng://@seniorsistemas/angular-components/components/code-editor/code-editor.component.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/grammar.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/enum-type-order.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/meta-type.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/request-types.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/completion-types.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/enums/keywords.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/models/index.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/base-configs/base-configs.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-json-response.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-http-client/json-response-formatters/format-blob-response.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-http-client/custom-http-client.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-translations/custom-translations-service.ts","ng://@seniorsistemas/angular-components/angular-components.module.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/utils/custom-translations/custom-translations.module.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/models/enums/marker-severity.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/models/index.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/utils/is-current-position-inside-string.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.service.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-state-wrapper/autocomplete-state-wrapper.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-loading-state.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-states/autocomplete-empty-state.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation-language-configs.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-language-configs.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/utils/get-safe-response.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/extensions/autocomplete/autocomplete.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/tax-calculation/tax-calculation.language.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/json/json.language.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/languages/editor-languages.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-highlight-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/scrollbars.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/font-style.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/line-counter.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/extensions/autocomplete-tooltip.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/sds-light/sds-light-theme.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/themes/editor-themes.ts","ng://@seniorsistemas/angular-components/components/code-editor/infra/cores/codemirror-6/codemirror-6-core.ts","ng://@seniorsistemas/angular-components/components/code-editor/code-editor.module.ts","ng://@seniorsistemas/angular-components/components/collapse-link/collapse-link.component.ts","ng://@seniorsistemas/angular-components/components/collapse-link/collapse-link.module.ts","ng://@seniorsistemas/angular-components/components/control-errors/control-errors.component.ts","ng://@seniorsistemas/angular-components/components/control-errors/control-errors.module.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/resources/countries.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/models/ordination.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/country-phone-picker.service.ts","ng://@seniorsistemas/angular-components/components/utils/breakpoints.ts","ng://@seniorsistemas/angular-components/components/utils/export-utils.ts","ng://@seniorsistemas/angular-components/components/utils/locale-utils.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/country-phone-picker.component.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/country-phone-picker.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/base-field-component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/field-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/field-size.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/autocomplete-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/bignumber-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/blob-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/boolean-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/boolean-switch-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/calendar-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/checkbox-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/chips-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/country-phone-picker-field.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.directive.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/number-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/decimal-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/currency-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/lookup-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/password-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/radio-button-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/select-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/slider-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-area-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-area-ia-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/text-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/button-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/editor-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/fields/profile-picture.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/form-field.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/lookup/lookup.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/dynamic-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid/grid.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid/row.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/structure.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/fieldset.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure/section.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/dynamic-config.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/grid-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/configurations/structure-type.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.component.ts","ng://@seniorsistemas/angular-components/components/mouse-events/long-press.directive.ts","ng://@seniorsistemas/angular-components/components/mouse-events/double-click.directive.ts","ng://@seniorsistemas/angular-components/components/mouse-events/mouse-events.module.ts","ng://@seniorsistemas/angular-components/components/toast/toast.component.ts","ng://@seniorsistemas/angular-components/components/toast/toast.service.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/services/IAssist/iassist.service.ts","ng://@seniorsistemas/angular-components/components/empty-state/empty-state.component.ts","ng://@seniorsistemas/angular-components/components/empty-state/go-back/go-back.component.ts","ng://@seniorsistemas/angular-components/components/empty-state/empty-state.module.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.service.ts","ng://@seniorsistemas/angular-components/components/file-upload/models/validate-errors.ts","ng://@seniorsistemas/angular-components/components/file-upload/models/file-upload-permissions.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.component.ts","ng://@seniorsistemas/angular-components/components/file-upload/file-upload.module.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/components/iassist-icon/iassist-icon.component.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/components/senior-icon/senior-icon.component.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/components/svg-factory-icons.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/svg-factory.directive.ts","ng://@seniorsistemas/angular-components/utils/svg-factory/svg-factory.module.ts","ng://@seniorsistemas/angular-components/components/loading-state/components/dots-indicator/dots-indicator.components.ts","ng://@seniorsistemas/angular-components/components/loading-state/components/logo-indicator/logo-indicator.component.ts","ng://@seniorsistemas/angular-components/components/loading-state/components/loading-state-indicators.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.component.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.directive.ts","ng://@seniorsistemas/angular-components/components/loading-state/loading-state.module.ts","ng://@seniorsistemas/angular-components/components/localized-number-input/localized-number-input.directive.ts","ng://@seniorsistemas/angular-components/components/localized-number-input/localized-number-input.module.ts","ng://@seniorsistemas/angular-components/components/mask/mask-formatter.pipe.ts","ng://@seniorsistemas/angular-components/components/mask/mask-formatter.module.ts","ng://@seniorsistemas/angular-components/components/password-strength/models/password-strengths.ts","ng://@seniorsistemas/angular-components/components/password-strength/models/password-positions.ts","ng://@seniorsistemas/angular-components/components/password-strength/password-strength.component.ts","ng://@seniorsistemas/angular-components/components/password-strength/password-strength.directive.ts","ng://@seniorsistemas/angular-components/components/password-strength/password-strength.module.ts","ng://@seniorsistemas/angular-components/components/table-header/table-header-checkbox.component.ts","ng://@seniorsistemas/angular-components/components/table-header/table-header-checkox.module.ts","ng://@seniorsistemas/angular-components/components/table/navigation/navigation.directive.ts","ng://@seniorsistemas/angular-components/components/table/row-toggler/row-toggler.directive.ts","ng://@seniorsistemas/angular-components/components/table/frozen-position/frozen-position.directive.ts","ng://@seniorsistemas/angular-components/components/table/table-column/models/enum-column-field-type.ts","ng://@seniorsistemas/angular-components/components/table/table-column/models/enum-badge-colors.ts","ng://@seniorsistemas/angular-components/components/table/table-column/table-columns.component.ts","ng://@seniorsistemas/angular-components/components/token-list/token-list.component.ts","ng://@seniorsistemas/angular-components/components/token-list/token-list.module.ts","ng://@seniorsistemas/angular-components/components/table/table-paging/table-paging.component.ts","ng://@seniorsistemas/angular-components/components/table/table.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/autocomplete/autocomplete-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/boolean/boolean-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/boolean/boolean-switch-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/calendar/calendar-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/chips/chips-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/file-upload/file-upload.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/lookup/lookup-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/radio-button/radio-button-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/select/select-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/slider/slider-field.component.ts","ng://@seniorsistemas/angular-components/components/speech-recognition/speech-recognition.service.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text-area/text-area-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/structure/fieldset/fieldset.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/structure/section/section.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/grid/row/row.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/dynamic-field/dynamic-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/bignumber/bignumber-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/currency/currency-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/password/password-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text/text-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/checkbox/checkbox-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/editor/editor-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/number/number-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/button-field/button-field.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.directive.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/field-label/field-label.component.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/field-label/field-label.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/bignumber/bignumber-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/checkbox/checkbox-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/currency/currency-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/editor/editor-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/number/number-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/password/password-field.module.ts","ng://@seniorsistemas/angular-components/components/structure/header.component.ts","ng://@seniorsistemas/angular-components/components/structure/footer.component.ts","ng://@seniorsistemas/angular-components/components/structure/structure.module.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.component.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.module.ts","ng://@seniorsistemas/angular-components/components/image-cropper/image-cropper.service.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail-size.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.service.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.component.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail.module.ts","ng://@seniorsistemas/angular-components/components/profile-picture-picker/models/file-validation-errors.ts","ng://@seniorsistemas/angular-components/components/profile-picture-picker/profile-picture-picker.component.ts","ng://@seniorsistemas/angular-components/components/profile-picture-picker/profile-picture-picker.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/profile-picture/profile-picture-field.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/components/fields/text/text-field.module.ts","ng://@seniorsistemas/angular-components/components/text-area/text-area/text-area.component.ts","ng://@seniorsistemas/angular-components/components/speech-recognition/text-to-speech.service.ts","ng://@seniorsistemas/angular-components/components/speech-recognition/speech-recognition/speech-recognition.component.ts","ng://@seniorsistemas/angular-components/components/speech-recognition/speech-recognition.module.ts","ng://@seniorsistemas/angular-components/components/text-area/text-area.module.ts","ng://@seniorsistemas/angular-components/components/fieldset/fieldset.component.ts","ng://@seniorsistemas/angular-components/components/accessibility-events/directives/accessibility-event.directive.ts","ng://@seniorsistemas/angular-components/components/accessibility-events/accessibility-events.module.ts","ng://@seniorsistemas/angular-components/components/fieldset/fieldset.module.ts","ng://@seniorsistemas/angular-components/components/dynamic-form/dynamic-form.module.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.service.ts","ng://@seniorsistemas/angular-components/components/custom-fields/models/custom-field-type.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.component.ts","ng://@seniorsistemas/angular-components/components/custom-fields/custom-fields.module.ts","ng://@seniorsistemas/angular-components/components/editable-overlay/editable-overlay.directive.ts","ng://@seniorsistemas/angular-components/components/editable-overlay/editable-overlay.module.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/utils/date-utils.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/utils/svg-utils.ts","ng://@seniorsistemas/angular-components/components/gantt/models/view-mode.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/bar.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/popup.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/arrow.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/gantt-options.ts","ng://@seniorsistemas/angular-components/components/gantt/components/gantt/gantt.ts","ng://@seniorsistemas/angular-components/components/gantt/gantt.component.ts","ng://@seniorsistemas/angular-components/components/gantt/components/side-table/side-table.component.ts","ng://@seniorsistemas/angular-components/components/gantt/gantt.module.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search-size.enum.ts","ng://@seniorsistemas/angular-components/components/global-search/elements/dropdown/global-search-dropdown-item.component.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search.component.ts","ng://@seniorsistemas/angular-components/components/infinite-scroll/infinite-scroll.directive.ts","ng://@seniorsistemas/angular-components/components/infinite-scroll/infinite-scroll.module.ts","ng://@seniorsistemas/angular-components/components/global-search/global-search.module.ts","ng://@seniorsistemas/angular-components/components/ia-insight/components/ia-insight-card/ia-insight-card.component.ts","ng://@seniorsistemas/angular-components/components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component.ts","ng://@seniorsistemas/angular-components/components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component.ts","ng://@seniorsistemas/angular-components/components/ia-insight/models/ia-insight-template-types.ts","ng://@seniorsistemas/angular-components/components/ia-insight/ia-insight.component.ts","ng://@seniorsistemas/angular-components/components/ia-insight/ia-insight.module.ts","ng://@seniorsistemas/angular-components/components/grid-menu/grid-menu.component.ts","ng://@seniorsistemas/angular-components/components/grid-menu/components/grid-menu-item/grid-menu-item.component.ts","ng://@seniorsistemas/angular-components/components/grid-menu/grid-menu.module.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-calendar-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-lookup-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-number-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-text-area-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-text-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/fields/inline-edit-text-area-ia-field.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/inline-edit-item/inline-edit-item.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.ts","ng://@seniorsistemas/angular-components/components/inline-edit/inline-edit.component.ts","ng://@seniorsistemas/angular-components/components/text-area-ia/text-area-ia.component.ts","ng://@seniorsistemas/angular-components/components/text-area-ia/text-area-ia.module.ts","ng://@seniorsistemas/angular-components/components/inline-edit/inline-edit.module.ts","ng://@seniorsistemas/angular-components/components/kanban/kanban-event.service.ts","ng://@seniorsistemas/angular-components/components/kanban/models/kanban-template-types.ts","ng://@seniorsistemas/angular-components/components/kanban/kanban.component.ts","ng://@seniorsistemas/angular-components/components/kanban/components/kanban-column/kanban-column.component.ts","ng://@seniorsistemas/angular-components/components/kanban/components/kanban-item-dragging/kanban-item-dragging.component.ts","ng://@seniorsistemas/angular-components/components/kanban/components/kanban-item/kanban-item.component.ts","ng://@seniorsistemas/angular-components/components/kanban/kanban.module.ts","ng://@seniorsistemas/angular-components/components/navigation-button/navigation-button.component.ts","ng://@seniorsistemas/angular-components/components/navigation-button/navigation-button.module.ts","ng://@seniorsistemas/angular-components/components/shared/models/enum-severity.ts","ng://@seniorsistemas/angular-components/components/object-card/elements/field/object-card-field.component.ts","ng://@seniorsistemas/angular-components/components/object-card/elements/main/object-card-main.component.ts","ng://@seniorsistemas/angular-components/components/object-card/object-card.component.ts","ng://@seniorsistemas/angular-components/components/shared/border-button/border-button.component.ts","ng://@seniorsistemas/angular-components/components/shared/border-button/border-button.module.ts","ng://@seniorsistemas/angular-components/components/object-card/object-card.module.ts","ng://@seniorsistemas/angular-components/components/panel/panel.component.ts","ng://@seniorsistemas/angular-components/components/panel/panel.module.ts","ng://@seniorsistemas/angular-components/components/product-header/product-header.component.ts","ng://@seniorsistemas/angular-components/components/product-header/product-header.module.ts","ng://@seniorsistemas/angular-components/components/progressbar/models/progressbar-colors.ts","ng://@seniorsistemas/angular-components/components/progressbar/models/progressbar-mode.ts","ng://@seniorsistemas/angular-components/components/progressbar/progressbar.component.ts","ng://@seniorsistemas/angular-components/components/progressbar/components/progressbar-determinate/progressbar-determinate.component.ts","ng://@seniorsistemas/angular-components/components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component.ts","ng://@seniorsistemas/angular-components/components/progressbar/progressbar.module.ts","ng://@seniorsistemas/angular-components/components/rating-scale/rating-scale.component.ts","ng://@seniorsistemas/angular-components/components/rating-scale/rating-scale.module.ts","ng://@seniorsistemas/angular-components/components/select-button/select-button.component.ts","ng://@seniorsistemas/angular-components/components/select-button/components/select-button-item/select-button-item.component.ts","ng://@seniorsistemas/angular-components/components/select-button/select-button.module.ts","ng://@seniorsistemas/angular-components/components/shared/helpers.ts","ng://@seniorsistemas/angular-components/components/sidebar/sidebar.component.ts","ng://@seniorsistemas/angular-components/components/sidebar/sidebar.module.ts","ng://@seniorsistemas/angular-components/components/slide-panel/slide-panel.service.ts","ng://@seniorsistemas/angular-components/components/slide-panel/slide-panel.component.ts","ng://@seniorsistemas/angular-components/components/slide-panel/slide-panel.module.ts","ng://@seniorsistemas/angular-components/components/slider/slider.component.ts","ng://@seniorsistemas/angular-components/components/slider/slider.module.ts","ng://@seniorsistemas/angular-components/components/split-button/models/split-button-type.ts","ng://@seniorsistemas/angular-components/components/split-button/split-button.component.ts","ng://@seniorsistemas/angular-components/components/split-button/split-button.module.ts","ng://@seniorsistemas/angular-components/components/stats-card/stats-card.component.ts","ng://@seniorsistemas/angular-components/components/stats-card/stats-card.module.ts","ng://@seniorsistemas/angular-components/components/steps/steps.component.ts","ng://@seniorsistemas/angular-components/components/steps/steps.module.ts","ng://@seniorsistemas/angular-components/components/thumbnails/thumbnails.component.ts","ng://@seniorsistemas/angular-components/components/thumbnails/components/thumbnail-item/thumbnail-item.component.ts","ng://@seniorsistemas/angular-components/components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.ts","ng://@seniorsistemas/angular-components/components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.ts","ng://@seniorsistemas/angular-components/components/thumbnails/thumbnails.module.ts","ng://@seniorsistemas/angular-components/components/tile/tile.component.ts","ng://@seniorsistemas/angular-components/components/tile/tile.module.ts","ng://@seniorsistemas/angular-components/components/timeline/timeline.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/timeline-icon-item/timeline-icon-item.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/timeline-icon-item/timeline-icon-item.module.ts","ng://@seniorsistemas/angular-components/components/timeline/components/horizontal-timeline/horizontal-timeline.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/horizontal-timeline/horizontal-timeline.module.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/vertical-timeline.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/components/range-line/range-line.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.ts","ng://@seniorsistemas/angular-components/components/timeline/components/vertical-timeline/vertical-timeline.module.ts","ng://@seniorsistemas/angular-components/components/timeline/timeline.module.ts","ng://@seniorsistemas/angular-components/components/timeline/models/timeline-item-severity.ts","ng://@seniorsistemas/angular-components/components/timeline/models/timeline-item-size.ts","ng://@seniorsistemas/angular-components/components/timeline/models/timeline-item.ts","ng://@seniorsistemas/angular-components/components/workspace-switch/workspace-switch.component.ts","ng://@seniorsistemas/angular-components/components/workspace-switch/workspace-switch.module.ts","ng://@seniorsistemas/angular-components/components/label-value/label-value.component.ts","ng://@seniorsistemas/angular-components/components/label-value/label-value.module.ts","ng://@seniorsistemas/angular-components/components/picklist/picklist/models/picklist-models.ts","ng://@seniorsistemas/angular-components/components/picklist/picklist/picklist.component.ts","ng://@seniorsistemas/angular-components/components/picklist/picklist.module.ts","ng://@seniorsistemas/angular-components/components/chips/chips/chips.component.ts","ng://@seniorsistemas/angular-components/components/chips/chip-item/chip-item.component.ts","ng://@seniorsistemas/angular-components/components/chips/chips.module.ts","ng://@seniorsistemas/angular-components/components/help-popover/help-popover/help-popover.component.ts","ng://@seniorsistemas/angular-components/components/help-popover/help-popover.directive.ts","ng://@seniorsistemas/angular-components/components/help-popover/help-popover.module.ts","ng://@seniorsistemas/angular-components/components/toast/toast.module.ts","ng://@seniorsistemas/angular-components/components/tree/tree.component.ts","ng://@seniorsistemas/angular-components/components/tree/components/tree-node-item/tree-node-item.component.ts","ng://@seniorsistemas/angular-components/components/tree/tree.module.ts","ng://@seniorsistemas/angular-components/locale/fallback.ts","ng://@seniorsistemas/angular-components/seniorsistemas-angular-components.ts"],"sourcesContent":["import { AfterViewInit, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\nimport { trigger, style, animate, transition, state } from \"@angular/animations\";\n\nimport { AccordionButtonSettings } from \"../../models/accordion-button-settings\";\nimport { AccordionSwitchSettings } from \"../../models/accordion-switch-settings\";\nimport { FormControl } from \"@angular/forms\";\n\n@Component({\n selector: \"s-accordion-panel\",\n templateUrl: \"./accordion-panel.component.html\",\n styleUrls: [\"./accordion-panel.component.scss\"],\n animations: [\n trigger(\"cachelessAnimation\", [\n transition(\":enter\", [style({ height: \"0\" }), animate(\"200ms linear\", style({ height: \"*\" }))]),\n transition(\":leave\", [style({ height: \"*\" }), animate(\"200ms linear\", style({ height: \"0\" }))]),\n ]),\n trigger(\"cacheAnimation\", [\n state(\"true\", style({ height: \"*\" })),\n state(\"false\", style({ height: '0px' })),\n transition(\"* => *\", animate(\"200ms\")),\n ]),\n ],\n})\nexport class AccordionPanelComponent implements OnChanges, AfterViewInit {\n @Input()\n public header: string;\n\n @Input()\n public buttons: AccordionButtonSettings[];\n\n @Input()\n public disabled = false;\n\n /**\n * @deprecated Use switchControl instead.\n */\n @Input()\n public switch: AccordionSwitchSettings;\n\n @Input()\n public switchControl: FormControl;\n\n @Input()\n public validationMessage: string;\n\n @Input()\n public cache = false;\n\n @Input() validationMessageIcon = 'fas fa-exclamation-circle';\n\n @Input() validationMessageIconColor: \"Red\" | \"Orange\" | \"Yellow\" | \"Green\" | \"Blue\" = 'Red';\n\n @Output()\n public panelOpened = new EventEmitter<void>();\n\n @Output()\n public panelClosed = new EventEmitter<void>();\n\n\n public isAnimating = false;\n public isContentAnimationDisabled = true;\n\n private _isOpen = false;\n\n public get isOpen() {\n return this._isOpen;\n }\n\n public set isOpen(isOpen: boolean) {\n this._isOpen = isOpen;\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\"disabled\" in changes) {\n if (this.switchControl) {\n changes[\"disabled\"].currentValue\n ? this.switchControl.disable({ emitEvent: false })\n : this.switchControl.enable({ emitEvent: false });\n }\n }\n\n if (\"switch\" in changes && \"switchControl\" in changes) {\n throw new Error(\"You can't set switch and switchControl together.\");\n }\n }\n\n public ngAfterViewInit(): void {\n // to executed at a safe time prior to control returning to the browser's event loop\n queueMicrotask(() => {\n this.isContentAnimationDisabled = false;\n });\n }\n\n public onIconButtonsClick(event: Event, callback: VoidFunction) {\n if (this.disabled) {\n return;\n }\n\n event.stopPropagation();\n callback();\n }\n\n public onTabClick() {\n if (this.disabled || this.isAnimating) {\n return;\n }\n this.isOpen = !this.isOpen;\n }\n\n public onContentAnimationStart() {\n this.isAnimating = true;\n }\n\n public onContentAnimationDone() {\n this.isAnimating = false;\n\n if (this.isOpen) {\n this.panelOpened.emit();\n } else {\n this.panelClosed.emit();\n }\n }\n}\n","import { AfterContentInit, OnChanges, Component, ContentChildren, Input, QueryList, SimpleChanges, OnDestroy, OnInit } from \"@angular/core\";\n\nimport { AccordionPanelComponent } from \"./components/accordion-panel/accordion-panel.component\";\nimport { Subject, Subscription } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: \"s-accordion\",\n templateUrl: \"./accordion.component.html\",\n styleUrls: [\"./accordion.component.scss\"],\n})\nexport class AccordionComponent implements AfterContentInit, OnInit, OnChanges, OnDestroy {\n @Input()\n public activeIndex: number | number[];\n\n @Input()\n public multiple = false;\n\n @ContentChildren(AccordionPanelComponent)\n public panelsComponents: QueryList<AccordionPanelComponent>;\n\n private unsubscribe$ = new Subject<void>();\n private panels: AccordionPanelComponent[] = [];\n private openSubs: Subscription[];\n\n ngOnInit(): void {\n this.validateInputs();\n }\n\n public ngAfterContentInit(): void {\n this.panels = this.panelsComponents.toArray();\n this.openSubs = new Array(this.panels.length);\n\n this.setBehavior(this.multiple);\n this.setupTabs();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes.multiple) {\n this.setBehavior(changes.multiple.currentValue);\n }\n }\n\n public ngOnDestroy(): void {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n private validateInputs(): void {\n if (!this.multiple && Array.isArray(this.activeIndex)) {\n throw new Error(\"The activeIndex should not be an array when multiple is set to false.\");\n }\n }\n\n private setupTabs(): void {\n if (this.panels?.length) {\n if (this.activeIndex !== undefined && this.activeIndex !== null) {\n const activeTabs = Array.isArray(this.activeIndex)\n ? this.panels.filter((_, index) => (this.activeIndex as number[]).includes(index))\n : [this.panels[this.activeIndex]];\n\n if (activeTabs.length === 0) {\n throw new Error(\"activeIndex does not represent any panel.\");\n }\n\n for (const activeTab of activeTabs) {\n if (!activeTab.disabled) {\n activeTab.isOpen = true;\n }\n }\n }\n }\n }\n\n private closeOtherTabs(exception: number) {\n this.panels.forEach((panel, index) => {\n if (index !== exception) {\n panel.isOpen = false;\n }\n });\n }\n\n private setBehavior(multiple: boolean): void {\n if (multiple) {\n this.enableMultiplePanelBehavior();\n } else {\n this.enableSinglePanelBehavior();\n }\n }\n\n private enableSinglePanelBehavior() {\n this.panels.forEach((panel, index) => {\n this.openSubs[index] = panel.panelOpened.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {\n this.closeOtherTabs(index);\n });\n });\n }\n\n private enableMultiplePanelBehavior() {\n this.panels.forEach((_, index) => {\n if (this.openSubs[index]) {\n this.openSubs[index].unsubscribe();\n }\n });\n }\n}\n","// switch.component.ts\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n@Component({\n selector: 's-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true,\n }],\n})\nexport class SwitchComponent implements ControlValueAccessor {\n @Input()\n public readonly = false;\n\n @Input()\n public trueLabel?: string;\n\n @Input()\n public falseLabel?: string;\n\n @Input()\n public inputId: string;\n\n @Input()\n public inputName: string;\n\n @Input()\n public disabled = false;\n\n @Output()\n public valueChanged = new EventEmitter<boolean>();\n\n @Input()\n public value = false;\n\n @ViewChild(\"switch\", { static: true })\n public switchRef: ElementRef;\n\n @HostListener('focusin')\n onFocusIn() {\n const switchElement = this.switchRef.nativeElement as HTMLDivElement; \n switchElement.classList.add(\"switch--focus\");\n }\n\n @HostListener('focusout')\n onFocusOut() {\n const switchElement = this.switchRef.nativeElement as HTMLDivElement; \n switchElement.classList.remove(\"switch--focus\");\n }\n\n private _onChange: (value: boolean) => void;\n private _onTouched: (value: boolean) => void;\n\n public writeValue(value: boolean): void {\n if (!this.disabled) {\n this.value = value;\n }\n }\n\n public registerOnChange(onChange: (value: boolean) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: boolean) => void): void {\n this._onTouched = onTouched;\n }\n\n public setDisabledState?(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n public toggleCheck() {\n this.value = !this.value;\n this.valueChanged.emit(this.value);\n\n if (this._onChange) {\n this._onChange(this.value);\n }\n\n if (this._onTouched) {\n this._onTouched(this.value);\n }\n }\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SwitchComponent } from \"./switch.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SwitchComponent],\n exports: [SwitchComponent],\n})\nexport class SwitchModule { }","export enum TooltipPosition {\n Top = \"top\",\n Bottom = \"bottom\",\n Left = \"left\",\n Right = \"right\",\n}\n","import { Component } from \"@angular/core\";\nimport { TooltipPosition } from \"./models/tooltip-position\";\n\n@Component({\n templateUrl: \"./tooltip.component.html\",\n styleUrls: [\"./tooltip.component.scss\"],\n})\nexport class TooltipComponent {\n public tooltip = \"\";\n public position = TooltipPosition.Top;\n public left = 0;\n public top = 0;\n public visible = false;\n public escape = false;\n}\n","import { Injectable } from '@angular/core';\n\nconst DEFAULT_TIMER = 300;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DebounceUtils {\n public debounce(func: Function, timeout = DEFAULT_TIMER){\n let timer: NodeJS.Timeout;\n return (...args: any) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n }\n\n public debounceLeading(func: Function, timeout = DEFAULT_TIMER) {\n let timer: NodeJS.Timeout;\n return (...args: any) => {\n if (!timer) {\n func.apply(this, args);\n }\n clearTimeout(timer);\n timer = setTimeout(() => {\n timer = null;\n }, timeout);\n };\n }\n}\n","export const isNullOrUndefined = (value: unknown) => value === null || value === undefined;\r\nexport type ElementPosition = {\r\n top: number;\r\n left: number;\r\n right: number;\r\n elementHeight: number;\r\n elementWidth: number;\r\n elementVerticalCenter: number;\r\n elementHorizontalCenter: number;\r\n};\r\n\r\nexport type ElementLeftoverPosition = {\r\n freeDistanceToBottom: number;\r\n freeDistanceToTop: number;\r\n freeDistanceToLeft: number;\r\n freeDistanceToRight: number;\r\n};\r\n\r\nexport const isMousePositionOutsideOfElement = (\r\n event: MouseEvent | PointerEvent,\r\n elementArea: {\r\n top: number;\r\n right: number;\r\n left: number;\r\n bottom: number;\r\n }\r\n) => {\r\n const eventX = event.clientX;\r\n const eventY = event.clientY;\r\n return eventX < elementArea.left || eventX >= elementArea.right || eventY < elementArea.top || eventY >= elementArea.bottom;\r\n};\r\n\r\nexport const getElementPositionInfo = (element: HTMLElement): ElementPosition => {\r\n const rect = element.getBoundingClientRect();\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop;\r\n const scrollLeft = window.scrollX || document.documentElement.scrollLeft;\r\n\r\n const elementHeight = rect.height;\r\n const elementWidth = rect.width;\r\n const elementVerticalCenter = elementHeight / 2;\r\n const elementHorizontalCenter = elementWidth / 2;\r\n\r\n return {\r\n top: rect.top + scrollTop,\r\n left: rect.left + scrollLeft,\r\n right: rect.left + scrollLeft + elementWidth,\r\n elementHeight,\r\n elementWidth,\r\n elementVerticalCenter,\r\n elementHorizontalCenter,\r\n };\r\n};\r\n\r\nexport const getElementLeftoverContentAvailable = (element: HTMLElement): ElementLeftoverPosition => {\r\n const windowWidth = window.innerWidth;\r\n const popoverElementTriggerRect = element.getBoundingClientRect();\r\n const freeDistanceToBottom = window.innerHeight - popoverElementTriggerRect.bottom;\r\n const freeDistanceToTop = popoverElementTriggerRect.top;\r\n const freeDistanceToLeft = popoverElementTriggerRect.left;\r\n const freeDistanceToRight = windowWidth - popoverElementTriggerRect.right;\r\n return {\r\n freeDistanceToBottom,\r\n freeDistanceToTop,\r\n freeDistanceToLeft,\r\n freeDistanceToRight,\r\n };\r\n};\r\n\r\n//////////////////////////////////\r\n// TODO: Remover no angular 18!!!!\r\n//////////////////////////////////\r\ndeclare function structuredClone<T>(value: T, options?: { transfer?: any[] }): T;\r\n\r\nexport const deepClone = <T>(obj: T): T => {\r\n if (typeof structuredClone === \"function\") return structuredClone(obj);\r\n return JSON.parse(JSON.stringify(obj));\r\n};\r\n","export enum MobileBehavior {\n Pressing = \"pressing\",\n Tap = \"tap\",\n}","export enum TooltipEvent {\n Focus = \"focus\",\n Hover = \"hover\",\n}","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n} from \"@angular/core\";\nimport { DebounceUtils } from \"../utils/debouce\";\nimport { getElementLeftoverContentAvailable, getElementPositionInfo, isMousePositionOutsideOfElement, isNullOrUndefined } from './../utils/utils';\nimport { MobileBehavior, TooltipEvent, TooltipPosition } from \"./models\";\nimport { TooltipComponent } from \"./tooltip.component\";\n\n@Directive({\n selector: \"[sTooltip]\",\n})\nexport class TooltipDirective implements OnInit, OnDestroy {\n @Input(\"sTooltip\")\n public tooltip: string;\n\n @Input(\"tooltipPosition\")\n public position: TooltipPosition = TooltipPosition.Top;\n\n @Input()\n public showDelay = 500;\n\n @Input()\n public displayTime: number;\n\n @Input()\n public tooltipEvent = TooltipEvent.Hover;\n\n @Input()\n public escape = false;\n\n @Input()\n public visible = true;\n\n @Input()\n public mobileBehavior = MobileBehavior.Pressing;\n\n @Input()\n public focusedInputRef: HTMLInputElement;\n\n private componentRef: ComponentRef<TooltipComponent> = null;\n private showTimeout?: number;\n private touchTimeout?: number;\n private tooltipDivElement?: HTMLElement;\n private readonly debounceCreateTooltipFunction: () => void;\n private tooltipCreatedByFocus = false;\n\n constructor(\n private readonly elementRef: ElementRef,\n private readonly appRef: ApplicationRef,\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly debounceUtils: DebounceUtils,\n private readonly renderer: Renderer2\n ) {\n this.debounceCreateTooltipFunction = this.debounceUtils.debounceLeading(() => this._createTooltip(true, true));\n }\n\n public ngOnInit(): void {\n this.validatePosition();\n this.updateTooltipVisibilityWhenFocusOnInput();\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n /**\n * Manipula a visibilidade do tooltip quando houver uma referência de input.\n */\n private updateTooltipVisibilityWhenFocusOnInput() {\n if (this.focusedInputRef) {\n const inputFocus = this.focusedInputRef;\n const icon = this.getIconFromFocusedInput();\n this.renderer.listen(inputFocus, \"focus\", () => {\n if (icon) {\n this._createTooltip(false, false)\n this.tooltipCreatedByFocus = true;\n }\n });\n this.renderer.listen(inputFocus, \"blur\", () => {\n if (icon) {\n this.removeTooltip(icon);\n this.destroy();\n this.tooltipCreatedByFocus = false;\n }\n });\n }\n }\n\n /**\n * Obtém o elemento do ícone associado ao label do input em focus.\n * @returns O ícone do input em focus.\n */\n private getIconFromFocusedInput(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Remove o tooltip associado ao ícone do input em focus.\n * @param icon O ícone do input em focus.\n */\n private removeTooltip(icon: HTMLElement): void {\n const tooltip = icon.querySelector(\".tooltip\") as HTMLElement;\n if (tooltip) {\n tooltip.remove();\n }\n }\n\n // whenever the component with the tooltip is clicked I destroy the tooltip.\n // whenever a key is pressed on the component with the tooltip I destroy the tooltip.\n @HostListener(\"click\")\n @HostListener(\"keydown\")\n public onClick(): void {\n if (this.tooltipEvent === TooltipEvent.Hover && !navigator.userAgent.match(/Android/i) && !navigator.userAgent.match(/iPhone/i)) {\n this.destroy();\n }\n }\n\n @HostListener(\"focus\")\n public onFocus(): void {\n if (this.tooltipEvent === TooltipEvent.Focus) {\n this._createTooltip(true, true)\n }\n }\n\n @HostListener(\"blur\")\n public onBlur(): void {\n if (this.tooltipEvent === TooltipEvent.Focus) {\n this.destroy();\n }\n }\n\n @HostListener(\"mouseenter\")\n public onMouseEnter(): void {\n if (this.tooltipEvent === TooltipEvent.Hover || this.focusedInputRef) {\n this.debounceCreateTooltipFunction();\n }\n }\n\n @HostListener(\"mouseleave\")\n @HostListener(\"wheel\")\n public onMouseLeave(): void {\n if ((this.tooltipEvent === TooltipEvent.Hover || this.focusedInputRef) && !this.tooltipCreatedByFocus) {\n this.destroy();\n }\n }\n\n @HostListener(\"touchstart\")\n public onTouchStart(): void {\n if (this.tooltipEvent === TooltipEvent.Hover) {\n window.clearTimeout(this.touchTimeout);\n const _delay = this.mobileBehavior === MobileBehavior.Pressing ? this.showDelay : 0\n this.touchTimeout = window.setTimeout(() => {\n this._createTooltip(true, true);\n }, _delay)\n }\n }\n\n @HostListener(\"touchend\")\n public onTouchEnd(): void {\n if (this.tooltipEvent === TooltipEvent.Hover) {\n if (this.mobileBehavior === MobileBehavior.Pressing) {\n window.clearTimeout(this.touchTimeout);\n this.destroy();\n }\n }\n }\n\n private validatePosition() {\n const containsPosition = [TooltipPosition.Top, TooltipPosition.Right, TooltipPosition.Bottom, TooltipPosition.Left].includes(\n this.position\n );\n\n if (!containsPosition) {\n this.position = TooltipPosition.Top;\n throw new Error(`Tooltip ${this.position} position is unexpected`);\n }\n }\n\n private getDomElement(): HTMLElement {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(TooltipComponent);\n this.componentRef = componentFactory.create(this.injector);\n this.appRef.attachView(this.componentRef.hostView);\n return (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n }\n\n private _createTooltip(useShowDelay = false, autoDestroy = true) {\n const hasText = this.tooltip?.length > 0;\n const hasComponentRef = this.componentRef !== null;\n if (!hasText || hasComponentRef) {\n return;\n }\n const domElement = this.getDomElement();\n document.body.appendChild(domElement);\n this.tooltipDivElement = domElement.querySelector(\".tooltip\");\n this.setTooltipComponentProperties();\n const _showDelay = useShowDelay ? this.showDelay : 0;\n setTimeout(() => {\n this.showTooltip()\n }, _showDelay)\n\n\n\n this.renderer.listen(window, \"scroll\", () => {\n this.setTooltipPositionProperty();\n });\n\n if (autoDestroy && this.displayTime) {\n setTimeout(() => {\n this.destroy();\n }, this.displayTime)\n }\n\n }\n\n private showTooltip() {\n if (this.componentRef !== null) {\n this.componentRef.instance.visible = this.visible;\n\n this.setTooltipPositionProperty();\n }\n }\n\n private setTooltipPositionProperty() {\n if (!this.componentRef) {\n return\n }\n const anchorSize = 5;\n const { left, right } = this.elementRef.nativeElement.getBoundingClientRect();\n\n const tooltipElementPosition = getElementPositionInfo(this.tooltipDivElement);\n const elementLeftover = getElementLeftoverContentAvailable(this.elementRef.nativeElement);\n const elementTriggerPosition = getElementPositionInfo(this.elementRef.nativeElement);\n const isPositionHorizontal = [TooltipPosition.Left, TooltipPosition.Right].includes(this.position);\n const distanceToBorders = isPositionHorizontal ? tooltipElementPosition.elementWidth : tooltipElementPosition.elementHorizontalCenter;\n const canSetAtTop = elementLeftover.freeDistanceToTop > tooltipElementPosition.elementHeight;\n const canSetAtLeft = elementLeftover.freeDistanceToLeft > distanceToBorders;\n const canSetAtRight = elementLeftover.freeDistanceToRight > distanceToBorders;\n const canSetAtBottom = elementLeftover.freeDistanceToBottom > tooltipElementPosition.elementHeight;\n const topVertical = elementTriggerPosition.top + elementTriggerPosition.elementVerticalCenter;\n const checkTopPosition = () => {\n return canSetAtTop && canSetAtLeft && canSetAtRight;\n }\n const checkBottomPosition = () => {\n return canSetAtBottom && canSetAtLeft && canSetAtRight;\n }\n const checkLeftPosition = () => {\n return canSetAtLeft && canSetAtTop && canSetAtBottom;\n }\n\n const checkRightPosition = () => {\n return canSetAtRight && canSetAtTop && canSetAtBottom;\n }\n\n const setTopPosition = (): { left: number, top: number } => {\n return {\n left: left + (right - left) / 2,\n top: elementTriggerPosition.top - anchorSize\n }\n }\n\n const setBottomPosition = (): { left: number, top: number } => {\n return {\n left: left + (right - left) / 2,\n top: elementTriggerPosition.top + elementTriggerPosition.elementHeight\n };\n }\n\n const setLeftPosition = (): { left: number, top: number } => {\n return {\n left: left,\n top: topVertical\n };\n }\n\n const setRightPosition = (): { left: number, top: number } => {\n return {\n left: right,\n top: topVertical\n };\n }\n\n type Position = {\n pos: TooltipPosition,\n check: () => boolean,\n set: () => { left: number, top: number }\n }\n\n const positions: Position[] = [\n {\n pos: TooltipPosition.Top,\n check: checkTopPosition,\n set: setTopPosition\n },\n {\n pos: TooltipPosition.Bottom,\n check: checkBottomPosition,\n set: setBottomPosition\n },\n {\n pos: TooltipPosition.Left,\n check: checkLeftPosition,\n set: setLeftPosition\n },\n {\n pos: TooltipPosition.Right,\n check: checkRightPosition,\n set: setRightPosition\n\n }\n ];\n\n const positionDefined = positions.find((position) => position.pos === this.position);\n let validPosition: Position = positionDefined;\n const canUseDefinedPosition = positionDefined.check();\n if (canUseDefinedPosition) {\n validPosition = positionDefined;\n } else if (!canUseDefinedPosition) {\n const validAlternativePosition = positions.find((position) => position.check());\n if (validAlternativePosition) {\n validPosition = validAlternativePosition;\n }\n }\n const _position = validPosition.set();\n const positionLeft = _position.left;\n const positionTop = _position.top;\n this.componentRef.instance.left = Math.round(positionLeft);\n this.componentRef.instance.top = Math.round(positionTop);\n this.componentRef.instance.position = validPosition.pos;\n\n }\n private setTooltipComponentProperties() {\n if (this.componentRef !== null) {\n this.componentRef.instance.tooltip = this.tooltip;\n this.componentRef.instance.escape = this.escape;\n }\n }\n\n private destroy(): void {\n if (!isNullOrUndefined(this.componentRef)) {\n window.clearTimeout(this.showTimeout);\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.componentRef = null;\n this.tooltipDivElement = null;\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TooltipComponent } from \"./tooltip.component\";\nimport { TooltipDirective } from \"./tooltip.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n TooltipComponent,\n TooltipDirective,\n ],\n exports: [TooltipDirective],\n})\nexport class TooltipModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { SwitchModule } from \"../switch/switch.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { AccordionComponent } from \"./accordion.component\";\nimport { AccordionPanelComponent } from \"./components/accordion-panel/accordion-panel.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TooltipModule,\n SwitchModule,\n ],\n declarations: [\n AccordionComponent,\n AccordionPanelComponent,\n ],\n exports: [\n AccordionComponent,\n AccordionPanelComponent,\n ],\n})\nexport class AccordionModule { }\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: \"s-alert\",\n templateUrl: \"./alert.component.html\",\n styleUrls: [\"./alert.component.scss\"],\n})\nexport class AlertComponent {\n @Input()\n public severity: \"info\" | \"success\" | \"warning\" | \"error\" = \"info\";\n\n @Input()\n public summary: string;\n\n @Input()\n public detail: string;\n\n @Input()\n public closable = true;\n\n @Output()\n public close = new EventEmitter<void>();\n\n public get isOpen(): boolean {\n return this._isOpen;\n }\n\n public closeAlert(): void {\n this._isOpen = false;\n }\n\n public showAlert(): void {\n this._isOpen = true;\n }\n\n public onClose(): void {\n this.close.emit();\n this.closeAlert();\n }\n\n private _isOpen = true;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { AlertComponent } from \"./alert.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [AlertComponent],\n exports: [AlertComponent],\n})\nexport class AlertModule {}\n","// Lembrar que toda vez que for adicionada uma cor nova, ser criada a referência no `EnumBadgeColors`\n// do s-table-columns.\n\nexport enum BadgeColors {\n Red = \"red\",\n Orange = \"orange\",\n Yellow = \"yellow\",\n Blue = \"blue\",\n Green = \"green\",\n Gray = \"gray\",\n}","export enum BadgeTypes {\n Pill = \"pill\",\n Chip = \"chip\",\n}\n","import { Component, EventEmitter, HostListener, Input, OnInit, Output } from \"@angular/core\";\n\nimport { BadgeColors } from \"./models/badge-colors\";\nimport { BadgeTypes } from \"./models/badge-types\";\n\n@Component({\n selector: \"s-badge\",\n templateUrl: \"./badge.component.html\",\n styleUrls: [\"./badge.component.scss\"],\n})\nexport class BadgeComponent implements OnInit {\n @Input()\n public type: BadgeTypes;\n\n @Input()\n public color: BadgeColors;\n\n @Input()\n public title: string;\n\n @Input()\n public text: string;\n\n @Input()\n public selectable = false;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public iconPosition: \"left\" | \"right\";\n\n @Input()\n public infoSign: { text: string; displayTime?: number };\n\n @Output()\n public selected: EventEmitter<string> = new EventEmitter();\n\n @HostListener(\"click\")\n public onClick(): void {\n this.selected.emit(this.text);\n }\n\n public ngOnInit(): void {\n this._setDefaultValues();\n }\n\n private _setDefaultValues(): void {\n this.type = this.type ?? BadgeTypes.Pill;\n this.color = this.color ?? BadgeColors.Blue;\n this.iconPosition = this.iconPosition ?? \"left\";\n }\n}","import { Component, TemplateRef } from \"@angular/core\";\n\n@Component({\n selector: \"s-info-sign-component\",\n templateUrl: \"./info-sign.component.html\",\n styleUrls: [\"./info-sign.component.scss\"],\n})\nexport class InfoSignComponent {\n templateRef: TemplateRef<any>;\n tooltip: string;\n displayTime: number;\n focusedInputRef: HTMLInputElement;\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n} from \"@angular/core\";\n\nimport { InfoSignComponent } from \"./info-sign.component\";\n\n@Directive({\n selector: \"[sInfoSign]\"\n})\nexport class InfoSignDirective implements OnChanges, OnInit, OnDestroy {\n @Input()\n sInfoSign: string;\n\n @Input('sInfoSignDisplayTime')\n displayTime: number = 5000;\n\n @Input('sInfoSignFocusedInputRef')\n public focusedInputRef: HTMLInputElement;\n\n private componentRef: ComponentRef<any>;\n\n @Input('sInfoSignUseFocusedInputRef') public useFocusedInputRef = true;\n\n constructor(\n private readonly templateRef: TemplateRef<any>,\n private readonly viewContainer: ViewContainerRef,\n private readonly componentFactoryResolver: ComponentFactoryResolver\n ) { }\n\n public ngOnChanges(): void {\n this.createInfoSign();\n }\n\n public ngOnInit(): void {\n this.createInfoSign();\n }\n\n public ngOnDestroy(): void {\n if (this.componentRef) {\n this.componentRef.destroy();\n }\n }\n\n private createInfoSign(): void {\n if (!this.componentRef && this.sInfoSign) {\n this.viewContainer.clear();\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(InfoSignComponent);\n this.componentRef = this.viewContainer.createComponent(componentFactory);\n const _infoSignComponent = this.componentRef.instance as InfoSignComponent;\n _infoSignComponent.templateRef = this.templateRef;\n _infoSignComponent.tooltip = this.sInfoSign;\n _infoSignComponent.displayTime = this.displayTime;\n if (this.useFocusedInputRef) {\n _infoSignComponent.focusedInputRef = this.focusedInputRef;\n }\n } else if (this.componentRef && this.sInfoSign) {\n this.componentRef.instance.tooltip = this.sInfoSign;\n } else {\n this.viewContainer.clear();\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { InfoSignComponent } from \"./info-sign.component\";\nimport { InfoSignDirective } from \"./info-sign.directive\";\n\n@NgModule({\n imports: [\n TooltipModule,\n CommonModule,\n ],\n declarations: [\n InfoSignDirective,\n InfoSignComponent,\n ],\n exports: [InfoSignDirective],\n entryComponents: [InfoSignComponent],\n})\nexport class InfoSignModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { BadgeComponent } from \"./badge.component\";\nimport { InfoSignModule } from \"../info-sign/info-sign.module\";\n\n@NgModule({\n imports: [CommonModule, RouterModule, InfoSignModule],\n declarations: [BadgeComponent],\n exports: [BadgeComponent, RouterModule],\n})\nexport class BadgeModule {}\n","export interface ICalendarLocaleOptions {\n hourFormat?: string;\n dateFormat?: string;\n firstDayOfWeek?: number;\n today?: string;\n clear?: string;\n dayNames?: string[];\n dayNamesShort?: string[];\n dayNamesMin?: string[];\n monthNamesShort?: string[];\n monthNames?: string[];\n}\n\nexport class CalendarLocaleOptions implements ICalendarLocaleOptions {\n public hourFormat = \"24\";\n public dateFormat = \"dd/mm/yy\";\n public firstDayOfWeek = 0;\n public today = \"Hoje\";\n public clear = \"Limpar\";\n public dayNames: string[] = [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"];\n public dayNamesShort: string[] = [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sab\"];\n public dayNamesMin: string[] = [\"D\", \"S\", \"T\", \"Q\", \"Q\", \"S\", \"S\"];\n public monthNamesShort: string[] = [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"];\n public monthNames: string[] = [\n \"Janeiro\",\n \"Fevereiro\",\n \"Março\",\n \"Abril\",\n \"Maio\",\n \"Junho\",\n \"Julho\",\n \"Agosto\",\n \"Setembro\",\n \"Outubro\",\n \"Novembro\",\n \"Dezembro\",\n ];\n\n constructor(config: ICalendarLocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n","export interface INumberLocaleOptions {\n thousandsSeparator?: string;\n decimalSeparator?: string;\n currencySymbol?: string;\n}\n\nexport class NumberLocaleOptions implements INumberLocaleOptions {\n public thousandsSeparator = \".\";\n public decimalSeparator = \",\";\n public currencySymbol = \"R$\";\n\n constructor(config: INumberLocaleOptions = {}) {\n Object.assign(this, config);\n }\n}\n","import { CalendarLocaleOptions } from \"./calendar\";\nimport { NumberLocaleOptions } from \"./number\";\n\nexport interface ILocaleOptions {\n calendar?: CalendarLocaleOptions;\n number?: NumberLocaleOptions;\n}\n\nexport class LocaleOptions implements ILocaleOptions {\n locale: string;\n calendar = new CalendarLocaleOptions();\n number = new NumberLocaleOptions();\n\n constructor(config: ILocaleOptions = {}) {\n Object.keys(config).forEach(key => (this[key] = config[key] || this[key]));\n }\n}\n\n/**\n * @deprecated\n */\nexport const DEFAULT_CALENDAR_LOCALE_OPTIONS = new CalendarLocaleOptions();\n\n/**\n * @deprecated\n */\nexport const DEFAULT_NUMBER_LOCALE_OPTIONS = new NumberLocaleOptions();\n\n/**\n * @deprecated\n */\nexport const DEFAULT_LOCALE_OPTIONS = new LocaleOptions();\n\nexport * from \"./calendar\";\nexport * from \"./number\";\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { user } from \"@seniorsistemas/senior-platform-data\";\nimport * as moment_ from \"moment\";\nimport { from, Observable, of } from \"rxjs\";\nimport { catchError, map, switchMap, tap } from \"rxjs/operators\";\nimport { ILocaleOptions, LocaleOptions } from \"./options/index\";\nimport { CookieService } from \"ngx-cookie-service\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Injectable()\nexport class LocaleService {\n private locale: string;\n private localeOptions: LocaleOptions;\n private localeOptionsAddress = \"https://cdn.senior.com.br/primeng/locales\";\n private localeOptionsVersion = \"3.0.0\";\n\n constructor(\n private http: HttpClient,\n private cookieService: CookieService\n ) {}\n\n get(): Observable<LocaleOptions> {\n return this.localeOptions\n ? of(this.localeOptions)\n : this.getLocaleConfig().pipe(\n tap((localeOptions: LocaleOptions) => (this.localeOptions = { ...localeOptions, locale: this.locale }))\n );\n }\n\n getLocale(): Observable<string> {\n return this.locale\n ? of(this.locale)\n : from(this.getUserData()).pipe(\n map((userData: any) => {\n this.locale = <string>userData.locale || <string>userData.tenantLocale || \"pt-BR\";\n return this.locale;\n })\n );\n }\n\n /**\n * Returns an object with the locale options based on the user's locale(platform locale).\n * @return The locale options object.\n */\n getLocaleOptions(): LocaleOptions {\n return this.localeOptions;\n }\n\n private getUserData() {\n try {\n return of(JSON.parse(this.cookieService.get(\"com.senior.token\")));\n } catch (ex) {\n console.warn(\"Unable to obtain user locale from cookie, calling getUser\");\n return user.getUserData();\n }\n }\n\n private getLocaleConfig(): Observable<LocaleOptions> {\n return this.getLocale().pipe(\n switchMap((locale: string) => {\n moment.locale(locale);\n\n return this.http\n .get<ILocaleOptions>(`${this.localeOptionsAddress}/${this.localeOptionsVersion}/${locale}.json`)\n .pipe(map((response) => new LocaleOptions(response)));\n }),\n catchError((err: any) => {\n console.warn(`Error getting locale configuration. Using fallback.`, err);\n return of(new LocaleOptions());\n })\n );\n }\n\n getGroupingSeparator(): string {\n const numberFormat = new Intl.NumberFormat(this.locale, {\n style: \"decimal\",\n useGrouping: true,\n minimumFractionDigits: 5,\n maximumFractionDigits: 5,\n });\n\n // The default groupingSeparator for 'fr' is the character code 8239. We need it to be the regular space.\n if (this.locale.includes(\"fr\")) return \" \";\n\n return numberFormat.formatToParts(1000).find((part) => part.type === \"group\")?.value;\n }\n\n getDecimalSeparator(): string {\n const numberFormat = new Intl.NumberFormat(this.locale, {\n style: \"decimal\",\n minimumFractionDigits: 5,\n maximumFractionDigits: 5,\n });\n\n return numberFormat.formatToParts(1.2).find((part) => part.type === \"decimal\")?.value;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { applyMask, MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport BigNumber from \"bignumber.js\";\n\n@Pipe({\n name: \"localizedBignumber\",\n})\nexport class LocalizedBignumberPipe implements PipeTransform {\n constructor(\n private localeService: LocaleService\n ) {}\n\n public transform(value?: any, options?: MaskConfig): any {\n return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\n }\n\n private applyMask(value?: any, options?: MaskConfig) {\n return this.localeService.get().pipe(\n map(localeConfig => {\n const configs: MaskConfig = {\n prefix: options?.prefix ?? localeConfig?.number?.currencySymbol ?? \"R$\",\n thousandsSeparator: options?.thousandsSeparator ?? localeConfig?.number?.thousandsSeparator ?? \".\",\n decimalSeparator: options?.decimalSeparator ?? localeConfig?.number?.decimalSeparator ?? \",\",\n scale: options?.scale ?? 2,\n allowNegative: options?.allowNegative ?? true\n };\n const isNumber = !(new BigNumber(value).isNaN());\n return applyMask(value, configs, isNumber);\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport { LocalizedBignumberPipe } from \"./localized-bignumber.pipe\";\n\n@Pipe({\n name: \"localizedBignumberImpure\",\n pure: false,\n})\nexport class LocalizedBignumberImpurePipe extends LocalizedBignumberPipe implements PipeTransform {\n public transform(value?: any, options?: MaskConfig): any {\n return super.transform(value, options);\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\nimport { of } from \"rxjs\";\nimport { INumberLocaleOptions, NumberLocaleOptions } from \"../options\";\n\nexport interface ILocalizedCurrencyPipeOptions extends INumberLocaleOptions {\n scale?: number;\n}\n\nexport class LocalizedCurrencyPipeOptions extends NumberLocaleOptions implements ILocalizedCurrencyPipeOptions {\n public scale = 2;\n\n constructor(config: ILocalizedCurrencyPipeOptions = {}) {\n super(config);\n }\n}\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({\n name: \"localizedCurrency\",\n})\nexport class LocalizedCurrencyPipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value?: any, options?: LocalizedCurrencyPipeOptions): any {\n if (!options) {\n options = new LocalizedCurrencyPipeOptions();\n }\n return value !== undefined && value !== null ? this.applyMask(value, options) : of(value);\n }\n\n private applyMask(value: any, options: LocalizedCurrencyPipeOptions) {\n return this.localeService.get().pipe(\n map(localeConfig => {\n const config = { ...localeConfig.number, ...options };\n const { scale, currencySymbol, thousandsSeparator, decimalSeparator } = config;\n\n const rawValue = Number(value).toFixed(scale);\n const onlyNumbers = rawValue.replace(/[^0-9]/g, ``);\n const integerPart =\n onlyNumbers\n .slice(0, onlyNumbers.length - scale)\n .replace(/^0*/g, ``)\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator) || `0`;\n const decimalPart = onlyNumbers.slice(onlyNumbers.length - scale);\n const newValue = scale ? integerPart + decimalSeparator + decimalPart : integerPart;\n const isZero = !Number(onlyNumbers);\n const operator = rawValue.includes(\"-\") && !isZero ? \"-\" : \"\";\n return `${operator}${currencySymbol}${newValue}`;\n })\n );\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedCurrencyPipe, LocalizedCurrencyPipeOptions } from \"./localized-currency.pipe\";\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({\n name: \"localizedCurrencyImpure\",\n pure: false,\n})\nexport class LocalizedCurrencyImpurePipe extends LocalizedCurrencyPipe implements PipeTransform {\n public transform(value?: any, options: LocalizedCurrencyPipeOptions = new LocalizedCurrencyPipeOptions()): any {\n return super.transform(value, options);\n }\n}\n","import * as moment_ from \"moment\";\nimport { Pipe, PipeTransform } from \"@angular/core\";\n\nimport { LocaleService } from \"../locale.service\";\nimport { map } from \"rxjs/operators\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Pipe({\n name: \"localizedDate\",\n})\nexport class LocalizedDatePipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value: any, format: string = \"L LTS\"): any {\n return this.localeService.get().pipe(map(() => (value ? moment(value).format(format) : value)));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedDatePipe } from \"./localized-date.pipe\";\n\n@Pipe({\n name: \"localizedDateImpure\",\n pure: false,\n})\nexport class LocalizedDateImpurePipe extends LocalizedDatePipe implements PipeTransform {}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { from } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { LocaleService } from \"../locale.service\";\n\n/**\n * @deprecated Should use localizedBignumberPipe instead\n */\n@Pipe({ name: \"localizedNumber\" })\nexport class LocalizedNumberPipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n transform(value: number | string, minimumFractionDigits?: number) {\n return from(this.localeService.getLocale()).pipe(\n map((locale: string) => {\n const numericValue = Number(value);\n\n if (!value && isNaN(numericValue)) return;\n\n return new Intl.NumberFormat(locale, {\n minimumFractionDigits: minimumFractionDigits || 0,\n }).format(Number(value));\n })\n );\n }\n}\n\nexport interface Locale {\n localidade?: string;\n tenantLocale?: string;\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport * as moment_ from \"moment\";\nimport { map } from \"rxjs/operators\";\n\nimport { LocaleService } from \"../locale.service\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\n\n@Pipe({\n name: \"localizedTime\",\n})\nexport class LocalizedTimePipe implements PipeTransform {\n constructor(private localeService: LocaleService) {}\n\n public transform(value: any, format: string = \"LTS\"): any {\n return this.localeService.get().pipe(map(() => (value ? moment(value, \"HH:mm:ss\").format(format) : value)));\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { LocalizedTimePipe } from \"./localized-time.pipe\";\n\n@Pipe({\n name: \"localizedTimeImpure\",\n pure: false,\n})\nexport class LocalizedTimeImpurePipe extends LocalizedTimePipe implements PipeTransform {}\n","import { Injectable } from \"@angular/core\";\r\nimport { LocaleService } from \"../../components/locale/locale.service\";\r\n\r\n@Injectable({ providedIn: \"root\" })\r\nexport class CurrencyService {\r\n currencies = {\r\n KHR: { precision: 12, scale: 2 },\r\n SSP: { precision: 12, scale: 2 },\r\n XCD: { precision: 12, scale: 2 },\r\n EGP: { precision: 12, scale: 2 },\r\n KWD: { precision: 12, scale: 3 },\r\n YER: { precision: 12, scale: 2 },\r\n HUF: { precision: 12, scale: 2 },\r\n MXN: { precision: 12, scale: 2 },\r\n MYR: { precision: 12, scale: 2 },\r\n ZWL: { precision: 12, scale: 2 },\r\n MUR: { precision: 12, scale: 2 },\r\n DKK: { precision: 12, scale: 2 },\r\n NOK: { precision: 12, scale: 2 },\r\n DJF: { precision: 12, scale: 0 },\r\n CRC: { precision: 12, scale: 2 },\r\n BND: { precision: 12, scale: 2 },\r\n NAD: { precision: 12, scale: 2 },\r\n MKD: { precision: 12, scale: 2 },\r\n CDF: { precision: 12, scale: 2 },\r\n GNF: { precision: 12, scale: 0 },\r\n EUR: { precision: 12, scale: 2 },\r\n OMR: { precision: 12, scale: 3 },\r\n CLP: { precision: 12, scale: 0 },\r\n BSD: { precision: 12, scale: 2 },\r\n TOP: { precision: 12, scale: 2 },\r\n IRR: { precision: 12, scale: 2 },\r\n BGN: { precision: 12, scale: 2 },\r\n BZD: { precision: 12, scale: 2 },\r\n CNY: { precision: 12, scale: 2 },\r\n FJD: { precision: 12, scale: 2 },\r\n SRD: { precision: 12, scale: 2 },\r\n SOS: { precision: 12, scale: 2 },\r\n GYD: { precision: 12, scale: 2 },\r\n VUV: { precision: 12, scale: 0 },\r\n MWK: { precision: 12, scale: 2 },\r\n MRU: { precision: 12, scale: 2 },\r\n LSL: { precision: 12, scale: 2 },\r\n ERN: { precision: 12, scale: 2 },\r\n BMD: { precision: 12, scale: 2 },\r\n WST: { precision: 12, scale: 2 },\r\n LRD: { precision: 12, scale: 2 },\r\n GMD: { precision: 12, scale: 2 },\r\n ARS: { precision: 12, scale: 2 },\r\n ZAR: { precision: 12, scale: 2 },\r\n RSD: { precision: 12, scale: 2 },\r\n MDL: { precision: 12, scale: 2 },\r\n USD: { precision: 12, scale: 2 },\r\n QAR: { precision: 12, scale: 2 },\r\n HRK: { precision: 12, scale: 2 },\r\n GIP: { precision: 12, scale: 2 },\r\n NPR: { precision: 12, scale: 2 },\r\n \"002\": { precision: 9, scale: 4 },\r\n PLN: { precision: 12, scale: 2 },\r\n MAD: { precision: 12, scale: 2 },\r\n BAM: { precision: 12, scale: 2 },\r\n BTN: { precision: 12, scale: 2 },\r\n BBD: { precision: 12, scale: 2 },\r\n SHP: { precision: 12, scale: 2 },\r\n LKR: { precision: 12, scale: 2 },\r\n KPW: { precision: 12, scale: 2 },\r\n LAK: { precision: 12, scale: 2 },\r\n SZL: { precision: 12, scale: 2 },\r\n PHP: { precision: 12, scale: 2 },\r\n RWF: { precision: 12, scale: 0 },\r\n ISK: { precision: 12, scale: 0 },\r\n XOF: { precision: 12, scale: 0 },\r\n AUD: { precision: 12, scale: 2 },\r\n NGN: { precision: 12, scale: 2 },\r\n KGS: { precision: 12, scale: 2 },\r\n KYD: { precision: 12, scale: 2 },\r\n PGK: { precision: 12, scale: 2 },\r\n DZD: { precision: 12, scale: 2 },\r\n XAF: { precision: 12, scale: 0 },\r\n PEN: { precision: 12, scale: 2 },\r\n JPY: { precision: 12, scale: 0 },\r\n SBD: { precision: 12, scale: 2 },\r\n UGX: { precision: 12, scale: 0 },\r\n AMD: { precision: 12, scale: 2 },\r\n AED: { precision: 12, scale: 2 },\r\n ALL: { precision: 12, scale: 2 },\r\n XPF: { precision: 12, scale: 0 },\r\n AFN: { precision: 12, scale: 2 },\r\n RON: { precision: 12, scale: 2 },\r\n TND: { precision: 12, scale: 3 },\r\n NZD: { precision: 12, scale: 2 },\r\n JOD: { precision: 12, scale: 3 },\r\n VND: { precision: 12, scale: 0 },\r\n ETB: { precision: 12, scale: 2 },\r\n PYG: { precision: 12, scale: 0 },\r\n JMD: { precision: 12, scale: 2 },\r\n KES: { precision: 12, scale: 2 },\r\n IDR: { precision: 12, scale: 2 },\r\n HKD: { precision: 12, scale: 2 },\r\n BDT: { precision: 12, scale: 2 },\r\n GBP: { precision: 12, scale: 2 },\r\n AOA: { precision: 12, scale: 2 },\r\n PKR: { precision: 12, scale: 2 },\r\n TRY: { precision: 12, scale: 2 },\r\n SLL: { precision: 12, scale: 2 },\r\n CVE: { precision: 12, scale: 2 },\r\n LYD: { precision: 12, scale: 3 },\r\n ILS: { precision: 12, scale: 2 },\r\n UZS: { precision: 12, scale: 2 },\r\n CHF: { precision: 12, scale: 2 },\r\n SVC: { precision: 12, scale: 2 },\r\n BRL: { precision: 12, scale: 2 },\r\n GHS: { precision: 12, scale: 2 },\r\n CUP: { precision: 12, scale: 2 },\r\n FKP: { precision: 12, scale: 2 },\r\n NIO: { precision: 12, scale: 2 },\r\n GEL: { precision: 12, scale: 2 },\r\n TTD: { precision: 12, scale: 2 },\r\n AAA: { precision: 1, scale: 1 },\r\n COP: { precision: 12, scale: 2 },\r\n MGA: { precision: 12, scale: 2 },\r\n INR: { precision: 12, scale: 2 },\r\n KRW: { precision: 12, scale: 0 },\r\n HNL: { precision: 12, scale: 2 },\r\n MMK: { precision: 12, scale: 2 },\r\n TZS: { precision: 12, scale: 2 },\r\n THB: { precision: 12, scale: 2 },\r\n TMT: { precision: 12, scale: 2 },\r\n SAR: { precision: 12, scale: 2 },\r\n UYU: { precision: 12, scale: 2 },\r\n BIF: { precision: 12, scale: 0 },\r\n MVR: { precision: 12, scale: 2 },\r\n RUB: { precision: 12, scale: 2 },\r\n GTQ: { precision: 12, scale: 2 },\r\n SCR: { precision: 12, scale: 2 },\r\n IQD: { precision: 12, scale: 3 },\r\n UAH: { precision: 12, scale: 2 },\r\n BYN: { precision: 12, scale: 2 },\r\n VES: { precision: 12, scale: 2 },\r\n BOB: { precision: 12, scale: 2 },\r\n SGD: { precision: 12, scale: 2 },\r\n ZMW: { precision: 12, scale: 2 },\r\n CZK: { precision: 12, scale: 2 },\r\n TJS: { precision: 12, scale: 2 },\r\n DOP: { precision: 12, scale: 2 },\r\n AZN: { precision: 12, scale: 2 },\r\n PAB: { precision: 12, scale: 2 },\r\n STN: { precision: 12, scale: 2 },\r\n SDG: { precision: 12, scale: 2 },\r\n BWP: { precision: 12, scale: 2 },\r\n BHD: { precision: 12, scale: 3 },\r\n CAD: { precision: 12, scale: 2 },\r\n MNT: { precision: 12, scale: 2 },\r\n MOP: { precision: 12, scale: 2 },\r\n HTG: { precision: 12, scale: 2 },\r\n KZT: { precision: 12, scale: 2 },\r\n LBP: { precision: 12, scale: 2 },\r\n SYP: { precision: 12, scale: 2 },\r\n TWD: { precision: 12, scale: 2 },\r\n MZN: { precision: 12, scale: 2 },\r\n ANG: { precision: 12, scale: 2 },\r\n SEK: { precision: 12, scale: 2 },\r\n KMF: { precision: 12, scale: 0 },\r\n AWG: { precision: 12, scale: 2 },\r\n };\r\n\r\n constructor(private readonly localeService: LocaleService) {}\r\n\r\n getCurrencySymbol({ currency }: { currency: string }): string {\r\n const numberFormat = new Intl.NumberFormat(this.localeService.getLocaleOptions().locale, {\r\n style: \"currency\",\r\n currency: currency ?? \"BRL\",\r\n currencyDisplay: \"narrowSymbol\",\r\n maximumFractionDigits: 5,\r\n });\r\n\r\n return numberFormat.formatToParts(1).find((x) => x.type === \"currency\")?.value ?? \"\";\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\nimport { LocaleService } from \"../locale.service\";\nimport BigNumber from \"bignumber.js\";\nimport { CurrencyService } from \"../../../utils/currency/currency.service\";\nimport { isNullOrUndefined } from \"../../utils/utils\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class NumericService {\n constructor(\n private readonly localeService: LocaleService,\n private readonly currencyService: CurrencyService\n ) {}\n\n /**\n * Wrapper around Intl.NumberFormat that returns the localized value using the user's locale by default(platform's preferential language).\n *\n * This method should only be used after the localeService has been initialized by the host application, either by a resolver or a manual call.\n *\n * Can be overwritten by the provided Intl.NumberFormatOptions.\n *\n * Documentation is available at {@link https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat Intl.NumberFormatOptions}.\n *\n * @param {number | string | BigNumber} value The value to be formatted.\n * @param options Locale and numberFormatOptions that overwrites the default Intl.NumberFormatOptions.\n * @return `string` The formatted value.\n */\n instant(\n value: number | string | BigNumber,\n options?: {\n locale?: string;\n numberFormatOptions?: Intl.NumberFormatOptions;\n }\n ): string {\n if (isNullOrUndefined(value))\n return null;\n\n options = {\n ...options,\n locale: options?.locale ?? this.localeService.getLocaleOptions()?.locale ?? \"pt-BR\",\n numberFormatOptions: {\n useGrouping: true,\n ...options?.numberFormatOptions,\n currency:\n options?.numberFormatOptions?.style === \"currency\" ? (options?.numberFormatOptions?.currency ?? \"BRL\") : undefined,\n currencyDisplay:\n options?.numberFormatOptions?.style === \"currency\"\n ? (options?.numberFormatOptions?.currencyDisplay ?? \"narrowSymbol\")\n : undefined,\n minimumFractionDigits:\n options?.numberFormatOptions?.minimumFractionDigits ??\n this.getCurrencyMinimumFractionDigits(options?.numberFormatOptions?.currency),\n },\n };\n\n options.numberFormatOptions[\"roundingMode\"] = \"trunc\";\n\n // From https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat\n return new Intl.NumberFormat(options.locale, options.numberFormatOptions).format(\n this.getType(value) === \"number\" || this.getType(value) === \"string\" ? value : ((value as BigNumber).toString() as any)\n );\n }\n\n private getCurrencyMinimumFractionDigits(currency: string): number {\n if (!currency) return null;\n\n return this.currencyService.currencies[currency.toUpperCase()]?.scale;\n }\n\n private getType(value: unknown): string {\n // From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof\n\n if (value === null) {\n return \"null\";\n }\n\n const baseType = typeof value;\n\n // Primitive types\n if (baseType !== \"object\" && baseType !== \"function\") {\n return baseType;\n }\n\n // Symbol.toStringTag often specifies the \"display name\" of the\n // object's class. It's used in Object.prototype.toString().\n const tag = value[Symbol.toStringTag];\n\n if (typeof tag === \"string\") {\n return tag;\n }\n\n // If it's a function whose source code starts with the \"class\" keyword\n if (baseType === \"function\" && Function.prototype.toString.call(value).startsWith(\"class\")) {\n return \"class\";\n }\n\n // The name of the constructor; for example `Array`, `GeneratorFunction`,\n // `Number`, `String`, `Boolean` or `MyCustomClass`\n const className = value.constructor.name;\n\n if (typeof className === \"string\" && className !== \"\") {\n return className;\n }\n\n // At this point there's no robust way to get the type of value,\n // so we use the base implementation.\n return baseType;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport BigNumber from \"bignumber.js\";\nimport { of } from \"rxjs\";\nimport { map } from \"rxjs/operators\";\nimport { LocaleService } from \"../locale.service\";\nimport { NumericService } from \"../services/numeric.service\";\n\n@Pipe({ name: \"numeric\" })\nexport class NumericPipe implements PipeTransform {\n constructor(\n private readonly numericService: NumericService,\n private readonly localeService: LocaleService\n ) {}\n\n transform(\n value: number | string | BigNumber,\n options?: {\n locale?: string;\n numberFormatOptions?: Intl.NumberFormatOptions;\n }\n ) {\n return options?.locale\n ? of(this.numericService.instant(value, options))\n : this.localeService.getLocale().pipe(\n map((locale) =>\n this.numericService.instant(value, {\n locale,\n numberFormatOptions: options?.numberFormatOptions,\n })\n )\n );\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders } from \"@angular/core\";\nimport { NgModule } from \"@angular/core\";\nimport { LocaleService } from \"./locale.service\";\nimport { LocalizedBignumberImpurePipe } from \"./pipes/localized-bignumber-impure.pipe\";\nimport { LocalizedBignumberPipe } from \"./pipes/localized-bignumber.pipe\";\nimport { LocalizedCurrencyImpurePipe } from \"./pipes/localized-currency-impure.pipe\";\nimport { LocalizedCurrencyPipe } from \"./pipes/localized-currency.pipe\";\nimport { LocalizedDateImpurePipe } from \"./pipes/localized-date-impure.pipe\";\nimport { LocalizedDatePipe } from \"./pipes/localized-date.pipe\";\nimport { LocalizedNumberPipe } from \"./pipes/localized-number.pipe\";\nimport { LocalizedTimeImpurePipe } from \"./pipes/localized-time-impure.pipe\";\nimport { LocalizedTimePipe } from \"./pipes/localized-time.pipe\";\nimport { NumericPipe } from \"./pipes/numeric.pipe\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe,\n NumericPipe\n ],\n declarations: [\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe,\n NumericPipe\n ],\n})\nexport class LocaleModule {\n public static forRoot(): ModuleWithProviders {\n return {\n ngModule: LocaleModule,\n providers: [\n LocaleService,\n LocalizedCurrencyPipe,\n LocalizedDatePipe,\n LocalizedTimePipe,\n LocalizedNumberPipe,\n LocalizedCurrencyImpurePipe,\n LocalizedDateImpurePipe,\n LocalizedTimeImpurePipe,\n LocalizedBignumberPipe,\n LocalizedBignumberImpurePipe,\n NumericPipe\n ],\n };\n }\n\n public static forChild(): ModuleWithProviders {\n return {\n ngModule: LocaleModule,\n };\n }\n}\n","import {\n Directive,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { AlignmentOptions, CurrencyMaskDirective } from \"@seniorsistemas/ng2-currency-mask\";\nimport { first } from \"rxjs/operators\";\nimport { LocaleService } from \"../locale\";\n\n@Directive({\n selector: \"input[sBignumberInput]\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BignumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class BignumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges {\n @Input()\n public precision = 15;\n\n @Input()\n public scale = 0;\n\n @Input()\n public decimalSeparator: string;\n\n @Input()\n public thousandsSeparator: string;\n\n @Input()\n public alignTo = AlignmentOptions.LEFT;\n\n @Input()\n public allowNegative = true;\n\n @Input()\n @HostBinding(\"attr.placeholder\")\n public placeholder: string;\n\n @HostBinding(\"attr.maxLength\")\n public maxLength: number;\n\n @Output()\n public pasteRejected = new EventEmitter<string>();\n\n private _maxLength: number;\n private readonly _angularComponentsLocaleService: LocaleService;\n\n constructor(injector: Injector) {\n super(injector);\n\n this._angularComponentsLocaleService = injector.get(LocaleService);\n this.onLocaleService();\n }\n\n public ngOnInit(): void {\n this.updateVariables();\n\n super.ngOnInit();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const placeholderChange = changes.placeholder && changes.placeholder.currentValue;\n if (!placeholderChange && this.scale) {\n this.placeholder = `0${this.decimalSeparator}${\"\".padEnd(this.scale, \"0\")}`;\n }\n\n if (\n changes.scale ||\n changes.decimalSeparator ||\n changes.thousandsSeparator ||\n changes.alignTo ||\n changes.precision ||\n changes.allowNegative\n ) {\n this.updateVariables();\n }\n }\n\n @HostListener(\"paste\", [\"$event\"])\n public onPaste(event: ClipboardEvent): void {\n const pastedText = event.clipboardData?.getData(\"text\") ?? \"\";\n const numericText = pastedText.replace(new RegExp(`\\\\${this.thousandsSeparator}`, \"g\"), \"\").replace(this.decimalSeparator, \".\");\n const [intPart, decimalPart = \"\"] = numericText.split(\".\");\n const totalDigits = intPart.replace(/\\D/g, \"\").length + decimalPart.slice(0, this.scale).length;\n\n if (totalDigits > this.precision) {\n event.preventDefault();\n this.pasteRejected.emit(pastedText);\n }\n }\n\n @HostListener(\"keypress\", [\"$event\"])\n public onKeypress(event: KeyboardEvent) {\n const code = event.code;\n\n if (code === \"Minus\" || code === \"NumpadSubtract\") {\n if (this.allowNegative) {\n this.maxLength = this._maxLength + 1;\n }\n } else if (code === \"Equal\" || code === \"NumpadAdd\") {\n this.maxLength = this._maxLength;\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimalSeparator: this.decimalSeparator,\n thousandsSeparator: this.thousandsSeparator ?? \".\",\n scale: this.scale || 0,\n prefix: \"\",\n suffix: \"\",\n allowNegative: this.allowNegative,\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator.length;\n const thoSepLength = this.thousandsSeparator?.length ?? 1;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;\n\n this._maxLength = maxLength;\n this.maxLength = maxLength;\n }\n\n private onLocaleService(): void {\n this._angularComponentsLocaleService\n .getLocale()\n .pipe(first())\n .subscribe(() => {\n this.decimalSeparator = this.decimalSeparator ?? this._angularComponentsLocaleService.getDecimalSeparator();\n this.thousandsSeparator = this.thousandsSeparator ?? this._angularComponentsLocaleService.getGroupingSeparator();\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { BignumberInputDirective } from \"./bignumber-input.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [BignumberInputDirective],\n exports: [BignumberInputDirective],\n})\nexport class BignumberInputModule {}\n","import { Component, OnInit, Input, OnDestroy } from \"@angular/core\";\nimport { ActivatedRoute, Router, NavigationEnd, PRIMARY_OUTLET } from \"@angular/router\";\nimport { MenuItem } from \"primeng/api\";\nimport { Subject } from \"rxjs\";\nimport { filter, takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: `s-breadcrumb`,\n templateUrl: `./breadcrumb.component.html`,\n})\nexport class BreadcrumbComponent implements OnDestroy {\n @Input() public homeUrl: string;\n @Input() public targetHomeUrl: string = \"_self\";\n public home: MenuItem;\n public items: MenuItem[];\n public title: string;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private activatedRoute: ActivatedRoute, private router: Router) {\n this.router.events\n .pipe(takeUntil(this.ngUnsubscribe), filter(event => event instanceof NavigationEnd))\n .subscribe(() => this.onNavigationEnd());\n }\n\n private onNavigationEnd() {\n const currentRoute = this.activatedRoute.root;\n const validRoutes: ActivatedRoute[] = this.getValidChildren(currentRoute);\n\n this.title = this.getCurrentTitle(validRoutes);\n this.home = this.getCurrentHome(validRoutes);\n this.items = this.getCurrentItems(validRoutes);\n }\n\n private getValidChildren(route: ActivatedRoute): ActivatedRoute[] {\n const valid = route.routeConfig && route.routeConfig.path && route.routeConfig.component && route.outlet === PRIMARY_OUTLET;\n return route.children.reduce((validRoutes, child) => [...validRoutes, ...this.getValidChildren(child)], valid ? [route] : []);\n }\n\n private getCurrentTitle(routes: ActivatedRoute[]) {\n const last = routes[routes.length - 1];\n if (last && last.routeConfig) return this.getTitle(last);\n }\n\n private getCurrentHome(routes: ActivatedRoute[]) {\n let home;\n\n if (this.homeUrl) home = { url: this.homeUrl, icon: \"fa fa-home\", target: this.targetHomeUrl };\n else if (routes.length) home = { ...this.getMenuItem(routes[0], routes.length === 1), icon: \"fa fa-home\" };\n\n return home;\n }\n\n private getCurrentItems(routes: ActivatedRoute[]) {\n if (!routes.length) return;\n const items = this.homeUrl ? routes : routes.slice(1);\n if (items.length) return items.map((route, i) => this.getMenuItem(route, i === routes.length - 1));\n }\n\n private getMenuItem(route: ActivatedRoute, disabled = false) {\n const label = this.getTitle(route);\n const routes = route.pathFromRoot;\n const routerLink = routes\n .slice(0, routes.indexOf(route) + 1)\n .reduce((result, item) => [...result, ...item.snapshot.url.map(url => url.path)], [\"/\"]);\n\n return {\n label,\n routerLink,\n queryParams: route.snapshot.queryParams,\n routerLinkActiveOptions: { exact: true },\n disabled,\n };\n }\n\n private getTitle(route: ActivatedRoute) {\n const { snapshot, routeConfig } = route;\n const title = snapshot.data.routeTitle;\n if (!title) throw new Error(`No routeTitle defined for the route /${routeConfig.path}`);\n return title;\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { BreadcrumbModule as PrimeBreadcrumbModule } from \"primeng/breadcrumb\";\n\nimport { BreadcrumbComponent } from \"./breadcrumb.component\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n imports: [CommonModule, PrimeBreadcrumbModule, RouterModule],\n declarations: [BreadcrumbComponent],\n exports: [BreadcrumbComponent, RouterModule],\n})\nexport class BreadcrumbModule {}\n","\nexport enum ButtonAnimation {\n Rotate = 'rotate',\n}","export enum ButtonPriority {\n Default = \"default\",\n Primary = \"primary\",\n Secondary = \"secondary\",\n Link = \"link\",\n Danger = \"danger\",\n}\n","export enum ButtonSize {\n Default = \"default\",\n Small = \"small\",\n}\n","import { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from \"@angular/core\";\n\nimport { MenuItem } from \"primeng/api\";\nimport { DomHandler } from \"primeng/dom\";\nimport { TieredMenu } from \"primeng/tieredmenu\";\n\nimport { ButtonAnimation } from \"./models/button-animation\";\nimport { ButtonBadgeConfig } from \"./models/button-badge-config\";\nimport { ButtonPriority } from \"./models/button-priority\";\nimport { ButtonSize } from \"./models/button-size\";\nimport { TieredMenuItemData } from \"../tiered-menu\";\n@Component({\n selector: \"s-button\",\n templateUrl: \"./button.component.html\",\n styleUrls: [\"./button.component.scss\"],\n})\nexport class ButtonComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @HostBinding(\"style.min-width\")\n public minWidth = \"40px\";\n\n @Input()\n public id = `s-button-${ButtonComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public tooltip: string;\n\n @Input()\n public tooltipPosition: \"top\" | \"right\" | \"bottom\" | \"left\" = \"top\";\n\n @Input()\n public iconClass: string;\n\n @Input()\n public rightIconClass: string;\n\n @Input()\n public caret = true;\n\n @Input()\n public styleClass: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public disabled = false;\n\n @Input()\n public auxiliary = false;\n\n @Input()\n public type = \"button\";\n\n @Input()\n public priority: ButtonPriority = ButtonPriority.Primary;\n\n /**\n * @deprecated Use `menuOptions` instead.\n */\n @Input()\n public model: MenuItem[] = [];\n\n @Input()\n public menuOptions: TieredMenuItemData[] = [];\n\n @Input()\n public size = ButtonSize.Default;\n\n @Input()\n public slide: boolean;\n\n @Input()\n public animation: ButtonAnimation;\n\n @Input()\n public badge: ButtonBadgeConfig;\n\n @Input()\n public iconColor: string;\n\n @Output()\n public onClick: EventEmitter<any> = new EventEmitter();\n\n public tooltipZIndex: number;\n\n // TODO: Remover na próxima major.\n @ViewChild(TieredMenu, { static: true })\n private menu: TieredMenu;\n\n public ngOnInit() {\n this.onClick.subscribe((event: any) => {\n if (!this.model || !this.model.length) return;\n\n // TODO: Remover na próxima major.\n this.menu.model = this.model;\n this.menu.toggle(event);\n });\n }\n\n public validateSlideButton() {\n return this.slide && (this.priority == ButtonPriority.Default || this.priority == ButtonPriority.Link) && this.label.length;\n }\n\n // TODO: Remover na próxima major.\n public isOpen() {\n return this.model && this.model.length && this.menu.visible;\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const hasIcon = this.iconClass;\n const hasText = this.label;\n const isMultiple = this.model && this.model.length;\n\n if (hasText || (hasIcon && isMultiple)) this.minWidth = \"80px\";\n if (hasText && hasIcon && isMultiple) this.minWidth = \"100px\";\n }\n\n public updateTooltipZIndex() {\n this.tooltipZIndex = this.baseZIndex + ++DomHandler.zindex;\n }\n\n public isRotateAnimation() {\n return this.animation === ButtonAnimation.Rotate;\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-tiered-menu-divider\",\n templateUrl: \"./tiered-menu-divider.component.html\",\n styleUrls: [\"./tiered-menu-divider.component.scss\"],\n})\nexport class TieredMenuDividerComponent { }","import { Injectable, EventEmitter } from '@angular/core';\n\nimport { TieredMenuItemInternalData } from '../models/tiered-menu-item-internal-data';\n\n@Injectable()\nexport class TieredMenuEventService {\n public incrementCurrentItemEvent = new EventEmitter();\n public decrementCurrentItemEvent = new EventEmitter();\n public closeAllMenusEvent = new EventEmitter();\n public selectItemEvent = new EventEmitter<TieredMenuItemInternalData>();\n public openItemMenuEvent = new EventEmitter<TieredMenuItemInternalData>();\n public closeItemMenuEvent = new EventEmitter<TieredMenuItemInternalData>();\n public createMenuEvent = new EventEmitter<TieredMenuItemInternalData>();\n}","import { Component, HostListener, Input } from \"@angular/core\";\n\nimport { TieredMenuEventService } from \"../../services/tiered-menu.event.service\";\nimport { TieredMenuItemInternalData } from \"../../models\";\n\n@Component({\n selector: \"s-tiered-menu-item\",\n templateUrl: \"./tiered-menu-item.component.html\",\n styleUrls: [\"./tiered-menu-item.component.scss\"],\n})\nexport class TieredMenuItemComponent {\n @Input()\n public item: TieredMenuItemInternalData;\n\n @Input()\n public focused = false;\n\n @Input()\n public highlight = false;\n\n @Input()\n public triggerEvent: \"click\" | \"hover\" = \"click\";\n\n @Input()\n public closeOnClick = false;\n\n private _showTimeout?: number;\n\n constructor(\n private readonly _tieredMenuEventService: TieredMenuEventService,\n ) { }\n\n @HostListener(\"click\")\n @HostListener(\"touchend\")\n public onClick(): void {\n if (this.item.disabled) return;\n\n if (this.item.submenu) {\n if (!this.item.isOpen) {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.item);\n } else if(this.closeOnClick) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(this.item);\n }\n } else {\n this._tieredMenuEventService.selectItemEvent.emit(this.item);\n }\n }\n\n @HostListener(\"mouseenter\")\n public onMouseEnter(): void {\n if (this.item.disabled) return;\n\n if (this.triggerEvent === \"hover\" && !this.item.isOpen) {\n this._showTimeout = window.setTimeout(() => {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.item);\n }, 300);\n }\n }\n\n @HostListener(\"mouseleave\")\n public onMouseLeave(): void {\n window.clearTimeout(this._showTimeout);\n }\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { TieredMenuItemData } from \"../models/tiered-menu-item-data\";\nimport { TieredMenuItemInternalData } from \"../models/tiered-menu-item-internal-data\";\n\n@Injectable()\nexport class TieredMenuService {\n public currentItem: TieredMenuItemInternalData;\n public currentItems: TieredMenuItemInternalData[] = [];\n public items: TieredMenuItemInternalData[] = [];\n\n public normalizeData(items: TieredMenuItemData[], parent?: TieredMenuItemInternalData): TieredMenuItemInternalData[] {\n return items.map((i: TieredMenuItemInternalData) => {\n const item = {\n visible: true,\n ...i,\n };\n if (item.submenu) {\n item.submenu = this.normalizeData(item.submenu, item);\n }\n item.id = this._generateId();\n item.parent = parent;\n item.isOpen = false;\n return item;\n });\n }\n\n public markAllItemsAsClosed(items: TieredMenuItemInternalData[]): TieredMenuItemInternalData[] {\n return items.map((i: TieredMenuItemInternalData) => {\n const item = {...i};\n if (item.submenu) {\n item.submenu = this.markAllItemsAsClosed(item.submenu);\n }\n item.isOpen = false;\n return item;\n });\n }\n\n public searchTheHierarchy(itemA: TieredMenuItemInternalData, itemB: TieredMenuItemInternalData) {\n let item = itemB;\n while(item) {\n if (item === itemA) {\n return true;\n }\n item = item.parent;\n }\n return false;\n }\n\n public cloneItems(items: TieredMenuItemInternalData[]): TieredMenuItemInternalData[] {\n return JSON.parse(JSON.stringify(items));\n }\n\n private _generateId(): string {\n return `id-${Math.random().toString(36).substring(2, 9)}-${Math.random().toString(36).substring(2, 9)}-${Math.random().toString(36).substring(2, 9)}`\n } \n}","export const enableScroll = (): void => {\n document.body.style.overflow = \"auto\";\n}\n\nexport const disabledScroll = (): void => {\n document.body.style.overflow = \"hidden\";\n}","import { Component, HostListener, OnDestroy, OnInit } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { TieredMenuItemInternalData } from \"../../models/tiered-menu-item-internal-data\";\nimport { TieredMenuEventService } from \"../../services/tiered-menu.event.service\";\nimport { TieredMenuService } from \"../../services/tiered-menu.service\";\nimport { enableScroll, disabledScroll } from \"../../utils\";\n@Component({\n templateUrl: \"./tiered-menu-nested.component.html\",\n styleUrls: [\"./tiered-menu-nested.component.scss\"],\n})\nexport class TieredMenuNestedComponent implements OnInit, OnDestroy {\n public items: TieredMenuItemInternalData[];\n public top = 0;\n public left = 0;\n // public maxHeight = 0;\n\n // Saves the last opened item to close it when a new one is opened\n private _lastOpenItem: TieredMenuItemInternalData;\n private _unsubscribe$ = new Subject<void>();\n\n @HostListener(\"window:resize\")\n public onResize(): void {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n\n @HostListener(\"document:click\", [\"$event\"])\n public onDocumentClick(event: MouseEvent): void {\n // Closing menu when clicked outside.\n const target = event.target as Element;\n const clickedInside = target.closest(\"s-tiered-menu-item\") || target.closest(\"s-tiered-menu-divider\");\n if (!clickedInside) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n @HostListener(\"document:keydown\", [\"$event\"])\n public onKeydownHandler(event: KeyboardEvent) {\n switch (event.key) {\n case \"Escape\":\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n break;\n case \" \":\n case \"Enter\":\n this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);\n break;\n case \"ArrowLeft\":\n // When nested I need a reference to the current item's parent item, otherwise just the current item.\n this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem.parent);\n break;\n case \"ArrowRight\":\n this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);\n break;\n case \"ArrowUp\":\n this._tieredMenuEventService.decrementCurrentItemEvent.emit();\n break;\n case \"ArrowDown\":\n this._tieredMenuEventService.incrementCurrentItemEvent.emit();\n break;\n }\n }\n\n constructor(\n public readonly tieredMenuService: TieredMenuService,\n private readonly _tieredMenuEventService: TieredMenuEventService,\n ) { }\n\n public ngOnInit(): void {\n this.tieredMenuService.currentItems = this.items;\n this._subscribeEvents();\n disabledScroll();\n }\n \n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n enableScroll();\n }\n\n private _incrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n return;\n }\n\n const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;\n\n if (curIndex < this.tieredMenuService.currentItems.length) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._incrementCurItem();\n }\n }\n\n private _decrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n return;\n }\n\n const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;\n\n if (curIndex >= 0) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._decrementCurItem();\n }\n }\n\n private _closeItem(item: TieredMenuItemInternalData): void {\n let itemAux = this._lastOpenItem;\n\n while (itemAux && itemAux != item) {\n itemAux.isOpen = false;\n itemAux = itemAux.parent;\n }\n\n item.isOpen = false;\n\n this.tieredMenuService.currentItem = itemAux ?? this.tieredMenuService.items[0];\n this.tieredMenuService.currentItems = itemAux?.parent?.submenu || this.tieredMenuService.items;\n }\n\n private _openItem(item: TieredMenuItemInternalData): void {\n if (item?.submenu) {\n item.isOpen = true;\n this.tieredMenuService.currentItems = item.submenu;\n\n // Only has focus if there has already been interaction.\n if (this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = item.submenu[0];\n }\n\n this._lastOpenItem = item;\n }\n }\n\n private _subscribeEvents(): void {\n this._tieredMenuEventService.incrementCurrentItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this._incrementCurItem();\n });\n\n this._tieredMenuEventService.decrementCurrentItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this._decrementCurItem();\n });\n\n this._tieredMenuEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData) => {\n if (item.command) {\n item.command();\n // Close all menus after the item was selected.\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n });\n\n this._tieredMenuEventService.openItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData) => {\n if (!this.tieredMenuService.currentItems.includes(item)) {\n let itemAux = this._lastOpenItem;\n\n while (itemAux?.parent?.parent) {\n itemAux = itemAux.parent;\n }\n\n this._tieredMenuEventService.closeItemMenuEvent.emit(itemAux.parent ?? itemAux);\n }\n\n this._lastOpenItem = item;\n\n this._openItem(item);\n });\n\n this._tieredMenuEventService.closeItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData) => {\n if (item) {\n this._closeItem(item);\n }\n });\n }\n}\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Injector,\n OnDestroy,\n OnInit,\n Output,\n} from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\n\nimport { takeUntil } from \"rxjs/operators\";\nimport { TieredMenuItemInternalData } from \"../../models/tiered-menu-item-internal-data\";\nimport { TieredMenuEventService } from \"../../services/tiered-menu.event.service\";\nimport { TieredMenuService } from \"../../services/tiered-menu.service\";\nimport { enableScroll, disabledScroll } from \"../../utils\";\n\n@Component({\n selector: \"s-tiered-menu\",\n templateUrl: \"./tiered-menu.component.html\",\n styleUrls: [\"./tiered-menu.component.scss\"],\n})\nexport class TieredMenuComponent implements OnInit, OnDestroy {\n public items: TieredMenuItemInternalData[];\n public top = 0;\n public left = 0;\n public menuTriggerEvent: \"click\" | \"hover\" = \"hover\";\n\n private _componentRef: ComponentRef<TieredMenuComponent> = null;\n private _menuDivElement?: HTMLElement;\n private _unsubscribe$ = new Subject<void>();\n\n @Output()\n public destroyRequest = new EventEmitter<boolean>();\n\n constructor(\n private readonly _appRef: ApplicationRef,\n private readonly _componentFactoryResolver: ComponentFactoryResolver,\n private readonly _injector: Injector,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n public readonly tieredMenuService: TieredMenuService,\n private readonly _tieredMenuEventService: TieredMenuEventService\n ) {}\n\n @HostListener(\"window:resize\")\n public onResize(): void {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n\n @HostListener(\"document:click\", [\"$event\"])\n public onDocumentClick(event: MouseEvent): void {\n // Closing menu when clicked outside.\n const target = event.target as Element;\n const clickedInside = target.closest(\"s-tiered-menu-item\") || target.closest(\"s-tiered-menu-divider\");\n if (!clickedInside) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n @HostListener(\"document:keydown\", [\"$event\"])\n public onKeydownHandler(event: KeyboardEvent) {\n switch (event.key) {\n case \"Escape\":\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n break;\n case \" \":\n case \"Enter\":\n if (!this.tieredMenuService.currentItem.disabled) {\n this._tieredMenuEventService.selectItemEvent.emit(this.tieredMenuService.currentItem);\n }\n break;\n case \"ArrowLeft\":\n if (this.items.includes(this.tieredMenuService.currentItem)) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(this.tieredMenuService.currentItem);\n this._changeDetectorRef.detectChanges();\n }\n break;\n case \"ArrowRight\":\n if (!this.tieredMenuService.currentItem.disabled && this.items.includes(this.tieredMenuService.currentItem)) {\n this._tieredMenuEventService.openItemMenuEvent.emit(this.tieredMenuService.currentItem);\n event.stopImmediatePropagation();\n }\n break;\n case \"ArrowUp\":\n if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {\n this._tieredMenuEventService.decrementCurrentItemEvent.emit();\n event.stopImmediatePropagation();\n }\n break;\n case \"ArrowDown\":\n if (!this.tieredMenuService.currentItem || this.items.includes(this.tieredMenuService.currentItem)) {\n this._tieredMenuEventService.incrementCurrentItemEvent.emit();\n event.stopImmediatePropagation();\n }\n break;\n }\n }\n\n public ngOnInit(): void {\n this.tieredMenuService.currentItems = this.items;\n this._subscribeEvents();\n disabledScroll();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n private _incrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n return;\n } else if (!this.items.includes(this.tieredMenuService.currentItem)) {\n // Checking if it is the current menu.\n return;\n }\n\n const currentIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) + 1;\n\n if (currentIndex < this.tieredMenuService.currentItems.length) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[currentIndex];\n } else {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._incrementCurItem();\n }\n }\n\n private _decrementCurItem(): void {\n if (!this.tieredMenuService.currentItem) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[0];\n return;\n // Checking if it is the current menu.\n } else if (!this.items.includes(this.tieredMenuService.currentItem)) {\n return;\n }\n\n const curIndex = this.tieredMenuService.currentItems.indexOf(this.tieredMenuService.currentItem) - 1;\n\n if (curIndex >= 0) {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[curIndex];\n } else {\n this.tieredMenuService.currentItem = this.tieredMenuService.currentItems[this.tieredMenuService.currentItems.length - 1];\n }\n\n if (this.tieredMenuService.currentItem.divider) {\n this._decrementCurItem();\n }\n }\n\n private _createMenu(items: TieredMenuItemInternalData[], position: any): void {\n if (!this._componentRef && items) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);\n this._componentRef = componentFactory.create(this._injector);\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n // Setting the menu items.\n this._componentRef.instance.items = items;\n\n // Subscribe menu events.\n this._componentRef.instance.destroyRequest.subscribe((propagate: boolean) => {\n this._destroy(propagate);\n });\n\n this._menuDivElement = domElem.querySelector(\".menu\");\n this._setMenuPosition(position);\n }\n }\n\n private _destroy(propagate = true): void {\n if (this._componentRef !== null) {\n this._appRef.detachView(this._componentRef.hostView);\n this._componentRef.destroy();\n this._componentRef = null;\n this._menuDivElement = null;\n }\n\n if (propagate) {\n this.destroyRequest.emit();\n }\n }\n\n private _setMenuPosition(position: any): void {\n const ITEM_HEIGHT = 37;\n const DIVIDER_HEIGHT = 5;\n const PADDING = 8;\n\n if (this._componentRef !== null) {\n const { top, right, bottom, left } = position;\n\n const itemsCount = this._componentRef.instance.items?.reduce((count: number, item: TieredMenuItemInternalData) => {\n return !item.divider ? count + 1 : count;\n }, 0);\n\n const dividersCount = this._componentRef.instance.items?.reduce((count: number, item: TieredMenuItemInternalData) => {\n return item.divider ? count + 1 : count;\n }, 0);\n\n // I need to calculate the height of the component because the internal elements have not been created yet.\n const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + 8;\n const menuWidth = this._menuDivElement.getBoundingClientRect().width;\n\n const rightFreeSpace = window.innerWidth - right;\n const bottomFreeSpace = window.innerHeight - bottom;\n\n if (rightFreeSpace > menuWidth) {\n this._componentRef.instance.left = right;\n } else {\n this._componentRef.instance.left = left - menuWidth;\n }\n\n if (bottomFreeSpace <= menuHeight) {\n this._componentRef.instance.top = Math.max(window.innerHeight - menuHeight, window.scrollY);\n } else {\n this._componentRef.instance.top = window.scrollY + top;\n }\n }\n }\n\n private _subscribeEvents(): void {\n // Increment current item event.\n this._tieredMenuEventService.incrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._incrementCurItem();\n });\n // Decrement current item event.\n this._tieredMenuEventService.decrementCurrentItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._decrementCurItem();\n });\n // Select item event.\n this._tieredMenuEventService.selectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: TieredMenuItemInternalData) => {\n if (item.submenu) {\n this._tieredMenuEventService.openItemMenuEvent.emit(item);\n } else if (item.command) {\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n item.command();\n }\n });\n // Close all menus event.\n this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._destroy();\n this.tieredMenuService.currentItem = null;\n this.tieredMenuService.currentItems = this.tieredMenuService.items;\n this.tieredMenuService.markAllItemsAsClosed(this.tieredMenuService.items);\n enableScroll();\n });\n\n // Open item menu event.\n this._tieredMenuEventService.openItemMenuEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: TieredMenuItemInternalData) => {\n if (this.tieredMenuService.currentItem) {\n if (this.tieredMenuService.currentItem.parent === item) {\n return;\n }\n\n if (!this.tieredMenuService.searchTheHierarchy(this.tieredMenuService.currentItem.parent, item)) {\n let current = this.tieredMenuService.currentItem;\n\n current.isOpen = false;\n\n while (current?.parent !== item.parent) {\n this._tieredMenuEventService.closeItemMenuEvent.emit(current);\n this._changeDetectorRef.detectChanges();\n\n current = current.parent;\n }\n\n if (current) {\n current.isOpen = false;\n }\n }\n }\n\n if (item.submenu && !item.isOpen && this.items.includes(item)) {\n const { top, right, left, bottom } = document.querySelector(`#${item.id}`).getBoundingClientRect();\n const position = { top, right, left, bottom };\n\n this._createMenu(item.submenu, position);\n this.tieredMenuService.currentItems = item.submenu;\n this.tieredMenuService.currentItem = item.submenu[0];\n item.isOpen = true;\n }\n });\n\n // Close item menu event.\n this._tieredMenuEventService.closeItemMenuEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: TieredMenuItemInternalData) => {\n if (this.items.some((i) => i.id === item.id)) {\n if (item.parent) {\n item.parent.isOpen = false;\n } else {\n enableScroll();\n }\n this.tieredMenuService.currentItems = item?.parent?.parent?.submenu || this.tieredMenuService.items;\n this.tieredMenuService.currentItem = item.parent;\n this.destroyRequest.emit(false);\n }\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { TieredMenuDirective } from \"../tiered-menu.directive\";\n\n@Injectable()\nexport class TieredMenuGlobalService {\n lastInstance: TieredMenuDirective;\n}\n","import {\n ApplicationRef,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n DoCheck,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n} from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { TieredMenuNestedComponent } from \"./components/tiered-menu-nested/tiered-menu-nested.component\";\nimport { TieredMenuComponent } from \"./components/tiered-menu/tiered-menu.component\";\nimport { TieredMenuItemData } from \"./models/tiered-menu-item-data\";\nimport { TieredMenuEventService } from \"./services/tiered-menu.event.service\";\nimport { TieredMenuGlobalService } from \"./services/tiered-menu.global.service\";\nimport { TieredMenuService } from \"./services/tiered-menu.service\";\nimport { TieredMenuItemInternalData } from \"./models\";\nimport { enableScroll } from \"./utils\";\n\n@Directive({\n selector: \"[sTieredMenu]\",\n providers: [TieredMenuEventService, TieredMenuService],\n})\nexport class TieredMenuDirective implements OnInit, DoCheck, OnDestroy {\n @Input()\n public items: TieredMenuItemData[];\n\n @Input()\n public focusedItem: TieredMenuItemData = undefined;\n\n @Input()\n public triggerEvent: \"click\" | \"hover\" = \"click\";\n\n private _componentRef: ComponentRef<any> = null;\n private _showTimeout?: number;\n private _isNested = false;\n private _isOpen = false;\n private _unsubscribe$ = new Subject<void>();\n private _lastActiveElement: Element;\n private _previousItems: TieredMenuItemData[];\n private _itemsAreValid: boolean;\n\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _appRef: ApplicationRef,\n private readonly _componentFactoryResolver: ComponentFactoryResolver,\n private readonly _injector: Injector,\n private readonly _tieredMenuEventService: TieredMenuEventService,\n private readonly _tieredMenuService: TieredMenuService,\n private readonly _tieredMenuGlobalService: TieredMenuGlobalService,\n private readonly _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n public ngOnInit(): void {\n this._itemsAreValid = !!this.items?.length;\n\n if (!this._itemsAreValid) return;\n\n this._subscribeEvents();\n }\n\n public ngDoCheck(): void {\n if (!this._itemsAreValid) return;\n\n if (!this._previousItems) {\n this._previousItems = this._tieredMenuService.cloneItems(this.items);\n }\n\n let hasChanges = false;\n\n if (this.items.length !== this._previousItems.length) {\n hasChanges = true;\n } else {\n for (let i = 0; i < this.items.length; i++) {\n if (!this._compareItems(this.items[i], this._previousItems[i])) {\n hasChanges = true;\n break;\n }\n }\n }\n\n if (hasChanges) {\n this._updateServiceItems();\n this._changeDetectorRef.detectChanges();\n this._rebuildMenu();\n }\n\n this._previousItems = this._tieredMenuService.cloneItems(this.items);\n }\n\n public ngOnDestroy(): void {\n if (!this._itemsAreValid) return;\n\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n\n this._destroy();\n }\n\n @HostListener(\"click\", [\"$event\"])\n public onClick(event: MouseEvent): void {\n if (!this._itemsAreValid) return;\n\n if (this.triggerEvent === \"click\" && !this._isOpen) {\n this._lastActiveElement = document.activeElement;\n this._createMenu();\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n private _createMenu(): void {\n this._updateServiceItems();\n\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n this._tieredMenuGlobalService.lastInstance?._destroy();\n this._tieredMenuGlobalService.lastInstance = this;\n\n (this._lastActiveElement as HTMLElement)?.blur();\n this._isOpen = true;\n this._isNested = document.body.clientWidth < 600;\n\n this._isNested ? this._createNestedMenu() : this._createTieredMenu();\n }\n }\n\n private _createTieredMenu(): void {\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuComponent);\n this._componentRef = componentFactory.create(this._injector);\n\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this._setMenuComponentProperties();\n\n this._componentRef.instance.destroyRequest.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._destroy();\n });\n\n this._setMenuPosition();\n }\n }\n\n private _createNestedMenu(): void {\n if (!this._componentRef && this._tieredMenuService.items?.length > 0) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(TieredMenuNestedComponent);\n this._componentRef = componentFactory.create(this._injector);\n this._appRef.attachView(this._componentRef.hostView);\n const domElem = (this._componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this._setMenuComponentProperties();\n this._setMenuPosition();\n }\n }\n\n private _destroy(): void {\n if (this._componentRef) {\n this._isOpen = false;\n window.clearTimeout(this._showTimeout);\n this._appRef.detachView(this._componentRef.hostView);\n\n this._componentRef.destroy();\n this._componentRef = null;\n\n this._tieredMenuService.currentItems = this._tieredMenuService.items;\n this._tieredMenuService.currentItem = this._tieredMenuService.items[0];\n this._tieredMenuEventService.closeAllMenusEvent.emit();\n }\n }\n\n private _setMenuPosition(): void {\n const ITEM_HEIGHT = 37;\n const ITEM_WIDTH = 176;\n const DIVIDER_HEIGHT = 5;\n const PADDING = 8;\n const MARGIN = 4;\n\n if (this._componentRef !== null) {\n this._componentRef.instance.top = 8;\n\n let { bottom, left, right } = this._elementRef.nativeElement.getBoundingClientRect();\n\n const itemsCount = this._componentRef.instance.items?.reduce((count: number, item: TieredMenuItemInternalData) => {\n return !item.divider ? count + 1 : count;\n }, 0);\n\n const dividersCount = this._componentRef.instance.items?.reduce((count: number, item: TieredMenuItemInternalData) => {\n return item.divider ? count + 1 : count;\n }, 0);\n\n const menuHeight = itemsCount * ITEM_HEIGHT + dividersCount * DIVIDER_HEIGHT + PADDING + MARGIN;\n const rightFreeSpace = window.innerWidth - right;\n const bottomFreeSpace = window.innerHeight - bottom;\n\n this._componentRef.instance.top = bottom;\n this._componentRef.instance.left = left;\n\n if (bottomFreeSpace <= menuHeight) {\n this._componentRef.instance.top = Math.max(scrollY + bottom - menuHeight, 0);\n } else {\n this._componentRef.instance.top = window.scrollY + bottom + MARGIN;\n }\n\n if (rightFreeSpace > 176) {\n this._componentRef.instance.left = window.scrollX + left;\n } else {\n this._componentRef.instance.left = window.scrollX + right - ITEM_WIDTH;\n }\n\n if (this._isNested) {\n this._componentRef.instance.left = MARGIN;\n }\n }\n }\n\n private _setMenuComponentProperties(): void {\n if (this._componentRef != null) {\n this._componentRef.instance.items = this._tieredMenuService.items;\n }\n }\n\n private _subscribeEvents(): void {\n this._tieredMenuEventService.closeAllMenusEvent.pipe(takeUntil(this._unsubscribe$)).subscribe(() => {\n this._tieredMenuService.items = this._tieredMenuService.markAllItemsAsClosed(this._tieredMenuService.items);\n this._destroy();\n enableScroll();\n });\n }\n\n private _compareItems(item1: TieredMenuItemData, item2: TieredMenuItemData): boolean {\n return JSON.stringify(item1) === JSON.stringify(item2);\n }\n\n private _rebuildMenu(): void {\n this._destroy();\n }\n\n private _updateServiceItems(): void {\n this._tieredMenuService.items = this._tieredMenuService.normalizeData(this.items);\n this._tieredMenuService.currentItems = this._tieredMenuService.items;\n\n this._tieredMenuService.currentItem =\n this._tieredMenuService.items.find((i) => i.label === this.focusedItem?.label) ?? this._tieredMenuService.items[0];\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TieredMenuDividerComponent } from \"./components/tiered-menu-divider/tiered-menu-divider.component\";\nimport { TieredMenuItemComponent } from \"./components/tiered-menu-item/tiered-menu-item.component\";\nimport { TieredMenuNestedComponent } from \"./components/tiered-menu-nested/tiered-menu-nested.component\";\nimport { TieredMenuComponent } from \"./components/tiered-menu/tiered-menu.component\";\nimport { TieredMenuGlobalService } from \"./services/tiered-menu.global.service\";\nimport { TieredMenuDirective } from \"./tiered-menu.directive\";\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n TieredMenuDirective,\n TieredMenuComponent,\n TieredMenuNestedComponent,\n TieredMenuItemComponent,\n TieredMenuDividerComponent,\n ],\n exports: [TieredMenuDirective],\n providers: [TieredMenuGlobalService],\n})\nexport class TieredMenuModule { }\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { TieredMenuModule as PrimengTieredMenu } from \"primeng/tieredmenu\";\n\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { TieredMenuModule } from \"../tiered-menu/tiered-menu.module\";\nimport { ButtonComponent } from \"./button.component\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\n@NgModule({\n imports: [CommonModule, RouterModule, BadgeModule, PrimengTieredMenu, TieredMenuModule, TooltipModule],\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n})\nexport class ButtonModule { }\n","import { AfterViewChecked, Directive, HostListener, Input, OnDestroy, OnInit, Renderer2 } from \"@angular/core\";\nimport { Calendar } from \"primeng/calendar\";\n\n@Directive({\n selector: \"p-calendar[sCalendarMask]\",\n})\nexport class CalendarMaskDirective implements OnInit, OnDestroy, AfterViewChecked {\n SELECTORS = 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\n @Input()\n public slotChar = \"_\";\n\n @Input()\n public autoClear = false;\n\n public value: any;\n public input: HTMLInputElement;\n public filled: boolean;\n\n private _mask: string;\n private defs: any;\n private tests: any[];\n private partialPosition: any;\n private firstNonMaskPos: number;\n private lastRequiredNonMaskPos: any;\n private len: number;\n private oldVal: string;\n private buffer: any;\n private defaultBuffer: string;\n private focusText: string;\n private caretTimeoutId: any;\n private androidChrome: boolean;\n private firstTime = true;\n\n private focusListener: () => void;\n private blurListener: () => void;\n private keydownListener: () => void;\n private keypressListener: () => void;\n private inputListener: () => void;\n private pasteListener: () => void;\n\n constructor(\n public host: Calendar,\n public renderer: Renderer2\n ) {}\n\n private setListeners() {\n this.input = this.host.inputfieldViewChild.nativeElement;\n this.value = this.input.value;\n\n this.focusListener = this.renderer.listen(this.input, \"focus\", () => {\n this.onInputFocus();\n });\n\n this.blurListener = this.renderer.listen(this.input, \"blur\", (event: any) => {\n this.onInputBlur(event);\n });\n\n this.keydownListener = this.renderer.listen(this.input, \"keydown\", (event: any) => {\n this.onKeyDown(event);\n });\n\n this.keypressListener = this.renderer.listen(this.input, \"keypress\", (event: any) => {\n this.onKeyPress(event);\n });\n\n this.inputListener = this.renderer.listen(this.input, \"input\", (event: any) => {\n this.onInputChange(event);\n });\n\n this.pasteListener = this.renderer.listen(this.input, \"paste\", (event: any) => {\n this.handleInputChange(event);\n });\n }\n\n public ngOnInit() {\n const ua = navigator.userAgent;\n this.androidChrome = /chrome/i.test(ua) && /android/i.test(ua);\n\n this.createMaskFromDateFormat();\n this.initMask();\n }\n\n get mask(): string {\n return this._mask;\n }\n\n set mask(val: string) {\n this._mask = val;\n\n this.initMask();\n this.writeValue(\"\");\n }\n\n public writeValue(value: any): void {\n this.value = value;\n\n if (this.input) {\n if (this.value == undefined) {\n this.input.value = \"\";\n } else {\n this.input.value = this.value;\n }\n\n this.checkVal();\n this.focusText = this.input.value;\n this.updateFilledState();\n }\n }\n\n public onInputBlur(e: any) {\n this.checkVal();\n this.updateFilledState();\n\n if (this.value != this.focusText) {\n if (\n !this.input.disabled &&\n (this.value === undefined || this.value === null || (this.value as string).indexOf(this.slotChar) >= 0)\n ) {\n this.value = \"\";\n e.target.value = \"\";\n this.host.updateModel(null);\n }\n\n this.updateModel(e);\n const event = document.createEvent(\"HTMLEvents\");\n event.initEvent(\"change\", true, false);\n this.input.dispatchEvent(event);\n }\n }\n\n public onKeyDown(e: any) {\n if (this.host.readonlyInput) {\n return;\n }\n\n const k = e.which || e.keyCode;\n const iPhone = /iphone/i.test(navigator.userAgent);\n let pos;\n let begin;\n let end;\n this.oldVal = this.input.value;\n\n // Backspace, delete, and escape get special treatment\n if (k === 8 || k === 46 || (iPhone && k === 127)) {\n pos = this.caret();\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 46 ? this.seekPrev(begin) : (end = this.seekNext(begin - 1));\n end = k === 46 ? this.seekNext(end) : end;\n }\n\n this.clearBuffer(begin, end);\n this.shiftL(begin, end - 1);\n this.updateModel(e);\n\n e.preventDefault();\n } else if (k === 13) {\n // Enter\n this.onInputBlur(e);\n this.updateModel(e);\n } else if (k === 27) {\n // Escape\n this.input.value = this.focusText;\n this.caret(0, this.checkVal());\n this.updateModel(e);\n e.preventDefault();\n }\n }\n\n public onKeyPress(e: any) {\n if (this.host.readonlyInput) return;\n\n const k = e.which || e.keyCode;\n const pos = this.caret();\n let p;\n let c;\n let next: any;\n\n if (e.ctrlKey || e.altKey || e.metaKey || k < 32 || (k > 34 && k < 41)) {\n // Ignore\n return;\n } else if (k && k !== 13) {\n if (pos.end - pos.begin !== 0) {\n this.clearBuffer(pos.begin, pos.end);\n this.shiftL(pos.begin, pos.end - 1);\n }\n\n p = this.seekNext(pos.begin - 1);\n if (p < this.len) {\n c = String.fromCharCode(k);\n if (this.tests[p].test(c)) {\n this.shiftR(p);\n\n this.buffer[p] = c;\n this.writeBuffer();\n next = this.seekNext(p);\n\n if (/android/i.test(navigator.userAgent)) {\n // Path for CSP Violation on FireFox OS 1.1\n const proxy = () => {\n this.caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n this.caret(next);\n }\n }\n }\n e.preventDefault();\n }\n\n this.updateModel(e);\n this.updateFilledState();\n }\n\n private createCompleteMask(): string {\n switch (this.host.selectionMode) {\n case \"range\":\n return this.mask + ` ${this.host.rangeSeparator} ` + this.mask;\n case \"single\":\n case \"multiple\":\n return this.mask;\n }\n }\n\n public checkVal(allow?: boolean) {\n // Try to place characters where they belong\n const test = this.input.value;\n let lastMatch = -1;\n let i: any;\n let c: any;\n let pos = 0;\n\n for (i = 0; i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n while (pos++ < test.length) {\n c = test.charAt(pos - 1);\n if (this.tests[i].test(c)) {\n this.buffer[i] = c;\n lastMatch = i;\n break;\n }\n }\n if (pos > test.length) {\n this.clearBuffer(i + 1, this.len);\n break;\n }\n } else {\n if (this.buffer[i] === test.charAt(pos)) {\n pos++;\n }\n if (i < this.partialPosition) {\n lastMatch = i;\n }\n }\n }\n if (allow) {\n this.writeBuffer();\n } else if (lastMatch + 1 < this.partialPosition) {\n if (this.autoClear || this.buffer.join(\"\") === this.defaultBuffer) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (this.input.value) {\n this.input.value = \"\";\n }\n this.clearBuffer(0, this.len);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n this.writeBuffer();\n }\n } else {\n this.writeBuffer();\n this.input.value = this.input.value.substring(0, lastMatch + 1);\n }\n\n return this.partialPosition ? i : this.firstNonMaskPos;\n }\n\n public onInputFocus() {\n if (this.host.readonlyInput) return;\n\n clearTimeout(this.caretTimeoutId);\n let pos: any;\n\n this.focusText = this.input.value;\n\n pos = this.checkVal();\n\n this.caretTimeoutId = setTimeout(() => {\n if (this.input !== document.activeElement) {\n return;\n }\n this.writeBuffer();\n if (pos == this.mask.replace(\"?\", \"\").length) {\n this.caret(0, pos);\n } else {\n this.caret(pos);\n }\n }, 10);\n }\n\n public onInputChange(event: any) {\n if (this.androidChrome) this.handleAndroidInput(event);\n else this.handleInputChange(event);\n }\n\n public handleInputChange(event: any) {\n if (this.host.readonlyInput) return;\n\n setTimeout(() => {\n const pos = this.checkVal(true);\n this.caret(pos);\n this.updateModel(event);\n }, 0);\n }\n\n public updateModel(e: any) {\n const updatedValue = e.target.value;\n if (updatedValue !== null || updatedValue !== undefined) {\n this.value = updatedValue;\n this.host.onUserInput(e);\n }\n }\n\n public updateFilledState() {\n this.filled = this.input && this.input.value != \"\";\n }\n\n public focus() {\n this.input.focus();\n }\n\n private initMask() {\n const completeMask = this.createCompleteMask();\n\n this.tests = [];\n this.partialPosition = completeMask.length;\n this.len = completeMask.length;\n this.firstNonMaskPos = null;\n this.defs = {\n \"9\": \"[0-9]\",\n };\n\n const maskTokens = completeMask.split(\"\");\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c == \"?\") {\n this.len--;\n this.partialPosition = i;\n } else if (this.defs[c]) {\n this.tests.push(new RegExp(this.defs[c]));\n\n if (this.firstNonMaskPos === null) {\n this.firstNonMaskPos = this.tests.length - 1;\n }\n\n if (i < this.partialPosition) {\n this.lastRequiredNonMaskPos = this.tests.length - 1;\n }\n } else {\n this.tests.push(null);\n }\n }\n\n this.buffer = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c != \"?\") {\n if (this.defs[c]) {\n this.buffer.push(this.getPlaceholder(i));\n } else {\n this.buffer.push(c);\n }\n }\n }\n\n this.defaultBuffer = this.buffer.join(\"\");\n }\n\n private caret(first?: number, last?: number) {\n let range, begin, end;\n\n if (!this.input.offsetParent || this.input !== document.activeElement) {\n return;\n }\n\n if (typeof first == \"number\") {\n begin = first;\n end = typeof last === \"number\" ? last : begin;\n\n if (this.input.setSelectionRange) {\n this.input.setSelectionRange(begin, end);\n } else if (this.input[\"createTextRange\"]) {\n range = this.input[\"createTextRange\"]();\n range.collapse(true);\n range.moveEnd(\"character\", end);\n range.moveStart(\"character\", begin);\n range.select();\n }\n } else {\n if (this.input.setSelectionRange) {\n begin = this.input.selectionStart;\n end = this.input.selectionEnd;\n } else if (document[\"selection\"] && document[\"selection\"].createRange) {\n range = document[\"selection\"].createRange();\n begin = 0 - range.duplicate().moveStart(\"character\", -100000);\n end = begin + range.text.length;\n }\n\n return { begin: begin, end: end };\n }\n }\n\n private getPlaceholder(i: number) {\n if (i < this.slotChar.length) return this.slotChar.charAt(i);\n return this.slotChar.charAt(0);\n }\n\n private seekNext(pos: any) {\n while (++pos < this.len) {\n if (this.tests[pos]) break;\n }\n return pos;\n }\n\n private seekPrev(pos: any) {\n while (--pos >= 0 && !this.tests[pos]) {\n if (this.tests[pos]) break;\n }\n return pos;\n }\n\n private shiftL(begin: number, end: number) {\n let i: any;\n let j: any;\n\n if (begin < 0) {\n return;\n }\n\n j = this.seekNext(end);\n\n for (i = begin; i < this.len; i++) {\n if (this.tests[i]) {\n if (j < this.len && this.tests[i].test(this.buffer[j])) {\n this.buffer[i] = this.buffer[j];\n this.buffer[j] = this.getPlaceholder(j);\n } else break;\n\n j = this.seekNext(j);\n }\n }\n this.writeBuffer();\n this.caret(Math.max(this.firstNonMaskPos, begin));\n }\n\n private shiftR(pos: any) {\n let i: any;\n let c = this.getPlaceholder(pos);\n let j: any;\n let t: any;\n\n for (i = pos; i < this.len; i++) {\n if (this.tests[i]) {\n j = this.seekNext(i);\n t = this.buffer[i];\n this.buffer[i] = c;\n\n if (j < this.len && this.tests[j].test(t)) {\n c = t;\n } else break;\n }\n }\n }\n\n private handleAndroidInput(e: any) {\n const curVal = this.input.value;\n const pos = this.caret();\n\n if (this.oldVal && this.oldVal.length && this.oldVal.length > curVal.length) {\n // A deletion or backspace happened\n this.checkVal(true);\n while (pos.begin > 0 && !this.tests[pos.begin - 1]) {\n pos.begin--;\n }\n if (pos.begin === 0) {\n while (pos.begin < this.firstNonMaskPos && !this.tests[pos.begin]) {\n pos.begin++;\n }\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n if (this.isCompleted()) {\n const sentVal = curVal.replace(this.slotChar, \"\"); // Limpa os caracteres placeholders extras caso ele esteja completo\n this.updateCalendarValue(sentVal);\n }\n }, 0);\n } else {\n this.checkVal(true);\n\n while (pos.begin < this.len && !this.tests[pos.begin]) {\n pos.begin++;\n }\n\n setTimeout(() => {\n this.caret(pos.begin, pos.begin);\n if (this.isCompleted()) {\n const sentVal = curVal.replace(this.slotChar, \"\"); // Limpa os caracteres placeholders extras caso ele esteja completo\n this.updateCalendarValue(sentVal);\n }\n }, 0);\n }\n }\n\n private updateCalendarValue(sentVal: string) {\n // TODO verificar\n const dateVal = <Date>this.host.parseValueFromString(sentVal);\n if (this.host.isSelectable(dateVal.getDate(), dateVal.getMonth(), dateVal.getFullYear(), false)) {\n this.host.updateModel(sentVal);\n this.host.updateUI();\n }\n }\n\n private clearBuffer(start: any, end: any) {\n let i;\n\n for (i = start; i < end && i < this.len; i++) {\n if (this.tests[i]) {\n this.buffer[i] = this.getPlaceholder(i);\n }\n }\n }\n\n private writeBuffer() {\n this.input.value = this.buffer.join(\"\");\n }\n\n private createMaskFromDateFormat() {\n const calendar = this.host;\n let mask = this.autoClear ? \"?\" : \"\";\n\n if (!calendar.timeOnly) {\n let dateFormat = calendar.dateFormat;\n dateFormat = dateFormat.replace(/y/g, \"yy\");\n mask += dateFormat.replace(/[^/*,.\\-+\\[\\]\\\\]/g, \"9\");\n if (calendar.showTime) {\n mask += \" \";\n }\n }\n\n if (calendar.showTime || calendar.timeOnly) {\n mask += \"99:99\";\n if (calendar.showSeconds) {\n mask += \":99\";\n }\n }\n\n this._mask = mask;\n\n this.initMask();\n }\n\n isCompleted(): boolean {\n for (let i = this.firstNonMaskPos; i <= this.lastRequiredNonMaskPos; i++) {\n if (this.tests[i] && this.buffer[i] === this.getPlaceholder(i)) {\n return false;\n }\n }\n\n return true;\n }\n\n ngAfterViewChecked(): void {\n if (this.host.inputfieldViewChild && this.firstTime) {\n this.firstTime = false;\n this.setListeners();\n this.input.type = \"tel\";\n }\n }\n\n ngOnDestroy(): void {\n if (this.focusListener) this.focusListener();\n if (this.blurListener) this.blurListener();\n if (this.keydownListener) this.keydownListener();\n if (this.keypressListener) this.keypressListener();\n if (this.inputListener) this.inputListener();\n if (this.pasteListener) this.pasteListener();\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n onKeydownEventTest(e: KeyboardEvent) {\n const { key } = e;\n if (key == \"Tab\") {\n // Este código foi implementado para corrigir um problema no componente na v9\n // Deve ser removido assim que atualizarmos o PrimeNG para a v10\n const allFocusableElements = document.querySelectorAll(this.SELECTORS);\n let nextIsFocusable = false;\n let previousFocusable: string;\n let forceCloseModal = true;\n allFocusableElements.forEach((element) => {\n if (!e.shiftKey) {\n if (nextIsFocusable && element.id) {\n this.focusableElement(element.id, forceCloseModal);\n nextIsFocusable = false;\n e.preventDefault();\n return;\n }\n }\n\n let activeTagName = window.document.activeElement.tagName;\n if (e.shiftKey && element.id && element.tagName === \"INPUT\" && activeTagName == \"BUTTON\") {\n previousFocusable = element.id;\n forceCloseModal = false;\n }\n\n if (element.id === this.host.inputId) {\n if (previousFocusable) {\n this.focusableElement(previousFocusable, forceCloseModal);\n e.preventDefault();\n forceCloseModal = true;\n return;\n }\n nextIsFocusable = true;\n } else if (e.shiftKey && element.id) {\n previousFocusable = element.id;\n }\n });\n }\n }\n\n public focusableElement(id: string, hide: boolean) {\n const htmlElement = window.document.getElementById(id);\n htmlElement.focus();\n if (hide) {\n this.host.hideOverlay();\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CalendarMaskDirective } from \"./calendar-mask.directive\";\nimport { CommonModule } from \"@angular/common\";\n\n@NgModule({\n declarations: [CalendarMaskDirective],\n imports: [CommonModule],\n exports: [CalendarMaskDirective],\n})\nexport class CalendarMaskModule {}\n","import { Directive, Input, TemplateRef } from \"@angular/core\";\n\n@Directive({\n selector: \"[sTemplate]\",\n})\nexport class TemplateDirective {\n @Input(\"sTemplate\")\n public type: string;\n\n constructor(public readonly template: TemplateRef<any>) {}\n}","export enum CardTemplateTypes {\n Header = \"header\",\n Body = \"body\",\n Footer = \"footer\",\n}","import { AfterContentInit, Component, ContentChildren, Input, QueryList, TemplateRef } from \"@angular/core\";\n\nimport { TemplateDirective } from \"../template/template.directive\";\nimport { CardTemplateTypes } from \"./models/card-template-types\";\n\n@Component({\n selector: \"s-card\",\n templateUrl: \"./card.component.html\",\n styleUrls: [\"./card.component.scss\"],\n})\nexport class CardComponent implements AfterContentInit {\n @Input()\n public bannerImage: string;\n\n @Input()\n public fullWidth = false;\n\n @Input()\n title = '';\n\n @Input()\n subtitle = '';\n\n @Input()\n icon = '';\n\n public showBanner = false;\n\n @ContentChildren(TemplateDirective)\n public templates: QueryList<TemplateDirective>;\n\n public headerTemplate: TemplateRef<unknown>;\n public bodyTemplate: TemplateRef<unknown>;\n public footerTemplate: TemplateRef<unknown>;\n\n public ngAfterContentInit(): void {\n this._getTemplates();\n this._loadImage();\n }\n\n public get hasHeader() {\n const headerTemplate = !!this.headerTemplate;\n const hasHeaderAttributes = this.title || this.subtitle || this.icon;\n return headerTemplate || hasHeaderAttributes;\n }\n\n private _getHeaderTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(CardTemplateTypes.Header);\n }\n\n private _getBodyTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(CardTemplateTypes.Body);\n }\n\n private _getFooterTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(CardTemplateTypes.Footer);\n }\n\n private _getCustomTemplate(type: string) {\n return this.templates.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private _getTemplates(): void {\n this.headerTemplate = this._getHeaderTemplate();\n this.bodyTemplate = this._getBodyTemplate();\n this.footerTemplate = this._getFooterTemplate();\n }\n\n private _loadImage(): void {\n const img = new Image();\n img.src = this.bannerImage;\n\n img.onload = () => (this.showBanner = true);\n img.onerror = () => (this.showBanner = false);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TemplateDirective } from \"./template.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TemplateDirective],\n exports: [TemplateDirective],\n})\nexport class TemplateModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { CardComponent } from \"./card.component\";\nimport { TemplateModule } from \"../template/template.module\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CardComponent],\n exports: [CardComponent, TemplateModule],\n})\nexport class CardModule {}\n","import { Component, ElementRef, Input, QueryList, ViewChildren } from \"@angular/core\";\n\nimport { ChatMessage } from \"./types/chat-message\";\n\n@Component({\n selector: \"s-chat\",\n templateUrl: \"./chat.component.html\",\n styleUrls: [\"./chat.component.scss\"],\n})\nexport class ChatComponent {\n @Input()\n public messages: ChatMessage[] = [];\n\n @ViewChildren(\"messageElements\", { read: ElementRef })\n private messageElements: QueryList<ElementRef<HTMLElement>>;\n\n public ngAfterViewInit(): void {\n this.scrollToBottom();\n\n this.messageElements.changes.subscribe(() => {\n this.scrollToBottom();\n });\n }\n\n private scrollToBottom(): void {\n this.messageElements?.last?.nativeElement.scrollIntoView({ behavior: \"smooth\" });\n }\n}\n","import { Component, Input, OnChanges, SimpleChanges } from \"@angular/core\";\n\nimport { ChatMessage } from \"../../types/chat-message\";\n\n@Component({\n selector: \"s-chat-message\",\n templateUrl: \"./chat-message.component.html\",\n styleUrls: [\"./chat-message.component.scss\"],\n})\nexport class ChatMessageComponent implements OnChanges {\n @Input()\n public message: ChatMessage;\n\n public fileName: string | null = null;\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes[\"message\"]) {\n this.fileName = this.message.attachmentUrl ? this.getFileNameByUrl(this.message.attachmentUrl) : null;\n }\n }\n\n private getFileNameByUrl(path: string): string {\n const match = path.match(/[^\\\\\\/]+$/);\n return match ? match[0] : null;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { LocaleModule } from \"../locale/locale.module\";\nimport { ChatComponent } from \"./chat.component\";\nimport { ChatMessageComponent } from \"./components/chat-message/chat-message.component\";\n\n@NgModule({\n imports: [CommonModule, LocaleModule, TranslateModule.forChild()],\n declarations: [ChatComponent, ChatMessageComponent],\n exports: [ChatComponent],\n})\nexport class ChatModule {}\n","import { Component, forwardRef, Input } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { CheckboxData } from \"./models/checkbox-data\";\nimport { CheckboxState } from \"./models/checkbox-state\";\n\n@Component({\n selector: \"s-checkbox\",\n templateUrl: \"./checkbox.component.html\",\n styleUrls: [\"./checkbox.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxComponent),\n multi: true,\n },\n ],\n})\nexport class CheckboxComponent implements ControlValueAccessor {\n @Input()\n public data: CheckboxData;\n\n public state: CheckboxState = {\n checked: false,\n indeterminate: false,\n children: {},\n };\n\n private _onChange: (value: CheckboxState) => void = () => { };\n private _onTouched: () => void = () => { };\n\n public writeValue(value: CheckboxState): void {\n if (value) {\n this.state = value;\n } else {\n this.state = {\n checked: false,\n indeterminate: false,\n disabled: false,\n children: this._initializeChildren(this.data),\n };\n }\n }\n\n public registerOnChange(onChange: (value: CheckboxState) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n private _initializeChildren(item: CheckboxData): { [key: string]: CheckboxState } {\n const childrenState: { [key: string]: CheckboxState } = {};\n if (item.children) {\n item.children.forEach((child) => {\n childrenState[child.label] = {\n checked: false,\n indeterminate: false,\n children: this._initializeChildren(child),\n };\n });\n }\n return childrenState;\n }\n\n public updateParent(): void {\n if (this.data.children && this.data.children.length > 0) {\n const allChecked = this.data.children.every((child) => this.state.children[child.label]?.checked);\n const someChecked = this.data.children.some(\n (child) => this.state.children[child.label]?.checked || this.state.children[child.label]?.indeterminate\n );\n this.state.checked = allChecked;\n this.state.indeterminate = !allChecked && someChecked;\n }\n this._onChange(this.state);\n this._onTouched();\n }\n\n public onCheckboxChange(): void {\n if (this.state.disabled) return;\n\n this.state.checked = !this.state.checked;\n this.state.indeterminate = false;\n this._toggleChildrenCheck(this.data, this.state, this.state.checked);\n this._onChange(this.state);\n this._onTouched();\n }\n\n public get renderType() {\n return this.data.renderType || \"inline\";\n }\n\n private _toggleChildrenCheck(item: CheckboxData, state: CheckboxState, checked: boolean): void {\n if (item.children?.length) {\n item.children.forEach((child) => {\n if (!state.children[child.label]) {\n state.children[child.label] = {\n checked: false,\n indeterminate: false,\n children: this._initializeChildren(child),\n };\n }\n state.children[child.label].checked = checked;\n state.children[child.label].indeterminate = false;\n if (child.children) {\n this._toggleChildrenCheck(child, state.children[child.label], checked);\n }\n });\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\n\nimport { CheckboxComponent } from \"./checkbox.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [CheckboxComponent],\n exports: [CheckboxComponent],\n})\nexport class CheckboxModule {}\n","export enum Languages {\n TaxCalculation = \"TaxCalculation\",\n Json = \"Json\"\n}\n","export enum Themes {\n SDSLight = \"SDSLight\"\n}\n","/* Interfaces */\nexport * from \"./interfaces/editor-options\";\n\n/* Enums */\nexport * from \"./enums/languages\";\nexport * from \"./enums/themes\";\n","import { Languages } from \"../../models\";\nimport { LinterFacade } from \"../facades/linter-facade\";\n\ntype LinterFacadeFactory = () => LinterFacade; \n\nexport class CoreLinters {\n\n private static _LINTERS: Map<Languages, LinterFacadeFactory> = new Map([]);\n\n public static getLinter(language: Languages): LinterFacade | undefined {\n const languageLinterFactory = CoreLinters._LINTERS.get(language);\n if (languageLinterFactory) return languageLinterFactory();\n }\n}\n","import {\n Observable,\n ReplaySubject,\n Subject\n} from \"rxjs\";\n\nimport {\n EditorOptions,\n Languages,\n Themes\n} from \"../../models\";\nimport { Marker } from \"../models\";\nimport { CoreLinters } from \"../use-cases/core-linters\";\nimport { LinterFacade } from \"./linter-facade\";\n\nexport abstract class CoreFacade {\n\n private $onCoreFinishLoad: ReplaySubject<void> = new ReplaySubject(1);\n private $onCodeChange: Subject<string> = new Subject();\n private $onCodeValidityChange: Subject<boolean> = new Subject();\n private _completionItems: string[] = [];\n private _lastCodeEmitted = \"\";\n private _lastCodeValidityEmitted!: boolean;\n private _linter!: LinterFacade;\n\n public changeEditorOptions(options: EditorOptions): void {\n if (options) {\n if (typeof options !== \"object\") throw new Error(\"Editor's options must be an EditorOptions object\");\n\n this.validateLanguage(options.language);\n this.validateTheme(options.theme);\n this.setLinter(options.language);\n\n this.setCoreEditorOptions(options);\n }\n }\n\n public changeCode(code: string): void {\n const safeCode = this.getSafeCode(code);\n if (safeCode !== this._lastCodeEmitted) {\n this.setCode(safeCode);\n }\n }\n\n public setPayload(payload: string): void {\n const safeCode = this.getSafeCode(payload);\n // Força a atualização sem verificar _lastCodeEmitted,\n // mas preserva o cursor verificando no nível do editor\n this.setCodeWithCursorPreservation(safeCode);\n }\n\n protected abstract setCodeWithCursorPreservation(code: string): void;\n\n public abstract initCore(): void;\n public abstract destroyCore(): void;\n\n public abstract setCoreWrapperElement(element: HTMLDivElement): void;\n public abstract setCode(code: string): void;\n\n public getOnCoreFinishLoadObservable(): Observable<void> {\n return this.$onCoreFinishLoad.asObservable();\n }\n\n public getOnCodeChangeObservable(): Observable<string> {\n return this.$onCodeChange.asObservable();\n }\n\n public getOnCodeValidityChangeObservable(): Observable<boolean> {\n return this.$onCodeValidityChange.asObservable();\n }\n\n protected abstract setCoreEditorOptions(options: EditorOptions): void;\n protected abstract highlightCode(markers: Marker[]): void;\n\n protected notifyCoreFinishLoad(): void {\n this.$onCoreFinishLoad.next();\n }\n\n protected notifyCodeChange(code: string): void {\n const safeCode = this.getSafeCode(code);\n if (safeCode !== this._lastCodeEmitted) {\n this._lastCodeEmitted = safeCode;\n this.$onCodeChange.next(safeCode);\n this.validateCode(safeCode);\n }\n }\n\n protected updateCompletionItems(items: string[]): void {\n this._completionItems = items || [];\n this.validateCode(this._lastCodeEmitted);\n }\n\n private setLinter(language: Languages): void {\n this._linter = CoreLinters.getLinter(language);\n }\n\n private async validateCode(code: string): Promise<void> {\n if (this._linter) {\n const markers: Marker[] = await this._linter.lint(code, this._completionItems);\n this.highlightCode(markers);\n this.notifyCodeValidityChange(!markers.length);\n }\n }\n\n private notifyCodeValidityChange(validity: boolean): void {\n if (validity !== this._lastCodeValidityEmitted) {\n this._lastCodeValidityEmitted = validity;\n this.$onCodeValidityChange.next(validity);\n }\n }\n\n private validateLanguage(language: Languages): void {\n const languages = Object.values(Languages);\n if (language && !languages.includes(language)) throw new Error(`The informed language \"${language}\" is not supported`);\n }\n\n private validateTheme(theme: Themes): void {\n const themes = Object.values(Themes);\n if (theme && !themes.includes(theme)) throw new Error(`The informed theme \"${theme}\" is not supported`);\n }\n\n private getSafeCode(code: string): string {\n return typeof code === \"string\" ? code : \"\";\n }\n}\n","import { Component, OnInit, AfterViewInit, OnDestroy, Input, Output, EventEmitter, ViewChild, ElementRef, forwardRef } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { take, takeUntil } from \"rxjs/operators\";\n\nimport { CoreFacade } from \"./core/facades/core-facade\";\nimport { EditorOptions } from \"./models\";\n\n@Component({\n selector: \"s-code-editor\",\n templateUrl: \"./code-editor.component.html\",\n styleUrls: [\"./code-editor.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CodeEditorComponent),\n multi: true,\n },\n ],\n})\nexport class CodeEditorComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnDestroy {\n @Input()\n public set editorOptions(options: EditorOptions) {\n this.coreFacade.changeEditorOptions(options);\n }\n\n @Input()\n public set code(code: string) {\n this.coreFacade.changeCode(code);\n }\n\n @Input()\n public set payload(payload: string) {\n this.coreFacade.setPayload(payload);\n }\n\n @Output()\n public codeChange = new EventEmitter<string>();\n\n @Output()\n public isCodeValidChange = new EventEmitter<boolean>();\n\n @Output()\n public onCodeChange = new EventEmitter<string>();\n\n @Output()\n public onComponentFinishLoad = new EventEmitter<void>();\n\n @ViewChild(\"coreWrapper\")\n private coreWrapperElement: ElementRef;\n\n private _ngUnsubscribe = new Subject<void>();\n\n private _onChange: (value: string) => void = () => { };\n private _onTouched: () => void = () => { };\n\n constructor(private readonly coreFacade: CoreFacade) { }\n\n public writeValue(value: string): void {\n this.code = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public ngOnInit(): void {\n this.coreFacade.initCore();\n this.setupCoreListeners();\n }\n\n public ngAfterViewInit(): void {\n this.setCoreWrapperElement();\n }\n\n public ngOnDestroy(): void {\n this.coreFacade.destroyCore();\n this._ngUnsubscribe.next();\n this._ngUnsubscribe.complete();\n }\n\n private setCoreWrapperElement(): void {\n this.coreFacade.setCoreWrapperElement(this.coreWrapperElement.nativeElement as HTMLDivElement);\n }\n\n private setupCoreListeners(): void {\n this.coreFacade\n .getOnCoreFinishLoadObservable()\n .pipe(take(1))\n .subscribe(() => this.onComponentFinishLoad.emit());\n\n this.coreFacade\n .getOnCodeChangeObservable()\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe((code) => {\n this.codeChange.emit(code);\n this.onCodeChange.emit(code);\n this._onTouched();\n this._onChange(code);\n });\n\n this.coreFacade\n .getOnCodeValidityChangeObservable()\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe((validity) => {\n this.isCodeValidChange.emit(validity);\n });\n }\n}\n","export default `\n@top Script { statement+ }\n\nstatement[@isGroup=Statement] {\n Keyword |\n String |\n Number\n}\n\n@tokens {\n String { '\"' (![\\\\n\"])* '\"'? }\n\n Number { std.digit+ }\n\n identifierChar { std.asciiLetter | $[_$\\u{a1}-\\u{10ffff}] }\n\n word { identifierChar (identifierChar | std.digit)* }\n\n identifier { word }\n}\n\nKeyword {\n kw<\"SE\">\n kw<\"ENTAO\">\n kw<\"FIM_SE\">\n kw<\"SENAO\">\n kw<\"NAO\">\n kw<\"CONTENHA\">\n kw<\"OU\">\n kw<\"E\">\n}\n\nkw<term> { @specialize[@name={term}]<identifier, term> }\n\n@detectDelim\n`;\n","export enum EnumTypeOrder {\n // Tipo de ordenação - Crescente\n ASC = \"ASC\",\n // Tipo de ordenação - Decrescente\n DESC = \"DESC\"\n}\n","export enum MetaType {\n // Entity\n ENTITY = \"ENTITY\",\n // String\n STRING = \"STRING\",\n // Integer\n INTEGER = \"INTEGER\",\n // Double\n DOUBLE = \"DOUBLE\",\n // Long\n LONG = \"LONG\",\n // BigDecimal\n BIGDECIMAL = \"BIGDECIMAL\",\n // UUID\n UUID = \"UUID\",\n // Date\n DATE = \"DATE\",\n // DateTime\n DATETIME = \"DATETIME\",\n // DateTime\n LOCALDATETIME = \"LOCALDATETIME\",\n // Time\n TIME = \"TIME\",\n // Boolean\n BOOLEAN = \"BOOLEAN\",\n // List\n LIST = \"LIST\",\n // Enum\n ENUM = \"ENUM\",\n // CustomExpression\n CUSTOM_EXPRESSION = \"CUSTOM_EXPRESSION\",\n // PublicExpression\n PUBLIC_EXPRESSION = \"PUBLIC_EXPRESSION\"\n}\n","export enum RequestTypes {\n ListContextMetadataById,\n ListBlobMetadata,\n ListExpressionMetadata,\n ListFacadeMetadataNames,\n GetFacadeMetadataByPath,\n}\n","export enum CompletionTypes {\n Keyword = \"keyword\",\n Context = \"context\",\n Expression = \"expression\",\n UserExpression = \"userExpression\",\n Entity = \"entity\",\n FinalValue = \"finalValue\"\n}\n","export enum Keywords {\n SE = \"SE\",\n SENAO = \"SENAO\",\n CONTENHA = \"CONTENHA\",\n ENTAO = \"ENTAO\",\n FIM_SE = \"FIM_SE\",\n NAO = \"NAO\",\n E = \"E\",\n OU = \"OU\"\n}\n","/* Interfaces */\nexport * from \"./interfaces/tax-calculation-configs\";\nexport * from \"./interfaces/fields-order-by\";\nexport * from \"./interfaces/rec-page-request\";\nexport * from \"./interfaces/list-facade-metadata-names\";\nexport * from \"./interfaces/facade-metadata-name\";\nexport * from \"./interfaces/rec-front-context-metadata\";\nexport * from \"./interfaces/list-context-metadata-by-id\";\nexport * from \"./interfaces/rec-expression-metadata\";\nexport * from \"./interfaces/list-expression-metadata\";\nexport * from \"./interfaces/rec-front-field-metadata\";\nexport * from \"./interfaces/rec-front-facade-metadata\";\nexport * from \"./interfaces/get-facade-metadata-by-path\";\nexport * from \"./interfaces/safe-http-communication\";\nexport * from \"./interfaces/completion-Item\";\n\n/* Enums */\nexport * from \"./enums/enum-type-order\";\nexport * from \"./enums/meta-type\";\nexport * from \"./enums/request-types\";\nexport * from \"./enums/completion-types\";\nexport * from \"./enums/keywords\";\n","import { LRLanguage } from \"@codemirror/language\";\nimport { buildParser } from \"@lezer/generator\";\nimport {\n styleTags,\n tags\n} from \"@codemirror/highlight\";\n\nimport parserGrammar from \"./grammar\";\nimport { Keywords } from \"../../models\";\n\nexport const baseConfigs = LRLanguage.define({\n parser: buildParser(parserGrammar)\n .configure({\n props: [\n styleTags({\n [Object.values(Keywords).join(\" \")]: tags.keyword,\n \"String\": tags.string,\n \"Number\": tags.number,\n })\n ]\n })\n});\n","/**\n * Formats a JSON response to a JS object\n * @param response The response to format\n * @returns A JS object based on the response's body\n */\nexport async function formatJsonResponse(response: Response): Promise<any> {\n return response.json();\n}\n","/**\n * Formats a Blob response to a JS object\n * @param response The response to format\n * @returns A JS object based on the response's body\n */\nexport async function formatBlobResponse(response: Response): Promise<any> {\n const textResponse = await (await response.blob()).text();\n return JSON.parse(textResponse);\n}\n","import {\n service,\n user\n} from \"@seniorsistemas/senior-platform-data\";\n\nimport {\n formatJsonResponse,\n formatBlobResponse\n} from \"./json-response-formatters\";\n\n/**\n * Custom HttpClient for cases when is not possible to use the Angular's HttpClient\n */\nexport class CustomHttpClient {\n\n private static _responseFormatterMap: Map<string, (response: Response) => Promise<any>> = new Map([\n [\"application/json\", formatJsonResponse],\n [\"application/octet-stream\", formatBlobResponse]\n ]);\n\n /**\n * Executes a Http Get\n * @param url Url to execute the Get on\n * @param init Optional additional configs\n * @returns Whether a Promise<T> on request success or an error in request fail\n */\n public static async GET<T>(url: string, init: RequestInit = {}): Promise<T> {\n const response = await this.interceptRequest(url, {\n ...init,\n method: \"GET\"\n });\n\n return this.formatResponse<T>(response);\n }\n\n /**\n * Executes a Http Post\n * @param url Url to execute the Post on\n * @param body Info to send to server on Post\n * @param init Optional additional configs\n * @returns Whether a Promise<T> on request success or an error in request fail\n */\n public static async POST<T>(url: string, body: any, init: RequestInit = {}): Promise<T> {\n const headers = new Headers(init.headers);\n headers.append(\"Content-Type\", \"application/json\");\n headers.append(\"Accept\", \"application/json\");\n\n const response = await this.interceptRequest(url, {\n ...init,\n method: \"POST\",\n body: JSON.stringify(body),\n headers,\n });\n\n return this.formatResponse<T>(response);\n }\n\n /**\n * Intercepts the original request to add a required header for Senior in case of a internal request\n * @param url Url from the original request\n * @param originalReq Configs from the original request\n * @returns Whether a Promise<Response> if the request was made successfully or an error\n */\n private static async interceptRequest(url: string, originalReq: RequestInit = {}): Promise<Response> {\n try {\n if (!url.includes(\"://\")) {\n const restUrl = await service.getRestUrl();\n const authHeader = await user.getAuthHeader();\n\n const headers = new Headers(originalReq.headers);\n headers.append(\"Authorization\", authHeader);\n\n const request = new Request(\n restUrl + url,\n {\n ...originalReq,\n headers\n }\n );\n return fetch(request);\n }\n\n return fetch(url, originalReq);\n\n } catch (err) {\n throw new Error(`Error fetching requested URL: ${err}`);\n }\n }\n\n /**\n * Formats the request response to an object<T> or {}\n * @param response The response to be formatted\n * @returns Whether a Promise<T> if the response status is in the range 200-299 an error\n */\n private static async formatResponse<T>(response: Response): Promise<T> {\n const contentType = response.headers.get(\"content-type\");\n const formatter = CustomHttpClient._responseFormatterMap.get(contentType);\n const formattedContentType = formatter ? await formatter(response) : {};\n\n if (response.ok) return formattedContentType as unknown as T;\n throw new Error(JSON.stringify(formattedContentType));\n }\n}\n","import { HostProjectConfigs } from \"../../../../../angular-components.module\";\nimport { Translations } from \"./models\";\n\n/**\n * Custom translator for cases when is not possible to use the \"TranslateService\" from \"@ngx-translate/core\"\n */\nexport class CustomTranslationsService {\n\n private static _translations: Translations = {};\n private static _TRANSLATION_PREFIX = \"\";\n\n /**\n * Method used to get the translation for an key based on the host project's translations. Always use the first available language\n * @param key Key used to search the translation\n * @returns The translation for the informed key or the key in case there is no translation\n */\n public static translate(key: string): string {\n if (key === undefined || key === null) return \"\";\n const translationKey = `${CustomTranslationsService._TRANSLATION_PREFIX}${key}`;\n const firstLanguageTranslations = Object.values(CustomTranslationsService._translations)[0] ?? {};\n return firstLanguageTranslations[translationKey] ?? translationKey;\n }\n\n /**\n * Method used to set the translations that will be used as base when calling the \"translate\" method\n * @param translations Translations to use as base\n */\n public static setTranslations(translations: Translations): void {\n CustomTranslationsService._translations = translations ?? {};\n }\n\n /**\n * Method used to set the prefix that will be used when calling the \"translate\" method\n * @param hostProjectConfigs The host project's configs used to create the prefix\n */\n public static setTranslationsPrefix(hostProjectConfigs: HostProjectConfigs): void {\n const { domain, service } = hostProjectConfigs ?? {};\n const prefix = `${domain}.${service}.`;\n CustomTranslationsService._TRANSLATION_PREFIX = prefix;\n }\n}\n","import {\n ModuleWithProviders,\n NgModule,\n InjectionToken\n} from \"@angular/core\";\n\nexport const HostProjectConfigsInjectionToken = new InjectionToken<HostProjectConfigs>(\"hostProjectConfigs\");\n\nexport interface HostProjectConfigs {\n domain: string;\n service: string;\n}\n\n@NgModule({})\nexport class AngularComponentsModule {\n static forRoot(config: HostProjectConfigs): ModuleWithProviders<AngularComponentsModule> {\n return {\n ngModule: AngularComponentsModule,\n providers: [\n {\n provide: HostProjectConfigsInjectionToken,\n useValue: config\n }\n ]\n };\n }\n}\n","import {\n NgModule,\n Inject\n} from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\nimport { HostProjectConfigs, HostProjectConfigsInjectionToken } from \"../../../../../angular-components.module\";\nimport { CustomTranslationsService } from \"./index\";\n\n/**\n * Responsible for setting up the translations that will be used by the \"CustomTranslationsService\".\n * Uses the host project's translations set by using the \"TranslationsModule\" from \"@seniorsistemas/platform-components\"\n */\n@NgModule()\nexport class CustomTranslationsModule {\n\n constructor (\n private readonly translate: TranslateService,\n @Inject(HostProjectConfigsInjectionToken) private readonly hostProjectConfigs: HostProjectConfigs\n ) {\n this.factoryTranslations(this.translate, this.hostProjectConfigs);\n }\n\n private factoryTranslations(translate: TranslateService, hostProjectConfigs: HostProjectConfigs): void {\n CustomTranslationsService.setTranslations(translate.translations);\n CustomTranslationsService.setTranslationsPrefix(hostProjectConfigs);\n }\n}\n","export enum MarkerSeverity {\n Error,\n Info,\n Warning\n}\n","/* Interfaces */\nexport * from \"./interfaces/marker\";\n\n/* Enums */\nexport * from \"./enums/marker-severity\";\n","import { Diagnostic } from \"@codemirror/lint\";\n\nimport { DiagnosticSeverity } from \"../models\";\nimport {\n Marker,\n MarkerSeverity\n} from \"../../../../core/models\";\n\nconst diagnosticSeverityInMarkerSeverityMap: Map<number, DiagnosticSeverity> = new Map([\n [MarkerSeverity.Error, \"error\"],\n [MarkerSeverity.Info, \"info\"],\n [MarkerSeverity.Warning, \"warning\"]\n]);\n\nexport function convertMarkersToDiagnostics(markers: Marker[], textLength: number): Diagnostic[] {\n return markers.map(marker => ({\n from: marker.start || 0,\n to: marker.end || textLength,\n message: marker.message ?? \"\",\n severity: diagnosticSeverityInMarkerSeverityMap.get(marker.severity) ?? \"error\"\n }));\n}\n","export function isCurrentPositionInsideString(stringBeforeCurrentPosition: string): boolean {\n const doubleQuotesQuantity = stringBeforeCurrentPosition.match(/\"/g)?.length || 0;\n return doubleQuotesQuantity % 2 !== 0;\n}\n","import { CustomHttpClient } from \"../../../../../../utils\";\nimport {\n ListContextMetadataByIdRequest,\n ListContextMetadataByIdResponse,\n ListExpressionMetadataRequest,\n ListExpressionMetadataResponse,\n ListFacadeMetadataNamesRequest,\n ListFacadeMetadataNamesResponse,\n GetFacadeMetadataByPathRequest,\n GetFacadeMetadataByPathResponse,\n} from \"../../models\";\n\nexport class AutocompleteService {\n private static BASE_URL = \"platform/rule_metadata\";\n\n public static async listContextMetadataById(request: ListContextMetadataByIdRequest, abortSignal: AbortSignal): Promise<ListContextMetadataByIdResponse> {\n return CustomHttpClient.POST<ListContextMetadataByIdResponse>(\n `${AutocompleteService.BASE_URL}/queries/listContextMetadataById`,\n request,\n {\n signal: abortSignal\n }\n );\n }\n\n public static async listExpressionMetadata(request: ListExpressionMetadataRequest, abortSignal: AbortSignal): Promise<ListExpressionMetadataResponse> {\n return CustomHttpClient.POST<ListExpressionMetadataResponse>(\n `${AutocompleteService.BASE_URL}/queries/listExpressionMetadata`,\n request,\n {\n signal: abortSignal\n }\n );\n }\n\n public static async listFacadeMetadataNames(request: ListFacadeMetadataNamesRequest, abortSignal: AbortSignal): Promise<ListFacadeMetadataNamesResponse> {\n return CustomHttpClient.POST<ListFacadeMetadataNamesResponse>(\n `${AutocompleteService.BASE_URL}/queries/listFacadeMetadataNames`,\n request,\n {\n signal: abortSignal\n }\n );\n }\n\n public static async getFacadeMetadataByPath(request: GetFacadeMetadataByPathRequest, abortSignal: AbortSignal): Promise<GetFacadeMetadataByPathResponse> {\n return CustomHttpClient.POST<GetFacadeMetadataByPathResponse>(\n `${AutocompleteService.BASE_URL}/queries/getFacadeMetadataByPath`,\n request,\n {\n signal: abortSignal\n }\n );\n }\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds style to autocomplete's state-wrapper\n * @returns An extension containing the style\n */\nexport function style(): Extension {\n return EditorView.theme({\n \".s-code-editor-taxCalculation-autocomplete-ul\": {\n \"padding\": \".75rem !important\",\n },\n\n \".s-code-editor-taxCalculation-autocomplete-li\": {\n cursor: \"default !important\",\n \"line-height\": \"1.375em !important\",\n },\n });\n}\n","import {\n EditorState,\n Extension,\n StateField\n} from \"@codemirror/state\";\nimport { showTooltip, Tooltip } from \"@codemirror/tooltip\";\n\nimport { CodeMirror6Core } from \"../../../../../../codemirror-6-core\";\nimport { style } from \"./autocomplete-state-wrapper-style\";\n\nlet htmlElementToBeWrapped: HTMLElement = null;\n\n/**\n * Adds a view updates's listener that creates an state over the autocomplete\n * @returns An extension containing everything needed to listen the updates and create the autocomplete's state\n */\n export function autocompleteStateWrapper(): Extension {\n return [\n autocompleteStateWrapperStateField(),\n style()\n ];\n}\n\n/**\n * Shows a state on a non-clickable autocomplete item's format with an HTMLElement inside\n * @param element The HTMLElement to show inside the state\n */\nexport function showAutocompleteStateWrapper(element: HTMLElement): void {\n htmlElementToBeWrapped = element;\n CodeMirror6Core.updateEditorView();\n}\n\n/**\n * Removes a possible showed autocomplete state\n */\nexport function hideAutocompleteStateWrapper(): void {\n htmlElementToBeWrapped = null;\n CodeMirror6Core.updateEditorView();\n}\n\n/*\n * Creates and returns a StateField responsible for listening the view's change and to add the autocomplete state's wrapper\n */\nfunction autocompleteStateWrapperStateField(): StateField<Tooltip> {\n return StateField.define({\n create: getAutocompleteStateWrapper,\n update(_, transaction) {\n return getAutocompleteStateWrapper(transaction.state);\n },\n provide(field) {\n return showTooltip.compute([field], state => state.field(field));\n }\n });\n}\n\n/*\n * Function responsible for creating the state's wrapper and returning the same as a Tooltip from \"@codemirror/tooltip\";\n * Only creates the Tooltip if the theres is element on the \"htmlElementToBeWrapped\" variable;\n * The same will also be removed when any view update is emitted;\n */\nfunction getAutocompleteStateWrapper(state: EditorState): Tooltip {\n if (!htmlElementToBeWrapped) return;\n\n const htmlElementToBeWrappedString = htmlElementToBeWrapped.outerHTML;\n const stateWrapper: Tooltip = {\n pos: state.selection.ranges[0].head,\n create: () => ({ dom: getAutocompleteStateWrapperDomElement(htmlElementToBeWrappedString) })\n };\n\n htmlElementToBeWrapped = null;\n return stateWrapper;\n}\n\nfunction getAutocompleteStateWrapperDomElement(elementToBeWrappedString: string): HTMLElement {\n const wrapperDiv = document.createElement(\"div\");\n wrapperDiv.className = \"cm-tooltip-autocomplete cm-tooltip\";\n wrapperDiv.innerHTML =\n `\n <ul class=\"s-code-editor-taxCalculation-autocomplete-ul\">\n <li class=\"s-code-editor-taxCalculation-autocomplete-li\">\n ${elementToBeWrappedString}\n </li>\n </ul>\n\n `;\n\n return wrapperDiv;\n}\n","import { Extension } from \"@codemirror/state\";\n\nimport { CustomTranslationsService } from \"../../../../../../../utils\";\nimport { autocompleteStateWrapper, showAutocompleteStateWrapper } from \"./autocomplete-state-wrapper/autocomplete-state-wrapper\";\n\nlet autocompleteLoadingStateHTMLElement!: HTMLElement;\n\n/**\n * Adds a loading-state over the autocomplete\n * @returns An extension containing everything needed to add the loading-state\n */\nexport function autocompleteLoadingState(): Extension {\n return [autocompleteStateWrapper()];\n}\n\n/**\n * Activates the loading state on the autocomplete\n */\n/*\n * Must set the \"autocompleteLoadingStateHTMLElement\" here for when the document is loaded we do not have\n * yet the \"CustomTranslationsService\" ready\n */\nexport function showAutocompleteLoadingState(): void {\n if (!autocompleteLoadingStateHTMLElement) {\n autocompleteLoadingStateHTMLElement = getAutocompleteLoadingStateHTMLElement();\n }\n\n showAutocompleteStateWrapper(autocompleteLoadingStateHTMLElement);\n}\n\nfunction getAutocompleteLoadingStateHTMLElement(): HTMLElement {\n const loadingStateSpanWrapper = document.createElement(\"span\");\n loadingStateSpanWrapper.innerText = CustomTranslationsService.translate(\"core_language_tax_calculation_fetching_suggestions\");\n\n return loadingStateSpanWrapper;\n}\n","import { Extension } from \"@codemirror/state\";\n\nimport { CustomTranslationsService } from \"../../../../../../../utils\";\nimport { autocompleteStateWrapper, showAutocompleteStateWrapper } from \"./autocomplete-state-wrapper/autocomplete-state-wrapper\";\n\nlet autocompleteEmptyStateHTMLElement!: HTMLElement;\n\n/**\n * Adds an empty-state over the autocomplete\n * @returns An extension containing everything needed to add the empty-state\n */\nexport function autocompleteEmptyState(): Extension {\n return [autocompleteStateWrapper()];\n}\n\n/**\n * Activates the empty-state on the autocomplete\n */\n/*\n * Must set the \"autocompleteEmptyStateHTMLElement\" here for when the document is loaded we do not have\n * yet the \"CustomTranslationsService\" ready\n */\nexport function showAutocompleteEmptyState(): void {\n if (!autocompleteEmptyStateHTMLElement) {\n autocompleteEmptyStateHTMLElement = getAutocompleteEmptyStateHTMLElement();\n }\n\n showAutocompleteStateWrapper(autocompleteEmptyStateHTMLElement);\n}\n\nfunction getAutocompleteEmptyStateHTMLElement(): HTMLElement {\n const emptyStateSpanWrapper = document.createElement(\"span\");\n emptyStateSpanWrapper.innerText = CustomTranslationsService.translate(\"core_language_tax_calculation_no_suggestions\");\n\n return emptyStateSpanWrapper;\n}\n","import { TaxCalculationConfigs } from \"./models\";\n\nexport * from \"./models/interfaces/tax-calculation-configs\";\n\nexport class TaxCalculationLanguageConfigs {\n\n private static CONFIGS: TaxCalculationConfigs = { contexts: [] };\n\n public static setConfigs(configs: TaxCalculationConfigs): void {\n TaxCalculationLanguageConfigs.CONFIGS = JSON.parse(JSON.stringify(configs));\n }\n\n public static getConfigs(): TaxCalculationConfigs {\n return TaxCalculationLanguageConfigs.CONFIGS;\n }\n}\n","import { TaxCalculationConfigs } from \"../models\";\nimport { TaxCalculationLanguageConfigs } from \"../tax-calculation-language-configs\";\n\n/**\n * Gets the configs for the TaxCalculationLanguage\n * @returns The configs\n */\nexport function getLanguageConfigs(): TaxCalculationConfigs {\n const configs = TaxCalculationLanguageConfigs.getConfigs();\n if (!configs.contexts?.length) throw new Error(\n \"In order to use the TaxCalculation Language's autocomplete, \"\n + \"one must inform at least one context by using the \"\n + \"'TaxCalculationLanguageConfigs.setConfigs()'\"\n );\n return configs;\n}\n","import {\n SafeRequest,\n Response\n} from \"../models\";\n\n/**\n * Wraps the request to return the same with an identification or undefined in case of error, so the promise will\n * always trigger the \"then\"\n * @param request Request to wrap\n * @returns The typed request's response\n */\nexport async function getSafeResponse(request: SafeRequest): Promise<Response> {\n try {\n return {\n ...request,\n response: await request.request\n };\n } catch (_) {}\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds style to the autocomplete\n * @returns An extension containing the style\n */\nexport function style(): Extension {\n return EditorView.theme({\n \".cm-completionIcon\": {\n \"font-family\": \"'Font Awesome 5 Pro'\",\n \"font-weight\": \"900\",\n },\n\n \".cm-completionIcon-keyword::after\": {\n \"content\": getIconBasedOnUnicode(\"f084\"),\n },\n\n \".cm-completionIcon-context::after\": {\n \"content\": getIconBasedOnUnicode(\"f466\"),\n },\n\n \".cm-completionIcon-expression::after\": {\n \"content\": getIconBasedOnUnicode(\"f505\"),\n },\n\n \".cm-completionIcon-userExpression::after\": {\n \"content\": getIconBasedOnUnicode(\"f4ff\"),\n },\n\n \".cm-completionIcon-entity::after\": {\n \"content\": getIconBasedOnUnicode(\"f126\"),\n },\n\n \".cm-completionIcon-finalValue::after\": {\n \"content\": getIconBasedOnUnicode(\"f192\"),\n },\n });\n}\n\nfunction getIconBasedOnUnicode(unicode: string): string {\n return `\"\\\\${unicode}\"`;\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\nimport {\n autocompletion,\n Completion,\n CompletionContext,\n CompletionResult,\n pickedCompletion,\n startCompletion\n} from \"@codemirror/autocomplete\";\n\nimport { CustomTranslationsService } from \"../../../../../../utils\";\nimport { CodeMirror6Core } from \"../../../../codemirror-6-core\";\nimport { isCurrentPositionInsideString } from \"../../../../utils\";\nimport { AutocompleteService } from \"./autocomplete.service\";\nimport {\n autocompleteLoadingState,\n showAutocompleteLoadingState,\n autocompleteEmptyState,\n showAutocompleteEmptyState\n} from \"./autocomplete-states\";\nimport {\n TaxCalculationConfigs,\n RequestTypes,\n Response,\n SafeRequest,\n SafeResponse,\n ListContextMetadataByIdResponse,\n CompletionTypes,\n ListExpressionMetadataResponse,\n MetaType,\n GetFacadeMetadataByPathResponse,\n ListFacadeMetadataNamesResponse,\n Keywords,\n} from \"../../models\";\nimport {\n getLanguageConfigs,\n getSafeResponse\n} from \"../../utils\";\nimport { style } from \"./autocomplete-style\";\n\n/**\n * Adds an autocomplete to the editor\n * @returns An extension containing everything needed to create the autocomplete\n */\nexport function autocomplete (): Extension {\n return [\n autocompletion({ override: [getCompletionResults] }),\n autocompleteLoadingState(),\n autocompleteEmptyState(),\n style(),\n ];\n}\n\nconst TRANSLATION_PREFIX = \"core_language_tax_calculation\";\nlet completionResults!: CompletionResult;\n\n/*\n * A function to be called when a key is pressed, the ctrl+space is triggered or when the search for completionResults is done.\n * If there is a completionResult, returns it, otherwise starts a new async search.\n * Will only execute the autocompletion if the current cursor position is not inside a string\n */\nfunction getCompletionResults(context: CompletionContext): CompletionResult {\n const isCursorInsideString = isCurrentPositionInsideString(context.state.doc.toString().substring(0, context.pos));\n if (isCursorInsideString) return;\n\n if (completionResults) {\n const finalCompletionResults: CompletionResult = { ...completionResults };\n const codeLength = context.state.doc.toString().length;\n finalCompletionResults.from = finalCompletionResults.from > codeLength\n ? codeLength\n : finalCompletionResults.from;\n completionResults = null;\n return finalCompletionResults;\n }\n startCompletionResultsSearch(context);\n}\n\nlet cancelLastCompletionSearch: () => void = () => {};\nlet codeMirrorViewElement!: HTMLElement;\n\n/*\n * Starts a new completionResults's async search.\n * Avoids the last search to be finished by calling the \"cancelLastCompletionSearch\" callback function\n */\nfunction startCompletionResultsSearch(context: CompletionContext): void {\n const token = new AbortController();\n setTimeout(() => {\n if (!token.signal.aborted) {\n showAutocompleteLoadingState();\n searchCompletionResults(context, token);\n }\n }, 500);\n\n /*\n * IMPORTANT: The following lines MUST be the way they are!\n * Here is being add the listener to any keydown/click event so when any key is downed or mouse clicked, we cancel the last request.\n * We do this to not show to the user a completionItem in an incorrect place of text, that can be done by either pressing the\n * arrows, home, end, backspace and etc. The flow is:\n * 1. We add an eventListener to keydown/click when the autocompletion's request is triggered;\n * 2. When any key/click is pressed, we remove the listener and cancel the last request by changing the isSearchCanceled on token object\n * to true;\n * 3. If any key that requires autocompletion is triggered, the flow repeats;\n */\n codeMirrorViewElement = CodeMirror6Core.getEditorView().contentDOM;\n\n cancelLastCompletionSearch = () => {\n codeMirrorViewElement.removeEventListener(\"keydown\", cancelLastCompletionSearch);\n codeMirrorViewElement.removeEventListener(\"click\", cancelLastCompletionSearch);\n token.abort();\n };\n\n codeMirrorViewElement.addEventListener(\"keydown\", cancelLastCompletionSearch);\n codeMirrorViewElement.addEventListener(\"click\", cancelLastCompletionSearch);\n}\n\n/*\n * Requests the necessary items to fill the completionResults, although it only really opens the autocomplete\n * box (by calling the \"startCompletion()\", that calls the \"getCompletionResults\") if the current search was not cancelled\n * by a new one\n */\nasync function searchCompletionResults(context: CompletionContext, token: AbortController): Promise<void> {\n const codeBeforeCursor = context?.state?.doc?.toString().substring(0, context?.pos ?? 0) ?? \"\";\n const filter = getFilter(codeBeforeCursor);\n const path = getPath(codeBeforeCursor, filter.length);\n const requests: SafeResponse[] = getRequestsBasedOnPath(path, filter, token.signal);\n\n Promise\n .all(requests)\n .then(responses => {\n if (!token.signal.aborted) {\n const completions = [].concat(\n getKeywordsCompletions(path),\n getContextsCompletions(responses),\n getExpressionsCompletions(responses),\n getEntitiesCompletions(responses)\n );\n const filteredCompletions: Completion[] = getFilteredCompletions(completions, filter);\n\n if (filteredCompletions.length) {\n const formattedCompletions: Completion[] = getFormattedCompletions(filteredCompletions, filter);\n const sortedCompletions: Completion[] = getSortedCompletions(formattedCompletions);\n\n completionResults = {\n from: context.pos,\n filter: false,\n options: sortedCompletions\n };\n startCompletion(CodeMirror6Core.getEditorView());\n\n } else {\n showAutocompleteEmptyState();\n }\n\n }\n });\n}\n\n/*\n * Returns the filter in the code written.\n * For example in the code \"controladoria.empresa\", \"empresa\" would be the filter\n * and in \"controladoria\", \"controladoria\" would be the filter.\n * Allows only alphanumerics, underscore and hashtag on filter's start.\n * Does not allow spaces\n */\nfunction getFilter(string: string): string {\n if (string === undefined || string === null) return \"\";\n\n const filter = string.match(/(#|\\.|)\\w*$/)?.[0] ?? \"\";\n return filter.replace(\".\", \"\").trim();\n}\n\n/*\n * Returns the path in the code written based on filter.\n * For example in the code \"controladoria.empresa\", \"controladoria\" would be the path\n * and in \"controladoria\", \"\" would be the path.\n * Does not allow spaces\n */\nfunction getPath(string: string, filterLength: number): string {\n if (string === undefined || string === null) return \"\";\n\n const stringWithoutPath = string.substring(0, string.length - filterLength);\n const path = stringWithoutPath.match(/(\\w*\\.)*$/)?.[0] ?? \"\";\n return path.replace(/\\.$/, \"\");\n}\n\nfunction getRequestsBasedOnPath(path: string, filter: string, abortSignal: AbortSignal): SafeResponse[] {\n const languageConfigs: TaxCalculationConfigs = getLanguageConfigs();\n const requests: SafeRequest[] = [];\n\n if (path === \"\") {\n requests.push({\n requestType: RequestTypes.ListContextMetadataById,\n request: AutocompleteService.listContextMetadataById(\n {\n id: languageConfigs.contexts,\n },\n abortSignal\n )\n });\n requests.push({\n requestType: RequestTypes.ListExpressionMetadata,\n request: AutocompleteService.listExpressionMetadata(\n {\n context: languageConfigs.contexts,\n subcontext: languageConfigs.subContexts ?? [],\n name: filter,\n pageRequest: {\n offset: 0,\n size: 20\n }\n },\n abortSignal\n )\n });\n\n } else if (path.includes(\".\")) {\n const splittedPath = path.split(\".\");\n requests.push({\n requestType: RequestTypes.GetFacadeMetadataByPath,\n request: AutocompleteService.getFacadeMetadataByPath(\n {\n context: splittedPath[0],\n entityName: splittedPath[1],\n fields: splittedPath[2] === undefined ? undefined : splittedPath.slice(2)\n },\n abortSignal\n )\n });\n\n } else {\n requests.push({\n requestType: RequestTypes.ListFacadeMetadataNames,\n request: AutocompleteService.listFacadeMetadataNames(\n {\n context: [path],\n name: filter,\n pageRequest: {\n offset: 0,\n size: 30\n }\n },\n abortSignal\n )\n });\n }\n\n return requests.map(request => getSafeResponse(request));\n}\n\nfunction getKeywordsCompletions(path: string): Completion[] {\n if (path !== \"\") return [];\n\n const completions = [\n {\n label: Keywords.SE,\n apply: \"SE ()\\nENTAO\\n\\tacao\\nFIM_SE\",\n },\n {\n label: Keywords.SENAO,\n apply: \"SENAO\\n\\tacao\",\n },\n {\n label: Keywords.CONTENHA,\n apply: \"CONTENHA(condicao)\",\n },\n {\n label: Keywords.ENTAO,\n apply: \"ENTAO\\n\\tacao\",\n },\n {\n label: Keywords.FIM_SE,\n apply: \"FIM_SE \",\n },\n {\n label: Keywords.NAO,\n apply: \"NAO \",\n },\n {\n label: Keywords.E,\n apply: \"E \",\n },\n {\n label: Keywords.OU,\n apply: \"OU \"\n },\n ];\n\n return completions.map(completionItem => ({\n ...completionItem,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_keyword`),\n type: CompletionTypes.Keyword\n }));\n}\n\nfunction getContextsCompletions(responses: Response<any>[]): Completion[] {\n const contextsResponse: Response<ListContextMetadataByIdResponse> = responses.find(response =>\n response?.requestType === RequestTypes.ListContextMetadataById\n );\n\n if (contextsResponse) {\n return (contextsResponse.response?.contextMetadata ?? [])\n .map(contextMetadata => ({\n label: contextMetadata.name,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_context`),\n apply: contextMetadata.name,\n type: CompletionTypes.Context\n }));\n }\n\n return [];\n}\n\nfunction getExpressionsCompletions(responses: Response<any>[]): Completion[] {\n const expressionsResponse: Response<ListExpressionMetadataResponse> = responses.find(response =>\n response?.requestType === RequestTypes.ListExpressionMetadata\n );\n\n if (expressionsResponse) {\n return (expressionsResponse.response?.expressionMetadata ?? [])\n .map(expressionMetadata => ({\n label: expressionMetadata.name,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_${\n expressionMetadata.type === MetaType.PUBLIC_EXPRESSION\n ? \"senior_expression\"\n : \"user_expression\"\n }`),\n apply: expressionMetadata.name,\n info: expressionMetadata.description,\n type: expressionMetadata.type === MetaType.PUBLIC_EXPRESSION ? CompletionTypes.Expression : CompletionTypes.UserExpression\n }));\n }\n\n return [];\n}\n\nfunction getEntitiesCompletions(responses: Response<any>[]): Completion[] {\n const facadesResponseFromList: Response<ListFacadeMetadataNamesResponse> = responses.find(response =>\n response?.requestType === RequestTypes.ListFacadeMetadataNames\n );\n\n if (facadesResponseFromList) {\n return (facadesResponseFromList.response?.facadeMetadataNames ?? [])\n .map(facade => ({\n label: facade.name,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_entity`),\n apply: facade.name,\n type: CompletionTypes.Entity\n }));\n }\n\n const facadesResponseFromGet: Response<GetFacadeMetadataByPathResponse> = responses.find(response =>\n response?.requestType === RequestTypes.GetFacadeMetadataByPath\n );\n\n if (facadesResponseFromGet) {\n return (facadesResponseFromGet.response?.facadeMetadata?.fields ?? [])\n .map(facade => ({\n label: facade.name,\n detail: CustomTranslationsService.translate(`${TRANSLATION_PREFIX}_${\n facade.type === MetaType.ENTITY\n ? \"entity\"\n : \"field\"\n }`),\n apply: facade.name,\n type: facade.type === MetaType.ENTITY ? CompletionTypes.Entity : CompletionTypes.FinalValue\n }));\n }\n\n return [];\n}\n\n/*\n * Filtering the completions to only deal with the necessary items\n */\nfunction getFilteredCompletions(completions: Completion[], filter: string): Completion[] {\n return completions\n .filter(completionItem =>\n completionItem\n .label\n .toLowerCase()\n .startsWith(filter.toLowerCase()));\n}\n\n\n/*\n * Overwriting the completions's apply to remove the entire current written value and apply the the entire completion's apply \n */\nfunction getFormattedCompletions(completions: Completion[], filter: string): Completion[] {\n return completions\n .map(completionItem => ({\n ...completionItem,\n apply: getCompletionApply(filter, `${completionItem.apply}`)\n }));\n}\n\nfunction getCompletionApply(filter: string, oldApplyText: string): ((view: EditorView, completion: Completion, from: number, to: number) => void) {\n return (view: EditorView, completion: Completion, from: number, to: number): void => {\n const newFrom = from - filter.length;\n \n view.dispatch({\n changes: {\n from: newFrom,\n to,\n insert: oldApplyText\n },\n selection: {\n anchor: newFrom + oldApplyText.length\n },\n userEvent: \"input.complete\",\n annotations: pickedCompletion.of(completion)\n });\n } \n}\n\nconst completionsSortOrder: CompletionTypes[] = [\n CompletionTypes.Keyword,\n CompletionTypes.Context,\n CompletionTypes.UserExpression,\n CompletionTypes.Expression,\n CompletionTypes.Entity,\n CompletionTypes.FinalValue\n];\n\n/*\n * Sorts the completions following the \"completionsSortOrder\" priority order\n */\nfunction getSortedCompletions(completions: Completion[]): Completion[] {\n return completions.sort((x: Completion, y: Completion) => {\n const xPriority = completionsSortOrder.indexOf(x.type as CompletionTypes);\n const yPriority = completionsSortOrder.indexOf(y.type as CompletionTypes);\n\n return xPriority - yPriority;\n });\n}\n","import { LanguageSupport } from \"@codemirror/language\";\n\nimport { baseConfigs } from \"./extensions/base-configs/base-configs\";\nimport { autocomplete } from \"./extensions/autocomplete/autocomplete\";\n\nexport function TaxCalculation(): LanguageSupport {\n return new LanguageSupport(\n baseConfigs,\n [\n autocomplete(),\n ]\n );\n}\n","import { LanguageSupport, LRLanguage } from \"@codemirror/language\";\nimport { buildParser } from \"@lezer/generator\";\nimport { styleTags, tags } from \"@codemirror/highlight\";\n\nconst jsonGrammar = `\n@top JsonDocument { JsonValue }\n\nJsonValue {\n JsonObject |\n JsonArray |\n JsonString |\n JsonNumber |\n JsonBoolean |\n JsonNull\n}\n\nJsonObject {\n \"{\" (JsonPair (\",\" JsonPair)*)? \"}\"\n}\n\nJsonPair {\n JsonString \":\" JsonValue\n}\n\nJsonArray {\n \"[\" (JsonValue (\",\" JsonValue)*)? \"]\"\n}\n\n@tokens {\n JsonString { '\"' (![\\\\n\"])* '\"'? }\n JsonNumber {\n '-'? std.digit+\n ('.' std.digit+)?\n ((\"e\" | \"E\") (\"+\" | \"-\")? std.digit+)?\n }\n JsonBoolean { \"true\" | \"false\" }\n JsonNull { \"null\" }\n space { $[ \\t\\n\\r]+ }\n \"{\" \"}\"\n \"[\" \"]\"\n \":\" \",\"\n}\n\n@skip { space }\n\n@detectDelim\n`;\n\nconst jsonLanguage = LRLanguage.define({\n parser: buildParser(jsonGrammar).configure({\n props: [\n styleTags({\n JsonString: tags.string,\n JsonNumber: tags.number,\n \"JsonBoolean JsonNull\": tags.keyword,\n '\"{\"': tags.brace,\n '\"}\"': tags.brace,\n '\"[\"': tags.brace,\n '\"]\"': tags.brace,\n '\":\"': tags.operator,\n '\",\"': tags.punctuation,\n }),\n ],\n }),\n});\n\nexport function Json(): LanguageSupport {\n return new LanguageSupport(jsonLanguage);\n}\n","import { LanguageSupport } from \"@codemirror/language\";\n\nimport { Languages } from \"../../../../models\";\n\n/* Languages */\nimport { TaxCalculation } from \"./tax-calculation/tax-calculation.language\";\nimport { Json } from \"./json/json.language\";\n\ntype LanguageSupportFactory = () => LanguageSupport\n\nexport class EditorLanguages {\n\n private static _LANGUAGES: Map<Languages, LanguageSupportFactory> = new Map([\n [Languages.TaxCalculation, TaxCalculation],\n [Languages.Json, Json]\n ]);\n\n public static getLanguage(language: Languages): LanguageSupport {\n const languageSupportFactory = EditorLanguages._LANGUAGES.get(language);\n if (languageSupportFactory) return languageSupportFactory();\n return [] as unknown as LanguageSupport;\n }\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds style to the editor in general\n * @returns An extension containing the style\n */\nexport function style(): Extension {\n return EditorView.theme({\n \"&.cm-editor.cm-focused\": {\n outline: \"none\",\n },\n });\n}\n","import { HighlightStyle, tags } from \"@codemirror/highlight\";\n\nexport const SDSLightHighlightStyle: HighlightStyle = HighlightStyle.define([\n {\n tag: tags.keyword,\n color: \"#008080\",\n },\n {\n tag: tags.string,\n color: \"#9C3A3A\",\n },\n {\n tag: tags.number,\n color: \"#400753\",\n },\n]);\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds a vertical scrollbar when the editor's height overflows the parent's height\n * @returns An extension containing everything needed to add the scrollbar\n */\nexport function scrollbars(): Extension {\n return [\n style()\n ];\n}\n\nfunction style() {\n return EditorView.baseTheme({\n \"&.cm-editor\": {\n \"height\": \"100%\"\n },\n\n });\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\nimport { StyleSpec } from \"style-mod\";\n\n/**\n * Adds style to editor'font\n * @returns An extension containing everything needed to add the font style\n */\nexport function fontStyle(): Extension {\n return [style()];\n}\n\nconst generalFontStyle: StyleSpec = {\n \"font-family\": \"'Noto Sans Mono', 'sans-serif'\",\n \"font-style\": \"normal\",\n \"font-size\": \"1rem\",\n};\n\nfunction style() {\n return EditorView.theme({\n \".cm-scroller\": {\n ...generalFontStyle,\n \"letter-spacing\": \"0\",\n \"line-height\": \"1.5em\",\n \"font-variation-settings\": \"'wght' 400\",\n \"color\": \"#333333\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul\": {\n ...generalFontStyle,\n \"font-variation-settings\": \"'wght' 300\",\n \"color\": \"#697882\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionLabel\": {\n \"line-height\": \"1.5em\",\n \"font-variation-settings\": \"'wght' 500\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail\": {\n \"font-size\": \"0.875em\",\n \"font-style\": \"normal\",\n \"margin-left\": \"0.75rem\",\n },\n });\n}\n","import { lineNumbers } from \"@codemirror/gutter\"\nimport { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds a line counter\n * @returns An extension containing everything needed to add the line counter\n */\nexport function lineCounter(): Extension {\n return [\n lineNumbers(),\n style()\n ];\n}\n\nfunction style() {\n return EditorView.theme(\n {\n \".cm-gutters\": {\n \"background-color\": \"#fff\",\n \"color\": \"#428BCA\",\n \"border-right\": \"none\"\n },\n \".cm-gutter\": {\n \"padding\": \"0 2rem 0 2rem\"\n }\n }\n );\n}\n","import { Extension } from \"@codemirror/state\";\nimport { EditorView } from \"@codemirror/view\";\n\n/**\n * Adds styles to the autocomplete's tooltip\n * @returns An extension containing everything needed to add the style\n */\nexport function autocompleteTooltip(): Extension {\n return [style()];\n}\n\nfunction style() {\n return EditorView.baseTheme({\n \".cm-tooltip\": {\n \"border\": \"none !important\",\n \"border-radius\": \"4px\",\n \"background-color\": \"#E5EAEA !important\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul[role='listbox']\": {\n \"padding\": \"1rem\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail\": {\n \"margin-left\": \".75rem\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail::before\": {\n \"content\": \"'[ '\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail::after\": {\n \"content\": \"' ]'\",\n },\n\n \".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionIcon\": {\n \"padding-right\": 0,\n \"margin-right\": \".475rem\",\n \"width\": \"1rem\",\n },\n\n \".cm-tooltip-autocomplete ul li[aria-selected]\": {\n \"border-radius\": \"4px\",\n \"background-color\": \"#5D96A2 !important\",\n \"color\": \"#fff !important\",\n },\n\n \".cm-tooltip.cm-completionInfo.cm-completionInfo-right\": {\n \"border-radius\": \"3px\",\n \"box-shadow\": \"0 2px 4px -1px rgb(0 0 0 / 20%), 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%)\",\n \"background\": \"#495057 !important\",\n \"color\": \"#fff\",\n \"padding\": \".5rem\",\n \"left\": \"101.6%\",\n },\n\n \".cm-tooltip.cm-completionInfo.cm-completionInfo-right::before\": {\n \"content\": \"''\",\n \"position\": \"absolute\",\n \"width\": 0,\n \"height\": 0,\n \"top\": \".8125rem\",\n \"left\": \"-.25rem\",\n \"margin-top\": \"-.25rem\",\n \"border-color\": \"transparent\",\n \"border-style\": \"solid\",\n \"border-right-color\": \"#495057\",\n \"border-width\": \".25rem .25rem .25rem 0\",\n },\n });\n}\n","import { EditorTheme } from \"../../models\";\n\n/* General Style */\nimport { style } from \"./sds-light-style\";\n\n/* HighlightStyle */\nimport { SDSLightHighlightStyle } from \"./sds-light-highlight-style\";\n\n/* Theme's Extensions */\nimport { scrollbars } from \"./extensions/scrollbars\";\nimport { fontStyle } from \"./extensions/font-style\";\nimport { lineCounter } from \"./extensions/line-counter\";\nimport { autocompleteTooltip } from \"./extensions/autocomplete-tooltip\";\n\nexport function SDSLight(): EditorTheme {\n return [\n [\n style(),\n scrollbars(),\n fontStyle(),\n lineCounter(),\n autocompleteTooltip()\n ], \n SDSLightHighlightStyle\n ];\n}\n","import { Themes } from \"../../../../models\";\nimport { EditorTheme } from \"../models\";\n\n/* Themes */\nimport { SDSLight } from \"./sds-light/sds-light-theme\";\n\ntype EditorThemeFactory = () => EditorTheme; \n\nexport class EditorThemes {\n\n private static _THEMES: Map<Themes, EditorThemeFactory> = new Map([\n [Themes.SDSLight, SDSLight]\n ]);\n\n public static getTheme(theme: Themes): EditorTheme {\n const EditorThemeFactory = EditorThemes._THEMES.get(theme);\n if (EditorThemeFactory) return EditorThemeFactory();\n return [] as unknown as EditorTheme;\n }\n}\n","import { EditorView } from \"@codemirror/view\";\nimport {\n EditorState,\n StateEffect,\n Extension,\n TransactionSpec\n} from \"@codemirror/state\";\nimport { setDiagnostics } from \"@codemirror/lint\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { CoreFacade } from \"../../../core/facades/core-facade\";\nimport { Marker } from \"../../../core/models\";\nimport { EditorOptions } from \"../../../models\";\nimport { EditorLanguages } from \"./languages/editor-languages\";\nimport { EditorThemes } from \"./themes/editor-themes\";\nimport { convertMarkersToDiagnostics } from \"./utils\";\n\nexport class CodeMirror6Core extends CoreFacade {\n\n public static $onCompletionItemsUpdate: Subject<string[]> = new Subject();\n private static _ngUnsubscribe: Subject<void> = new Subject();\n private static _editorView: EditorView = null;\n\n /* These are necessary for the setCode and setEditorOptions can be called before view has been created */\n private _codeReceivedBeforeViewCreation = \"\";\n private _editorOptionsReceivedBeforeViewCreation: Extension = [];\n\n constructor() {\n super();\n }\n\n public static getEditorView(): EditorView {\n return CodeMirror6Core._editorView;\n }\n\n public static updateEditorView(...transactionSpecs: TransactionSpec[]): void {\n CodeMirror6Core._editorView.dispatch(...transactionSpecs);\n }\n\n public setCoreWrapperElement(element: HTMLDivElement): void {\n this.createEditorView(element);\n }\n\n public setCode(code: string): void {\n this.changeEditorContent(code);\n }\n\n public initCore(): void {\n this.setObservablesListeners();\n }\n\n public destroyCore(): void {\n this._codeReceivedBeforeViewCreation = \"\";\n CodeMirror6Core._editorView = null;\n CodeMirror6Core._ngUnsubscribe.next();\n CodeMirror6Core._ngUnsubscribe.complete();\n }\n\n protected setCoreEditorOptions(options: EditorOptions): void {\n const language = EditorLanguages.getLanguage(options.language);\n const theme = EditorThemes.getTheme(options.theme);\n\n if (CodeMirror6Core._editorView) {\n CodeMirror6Core.updateEditorView({\n effects: StateEffect.reconfigure.of([\n language,\n theme,\n this.getCodeChangeListenerExtension()\n ])\n });\n } else {\n this._editorOptionsReceivedBeforeViewCreation = [language, theme];\n }\n }\n\n protected highlightCode(markers: Marker[]): void {\n const diagnostics = convertMarkersToDiagnostics(markers, CodeMirror6Core._editorView.state.doc.length);\n CodeMirror6Core.updateEditorView(setDiagnostics(CodeMirror6Core._editorView.state, diagnostics));\n }\n\n private setObservablesListeners(): void {\n CodeMirror6Core.$onCompletionItemsUpdate\n .pipe(takeUntil(CodeMirror6Core._ngUnsubscribe))\n .subscribe(items => this.updateCompletionItems(items));\n }\n\n private createEditorView(parentElement: HTMLElement): void {\n CodeMirror6Core._editorView = new EditorView({\n parent: parentElement,\n state: EditorState.create({\n doc: this._codeReceivedBeforeViewCreation,\n extensions: [\n this._editorOptionsReceivedBeforeViewCreation,\n this.getCodeChangeListenerExtension()\n ]\n })\n });\n\n this.notifyCoreFinishLoad();\n }\n\n private getCodeChangeListenerExtension(): Extension {\n return EditorView.updateListener.of(update => update.docChanged && this.notifyCodeChange(update.state.doc.toString()));\n }\n\n private changeEditorContent(code: string): void {\n if (CodeMirror6Core._editorView) {\n CodeMirror6Core.updateEditorView({\n changes: {\n from: 0,\n to: CodeMirror6Core._editorView.state.doc.length,\n insert: code\n }\n });\n } else {\n this._codeReceivedBeforeViewCreation = code;\n }\n }\n\n protected setCodeWithCursorPreservation(code: string): void {\n if (CodeMirror6Core._editorView) {\n const currentCode = CodeMirror6Core._editorView.state.doc.toString();\n \n // Só atualiza se o conteúdo for realmente diferente\n if (currentCode !== code) {\n const currentSelection = CodeMirror6Core._editorView.state.selection.main;\n \n CodeMirror6Core.updateEditorView({\n changes: {\n from: 0,\n to: CodeMirror6Core._editorView.state.doc.length,\n insert: code\n },\n selection: {\n anchor: Math.min(currentSelection.anchor, code.length),\n head: Math.min(currentSelection.head, code.length)\n }\n });\n }\n } else {\n this._codeReceivedBeforeViewCreation = code;\n }\n }\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { CodeEditorComponent } from \"./code-editor.component\";\nimport { CoreFacade } from \"./core/facades/core-facade\";\nimport { CodeMirror6Core } from \"./infra/cores/codemirror-6/codemirror-6-core\";\nimport { CustomTranslationsModule } from \"./infra/utils/custom-translations/custom-translations.module\";\n\n@NgModule({\n imports: [CommonModule, CustomTranslationsModule],\n declarations: [CodeEditorComponent],\n exports: [CodeEditorComponent],\n providers: [\n {\n provide: CoreFacade,\n useClass: CodeMirror6Core,\n },\n ],\n})\nexport class CodeEditorModule {}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, Input, OnChanges, OnInit, SimpleChanges } from \"@angular/core\";\n\n@Component({\n selector: \"s-collapse-link\",\n templateUrl: \"./collapse-link.component.html\",\n styleUrls: [\"./collapse-link.component.scss\"],\n animations: [\n trigger(\"collapseContent\", [\n state(\n \"void\",\n style({\n height: 0,\n opacity: 0,\n })\n ),\n state(\n \"*\",\n style({\n height: \"*\",\n opacity: 1,\n })\n ),\n transition(\"void <=> *\", animate(\"400ms cubic-bezier(0.86, 0, 0.07, 1)\")),\n ]),\n ],\n})\nexport class CollapseLinkComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @Input()\n public buttonId = `s-collapse-button-${CollapseLinkComponent.nextId++}`;\n @Input()\n public expandedLabel = \"Mostrar menos\";\n @Input()\n public collapsedLabel = \"Mostrar mais\";\n @Input()\n public disabled = false;\n @Input()\n public collapse = true;\n\n public collapsed = true;\n public animating: boolean;\n\n constructor() {}\n\n public ngOnInit() {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.collapse) {\n this.onCollapse(changes.collapse.currentValue);\n }\n }\n\n public toggle() {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = !this.collapsed;\n }\n\n public onToggleDone() {\n this.animating = false;\n }\n\n public onCollapse(collapse: boolean) {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = collapse;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { CollapseLinkComponent } from \"./collapse-link.component\";\n\n@NgModule({\n declarations: [CollapseLinkComponent],\n exports: [CollapseLinkComponent],\n imports: [CommonModule],\n})\nexport class CollapseLinkModule {}\n","import { AbstractControl } from \"@angular/forms\";\nimport { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-control-errors\",\n templateUrl: \"./control-errors.component.html\",\n styleUrls: [\"./control-errors.component.scss\"],\n})\nexport class ControlErrorsComponent {\n public static nextId = 0;\n\n @Input()\n id = `s-control-errors-${ControlErrorsComponent.nextId++}`;\n @Input()\n control: AbstractControl;\n @Input()\n errorMessages: any = {};\n @Input()\n form: any;\n\n getErrorMessagesList() {\n if (!this.control || !this.control.dirty) {\n return [];\n }\n return Object.keys(this.control.errors || {}).map(error => this.errorMessages?.[error]);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { ControlErrorsComponent } from \"./control-errors.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n declarations: [ControlErrorsComponent],\n exports: [ControlErrorsComponent],\n})\nexport class ControlErrorsModule {}\n","import { CountryPhoneData } from \"../models/country-phone-data\";\n\nexport const countries: CountryPhoneData[] = [\n { id: \"gb\", ddi: \"+44\", mask: \"00-0000-0000\" },\n { id: \"br\", ddi: \"+55\", mask: [\"(00) 0000-00009\", \"(00) 00000-0000\"] },\n { id: \"ar\", ddi: \"+54\", mask: [\"(00) 0000-00009\", \"(000) 0000-0000\"] },\n { id: \"bo\", ddi: \"+591\", mask: \"0 000 0000\" },\n { id: \"cl\", ddi: \"+56\", mask: \"0 0000 0000\" },\n { id: \"co\", ddi: \"+57\", mask: [\"0 00000009\", \"000 0000000\"] },\n { id: \"cr\", ddi: \"+506\", mask: \"0000 0000\" },\n { id: \"cu\", ddi: \"+53\", mask: [\"000 0009\", \"00 000000\"] },\n { id: \"ec\", ddi: \"+593\", mask: [\"000 00009\", \"000 000 000\"] },\n { id: \"sv\", ddi: \"+503\", mask: \"0000 0000\" },\n { id: \"gt\", ddi: \"+502\", mask: \"0000 0000\" },\n { id: \"ht\", ddi: \"+509\", mask: \"0000 0000\" },\n { id: \"hn\", ddi: \"+504\", mask: \"0000-0000\" },\n { id: \"mx\", ddi: \"+52\", mask: [\"00 0000 00009\", \"0 00 0000 0000\"] },\n { id: \"ni\", ddi: \"+505\", mask: \"0000 0000\" },\n { id: \"pa\", ddi: \"+507\", mask: \"0000 0000\" },\n { id: \"py\", ddi: \"+595\", mask: [\"00 000 0009\", \"000 000000\"] },\n { id: \"pe\", ddi: \"+51\", mask: \"000 000 000\" },\n { id: \"do\", ddi: \"+1809\", mask: \"000 000-0000\" },\n { id: \"uy\", ddi: \"+598\", mask: [\"0000 00009\", \"0000 00000\"] },\n { id: \"ve\", ddi: \"+58\", mask: \"000-0000000\" },\n { id: \"us\", ddi: \"+1\", mask: \"000-000-0000\" },\n { id: \"ca\", ddi: \"+1\", mask: \"000-000-0000\" },\n { id: \"cn\", ddi: \"+86\", mask: \"000 0000 0000\" },\n { id: \"as\", ddi: \"+1684\", mask: \"000-0000\" },\n { id: \"ai\", ddi: \"+1264\", mask: \"000-0000\" },\n { id: \"ag\", ddi: \"+1268\", mask: \"000-0000\" },\n { id: \"bs\", ddi: \"+1242\", mask: \"000-0000\" },\n { id: \"bb\", ddi: \"+1246\", mask: \"000-0000\" },\n { id: \"bm\", ddi: \"+1441\", mask: \"000-0000\" },\n { id: \"vg\", ddi: \"+1284\", mask: \"000-0000\" },\n { id: \"ky\", ddi: \"+1345\", mask: \"000-0000\" },\n { id: \"dm\", ddi: \"+1767\", mask: \"000-0000\" },\n { id: \"gd\", ddi: \"+1473\", mask: \"000-0000\" },\n { id: \"gu\", ddi: \"+1671\", mask: \"000-0000\" },\n { id: \"jm\", ddi: \"+1876\", mask: \"000-0000\" },\n { id: \"ms\", ddi: \"+1664\", mask: \"000-0000\" },\n { id: \"mp\", ddi: \"+1670\", mask: \"000-0000\" },\n { id: \"pr\", ddi: \"+1\", mask: \"000-0000\" },\n { id: \"kn\", ddi: \"+1869\", mask: \"000-0000\" },\n { id: \"lc\", ddi: \"+1758\", mask: \"000-0000\" },\n { id: \"vc\", ddi: \"+1784\", mask: \"000-0000\" },\n { id: \"tt\", ddi: \"+1868\", mask: \"000-0000\" },\n { id: \"tc\", ddi: \"+1649\", mask: \"000-0000\" },\n { id: \"fi\", ddi: \"+358\", mask: \"000 0000000\" },\n { id: \"rs\", ddi: \"+381\", mask: \"000 0000000\" },\n { id: \"zm\", ddi: \"+260\", mask: \"000 0000000\" },\n { id: \"af\", ddi: \"+93\", mask: \"000 000 0000\" },\n { id: \"al\", ddi: \"+355\", mask: \"000 000 0000\" },\n { id: \"hr\", ddi: \"+385\", mask: \"000 000 0000\" },\n { id: \"et\", ddi: \"+251\", mask: \"000 000 0000\" },\n { id: \"gh\", ddi: \"+233\", mask: \"000 000 0000\" },\n { id: \"gr\", ddi: \"+30\", mask: \"000 000 0000\" },\n { id: \"ie\", ddi: \"+353\", mask: \"000 000 0000\" },\n { id: \"it\", ddi: \"+39\", mask: \"000 000 0000\" },\n { id: \"lr\", ddi: \"+231\", mask: \"000 000 0000\" },\n { id: \"na\", ddi: \"+264\", mask: \"000 000 0000\" },\n { id: \"nz\", ddi: \"+64\", mask: \"000 000 0000\" },\n { id: \"sa\", ddi: \"+966\", mask: \"000 000 0000\" },\n { id: \"za\", ddi: \"+27\", mask: \"000 000 0000\" },\n { id: \"lk\", ddi: \"+94\", mask: \"000 000 0000\" },\n { id: \"sd\", ddi: \"+249\", mask: \"000 000 0000\" },\n { id: \"th\", ddi: \"+66\", mask: \"000 000 0000\" },\n { id: \"ua\", ddi: \"+380\", mask: \"000 000 0000\" },\n { id: \"ae\", ddi: \"+971\", mask: \"000 000 0000\" },\n { id: \"va\", ddi: \"+39\", mask: \"000 000 0000\" },\n { id: \"zw\", ddi: \"+263\", mask: \"000 000 0000\" },\n { id: \"dz\", ddi: \"+213\", mask: \"0000 00 00 00\" },\n { id: \"be\", ddi: \"+32\", mask: \"0000 00 00 00\" },\n { id: \"yt\", ddi: \"+262\", mask: \"0000 00 00 00\" },\n { id: \"bl\", ddi: \"+590\", mask: \"0000 00 00 00\" },\n { id: \"mf\", ddi: \"+1599\", mask: \"0000 00 00 00\" },\n { id: \"ad\", ddi: \"+376\", mask: \"000-000\" },\n { id: \"ao\", ddi: \"+244\", mask: \"000 000 000\" },\n { id: \"ba\", ddi: \"+387\", mask: \"000 000 000\" },\n { id: \"bg\", ddi: \"+359\", mask: \"000 000 000\" },\n { id: \"kh\", ddi: \"+855\", mask: \"000 000 000\" },\n { id: \"cz\", ddi: \"+420\", mask: \"000 000 000\" },\n { id: \"gq\", ddi: \"+240\", mask: \"000 000 000\" },\n { id: \"gw\", ddi: \"+245\", mask: \"000 000 000\" },\n { id: \"li\", ddi: \"+423\", mask: \"000 000 000\" },\n { id: \"lu\", ddi: \"+352\", mask: \"000 000 000\" },\n { id: \"mk\", ddi: \"+389\", mask: \"000 000 000\" },\n { id: \"me\", ddi: \"+382\", mask: \"000 000 000\" },\n { id: \"pl\", ddi: \"+48\", mask: \"000 000 000\" },\n { id: \"pt\", ddi: \"+351\", mask: \"000 000 000\" },\n { id: \"si\", ddi: \"+386\", mask: \"000 000 000\" },\n { id: \"am\", ddi: \"+374\", mask: \"000 000000\" },\n { id: \"aw\", ddi: \"+297\", mask: \"000 0000\" },\n { id: \"bn\", ddi: \"+673\", mask: \"000 0000\" },\n { id: \"fj\", ddi: \"+679\", mask: \"000 0000\" },\n { id: \"gm\", ddi: \"+220\", mask: \"000 0000\" },\n { id: \"gy\", ddi: \"+592\", mask: \"000 0000\" },\n { id: \"is\", ddi: \"+354\", mask: \"000 0000\" },\n { id: \"fm\", ddi: \"+691\", mask: \"000 0000\" },\n { id: \"nr\", ddi: \"+674\", mask: \"000 0000\" },\n { id: \"nu\", ddi: \"+683\", mask: \"000 0000\" },\n { id: \"pw\", ddi: \"+680\", mask: \"000 0000\" },\n { id: \"st\", ddi: \"+239\", mask: \"000 0000\" },\n { id: \"to\", ddi: \"+676\", mask: \"000 0000\" },\n { id: \"vu\", ddi: \"+678\", mask: \"000 0000\" },\n { id: \"fk\", ddi: \"+500\", mask: \"00000\" },\n { id: \"fo\", ddi: \"+298\", mask: \"00000\" },\n { id: \"sh\", ddi: \"+290\", mask: \"00000\" },\n { id: \"au\", ddi: \"+61\", mask: \"0000 000 000\" },\n { id: \"cx\", ddi: \"+61\", mask: \"0000 000 000\" }, \n { id: \"cc\", ddi: \"+61\", mask: \"0000 000 000\" },\n { id: \"cd\", ddi: \"+243\", mask: \"0000 000 000\" },\n { id: \"kg\", ddi: \"+996\", mask: \"0000 000 000\" },\n { id: \"ro\", ddi: \"+40\", mask: \"0000 000 000\" },\n { id: \"rw\", ddi: \"+250\", mask: \"0000 000 000\" },\n { id: \"sk\", ddi: \"+421\", mask: \"0000 000 000\" },\n { id: \"sy\", ddi: \"+963\", mask: \"0000 000 000\" },\n { id: \"tw\", ddi: \"+886\", mask: \"0000 000 000\" },\n { id: \"tz\", ddi: \"+255\", mask: \"0000 000 000\" },\n { id: \"ye\", ddi: \"+967\", mask: \"0000 000 000\" },\n { id: \"at\", ddi: \"+43\", mask: \"0000 000000\" },\n { id: \"ke\", ddi: \"+254\", mask: \"0000 000000\" },\n { id: \"ug\", ddi: \"+256\", mask: \"0000 000000\" },\n { id: \"az\", ddi: \"+994\", mask: \"000 000 00 00\" },\n { id: \"ch\", ddi: \"+41\", mask: \"000 000 00 00\" },\n { id: \"vn\", ddi: \"+84\", mask: \"000 000 00 00\" },\n { id: \"bh\", ddi: \"+973\", mask: \"0000 0000\" },\n { id: \"ee\", ddi: \"+372\", mask: \"0000 0000\" },\n { id: \"sz\", ddi: \"+268\", mask: \"0000 0000\" },\n { id: \"hk\", ddi: \"+852\", mask: \"0000 0000\" },\n { id: \"ls\", ddi: \"+266\", mask: \"0000 0000\" },\n { id: \"mo\", ddi: \"+853\", mask: \"0000 0000\" },\n { id: \"mt\", ddi: \"+356\", mask: \"0000 0000\" },\n { id: \"mu\", ddi: \"+230\", mask: \"0000 0000\" },\n { id: \"mn\", ddi: \"+976\", mask: \"0000 0000\" },\n { id: \"om\", ddi: \"+968\", mask: \"0000 0000\" },\n { id: \"pg\", ddi: \"+675\", mask: \"0000 0000\" },\n { id: \"qa\", ddi: \"+974\", mask: \"0000 0000\" },\n { id: \"sg\", ddi: \"+65\", mask: \"0000 0000\" },\n { id: \"tl\", ddi: \"+670\", mask: \"0000 0000\" }, \n { id: \"bd\", ddi: \"+880\", mask: \"00000 000000\" },\n { id: \"im\", ddi: \"+44\", mask: \"00000 000000\" },\n { id: \"by\", ddi: \"+375\", mask: \"0 000 000-00-00\" },\n { id: \"bz\", ddi: \"+501\", mask: \"000-0000\" },\n { id: \"mv\", ddi: \"+960\", mask: \"000-0000\" },\n { id: \"mh\", ddi: \"+692\", mask: \"000-0000\" },\n { id: \"sr\", ddi: \"+597\", mask: \"000-0000\" },\n { id: \"bj\", ddi: \"+229\", mask: \"00 00 00 00\" },\n { id: \"bt\", ddi: \"+975\", mask: \"00 00 00 00\" },\n { id: \"bf\", ddi: \"+226\", mask: \"00 00 00 00\" },\n { id: \"bi\", ddi: \"+257\", mask: \"00 00 00 00\" },\n { id: \"cf\", ddi: \"+236\", mask: \"00 00 00 00\" },\n { id: \"td\", ddi: \"+235\", mask: \"00 00 00 00\" },\n { id: \"ci\", ddi: \"+225\", mask: \"00 00 00 00\" },\n { id: \"dk\", ddi: \"+45\", mask: \"00 00 00 00\" },\n { id: \"dj\", ddi: \"+253\", mask: \"00 00 00 00\" },\n { id: \"fr\", ddi: \"+33\", mask: \"00 00 00 00\" },\n { id: \"pf\", ddi: \"+689\", mask: \"00 00 00 00\" },\n { id: \"ga\", ddi: \"+241\", mask: \"00 00 00 00\" },\n { id: \"ml\", ddi: \"+223\", mask: \"00 00 00 00\" },\n { id: \"mr\", ddi: \"+222\", mask: \"00 00 00 00\" },\n { id: \"ne\", ddi: \"+227\", mask: \"00 00 00 00\" },\n { id: \"sm\", ddi: \"+378\", mask: \"00 00 00 00\" },\n { id: \"tg\", ddi: \"+228\", mask: \"00 00 00 00\" },\n { id: \"gi\", ddi: \"+350\", mask: \"00000000\" },\n { id: \"ki\", ddi: \"+686\", mask: \"00000000\" },\n { id: \"tv\", ddi: \"+688\", mask: \"00000000\" },\n { id: \"bw\", ddi: \"+267\", mask: \"00 000 000\" },\n { id: \"er\", ddi: \"+291\", mask: \"00 000 000\" },\n { id: \"lv\", ddi: \"+371\", mask: \"00 000 000\" },\n { id: \"lb\", ddi: \"+961\", mask: \"00 000 000\" },\n { id: \"tn\", ddi: \"+216\", mask: \"00 000 000\" },\n { id: \"cm\", ddi: \"+237\", mask: \"0 00 00 00 00\" },\n { id: \"cv\", ddi: \"+238\", mask: \"000 00 00\" },\n { id: \"km\", ddi: \"+269\", mask: \"000 00 00\" },\n { id: \"pm\", ddi: \"+508\", mask: \"000 00 00\" },\n { id: \"cg\", ddi: \"+242\", mask: \"00 000 0000\" },\n { id: \"mz\", ddi: \"+258\", mask: \"00 000 0000\" },\n { id: \"mm\", ddi: \"+95\", mask: \"00 000 0000\" },\n { id: \"ck\", ddi: \"+682\", mask: \"00 000\" },\n { id: \"cy\", ddi: \"+357\", mask: \"00 000000\" },\n { id: \"eg\", ddi: \"+20\", mask: \"0000 000 0000\" },\n { id: \"ir\", ddi: \"+98\", mask: \"0000 000 0000\" },\n { id: \"iq\", ddi: \"+964\", mask: \"0000 000 0000\" },\n { id: \"ng\", ddi: \"+234\", mask: \"0000 000 0000\" },\n { id: \"kp\", ddi: \"+850\", mask: \"0000 000 0000\" },\n { id: \"ph\", ddi: \"+63\", mask: \"0000 000 0000\" },\n { id: \"ge\", ddi: \"+995\", mask: \"000 00 00 00\" },\n { id: \"gn\", ddi: \"+224\", mask: \"000 00 00 00\" },\n { id: \"es\", ddi: \"+34\", mask: \"000 00 00 00\" },\n { id: \"de\", ddi: \"+49\", mask: \"00000 0000000\" },\n { id: \"gl\", ddi: \"+299\", mask: \"00 00 00\" },\n { id: \"wf\", ddi: \"+681\", mask: \"00 00 00\" },\n { id: \"hu\", ddi: \"+36\", mask: \"(00) 000 0000\" },\n { id: \"in\", ddi: \"+91\", mask: \"000000 00000\" },\n { id: \"id\", ddi: \"+62\", mask: \"0000-000-000\" },\n { id: \"il\", ddi: \"+972\", mask: \"000-000-0000\" },\n { id: \"jp\", ddi: \"+81\", mask: \"000-000-0000\" },\n { id: \"jo\", ddi: \"+962\", mask: \"00 0000 0000\" },\n { id: \"kz\", ddi: \"+7\", mask: \"0 (000) 000-0000\" },\n { id: \"kw\", ddi: \"+965\", mask: \"000 00000\" },\n { id: \"la\", ddi: \"+856\", mask: \"000 00 000 000\" },\n { id: \"ly\", ddi: \"+218\", mask: \"000-0000000\" },\n { id: \"lt\", ddi: \"+370\", mask: \"(0-000) 00000\" },\n { id: \"np\", ddi: \"+977\", mask: \"(0-000) 00000\" },\n { id: \"mg\", ddi: \"+261\", mask: \"000 00 000 00\" },\n { id: \"mw\", ddi: \"+265\", mask: \"000 00 000 00\" },\n { id: \"my\", ddi: \"+60\", mask: \"000-000 0000\" },\n { id: \"md\", ddi: \"+373\", mask: \"0000 00 000\" },\n { id: \"mc\", ddi: \"+377\", mask: \"00 00 00 00 00\" },\n { id: \"ma\", ddi: \"+212\", mask: \"0000-000000\" },\n { id: \"nl\", ddi: \"+31\", mask: \"00 00000000\" },\n { id: \"nc\", ddi: \"+687\", mask: \"00.00.00\" },\n { id: \"no\", ddi: \"+47\", mask: \"000 00 000\" },\n { id: \"pk\", ddi: \"+92\", mask: \"0000 0000000\" },\n { id: \"ru\", ddi: \"+7\", mask: \"0 (000) 000-00-00\" },\n { id: \"ws\", ddi: \"+685\", mask: \"00 00000\" },\n { id: \"sb\", ddi: \"+677\", mask: \"00 00000\" },\n { id: \"sn\", ddi: \"+221\", mask: \"00 000 00 00\" },\n { id: \"sc\", ddi: \"+248\", mask: \"0 000 000\" },\n { id: \"sl\", ddi: \"+232\", mask: \"(000) 000000\" },\n { id: \"so\", ddi: \"+252\", mask: \"0 0000000\" },\n { id: \"kr\", ddi: \"+82\", mask: \"000-0000-0000\" },\n { id: \"se\", ddi: \"+46\", mask: \"000-000 00 00\" },\n { id: \"tj\", ddi: \"+992\", mask: \"000 00 0000\" },\n { id: \"tk\", ddi: \"+690\", mask: \"0000\" },\n { id: \"tr\", ddi: \"+90\", mask: \"0000 000 00 00\" },\n { id: \"tm\", ddi: \"+993\", mask: \"0 00 000000\" }, \n { id: \"uz\", ddi: \"+998\", mask: \"0 00 000 00 00\" },\n];","export enum Ordination {\n NO = \"no\",\n AZ = \"az\",\n ZA = \"za\",\n}","import { Injectable } from \"@angular/core\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\n\nimport { CountryPhoneData } from \"./models/country-phone-data\";\nimport { countries } from \"./resources/countries\";\nimport { Ordination } from \"./models/ordination\";\n\n@Injectable()\nexport class CountryPhonePickerService {\n constructor(private readonly translate: TranslateService) { }\n\n public getCountries(ordination: Ordination) {\n switch (ordination) {\n case Ordination.AZ:\n return this.sortAlphabetically();\n case Ordination.ZA:\n return this.sortAlphabeticallyDescending();\n case Ordination.NO:\n default:\n return countries;\n }\n }\n\n private sortAlphabetically(): CountryPhoneData[] {\n return countries.sort((a: CountryPhoneData, b: CountryPhoneData) => {\n const aName = this.translate.instant(`platform.angular_components_${a.id}`);\n const bName = this.translate.instant(`platform.angular_components_${b.id}`);\n\n return aName.localeCompare(bName);\n });\n }\n\n private sortAlphabeticallyDescending(): CountryPhoneData[] {\n return countries.sort((a: CountryPhoneData, b: CountryPhoneData) => {\n const aName = this.translate.instant(`platform.angular_components_${a.id}`);\n const bName = this.translate.instant(`platform.angular_components_${b.id}`);\n\n return bName.localeCompare(aName);\n });\n }\n}","export const Breakpoints = {\n SM_MIN: 0 as const,\n SM_MAX: 767 as const,\n MD_MIN: 768 as const,\n MD_MAX: 991 as const,\n LG_MIN: 992 as const,\n LG_MAX: 1199 as const,\n XL_MIN: 1200 as const,\n XL_MAX: Infinity,\n};\n","import { ElementRef } from \"@angular/core\";\n\nexport class ExportUtils {\n constructor() {\n throw new Error(\"Classe não deve ser instanciada.\");\n }\n\n public static addClass(element: ElementRef, className: string) {\n element.nativeElement.className = `${element.nativeElement.className} ${className}`;\n }\n\n public static removeClass(element: ElementRef, className: string) {\n if (element.nativeElement.className.includes(className)) {\n element.nativeElement.className = element.nativeElement.className.replace(className, \"\");\n }\n }\n\n public static exportCSV(\n columns: Partial<any>[] = [],\n data: any[] = [],\n csvSeparator: string = \";\",\n documentName: string = \"download\"\n ) {\n let csv = \"\\ufeff\";\n\n columns.filter((column: any) => column.exportable && column.field).forEach((column: any, i: number) => {\n csv += `\"${column.header || column.field}\"`;\n\n if (i < columns.length - 1) csv += csvSeparator;\n });\n\n data.forEach((record: any) => {\n csv += \"\\n\";\n\n columns.filter((column: any) => column.exportable && column.field).forEach((column: any, i: number) => {\n let cellData;\n if (Array.isArray(column.field)) {\n const fieldValues = column.field.map((col: string) => this.resolveFieldData(record, col));\n\n cellData = fieldValues\n .flat()\n .filter((value: string) => value !== null && value !== undefined)\n .join(column.separator);\n } else {\n cellData = this.resolveFieldData(record, column.field);\n }\n\n if (cellData != null) cellData = String(cellData).replace(/\"/g, `\"\"`);\n else cellData = \"\";\n\n csv += `\"${cellData}\"`;\n\n if (i < columns.length - 1) csv += csvSeparator;\n });\n });\n\n const blob = new Blob([csv], {\n type: \"text/csv;charset=utf-8;\",\n });\n\n if (window.navigator.msSaveOrOpenBlob) navigator.msSaveOrOpenBlob(blob, documentName + \".csv\");\n else {\n const link = document.createElement(\"a\");\n link.style.display = \"none\";\n document.body.appendChild(link);\n if (link.download !== undefined) {\n link.setAttribute(\"href\", URL.createObjectURL(blob));\n link.setAttribute(\"download\", documentName + \".csv\");\n link.click();\n } else {\n csv = \"data:text/csv;charset=utf-8,\" + csv;\n window.open(encodeURI(csv));\n }\n document.body.removeChild(link);\n }\n }\n\n private static resolveFieldData(data: any, field: any): any {\n if (data && field) {\n if (this.isFunction(field)) return field(data);\n else if (field.indexOf(\".\") == -1) return data[field];\n else {\n const fields: string[] = field.split(\".\");\n let value = data;\n for (let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[fields[i]];\n }\n return value;\n }\n } else return null;\n }\n\n private static isFunction(obj: any) {\n return !!(obj && obj.constructor && obj.call && obj.apply);\n }\n}\n","export const convertToMomentDateFormat = (format: string): string => {\n // A ordem dos replaces é importante.\n return format\n .replace(/\\bd\\b/, \"D\") // day of month (no leading zero)\n .replace(/\\bdd\\b/, \"DD\") // day of month\n .replace(/\\bo\\b/, \"DDD\") // day of the year (no leading zero)\n .replace(/\\boo\\b/, \"DDDD\") // day of the year\n .replace(/\\bM\\b/, \"MMM\") // month name short\n .replace(/\\bMM\\b/, \"MMMM\") // month name long\n .replace(/\\bm\\b/, \"M\") // month of year (no leading)\n .replace(/\\bmm\\b/, \"MM\") // month of year\n .replace(/\\by\\b/, \"YY\") // year (two digits)\n .replace(/\\byy\\b/, \"YYYY\"); // year (four digits)\n}","import { DomPortalOutlet, TemplatePortal } from \"@angular/cdk/portal\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport {\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n Output,\n PLATFORM_ID,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from \"@angular/core\";\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\n\nimport { isNullOrUndefined } from \"../utils\";\nimport { CountryPhonePickerService } from \"./country-phone-picker.service\";\nimport { CountryPhoneData, Ordination } from \"./models\";\nimport { PhoneSelectionData } from \"./models/phone-selection-data\";\n\n@Component({\n selector: \"s-country-phone-picker\",\n templateUrl: \"./country-phone-picker.component.html\",\n styleUrls: [\"./country-phone-picker.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CountryPhonePickerComponent),\n multi: true,\n },\n ],\n})\nexport class CountryPhonePickerComponent implements OnInit, ControlValueAccessor {\n public mask: string;\n public selectedItem: CountryPhoneData;\n public currentItemIndex = 0;\n public filteredCountriesList: CountryPhoneData[];\n public phone = new FormControl(\"\");\n public filter = new FormControl(\"\");\n public dropTop = 0;\n public dropLeft = 0;\n\n private _value: PhoneSelectionData;\n private _onChange: (value: PhoneSelectionData) => void;\n private _onTouched: (value: PhoneSelectionData) => void;\n private _countriesList: CountryPhoneData[];\n private _open = false;\n private offsetTop = 0;\n private _portalHost: DomPortalOutlet;\n\n\n constructor(\n private readonly _countryPhonePickerService: CountryPhonePickerService,\n private readonly _translate: TranslateService,\n private readonly _eRef: ElementRef,\n @Inject(PLATFORM_ID) private platformId: Object,\n ) {}\n\n @ViewChild(\"dropdownTemplate\")\n public dropdownTemplate: TemplateRef<any>;\n\n @ViewChild(\"dropElement\", { read: ViewContainerRef })\n public viewContainerRef: ViewContainerRef;\n\n @ViewChild(\"dropElement\", { read: ElementRef })\n public dropElement: ElementRef;\n\n @ViewChild(\"#dropdownContainer\", { read: ElementRef })\n public dropdownContainer: ElementRef;\n\n public get value() {\n return this._value;\n }\n\n public set value(value: PhoneSelectionData) {\n this._value = value;\n this.mask = this.getMask();\n }\n\n public writeValue(value: PhoneSelectionData): void {\n this.value = value;\n\n if (value?.id) {\n const country = this._countriesList.filter(({ id }) => id == value.id);\n if (country.length) {\n this.onSelectItem(country[0]);\n }\n }\n\n if (value?.rawValue) {\n this.phone.setValue(value.rawValue);\n }\n }\n\n public registerOnChange(onChange: (value: PhoneSelectionData) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: PhoneSelectionData) => void): void {\n this._onTouched = onTouched;\n }\n\n @Input()\n public countries: string[];\n\n @Input()\n public ordination: Ordination = Ordination.NO;\n\n @Output()\n public selected: EventEmitter<CountryPhoneData> = new EventEmitter();\n\n /**\n * @deprecated Use focusLost event instead.\n */\n @Output()\n public blur: EventEmitter<PhoneSelectionData> = new EventEmitter();\n\n @Output()\n public focusLost: EventEmitter<PhoneSelectionData> = new EventEmitter();\n\n @ViewChild(\"phoneInput\", { static: true })\n public phoneInput: ElementRef;\n\n @HostListener(\"document:click\", [\"$event\"])\n public onClickout(event: MouseEvent) {\n if (!this._eRef.nativeElement.contains(event.target)) {\n if (this.open) {\n this.open = false;\n }\n }\n }\n\n public ngOnInit(): void {\n const countries = this._countryPhonePickerService.getCountries(this.ordination);\n this.filter.valueChanges.subscribe(this._filterCountries);\n\n if (this.countries?.length) {\n this._countriesList = countries.filter((country) => this.countries.includes(country.id));\n } else {\n this._countriesList = countries;\n }\n this.filteredCountriesList = this._countriesList;\n this.selectedItem = this._getSelectedCountryDefault();\n this.mask = this.getMask();\n\n this.phone.valueChanges.subscribe((value) => {\n this.value = {\n id: this.selectedItem.id,\n ddi: this.selectedItem.ddi,\n rawValue: value ?? \"\",\n value: value ? `${this._applyMask(value)}` : \"\",\n };\n if (this._onChange) {\n this._onChange(this.value);\n }\n });\n }\n\n @HostBinding(\"attr.tabindex\")\n public tabindex = 0;\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeydown(event: KeyboardEvent) {\n if (event.key === \"Enter\" || event.key === \" \") {\n if (this.open) {\n this.selectedItem = this._countriesList[this.currentItemIndex];\n this.selected.emit(this.selectedItem);\n }\n this.open = !this.open;\n } else if (event.key === \"Escape\") {\n this.open = false;\n } else if (event.key === \"ArrowDown\") {\n this._moveToDown();\n } else if (event.key === \"ArrowUp\") {\n this._moveToUp();\n }\n }\n\n public get open() {\n return this._open;\n }\n\n public set open(open: boolean) {\n this._open = open;\n\n if (open) {\n this._createDropdownPortal();\n } else {\n if (this._portalHost && this._portalHost.hasAttached()) {\n this._portalHost.detach();\n }\n this.phoneInput.nativeElement.focus();\n }\n }\n\n public onSelectItem(country: CountryPhoneData) {\n this.open = false;\n this.selectedItem = country;\n this.phone.setValue(\"\");\n this.currentItemIndex = this._countriesList.indexOf(this.selectedItem);\n this.selected.emit(this.selectedItem);\n }\n\n public onCleanFilter() {\n this.filter.setValue(\"\");\n }\n\n public onPhoneInputFocus() {\n this.open = false;\n }\n\n public getMask() {\n const mask = this.selectedItem.mask;\n\n if (Array.isArray(mask)) {\n return !this.value?.rawValue || this.value.rawValue.length <= mask[0].replace(/[^0]/g, \"\").length\n ? mask[0] // fixo\n : mask[1]; // celular\n } else {\n return mask;\n }\n }\n\n public getPlaceholder() {\n return this.mask.replace(/9/g, \"\");\n }\n\n public onBlur(value: PhoneSelectionData) {\n this.blur.emit(value);\n this.focusLost.emit(value);\n }\n\n private _getSelectedCountryDefault() {\n if (!this._countriesList.length) {\n throw new Error(\"No country loaded\");\n }\n\n const filteredByBr = this._countriesList.filter((country: CountryPhoneData) => country.id === \"br\");\n\n return filteredByBr.length ? filteredByBr[0] : this._countriesList[0];\n }\n\n private _filterCountries = (value: string) => {\n if (!value) {\n this.filteredCountriesList = this._countriesList;\n } else {\n this.filteredCountriesList = this._countriesList.filter((country) => {\n const countryName = this._translate.instant(`platform.angular_components.country_name_${country.id}`) as string;\n return countryName.toLowerCase().includes(value.toLowerCase());\n });\n }\n };\n\n private _moveToUp() {\n if (this.currentItemIndex == 0) {\n return;\n }\n\n this.currentItemIndex--;\n\n const selectList: any = document.querySelector(\".select-list\");\n const item = selectList.children[this.currentItemIndex];\n\n if (item.offsetTop - selectList.offsetTop <= this.offsetTop) {\n this.offsetTop -= 45;\n selectList.scrollTo(0, this.offsetTop);\n }\n }\n\n private _moveToDown() {\n if (this.currentItemIndex >= this._countriesList.length - 1) {\n return;\n }\n\n this.currentItemIndex++;\n\n const selectList: any = document.querySelector(\".select-list\");\n const item = selectList.children[this.currentItemIndex];\n\n if (item.offsetTop - selectList.offsetTop > this.offsetTop + 180) {\n this.offsetTop += 45;\n selectList.scrollTo(0, this.offsetTop);\n }\n }\n\n private _applyMask(value: string) {\n let mask;\n\n if (Array.isArray(this.selectedItem.mask)) {\n const rawMask = this.selectedItem.mask[0].replace(/[^0]/g, \"\");\n mask = value.length <= rawMask.length ? this.selectedItem.mask[0] + \"\\0\" : this.selectedItem.mask[1] + \"\\0\";\n } else {\n mask = this.selectedItem.mask + \"\\0\";\n }\n\n let tokens = \"\";\n let replace = \"\";\n let acumulador = 0;\n let contador = 0;\n\n for (const token of mask) {\n if (isNaN(parseInt(token))) {\n if (acumulador) {\n tokens += `(\\\\d{${acumulador}})`;\n replace += `$${++contador}`;\n acumulador = 0;\n }\n\n if (token !== \"\\0\") {\n replace += token;\n }\n } else {\n acumulador++;\n }\n }\n\n tokens = `^${tokens}*`;\n return this.phone.value.replace(new RegExp(tokens), replace);\n }\n\n private _createDropdownPortal(): void {\n if (!isPlatformBrowser(this.platformId) || isNullOrUndefined(this.dropElement)) return;\n\n const bodyElement = document.body;\n const dropElementRect = this.dropElement.nativeElement.getBoundingClientRect();\n\n this.dropTop = dropElementRect.bottom + window.scrollY;\n this.dropLeft = dropElementRect.left + window.scrollX;\n\n this._portalHost = new DomPortalOutlet(bodyElement, null, null, null);\n const portal = new TemplatePortal(this.dropdownTemplate, this.viewContainerRef);\n this._portalHost.attach(portal);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { PortalModule } from \"@angular/cdk/portal\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { NgxMaskModule } from \"ngx-mask\";\n\nimport { CountryPhonePickerService } from \"./country-phone-picker.service\";\nimport { CountryPhonePickerComponent } from \"./country-phone-picker.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n ReactiveFormsModule,\n NgxMaskModule.forRoot(),\n PortalModule,\n ],\n declarations: [CountryPhonePickerComponent],\n exports: [CountryPhonePickerComponent],\n providers: [CountryPhonePickerService],\n})\nexport class CountryPhonePickerModule { }","import { FormControl } from \"@angular/forms\";\n\nimport { AutocompleteField } from \"../../configurations/fields/autocomplete-field\";\nimport { BlobField } from \"../../configurations/fields/blob-field\";\nimport { BooleanField } from \"../../configurations/fields/boolean-field\";\nimport { CalendarField } from \"../../configurations/fields/calendar-field\";\nimport { CheckboxField } from \"../../configurations/fields/checkbox-field\";\nimport { ChipsField } from \"../../configurations/fields/chips-field\";\nimport { CountryPhonePickerField } from \"../../configurations/fields/country-phone-picker-field\";\nimport { CurrencyField } from \"../../configurations/fields/currency-field\";\nimport { EditorField } from \"../../configurations/fields/editor-field\";\nimport { LookupField } from \"../../configurations/fields/lookup-field\";\nimport { NumberField } from \"../../configurations/fields/number-field\";\nimport { PasswordField } from \"../../configurations/fields/password-field\";\nimport { RadioButtonField } from \"../../configurations/fields/radio-button-field\";\nimport { SelectField } from \"../../configurations/fields/select-field\";\nimport { SliderField } from \"../../configurations/fields/slider-field\";\nimport { TextAreaField } from \"../../configurations/fields/text-area-field\";\nimport { TextAreaIAField } from \"../../configurations/fields/text-area-ia-field\";\nimport { TextField } from \"../../configurations/fields/text-field\";\n\nexport interface BaseFieldComponentConfig {\n field:\n | AutocompleteField\n | BooleanField\n | BlobField\n | CalendarField\n | CheckboxField\n | ChipsField\n | CountryPhonePickerField\n | CurrencyField\n | EditorField\n | LookupField\n | NumberField\n | PasswordField\n | RadioButtonField\n | SelectField\n | SliderField\n | TextAreaField\n | TextAreaIAField\n | TextField;\n formControl: FormControl;\n}\n\nexport class BaseFieldComponent {\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n\n public trigger(callback: any) {\n return callback();\n }\n}\n","export enum FieldType {\n Autocomplete = \"Autocomplete\",\n Binary = \"Binary\",\n Blob = \"Blob\",\n Boolean = \"Boolean\",\n Checkbox = \"Checkbox\",\n Chips = \"Chips\",\n CodeEditor = \"CodeEditor\",\n CountryPhonePicker = \"CountryPhonePicker\",\n Custom = \"Custom\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n Double = \"Double\",\n Editor = \"Editor\",\n Enum = \"Enum\",\n Integer = \"Integer\",\n LocalDateTime = \"LocalDateTime\",\n Lookup = \"Lookup\",\n Money = \"Money\",\n Number = \"Number\",\n Password = \"Password\",\n Radio = \"Radio\",\n Slider = \"Slider\",\n String = \"String\",\n Text = \"Text\",\n TextIA = \"TextIA\",\n Time = \"Time\",\n ProfilePicture = \"ProfilePicture\",\n Button = \"Button\",\n}\n","export class FieldSize {\n sm?: number;\n md?: number;\n lg?: number;\n xl?: number;\n\n constructor({ sm = 12, md = 6, lg = 6, xl = 6 }: FieldSize) {\n this.sm = sm;\n this.md = md;\n this.lg = lg;\n this.xl = xl;\n }\n}\n","import { TemplateRef } from \"@angular/core\";\nimport { FieldSize } from \"../field-size\";\nimport { FieldType } from \"../field-type\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { FormField } from \"../form-field\";\n\nexport interface FieldConfig {\n defaultValue?: any;\n required?: () => boolean;\n visible?: () => boolean;\n id?: string;\n name: string;\n label: string;\n infoSign?: string;\n tooltip?: string;\n placeholder?: string;\n showClear?: boolean;\n type?: FieldType;\n size?: FieldSize;\n representedBy?: \"radio\" | \"switch\";\n errorMessages?: () => ({}) | {};\n bottomTemplate?: TemplateRef<Element>;\n footer?: {\n help?: {\n text: string;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n link?: {\n label: string;\n onClick: (options: { abstractControl: AbstractControl, formField: FormField }) => void;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n };\n CustomFieldClass?: unknown;\n CustomFieldComponentClass?: unknown;\n displayTimeInfoSign?: number;\n sortableColumnName?: string\n useInfoSignFocusedInputRef?: boolean;\n ignoreLabel?: boolean\n}\n\nexport abstract class Field {\n public required?: () => boolean;\n public visible?: () => boolean;\n public id?: string;\n public name: string;\n public label: string;\n public infoSign?: string;\n public tooltip?: string;\n public placeholder?: string;\n public showClear?: boolean;\n public type: FieldType;\n public size: FieldSize;\n public defaultValue?: any;\n public representedBy?: \"radio\" | \"switch\";\n public errorMessages?: () => ({}) | {};\n public bottomTemplate?: TemplateRef<Element>;\n public CustomFieldClass?: unknown;\n public CustomFieldComponentClass?: unknown;\n public displayTimeInfoSign?: number;\n public sortableColumnName?: string\n public footer?: {\n help?: {\n text: string;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n link?: {\n label: string;\n onClick: (options: { abstractControl: AbstractControl, formField: FormField }) => void;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n };\n public useInfoSignFocusedInputRef?: boolean;\n\n /**\n * In some cases DynamicFormField use a custom field that alredy exists, this happen in CustomFields when convert 'Integer, Double & Money' types to 'Custom' this create two labels. activate this property hide the parent label.\n */\n ignoreLabel? = false;\n\n constructor(config: FieldConfig) {\n if (config.footer?.help) {\n config.footer.help = {\n visible: () => true,\n ...config.footer?.help\n }\n }\n\n if (config.footer?.link) {\n config.footer.link = {\n visible: () => true,\n ...config.footer?.link\n }\n }\n\n this.required = config.required || (() => false);\n this.visible = config.visible || (() => true);\n this.id = config.id;\n this.name = config.name;\n this.label = config.label;\n this.infoSign = config.infoSign;\n this.tooltip = config.tooltip;\n this.placeholder = config.placeholder || \"\";\n this.showClear = config.showClear || false;\n this.type = config.type;\n this.size = new FieldSize(config.size || {});\n this.errorMessages = config.errorMessages;\n this.bottomTemplate = config.bottomTemplate;\n this.footer = config.footer;\n this.defaultValue = config.defaultValue;\n this.representedBy = config.representedBy;\n this.CustomFieldClass = config.CustomFieldClass;\n this.CustomFieldComponentClass = config.CustomFieldComponentClass;\n this.displayTimeInfoSign = config.displayTimeInfoSign ?? 5000;\n this.useInfoSignFocusedInputRef = config.useInfoSignFocusedInputRef ?? true;\n this.ignoreLabel = config.ignoreLabel ?? false;\n }\n\n get gridClass() {\n return Object.keys(this.size).map(key => `ui-${key}-${this.size[key]}`);\n }\n}\n","import { Observable } from \"rxjs\";\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface AutocompleteFieldConfig extends FieldConfig {\n dataKey?: string;\n displayField?: string;\n multiple?: boolean;\n appendTo?: string;\n emptyMessage?: string;\n suggestionsObservable: Observable<any>;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onSearch: (value: string) => void;\n onBlur?: (event: FocusEvent) => void;\n}\n\nexport class AutocompleteField extends Field {\n public dataKey: string;\n public displayField?: string;\n public multiple?: boolean;\n public appendTo?: string;\n public emptyMessage?: string;\n public suggestionsObservable: Observable<any>;\n public suggestions: any[] = [];\n\n public onSelect?: (event: any) => void;\n public onUnselect?: (event: any) => void;\n public onClear?: (event: any) => void;\n public onSearch: (value: string) => void;\n public onBlur?: (event: FocusEvent) => void;\n\n constructor(config: AutocompleteFieldConfig) {\n super({ ...config, type: FieldType.Autocomplete } as AutocompleteFieldConfig);\n Object.assign(this, config);\n this.suggestionsObservable.subscribe(suggestions => (this.suggestions = suggestions));\n }\n}\n","import { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\nimport { NumberLocaleOptions } from \"../../../locale/index\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BignumberFieldConfig extends FieldConfig {\n allowNegative: boolean;\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n autoClear?: boolean;\n}\n\nexport class BignumberField extends Field {\n public allowNegative: boolean;\n public numberLocaleOptions: NumberLocaleOptions;\n public browserAutocomplete: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: AlignmentOptions;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n public autoClear?: boolean;\n\n constructor(config: BignumberFieldConfig) {\n super(config);\n this.allowNegative = config.allowNegative ?? true;\n this.numberLocaleOptions = config.numberLocaleOptions;\n this.browserAutocomplete = config.browserAutocomplete;\n this.precision = config.precision;\n this.scale = config.scale ?? 2;\n this.alignTo = this.scale ? AlignmentOptions.RIGHT : AlignmentOptions.LEFT;\n this.mask = config.mask;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n this.autoClear = config.autoClear ?? true;\n }\n}\n","import { ElementRef } from \"@angular/core\";\nimport { FileDto } from \"../../../file-upload/index\";\nimport { FormField } from \"./../../configurations/form-field\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BlobFieldConfig extends FieldConfig {\n accept: string;\n files: FileDto[];\n chooseLabel: string;\n removeLabel: string;\n cancelLabel: string;\n successTooltip: string;\n multiple: boolean;\n onUploadFile: (event: { files: FileDto[] }, field: FormField) => void;\n onRemoveFile: (event: FileDto, field: FormField) => void;\n onCancelUpload: (event: number, field: FormField) => void;\n onDownloadFile: (event: { index: number; anchor: ElementRef }, field: FormField) => void;\n showFileUploadDate: boolean;\n}\n\nexport class BlobField extends Field {\n public accept: string;\n public files: FileDto[];\n public chooseLabel: string;\n public removeLabel: string;\n public cancelLabel: string;\n public successTooltip: string;\n public multiple: boolean;\n public onUploadFile: (event: { files: FileDto[] }, field: FormField) => void;\n public onRemoveFile: (event: FileDto, field: FormField) => void;\n public onCancelUpload: (event: number, field: FormField) => void;\n public onDownloadFile: (event: { index: number; anchor: ElementRef }, field: FormField) => void;\n public showFileUploadDate: boolean;\n\n constructor(config: BlobFieldConfig) {\n super(config);\n this.accept = config.accept;\n this.files = config.files || [];\n this.chooseLabel = config.chooseLabel;\n this.removeLabel = config.removeLabel;\n this.cancelLabel = config.cancelLabel;\n this.successTooltip = config.successTooltip;\n this.multiple = config.multiple;\n this.onUploadFile = config.onUploadFile;\n this.onRemoveFile = config.onRemoveFile;\n this.onCancelUpload = config.onCancelUpload;\n this.onDownloadFile = config.onDownloadFile;\n this.showFileUploadDate = config.showFileUploadDate;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface BooleanOptionsLabelConfig {\n true: string;\n false: string;\n empty?: string;\n clear?: string;\n}\n\nexport class BooleanOptionsLabel {\n public true: string;\n public false: string;\n public empty?: string;\n public clear?: string;\n\n constructor(config: BooleanOptionsLabelConfig) {\n this.true = config.true;\n this.false = config.false;\n this.empty = config.empty;\n this.clear = config.clear;\n }\n}\n\nexport interface BooleanFieldConfig extends FieldConfig {\n verticalAlignment?: boolean;\n optionsLabel: BooleanOptionsLabel;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onClick?: (event: any) => void;\n}\n\nexport class BooleanField extends Field {\n public verticalAlignment?: boolean;\n public optionsLabel: BooleanOptionsLabel;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onClick?: (event: any) => void;\n\n constructor(config: BooleanFieldConfig) {\n super(config);\n this.verticalAlignment = config.verticalAlignment;\n this.optionsLabel = new BooleanOptionsLabel(config.optionsLabel);\n this.representedBy = \"radio\";\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onClick = config.onClick;\n }\n}\n","import { BooleanOptionsLabel } from \"./boolean-field\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface BooleanSwitchFieldConfig extends FieldConfig {\n onChange?: (event: any) => void;\n optionsLabel?: BooleanOptionsLabel;\n}\n\nexport class BooleanSwitchField extends Field {\n public onChange?: (event: any) => void;\n public optionsLabel?: BooleanOptionsLabel;\n constructor(config: BooleanSwitchFieldConfig) {\n super(config);\n this.onChange = config.onChange;\n if (config.optionsLabel) {\n this.optionsLabel = new BooleanOptionsLabel(config.optionsLabel);\n }\n this.representedBy = \"switch\";\n }\n}\n","import { CalendarLocaleOptions } from \"../../../locale/index\";\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface CalendarFieldConfig extends FieldConfig {\n view?: string;\n minDate?: Date;\n maxDate?: Date;\n defaultDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n calendarLocaleOptions?: CalendarLocaleOptions;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: string;\n rangeSeparator?: string;\n showSeconds?: boolean;\n}\n\nexport class CalendarField extends Field {\n public view?: string;\n public appendTo: string;\n public minDate?: Date;\n public maxDate?: Date;\n public defaultDate?: Date;\n public calendarLocaleOptions: CalendarLocaleOptions;\n public showOnFocus?: boolean;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: string;\n public rangeSeparator?: string;\n public showSeconds: boolean;\n\n constructor(config: CalendarFieldConfig) {\n super(config);\n this.view = config.view || \"date\";\n this.minDate = config.minDate;\n this.maxDate = config.maxDate;\n this.defaultDate = config.defaultDate;\n this.appendTo = config.appendTo;\n this.showOnFocus = typeof config.showOnFocus === \"boolean\" ? config.showOnFocus : true;\n this.calendarLocaleOptions = config.calendarLocaleOptions;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onSelect = config.onSelect;\n this.onInput = config.onInput;\n this.onClose = config.onClose;\n this.onTodayClick = config.onTodayClick;\n this.onClearClick = config.onClearClick;\n this.onMonthChange = config.onMonthChange;\n this.onYearChange = config.onYearChange;\n this.selectionMode = config.selectionMode || \"single\";\n this.rangeSeparator = config.rangeSeparator || \"-\";\n this.showSeconds = config.showSeconds;\n\n // Tornando true o padrão para showSeconds.\n if (this.showSeconds === null || this.showSeconds === undefined) {\n switch (this.type) {\n case FieldType.DateTime:\n case FieldType.LocalDateTime:\n case FieldType.Time:\n this.showSeconds = true;\n break;\n }\n }\n }\n}\n","import { CheckboxData } from \"../../../checkbox/models\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface CheckboxFieldConfig extends FieldConfig {\n data: CheckboxData;\n}\n\nexport class CheckboxField extends Field {\n public data: CheckboxData;\n\n constructor(config: CheckboxFieldConfig) {\n super(config);\n this.data = config.data;\n }\n}","import { Field, FieldConfig } from \"./field\";\n\nexport interface ChipsFieldConfig extends FieldConfig {\n keyFilter?: RegExp;\n separator?: string;\n showCopyButton?: boolean;\n onAdd: (event: any) => void;\n onRemove: (event: any) => void;\n onChipClick: (event: any) => void;\n onFocus: (event: any) => void;\n onBlur: (event: any) => void;\n onCopy: (content: string) => void;\n}\n\nexport class ChipsField extends Field {\n public keyFilter?: RegExp;\n public showCopyButton = false;\n public separator?: string;\n public onAdd: (event: any) => void;\n public onRemove: (event: any) => void;\n public onChipClick: (event: any) => void;\n public onFocus: (event: any) => void;\n public onBlur: (event: any) => void;\n public onCopy: (content: string) => void; \n\n constructor(config: ChipsFieldConfig) {\n super(config);\n this.keyFilter = config.keyFilter;\n this.showCopyButton = config.showCopyButton;\n this.separator = config.separator;\n this.onAdd = config.onAdd;\n this.onRemove = config.onRemove;\n this.onChipClick = config.onChipClick;\n this.onFocus = config.onFocus;\n this.onBlur = config.onBlur;\n this.onCopy = config.onCopy;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\nimport { CountryPhoneData, Ordination, PhoneSelectionData } from \"../../../country-phone-picker\";\n\nexport interface CountryPhonePickerConfig extends FieldConfig {\n countries: string[];\n ordination: Ordination;\n onSelected: (data: CountryPhoneData) => void;\n onFocusLost: (data: PhoneSelectionData) => void;\n}\n\nexport class CountryPhonePickerField extends Field {\n public countries: string[];\n public ordination: Ordination;\n public onSelected: (data: CountryPhoneData) => void;\n public onFocusLost: (data: PhoneSelectionData) => void;\n\n constructor(config: CountryPhonePickerConfig) {\n super(config);\n this.countries = config.countries;\n this.ordination = config.ordination;\n this.onSelected = config.onSelected;\n this.onFocusLost = config.onFocusLost;\n }\n}","import {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n KeyValueDiffers,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n} from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR } from \"@angular/forms\";\nimport { LocaleService } from \"../locale/locale.service\";\nimport { CurrencyMaskDirective } from \"ng2-currency-mask\";\nimport { first } from \"rxjs/operators\";\n\n/**\n * @deprecated Should use 'AlignmentOptions' from @seniorsistemas/ng2-currency-mask instead\n */\nexport enum NumberAlignmentOption {\n RIGHT = \"right\",\n LEFT = \"left\",\n}\n\n/**\n * @deprecated Should use BigNumberInput directive instead\n */\n@Directive({\n selector: \"input[sNumberInput]\",\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class NumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges, OnDestroy {\n @Input()\n public precision = 15;\n\n @Input()\n public scale = 0;\n\n @Input()\n public decimalSeparator: string;\n\n @Input()\n public thousandsSeparator: string;\n\n @Input()\n public alignTo = NumberAlignmentOption.LEFT;\n\n @Input()\n public allowNegative = true;\n\n @Input()\n @HostBinding(\"attr.placeholder\")\n public placeholder: string;\n\n @HostBinding(\"attr.maxLength\")\n public maxLength: number;\n\n @Output()\n public pasteRejected = new EventEmitter<string>();\n\n private _maxLength: number;\n\n private pasteListener: any;\n private keypressListener: any;\n\n constructor(\n _keyValueDiffers: KeyValueDiffers,\n private readonly _elementRef: ElementRef,\n private readonly localeService: LocaleService\n ) {\n super(null, _elementRef, _keyValueDiffers);\n\n this.onLocaleService();\n }\n\n public ngOnInit(): void {\n this.updateVariables();\n\n super.ngOnInit();\n\n this.pasteListener = this._onPaste.bind(this);\n this._elementRef.nativeElement.addEventListener(\"paste\", this.pasteListener);\n\n this.keypressListener = this._onKeypress.bind(this);\n this._elementRef.nativeElement.addEventListener(\"keypress\", this.keypressListener);\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const placeholderChange = changes.placeholder && changes.placeholder.currentValue;\n if (!placeholderChange && this.scale) this.placeholder = `0${this.decimalSeparator}${\"\".padEnd(this.scale, \"0\")}`;\n\n if (\n changes.scale ||\n changes.decimalSeparator ||\n changes.thousandsSeparator ||\n changes.alignTo ||\n changes.precision ||\n changes.allowNegative\n ) {\n this.updateVariables();\n }\n }\n\n public ngOnDestroy(): void {\n this._elementRef.nativeElement.removeEventListener(\"paste\", this.pasteListener);\n this._elementRef.nativeElement.removeEventListener(\"keypress\", this.keypressListener);\n }\n\n private _onPaste(event: ClipboardEvent): void {\n const pastedText = event.clipboardData?.getData(\"text\") ?? \"\";\n const numericText = pastedText.replace(new RegExp(`\\\\${this.thousandsSeparator}`, \"g\"), \"\").replace(this.decimalSeparator, \".\");\n const [intPart, decimalPart = \"\"] = numericText.split(\".\");\n const totalDigits = intPart.replace(/\\D/g, \"\").length + decimalPart.slice(0, this.scale).length;\n\n if (totalDigits > this.precision) {\n event.preventDefault();\n event.stopPropagation();\n this.pasteRejected.emit(pastedText);\n }\n }\n\n private _onKeypress(event: KeyboardEvent): void {\n const code = event.code;\n\n if (code === \"Minus\" || code === \"NumpadSubtract\") {\n if (this.allowNegative) {\n this.maxLength = this._maxLength + 1;\n }\n } else if (code === \"Equal\" || code === \"NumpadAdd\") {\n this.maxLength = this._maxLength;\n }\n }\n\n /**\n * Update the options values according to the directive input values.\n */\n private updateVariables(): void {\n this.options = {\n align: this.alignTo,\n decimal: this.decimalSeparator,\n thousands: this.thousandsSeparator,\n precision: this.scale || 0,\n prefix: \"\",\n suffix: \"\",\n allowNegative: this.allowNegative,\n };\n this.calculateMaxLength();\n }\n\n /**\n * Responsible to calculate the field maximum length considering the separators.\n */\n private calculateMaxLength(): void {\n const decSepLength = this.decimalSeparator.length;\n const thoSepLength = this.thousandsSeparator.length;\n\n let maxLength = this.precision + (this.scale ? decSepLength : 0);\n maxLength += Math.ceil((this.precision - (this.scale ? this.scale : 0)) / 3 - 1) * thoSepLength;\n\n this._maxLength = maxLength;\n this.maxLength = maxLength;\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe(() => {\n this.decimalSeparator = this.decimalSeparator ?? this.localeService.getDecimalSeparator();\n this.thousandsSeparator = this.thousandsSeparator ?? this.localeService.getGroupingSeparator();\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { NumberInputDirective } from \"./number-input.directive\";\n\n/**\n * @deprecated Should use 'BignumberInputModule' instead\n */\n@NgModule({\n imports: [CommonModule],\n declarations: [NumberInputDirective],\n exports: [NumberInputDirective],\n})\nexport class NumberInputModule {}\n","import { NumberLocaleOptions } from \"../../../locale/index\";\nimport { NumberAlignmentOption } from \"../../../number-input\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\n\n/**\n * @deprecated Should use BignumberFieldConfig instead\n */\nexport interface NumberFieldConfig extends FieldConfig {\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: (() => number) | number;\n alignTo?: NumberAlignmentOption;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class NumberField extends Field {\n /**\n * @deprecated `numberLocaleOptions` should not be used. It is not needed anymore and should be removed if possible.\n */\n public numberLocaleOptions: NumberLocaleOptions;\n\n public browserAutocomplete: boolean;\n public precision?: Function | number;\n public scale?: (() => number) | number;\n public alignTo: NumberAlignmentOption;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n\n constructor(config: NumberFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions;\n this.browserAutocomplete = config.browserAutocomplete;\n this.precision = config.precision;\n this.scale = config.scale;\n this.alignTo = config.alignTo || NumberAlignmentOption.LEFT;\n this.mask = config.mask;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n","import { NumberLocaleOptions } from \"../../../locale\";\nimport { NumberAlignmentOption } from \"../../../number-input\";\nimport { NumberField, NumberFieldConfig } from \"./number-field\";\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport interface DecimalFieldConfig extends NumberFieldConfig {\n scale?: (() => number) | number;\n}\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class DecimalField extends NumberField implements DecimalFieldConfig {\n public scale?: (() => number) | number;\n\n constructor(config: DecimalFieldConfig) {\n super(config);\n this.numberLocaleOptions = config.numberLocaleOptions;\n this.alignTo = config.alignTo || NumberAlignmentOption.RIGHT;\n this.scale = typeof config.scale === \"function\" ? config.scale() : config.scale;\n }\n}\n","import { NumberLocaleOptions } from \"../../../locale\";\nimport { DecimalField, DecimalFieldConfig } from \"./decimal-field\";\n\n\n/**\n * @deprecated Should use BignumberField instead\n */\nexport class CurrencyField extends DecimalField {\n currency: () => string;\n\n constructor(config: DecimalFieldConfig) {\n super(config);\n this.currency = config['currency'];\n this.numberLocaleOptions = config.numberLocaleOptions;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { delay } from \"rxjs/operators\";\n\nimport { FieldType } from \"../field-type\";\nimport { Field, FieldConfig } from \"./field\";\nimport { DefaultFilter } from \"../../components/lookup/models\";\n\nexport interface LookupFieldConfig extends FieldConfig {\n multiple?: boolean;\n showSearch?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions: any[];\n suggestionsObservable: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterLabel?: string;\n filterTitle?: string;\n clearLabel?: string;\n cancelLabel?: string;\n selectLabel?: string;\n emptyMessage?: string;\n recordLabel?: string;\n recordsLabel?: string;\n emptyFieldLabel?: string;\n appendTo?: string;\n autocompleteForceSelection?: boolean;\n showAddOption: boolean;\n showEditOption: boolean;\n showRemoveOption: boolean; \n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n onAdd?: () => void;\n onEdit?: (selectedItem: unknown) => void;\n onRemove?: (selectedItems: unknown[]) => void;\n onClearButtonClick?: () => void;\n}\n\nexport class LookupField extends Field {\n public multiple = false;\n public showSearch = true;\n public searchFields: any[];\n public searchGridFields: any[];\n public lookupSuggestions: any[];\n public suggestionsObservable: Observable<any[]>;\n public searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n public dataKey: string;\n public lookupDisplayField: string;\n public searchTitle: string;\n public searchEmptyTitle: string;\n public filterLabel: string;\n public filterTitle: string;\n public clearLabel: string;\n public cancelLabel: string;\n public selectLabel: string;\n public recordLabel: string;\n public recordsLabel: string;\n public emptyFieldLabel: string;\n public emptyMessage: string;\n public appendTo?: string;\n public autocompleteForceSelection = true;\n public showAddOption = false;\n public showEditOption = false;\n public showRemoveOption = false;\n public defaultFilter: DefaultFilter[];\n public sortableColumnsDisabled: string[];\n public onLookupRequest: (query: string) => void;\n public onSearchRequest: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n public onAdd?: () => void;\n public onEdit?: (selectedItem: unknown) => void;\n public onRemove?: (selectedItems: unknown[]) => void;\n public onClearButtonClick?: () => void;\n\n private _gridData: any[];\n private _searchTotalRecords: number;\n private _searchTotalRecordsLabel: string;\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n\n constructor(config: LookupFieldConfig) {\n super({ ...config, type: FieldType.Lookup } as LookupFieldConfig);\n Object.assign(this, config);\n\n this.suggestionsObservable.subscribe(suggestions => (this.lookupSuggestions = suggestions));\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel;\n });\n }\n}\n","import { PasswordStrengths } from \"../../../password-strength\";\nimport { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface PasswordFieldConfig extends FieldConfig {\n inputType?: string;\n keyFilter?: any;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n maxLength?: string | number;\n passwordStrength: boolean;\n passwordStrengthOptions?: PasswordStrengthOptions;\n showToggle: boolean;\n style?: { [klass: string]: any };\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class PasswordField extends Field {\n public inputType?: string;\n public keyFilter?: any;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public maxLength?: string | number;\n public passwordStrength: boolean;\n public passwordStrengthOptions?: PasswordStrengthOptions;\n public showToggle: boolean;\n public style?: { [klass: string]: any };\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: any) => void;\n\n constructor(config: PasswordFieldConfig) {\n super(config);\n this.inputType = config.inputType;\n this.keyFilter = config.keyFilter;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.maxLength = config.maxLength || 9999999;\n this.passwordStrength = config.passwordStrength;\n this.passwordStrengthOptions = config.passwordStrengthOptions;\n this.showToggle = config.showToggle;\n this.style = config.style;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n }\n}\n\nexport interface PasswordStrengthOptions {\n description?: string;\n weakTitle?: string;\n mediumTitle?: string;\n strongTitle?: string;\n validation?: (content: string) => PasswordStrengths;\n}","import { Field, FieldConfig } from \"./field\";\n\nexport class RationButtonOption {\n label: string;\n value?: any;\n\n constructor(config: RationButtonOption) {\n this.label = config.label;\n this.value = config.value;\n }\n}\n\nexport interface RadioButtonFieldConfig extends FieldConfig {\n verticalAlignment?: boolean;\n clearLabel?: string;\n options: RationButtonOption[];\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onClick?: (event: any) => void;\n}\n\nexport class RadioButtonField extends Field {\n public verticalAlignment?: boolean;\n public clearLabel?: string;\n public options: RationButtonOption[];\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onClick?: (event: any) => void;\n\n constructor(config: RadioButtonFieldConfig) {\n super(config);\n this.verticalAlignment = config.verticalAlignment;\n this.clearLabel = config.clearLabel;\n this.options = config.options;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onClick = config.onClick;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface SelectFieldConfig extends FieldConfig {\n appendTo?: string;\n optionLabel?: string;\n dataKey?: string;\n autoDisplayFirst?: boolean;\n options: () => SelectOption[] | any[];\n multiple?: boolean;\n multipleSelectedLabel?: string;\n onClick?: (event: any) => void;\n onChange?: (event: any) => void;\n emptyMessage?: string;\n editable?: boolean;\n filter?: boolean;\n group?: boolean;\n}\n\nexport class SelectField extends Field {\n public appendTo?: string;\n public optionLabel?: string;\n public dataKey?: string;\n public autoDisplayFirst?: boolean;\n public options: () => SelectOption[] | any[];\n public multiple?: boolean;\n public multipleSelectedLabel?: string;\n public onClick?: (event: any) => void;\n public onChange?: (event: any) => void;\n public emptyMessage?: string;\n public editable?: boolean;\n public filter?: boolean;\n public group?: boolean;\n\n constructor(config: SelectFieldConfig) {\n super(config);\n this.appendTo = config.appendTo;\n this.dataKey = config.dataKey;\n this.optionLabel = config.optionLabel;\n this.autoDisplayFirst = config.autoDisplayFirst;\n this.options = config.options;\n this.multiple = config.multiple;\n this.multipleSelectedLabel = config.multipleSelectedLabel;\n this.onClick = config.onClick;\n this.onChange = config.onChange;\n this.emptyMessage = config.emptyMessage;\n this.editable = config.editable;\n this.filter = config.filter;\n this.group = config.group;\n }\n}\n\nexport class SelectOption {\n label: string;\n value?: any;\n\n constructor(config: SelectOption) {\n this.label = config.label;\n this.value = config.value;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface SliderFieldConfig extends FieldConfig {\n onChange?: (event: any) => void;\n onSlideEnd?: (event: any) => void;\n range?: boolean;\n min?: number;\n max?: number;\n step?: number;\n orientation?: \"horizontal\" | \"vertical\";\n animate?: boolean;\n disabled?: boolean;\n prefix: string;\n suffix: string;\n rangeSeparator: string;\n}\n\nexport class SliderField extends Field {\n public onChange?: (event: any) => void;\n public onSlideEnd?: (event: any) => void;\n public range?: boolean;\n public min: number;\n public max: number;\n public step: number;\n public orientation: \"horizontal\" | \"vertical\";\n public animate: boolean;\n public disabled: boolean;\n public prefix: string;\n public suffix: string;\n public rangeSeparator: string;\n\n private readonly maxDefault = 100;\n\n constructor(config: SliderFieldConfig) {\n super(config);\n this.onChange = config.onChange;\n this.onSlideEnd = config.onSlideEnd;\n this.range = config.range ?? false;\n this.min = config.min ?? 0;\n this.max = config.max ?? this.maxDefault;\n this.orientation = config.orientation ?? \"horizontal\";\n this.step = config.step ?? 1;\n this.animate = config.animate ?? false;\n this.disabled = config.disabled ?? false;\n this.prefix = config.prefix;\n this.suffix = config.suffix;\n this.rangeSeparator = config.rangeSeparator ?? ' - ';\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface TextAreaFieldConfig extends FieldConfig {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n style?: Partial<CSSStyleDeclaration>;\n readonly?: () => boolean;\n speechRecognition?: boolean\n keepContext: boolean\n speechRecognitionPlaceholder: string\n maxLength?: number;\n}\n\nexport class TextAreaField extends Field {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public style?: Partial<CSSStyleDeclaration> = {\n resize: 'vertical'\n };\n public readonly?: () => boolean;\n public speechRecognition?: boolean\n public keepContext: boolean\n public speechRecognitionPlaceholder: string\n public maxLength?: number;\n\n constructor(config: TextAreaFieldConfig) {\n super(config);\n this.cols = config.cols;\n this.rows = config.rows;\n this.keyFilter = config.keyFilter;\n this.style = {\n ...config.style,\n ...this.style,\n };\n this.readonly = config.readonly;\n this.speechRecognition = config.speechRecognition ?? false\n this.keepContext = config.keepContext ?? false\n this.speechRecognitionPlaceholder = config.speechRecognitionPlaceholder ?? '';\n this.maxLength = config.maxLength;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface TextAreaIAFieldConfig extends FieldConfig {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n style?: Partial<CSSStyleDeclaration>;\n prompt?: string;\n readonly?: () => boolean;\n speechRecognition?: boolean;\n keepContext: boolean\n speechRecognitionPlaceholder: string\n maxLength?: number;\n}\n\nexport class TextAreaIAField extends Field {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public style?: Partial<CSSStyleDeclaration> = {\n resize: 'vertical'\n };\n public prompt?: string;\n public readonly?: () => boolean;\n public speechRecognition?: boolean\n public keepContext: boolean\n public speechRecognitionPlaceholder: string\n public maxLength?: number;\n\n constructor(config: TextAreaIAFieldConfig) {\n super(config);\n this.cols = config.cols;\n this.rows = config.rows;\n this.keyFilter = config.keyFilter;\n this.style = {\n ...config.style,\n ...this.style,\n };\n this.prompt = config.prompt;\n this.readonly = config.readonly;\n this.speechRecognition = config.speechRecognition ?? false;\n this.keepContext = config.keepContext ?? false\n this.speechRecognitionPlaceholder = config.speechRecognitionPlaceholder ?? '';\n this.maxLength = config.maxLength;\n }\n}\n","import { AddonConfig } from \"../addon-config\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface TextFieldConfig extends FieldConfig {\n mask?: () => string | any;\n characterPattern?: (() => string) | string;\n unmask?: (() => boolean) | boolean;\n readonly?: () => boolean;\n inputType?: string;\n keyFilter?: any;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n maxLength?: string | number;\n browserAutocomplete?: boolean;\n style?: { [klass: string]: any };\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class TextField extends Field {\n public mask?: () => string | any;\n public characterPattern?: (() => string) | string;\n public unmask?: (() => boolean) | boolean;\n public readonly?: () => boolean;\n public inputType?: string;\n public keyFilter?: any;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public maxLength?: string | number;\n public browserAutocomplete?: boolean;\n public style?: { [klass: string]: any };\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: any) => void;\n public onInput?: (event: any) => void;\n\n constructor(config: TextFieldConfig) {\n super(config);\n this.mask = config.mask;\n this.characterPattern = config.characterPattern ?? \"[A-Za-z]\";\n this.unmask = config.unmask ?? false;\n this.readonly = config.readonly;\n this.inputType = config.inputType;\n this.keyFilter = config.keyFilter;\n this.leftAddon = config.leftAddon;\n this.rightAddon = config.rightAddon;\n this.maxLength = config.maxLength || 9999999;\n this.browserAutocomplete = config.browserAutocomplete;\n this.style = config.style;\n this.onBlur = config.onBlur;\n this.onFocus = config.onFocus;\n this.onComplete = config.onComplete;\n this.onInput = config.onInput;\n this.sortableColumnName = config.sortableColumnName;\n }\n}\n","import { ButtonBadgeConfig, ButtonSize } from \"../../../button\";\nimport { ButtonComponent } from \"../../../button/button.component\";\nimport { ButtonAnimation } from \"../../../button/models/button-animation\";\nimport { ButtonPriority } from \"../../../button/models/button-priority\";\nimport { Field, FieldConfig } from \"./field\";\n\n\ntype ExtractedButtonProperties = Partial<Pick<ButtonComponent, 'priority' | 'iconClass' | 'disabled' | 'auxiliary' | 'caret' | 'iconColor' | 'badge' | 'animation' | 'slide' | 'menuOptions' | 'model' | 'baseZIndex' | 'styleClass' | 'rightIconClass' | 'tooltipPosition'>>;\n\nexport interface ButtonFieldConfig extends FieldConfig, ExtractedButtonProperties {\n onClick?: (event?: any) => any;\n fullWidth?: boolean\n mouseEnter?: (button: ButtonField) => void\n mouseLeave?: (button: ButtonField) => void\n}\n\nexport class ButtonField extends Field implements ExtractedButtonProperties {\n public priority?: ButtonPriority;\n public iconClass?: string;\n public disabled?: boolean;\n public auxiliary?: boolean;\n public caret?: boolean;\n public onClick?: (event?: Event) => any;\n public fullWidth?: boolean;\n public iconColor?: string;\n public badge?: ButtonBadgeConfig;\n public animation?: ButtonAnimation;\n public slide?: boolean;\n public menuOptions?: any[];\n public model?: any[];\n public baseZIndex?: number;\n public styleClass?: string;\n public rightIconClass?: string;\n public tooltipPosition?: \"top\" | \"right\" | \"bottom\" | \"left\" = \"top\";\n public buttonType?: string;\n public buttonSize?: ButtonSize;\n public mouseEnter?: (button: ButtonField) => void;\n public mouseLeave?: (button: ButtonField) => void;\n\n constructor(config: ButtonFieldConfig) {\n super(config);\n this.priority = config.priority || ButtonPriority.Primary;\n this.iconClass = config.iconClass || \"\";\n this.disabled = config.disabled || false;\n this.auxiliary = config.auxiliary || false;\n this.caret = config.caret || false;\n this.id = config.id || `s-button-${ButtonComponent.nextId++}`;\n this.onClick = config.onClick || (() => { });\n this.fullWidth = config.fullWidth || false;\n this.iconColor = config.iconColor;\n this.badge = config.badge;\n this.animation = config.animation;\n this.slide = config.slide;\n this.menuOptions = config.menuOptions;\n this.model = config.model;\n this.baseZIndex = config.baseZIndex;\n this.styleClass = config.styleClass;\n this.rightIconClass = config.rightIconClass;\n this.tooltipPosition = config.tooltipPosition || 'top';\n this.mouseEnter = config.mouseEnter;\n this.mouseLeave = config.mouseLeave;\n }\n}\n","import { Field, FieldConfig } from \"./field\";\n\nexport interface EditorFieldConfig extends FieldConfig {\n formats?: string[];\n readonly?: boolean;\n modules?: any;\n style?: { [klass: string]: unknown };\n}\n\nexport class EditorField extends Field {\n public formats?: string[];\n public readonly?: boolean;\n public modules?: any;\n public style?: { [klass: string]: unknown };\n\n constructor(config: EditorFieldConfig) {\n super(config);\n this.formats = config.formats;\n this.readonly = config.readonly;\n this.modules = config.modules;\n this.style = config.style;\n }\n}\n","import { CropperLabelsConfig } from \"../../../profile-picture-picker\";\nimport { ConfirmationTexts, FileValidationErrors, ProfilePicturePickerData } from \"../../../profile-picture-picker/models\";\nimport { Field, FieldConfig } from \"./field\";\n\nexport interface ProfilePictureConfig extends FieldConfig {\n simpleTitle?: string;\n actionTitle?: string;\n subtitle?: string;\n aspectRatio?: number;\n cropperLabelsConfig?: CropperLabelsConfig;\n removeButtonLabel?: string;\n changeButtonLabel?: string;\n confirmationTexts?: ConfirmationTexts;\n maxFileSize?: number;\n accept?: string;\n supportedExtensions?: string[];\n onChangeImage?: (event: string | ProfilePicturePickerData) => void;\n onRemovedImage?: () => void;\n onInvalidFile?: (event: FileValidationErrors) => void;\n}\n\nexport class ProfilePictureField extends Field {\n public simpleTitle?: string;\n public actionTitle?: string;\n public subtitle?: string;\n public aspectRatio?: number;\n public cropperLabelsConfig?: CropperLabelsConfig;\n public removeButtonLabel?: string;\n public changeButtonLabel?: string;\n public confirmationTexts?: ConfirmationTexts;\n public maxFileSize?: number;\n public accept?: string;\n public supportedExtensions?: string[];\n public onChangeImage?: (event: string | ProfilePicturePickerData) => void;\n public onRemovedImage?: () => void;\n public onInvalidFile?: (event: FileValidationErrors) => void;\n\n constructor(config: ProfilePictureConfig) {\n super(config);\n this.simpleTitle = config.simpleTitle;\n this.actionTitle = config.actionTitle;\n this.subtitle = config.subtitle;\n this.aspectRatio = config.aspectRatio;\n this.cropperLabelsConfig = config.cropperLabelsConfig;\n this.removeButtonLabel = config.removeButtonLabel;\n this.changeButtonLabel = config.changeButtonLabel;\n this.confirmationTexts = config.confirmationTexts;\n this.maxFileSize = config.maxFileSize;\n this.accept = config.accept;\n this.supportedExtensions = config.supportedExtensions;\n this.onChangeImage = config.onChangeImage;\n this.onRemovedImage = config.onRemovedImage;\n this.onInvalidFile = config.onInvalidFile;\n }\n}","import { TemplateRef } from \"@angular/core\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\nimport { FileDto } from \"../../file-upload/index\";\nimport { CalendarLocaleOptions, NumberLocaleOptions } from \"../../locale/index\";\nimport { NumberAlignmentOption } from \"../../number-input\";\nimport { AddonConfig } from \"./addon-config\";\nimport { FieldSize } from \"./field-size\";\nimport { FieldType } from \"./field-type\";\nimport { CheckboxField, CountryPhonePickerField } from \"./fields\";\nimport { AutocompleteField } from \"./fields/autocomplete-field\";\nimport { BignumberField } from \"./fields/bignumber-field\";\nimport { BlobField } from \"./fields/blob-field\";\nimport { BooleanField, BooleanOptionsLabel } from \"./fields/boolean-field\";\nimport { BooleanSwitchField } from \"./fields/boolean-switch-field\";\nimport { CalendarField } from \"./fields/calendar-field\";\nimport { ChipsField } from \"./fields/chips-field\";\nimport { CurrencyField } from \"./fields/currency-field\";\nimport { DecimalField } from \"./fields/decimal-field\";\nimport { EditorField } from \"./fields/editor-field\";\nimport { LookupField } from \"./fields/lookup-field\";\nimport { NumberField } from \"./fields/number-field\";\nimport { PasswordField } from \"./fields/password-field\";\nimport { ProfilePictureField } from \"./fields/profile-picture\";\nimport { RadioButtonField } from \"./fields/radio-button-field\";\nimport { SelectField } from \"./fields/select-field\";\nimport { SliderField } from \"./fields/slider-field\";\nimport { TextAreaField } from \"./fields/text-area-field\";\nimport { TextAreaIAField } from \"./fields/text-area-ia-field\";\nimport { TextField } from \"./fields/text-field\";\nimport { ButtonField } from \"./fields/button-field\";\n\nexport class FormField {\n id?: string;\n /**\n * Tells whether the field is required or not\n */\n required?: () => boolean;\n name?: string;\n sortableColumnName?: string;\n type?: FieldType;\n label?: string;\n /**\n * Labels of a Radio Button, only used to FieldType Boolean\n */\n optionsLabel?: BooleanOptionsLabel;\n tooltip?: string;\n /**\n * Mask pattern.\n */\n mask?: ((options?: { value: unknown }) => string) | string;\n /**\n * Message to display when there are no results for a query.\n */\n emptyMessage?: string;\n cols?: number;\n rows?: number;\n placeholder?: string;\n options?: any;\n calendarLocaleOptions?: CalendarLocaleOptions;\n numberLocaleOptions?: NumberLocaleOptions;\n multiple?: boolean;\n appendTo?: string;\n browserAutocomplete?: boolean;\n showClear?: boolean;\n showOnFocus?: boolean;\n style?: { [klass: string]: any };\n representedBy?: \"radio\" | \"switch\";\n /**\n * Whether the `RadioButton` should be displayed on the vertical or not.\n *\n * @default false\n */\n verticalAlignment?: boolean;\n /**\n * Field max length\n */\n precision?: Function | number;\n /**\n * Number of decimal places\n */\n scale?: Function | number;\n /**\n * @deprecated Using FieldType.Number this attribute is unnecessary\n */\n alignTo?: NumberAlignmentOption | AlignmentOptions;\n gridClass?:\n | string\n | string[]\n | Set<string>\n | {\n [klass: string]: any;\n };\n size?: FieldSize;\n multipleSelectedLabel?: string;\n inputType?: string;\n accept?: string;\n files?: FileDto[];\n autocompleteForceSelection?: boolean;\n /**\n * The minimum selectable date.\n */\n minDate?: Date;\n /**\n * The maximum selectable date.\n */\n maxDate?: Date;\n /**\n * Set the date to highlight on first opening if the field is blank.\n */\n defaultDate?: Date;\n /**\n * Text or icon to be grouped in the left of an input.\n */\n leftAddon?: AddonConfig;\n /**\n * Text or icon to be grouped in right of an input.\n */\n rightAddon?: AddonConfig;\n /**\n * InfoSign para a label do input.\n */\n infoSign?: string;\n /**\n * Expression to restricts user input\n */\n keyFilter?: RegExp;\n\n /**\n * Default value for field\n */\n defaultValue?: any;\n /**\n * Customized FormField error message\n */\n errorMessages?: () => ({}) | {};\n visible?: () => boolean;\n /**\n * Callback to invoke when the field loses focus\n */\n onBlur?: (event: FocusEvent) => void;\n /**\n * Callback to invoke when the field receives focus\n */\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: any) => void;\n onInput?: (event: any) => void;\n onChange?: (event: boolean) => void;\n onSelect?: (event: any) => void;\n /**\n * Callback to invoke on component click.\n */\n onClick?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n /**\n * Callback to invoke when a value is added.\n */\n onAdd?: (event: any) => void;\n /**\n * Callback to invoke when a value is removed.\n */\n onRemove?: (event: any) => void;\n /**\n * Callback to invoke when a chip is clicked.\n */\n onChipClick?: (event: any) => void;\n\n /**\n * Callback to invoke when a slider is released\n */\n onSlideEnd?: (event: any) => void;\n\n CustomFieldClass?: any;\n CustomFieldComponentClass?: any;\n\n /**\n * @deprecated You should use footer attribute instead.\n */\n bottomTemplate?: TemplateRef<Element>;\n\n autoClear?: boolean;\n displayTimeInfoSign?: number;\n\n footer?: {\n help?: {\n text: string;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n link?: {\n label: string;\n onClick: (options: { abstractControl: AbstractControl, formField: FormField }) => void;\n visible?: (options: { abstractControl: AbstractControl, formField: FormField }) => boolean;\n };\n };\n\n /**\n * In some cases DynamicFormField use a custom field that alredy exists, this happen in CustomFields when convert 'Integer, Double & Money' types to 'Custom' this create two labels. activate this property hide the parent label.\n */\n ignoreLabel? = false;\n\n constructor(config: any) {\n switch (config.type) {\n case FieldType.Enum:\n return new SelectField(config);\n case FieldType.Autocomplete:\n return new AutocompleteField(config);\n case FieldType.Money:\n return new CurrencyField(config);\n case FieldType.Integer:\n return new NumberField(config);\n case FieldType.Double:\n return new DecimalField(config);\n case FieldType.Number:\n return new BignumberField(config);\n case FieldType.String:\n case FieldType.Binary:\n return new TextField(config);\n case FieldType.Password:\n return new PasswordField(config);\n case FieldType.Text:\n return new TextAreaField(config);\n case FieldType.TextIA:\n return new TextAreaIAField(config);\n case FieldType.Boolean:\n return config.representedBy === \"switch\" ? new BooleanSwitchField(config) : new BooleanField(config);\n case FieldType.Date:\n case FieldType.DateTime:\n case FieldType.LocalDateTime:\n case FieldType.Time:\n return new CalendarField(config);\n case FieldType.Lookup:\n return new LookupField(config);\n case FieldType.Radio:\n return new RadioButtonField(config);\n case FieldType.Checkbox:\n return new CheckboxField(config);\n case FieldType.Chips:\n return new ChipsField(config);\n case FieldType.CountryPhonePicker:\n return new CountryPhonePickerField(config);\n case FieldType.Blob:\n return new BlobField(config);\n case FieldType.Slider:\n return new SliderField(config);\n case FieldType.ProfilePicture:\n return new ProfilePictureField(config);\n case FieldType.Editor:\n return new EditorField(config);\n case FieldType.Button:\n return new ButtonField(config);\n case FieldType.Custom:\n const { CustomFieldClass, ...otherConfigs } = config;\n return new CustomFieldClass(otherConfigs);\n }\n }\n}\n\nexport class Option {\n label: string;\n value?: any;\n\n constructor(label: string, value: any) {\n this.label = label;\n this.value = value;\n }\n}\n","import { animate, animateChild, group, query, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n AfterViewInit,\n Component,\n EventEmitter,\n forwardRef,\n Injectable,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MaskConfig } from \"@seniorsistemas/ng2-currency-mask\";\nimport { Hotkey, HotkeysService } from \"angular2-hotkeys\";\nimport BigNumber from \"bignumber.js\";\nimport { SortMeta } from \"primeng/api\";\nimport { AutoComplete } from \"primeng/autocomplete\";\nimport { Dialog } from \"primeng/dialog\";\nimport { Table } from \"primeng/table\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { FieldType } from \"../..\";\nimport { BadgeComponent } from \"../../../badge/badge.component\";\nimport { CalendarLocaleOptions } from \"../../../locale/options/calendar\";\nimport { BignumberFieldConfig } from \"../../configurations/fields/bignumber-field\";\nimport { BooleanOptionsLabel } from \"../../configurations/fields/boolean-field\";\nimport { FormField } from \"../../configurations/form-field\";\nimport { DefaultFilter } from \"./models/default-filter\";\n\n@Injectable()\n@Component({\n selector: \"s-lookup\",\n templateUrl: \"./lookup.component.html\",\n styleUrls: [\"./lookup.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => LookupComponent),\n multi: true,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger(\"collapseContent\", [\n state(\n \"hidden\",\n style({\n width: \"10px\",\n padding: 0,\n })\n ),\n state(\n \"visible\",\n style({\n width: \"*\",\n })\n ),\n transition(\"visible <=> hidden\", [group([query(\"@childCollapseContent\", animateChild()), animate(\"{{transitionParams}}\")])]),\n ]),\n trigger(\"childCollapseContent\", [\n state(\n \":leave\",\n style({\n opacity: 0,\n })\n ),\n state(\n \":enter\",\n style({\n opacity: 1,\n })\n ),\n transition(\"* <=> *\", animate(\"{{transitionParams}}\")),\n ]),\n ],\n})\nexport class LookupComponent implements ControlValueAccessor, OnChanges, OnInit, AfterViewInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public formControlName: string;\n\n @Input()\n public id = `s-lookup-${LookupComponent.nextId++}`;\n\n @Input()\n public autocompleteForceSelection = true;\n\n @Input()\n public multiple: boolean;\n\n @Input()\n public dataKey: string;\n\n @Input()\n public required: boolean;\n\n @Input()\n public disabled = false;\n\n @Input()\n public showSearch = true;\n\n @Input()\n public lookupSuggestions: any[];\n\n @Input()\n public lookupDisplayField: string;\n\n @Input()\n public lookupDisplayFieldTooltip: boolean;\n\n @Input()\n public lookupEmptyMessage: string;\n\n @Input()\n public lookupAppendTo = \"body\";\n\n @Input()\n public searchEmptyDescription: string;\n\n @Input()\n public searchGridData: any[];\n\n @Input()\n public searchTotalRecords: number;\n\n @Input()\n public searchFields: FormField[] = [];\n\n @Input()\n public searchGridFields: FormField[];\n\n @Input()\n public multiSortMeta: SortMeta[];\n\n @Input()\n public placeholder: string;\n\n @Input()\n public sortableColumnsDisabled: string[];\n\n @Input()\n public lookupRowProps: string[];\n\n @Input()\n public defaultFilter: DefaultFilter[];\n\n @Input()\n public showAddOption = false;\n\n @Input()\n public showEditOption = false;\n\n @Input()\n public showRemoveOption = false;\n\n @Output()\n public onLookupRequest = new EventEmitter();\n\n @Output()\n public onSearchRequest = new EventEmitter();\n\n @Output()\n public onFocus = new EventEmitter();\n\n @Output()\n public onBlur = new EventEmitter();\n\n @Output()\n public onKeyUp = new EventEmitter();\n\n @Output()\n public onSelect = new EventEmitter();\n\n @Output()\n public onUnselect = new EventEmitter();\n\n @Output()\n public onClear = new EventEmitter();\n\n @Output()\n public onAdd = new EventEmitter();\n\n @Output()\n public onEdit = new EventEmitter<unknown>();\n\n @Output()\n public onRemove = new EventEmitter<unknown[]>();\n\n @Output()\n public onClearButtonClick = new EventEmitter<void>();\n\n @ViewChild(Table, { static: false })\n public table: Table;\n\n @ViewChild(Dialog, { static: false })\n public dialog: Dialog;\n\n @ViewChild(AutoComplete, { static: false })\n public autocomplete: AutoComplete;\n\n @Input()\n public searchTitle: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public searchEmptyTitle: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public searchTotalRecordsLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public filterTitle: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public filterLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public clearLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public cancelLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public selectLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public emptyFieldLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public recordLabel: string;\n\n /**\n * @deprecated Lookup can do this for you.\n */\n @Input()\n public recordsLabel: string;\n\n public value: any;\n public loading: boolean;\n public animating: boolean;\n public dialogVisible = false;\n public collapsed = false;\n public selected: any[] = [];\n public formGroupDialog: FormGroup;\n public transitionOptions = \"400ms cubic-bezier(0.86, 0, 0.07, 1)\";\n\n private onChange: Function;\n private onTouched: Function;\n private originalFormValues = {};\n private readonly ngUnsubscribe = new Subject();\n\n constructor(\n private readonly hotkeysService: HotkeysService,\n protected readonly translateService: TranslateService\n ) {}\n\n public ngOnInit() {\n if (!this.searchGridFields) {\n this.searchGridFields = this.searchFields\n .filter((item) => !item.visible || item.visible?.())\n .map((item) => new FormField({ ...item }));\n }\n\n this.searchFields = this.searchFields.map(\n (value: FormField) =>\n new FormField({\n ...value,\n size: { sm: 12, md: 12, lg: 12, xl: 12 },\n })\n );\n\n this.searchGridFields = this.searchGridFields\n .filter((gridField: FormField) => !gridField.visible || gridField.visible?.())\n .map((gridField: FormField) => {\n gridField[\"width\"] = this.getColWidth(gridField.label);\n\n const calendarOptions = new CalendarLocaleOptions({ ...gridField.calendarLocaleOptions });\n\n if (calendarOptions?.dateFormat) {\n switch (gridField.type) {\n case FieldType.Date:\n calendarOptions.dateFormat = this._convertToMomentDateFormat(calendarOptions.dateFormat);\n break;\n case FieldType.Time:\n calendarOptions.dateFormat = this._convertToMomentHourFormat(\n calendarOptions.hourFormat,\n calendarOptions.dateFormat\n );\n break;\n }\n gridField.calendarLocaleOptions = calendarOptions;\n }\n\n return gridField;\n });\n\n const formGroup = this.searchFields.reduce((result: any, field) => {\n result[field.name] = new FormControl(field.defaultValue);\n this.originalFormValues[field.name] = field.defaultValue;\n return result;\n }, {});\n\n this.formGroupDialog = new FormGroup(formGroup);\n\n this._subscribeEvents();\n }\n\n public printRecordTotalizer(): string {\n if (this.searchTotalRecordsLabel) {\n return this.searchTotalRecordsLabel;\n }\n\n const recordLabel = this.recordLabel\n ? `${this.searchTotalRecords} ${this.recordLabel}`\n : this.translateService.instant(\"platform.angular_components.total_record\", { count: this.searchTotalRecords });\n\n const recordsLabel = this.recordsLabel\n ? `${this.searchTotalRecords} ${this.recordsLabel}`\n : this.translateService.instant(\"platform.angular_components.total_records\", { count: this.searchTotalRecords });\n\n return this.searchTotalRecords === 1 ? recordLabel : recordsLabel;\n }\n\n private _convertToMomentHourFormat(hourFormat: string, format: string) {\n if (format === \"dd/mm/yy\") {\n // valor padrão para o format.\n return \"LTS\";\n }\n\n if (hourFormat === \"12\") {\n return format\n .replace(/\\bH\\b/, \"h\") // hour (12 hour time) (no leading zero)\n .replace(/\\bHH\\b/, \"hh\"); // hour (12 hour time)\n }\n\n if (hourFormat === \"24\") {\n return format\n .replace(/\\bh\\b/, \"H\") // hour (24 hour time) (no leading zero)\n .replace(/\\bhh\\b/, \"HH\"); // hour (24 hour time)\n }\n\n return format;\n }\n\n private _convertToMomentDateFormat(format: string): string {\n // A ordem dos replaces é importante.\n return format\n .replace(/\\bd\\b/, \"D\") // day of month (no leading zero)\n .replace(/\\bdd\\b/, \"DD\") // day of month\n .replace(/\\bo\\b/, \"DDD\") // day of the year (no leading zero)\n .replace(/\\boo\\b/, \"DDDD\") // day of the year\n .replace(/\\bM\\b/, \"MMM\") // month name short\n .replace(/\\bMM\\b/, \"MMMM\") // month name long\n .replace(/\\bm\\b/, \"M\") // month of year (no leading)\n .replace(/\\bmm\\b/, \"MM\") // month of year\n .replace(/\\by\\b/, \"YY\") // year (two digits)\n .replace(/\\byy\\b/, \"YYYY\"); // year (four digits)\n }\n\n public ngAfterViewInit() {\n this.autocomplete.onOverlayAnimationDone = (event) => {};\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (this.dialogVisible && changes.searchGridData) {\n this.loading = false;\n }\n\n this._setFocusFilter();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public getGridData() {\n return this.searchGridData;\n }\n\n public getLookupSuggestions() {\n return this.lookupSuggestions;\n }\n\n protected makeSearchRequestParams(event: any) {\n const filters = this.formGroupDialog.getRawValue();\n const params = { ...event, filterData: filters };\n const { multiSortMeta } = event;\n this.multiSortMeta = multiSortMeta || this.multiSortMeta;\n\n return params;\n }\n\n public lazyLoadGrid(event: any) {\n // Ao definir uma ordenação na tabela do lookup esse método é chamado 2 vezes https://github.com/primefaces/primeng/issues/5480\n const params = this.makeSearchRequestParams(event);\n this.onSearchRequest.next(params);\n }\n\n public onCompleteMethod(event: { originalEvent: InputEvent; query: string }): void {\n if (!this.autocompleteForceSelection) {\n this.onChange(this.value === \"\" ? null : this.value);\n }\n\n this.onLookupRequest.next(event.query);\n }\n\n public setDefaultFilters() {\n if (!this.defaultFilter) return;\n\n this.defaultFilter\n .filter(({ field }) => this.formGroupDialog.contains(field) && !this.formGroupDialog.get([field]).dirty)\n .forEach(({ value, field }) => {\n this.formGroupDialog.get([field]).patchValue(value instanceof Function ? value() : value);\n });\n }\n\n public showDialog() {\n this.setDefaultFilters();\n this.searchGridData = undefined;\n this.onTouched();\n this.hotkeysService.pause([...this.hotkeysService.hotkeys]);\n this.setHotkeys();\n\n let selected: any = [];\n if (this.multiple && this.value) {\n selected = selected.concat(this.value);\n } else if (this.value) {\n selected = [this.value];\n }\n this.selected = selected;\n\n this.loading = true;\n this.dialogVisible = true;\n }\n\n public hideDialog() {\n const { inputEL, multiInputEL } = this.autocomplete;\n this.dialogVisible = false;\n this.collapsed = false;\n this.hotkeysService.unpause([...this.hotkeysService.pausedHotkeys]);\n\n if (this.multiple) multiInputEL.nativeElement.focus();\n else inputEL.nativeElement.focus();\n }\n\n public search() {\n this.resetTable();\n this.collapsed = true;\n this.dialog.moveOnTop();\n }\n\n public clear() {\n this.formGroupDialog.reset(this.originalFormValues);\n this.resetTable();\n this.onClearButtonClick.emit();\n }\n\n protected resetTable() {\n this.table.reset();\n }\n\n public select() {\n if (!this.selected.length) return;\n\n const selected = this.selected && (this.multiple ? this.selected : this.selected[0]);\n this.value = selected;\n this.onSelect.next(selected);\n this.hideDialog();\n }\n\n public onSelectionChange(selected: any) {\n if (!selected) return;\n if (Array.isArray(selected)) this.selected = selected;\n else this.selected = [selected];\n }\n\n public registerOnChange(onChange: Function) {\n this.onChange = (value: any) => {\n this.writeValue(value);\n onChange(value);\n };\n }\n\n public registerOnTouched(onTouched: Function) {\n this.onTouched = onTouched;\n }\n\n public writeValue(value: any) {\n this.value = value;\n }\n\n public setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n }\n\n public getFieldValue(obj: any, path: string) {\n return path.split(\".\").reduce((result, prop) => (result[prop] === undefined ? \"\" : result[prop]), obj);\n }\n\n public getBadgeFromValue(\n value: unknown,\n options: {\n label: string;\n value: unknown;\n badge?: {\n type?: BadgeComponent[\"type\"];\n color?: BadgeComponent[\"color\"];\n iconClass?: BadgeComponent[\"iconClass\"];\n iconPosition?: BadgeComponent[\"iconPosition\"];\n };\n }[]\n ) {\n return options?.find((opt) => opt.value === value)?.badge;\n }\n\n public getLabelForValue(\n value: unknown,\n options: {\n label: string;\n value: unknown;\n badge?: {\n type?: BadgeComponent[\"type\"];\n color?: BadgeComponent[\"color\"];\n iconClass?: BadgeComponent[\"iconClass\"];\n iconPosition?: BadgeComponent[\"iconPosition\"];\n };\n }[]\n ) {\n if (!options) return value;\n\n const option = options.find((opt) => opt.value === value);\n return option ? option.label : value;\n }\n\n public isBooleanValue(obj: any, path: string) {\n const value = this.getFieldValue(obj, path);\n if (value === true || value === false) return true;\n else return false;\n }\n\n public getBooleanLabel(obj: any, path: string, optionsLabel: BooleanOptionsLabel) {\n const value = this.getFieldValue(obj, path);\n if (value === true) return optionsLabel.true;\n else if (value === false) return optionsLabel.false;\n else return this.emptyFieldLabel;\n }\n\n public isNumber(obj: any, path: string) {\n return !new BigNumber(this.getFieldValue(obj, path)).isNaN();\n }\n\n public setHotkeys() {\n const clearHotkey = this.newHotkey(\"alt+shift+l\", this.clear.bind(this));\n const findHotkey = this.newHotkey(\"alt+shift+f\", this.search.bind(this));\n const hideHotkey = this.newHotkey(\"alt+shift+c\", this.hideDialog.bind(this));\n const selectHotkey = this.newHotkey(\"alt+shift+s\", this.select.bind(this));\n\n const bindedHotkeys = [clearHotkey, findHotkey, hideHotkey, selectHotkey];\n bindedHotkeys.forEach((hotkey: Hotkey) => this.hotkeysService.add(hotkey));\n }\n\n private newHotkey(combo: string, fn: Function): Hotkey {\n return new Hotkey(combo, () => {\n fn();\n return false;\n }, [\"INPUT\", \"SELECT\", \"TEXTAREA\"]);\n }\n\n public filterToggle() {\n if (this.animating) return;\n\n this.animating = true;\n this.collapsed = !this.collapsed;\n }\n\n public onToggleDone() {\n this.animating = false;\n }\n\n /**\n * Calculate the table column size. The minimum value is 14.286em, which is equals to 200px duo to the current font size.\n * @param label Column name.\n */\n public getColWidth(label: string) {\n const size = label.length;\n if (size < 14.286) return `14.286em`;\n return `${size}em`;\n }\n\n public getScale(scale: any): number {\n return this.isFunction(scale) ? scale() : scale;\n }\n\n private isFunction(value: any): boolean {\n return value instanceof Function;\n }\n\n public getIntegerMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: 0,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: \"\",\n };\n }\n\n public getDoubleMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: this.getScale(col.scale),\n decimalSeparator: col.numberLocaleOptions?.decimalSeparator,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: \"\",\n };\n }\n\n public getMoneyMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: this.getScale(col.scale),\n decimalSeparator: col.numberLocaleOptions?.decimalSeparator,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: col.numberLocaleOptions?.currencySymbol,\n };\n }\n\n public getNumberMaskConfig(col: BignumberFieldConfig): MaskConfig {\n return {\n scale: this.getScale(col.scale),\n decimalSeparator: col.numberLocaleOptions?.decimalSeparator,\n thousandsSeparator: col.numberLocaleOptions?.thousandsSeparator,\n prefix: col.numberLocaleOptions?.currencySymbol,\n };\n }\n\n public onTableRowDoubleClick(rowData: any): void {\n this.selected = [rowData];\n this.select();\n }\n\n private _setFocusFilter() {\n if (this.dialogVisible && !this.collapsed) {\n const input = this.dialog?.contentViewChild?.nativeElement?.getElementsByTagName(\"input\")[0];\n\n if (input) {\n (input as HTMLInputElement).focus();\n }\n }\n }\n\n private _subscribeEvents(): void {\n this.onSearchRequest.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => (this.loading = true));\n\n this.onSelect.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.onChange(this.value));\n\n this.onUnselect.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => this.onChange(this.value));\n\n this.onClear.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n if (this.multiple) {\n return;\n }\n this.onChange(null);\n });\n\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.onTouched();\n });\n\n this.onBlur.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: Event) => {\n const target = event.target as HTMLInputElement;\n const currentValue = this.value && this.value[this.lookupDisplayField];\n const { value } = target;\n\n if (this.multiple || !currentValue || currentValue == value) return;\n\n const newValue = \"\";\n target.value = newValue;\n this.onChange(newValue);\n });\n }\n}\n","export enum DynamicType {\n Autocomplete = \"Autocomplete\",\n Binary = \"Binary\",\n Boolean = \"Boolean\",\n Chips = \"Chips\",\n Date = \"Date\",\n DateTime = \"DateTime\",\n LocalDateTime = \"LocalDateTime\",\n Double = \"Double\",\n Enum = \"Enum\",\n Fieldset = \"Fieldset\",\n Integer = \"Integer\",\n Lookup = \"Lookup\",\n Money = \"Money\",\n Radio = \"Radio\",\n Row = \"Row\",\n Section = \"Section\",\n String = \"String\",\n Text = \"Text\",\n Time = \"Time\",\n Number = \"Number\",\n Password = \"Password\",\n Slider = \"Slider\",\n}\n","import { isNullOrUndefined } from \"../../../utils\";\nimport { FormField } from \"../form-field\";\nimport { GridType } from \"../grid-type\";\nimport { Section } from \"../structure/section\";\n\nexport interface GridConfig {\n fields?: Array<FormField | Section>;\n type: GridType;\n visible?: () => boolean;\n}\n\nexport class Grid implements GridConfig {\n public fields: Array<FormField | Section>;\n public type: GridType;\n public visible?: () => boolean;\n\n constructor(config: GridConfig) {\n Object.assign(this, { ...config });\n if (isNullOrUndefined(config.visible)) {\n this.visible = () => true;\n }\n }\n}\n","import { FormField } from \"../form-field\";\nimport { GridType } from \"../grid-type\";\nimport { Grid, GridConfig } from \"./grid\";\n\nexport class Row extends Grid {\n public fields: FormField[];\n public type: GridType;\n\n constructor(config: GridConfig) {\n super(config);\n }\n}\n","import { FormField } from \"../form-field\";\nimport { Grid } from \"../grid/grid\";\nimport { StructureType } from \"../structure-type\";\n\nexport interface StructureConfig {\n header?: string;\n configs?: Grid[];\n type: StructureType;\n}\n\nexport abstract class Structure {\n public header?: string;\n public configs?: Grid[] | FormField[];\n public type: StructureType;\n public isFlex? = false;\n\n constructor(config: StructureConfig) {\n Object.assign(this, { ...config });\n }\n}\n","import { Structure, StructureConfig } from \"./structure\";\n\nexport interface FieldsetConfig extends StructureConfig {\n beforeToggle?: (event: any) => void;\n afterToggle?: (event: any) => void;\n}\n\nexport class Fieldset extends Structure {\n public beforeToggle?: (event: any) => void;\n public afterToggle?: (event: any) => void;\n\n constructor(config: FieldsetConfig) {\n super(config);\n Object.assign(this, { ...config });\n }\n}\n","import { FieldSize } from \"../field-size\";\nimport { Structure, StructureConfig } from \"./structure\";\n\nexport class Section extends Structure {\n /**\n * Define if the structure is a flex container.\n */\n public isFlex? = false;\n /**\n * Define the justify-content property.\n */\n public justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' = 'flex-start';\n /**\n * Define the align-items property.\n */\n public alignItems?: 'stretch' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'initial' | 'inherit' = 'flex-start';\n\n public visible?: () => boolean = () => true;\n\n public size?: FieldSize;\n protected gridClass?: string[];\n constructor(config: Section) {\n super(config as StructureConfig);\n this.isFlex = config.isFlex || false;\n this.justifyContent = config.justifyContent || 'flex-start';\n this.alignItems = config.alignItems || 'flex-start';\n\n if (config.visible) {\n this.visible = config.visible\n }\n\n this.size = new FieldSize(config.size || {});\n this.gridClass = Object.keys(this.size).map((key: keyof FieldSize) => `ui-${key}-${this.size[key]}`);\n }\n}\n","import { DynamicType } from \"./dynamic-type\";\nimport { AutocompleteField, AutocompleteFieldConfig } from \"./fields/autocomplete-field\";\nimport { BignumberField, BignumberFieldConfig } from \"./fields/bignumber-field\";\nimport { SliderField, SliderFieldConfig } from \"./fields/slider-field\";\nimport { BooleanField, BooleanFieldConfig } from \"./fields/boolean-field\";\nimport { BooleanSwitchField, BooleanSwitchFieldConfig } from \"./fields/boolean-switch-field\";\nimport { CalendarField, CalendarFieldConfig } from \"./fields/calendar-field\";\nimport { ChipsField, ChipsFieldConfig } from \"./fields/chips-field\";\nimport { CurrencyField } from \"./fields/currency-field\";\nimport { DecimalField, DecimalFieldConfig } from \"./fields/decimal-field\";\nimport { LookupField, LookupFieldConfig } from \"./fields/lookup-field\";\nimport { NumberField, NumberFieldConfig } from \"./fields/number-field\";\nimport { PasswordField, PasswordFieldConfig } from \"./fields/password-field\";\nimport { RadioButtonField } from \"./fields/radio-button-field\";\nimport { SelectField, SelectFieldConfig } from \"./fields/select-field\";\nimport { TextAreaField, TextAreaFieldConfig } from \"./fields/text-area-field\";\nimport { TextField, TextFieldConfig } from \"./fields/text-field\";\nimport { Row } from \"./grid/row\";\nimport { Fieldset, FieldsetConfig } from \"./structure/fieldset\";\nimport { Section } from \"./structure/section\";\nimport { StructureConfig } from \"./structure/structure\";\n\nexport class DynamicConfig {\n constructor(config: any) {\n const { type, representedBy } = config;\n switch (type) {\n case DynamicType.Autocomplete:\n return new AutocompleteField(config as AutocompleteFieldConfig);\n case DynamicType.Binary:\n case DynamicType.String:\n return new TextField(config as TextFieldConfig);\n case DynamicType.Password:\n return new PasswordField(config as PasswordFieldConfig);\n case DynamicType.Boolean:\n if (representedBy === \"switch\") {\n return new BooleanSwitchField(config as BooleanSwitchFieldConfig);\n }\n return new BooleanField(config as BooleanFieldConfig);\n case DynamicType.Chips:\n return new ChipsField(config as ChipsFieldConfig);\n case DynamicType.Date:\n case DynamicType.DateTime:\n case DynamicType.LocalDateTime:\n case DynamicType.Time:\n return new CalendarField(config as CalendarFieldConfig);\n case DynamicType.Double:\n return new DecimalField(config as DecimalFieldConfig);\n case DynamicType.Enum:\n return new SelectField(config as SelectFieldConfig);\n case DynamicType.Fieldset:\n return new Fieldset(config as FieldsetConfig);\n case DynamicType.Integer:\n return new NumberField(config as NumberFieldConfig);\n case DynamicType.Number:\n return new BignumberField(config as BignumberFieldConfig);\n case DynamicType.Lookup:\n return new LookupField(config as LookupFieldConfig);\n case DynamicType.Money:\n return new CurrencyField(config as DecimalFieldConfig);\n case DynamicType.Radio:\n return new RadioButtonField(config);\n case DynamicType.Row:\n return new Row(config);\n case DynamicType.Section:\n return new Section(config as StructureConfig);\n case DynamicType.Slider:\n return new SliderField(config as SliderFieldConfig);\n case DynamicType.Text:\n return new TextAreaField(config as TextAreaFieldConfig);\n }\n }\n}\n","export enum GridType {\n Row = \"Row\",\n}\n","export enum StructureType {\n Fieldset = \"Fieldset\",\n Section = \"Section\",\n}\n","import { Component, Input, ViewEncapsulation, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { DynamicConfig } from \"./configurations/dynamic-config\";\nimport { FormField } from \"./configurations/form-field\";\n\n@Component({\n selector: \"s-dynamic-form\",\n templateUrl: \"./dynamic-form.component.html\",\n styleUrls: [\"dynamic-form.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DynamicFormComponent {\n @Input()\n public id: string;\n @Input()\n public configs: DynamicConfig[];\n @Input()\n public fields: FormField[]; // @TODO deve-se remover em uma vesão de quebra. O default deve ser configs.\n @Input()\n public form: FormGroup;\n @Input()\n public errorMessages?: any = {};\n\n}\n","import { Directive, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { debounceTime, repeat, takeUntil } from \"rxjs/operators\";\n\n@Directive({\n selector: \"[sLongPress]\",\n})\nexport class LongPressDirective implements OnInit, OnDestroy {\n @Input()\n public sLongPressDelay = 500;\n\n @Output()\n public sLongPress = new EventEmitter<MouseEvent>();\n\n public mouseUp = new Subject<MouseEvent>();\n public mouseDown = new Subject<MouseEvent>();\n public ngUnsubscribe = new Subject();\n\n @HostListener(\"mouseup\", [\"$event\"])\n @HostListener(\"touchend\", [\"$event\"])\n public onMouseUp(event: MouseEvent) {\n this.mouseUp.next(event);\n }\n\n @HostListener(\"mousedown\", [\"$event\"])\n @HostListener(\"touchstart\", [\"$event\"])\n public onMouseDown(event: MouseEvent) {\n this.mouseDown.next(event);\n }\n\n public ngOnInit() {\n this.mouseDown\n .pipe(\n debounceTime(this.sLongPressDelay),\n takeUntil(this.mouseUp),\n repeat(),\n takeUntil(this.ngUnsubscribe)\n )\n .subscribe(event => this.sLongPress.emit(event));\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Output\n} from '@angular/core';\n\n@Directive({\n selector: '[sDoubleClick]'\n})\nexport class DoubleClickDirective {\n\n @Output() public onDoubleClick: EventEmitter<PointerEvent> = new EventEmitter();\n \n private _timeout: NodeJS.Timeout = null;\n private _DOUBLE_CLICK_DELAY = 500;\n\n @HostListener(\"click\", [\"$event\"])\n public onClick(event: PointerEvent): void {\n this.handleOnClickEvent(event);\n }\n\n private handleOnClickEvent(event: PointerEvent): void {\n if (this._timeout) {\n this.clearTimeout();\n this.onDoubleClick.emit(event);\n } else {\n this._timeout = setTimeout(() => this.clearTimeout(), this._DOUBLE_CLICK_DELAY)\n }\n \n }\n\n private clearTimeout(): void {\n clearTimeout(this._timeout);\n this._timeout = null;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LongPressDirective } from \"./long-press.directive\";\nimport { DoubleClickDirective } from \"./double-click.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n LongPressDirective,\n DoubleClickDirective\n ],\n exports: [\n LongPressDirective,\n DoubleClickDirective\n ],\n})\nexport class MouseEventsModule {}\n","import { Component, Input, Output, EventEmitter, HostBinding, OnDestroy } from \"@angular/core\"; // Adicionado HostBinding, OnDestroy\nimport { Toast } from \"./types/toast\";\n\n@Component({\n selector: \"s-toast\",\n templateUrl: \"./toast.component.html\",\n styleUrls: [\"./toast.component.scss\"],\n})\nexport class ToastComponent implements OnDestroy {\n @Input()\n public toast!: Toast;\n\n @Output()\n public dismiss = new EventEmitter<void>();\n\n @HostBinding(\"class.toast--leaving\")\n public isLeaving = false;\n\n private timer: ReturnType<typeof setTimeout> | null = null;\n\n public startDismissAnimation(): void {\n this.isLeaving = true;\n\n setTimeout(() => {\n this.dismiss.emit();\n }, 300);\n }\n\n public dismissToast(): void {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.startDismissAnimation();\n }\n\n public ngOnInit(): void {\n if (!this.toast.sticky && this.toast.duration) {\n this.timer = setTimeout(() => {\n this.startDismissAnimation();\n }, this.toast.duration);\n }\n }\n\n public ngOnDestroy(): void {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n }\n}\n","import { Injectable, ComponentRef, ApplicationRef, Injector, EmbeddedViewRef, ComponentFactoryResolver } from \"@angular/core\";\n\nimport { ToastComponent } from \"./toast.component\";\nimport { Toast } from \"./types/toast\";\nimport { first } from \"rxjs/operators\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ToastService {\n private activeToasts: ComponentRef<ToastComponent>[] = [];\n private globalToastHostElement: HTMLElement | null = null;\n\n constructor(\n private appRef: ApplicationRef,\n private injector: Injector,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {}\n\n private ensureGlobalToastHost(): void {\n if (!this.globalToastHostElement) {\n this.globalToastHostElement = document.createElement(\"div\");\n document.body.appendChild(this.globalToastHostElement);\n\n this.globalToastHostElement.style.display = \"flex\";\n this.globalToastHostElement.style.flexDirection = \"column\";\n this.globalToastHostElement.style.position = \"fixed\";\n this.globalToastHostElement.style.right = \"20px\";\n this.globalToastHostElement.style.top = \"20px\";\n this.globalToastHostElement.style.zIndex = \"99999\";\n this.globalToastHostElement.style.gap = \"10px\";\n }\n }\n\n public show(toast: Toast): void {\n this.ensureGlobalToastHost();\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(ToastComponent);\n const componentRef = componentFactory.create(this.injector);\n\n this.appRef.attachView(componentRef.hostView);\n\n if (!toast.sticky) {\n toast.duration = toast.duration ?? 10000;\n }\n\n componentRef.instance.toast = {\n closable: true,\n ...toast,\n };\n\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n this.globalToastHostElement.appendChild(domElem);\n domElem.style.display = \"flex\";\n domElem.style.justifyContent = \"center\";\n\n componentRef.instance.dismiss.pipe(first()).subscribe(() => {\n const index = this.activeToasts.indexOf(componentRef);\n\n if (index !== -1) {\n this.appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n this.activeToasts.splice(index, 1);\n }\n\n if (this.activeToasts.length === 0 && this.globalToastHostElement) {\n this.globalToastHostElement.remove();\n this.globalToastHostElement = null;\n }\n });\n\n this.activeToasts.push(componentRef);\n }\n}\n","import { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\n\nimport { Observable, throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\n\nimport { ToastService } from \"../../../toast/toast.service\";\nimport { IAssistInputData } from \"./models/iassist-input-data\";\nimport { IAssistResponse } from \"./models/iassist-response\";\n\n@Injectable()\nexport class IAssistService {\n constructor(\n private readonly http: HttpClient,\n private readonly _toastService: ToastService\n ) {}\n\n public askIA(context: string, data: IAssistInputData): Observable<IAssistResponse> {\n const prompt: string = data.prompt ? this._replacePlaceholder(context, data) : this._createPrompt(context, data);\n\n return this.http\n .post<IAssistResponse>(\"platform/iassist/api/latest/completions\", {\n prompt,\n provider: \"OPEN_AI\",\n parameters: {\n model: \"gpt-3.5-turbo\",\n max_tokens: 700,\n temperature: 1,\n },\n })\n .pipe(\n catchError((err: HttpErrorResponse) => {\n this._toastService.show({\n severity: \"error\",\n title: err.status ? String(err.status) : \"Error\",\n text: (err.error && err.error.message) || err.statusText || err.message || \"Error\",\n });\n return throwError(err);\n })\n );\n }\n\n private _replacePlaceholder(context: string, data: IAssistInputData): string {\n const values = { ...data, context };\n delete values.prompt;\n\n let result = data.prompt;\n for (const key in { ...values, context: context }) {\n const placeholder = new RegExp(`{{\\\\s*${key}\\\\s*}}`, \"g\");\n result = result.replace(placeholder, values[key]);\n }\n\n console.log(\"prompt\", result);\n return result;\n }\n\n private _createPrompt(context: string, data: IAssistInputData): string {\n return `Crie um texto genérico para preencher o campo de textarea.\n ${data.label ? `O campo tem o label ${data.label}.` : \"\"}\n ${data.id ? `O campo tem o id ${data.id}.` : \"\"}\n ${data.placeholder ? `Considere as instruções/sugestões do placeholder: ${data.placeholder}.` : \"\"}\n Baseie-se no contexto informado pelo usuário: '${context}'.\n O texto deve ser formal e conter informações pertinentes a um campo como este, como se um usuário real tivesse preenchido com as informações necessárias. \n O texto deve ser neutro com relação a generos, raças, religiões, etc.\n O texto deve ser impessoal e não deve conter informações pessoais do usuário.\n Não direcione o texto a ninguém, não use expressões como: caro, atenciosamente. gostaria, agradeço. O texto deve ser genérico.\n \n Exemplos de texto:\n Um campo de descrição de usuário: \"Usuário com 20 anos, estudante de engenharia, gosta de jogar futebol e assistir filmes.\"\n Outro exemplo de descrição de usuário: \"Usuário administrador, com acesso total ao sistema, responsável por gerenciar os usuários e os produtos.\"\n Um campo de descrição de um produto: \"O produto é um celular, com tela de 6 polegadas, 128GB de armazenamento, 4GB de memória RAM, câmera de 12MP e bateria de 4000mAh.\"\n Outro exemplo de descrição de produto: \"O produto é uma geladeira, com capacidade de 500 litros, 2 portas, cor branca, com freezer e gaveta de legumes.\"\n Outro exemplo de descrição de produto: \"O produto é uma camiseta, tamanho M, cor azul, 100% algodão, com estampa de um gato.\"\n \n Em caso de contexto incompleto crie um texto genérico, como se fosse um exemplo de preenchimento do campo.\n O texto é para um campo de textarea, então escreva um texto sucinto.\n Exiba apenas o texto do output`;\n }\n}\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\n@Component({\n selector: `s-empty-state`,\n templateUrl: `./empty-state.component.html`,\n styleUrls: [\"./empty-state.component.css\"],\n})\nexport class EmptyStateComponent {\n public static nextId = 0;\n\n @Input() id = `s-empty-state-${EmptyStateComponent.nextId++}`;\n @Input() iconClass = \"fa fa-inbox\";\n @Input() title: string;\n @Input() description?: string;\n @Input() showPrimaryAction = true;\n @Input() showSecondaryAction = true;\n @Input() primaryActionLabel?: string;\n @Input() secondaryActionLabel?: string;\n @Input() primaryModel?: MenuItem[] = [];\n\n @Output() primaryAction = new EventEmitter();\n @Output() secondaryAction = new EventEmitter();\n}\n","import { Component, Input } from \"@angular/core\";\nimport { CookieService } from \"ngx-cookie-service\";\n\n@Component({\n selector: `s-empty-state-go-back`,\n templateUrl: `./go-back.component.html`,\n styleUrls: [],\n})\nexport class EmptyStateGoBackComponent {\n public static nextId = 0;\n\n @Input() iconClass = \"fa fa-exclamation-triangle\";\n @Input() title: string;\n @Input() description?: string;\n @Input() primaryActionLabel: string;\n\n constructor(private cookieService: CookieService) {}\n\n public goBack() {\n const portalUrl = this.cookieService.get(\"com.senior.portal.url\");\n window.open(portalUrl, \"_top\");\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CookieService } from \"ngx-cookie-service\";\n\nimport { ButtonModule } from \"../button/index\";\nimport { EmptyStateComponent } from \"./empty-state.component\";\nimport { EmptyStateGoBackComponent } from \"./go-back/go-back.component\";\n\n@NgModule({\n imports: [CommonModule, ButtonModule],\n providers: [CookieService],\n declarations: [EmptyStateComponent, EmptyStateGoBackComponent],\n exports: [EmptyStateComponent, EmptyStateGoBackComponent ],\n})\nexport class EmptyStateModule {}\n","import { Injectable } from \"@angular/core\";\nimport { CustomHttpClient } from \"../code-editor/infra/utils\";\nimport {\n ListBlobMetadataRequest,\n ListBlobMetadataResponse\n} from \"./models/list-blob-metadata\"\n\n@Injectable()\nexport class FileUploadService {\n private BASE_URL_FIELD_CUSTOMIZATION = \"platform/field_customization\";\n private TOKEN = new AbortController();\n\n public async getMetadataCustomField<T>(request: ListBlobMetadataRequest): Promise<ListBlobMetadataResponse> {\n return CustomHttpClient.POST(\n `${this.BASE_URL_FIELD_CUSTOMIZATION}/queries/getFileMetadata`,\n request,\n { signal: this.TOKEN.signal }\n );\n }\n}\n","export enum ValidateErrors {\n MAX_FILE_SIZE = \"MAX_FILE_SIZE\",\n MAX_FILE_LIMIT = \"MAX_FILE_LIMIT\",\n MAX_COMBINED_FILE_SIZE = \"MAX_COMBINED_FILE_SIZE\",\n UNSUPPORTED_EXTENSION = \"UNSUPPORTED_EXTENSION\",\n}\n","export enum FileUploadPermissions {\n Add = \"add\",\n Read = \"read\",\n Remove = \"remove\",\n}\n\nexport const ALL_PERMISSIONS = [\n FileUploadPermissions.Add,\n FileUploadPermissions.Read,\n FileUploadPermissions.Remove,\n];","import {\n AfterContentInit,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Subject } from \"rxjs\";\nimport * as moment_ from \"moment\";\n\nimport { Breakpoints } from \"../utils\";\nimport { FileUploadService } from \"./file-upload.service\";\nimport { ListBlobMetadataResponse } from \"./models/list-blob-metadata\";\nimport { FileDto } from \"./models/file-dto\";\nimport { UploadError } from \"./models/uploadError\";\nimport { ValidateErrors } from \"./models/validate-errors\";\nimport { FileUploadPermissions, ALL_PERMISSIONS } from \"./models/file-upload-permissions\";\n\nconst moment = moment_;\n\n@Component({\n selector: \"s-file-upload\",\n templateUrl: \"./file-upload.component.html\",\n styleUrls: [\"./file-upload.component.scss\"],\n})\nexport class FileUploadComponent implements OnInit, OnDestroy, AfterContentInit {\n public static nextId = 0;\n\n public ADD_PERMISSION = FileUploadPermissions.Add;\n public READ_PERMISSION = FileUploadPermissions.Read;\n public REMOVE_PERMISSION = FileUploadPermissions.Remove;\n\n @ViewChild(\"inputUpload\", { static: false })\n private readonly inputUpload: ElementRef;\n\n @ViewChild(\"anchor\", { static: false })\n private readonly anchor: ElementRef;\n\n @Input()\n public id = `s-file-upload-${FileUploadComponent.nextId++}`;\n\n @Input()\n public chooseLabel: string;\n\n @Input()\n public removeLabel: string;\n\n @Input()\n public cancelLabel: string;\n\n @Input()\n public successTooltip: string;\n\n @Input()\n public multiple: boolean;\n\n @Input()\n public accept: string;\n\n @Input()\n public supportedExtensions: string[] = [];\n\n @Input()\n public ariaLabelFileName: string;\n\n @Input()\n public maxFileSize: number;\n\n @Input()\n public maxCombinedFileSize: number;\n\n @Input()\n public fileLimit: number;\n\n @Input()\n public ariaLabelProgress: string;\n\n @Input()\n public ariaLabelSuccess: string;\n\n @Input()\n public ariaLabelError: string;\n\n @Input()\n public ariaLabelRemove: string;\n\n @Input()\n public formGroup: FormControl;\n\n @Input()\n public disabled = false;\n\n @Input()\n public showFileUploadDate: boolean = false;\n\n @Input()\n public permissions: FileUploadPermissions[] = ALL_PERMISSIONS;\n\n @Input()\n public set files(files: FileDto[]) {\n if (this.showFileUploadDate && files[0]?.objectId) {\n this.getUploadDate(files);\n }\n this._files = files.map(file => {\n if (this.isImage(file)) {\n file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(file));\n }\n return file;\n });\n }\n\n @Output()\n public uploadHandler: EventEmitter<{ files: FileDto[] }> = new EventEmitter();\n\n @Output()\n public removeFile: EventEmitter<{ file: File }> = new EventEmitter();\n\n @Output()\n public cancelUpload: EventEmitter<number> = new EventEmitter();\n\n @Output()\n public downloadFile: EventEmitter<{ index: number; anchor: ElementRef }> = new EventEmitter();\n\n @Output()\n public validateErrors: EventEmitter<UploadError> = new EventEmitter();\n\n private _files: FileDto[] = [];\n private readonly ngUsubscribe: Subject<void> = new Subject();\n public isSmallDevice: boolean;\n public inputValue = \"\";\n public modifiedDate: string;\n\n constructor(private readonly sanitizer: DomSanitizer,\n private readonly fileUploadService: FileUploadService,\n private readonly translate: TranslateService) { }\n\n public ngOnInit(): void {\n this.supportedExtensions = this.supportedExtensions\n .map(extension => extension.replace(\".\", \"\").toLowerCase());\n }\n\n public ngOnDestroy() {\n this.ngUsubscribe.next();\n this.ngUsubscribe.complete();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n @HostListener(\"window:resize\")\n public onResize() {\n this.update();\n }\n\n public onFileSelect(files: FileDto[]): void {\n const newFiles: FileDto[] = [];\n\n if (!this.multiple) {\n this.files = [];\n }\n\n if (this.isFileLimitExceeded(files)) {\n this.validateErrors.emit({\n files,\n validation: ValidateErrors.MAX_FILE_LIMIT,\n });\n this.clearFileInput();\n return;\n }\n\n if (this.isFileCombinedSizeExceeded(files)) {\n this.validateErrors.emit({\n files: files,\n validation: ValidateErrors.MAX_COMBINED_FILE_SIZE,\n });\n this.clearFileInput();\n return;\n }\n\n for (const file of files) {\n if (this.isUnsupportedFileExtension(file)) {\n this.validateErrors.emit({\n files: [file],\n validation: ValidateErrors.UNSUPPORTED_EXTENSION,\n });\n continue;\n }\n\n if (this.isFileSizeExceeded(file)) {\n this.validateErrors.emit({\n files: [file],\n validation: ValidateErrors.MAX_FILE_SIZE,\n });\n continue;\n }\n\n newFiles.push(file);\n }\n\n if (newFiles.length) {\n this.files = this.files.concat(newFiles);\n this.uploadHandler.emit({\n files: newFiles,\n });\n }\n\n this.clearFileInput();\n }\n\n public onRemoveFile(file: FileDto): void {\n const fileIndex = this.files.indexOf(file);\n const removedFiles = this.files.splice(fileIndex, 1);\n\n if (removedFiles.length) {\n this.removeFile.emit({ file });\n }\n }\n\n public onCancelUpload(index: number) {\n const removedFiles = this.files.splice(index, 1);\n\n if (removedFiles.length) {\n this.cancelUpload.emit(index);\n }\n\n this.clearFileInput();\n }\n\n public onDowloadFile(index: number) {\n this.downloadFile.emit({\n index,\n anchor: this.anchor,\n });\n }\n\n public get files(): FileDto[] {\n return this._files;\n }\n\n private update() {\n const windowWidth = window.innerWidth;\n this.isSmallDevice = windowWidth <= Breakpoints.SM_MAX;\n }\n\n private isImage(file: File): boolean {\n return /^image\\//.test(file.type);\n }\n\n private isFileLimitExceeded(files: FileDto[]) {\n if (!this.fileLimit) {\n return false;\n }\n return this.files.length + files.length > this.fileLimit;\n }\n\n private isFileCombinedSizeExceeded(files: File[]): boolean {\n if (!this.maxCombinedFileSize) {\n return false;\n }\n\n const filesList = [...files, ...this.files];\n\n const combinedSize = filesList.reduce((combinedSize, file) => combinedSize + file.size, 0);\n\n return combinedSize > this.maxCombinedFileSize;\n }\n\n private isFileSizeExceeded(file: File): boolean {\n if (!this.maxFileSize) {\n return false;\n }\n return file.size > this.maxFileSize;\n }\n\n private isUnsupportedFileExtension(file: File) {\n if (this.supportedExtensions?.length) {\n const extension = file.name.split(\".\").pop().toLowerCase();\n return !this.supportedExtensions.includes(extension);\n }\n return false;\n }\n\n private clearFileInput() {\n this.inputUpload.nativeElement.value = null;\n }\n\n private getUploadDate(blobFile: FileDto[]): void {\n if (!blobFile) {\n return;\n }\n\n this.fileUploadService.getMetadataCustomField({ objectId: blobFile[0].objectId })\n .then(metadata => this.setModifiedDate(metadata));\n }\n\n private setModifiedDate(metadata: ListBlobMetadataResponse): void {\n const hour = moment(metadata.modified).format(\"HH\");\n const minutes = moment(metadata.modified).format(\"mm\");\n const day = moment(metadata.modified).format(\"DD\");\n const month = moment(metadata.modified).format(\"MM\");\n const fullYear = moment(metadata.modified).format(\"YYYY\");\n\n this.modifiedDate = this.translate.instant(\"platform.angular_components.date_modified_custom_blob\", { hour, minutes, day, month, fullYear });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { ProgressBarModule } from \"primeng/progressbar\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { FileUploadService } from \"./file-upload.service\";\nimport { FileUploadComponent } from \"./file-upload.component\";\n\n@NgModule({\n declarations: [FileUploadComponent],\n imports: [\n CommonModule,\n ButtonModule,\n TooltipModule,\n ProgressBarModule,\n TranslateModule,\n ],\n providers: [FileUploadService],\n exports: [FileUploadComponent],\n})\nexport class FileUploadModule {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n templateUrl: \"./iassist-icon.component.html\",\n})\nexport class IAssistIconComponent {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n templateUrl: \"./senior-icon.component.html\",\n})\nexport class SeniorIconComponent {}\n","export enum SVGFactoryIcons {\n IAssist = \"iassist\",\n Senior = \"senior\",\n}","import { Directive, ViewContainerRef, ComponentFactoryResolver, Input, ChangeDetectorRef, AfterViewInit } from \"@angular/core\";\n\nimport { IAssistIconComponent } from \"./components/iassist-icon/iassist-icon.component\";\nimport { SeniorIconComponent } from \"./components/senior-icon/senior-icon.component\";\nimport { SVGFactoryIcons } from \"./components/svg-factory-icons\";\n\n@Directive({\n selector: \"[sSVGFactory]\",\n})\nexport class SVGFactoryDirective implements AfterViewInit {\n @Input(\"sSVGFactory\")\n public set sSVGFactory(icon: SVGFactoryIcons) {\n this._iconClass = this._getIconClass(icon);\n }\n\n private _iconClass = this._getIconClass(SVGFactoryIcons.Senior);\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private cdr: ChangeDetectorRef,\n ) {}\n\n public ngAfterViewInit() {\n this._createComponent();\n }\n\n private _createComponent() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(this._iconClass);\n this.viewContainerRef.clear();\n this.viewContainerRef.createComponent(factory);\n this.cdr.detectChanges();\n }\n\n private _getIconClass(icon: SVGFactoryIcons) {\n switch (icon) {\n case SVGFactoryIcons.IAssist:\n return IAssistIconComponent;\n case SVGFactoryIcons.Senior:\n default:\n return SeniorIconComponent;\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SVGFactoryDirective } from \"./svg-factory.directive\";\nimport { IAssistIconComponent } from \"./components/iassist-icon/iassist-icon.component\";\nimport { SeniorIconComponent } from \"./components/senior-icon/senior-icon.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n SVGFactoryDirective,\n IAssistIconComponent,\n SeniorIconComponent,\n ],\n exports: [SVGFactoryDirective],\n})\nexport class SVGFactoryModule {}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-dots-indicator\",\n templateUrl: \"./dots-indicator.component.html\",\n styleUrls: [\"./dots-indicator.component.scss\"],\n})\nexport class DotsIndicatorComponent {}","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-logo-indicator\",\n templateUrl: \"./logo-indicator.component.html\",\n styleUrls: [\"./logo-indicator.component.scss\"],\n})\nexport class LoadingIndicatorComponent {}\n","export enum LoadingStateIndicators {\n Dots = \"dots\",\n Logo = \"logo\",\n}","import { Component, Input, OnDestroy, TemplateRef } from \"@angular/core\";\n\nimport { LoadingStateIndicators } from \"./components/loading-state-indicators\";\n\n@Component({\n selector: \"s-loading-state\",\n templateUrl: \"./loading-state.component.html\",\n styleUrls: [\"./loading-state.component.scss\"],\n})\nexport class LoadingStateComponent implements OnDestroy {\n public static nextId = 0;\n \n @Input()\n public indicator: LoadingStateIndicators = LoadingStateIndicators.Dots;\n\n @Input()\n public id = `s-loading-state-${LoadingStateComponent.nextId++}`;\n\n @Input()\n public blockWindow: boolean;\n\n @Input()\n public set loading(loading: boolean) {\n this._loading = loading;\n loading ? this.block() : this.unblock(); \n }\n\n public get loading() {\n return this._loading;\n }\n\n public contents: TemplateRef<any>;\n public blocking: boolean;\n\n private _loading: boolean;\n private BLOCK_TIMEOUT_VALUE = 300;\n private UNBLOCK_TIMEOUT_VALUE = 200;\n private blockTimeoutId: any;\n private unblockTimeoutId: any;\n\n public block(): void {\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n this.unblockTimeoutId = undefined;\n }\n\n if (!this.blockTimeoutId) {\n this.blockTimeoutId = setTimeout(() => {\n this.blocking = true;\n this.blockTimeoutId = undefined;\n }, this.BLOCK_TIMEOUT_VALUE);\n }\n }\n\n public unblock(): void {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n this.blockTimeoutId = undefined;\n }\n\n if (!this.unblockTimeoutId) {\n this.unblockTimeoutId = setTimeout(() => {\n this.blocking = false;\n this.unblockTimeoutId = undefined;\n }, this.UNBLOCK_TIMEOUT_VALUE);\n }\n }\n\n public ngOnDestroy(): void {\n if (this.blockTimeoutId) {\n clearTimeout(this.blockTimeoutId);\n }\n\n if (this.unblockTimeoutId) {\n clearTimeout(this.unblockTimeoutId);\n }\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n Input,\n OnDestroy,\n TemplateRef,\n ViewContainerRef,\n} from \"@angular/core\";\n\nimport { LoadingStateComponent } from \"./loading-state.component\";\nimport { LoadingStateIndicators } from \"./components/loading-state-indicators\";\n\n@Directive({\n selector: \"[sLoadingState]\",\n})\nexport class LoadingStateDirective implements AfterViewInit, OnDestroy {\n @Input(\"sLoadingState\")\n public set sLoadingState(value: boolean | { loading: boolean; indicator?: LoadingStateIndicators }) {\n if (typeof value === \"boolean\") {\n this._loading = value;\n this.indicator = LoadingStateIndicators.Dots;\n } else if (typeof value === \"object\") {\n this._loading = value.loading;\n this.indicator = value.indicator || LoadingStateIndicators.Dots;\n }\n\n if (this.loaderComponent) {\n this.loaderComponent.instance.loading = this._loading;\n this.loaderComponent.instance.indicator = this.indicator;\n }\n }\n\n private _loading = false;\n private indicator = LoadingStateIndicators.Dots;\n private loaderComponent: ComponentRef<LoadingStateComponent>;\n\n constructor(\n private target: ViewContainerRef,\n private template: TemplateRef<any>,\n private componentFactoryResolver: ComponentFactoryResolver,\n private cdr: ChangeDetectorRef\n ) {}\n\n public ngAfterViewInit() {\n this.createComponent();\n }\n\n private createComponent() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(LoadingStateComponent);\n this.loaderComponent = this.target.createComponent(factory);\n this.loaderComponent.instance.contents = this.template;\n this.loaderComponent.instance.loading = this._loading;\n this.loaderComponent.instance.indicator = this.indicator;\n this.cdr.detectChanges();\n }\n\n public ngOnDestroy() {\n if (this.loaderComponent) {\n this.loaderComponent.destroy();\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { SVGFactoryModule } from \"../../utils/svg-factory/svg-factory.module\";\nimport { DotsIndicatorComponent } from \"./components/dots-indicator/dots-indicator.components\";\nimport { LoadingIndicatorComponent } from \"./components/logo-indicator/logo-indicator.component\";\nimport { LoadingStateComponent } from \"./loading-state.component\";\nimport { LoadingStateDirective } from \"./loading-state.directive\";\n\n@NgModule({\n imports: [\n CommonModule,\n SVGFactoryModule,\n ],\n declarations: [\n LoadingStateComponent,\n LoadingStateDirective,\n DotsIndicatorComponent,\n LoadingIndicatorComponent,\n ],\n exports: [\n LoadingStateComponent,\n LoadingStateDirective,\n ],\n entryComponents: [LoadingStateComponent],\n})\nexport class LoadingStateModule {}\n","import { Directive, forwardRef, Input, OnInit } from \"@angular/core\";\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator } from \"@angular/forms\";\nimport { LocaleService } from \"../locale/locale.service\";\nimport { first } from \"rxjs/operators\";\n\n@Directive({\n selector: \"input[sLocalizedNumberInput]\",\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => LocalizedNumberInputDirective),\n multi: true,\n },\n ],\n})\nexport class LocalizedNumberInputDirective implements OnInit, Validator {\n @Input()\n public decimalSeparator: string;\n @Input()\n public thousandsSeparator: string;\n @Input()\n public precision = 2;\n\n private numberRegex: string;\n\n constructor(private readonly localeService: LocaleService) {}\n\n ngOnInit() {\n // Gera a expressão regular para validar números de acordo com os separadores decimais e de milhares.\n // Exemplo: /^(\\+?)(\\-?)([0-9]{0,3})*((\\,[0-9]{3,3})|((\\,[0-9]{3,3})+(\\,[0-9]{3,3}))|((\\,[0-9]{3,3})+(\\.[0-9]{1,10})))?$/g\n // tslint:disable-next-line: max-line-length\n this.numberRegex = `^((\\\\+?)|(-?))([0-9]{1,3})+((\\\\${this.thousandsSeparator}[0-9]{3,3})|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.thousandsSeparator}[0-9]{3,3}))|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.decimalSeparator}[0-9]{1,2}))|(\\\\${this.decimalSeparator}[0-9]{1,${this.precision}}))?$`;\n\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe(() => {\n this.decimalSeparator = this.decimalSeparator ?? this.localeService.getDecimalSeparator();\n this.thousandsSeparator = this.thousandsSeparator ?? this.localeService.getGroupingSeparator();\n\n this.numberRegex = `^((\\\\+?)|(-?))([0-9]{1,3})+((\\\\${this.thousandsSeparator}[0-9]{3,3})|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.thousandsSeparator}[0-9]{3,3}))|((\\\\${this.thousandsSeparator}[0-9]{3,3})+(\\\\${this.decimalSeparator}[0-9]{1,2}))|(\\\\${this.decimalSeparator}[0-9]{1,${this.precision}}))?$`;\n });\n }\n\n validate(control: AbstractControl): ValidationErrors {\n if (control.value && !String(control.value).match(new RegExp(this.numberRegex, \"g\"))) return { invalidNumber: true };\n return null;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { LocalizedNumberInputDirective } from \"./localized-number-input.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [LocalizedNumberInputDirective],\n exports: [LocalizedNumberInputDirective],\n})\nexport class LocalizedNumberInputModule {}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"sMaskFormatter\",\n})\nexport class MaskFormatterPipe implements PipeTransform {\n private defs = {\n \"9\": \"[0-9]\",\n a: \"[A-Za-z]\",\n \"*\": \"[A-Za-z]|[0-9]\",\n };\n\n transform(value: string, maskFormat: string): any {\n const buffer = [];\n let opcionalPos;\n let pos = 0;\n const maskTokens = maskFormat.split(\"\");\n const symbolsPosAfterOpcional = [];\n const hasOpcional = maskFormat.includes(\"?\");\n\n for (let i = 0; i < maskTokens.length; i++) {\n const token = maskTokens[i];\n\n if (token != \"?\") {\n if (this.defs[token]) {\n const tokenRegex = this.defs[token];\n const charAtPos = value.charAt(pos);\n const isValidChar = new RegExp(tokenRegex).test(charAtPos);\n if (isValidChar) {\n if (pos < maskTokens.length) {\n buffer.push(value.charAt(pos));\n pos++;\n }\n } else {\n throw new Error(\"Value doesn't match mask format\");\n }\n } else {\n buffer.push(token);\n if (hasOpcional && i > opcionalPos) {\n symbolsPosAfterOpcional.push(i);\n }\n }\n } else {\n opcionalPos = i;\n }\n }\n\n if (buffer[buffer.length - 1] !== value.charAt(value.length - 1) && symbolsPosAfterOpcional.length) {\n let formattedValue = buffer.join(\"\");\n let beforeSymbol;\n let symbol;\n let firstAfterSymbol;\n let endOfString;\n\n for (let i = 0; i < symbolsPosAfterOpcional.length; i++) {\n const symbolPos = symbolsPosAfterOpcional[i];\n beforeSymbol = formattedValue.substr(0, symbolPos - 1);\n symbol = formattedValue.substr(symbolPos - 1, 1);\n firstAfterSymbol = formattedValue.substr(symbolPos, 1);\n endOfString = formattedValue.substr(symbolPos + 1);\n\n formattedValue = `${beforeSymbol}${firstAfterSymbol}${symbol}${endOfString}`;\n }\n return `${formattedValue}${value.substr(value.length - symbolsPosAfterOpcional.length)}`;\n }\n\n return buffer.join(\"\");\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { MaskFormatterPipe } from \"./mask-formatter.pipe\";\n\n@NgModule({\n exports: [MaskFormatterPipe],\n declarations: [MaskFormatterPipe],\n})\nexport class MaskFormatterModule {}\n","export enum PasswordStrengths {\n VeryWeak = \"Very_weak\",\n Weak = \"weak\",\n Medium = \"medium\",\n Strong = \"strong\",\n}","export enum PasswordStrengthPositions {\n Top = \"top\",\n Right = \"right\",\n Left = \"left\",\n}","import { Component, Input, OnInit } from \"@angular/core\";\n\nimport { PasswordStrengths, PasswordStrengthPositions } from \"./models/index\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\n@Component({\n templateUrl: \"./password-strength.component.html\",\n styleUrls: [\"./password-strength.component.scss\"],\n})\nexport class PasswordStrengthComponent implements OnInit {\n @Input()\n public weakTitle: string;\n\n @Input()\n public mediumTitle: string;\n\n @Input()\n public strongTitle: string;\n\n @Input()\n public description: string;\n\n public title: string;\n public position = PasswordStrengthPositions.Right;\n public left = 0;\n public top = 0;\n public visible = false;\n\n constructor(private readonly translate: TranslateService) {}\n\n public ngOnInit(): void {\n this.title = this.weakTitle;\n }\n\n public setPasswordStrengthPosition() {\n const passwordStrength = document.querySelector(\".password-strength\");\n\n switch (this.position) {\n case PasswordStrengthPositions.Top:\n passwordStrength.classList.add(\"password-strength--top\");\n break;\n case PasswordStrengthPositions.Right:\n passwordStrength.classList.add(\"password-strength--right\");\n break;\n case PasswordStrengthPositions.Left:\n passwordStrength.classList.add(\"password-strength--left\");\n break;\n }\n }\n\n public updateIndicators(passwordStrength: PasswordStrengths) {\n const strengthIndicator1 = document.querySelector(\"#strength-indicator-1\");\n const strengthIndicator2 = document.querySelector(\"#strength-indicator-2\");\n const strengthIndicator3 = document.querySelector(\"#strength-indicator-3\");\n\n const onIndicators = [];\n const indicators = [\n strengthIndicator1,\n strengthIndicator2,\n strengthIndicator3,\n ];\n\n let strengthClass: string;\n\n switch (passwordStrength) {\n case PasswordStrengths.VeryWeak:\n this.title = this.weakTitle ?? this.translate.instant(\"platform.angular_components.weak\");\n break;\n case PasswordStrengths.Weak:\n this.title = this.weakTitle ?? this.translate.instant(\"platform.angular_components.weak\");\n strengthClass = \"strength-indicator--weak\";\n onIndicators.push(strengthIndicator1);\n break;\n case PasswordStrengths.Medium:\n this.title = this.mediumTitle ?? this.translate.instant(\"platform.angular_components.medium\");\n strengthClass = \"strength-indicator--medium\";\n onIndicators.push(strengthIndicator1);\n onIndicators.push(strengthIndicator2);\n break;\n case PasswordStrengths.Strong:\n this.title = this.strongTitle ?? this.translate.instant(\"platform.angular_components.strong\");\n strengthClass = \"strength-indicator--strong\";\n onIndicators.push(strengthIndicator1);\n onIndicators.push(strengthIndicator2);\n onIndicators.push(strengthIndicator3);\n break;\n }\n\n indicators.forEach(indicator => {\n indicator.classList.remove(\n \"strength-indicator--weak\",\n \"strength-indicator--medium\",\n \"strength-indicator--strong\",\n );\n });\n\n onIndicators.forEach(indicator => {\n indicator.classList.add(strengthClass);\n });\n }\n}","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostListener,\n Injector,\n Input,\n OnInit,\n} from \"@angular/core\";\n\nimport { PasswordStrengthPositions, PasswordStrengths } from \"./models/index\";\nimport { PasswordStrengthComponent } from \"./password-strength.component\";\n\n@Directive({\n selector: \"[sPasswordStrength]\",\n})\nexport class PasswordStrengthDirective implements OnInit {\n @Input(\"sPasswordStrength\")\n public enabled = true;\n\n @Input(\"psValidation\")\n public validation: (content: string) => PasswordStrengths;\n\n @Input(\"psPosition\")\n public position = PasswordStrengthPositions.Right;\n\n @Input(\"psWeakTitle\")\n public weakTitle: string;\n\n @Input(\"psMediumTitle\")\n public mediumTitle: string;\n\n @Input(\"psStrongTitle\")\n public strongTitle: string;\n\n @Input(\"psDescription\")\n public description: string;\n\n private componentRef: ComponentRef<any> = null;\n\n constructor(\n private elementRef: ElementRef,\n private appRef: ApplicationRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n ) { }\n\n public ngOnInit() {\n this.validateProperties();\n }\n\n @HostListener(\"keyup\")\n @HostListener(\"focus\")\n public onFocus(): void {\n const content = this.elementRef.nativeElement.value ?? \"\";\n \n if (content) {\n this.createPasswordStrength();\n this.componentRef?.instance.updateIndicators(this.validation(content));\n } else {\n this.componentRef?.instance.updateIndicators(PasswordStrengths.VeryWeak);\n }\n }\n\n @HostListener(\"blur\")\n public onBlur(): void {\n this.destroyPasswordStrength();\n }\n\n private createPasswordStrength() {\n if (this.enabled && this.componentRef === null) {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(PasswordStrengthComponent);\n this.componentRef = componentFactory.create(this.injector);\n this.appRef.attachView(this.componentRef.hostView);\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n this.setPasswordStrengthComponentProperties();\n\n this.showPasswordStrength();\n }\n }\n\n private showPasswordStrength() {\n if (this.componentRef !== null) {\n this.componentRef.instance.visible = true;\n }\n }\n\n private setPasswordStrengthComponentProperties() {\n if (this.componentRef != null) {\n this.componentRef.instance.position = this.position;\n this.componentRef.instance.weakTitle = this.weakTitle;\n this.componentRef.instance.mediumTitle = this.mediumTitle;\n this.componentRef.instance.strongTitle = this.strongTitle;\n this.componentRef.instance.description = this.description;\n\n const { top, right, bottom, left } = this.elementRef.nativeElement.getBoundingClientRect();\n\n const margin = 20;\n const elementRefHeight = bottom - top;\n const elementRefWidth = right - left;\n const safeSpace = 150;\n\n let positioned = false;\n const invalidOptions: PasswordStrengthPositions[] = [];\n\n while (!positioned) {\n if (invalidOptions.includes(PasswordStrengthPositions.Top)\n && invalidOptions.includes(PasswordStrengthPositions.Right)\n && invalidOptions.includes(PasswordStrengthPositions.Left)) {\n this.destroyPasswordStrength();\n throw new Error(\"No space to show password strength\");\n }\n\n switch (this.position) {\n case PasswordStrengthPositions.Top: {\n const topShift = top;\n const rightShift = document.body.clientWidth - right;\n const leftShift = left;\n\n if (topShift <= elementRefHeight + safeSpace || rightShift < 50 || leftShift < 50) {\n this.position = PasswordStrengthPositions.Right;\n invalidOptions.push(PasswordStrengthPositions.Top);\n break;\n }\n\n this.componentRef.instance.top = Math.round(top - margin);\n this.componentRef.instance.left = Math.round(elementRefWidth / 2 + left);\n positioned = true;\n break;\n }\n case PasswordStrengthPositions.Right: {\n const rightShift = document.body.clientWidth - right;\n\n if (rightShift <= elementRefWidth + safeSpace) {\n this.position = PasswordStrengthPositions.Left;\n invalidOptions.push(PasswordStrengthPositions.Right);\n break;\n }\n\n this.componentRef.instance.top = Math.round(top + elementRefHeight / 2);\n this.componentRef.instance.left = Math.round(right + margin);\n positioned = true;\n break;\n }\n case PasswordStrengthPositions.Left: {\n const leftShift = left;\n\n if (leftShift <= elementRefWidth + safeSpace) {\n this.position = PasswordStrengthPositions.Top;\n invalidOptions.push(PasswordStrengthPositions.Left);\n break;\n }\n\n this.componentRef.instance.top = Math.round(top + elementRefHeight / 2);\n this.componentRef.instance.left = Math.round(left - margin);\n positioned = true;\n break;\n }\n default: {\n break;\n }\n }\n\n this.componentRef.instance.position = this.position;\n }\n }\n }\n\n private validateProperties() {\n this.validation = this.validation || this.defaultValidator;\n }\n\n private destroyPasswordStrength(): void {\n if (this.componentRef !== null) {\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }\n\n private defaultValidator(content: string): PasswordStrengths {\n let points = 0;\n\n const regExpValidations = [\n new RegExp(\"(?=.*\\\\d)\"), // number\n new RegExp(\"(?=.*[a-z])\"), // lowercase\n new RegExp(\"(?=.*[A-Z])\"), // uppercase\n new RegExp(\"(?=.*[!@#$%&*.\\\\-=+^~])\"), // special character\n ];\n\n if (content.length >= 6) {\n points++;\n }\n\n regExpValidations.forEach(validation => {\n if (validation.test(content)) {\n points++;\n }\n });\n\n if (points < 1) {\n return PasswordStrengths.VeryWeak;\n } else if (points < 4) {\n return PasswordStrengths.Weak;\n } else if (points < 5) {\n return PasswordStrengths.Medium;\n } else {\n return PasswordStrengths.Strong;\n }\n }\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { PasswordStrengthDirective } from \"./password-strength.directive\";\nimport { PasswordStrengthComponent } from \"./password-strength.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n PasswordStrengthComponent,\n PasswordStrengthDirective,\n ],\n exports: [PasswordStrengthDirective],\n})\nexport class PasswordStrengthModule { }\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { Table, TableService } from \"primeng/table\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: \"s-table-header-checkbox\",\n template: `\n <div class=\"ui-chkbox ui-widget\" (click)=\"onClick()\">\n <div class=\"ui-helper-hidden-accessible\">\n <input type=\"checkbox\" [checked]=\"checked\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [disabled]=\"isDisabled()\">\n </div>\n <div [ngClass]=\"{'ui-chkbox-box ui-widget ui-state-default':true,\n 'ui-state-active':checked, 'ui-state-disabled': isDisabled(), 'ui-state-focus': hasFocus}\">\n <span [id]=\"id\" class=\"ui-chkbox-icon ui-clickable\" [ngClass]=\"{'pi pi-check':checked}\"></span>\n </div>\n </div>\n `,\n})\nexport class TableHeaderCheckboxComponent implements OnInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public id = `s-table-header-checkbox-${TableHeaderCheckboxComponent.nextId++}`;\n @Input()\n public disabled: boolean;\n @Input()\n public rowProps: string[];\n @Input()\n public useAllObject: boolean;\n\n public checked: boolean;\n public hasFocus: boolean;\n\n private ngUnsubscribe = new Subject();\n\n constructor(public table: Table, public tableService: TableService) {\n this.table.tableService.valueSource$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n\n this.table.tableService.selectionSource$.pipe(takeUntil(this.ngUnsubscribe)).subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n }\n\n public ngOnInit() {\n this.checked = this.updateCheckedState();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n }\n\n public onFocus() {\n this.hasFocus = true;\n }\n\n public onBlur() {\n this.hasFocus = false;\n }\n\n isDisabled() {\n return this.disabled || !this.table.value || !this.table.value.length;\n }\n\n onClick() {\n if (!this.disabled) {\n if (this.table.value && this.table.value.length > 0) this.onToggleCheckbox(!this.checked);\n }\n }\n\n public updateCheckedState() {\n if (this.table.filteredValue) {\n const val = this.table.filteredValue;\n return val && val.length > 0 && this.table.selection && this.table.selection.length > 0 && this.isAllFilteredValuesChecked();\n } else {\n const val = this.table.value;\n return val && val.length > 0 && this.table.selection && this.table.selection.length > 0 && this.isAllValuesChecked();\n }\n }\n\n public onToggleCheckbox(checked: boolean) {\n const { filteredValue, value, dataKey } = this.table;\n const gridData = checked ? (filteredValue ? filteredValue.slice() : value.slice()) : [];\n\n if (checked) {\n const unselecteds = gridData\n .filter(record => !this.table._selection.find((selected: any) => record[dataKey] === selected[dataKey]))\n .map((record: any) => {\n if (this.useAllObject) return record;\n\n const newRecord = {};\n if (this.rowProps) this.rowProps.forEach((prop: string) => (newRecord[prop] = record[prop]));\n else newRecord[dataKey] = record[dataKey];\n return newRecord;\n });\n this.table._selection = [...this.table._selection, ...unselecteds];\n } else {\n value.forEach((data: any) => {\n this.table._selection = this.table._selection.filter((record: any) => record[dataKey] !== data[dataKey]);\n });\n }\n\n this.table.updateSelectionKeys();\n this.table.selectionChange.emit(this.table._selection);\n this.tableService.onSelectionChange();\n\n if (this.table.isStateful()) this.table.saveState();\n }\n\n public isAllFilteredValuesChecked() {\n if (!this.table.filteredValue) {\n return false;\n } else {\n for (const rowData of this.table.filteredValue) {\n if (!this.table.isSelected(rowData)) {\n return false;\n }\n }\n return true;\n }\n }\n\n public isAllValuesChecked() {\n if (!this.table.value) {\n return false;\n } else {\n for (const rowData of this.table.value) {\n if (!this.table.isSelected(rowData)) {\n return false;\n }\n }\n return true;\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TableHeaderCheckboxComponent } from \"./table-header-checkbox.component\";\n\n@NgModule({\n imports: [CommonModule],\n exports: [TableHeaderCheckboxComponent],\n declarations: [TableHeaderCheckboxComponent],\n})\nexport class TableHeaderCheckboxModule {}\n","import { Directive, HostListener } from \"@angular/core\";\n\n@Directive({ selector: \"[sNavigation]\" })\nexport class NavigationDirective {\n @HostListener(\"keydown\", [\"$event\"])\n onKeyDown(event: KeyboardEvent): void {\n switch (event.key) {\n case \"Right\": // IE 11\n case \"ArrowRight\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.focusFirstColFromCurrentRow(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.focusNextSelectableCol(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Left\": // IE 11\n case \"ArrowLeft\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.focusLastColFromPrevRow(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.focusPrevSelectableCol(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Up\": // IE 11\n case \"ArrowUp\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.setPrevRowFocus(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.setAboveColFocus(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n case \"Down\": // IE 11\n case \"ArrowDown\":\n if (this.isRow(event.target as HTMLTableElement)) {\n this.setNextRowFocus(event.target as HTMLTableRowElement);\n } else if (this.isCol(event.target as HTMLTableElement)) {\n this.setUnderColFocus(event.target as HTMLTableColElement);\n }\n event.preventDefault();\n break;\n }\n }\n\n private focusLastColFromPrevRow(event: HTMLTableRowElement): void {\n const prevRow = this.findPrevSelectableRow(event);\n\n if (prevRow) {\n (prevRow.lastElementChild as HTMLTableColElement).focus();\n }\n }\n\n private focusFirstColFromCurrentRow(row: HTMLTableRowElement): void {\n const firstCol = row.firstElementChild as HTMLTableColElement;\n\n if (firstCol) {\n firstCol.focus();\n }\n }\n\n private focusNextSelectableCol(col: HTMLTableColElement): void {\n const nextCol = col.nextElementSibling as HTMLTableColElement;\n\n if (nextCol) {\n nextCol.focus();\n } else {\n const currentRow = col.parentElement as HTMLTableRowElement;\n return this.setNextRowFocus(currentRow);\n }\n }\n\n private focusPrevSelectableCol(col: HTMLTableColElement): void {\n const prevCol = col.previousElementSibling as HTMLTableColElement;\n\n if (prevCol) {\n prevCol.focus();\n } else {\n const currentRow = col.parentElement as HTMLTableRowElement;\n return currentRow.focus();\n }\n }\n\n private setAboveColFocus(currentCol: HTMLTableColElement): void {\n const cellIndex = currentCol[\"cellIndex\"];\n const currentRow = currentCol.parentElement;\n const prevRow = this.findPrevSelectableRow(currentRow as HTMLTableRowElement);\n\n if (prevRow) (prevRow.cells[cellIndex] as HTMLTableDataCellElement).focus();\n }\n\n private setUnderColFocus(currentCol: HTMLTableColElement): void {\n const cellIndex = currentCol[\"cellIndex\"];\n const currentRow = currentCol.parentElement;\n const nextRow = this.findNextSelectableRow(currentRow as HTMLTableRowElement);\n if (nextRow) (nextRow.cells[cellIndex] as HTMLTableDataCellElement).focus();\n }\n\n private setNextRowFocus(row: HTMLTableRowElement): void {\n const nextRow = this.findNextSelectableRow(row);\n if (nextRow) {\n nextRow.focus();\n }\n }\n\n private setPrevRowFocus(row: HTMLTableRowElement): void {\n const prevRow = this.findPrevSelectableRow(row);\n if (prevRow) {\n prevRow.focus();\n }\n }\n\n private isRow(event: HTMLTableElement): boolean {\n return event.tagName.toLocaleLowerCase() === \"tr\";\n }\n\n private isCol(event: HTMLTableElement): boolean {\n return event.tagName.toLocaleLowerCase() === \"td\";\n }\n\n private findPrevSelectableRow(row: HTMLTableRowElement): HTMLTableRowElement {\n const prevRow = <HTMLTableRowElement>row.previousElementSibling;\n if (prevRow) return prevRow;\n else return null;\n }\n\n private findNextSelectableRow(row: HTMLTableRowElement): HTMLTableRowElement {\n const nextRow = <HTMLTableRowElement>row.nextElementSibling;\n if (nextRow) return nextRow;\n else return null;\n }\n}\n","import { Directive, HostListener, Input } from \"@angular/core\";\nimport { RowToggler, Table } from \"primeng/table\";\n\n@Directive({ selector: \"[sRowToggler]\" })\nexport class RowTogllerDirective extends RowToggler {\n @Input(\"sRowToggler\")\n data: any;\n\n constructor(public dt: Table) {\n super(dt);\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeydown(event: KeyboardEvent) {\n if (this.isEnabled()) {\n switch (event.key) {\n case \"Enter\":\n this.dt.toggleRow(this.data, event);\n event.preventDefault();\n break;\n default:\n event.preventDefault();\n break;\n }\n }\n }\n}\n","import { AfterContentChecked, AfterViewInit, Directive, ElementRef, EventEmitter, Input, OnDestroy } from \"@angular/core\";\nimport { Table } from \"primeng/table\";\n\n@Directive({\n selector: \"[sTableFrozenPosition]\"\n})\nexport class TableFrozenPositionDirective implements AfterViewInit, OnDestroy, AfterContentChecked {\n @Input()\n sTableFrozenPosition = \"left\";\n\n @Input()\n set sTableFrozenValue(_: any[]) {\n setTimeout(() => {\n this.synchronizeRowHeight();\n this.setUpRowResizeMonitoring();\n });\n }\n\n private table: Table;\n private isTableVisible = false;\n\n tableHeadObservable: MutationObserver;\n rowExpandedObserver: any;\n onColumnsChanged: EventEmitter<any> = new EventEmitter();\n\n private tableWrapperObserver: MutationObserver;\n\n private readonly TABLE_SCROLLABLE_WRAPPER_CLASS = \".ui-table-scrollable-wrapper\";\n\n constructor(private el: ElementRef, host: Table) {\n this.table = host;\n this.table.styleClass = (this.table.styleClass || \"\") + \" s-table-frozen-position\";\n this.setUpTableEvents();\n\n window.addEventListener(\"resize\", this.handleWindowResize.bind(this));\n\n const htmlHead = document.getElementsByTagName(\"head\")[0];\n\n const expandFrozenStyle = document.createElement(\"style\");\n expandFrozenStyle.innerHTML = \".s-table-frozen-position .ui-table-frozen-view .sds-expanded-row > td { visibility: hidden; }\";\n htmlHead.appendChild(expandFrozenStyle);\n }\n\n ngAfterViewInit(): void {\n if (this.sTableFrozenPosition === \"left\") return;\n this.applyStylesForTable();\n this.setUpColumnMonitoring();\n }\n\n ngAfterContentChecked(): void {\n if (!this.isTableVisible && !!this.table.el.nativeElement.offsetParent) {\n this.isTableVisible = true;\n\n this.synchronizeRowHeight();\n } else if (this.isTableVisible && !this.table.el.nativeElement.offsetParent) {\n this.isTableVisible = false;\n }\n }\n\n ngOnDestroy(): void {\n window.removeEventListener(\"resize\", this.handleWindowResize.bind(this));\n if (this.tableHeadObservable) {\n this.tableHeadObservable.disconnect();\n }\n\n if (this.rowExpandedObserver) {\n this.rowExpandedObserver.disconnect();\n }\n\n if (this.tableWrapperObserver) {\n this.tableWrapperObserver.disconnect();\n }\n }\n\n private setUpTableEvents() {\n this.table.onColResize.subscribe(() => {\n this.handleColResize();\n });\n\n this.table.onRowExpand.subscribe(() => {\n this.setUpRowResizeMonitoring();\n });\n }\n\n private setUpRowResizeMonitoring() {\n if (this.rowExpandedObserver) {\n this.rowExpandedObserver.disconnect();\n }\n\n // The version of Angular/Typescript does not recognize the object ResizeObserver and breaks build\n this.rowExpandedObserver = new (window as any).ResizeObserver(() => {\n this.applyHeightForExpandedRows();\n });\n\n setTimeout(() => {\n const tdsToAdjust = this.el.nativeElement.querySelectorAll(\".ui-table-frozen-view .sds-expanded-row > td\");\n const originalsTds = this.el.nativeElement.querySelectorAll(\".ui-table-unfrozen-view .sds-expanded-row > td\");\n tdsToAdjust.forEach((td: HTMLElement, index: number) => {\n const originalTd: HTMLElement = originalsTds[index];\n td.innerHTML = null;\n td.style.padding = \"0px\";\n\n this.rowExpandedObserver.observe(originalTd);\n });\n });\n }\n\n private setUpColumnMonitoring() {\n this.tableHeadObservable = new MutationObserver(() => {\n this.synchronizeRowHeight();\n this.onColumnsChanged.emit(null);\n });\n const tableHeads = [...this.el.nativeElement.getElementsByTagName(\"thead\")];\n tableHeads.forEach((tableHead: Element) => {\n this.tableHeadObservable.observe(tableHead, {\n subtree: true,\n childList: true\n });\n });\n\n const tableWraper = this.el.nativeElement.querySelector(this.TABLE_SCROLLABLE_WRAPPER_CLASS);\n if (tableWraper) {\n const mutationObserver = new MutationObserver(() => {\n this.synchronizeRowHeight();\n })\n\n mutationObserver.observe(tableWraper, {\n subtree: true,\n childList: true\n })\n this.tableWrapperObserver = mutationObserver;\n }\n }\n\n private applyHeightForExpandedRows() {\n const frozenTDsToAdjust = this.el.nativeElement.querySelectorAll(\".ui-table-frozen-view .sds-expanded-row > td\");\n const unFrozenTDs = this.el.nativeElement.querySelectorAll(\".ui-table-unfrozen-view .sds-expanded-row > td\");\n frozenTDsToAdjust.forEach((frozenTd: HTMLElement, index: number) => {\n const unfrozenTD: HTMLElement = unFrozenTDs[index];\n const unfrozenHeight = unfrozenTD.getBoundingClientRect().height;\n const frozenHeight = frozenTd.getBoundingClientRect().height;\n\n if (Math.abs(unfrozenHeight - frozenHeight) > 1) {\n frozenTd.style.height = `${unfrozenHeight}px`;\n frozenTd.innerHTML = null;\n }\n });\n }\n\n private applyStylesForTable() {\n const scrollWrapper = this.el.nativeElement.querySelector(this.TABLE_SCROLLABLE_WRAPPER_CLASS);\n if (!scrollWrapper) {\n console.warn(\"Unable to find scroll-wrapper element from table. Is the table configured with frozen template?\");\n return;\n }\n scrollWrapper.style.display = \"flex\";\n scrollWrapper.style.flexDirection = \"row\";\n\n const frozenTable = this.el.nativeElement.querySelector(\".ui-table-frozen-view\");\n if (!frozenTable) {\n console.warn(\"Unable to find frozen element from table. Is the table configured with frozen template?\");\n return;\n }\n\n frozenTable.style.order = \"1\";\n frozenTable.style.borderRight = \"none\";\n frozenTable.style.borderLeft = \"1px solid #dddddd\";\n frozenTable.style.boxShadow = \"-5px 0 5px -5px #cccccc\";\n\n const unfrozenTable = this.el.nativeElement.querySelector(\".ui-table-unfrozen-view\");\n if (!unfrozenTable) {\n console.warn(\"Unable to find unfrozen element from table. Is the table configured with frozen template?\");\n return;\n }\n unfrozenTable.style.position = \"unset\";\n }\n\n private handleWindowResize() {\n this.synchronizeRowHeight();\n }\n\n private handleColResize() {\n this.synchronizeRowHeight();\n }\n\n private synchronizeRowHeight() {\n const tableBodyWrappers = this.el.nativeElement.getElementsByClassName(\"ui-table-scrollable-body\");\n const tableBodies = [...tableBodyWrappers].map(divWrapper => [...divWrapper.childNodes].find(p => p.tagName === \"TABLE\"));\n this._resetRowHeight(tableBodies);\n this._applyMaxRowHeight(tableBodies);\n\n const tableHeadWrappers = this.el.nativeElement.getElementsByClassName(\"ui-table-scrollable-header-box\");\n const tableHeads = [...tableHeadWrappers].map(divWrapper => [...divWrapper.childNodes].find(p => p.tagName === \"TABLE\"));\n this._resetRowHeight(tableHeads);\n this._applyMaxRowHeight(tableHeads);\n }\n\n private _applyMaxRowHeight(tables: any[]) {\n if (!tables || !tables.length) {\n return;\n }\n\n const lengths = tables.map(table => table.rows.length);\n const maxLength = lengths.reduce((accumulator, currentValue) => Math.max(accumulator, currentValue), lengths[0]);\n const minLength = lengths.reduce((accumulator, currentValue) => Math.min(accumulator, currentValue), lengths[0]);\n\n if (maxLength !== minLength) {\n throw new Error(\"The number of rows in both tables must be the same\");\n }\n\n const table = tables[0];\n\n for (let i = 0; i < table.rows.length; i++) {\n const trs = [];\n for (const table of tables) {\n trs.push(table.rows[i] as HTMLTableRowElement);\n }\n\n const max = trs.reduce((accumulator, currentValue) =>\n Math.max(accumulator, currentValue.getBoundingClientRect().height), trs[0].getBoundingClientRect().height);\n\n for (const tr of trs) {\n tr.style.height = `${max}px`;\n }\n }\n }\n\n private _resetRowHeight(tables: any[]) {\n for (const table of tables) {\n for (const row of table.rows) {\n row.style.height = \"unset\";\n }\n }\n }\n}\n","export enum EnumColumnFieldType {\n STRING = \"STRING\",\n NUMBER = \"NUMBER\",\n BOOLEAN = \"BOOLEAN\",\n DATE = \"DATE\",\n CURRENCY = \"CURRENCY\",\n ENUM = \"ENUM\",\n LOOKUP = \"LOOKUP\",\n LINK = \"LINK\",\n TOKENS = \"TOKENS\"\n}\n","import { BadgeColors } from \"../../../badge/models/badge-colors\";\n\nexport enum EnumBadgeColors {\n RED = BadgeColors.Red,\n ORANGE = BadgeColors.Orange,\n YELLOW = BadgeColors.Yellow,\n GREEN = BadgeColors.Green,\n BLUE = BadgeColors.Blue,\n GRAY = BadgeColors.Gray,\n}\n","import {\n Component,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewChildren,\n ViewContainerRef,\n} from \"@angular/core\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MaskConfig, applyMask } from \"@seniorsistemas/ng2-currency-mask\";\nimport BigNumber from \"bignumber.js\";\nimport * as moment_ from \"moment\";\n\nimport { HostProjectConfigs, HostProjectConfigsInjectionToken } from \"../../../angular-components.module\";\nimport { LocaleService } from \"../../locale/locale.service\";\nimport { NumericService } from \"../../locale/services/numeric.service\";\nimport { IToken } from \"../../token-list\";\nimport { convertToMomentDateFormat } from \"../../utils/locale-utils\";\nimport { deepClone, isNullOrUndefined } from \"../../utils/utils\";\nimport { Column, ColumnValues, EnumColumnFieldType, TableColumnLocaleOptions } from \"./models\";\n\nconst moment = moment_;\n\n@Component({\n templateUrl: \"./table-columns.component.html\",\n styleUrls: [\"./table-columns.component.scss\"],\n selector: \"s-table-columns\",\n})\nexport class TableColumnsComponent implements OnChanges {\n @ViewChild(\"columnsTemplate\", { static: true }) columnsTemplate: TemplateRef<any>;\n\n @Input()\n public columns!: Column[];\n\n @Input()\n public rowValue!: any;\n\n @Input()\n public locale: TableColumnLocaleOptions = {\n calendar: {\n ...this.localeService.getLocaleOptions().calendar,\n dateFormat: convertToMomentDateFormat(this.localeService.getLocaleOptions().calendar.dateFormat),\n },\n number: {\n ...this.localeService.getLocaleOptions().number,\n scale: 0,\n },\n };\n\n cellsData: CellData[] = [];\n\n formattedColumns: ColumnValues[] = [];\n\n @ViewChildren(\"column\") testeElements: QueryList<ElementRef>;\n\n constructor(\n private readonly localeService: LocaleService,\n private readonly viewContainerRef: ViewContainerRef,\n private readonly translate: TranslateService,\n private readonly numericService: NumericService,\n @Inject(HostProjectConfigsInjectionToken) private readonly hostProjectConfigs: HostProjectConfigs\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n this.validateComponentAttributes(changes);\n\n if (changes.columns && changes.columns.currentValue !== changes.columns.previousValue) {\n this.columns = this.sortColumnsBySequence(changes.columns.currentValue);\n }\n\n this.createColumnsTemplate(changes);\n }\n\n public isArray(value: any): boolean {\n return Array.isArray(value);\n }\n\n private getCellData(column: ColumnValues): CellData {\n const { columnValue, separator, uninformed } = column;\n\n if (typeof columnValue === \"string\") {\n const splittedString = columnValue.split(separator);\n\n return splittedString.map((string, index) => {\n const isLastIndex = splittedString.length - 1 === index;\n\n return {\n value: string,\n isUninformed: string === uninformed,\n separator: !isLastIndex ? separator : null,\n };\n });\n }\n\n return null;\n }\n\n private validateComponentAttributes(changes: SimpleChanges): void {\n if (!this.columns && !changes.columns?.currentValue) {\n throw new Error(\"The 'columns' attribute must be informed!\");\n }\n if (!this.rowValue && !changes.rowValue?.currentValue) {\n throw new Error(\"The 'rowValue' attribute must be informed!\");\n }\n }\n\n private createColumnsTemplate(changes: SimpleChanges): void {\n this.viewContainerRef.clear();\n\n const columns: Column[] = changes.columns?.currentValue || this.columns;\n const rowValue: object = deepClone(changes.rowValue?.currentValue ?? this.rowValue);\n const locale: TableColumnLocaleOptions = changes.locale?.currentValue || this.locale;\n\n this.formattedColumns = columns.map((column) => this.getColumnValue(column, rowValue, locale));\n\n this.cellsData = this.formattedColumns.map((column) => this.getCellData(column));\n\n this.viewContainerRef.createEmbeddedView(this.columnsTemplate);\n }\n\n private getColumnSeparator(column: Column) {\n return column.separator ? column.separator : \" - \";\n }\n\n private getTranslationPrefix(column: Column) {\n return column.prefix ? column.prefix : `${this.hostProjectConfigs.domain}.${this.hostProjectConfigs.service}.`;\n }\n\n private isAttributeValueInvalid(attributeValue: any) {\n return (\n attributeValue === null ||\n attributeValue === undefined ||\n (attributeValue?.options?.numberFormatOptions && isNullOrUndefined(attributeValue?.value)) ||\n (this.isArray(attributeValue) && !attributeValue.length) ||\n (typeof attributeValue === \"string\" && attributeValue.trim() === \"\")\n );\n }\n\n private getFormattedColumnValue(\n column: Column,\n columnValue: any[],\n unifiedColumnValues: string,\n uninformedText: string,\n uninformedNumber: number\n ) {\n if (uninformedNumber === column.attributes.length) {\n return uninformedText;\n }\n\n if (column.type === EnumColumnFieldType.TOKENS) {\n return [].concat.apply(\n [],\n columnValue.filter((values) => values !== uninformedText)\n );\n }\n\n return unifiedColumnValues;\n }\n\n private getAttributeValue(attribute: string, rowValue: any) {\n let attributeValue!: any;\n\n attribute.split(\"/\").forEach((value: string) => {\n if (!attributeValue) {\n value.split(\".\").forEach((val: string, i) => {\n if (!rowValue) {\n return;\n }\n\n if (i === 0) {\n attributeValue = rowValue[val];\n } else {\n if (attributeValue) {\n attributeValue = attributeValue[val];\n }\n }\n });\n }\n });\n\n return attributeValue;\n }\n\n private getNumberConfigs(column: Column): MaskConfig {\n return {\n ...this.locale.number,\n scale: column.scale !== null && column.scale !== undefined ? this.getColumnScale(column.scale) : this.locale.number.scale,\n prefix: `${this.locale.number.currencySymbol} `,\n };\n }\n\n private getDateFormat(column: Column, locale: TableColumnLocaleOptions) {\n return column.dateFormat ? column.dateFormat : locale.calendar.dateFormat;\n }\n\n private getColumnValue(column: Column, rowValue: any, locale: TableColumnLocaleOptions): ColumnValues {\n const prefix = this.getTranslationPrefix(column);\n const separator = this.getColumnSeparator(column);\n const uninformed = this.translate.instant(prefix + \"empty_label\");\n const style = column.style;\n\n const columnValue = column.attributes.map((attribute: string) => {\n const attributeValue = this.getAttributeValue(attribute, rowValue);\n\n if (this.isAttributeValueInvalid(attributeValue)) {\n return uninformed;\n }\n\n const numberConfigs = this.getNumberConfigs(column);\n\n switch (column.type) {\n case EnumColumnFieldType.ENUM:\n return this.translate.instant(column.enumPrefix + attributeValue.toString().toLowerCase());\n\n case EnumColumnFieldType.CURRENCY: {\n const numberFormatOptions = attributeValue?.options?.numberFormatOptions\n ? attributeValue.options.numberFormatOptions\n : typeof column.numberFormatOptions === \"function\"\n ? column.numberFormatOptions({\n rowData: rowValue,\n })\n : column.numberFormatOptions;\n\n return numberFormatOptions\n ? this.numericService.instant(attributeValue, {\n numberFormatOptions,\n })\n : applyMask(attributeValue, numberConfigs, this.isNumber(attributeValue));\n }\n\n case EnumColumnFieldType.DATE:\n const dateFormat = this.getDateFormat(column, locale);\n return moment(attributeValue).format(dateFormat);\n\n case EnumColumnFieldType.BOOLEAN:\n const value = attributeValue ? \"yes\" : \"no\";\n return this.translate.instant(prefix + value);\n\n case EnumColumnFieldType.NUMBER: {\n numberConfigs.prefix = \"\";\n\n const numberFormatOptions = attributeValue?.options?.numberFormatOptions\n ? attributeValue.options.numberFormatOptions\n : typeof column.numberFormatOptions === \"function\"\n ? column.numberFormatOptions({\n rowData: rowValue,\n })\n : column.numberFormatOptions;\n\n return numberFormatOptions\n ? this.numericService.instant(attributeValue, {\n numberFormatOptions,\n })\n : applyMask(attributeValue, numberConfigs, this.isNumber(attributeValue));\n }\n case EnumColumnFieldType.TOKENS:\n return this.getTokens(attributeValue);\n\n default:\n return attributeValue;\n }\n });\n\n const unifiedColumnValues = columnValue.join(separator);\n const uninformedNumber = unifiedColumnValues.split(separator).filter((value) => value === uninformed).length;\n const formattedColumnValue = this.getFormattedColumnValue(column, columnValue, unifiedColumnValues, uninformed, uninformedNumber);\n\n return {\n style,\n columnValue: formattedColumnValue,\n separator,\n uninformed,\n badgeConfigs: column?.badgeConfigs?.find(\n (badgeConfig) => badgeConfig.enumValue === rowValue[column.attributes[0] ?? column.field]\n ),\n color: column.color?.(rowValue),\n type: column.type,\n tooltip: this.getColumnTooltip(column.tooltip),\n infoSign: this.getColumnInfoSign(column.infoSign),\n onLinkClick: column.onLinkClick,\n onColumnClick: column.onColumnClick,\n compact: column.compact,\n };\n }\n\n private getColumnScale(scale: number | ((rowValue: any) => number)): number {\n if (typeof scale === \"function\") {\n return scale(deepClone(this.rowValue));\n }\n return scale;\n }\n\n private getColumnInfoSign(infoSign: string | ((rowValue: any) => string)): string {\n if (infoSign !== undefined && infoSign !== null) {\n if (typeof infoSign === \"function\") {\n return infoSign(deepClone(this.rowValue));\n }\n return infoSign;\n }\n return null;\n }\n\n private getColumnTooltip(tooltip: string | ((rowValue: any) => string)): string {\n if (tooltip !== undefined && tooltip !== null) {\n if (typeof tooltip === \"function\") {\n return tooltip(deepClone(this.rowValue));\n }\n return tooltip;\n }\n return \"\";\n }\n\n private isNumber(value: any): boolean {\n return !new BigNumber(value).isNaN();\n }\n\n private getTokens(values: any): IToken[] {\n if (!this.isArray(values)) {\n throw new Error(\"To use tokens an array must be informed\");\n }\n\n if (!this.isValidTokenArray(values)) {\n throw new Error(\"Not a valid token array. Must be a primitive values array or an objects with label attribute array\");\n }\n\n if (this.isLabelObjectArray(values)) {\n return values;\n }\n\n return values\n .filter((value: any) => value !== undefined && value !== null)\n .map((value: any) => {\n const label = typeof value === \"symbol\" ? value.toString() : `${value}`;\n return {\n label,\n };\n });\n }\n\n private isValidTokenArray(values: any[]): boolean {\n return this.isPrimitiveValuesArray(values) || this.isLabelObjectArray(values);\n }\n\n private isPrimitiveValuesArray(values: any[]): boolean {\n return values.filter((value) => value !== Object(value)).length === values.length;\n }\n\n private isLabelObjectArray(values: any[]): boolean {\n return values.filter((value) => value?.label !== null && value?.label !== undefined).length === values.length;\n }\n\n private sortColumnsBySequence(columns: Column[]): Column[] {\n return columns.sort((a, b) => a.sequence - b.sequence);\n }\n}\n\ntype CellData = { value: string; isUninformed: boolean; separator: string }[];\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nimport { IToken } from \"./models/token\";\n\n@Component({\n selector: `s-token-list`,\n templateUrl: `./token-list.component.html`,\n styleUrls: [\"./token-list.component.scss\"],\n})\nexport class TokenListComponent {\n public static nextId = 0;\n\n @Input()\n id = `s-token-list-${TokenListComponent.nextId++}`;\n\n @Input()\n tokens: IToken[];\n\n @Input()\n removableTokens = false;\n\n @Input()\n hidePointerEvents = false;\n\n @Output()\n public tokenSelected: EventEmitter<IToken> = new EventEmitter();\n\n @Output()\n public tokenRemoved: EventEmitter<IToken> = new EventEmitter();\n\n public onTokenSelected(token: IToken): void {\n if (!token.disabled) {\n this.tokenSelected.next(token);\n }\n }\n\n public onTokenRemoved(token: IToken): void {\n if (!token.disabled) {\n this.tokenRemoved.next(token);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TokenListComponent } from \"./token-list.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [TokenListComponent],\n exports: [TokenListComponent],\n})\nexport class TokenListModule {}\n","import { Component, Inject, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MenuItem } from \"primeng/api\";\nimport { Table } from \"primeng/table\";\nimport { Column } from \"../table-column/models/column.interface\";\n\nimport { HostProjectConfigs, HostProjectConfigsInjectionToken } from \"../../../angular-components.module\";\nimport { deepClone, ExportUtils, isNullOrUndefined } from \"../../utils\";\nimport { CustomAction } from \"./models\";\nimport { LocaleService } from \"../../locale/locale.service\";\n\nimport BigNumber from \"bignumber.js\";\n\ntype RowValueFormatOption = {\n value?: number;\n options?: {\n numberFormatOptions?: Intl.NumberFormatOptions;\n };\n};\n\n@Component({\n templateUrl: \"./table-paging.component.html\",\n styleUrls: [\"./table-paging.component.scss\"],\n selector: \"s-table-paging\",\n})\nexport class TablePagingComponent implements OnChanges {\n @Input()\n public totalRecords!: number;\n\n @Input()\n public exportFileName?: string;\n\n @Input()\n public table!: Table;\n\n @Input()\n public exportable = true;\n\n @Input()\n public enableExportSelectedRecords = true;\n\n @Input()\n public customActions?: CustomAction[];\n\n @Input()\n public loadAllRecords?: () => Promise<any[]>;\n\n @Input()\n public loadCurrentPageRecords?: () => any[];\n\n @Input()\n public loadSelectedRecords?: () => any[];\n\n @Output()\n public totalRecordsText: string;\n\n constructor(\n private readonly translate: TranslateService,\n private readonly localeService: LocaleService,\n @Inject(HostProjectConfigsInjectionToken) private readonly hostProjectConfigs: HostProjectConfigs\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.totalRecords?.currentValue) {\n this.totalRecordsText = this.translate.instant(`${this.getTranslatePrefix()}total_records`, {\n value: changes.totalRecords.currentValue,\n });\n }\n }\n\n private getTranslatePrefix() {\n return `${this.hostProjectConfigs.domain}.${this.hostProjectConfigs.service}.`;\n }\n\n public getTooltipText() {\n return this.translate.instant(`${this.getTranslatePrefix()}export_to_csv`);\n }\n\n public getActions(): MenuItem[] {\n const actions: MenuItem[] = [\n {\n id: \"exportCurrentPage\",\n label: this.translate.instant(`${this.getTranslatePrefix()}export_current_page`),\n command: () => this.exportCurrentPage(),\n },\n ];\n\n if (this.enableExportSelectedRecords) {\n actions.push({\n id: \"exportSelected\",\n label: this.translate.instant(`${this.getTranslatePrefix()}export_selected_records`),\n command: () => this.exportSelectedRecords(),\n });\n }\n\n if (this.loadAllRecords) {\n actions.push({\n id: \"exportAll\",\n label: this.translate.instant(`${this.getTranslatePrefix()}export_all_records`),\n command: () => this.exportAllRecords(),\n });\n }\n\n if (this.customActions?.length) {\n const customMenus = this.customActions.map((p, index) => ({\n id: \"customAction_\" + index,\n label: p.label,\n command: p.command,\n }));\n actions.push(...customMenus);\n }\n\n return actions;\n }\n\n private validateComponent() {\n if (!this.table) {\n throw new Error(\"Table component not defined\");\n }\n }\n\n public getColumnsToExport() {\n return [...this.table.columns].map((column) => {\n const exportColumn = {\n ...column,\n header: column.header,\n exportable: true,\n field: column.field,\n separator: column.separator ?? \" - \",\n enumPrefix: column.enumPrefix,\n customExport: column.customExport,\n };\n\n if (column.exportable === false) {\n exportColumn.exportable = false;\n }\n\n if (column.attributes && column.attributes.length) {\n if (column.attributes.length === 1) {\n exportColumn.field = column.attributes[0];\n } else {\n exportColumn.field = column.attributes;\n }\n }\n\n return exportColumn;\n });\n }\n\n private getCurrentPageRowsToExport(columns: any[]) {\n let tableData = deepClone(this.table.value);\n\n if (this.loadCurrentPageRecords) {\n tableData = this.loadCurrentPageRecords();\n }\n\n tableData = this.mapCustomExport(columns, tableData);\n\n tableData = this.mapNumberFormatOptionsExport(columns, tableData);\n\n return this.mapColumnsTranslations(columns, tableData);\n }\n\n private getSelectedRowsToExport(columns: any[]) {\n let tableData = deepClone(this.table.selection);\n\n if (this.loadSelectedRecords) {\n tableData = this.loadSelectedRecords();\n }\n\n tableData = this.mapCustomExport(columns, tableData);\n\n tableData = this.mapNumberFormatOptionsExport(columns, tableData);\n\n return this.mapColumnsTranslations(columns, tableData);\n }\n\n private getPropertyValue(obj: any, path: string) {\n return path.split(\".\").reduce((result: any, prop: any) => (result[prop] === undefined ? undefined : result[prop]), obj);\n }\n\n private setPropertyValue(obj: any, path: string, value: any) {\n this.recursionSetValue(obj, path.split(\".\"), value);\n }\n\n private recursionSetValue(obj: any, keysList: string[], value: any): any {\n const key = keysList[0];\n if (keysList.length === 1) {\n obj[key] = value;\n return obj;\n }\n obj[key] = this.recursionSetValue(obj?.[key] || {}, keysList.slice(1), value);\n return obj;\n }\n\n public mapColumnsTranslations(columns: any[], rows: any[]) {\n const enumColumns = columns.filter((p) => p.enumPrefix);\n if (!enumColumns.length) {\n return rows;\n }\n\n return [...rows].map((row) => {\n const newRow = { ...row };\n enumColumns.forEach((column) => {\n const fields = !Array.isArray(column.field) ? [column.field] : column.field;\n fields.forEach((fieldName: string) => {\n const columnData = this.getPropertyValue(row, fieldName);\n if (columnData === null || columnData === undefined) {\n return;\n }\n\n const newValue = this.translateValue(column, columnData);\n this.setPropertyValue(newRow, fieldName, newValue);\n });\n });\n\n return newRow;\n });\n }\n\n /**\n * The purpose of this method is to map values\n * from the TableColumnsComponent, which uses the numberFormatOptions\n * field, along with rows that have a custom numberFormatOptions,\n * to ensure the correct values are exported by the TablePagingComponent.\n *\n * @returns Returns the correctly mapped tableData.\n */\n public mapNumberFormatOptionsExport(\n columns: Partial<Column>[],\n tableData: {\n [key: string]: RowValueFormatOption | number | string | null | undefined;\n }[]\n ) {\n const hasNumberFormatOptionsColumns = columns.some((column) => column.numberFormatOptions);\n const hasNumberFormatOptionsRows = tableData.some((rowData) =>\n Object.keys(rowData).some((key) => (rowData[key] as RowValueFormatOption)?.options?.numberFormatOptions)\n );\n\n if (!hasNumberFormatOptionsColumns && !hasNumberFormatOptionsRows) return tableData;\n\n if (hasNumberFormatOptionsColumns) {\n tableData = tableData.map((rowData) => {\n const columnsWithNumberFormatOptions = columns.filter((column) => column.numberFormatOptions);\n\n for (const column of columnsWithNumberFormatOptions) {\n const attributes = column.attributes;\n\n const numberFormatOptions =\n typeof column.numberFormatOptions === \"function\"\n ? column.numberFormatOptions({\n rowData,\n })\n : column.numberFormatOptions;\n\n for (const attribute of attributes) {\n if (isNullOrUndefined(rowData[attribute as string])) continue;\n\n if ((rowData[attribute as string] as RowValueFormatOption).options?.numberFormatOptions) {\n continue;\n }\n\n const value = rowData[attribute as string] as string | number;\n\n const mappedValue =\n numberFormatOptions.style === \"percent\" ? new BigNumber(value).times(100) : new BigNumber(value);\n\n const numberFormat = new Intl.NumberFormat(this.localeService.getLocaleOptions().locale, {\n ...numberFormatOptions,\n style: \"decimal\",\n useGrouping: false,\n roundingMode: \"trunc\",\n } as any);\n\n rowData[attribute as string] = numberFormat.format(mappedValue.toNumber());\n }\n }\n\n return rowData;\n });\n }\n\n if (hasNumberFormatOptionsRows) {\n tableData = tableData.map((rowData) => {\n const keysWithNumberFormatOptions = Object.keys(rowData).filter(\n (key) => (rowData[key] as RowValueFormatOption)?.options?.numberFormatOptions\n );\n\n for (const key of keysWithNumberFormatOptions) {\n const value = (rowData[key] as RowValueFormatOption).value;\n\n const numberFormatOptions = (rowData[key] as RowValueFormatOption).options.numberFormatOptions;\n\n const mappedValue = numberFormatOptions.style === \"percent\" ? new BigNumber(value).times(100) : new BigNumber(value);\n\n const numberFormat = new Intl.NumberFormat(this.localeService.getLocaleOptions().locale, {\n ...numberFormatOptions,\n style: \"decimal\",\n useGrouping: false,\n roundingMode: \"trunc\",\n } as any);\n\n (rowData[key] as string | number) = numberFormat.format(mappedValue.toNumber());\n }\n\n return rowData;\n });\n }\n\n return tableData;\n }\n\n public mapCustomExport(columns: any[], rows: any[]) {\n const customColumns = columns.filter((p) => p.customExport);\n if (!customColumns.length) {\n return rows;\n }\n\n return [...rows].map((row) => {\n const newRow = { ...row };\n customColumns.forEach((column) => {\n const fields = !Array.isArray(column.field) ? [column.field] : column.field;\n fields.forEach((fieldName: string) => {\n const columnData = this.getPropertyValue(row, fieldName);\n if (columnData === null || columnData === undefined) {\n return;\n }\n const newValue = column.customExport(columnData);\n this.setPropertyValue(newRow, fieldName, newValue);\n });\n });\n\n return newRow;\n });\n }\n\n private translateValue(column: any, columnData: any) {\n // Default usage: ENUM_VALUE -> domain.service.enum_value\n const enumValue = columnData.toString().toLowerCase();\n let translationKey = column.enumPrefix + enumValue;\n let translatedValue = this.translate.instant(translationKey);\n\n // Custom usage 1: V9 -> domain.service.v_9\n if (translationKey === translatedValue && enumValue.length > 1) {\n translationKey = `${column.enumPrefix}${enumValue.substring(0, 1)}_${enumValue.substr(1)}`;\n translatedValue = this.translate.instant(translationKey);\n }\n\n // Custom usage 2: EnumValue -> domain.service.enum_value\n if (translationKey === translatedValue) {\n const enumKey = this.convertToSnakeCase(columnData.toString());\n translationKey = `${column.enumPrefix}${enumKey}`;\n translatedValue = this.translate.instant(translationKey);\n }\n\n return translatedValue;\n }\n\n private convertToSnakeCase(str: string) {\n return str.replace(/([A-Z])/g, (match, group) => `_${group.toLowerCase()}`).replace(/^_/, \"\");\n }\n\n private getExportFileName() {\n const lang = this.translate.currentLang ?? \"pt-BR\";\n const date = new Date();\n\n const fileName = this.exportFileName ?? \"download\";\n const formattedDate = date.toLocaleDateString(lang).replace(\"_\", \"-\");\n const formattedTime = date.toLocaleTimeString(lang).replace(\" \", \"-\");\n\n return `${fileName}_${formattedDate}_${formattedTime}`;\n }\n\n public exportCurrentPage() {\n this.validateComponent();\n const columns = this.getColumnsToExport();\n const dataToExport = this.getCurrentPageRowsToExport(columns);\n ExportUtils.exportCSV(columns, dataToExport, undefined, this.getExportFileName());\n }\n\n public exportSelectedRecords() {\n this.validateComponent();\n const columns = this.getColumnsToExport();\n const dataToExport = this.getSelectedRowsToExport(columns);\n ExportUtils.exportCSV(columns, dataToExport, undefined, this.getExportFileName());\n }\n\n public async exportAllRecords() {\n this.validateComponent();\n\n let serverData = await this.loadAllRecords();\n\n const columns = this.getColumnsToExport();\n\n serverData = this.mapCustomExport(columns, serverData);\n\n serverData = this.mapNumberFormatOptionsExport(columns, serverData);\n\n const dataToExport = this.mapColumnsTranslations(columns, serverData);\n\n ExportUtils.exportCSV(columns, dataToExport, undefined, this.getExportFileName());\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { NavigationDirective } from \"./navigation/navigation.directive\";\nimport { RowTogllerDirective } from \"./row-toggler/row-toggler.directive\";\nimport { TableFrozenPositionDirective } from \"./frozen-position/frozen-position.directive\";\nimport { TableColumnsComponent } from \"./table-column/table-columns.component\";\nimport { TokenListModule } from \"../token-list/token-list.module\";\nimport { TablePagingComponent } from \"./table-paging/table-paging.component\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { InfoSignModule } from \"../info-sign/info-sign.module\";\nimport { BadgeModule } from \"../badge/badge.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n TokenListModule,\n TranslateModule,\n ButtonModule,\n InfoSignModule,\n BadgeModule\n ],\n exports: [\n RowTogllerDirective,\n NavigationDirective,\n TableColumnsComponent,\n TableFrozenPositionDirective,\n TablePagingComponent\n ],\n declarations: [\n RowTogllerDirective,\n NavigationDirective,\n TableColumnsComponent,\n TableFrozenPositionDirective,\n TablePagingComponent\n ],\n})\nexport class TableModule {}\n","import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { AutocompleteField } from \"../../../configurations/fields/autocomplete-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"autocomplete-field.component.html\",\n})\nexport class AutocompleteFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: AutocompleteField;\n @Input()\n public formControl: FormControl;\n\n public inputRef: ElementRef;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) {}\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input');\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { BooleanField } from \"../../../configurations/fields/boolean-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"boolean-field.component.html\",\n})\nexport class BooleanFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BooleanField;\n @Input()\n public formControl: FormControl;\n\n public onClear(): void {\n this.formControl.reset();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { BooleanSwitchField } from \"../../../configurations/fields/boolean-switch-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"boolean-switch-field.component.html\",\n})\nexport class BooleanSwitchFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BooleanSwitchField;\n @Input()\n public formControl: FormControl;\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\n\nimport { CalendarField } from \"../../../configurations/fields/calendar-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"calendar-field.component.html\",\n})\nexport class CalendarFieldComponent implements BaseFieldComponentConfig {\n\n constructor(\n private readonly translateService: TranslateService,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) {}\n\n @Input()\n public field: CalendarField;\n\n @Input()\n public formControl: FormControl;\n\n @Input()\n public showTime: boolean;\n\n @Input()\n public timeOnly: boolean;\n\n @ViewChild('calendar') calendar: ElementRef;\n \n public inputRef: ElementRef;\n\n public locale = {\n firstDayOfWeek: 0,\n dayNames: [\n this.translateService.instant(\"platform.angular_components.sunday\"),\n this.translateService.instant(\"platform.angular_components.monday\"),\n this.translateService.instant(\"platform.angular_components.tuesday\"),\n this.translateService.instant(\"platform.angular_components.wednesday\"),\n this.translateService.instant(\"platform.angular_components.thursday\"),\n this.translateService.instant(\"platform.angular_components.friday\"),\n this.translateService.instant(\"platform.angular_components.saturday\"),\n ],\n dayNamesShort: [\n this.translateService.instant(\"platform.angular_components.sunday_short\"),\n this.translateService.instant(\"platform.angular_components.monday_short\"),\n this.translateService.instant(\"platform.angular_components.tuesday_short\"),\n this.translateService.instant(\"platform.angular_components.wednesday_short\"),\n this.translateService.instant(\"platform.angular_components.thursday_short\"),\n this.translateService.instant(\"platform.angular_components.friday_short\"),\n this.translateService.instant(\"platform.angular_components.saturday_short\"),\n ],\n dayNamesMin: [\n this.translateService.instant(\"platform.angular_components.sunday_min\"),\n this.translateService.instant(\"platform.angular_components.monday_min\"),\n this.translateService.instant(\"platform.angular_components.tuesday_min\"),\n this.translateService.instant(\"platform.angular_components.wednesday_min\"),\n this.translateService.instant(\"platform.angular_components.thursday_min\"),\n this.translateService.instant(\"platform.angular_components.friday_min\"),\n this.translateService.instant(\"platform.angular_components.saturday_min\"),\n ],\n monthNames: [\n this.translateService.instant(\"platform.angular_components.january\"),\n this.translateService.instant(\"platform.angular_components.february\"),\n this.translateService.instant(\"platform.angular_components.march\"),\n this.translateService.instant(\"platform.angular_components.april\"),\n this.translateService.instant(\"platform.angular_components.may\"),\n this.translateService.instant(\"platform.angular_components.june\"),\n this.translateService.instant(\"platform.angular_components.july\"),\n this.translateService.instant(\"platform.angular_components.august\"),\n this.translateService.instant(\"platform.angular_components.september\"),\n this.translateService.instant(\"platform.angular_components.october\"),\n this.translateService.instant(\"platform.angular_components.november\"),\n this.translateService.instant(\"platform.angular_components.december\"),\n ],\n monthNamesShort: [\n this.translateService.instant(\"platform.angular_components.january_short\"),\n this.translateService.instant(\"platform.angular_components.february_short\"),\n this.translateService.instant(\"platform.angular_components.march_short\"),\n this.translateService.instant(\"platform.angular_components.april_short\"),\n this.translateService.instant(\"platform.angular_components.may_short\"),\n this.translateService.instant(\"platform.angular_components.june_short\"),\n this.translateService.instant(\"platform.angular_components.july_short\"),\n this.translateService.instant(\"platform.angular_components.august_short\"),\n this.translateService.instant(\"platform.angular_components.september_short\"),\n this.translateService.instant(\"platform.angular_components.october_short\"),\n this.translateService.instant(\"platform.angular_components.november_short\"),\n this.translateService.instant(\"platform.angular_components.december_short\"),\n ],\n today: this.translateService.instant(\"platform.angular_components.today\"),\n clear: this.translateService.instant(\"platform.angular_components.clear\"),\n dateFormat: this.translateService.instant(\"platform.angular_components.date_format\"),\n hourFormat: this.translateService.instant(\"platform.angular_components.hour_format\"),\n }\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input');\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Clipboard } from \"@angular/cdk/clipboard\";\n\nimport { ChipsField } from \"../../../configurations/fields/index\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"./chips-field.component.html\",\n styleUrls: [\"./chips-field.component.scss\"],\n})\nexport class ChipsFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: ChipsField;\n\n @Input()\n public formControl: FormControl;\n\n public feedbackMessageVisible = false;\n public copyButtonVisible = true;\n public inputRef: ElementRef;\n\n constructor(private readonly clipboard: Clipboard,\n private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) { }\n\n public onCopyFieldContent(): void {\n if (this.formControl.value) {\n this.copyButtonVisible = false;\n this.feedbackMessageVisible = true;\n\n setTimeout(() => {\n this.feedbackMessageVisible = false;\n this.copyButtonVisible = true;\n }, 3000);\n\n const content = this.formControl.value.join(this.field.separator || \"\\n\");\n\n this.clipboard.copy(content);\n\n if (this.field.onCopy) {\n this.field.onCopy(content);\n }\n }\n }\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input');\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\nimport { CountryPhonePickerField } from \"../../../configurations/fields/country-phone-picker-field\";\n\n@Component({\n templateUrl: \"./country-phone-picker-field.component.html\",\n})\nexport class CountryPhonePickerFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: CountryPhonePickerField;\n\n @Input()\n public formControl: FormControl;\n\n public inputRef: ElementRef;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) {}\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input');\n }\n}","import { ChangeDetectorRef, Component, ElementRef, HostListener, Input, Renderer2 } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { BlobField } from \"../../../configurations/fields/blob-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { fromEvent } from \"rxjs\";\nimport { filter, take } from \"rxjs/operators\";\n\n@Component({\n templateUrl: \"file-upload.component.html\",\n})\nexport class FileUploadComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: BlobField;\n @Input()\n public formControl: FormControl;\n\n public inputRef: HTMLInputElement;\n \n constructor(private readonly changeDetectorRef: ChangeDetectorRef,\n private readonly elementRef: ElementRef\n ) {\n super();\n }\n\n @HostListener('click')\n public onClick(): void {\n this.dispatchFocusInputRef();\n this.addEventOnBlur();\n }\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n private addEventOnBlur(): void {\n fromEvent(document, 'click')\n .pipe(\n filter((event: MouseEvent) => !this.elementRef.nativeElement.contains(event.target)),\n take(1)\n )\n .subscribe(() => this.inputRef.dispatchEvent(new Event('blur')));\n }\n\n private setInputRef(): void {\n this.inputRef = this.elementRef.nativeElement.querySelector('input') as HTMLInputElement;\n }\n\n private dispatchFocusInputRef(): void {\n this.inputRef.dispatchEvent(new Event('focus'));\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { LookupField } from \"../../../configurations/fields/lookup-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"lookup-field.component.html\",\n})\nexport class LookupFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: LookupField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { RadioButtonField } from \"../../../configurations/fields/radio-button-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"radion-button-field.component.html\",\n styles: [`\n s-button.horizontal-clear-option button {\n width: min-content !important;\n }\n\n .horizontal-radio-buttons-container {\n gap: 20px 40px;\n .radio-button-item {\n margin: 0;\n }\n }\n `],\n encapsulation: ViewEncapsulation.None,\n})\nexport class RadioButtonComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: RadioButtonField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onClick: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n constructor() { }\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onClick.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onClick) this.field.onClick(event);\n });\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public onClear(): void {\n this.formControl.reset();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { SelectField } from \"../../../configurations/fields/select-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"select-field.component.html\",\n})\nexport class SelectFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: SelectField;\n @Input()\n public formControl: FormControl;\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { SliderField } from \"../../../configurations/fields/slider-field\";\n\n@Component({\n templateUrl: \"slider-field.component.html\",\n styleUrls: [\"./slider-field.component.scss\"]\n})\nexport class SliderFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: SliderField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onChange: EventEmitter<any> = new EventEmitter();\n @Output()\n public onSlideEnd: EventEmitter<any> = new EventEmitter();\n\n private ngUnsubscribe = new Subject();\n\n public ngOnInit() {\n const defaultValue = this.field?.range ? [this.field.min, this.field.max] : this.field.min;\n if (!this.isValid(this.formControl.value)) {\n this.formControl.setValue(this.field.defaultValue ?? defaultValue);\n }\n this.subscribeToFormControlEvents();\n }\n\n private subscribeToFormControlEvents() {\n this.onChange.pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: FocusEvent) => {\n if (this.field.onChange) {\n this.field.onChange(event);\n }\n });\n\n this.onSlideEnd.pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: any) => {\n if (this.field.onSlideEnd) {\n this.field.onSlideEnd(event);\n }\n });\n }\n\n private isValid(value: any): boolean {\n if (this.field?.range) {\n return Array.isArray(value) && this.isValidRange(value);\n } else {\n return Number.isInteger(value) && this.isValidNoRange(value);\n }\n }\n\n private isValidRange(value: any[]): boolean {\n const [startValue, endValue] = value;\n return startValue >= this.field?.min && startValue <= this.field?.max &&\n endValue >= this.field?.min && endValue <= this.field?.max;\n }\n\n private isValidNoRange(value: number): boolean {\n return value >= this.field.min && value <= this.field.max;\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get fieldType() {\n return FieldType;\n }\n\n private getRangeLabel(): string {\n let [value0, value1] = this.formControl.value ?? [0, 0];\n const prefix = this.field.prefix ?? '';\n const suffix = this.field.suffix ?? '';\n const separator = this.field.rangeSeparator ?? ' - ';\n\n if (!value0 || value0 < this.field.min) {\n value0 = this.field.min;\n }\n\n if (!value1 || value1 > this.field.max) {\n value1 = this.field.max;\n }\n\n return `${prefix}${value0}${suffix}${separator}${prefix}${value1}${suffix}`;\n }\n\n private getNonRangeLabel(): string {\n let value = this.formControl?.value;\n const prefix = this.field.prefix ?? '';\n const suffix = this.field.suffix ?? '';\n\n if (!value || value < this.field.min) {\n value = this.field.min;\n }\n\n if (value > this.field.max) {\n value = this.field.max;\n }\n\n return `${prefix}${value}${suffix}`;\n }\n\n public get label() {\n return this.field.range ? this.getRangeLabel() : this.getNonRangeLabel();\n }\n\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { LocaleService } from '../locale/locale.service';\nimport { ToastService } from '../toast/toast.service';\nimport { TranslateService } from '@ngx-translate/core';\n\nexport type MicrophoneStatus = 'active' | 'inactive';\nexport interface SpeechResult {\n text: string;\n isFinal: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SpeechRecognitionService {\n hasSupportSpeechRecognition = false;\n isListening = false;\n readonly microphoneStatus$ = new Subject<MicrophoneStatus>();\n private recognition!: SpeechRecognition;\n private readonly TIMEOUT_NO_MESSAGE = 3000;\n\n constructor(\n private readonly localeService: LocaleService,\n private readonly ngZone: NgZone,\n private readonly toastService: ToastService,\n private translateService: TranslateService,\n ) {\n this.setRecognition();\n }\n\n listen() {\n const speechSubject = new Subject<SpeechResult>();\n if (this.isListening) {\n speechSubject.error('Already listening');\n }\n this.hasMicrophoneAccess.then((hasAccess) => {\n if (!hasAccess) {\n this.toastService.show({ severity: 'error', text: this.translateService.instant('platform.angular_components.no_microphone_permission') });\n speechSubject.error('Microphone access is disabled');\n return;\n }\n this.microphoneStatus$.next('active');\n\n this.isListening = true;\n this.recognition.continuous = true;\n this.recognition.interimResults = true;\n this.recognition.maxAlternatives = 1;\n let silenceTimer: any;\n const restartSilenceTimer = () => {\n if (silenceTimer !== undefined) {\n clearTimeout(silenceTimer);\n }\n\n silenceTimer = setTimeout(() => {\n this.recognition.stop();\n }, this.TIMEOUT_NO_MESSAGE);\n };\n let fullTranscript = '';\n let interimTranscript = '';\n\n this.recognition.onresult = (event: SpeechRecognitionEvent) => {\n this.ngZone.run(() => {\n restartSilenceTimer();\n let interimTranscript = '';\n for (let i = event.resultIndex; i < event.results.length; ++i) {\n const transcript = event.results[i][0].transcript;\n if (event.results[i].isFinal) {\n fullTranscript += transcript + '\\n';\n } else {\n interimTranscript += transcript;\n }\n }\n interimTranscript = interimTranscript;\n speechSubject.next({ text: fullTranscript + interimTranscript, isFinal: false });\n })\n };\n this.recognition.onerror = () => {\n this.ngZone.run(() => {\n if (silenceTimer !== undefined) {\n clearTimeout(silenceTimer);\n }\n this.isListening = false;\n speechSubject.error('Speech recognition error');\n this.microphoneStatus$.next('inactive')\n })\n };\n\n this.recognition.onend = () => {\n this.ngZone.run(() => {\n if (silenceTimer !== undefined) {\n clearTimeout(silenceTimer);\n }\n speechSubject.next({ text: fullTranscript + interimTranscript, isFinal: true });\n this.isListening = false;\n speechSubject.complete();\n this.microphoneStatus$.next('inactive')\n })\n };\n this.recognition.start();\n })\n return speechSubject;\n }\n\n\n stop() {\n this.recognition.stop();\n }\n\n private setRecognition() {\n const SpeechRecognitionConstructor =\n (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition;\n\n if (!SpeechRecognitionConstructor) {\n console.warn('Speech recognition is not supported in this browser.');\n return;\n }\n this.hasSupportSpeechRecognition = true;\n this.recognition = new SpeechRecognitionConstructor();\n this.recognition.lang = this.localeService.getLocaleOptions()?.locale || 'pt-BR';\n this.recognition.interimResults = false;\n this.recognition.maxAlternatives = 1;\n this.localeService.getLocale().subscribe(locale => this.recognition.lang = locale);\n }\n\n private get hasMicrophoneAccess() {\n return new Promise(async (resolve) => {\n const permission = await navigator.permissions.query({ name: 'microphone' });\n if (permission.state === 'denied') {\n resolve(false);\n } else if (permission.state === 'granted') {\n resolve(true)\n } else if (permission.state === 'prompt') {\n try {\n navigator.mediaDevices.getUserMedia({ audio: true }).then((stream) => {\n stream.getTracks().forEach(t => t.stop());\n }).catch(() => {\n resolve(false);\n });\n permission.onchange = () => {\n this.ngZone.run(() => {\n resolve(permission.state === 'granted' ? true : false);\n })\n }\n } catch (error) {\n resolve(false);\n }\n }\n })\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormControl, FormGroup } from \"@angular/forms\";\n\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { TextAreaIAField } from \"../../../configurations/fields/text-area-ia-field\";\nimport { FormField } from \"../../../configurations/form-field\";\nimport { IAssistService } from \"../../../services/IAssist/iassist.service\";\nimport { IAssistResponse } from \"../../../services/IAssist/models/iassist-response\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\nimport { TextAreaFieldConfig } from \"../../../configurations/fields/text-area-field\";\nimport { SpeechRecognitionService } from \"../../../../speech-recognition/speech-recognition.service\"\n\n@Component({\n templateUrl: \"./text-area-ia-field.component.html\",\n styleUrls: [\"./text-area-ia-field.component.scss\"],\n})\nexport class TextAreaIAFieldComponent implements BaseFieldComponentConfig, OnInit {\n @Input()\n public field: TextAreaIAField;\n\n @Input()\n public formControl: FormControl;\n\n public fields: FormField[];\n public formGroup: FormGroup;\n public isVisible = false;\n public isLoading = false;\n\n constructor(\n private readonly _iassistService: IAssistService,\n private readonly _formBuilder: FormBuilder,\n private readonly _translateService: TranslateService,\n public speechRecognitionService: SpeechRecognitionService\n ) { }\n\n public ngOnInit(): void {\n this._createDialogFields();\n this._createDialogFormGroup();\n }\n\n public showDialog(): void {\n this.isVisible = true;\n }\n\n public onHideDialog(): void {\n this.formGroup.get(\"context\").setValue(\"\");\n }\n\n public hideDialog(): void {\n this.isVisible = false;\n }\n\n public submitContext(): void {\n const context = this.formGroup.get(\"context\");\n this.isLoading = true;\n\n this._iassistService\n .askIA(\n context.value,\n {\n id: this.field.id,\n label: this.field.label,\n placeholder: this.field.placeholder,\n prompt: this.field.prompt,\n },\n )\n .pipe(\n catchError((err: HttpErrorResponse) => {\n this.isLoading = false;\n return throwError(err);\n })\n )\n .subscribe((res: IAssistResponse) => {\n this.formControl.setValue(res.text);\n this.isLoading = false;\n });\n\n this.hideDialog();\n }\n\n private _createDialogFields(): void {\n this.fields = [\n new FormField({\n name: \"context\",\n type: FieldType.Text,\n label: this._translateService.instant(\"platform.angular_components.context\"),\n size: { sm: 12, md: 12, lg: 12, xl: 12 },\n speechRecognition: this.field.speechRecognition ?? false,\n keepContext: this.field.keepContext ?? false,\n maxLength: this.field.maxLength,\n } as TextAreaFieldConfig),\n ];\n }\n\n private _createDialogFormGroup(): void {\n this.formGroup = this._formBuilder.group({\n context: [\"\"],\n });\n }\n}\n","import { ChangeDetectorRef, Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { TextAreaField } from \"../../../configurations/fields/text-area-field\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"text-area-field.component.html\",\n})\nexport class TextAreaFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: TextAreaField;\n @Input()\n public formControl: FormControl;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Fieldset } from \"../../../configurations/structure/fieldset\";\nimport { BaseStructureComponentConfig } from \"../base-structure-component\";\n\n@Component({\n template: `\n <s-fieldset [toggleable]=\"true\" (beforeToggle)=\"config.beforeToggle ? config.beforeToggle($event) : 'null'\"\n (afterToggle)=\"config.afterToggle ? config.afterToggle($event) : 'null'\">\n <s-header>{{config.header}}</s-header>\n <ng-container *ngFor=\"let conf of config.configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: conf, group: group, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n </s-fieldset>\n `,\n})\nexport class FieldsetComponent implements BaseStructureComponentConfig {\n @Input()\n public id: string;\n @Input()\n public config: Fieldset;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FormField } from \"../../../configurations/form-field\";\nimport { Grid } from \"../../../configurations/grid/grid\";\nimport { Section } from \"../../../configurations/structure/section\";\nimport { BaseStructureComponentConfig } from \"../base-structure-component\";\n\n@Component({\n selector: 's-section',\n template: `\n <h3 *ngIf=\"config?.header\" class=\"sds-section-title\">{{config.header}}</h3>\n <section [class.flex-container]=\"flexContainer\" [style.justify-content]=\"config.justifyContent\" [style.align-items]=\"config.alignItems\">\n <ng-container *ngFor=\"let conf of configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: conf, group: group, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n </section>\n `,\n styles: [`\n .flex-container {\n display: flex\n }\n\n :host {\n height: 100%\n }\n\n section {\n height: 100%;\n }\n `],\n})\nexport class SectionComponent implements BaseStructureComponentConfig {\n @Input()\n public id: string;\n @Input()\n public config: Section;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n\n get flexContainer() {\n return this.config.isFlex;\n }\n\n get configs() {\n const _configs: any[] = this.config?.configs || [];\n return _configs.filter((x: any) => x.visible === undefined || x.visible());\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { Row } from \"../../../configurations/grid/row\";\n\n@Component({\n selector: 's-row',\n template: `\n <div class=\"ui-fluid\" [formGroup]=\"group\">\n <div class=\"ui-g\">\n <ng-container *ngFor=\"let field of config.fields\">\n <div [ngClass]=\"field.gridClass\" *ngIf=\"field.visible()\">\n <ng-container *ngIf=\"field.type === FieldType.Custom && field.label\" >\n <label *sInfoSign=\"field.infoSign; displayTime: field.displayTimeInfoSign; useFocusedInputRef: field.useInfoSignFocusedInputRef\" [for]=\"field.name\" [ngClass]=\"{ required: field.required() }\" >\n {{ field.label }}\n </label>\n </ng-container>\n\n <ng-container *sDynamicForm=\"{ id: id, config: field, group: group}\"></ng-container>\n\n <s-control-errors [form]=\"group\" [control]=\"group.controls[field.name]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"></s-control-errors>\n\n <ng-container *ngIf=\"field.footer\">\n <ng-container *ngIf=\"field.footer.help\">\n <span *ngIf=\"field.footer.help.visible({ abstractControl: group.controls[field.name], formField: field })\" style=\"color: #888B99\">{{ field.footer.help.text }}</span>\n </ng-container>\n\n <ng-container *ngIf=\"field.footer.link\">\n <div\n *ngIf=\"field.footer.link.visible({ abstractControl: group.controls[field.name], formField: field })\"\n class=\"ui-g\"\n style=\"margin-left: -17px\"\n >\n <s-button\n [label]=\"field.footer.link.label\"\n priority=\"link\"\n (onClick)=\"field.footer.link.onClick({ abstractControl: group.controls[field.name], formField: field })\"\n [auxiliary]=\"true\"\n ></s-button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-template *ngIf=\"field?.bottomTemplate\" [ngTemplateOutlet]=\"field.bottomTemplate\"></ng-template>\n </div>\n </ng-container>\n </div>\n `,\n})\nexport class RowComponent {\n @Input()\n public id: string;\n @Input()\n public config: Row;\n @Input()\n public group: FormGroup;\n @Input()\n public errorMessages: any;\n\n FieldType = FieldType;\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages) return this.isFunction(errorMessages) ? errorMessages() : errorMessages;\n return this.errorMessages;\n }\n\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FormField } from \"../../configurations/form-field\";\nimport { FieldType } from \"../../configurations/field-type\";\n\n@Component({\n selector: \"s-dynamic-field\",\n templateUrl: \"./dynamic-field.component.html\",\n})\nexport class DynamicFieldComponent {\n @Input()\n public id: string;\n\n @Input()\n public fields: FormField[];\n\n @Input()\n public form: FormGroup;\n\n @Input()\n public errorMessages?: any;\n\n FieldType = FieldType;\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages)\n return this.isFunction(errorMessages)\n ? { ...this.errorMessages, ...errorMessages() }\n : { ...this.errorMessages, ...errorMessages };\n return this.errorMessages;\n }\n\n public isFunction(value: any): boolean {\n return value instanceof Function;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { first, takeUntil } from \"rxjs/operators\";\n\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"../../../configurations/field-type\";\nimport { BignumberField } from \"../../../configurations/fields/bignumber-field\";\nimport { LocaleService } from \"../../../../locale/locale.service\";\nimport { isNullOrUndefined } from \"../../../../utils/utils\";\n\n@Component({\n templateUrl: \"bignumber-field.component.html\",\n styleUrls: [\"./bignumber-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class BignumberFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: BignumberField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(\"inputRef\") inputRef: ElementRef;\n\n private ngUnsubscribe = new Subject();\n\n constructor(\n private readonly localeService: LocaleService,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n }\n\n public ngOnInit() {\n this.onLocaleService();\n\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) {\n this.field.onFocus(event);\n }\n });\n\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) {\n this.field.onInput(event);\n }\n });\n\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) {\n this.field.onComplete(event);\n }\n });\n\n this.onScale();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get fieldType() {\n return FieldType;\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe({\n next: () => {\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n decimalSeparator: this.localeService.getDecimalSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n thousandsSeparator: this.localeService.getGroupingSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.currencySymbol) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n currencySymbol: this.field.type === FieldType.Integer || this.field.type === FieldType.Double ? \"\" : \"R$\",\n };\n }\n },\n error: () =>\n (this.field.numberLocaleOptions = this.field.numberLocaleOptions ?? {\n thousandsSeparator: \".\",\n decimalSeparator: \",\",\n currencySymbol: this.field.type === FieldType.Integer || this.field.type === FieldType.Double ? \"\" : \"R$\",\n }),\n });\n }\n\n private onScale(): void {\n // Currently, this component is used for the following types\n // FieldType.Number, FieldType.Integer and FieldType.Double\n if (isNullOrUndefined(this.field.scale)) {\n this.field.scale = this.field.type === FieldType.Integer ? 0 : 2;\n }\n }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { ChangeDetectorRef, Component, ElementRef, Input, OnInit, ViewChild } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\nimport { first } from \"rxjs/operators\";\nimport { LocaleService } from \"../../../../locale/locale.service\";\nimport { CurrencyField } from \"../../../configurations/fields/currency-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { CurrencyService } from \"../../../../../utils/currency/currency.service\";\n\n/**\n * @deprecated Should use bignumber instead\n */\n@Component({\n templateUrl: \"currency-field.component.html\",\n})\nexport class CurrencyFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig, OnInit {\n @Input()\n public field: CurrencyField;\n @Input()\n public formControl: FormControl;\n\n @ViewChild(\"inputRef\") inputRef: ElementRef;\n\n constructor(\n readonly currencyService: CurrencyService,\n private readonly localeService: LocaleService,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n }\n\n ngOnInit(): void {\n this.onLocaleService();\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe({\n next: () => {\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n decimalSeparator: this.localeService.getDecimalSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n thousandsSeparator: this.localeService.getGroupingSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.currencySymbol) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n currencySymbol: \"R$\",\n };\n }\n },\n error: () =>\n (this.field.numberLocaleOptions = this.field.numberLocaleOptions ?? {\n thousandsSeparator: \".\",\n decimalSeparator: \",\",\n currencySymbol: \"R$\",\n }),\n });\n }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\"\n\nimport { PasswordField } from \"../../../configurations/fields/password-field\";\n\n@Component({\n templateUrl: \"./password-field.component.html\",\n styleUrls: [\"./password-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PasswordFieldComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input()\n public field: PasswordField;\n\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('inputRef') inputRef: ElementRef;\n\n private ngUnsubscribe = new Subject();\n public passwordVisible = false;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngOnInit(): void {\n this.onFocus\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: FocusEvent) => {\n if (this.field.onFocus) {\n this.field.onFocus(event);\n }\n });\n this.onInput\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: InputEvent) => {\n if (this.field.onInput) {\n this.field.onInput(event);\n }\n });\n this.onComplete\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: any) => {\n if (this.field.onComplete) {\n this.field.onComplete(event);\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public onChangeVisible(): void {\n this.passwordVisible = !this.passwordVisible;\n }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n}\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { TextField } from \"../../../configurations/fields/text-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { InputMask } from \"primeng/inputmask\";\n\n@Component({\n templateUrl: \"text-field.component.html\",\n styleUrls: [\"./text-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TextFieldComponent extends BaseFieldComponent implements OnInit, AfterViewInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: TextField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('inputRef') inputRef: ElementRef | InputMask;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) {\n super();\n }\n\n public ngOnInit() {\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngAfterViewInit(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n get inputElement() {\n if (this.inputRef instanceof InputMask) {\n return this.inputRef?.inputViewChild?.nativeElement;\n } else {\n return this.inputRef;\n }\n }\n\n getCharacterPattern(): string {\n return typeof this.field.characterPattern === \"function\"\n ? this.field.characterPattern()\n : this.field.characterPattern;\n }\n\n getUnmask(): boolean {\n return typeof this.field.unmask === \"function\"\n ? this.field.unmask()\n : this.field.unmask;\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { CheckboxField } from \"../../../configurations/fields\";\nimport { BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"checkbox-field.component.html\",\n})\nexport class CheckboxFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: CheckboxField;\n\n @Input()\n public formControl: FormControl;\n}\n","import { Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { EditorField } from \"../../../configurations/fields/editor-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\n\n@Component({\n templateUrl: \"./editor-field.component.html\",\n})\nexport class EditorFieldComponent extends BaseFieldComponent implements BaseFieldComponentConfig {\n @Input()\n public field: EditorField;\n\n @Input()\n public formControl: FormControl;\n}\n","import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { Subject } from \"rxjs\";\nimport { first, takeUntil } from \"rxjs/operators\";\n\nimport { LocaleService } from \"../../../../locale/locale.service\";\nimport { NumberAlignmentOption } from \"../../../../number-input/index\";\nimport { DecimalField } from \"../../../configurations/fields/decimal-field\";\nimport { BaseFieldComponent, BaseFieldComponentConfig } from \"../base-field-component\";\nimport { FieldType } from \"./../../../configurations/field-type\";\n\n@Component({\n templateUrl: \"number-field.component.html\",\n styleUrls: [\"./number-field.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class NumberFieldComponent extends BaseFieldComponent implements OnInit, OnDestroy, BaseFieldComponentConfig {\n @Input()\n public field: DecimalField;\n @Input()\n public formControl: FormControl;\n\n @Output()\n public onInput: EventEmitter<any> = new EventEmitter();\n @Output()\n public onFocus: EventEmitter<any> = new EventEmitter();\n @Output()\n public onComplete: EventEmitter<any> = new EventEmitter();\n\n public inputRef: ElementRef;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private readonly localeService: LocaleService,\n private readonly elementRef: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n }\n\n public ngOnInit() {\n this.onLocaleService();\n\n this.onFocus.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: FocusEvent) => {\n if (this.field.onFocus) this.field.onFocus(event);\n });\n\n this.onInput.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onInput) this.field.onInput(event);\n });\n\n this.onComplete.pipe(takeUntil(this.ngUnsubscribe)).subscribe((event: any) => {\n if (this.field.onComplete) this.field.onComplete(event);\n });\n }\n\n public ngAfterViewInit(): void {\n this.setInputRef();\n this.changeDetectorRef.detectChanges();\n }\n\n public ngOnDestroy() {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public get numberAlignmentOption() {\n return NumberAlignmentOption;\n }\n\n public get fieldType() {\n return FieldType;\n }\n\n private onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe({\n next: () => {\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n decimalSeparator: this.localeService.getDecimalSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n thousandsSeparator: this.localeService.getGroupingSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.currencySymbol) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n currencySymbol: \"R$\",\n };\n }\n },\n error: () =>\n (this.field.numberLocaleOptions = this.field.numberLocaleOptions ?? {\n thousandsSeparator: \".\",\n decimalSeparator: \",\",\n currencySymbol: \"R$\",\n }),\n });\n }\n\n private setInputRef(): void {\n const input = this.elementRef.nativeElement.querySelector(\"input\");\n this.inputRef = input;\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { ProfilePictureField } from \"../../../configurations/fields/profile-picture\";\n\n@Component({\n templateUrl: \"./profile-picture-field.component.html\",\n})\nexport class ProfilePictureFieldComponent {\n @Input()\n public field: ProfilePictureField;\n\n @Input()\n public formControl: FormControl;\n}\n","import { Component, Input } from '@angular/core';\nimport { ButtonField } from '../../../configurations/fields/button-field';\n\n@Component({\n selector: 's-button-field',\n templateUrl: './button-field.component.html',\n styleUrls: ['./button-field.component.scss']\n})\nexport class ButtonFieldComponent {\n\n @Input() field: ButtonField;\n\n clickedButton($event: Event) {\n if (this.field.onClick) {\n this.field.onClick($event);\n }\n }\n\n handleMouseEnter() {\n if (this.field.mouseEnter) {\n this.field.mouseEnter(this.field);\n }\n }\n\n handleMouseLeave() {\n if (this.field.mouseLeave) {\n this.field.mouseLeave(this.field);\n }\n }\n\n}\n","import { ComponentFactoryResolver, ComponentRef, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { Subscription } from \"rxjs\";\n\nimport { FileUploadComponent } from \"./components/fields/file-upload/file-upload.component\";\nimport { RadioButtonComponent } from \"./components/fields/radio-button/radio-button-field.component\";\nimport { RowComponent } from \"./components/grid/row/row.component\";\nimport { FieldsetComponent } from \"./components/structure/fieldset/fieldset.component\";\nimport { SectionComponent } from \"./components/structure/section/section.component\";\n\n// fields\nimport { AutocompleteFieldComponent } from \"./components/fields/autocomplete/autocomplete-field.component\";\nimport { BignumberFieldComponent } from \"./components/fields/bignumber/bignumber-field.component\";\nimport { BooleanFieldComponent } from \"./components/fields/boolean/boolean-field.component\";\nimport { BooleanSwitchFieldComponent } from \"./components/fields/boolean/boolean-switch-field.component\";\nimport { CalendarFieldComponent } from \"./components/fields/calendar/calendar-field.component\";\nimport { ChipsFieldComponent } from \"./components/fields/chips/chips-field.component\";\nimport { CountryPhonePickerFieldComponent } from \"./components/fields/country-phone-picker/country-phone-picker-field.component\";\nimport { CurrencyFieldComponent } from \"./components/fields/currency/currency-field.component\";\nimport { LookupFieldComponent } from \"./components/fields/lookup/lookup-field.component\";\nimport { PasswordFieldComponent } from \"./components/fields/password/password-field.component\";\nimport { SelectFieldComponent } from \"./components/fields/select/select-field.component\";\nimport { SliderFieldComponent } from \"./components/fields/slider/slider-field.component\";\nimport { TextAreaIAFieldComponent } from \"./components/fields/text-area-ia/text-area-ia-field.component\";\nimport { TextAreaFieldComponent } from \"./components/fields/text-area/text-area-field.component\";\nimport { TextFieldComponent } from \"./components/fields/text/text-field.component\";\n\nimport { CheckboxFieldComponent } from \"./components/fields\";\nimport { ButtonFieldComponent } from \"./components/fields/button-field/button-field.component\";\nimport { EditorFieldComponent } from \"./components/fields/editor/editor-field.component\";\nimport { ProfilePictureFieldComponent } from \"./components/fields/profile-picture/profile-picture-field.component\";\nimport { FieldType } from \"./configurations/field-type\";\nimport { FormField } from \"./configurations/form-field\";\nimport { GridType } from \"./configurations/grid-type\";\nimport { Row } from \"./configurations/grid/row\";\nimport { StructureType } from \"./configurations/structure-type\";\nimport { Structure } from \"./configurations/structure/structure\";\n\nexport abstract class DynamicForm {\n group: FormGroup;\n errorMessages: any;\n abstract createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef): any;\n abstract updateVariables(component: ComponentRef<any>): void;\n abstract getComponent(): any;\n\n constructor({ group, errorMessages }: { group: FormGroup; errorMessages: any }) {\n this.group = group;\n this.errorMessages = errorMessages;\n }\n}\n\nexport class DynamicField extends DynamicForm {\n field: FormField;\n errorMessages: any;\n\n constructor({ group, field, errorMessages }: { group: FormGroup; field: FormField; errorMessages: any }) {\n super({\n group,\n errorMessages,\n });\n\n this.field = field;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.field = this.field;\n // Must be this way because some teams use name like \"e070emp.codemp\"\n component.instance.formControl = this.group[\"controls\"][this.field.name];\n\n this._switchEmptyStringToNull(component);\n\n component.instance.errorMessages = this.errorMessages;\n\n this.setVariablesByType(component);\n return component;\n }\n\n private _switchEmptyStringToNull(component: ComponentRef<any>) {\n switch (component.instance.field.type) {\n case FieldType.Password:\n case FieldType.String:\n case FieldType.Text:\n case FieldType.TextIA:\n const valueChanges$: Subscription = component.instance.formControl.valueChanges\n .subscribe((value: unknown) => {\n if (value === \"\") {\n component.instance.formControl.setValue(null, { emitEvent: false });\n }\n });\n\n component.onDestroy(() => {\n valueChanges$.unsubscribe();\n });\n\n return;\n }\n }\n\n public setVariablesByType(component: ComponentRef<any>) {\n if (this.field.type == FieldType.Time) {\n component.instance.timeOnly = true;\n }\n if ([FieldType.LocalDateTime, FieldType.DateTime, FieldType.Time].includes(this.field.type)) {\n component.instance.showTime = true;\n }\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.field = this.field;\n component.instance.formControl = this.group[\"controls\"][this.field.name];\n this.setVariablesByType(component);\n }\n\n public getComponent(): any {\n switch (this.field.type) {\n case FieldType.Autocomplete:\n return AutocompleteFieldComponent;\n case FieldType.Binary:\n case FieldType.String:\n return TextFieldComponent;\n case FieldType.Boolean:\n return this.field.representedBy === \"switch\" ? BooleanSwitchFieldComponent : BooleanFieldComponent;\n case FieldType.Checkbox:\n return CheckboxFieldComponent;\n case FieldType.Chips:\n return ChipsFieldComponent;\n case FieldType.CountryPhonePicker:\n return CountryPhonePickerFieldComponent;\n case FieldType.Date:\n case FieldType.DateTime:\n case FieldType.LocalDateTime:\n case FieldType.Time:\n return CalendarFieldComponent;\n case FieldType.Number:\n case FieldType.Integer:\n case FieldType.Double:\n return BignumberFieldComponent;\n case FieldType.Enum:\n return SelectFieldComponent;\n case FieldType.Lookup:\n return LookupFieldComponent;\n case FieldType.Money:\n return CurrencyFieldComponent;\n case FieldType.Radio:\n return RadioButtonComponent;\n case FieldType.Text:\n return TextAreaFieldComponent;\n case FieldType.TextIA:\n return TextAreaIAFieldComponent;\n case FieldType.Password:\n return PasswordFieldComponent;\n case FieldType.Blob:\n return FileUploadComponent;\n case FieldType.Slider:\n return SliderFieldComponent;\n case FieldType.ProfilePicture:\n return ProfilePictureFieldComponent;\n case FieldType.Editor:\n return EditorFieldComponent;\n case FieldType.Button:\n return ButtonFieldComponent;\n case FieldType.Custom:\n return this.field.CustomFieldComponentClass;\n default:\n throw new Error(`Trying to use an unsupported type (${this.field.type}).`);\n }\n }\n}\n\nexport class DynamicStructure extends DynamicForm {\n group: FormGroup;\n config: Structure;\n errorMessages: any;\n\n constructor({ group, config, errorMessages }: { group: FormGroup; config: Structure; errorMessages: any }) {\n super({\n group,\n errorMessages,\n });\n this.config = config;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory) as ComponentRef<any>;\n component.instance.config = this.config;\n component.instance.group = this.group;\n return component;\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.structure = this.config;\n component.instance.group = this.group;\n }\n\n public getComponent(): any {\n switch (this.config.type) {\n case StructureType.Fieldset:\n return FieldsetComponent;\n case StructureType.Section:\n return SectionComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n }\n }\n}\n\nexport class DynamicGrid extends DynamicForm {\n group: FormGroup;\n config: Row;\n\n constructor({ group, config, errorMessages }: { group: FormGroup; config: Row; errorMessages: any }) {\n super({ group, errorMessages });\n this.config = config;\n }\n\n public createComponent(resolver: ComponentFactoryResolver, container: ViewContainerRef) {\n const componentFactory = resolver.resolveComponentFactory(this.getComponent());\n const component = container.createComponent(componentFactory)\n component.instance.config = this.config;\n component.instance.group = this.group;\n component.instance.errorMessages = this.errorMessages;\n return component;\n }\n\n public updateVariables(component: ComponentRef<any>) {\n component.instance.config = this.config;\n component.instance.group = this.group;\n }\n\n public getComponent() {\n switch (this.config.type) {\n case GridType.Row:\n return RowComponent;\n default:\n throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n }\n }\n}\n","import { ComponentFactoryResolver, ComponentRef, Directive, Input, OnChanges, OnDestroy, OnInit, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\nimport { FieldType } from \"./configurations/field-type\";\nimport { FormField } from \"./configurations/form-field\";\nimport { GridType } from \"./configurations/grid-type\";\nimport { Grid } from \"./configurations/grid/grid\";\nimport { StructureType } from \"./configurations/structure-type\";\nimport { Structure } from \"./configurations/structure/structure\";\nimport { DynamicField, DynamicForm, DynamicGrid, DynamicStructure } from \"./dynamic-form\";\nimport { Row } from \"./configurations/grid/row\";\n\n@Directive({ selector: \"[sDynamicForm]\" })\nexport class DynamicFormDirective implements OnInit, OnChanges, OnDestroy {\n private id: string;\n private config: Structure | FormField | Grid | Row;\n private group: FormGroup;\n private errorMessages: FormGroup;\n private directiveConfig: DynamicForm;\n\n @Input()\n set sDynamicForm(context: { id: string; config: FormField; structure: Structure; group: FormGroup; errorMessages: any }) {\n const { id, config, group, errorMessages } = context;\n this.id = id;\n this.config = config;\n this.group = group;\n this.errorMessages = errorMessages;\n }\n\n public component: ComponentRef<any>;\n\n constructor(private resolver: ComponentFactoryResolver, private container: ViewContainerRef) { }\n\n public ngOnInit() {\n if (this.isField()) {\n if (!((this.config as FormField).id) && this.id) {\n (this.config as FormField).id = this.id + \"-\" + (this.config as FormField).name;\n }\n\n this.directiveConfig = new DynamicField({\n group: this.group,\n field: this.config as FormField,\n errorMessages: this.errorMessages,\n });\n } else if (this.isStructure()) {\n this.directiveConfig = new DynamicStructure({\n group: this.group,\n config: this.config as Structure,\n errorMessages: this.errorMessages,\n });\n } else if (this.isGrid()) {\n this.directiveConfig = new DynamicGrid({\n group: this.group,\n config: this.config as Row,\n errorMessages: this.errorMessages,\n });\n } else throw new Error(`Trying to use an unsupported type (${this.config.type}).`);\n\n this.component = this.directiveConfig.createComponent(this.resolver, this.container);\n this.component.instance.id = this.id;\n this.component.instance.errorMessages = this.errorMessages;\n }\n\n public ngOnChanges() {\n if (this.component) {\n this.directiveConfig.updateVariables(this.component);\n this.component.instance.errorMessages = this.errorMessages;\n }\n }\n\n public ngOnDestroy(): void {\n this.component.destroy();\n }\n\n public isField() {\n return FieldType[this.config.type];\n }\n\n public isStructure() {\n return StructureType[this.config.type];\n }\n\n public isGrid() {\n return GridType[this.config.type];\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\nimport { Field } from \"../../configurations/fields/field\";\n\n@Component({\n selector: 's-field-label',\n templateUrl: './field-label.component.html',\n})\nexport class FieldLabelComponent {\n @Input()\n public field: Field;\n\n @Input()\n public fieldContainerRef: HTMLElement;\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FieldLabelComponent } from \"./field-label.component\";\nimport { InfoSignModule } from \"../../../info-sign/info-sign.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n InfoSignModule\n ],\n declarations: [FieldLabelComponent],\n exports: [FieldLabelComponent],\n})\nexport class FieldLabelModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { ButtonModule } from \"../../../../button/button.module\";\nimport { BignumberInputModule } from \"../../../../bignumber-input/bignumber-input.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { BignumberFieldComponent } from \"./bignumber-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n BignumberInputModule,\n TooltipModule,\n InputMaskModule,\n InputTextModule,\n FieldLabelModule\n ],\n declarations: [BignumberFieldComponent],\n exports: [BignumberFieldComponent],\n})\nexport class BignumberFieldModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { CheckboxModule } from \"../../../../checkbox/checkbox.module\";\nimport { CheckboxFieldComponent } from \"./checkbox-field.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, CheckboxModule],\n declarations: [CheckboxFieldComponent],\n exports: [CheckboxFieldComponent],\n})\nexport class CheckboxFieldModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { NumberInputModule } from \"../../../../number-input/number-input.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { CurrencyFieldComponent } from \"./currency-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n NumberInputModule,\n TooltipModule,\n InputMaskModule,\n InputTextModule,\n FieldLabelModule\n ],\n declarations: [CurrencyFieldComponent],\n exports: [CurrencyFieldComponent],\n})\nexport class CurrencyFieldModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { EditorModule } from \"primeng/editor\";\n\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\nimport { EditorFieldComponent } from \"./editor-field.component\";\n\n@NgModule({\n imports: [CommonModule, FormsModule, ReactiveFormsModule, EditorModule, FieldLabelModule],\n declarations: [EditorFieldComponent],\n exports: [EditorFieldComponent],\n})\nexport class EditorFieldModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { LocalizedNumberInputModule } from \"../../../../localized-number-input/localized-number-input.module\";\nimport { NumberInputModule } from \"../../../../number-input/number-input.module\";\nimport { ButtonModule } from \"../../../../button/button.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { NumberFieldComponent } from \"./number-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n LocalizedNumberInputModule,\n NumberInputModule,\n ButtonModule,\n TooltipModule,\n InputMaskModule,\n InputTextModule,\n FieldLabelModule\n ],\n declarations: [NumberFieldComponent],\n exports: [NumberFieldComponent],\n})\nexport class NumberFieldModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { ButtonModule } from \"../../../../button/button.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { PasswordStrengthModule } from \"../../../../password-strength/password-strength.module\";\nimport { PasswordFieldComponent } from \"./password-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n TooltipModule,\n PasswordStrengthModule,\n InputTextModule,\n FieldLabelModule\n ],\n declarations: [PasswordFieldComponent],\n exports: [PasswordFieldComponent],\n})\nexport class PasswordFieldModule {}","import { Component, TemplateRef, ViewChild } from \"@angular/core\";\n\n@Component({\n selector: \"s-header\",\n template: `\n <ng-template #headerTemplate>\n <ng-content></ng-content>\n </ng-template>`,\n})\nexport class HeaderComponent {\n @ViewChild('headerTemplate', { static: true })\n public readonly template: TemplateRef<any>;\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-footer\",\n template: `<ng-content></ng-content>`,\n})\nexport class FooterComponent {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { HeaderComponent } from \"./header.component\";\nimport { FooterComponent } from \"./footer.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [HeaderComponent, FooterComponent],\n exports: [HeaderComponent, FooterComponent],\n})\nexport class StructureModule {}\n","import {\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport Cropper from \"cropperjs\";\nimport { FooterComponent } from \"../structure/footer.component\";\nimport { HeaderComponent } from \"../structure/header.component\";\n\n@Component({\n selector: \"s-image-cropper\",\n templateUrl: \"./image-cropper.component.html\",\n styleUrls: [\"../../../../node_modules/cropperjs/dist/cropper.min.css\", \"./image-cropper.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class ImageCropperComponent implements OnInit, OnChanges {\n public static nextId = 0;\n\n @Input()\n public id = `s-image-cropper-${ImageCropperComponent.nextId++}`;\n\n @Input()\n public visible = false;\n\n @Input()\n public header = \"Recortar imagem\";\n\n @Input()\n public cropLabel = \"Recortar\";\n\n @Input()\n public selectAnotherLabel = \"Trocar\";\n\n @Input()\n public removeLabel = \"Remover\";\n\n @Input()\n public cancelLabel = \"Cancelar\";\n\n @Input()\n public emptyStateTitle = \"Selecione uma foto, em seguida você poderá ajustá-la\";\n\n @Input()\n public emptyStateActionLabel = \"Escolher imagem\";\n\n @Input()\n public emptyStateIconClass = \"fa fa-picture-o\";\n\n @Input()\n public aspectRatio = NaN;\n\n @Input()\n public rounded = false;\n\n @Input()\n public allowSelectAnother = true;\n\n @Input()\n public allowRemove = true;\n\n @Input()\n public allowCancel = true;\n\n @Input()\n public imageSource?: string;\n\n @Output()\n public visibleChange = new EventEmitter<boolean>();\n\n @Output()\n public changeImage = new EventEmitter();\n\n @Output()\n public croppedImage = new EventEmitter<string>();\n\n @Output()\n public croppedCanvas = new EventEmitter<HTMLCanvasElement>();\n\n @Output()\n public removedImage = new EventEmitter();\n\n @Output()\n public cancel = new EventEmitter();\n\n @ViewChild(\"image\", { static: true })\n public image: ElementRef;\n\n @ContentChild(HeaderComponent, { static: true })\n public headerSection: HeaderComponent;\n\n @ContentChild(FooterComponent, { static: true })\n public footerSection: FooterComponent;\n\n public cropper: Cropper;\n\n public ngOnInit() {\n if (this.imageSource) this.initCropper();\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n if (changes.imageSource && changes.imageSource.currentValue) {\n this.initCropper();\n }\n }\n\n private initCropper() {\n if (this.cropper) {\n this.cropper.destroy();\n }\n\n this.image.nativeElement.src = this.imageSource;\n this.cropper = new Cropper(this.image.nativeElement, {\n aspectRatio: this.rounded ? 1 : this.aspectRatio,\n guides: false,\n dragMode: \"move\" as Cropper.DragMode,\n minCropBoxHeight: 2,\n minCropBoxWidth: 2,\n toggleDragModeOnDblclick: false,\n });\n }\n\n public getRoundedCanvas(sourceCanvas: HTMLCanvasElement) {\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n const width = sourceCanvas.width;\n const height = sourceCanvas.height;\n canvas.width = width;\n canvas.height = height;\n context.imageSmoothingEnabled = true;\n context.drawImage(sourceCanvas, 0, 0, width, height);\n context.globalCompositeOperation = \"destination-in\";\n context.beginPath();\n context.arc(width / 2, height / 2, Math.min(width, height) / 2, 0, 2 * Math.PI, true);\n context.fill();\n return canvas;\n }\n\n public onCropImage() {\n if (!this.imageSource) {\n this.croppedImage.emit();\n this.croppedCanvas.emit();\n } else {\n const _croppedCanvas = this.rounded ? this.getRoundedCanvas(this.cropper.getCroppedCanvas()) : this.cropper.getCroppedCanvas();\n\n this.croppedCanvas.emit(_croppedCanvas);\n this.croppedImage.emit(_croppedCanvas.toDataURL());\n }\n\n this.visibleChange.emit(false);\n }\n\n public onChangeImage() {\n this.changeImage.emit();\n }\n\n public onRemoveImage() {\n this.imageSource = undefined;\n this.removedImage.emit();\n }\n\n public onCancel() {\n this.visibleChange.emit(false);\n this.cancel.emit();\n }\n\n public onModalVisibleChange(visible: boolean) {\n if (!visible) this.onCancel();\n this.visibleChange.emit(visible);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { DialogModule } from \"primeng/dialog\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\nimport { StructureModule } from \"../structure/structure.module\";\nimport { ImageCropperComponent } from \"./image-cropper.component\";\n\n@NgModule({\n imports: [CommonModule, DialogModule, ButtonModule, EmptyStateModule, StructureModule],\n declarations: [ImageCropperComponent],\n exports: [ImageCropperComponent, StructureModule],\n entryComponents: [ImageCropperComponent],\n})\nexport class ImageCropperModule {}\n","import { Injectable, ComponentFactoryResolver, ApplicationRef, Injector, EmbeddedViewRef, ComponentRef } from \"@angular/core\";\nimport { ImageCropperComponent } from \"./image-cropper.component\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil, delay } from \"rxjs/operators\";\n\n@Injectable()\nexport class ImageCropperService {\n public activeCropper: ActiveCropper;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private appRef: ApplicationRef, private injector: Injector) {}\n\n public show(config?: ImageCropperConfig) {\n if (this.activeCropper) this.destroy(this.activeCropper);\n\n const activeCropper = {\n componentRef: this.componentFactoryResolver.resolveComponentFactory(ImageCropperComponent).create(this.injector),\n ngUnsubscribe: new Subject(),\n };\n\n this.activeCropper = activeCropper;\n\n this.appRef.attachView(activeCropper.componentRef.hostView);\n const domElem = (activeCropper.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.configureInstance(activeCropper, config);\n activeCropper.componentRef.instance.visible = true;\n\n activeCropper.componentRef.instance.visibleChange\n .pipe(\n takeUntil(this.activeCropper.ngUnsubscribe),\n delay(1000)\n )\n .subscribe(visible => {\n if (!visible) this.destroy(activeCropper);\n });\n }\n\n private configureInstance(activeCropper: ActiveCropper, config?: ImageCropperConfig) {\n const instance = activeCropper.componentRef.instance;\n\n if (config) {\n Object.keys(config).forEach(key => {\n const value = config[key];\n if (typeof value !== \"function\") instance[key] = value;\n else if (typeof value === \"function\") {\n instance[key].pipe(takeUntil(activeCropper.ngUnsubscribe)).subscribe((...param: any[]) => config[key](...param));\n }\n });\n }\n\n instance.visibleChange.pipe(takeUntil(activeCropper.ngUnsubscribe)).subscribe(visible => (instance.visible = visible));\n }\n\n private destroy(activeCropper: ActiveCropper) {\n activeCropper.ngUnsubscribe.next();\n activeCropper.ngUnsubscribe.complete();\n\n this.appRef.detachView(activeCropper.componentRef.hostView);\n activeCropper.componentRef.destroy();\n }\n}\n\nexport interface ActiveCropper {\n componentRef?: ComponentRef<ImageCropperComponent>;\n ngUnsubscribe?: Subject<any>;\n}\n\nexport interface ImageCropperConfig {\n id?: any;\n header?: string;\n cropLabel?: string;\n selectAnotherLabel?: string;\n removeLabel?: string;\n cancelLabel?: string;\n emptyStateTitle?: string;\n emptyStateActionLabel?: string;\n emptyStateIconClass?: string;\n aspectRatio?: number;\n rounded?: boolean;\n allowSelectAnother?: boolean;\n allowRemove?: boolean;\n allowCancel?: boolean;\n imageSource?: string;\n\n cancel?: () => any;\n changeImage?: () => any;\n removedImage?: () => any;\n croppedImage?: (imageSource: string) => any;\n croppedCanvas?: (imageSource: HTMLCanvasElement) => any;\n}\n","export enum ThumbnailSize {\n Small = \"small\",\n Medium = \"medium\",\n Large = \"large\",\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport class ThumbnailService {\n public getBinaryFile(img: HTMLImageElement) {\n return new Promise(resolve => {\n const getOrientation = this.getOrientation.bind(this);\n\n let http = new XMLHttpRequest();\n http.addEventListener(\"load\", () => {\n if (http.readyState === 4 && (http.status == 200 || http.status === 0)) {\n const orientation = getOrientation(http.response);\n http = null;\n resolve(orientation);\n }\n });\n\n http.addEventListener(\"error\", () => {\n http = null;\n throw new Error(\"Não foi possível carregar a imagem\");\n });\n\n http.open(\"GET\", img.src, true);\n http.responseType = \"arraybuffer\";\n http.send(null);\n });\n }\n\n /**\n * Retorna a tag da orientação EXIF {-1} Não definido, {-2} Não é formato JPEG, {1, 2, 3, 4, 5, 6, 7, 8} valores da orientação.\n */\n private getOrientation(file: ArrayBuffer): number {\n const view = new DataView(file);\n\n if (view.getUint16(0, false) != 0xffd8) return -2; // not jpeg\n\n const length = view.byteLength;\n let offset = 2;\n\n while (offset < length) {\n const marker = view.getUint16(offset, false);\n offset += 2;\n\n if (marker == 0xffe1) {\n if (view.getUint32((offset += 2), false) != 0x45786966) {\n return -1; // not defined\n }\n const little = view.getUint16((offset += 6), false) == 0x4949;\n offset += view.getUint32(offset + 4, little);\n const tags = view.getUint16(offset, little);\n offset += 2;\n\n for (let i = 0; i < tags; i++)\n if (view.getUint16(offset + i * 12, little) == 0x0112) return view.getUint16(offset + i * 12 + 8, little);\n // tslint:disable-next-line: no-bitwise\n } else if ((marker & 0xff00) != 0xff00) break;\n else offset += view.getUint16(offset, false);\n }\n return -1; // not defined\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n ViewChild,\n OnDestroy,\n Output,\n EventEmitter,\n} from \"@angular/core\";\n\nimport { from, Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { ThumbnailSize } from \"./thumbnail-size\";\nimport { ThumbnailService } from \"./thumbnail.service\";\n\n@Component({\n selector: \"s-thumbnail\",\n templateUrl: \"./thumbnail.component.html\",\n styleUrls: [\"./thumbnail.component.scss\"],\n})\nexport class ThumbnailComponent implements AfterViewInit, OnDestroy {\n public static nextId = 0;\n public fallback = false;\n public orientation: number;\n\n @ViewChild(\"img\", { static: false })\n public imgEl: ElementRef;\n\n @Input()\n public id = `s-thumbnail-${ThumbnailComponent.nextId++}`;\n\n @Input()\n public size: ThumbnailSize = ThumbnailSize.Medium;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public imageFallback?: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public iconClass = \"far fa-image\";\n\n @Input()\n public hasAction = false;\n\n @Input()\n public actionIconClass = \"fas fa-camera\";\n\n @Input()\n public isTile = false;\n\n @Input()\n public isBrand = false;\n\n private ngUnsubscribe = new Subject();\n\n constructor(private thumbnailService: ThumbnailService) { }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public ngAfterViewInit(): void {\n if (this.imgEl) {\n this.imgEl.nativeElement.addEventListener(\"load\", () => {\n from(this.thumbnailService.getBinaryFile(this.imgEl.nativeElement))\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((orientation: number) => (this.orientation = orientation));\n });\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { ThumbnailComponent } from \"./thumbnail.component\";\nimport { ThumbnailService } from \"./thumbnail.service\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ThumbnailComponent],\n exports: [ThumbnailComponent],\n providers: [ThumbnailService],\n})\nexport class ThumbnailModule {}\n","export interface FileValidationErrors {\n file: File;\n validation: FileValidation,\n}\n\nexport enum FileValidation {\n MaxFileSize = \"maxFileSize\",\n MaxFileLimit = \"maxFileLimit\",\n TypeInvalid = \"typeInvalid\",\n UnsupportedExtension = \"unsupportedExtension\",\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { ConfirmationService } from \"primeng/api\";\n\nimport { ImageCropperService } from \"../image-cropper/image-cropper.service\";\nimport { ConfirmationTexts, CropperLabelsConfig, FileValidation, FileValidationErrors, ProfilePicturePickerData } from \"./models/index\";\n\n@Component({\n selector: \"s-profile-picture-picker\",\n templateUrl: \"profile-picture-picker.component.html\",\n styleUrls: [\"profile-picture-picker.component.scss\"],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ProfilePicturePickerComponent),\n multi: true,\n }],\n})\nexport class ProfilePicturePickerComponent implements OnInit, ControlValueAccessor {\n @Input()\n public simpleTitle: string;\n\n @Input()\n public actionTitle: string;\n\n @Input()\n public subtitle: string;\n\n @Input()\n public aspectRatio = 1;\n\n @Input()\n public cropperLabelsConfig: CropperLabelsConfig;\n\n @Input()\n public removeButtonLabel: string;\n\n @Input()\n public changeButtonLabel: string;\n\n @Input()\n public confirmationTexts: ConfirmationTexts;\n\n @Input()\n public maxFileSize: number;\n\n @Input()\n public accept: string;\n\n @Input()\n public supportedExtensions: string[] = [];\n\n @Input()\n public image: string | ProfilePicturePickerData;\n\n @ViewChild(\"uploadPicture\")\n public uploadPicture: ElementRef;\n\n @ViewChild(\"info\")\n public info: ElementRef;\n\n @ViewChild(\"thumbnail\", { read: ElementRef })\n public thumbnail: ElementRef;\n\n @ViewChild(\"fileInput\", { read: ElementRef })\n public fileInput: ElementRef;\n\n /**\n * @deprecated Use imageChange instead.\n */\n @Output()\n public changedImage: EventEmitter<string> = new EventEmitter();\n\n @Output()\n public imageChange = new EventEmitter<string | ProfilePicturePickerData>()\n\n @Output()\n public removedImage = new EventEmitter();\n\n @Output()\n public invalidFile: EventEmitter<FileValidationErrors> = new EventEmitter();\n\n public get imageBase64(): string {\n return typeof this.image === \"string\" ? this.image : this.image?.base64;\n }\n\n private _onChange: (value: string | ProfilePicturePickerData) => void;\n private _onTouched: () => void;\n\n constructor(\n private readonly imageCropperService: ImageCropperService,\n private readonly confirmationService: ConfirmationService,\n private readonly translateService: TranslateService,\n ) { }\n\n public writeValue(value: string | ProfilePicturePickerData): void {\n this.image = value;\n }\n\n public registerOnChange(onChange: (value: ProfilePicturePickerData) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public ngOnInit(): void {\n this._normalizeSuportedExtensions();\n }\n\n @HostListener(\"dragover\", [\"$event\"])\n public onDragOver(event: DragEvent) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n @HostListener(\"dragleave\", [\"$event\"])\n public onDragLeave(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n @HostListener(\"drop\", [\"$event\"])\n public onDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n this._onTouched?.();\n\n const files: File[] = [];\n const dataTransferFiles = event.dataTransfer.files;\n\n for (let i = 0; i < dataTransferFiles.length; i++) {\n files.push(dataTransferFiles.item(i));\n }\n\n this._showImageCropper(files);\n }\n\n // Verificando o redimensionamento para ajustar o design para ficar responsivo.\n @HostListener(\"window:resize\")\n public onResize(): void {\n if (this.uploadPicture && this.info && this.thumbnail) {\n const uploadPictureWidth = this._getWidthElement(this.uploadPicture);\n const infoWidth = this._getWidthElement(this.info);\n const thumbnailWidth = this._getWidthElement(this.thumbnail);\n\n if (thumbnailWidth + infoWidth > uploadPictureWidth) {\n this.uploadPicture.nativeElement.classList.add(\"upload-picture--small\");\n } else {\n this.uploadPicture.nativeElement.classList.remove(\"upload-picture--small\");\n }\n }\n }\n\n public selectPhoto(): void {\n const fileInputElement = this.fileInput.nativeElement;\n fileInputElement.value = \"\";\n fileInputElement.click();\n\n this._onTouched?.();\n }\n\n public removePhoto(): void {\n this.confirmationService.confirm({\n message: this.confirmationTexts?.removalMessage ?? this.translateService.instant(\"platform.angular_components.confirmation_remove_image\"),\n acceptLabel: this.confirmationTexts?.removalAcceptLabel ?? this.translateService.instant(\"platform.angular_components.remove\"),\n rejectLabel: this.confirmationTexts?.removalRejectLabel ?? this.translateService.instant(\"platform.angular_components.cancel\"),\n header: this.confirmationTexts?.removalHeader ?? this.translateService.instant(\"platform.angular_components.remove_image\"),\n rejectButtonStyleClass: \"ui-button-secondary\",\n accept: () => {\n const fileInputElement = this.fileInput.nativeElement;\n fileInputElement.value = \"\";\n this.image = null;\n this.removedImage.emit();\n },\n });\n }\n\n public photoSelected(event: any): void {\n this._showImageCropper(event.srcElement.files);\n }\n\n private _showImageCropper(files: File[]): void {\n if (!this._validateData(files)) {\n return;\n }\n\n const file = files[0];\n\n const fileReader = new FileReader();\n fileReader.readAsDataURL(file);\n fileReader.onloadend = (fileEvent: any) => {\n this.imageCropperService.show({\n imageSource: fileEvent.target.result,\n croppedImage: image => {\n this.changedImage.emit(image);\n\n const data: ProfilePicturePickerData = { source: file, base64: image};\n \n // Se o tipo do image for string eu preciso atualizar e mandar para o imageChange uma string.\n // Se for ProfilePicturePickerData eu preciso mandar o data completo.\n if (typeof this.image === \"string\") {\n this.image = image;\n this.imageChange.emit(image);\n } else {\n this.image = data;\n this.imageChange.emit(data);\n }\n \n this._onChange?.(this.image);\n },\n changeImage: () => this.selectPhoto(),\n allowSelectAnother: false,\n aspectRatio: this.aspectRatio,\n ...this.cropperLabelsConfig,\n });\n };\n }\n\n private _normalizeSuportedExtensions(): void {\n this.supportedExtensions = this.supportedExtensions\n ?.map(extension => extension.replace(\".\", \"\").toLocaleLowerCase());\n }\n\n private _validateData(files: File[]): boolean {\n if (!files.length) {\n return false;\n }\n\n if (files.length > 1) {\n this.invalidFile.emit({ file: null, validation: FileValidation.MaxFileLimit });\n return false;\n }\n\n const file = files[0];\n\n if (!file.type.includes(\"image\")) {\n this.invalidFile.emit({ file, validation: FileValidation.TypeInvalid });\n return false;\n }\n\n if (!this._validateFileExtension(file)) {\n this.invalidFile.emit({ file, validation: FileValidation.UnsupportedExtension });\n return false;\n }\n\n if (!this._validateFileSize(file)) {\n this.invalidFile.emit({ file, validation: FileValidation.MaxFileSize });\n return false;\n }\n\n return true;\n }\n\n private _validateFileExtension(file: File): boolean {\n if (this.supportedExtensions?.length) {\n const extension = file.name.split(\".\").pop().toLowerCase();\n return this.supportedExtensions.includes(extension);\n }\n return true;\n }\n\n private _validateFileSize(file: File): boolean {\n if (this.maxFileSize) {\n return file.size <= this.maxFileSize;\n }\n return true;\n }\n\n private _getWidthElement(element: ElementRef): number {\n const { left, right } = element.nativeElement.getBoundingClientRect();\n return right - left;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { ConfirmationService } from \"primeng/api\";\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\n\nimport { ButtonModule } from '../button/button.module';\nimport { ImageCropperModule } from '../image-cropper/image-cropper.module';\nimport { ImageCropperService } from '../image-cropper/image-cropper.service';\nimport { ThumbnailModule } from '../thumbnail/thumbnail.module';\nimport { ProfilePicturePickerComponent } from \"./profile-picture-picker.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n ButtonModule,\n ThumbnailModule,\n ImageCropperModule,\n ConfirmDialogModule,\n ],\n declarations: [ProfilePicturePickerComponent],\n exports: [ProfilePicturePickerComponent],\n providers: [\n ImageCropperService,\n ConfirmationService,\n ],\n})\nexport class ProfilePicturePickerModule { }","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { ProfilePicturePickerModule } from \"../../../../profile-picture-picker/profile-picture-picker.module\";\nimport { ProfilePictureFieldComponent } from \"./profile-picture-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ProfilePicturePickerModule,\n FieldLabelModule\n ],\n declarations: [ProfilePictureFieldComponent],\n exports: [ProfilePictureFieldComponent],\n})\nexport class ProfilePictureModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { KeyFilterModule } from \"primeng/keyfilter\";\n\nimport { ButtonModule } from \"../../../../button/button.module\";\nimport { TooltipModule } from \"../../../../tooltip/tooltip.module\";\nimport { TextFieldComponent } from \"./text-field.component\";\nimport { FieldLabelModule } from \"../../field-label/field-label.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n ButtonModule,\n TooltipModule,\n InputMaskModule,\n InputTextModule,\n KeyFilterModule,\n FieldLabelModule\n ],\n declarations: [TextFieldComponent],\n exports: [TextFieldComponent],\n})\nexport class TextFieldModule {}\n","import { ChangeDetectorRef, Component, ElementRef, forwardRef, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 's-textarea',\n templateUrl: './text-area.component.html',\n styleUrls: ['./text-area.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextAreaComponent),\n multi: true,\n },\n ],\n})\nexport class TextAreaComponent implements ControlValueAccessor {\n onChange: (value: string) => void = () => { };\n onTouched: (value: string) => void = () => { };\n disabled = false;\n value = '';\n private _textAreaElement: ElementRef<HTMLTextAreaElement>;\n\n @ViewChild('textArea', { read: ElementRef })\n public get textAreaElement(): ElementRef<HTMLTextAreaElement> {\n return this._textAreaElement;\n }\n\n public set textAreaElement(value: ElementRef<HTMLTextAreaElement>) {\n this._textAreaElement = value;\n setTimeout(() => {\n this.renderTextArea = true;\n this.cdr.detectChanges();\n })\n }\n\n @Input() inputId = `textarea-${Math.random()}`;\n @Input() rows = 5;\n @Input() speechRecognition = false;\n @Input() keyFilter: string | RegExp;\n @Input() keepContext = false;\n @Input() speechRecognitionPlaceholder = '';\n @Input() maxLength: number;\n @Input() placeholder: string;\n private _inputStyle: Partial<CSSStyleDeclaration> = {\n resize: 'vertical'\n }\n @Input() get inputStyle(): Partial<CSSStyleDeclaration> {\n return this._inputStyle;\n }\n set inputStyle(value: Partial<CSSStyleDeclaration>) {\n this._inputStyle = {\n ...value,\n ...this._inputStyle,\n };\n }\n @Input() readOnly = false;\n\n renderTextArea = false;\n\n constructor(private readonly cdr: ChangeDetectorRef) { }\n\n writeValue(obj: string): void {\n this.value = obj;\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n setValue(value: string) {\n if (this.disabled) {\n return;\n }\n this.value = value;\n this.writeValue(this.value);\n this.onChange(this.value);\n this.onTouched(this.value);\n }\n\n handleRecognizedText(recognizedText: string) {\n this.setValue(recognizedText);\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { LocaleService } from '../locale/locale.service';\nimport { Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TextToSpeechService {\n private readonly utterance = new SpeechSynthesisUtterance();\n private activeVoice: SpeechSynthesisVoice;\n voices: SpeechSynthesisVoice[] = [];\n constructor(private readonly locale: LocaleService, private readonly ngZone: NgZone) {\n this.setVoices();\n }\n\n private setVoices() {\n let _voices = speechSynthesis.getVoices();\n\n if (!_voices.length) {\n speechSynthesis.onvoiceschanged = () => {\n this.ngZone.run(() => {\n _voices = speechSynthesis.getVoices();\n const currentLang = this.locale.getLocaleOptions()?.locale || 'pt-BR';\n this.setActiveVoice(_voices, currentLang);\n this.locale.getLocale().subscribe((locale) => {\n this.setActiveVoice(_voices, locale);\n })\n })\n }\n }\n }\n\n /**\n * Updates the active voice\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisVoice/voiceURI)\n * @param voiceUri\n */\n updateVoice(voiceUri: string) {\n this.activeVoice = this.voices.find((voice) => voice.voiceURI === voiceUri);\n }\n\n\n speak(text: string, speed: number = 1) {\n if (!this.activeVoice) {\n return;\n }\n return new Promise((resolve) => {\n this.utterance.text = text;\n this.utterance.voice = this.activeVoice;\n this.utterance.rate = speed;\n speechSynthesis.speak(this.utterance);\n this.utterance.onend = () => {\n this.ngZone.run(() => {\n resolve(true);\n })\n }\n })\n }\n\n pause() {\n speechSynthesis.pause();\n }\n\n resume() {\n speechSynthesis.resume();\n }\n\n cancel() {\n speechSynthesis.cancel();\n }\n\n get hasVoice() {\n return !!this.activeVoice;\n }\n\n private setActiveVoice(voices: SpeechSynthesisVoice[], lang: string) {\n const _voice = voices.find((voice) => voice.lang === lang);\n if (_voice) {\n this.activeVoice = _voice;\n }\n }\n}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { SpeechRecognitionService } from '../speech-recognition.service';\nimport { TextToSpeechService } from '../text-to-speech.service';\n\n@Component({\n selector: 's-speech-recognition',\n templateUrl: './speech-recognition.component.html',\n styleUrls: ['./speech-recognition.component.scss']\n})\nexport class SpeechRecognitionComponent implements OnInit, OnDestroy {\n private static TOOLBAR_ACTIVE = false;\n @Input() textAreaElement: HTMLTextAreaElement;\n @Input() keepContext = false;\n @Input() speechRecognitionPlaceholder = '';\n private _recognizedText = '';\n private originalTextAreaElementText = '';\n private isDoneTextToSpeech = false;\n private readonly onDestroy$ = new Subject<void>();\n private readonly VOICE_SPEEDS = [0.5, 1, 1.5, 2];\n private readonly keydownEventListener = (event: KeyboardEvent) => {\n if (this.disabled) {\n event.preventDefault();\n }\n }\n\n disabled = false;\n isListeningUserVoice = false;\n voiceSpeed = 1;\n isDisabledMicrophone = false;\n\n canRenderMicrophone = true;\n canRenderTextToSpeech = true;\n canRenderListeningText = false;\n canRenderDiscard = false;\n canRenderAprove = false;\n canRenderTextToSpeechToolbar = false;\n\n isPlayingTextToSpeech = false;\n\n @Output() recognizedText = new EventEmitter<string>();\n constructor(\n private readonly speechRecognitionService: SpeechRecognitionService,\n private readonly textToSpeechService: TextToSpeechService,\n private readonly translateService: TranslateService\n ) { }\n\n ngOnInit(): void {\n if (!this.hasSpeechRecognitionBrowserApi) {\n return;\n }\n if (!this.textAreaElement) {\n throw new Error('textAreaElement is required');\n }\n this.textAreaElement.placeholder = this.speechRecognitionPlaceholder ? this.speechRecognitionPlaceholder : this.translateService.instant(\"platform.angular_components.text_area_speech_recognition_placeholder\");\n this.textAreaElement.addEventListener('keydown', this.keydownEventListener)\n this.speechRecognitionService.microphoneStatus$.pipe(takeUntil(this.onDestroy$)).subscribe((status) => {\n if (status === 'active') {\n this.onCloseToolbar();\n }\n })\n }\n\n onListen() {\n if (this.isDisabledMicrophone || this.isListening) {\n return;\n }\n this.disabled = true;\n this.canRenderMicrophone = false;\n this.canRenderListeningText = true;\n this.originalTextAreaElementText = this.textAreaElement.value;\n this.textAreaElement.value = '';\n this.isListeningUserVoice = true;\n this.speechRecognitionService.listen()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe(({ text, isFinal }) => {\n this._recognizedText = text;\n this.setTextAreaValue(text);\n this.scrollTextAreaBottom();\n if (isFinal) {\n this.canRenderAprove = true;\n this.canRenderDiscard = true;\n this.canRenderListeningText = false;\n this.isListeningUserVoice = false;\n }\n }, () => {\n this.isListeningUserVoice = false;\n this.canRenderMicrophone = true;\n this.isDisabledMicrophone = false;\n this.canRenderListeningText = false;\n this.disabled = false;\n })\n }\n\n private scrollTextAreaBottom() {\n setTimeout(() => {\n this.textAreaElement.scrollTop = this.textAreaElement.scrollHeight;\n }, 120)\n }\n\n onOpenToolbar() {\n if (this.isDisabledTextToSpeech) {\n return;\n }\n this.canRenderTextToSpeechToolbar = true;\n this.canRenderTextToSpeech = false;\n SpeechRecognitionComponent.TOOLBAR_ACTIVE = true;\n this.speak();\n }\n\n onCloseToolbar() {\n this.canRenderTextToSpeechToolbar = false;\n this.canRenderTextToSpeech = true;\n this.stopTextToSpeech();\n this.voiceSpeed = 1;\n SpeechRecognitionComponent.TOOLBAR_ACTIVE = false;\n }\n onDiscard() {\n this.canRenderAprove = false;\n this.canRenderDiscard = false;\n this.canRenderMicrophone = true;\n this.canRenderTextToSpeechToolbar = false;\n this.canRenderTextToSpeech = true;\n this._recognizedText = '';\n this.setTextAreaValue(this.originalTextAreaElementText);\n this.disabled = false;\n this.stopTextToSpeech();\n SpeechRecognitionComponent.TOOLBAR_ACTIVE = false;\n }\n\n onAprove() {\n this.canRenderAprove = false;\n this.canRenderDiscard = false;\n this.canRenderMicrophone = true;\n this.canRenderTextToSpeechToolbar = false;\n this.canRenderTextToSpeech = true;\n if (this.keepContext) {\n const breakLine = this.originalTextAreaElementText.length > 0 ? '\\n' : '';\n this.originalTextAreaElementText += `${breakLine}${this._recognizedText}`\n } else {\n this.originalTextAreaElementText = this._recognizedText\n }\n this.recognizedText.emit(this.keepContext ? this.originalTextAreaElementText : this._recognizedText);\n this.scrollTextAreaBottom();\n this._recognizedText = '';\n this.disabled = false;\n this.textToSpeechService.cancel();\n SpeechRecognitionComponent.TOOLBAR_ACTIVE = false;\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n toggleTextToSpeech() {\n if (this.isPlayingTextToSpeech) {\n this.textToSpeechService.pause();\n } else {\n if (this.isDoneTextToSpeech) {\n this.speak();\n } else {\n this.textToSpeechService.resume();\n }\n }\n this.isPlayingTextToSpeech = !this.isPlayingTextToSpeech;\n }\n\n restartTextToSpeech() {\n this.textToSpeechService.cancel();\n this.speak();\n }\n\n updateVoiceSpeed() {\n const voiceSpeedIndex = this.VOICE_SPEEDS.indexOf(this.voiceSpeed);\n const nextVoiceSpeedIndex = this.VOICE_SPEEDS[voiceSpeedIndex + 1] ? voiceSpeedIndex + 1 : 0;\n this.voiceSpeed = this.VOICE_SPEEDS[nextVoiceSpeedIndex];\n this.textToSpeechService.cancel();\n this.speak()\n }\n\n stopListening() {\n this.speechRecognitionService.stop();\n }\n\n get isListening() {\n return this.speechRecognitionService.isListening\n }\n\n get hasSpeechRecognitionBrowserApi() {\n return this.speechRecognitionService.hasSupportSpeechRecognition;\n }\n\n get isDisabledTextToSpeech() {\n const hasTextToSpeechVoice = this.textToSpeechService.hasVoice;\n return !this.textToSpeech || !hasTextToSpeechVoice || this.isListening || SpeechRecognitionComponent.TOOLBAR_ACTIVE;\n }\n\n private setTextAreaValue(value: string) {\n this.textAreaElement.value = value;\n }\n\n private stopTextToSpeech() {\n this.isPlayingTextToSpeech = false;\n this.textToSpeechService.cancel();\n }\n\n private speak() {\n this.isDoneTextToSpeech = false;\n this.isPlayingTextToSpeech = true;\n this.textToSpeechService.speak(this.textToSpeech, this.voiceSpeed).then(() => {\n this.isPlayingTextToSpeech = false;\n this.isDoneTextToSpeech = true;\n });\n }\n\n private get textToSpeech() {\n return this.textAreaElement.value;\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SpeechRecognitionComponent } from './speech-recognition/speech-recognition.component';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n declarations: [SpeechRecognitionComponent],\n imports: [\n CommonModule,\n TranslateModule\n ],\n exports: [SpeechRecognitionComponent]\n})\nexport class SpeechRecognitionModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TextAreaComponent } from './text-area/text-area.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpeechRecognitionModule } from '../speech-recognition/speech-recognition.module';\nimport { KeyFilterModule } from 'primeng/keyfilter';\n\n\n\n@NgModule({\n declarations: [TextAreaComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpeechRecognitionModule,\n KeyFilterModule\n ],\n exports: [TextAreaComponent]\n})\nexport class TextAreaModule { }\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, ContentChild, EventEmitter, Input, Output } from \"@angular/core\";\nimport { HeaderComponent } from \"../structure/header.component\";\nimport { FieldSetToggle } from \"./fieldset.models\";\n\n@Component({\n selector: \"s-fieldset\",\n templateUrl: \"./fieldset.component.html\",\n styleUrls: [\"./fieldset.component.scss\"],\n animations: [\n trigger('toggleAnimation', [\n transition(':enter', [\n style({ opacity: 0, height: 0 }),\n animate('300ms ease-out', style({ opacity: 1, height: '*' })),\n ]),\n transition(':leave', [\n style({ opacity: 1, height: '*' }),\n animate('300ms ease-in', style({ opacity: 0, height: 0 })),\n ]),\n state('open', style({ opacity: 1, height: '*' })),\n state('closed', style({ opacity: 0, height: 0 })),\n transition('open <=> closed', animate('300ms ease')),\n ]),\n ],\n})\nexport class FieldsetComponent {\n @Input() legend = '';\n @Input() toggleable = false;\n @Input() icon = '';\n @Input() destroyOnHide = true;\n @ContentChild(HeaderComponent) readonly headerTemplate: HeaderComponent;\n\n @Output() beforeToggle = new EventEmitter<FieldSetToggle>();\n @Output() afterToggle = new EventEmitter<FieldSetToggle>();\n active = true;\n\n toggleActive(originalEvent: PointerEvent | KeyboardEvent) {\n if (!this.toggleable) {\n return;\n }\n this.beforeToggle.next({ collapsed: this.active, originalEvent })\n this.active = !this.active;\n this.afterToggle.next({ collapsed: this.active, originalEvent })\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\n\n@Directive({\n selector: '[sActivatedContent]'\n})\nexport class AccessibilityEventDirective implements OnDestroy, OnInit {\n @Output() sActivatedContent = new EventEmitter<PointerEvent | KeyboardEvent>();\n @Input() tabindex = 0;\n @Input() disabled = false;\n private readonly EVENT_LISTENER = (event: PointerEvent | KeyboardEvent) => {\n if (event instanceof KeyboardEvent) {\n const key = event.key;\n const validKeys = ['Enter', ' '];\n if (!validKeys.includes(key)) {\n return;\n }\n }\n this.sActivatedContent.next(event);\n }\n constructor(private readonly elementRef: ElementRef<HTMLElement>) { }\n\n ngOnInit() {\n this.setTabIndex();\n this.checkAccessbilityEvents();\n }\n\n\n private setTabIndex() {\n const hasTabIndex = this.element.tabIndex !== 0;\n if (hasTabIndex) {\n return;\n }\n this.element.tabIndex = this.tabindex;\n }\n\n private checkAccessbilityEvents() {\n this.element.addEventListener('click', this.EVENT_LISTENER);\n this.element.addEventListener('keydown', this.EVENT_LISTENER);\n }\n\n private get element() {\n return this.elementRef.nativeElement;\n }\n\n ngOnDestroy(): void {\n this.element.removeEventListener('click', this.EVENT_LISTENER);\n this.element.removeEventListener('keydown', this.EVENT_LISTENER);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AccessibilityEventDirective } from './directives/accessibility-event.directive';\n\n\n\n@NgModule({\n declarations: [AccessibilityEventDirective],\n imports: [\n CommonModule\n ],\n exports: [AccessibilityEventDirective]\n})\nexport class AccessibilityEventsModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FieldsetComponent } from \"./fieldset.component\";\nimport { AccessibilityEventsModule } from \"../accessibility-events/accessibility-events.module\";\n\n@NgModule({\n imports: [CommonModule, AccessibilityEventsModule],\n declarations: [FieldsetComponent],\n exports: [FieldsetComponent],\n})\nexport class FieldsetModule { }\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { HotkeyModule, HotkeysService } from \"angular2-hotkeys\";\nimport { AutoCompleteModule } from \"primeng/autocomplete\";\nimport { ButtonModule as PrimeButtonModule } from \"primeng/button\";\nimport { CalendarModule } from \"primeng/calendar\";\nimport { CheckboxModule } from \"primeng/checkbox\";\nimport { ChipsModule } from \"primeng/chips\";\nimport { DialogModule } from \"primeng/dialog\";\nimport { DropdownModule } from \"primeng/dropdown\";\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { InputTextareaModule } from \"primeng/inputtextarea\";\nimport { KeyFilterModule } from \"primeng/keyfilter\";\nimport { MultiSelectModule } from \"primeng/multiselect\";\nimport { PanelModule } from \"primeng/panel\";\nimport { RadioButtonModule } from \"primeng/radiobutton\";\nimport { SliderModule } from 'primeng/slider';\nimport { TableModule as PrimeNGTableModule } from \"primeng/table\";\n\nimport { MouseEventsModule } from \"../mouse-events/mouse-events.module\";\nimport { IAssistService } from \"./services/IAssist/iassist.service\";\n\n// Modules\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { BignumberInputModule } from \"../bignumber-input/bignumber-input.module\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { CalendarMaskModule } from \"../calendar-mask/calendar-mask.module\";\nimport { ControlErrorsModule } from \"../control-errors/control-errors.module\";\nimport { CountryPhonePickerModule } from \"../country-phone-picker/country-phone-picker.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\nimport { FileUploadModule } from \"../file-upload/file-upload.module\";\nimport { InfoSignModule } from \"../info-sign/info-sign.module\";\nimport { LoadingStateModule } from \"../loading-state/loading-state.module\";\nimport { LocaleModule } from \"../locale/locale.module\";\nimport { LocalizedNumberInputModule } from \"../localized-number-input/localized-number-input.module\";\nimport { MaskFormatterModule } from \"../mask/mask-formatter.module\";\nimport { NumberInputModule } from \"../number-input/number-input.module\";\nimport { PasswordStrengthModule } from \"../password-strength/password-strength.module\";\nimport { SwitchModule } from \"../switch/switch.module\";\nimport { TableHeaderCheckboxModule } from \"../table-header/table-header-checkox.module\";\nimport { TableModule } from \"../table/table.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\n// Components\nimport { AutocompleteFieldComponent } from \"./components/fields/autocomplete/autocomplete-field.component\";\nimport { BooleanFieldComponent } from \"./components/fields/boolean/boolean-field.component\";\nimport { BooleanSwitchFieldComponent } from \"./components/fields/boolean/boolean-switch-field.component\";\nimport { CalendarFieldComponent } from \"./components/fields/calendar/calendar-field.component\";\nimport { ChipsFieldComponent } from \"./components/fields/chips/chips-field.component\";\nimport { CountryPhonePickerFieldComponent } from \"./components/fields/country-phone-picker/country-phone-picker-field.component\";\nimport { FileUploadComponent } from \"./components/fields/file-upload/file-upload.component\";\nimport { LookupFieldComponent } from \"./components/fields/lookup/lookup-field.component\";\nimport { RadioButtonComponent } from \"./components/fields/radio-button/radio-button-field.component\";\nimport { SelectFieldComponent } from \"./components/fields/select/select-field.component\";\nimport { SliderFieldComponent } from \"./components/fields/slider/slider-field.component\";\nimport { TextAreaIAFieldComponent } from \"./components/fields/text-area-ia/text-area-ia-field.component\";\nimport { TextAreaFieldComponent } from \"./components/fields/text-area/text-area-field.component\";\nimport { FieldsetComponent } from \"./components/structure/fieldset/fieldset.component\";\nimport { SectionComponent } from \"./components/structure/section/section.component\";\n\n// Grid\nimport { RowComponent } from \"./components/grid/row/row.component\";\n// Lookup\nimport { LookupComponent } from \"./components/lookup/lookup.component\";\n\n// Dynamic-form\nimport { DynamicFieldComponent } from \"./components/dynamic-field/dynamic-field.component\";\nimport { DynamicFormComponent } from \"./dynamic-form.component\";\nimport { DynamicFormDirective } from \"./dynamic-form.directive\";\n\nimport { FieldLabelModule } from \"./components/field-label/field-label.module\";\nimport { BignumberFieldModule } from \"./components/fields/bignumber/bignumber-field.module\";\nimport { CheckboxFieldModule } from \"./components/fields/checkbox/checkbox-field.module\";\nimport { CurrencyFieldModule } from \"./components/fields/currency/currency-field.module\";\nimport { EditorFieldModule } from \"./components/fields/editor/editor-field.module\";\nimport { NumberFieldModule } from \"./components/fields/number/number-field.module\";\nimport { PasswordFieldModule } from \"./components/fields/password/password-field.module\";\nimport { ProfilePictureModule } from \"./components/fields/profile-picture/profile-picture-field.module\";\nimport { TextFieldModule } from \"./components/fields/text/text-field.module\";\nimport { ButtonFieldComponent } from \"./components/fields/button-field/button-field.component\";\nimport { TextAreaModule } from \"../text-area/text-area.module\";\nimport { FieldsetModule } from \"../fieldset/fieldset.module\";\nimport { StructureModule } from \"../structure/structure.module\";\n\n@NgModule({\n imports: [\n AutoCompleteModule,\n BadgeModule,\n BignumberInputModule,\n ButtonModule,\n CalendarMaskModule,\n CalendarModule,\n CheckboxModule,\n ChipsModule,\n CommonModule,\n ControlErrorsModule,\n CountryPhonePickerModule,\n DialogModule,\n DropdownModule,\n EmptyStateModule,\n FormsModule,\n HotkeyModule,\n InputMaskModule,\n InputTextareaModule,\n InputTextModule,\n KeyFilterModule,\n LoadingStateModule,\n LocaleModule,\n LocalizedNumberInputModule,\n PanelModule,\n PrimeButtonModule,\n PrimeNGTableModule,\n MultiSelectModule,\n NumberInputModule,\n RadioButtonModule,\n ReactiveFormsModule,\n TooltipModule,\n\n FieldsetModule,\n StructureModule,\n TableHeaderCheckboxModule,\n FileUploadModule,\n TableModule,\n InfoSignModule,\n MaskFormatterModule,\n HotkeyModule.forRoot(),\n MouseEventsModule,\n SwitchModule,\n PasswordStrengthModule,\n SliderModule,\n TranslateModule.forChild(),\n\n PasswordFieldModule,\n TextFieldModule,\n NumberFieldModule,\n CurrencyFieldModule,\n BignumberFieldModule,\n CheckboxFieldModule,\n ProfilePictureModule,\n EditorFieldModule,\n FieldLabelModule,\n TextAreaModule\n ],\n declarations: [\n AutocompleteFieldComponent,\n BooleanFieldComponent,\n BooleanSwitchFieldComponent,\n CalendarFieldComponent,\n ChipsFieldComponent,\n CountryPhonePickerFieldComponent,\n DynamicFieldComponent,\n DynamicFormComponent,\n DynamicFormDirective,\n FieldsetComponent,\n FileUploadComponent,\n LookupComponent,\n LookupFieldComponent,\n RadioButtonComponent,\n RowComponent,\n SectionComponent,\n SelectFieldComponent,\n SliderFieldComponent,\n TextAreaFieldComponent,\n TextAreaIAFieldComponent,\n ButtonFieldComponent\n ],\n exports: [DynamicFormComponent, LookupComponent],\n entryComponents: [\n AutocompleteFieldComponent,\n BooleanFieldComponent,\n BooleanSwitchFieldComponent,\n CalendarFieldComponent,\n ChipsFieldComponent,\n CountryPhonePickerFieldComponent,\n FieldsetComponent,\n FileUploadComponent,\n LookupFieldComponent,\n RadioButtonComponent,\n RowComponent,\n SectionComponent,\n SelectFieldComponent,\n SliderFieldComponent,\n TextAreaFieldComponent,\n TextAreaIAFieldComponent,\n ],\n providers: [\n HotkeysService,\n IAssistService,\n ]\n})\nexport class DynamicFormModule { }\n","import { HttpClient } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs\";\n\n@Injectable()\nexport class CustomFieldsService {\n constructor(private http: HttpClient) {\n }\n\n public getCustomFields(domain: string, service: string, entity: string, endpoint: string): Observable<any> {\n const entityDto = { entityId: { domain_: domain, service_: service, id: entity } };\n return this.http.post(endpoint, entityDto);\n }\n\n public getFileLocationUrl(dto: {\n domain: string;\n service: string;\n entityName: string;\n field: string;\n fileName: string;\n }, endpoint: string): 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","export 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","import { HttpErrorResponse, HttpEventType } from \"@angular/common/http\";\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n SimpleChanges\n} 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 * as moment_ from \"moment\";\nimport { BehaviorSubject, Observable, Subject, forkJoin, of, throwError } from \"rxjs\";\nimport { catchError, finalize, takeUntil } from \"rxjs/operators\";\n\nimport { NumberFieldComponent } from \"../dynamic-form/components/fields\";\nimport { FieldType, FormField, NumberField } from \"../dynamic-form/index\";\nimport { FileDto } from \"../file-upload/index\";\nimport { LocaleOptions } from \"../locale\";\nimport { LocaleService } from \"../locale/locale.service\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { CustomFieldType } from \"./models/custom-field-type\";\n\nconst moment = moment_; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670\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 implements OnInit, OnDestroy, ControlValueAccessor, Validator, OnChanges, AfterViewInit {\n @Input()\n public domain: string;\n\n @Input()\n public service: string;\n\n @Input()\n public entity: string;\n\n @Input()\n public invalidErrorLabel = this.translateService.instant(\"platform.angular_components.invalid_value\");\n\n @Input()\n public entityObject: any;\n\n @Input()\n public customFieldsEndpoint = \"platform/field_customization/queries/getEntity\";\n\n @Input()\n public fileLocationEndpoint = \"platform/field_customization/actions/requestUpload\";\n\n @Input()\n public requestAccessEndpoint = \"platform/field_customization/actions/requestAccess\";\n\n @Input()\n public requiredErrorMessage: string;\n\n @Input()\n public displayTimeInfoSign: number;\n\n @Input()\n public showFileUploadDate: boolean = false;\n\n @Input()\n public ready$: BehaviorSubject<boolean>;\n\n @Input()\n public disableFields: boolean;\n\n public fields: FormField[] = [];\n public formGroup: FormGroup;\n private ready = false;\n private onChange: any;\n private onTouched: any;\n private value: any;\n private ngUsubscribe: Subject<void> = new Subject();\n private uploadCanceled: boolean;\n private hasBlob: boolean;\n private hasUploaded: boolean;\n\n constructor(\n private readonly customFieldsService: CustomFieldsService,\n private readonly localeService: LocaleService,\n private readonly sanitizer: DomSanitizer,\n private readonly translateService: TranslateService,\n @Optional() private controlContainer: ControlContainer\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 if (changes.disableFields) {\n this.enableOrDisableFields(changes.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) this.formGroup.disable({ emitEvent: false });\n else this.formGroup.enable({ emitEvent: false });\n }\n\n public getCustomFields(): Observable<any> {\n if (this.entityObject && this.entityObject.entity_) {\n return of(this.entityObject);\n }\n return this.customFieldsService.getCustomFields(this.domain, this.service, this.entity, this.customFieldsEndpoint);\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);\n if (controlErrors) errors[field] = controlErrors;\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) throw new Error(\"You need to specify the custom-fields domain!\");\n if (!this.service) throw new Error(\"You need to specify the custom-fields service!\");\n if (!this.entity) throw new Error(\"You need to specify the custom-fields entity!\");\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$) this.ready$.next(true);\n })\n )\n .subscribe((response: any[]) => {\n const [customFieldsResponse, localeOptions] = response;\n const defaults: any = {};\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_) return;\n const { active, fields } = customFieldsResponse.entity_;\n if (!active) return;\n\n fields\n .filter((field: any) => field.customizable && field.customization && field.customization.active)\n .forEach((field: any) => {\n const formField = this.getFormField(field, localeOptions);\n\n const fieldType = field.type;\n\n if (field.type === CustomFieldType.Blob && this.value && this.value[formField.name])\n this.createBlobToFileUpload(formField);\n\n const { validationRegex } = field.customization;\n\n const asIsTypes = [\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)) validators.push(Validators.pattern(validationRegex));\n if (fieldType === CustomFieldType.Integer && !formField.mask) validators.push(Validators.pattern(/^\\-?\\d*$/));\n\n if (formField.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(formField.name, control);\n\n this.fields.push(formField);\n });\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, name } = field;\n const value = values && 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 === FieldType.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) return;\n\n switch (type) {\n case FieldType.Date:\n parsedValues[name] = moment(value).toDate();\n break;\n case FieldType.DateTime:\n parsedValues[name] = moment(value).toDate();\n break;\n case FieldType.LocalDateTime:\n parsedValues[name] = moment(value, \"YYYY-MM-DD[T]HH:mm:ss.SSS\").toDate();\n break;\n case FieldType.Time:\n parsedValues[name] = moment(value, \"HH:mm:ss\").toDate();\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: FormField) => field.type === FieldType.Blob)\n .forEach((field) => {\n if (this.formGroup.get(field.name).value) this.createBlobToFileUpload(field);\n });\n }\n }\n\n private parseFieldsValues() {\n const parsedValues: any = {};\n\n this.fields.forEach((field) => {\n const { type, name, mask, scale } = field;\n let value = this.formGroup.get(name).value;\n\n if (value) {\n switch (type) {\n case FieldType.Number:\n if (mask) value = new BigNumber(value).toFixed(scale as number).toString();\n break;\n case FieldType.Date:\n value = moment(value).format(\"YYYY-MM-DD\");\n break;\n case FieldType.DateTime:\n value = moment(value).format();\n break;\n case FieldType.LocalDateTime:\n value = moment(value).format(\"YYYY-MM-DD[T]HH:mm:ss.SSS\");\n break;\n case FieldType.Time:\n value = moment(value).format(\"HH:mm:ss\");\n break;\n }\n }\n\n if ((value === null || value === undefined) && this.isTypeNumberOrEnum(type)) {\n parsedValues[name] = field.multiple ? [] : null;\n } else {\n parsedValues[name] = value;\n }\n });\n\n if (this.hasBlob) parsedValues[\"fieldCustomization\"] = this.formGroup.get(\"fieldCustomization\").value;\n return parsedValues;\n }\n\n private isTypeNumberOrEnum(type: FieldType): boolean {\n const numberOrEnum = [FieldType.Number, FieldType.Enum];\n return numberOrEnum.includes(type);\n }\n\n private getFormField(field: any, localeOptions: LocaleOptions): FormField {\n let parameters: Partial<FormField>;\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 = FieldType.Enum;\n parameters = this.getEnumParameters(field);\n break;\n case CustomFieldType.Money:\n parameters = {\n type: FieldType.Custom,\n CustomFieldComponentClass: NumberFieldComponent,\n CustomFieldClass: NumberField,\n precision: 15,\n scale: 2,\n leftAddon: {\n label: localeOptions?.number?.currencySymbol ?? \"R$\",\n },\n ignoreLabel: true,\n };\n break;\n case CustomFieldType.Double:\n parameters = {\n type: FieldType.Custom,\n CustomFieldComponentClass: NumberFieldComponent,\n CustomFieldClass: NumberField,\n precision: 15,\n scale: 2,\n ignoreLabel: true,\n };\n break;\n case CustomFieldType.Integer:\n parameters = {\n type: FieldType.Custom,\n CustomFieldComponentClass: NumberFieldComponent,\n CustomFieldClass: NumberField,\n precision: 15,\n scale: 0,\n ignoreLabel: true,\n };\n break;\n case CustomFieldType.Any:\n field.type = FieldType.String;\n break;\n }\n\n return new FormField({\n name: field.id,\n label: field.customization.label,\n tooltip: field.customization.tooltip,\n infoSign: field.customization.infoSign,\n type: field.type,\n mask: field.customization.mask,\n required: () => field.customization.mandatory,\n calendarOptions: localeOptions.calendar,\n currencyOptions: localeOptions.number,\n ...parameters,\n });\n }\n\n private getEnumParameters(field: any): object {\n return {\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(): object {\n return {\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(): object {\n return {\n size: {\n sm: 12,\n md: 12,\n lg: 12,\n xl: 12,\n },\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[] }, formfield: FormField) => {\n this.hasUploaded = true;\n this.uploadFile(event, formfield);\n },\n onRemoveFile: (event: { file: FileDto }, formfield: FormField) => {\n this.removeFile(event, formfield);\n },\n onCancelUpload: (event: number, formfield: FormField) => {\n this.cancelUpload(event, formfield);\n },\n onDownloadFile: (event: { index: number; anchor: ElementRef }, formfield: FormField) => {\n this.downloadFile(event, formfield);\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: any[]): void {\n this.hasBlob = !!fields.filter((field: any) => 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: FormField) {\n const objectId = this.value[field.name] ? this.value[field.name] : this.formGroup.get(field.name).value;\n const fileName = objectId.substring(objectId.lastIndexOf(\"/\") + 1);\n const file: Partial<FileDto> = { name: fileName, objectId, savedFile: true };\n field.files = [file as FileDto];\n }\n\n private downloadFile(event: { index: number; anchor: ElementRef }, field: FormField) {\n const { index, anchor } = event;\n const currentFile = field.files[index];\n if (currentFile.objectURL) {\n anchor.nativeElement.click();\n } else {\n this.customFieldsService\n .requestAccess(currentFile.objectId, this.requestAccessEndpoint)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((data: { fileName: string; uri: string }) => {\n const { fileName, uri } = data;\n this.customFieldsService\n .getFile(uri)\n .pipe(takeUntil(this.ngUsubscribe))\n .subscribe((blob: any) => {\n const newFile = <FileDto>new File([blob], fileName);\n newFile.objectURL = this.sanitizer.bypassSecurityTrustUrl(uri);\n anchor.nativeElement.setAttribute(\"href\", uri);\n newFile.objectId = currentFile.objectId;\n newFile.savedFile = true;\n field.files[index] = newFile;\n field.files = [...field.files];\n anchor.nativeElement.click();\n });\n });\n }\n }\n\n private uploadFile(event: { files: FileDto[] }, formField: any): void {\n const { files } = event;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n\n // Se ocorrer um upload, já existindo um arquivo com upload feito. É necessário excluir o mesmo.\n if (field.files && field.files.length) {\n this.removeFile({ file: field.files[0] }, field);\n }\n field.files = files;\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(field.name).setValidators(isUploading(file));\n this.formGroup.get(field.name).updateValueAndValidity();\n this.customFieldsService\n .getFileLocationUrl(\n {\n domain: this.domain,\n service: this.service,\n entityName: this.entity,\n field: 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(URL.createObjectURL(file));\n\n const value = { objectId, name: file.name, version: file.version };\n const toInsert = this.formGroup.get(\"fieldCustomization\").value[0].toInsert;\n this.formGroup.get(\"fieldCustomization\").value[0].toInsert = {\n ...toInsert,\n [field.name]: value,\n };\n this.formGroup.get(field.name).setValue(`${file.objectId}/${file.name}`);\n this.formGroup.get(field.name).clearValidators();\n this.formGroup.get(field.name).updateValueAndValidity();\n field.files = [file];\n }\n } else if (this.uploadCanceled && type === HttpEventType.Response) this.uploadCanceled = false;\n });\n field.files = [file];\n });\n }\n }\n }\n\n private removeFile(event: { file: FileDto }, formField: any): void {\n const { file } = event;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n field.files = [];\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: any): void {\n this.uploadCanceled = true;\n const field = this.fields.find((record: FormField) => record.name === formField.name);\n field.files[index][\"uploadSubscribe\"].unsubscribe();\n field.files = [];\n delete this.formGroup.get(\"fieldCustomization\").value[0].toInsert[field.name];\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 defaltCatchError(field: FormField, err: HttpErrorResponse, index: number): Observable<never> {\n const { files } = field;\n files[index].error = err;\n files[index].isUploading = false;\n field.files = [...files];\n this.formGroup.get(field.name).setValidators([errorOnUpload(files[index])]);\n this.formGroup.get(field.name).updateValueAndValidity();\n return throwError(new Error(\"error in upload file. Details: \" + err.message));\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","import { CommonModule } from \"@angular/common\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { DynamicFormModule } from \"../dynamic-form/index\";\nimport { LocaleModule } from \"../locale/index\";\nimport { CustomFieldsComponent } from \"./custom-fields.component\";\nimport { CustomFieldsService } from \"./custom-fields.service\";\nimport { TranslateModule, TranslateService } from \"@ngx-translate/core\";\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","import { AfterViewInit, Directive, Input } from \"@angular/core\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Directive({\n selector: \"p-table[sEditableOverlay]\",\n})\nexport class EditableOverlayDirective implements AfterViewInit {\n @Input()\n public table: any;\n\n constructor() {}\n\n ngAfterViewInit() {\n this.table.bindDocumentEditListener = this.bindDocument.bind(this);\n }\n\n public isFromOverlayTrigger(event: any) {\n return event.path.some((path: any) => path.className && path.className.includes(\"ng-trigger-overlayAnimation\"));\n }\n\n public isFromModal(event: any) {\n return event.path.some((path: any) => path.className && path.className.includes(\"s-lookup\"));\n }\n\n private bindDocument() {\n if (!this.table.documentEditListener) {\n this.table.documentEditListener = (event: any) => {\n if (\n !this.isFromOverlayTrigger(event) &&\n !this.isFromModal(event) &&\n this.table.editingCell &&\n !this.table.editingCellClick &&\n this.table.isEditingCellValid()\n ) {\n DomHandler.removeClass(this.table.editingCell, \"ui-editing-cell\");\n this.table.editingCell = null;\n this.table.unbindDocumentEditListener();\n }\n\n this.table.editingCellClick = false;\n };\n\n document.addEventListener(\"click\", this.table.documentEditListener);\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { EditableOverlayDirective } from \"./editable-overlay.directive\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EditableOverlayDirective],\n exports: [EditableOverlayDirective],\n})\nexport class EditableOverlayModule {}\n","import * as moment_ from \"moment\";\n\nconst moment = moment_;\n\nconst YEAR = \"year\";\nconst MONTH = \"month\";\nconst DAY = \"day\";\nconst HOUR = \"hour\";\nconst MINUTE = \"minute\";\nconst SECOND = \"second\";\nconst MILLISECOND = \"millisecond\";\n\nexport abstract class DateUtils {\n public static parse(date: Date | string): Date {\n return moment(date).toDate();\n }\n\n public static toString(date: Date, with_time = false) {\n let result = with_time ? moment(date, \"YYYY-MM-DD hh:mm:ss.SSS\") : moment(date, \"YYYY-MM-DD\");\n\n return result.toString();\n }\n\n public static format(date: any, formatString: string = \"YYYY-MM-DD HH:mm:ss.SSS\", lang: string = \"en\"): string {\n const monthName = moment(date)\n .locale(lang)\n .startOf(\"month\")\n .format(\"MMMM\");\n \n const monthNameCapitalized = monthName.charAt(0).toUpperCase() + monthName.slice(1);\n const dateToFormat = moment(date).locale(lang);\n const format_map = {\n YYYY: dateToFormat.format(\"YYYY\"),\n MM: dateToFormat.format(\"MM\"),\n DD: dateToFormat.format(\"DD\"),\n ddd: dateToFormat.format(\"ddd\").toUpperCase().replace(\".\", \"\"), // Removendo alterações nas traduções que acontecem nos diferentes idiomas\n HH: dateToFormat.format(\"HH\"),\n mm: dateToFormat.format(\"mm\"),\n ss: dateToFormat.format(\"ss\"),\n SSS: dateToFormat.format(\"SSS\"),\n D: dateToFormat.format(\"D\"),\n MMMM: monthNameCapitalized,\n MMM: monthNameCapitalized,\n };\n\n let str = formatString;\n const formattedValues: any[] = [];\n\n Object.keys(format_map)\n .sort((a, b) => b.length - a.length)\n .forEach(key => {\n if (str.includes(key)) {\n str = str.replace(key, `$${formattedValues.length}`);\n formattedValues.push(format_map[key]);\n }\n });\n\n formattedValues.forEach((value, i) => {\n str = str.replace(`$${i}`, value);\n });\n\n return str;\n }\n\n public static diff(fistDate: Date, secondDate: Date, scale: string) {\n const milliseconds = moment(fistDate).diff(secondDate, MILLISECOND);\n const seconds = moment(fistDate).diff(secondDate, SECOND);\n const minutes = moment(fistDate).diff(secondDate, MINUTE);\n const hours = moment(fistDate).diff(secondDate, HOUR);\n const days = moment(fistDate).diff(secondDate, DAY);\n const months = moment(fistDate).diff(secondDate, MONTH);\n const years = moment(fistDate).diff(secondDate, YEAR);\n \n if (!scale.endsWith(\"s\")) {\n scale += \"s\";\n }\n \n return Math.floor(\n {\n milliseconds,\n seconds,\n minutes,\n hours,\n days,\n months,\n years,\n }[scale]\n );\n }\n\n public static today(): Date {\n const dateStr = moment().format(\"YYY-MM-DD\");\n return new Date(dateStr);\n }\n\n public static now(): Date {\n return moment().toDate();\n }\n\n public static add(date: Date, quantity: any, scale: any): Date {\n return moment(date).add(quantity, scale).toDate();\n }\n\n public static startOf(date: Date, scale: string): Date {\n const scores = {\n [YEAR]: 6,\n [MONTH]: 5,\n [DAY]: 4,\n [HOUR]: 3,\n [MINUTE]: 2,\n [SECOND]: 1,\n [MILLISECOND]: 0,\n };\n\n function shouldReset(_scale: any) {\n const max_score = scores[scale];\n return scores[_scale] <= max_score;\n }\n\n const vals: any = [\n date.getFullYear(),\n shouldReset(YEAR) ? 0 : date.getMonth(),\n shouldReset(MONTH) ? 1 : date.getDate(),\n shouldReset(DAY) ? 0 : date.getHours(),\n shouldReset(HOUR) ? 0 : date.getMinutes(),\n shouldReset(MINUTE) ? 0 : date.getSeconds(),\n shouldReset(SECOND) ? 0 : date.getMilliseconds(),\n ];\n\n return new Date(vals[0], vals[1], vals[2], vals[3], vals[4], vals[5], vals[6]);\n }\n\n public static clone(date: Date): Date {\n return moment(date).toDate();\n }\n\n public static getDateValues(date: Date) {\n return [\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n ];\n }\n\n public static getDaysInMonth(date: Date) {\n return moment(date, \"YYYY-MM\").daysInMonth();\n }\n}\n","\n\nexport const $ = (expr: any, con: any) => {\n return typeof expr === 'string'\n ? (con || document).querySelector(expr)\n : expr || null;\n}\n\nexport const createSVG = (tag: any, attrs: any) => {\n const elem = document.createElementNS(\"http://www.w3.org/2000/svg\", tag);\n for (let attr in attrs) {\n if (attr === \"append_to\") {\n const parent = attrs.append_to;\n parent.appendChild(elem);\n } else if (attr === \"innerHTML\") {\n elem.innerHTML = attrs.innerHTML;\n } else {\n elem.setAttribute(attr, attrs[attr]);\n }\n }\n return elem;\n}\n\nexport const animateSVG = (svgElement: any, attr: any, from: any, to: any) => {\n const animatedSvgElement = getAnimationElement(svgElement, attr, from, to);\n\n if (animatedSvgElement === svgElement) {\n // triggered 2nd time programmatically\n // trigger artificial click event\n const event = document.createEvent(\"HTMLEvents\");\n event.initEvent(\"click\", true, true);\n // event.eventName = 'click'; TODO: Ver porque esta propriedade não existe\n animatedSvgElement.dispatchEvent(event);\n }\n}\n\nconst getAnimationElement = (svgElement: any, attr: any, from: any, to: any, dur = \"0.4s\", begin = \"0.1s\") => {\n const animEl = svgElement.querySelector(\"animate\");\n if (animEl) {\n $.attr(animEl, {\n attributeName: attr,\n from,\n to,\n dur,\n begin: \"click + \" + begin, // artificial click\n }, null);\n return svgElement;\n }\n\n const animateElement = createSVG(\"animate\", {\n attributeName: attr,\n from,\n to,\n dur,\n begin,\n calcMode: \"spline\",\n values: from + \";\" + to,\n keyTimes: \"0; 1\",\n keySplines: cubic_bezier(\"ease-out\"),\n });\n svgElement.appendChild(animateElement);\n\n return svgElement;\n}\n\nconst cubic_bezier = (name: any) => {\n return {\n ease: \".25 .1 .25 1\",\n linear: \"0 0 1 1\",\n \"ease-in\": \".42 0 1 1\",\n \"ease-out\": \"0 0 .58 1\",\n \"ease-in-out\": \".42 0 .58 1\",\n }[name];\n}\n\n$.on = (element: any, event: any, selector: any, callback: any) => {\n if (!callback) {\n callback = selector;\n $.bind(element, event, callback);\n } else {\n $.delegate(element, event, selector, callback);\n }\n};\n\n$.off = (element: any, event: any, handler: any) => {\n element.removeEventListener(event, handler);\n};\n\n$.bind = (element: any, event: any, callback: any) => {\n event.split(/\\s+/).forEach(function (event: any) {\n element.addEventListener(event, callback);\n });\n};\n\n$.delegate = (element: any, event: any, selector: any, callback: any) => {\n element.addEventListener(event, function (e: any) {\n const delegatedTarget = e.target.closest(selector);\n if (delegatedTarget) {\n e.delegatedTarget = delegatedTarget;\n callback.call(this, e, delegatedTarget);\n }\n });\n};\n\n$.closest = (selector: any, element: any) => {\n if (!element) { \n return null;\n }\n\n if (element.matches(selector)) {\n return element;\n }\n\n // TODO: Corrigir este problema\n // return $.closest(selector, element.parentNode);\n};\n\n$.attr = (element: any, attr: any, value: any) => {\n if (!value && typeof attr === \"string\") {\n return element.getAttribute(attr);\n }\n\n if (typeof attr === \"object\") {\n for (let key in attr) {\n $.attr(element, key, attr[key]);\n }\n return;\n }\n\n element.setAttribute(attr, value);\n};\n","export enum ViewMode {\n QuarterHour = \"quarterHour\",\n Hour = \"hour\",\n QuarterDay = \"quarterDay\",\n HalfDay = \"halfDay\",\n Day = \"day\",\n Week = \"week\",\n Month = \"month\",\n Year = \"year\",\n}\n","import { DateUtils } from './utils/date-utils';\nimport { $, createSVG, animateSVG } from './utils/svg-utils';\nimport { ViewMode } from \"../../models/view-mode\";\n\nimport { Gantt } from \"./gantt\";\nimport { EnrichedTask } from \"../../models/task\";\nimport { Arrow } from \"./arrow\";\n\nexport class Bar {\n private _actionCompleted: boolean;\n private _gantt: Gantt;\n private _invalid: boolean;\n private _height: number;\n private _x: number;\n private _y: number;\n private _cornerRadius: number;\n private _duration: number;\n private _width: number;\n private _barGroup: any;\n\n private _arrows: Arrow[];\n private _group: any;\n private _task: EnrichedTask;\n private _element: any;\n\n private _isPopUpOpen = false;\n\n public get arrows(): Arrow[] {\n return this._arrows;\n }\n\n public set arrows(arrows: Arrow[]) {\n this._arrows = arrows;\n }\n\n public get task(): EnrichedTask {\n return this._task;\n }\n\n public get element() {\n return this._element;\n }\n\n public get group() {\n return this._group;\n }\n\n constructor(gantt: any, task: any) {\n this._setDefaults(gantt, task);\n this._prepare();\n this._draw();\n this._bind();\n }\n\n public updateBarPosition({ x, width }: any): void {\n const bar = this.element;\n if (x) {\n // get all x values of parent task\n const xs = this.task.dependencies.map((dep: any) => {\n return this._gantt.get_bar(dep).element.getX();\n });\n // child task must not go before parent\n const valid_x = xs.reduce((prev: any, curr: any) => {\n return x >= curr;\n }, x);\n if (!valid_x) {\n width = null;\n return;\n }\n this._updateAttr(bar, \"x\", x);\n }\n if (width && width >= this._gantt.options.columnWidth) {\n this._updateAttr(bar, \"width\", width);\n }\n this._updateLabelPosition();\n this._updateArrowPosition();\n }\n\n public dateChanged(): void {\n let changed = false;\n const { newStartDate, newEndDate } = this._computeStartEndDate();\n\n if (this.task.start !== newStartDate) {\n changed = true;\n this.task.start = newStartDate;\n }\n\n if (this.task.end !== newEndDate) {\n changed = true;\n this.task.end = newEndDate;\n }\n\n if (changed) {\n this._gantt.trigger_event(\"onDateChange\", [\n this.task,\n newStartDate,\n DateUtils.add(newEndDate, -1, \"second\"),\n ]);\n };\n }\n\n public setActionCompleted(): void {\n this._actionCompleted = true;\n setTimeout(() => {\n this._actionCompleted = false;\n }, 1000);\n }\n\n private _setDefaults(gantt: any, task: any) {\n this._actionCompleted = false;\n this._gantt = gantt;\n this._task = task;\n }\n\n private _prepare() {\n this._prepareValues();\n this._prepareHelpers();\n }\n\n private _prepareValues(): void {\n this._invalid = this.task.invalid;\n this._height = this._gantt.options.barHeight;\n this._x = this._computeX();\n this._y = this._computeY();\n this._cornerRadius = this._gantt.options.barCornerRadius;\n this._duration = DateUtils.diff(this.task.end, this.task.start, \"minute\") / this._gantt.options.step / 60.0;\n this._width = this._gantt.options.columnWidth * this._duration;\n this._group = createSVG(\"g\", {\n class: \"bar-wrapper \" + (this.task.custom_class || \"\"),\n \"data-id\": this.task.id,\n });\n this._barGroup = createSVG(\"g\", {\n class: \"bar-group\",\n append_to: this.group,\n });\n }\n\n private _prepareHelpers(): void {\n (SVGElement.prototype as any).getX = function () {\n return +this.getAttribute(\"x\");\n };\n (SVGElement.prototype as any).getY = function () {\n return +this.getAttribute(\"y\");\n };\n (SVGElement.prototype as any).getWidth = function () {\n return +this.getAttribute(\"width\");\n };\n (SVGElement.prototype as any).getHeight = function () {\n return +this.getAttribute(\"height\");\n };\n (SVGElement.prototype as any).getEndX = function () {\n return this.getX() + this.getWidth();\n };\n }\n\n private _draw(): void {\n this._drawBar();\n this._drawLabel();\n }\n\n private _drawBar(): void {\n this._element = createSVG(\"rect\", {\n x: this._x,\n y: this._y,\n width: this._width,\n height: this._height,\n rx: this._cornerRadius,\n ry: this._cornerRadius,\n class: \"bar\",\n append_to: this._barGroup,\n fill: this.task.color,\n });\n\n animateSVG(this.element, \"width\", 0, this._width);\n\n if (this._invalid) {\n this.element.classList.add(\"bar-invalid\");\n }\n }\n\n private _drawLabel(): void {\n createSVG(\"text\", {\n x: this._x + this._width / 2,\n y: this._y + this._height / 2,\n innerHTML: this.task.showTaskName ? this.task.name : \"\",\n class: \"bar-label\",\n append_to: this._barGroup,\n });\n // labels get BBox in the next tick\n requestAnimationFrame(() => this._updateLabelPosition());\n }\n\n private _bind(): void {\n if (!this._invalid) {\n this._setupClickEvent();\n }\n }\n\n private _setupClickEvent(): void {\n //TODO\n\n if(this._gantt.options.hasPopup) {\n $.on(this.group, \"focus \" + this._gantt.options.popupTrigger, (e: any) => {\n // just finished a move action, wait for a few seconds\n if (!this._actionCompleted) {\n this._showPopup();\n this._gantt.unselect_all();\n this.group.classList.add(\"active\");\n }\n }, null);\n\n $.on(this.group, \"dblclick\", (e: any) => {\n // just finished a move action, wait for a few seconds\n\n if (!this._actionCompleted) {\n this._gantt.trigger_event(\"onClick\", [this.task]);\n }\n }, null);\n } else {\n $.on(this.group, \"mouseenter\", (e: any) => {\n if(!this._isPopUpOpen) {\n this._showPopup({\n x: e.clientX,\n y: this.group.getBoundingClientRect().top + 30,\n position: 'middle'\n });\n this._isPopUpOpen = true;\n }\n }, null);\n\n $.on(this.group, \"mouseleave\", (e: any) => {\n this._gantt.hide_popup();\n this._isPopUpOpen = false;\n }, null);\n\n\n $.on(this.group, \"focus click\", (e: any) => {\n if (!this._actionCompleted) {\n this._gantt.unselect_all();\n this.group.classList.add(\"active\");\n this._gantt.trigger_event(\"onClick\", [this.task]);\n }\n }, null);\n }\n }\n\n private _showPopup(args?: any) {\n if (this._gantt.bar_being_dragged) {\n return;\n }\n\n const subtitle: any = {};\n\n if (!this._gantt.options.showOnlyHours) {\n subtitle.startDate = DateUtils.format(\n this.task.start,\n 'DD/MM/YYYY',\n this._gantt.options.language\n );\n subtitle.endDate = DateUtils.format(\n this.task.end,\n 'DD/MM/YYYY',\n this._gantt.options.language\n );\n }\n\n if (!this._gantt.options.showOnlyDays) {\n subtitle.startHour = DateUtils.format(\n this.task.start,\n 'HH:mm:ss',\n this._gantt.options.language\n );\n subtitle.endHour = DateUtils.format(\n this.task.end,\n 'HH:mm:ss',\n this._gantt.options.language\n );\n }\n\n this._gantt.show_popup({\n target_element: this.element,\n title: this.task.name,\n subtitle: subtitle,\n task: this.task,\n ...args\n });\n }\n\n private _computeStartEndDate(): { newStartDate: Date, newEndDate: Date } {\n const bar = this.element;\n const xInUnits = bar.getX() / this._gantt.options.columnWidth;\n const newStartDate = DateUtils.add(\n this._gantt.minDate,\n xInUnits * this._gantt.options.step,\n \"hour\"\n );\n const width_in_units = bar.getWidth() / this._gantt.options.columnWidth;\n const newEndDate = DateUtils.add(\n newStartDate,\n width_in_units * this._gantt.options.step,\n \"hour\"\n );\n\n return { newStartDate, newEndDate };\n }\n\n private _computeX() {\n const { step, columnWidth } = this._gantt.options;\n\n let x;\n if (this._gantt.view_is([ViewMode.QuarterHour, ViewMode.Hour, ViewMode.QuarterDay, ViewMode.HalfDay, ViewMode.Day])) {\n const diff = DateUtils.diff(this.task.start, this._gantt.minDate, \"minutes\");\n x = (diff / step) * (columnWidth / 60);\n } else {\n const diff = DateUtils.diff(this.task.start, this._gantt.minDate, \"hour\");\n x = (diff / step) * (columnWidth);\n }\n\n return x;\n }\n\n private _computeY() {\n return (\n this._gantt.options.headerHeight +\n this._gantt.options.padding +\n this.task._index * (this._height + this._gantt.options.padding)\n );\n }\n\n private _updateAttr(element: any, attr: any, value: any) {\n value = +value;\n if (!isNaN(value)) {\n element.setAttribute(attr, value);\n }\n return element;\n }\n\n private _updateLabelPosition(): void {\n const bar = this.element,\n label = this.group.querySelector(\".bar-label\");\n\n if (label.getBBox().width > bar.getWidth()) {\n label.classList.add(\"big\");\n label.setAttribute(\"x\", bar.getX() + bar.getWidth() + 5);\n } else {\n label.classList.remove(\"big\");\n label.setAttribute(\"x\", bar.getX() + bar.getWidth() / 2);\n }\n }\n\n private _updateArrowPosition(): void {\n this._arrows = this._arrows || [];\n for (let arrow of this._arrows) {\n arrow.update();\n }\n }\n}\n","export class Popup {\n private parent: any;\n private customHtml: any;\n private title: any;\n private startDate: any;\n private startHour: any;\n private endDate: any;\n private endHour: any;\n\n private pointer: any;\n\n constructor(parent: any, customHtml: any) {\n this.parent = parent;\n this.customHtml = customHtml;\n this.make();\n }\n\n public show(options: any) {\n if (!options.target_element) {\n throw new Error(\"target_element is required to show popup\");\n }\n if (!options.position) {\n options.position = \"left\";\n }\n const target_element = options.target_element;\n this.parent.style.display = 'block';\n\n if (this.customHtml) {\n let html = this.customHtml(options.task);\n html += '<div class=\"pointer\"></div>';\n this.parent.innerHTML = html;\n this.pointer = this.parent.querySelector(\".pointer\");\n } else {\n // set data\n this.title.innerHTML = options.title;\n this.startDate.innerHTML = options.subtitle.startDate ?? '';\n this.startHour.innerHTML = options.subtitle.startHour ?? '';\n this.endDate.innerHTML = options.subtitle.endDate ?? '';\n this.endHour.innerHTML = options.subtitle.endHour ?? '';\n\n this.parent.style.width = this.parent.clientWidth + \"px\";\n }\n\n // set position\n let positionMeta;\n if (target_element instanceof HTMLElement) {\n positionMeta = target_element.getBoundingClientRect();\n } else if (target_element instanceof SVGElement) {\n positionMeta = options.target_element.getBBox();\n }\n\n if (options.position === 'middle') {\n this.parent.style.position = 'fixed';\n this.parent.style.top = options.y + \"px\";\n\n this.pointer.style.transform = \"rotateZ(180deg)\";\n this.pointer.style.top = \"-10px\";\n\n if ((options.x - 17) + this.parent.offsetWidth > window.innerWidth) {\n this.parent.style.left = (options.x - this.parent.offsetWidth + 17) + \"px\";\n this.pointer.style.right = \"16px\";\n this.pointer.style.left = \"auto\";\n\n } else {\n this.parent.style.left = (options.x - 17) + \"px\";\n this.pointer.style.left = \"16px\";\n this.pointer.style.right = \"auto\";\n }\n\n } else if (options.position === 'left') {\n this.parent.style.left = positionMeta.x + (positionMeta.width + 10) + \"px\";\n this.parent.style.top = positionMeta.y + \"px\";\n\n this.pointer.style.transform = \"rotateZ(90deg)\";\n this.pointer.style.left = \"-7px\";\n this.pointer.style.top = \"2px\";\n }\n\n // show\n this.parent.style.opacity = 1;\n }\n\n private make() {\n this.parent.innerHTML = `\n <div class=\"popup\">\n <div class=\"wrp-title\">\n <span class=\"title\"></span>\n </div>\n <div class=\"wrp-subtitle\">\n <span class=\"icon fas fa-calendar-alt\"></span>\n <div style=\"margin-right: 15px\">\n <p class=\"startDate\"></p>\n <p class=\"startHour\"></p>\n </div>\n <div>\n <p class=\"endDate\"></p>\n <p class=\"endHour\"></p>\n </div>\n </div>\n <div class=\"pointer\"></div>\n </div>\n `;\n\n this.hide();\n\n this.title = this.parent.querySelector(\".title\");\n this.startDate = this.parent.querySelector(\".startDate\");\n this.startHour = this.parent.querySelector(\".startHour\");\n this.endDate = this.parent.querySelector(\".endDate\");\n this.endHour = this.parent.querySelector(\".endHour\");\n\n this.pointer = this.parent.querySelector(\".pointer\");\n }\n\n private hide() {\n this.parent.style.opacity = 0;\n this.parent.style.display = 'none';\n this.parent.style.left = 0;\n }\n}\n","import { createSVG } from './utils/svg-utils';\nimport { Gantt } from \"./gantt\";\nimport { Bar } from \"./bar\";\n\nexport class Arrow {\n private _gantt: Gantt;\n private _fromTask: Bar;\n private _toTask: Bar;\n private _path: any;\n private _element: any;\n\n constructor(gantt: Gantt, fromTask: Bar, toTask: Bar) {\n this._gantt = gantt;\n this._fromTask = fromTask;\n this._toTask = toTask;\n\n this.calculatePath();\n this.draw();\n }\n\n public get fromTask(): Bar {\n return this._fromTask;\n }\n\n public get toTask(): Bar {\n return this._toTask;\n }\n\n public get element() {\n return this._element;\n }\n\n public update() {\n this.calculatePath();\n this._element.setAttribute(\"d\", this._path);\n }\n\n private calculatePath() {\n let startX = this.fromTask.element.getX() + this.fromTask.element.getWidth() / 2;\n\n const condition = () =>\n this.toTask.element.getX() < startX + this._gantt.options.padding &&\n startX > this.fromTask.element.getX() + this._gantt.options.padding;\n\n while (condition()) {\n startX -= 10;\n }\n\n const startY = this._gantt.options.headerHeight +\n this._gantt.options.barHeight +\n (this._gantt.options.padding + this._gantt.options.barHeight) *\n this.fromTask.task._index +\n this._gantt.options.padding;\n const endX = this.toTask.element.getX() - this._gantt.options.padding / 2;\n const endY = this._gantt.options.headerHeight +\n this._gantt.options.barHeight / 2 +\n (this._gantt.options.padding + this._gantt.options.barHeight) *\n this.toTask.task._index +\n this._gantt.options.padding;\n const fromIsBelowTo = this.fromTask.task._index > this.toTask.task._index;\n const curve = this._gantt.options.arrowCurve;\n const clockwise = fromIsBelowTo ? 1 : 0;\n const curveY = fromIsBelowTo ? -curve : curve;\n const offset = fromIsBelowTo\n ? endY + this._gantt.options.arrowCurve\n : endY - this._gantt.options.arrowCurve;\n\n this._path = `\n M ${startX} ${startY}\n V ${offset}\n a ${curve} ${curve} 0 0 ${clockwise} ${curve} ${curveY}\n L ${endX} ${endY}\n m -5 -5\n l 5 5\n l -5 5`;\n\n if (this.toTask.element.getX() < this.fromTask.element.getX() + this._gantt.options.padding) {\n const down1 = this._gantt.options.padding / 2 - curve;\n const down2 = this.toTask.element.getY() + this.toTask.element.getHeight() / 2 - curveY;\n const left = this.toTask.element.getX() - this._gantt.options.padding;\n\n this._path = `\n M ${startX} ${startY}\n v ${down1}\n a ${curve} ${curve} 0 0 1 -${curve} ${curve}\n H ${left}\n a ${curve} ${curve} 0 0 ${clockwise} -${curve} ${curveY}\n V ${down2}\n a ${curve} ${curve} 0 0 ${clockwise} ${curve} ${curveY}\n L ${endX} ${endY}\n m -5 -5\n l 5 5\n l -5 5`;\n }\n }\n\n private draw() {\n this._element = createSVG(\"path\", {\n d: this._path,\n \"data-from\": this.fromTask.task.id,\n \"data-to\": this.toTask.task.id,\n });\n }\n}\n","import { Options } from \"../../models/options\";\nimport { ViewMode } from \"../../models/view-mode\";\n\nexport const defaultOptions: Options = {\n headerHeight: 94,\n columnWidth: 30,\n step: 24,\n barHeight: 20,\n barCornerRadius: 0,\n arrowCurve: 4,\n padding: 24,\n viewMode: ViewMode.Day,\n dateFormat: \"YYYY-MM-DD\",\n popupTrigger: \"click\",\n customPopupHtml: null,\n language: \"en\",\n allowMovement: true,\n hasPopup: true,\n showOnlyHours: false,\n showOnlyDays: false,\n};\n","import { DateUtils } from \"./utils/date-utils\";\nimport { $, createSVG } from \"./utils/svg-utils\";\nimport { Bar } from \"./bar\";\nimport { Popup } from \"./popup\";\nimport { Arrow } from \"./arrow\";\nimport { Options } from \"../../models/options\";\nimport { defaultOptions } from \"./gantt-options\";\nimport { ViewMode } from \"../../models/view-mode\";\nimport { Task, EnrichedTask } from \"../../models\";\n\nexport class Gantt {\n public options: Options;\n public tasks: EnrichedTask[];\n public dependency_map: any;\n\n private _minDate: Date;\n private _maxDate: Date;\n\n public dates: Date[];\n public layers: any;\n public bars: Bar[];\n public arrows: Arrow[];\n public bar_being_dragged: any;\n public $svg: any;\n public $container: HTMLDivElement;\n public popup_wrapper: HTMLDivElement;\n public popup: any;\n\n public get minDate(): Date {\n return this._minDate;\n }\n\n public get maxDate(): Date {\n return this._maxDate;\n }\n\n constructor(wrapper: any, tasks: Task[], options?: Options) {\n this.setup_options(options);\n this.setup_wrapper(wrapper);\n this.setup_tasks(tasks);\n // initialize with default view mode\n this.change_view_mode();\n this.bind_events();\n }\n\n private setup_wrapper(element: any) {\n let svg_element, wrapper_element;\n\n // CSS Selector is passed\n if (typeof element === \"string\") {\n element = document.querySelector(element);\n }\n\n // get the SVGElement\n if (element instanceof HTMLElement) {\n wrapper_element = element;\n svg_element = element.querySelector(\"svg\");\n } else if (element instanceof SVGElement) {\n svg_element = element;\n } else {\n throw new TypeError(\n \"Frappé Gantt only supports usage of a string CSS selector, HTML DOM element or SVG DOM element for the \\'element\\' parameter\"\n );\n }\n\n // svg element\n if (!svg_element) {\n // create it\n this.$svg = createSVG(\"svg\", {\n append_to: wrapper_element,\n class: \"gantt\",\n });\n } else {\n this.$svg = svg_element;\n this.$svg.classList.add(\"gantt\");\n }\n\n // wrapper element\n this.$container = document.createElement(\"div\");\n this.$container.classList.add(\"gantt-container\");\n if (this.options.containerWidth) {\n this.$container.style.width = this.options.containerWidth + 'px';\n }\n\n const parent_element = this.$svg.parentElement;\n parent_element.appendChild(this.$container);\n this.$container.appendChild(this.$svg);\n\n // popup wrapper\n this.popup_wrapper = document.createElement(\"div\");\n this.popup_wrapper.classList.add(\"popup-wrapper\");\n this.$container.appendChild(this.popup_wrapper);\n }\n\n private setup_options(options: any) {\n this.options = Object.assign({}, defaultOptions, options);\n }\n\n public setup_tasks(tasks: any) {\n // prepare tasks\n this.tasks = tasks.map((task: any, i: any) => {\n //standard colors if needed\n task.color = task.color || '#7892A1';\n\n // convert to Date objects\n task._start = DateUtils.parse(task.start);\n task._end = DateUtils.parse(task.end);\n\n // make task invalid if duration too large\n if (DateUtils.diff(task._end, task._start, \"year\") > 10) {\n task.end = null;\n }\n\n // cache index\n task._index = i;\n\n if (typeof task._row_id === \"number\") {\n task._index = task._row_id;\n }\n\n // invalid dates\n if (!task.start && !task.end) {\n const today = DateUtils.today();\n task._start = today;\n task._end = DateUtils.add(today, 2, \"day\");\n }\n\n if (!task.start && task.end) {\n task._start = DateUtils.add(task._end, -2, 'day');\n }\n\n if (task.start && !task.end) {\n task._end = DateUtils.add(task._start, 2, \"day\");\n }\n\n // if hours is not set, assume the last day is full day\n // e.g: 2018-09-09 becomes 2018-09-09 23:59:59\n const task_end_values = DateUtils.getDateValues(task._end);\n if (task_end_values.slice(3).every((d) => d === 0)) {\n task._end = DateUtils.add(task._end, 24, \"hour\");\n }\n\n // invalid flag\n if (!task.start || !task.end) {\n task.invalid = true;\n }\n\n // dependencies\n if (typeof task.dependencies === \"string\" || !task.dependencies) {\n let deps = [];\n if (task.dependencies) {\n deps = task.dependencies\n .split(',')\n .map((d: any) => d.trim())\n .filter((d: any) => d);\n }\n task.dependencies = deps;\n }\n\n // uids\n if (!task.id) {\n task.id = generate_id(task);\n }\n\n return task;\n });\n\n this.setup_dependencies();\n }\n\n private setup_dependencies() {\n this.dependency_map = {};\n for (let t of this.tasks) {\n for (let d of t.dependencies) {\n this.dependency_map[d] = this.dependency_map[d] || [];\n this.dependency_map[d].push(t.id);\n }\n }\n }\n\n public refresh(tasks: Task[]) {\n this.setup_tasks(tasks);\n this.change_view_mode();\n }\n\n public change_view_mode(mode = this.options.viewMode) {\n this.setup_gantt_dates();\n this.update_view_scale(mode);\n this.setup_dates();\n this.render();\n // fire viewmode_change event\n this.trigger_event(\"onViewChange\", [mode]);\n }\n\n private update_view_scale(view_mode: any) {\n this.options.viewMode = view_mode;\n // this.isHourView = false;\n if (view_mode === ViewMode.QuarterHour) {\n this.options.step = 24 / 24 / 4;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.Hour) {\n this.options.step = 24 / 24;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.Day) {\n this.options.step = 24;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.HalfDay) {\n this.options.step = 24 / 2;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.QuarterDay) {\n this.options.step = 24 / 4;\n this.options.columnWidth = 50;\n } else if (view_mode === ViewMode.Week) {\n this.options.step = 24 * 7;\n this.options.columnWidth = 140;\n } else if (view_mode === ViewMode.Month) {\n this.options.step = 24 * 30;\n this.options.columnWidth = 120;\n } else if (view_mode === ViewMode.Year) {\n this.options.step = 24 * 365;\n this.options.columnWidth = 120;\n }\n }\n\n private setup_dates() {\n this.setup_date_values();\n }\n\n private setup_gantt_dates() {\n this._minDate = null;\n this._maxDate = null;\n\n for (let task of this.tasks) {\n // set global start and end date\n if (!this.minDate || task.start < this.minDate) {\n this._minDate = DateUtils.startOf(task.start, 'day');\n }\n if (!this.maxDate || task.end > this.maxDate) {\n this._maxDate = task.end;\n }\n }\n\n switch (this.options.viewMode) {\n case ViewMode.QuarterHour:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 15), \"minutes\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 15, \"minutes\");\n case ViewMode.Hour:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"hour\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"hour\");\n break;\n case ViewMode.QuarterDay:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 6), \"hour\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 6, \"hour\");\n break;\n case ViewMode.HalfDay:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 12), \"hour\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 12, \"hour\");\n break;\n case ViewMode.Day:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"day\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"day\");\n break;\n case ViewMode.Week:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"week\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"week\");\n break;\n case ViewMode.Month:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"month\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"month\");\n break;\n case ViewMode.Year:\n this._minDate = DateUtils.add(this.minDate, -(this.options.marginBeforeStart ?? 1), \"year\");\n this._maxDate = DateUtils.add(this.maxDate, this.options.marginAfterEnd ?? 1, \"year\");\n break;\n }\n }\n\n private setup_date_values() {\n this.dates = [];\n let cur_date = null;\n\n while (cur_date === null || cur_date < this.maxDate) {\n if (!cur_date) {\n cur_date = DateUtils.clone(this.minDate);\n } else {\n if (this.view_is(ViewMode.Year)) {\n cur_date = DateUtils.add(cur_date, 1, \"year\");\n } else if (this.view_is(ViewMode.Month)) {\n cur_date = DateUtils.add(cur_date, 1, \"month\");\n } else {\n cur_date = DateUtils.add(\n cur_date,\n this.options.step,\n 'hour'\n );\n }\n }\n this.dates.push(cur_date);\n }\n\n if (this.options.containerWidth) {\n const columnWidth = (this.options.containerWidth - 1) / this.dates.length\n this.options.columnWidth = columnWidth < 45 ? 45 : columnWidth;\n }\n }\n\n private bind_events() {\n this.bind_grid_click();\n this.bind_bar_events();\n }\n\n private render() {\n this.clear();\n this.setup_layers();\n this.make_grid();\n this.make_dates();\n this.make_bars();\n this.make_arrows();\n this.map_arrows_on_bars();\n this.set_width();\n this.set_scroll_position();\n }\n\n private setup_layers() {\n this.layers = {};\n const layers = [\"grid\", \"date\", \"arrow\", \"progress\", \"bar\", \"details\"];\n // make group layers\n for (let layer of layers) {\n this.layers[layer] = createSVG('g', {\n class: layer,\n append_to: this.$svg,\n });\n }\n }\n\n private make_grid() {\n this.make_grid_background();\n this.make_grid_rows();\n this.make_grid_header();\n this.make_grid_highlights();\n this.make_grid_ticks();\n }\n\n private make_grid_background() {\n let grid_width = this.dates.length * this.options.columnWidth;\n\n if (this.options.containerWidth) {\n grid_width = this.options.containerWidth;\n }\n\n const distinct_rows = [...new Set(this.tasks.map((x: any) => x._row_id))];\n const grid_height = this.options.headerHeight +\n this.options.padding / 2 +\n (this.options.barHeight + this.options.padding) *\n distinct_rows.length;\n\n createSVG(\"rect\", {\n x: 0,\n y: 0,\n width: grid_width,\n height: grid_height,\n class: \"grid-background\",\n append_to: this.layers.grid,\n });\n\n $.attr(this.$svg, {\n height: grid_height,\n width: \"100%\",\n }, null);\n }\n\n private make_grid_rows() {\n const rows_layer = createSVG(\"g\", { append_to: this.layers.grid });\n const lines_layer = createSVG(\"g\", { append_to: this.layers.grid });\n\n const row_width = this.dates.length * this.options.columnWidth;\n const row_height = this.options.barHeight + this.options.padding;\n //TODO: ajustar o posicionamento das linhas\n let row_y = this.options.headerHeight + this.options.padding / 2;\n\n this.tasks.forEach(_ => {\n createSVG(\"rect\", {\n x: 0,\n y: row_y,\n width: row_width,\n height: row_height,\n class: \"grid-row\",\n append_to: rows_layer,\n });\n\n createSVG(\"line\", {\n x1: 0,\n y1: row_y + row_height,\n x2: row_width,\n y2: row_y + row_height,\n class: \"row-line\",\n append_to: lines_layer,\n });\n\n row_y += this.options.barHeight + this.options.padding;\n });\n }\n\n private make_grid_header() {\n // const addIsHourView = this.isHourView ? 25 : 10\n const header_width = this.dates.length * this.options.columnWidth;\n const header_height = this.options.headerHeight + 10;\n createSVG(\"rect\", {\n x: 0,\n y: 0,\n width: header_width,\n height: header_height,\n class: \"grid-header\",\n append_to: this.layers.grid,\n });\n }\n\n private make_grid_ticks() {\n let tick_x = 0;\n let tick_y = this.options.headerHeight + this.options.padding / 2;\n let tick_height =\n (this.options.barHeight + this.options.padding) *\n this.tasks.length;\n\n for (let date of this.dates) {\n let tick_class = \"tick\";\n\n if (this.view_is(ViewMode.QuarterHour) && date.getHours() === 0 && date.getMinutes() === 0) {\n // thick tick for first hour of day.\n tick_class += \" thick\";\n } else if (this.view_is([ViewMode.Hour, ViewMode.QuarterDay, ViewMode.HalfDay]) && date.getHours() === 0) {\n // thick tick for first hour of day.\n tick_class += \" thick\";\n } else if (this.view_is(ViewMode.Day) && date.getDate() === 1) {\n // thick tick for monday\n tick_class += \" thick\";\n } else if (this.view_is(ViewMode.Week) && date.getDate() >= 1 && date.getDate() < 8) {\n // thick tick for first week\n tick_class += \" thick\";\n } else if (this.view_is(ViewMode.Month) && date.getMonth() % 3 === 0) {\n // thick ticks for quarters\n tick_class += \" thick\";\n }\n\n createSVG(\"path\", {\n d: `M ${tick_x} ${tick_y} v ${tick_height}`,\n class: tick_class,\n append_to: this.layers.grid,\n });\n\n if (this.view_is(ViewMode.Month)) {\n tick_x +=\n (DateUtils.getDaysInMonth(date) *\n this.options.columnWidth) /\n 30;\n } else {\n tick_x += this.options.columnWidth;\n }\n }\n }\n\n make_grid_highlights() {\n if (this.view_is(ViewMode.Day)) {\n const width = this.options.columnWidth;\n const height = (this.options.barHeight + this.options.padding) *\n this.tasks.length +\n this.options.headerHeight +\n this.options.padding / 2;\n\n let x = 0;\n\n for (let date of this.dates) {\n\n let y = (this.options.headerHeight + this.options.padding) / 2;\n\n let isToday = date == DateUtils.today();\n let isWeekend = (date.getDay() == 0 || date.getDay() == 6);\n let className;\n\n if (isToday) {\n className = \"today-highlight\";\n y = (this.options.headerHeight + this.options.padding) / 2;\n } else if (isWeekend) {\n className = \"weekend-highlight\";\n }\n\n const rx = 3;\n const ry = 3;\n\n if (isToday || isWeekend) {\n createSVG(\"rect\", {\n x,\n y,\n rx,\n ry,\n width,\n height,\n class: className,\n append_to: this.layers.grid\n });\n }\n\n x += this.options.columnWidth;\n }\n }\n }\n\n private make_dates() {\n const dates = this.get_dates_to_draw();\n\n for (let i = 0; i < dates.length; i++) {\n const date = dates[i];\n\n createSVG(\"text\", {\n x: date.lower_x,\n y: date.lower_y + 20,\n innerHTML: date.lower_text,\n class: \"title-2\",\n append_to: this.layers.date,\n });\n\n if (date.middle_text) {\n createSVG(\"text\", {\n x: date.middle_x,\n y: date.middle_y,\n innerHTML: date.middle_text,\n class: \"middle-text\",\n append_to: this.layers.date,\n });\n }\n\n if (date.upper_text) {\n const $upper_text = createSVG(\"text\", {\n x: date.upper_x,\n y: date.upper_y,\n innerHTML: date.upper_text,\n class: \"upper-text\",\n append_to: this.layers.date,\n });\n\n // remove out-of-bound dates\n if (\n $upper_text.getBBox().x2 > this.layers.grid.getBBox().width\n ) {\n $upper_text.remove();\n }\n }\n }\n }\n\n private get_dates_to_draw() {\n let last_date: any = null;\n const dates = this.dates.map((date: any, i: any) => {\n const d = this.get_date_info(date, last_date, i);\n last_date = date;\n return d;\n });\n return dates;\n }\n\n private get_date_info(date: Date, last_date: Date, i: any) {\n if (!last_date) {\n last_date = DateUtils.add(date, 1, \"year\");\n }\n\n const date_text = {\n // quarter hour\n quarterHourUpper: date.getDate() !== last_date.getDate()\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : \"\",\n\n quarterHourLower: DateUtils.format(date, \"HH:mm\", this.options.language),\n\n // hour\n hourUpper: date.getDate() !== last_date.getDate()\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : \"\",\n\n hourLower: DateUtils.format(date, \"HH:mm\", this.options.language),\n\n // quarter day\n quarterDayUpper: date.getDate() !== last_date.getDate()\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : \"\",\n\n quarterDayLower: DateUtils.format(date, \"HH:mm\", this.options.language),\n\n // half day\n halfDayUpper: (date.getDate() !== last_date.getDate())\n ? (((date.getMonth() !== last_date.getMonth()) || i < 2)\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : DateUtils.format(date, \"D\", this.options.language))\n : \"\",\n\n halfDayLower: DateUtils.format(date, \"HH:mm\", this.options.language),\n\n // day\n dayUpper: ((date.getMonth() !== last_date.getMonth()) || i === 0)\n ? DateUtils.format(date, \"MMMM\", this.options.language)\n : \"\",\n\n dayMiddle: DateUtils.format(date, \"ddd\", this.options.language),\n\n dayLower: DateUtils.format(date, \"D\", this.options.language),\n\n // week\n weekUpper: date.getMonth() !== last_date.getMonth()\n ? DateUtils.format(date, \"MMMM\", this.options.language)\n : \"\",\n\n weekLower: date.getMonth() !== last_date.getMonth()\n ? DateUtils.format(date, \"D MMM\", this.options.language)\n : DateUtils.format(date, \"D\", this.options.language),\n\n // month\n monthUpper: date.getFullYear() !== last_date.getFullYear()\n ? DateUtils.format(date, \"YYYY\", this.options.language)\n : \"\",\n\n monthLower: DateUtils.format(date, \"MMMM\", this.options.language),\n\n // year\n yearUpper: date.getFullYear() !== last_date.getFullYear() \n ? DateUtils.format(date, \"YYYY\", this.options.language)\n : \"\",\n\n yearLower: DateUtils.format(date, \"YYYY\", this.options.language),\n };\n\n // Descontando 20 para adcionar uma segunda linha de informação no cabeçalho\n const base_pos = {\n x: i * this.options.columnWidth,\n upper_y: this.options.headerHeight - 20 - 25,\n middle_y: this.options.headerHeight - 20,\n lower_y: this.options.headerHeight - 20,\n };\n const x_pos = {\n quarterHourUpper: (this.dates.length < 14) ? (this.options.columnWidth) : (this.options.columnWidth * 24 / 2),\n quarterHourMiddle: this.options.columnWidth / 2,\n quarterHourLower: this.options.columnWidth / 2,\n\n hourUpper: (this.dates.length < 14) ? (this.options.columnWidth) : (this.options.columnWidth * 24 / 2),\n hourMiddle: this.options.columnWidth / 2,\n hourLower: this.options.columnWidth / 2,\n\n quarterDayUpper: this.options.columnWidth * 4 / 2,\n quarterDayMiddle: this.options.columnWidth / 2,\n quarterDayLower: this.options.columnWidth / 2,\n \n halfDayUpper: this.options.columnWidth * 2 / 2,\n halfDayMiddle: this.options.columnWidth / 2,\n halfDayLower: this.options.columnWidth / 2,\n \n dayUpper: (this.dates.length < 15) ? (this.options.columnWidth) : ((this.options.columnWidth * 30) / 2),\n dayMiddle: this.options.columnWidth / 2 - 12,\n dayLower: this.options.columnWidth / 2,\n \n weekUpper: (this.options.columnWidth * 4) / 2,\n weekMiddle: 0,\n weekLower: 0,\n \n monthUpper: (this.dates.length < 15) ? (this.options.columnWidth) : ((this.options.columnWidth * 12) / 2),\n monthMiddle: 0,\n monthLower: this.options.columnWidth / 2,\n \n yearUpper: (this.options.columnWidth * 30) / 2,\n yearMiddle: this.options.columnWidth / 2,\n yearLower: this.options.columnWidth / 2,\n };\n\n return {\n upper_text: date_text[`${this.options.viewMode}Upper`],\n middle_text: date_text[`${this.options.viewMode}Middle`],\n lower_text: date_text[`${this.options.viewMode}Lower`],\n upper_x: base_pos.x + x_pos[`${this.options.viewMode}Upper`],\n upper_y: base_pos.upper_y,\n middle_x: base_pos.x + x_pos[`${this.options.viewMode}Middle`],\n middle_y: base_pos.middle_y,\n lower_x: base_pos.x + x_pos[`${this.options.viewMode}Lower`],\n lower_y: base_pos.lower_y,\n date,\n };\n }\n\n private make_bars() {\n this.bars = this.tasks.map((task: any) => {\n const bar = new Bar(this, task);\n this.layers.bar.appendChild(bar.group);\n return bar;\n });\n }\n\n private make_arrows() {\n this.arrows = [];\n for (let task of this.tasks) {\n let arrows = [];\n arrows = task.dependencies\n .map((task_id: any) => {\n const dependency = this.get_task(task_id);\n if (!dependency) return;\n const arrow = new Arrow(\n this,\n this.bars[dependency._index], // from_task\n this.bars[task._index] // to_task\n );\n this.layers.arrow.appendChild(arrow.element);\n return arrow;\n })\n .filter(Boolean); // filter falsy values\n this.arrows = this.arrows.concat(arrows);\n }\n }\n\n private map_arrows_on_bars() {\n for (let bar of this.bars) {\n bar.arrows = this.arrows.filter((arrow: Arrow) => {\n return (\n arrow.fromTask.task.id === bar.task.id ||\n arrow.toTask.task.id === bar.task.id\n );\n });\n }\n }\n\n private set_width() {\n const cur_width = this.$svg.getBoundingClientRect().width;\n const actual_width = this.$svg\n .querySelector(\".grid .grid-row\")\n .getAttribute(\"width\");\n if (cur_width < actual_width) {\n this.$svg.setAttribute(\"width\", actual_width);\n }\n }\n\n private set_scroll_position() {\n const parent_element = this.$svg.parentElement;\n if (!parent_element) return;\n\n const hours_before_first_task = DateUtils.diff(\n this.get_oldest_starting_date(),\n this.minDate,\n \"hour\"\n );\n\n const scroll_pos =\n (hours_before_first_task / this.options.step) *\n this.options.columnWidth -\n this.options.columnWidth;\n\n parent_element.scrollLeft = scroll_pos;\n }\n\n private bind_grid_click() {\n $.on(\n this.$svg,\n this.options.popupTrigger,\n \".grid-row, .grid-header\",\n () => {\n this.unselect_all();\n this.hide_popup();\n }\n );\n }\n\n private bind_bar_events() {\n let is_dragging = false;\n let x_on_start = 0;\n let is_resizing_left = false;\n let is_resizing_right = false;\n let parent_bar_id: any = null;\n let bars: Bar[] = [];\n this.bar_being_dragged = null;\n\n function action_in_progress() {\n return is_dragging || is_resizing_left || is_resizing_right;\n }\n\n $.on(this.$svg, \"mousedown\", \".bar-wrapper, .handle\", (e: any, element: any) => {\n const bar_wrapper = $.closest(\".bar-wrapper\", element);\n\n if (element.classList.contains(\"left\")) {\n is_resizing_left = true;\n } else if (element.classList.contains(\"right\")) {\n is_resizing_right = true;\n } else if (element.classList.contains(\"bar-wrapper\") && this.options.allowMovement) {\n is_dragging = true;\n }\n\n bar_wrapper.classList.add(\"active\");\n\n x_on_start = e.offsetX;\n\n parent_bar_id = bar_wrapper.getAttribute(\"data-id\");\n const ids = [\n parent_bar_id,\n ...this.get_all_dependent_tasks(parent_bar_id),\n ];\n bars = ids.map((id) => this.get_bar(id));\n\n this.bar_being_dragged = parent_bar_id;\n\n bars.forEach((bar) => {\n const $bar = bar.element;\n $bar.ox = $bar.getX();\n $bar.oy = $bar.getY();\n $bar.owidth = $bar.getWidth();\n $bar.finaldx = 0;\n });\n });\n\n\n $.on(this.$svg, \"mousemove\", (e: any) => {\n if (!action_in_progress()) {\n return;\n }\n\n const dx = e.offsetX - x_on_start;\n\n bars.forEach((bar) => {\n const $bar = bar.element;\n $bar.finaldx = this.get_snap_position(dx);\n this.hide_popup();\n if (is_resizing_left) {\n if (parent_bar_id === bar.task.id) {\n bar.updateBarPosition({\n x: $bar.ox + $bar.finaldx,\n width: $bar.owidth - $bar.finaldx,\n });\n } else {\n bar.updateBarPosition({\n x: $bar.ox + $bar.finaldx,\n });\n }\n } else if (is_resizing_right) {\n if (parent_bar_id === bar.task.id) {\n bar.updateBarPosition({\n width: $bar.owidth + $bar.finaldx,\n });\n }\n } else if (is_dragging) {\n bar.updateBarPosition({ x: $bar.ox + $bar.finaldx });\n }\n });\n }, null);\n\n\n document.addEventListener(\"mouseup\", (e: any) => {\n if (is_dragging || is_resizing_left || is_resizing_right || !this.options.allowMovement) {\n bars.forEach((bar) => bar.group.classList.remove(\"active\"));\n }\n\n is_dragging = false;\n is_resizing_left = false;\n is_resizing_right = false;\n });\n\n $.on(this.$svg, \"mouseup\", (e: any) => {\n this.bar_being_dragged = null;\n bars.forEach((bar) => {\n const $bar = bar.element;\n if (!$bar.finaldx) return;\n bar.dateChanged();\n bar.setActionCompleted();\n });\n }, null);\n }\n\n private get_all_dependent_tasks(task_id: any) {\n let out: any[] = [];\n let to_process = [task_id];\n while (to_process.length) {\n const deps = to_process.reduce((acc, curr) => {\n acc = acc.concat(this.dependency_map[curr]);\n return acc;\n }, []);\n\n out = out.concat(deps);\n to_process = deps.filter((d: any) => !to_process.includes(d));\n }\n\n return out.filter(Boolean);\n }\n\n private get_snap_position(dx: any) {\n let odx = dx,\n rem,\n position;\n\n if (this.view_is(ViewMode.Hour)) {\n rem = dx % (this.options.columnWidth / 6);\n position = odx - rem + (rem < this.options.columnWidth / 12 ? 0 : this.options.columnWidth / 6);\n } else if (this.view_is(ViewMode.Week)) {\n rem = dx % (this.options.columnWidth / 7);\n position = odx - rem + (rem < this.options.columnWidth / 14 ? 0 : this.options.columnWidth / 7);\n } else if (this.view_is(ViewMode.Month)) {\n rem = dx % (this.options.columnWidth / 30);\n position = odx - rem + (rem < this.options.columnWidth / 60 ? 0 : this.options.columnWidth / 30);\n } else {\n rem = dx % this.options.columnWidth;\n position = odx - rem + (rem < this.options.columnWidth / 2 ? 0 : this.options.columnWidth);\n }\n return position;\n }\n\n public unselect_all() {\n [...this.$svg.querySelectorAll(\".bar-wrapper\")].forEach((el) => {\n el.classList.remove(\"active\");\n });\n }\n\n public view_is(modes: ViewMode | ViewMode[]) {\n if (Array.isArray(modes)) {\n return modes.some((mode) => this.options.viewMode === mode);\n }\n\n return this.options.viewMode === modes;\n }\n\n private get_task(id: any) {\n return this.tasks.find((task: any) => {\n return task.id === id;\n });\n }\n\n public get_bar(id: any): Bar {\n return this.bars.find((bar: any) => {\n return bar.task.id === id;\n });\n }\n\n public show_popup(options: any) {\n if (!this.popup) {\n this.popup = new Popup(\n this.popup_wrapper,\n this.options.customPopupHtml\n );\n }\n this.popup.show(options);\n }\n\n public hide_popup() {\n this.popup && this.popup.hide();\n }\n\n public trigger_event(event: string, args: any) {\n if (this.options[event]) {\n this.options[event].apply(null, args);\n }\n }\n\n private get_oldest_starting_date() {\n return this.tasks\n .map((task: any) => task._start)\n .reduce((prev_date: any, cur_date: any) =>\n cur_date <= prev_date ? cur_date : prev_date\n );\n }\n\n private clear() {\n this.$svg.innerHTML = '';\n }\n}\n\nfunction generate_id(task: any) {\n return task.name + \"_\" + Math.random().toString(36).slice(2, 12);\n}\n","import { AfterViewInit, Component, Input, OnChanges, OnInit, Output, ViewEncapsulation, EventEmitter, SimpleChanges, ElementRef, ViewChild } from \"@angular/core\";\n\nimport { Gantt } from \"./components/gantt/gantt\";\nimport { TaskGroup, Task, EnrichedTask } from \"./models/task\"\nimport { ViewMode } from \"./models/view-mode\";\n\n@Component({\n selector: \"s-gantt\",\n templateUrl: \"./gantt.component.html\",\n styleUrls: [\n \"./gantt.component.scss\",\n \"./components/gantt/gantt.scss\",\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class GanttComponent implements AfterViewInit, OnChanges, OnInit {\n @Input()\n public columnTitle: string;\n\n @Input()\n public multipleTaskPerLine = false;\n\n @Input()\n public showSideTable = true;\n\n @Input()\n public viewMode = ViewMode.Day;\n\n @Input()\n public tasks: TaskGroup[];\n\n @Input()\n public marginBeforeStart?: number;\n\n @Input()\n public marginAfterEnd?: number;\n\n @Input()\n public allowMovement = true;\n\n @Input()\n public hasPopup = true;\n\n @Input()\n public containerWidth: number;\n\n @Input()\n public fullWidth = false;\n\n @Input()\n public showOnlyHours = false;\n\n @Input()\n public showOnlyDays = false;\n\n @Output()\n public taskClicked: EventEmitter<Task> = new EventEmitter();\n\n @Output()\n public taskDateChanged: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public viewChanged: EventEmitter<ViewMode> = new EventEmitter();\n\n private _gantt: Gantt;\n\n public ngOnInit(): void {\n this._validateViewMode();\n this._validateTasks();\n }\n\n @ViewChild('outer')\n outer: ElementRef;\n\n @ViewChild('side')\n side: ElementRef;\n\n public ngAfterViewInit(): void {\n if (this.fullWidth) {\n this.containerWidth = this.outer.nativeElement.offsetWidth - this.side.nativeElement.offsetWidth;\n }\n\n this._gantt = new Gantt(\"#gantt\", this._filterTask(this.tasks), {\n viewMode: this.viewMode,\n marginBeforeStart: this.marginBeforeStart,\n marginAfterEnd: this.marginAfterEnd,\n language: \"pt-br\",\n allowMovement: this.allowMovement,\n hasPopup: this.hasPopup,\n containerWidth: this.containerWidth,\n showOnlyHours: this.showOnlyHours,\n showOnlyDays: this.showOnlyDays,\n onClick: (task: Task) => this.taskClicked.emit(task),\n onDateChange: (task: Task, start: any, end: any) => this.taskDateChanged.emit({ task, start, end }),\n onViewChange: (viewMode: ViewMode) => this.viewChanged.emit(viewMode),\n });\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (!this._gantt) {\n return;\n }\n\n if (changes.viewMode) {\n this._gantt.options.viewMode = changes.viewMode.currentValue;\n this._gantt.change_view_mode();\n }\n\n if (changes.tasks) {\n this._gantt.refresh(this._filterTask(changes.tasks.currentValue));\n }\n }\n\n private _filterTask(tasksGroups: TaskGroup[]): Task[] {\n const tasks: Task[] = [];\n\n if (this.multipleTaskPerLine) {\n tasksGroups.forEach((group: any, index: number) => {\n tasks.push(...group.tasks.map((task: EnrichedTask) => {\n return { ...task, _row_id: index };\n }));\n }, []);\n } else {\n let i = 0;\n tasksGroups.forEach((group: any) => {\n tasks.push(...group.tasks.map((task: EnrichedTask) => {\n return { ...task, _row_id: i++ };\n }));\n }, []);\n }\n\n return tasks;\n }\n\n private _validateViewMode(): void {\n if (![\n ViewMode.QuarterHour,\n ViewMode.Hour,\n ViewMode.QuarterDay,\n ViewMode.HalfDay,\n ViewMode.Day,\n ViewMode.Week,\n ViewMode.Month,\n ViewMode.Year,\n ].includes(this.viewMode)) {\n throw new Error(\"Invalid gantt view mode\");\n }\n }\n\n private _validateTasks(): void {\n this.tasks.forEach(group => {\n group.tasks.forEach(task => {\n if (task.start > task.end) {\n throw new Error(\"invalid task. The start date must be less than the end date.\");\n }\n });\n });\n }\n}\n","import { Component, Input, OnInit } from '@angular/core';\n\nimport { TaskGroup } from '../../models/task';\n\n@Component({\n selector: 'gantt-side-table',\n templateUrl: './side-table.component.html',\n styleUrls: ['./side-table.component.scss']\n})\nexport class SideTableComponent implements OnInit {\n public ROW_HEIGHT = 44;\n\n @Input()\n public columnTitle: string;\n\n @Input()\n public tasks: TaskGroup[];\n\n @Input()\n public multipleTaskPerLine = false;\n\n public ngOnInit(): void {\n this._removeEmptyTasks();\n }\n\n private _removeEmptyTasks(): void {\n this.tasks = this.tasks.filter(task => task.tasks.length);\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { GanttComponent } from \"./gantt.component\";\nimport { SideTableComponent } from \"./components/side-table/side-table.component\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [\n GanttComponent,\n SideTableComponent,\n ],\n exports: [GanttComponent],\n})\nexport class GanttModule { }\n","export enum GlobalSearchSizeEnum {\n STANDARD = \"STANDARD\",\n MEDIUM = \"MEDIUM\",\n SMALL = \"SMALL\"\n}\n","import {\n Component,\n ContentChild,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ElementRef\n} from \"@angular/core\";\n\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\nimport { GlobalSearchSizeEnum } from \"../../global-search-size.enum\";\n\n@Component({\n selector: \"s-global-search-dropdown-item\",\n templateUrl: \"./global-search-dropdown-item.component.html\",\n styleUrls: [\"./global-search-dropdown-item.component.scss\"]\n})\nexport class GlobalSearchDropdownItemComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-global-search-dropdown-item-${GlobalSearchDropdownItemComponent.nextId++}`;\n\n @Input()\n public primaryLabel: string;\n\n @Input()\n public secondaryEmptyLabel: string;\n\n @Input()\n public tertiaryEmptyLabel: string;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public secondaryLabel?: string;\n\n @Input()\n public tertiaryLabel?: string;\n\n @Input()\n public size = GlobalSearchSizeEnum.STANDARD;\n\n @Input()\n public template: ElementRef;\n\n @Output()\n public buttonClick = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n @ViewChild(TemplateRef, { static: true })\n public content: TemplateRef<any>;\n\n private isStandardSize() {\n return this.size === GlobalSearchSizeEnum.STANDARD;\n }\n\n public isMediumSize() {\n return this.size === GlobalSearchSizeEnum.MEDIUM;\n }\n\n public isSmallSize() {\n return this.size === GlobalSearchSizeEnum.SMALL;\n }\n\n public getImageSize() {\n return this.isStandardSize() ? \"medium\" : \"small\";\n }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n ContentChildren,\n QueryList,\n ChangeDetectorRef\n} from \"@angular/core\";\nimport { trigger, state, style, transition, animate } from \"@angular/animations\";\n\nimport { ExportUtils } from \"../utils\";\nimport { GlobalSearchDropdownItemComponent } from \"./elements/dropdown/global-search-dropdown-item.component\";\n\n@Component({\n selector: \"s-global-search\",\n templateUrl: \"./global-search.component.html\",\n styleUrls: [\"./global-search.component.scss\"],\n animations: [\n trigger(\"expandableContent\", [\n state(\n \"*\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"false\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"true\",\n style({\n height: \"*\",\n })\n ),\n transition(\"* => true\", animate(\"200ms ease-out\")),\n transition(\"false <=> true\", animate(\"200ms ease-out\")),\n ]),\n ]\n})\nexport class GlobalSearchComponent {\n\n public static nextId = 0;\n\n @ViewChild(\"globalSearch\", { static: false }) globalSearch: ElementRef;\n\n @Input()\n public id = `s-global-search-${GlobalSearchDropdownItemComponent.nextId++}`;\n\n @Input()\n public delay = 500;\n\n @Input()\n public totalItensLabel: string;\n\n @Input()\n public showMoreLabel: string;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public isLoading = false;\n\n @Input()\n public totalElements: number;\n\n @Input()\n public emptyTitle: string;\n\n @Input()\n public emptyDescription: string;\n\n @Input()\n public emptyIcon: string;\n\n @Input() showFooter = true;\n\n @ContentChildren(GlobalSearchDropdownItemComponent)\n public dropdownItens: QueryList<GlobalSearchDropdownItemComponent>;\n\n @Output() onSearch = new EventEmitter<string>();\n @Output() onFocus = new EventEmitter<boolean>();\n @Output() onShowMore = new EventEmitter();\n\n public search: string;\n public wasSearched = false;\n public isModalLoading = false;\n public expanded = true;\n\n constructor(private cdr: ChangeDetectorRef) { }\n\n public onChange() {\n const search = this.search;\n setTimeout(() => {\n if (this.search === search) {\n this.canShowGlobalSearchActive();\n this.onSearch.emit(this.search);\n }\n }, this.delay);\n }\n\n public focusIn() {\n this.onFocus.emit(true);\n }\n\n public focusOut() {\n this.onFocus.emit(false);\n }\n\n public showMore() {\n this.onShowMore.emit();\n }\n\n private removeActiveClassByGlobalSearch() {\n ExportUtils.removeClass(this.globalSearch, \"global-search__input-active\");\n }\n\n public close() {\n this.search = null;\n this.wasSearched = false;\n this.dropdownItens = null;\n this.isModalLoading = false;\n this.removeActiveClassByGlobalSearch();\n }\n\n private canShowGlobalSearchActive() {\n this.wasSearched = !!this.search;\n if (this.search) {\n ExportUtils.addClass(this.globalSearch, \"global-search__input-active\");\n } else {\n this.removeActiveClassByGlobalSearch();\n this.close();\n }\n this.cdr.detectChanges();\n }\n\n}\n","import {\n ElementRef,\n EventEmitter,\n Directive,\n HostListener\n} from \"@angular/core\";\nimport { Output } from \"@angular/core\";\n\n@Directive({\n selector: \"[sInfiniteScroll]\"\n})\nexport class InfiniteScrollDirective {\n\n @Output() onScroll = new EventEmitter<number>();\n\n constructor(private el: ElementRef) {}\n\n @HostListener(\"scroll\")\n scroll() {\n if (this.el.nativeElement.scrollTop > (this.el.nativeElement.scrollHeight - this.el.nativeElement.offsetHeight - 2)) {\n this.onScroll.emit();\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { InfiniteScrollDirective } from \"./infinite-scroll.directive\";\n\n@NgModule({\n declarations: [\n InfiniteScrollDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n InfiniteScrollDirective\n ]\n})\nexport class InfiniteScrollModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { TooltipModule } from \"primeng/tooltip\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { GlobalSearchComponent } from \"./global-search.component\";\nimport { GlobalSearchDropdownItemComponent } from \"./elements/dropdown/global-search-dropdown-item.component\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { LoadingStateModule } from \"../loading-state/loading-state.module\";\nimport { InfiniteScrollModule } from \"../infinite-scroll/infinite-scroll.module\";\nimport { EmptyStateModule } from \"../empty-state/empty-state.module\";\n\n@NgModule({\n declarations: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent\n ],\n imports: [\n CommonModule,\n InputTextModule,\n FormsModule,\n ReactiveFormsModule,\n TooltipModule,\n ThumbnailModule,\n ButtonModule,\n LoadingStateModule,\n InfiniteScrollModule,\n EmptyStateModule\n ],\n exports: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent,\n TooltipModule,\n ThumbnailModule,\n ButtonModule,\n LoadingStateModule,\n EmptyStateModule\n ],\n entryComponents: [\n GlobalSearchComponent,\n GlobalSearchDropdownItemComponent\n ]\n})\nexport class GlobalSearchModule { }\n","import { Clipboard } from \"@angular/cdk/clipboard\";\nimport { Component, Input } from \"@angular/core\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { finalize, first } from \"rxjs/operators\";\n\nimport { ToastService } from \"../../../toast/toast.service\";\nimport { IAInsightItem } from \"../../models/ia-insight-item\";\n\nconst marked = require(\"marked\");\n\n@Component({\n selector: \"s-ia-insight-card\",\n templateUrl: \"./ia-insight-card.component.html\",\n styleUrls: [\"./ia-insight-card.component.scss\"],\n})\nexport class IAInsightCardComponent {\n @Input()\n public insight: IAInsightItem;\n\n public open = false;\n public isLoading = false;\n public content: string;\n\n public likeSelected = false;\n public dislikeSelected = false;\n\n constructor(\n private readonly clipboard: Clipboard,\n private readonly toastService: ToastService,\n private readonly translateService: TranslateService,\n ) { }\n\n public toggle(): void {\n const newOpenState = !this.open;\n this.open = newOpenState;\n if (newOpenState === true && this.insight.onOpenSidebar) {\n this.insight.onOpenSidebar();\n } else if (newOpenState === false && this.insight.onCloseSideBar) {\n this.insight.onCloseSideBar();\n }\n if (newOpenState === true) {\n this._requestInsight();\n }\n }\n\n public onLikeSelected(): void {\n if (this.likeSelected) {\n this.likeSelected = false;\n } else {\n this.likeSelected = true;\n this.dislikeSelected = false;\n this.insight.onLikeSelected?.();\n }\n }\n\n public onDislikeSelected(): void {\n if (this.dislikeSelected) {\n this.dislikeSelected = false;\n } else {\n this.dislikeSelected = true;\n this.likeSelected = false;\n this.insight.onDislikeSelected?.();\n }\n }\n\n public copyContent(): void {\n this.insight.onCopy?.(this.content);\n\n if (this.clipboard.copy(this.content)) {\n this.toastService.show({\n severity: \"info\",\n title: this.translateService.instant(\"platform.angular_components.copied_to_clipboard\"),\n });\n }\n }\n\n public reloadContent(): void {\n this._requestInsight();\n }\n\n private _requestInsight(): void {\n this.isLoading = true;\n\n this.insight.request$\n .pipe(\n first(),\n finalize(() => (this.isLoading = false))\n )\n .subscribe((content: string) => {\n this.content = marked.marked(content);\n if (this.insight.onContentLoaded) {\n this.insight.onContentLoaded()\n }\n });\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from \"@angular/core\";\n\nimport { IAInsightItem } from \"../../models/index\";\n\n@Component({\n selector: \"s-ia-insight-sidebar\",\n templateUrl: \"./ia-insight-sidebar.component.html\",\n styleUrls: [\"./ia-insight-sidebar.component.scss\"],\n})\nexport class IAInsightSidebarComponent {\n @Input()\n public insights: IAInsightItem[] = [];\n\n @Input()\n public hasPermission: boolean;\n\n @Input()\n public introText: string;\n\n @Input()\n public introTemplate: TemplateRef<any>;\n\n @Input()\n public emptyText: string;\n\n @Input()\n public emptyTemplate: TemplateRef<any>;\n\n @Input()\n public noPermissionText: string;\n\n @Input()\n public noPermissionTemplate: TemplateRef<any>;\n\n @Output()\n public closedSidebar = new EventEmitter<void>();\n\n @Output()\n public openedSidebar = new EventEmitter<void>();\n\n public opened = false;\n\n public toggle(): void {\n this.opened = !this.opened;\n }\n\n public open(): void {\n this.opened = true;\n this.openedSidebar.emit();\n }\n\n public close(): void {\n this.opened = false;\n this.closedSidebar.emit();\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-ia-insight-card-loader\",\n templateUrl: \"./ia-insight-card-loader.component.html\",\n styleUrls: [\"./ia-insight-card-loader.component.scss\"],\n})\nexport class IAInsightCardLoaderComponent {}\n","export enum IAInsightTemplateTypes {\n Empty = \"empty\",\n Intro = \"intro\",\n NoPermission = \"noPermission\",\n}\n","import { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef, ViewChild } from \"@angular/core\";\n\nimport { TemplateDirective } from \"../template/template.directive\";\nimport { IAInsightSidebarComponent } from \"./components/ia-insight-sidebar/ia-insight-sidebar.component\";\nimport { IAInsightItem } from \"./models/ia-insight-item\";\nimport { IAInsightTemplateTypes } from \"./models/ia-insight-template-types\";\n\n@Component({\n selector: \"s-ia-insight\",\n templateUrl: \"./ia-insight.component.html\",\n styleUrls: [\"./ia-insight.component.scss\"],\n})\nexport class IAInsightComponent implements AfterContentInit {\n @Input()\n public insights: IAInsightItem[] = [];\n\n @Input()\n public hasPermission = true;\n\n @Input()\n public introText: string;\n\n @Input()\n public emptyText: string;\n\n @Input()\n public noPermissionText: string;\n\n @Output()\n public openIAInsight = new EventEmitter<void>();\n\n @Output()\n public closedIAInsight = new EventEmitter<void>();\n\n @ViewChild(IAInsightSidebarComponent)\n public sidebar: IAInsightSidebarComponent;\n\n @ContentChildren(TemplateDirective) templates: QueryList<TemplateDirective>;\n\n public introTemplate: TemplateRef<any>;\n public emptyTemplate: TemplateRef<any>;\n public noPermissionTemplate: TemplateRef<any>;\n\n public ngAfterContentInit(): void {\n this._getTemplates();\n }\n\n public open(): void {\n this.sidebar.open();\n }\n\n public close(): void {\n this.sidebar.close();\n }\n public onOpenSidebar() {\n this.openIAInsight.emit();\n }\n public onCloseSidebar() {\n this.closedIAInsight.emit();\n }\n\n public getIntroTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(IAInsightTemplateTypes.Intro);\n }\n\n public getNoPermissionTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(IAInsightTemplateTypes.NoPermission);\n }\n\n public getEmptyTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(IAInsightTemplateTypes.Empty);\n }\n\n private _getCustomTemplate(type: string) {\n return this.templates.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private _getTemplates(): void {\n this.introTemplate = this.getIntroTemplate();\n this.emptyTemplate = this.getEmptyTemplate();\n this.noPermissionTemplate = this.getNoPermissionTemplate();\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { SVGFactoryModule } from \"../../utils/svg-factory/svg-factory.module\";\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { TemplateModule } from \"../template/template.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { IAInsightCardComponent } from \"./components/ia-insight-card/ia-insight-card.component\";\nimport { IAInsightSidebarComponent } from \"./components/ia-insight-sidebar/ia-insight-sidebar.component\";\nimport { IAInsightCardLoaderComponent } from \"./components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component\";\nimport { IAInsightComponent } from \"./ia-insight.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n BadgeModule,\n ButtonModule,\n TooltipModule,\n TemplateModule,\n SVGFactoryModule,\n ],\n declarations: [\n IAInsightComponent,\n IAInsightCardComponent,\n IAInsightSidebarComponent,\n IAInsightCardLoaderComponent,\n ],\n exports: [\n IAInsightComponent,\n TemplateModule,\n ],\n})\nexport class IAInsightModule {}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\n\nimport { GridMenuItem } from \"./types/grid-menu-item\";\nimport { isNullOrUndefined } from \"../utils/utils\";\n\n@Component({\n selector: \"s-grid-menu\",\n templateUrl: \"./grid-menu.component.html\",\n styleUrls: [\"./grid-menu.component.scss\"],\n})\nexport class GridMenuComponent implements OnChanges {\n private previousGridMenuItemClicked: GridMenuItem | undefined;\n @Input()\n public set items(items: GridMenuItem[] | GridMenuItem) {\n if (isNullOrUndefined(items)) {\n this.itemsArray = [];\n } else {\n this.itemsArray = Array.isArray(items) ? items as GridMenuItem[] : [items];\n }\n }\n\n @Input() useFontAwesomeIcons = false;\n\n public itemsArray: GridMenuItem[] = [];\n\n @Input() selectable = false;\n\n @Input() selected: GridMenuItem;\n\n @Output() selectedChange = new EventEmitter<GridMenuItem>();\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected && changes.selected.isFirstChange()) {\n if (this.selectable) {\n this.selected.active = true;\n }\n }\n }\n\n onClickGridMenuItem(gridMenuItem: GridMenuItem) {\n if (!this.selectable) {\n return;\n }\n if (this.previousGridMenuItemClicked) {\n this.previousGridMenuItemClicked.active = false;\n }\n gridMenuItem.active = !gridMenuItem.active;\n this.previousGridMenuItemClicked = gridMenuItem;\n this.selectedChange.next(gridMenuItem);\n }\n}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nimport { GridMenuItem } from \"../../types/grid-menu-item\";\n\n@Component({\n selector: \"s-grid-menu-item\",\n templateUrl: \"./grid-menu-item.component.html\",\n styleUrls: [\"./grid-menu-item.component.scss\"],\n})\nexport class GridMenuItemComponent {\n @Input()\n public item: GridMenuItem;\n\n @Input()\n public iconIsFromFontAwesome = false;\n\n @Output() clickedGridMenuItem = new EventEmitter<GridMenuItem>();\n\n public fontAwesomePrefix: 'fal' | 'fas' = 'fal';\n\n public onClick(): void {\n if (this.disabled) {\n return\n }\n this.item.action?.();\n this.clickedGridMenuItem.emit(this.item)\n }\n\n public onMouseEnter() {\n if (this.disabled) {\n return\n }\n this.fontAwesomePrefix = 'fas'\n }\n\n public onMouseLeave() {\n if (this.disabled) {\n return\n }\n this.fontAwesomePrefix = 'fal';\n }\n\n public get iconFontAwesomeClassName() {\n const prefix = this.item.active ? 'fas' : this.fontAwesomePrefix;\n return `${prefix} ${this.item.icon}`\n }\n\n public get initialLetter(): string {\n let initialLetter = \"\";\n if (this.item.label) {\n const words = this.item.label.split(\" \", 2);\n initialLetter = words[0].charAt(0).toUpperCase();\n if (words.length > 1) {\n initialLetter += words[1].charAt(0).toUpperCase();\n }\n }\n return initialLetter;\n }\n\n public get disabled(): boolean {\n return typeof this.item?.disabled === \"function\" ? !!this.item.disabled() : !!this.item?.disabled;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { GridMenuItemComponent } from \"./components/grid-menu-item/grid-menu-item.component\";\nimport { GridMenuComponent } from \"./grid-menu.component\";\nimport { AccessibilityEventsModule } from \"../accessibility-events/accessibility-events.module\";\n\n\n@NgModule({\n imports: [CommonModule, AccessibilityEventsModule],\n declarations: [GridMenuItemComponent, GridMenuComponent],\n exports: [GridMenuItemComponent, GridMenuComponent],\n})\nexport class GridMenuModule { }\n","export interface InlineEditFieldOptions {\n label: string;\n name: string;\n tooltip?: string;\n errorMessages?: () => ({}) | {};\n}\n\nexport abstract class InlineEditField {\n public label: string;\n public name: string;\n public tooltip?: string;\n public errorMessages: () => ({}) | {};\n\n constructor(options: InlineEditFieldOptions) {\n this.label = options.label;\n this.name = options.name;\n this.tooltip = options.tooltip;\n this.errorMessages = options.errorMessages;\n }\n}","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditCalendarFieldOptions extends InlineEditFieldOptions {\n view?: string;\n minDate?: Date;\n maxDate?: Date;\n defaultDate?: Date;\n appendTo?: string;\n showOnFocus?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onSelect?: (event: any) => void;\n onInput?: (event: any) => void;\n onClose?: (event: any) => void;\n onTodayClick?: (event: any) => void;\n onClearClick?: (event: any) => void;\n onMonthChange?: (event: any) => void;\n onYearChange?: (event: any) => void;\n selectionMode?: string;\n rangeSeparator?: string;\n showSeconds?: boolean;\n placeholder?: string;\n}\n\nexport class InlineEditCalendarField extends InlineEditField {\n public view?: string;\n public appendTo: string;\n public minDate?: Date;\n public maxDate?: Date;\n public defaultDate?: Date;\n public showOnFocus?: boolean;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onSelect?: (event: any) => void;\n public onInput?: (event: any) => void;\n public onClose?: (event: any) => void;\n public onTodayClick?: (event: any) => void;\n public onClearClick?: (event: any) => void;\n public onMonthChange?: (event: any) => void;\n public onYearChange?: (event: any) => void;\n public selectionMode?: string;\n public rangeSeparator?: string;\n public showSeconds: boolean;\n public placeholder?: string;\n\n constructor(options: InlineEditCalendarFieldOptions) {\n super(options);\n\n this.view = options.view || \"date\";\n this.minDate = options.minDate;\n this.maxDate = options.maxDate;\n this.defaultDate = options.defaultDate;\n this.appendTo = options.appendTo;\n this.showOnFocus = typeof options.showOnFocus === \"boolean\" ? options.showOnFocus : true;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onSelect = options.onSelect;\n this.onInput = options.onInput;\n this.onClose = options.onClose;\n this.onTodayClick = options.onTodayClick;\n this.onClearClick = options.onClearClick;\n this.onMonthChange = options.onMonthChange;\n this.onYearChange = options.onYearChange;\n this.selectionMode = options.selectionMode || \"single\";\n this.rangeSeparator = options.rangeSeparator || \"-\";\n this.showSeconds = options.showSeconds;\n this.placeholder = options.placeholder;\n }\n}\n","import { Observable } from \"rxjs\";\nimport { delay } from \"rxjs/operators\";\n\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\nimport { DefaultFilter } from \"../../dynamic-form/index\";\n\nexport interface InlineEditLookupFieldOptions extends InlineEditFieldOptions {\n multiple?: boolean;\n showSearch?: boolean;\n searchFields: any[];\n searchGridFields: any[];\n lookupSuggestions?: any[];\n suggestionsObservable: Observable<any[]>;\n searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n dataKey: string;\n lookupDisplayField: string;\n searchTitle?: string;\n searchEmptyTitle?: string;\n filterTitle?: string;\n emptyMessage?: string;\n appendTo?: string;\n autocompleteForceSelection?: boolean;\n showAddOption?: boolean;\n showEditOption?: boolean;\n showRemoveOption?: boolean;\n placeholder?: string;\n onLookupRequest: (query: string) => void;\n onSearchRequest: (event: any) => void;\n onSelect?: (event: any) => void;\n onUnselect?: (event: any) => void;\n onClear?: (event: any) => void;\n onBlur?: (event: FocusEvent) => void;\n onAdd?: () => void;\n onEdit?: (selectedItem: unknown) => void;\n onRemove?: (selectedItems: unknown[]) => void;\n}\n\nexport class InlineEditLookupField extends InlineEditField {\n public multiple = false;\n public showSearch = true;\n public searchFields: any[];\n public searchGridFields: any[];\n public lookupSuggestions: any[];\n public suggestionsObservable: Observable<any[]>;\n public searchObservable: Observable<{ gridData: any[]; totalRecords: number; searchTotalRecordsLabel?: string }>;\n public dataKey: string;\n public lookupDisplayField: string;\n public searchTitle: string;\n public searchEmptyTitle: string;\n public filterTitle: string;\n public emptyMessage: string;\n public appendTo?: string;\n public autocompleteForceSelection = true;\n public showAddOption = false;\n public showEditOption = false;\n public showRemoveOption = false;\n public defaultFilter: DefaultFilter[];\n public onLookupRequest: (query: string) => void;\n public onSearchRequest: (event: any) => void;\n public onClear?: (event: any) => void;\n public onBlur?: (event: FocusEvent) => void;\n public onAdd?: () => void;\n public onEdit?: (selectedItem: unknown) => void;\n public onRemove?: (selectedItems: unknown[]) => void;\n\n public placeholder?: string;\n\n private _gridData: any[];\n private _searchTotalRecords: number;\n private _searchTotalRecordsLabel: string;\n\n public onSelect = (event: any) => {};\n public onUnselect = (event: any) => {};\n\n public get gridData() {\n return this._gridData;\n }\n\n public get searchTotalRecords() {\n return this._searchTotalRecords;\n }\n\n public get searchTotalRecordsLabel() {\n return this._searchTotalRecordsLabel;\n }\n \n constructor(options: InlineEditLookupFieldOptions) {\n super(options);\n Object.assign(this, options);\n\n this.suggestionsObservable.subscribe(suggestions => (this.lookupSuggestions = suggestions));\n this.searchObservable.pipe(delay(0)).subscribe(({ totalRecords, gridData, searchTotalRecordsLabel }) => {\n this._gridData = gridData;\n this._searchTotalRecords = totalRecords;\n this._searchTotalRecordsLabel = searchTotalRecordsLabel;\n });\n }\n}","import { AlignmentOptions } from \"@seniorsistemas/ng2-currency-mask\";\n\nimport { AddonConfig } from \"../../dynamic-form/index\";\nimport { NumberLocaleOptions } from \"../../locale/options/number\";\nimport { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditNumberFieldOptions extends InlineEditFieldOptions {\n allowNegative?: boolean;\n numberLocaleOptions?: NumberLocaleOptions;\n browserAutocomplete?: boolean;\n precision?: Function | number;\n scale?: Function | number;\n mask?: () => string | string;\n leftAddon?: AddonConfig;\n rightAddon?: AddonConfig;\n placeholder?: string;\n autoClear?: boolean;\n onBlur?: (event: FocusEvent) => void;\n onFocus?: (event: FocusEvent) => void;\n onComplete?: (event: FocusEvent) => void;\n onInput?: (event: FocusEvent) => void;\n}\n\nexport class InlineEditNumberField extends InlineEditField {\n public allowNegative?: boolean;\n public numberLocaleOptions?: NumberLocaleOptions;\n public browserAutocomplete?: boolean;\n public precision?: Function | number;\n public scale?: Function | number;\n public alignTo: AlignmentOptions;\n public mask?: () => string | string;\n public leftAddon?: AddonConfig;\n public rightAddon?: AddonConfig;\n public placeholder?: string;\n public autoClear?: boolean;\n public onBlur?: (event: FocusEvent) => void;\n public onFocus?: (event: FocusEvent) => void;\n public onComplete?: (event: FocusEvent) => void;\n public onInput?: (event: FocusEvent) => void;\n\n constructor(options: InlineEditNumberFieldOptions) {\n super(options);\n\n this.allowNegative = options.allowNegative ?? true;\n this.numberLocaleOptions = options.numberLocaleOptions;\n this.browserAutocomplete = options.browserAutocomplete;\n this.precision = options.precision;\n this.scale = options.scale ?? 2;\n this.alignTo = this.scale ? AlignmentOptions.RIGHT : AlignmentOptions.LEFT;\n this.mask = options.mask;\n this.leftAddon = options.leftAddon;\n this.rightAddon = options.rightAddon;\n this.onBlur = options.onBlur;\n this.onFocus = options.onFocus;\n this.onComplete = options.onComplete;\n this.onInput = options.onInput;\n this.autoClear = options.autoClear ?? true;\n this.placeholder = options.placeholder ?? \"\";\n }\n}\n","import { InlineEditFieldOptions, InlineEditField } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaFieldOptions extends InlineEditFieldOptions {\n cols?: number;\n rows?: number;\n keyFilter?: any;\n readonly?: () => boolean;\n}\n\nexport class InlineEditTextAreaField extends InlineEditField {\n public cols?: number;\n public rows?: number;\n public keyFilter?: any;\n public readonly?: () => boolean;\n\n constructor(options: InlineEditTextAreaFieldOptions) {\n super(options);\n\n this.cols = options.cols;\n this.rows = options.rows;\n this.keyFilter = options.keyFilter;\n this.readonly = options.readonly;\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextField extends InlineEditField {\n constructor(options: InlineEditTextFieldOptions) {\n super(options);\n }\n}\n","import { InlineEditField, InlineEditFieldOptions } from \"./inline-edit-field\";\n\nexport interface InlineEditTextAreaIAFieldOptions extends InlineEditFieldOptions {}\n\nexport class InlineEditTextAreaIAField extends InlineEditField {\n constructor(options: InlineEditTextAreaIAFieldOptions) {\n super(options);\n }\n}\n","import { Component, ComponentRef, Input, OnInit, ViewChild, ViewContainerRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { first } from \"rxjs/operators\";\n\nimport { LocaleOptions, LocaleService } from \"../../../locale/index\";\nimport { InlineEditCalendarField, InlineEditLookupField } from \"../../fields/index\";\nimport { InlineEditField } from \"../../fields/inline-edit-field\";\nimport { InlineEditCalendarComponent } from \"../fields/inline-edit-calendar/inline-edit-calendar.component\";\n\n@Component({\n selector: \"s-inline-edit-item\",\n templateUrl: \"./inline-edit-item.component.html\",\n styleUrls: [\"./inline-edit-item.component.scss\"],\n})\nexport class InlineEditItemComponent implements OnInit {\n @ViewChild(\"formContainer\", { read: ViewContainerRef, static: true })\n public viewContainerRef: ViewContainerRef;\n\n @Input()\n public label: string;\n\n @Input()\n public formGroup: FormGroup;\n\n @Input()\n public field: InlineEditField;\n\n @Input()\n public errorMessages?: any;\n\n public isEditing = false;\n private _locale: string;\n private dynamicComponentRef: ComponentRef<any>;\n\n constructor(private readonly localeService: LocaleService) {}\n\n public ngOnInit(): void {\n this._getCalendarLocaleOptions();\n }\n\n public get showEmptyValueButton() {\n return !this.isEditing && !this.formGroup.get(this.field.name)?.value;\n }\n\n public get showEditButton() {\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\n }\n\n public get showValue() {\n return !this.isEditing && this.formGroup.get(this.field.name)?.value;\n }\n\n public onEdit(): void {\n this.isEditing = !this.isEditing;\n }\n\n public onCancel(): void {\n this.isEditing = !this.isEditing;\n }\n\n public onSave(): void {\n if (this.dynamicComponentRef && this.dynamicComponentRef.instance.saveValue) {\n const control = this.formGroup.get(this.field.name);\n control.markAsDirty({ onlySelf: true });\n\n this.dynamicComponentRef.instance.saveValue();\n }\n if (this.formGroup.get(this.field.name).valid) {\n this.isEditing = !this.isEditing;\n }\n }\n\n public setDynamicComponentRef(ref: ComponentRef<any>): void {\n this.dynamicComponentRef = ref;\n }\n\n public getErrorMessages(errorMessages: any) {\n if (errorMessages)\n return errorMessages instanceof Function\n ? { ...this.errorMessages, ...errorMessages() }\n : { ...this.errorMessages, ...errorMessages };\n return this.errorMessages;\n }\n\n public getFormattedValue(value: any): string {\n if (this.field instanceof InlineEditCalendarField) {\n return (this.dynamicComponentRef.instance as InlineEditCalendarComponent).getValueAsText();\n }\n if (this.field instanceof InlineEditLookupField) {\n const lookupField = this.field as InlineEditLookupField;\n return this.field.multiple\n ? value.map((val: any) => val[lookupField.lookupDisplayField]).join(\" - \")\n : value[lookupField.lookupDisplayField];\n }\n\n return value;\n }\n\n private _getCalendarLocaleOptions(): void {\n this.localeService\n .get()\n .pipe(first())\n .subscribe((localeOptions: LocaleOptions) => {\n this._locale = localeOptions.locale;\n });\n }\n}\n","import { Component, Input, ViewChild } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { Calendar } from \"primeng/calendar\";\n\nimport { InlineEditCalendarField } from \"../../../fields/inline-edit-calendar-field\";\nimport { CalendarLocaleOptions, LocaleOptions, LocaleService } from \"../../../../locale/index\";\nimport { first } from \"rxjs/operators\";\n\n@Component({\n templateUrl: \"./inline-edit-calendar.component.html\",\n styleUrls: [\"./inline-edit-calendar.component.scss\"],\n})\nexport class InlineEditCalendarComponent {\n @Input()\n public field: InlineEditCalendarField;\n\n @Input()\n public formGroup: FormGroup;\n\n @ViewChild(Calendar)\n calendar: Calendar;\n\n public tempValue: string;\n public calendarLocaleOptions: CalendarLocaleOptions;\n\n constructor(private readonly localeService: LocaleService) {}\n\n public ngOnInit(): void {\n this._getLocaleOptions();\n\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n\n public getValueAsText(): string {\n return this.calendar.el.nativeElement.querySelector('input').value;\n }\n\n private _getLocaleOptions(): void {\n this.localeService.get().pipe(first()).subscribe((locale: LocaleOptions) => {\n this.calendarLocaleOptions = locale.calendar;\n });\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditLookupField } from \"../../../fields/inline-edit-lookup-field\";\n\n@Component({\n templateUrl: \"./inline-edit-lookup.component.html\",\n styleUrls: [\"./inline-edit-lookup.component.scss\"],\n})\nexport class InlineEditLookupComponent implements OnInit {\n @Input()\n public field: InlineEditLookupField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n public ngOnInit(): void {\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || \"\";\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { first } from \"rxjs/operators\";\n\nimport { InlineEditNumberField } from \"../../../fields/inline-edit-number-field\";\nimport { LocaleService } from \"../../../../locale/index\";\n\n@Component({\n templateUrl: \"./inline-edit-number.component.html\",\n styleUrls: [\"./inline-edit-number.component.scss\"],\n})\nexport class InlineEditNumberComponent {\n @Input()\n public field: InlineEditNumberField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n constructor(private readonly localeService: LocaleService) {}\n\n public ngOnInit(): void {\n this._onLocaleService();\n\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n\n public get mask(): string {\n return typeof this.field.mask === 'function' ? this.field.mask() : this.field.mask;\n }\n\n public get leftAddonDisabled(): boolean {\n return typeof this.field.leftAddon.disabled === 'function' ? this.field.leftAddon.disabled() : this.field.leftAddon.disabled;\n }\n\n public get rightAddonDisabled(): boolean {\n return typeof this.field.rightAddon.disabled === 'function' ? this.field.rightAddon.disabled() : this.field.rightAddon.disabled;\n }\n\n public get precision(): number {\n return typeof this.field.precision === 'function' ? this.field.precision() : this.field.precision;\n }\n\n public get scale(): number {\n return typeof this.field.scale === 'function' ? this.field.scale() : this.field.scale;\n }\n\n private _onLocaleService(): void {\n this.localeService\n .getLocale()\n .pipe(first())\n .subscribe({\n next: () => {\n if (!this.field.numberLocaleOptions?.decimalSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n decimalSeparator: this.localeService.getDecimalSeparator(),\n };\n }\n\n if (!this.field.numberLocaleOptions?.thousandsSeparator) {\n this.field.numberLocaleOptions = {\n ...this.field.numberLocaleOptions,\n thousandsSeparator: this.localeService.getGroupingSeparator(),\n };\n }\n },\n error: () =>\n (this.field.numberLocaleOptions = {\n thousandsSeparator: \".\",\n decimalSeparator: \",\",\n currencySymbol: \"\",\n }),\n });\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditTextAreaField } from \"../../../fields/inline-edit-text-area-field\";\n\n@Component({\n templateUrl: \"./inline-edit-text-area.component.html\",\n styleUrls: [\"./inline-edit-text-area.component.scss\"],\n})\nexport class InlineEditTextAreaComponent implements OnInit {\n @Input()\n public field: InlineEditTextAreaField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n public ngOnInit(): void {\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditTextField } from \"../../../fields/inline-edit-text-field\";\n\n@Component({\n templateUrl: \"./inline-edit-text.component.html\",\n styleUrls: [\"./inline-edit-text.component.scss\"],\n})\nexport class InlineEditTextComponent {\n @Input()\n public field: InlineEditTextField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n public ngOnInit(): void {\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport { InlineEditTextAreaIAField } from \"../../../fields/inline-edit-text-area-ia-field\";\n\n@Component({\n templateUrl: \"./inline-edit-text-area-ia.component.html\",\n styleUrls: [\"./inline-edit-text-area-ia.component.scss\"],\n})\nexport class InlineEditTextAreaIAComponent {\n @Input()\n public field: InlineEditTextAreaIAField;\n\n @Input()\n public formGroup: FormGroup;\n\n public tempValue: string;\n\n public ngOnInit(): void {\n if (this.formGroup && this.field) {\n this.tempValue = this.formGroup.get(this.field.name)?.value || '';\n }\n }\n\n public saveValue(): void {\n if (this.formGroup && this.field) {\n this.formGroup.get(this.field.name)?.setValue(this.tempValue);\n }\n }\n}\n","import { Component, ComponentFactoryResolver, Input, OnInit, ViewChild, ViewContainerRef, ComponentRef } from \"@angular/core\";\nimport { FormGroup } from \"@angular/forms\";\n\nimport {\n InlineEditCalendarComponent,\n InlineEditItemComponent,\n InlineEditLookupComponent,\n InlineEditNumberComponent,\n InlineEditTextAreaComponent,\n InlineEditTextComponent,\n InlineEditTextAreaIAComponent,\n} from \"./components/index\";\nimport {\n InlineEditField,\n InlineEditCalendarField,\n InlineEditLookupField,\n InlineEditNumberField,\n InlineEditTextAreaField,\n InlineEditTextField,\n InlineEditTextAreaIAField,\n} from \"./fields/index\";\n\n@Component({\n selector: \"s-inline-edit\",\n templateUrl: \"./inline-edit.component.html\",\n styleUrls: [\"./inline-edit.component.scss\"],\n})\nexport class InlineEditComponent implements OnInit {\n @Input()\n public formGroup: FormGroup;\n\n @Input()\n public fields: InlineEditField[] = [];\n\n @Input()\n public errorMessages?: any;\n\n @ViewChild(\"formContainer\", { read: ViewContainerRef, static: true })\n public container: ViewContainerRef;\n\n constructor(private resolver: ComponentFactoryResolver) {}\n\n public ngOnInit(): void {\n this._createFields();\n }\n\n private _componentMap = {\n [InlineEditCalendarField.name]: InlineEditCalendarComponent,\n [InlineEditLookupField.name]: InlineEditLookupComponent,\n [InlineEditTextField.name]: InlineEditTextComponent,\n [InlineEditNumberField.name]: InlineEditNumberComponent,\n [InlineEditTextAreaField.name]: InlineEditTextAreaComponent,\n [InlineEditTextAreaIAField.name]: InlineEditTextAreaIAComponent,\n };\n\n private _createFields(): void {\n this.container.clear();\n\n const createComponent = (componentClass: any, field: InlineEditField): ComponentRef<any> => {\n const componentFactory = this.resolver.resolveComponentFactory(componentClass);\n const componentRef = this.container.createComponent(componentFactory);\n (componentRef.instance as any).field = field;\n (componentRef.instance as any).formGroup = this.formGroup;\n return componentRef;\n };\n\n for (let field of this.fields) {\n let componentClass = this._componentMap[field.constructor.name];\n\n if (componentClass) {\n const inlineEditItemFactory = this.resolver.resolveComponentFactory(InlineEditItemComponent);\n const inlineEditItemRef = this.container.createComponent(inlineEditItemFactory);\n inlineEditItemRef.instance.label = field.label;\n inlineEditItemRef.instance.formGroup = this.formGroup;\n inlineEditItemRef.instance.field = field;\n inlineEditItemRef.instance.errorMessages = this.errorMessages;\n const dynamicComponentRef = createComponent(componentClass, field);\n\n const inlineEditItemInstance = inlineEditItemRef.instance as InlineEditItemComponent;\n inlineEditItemInstance.viewContainerRef.insert(dynamicComponentRef.hostView);\n inlineEditItemInstance.setDynamicComponentRef(dynamicComponentRef);\n }\n }\n }\n}\n","import { HttpErrorResponse } from \"@angular/common/http\";\nimport { Component, forwardRef, Input, OnInit } from \"@angular/core\";\nimport { ControlValueAccessor, FormBuilder, FormGroup, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { throwError } from \"rxjs\";\nimport { catchError } from \"rxjs/operators\";\n\nimport { FieldType, FormField } from \"../dynamic-form\";\nimport { IAssistService } from \"../dynamic-form/services/IAssist/iassist.service\";\nimport { IAssistResponse } from \"../dynamic-form/services/IAssist/models\";\nimport { SpeechRecognitionService } from \"../speech-recognition/speech-recognition.service\";\n\n@Component({\n selector: \"s-text-area-ia\",\n templateUrl: \"./text-area-ia.component.html\",\n styleUrls: [\"./text-area-ia.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TextAreaIAComponent),\n multi: true,\n },\n ],\n})\nexport class TextAreaIAComponent implements OnInit, ControlValueAccessor {\n @Input()\n public id: string;\n\n @Input()\n public label: string;\n\n @Input()\n public placeholder: string;\n\n @Input()\n public prompt: string;\n\n @Input()\n public readonly: boolean;\n\n @Input()\n public rows: number;\n\n @Input()\n public cols: number;\n\n @Input()\n speechRecognition = false\n\n @Input()\n keepContext = false;\n\n @Input()\n speechRecognitionPlaceholder = '';\n\n public fields: FormField[];\n public formGroup: FormGroup;\n public isVisible = false;\n public isLoading = false;\n public value: string;\n\n private _isDisabled: boolean;\n private _onChange: (value: string) => void;\n private _onTouched: () => void;\n\n constructor(\n private readonly _iassistService: IAssistService, // Mover pra uma pasta global\n private readonly _formBuilder: FormBuilder,\n private readonly _translateService: TranslateService,\n public speechRecognitionService: SpeechRecognitionService\n ) { }\n\n public ngOnInit(): void {\n this._createDialogFields();\n this._createDialogFormGroup();\n }\n\n public writeValue(value: string): void {\n this.value = value;\n }\n\n public registerOnChange(onChange: (value: string) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this._isDisabled = isDisabled;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n this._onChange?.(value);\n }\n\n public showDialog(): void {\n this.isVisible = true;\n this._onTouched();\n }\n\n public hideDialog(): void {\n this.isVisible = false;\n }\n\n public onHideDialog(): void {\n this.formGroup.get(\"context\").setValue(\"\");\n }\n\n public submitContext(): void {\n const context = this.formGroup.get(\"context\");\n this.isLoading = true;\n\n this._iassistService\n .askIA(context.value, {\n id: this.id,\n label: this.label,\n placeholder: this.placeholder,\n prompt: this.prompt,\n })\n .pipe(\n catchError((err: HttpErrorResponse) => {\n this.isLoading = false;\n return throwError(err);\n })\n )\n .subscribe((res: IAssistResponse) => {\n this.value = res.text;\n this._onChange(this.value);\n this.isLoading = false;\n });\n\n this.hideDialog();\n }\n\n private _createDialogFields(): void {\n this.fields = [\n new FormField({\n name: \"context\",\n type: FieldType.Text,\n label: this._translateService.instant(\"platform.angular_components.context\"),\n size: { sm: 12, md: 12, lg: 12, xl: 12 },\n speechRecognition: this.speechRecognition\n }),\n ];\n }\n\n private _createDialogFormGroup(): void {\n this.formGroup = this._formBuilder.group({\n context: [\"\"],\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { DialogModule } from \"primeng/dialog\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { DynamicFormModule } from \"../dynamic-form/dynamic-form.module\";\nimport { LoadingStateModule } from \"../loading-state/loading-state.module\";\nimport { TextAreaIAComponent } from \"./text-area-ia.component\";\nimport { TextAreaModule } from \"../text-area/text-area.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n DialogModule,\n ButtonModule,\n DynamicFormModule,\n LoadingStateModule,\n TextAreaModule\n ],\n declarations: [TextAreaIAComponent],\n exports: [TextAreaIAComponent],\n})\nexport class TextAreaIAModule { }\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { CalendarModule } from \"primeng/calendar\";\nimport { InputMaskModule } from \"primeng/inputmask\";\nimport { InputTextModule } from \"primeng/inputtext\";\nimport { InputTextareaModule } from \"primeng/inputtextarea\";\nimport { KeyFilterModule } from \"primeng/keyfilter\";\n\nimport { BignumberInputModule } from \"../bignumber-input/bignumber-input.module\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { ControlErrorsModule } from \"../control-errors/control-errors.module\";\nimport { DynamicFormModule } from \"../dynamic-form/dynamic-form.module\";\nimport { InfoSignModule } from \"../info-sign/info-sign.module\";\nimport { TextAreaIAModule } from \"../text-area-ia/text-area-ia.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\nimport { InlineEditCalendarComponent } from \"./components/fields/inline-edit-calendar/inline-edit-calendar.component\";\nimport { InlineEditLookupComponent } from \"./components/fields/inline-edit-lookup/inline-edit-lookup.component\";\nimport { InlineEditNumberComponent } from \"./components/fields/inline-edit-number/inline-edit-number.component\";\nimport { InlineEditTextComponent } from \"./components/fields/inline-edit-text/inline-edit-text.component\";\nimport { InlineEditTextAreaComponent } from \"./components/fields/inline-edit-text-area/inline-edit-text-area.component\";\nimport { InlineEditTextAreaIAComponent } from \"./components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component\";\nimport { InlineEditItemComponent } from \"./components/inline-edit-item/inline-edit-item.component\";\n\nimport { InlineEditComponent } from \"./inline-edit.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n BignumberInputModule,\n ButtonModule,\n ControlErrorsModule,\n InfoSignModule,\n DynamicFormModule, // Só por causa do Lookup\n TextAreaIAModule,\n TooltipModule,\n CalendarModule,\n InputMaskModule,\n InputTextModule,\n InputTextareaModule,\n KeyFilterModule,\n ],\n declarations: [\n InlineEditComponent,\n InlineEditItemComponent,\n InlineEditCalendarComponent,\n InlineEditLookupComponent,\n InlineEditNumberComponent,\n InlineEditTextComponent,\n InlineEditTextAreaComponent,\n InlineEditTextAreaIAComponent,\n ],\n exports: [InlineEditComponent],\n})\nexport class InlineEditModule {}\n","import { EventEmitter, Injectable } from \"@angular/core\";\n\nimport { KanbanColumn, KanbanItem } from \"./models\";\n\n@Injectable()\nexport class KanbanEventService {\n public selectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public unselectAllColumnItemsEvent = new EventEmitter<KanbanColumn>();\n public selectItemEvent = new EventEmitter<KanbanItem>();\n public unselectItemEvent = new EventEmitter<KanbanItem>();\n\n public emitSelectAllColumnItemsEvent(column: KanbanColumn): void {\n this.selectAllColumnItemsEvent.emit(column);\n }\n\n public emitUnselectAllColumnItemsEvent(column: KanbanColumn): void {\n this.unselectAllColumnItemsEvent.emit(column);\n }\n\n public emitSelectItemEvent(item: KanbanItem): void {\n this.selectItemEvent.emit(item);\n }\n\n public emitUnselectItemEvent(item: KanbanItem): void {\n this.unselectItemEvent.emit(item);\n }\n}\n","export enum KanbanTemplateTypes {\n ColumnHeader = \"column-header\",\n ColumnEmptyMessage = \"column-empty-message\",\n ItemHeader = \"item-header\",\n ItemBody = \"item-body\",\n ItemFooter = \"item-footer\",\n}\n","import { CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n} from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { TemplateDirective } from \"../template/template.directive\";\nimport { KanbanEventService } from \"./kanban-event.service\";\nimport { KanbanColumn, KanbanData, KanbanItem, KanbanItemMovedData, KanbanTemplateTypes } from \"./models/index\";\n\n@Component({\n selector: \"s-kanban\",\n templateUrl: \"./kanban.component.html\",\n styleUrls: [\"./kanban.component.scss\"],\n})\nexport class KanbanComponent implements OnInit, AfterContentInit, OnDestroy {\n @Input()\n public data: KanbanData;\n\n @Input()\n public showItemCheckboxes = true;\n\n @Input()\n public showColumnCheckboxes = true;\n\n @Output()\n public itemsMoved = new EventEmitter<KanbanItemMovedData>();\n\n @Output()\n public dataUpdated = new EventEmitter<KanbanData>();\n\n @Output()\n public itemsSelected = new EventEmitter<KanbanItem[]>();\n\n public selectedColumn: KanbanColumn;\n public selectedItems = new Set<KanbanItem>();\n public draggingItems = new Set<KanbanItem>();\n\n public columnHeaderTemplate: TemplateRef<any>;\n public columnEmptyMessageTemplate: TemplateRef<any>;\n public itemHeaderTemplate: TemplateRef<any>;\n public itemBodyTemplate: TemplateRef<any>;\n public itemFooterTemplate: TemplateRef<any>;\n\n private _unsubscribe$ = new Subject<void>();\n\n @ContentChildren(TemplateDirective) templates: QueryList<TemplateDirective>;\n\n constructor(private readonly kanbanEventService: KanbanEventService) {}\n\n public ngOnInit(): void {\n this._subscribeEvents();\n this._normalizeData();\n this._validateInputs();\n }\n\n ngAfterContentInit() {\n this._getTemplates();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n public drop(event: CdkDragDrop<KanbanItem[]>): void {\n const previousColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.previousContainer.id);\n const targetColumn = this.data.columns.find((column: KanbanColumn) => column.id === event.container.id);\n\n if (!previousColumn || !targetColumn) {\n throw new Error(\"Unable to obtain information about columns when performing drag and drop\");\n }\n\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\n } else {\n transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);\n }\n\n this.selectedItems.forEach((item: KanbanItem) => {\n const previousIndex = event.previousContainer.data.indexOf(item);\n if (previousIndex !== -1 && item !== event.item.data) {\n if (event.previousContainer === event.container) {\n moveItemInArray(event.container.data, previousIndex, event.currentIndex);\n } else {\n transferArrayItem(event.previousContainer.data, event.container.data, previousIndex, event.currentIndex);\n }\n }\n });\n\n this.selectedItems.add(event.item.data);\n\n this.itemsMoved.emit({\n items: [...this.selectedItems],\n previousColumn,\n targetColumn,\n });\n\n if (this.dataUpdated.observers?.length) {\n this.dataUpdated.emit({ ...this.data });\n }\n\n this.data.columns.forEach((column: KanbanColumn) => {\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(column);\n });\n this.selectedItems.clear();\n }\n\n public selectItem(event: MouseEvent, item: KanbanItem, column: KanbanColumn): void {\n if (item.disabled || item.frozen) return;\n\n if (event.ctrlKey) {\n if (this.selectedItems.delete(item)) {\n this.kanbanEventService.emitUnselectItemEvent(item);\n } else {\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\n this.selectedItems.clear();\n }\n\n this.selectedItems.add(item);\n this.selectedColumn = column;\n this.kanbanEventService.emitSelectItemEvent(item);\n }\n } else {\n if (this.selectedItems.delete(item)) return;\n\n this.selectedItems.clear();\n this.selectedItems.add(item);\n this.selectedColumn = column;\n this.kanbanEventService.emitSelectItemEvent(item);\n }\n }\n\n public dragStarted(): void {\n this.selectedItems.forEach((item: KanbanItem) => {\n this.draggingItems.add(item);\n });\n }\n\n public dragReleased(): void {\n this.draggingItems.clear();\n }\n\n public getLinkedColumns(currentColumn: KanbanColumn) {\n return this.data.columns.filter((column: KanbanColumn) => column != currentColumn).map((column: KanbanColumn) => column.id);\n }\n\n public getColumnHeaderTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ColumnHeader);\n }\n\n public getColumnEmptyMessageTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ColumnEmptyMessage);\n }\n\n public getItemHeaderTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ItemHeader);\n }\n\n public getItemBodyTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ItemBody);\n }\n\n public getItemFooterTemplate(): TemplateRef<any> {\n return this._getCustomTemplate(KanbanTemplateTypes.ItemFooter);\n }\n\n private _getCustomTemplate(type: string) {\n return this.templates.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private _subscribeEvents(): void {\n this.kanbanEventService.selectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n column.items\n .filter((item: KanbanItem) => !item.disabled && !item.frozen)\n .forEach((item: KanbanItem) => {\n this.selectedItems.add(item);\n });\n this.selectedColumn = column;\n this.itemsSelected.emit([...this.selectedItems]);\n });\n\n this.kanbanEventService.unselectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((_) => {\n this.selectedItems.clear();\n });\n\n this.kanbanEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: KanbanItem) => {\n if (this.selectedColumn && !this.selectedColumn.items.includes(item)) {\n this.selectedItems.clear();\n }\n this.selectedItems.add(item);\n this.itemsSelected.emit([...this.selectedItems]);\n\n // Finding the item column and setting selectedColumn.\n this.data.columns.forEach((column: KanbanColumn) => {\n column.items.forEach((currentItem: KanbanItem) => {\n if (currentItem === item) {\n this.selectedColumn = column;\n return;\n }\n });\n });\n });\n\n this.kanbanEventService.unselectItemEvent.pipe(takeUntil(this._unsubscribe$)).subscribe((item: KanbanItem) => {\n this.selectedItems.delete(item);\n });\n }\n\n private _normalizeData(): void {\n this.data.columns.forEach((column: KanbanColumn) => {\n column.id = column.id || `id-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`;\n });\n }\n\n private _validateInputs(): void {\n const columns = this.data.columns;\n const columnIds = this.data.columns.map((column: KanbanColumn) => column.id);\n\n if (new Set(columnIds).size !== columns.length) {\n throw new Error(\"Repeated IDs are not accepted.\");\n }\n }\n\n private _getTemplates(): void {\n this.columnHeaderTemplate = this.getColumnHeaderTemplate();\n this.columnEmptyMessageTemplate = this.getColumnEmptyMessageTemplate();\n this.itemHeaderTemplate = this.getItemHeaderTemplate();\n this.itemBodyTemplate = this.getItemBodyTemplate();\n this.itemFooterTemplate = this.getItemFooterTemplate();\n }\n}\n","import { Component, Input, OnDestroy, OnInit, TemplateRef } from \"@angular/core\";\n\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport { KanbanColumn, KanbanItem } from \"../../models\";\nimport { KanbanEventService } from \"../../kanban-event.service\";\nimport { FormControl } from \"@angular/forms\";\nimport { KanbanColumnOption } from \"../../models/kanban-data\";\n\n@Component({\n selector: \"s-kanban-column\",\n templateUrl: \"./kanban-column.component.html\",\n styleUrls: [\"./kanban-column.component.scss\"],\n})\nexport class KanbanColumnComponent implements OnInit, OnDestroy {\n @Input()\n public data: KanbanColumn;\n\n @Input()\n public showCheckbox = true;\n\n @Input()\n public headerTemplate: TemplateRef<any>;\n\n public selectionControl = new FormControl(false);\n\n private _unsubscribe$ = new Subject<void>();\n\n constructor(\n private readonly kanbanEventService: KanbanEventService,\n ) { }\n\n public ngOnInit(): void {\n this._validateInputs();\n this._subscriveEvents();\n\n this._createTieredOptions();\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n private _createTieredOptions(): void {\n if (!this.data.options) return;\n\n const options: KanbanColumnOption[] = [];\n\n this.data.options.forEach((option: KanbanColumnOption) => {\n options.push({\n ...option,\n command: () => { option.command(this.data) },\n });\n });\n\n this.data.options = options;\n }\n\n private _subscriveEvents(): void {\n this.selectionControl.valueChanges\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((value: boolean) => {\n if (value) {\n this.kanbanEventService.emitSelectAllColumnItemsEvent(this.data);\n } else {\n this.kanbanEventService.emitUnselectAllColumnItemsEvent(this.data);\n }\n });\n\n this.kanbanEventService.unselectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((_) => {\n this.selectionControl.setValue(false, { emitEvent: false });\n });\n\n this.kanbanEventService.selectItemEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((item: KanbanItem) => {\n if (!this.data.items.includes(item)) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n });\n\n this.kanbanEventService.selectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n if (this.data !== column) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n });\n\n this.kanbanEventService.unselectAllColumnItemsEvent\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe((column: KanbanColumn) => {\n if (this.data !== column) {\n this.selectionControl.setValue(false, { emitEvent: false });\n }\n })\n }\n\n private _validateInputs(): void {\n if (!this.data) {\n throw new Error(\"data parameter is required\");\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-kanban-item-dragging\",\n templateUrl: \"./kanban-item-dragging.component.html\",\n styleUrls: [\"./kanban-item-dragging.component.scss\"],\n})\nexport class KanbanItemDraggingComponent {\n @Input()\n public quantityItems = 0;\n}\n","import { Component, Input, OnInit, TemplateRef } from \"@angular/core\";\n\nimport { KanbanItem } from \"../../models\";\nimport { KanbanEventService } from \"../../kanban-event.service\";\nimport { KanbanItemOption } from \"../../models/kanban-data\";\n\n@Component({\n selector: \"s-kanban-item\",\n templateUrl: \"./kanban-item.component.html\",\n styleUrls: [\"./kanban-item.component.scss\"],\n})\nexport class KanbanItemComponent implements OnInit {\n @Input()\n public item: KanbanItem;\n\n @Input()\n public selected = false;\n\n @Input()\n public showCheckbox = true;\n\n @Input()\n public headerTemplate: TemplateRef<any>;\n\n @Input()\n public bodyTemplate: TemplateRef<any>;\n\n @Input()\n public footerTemplate: TemplateRef<any>;\n\n constructor(private readonly _kanbanEventService: KanbanEventService) {}\n\n public ngOnInit(): void {\n this._createTieredOptions();\n }\n\n public onSelectedChange(value: any): void {\n if (value) {\n this._kanbanEventService.emitSelectItemEvent(this.item);\n } else {\n this._kanbanEventService.emitUnselectItemEvent(this.item);\n }\n }\n\n private _createTieredOptions(): void {\n if (!this.item.options) return;\n\n const options: KanbanItemOption[] = [];\n\n this.item.options.forEach((option: KanbanItemOption) => {\n options.push({\n ...option,\n command: () => { option.command(this.item) },\n });\n });\n\n this.item.options = options;\n }\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { TieredMenuModule } from \"primeng/tieredmenu\";\n\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { ButtonModule } from \"../button/button.module\";\nimport { TemplateModule } from \"../template/template.module\";\nimport { KanbanColumnComponent } from \"./components/kanban-column/kanban-column.component\";\nimport { KanbanItemDraggingComponent } from \"./components/kanban-item-dragging/kanban-item-dragging.component\";\nimport { KanbanItemComponent } from \"./components/kanban-item/kanban-item.component\";\nimport { KanbanEventService } from \"./kanban-event.service\";\nimport { KanbanComponent } from \"./kanban.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule,\n DragDropModule,\n BadgeModule,\n ButtonModule,\n TieredMenuModule,\n TemplateModule,\n ],\n declarations: [\n KanbanComponent,\n KanbanItemComponent,\n KanbanColumnComponent,\n KanbanItemDraggingComponent,\n ],\n exports: [\n KanbanComponent,\n TemplateModule,\n ],\n providers: [KanbanEventService],\n})\nexport class KanbanModule { }\n","import { Component, Input, Output, EventEmitter, forwardRef, OnInit, AfterViewInit, ChangeDetectorRef } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { NavigationButtonItem } from \"./models/navigation-button-item\";\nimport { TieredMenuItemData } from \"../tiered-menu\";\nimport { NavigationButtonStepChangedInfo } from \"./models\";\n\n@Component({\n selector: \"s-navigation-button\",\n templateUrl: \"./navigation-button.component.html\",\n styleUrls: [\"./navigation-button.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NavigationButtonComponent),\n multi: true,\n },\n ],\n})\nexport class NavigationButtonComponent implements ControlValueAccessor, OnInit, AfterViewInit {\n @Input()\n public steps: NavigationButtonItem[];\n\n @Input()\n public defaultValue: unknown;\n\n @Input()\n public tooltip: string;\n\n @Input()\n public changeOnInit = false;\n\n @Output()\n public stepChanged: EventEmitter<NavigationButtonStepChangedInfo> = new EventEmitter();\n\n public currentIndex = 0;\n public isDisabled = false;\n public tieredMenuItems: TieredMenuItemData[] = [];\n\n private _onChange: (value: unknown) => void;\n private _onTouched: () => void;\n private _value: unknown;\n\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) { }\n\n public ngOnInit(): void {\n this._createTieredMenuItems();\n\n if (this.changeOnInit) {\n this.stepChanged.emit({\n previous: undefined,\n current: this.steps[this.currentIndex],\n });\n }\n }\n\n public ngAfterViewInit(): void {\n this._setDefaultValue();\n }\n\n private _setDefaultValue(): void {\n if (this.defaultValue) {\n this._value = this.defaultValue;\n\n const index = this.steps.findIndex((step) => step.value === this._value);\n this.currentIndex = index !== -1 ? index : 0;\n this.stepChanged.emit({\n previous: undefined,\n current: this.steps[this.currentIndex],\n });\n\n this.changeDetectorRef.detectChanges();\n }\n }\n\n public writeValue(value: unknown): void {\n this._value = value;\n\n const index = this.steps.findIndex((step) => step.value === this._value);\n this.currentIndex = index !== -1 ? index : 0;\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this._onChange = onChange;\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this._onTouched = onTouched;\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public onNext(): void {\n if (this.isDisabled) return;\n\n const previous = this.steps[this.currentIndex];\n\n if (this.currentIndex < this.steps.length - 1) {\n this.currentIndex++;\n\n const current = this.steps[this.currentIndex];\n\n this._onChange && this._onChange(current.value);\n this.stepChanged.emit({ previous, current });\n }\n\n this._onTouched && this._onTouched();\n }\n\n public onPrevious(): void {\n if (this.isDisabled) return;\n\n const previous = this.steps[this.currentIndex];\n\n if (this.currentIndex > 0) {\n this.currentIndex--;\n\n const current = this.steps[this.currentIndex];\n\n this._onChange && this._onChange(current.value);\n this.stepChanged.emit({ previous, current });\n }\n\n this._onTouched && this._onTouched();\n }\n\n private _createTieredMenuItems() {\n this.steps.forEach((step: NavigationButtonItem) => {\n this.tieredMenuItems.push({\n label: step.label,\n command: () => {\n const index = this.steps.findIndex((s) => s === step);\n if (this.currentIndex !== index) {\n this._onChange && this._onChange(step.value);\n this.stepChanged.emit({ previous: this.steps[this.currentIndex], current: step });\n this.currentIndex = index;\n }\n\n this._onTouched && this._onTouched();\n },\n });\n });\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TieredMenuModule } from \"../tiered-menu/tiered-menu.module\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { NavigationButtonComponent } from \"./navigation-button.component\";\n\n@NgModule({\n imports: [CommonModule, TieredMenuModule, TooltipModule],\n declarations: [NavigationButtonComponent],\n exports: [NavigationButtonComponent],\n})\nexport class NavigationButtonModule {}\n","export enum EnumSeverity {\n Default = \"Default\",\n Info = \"Info\",\n Warn = \"Warn\",\n Error = \"Error\",\n Success = \"Success\",\n}\n","import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\n\n@Component({\n selector: \"s-object-card-field\",\n templateUrl: \"./object-card-field.component.html\",\n styleUrls: [\"./object-card-field.component.scss\"],\n})\nexport class ObjectCardFieldComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-field-${ObjectCardFieldComponent.nextId++}`;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass?: string;\n\n @Input()\n public label?: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public buttonLabel?: string;\n\n @Input()\n public buttonModel?: MenuItem[];\n\n @Output()\n public buttonClick = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n @ViewChild(TemplateRef, { static: true })\n public content: TemplateRef<any>;\n}\n","import { AfterContentInit, Component, ContentChild, EventEmitter, HostListener, Input, Output } from \"@angular/core\";\nimport { MenuItem } from \"primeng/api\";\n\nimport { ThumbnailSize } from \"../../../thumbnail/thumbnail-size\";\nimport { ThumbnailComponent } from \"../../../thumbnail/thumbnail.component\";\nimport { Breakpoints } from \"../../../utils\";\n\n@Component({\n selector: \"s-object-card-main\",\n templateUrl: \"./object-card-main.component.html\",\n styleUrls: [\"./object-card-main.component.scss\"],\n})\nexport class ObjectCardMainComponent implements AfterContentInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-main-${ObjectCardMainComponent.nextId++}`;\n\n @Input()\n public imageSource?: string;\n\n @Input()\n public imageFallback?: string;\n\n @Input()\n public imageAlt?: string;\n\n @Input()\n public iconClass = \"fa fa-picture-o\";\n\n @Input()\n public hasThumbnail = true;\n\n @Input()\n public hasDescription = true;\n\n @Input()\n public isBrand = false;\n\n @Input()\n public label?: string;\n\n @Input()\n public description?: string;\n\n @Input()\n public buttonLabel?: string;\n\n @Input()\n public buttonModel?: MenuItem[];\n\n @Output()\n public buttonClick: EventEmitter<any> = new EventEmitter();\n\n @ContentChild(ThumbnailComponent, { static: true })\n public thumbnailComponent: ThumbnailComponent;\n\n private _thumbnailSize = ThumbnailSize.Medium;\n\n public set thumbnailSize(value: ThumbnailSize) {\n this._thumbnailSize = value;\n if (this.thumbnailComponent) this.thumbnailComponent.size = value;\n }\n\n public get thumbnailSize() {\n return this._thumbnailSize;\n }\n\n @HostListener(\"window:resize\")\n public onResize() {\n this.update();\n }\n\n public ngAfterContentInit() {\n this.update();\n }\n\n public update() {\n const windowWidth = window.innerWidth;\n\n if (windowWidth <= Breakpoints.SM_MAX) this.thumbnailSize = ThumbnailSize.Small;\n else this.thumbnailSize = ThumbnailSize.Medium;\n }\n}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n AfterContentChecked,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewChild\n} from \"@angular/core\";\n\nimport { BorderButtonOptions } from \"../shared/models/border-button-options\";\nimport { EnumSeverity } from \"../shared/models/enum-severity\";\nimport { Breakpoints } from \"../utils/breakpoints\";\nimport { ObjectCardFieldComponent } from \"./elements/field/object-card-field.component\";\nimport { ObjectCardMainComponent } from \"./elements/main/object-card-main.component\";\n\n@Component({\n selector: \"s-object-card\",\n templateUrl: \"./object-card.component.html\",\n styleUrls: [\"./object-card.component.scss\"],\n animations: [\n trigger(\"expandableContent\", [\n state(\n \"*\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"false\",\n style({\n height: \"0\",\n })\n ),\n state(\n \"true\",\n style({\n height: \"*\",\n })\n ),\n transition(\"* => true\", animate(\"200ms ease-out\")),\n transition(\"false <=> true\", animate(\"200ms ease-out\")),\n ]),\n trigger(\"BorderButtonAnimation\", [\n transition(\":enter\", [\n style({ transform: \"scaleY(0)\", opacity: 0 }),\n animate(\"300ms ease\", style({ transform: \"scaleY(1)\", opacity: 1 })),\n ]),\n transition(\":leave\", [\n style({ transform: \"scaleY(1)\", opacity: 1 }),\n animate(\"300ms ease\", style({ transform: \"scaleY(0)\", opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class ObjectCardComponent implements AfterContentChecked {\n public static nextId = 0;\n\n @Input()\n public id = `s-object-card-${ObjectCardComponent.nextId++}`;\n\n @Input()\n public expanded = false;\n\n @Input()\n public expandTooltip = \"Abrir painel\";\n\n @Input()\n public collapseTooltip = \"Fechar painel\";\n\n @Input()\n public fieldsMinWidth = 200;\n\n @Output()\n public expandedChange = new EventEmitter<boolean>();\n\n @ContentChild(ObjectCardMainComponent, { static: true })\n public main: ObjectCardMainComponent;\n\n @ContentChildren(ObjectCardFieldComponent, { descendants: true })\n public fields?: QueryList<ObjectCardFieldComponent>;\n\n public maxVisibleFields = 0;\n\n @Input()\n severity = EnumSeverity.Default;\n\n @Input()\n borderButtonOptions: BorderButtonOptions;\n\n readonly EnumSeverity = EnumSeverity;\n\n @ViewChild('contentContainer', { static: true })\n private readonly container: ElementRef<HTMLElement>;\n\n @ViewChild('cardMainContainer', { static: true })\n private readonly cardMainContainer: ElementRef<HTMLElement>\n\n @ViewChild('iconContainer', { static: true })\n private readonly iconContainer: ElementRef<HTMLElement>\n\n public ngAfterContentChecked(): void {\n this.update();\n }\n\n private update() {\n const windowWidth = window.innerWidth;\n const containerWidth = this.container.nativeElement.getBoundingClientRect().width;\n const mainFieldWidth = this.cardMainContainer.nativeElement.getBoundingClientRect().width;\n let remainingSpace = containerWidth - mainFieldWidth;\n const fieldsMinWidth = this.fieldsMinWidth;\n const expandIconWidth = this.iconContainer.nativeElement.getBoundingClientRect().width;\n\n let maxFieldQtd: number;\n\n if (windowWidth <= Breakpoints.SM_MAX) {\n maxFieldQtd = 0\n } else {\n maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);\n }\n\n const hasExpandIcon = maxFieldQtd && maxFieldQtd < this.fields.length\n\n if (hasExpandIcon) {\n this.iconContainer.nativeElement.style.display = 'flex';\n remainingSpace = remainingSpace - expandIconWidth;\n maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);\n }else {\n this.iconContainer.nativeElement.style.display = 'none';\n }\n\n this.maxVisibleFields = maxFieldQtd;\n\n if (maxFieldQtd >= this.fields.length && this.expanded) {\n this.collapse();\n }\n }\n\n public toggle() {\n this.expanded ? this.collapse() : this.expand();\n }\n\n public expand() {\n this.expanded = true;\n this.expandedChange.emit(this.expanded);\n }\n\n public collapse() {\n this.expanded = false;\n this.expandedChange.emit(this.expanded);\n }\n}\n","import { Component, Input } from \"@angular/core\";\nimport { BorderButtonOptions } from \"../models/border-button-options\";\nimport { EnumSeverity } from \"../models/enum-severity\";\nimport { TooltipPosition } from \"../../tooltip/models/tooltip-position\";\n\n@Component({\n selector: \"s-border-button\",\n templateUrl: \"./border-button.component.html\",\n styleUrls: [\"./border-button.component.scss\"],\n})\nexport class BorderButtonComponent {\n @Input()\n severity = EnumSeverity.Default;\n\n @Input()\n options: BorderButtonOptions;\n\n readonly EnumSeverity = EnumSeverity;\n\n readonly TooltipPosition = TooltipPosition;\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TooltipModule } from \"../../tooltip/tooltip.module\";\nimport { BorderButtonComponent } from \"./border-button.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [BorderButtonComponent],\n exports: [BorderButtonComponent]\n})\nexport class BorderButtonModule {}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ButtonModule } from \"../button/button.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { ObjectCardComponent } from \"./object-card.component\";\nimport { ObjectCardMainComponent } from \"./elements/main/object-card-main.component\";\nimport { ObjectCardFieldComponent } from \"./elements/field/object-card-field.component\";\nimport { BorderButtonModule } from \"../shared/border-button/border-button.module\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule, ButtonModule, BorderButtonModule],\n declarations: [ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],\n exports: [ThumbnailModule, ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],\n})\nexport class ObjectCardModule {}\n","import { animate, style, transition, trigger } from \"@angular/animations\";\nimport { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef } from \"@angular/core\";\n\nimport { BorderButtonOptions } from \"../shared\";\nimport { TemplateDirective } from \"../template/template.directive\";\nimport { EnumSeverity } from \"../shared/models/enum-severity\";\n\n@Component({\n selector: \"s-panel\",\n templateUrl: \"./panel.component.html\",\n styleUrls: [\"./panel.component.scss\"],\n animations: [\n trigger(\"BorderButtonAnimation\", [\n transition(\":enter\", [\n style({ transform: \"scaleY(0)\", opacity: 0 }),\n animate(\"300ms ease\", style({ transform: \"scaleY(1)\", opacity: 1 })),\n ]),\n transition(\":leave\", [\n style({ transform: \"scaleY(1)\", opacity: 1 }),\n animate(\"300ms ease\", style({ transform: \"scaleY(0)\", opacity: 0 })),\n ]),\n ]),\n ],\n})\nexport class PanelComponent implements AfterContentInit {\n @Input()\n header: string;\n\n @Input()\n toggleable = false;\n\n @Input()\n collapsed = false;\n\n @Input()\n severity = EnumSeverity.Default;\n\n @Input()\n borderButtonOptions: BorderButtonOptions;\n\n @Input()\n class: string;\n\n @Output()\n collapsedChange = new EventEmitter<boolean>();\n\n @ContentChildren(TemplateDirective)\n templates: QueryList<TemplateDirective>;\n\n readonly EnumSeverity = EnumSeverity;\n\n headerTemplate: TemplateRef<unknown>;\n\n bodyTemplate: TemplateRef<unknown>;\n\n footerTemplate: TemplateRef<unknown>;\n\n ngAfterContentInit(): void {\n this._getTemplates();\n }\n\n toggleCollapsed(): void {\n this.collapsed = !this.collapsed;\n this.collapsedChange.emit(this.collapsed);\n }\n\n private _getCustomTemplate(type: string) {\n return this.templates.find((template: TemplateDirective) => template.type === type)?.template;\n }\n\n private getHeaderTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(\"header\");\n }\n\n private getBodyTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(\"body\");\n }\n\n private getFooterTemplate(): TemplateRef<unknown> {\n return this._getCustomTemplate(\"footer\");\n }\n\n private _getTemplates(): void {\n this.headerTemplate = this.getHeaderTemplate();\n this.bodyTemplate = this.getBodyTemplate();\n this.footerTemplate = this.getFooterTemplate();\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { PanelComponent } from \"./panel.component\";\nimport { BorderButtonModule } from \"../shared/border-button/border-button.module\";\nimport { TemplateModule } from \"../template/template.module\";\n\n@NgModule({\n imports: [CommonModule, BorderButtonModule],\n declarations: [PanelComponent],\n exports: [PanelComponent, TemplateModule],\n})\nexport class PanelModule {}\n","import { AfterViewInit, Component, ElementRef, Input, ViewChild } from \"@angular/core\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Component({\n selector: \"s-product-header\",\n templateUrl: \"./product-header.component.html\",\n styleUrls: [\"./product-header.component.scss\"],\n})\nexport class ProductHeaderComponent implements AfterViewInit {\n public static nextId = 0;\n\n @Input()\n public id = `s-product-header-${ProductHeaderComponent.nextId++}`;\n\n @Input()\n public header: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public isHeaderFrame = true;\n\n @ViewChild(\"headerContainer\", { static: false })\n public container: ElementRef;\n\n public ngAfterViewInit() {\n this.container.nativeElement.style.zIndex = String(this.baseZIndex + ++DomHandler.zindex);\n if (this.isHeaderFrame) {\n this.container.nativeElement.style.borderBottom = \"1px solid $default-secondary-color\";\n } else {\n this.container.nativeElement.style.borderTop = \"1px solid $default-secondary-color\";\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { ProductHeaderComponent } from \"./product-header.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule, ThumbnailModule],\n declarations: [ProductHeaderComponent],\n exports: [ProductHeaderComponent, ThumbnailModule],\n})\nexport class ProductHeaderModule {}\n","export enum ProgressBarColors {\n Blue = \"blue\",\n Green = \"green\",\n Red = \"red\",\n Yellow = \"yellow\",\n}","export enum ProgressBarMode {\n Determinate = \"determinate\",\n Indeterminate = \"indeterminate\",\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\n\nimport { ProgressBarColors, ProgressBarMode } from \"./models\";\n\n@Component({\n selector: \"s-progressbar\",\n templateUrl: \"./progressbar.component.html\",\n styleUrls: [\"./progressbar.component.scss\"],\n})\nexport class ProgressBarComponent implements OnInit {\n @Input()\n public value: number;\n\n @Input()\n public numberFormatOptions: Intl.NumberFormatOptions = {\n style: \"decimal\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 2,\n roundingMode: \"trunc\",\n } as unknown as Intl.NumberFormatOptions;\n\n @Input()\n public targetValue: number;\n\n @Input()\n public label: string;\n\n @Input()\n public targetLabel: string;\n\n @Input()\n public activeColor: ProgressBarColors;\n\n @Input()\n public showValue = true;\n\n @Input()\n public mode = ProgressBarMode.Determinate;\n\n constructor() {}\n\n public ngOnInit() {\n this.validateInputs();\n }\n\n private validateInputs(): void {\n if (this.value < 0 || this.value > 100) {\n throw new Error(\"Invalid value for value\");\n }\n\n if (this.targetValue < 0 || this.targetValue > 100) {\n throw new Error(\"Invalid value for targetValue\");\n }\n\n if (this.mode === ProgressBarMode.Indeterminate && (this.value || this.targetValue || this.targetLabel)) {\n throw new Error(\"When the mode is indeterminate, the value, targetValue and targetLabel parameters are not expected.\");\n }\n }\n}\n","import { Component, Input, OnInit } from \"@angular/core\";\n\nimport { ProgressBarColors } from \"../../models\";\nimport { LocaleService } from \"../../../locale/locale.service\";\n\n@Component({\n selector: \"s-progressbar-determinate\",\n templateUrl: \"./progressbar-determinate.component.html\",\n styleUrls: [\"./progressbar-determinate.component.scss\"],\n})\nexport class ProgressBarDeterminateComponent implements OnInit {\n @Input()\n public value: number;\n\n @Input()\n public numberFormatOptions: Intl.NumberFormatOptions;\n\n @Input()\n public targetValue: number;\n\n @Input()\n public targetLabel: string;\n\n @Input()\n public activeColor: ProgressBarColors;\n\n @Input()\n public showValue = true;\n\n numberFormat: Intl.NumberFormat;\n\n constructor(private readonly localeService: LocaleService) {}\n\n public ngOnInit() {\n this.validateValues();\n\n this.onGetLocale();\n }\n\n private onGetLocale(): void {\n this.localeService.getLocale().subscribe({\n next: (locale) => {\n this.numberFormat = new Intl.NumberFormat(locale ?? \"pt-BR\", this.numberFormatOptions);\n },\n error: () => {\n this.numberFormat = new Intl.NumberFormat(\"pt-BR\", this.numberFormatOptions);\n },\n });\n }\n\n private validateValues(): void {\n if (this.value < 0 || this.value > 100) {\n throw new Error(\"Invalid value for value\");\n }\n if (this.targetValue < 0 || this.targetValue > 100) {\n throw new Error(\"Invalid value for targetValue\");\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\nimport { ProgressBarColors } from \"../../models\";\n\n@Component({\n selector: \"s-progressbar-indeterminate\",\n templateUrl: \"./progressbar-indeterminate.component.html\",\n styleUrls: [\"./progressbar-indeterminate.component.scss\"],\n})\nexport class ProgressBarIndeterminateComponent {\n @Input()\n public activeColor: ProgressBarColors;\n\n @Input()\n public label: string;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ProgressBarComponent } from \"./progressbar.component\";\nimport { ProgressBarDeterminateComponent } from \"./components/progressbar-determinate/progressbar-determinate.component\";\nimport { ProgressBarIndeterminateComponent } from \"./components/progressbar-indeterminate/progressbar-indeterminate.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n ProgressBarComponent,\n ProgressBarDeterminateComponent,\n ProgressBarIndeterminateComponent,\n ],\n exports: [ProgressBarComponent],\n})\nexport class ProgressBarModule { }","import { Component, Input, forwardRef } from \"@angular/core\";\n\nimport { RatingScaleNode } from \"./models/rating-scale-node\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n@Component({\n selector: \"s-rating-scale\",\n templateUrl: \"./rating-scale.component.html\",\n styleUrls: [\"./rating-scale.component.scss\"],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RatingScaleComponent),\n multi: true,\n }],\n})\nexport class RatingScaleComponent implements ControlValueAccessor {\n @Input()\n public nodes: RatingScaleNode[];\n\n @Input()\n public startLabel: string;\n\n @Input()\n public endLabel: string;\n\n @Input()\n public disabled = false;\n\n public value: RatingScaleNode;\n private _onChange: (value: RatingScaleNode) => void;\n private _onTouched: (value: RatingScaleNode) => void;\n\n public writeValue(value: RatingScaleNode): void {\n if (!this.disabled) {\n this.value = value;\n }\n }\n public registerOnChange(onChange: (value: RatingScaleNode) => void): void {\n this._onChange = onChange;\n }\n public registerOnTouched(onTouched: (value: RatingScaleNode) => void): void {\n this._onTouched = onTouched;\n }\n\n public onSelect(rating: RatingScaleNode) {\n this.value = rating;\n if (this._onChange) {\n this._onChange(this.value);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\nimport { RatingScaleComponent } from \"./rating-scale.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n ],\n declarations: [RatingScaleComponent],\n exports: [RatingScaleComponent],\n})\nexport class RatingScaleModule { }\n","import { Component, EventEmitter, Input, Output, forwardRef } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\nimport { SelectButtonItem } from \"./models\";\n\n@Component({\n selector: \"s-select-button\",\n templateUrl: \"./select-button.component.html\",\n styleUrls: [\"./select-button.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectButtonComponent),\n multi: true,\n },\n ],\n})\nexport class SelectButtonComponent implements ControlValueAccessor {\n @Input()\n public items: SelectButtonItem[];\n\n @Input()\n public multiple = false;\n\n @Output()\n public itemSelected = new EventEmitter<SelectButtonItem[]>();\n\n @Output()\n public itemClicked = new EventEmitter<SelectButtonItem>();\n\n public disabled = false;\n public activeItems = new Set<SelectButtonItem>();\n public onChange: (value: SelectButtonItem[]) => void;\n public onTouched: (value: SelectButtonItem[]) => void;\n\n public writeValue(value?: SelectButtonItem | SelectButtonItem[]): void {\n if (!value) return;\n\n this.activeItems.clear();\n\n if (Array.isArray(value)) {\n value.forEach((item: SelectButtonItem) => {\n this.items.forEach((iItem: SelectButtonItem) => {\n if (this._compareItems(item, iItem)) {\n this.activeItems.add(iItem);\n }\n });\n });\n } else {\n this.items.forEach((iItem: SelectButtonItem) => {\n if (this._compareItems(value, iItem)) {\n this.activeItems.add(iItem);\n }\n });\n }\n }\n\n public registerOnChange(onChange: (value: SelectButtonItem[]) => void): void {\n this.onChange = onChange;\n }\n\n public registerOnTouched(onTouched: (value: SelectButtonItem[]) => void): void {\n this.onTouched = onTouched;\n }\n\n public setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n public onItemSelect(item: SelectButtonItem): void {\n if (this.disabled || item.disabled) return;\n\n this.itemClicked.emit(item);\n\n if (!this.multiple) {\n this.activeItems.clear();\n }\n this.activeItems.add(item);\n this.itemSelected.emit([...this.activeItems]);\n\n this.onChange?.([...this.activeItems]);\n this.onTouched?.([...this.activeItems]);\n }\n\n private _compareItems(item1: SelectButtonItem, item2: SelectButtonItem): boolean {\n const _compare = (a: any, b: any): boolean => {\n if (a === b) {\n return true;\n }\n\n if (a === undefined || b === undefined || typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) {\n return false;\n }\n\n if (Array.isArray(a) !== Array.isArray(b)) {\n return false;\n }\n\n let keysA = Object.keys(a);\n let keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n for (let key of keysA) {\n if (!keysB.includes(key) || !_compare(a[key], b[key])) {\n return false;\n }\n }\n\n for (let key in a) {\n if (a.hasOwnProperty(key) !== b.hasOwnProperty(key)) {\n return false;\n }\n }\n\n return true;\n };\n\n return _compare(item1, item2);\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-select-button-item\",\n templateUrl: \"./select-button-item.component.html\",\n styleUrls: [\"./select-button-item.component.scss\"],\n})\nexport class SelectButtonItemComponent {\n @Input()\n public label: string;\n\n @Input()\n public active = false;\n\n @Input()\n public first = false;\n\n @Input()\n public last = false;\n\n @Input()\n public disabled = false;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SelectButtonComponent } from \"./select-button.component\";\nimport { SelectButtonItemComponent } from \"./components/select-button-item/select-button-item.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n SelectButtonComponent,\n SelectButtonItemComponent,\n ],\n exports: [SelectButtonComponent],\n})\nexport class SelectButtonModule { }","/**\n * A decorator that can be used to disable functions based on a boolean property on the component.\n *\n * @param disabledField The name of the boolean property that will be used to determine if the decorated\n * function should be disabled. Defaults to 'disabled'.\n * @returns A decorator function that can be used to decorate a function.\n *\n * @example\n * class MyComponent {\n * disabled = true;\n *\n * @CheckDisabled()\n * onClick() {\n * console.log('Button was clicked');\n * }\n * }\n */\nexport function CheckDisabled(disabledField = 'disabled') {\n return function (_target: any, _propertyKey: string, descriptor: PropertyDescriptor) {\n const originalMethod = descriptor.value;\n\n descriptor.value = function (...args: any[]) {\n if (this[disabledField]) {\n return;\n }\n return originalMethod.apply(this, args);\n };\n\n return descriptor;\n };\n}\n","import { FocusTrapFactory } from \"@angular/cdk/a11y\";\nimport { Component, ContentChild, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { Sidebar } from \"primeng/sidebar\";\nimport { FooterComponent } from \"../structure/footer.component\";\nimport { HeaderComponent } from \"../structure/header.component\";\nimport { DomHandler } from \"primeng/dom\";\n\n@Component({\n selector: \"s-sidebar\",\n templateUrl: \"./sidebar.component.html\",\n styleUrls: [\"./sidebar.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SidebarComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-sidebar-${SidebarComponent.nextId++}`;\n\n @Input()\n public visible = false;\n\n @Input()\n public header: string;\n\n @Input()\n public baseZIndex = 0;\n\n @Input()\n public largeSized = false;\n\n @Output()\n public visibleChange = new EventEmitter<boolean>();\n\n @ViewChild(Sidebar, { static: true })\n public innerSidebar: Sidebar;\n\n @ContentChild(HeaderComponent, { static: true })\n public headerSection: HeaderComponent;\n\n @ContentChild(FooterComponent, { static: true })\n public footerSection: FooterComponent;\n\n constructor(private focusTrapFactory: FocusTrapFactory) {}\n\n public onShow() {\n DomHandler.addClass(document.body, \"ui-overflow-hidden-sidebar\");\n const focusTrap = this.focusTrapFactory.create(this.innerSidebar.containerViewChild.nativeElement, false);\n focusTrap.focusInitialElementWhenReady();\n }\n\n public onHide() {\n DomHandler.removeClass(document.body, \"ui-overflow-hidden-sidebar\");\n }\n\n public close(event: Event) {\n DomHandler.removeClass(document.body, \"ui-overflow-hidden-sidebar\");\n this.visibleChange.emit(false);\n event.preventDefault();\n }\n}\n","import { A11yModule } from \"@angular/cdk/a11y\";\nimport { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { ScrollPanelModule } from \"primeng/scrollpanel\";\nimport { SidebarModule as PrimeSidebar } from \"primeng/sidebar\";\nimport { StructureModule } from \"../structure/structure.module\";\nimport { SidebarComponent } from \"./sidebar.component\";\n\n@NgModule({\n imports: [CommonModule, A11yModule, PrimeSidebar, ScrollPanelModule, StructureModule],\n declarations: [SidebarComponent],\n exports: [StructureModule, SidebarComponent],\n})\nexport class SidebarModule {}\n","import { Injectable } from \"@angular/core\";\n\nimport { Observable, Subject } from \"rxjs\";\n\n@Injectable()\nexport class SlidePanelService {\n private modalCloseMap = new Map<string, Subject<void>>();\n\n public createSlidePanel(id: string): Observable<void> {\n const panelSubject = new Subject<void>();\n\n this.modalCloseMap.set(id, panelSubject);\n return panelSubject.asObservable();\n }\n\n public getModalCloseObservable(id: string): Observable<void> {\n return this.modalCloseMap.get(id).asObservable();\n }\n\n public closeModal(id: string): void {\n const subject = this.modalCloseMap.get(id);\n if (subject) {\n subject.next();\n }\n }\n}","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n AfterViewChecked,\n Output,\n ViewChild,\n OnDestroy,\n AfterViewInit,\n} from \"@angular/core\";\n\nimport { SlidePanelService } from \"./slide-panel.service\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { Subject } from \"rxjs\";\n\nconst SMALL_DEVICE_BREAKPOINT = 420;\n\n@Component({\n selector: \"s-slide-panel\",\n templateUrl: \"./slide-panel.component.html\",\n styleUrls: [\"./slide-panel.component.scss\"],\n animations: [\n trigger(\"cachelessAnimation\", [\n transition(\":enter\", [\n style({ width: \"0\" }),\n animate(\"200ms linear\", style({ width: \"*\" })),\n ]),\n transition(\":leave\", [\n style({ width: \"*\" }),\n animate(\"200ms linear\", style({ width: \"0\" })),\n ]),\n ]),\n trigger(\"cacheAnimation\", [\n state(\"true\", style({ width: \"*\", padding: '0 16px' })),\n state(\"false\", style({ width: '0px', padding: '0' })),\n transition(\"* => *\", animate(\"200ms\")),\n ]),\n ],\n})\nexport class SlidePanelComponent implements OnInit, AfterViewChecked, AfterViewInit, OnDestroy {\n public static nextId = 0;\n\n @Input()\n public id = `slide-panel-${++SlidePanelComponent.nextId}`;\n\n @Input()\n public openIcon = \"fas fa-chevron-right\";\n\n @Input()\n public closeIcon = \"fas fa-chevron-left\";\n\n @Input()\n public cache = false;\n\n @Input()\n public createOpen = false;\n\n @Input()\n public noOverlap = false;\n\n @Output()\n public panelOpened = new EventEmitter<void>();\n\n @Output()\n public panelClosed = new EventEmitter<void>();\n\n @ViewChild(\"sideContent\")\n private _sideContentRef: ElementRef;\n\n public isOpen = false;\n public isSlideOver = false;\n public isAnimating = false;\n public isContentAnimationDisabled = true;\n public slideHeight = 0;\n\n private _unsubscribe$ = new Subject<void>();\n\n @HostListener(\"window:resize\")\n public onResize(): void {\n this._checkOverBehavior();\n }\n\n constructor(\n private readonly slidePanelService: SlidePanelService,\n ) { }\n\n public ngOnInit(): void {\n this._checkOverBehavior();\n this.slidePanelService.createSlidePanel(this.id)\n .pipe(takeUntil(this._unsubscribe$))\n .subscribe(() => {\n this.isOpen = false;\n });\n }\n\n public ngAfterViewInit(): void {\n queueMicrotask(() => {\n if (this.createOpen) {\n this.isOpen = true;\n }\n });\n }\n\n public ngAfterViewChecked() {\n // to executed at a safe time prior to control returning to the browser's event loop\n queueMicrotask(() => {\n this._calculateSlideHeight();\n this.isContentAnimationDisabled = false;\n });\n }\n\n public ngOnDestroy(): void {\n this._unsubscribe$.next();\n this._unsubscribe$.complete();\n }\n\n public onClickButton() {\n if (this.isAnimating) {\n return;\n }\n\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.panelOpened.emit();\n } else {\n this.panelClosed.emit();\n }\n }\n\n public onContentAnimationStart() {\n this.isAnimating = true;\n }\n\n public onContentAnimationDone() {\n this.isAnimating = false;\n }\n\n private _checkOverBehavior() {\n this.isSlideOver = window.innerWidth <= SMALL_DEVICE_BREAKPOINT;\n }\n\n private _calculateSlideHeight() {\n this.slideHeight = this._sideContentRef.nativeElement.clientHeight;\n }\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SlidePanelComponent } from \"./slide-panel.component\";\nimport { SlidePanelService } from \"./slide-panel.service\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SlidePanelComponent],\n exports: [SlidePanelComponent],\n providers: [SlidePanelService],\n})\nexport class SlidePanelModule { }","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n@Component({\n selector: \"s-slider\",\n templateUrl: \"./slider.component.html\",\n styleUrls: [\"./slider.component.scss\"],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SliderComponent),\n multi: true,\n },\n ],\n})\nexport class SliderComponent implements OnInit, AfterViewInit, ControlValueAccessor, OnChanges {\n private readonly MAX_RANGE_VALUE = 100;\n private readonly MIN_RANGE_VALUE = 0;\n @ViewChild(\"track\")\n public track!: ElementRef;\n\n @Input()\n public multiple = false;\n\n @Input()\n public value: number | [number, number] = 0;\n\n @Output()\n public valueChange = new EventEmitter<number | [number, number]>();\n\n @Input()\n public step = 1;\n\n @Input()\n public hiddenThumb = false;\n\n @Input()\n public disabled = false;\n\n @Input()\n public min = this.MIN_RANGE_VALUE;\n\n @Input()\n public max = this.MAX_RANGE_VALUE;\n\n @Input()\n public minValueLabel: string;\n\n @Input()\n public maxValueLabel: string;\n\n @Input()\n public tabindex = 0;\n\n public startValue = 0;\n public endValue = 0;\n public movingProgressBar = false;\n public progressLeft = 0;\n public progressWidth = \"\";\n\n public onChange: (value: number | [number, number]) => void = () => { };\n public onTouched: (value: number | [number, number]) => void = () => { };\n\n private draggingThumb: \"start\" | \"end\" | null = null;\n private progressBarEventPositionStart = -1;\n private startValueBeforeProgressBarEvent = -1;\n private rangeBetweenElementsBeforeProgressBarEvent = -1;\n private totalRangeBeforeProgressBarEvent = -1;\n /**\n * Map of valid values for values in range.\n * @example\n * with min = -10 and max = 10 will have this map.\n * {\n * -10: { 0 },\n * -9: { 10 },\n * ...\n * 10: { 10 }\n * }\n */\n private mapRangeValuesForSlider: Map<number, number> = new Map();\n private activeMouseDown = false;\n private focusActive = false;\n\n constructor() { }\n\n public ngOnInit(): void {\n this.setUserRangeMapValues();\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n const hasChangesOnMin = changes.min && !changes.min.firstChange;\n const hasChangesOnMax = changes.max && !changes.max.firstChange;\n const hasChanges = hasChangesOnMin || hasChangesOnMax;\n if (hasChanges) {\n this.setUserRangeMapValues();\n setTimeout(() => {\n this.setRangeValues();\n })\n }\n }\n public ngAfterViewInit(): void {\n setTimeout(() => {\n this.setRangeValues();\n })\n }\n\n @HostListener(\"document:keydown\", [\"$event\"])\n public onKeydown($event: KeyboardEvent) {\n if (this.focusActive && !this.disabled) {\n const isArrowKeyLeft = $event.key === \"ArrowLeft\";\n const isArrowKeyRight = $event.key === \"ArrowRight\";\n if (isArrowKeyLeft) {\n this.handleArrowKeyLeft();\n } else if (isArrowKeyRight) {\n this.handleArrowKeyRight();\n }\n }\n }\n\n public get tooltipStartText() {\n return Array.isArray(this.value) ? this.value[0]?.toString() : this.value?.toString();\n }\n\n public get tooltipEndText() {\n return Array.isArray(this.value) ? this.value[1]?.toString() : this.value?.toString();\n }\n\n public writeValue(obj: number | [number, number]): void {\n this.value = obj;\n this.setRangeValues();\n }\n\n public registerOnChange(fn: (value: number | [number, number]) => void): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public onFocusIn() {\n this.focusActive = true;\n }\n\n public onBlur() {\n this.focusActive = false;\n }\n\n public onTrackClick(evt: PointerEvent) {\n if (this.disabled || this.movingProgressBar || this.activeMouseDown) {\n return;\n }\n const trackClickPercentage = this.getPercentageByEvent(evt);\n const trackClickToUserRange = this.getValueFromMapByValue(trackClickPercentage);\n const _trackClickValid = this.needParseValues ? trackClickToUserRange : trackClickPercentage;\n const _setEndValue = () => {\n const _endValueUserValue = this.getValueFromMapByValue(this.endValue);\n const _endValue = this.needParseValues ? this.mapRangeValuesForSlider.get(trackClickToUserRange) : trackClickPercentage;\n if (this.needParseValues && _endValueUserValue !== trackClickToUserRange) {\n this.endValue = _endValue;\n } else if (!this.needParseValues) {\n this.endValue = trackClickPercentage;\n }\n };\n\n const _setStartValue = () => {\n const _startValueUserValue = this.getValueFromMapByValue(this.startValue);\n if (this.needParseValues && _startValueUserValue !== trackClickToUserRange) {\n const _startValue = this.needParseValues\n ? this.mapRangeValuesForSlider.get(trackClickToUserRange)\n : trackClickPercentage;\n this.startValue = _startValue;\n } else if (!this.needParseValues) {\n this.startValue = trackClickPercentage;\n }\n };\n if (this.multiple) {\n const [start, end] = this.value as [number, number];\n const validStart = this.needParseValues ? this.mapRangeValuesForSlider.get(start) : start;\n const validEnd = this.needParseValues ? this.mapRangeValuesForSlider.get(end) : end;\n const _updateStart = () => {\n _setStartValue();\n this.setValue([trackClickPercentage, validEnd]);\n };\n\n const _updateEnd = () => {\n _setEndValue();\n this.setValue([validStart, trackClickPercentage]);\n };\n const clickPercentageBetweenRange = isInRange(_trackClickValid, start, end);\n if (_trackClickValid < start) {\n _updateStart();\n } else if (_trackClickValid > end) {\n _updateEnd();\n } else if (clickPercentageBetweenRange) {\n const middle = (start + end) / 2;\n const trackClickPercentageIsExactiddle = _trackClickValid === middle;\n if (trackClickPercentageIsExactiddle) {\n _updateStart();\n } else {\n const setStart = _trackClickValid < middle;\n const setEnd = _trackClickValid > middle;\n if (setStart) {\n _updateStart();\n } else if (setEnd) {\n _updateEnd();\n }\n }\n }\n } else {\n this.setValue(trackClickPercentage);\n _setEndValue();\n }\n\n this.setProgress();\n }\n\n public onProgressMouseDown(evt: PointerEvent) {\n if (!this.multiple || this.disabled) {\n return;\n }\n this.progressBarEventPositionStart = this.getPercentageByEvent(evt);\n this.startValueBeforeProgressBarEvent = this.startValue;\n this.rangeBetweenElementsBeforeProgressBarEvent = this.endValue - this.startValue;\n if (this.multiple) {\n const [start, end] = this.value as [number, number];\n this.totalRangeBeforeProgressBarEvent = end - start;\n }\n document.addEventListener(\"mousemove\", this.handleProgressBarMove);\n document.addEventListener(\"mouseup\", this.handleProgressBarMoveEnd);\n }\n\n public onMouseDown(_: MouseEvent, thumb: \"start\" | \"end\"): void {\n if (this.disabled) return;\n\n this.draggingThumb = thumb;\n this.activeMouseDown = true;\n document.addEventListener(\"mousemove\", this.onThumbMove);\n document.addEventListener(\"mouseup\", this.onMouseUp);\n }\n\n private setRangeValues(): void {\n const _setStartAndEndValue = (startValue: number, endValue: number) => {\n this.startValue = this.getClosestValueFromMapSlider(startValue);\n this.endValue = this.getClosestValueFromMapSlider(endValue);\n }\n if (this.value === null || this.value === undefined) {\n return;\n }\n if (Array.isArray(this.value) && !this.multiple) {\n throw new Error('You must use \"multiple\" with value as array');\n }\n if (this.multiple && Array.isArray(this.value)) {\n this.startValue = this.value[0];\n this.endValue = this.value[1];\n } else if (!this.multiple) {\n this.startValue = this.value as number;\n this.endValue = this.value as number;\n }\n _setStartAndEndValue(this.startValue, this.endValue);\n if (this.multiple) {\n let [_startValue, _endValue] = this.value as [number, number];\n const difference = getDifference(_endValue, _startValue);\n const endValueIsGreatherThanMax = _endValue > this.max;\n const startValueIsLessThanMin = _startValue < this.min;\n const needUpdateValues = endValueIsGreatherThanMax || startValueIsLessThanMin;\n if (endValueIsGreatherThanMax) {\n _endValue = this.max;\n _startValue = _endValue - difference;\n } else if (startValueIsLessThanMin) {\n _startValue = this.min;\n _endValue = _startValue + difference;\n }\n if (needUpdateValues) {\n _setStartAndEndValue(_startValue, _endValue);\n this.setValue([this.startValue, this.endValue]);\n }\n } else {\n let _value = this.value as number;\n const valueGreatherThanMax = _value > this.max;\n const valueLessThanMin = _value < this.min;\n const needUpdateValue = valueGreatherThanMax || valueLessThanMin;\n if (valueGreatherThanMax) {\n _value = this.max;\n } else if (valueLessThanMin) {\n _value = this.min;\n }\n if (needUpdateValue) {\n this.setValue(_value, false);\n }\n }\n this.setProgress();\n }\n\n private onThumbMove = (event: MouseEvent) => {\n if (this.movingProgressBar || !this.draggingThumb) return;\n\n let newPosition = this.getPercentageByEvent(event);\n if (\n (this.multiple && this.draggingThumb === \"start\" && newPosition > this.endValue) ||\n (this.multiple && this.draggingThumb === \"end\" && newPosition < this.startValue)\n ) {\n return;\n }\n\n const positionInUserRange = this.getValueFromMapByValue(newPosition);\n\n if (this.multiple) {\n if (this.draggingThumb === \"start\") {\n this.startValue = this.needParseValues\n ? this.mapRangeValuesForSlider.get(positionInUserRange)\n : newPosition;\n } else if (this.draggingThumb === \"end\") {\n this.endValue = this.needParseValues\n ? this.mapRangeValuesForSlider.get(positionInUserRange)\n : newPosition;\n }\n\n this.setValue([this.startValue, this.endValue]);\n\n const [start, end] = this.value as [number, number];\n\n if (start === end && this.draggingThumb === \"start\") {\n this.startValue = this.endValue;\n } else if (start === end && this.draggingThumb === \"end\") {\n this.endValue = this.startValue;\n }\n } else {\n const currentValue = this.value as number;\n const _value = this.needParseValues ? positionInUserRange : newPosition;\n const isAtSameValue = this.needParseValues ? positionInUserRange === this.value : false;\n const hasStep = this.step !== 0;\n const newValueIsValidByStep = hasStep ? currentValue + this.step === _value || currentValue - this.step === _value : false;\n if (isAtSameValue && !newValueIsValidByStep) {\n return;\n }\n this.endValue = this.needParseValues ? this.mapRangeValuesForSlider.get(positionInUserRange) : newPosition;\n this.startValue = this.endValue;\n this.setValue(this.endValue);\n }\n this.setProgress();\n };\n\n private onMouseUp = () => {\n this.draggingThumb = null;\n document.removeEventListener(\"mousemove\", this.onThumbMove);\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n setTimeout(() => {\n this.activeMouseDown = false;\n }, 150);\n };\n\n private handleProgressBarMove = (event: MouseEvent) => {\n this.movingProgressBar = true;\n const newCenter = this.getPercentageByEvent(event);\n const startPositionBeforeEvent = this.progressBarEventPositionStart;\n const startValueBeforeEvent = this.startValueBeforeProgressBarEvent;\n const range = this.rangeBetweenElementsBeforeProgressBarEvent;\n let { newStart, newEnd } = calculateNewRange(\n startValueBeforeEvent,\n startValueBeforeEvent + range,\n startPositionBeforeEvent,\n newCenter\n );\n if (newStart < this.MIN_RANGE_VALUE || newEnd > this.MAX_RANGE_VALUE) {\n return;\n }\n if (this.needParseValues) {\n const startValueBeforeEventUserRange = this.getValueFromMapByValue(startValueBeforeEvent);\n const startPositionBeforeEventUserRange = this.getValueFromMapByValue(startPositionBeforeEvent);\n const centerUserRange = this.getValueFromMapByValue(newCenter);\n const valueRange = this.totalRangeBeforeProgressBarEvent;\n let { newStart, newEnd } = calculateNewRange(\n startValueBeforeEventUserRange,\n startValueBeforeEventUserRange + valueRange,\n startPositionBeforeEventUserRange,\n centerUserRange\n );\n if (newStart < this.min || newEnd > this.max) {\n return;\n }\n this.startValue = this.mapRangeValuesForSlider.get(newStart);\n this.endValue = this.mapRangeValuesForSlider.get(newEnd);\n } else {\n this.startValue = newStart;\n this.endValue = newEnd;\n }\n this.setValue([this.startValue, this.endValue]);\n this.setProgress();\n };\n\n private handleProgressBarMoveEnd = () => {\n this.progressBarEventPositionStart = -1;\n this.startValueBeforeProgressBarEvent = -1;\n this.rangeBetweenElementsBeforeProgressBarEvent = -1;\n this.totalRangeBeforeProgressBarEvent = -1;\n document.removeEventListener(\"mousemove\", this.handleProgressBarMove);\n document.removeEventListener(\"mouseup\", this.handleProgressBarMoveEnd);\n setTimeout(() => {\n this.movingProgressBar = false;\n }, 150);\n };\n\n private setProgress(): void {\n if (this.multiple) {\n this.progressLeft = this.startValue;\n this.progressWidth = `calc(${this.endValue - this.startValue}% + 10px)`;\n } else {\n this.progressLeft = 0;\n this.progressWidth = `calc(${this.endValue}% + 10px)`;\n }\n }\n\n /**\n * Get the percentage of a mouse event from the track's left edge\n * @param mouseEvent mouse event\n * @returns percentage from the left edge\n */\n private getPercentageByEvent(mouseEvent: MouseEvent | PointerEvent): number {\n const trackRect = this.track.nativeElement.getBoundingClientRect();\n let newLeft = Math.round(((mouseEvent.clientX - trackRect.left) / trackRect.width) * this.MAX_RANGE_VALUE);\n newLeft = Math.max(0, Math.min(newLeft, this.MAX_RANGE_VALUE));\n return newLeft;\n }\n\n private setValue(value: number | [number, number], parse = true) {\n if (this.disabled) {\n return;\n }\n\n if (this.needParseValues && parse) {\n if (Array.isArray(value)) {\n value = value.map((x) => this.getValueFromMapByValue(x)) as [number, number];\n } else {\n value = this.getValueFromMapByValue(value);\n }\n }\n this.value = value;\n this.valueChange.emit(value);\n this.writeValue(this.value);\n this.onChange(this.value);\n this.onTouched(this.value);\n }\n\n private setUserRangeMapValues() {\n const start = this.min;\n const end = this.max;\n if (start > end) {\n throw new Error('Max value must be greater than min value');\n }\n this.mapRangeValuesForSlider.clear();\n const range = end - start;\n const decimalPlaces = 2;\n const stepCount = Math.floor(range / this.step);\n const values: number[] = [];\n for (let value = start; value <= end; value += this.step) {\n values.push(value);\n }\n if (values[values.length - 1] !== end) {\n values.push(end);\n }\n const mappedValues = values.map((value) => {\n let mapped = ((value - start) / range) * this.MAX_RANGE_VALUE;\n return parseFloat(mapped.toFixed(decimalPlaces));\n });\n mappedValues[0] = 0;\n mappedValues[mappedValues.length - 1] = this.MAX_RANGE_VALUE;\n const error = this.MAX_RANGE_VALUE - mappedValues[mappedValues.length - 1];\n const errorPerStep = error / stepCount;\n for (let i = 1; i < mappedValues.length - 1; i++) {\n mappedValues[i] += errorPerStep;\n mappedValues[i] = parseFloat(mappedValues[i].toFixed(decimalPlaces));\n }\n values.forEach((value, index) => {\n this.mapRangeValuesForSlider.set(value, mappedValues[index]);\n });\n }\n\n /**\n * Returns the user value from the given slider value by using the map of range values.\n * @example\n * If the map is 0: { 0 }, 1: { 10 }, 2: { 30 }, 3: { 40 }, 4: { 50 }\n * and the sliderValue is 37, the function returns 3\n * or the slider value is 40, the function returns 4\n * @param sliderValue the value of the slider (values only between range MIN and MAX)\n * @returns the user value from the given slider value\n */\n private getValueFromMapByValue(sliderValue: number) {\n const mapToArray = Array.from(this.mapRangeValuesForSlider).map(([value, mapped]) => ({ value, mapped }));\n const exactValue = mapToArray.find((x) => x.mapped == sliderValue);\n const closest = mapToArray.reduce((prev, curr) => Math.abs(curr.mapped - sliderValue) < Math.abs(prev.mapped - sliderValue) ? curr : prev);\n return exactValue ? exactValue.value : closest.value;\n }\n\n /**\n * Retrieves the key from the map that is closest to the given slider value.\n * @param userValue - The value to find the closest key for. (values only between 0 - 100)\n * @returns The key that corresponds to the closest mapped value.\n */\n private getClosestValueFromMapSlider(userValue: number): number {\n const mapToArray = Array.from(this.mapRangeValuesForSlider).map(([value, mapped]) => ({ value, mapped }));\n if (userValue >= this.max) {\n return mapToArray[mapToArray.length - 1].mapped\n } else if (userValue <= this.min) {\n return mapToArray[0].mapped\n }\n const exactValue = mapToArray.find((x) => x.value == userValue);\n const closestValue = mapToArray.reduce((prev, curr) => Math.abs(curr.value - userValue) < Math.abs(prev.value - userValue) ? curr : prev);\n const item = exactValue || closestValue;\n const isFirstItem = mapToArray[0] === item;\n const isLastItem = mapToArray[mapToArray.length - 1] === item;\n if (isFirstItem && userValue > this.min) {\n return getMidpoint(item.mapped, mapToArray[1].mapped);\n } else if (isLastItem && userValue < this.max) {\n return getMidpoint(item.mapped, mapToArray[mapToArray.length - 2].mapped);\n } else {\n return item.mapped;\n }\n }\n\n\n private handleArrowKeyLeft() {\n if (this.multiple) {\n this._incrementOrDecrementStartAndEndValue(false);\n } else {\n this._incrementOrDecrementEndValue(false);\n }\n this.setProgress();\n }\n\n private handleArrowKeyRight() {\n if (this.multiple) {\n this._incrementOrDecrementStartAndEndValue(true);\n } else {\n this._incrementOrDecrementEndValue(true);\n }\n this.setProgress();\n }\n\n private _incrementOrDecrementStartAndEndValue(increment: boolean) {\n let [start, end] = this.value as [number, number];\n const difference = getDifference(end, start);\n if (increment) {\n start += this.step;\n end += this.step;\n } else {\n start -= this.step;\n end -= this.step;\n }\n const startLessThanMin = start < this.min;\n const endGreaterThanMax = end > this.max;\n if (startLessThanMin || endGreaterThanMax) {\n if (startLessThanMin) {\n start = this.min;\n end = start + difference;\n } else if (endGreaterThanMax) {\n end = this.max;\n start = end - difference;\n }\n }\n if (start < this.min || end > this.max) {\n return;\n }\n this.setValue([start, end], false);\n if (this.needParseValues) {\n start = this.getClosestValueFromMapSlider(start);\n end = this.getClosestValueFromMapSlider(end);\n }\n this.startValue = start;\n this.endValue = end;\n }\n\n private _incrementOrDecrementEndValue(increment: boolean) {\n let value = this.value as number;\n if (increment) {\n value += this.step;\n } else {\n value -= this.step;\n }\n let _newEndValue = value;\n if (this.needParseValues) {\n _newEndValue = this.getClosestValueFromMapSlider(_newEndValue);\n }\n if (_newEndValue < this.MIN_RANGE_VALUE || _newEndValue > this.MAX_RANGE_VALUE) {\n return;\n }\n this.endValue = _newEndValue;\n this.startValue = this.endValue;\n this.setValue(_newEndValue);\n }\n\n private get needParseValues() {\n return this.max !== this.MAX_RANGE_VALUE || this.min !== this.MIN_RANGE_VALUE;\n }\n}\n\n/**\n * Calculates a new range based on the old range and the positions clicked and finalized.\n *\n * @param oldStart - The starting value of the old range.\n * @param oldEnd - The ending value of the old range.\n * @param clickedPosition - The position where the click occurred.\n * @param finalPosition - The position where the range should end.\n * @returns An object containing the new start and end values of the range.\n */\nconst calculateNewRange = (oldStart: number, oldEnd: number, clickedPosition: number, finalPosition: number) => {\n const range = oldEnd - oldStart;\n const newStart = finalPosition - (clickedPosition - oldStart);\n const newEnd = newStart + range;\n return { newStart, newEnd };\n};\n\nconst isInRange = (value: number, rangeStart: number, rangeEnd: number): boolean => {\n const [min, max] = rangeStart < rangeEnd ? [rangeStart, rangeEnd] : [rangeEnd, rangeStart];\n return value >= min && value <= max;\n};\n\nconst getMidpoint = (start: number, end: number) => {\n const midpoint = (start + end) / 2;\n return parseFloat(midpoint.toFixed(2));\n}\nconst getDifference = (end: number, start: number) => {\n return Math.abs(end - start);\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SliderComponent } from \"./slider.component\";\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [SliderComponent],\n exports: [SliderComponent],\n})\nexport class SliderModule {}\n","export enum SplitButtonType {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Default = \"default\",\n}","import { Component, Input, Output, EventEmitter, HostListener, ElementRef } from \"@angular/core\";\n\nimport { SplitButtonOption } from \"./models/split-button-option\";\nimport { SplitButtonType } from \"./models/split-button-type\";\n\n@Component({\n selector: \"s-split-button\",\n templateUrl: \"./split-button.component.html\",\n styleUrls: [\"./split-button.component.scss\"],\n})\nexport class SplitButtonComponent {\n @Input()\n public disabled = false;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public label: string;\n\n @Input()\n public type = SplitButtonType.Primary;\n\n @Input()\n public options: SplitButtonOption[];\n\n @Output()\n public buttonClicked = new EventEmitter();\n\n constructor(private readonly eRef: ElementRef) { }\n\n @HostListener(\"document:click\", [\"$event\"])\n public onClickout(event: MouseEvent) {\n if (!this.eRef.nativeElement.contains(event.target)) {\n this.closeDropdown();\n }\n }\n\n public open = false;\n\n public onButtonClick() {\n if (!this.disabled) {\n this.buttonClicked.emit();\n this.closeDropdown();\n }\n }\n\n public onDropdownClick() {\n if (!this.disabled) {\n this.open = !this.open;\n }\n }\n\n public onOptionClick(option: SplitButtonOption) {\n option.action && option.action();\n this.closeDropdown();\n }\n\n private closeDropdown() {\n this.open = false;\n }\n}","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { SplitButtonComponent } from \"./split-button.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SplitButtonComponent],\n exports: [SplitButtonComponent],\n})\nexport class SplitButtonModule { }","import { Component, Input, ViewEncapsulation, Output, EventEmitter } from \"@angular/core\";\nimport { BigNumber } from \"bignumber.js\";\n\n@Component({\n selector: \"s-stats-card\",\n templateUrl: \"./stats-card.component.html\",\n styleUrls: [\"./stats-card.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class StatsCardComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-stats-card-${StatsCardComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public alwaysWithBorder = false;\n\n @Input()\n public lightVersion = false;\n\n @Input()\n public lightMode = true;\n\n @Input()\n public iconClass = \"fa fa-bar-chart\";\n\n @Input()\n public color = \"#339966\";\n\n @Input()\n public animateNumbers = true;\n\n @Input()\n public clickable = false;\n\n @Input()\n public set value(value: string) {\n this.previousValue = this._value;\n this._value = String(value);\n if (this.animateNumbers) this.updateDisplayValue();\n else this.displayValue = this.value;\n }\n\n @Input()\n public tooltip = \"\";\n\n public get value() {\n return this._value;\n }\n\n @Output()\n public onClick: EventEmitter<MouseEvent> = new EventEmitter();\n\n public displayValue: string;\n\n private ANIMATION_DURATION_MS = 200;\n private STEP_DURATION_MS = 20;\n private previousValue = \"0\";\n private intervalId: any;\n private _value = \"0\";\n\n private updateDisplayValue() {\n const animationDuration = new BigNumber(this.ANIMATION_DURATION_MS);\n const stepDuration = new BigNumber(this.STEP_DURATION_MS);\n const animationCount = animationDuration.dividedBy(stepDuration);\n\n const previousRawValue = new BigNumber(this.previousValue.replace(/\\D/g, \"\"));\n const rawValue = new BigNumber(this.value.replace(/\\D/g, \"\"));\n\n const incrementValue = rawValue.minus(previousRawValue).absoluteValue().dividedBy(animationCount);\n const incremental = previousRawValue.isLessThan(rawValue);\n\n clearInterval(this.intervalId);\n\n this.displayValue = this.replaceNumericPositions(this.value);\n\n let counter = previousRawValue;\n\n this.intervalId = setInterval(() => {\n if (incremental && counter.isLessThan(rawValue)) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n counter = counter.plus(incrementValue);\n } else if (!incremental && counter.isGreaterThan(rawValue)) {\n this.displayValue = this.replaceNumericPositions(this.displayValue, counter);\n counter = counter.minus(incrementValue);\n } else {\n this.displayValue = this.value;\n\n clearInterval(this.intervalId);\n }\n }, this.STEP_DURATION_MS);\n }\n\n public replaceNumericPositions(value: string, newValue?: BigNumber) {\n const rawValue = value.replace(/[^\\d]/g, \"\");\n const newValueString = newValue ? newValue.toString() : \"\";\n const formattedNewValue = newValueString\n .toString()\n .replace(/\\D/g, \"\")\n .padStart(rawValue.length, \"0\");\n let newValueIndex = 0;\n\n return value\n .split(\"\")\n .map(char => {\n const number = Number(char);\n if (number || char === \"0\") return formattedNewValue[newValueIndex++];\n return char;\n })\n .join(\"\");\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { StatsCardComponent } from \"./stats-card.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n ],\n declarations: [\n StatsCardComponent,\n ],\n exports: [\n StatsCardComponent,\n ],\n})\nexport class StatsCardModule { }\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nexport enum StepState {\n Default = \"default\",\n Success = \"success\",\n Warning = \"warning\",\n}\n\nexport interface Step {\n id: any;\n label: string;\n ariaLabel?: string;\n ariaControls?: string;\n /**\n * @deprecated\n * @todo remover propriedade deprecada\n */\n description?: string;\n state?: StepState;\n disabled?: boolean;\n hidden?: boolean;\n tooltip?: string;\n}\n\nexport interface StepSelectionEvent {\n step: Step;\n index: number;\n event: any;\n}\n\n@Component({\n selector: \"s-steps\",\n templateUrl: \"./steps.component.html\",\n styleUrls: [\"./steps.component.scss\"],\n host: {\n \"aria-orientation\": \"horizontal\",\n role: \"tablist\",\n \"tab-index\": \"0\",\n },\n animations: [\n trigger(\"beforeActiveDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"50ms 100ms linear\")]),\n transition(\"desactive => active\", [animate(\"50ms 250ms linear\")]),\n ]),\n trigger(\"activeDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"100ms 150ms linear\")]),\n transition(\"desactive => active\", [animate(\"100ms 150ms linear\")]),\n ]),\n trigger(\"afterActiveDesative\", [\n state(\n \"active\",\n style({\n \"background-position\": \"left bottom\",\n })\n ),\n state(\n \"desactive\",\n style({\n \"background-position\": \"right bottom\",\n })\n ),\n transition(\"active => desactive\", [animate(\"50ms 250ms linear\")]),\n transition(\"desactive => active\", [animate(\"50ms 100ms linear\")]),\n ]),\n ],\n})\nexport class StepsComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-steps-${StepsComponent.nextId++}`;\n @Input()\n public steps: Step[];\n @Input()\n public activeIndex = 0;\n\n @Output()\n public stepSelected: EventEmitter<StepSelectionEvent> = new EventEmitter();\n\n public stepClick(step: Step, index: number, event: any) {\n if (step.disabled || index == this.activeIndex) return;\n this.stepSelected.emit({ step, index, event });\n }\n\n public get stepState() {\n return StepState;\n }\n\n public barAnimation(index: number, activeIndex: number): boolean {\n const visited = index < activeIndex;\n const activated = index === activeIndex;\n return visited || activated;\n }\n\n public afterBarAnimation(index: number, activeIndex: number): boolean {\n const visited = index < activeIndex;\n const activated = index === activeIndex - 1;\n return visited || activated;\n }\n\n get visibledStep() {\n return this.steps.filter((step: Step) => !step.hidden);\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { StepsComponent } from \"./steps.component\";\n\n@NgModule({\n imports: [CommonModule, TooltipModule],\n declarations: [StepsComponent],\n exports: [StepsComponent],\n})\nexport class StepsModule {}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\nimport { ThumbnailsItem } from \"./models/thumbnails-item\";\n\n@Component({\n selector: \"s-thumbnails\",\n templateUrl: \"./thumbnails.component.html\",\n styleUrls: [\"./thumbnails.component.scss\"],\n})\nexport class ThumbnailsComponent {\n @Input()\n public items: ThumbnailsItem[];\n\n @Input()\n public selectable = true;\n\n @Input() combineCheckboxEvent = true;\n\n @Input()\n public set selection(items: ThumbnailsItem[]) {\n this._selection = [...items];\n }\n\n @Output()\n public selectionChange = new EventEmitter<ThumbnailsItem[]>();\n\n @Output()\n public itemOpened = new EventEmitter<ThumbnailsItem>();\n\n private _selection: ThumbnailsItem[] = [];\n\n public onItemOpened(item: ThumbnailsItem): void {\n this.itemOpened.emit(item);\n }\n\n public onItemSelected(item: { item: ThumbnailsItem; selected: boolean }): void {\n if (item.selected) {\n this._selection.push(item.item);\n } else {\n this._selection.splice(\n this._selection.findIndex((_item) => _item === item.item),\n 1\n );\n }\n this.selectionChange.emit(this._selection);\n }\n\n public isSelected(item: ThumbnailsItem) {\n return this._selection.some((i: ThumbnailsItem) => i.id === item.id);\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\n\nimport { CheckboxState } from \"../../../checkbox/models/checkbox-state\";\nimport { isNullOrUndefined } from \"../../../utils/utils\";\nimport { ThumbnailsItem } from \"../../models/thumbnails-item\";\n\n@Component({\n selector: \"s-thumbnail-item\",\n templateUrl: \"./thumbnail-item.component.html\",\n styleUrls: [\"./thumbnail-item.component.scss\"],\n})\nexport class ThumbnailItemComponent implements OnInit {\n @Input()\n public itemData: ThumbnailsItem;\n\n @Input()\n public isCheckable = true;\n\n @Input()\n public isChecked = false;\n\n @Input() combineCheckboxEvent = true;\n\n @Output()\n public checked = new EventEmitter<{ item: ThumbnailsItem, selected: boolean }>();\n\n @Output()\n public opened = new EventEmitter<ThumbnailsItem>();\n\n public checkboxFormGroup: FormGroup;\n\n public ngOnInit(): void {\n this._validateItemData();\n this._createFormGroup();\n }\n\n public onClick() {\n this.opened.emit(this.itemData);\n }\n\n public checkboxClick(event: Event): void {\n if (this.combineCheckboxEvent) {\n return;\n }\n\n event.stopPropagation();\n }\n\n private _createFormGroup(): void {\n this.checkboxFormGroup = new FormGroup({\n checkbox: new FormControl({ checked: this.isChecked }),\n });\n\n this.checkboxFormGroup.get(\"checkbox\").valueChanges.subscribe((value: CheckboxState) => {\n this.checked.emit({ item: this.itemData, selected: value.checked });\n });\n }\n\n private _validateItemData(): void {\n if (isNullOrUndefined(this.itemData)) {\n throw new Error(\"itemData is required\");\n }\n }\n}\n","import { Component, Input, ElementRef, ViewChild, HostListener } from \"@angular/core\";\n\n@Component({\n selector: \"s-thumbnail-item-video\",\n templateUrl: \"./thumbnail-item-video.component.html\",\n styleUrls: [\"./thumbnail-item-video.component.scss\"],\n})\nexport class ThumbnailItemVideoComponent {\n @Input()\n public imageUrl: string;\n \n @Input()\n public videoUrl: string;\n \n @ViewChild(\"videoPlayer\") videoPlayer!: ElementRef;\n\n @HostListener(\"mouseenter\") onMouseEnter(): void {\n if (this.videoPlayer?.nativeElement) {\n this.videoPlayer.nativeElement.play();\n }\n }\n\n @HostListener(\"mouseleave\") onMouseLeave(): void {\n if (this.videoPlayer?.nativeElement) {\n this.videoPlayer.nativeElement.pause();\n this.videoPlayer.nativeElement.currentTime = 0;\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n selector: \"s-thumbnail-item-image\",\n templateUrl: \"./thumbnail-item-image.component.html\",\n styleUrls: [\"./thumbnail-item-image.component.scss\"],\n})\nexport class ThumbnailItemImageComponent {\n @Input()\n public imageUrl: string;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { CheckboxModule } from \"../checkbox/checkbox.module\";\nimport { ThumbnailItemComponent } from \"./components/thumbnail-item/thumbnail-item.component\";\nimport { ThumbnailItemVideoComponent } from \"./components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component\";\nimport { ThumbnailItemImageComponent } from \"./components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component\";\nimport { ThumbnailsComponent } from \"./thumbnails.component\";\n\n@NgModule({\n imports: [CommonModule, ReactiveFormsModule, TranslateModule, CheckboxModule],\n declarations: [ThumbnailsComponent, ThumbnailItemComponent, ThumbnailItemVideoComponent, ThumbnailItemImageComponent],\n exports: [ThumbnailsComponent],\n})\nexport class ThumbnailsModule {}\n","import { Component, EventEmitter, Input, Output, HostListener } from \"@angular/core\";\n\n@Component({\n selector: \"s-tile\",\n templateUrl: \"./tile.component.html\",\n styleUrls: [\"./tile.component.scss\"],\n})\nexport class TileComponent {\n public static nextId = 0;\n\n @Input()\n public id = `s-tile-${TileComponent.nextId++}`;\n\n @Input()\n public label: string;\n\n @Input()\n public description: string;\n\n @Input()\n public iconClass: string;\n\n @Input()\n public imageSource: string;\n\n @Input()\n public imageAlt: string;\n\n @Input()\n public disabled = false;\n\n @Input()\n public tabIndex = 0;\n\n @Input()\n public useThumbnail = true;\n\n @Output()\n public onClick = new EventEmitter();\n\n public get initialLetter(): string {\n let initialLetter = \"\";\n if (this.label) {\n const words = this.label.split(\" \", 2);\n initialLetter = words[0].charAt(0).toUpperCase();\n if (words.length > 1) {\n initialLetter += words[1].charAt(0).toUpperCase();\n }\n }\n return initialLetter;\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeyDown(event: any) {\n if (!this.disabled && [13, 32].includes(event.keyCode)) {\n this.onClick.emit();\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\n\nimport { TooltipModule } from \"../tooltip/tooltip.module\";\nimport { ThumbnailModule } from \"../thumbnail/thumbnail.module\";\nimport { TileComponent } from \"./tile.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n ThumbnailModule,\n ],\n declarations: [TileComponent],\n exports: [\n TileComponent,\n ThumbnailModule,\n ],\n})\nexport class TileModule { }\n","import { Component, HostListener, Input, OnInit } from \"@angular/core\";\n\nimport { TimelineItem } from \"./models/timeline-item\";\n\nconst HORIZONTAL = \"horizontal\";\nconst VERTICAL = \"vertical\";\nconst MIN_ITEM_SIZE = 200;\n\n@Component({\n selector: \"s-timeline\",\n templateUrl: \"./timeline.component.html\",\n})\nexport class TimelineComponent implements OnInit {\n private _innerWidth: number;\n private _items: TimelineItem[];\n\n public get items(): TimelineItem[] {\n return this._items;\n }\n\n @Input()\n public set items(items: TimelineItem[]) {\n this._items = items;\n this.checkDuplicateIds();\n }\n\n @Input()\n public activeIndex: number;\n\n @Input()\n public highlightActiveItem = true;\n\n @Input()\n public direction: typeof HORIZONTAL | typeof VERTICAL = HORIZONTAL;\n\n @Input()\n public collapsable = true;\n\n @Input()\n public counterLabel = \"items\";\n\n public ngOnInit(): void {\n this._innerWidth = window.innerWidth;\n }\n\n @HostListener(\"window:resize\", [\"$event\"])\n public onResize(_: any): void {\n this._innerWidth = window.innerWidth;\n }\n\n public changeToVertical(): boolean {\n return this.direction === VERTICAL || this._innerWidth / this.items.length < MIN_ITEM_SIZE;\n }\n\n public checkDuplicateIds(): void {\n const ids = this.items.map(item => {\n return item.id;\n });\n\n if ((new Set(ids)).size !== ids.length) {\n throw new Error(\"A duplicate id was found in the items list\");\n }\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../models\";\n\n@Component({\n selector: \"s-timeline-icon-item\",\n templateUrl: \"./timeline-icon-item.component.html\",\n styleUrls: [\"./timeline-icon-item.component.scss\"],\n})\nexport class TimelineIconItemComponent {\n @Input()\n public item: TimelineItem;\n\n @Input()\n public isActive: boolean;\n\n @Input()\n public highlightActive: boolean;\n\n @Input()\n public isComplete: boolean;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { TimelineIconItemComponent } from \"./timeline-icon-item.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n ],\n declarations: [TimelineIconItemComponent],\n exports: [TimelineIconItemComponent],\n})\nexport class TimelineItemModule { }\n","import { Component, Input } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../models/timeline-item\";\n\n@Component({\n selector: \"s-horizontal-timeline\",\n templateUrl: \"./horizontal-timeline.component.html\",\n styleUrls: [\"./horizontal-timeline.component.scss\"],\n})\nexport class HorizontalTimelineComponent {\n @Input()\n public items: TimelineItem[];\n\n @Input()\n public activeIndex = 0;\n\n @Input()\n public highlightActiveItem: boolean;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TooltipModule } from \"primeng/tooltip\";\n\nimport { TimelineItemModule } from \"../timeline-icon-item/timeline-icon-item.module\";\nimport { HorizontalTimelineComponent } from \"./horizontal-timeline.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TooltipModule,\n TimelineItemModule,\n ],\n declarations: [HorizontalTimelineComponent],\n exports: [HorizontalTimelineComponent],\n})\nexport class HorizontalTimelineModule { }\n","import { Component, Input } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../models/timeline-item\";\n\n@Component({\n selector: \"s-vertical-timeline\",\n templateUrl: \"./vertical-timeline.component.html\",\n styleUrls: [\"./vertical-timeline.component.scss\"],\n})\nexport class VerticalTimelineComponent {\n public static nextId = 0;\n private _activeIndex: number;\n public isG1Collapsed = true;\n public isG2Collapsed = true;\n\n public firstItem: TimelineItem[];\n public g1Items: TimelineItem[];\n public activeItem: TimelineItem[];\n public g2Items: TimelineItem[];\n public lastItem: TimelineItem[];\n\n @Input()\n public set activeIndex(index: number) {\n this._activeIndex = index;\n this.groupItems();\n }\n\n public get activeIndex() {\n return this._activeIndex;\n }\n\n @Input()\n public highlightActiveItem: boolean;\n\n @Input()\n public items: TimelineItem[];\n\n @Input()\n public counterLabel: string;\n\n @Input()\n public collapsable: boolean;\n\n public onChangeG1(event: boolean) {\n this.isG1Collapsed = event;\n }\n\n public onChangeG2(event: boolean) {\n this.isG2Collapsed = event;\n }\n\n public groupItems() {\n this.firstItem = this.activeIndex <= 0 ? [] : [this.items[0]];\n this.g1Items = this.items.slice(1, this.activeIndex < 0 ? 0 : this.activeIndex);\n this.activeItem = this.activeIndex >= 0 ? [this.items[this.activeIndex]] : [];\n this.g2Items = this.items.slice(this.activeIndex + 1, this.items.length - 1);\n this.lastItem = this.activeIndex === this.items.length - 1 ? [] : [this.items[this.items.length - 1]];\n }\n}\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: \"s-range-line\",\n templateUrl: \"./range-line.component.html\",\n styleUrls: [\"./range-line.component.scss\"],\n})\nexport class RangeLineComponent { }\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\n\n@Component({\n selector: \"s-collapse-option\",\n templateUrl: \"./collapse-option.component.html\",\n styleUrls: [\"./collapse-option.component.scss\"],\n})\nexport class CollapseOptionComponent {\n @Input()\n public isCollapsed = false;\n\n @Output()\n public change = new EventEmitter<boolean>();\n\n public onClick(): void {\n this.change.emit(!this.isCollapsed);\n }\n}\n","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../../../models/timeline-item\";\n\n@Component({\n selector: \"s-collapsed-items\",\n templateUrl: \"./collapsed-items.component.html\",\n styleUrls: [\"./collapsed-items.component.scss\"],\n})\nexport class CollapsedItemsComponent {\n @Input()\n public items: TimelineItem[];\n\n @Input()\n public isCollapsed: boolean;\n\n @Input()\n public isCompleted: boolean;\n\n @Input()\n public counterLabel: string;\n\n @Output()\n public isCollapsedChange = new EventEmitter<boolean>();\n\n public onChange(event: boolean) {\n this.isCollapsed = !this.isCollapsed;\n this.isCollapsedChange.emit(this.isCollapsed);\n }\n}\n","import { Component, Input } from \"@angular/core\";\n\nimport { TimelineItem } from \"../../../../models/timeline-item\";\n\n@Component({\n selector: \"s-vertical-items\",\n templateUrl: \"./vertical-items.component.html\",\n styleUrls: [\"./vertical-items.component.scss\"],\n})\nexport class VerticalItemsComponent {\n @Input()\n public items: TimelineItem[];\n\n @Input()\n public isLast: boolean;\n\n @Input()\n public isActive: boolean;\n\n @Input()\n public highlightActive: boolean;\n\n @Input()\n public isCompleted: boolean;\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TimelineItemModule } from \"../timeline-icon-item/timeline-icon-item.module\";\nimport { VerticalTimelineComponent } from \"./vertical-timeline.component\";\nimport { RangeLineComponent } from \"./components/range-line/range-line.component\";\nimport { CollapseOptionComponent } from \"./components/collapse-option/collapse-option.component\";\nimport { CollapsedItemsComponent } from \"./components/collapsed-items/collapsed-items.component\";\nimport { VerticalItemsComponent } from \"./components/vertical-items/vertical-items.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n TimelineItemModule,\n ],\n declarations: [\n VerticalTimelineComponent,\n RangeLineComponent,\n CollapseOptionComponent,\n CollapsedItemsComponent,\n VerticalItemsComponent,\n ],\n exports: [VerticalTimelineComponent],\n})\nexport class VerticalTimelineModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { TimelineComponent } from \"./timeline.component\";\nimport { TimelineItemModule } from \"./components/timeline-icon-item/timeline-icon-item.module\";\nimport { HorizontalTimelineModule } from \"./components/horizontal-timeline/horizontal-timeline.module\";\nimport { VerticalTimelineModule } from \"./components/vertical-timeline/vertical-timeline.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n TimelineItemModule,\n HorizontalTimelineModule,\n VerticalTimelineModule,\n ],\n declarations: [\n TimelineComponent,\n ],\n exports: [\n TimelineComponent,\n ],\n})\nexport class TimelineModule { }\n","export enum TimelineItemSeverity {\n Normal = \"normal\",\n Warning = \"warning\",\n Error = \"error\",\n}\n","export enum TimelineItemSize {\n Normal = \"normal\",\n Small = \"small\",\n}\n","import { TimelineItemSeverity } from \"./timeline-item-severity\";\nimport { TimelineItemSize } from \"./timeline-item-size\";\n\nconst LABEL_MAX_LENGTH = 3; \n\nexport class TimelineItem {\n public id: string;\n public title: string;\n public description: string;\n public icon?: string;\n public label?: string;\n public tooltip?: string;\n public size: TimelineItemSize;\n public severity: TimelineItemSeverity;\n public color?: string;\n\n constructor(params: {\n id: string,\n title: string,\n description: string,\n icon?: string,\n label?: string,\n size?: TimelineItemSize,\n severity?: TimelineItemSeverity,\n tooltip?: string,\n color?: string,\n }) {\n this.id = params.id;\n this.title = params.title;\n this.description = params.description;\n this.icon = params.icon;\n this.label = params.label;\n this.tooltip = params.tooltip;\n this.size = params.size || TimelineItemSize.Normal;\n this.severity = params.severity || TimelineItemSeverity.Normal;\n this.color = params.color;\n\n this.checkItemIconContent();\n }\n\n public checkItemIconContent() {\n if (!this.icon && !this.label) {\n throw new Error(\"No icon or label string was passed for the item. Enter an icon or label text\");\n }\n\n if (this.icon && this.label) {\n throw new Error(\"An icon and label string were passed to the item. Enter an icon or label text\");\n }\n\n if (this.label?.length > LABEL_MAX_LENGTH) {\n throw new Error(\"Label text is expected to be a maximum of three characters long\");\n }\n }\n\n public testSize(value: string) {\n return this.size.valueOf() === value;\n }\n\n public testSeverity(value: string) {\n return this.severity?.valueOf() === value;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewChildren,\n} from \"@angular/core\";\n\nimport { Workspace } from \"./models/workspace\";\n\n@Component({\n selector: \"s-workspace-switch\",\n templateUrl: \"./workspace-switch.component.html\",\n styleUrls: [\"./workspace-switch.component.scss\"],\n})\nexport class WorkspaceSwitchComponent implements OnInit {\n @Input()\n public workspaces: Workspace[];\n\n @Input()\n public footerButtonLabel = \"Adicionar\";\n\n @Input()\n public showFooterButton = true;\n\n @Input()\n public disabled = false;\n\n @Output()\n public footerButtonClicked = new EventEmitter();\n\n @Output()\n public selected: EventEmitter<Workspace> = new EventEmitter();\n\n @ViewChildren('listItem')\n public listItems: QueryList<ElementRef>;\n\n public get open() {\n return this._open;\n }\n\n public set open(open: boolean) {\n this._open = open;\n this.changeDetectorRef.detectChanges();\n\n if (open) {\n this._calculateListMaxHeight();\n }\n }\n\n public height = 0;\n public selectedItemIndex = 0;\n public currentItemIndex = 0;\n\n private _open = false;\n\n constructor(\n private readonly eRef: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef\n ) {}\n\n @HostBinding(\"attr.tabindex\")\n public tabindex = 0;\n\n @HostListener(\"document:click\", [\"$event\"])\n public onClickout(event: MouseEvent): void {\n if (!this.eRef.nativeElement.contains(event.target)) {\n this.open = false;\n }\n }\n\n @HostListener(\"keydown\", [\"$event\"])\n public onKeydown(event: KeyboardEvent): void {\n if (event.key === \"Enter\" || event.key === \" \") {\n if (this.open) {\n const workspace = this.workspaces[this.selectedItemIndex];\n\n if (workspace.disabled) {\n return;\n }\n\n this.selectedItemIndex = this.currentItemIndex;\n this.selected.emit(this.workspaces[this.selectedItemIndex]);\n }\n this.open = !this.open;\n } else if (event.key === \"Escape\") {\n this.open = false;\n } else if (event.key === \"ArrowDown\") {\n if (this.currentItemIndex < this.workspaces.length - 1) {\n this.currentItemIndex++;\n this._scrollToCurrentItem();\n }\n } else if (event.key === \"ArrowUp\") {\n if (this.currentItemIndex > 0) {\n this.currentItemIndex--;\n this._scrollToCurrentItem();\n }\n }\n }\n\n public ngOnInit(): void {\n if (this.disabled) {\n this.tabindex = -1;\n }\n }\n\n public validations(): void {\n if (!this.workspaces.length) {\n throw new Error(\"Workspaces list is empty.\");\n }\n }\n\n public buttonOnBlur(): void {\n this.open = false;\n this.currentItemIndex = this.selectedItemIndex;\n }\n\n public onSelectItem(workspace: Workspace): void {\n if (workspace.disabled) {\n return;\n }\n\n this.open = false;\n this.selectedItemIndex = this.workspaces.indexOf(workspace);\n this.currentItemIndex = this.selectedItemIndex;\n this.selected.emit(workspace);\n }\n\n public onFooterButtonClick(): void {\n this.open = false;\n this.footerButtonClicked.emit();\n }\n\n private _calculateListMaxHeight(): void {\n const workspaceListRef = this.eRef.nativeElement.querySelector(\"#workspace-list\");\n const { top } = workspaceListRef.getBoundingClientRect();\n\n this.height = window.innerHeight - top - 20 - (this.showFooterButton ? 64 : 0);\n this.changeDetectorRef.detectChanges();\n }\n\n private _scrollToCurrentItem(): void {\n const currentItem = this.listItems.toArray()[this.currentItemIndex];\n if (currentItem) {\n currentItem.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { WorkspaceSwitchComponent } from \"./workspace-switch.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [WorkspaceSwitchComponent],\n exports: [WorkspaceSwitchComponent],\n})\nexport class WorkspaceSwitchModule { }\n","import { Component, Input } from \"@angular/core\";\nimport {\n BadgeConfiguration,\n CurrencyConfiguration,\n DateConfiguration,\n LabelValueConfiguration,\n NumberConfiguration,\n TextConfiguration,\n} from \"./types/label-value-configuration\";\n\n@Component({\n selector: \"s-label-value\",\n templateUrl: \"./label-value.component.html\",\n styleUrls: [\"./label-value.component.scss\"],\n})\nexport class LabelValueComponent {\n @Input()\n configuration: LabelValueConfiguration;\n\n isBadgeConfiguration(config: LabelValueConfiguration): config is BadgeConfiguration {\n return config.type === \"Badge\";\n }\n\n isTextConfiguration(config: LabelValueConfiguration): config is TextConfiguration {\n return config.type === \"Text\";\n }\n\n isCurrencyConfiguration(config: LabelValueConfiguration): config is CurrencyConfiguration {\n return config.type === \"Currency\";\n }\n\n isNumberConfiguration(config: LabelValueConfiguration): config is NumberConfiguration {\n return config.type === \"Number\";\n }\n\n isDateConfiguration(config: LabelValueConfiguration): config is DateConfiguration {\n return config.type === \"Date\";\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CookieService } from \"ngx-cookie-service\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { LabelValueComponent } from \"./label-value.component\";\n\nimport { BadgeModule } from \"../badge/badge.module\";\nimport { LocaleModule } from \"../locale/locale.module\";\n\n@NgModule({\n imports: [CommonModule, TranslateModule, BadgeModule, LocaleModule],\n providers: [CookieService],\n declarations: [LabelValueComponent],\n exports: [LabelValueComponent],\n})\nexport class LabelValueModule {}\n","export interface PickListItem<T> {\n disabled?: boolean;\n data: T;\n}\n\nexport enum PicklistTemplateTypes {\n ItemToSelect = 'item-to-select',\n SelectedItem = 'selected-item'\n}\n","import { CdkDrag, CdkDragDrop } from '@angular/cdk/drag-drop';\nimport { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, OnChanges, Output, QueryList, SimpleChanges, TemplateRef } from '@angular/core';\nimport { pipe } from 'rxjs';\nimport { TemplateDirective } from './../../template/template.directive';\nimport { PicklistTemplateTypes, PickListItem } from './models/picklist-models';\n\ninterface InternalPicklistItem<T = any> extends PickListItem<T> {\n invisible?: boolean\n selected?: boolean\n}\n\ntype CdkDragEvent = { source: CdkDrag<InternalPicklistItem<any>> };\n\n@Component({\n selector: 's-picklist',\n templateUrl: './picklist.component.html',\n styleUrls: ['./picklist.component.scss']\n})\nexport class PicklistComponent implements AfterViewInit, OnChanges {\n @Input() itensToSelect: PickListItem<any>[] = [];\n @Input() selectedItens: PickListItem<any>[] = [];\n @Input() availableItensLabel: string;\n @Input() availableItensPlaceholder: string;\n @Input() addSelectedItensLabel: string;\n @Input() addAllItensLabel: string;\n @Input() selectedItensLabel: string;\n @Input() selectedItensPlaceholder: string;\n @Input() removeSelectedItemsLabel: string;\n @Input() removeAllItemsLabel: string;\n @Input() showCheckbox = false;\n @Input() filterBy = '';\n @Output() selectedItensChange = new EventEmitter<any[]>();\n @Output() itensToSelectChange = new EventEmitter<any[]>();\n availableItensFilter = '';\n selectedItensFilter = '';\n itemToSelectTemplate: TemplateRef<any>;\n itemSelectedTemplate: TemplateRef<any>;\n itensToSelectFilterUtil: {\n rawItensToSelect: InternalPicklistItem[],\n filteredItensToSelect: InternalPicklistItem[],\n } = {\n rawItensToSelect: [],\n filteredItensToSelect: [],\n }\n\n selectedItensFilterUtil: {\n rawSelectedItens: InternalPicklistItem[]\n filteredSelectedItens: InternalPicklistItem[],\n } = {\n rawSelectedItens: [],\n filteredSelectedItens: [],\n }\n selectedItensMap: Set<InternalPicklistItem> = new Set();\n itensToSelectId = randomHash('itensToSelect');\n selectedItensId = randomHash('selectedItens');\n private lastSelected: 'toSelect' | 'selected';\n\n @ContentChildren(TemplateDirective) private templates: QueryList<TemplateDirective>;\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit(): void {\n this.itemToSelectTemplate = this.templates.find(x => x.type === PicklistTemplateTypes.ItemToSelect)?.template;\n this.itemSelectedTemplate = this.templates.find(x => x.type === PicklistTemplateTypes.SelectedItem)?.template;\n if (!this.itemToSelectTemplate) {\n console.error(`Missing template for ${PicklistTemplateTypes.ItemToSelect} add this template using sTemplate directive.`);\n }\n if (!this.itemSelectedTemplate) {\n console.error(`Missing template for ${PicklistTemplateTypes.SelectedItem} add this template using sTemplate directive.`);\n }\n this.cdr.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.itensToSelect && changes.itensToSelect.firstChange) {\n this.itensToSelectFilterUtil = {\n rawItensToSelect: this.itensToSelect,\n filteredItensToSelect: this.itensToSelect,\n }\n }\n\n if (changes.selectedItens && changes.selectedItens.firstChange) {\n this.selectedItensFilterUtil = {\n filteredSelectedItens: this.selectedItens,\n rawSelectedItens: this.selectedItens\n }\n }\n }\n\n toggleSelected(internalPicklistItem: InternalPicklistItem, containerListId: string) {\n if (internalPicklistItem.disabled) {\n return;\n }\n this.unselectedItensByListId(this.getOppositiveId(containerListId));\n internalPicklistItem.selected = !internalPicklistItem.selected;\n if (internalPicklistItem.selected) {\n this.selectedItensMap.add(internalPicklistItem);\n } else {\n this.selectedItensMap.delete(internalPicklistItem);\n }\n this.cdr.detectChanges();\n }\n\n remove(all = false) {\n const itens = filterEnabled((all ? this.selectedItensFilterUtil.rawSelectedItens : this.selectedItensMap));\n if (!itens.length) {\n return;\n }\n itens.forEach((itemRemove) => {\n this.itensToSelect.push(itemRemove);\n itemRemove.selected = false;\n this.selectedItensMap.delete(itemRemove);\n })\n this.selectedItens = this.selectedItens.filter(x => !itens.includes(x));\n this.selectedItensFilterUtil.rawSelectedItens = this.selectedItens;\n this.filterSelectedItens();\n this.filterItensToSelect();\n this.emitData();\n this.cdr.detectChanges();\n }\n\n add(all = false) {\n const itens = filterEnabled((all ? this.itensToSelectFilterUtil.rawItensToSelect : this.selectedItensMap));\n if (!itens.length) {\n return;\n }\n itens.forEach((itemRemove) => {\n this.selectedItens.push(itemRemove);\n itemRemove.selected = false;\n this.selectedItensMap.delete(itemRemove);\n })\n this.itensToSelect = this.itensToSelect.filter(x => !itens.includes(x));\n this.itensToSelectFilterUtil.rawItensToSelect = this.itensToSelect;\n this.filterSelectedItens();\n this.filterItensToSelect();\n this.emitData();\n this.cdr.detectChanges();\n }\n\n filterItensToSelect() {\n let searchTerm = this.availableItensFilter;\n searchTerm = searchTerm.trim();\n if (searchTerm) {\n this.itensToSelectFilterUtil.filteredItensToSelect = this.itensToSelectFilterUtil.rawItensToSelect\n .filter((item) => compareStrings(item.data[this.filterBy], searchTerm));\n } else {\n this.itensToSelectFilterUtil.filteredItensToSelect = this.itensToSelectFilterUtil.rawItensToSelect;\n }\n this.cdr.detectChanges();\n }\n\n filterSelectedItens() {\n let searchTerm = this.selectedItensFilter;\n searchTerm = searchTerm.trim();\n if (searchTerm) {\n this.selectedItensFilterUtil.filteredSelectedItens = this.selectedItensFilterUtil.rawSelectedItens\n .filter((item) => compareStrings(item.data[this.filterBy], searchTerm));\n } else {\n this.selectedItensFilterUtil.filteredSelectedItens = this.selectedItensFilterUtil.rawSelectedItens;\n }\n }\n\n drop(event: CdkDragDrop<InternalPicklistItem[]>) {\n const isDifferentContainer = event.container !== event.previousContainer;\n if (!isDifferentContainer) {\n return;\n }\n\n const isRemovedItens = event.previousContainer.id === this.selectedItensId;\n if (isRemovedItens) {\n this.remove();\n } else {\n this.add();\n }\n this.cdr.detectChanges();\n }\n\n onDragStart(event: CdkDragEvent, dragListId: string) {\n this.unselectedItensByListId(this.getOppositiveId(dragListId));\n event.source.data.selected = true;\n this.selectedItensMap.add(event.source.data);\n this.selectedItensMap.forEach((x) => x.invisible = true);\n this.cdr.detectChanges();\n }\n\n onDragRelease() {\n this.selectedItensMap.forEach((item) => item.invisible = false);\n }\n\n checkAllAvailableItensChange(checked: boolean) {\n this._checkAllSelectedItensChange(checked, this.itensToSelectFilterUtil.filteredItensToSelect, this.itensToSelectId);\n }\n\n checkAllSelectedItensChange(checked: boolean) {\n this._checkAllSelectedItensChange(checked, this.selectedItensFilterUtil.filteredSelectedItens, this.selectedItensId);\n }\n\n get disableSelectedItensCheckbox() {\n return filterEnabled(this.selectedItensFilterUtil.filteredSelectedItens).length === 0;\n }\n\n get disableItensToSelectCheckbox() {\n return filterEnabled(this.itensToSelectFilterUtil.filteredItensToSelect).length === 0;\n }\n\n get itensToSelectAllSelected() {\n return this._checkAllSelectedByList(this.itensToSelectFilterUtil.filteredItensToSelect);\n }\n\n get selectedItensAllSelected() {\n return this._checkAllSelectedByList(this.selectedItensFilterUtil.filteredSelectedItens);\n }\n\n get canAddItens() {\n return (this.itensToSelect as InternalPicklistItem[]).filter((x) => x?.selected).length > 0;\n }\n\n get canRemoveItens() {\n return (this.selectedItens as InternalPicklistItem[]).filter((x) => x?.selected).length > 0;\n }\n\n private _checkAllSelectedByList(list: InternalPicklistItem[]) {\n const _listItens = filterEnabled(list);\n if (!_listItens.length) {\n return false;\n } else {\n return _listItens.every((x) => x.selected);\n }\n }\n\n private _checkAllSelectedItensChange(checked: boolean, list: InternalPicklistItem[], listId: string) {\n this.unselectedItensByListId(listId === this.selectedItensId ? this.itensToSelectId : this.selectedItensId);\n filterEnabled(list).forEach((item) => {\n item.selected = checked;\n this.selectedItensMap.add(item);\n })\n this.cdr.detectChanges();\n }\n\n private unselectedItensByListId(listId: string) {\n const clearList = this.getAllElementsByListId(listId);\n clearList.forEach((x) => {\n x.selected = false;\n this.selectedItensMap.delete(x);\n })\n this.cdr.detectChanges();\n }\n\n private getAllElementsByListId(listId: string) {\n return listId === this.selectedItensId ? this.selectedItensFilterUtil.rawSelectedItens : this.itensToSelectFilterUtil.rawItensToSelect;\n }\n\n private getOppositiveId(listId: string) {\n return listId === this.selectedItensId ? this.itensToSelectId : this.selectedItensId;\n }\n\n private emitData() {\n this.itensToSelectChange.emit(parseValueEmit(this.itensToSelect));\n this.selectedItensChange.emit(parseValueEmit(this.selectedItens));\n }\n}\n\nconst normalizeString = (str: string) => {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\").toLowerCase();\n}\n\n/**\n * Compares two strings by normalizing them to a case-insensitive and accent-free form,\n * and checks if the main string contains the substring.\n *\n * @param mainString - The string to be searched.\n * @param substring - The string to search for within the main string.\n * @returns A boolean indicating whether the normalized main string contains the normalized substring.\n */\n\nconst compareStrings = (mainString: string, substring: string) => {\n return normalizeString(mainString).includes(normalizeString(substring));\n}\n\nconst randomHash = (prefix = 'id') => {\n return `${prefix}-${Math.random().toString(36).substring(2, 9)}-${Date.now().toString(36)}`\n}\n\nconst filterEnabled = (list: PickListItem<any>[] | Set<InternalPicklistItem>): InternalPicklistItem[] => {\n const _list = list instanceof Set ? Array.from(list) : list;\n return _list.filter((x) => !x.disabled);\n}\n\nconst mapData = (list: PickListItem<any>[]) => {\n return list.map((x) => x.data);\n}\n\nconst parseValueEmit = pipe(filterEnabled, mapData)\n\nexport const parseItensPickList = <T>(array: T[], disabledFn?: (item: T) => boolean): PickListItem<T>[] => {\n return array.map((x) => {\n return {\n data: x,\n disabled: disabledFn ? disabledFn(x) : false\n }\n })\n}\n","import { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ButtonModule } from '../button/button.module';\nimport { PicklistComponent } from './picklist/picklist.component';\n\n\n@NgModule({\n declarations: [PicklistComponent],\n imports: [\n CommonModule,\n TranslateModule,\n DragDropModule,\n FormsModule,\n ButtonModule,\n ],\n exports: [PicklistComponent]\n})\nexport class PicklistModule { }\n","import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostListener, Input, Output, QueryList, TemplateRef, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CheckDisabled } from '../../shared/helpers';\nimport { ChipAddEvent, ChipClickEvent, ChipRemoveEvent } from '../models/chip-models';\nimport { TemplateDirective } from './../../template/template.directive';\n\n@Component({\n selector: 's-chips',\n templateUrl: './chips.component.html',\n styleUrls: ['./chips.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ChipsComponent),\n multi: true\n }\n ]\n})\nexport class ChipsComponent implements AfterViewInit, ControlValueAccessor {\n private static _id = 0;\n newItem = '';\n chipTemplate: TemplateRef<any>;\n\n @Input() disabled: boolean;\n @Input() field: string;\n @Input() value: any[] = [];\n @Input() placeholder = '';\n @Input() max: number;\n @Input() maxLength: number;\n @Input() inputId = `chips-${ChipsComponent._id++}`;\n @Input() allowDuplicated = true;\n @Input() caseSensitiveDuplication = false;\n @Input() addOnTab = true;\n @Input() addOnBlur = true;\n @Input() separator: string;\n @Input() autofocus = false;\n @Input() infoLabel = '';\n @Input() keyFilter: string | RegExp;\n @Input() showTooltip = true;\n @Input() maxLengthRenderWithoutTooltip = 20;\n\n @Output() onAdd = new EventEmitter<ChipAddEvent>();\n @Output() onRemove = new EventEmitter<ChipRemoveEvent>();\n @Output() onFocus = new EventEmitter<FocusEvent>();\n @Output() onBlur = new EventEmitter<FocusEvent>();\n @Output() onChipClick = new EventEmitter<ChipClickEvent>();\n @Output() valueChange = new EventEmitter<string[] | any[]>();\n\n @ContentChildren(TemplateDirective) private templates: QueryList<TemplateDirective>;\n\n @ViewChild('input', { read: ElementRef }) private input: ElementRef<HTMLElement>;\n private isTabEventActive = false;\n onChange: (value: string[] | any[]) => void = () => { };\n onTouched: (value: string[] | any[]) => void = () => { };\n constructor(private cdr: ChangeDetectorRef) { }\n\n ngAfterViewInit(): void {\n if (this.autofocus && this.input) {\n this.input.nativeElement.focus();\n }\n this.chipTemplate = this.templates.find((x) => x.type === 'chip-container')?.template;\n this.cdr.detectChanges();\n }\n\n\n writeValue(obj: string[] | any[]): void {\n this.value = obj;\n }\n\n registerOnChange(fn: (value: string[] | any[]) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n @HostListener(\"document:keydown\", [\"$event\"])\n @CheckDisabled()\n onKeydown($event: KeyboardEvent) {\n const isEnter = $event.key === 'Enter';\n const isSeparator = this.separator && $event.key === this.separator;\n const eventKeyIsTab = $event.key === 'Tab';\n if (eventKeyIsTab) {\n this.isTabEventActive = true;\n setTimeout(() => {\n this.isTabEventActive = false;\n }, 50);\n }\n const isTab = this.addOnTab && eventKeyIsTab;\n if (isEnter || isSeparator || isTab) {\n $event.preventDefault();\n this.addItem();\n }\n }\n\n onInputFocus($event: FocusEvent) {\n this.onFocus.emit($event);\n }\n\n @CheckDisabled()\n onInputLostFocus($event: FocusEvent) {\n if (!this.addOnBlur || this.isTabEventActive) {\n return;\n }\n this.addItem();\n this.onBlur.emit($event);\n }\n\n removeItem({ itemIndex, event }: { itemIndex: number, event: Event }) {\n const _removedItem = this.value[itemIndex];\n this.value.splice(itemIndex, 1)\n this.onRemove.emit({ value: _removedItem, originalEvent: event });\n }\n\n chipClicked({ event, data }: { event: Event, data: string | Object }) {\n this.onChipClick.emit({ value: data, originalEvent: event });\n }\n\n private addItem() {\n const hasValue = !!this.newItem;\n if (!hasValue) {\n return;\n }\n if (this.max && this.value.length === this.max) {\n return;\n }\n\n const validItemLength = this.maxLength ? this.newItem.length <= this.maxLength : true;\n if (!validItemLength) {\n return;\n }\n const hasField = !!this.field;\n const _mappedValues: string[] = this.field ? this.value.map((x) => x[this.field]) : this.value;\n const valueToAdd = hasField ? { [this.field]: this.newItem } : this.newItem;\n const duplicatedItem = _mappedValues.find((x) => {\n if (this.caseSensitiveDuplication) {\n return x === this.newItem;\n } else {\n return x.toLowerCase() === this.newItem.toLowerCase();\n }\n })\n let hasDuplicatedItem = false\n if (!this.allowDuplicated) {\n hasDuplicatedItem = duplicatedItem ? Boolean(duplicatedItem) : false;\n }\n if (!hasDuplicatedItem) {\n this.storeValue(valueToAdd);\n }\n this.newItem = '';\n }\n\n private storeValue(value: any) {\n this.value = [...this.value, value];\n this.onAdd.emit({ value });\n this.valueChange.emit(this.value);\n this.writeValue(this.value);\n this.onChange(this.value);\n this.onTouched(this.value);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CheckDisabled } from '../../shared/helpers';\n@Component({\n selector: 's-chip-item',\n templateUrl: './chip-item.component.html',\n styleUrls: ['./chip-item.component.scss']\n})\nexport class ChipItemComponent {\n @Input() dataRender: string | Object;\n @Input() objectField: string;\n @Input() disabled = false;\n @Input() templateRef: TemplateRef<any>\n @Input() itemIndex = -1;\n @Input() showTooltip = true;\n @Input() maxLengthRenderWithoutTooltip = 20;\n\n @Output() clickRemove = new EventEmitter<{ index: number, event: Event }>();\n @Output() chipClicked = new EventEmitter<{ event: Event, data: string | Object }>();\n\n @CheckDisabled()\n clickedRemove($event: Event) {\n this.clickRemove.emit({ index: this.itemIndex, event: $event });\n }\n @CheckDisabled()\n onChipClicked($event: Event) {\n this.chipClicked.emit({ event: $event, data: this.dataRender });\n }\n\n get _text() {\n const _text = this._rawText;\n return _text.substring(0, _text.length > this.maxLengthRenderWithoutTooltip ? this.maxLengthRenderWithoutTooltip : _text.length) + (_text.length > this.maxLengthRenderWithoutTooltip ? '...' : '');\n }\n\n get _rawText() {\n return this.objectField ? (this.dataRender as any)[this.objectField] || '' : this.dataRender || '';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ChipsComponent } from './chips/chips.component';\nimport { ChipItemComponent } from './chip-item/chip-item.component';\nimport { FormsModule } from '@angular/forms';\nimport { KeyFilterModule } from 'primeng/keyfilter';\nimport { TooltipModule } from '../tooltip/tooltip.module';\n\n\n\n@NgModule({\n declarations: [ChipsComponent, ChipItemComponent],\n imports: [\n CommonModule,\n FormsModule,\n TooltipModule,\n KeyFilterModule\n ],\n exports: [ChipsComponent]\n})\nexport class ChipsModule { }\n","import { Component, ElementRef, EventEmitter, OnDestroy, TemplateRef, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { HelpPopoverArrowPosition, HelpPopoverPosition } from '../models/help-popover.models';\n\n@Component({\n selector: 's-help-popover',\n templateUrl: './help-popover.component.html',\n styleUrls: ['./help-popover.component.scss']\n})\nexport class HelpPopoverComponent implements OnDestroy {\n private readonly VALID_POSITIONS: HelpPopoverPosition[] = ['top', 'bottom', 'left', 'right'];\n private readonly VALID_ARROW_POSITIONS: HelpPopoverArrowPosition[] = ['beginning', 'end', 'middle'];\n private _position: HelpPopoverPosition = 'bottom';\n popoverContent: string | TemplateRef<any> | null = null;\n closeButton = true;\n icon = '';\n header = '';\n footer = '';\n button = '';\n visible = false;\n @ViewChild('arrowElement', { read: ElementRef, static: true }) arrowElement: ElementRef<HTMLElement> | null = null;\n public get position(): HelpPopoverPosition {\n return this._position;\n }\n public set position(value: HelpPopoverPosition) {\n if (!this.VALID_POSITIONS.includes(value)) {\n throw new Error(`Invalid position: ${value}. Valid positions: ${this.VALID_POSITIONS}`);\n }\n this._position = value;\n }\n\n private _arrowPosition: HelpPopoverArrowPosition = 'beginning';\n public get arrowPosition(): HelpPopoverArrowPosition {\n return this._arrowPosition;\n }\n public set arrowPosition(value: HelpPopoverArrowPosition) {\n if (!this.VALID_ARROW_POSITIONS.includes(value)) {\n throw new Error(`Invalid arrow position: ${value}. Valid arrow positions: ${this.VALID_ARROW_POSITIONS}`);\n }\n this._arrowPosition = value;\n }\n\n buttonClicked!: EventEmitter<void>;\n\n closed = new Subject<void>();\n get contentIsString() {\n return typeof this.popoverContent === 'string';\n }\n\n get hasHeaderContainer() {\n const _hasHeader = this.hasHeaderText;\n const hasIcon = this.hasIcon;\n const hasCloseButton = this.closeButton;\n return _hasHeader || hasIcon || hasCloseButton;\n }\n\n get hasFooter() {\n const _hasFooterText = this.hasFooterText;\n const hasButtonText = this.button && this.button.length > 0;\n return _hasFooterText || hasButtonText;\n }\n\n get hasHeaderText() {\n return this.header && this.header.length > 0;\n }\n\n get hasFooterText() {\n return this.footer && this.footer.length > 0;\n }\n\n get hasIcon() {\n return this.icon && this.icon.length > 0;\n }\n\n close() {\n this.closed.next();\n }\n\n clickButton() {\n this.buttonClicked!.emit();\n }\n\n\n ngOnDestroy(): void {\n this.closed.complete();\n }\n}\n","import { ApplicationRef, ComponentFactoryResolver, ComponentRef, Directive, ElementRef, EventEmitter, HostListener, Injector, Input, OnDestroy, OnInit, Output, TemplateRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { ElementLeftoverPosition, ElementPosition, getElementLeftoverContentAvailable, getElementPositionInfo, isMousePositionOutsideOfElement } from '../utils';\nimport { HelpPopoverComponent } from './help-popover/help-popover.component';\nimport { HelpPopoverArrowPosition, HelpPopoverPosition } from './models/help-popover.models';\n\n@Directive({\n selector: '[sHelpPopover]',\n exportAs: 'sHelpPopover'\n})\nexport class HelpPopoverDirective implements OnDestroy, OnInit {\n private readonly MUTATION_OBSERVER_CONFIG: MutationObserverInit = { attributes: true, childList: true, subtree: true };\n private readonly OBSERVER_CALLBACK = () => {\n if (!this.componentRef) {\n return;\n }\n this.applyPositionIntoElement();\n }\n private readonly RESIZE_OBSERVER = () => {\n this.onResize$.next();\n }\n @Input() sHelpPopover: string | TemplateRef<any> | null = null;\n @Input() closeButton = true;\n @Input() popoverIcon = '';\n @Input() popoverHeader = '';\n @Input() popoverFooter = '';\n @Input() popoverButtonText = '';\n @Input() popoverArrowPosition: HelpPopoverArrowPosition = 'beginning';\n private _popoverPosition: HelpPopoverPosition = 'bottom';\n public get popoverPosition(): HelpPopoverPosition {\n return this._popoverPosition;\n }\n @Input()\n public set popoverPosition(value: HelpPopoverPosition) {\n this._popoverPosition = value;\n this.internalPosition = value;\n }\n @Output() buttonClicked = new EventEmitter<void>();\n\n private onDestroy$ = new Subject<void>();\n private componentRef: ComponentRef<HelpPopoverComponent> | null = null\n private mutationObserverPopoverElement: MutationObserver | null = null;\n private mutationObserverPopoverContent: MutationObserver | null = null;\n private internalPosition: HelpPopoverPosition = 'bottom';\n private onResize$ = new Subject<void>();\n private manualTrigger = false;\n private listener = (event: PointerEvent) => {\n const totalElementArea = this.componentRef.location.nativeElement.getBoundingClientRect();\n if (isMousePositionOutsideOfElement(event, totalElementArea)) {\n this.destroy();\n }\n }\n constructor(\n private readonly element: ElementRef<HTMLElement>,\n private readonly injector: Injector,\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly appRef: ApplicationRef,\n ) { }\n\n ngOnInit(): void {\n const popoverElementObserver = new MutationObserver(this.OBSERVER_CALLBACK);\n this.mutationObserverPopoverElement = popoverElementObserver;\n popoverElementObserver.observe(this.element.nativeElement, this.MUTATION_OBSERVER_CONFIG);\n window.addEventListener('resize', this.RESIZE_OBSERVER);\n window.addEventListener('scrollend', this.OBSERVER_CALLBACK);\n this.onResize$.pipe(takeUntil(this.onDestroy$), debounceTime(100)).subscribe(this.OBSERVER_CALLBACK)\n }\n\n show() {\n this.manualTrigger = true;\n this._createComponent();\n }\n\n @HostListener('click')\n doClick() {\n if (this.manualTrigger) {\n return;\n }\n this._createComponent();\n }\n\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n this.destroy();\n if (this.mutationObserverPopoverElement) {\n this.mutationObserverPopoverElement.disconnect();\n }\n window.removeEventListener('resize', this.RESIZE_OBSERVER);\n window.removeEventListener('scrollend', this.OBSERVER_CALLBACK);\n }\n\n private _createComponent() {\n if (!this.sHelpPopover) {\n return;\n }\n if (this.componentRef) {\n this.destroy();\n }\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(HelpPopoverComponent);\n const componentRef = componentFactory.create(this.injector);\n this.componentRef = componentRef;\n if (this.mutationObserverPopoverContent) {\n this.mutationObserverPopoverContent.disconnect();\n }\n this.mutationObserverPopoverContent = new MutationObserver(this.OBSERVER_CALLBACK);\n this.mutationObserverPopoverContent.observe((this.componentRef.location.nativeElement as HTMLElement).querySelector('.popover-content'), this.MUTATION_OBSERVER_CONFIG);\n document.body.appendChild(componentRef.location.nativeElement);\n this.appRef.attachView(componentRef.hostView);\n setTimeout(() => {\n document.addEventListener('click', this.listener);\n })\n const component = componentRef.instance;\n component.popoverContent = this.sHelpPopover;\n component.closeButton = this.closeButton;\n component.icon = this.popoverIcon;\n component.header = this.popoverHeader;\n component.footer = this.popoverFooter;\n component.button = this.popoverButtonText;\n component.position = this.internalPosition;\n component.arrowPosition = this.popoverArrowPosition;\n component.buttonClicked = this.buttonClicked;\n component.closed.pipe(takeUntil(this.onDestroy$)).subscribe(() => {\n this.destroy();\n })\n this.applyPositionIntoElement();\n }\n\n private destroy() {\n document.removeEventListener('click', this.listener);\n if (this.componentRef) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n\n this.internalPosition = this.popoverPosition;\n\n if (this.mutationObserverPopoverContent) {\n this.mutationObserverPopoverContent.disconnect();\n }\n }\n\n private applyPositionIntoElement() {\n const popoverElementPosition = getElementPositionInfo(this.element.nativeElement);\n const position = this.validPosition;\n this.internalPosition = position;\n this.popoverComponentInstance.position = this.internalPosition;\n setTimeout(() => {\n switch (this.internalPosition) {\n case 'bottom': {\n this.applyPopoverPositionBottom(popoverElementPosition);\n break;\n }\n case 'top': {\n this.applyPopoverPositionTop(popoverElementPosition);\n break;\n }\n case 'left': {\n this.applyPopoverPositionLeft(popoverElementPosition);\n break;\n }\n case 'right': {\n this.applyPopoverPositionRight(popoverElementPosition);\n break;\n }\n }\n this.popoverComponentInstance.visible = true;\n })\n\n }\n\n private applyPopoverPositionBottom(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n const leftPopover = this.getHorizontalLeft(popoverElementPosition)\n popoverElement.style.position = 'absolute';\n popoverElement.style.left = `${leftPopover}px`;\n popoverElement.style.top = `calc(${popoverElementPosition.top}px + ${popoverElementPosition.elementHeight}px)`\n }\n\n private applyPopoverPositionTop(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n const leftPopover = this.getHorizontalLeft(popoverElementPosition)\n const popoverHeight = popoverElement.getBoundingClientRect().height;\n popoverElement.style.position = 'absolute';\n popoverElement.style.left = `${leftPopover}px`;\n popoverElement.style.top = `calc(${popoverElementPosition.top}px - ${popoverHeight}px)`;\n }\n\n private applyPopoverPositionLeft(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n const popoverWidth = popoverElement.getBoundingClientRect().width;\n popoverElement.style.position = 'absolute';\n popoverElement.style.left = `calc(${popoverElementPosition.right}px - ${popoverWidth + popoverElementPosition.elementWidth}px)`;\n popoverElement.style.top = this.getVerticalTop(popoverElementPosition);\n }\n\n private applyPopoverPositionRight(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n popoverElement.style.position = 'absolute';\n popoverElement.style.left = `calc(${popoverElementPosition.right}px)`;\n popoverElement.style.top = this.getVerticalTop(popoverElementPosition);\n }\n\n private getHorizontalLeft(popoverElementPosition: ElementPosition) {\n const popoverElement = this.getPopoverElement;\n const popoverWidth = popoverElement.getBoundingClientRect().width;\n let _horizontalLeft = popoverElementPosition.left;\n if (this.popoverArrowPosition === 'end') {\n _horizontalLeft = popoverElementPosition.right - popoverWidth;\n } else if (this.popoverArrowPosition === 'middle') {\n _horizontalLeft = (popoverElementPosition.left + popoverElementPosition.elementWidth / 2) - (popoverWidth / 2);\n }\n return _horizontalLeft;\n }\n\n private getVerticalTop(popoverElementPosition: ElementPosition) {\n const arrowElementPosition = getElementPositionInfo(this.componentRef.instance.arrowElement.nativeElement);\n const popoverContentPosition = getElementPositionInfo(this.componentRef.location.nativeElement);\n const popoverElement = this.getPopoverElement;\n const popoverHeight = popoverElement.getBoundingClientRect().height;\n let top = `calc(${popoverElementPosition.top}px - ${popoverHeight / 2}px + ${popoverElementPosition.elementHeight / 2}px)`;\n\n const arrowMiddle = arrowElementPosition.elementHeight / 2;\n if (this.popoverArrowPosition === 'beginning') {\n const distanceArrowFromStart = arrowElementPosition.top - popoverContentPosition.top;\n top = `calc(${popoverElementPosition.top}px + ${popoverElementPosition.elementHeight / 2}px - ${distanceArrowFromStart + arrowMiddle}px)`;\n } else if (this.popoverArrowPosition === 'end') {\n const distanceArrowFromEnd = (popoverContentPosition.top + popoverContentPosition.elementHeight) - (arrowElementPosition.top + arrowElementPosition.elementHeight);\n top = `calc(${popoverElementPosition.top}px - ${popoverContentPosition.elementHeight}px + ${popoverElementPosition.elementHeight / 2}px + ${distanceArrowFromEnd + arrowMiddle}px)`;\n }\n return top;\n }\n\n private getLeftoverContentAvailableForPopover(): ElementLeftoverPosition {\n return getElementLeftoverContentAvailable(this.element.nativeElement);\n }\n\n private get getPopoverElement(): HTMLElement {\n return this.componentRef.location.nativeElement;\n }\n\n private get popoverComponentInstance() {\n return this.componentRef.instance;\n }\n\n /**\n * Given the current position of the popover and the available space around\n * the trigger element, this function will return the position that the popover\n * will be set at.\n *\n * If the popover will fit at the given position, it will return the same\n * position.\n *\n * If the popover will not fit at the given position, it will return the position\n * that has the most available space (top or bottom).\n *\n * If there is no position with available space, it will return the given\n * position.\n *\n * @returns The position that the popover will be set at.\n */\n private get validPosition(): HelpPopoverPosition {\n const { freeDistanceToBottom, freeDistanceToTop, freeDistanceToLeft, freeDistanceToRight } = this.getLeftoverContentAvailableForPopover();\n\n const popoverElementPosition = getElementPositionInfo(this.componentRef.location.nativeElement);\n const popoverElementWidth = popoverElementPosition.elementWidth;\n const popoverElementHeight = popoverElementPosition.elementHeight;\n\n const remainingSpaceBottom = freeDistanceToBottom - popoverElementHeight;\n const remainingSpaceTop = freeDistanceToTop - popoverElementHeight;\n const remainingSpaceLeft = freeDistanceToLeft - popoverElementWidth;\n const remainingSpaceRight = freeDistanceToRight - popoverElementWidth;\n\n const canSetAtBottom = remainingSpaceBottom > 0;\n const canSetAtTop = remainingSpaceTop > 0;\n const canSetAtLeft = remainingSpaceLeft > 0;\n const canSetAtRight = remainingSpaceRight > 0;\n\n let validPosition: HelpPopoverPosition;\n if (canSetAtBottom && this.popoverPosition === 'bottom') {\n validPosition = 'bottom';\n } else if (canSetAtTop && this.popoverPosition === 'top') {\n validPosition = 'top';\n } else if (canSetAtLeft && this.popoverPosition === 'left') {\n validPosition = 'left';\n } else if (canSetAtRight && this.popoverPosition === 'right') {\n validPosition = 'right';\n }\n\n const needUseOtherPosition = !validPosition;\n if (needUseOtherPosition) {\n const freePositions: { position: HelpPopoverPosition, freeDistance: number }[] = [\n {\n position: 'bottom' as HelpPopoverPosition,\n freeDistance: remainingSpaceBottom,\n },\n {\n position: 'top' as HelpPopoverPosition,\n freeDistance: remainingSpaceTop,\n }\n ].filter((x) => x.freeDistance > 0);\n\n if (freePositions.length === 0) {\n return this.popoverPosition;\n }\n const itemWithMaxFreeDistance = freePositions.sort((a, b) => b.freeDistance - a.freeDistance)[0];\n return itemWithMaxFreeDistance.position;\n } else {\n return this.popoverPosition;\n }\n }\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ButtonModule } from '../button/button.module';\nimport { HelpPopoverDirective } from './help-popover.directive';\nimport { HelpPopoverComponent } from './help-popover/help-popover.component';\n\n@NgModule({\n declarations: [HelpPopoverComponent, HelpPopoverDirective],\n imports: [\n CommonModule,\n ButtonModule,\n ],\n exports: [HelpPopoverDirective]\n})\nexport class HelpPopoverModule { }\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { ToastComponent } from \"./toast.component\";\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ToastComponent],\n})\nexport class ToastModule {}\n","import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from \"@angular/core\";\n\nimport { InternalTreeNodeItem, TreeNodeEdit, TreeNodeItem } from \"./Models/tree.models\";\n\n@Component({\n selector: \"s-tree\",\n templateUrl: \"./tree.component.html\",\n styleUrls: [\"./tree.component.scss\"],\n})\nexport class TreeComponent implements OnChanges {\n @Input()\n public treeData: TreeNodeItem[] = [];\n\n private _selected: TreeNodeItem[] = [];\n @Input()\n public get selected(): TreeNodeItem[] {\n return this._selected;\n }\n public set selected(value: TreeNodeItem[]) {\n if (!value) {\n value = [];\n }\n if (!Array.isArray(value)) {\n value = [value];\n }\n this._selected = value;\n }\n\n @Input()\n public loading = false;\n\n @Input()\n public selectionMode: \"single\" | \"multiple\" = \"single\";\n\n @Input()\n public showCheckbox = false;\n\n @Input()\n public allExpanded = false;\n\n @Output()\n public selectedChange: EventEmitter<TreeNodeItem[] | TreeNodeItem> = new EventEmitter();\n\n @Output()\n public treeNodeItemClicked: EventEmitter<TreeNodeItem> = new EventEmitter();\n\n @Output()\n public treeNodeEdit: EventEmitter<TreeNodeEdit> = new EventEmitter();\n\n @Output()\n public nodeExpanded: EventEmitter<TreeNodeItem> = new EventEmitter();\n\n @Output()\n public nodeCollapsed: EventEmitter<TreeNodeItem> = new EventEmitter();\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.onChanges(changes);\n }\n\n public onTreeNodeItemClicked({ item }: { item: InternalTreeNodeItem }) {\n this.treeNodeItemClicked.emit(parseInternalTreeNodeItem(item));\n this.toggleChecked(item);\n }\n\n public onTreeNodeEdit(payload: TreeNodeEdit) {\n const { revertAction, item, newValue, previousValue } = payload;\n this.treeNodeEdit.emit({\n revertAction,\n item: parseInternalTreeNodeItem(item),\n newValue,\n previousValue,\n });\n }\n\n public onNodeExpanded(item: InternalTreeNodeItem) {\n this.nodeExpanded.emit(parseInternalTreeNodeItem(item));\n }\n\n public onNodeCollapsed(item: InternalTreeNodeItem) {\n this.nodeCollapsed.emit(parseInternalTreeNodeItem(item));\n }\n\n private toggleChecked(treeNodeItem: TreeNodeItem) {\n const elementCheckState = !treeNodeItem.checked;\n if (!this.multiple) {\n flattenTree(this.treeData).forEach((x) => (x.checked = false));\n this.selected = [treeNodeItem];\n }\n treeNodeItem.checked = elementCheckState;\n if (this.multiple) {\n this.checkTreeDataChildren(treeNodeItem);\n }\n this.setSelected();\n }\n\n private checkTreeDataChildren(selectedTreeNode: TreeNodeItem) {\n const parentChecked = selectedTreeNode.checked;\n if (selectedTreeNode.children) {\n selectedTreeNode.children.forEach((item) => {\n const childrens = flattenTree(item.children || []);\n item.checked = parentChecked;\n childrens.forEach((child) => (child.checked = parentChecked));\n });\n }\n\n const getNodeChildrenSummary = (node: TreeNodeItem) => {\n const allChildrenChecked = node.children.every((y) => y.checked === true);\n const someChildrenChecked = node.children.some((y) => y.checked === true || y.checked === null);\n const allChildrenUnchecked = node.children.every((y) => y.checked === false || y.checked === undefined);\n return { allChildrenChecked, someChildrenChecked, allChildrenUnchecked };\n };\n const updateCheckedStateRecursively = (node: TreeNodeItem): void => {\n if (!node.children?.length) return;\n\n node.children.forEach(updateCheckedStateRecursively);\n\n const { allChildrenChecked, someChildrenChecked, allChildrenUnchecked } = getNodeChildrenSummary(node);\n if (allChildrenChecked) {\n node.checked = true;\n } else if (someChildrenChecked) {\n node.checked = null;\n } else if (allChildrenUnchecked) {\n node.checked = false;\n }\n };\n this.treeData.forEach(updateCheckedStateRecursively);\n }\n\n private setSelected() {\n const selected = this.selectedElements;\n this.selected = [...selected];\n this.selectedChange.emit(selected);\n }\n\n private onChanges(changes: SimpleChanges) {\n const allExpandedChanges = changes.allExpanded;\n const _checkIsFirstChangeWithValue = (value: Extract<keyof TreeComponent, 'selected' | 'treeData'>) => {\n if (!changes[value]) {\n return;\n }\n return (!changes[value].previousValue || changes[value].previousValue.length === 0) && changes[value].currentValue?.length > 0\n }\n\n if (_checkIsFirstChangeWithValue('selected')) {\n this.syncSelectedChanges();\n\n }\n\n if (_checkIsFirstChangeWithValue('treeData')) {\n const isAllExpanded = this.allExpanded;\n if (isAllExpanded) {\n this.expandAll();\n }\n }\n\n if (allExpandedChanges) {\n if (this.allExpanded) {\n this.expandAll();\n } else {\n this.collapseAll();\n }\n }\n }\n\n private syncSelectedChanges() {\n const treeFlatten = flattenTree(this.treeData);\n this.selected.forEach((selectedItem) => {\n const item = treeFlatten.find((item) => item.id === selectedItem.id);\n if (item) {\n item.checked = true;\n }\n if (item.children && this.multiple) {\n item.children.forEach((child) => {\n child.checked = true;\n const existChildInSelectedList = this.selected.some((item) => item.id === child.id);\n if (!existChildInSelectedList) {\n this.selected.push(child);\n }\n });\n }\n });\n const selectedElements = this.selectedElements;\n const selectedElementsNotInSelectedList = selectedElements.filter((x) => !this.selected.some((y) => y.id === x.id));\n selectedElementsNotInSelectedList.forEach((item) => {\n this.checkTreeDataChildren(item);\n });\n this.setSelected();\n }\n\n private collapseAll() {\n const flatten = flattenTree(this.treeData);\n flatten.forEach((item) => {\n item.isExpanded = false;\n });\n }\n\n private expandAll() {\n const flatten = flattenTree(this.treeData);\n flatten.forEach((item) => {\n item.isExpanded = true;\n });\n }\n\n private get selectedElements() {\n return flattenTree(this.treeData)\n .filter((x) => x.checked)\n .filter((x) => x.leaf !== true && !x.children?.length);\n }\n\n private get multiple() {\n return this.selectionMode === \"multiple\";\n }\n}\n\nconst flattenTree = <T = any>(tree: TreeNodeItem<T>[]): TreeNodeItem<T>[] => {\n const result: TreeNodeItem<T>[] = [];\n\n function traverse(nodes: TreeNodeItem<T>[]) {\n for (const node of nodes) {\n result.push(node);\n if (node.children && node.children.length) {\n traverse(node.children);\n }\n }\n }\n\n traverse(tree);\n return result;\n};\n\nconst parseInternalTreeNodeItem = <T = any>(internalTreeNodeItem: InternalTreeNodeItem<T>): TreeNodeItem<T> => {\n const { id, label, icon, checked, isExpanded, payload, editable, children } = internalTreeNodeItem;\n const object = {\n id,\n label,\n icon,\n checked,\n isExpanded,\n payload,\n editable,\n _children: children?.map(parseInternalTreeNodeItem),\n get children() {\n return this._children;\n },\n set children(value) {\n this._children = value;\n internalTreeNodeItem.children = value;\n },\n };\n Object.defineProperty(object, \"_children\", {\n enumerable: false,\n });\n return object as TreeNodeItem<T>;\n};\n","import {\n animate,\n query,\n stagger,\n style,\n transition,\n trigger\n} from '@angular/animations';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild\n} from '@angular/core';\nimport { InternalTreeNodeItem, TreeNodeEdit } from '../../Models/tree.models';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 's-tree-node-item',\n templateUrl: './tree-node-item.component.html',\n styleUrls: ['./tree-node-item.component.scss'],\n animations: [\n trigger('fadeExpand', [\n transition(':enter', [\n style({ height: '0px', opacity: 0, overflow: 'hidden' }),\n animate('200ms ease-out', style({ height: '*', opacity: 1 }))\n ]),\n transition(':leave', [\n animate('150ms ease-in', style({ height: '0px', opacity: 0 }))\n ])\n ]),\n trigger('childrenAnimation', [\n transition(':enter', [\n query(':enter', [\n style({ opacity: 0, transform: 'translateY(-10px)' }),\n stagger(60, [\n animate('200ms ease-out', style({ opacity: 1, transform: 'translateY(0)' }))\n ])\n ], { optional: true })\n ])\n ])\n ],\n})\nexport class TreeNodeItemComponent {\n @Input() ariaLevel = 0;\n @Input() showCheckbox = false;\n @Input() treeNodeItem!: InternalTreeNodeItem;\n @Output() treeNodeItemClicked = new EventEmitter<{ item: InternalTreeNodeItem, event: Event }>();\n @Output() treeNodeEdit = new EventEmitter<TreeNodeEdit>();\n @Output() nodeExpanded = new EventEmitter<InternalTreeNodeItem>();\n @Output() nodeCollapsed = new EventEmitter<InternalTreeNodeItem>();\n\n @ViewChild('input', { read: ElementRef }) input!: ElementRef<HTMLInputElement>;\n\n constructor(private readonly cdr: ChangeDetectorRef, private readonly translateService: TranslateService) { }\n\n get hasChildren(): boolean {\n return this.treeNodeItem.children && this.treeNodeItem.children.length > 0;\n }\n\n get editable() {\n return this.treeNodeItem?.editable || false;\n }\n\n get ariaLabel() {\n return `${this.translateService.instant('platform.angular_components.select')} ${this.treeNodeItem.label}`;\n }\n\n expandNode() {\n if (this.hasChildren && !this.treeNodeItem.isExpanded) {\n this.toggleExpanded(this.treeNodeItem);\n }\n }\n\n collapseNode() {\n if (this.hasChildren && this.treeNodeItem.isExpanded) {\n this.toggleExpanded(this.treeNodeItem);\n }\n }\n\n onCheckboxEnter(node: InternalTreeNodeItem) {\n const newState = node.checked === true ? false : true;\n node.checked = newState;\n this.treeNodeItemClicked.emit({ item: node, event: new KeyboardEvent('keydown', { key: 'Enter' }) });\n }\n\n handleTreeNodeItemClick(event: Event, treeNodeItem?: InternalTreeNodeItem) {\n const item = treeNodeItem || this.treeNodeItem;\n this.treeNodeItemClicked.emit({ item, event });\n }\n\n handleTreeNodeItemClicked({ event, item }: { event: Event, item: InternalTreeNodeItem }) {\n if (item.isEditing) {\n return;\n }\n this.handleTreeNodeItemClick(event, item);\n }\n\n toggleExpanded(treeNodeItem: InternalTreeNodeItem) {\n treeNodeItem.isExpanded = !treeNodeItem.isExpanded;\n if (treeNodeItem.isExpanded) {\n this.nodeExpanded.emit(treeNodeItem);\n } else {\n this.nodeCollapsed.emit(treeNodeItem);\n }\n }\n\n toggleEditing($event: Event) {\n $event.stopPropagation();\n this.treeNodeItem.isEditing = !this.treeNodeItem.isEditing;\n this.cdr.detectChanges();\n if (this.treeNodeItem.isEditing) {\n this.treeNodeItem.editNewValue = this.treeNodeItem.label;\n const input = this.input?.nativeElement;\n input?.focus();\n }\n }\n\n cancelEdit($event: Event) {\n $event.stopPropagation();\n this.treeNodeItem.isEditing = false;\n this.treeNodeItem.editNewValue = '';\n this.treeNodeItem.editPreviousValue = '';\n this.cdr.detectChanges();\n }\n\n\n saveEdit($event: Event) {\n $event.stopPropagation();\n this.treeNodeItem.isEditing = false;\n if (!this.treeNodeItem.editNewValue) {\n return;\n }\n\n this.treeNodeItem.editPreviousValue = this.treeNodeItem.label;\n this.treeNodeItem.label = this.treeNodeItem.editNewValue;\n\n const revertAction = () => {\n this.treeNodeItem.label = this.treeNodeItem.editPreviousValue;\n this.treeNodeItem.isEditing = false;\n this.cdr.detectChanges();\n }\n this.treeNodeEdit.emit({ revertAction, item: this.treeNodeItem, newValue: this.treeNodeItem.editNewValue, previousValue: this.treeNodeItem.editPreviousValue });\n }\n\n treeNodeEditChildEvent(payload: TreeNodeEdit) {\n this.treeNodeEdit.emit(payload);\n }\n\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { InputTextModule } from \"primeng/inputtext\";\n\nimport { LoadingStateModule } from \"../loading-state/index\";\nimport { TreeNodeItemComponent } from \"./components/tree-node-item/tree-node-item.component\";\nimport { TreeComponent } from \"./tree.component\";\n\n@NgModule({\n declarations: [TreeNodeItemComponent, TreeComponent],\n imports: [CommonModule, FormsModule, InputTextModule, LoadingStateModule, TranslateModule],\n exports: [TreeComponent],\n})\nexport class TreeModule {}\n","export const fallback: any = {\n \"platform.angular_components.attachment\": \"anexo\",\n \"platform.angular_components.watch\": \"assistir\",\n \"platform.angular_components.view\": \"visualizar\",\n \"platform.angular_components.listen\": \"ouvir\",\n \"platform.angular_components.drag_your_photo_or\": \"Arraste sua foto ou\",\n \"platform.angular_components.select_a_file\": \"selecione um arquivo\",\n \"platform.angular_components.change_photo\": \"Alterar foto\",\n \"platform.angular_components.remove_image\": \"Remover imagem\",\n \"platform.angular_components.confirmation_remove_image\": \"Deseja remover a imagem? Não pode ser revertida.\",\n \"platform.angular_components.strong\": \"Forte\",\n \"platform.angular_components.medium\": \"Média\",\n \"platform.angular_components.weak\": \"Fraca\",\n \"platform.angular_components.invalid_value\": \"Valor inválido\",\n \"platform.angular_components.insight_intro\": \"Olá! Aqui você encontrará insights valiosos a partir dos seus dados\",\n \"platform.angular_components.insight_empty\": \"Ainda não há Insights na página\",\n \"platform.angular_components.error_loading_insight_alt\": \"Não foi possível carregar o insight no momento. Por favor, verifique sua conexão com a internet e tente novamente.\",\n \"platform.angular_components.loading_insight\": \"Carregando insight valioso...\",\n \"platform.angular_components.insight_no_permission\": \"Olá! Você não possui acesso à página de insights. Entre em contato com o administrador para saber mais\",\n \"platform.angular_components.count_items_in_target\": \"{{ count }} itens em {{ target }}\",\n \"platform.angular_components.count_items_selected\": \"{{ count }} itens selecionados\",\n \"platform.angular_components.january\": \"Janeiro\",\n \"platform.angular_components.february\": \"Fevereiro\",\n \"platform.angular_components.march\": \"Março\",\n \"platform.angular_components.april\": \"Abril\",\n \"platform.angular_components.may\": \"Maio\",\n \"platform.angular_components.june\": \"Junho\",\n \"platform.angular_components.july\": \"Julho\",\n \"platform.angular_components.august\": \"Agosto\",\n \"platform.angular_components.september\": \"Setembro\",\n \"platform.angular_components.october\": \"Outubro\",\n \"platform.angular_components.november\": \"Novembro\",\n \"platform.angular_components.december\": \"Dezembro\",\n \"platform.angular_components.january_short\": \"Jan\",\n \"platform.angular_components.february_short\": \"Fev\",\n \"platform.angular_components.march_short\": \"Mar\",\n \"platform.angular_components.april_short\": \"Abr\",\n \"platform.angular_components.may_short\": \"Mai\",\n \"platform.angular_components.june_short\": \"Jun\",\n \"platform.angular_components.july_short\": \"Jul\",\n \"platform.angular_components.august_short\": \"Ago\",\n \"platform.angular_components.september_short\": \"Set\",\n \"platform.angular_components.october_short\": \"Out\",\n \"platform.angular_components.november_short\": \"Nov\",\n \"platform.angular_components.december_short\": \"Dez\",\n \"platform.angular_components.sunday\": \"Domingo\",\n \"platform.angular_components.monday\": \"Segunda-feira\",\n \"platform.angular_components.tuesday\": \"Terça-feira\",\n \"platform.angular_components.wednesday\": \"Quarta-feira\",\n \"platform.angular_components.thursday\": \"Quinta-feira\",\n \"platform.angular_components.friday\": \"Sexta-feira\",\n \"platform.angular_components.saturday\": \"Sábado\",\n \"platform.angular_components.sunday_short\": \"Dom\",\n \"platform.angular_components.monday_short\": \"Seg\",\n \"platform.angular_components.tuesday_short\": \"Ter\",\n \"platform.angular_components.wednesday_short\": \"Qua\",\n \"platform.angular_components.thursday_short\": \"Qui\",\n \"platform.angular_components.friday_short\": \"Sex\",\n \"platform.angular_components.saturday_short\": \"Sáb\",\n \"platform.angular_components.sunday_min\": \"D\",\n \"platform.angular_components.monday_min\": \"S\",\n \"platform.angular_components.tuesday_min\": \"T\",\n \"platform.angular_components.wednesday_min\": \"Q\",\n \"platform.angular_components.thursday_min\": \"Q\",\n \"platform.angular_components.friday_min\": \"S\",\n \"platform.angular_components.saturday_min\": \"S\",\n \"platform.angular_components.today\": \"Hoje\",\n \"platform.angular_components.hour_format\": \"24\",\n \"platform.angular_components.date_format\": \"dd/mm/yy\",\n \"platform.angular_components.ia_text_generator\": \"Gerador de texto por IA\",\n \"platform.angular_components.attach_files\": \"Anexar arquivos\",\n \"platform.angular_components.add_information\": \"Adicionar informação\",\n \"platform.angular_components.add\": \"Adicionar\",\n \"platform.angular_components.edit\": \"Editar\",\n \"platform.angular_components.remove\": \"Remover\",\n \"platform.angular_components.save\": \"Salvar\",\n \"platform.angular_components.file_attached_successfully\": \"Arquivo anexado com sucesso\",\n \"platform.angular_components.loading_file\": \"Carregando arquivo\",\n \"platform.angular_components.iassist_text_generator\": \"IAssist Gerador de texto\",\n \"platform.angular_components.copied_to_clipboard\": \"Copiado para área de transferência\",\n \"platform.angular_components.copy_field_content\": \"Copiar conteúdo preenchido\",\n \"platform.angular_components.generate_text\": \"Gerar texto\",\n \"platform.angular_components.context\": \"Contexto\",\n \"platform.angular_components.filters\": \"Filtros\",\n \"platform.angular_components.filter\": \"Filtrar\",\n \"platform.angular_components.clear\": \"Limpar\",\n \"platform.angular_components.cancel\": \"Cancelar\",\n \"platform.angular_components.select\": \"Selecionar\",\n \"platform.angular_components.not_informed\": \"Não informado\",\n \"platform.angular_components.advanced_search\": \"Pesquisa avançada\",\n \"platform.angular_components.no_records_found\": \"Nenhum registro encontrado\",\n \"platform.angular_components.total_record\": \"{{ count }} registro encontrado\",\n \"platform.angular_components.total_records\": \"{{ count }} registros encontrados\",\n \"platform.angular_components.total_records_selected\": \"{0} registros selecionados\",\n \"platform.angular_components.country_name_br\": \"Brasil\",\n \"platform.angular_components.country_name_us\": \"Estados Unidos\",\n \"platform.angular_components.country_name_co\": \"Colômbia\",\n \"platform.angular_components.country_name_ar\": \"Argentina\",\n \"platform.angular_components.country_name_cl\": \"Chile\",\n \"platform.angular_components.country_name_py\": \"Paraguai\",\n \"platform.angular_components.country_name_uy\": \"Uruguai\",\n \"platform.angular_components.country_name_cn\": \"China\",\n \"platform.angular_components.country_name_ca\": \"Canadá\",\n \"platform.angular_components.country_name_as\": \"Samoa Americana\",\n \"platform.angular_components.country_name_ai\": \"Anguilla\",\n \"platform.angular_components.country_name_ag\": \"Antígua e Barbuda\",\n \"platform.angular_components.country_name_bs\": \"Bahamas\",\n \"platform.angular_components.country_name_bb\": \"Barbados\",\n \"platform.angular_components.country_name_bm\": \"Bermuda\",\n \"platform.angular_components.country_name_vg\": \"Ilhas Virgens Britânicas\",\n \"platform.angular_components.country_name_ky\": \"Ilhas Cayman\",\n \"platform.angular_components.country_name_dm\": \"Dominica\",\n \"platform.angular_components.country_name_do\": \"República Dominicana\",\n \"platform.angular_components.country_name_gd\": \"Granada\",\n \"platform.angular_components.country_name_gu\": \"Guam\",\n \"platform.angular_components.country_name_jm\": \"Jamaica\",\n \"platform.angular_components.country_name_ms\": \"Montserrat\",\n \"platform.angular_components.country_name_mp\": \"Ilhas Mariana do Norte\",\n \"platform.angular_components.country_name_pr\": \"Porto Rico\",\n \"platform.angular_components.country_name_kn\": \"Saint Kitts and Nevis\",\n \"platform.angular_components.country_name_lc\": \"Saint Lucia\",\n \"platform.angular_components.country_name_vc\": \"Saint Vincent and the Grenadines\",\n \"platform.angular_components.country_name_tt\": \"Trinidad e Tobago\",\n \"platform.angular_components.country_name_tc\": \"Ilhas Turcas e Caicos\",\n \"platform.angular_components.country_name_fi\": \"Finlândia\",\n \"platform.angular_components.country_name_rs\": \"Sérvia\",\n \"platform.angular_components.country_name_zm\": \"Zâmbia\",\n \"platform.angular_components.country_name_af\": \"Afghanistão\",\n \"platform.angular_components.country_name_al\": \"Albânia\",\n \"platform.angular_components.country_name_hr\": \"Croácia\",\n \"platform.angular_components.country_name_ec\": \"Equador\",\n \"platform.angular_components.country_name_et\": \"Etiópia\",\n \"platform.angular_components.country_name_gh\": \"Gana\",\n \"platform.angular_components.country_name_gr\": \"Grécia\",\n \"platform.angular_components.country_name_ie\": \"Irlanda\",\n \"platform.angular_components.country_name_it\": \"Itália\",\n \"platform.angular_components.country_name_lr\": \"Libéria\",\n \"platform.angular_components.country_name_na\": \"Namíbia\",\n \"platform.angular_components.country_name_nz\": \"Nova Zelândia\",\n \"platform.angular_components.country_name_sa\": \"Arábia Saudita\",\n \"platform.angular_components.country_name_za\": \"África do Sul\",\n \"platform.angular_components.country_name_lk\": \"Sri Lanka\",\n \"platform.angular_components.country_name_sd\": \"Sudão\",\n \"platform.angular_components.country_name_th\": \"Tailândia\",\n \"platform.angular_components.country_name_ua\": \"Ucrânia\",\n \"platform.angular_components.country_name_ae\": \"Emirados Árabes Unidos\",\n \"platform.angular_components.country_name_va\": \"Vaticano\",\n \"platform.angular_components.country_name_zw\": \"Zimbábue\",\n \"platform.angular_components.country_name_dz\": \"Argélia\",\n \"platform.angular_components.country_name_be\": \"Bélgica\",\n \"platform.angular_components.country_name_yt\": \"Mayotte\",\n \"platform.angular_components.country_name_bl\": \"Saint Barthelemy\",\n \"platform.angular_components.country_name_mf\": \"Saint Martin\",\n \"platform.angular_components.country_name_ad\": \"Andora\",\n \"platform.angular_components.country_name_ao\": \"Angola\",\n \"platform.angular_components.country_name_ba\": \"Bósnia e Herzegovina\",\n \"platform.angular_components.country_name_bg\": \"Bulgária\",\n \"platform.angular_components.country_name_kh\": \"Camboja\",\n \"platform.angular_components.country_name_cz\": \"República Checa\",\n \"platform.angular_components.country_name_gq\": \"Guiné Equatorial\",\n \"platform.angular_components.country_name_gw\": \"Guiné-Bissau\",\n \"platform.angular_components.country_name_li\": \"Liechtenstein\",\n \"platform.angular_components.country_name_lu\": \"Luxemburgo\",\n \"platform.angular_components.country_name_mk\": \"Macedónia\",\n \"platform.angular_components.country_name_me\": \"Montenegro\",\n \"platform.angular_components.country_name_pe\": \"Peru\",\n \"platform.angular_components.country_name_pl\": \"Polónia\",\n \"platform.angular_components.country_name_pt\": \"Portugal\",\n \"platform.angular_components.country_name_si\": \"Slovenia\",\n \"platform.angular_components.country_name_am\": \"Arménia\",\n \"platform.angular_components.country_name_aw\": \"Aruba\",\n \"platform.angular_components.country_name_bn\": \"Brunei\",\n \"platform.angular_components.country_name_fj\": \"Fiji\",\n \"platform.angular_components.country_name_gm\": \"Gâmbia\",\n \"platform.angular_components.country_name_gy\": \"Guiana\",\n \"platform.angular_components.country_name_is\": \"Islândia\",\n \"platform.angular_components.country_name_fm\": \"Micronésia\",\n \"platform.angular_components.country_name_nr\": \"Nauru\",\n \"platform.angular_components.country_name_nu\": \"Niue\",\n \"platform.angular_components.country_name_pw\": \"Palau\",\n \"platform.angular_components.country_name_st\": \"Sao Tome e Principe\",\n \"platform.angular_components.country_name_to\": \"Tonga\",\n \"platform.angular_components.country_name_vu\": \"Vanuatu\",\n \"platform.angular_components.country_name_fk\": \"Ilhas Falkland (Malvinas)\",\n \"platform.angular_components.country_name_fo\": \"Ilhas Feroé\",\n \"platform.angular_components.country_name_sh\": \"Saint Helena\",\n \"platform.angular_components.country_name_au\": \"Austrália\",\n \"platform.angular_components.country_name_cx\": \"Christmas Island\",\n \"platform.angular_components.country_name_cc\": \"Ilhas Cocos (Keeling)\",\n \"platform.angular_components.country_name_cd\": \"República Democrática do Congo\",\n \"platform.angular_components.country_name_kg\": \"Quirguistão\",\n \"platform.angular_components.country_name_ro\": \"Roménia\",\n \"platform.angular_components.country_name_rw\": \"Ruanda\",\n \"platform.angular_components.country_name_sk\": \"Slovakia\",\n \"platform.angular_components.country_name_sy\": \"Syria\",\n \"platform.angular_components.country_name_tw\": \"Taiwan\",\n \"platform.angular_components.country_name_tz\": \"Tanzânia\",\n \"platform.angular_components.country_name_ye\": \"Iémen (Iémen, Yemen)\",\n \"platform.angular_components.country_name_at\": \"Áustria\",\n \"platform.angular_components.country_name_ke\": \"Quénia (Kenya)\",\n \"platform.angular_components.country_name_ug\": \"Uganda\",\n \"platform.angular_components.country_name_az\": \"Azerbaijão\",\n \"platform.angular_components.country_name_ch\": \"Suiça\",\n \"platform.angular_components.country_name_vn\": \"Vietnã (Vietname)\",\n \"platform.angular_components.country_name_bh\": \"Bahrein\",\n \"platform.angular_components.country_name_cr\": \"Costa Rica\",\n \"platform.angular_components.country_name_sv\": \"El Salvador\",\n \"platform.angular_components.country_name_ee\": \"Estónia\",\n \"platform.angular_components.country_name_sz\": \"Suazilândia\",\n \"platform.angular_components.country_name_gt\": \"Guatemala\",\n \"platform.angular_components.country_name_hk\": \"Hong Kong\",\n \"platform.angular_components.country_name_ls\": \"Lesoto\",\n \"platform.angular_components.country_name_mo\": \"Macau\",\n \"platform.angular_components.country_name_mt\": \"Malta\",\n \"platform.angular_components.country_name_mu\": \"Maurícia\",\n \"platform.angular_components.country_name_mn\": \"Mongólia\",\n \"platform.angular_components.country_name_ni\": \"Nicaragua\",\n \"platform.angular_components.country_name_om\": \"Omã\",\n \"platform.angular_components.country_name_pg\": \"Papua-Nova Guiné\",\n \"platform.angular_components.country_name_qa\": \"Catar\",\n \"platform.angular_components.country_name_sg\": \"Cingapura\",\n \"platform.angular_components.country_name_tl\": \"Timor-Leste\",\n \"platform.angular_components.country_name_bd\": \"Bangladesh\",\n \"platform.angular_components.country_name_im\": \"Ilha de Man\",\n \"platform.angular_components.country_name_by\": \"Bielorrússia\",\n \"platform.angular_components.country_name_bz\": \"Belize\",\n \"platform.angular_components.country_name_mv\": \"Maldivas\",\n \"platform.angular_components.country_name_mh\": \"Ilhas Marshall\",\n \"platform.angular_components.country_name_sr\": \"Suriname\",\n \"platform.angular_components.country_name_bj\": \"Benim\",\n \"platform.angular_components.country_name_bt\": \"Butão\",\n \"platform.angular_components.country_name_bf\": \"Burkina Faso\",\n \"platform.angular_components.country_name_bi\": \"Burundi\",\n \"platform.angular_components.country_name_cf\": \"República Centro-Africana\",\n \"platform.angular_components.country_name_td\": \"Chad\",\n \"platform.angular_components.country_name_ci\": \"Costa do Marfim\",\n \"platform.angular_components.country_name_dk\": \"Dinamarca\",\n \"platform.angular_components.country_name_dj\": \"Djibouti\",\n \"platform.angular_components.country_name_fr\": \"França\",\n \"platform.angular_components.country_name_pf\": \"Polinésia Francesa\",\n \"platform.angular_components.country_name_ga\": \"Gabão\",\n \"platform.angular_components.country_name_ml\": \"Mali\",\n \"platform.angular_components.country_name_mr\": \"Mauritânia\",\n \"platform.angular_components.country_name_ne\": \"Níger\",\n \"platform.angular_components.country_name_sm\": \"San Marino\",\n \"platform.angular_components.country_name_tg\": \"Togo\",\n \"platform.angular_components.country_name_bo\": \"Bolívia\",\n \"platform.angular_components.country_name_gi\": \"Gibraltar\",\n \"platform.angular_components.country_name_ki\": \"Kiribati\",\n \"platform.angular_components.country_name_tv\": \"Tuvalu\",\n \"platform.angular_components.country_name_bw\": \"Botswana\",\n \"platform.angular_components.country_name_er\": \"Eritreia\",\n \"platform.angular_components.country_name_lv\": \"Letônia\",\n \"platform.angular_components.country_name_lb\": \"Líbano\",\n \"platform.angular_components.country_name_tn\": \"Tunísia\",\n \"platform.angular_components.country_name_cm\": \"Camarões\",\n \"platform.angular_components.country_name_cv\": \"Cabo Verde\",\n \"platform.angular_components.country_name_km\": \"Comores\",\n \"platform.angular_components.country_name_pm\": \"Saint Pierre and Miquelon\",\n \"platform.angular_components.country_name_cg\": \"República do Congo\",\n \"platform.angular_components.country_name_mz\": \"Moçambique\",\n \"platform.angular_components.country_name_mm\": \"Myanmar (Burma)\",\n \"platform.angular_components.country_name_ck\": \"Ilhas Cook\",\n \"platform.angular_components.country_name_cu\": \"Cuba\",\n \"platform.angular_components.country_name_cy\": \"Chipre\",\n \"platform.angular_components.country_name_eg\": \"Egito\",\n \"platform.angular_components.country_name_ir\": \"Irã\",\n \"platform.angular_components.country_name_iq\": \"Iraque\",\n \"platform.angular_components.country_name_ng\": \"Nigéria\",\n \"platform.angular_components.country_name_kp\": \"Coreia do Norte\",\n \"platform.angular_components.country_name_ph\": \"Filipinas\",\n \"platform.angular_components.country_name_ge\": \"Geórgia\",\n \"platform.angular_components.country_name_gn\": \"Guiné\",\n \"platform.angular_components.country_name_es\": \"Espanha\",\n \"platform.angular_components.country_name_de\": \"Alemanha\",\n \"platform.angular_components.country_name_gl\": \"Groelândia\",\n \"platform.angular_components.country_name_wf\": \"Wallis e Futuna\",\n \"platform.angular_components.country_name_ht\": \"Haiti\",\n \"platform.angular_components.country_name_hn\": \"Honduras\",\n \"platform.angular_components.country_name_pa\": \"Panamá\",\n \"platform.angular_components.country_name_hu\": \"Hungria\",\n \"platform.angular_components.country_name_in\": \"India\",\n \"platform.angular_components.country_name_id\": \"Indonésia\",\n \"platform.angular_components.country_name_il\": \"Israel\",\n \"platform.angular_components.country_name_jp\": \"Japão\",\n \"platform.angular_components.country_name_jo\": \"Jordânia\",\n \"platform.angular_components.country_name_kz\": \"Cazaquistão\",\n \"platform.angular_components.country_name_kw\": \"Kuwait\",\n \"platform.angular_components.country_name_la\": \"Laos\",\n \"platform.angular_components.country_name_ly\": \"Líbia\",\n \"platform.angular_components.country_name_lt\": \"Lituânia\",\n \"platform.angular_components.country_name_np\": \"Nepal\",\n \"platform.angular_components.country_name_mg\": \"Madagáscar\",\n \"platform.angular_components.country_name_mw\": \"Malawi\",\n \"platform.angular_components.country_name_my\": \"Malásia\",\n \"platform.angular_components.country_name_mx\": \"México\",\n \"platform.angular_components.country_name_md\": \"Moldávia\",\n \"platform.angular_components.country_name_mc\": \"Monaco\",\n \"platform.angular_components.country_name_ma\": \"Marrocos\",\n \"platform.angular_components.country_name_nl\": \"Países Baixos\",\n \"platform.angular_components.country_name_nc\": \"Nova Caledônia\",\n \"platform.angular_components.country_name_no\": \"Noruega\",\n \"platform.angular_components.country_name_pk\": \"Paquistão\",\n \"platform.angular_components.country_name_ru\": \"Rússia\",\n \"platform.angular_components.country_name_ws\": \"Samoa\",\n \"platform.angular_components.country_name_sb\": \"Ilhas Salomão\",\n \"platform.angular_components.country_name_sn\": \"Senegal\",\n \"platform.angular_components.country_name_sc\": \"Seychelles\",\n \"platform.angular_components.country_name_sl\": \"Serra Leoa\",\n \"platform.angular_components.country_name_so\": \"Somalia\",\n \"platform.angular_components.country_name_kr\": \"Coreia do Sul\",\n \"platform.angular_components.country_name_se\": \"Suécia\",\n \"platform.angular_components.country_name_tj\": \"Tajiquistão\",\n \"platform.angular_components.country_name_tk\": \"Tokelau\",\n \"platform.angular_components.country_name_tr\": \"Turquia\",\n \"platform.angular_components.country_name_tm\": \"Turquemenistão\",\n \"platform.angular_components.country_name_uz\": \"Uzbequistão\",\n \"platform.angular_components.country_name_ve\": \"Venezuela\",\n \"platform.angular_components.date_modified_custom_blob\": \"Enviado às {{hour}}:{{minutes}} de {{day}}/{{month}}/{{fullYear}}\",\n \"platform.angular_components.available-items\": \"Itens disponíveis\",\n \"platform.angular_components.selected-items\": \"Itens selecionados\",\n \"platform.angular_components.picklist-placeholder\": \"Busque pelo nome ou termo\",\n \"platform.angular_components.add_all\": \"Adicionar todos\",\n \"platform.angular_components.remove_all\": \"Remover todos\",\n \"platform.angular_components.country_name_gb\": \"Reino Unido\",\n \"platform.angular_components.insight_footer\": \"Conteúdo gerado por inteligência artificial. Sujeito a imprecisões.\",\n \"platform.angular_components.text_area_speech_recognition_placeholder\": \"Preencha o campo com, pelo menos, uma frase\",\n \"platform.angular_components.text_area_before_speech\": \"Grave ou ouça o texto clicando nos ícones\",\n \"platform.angular_components.text_area_while_speech\": \"Clique novamente no ícone para finalizar\",\n \"platform.angular_components.text_area_end_speech\": \"Gravação finalizada\",\n \"platform.angular_components.no_microphone_permission\": \"O acesso ao microfone está bloqueado. Ative a permissão nas configurações do navegador para continuar usando este recurso.\"\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ChatMessageComponent as ɵo} from './components/chat/components/chat-message/chat-message.component';\nexport {ChipItemComponent as ɵeh} from './components/chips/chip-item/chip-item.component';\nexport {CodeEditorComponent as ɵq} from './components/code-editor/code-editor.component';\nexport {CoreFacade as ɵr} from './components/code-editor/core/facades/core-facade';\nexport {CodeMirror6Core as ɵs} from './components/code-editor/infra/cores/codemirror-6/codemirror-6-core';\nexport {CustomTranslationsModule as ɵp} from './components/code-editor/infra/utils/custom-translations/custom-translations.module';\nexport {CountryPhonePickerService as ɵt} from './components/country-phone-picker/country-phone-picker.service';\nexport {DynamicFieldComponent as ɵcf} from './components/dynamic-form/components/dynamic-field/dynamic-field.component';\nexport {FieldLabelComponent as ɵbe} from './components/dynamic-form/components/field-label/field-label.component';\nexport {FieldLabelModule as ɵbd} from './components/dynamic-form/components/field-label/field-label.module';\nexport {AutocompleteFieldComponent as ɵbz} from './components/dynamic-form/components/fields/autocomplete/autocomplete-field.component';\nexport {BignumberFieldComponent as ɵbn} from './components/dynamic-form/components/fields/bignumber/bignumber-field.component';\nexport {BignumberFieldModule as ɵbm} from './components/dynamic-form/components/fields/bignumber/bignumber-field.module';\nexport {BooleanFieldComponent as ɵca} from './components/dynamic-form/components/fields/boolean/boolean-field.component';\nexport {BooleanSwitchFieldComponent as ɵcb} from './components/dynamic-form/components/fields/boolean/boolean-switch-field.component';\nexport {ButtonFieldComponent as ɵcs} from './components/dynamic-form/components/fields/button-field/button-field.component';\nexport {CalendarFieldComponent as ɵcc} from './components/dynamic-form/components/fields/calendar/calendar-field.component';\nexport {CheckboxFieldComponent as ɵbp} from './components/dynamic-form/components/fields/checkbox/checkbox-field.component';\nexport {CheckboxFieldModule as ɵbo} from './components/dynamic-form/components/fields/checkbox/checkbox-field.module';\nexport {ChipsFieldComponent as ɵcd} from './components/dynamic-form/components/fields/chips/chips-field.component';\nexport {CountryPhonePickerFieldComponent as ɵce} from './components/dynamic-form/components/fields/country-phone-picker/country-phone-picker-field.component';\nexport {CurrencyFieldComponent as ɵbl} from './components/dynamic-form/components/fields/currency/currency-field.component';\nexport {CurrencyFieldModule as ɵbk} from './components/dynamic-form/components/fields/currency/currency-field.module';\nexport {EditorFieldComponent as ɵbu} from './components/dynamic-form/components/fields/editor/editor-field.component';\nexport {EditorFieldModule as ɵbt} from './components/dynamic-form/components/fields/editor/editor-field.module';\nexport {FileUploadComponent as ɵci} from './components/dynamic-form/components/fields/file-upload/file-upload.component';\nexport {LookupFieldComponent as ɵcj} from './components/dynamic-form/components/fields/lookup/lookup-field.component';\nexport {NumberFieldComponent as ɵbj} from './components/dynamic-form/components/fields/number/number-field.component';\nexport {NumberFieldModule as ɵbi} from './components/dynamic-form/components/fields/number/number-field.module';\nexport {PasswordFieldComponent as ɵbf} from './components/dynamic-form/components/fields/password/password-field.component';\nexport {PasswordFieldModule as ɵbc} from './components/dynamic-form/components/fields/password/password-field.module';\nexport {ProfilePictureFieldComponent as ɵbs} from './components/dynamic-form/components/fields/profile-picture/profile-picture-field.component';\nexport {ProfilePictureModule as ɵbq} from './components/dynamic-form/components/fields/profile-picture/profile-picture-field.module';\nexport {RadioButtonComponent as ɵck} from './components/dynamic-form/components/fields/radio-button/radio-button-field.component';\nexport {SelectFieldComponent as ɵcn} from './components/dynamic-form/components/fields/select/select-field.component';\nexport {SliderFieldComponent as ɵco} from './components/dynamic-form/components/fields/slider/slider-field.component';\nexport {TextAreaIAFieldComponent as ɵcq} from './components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component';\nexport {TextAreaFieldComponent as ɵcp} from './components/dynamic-form/components/fields/text-area/text-area-field.component';\nexport {TextFieldComponent as ɵbh} from './components/dynamic-form/components/fields/text/text-field.component';\nexport {TextFieldModule as ɵbg} from './components/dynamic-form/components/fields/text/text-field.module';\nexport {RowComponent as ɵcl} from './components/dynamic-form/components/grid/row/row.component';\nexport {FieldsetComponent as ɵch} from './components/dynamic-form/components/structure/fieldset/fieldset.component';\nexport {SectionComponent as ɵcm} from './components/dynamic-form/components/structure/section/section.component';\nexport {DecimalField as ɵcu,DecimalFieldConfig as ɵct} from './components/dynamic-form/configurations/fields/decimal-field';\nexport {DynamicFormDirective as ɵcg} from './components/dynamic-form/dynamic-form.directive';\nexport {IAssistService as ɵcr} from './components/dynamic-form/services/IAssist/iassist.service';\nexport {EmptyStateGoBackComponent as ɵu} from './components/empty-state/go-back/go-back.component';\nexport {FileUploadService as ɵz} from './components/file-upload/file-upload.service';\nexport {SideTableComponent as ɵcv} from './components/gantt/components/side-table/side-table.component';\nexport {GridMenuItemComponent as ɵdb} from './components/grid-menu/components/grid-menu-item/grid-menu-item.component';\nexport {IAInsightCardLoaderComponent as ɵda} from './components/ia-insight/components/ia-insight-card/components/ia-insight-card-loader/ia-insight-card-loader.component';\nexport {IAInsightCardComponent as ɵcz} from './components/ia-insight/components/ia-insight-card/ia-insight-card.component';\nexport {IAInsightSidebarComponent as ɵcy} from './components/ia-insight/components/ia-insight-sidebar/ia-insight-sidebar.component';\nexport {InfiniteScrollDirective as ɵcx} from './components/infinite-scroll/infinite-scroll.directive';\nexport {InfiniteScrollModule as ɵcw} from './components/infinite-scroll/infinite-scroll.module';\nexport {InfoSignComponent as ɵc} from './components/info-sign/info-sign.component';\nexport {InlineEditCalendarComponent as ɵdd} from './components/inline-edit/components/fields/inline-edit-calendar/inline-edit-calendar.component';\nexport {InlineEditLookupComponent as ɵde} from './components/inline-edit/components/fields/inline-edit-lookup/inline-edit-lookup.component';\nexport {InlineEditNumberComponent as ɵdf} from './components/inline-edit/components/fields/inline-edit-number/inline-edit-number.component';\nexport {InlineEditTextAreaIAComponent as ɵdi} from './components/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component';\nexport {InlineEditTextAreaComponent as ɵdh} from './components/inline-edit/components/fields/inline-edit-text-area/inline-edit-text-area.component';\nexport {InlineEditTextComponent as ɵdg} from './components/inline-edit/components/fields/inline-edit-text/inline-edit-text.component';\nexport {InlineEditItemComponent as ɵdc} from './components/inline-edit/components/inline-edit-item/inline-edit-item.component';\nexport {KanbanColumnComponent as ɵdl} from './components/kanban/components/kanban-column/kanban-column.component';\nexport {KanbanItemDraggingComponent as ɵdm} from './components/kanban/components/kanban-item-dragging/kanban-item-dragging.component';\nexport {KanbanItemComponent as ɵdk} from './components/kanban/components/kanban-item/kanban-item.component';\nexport {KanbanEventService as ɵdj} from './components/kanban/kanban-event.service';\nexport {DotsIndicatorComponent as ɵx} from './components/loading-state/components/dots-indicator/dots-indicator.components';\nexport {LoadingIndicatorComponent as ɵy} from './components/loading-state/components/logo-indicator/logo-indicator.component';\nexport {NumberLocaleOptions as ɵdn} from './components/locale/options';\nexport {LocalizedBignumberImpurePipe as ɵm} from './components/locale/pipes/localized-bignumber-impure.pipe';\nexport {LocalizedBignumberPipe as ɵl} from './components/locale/pipes/localized-bignumber.pipe';\nexport {LocalizedCurrencyImpurePipe as ɵk} from './components/locale/pipes/localized-currency-impure.pipe';\nexport {NumericPipe as ɵn} from './components/locale/pipes/numeric.pipe';\nexport {ProgressBarDeterminateComponent as ɵdq} from './components/progressbar/components/progressbar-determinate/progressbar-determinate.component';\nexport {ProgressBarIndeterminateComponent as ɵdr} from './components/progressbar/components/progressbar-indeterminate/progressbar-indeterminate.component';\nexport {SelectButtonItemComponent as ɵds} from './components/select-button/components/select-button-item/select-button-item.component';\nexport {BorderButtonComponent as ɵdp} from './components/shared/border-button/border-button.component';\nexport {BorderButtonModule as ɵdo} from './components/shared/border-button/border-button.module';\nexport {SlidePanelService as ɵdt} from './components/slide-panel/slide-panel.service';\nexport {SpeechRecognitionModule as ɵbv} from './components/speech-recognition/speech-recognition.module';\nexport {SpeechRecognitionService as ɵbx} from './components/speech-recognition/speech-recognition.service';\nexport {SpeechRecognitionComponent as ɵbw} from './components/speech-recognition/speech-recognition/speech-recognition.component';\nexport {TextToSpeechService as ɵby} from './components/speech-recognition/text-to-speech.service';\nexport {TableColumnsComponent as ɵba} from './components/table/table-column/table-columns.component';\nexport {TablePagingComponent as ɵbb} from './components/table/table-paging/table-paging.component';\nexport {ThumbnailService as ɵbr} from './components/thumbnail/thumbnail.service';\nexport {ThumbnailItemImageComponent as ɵdw} from './components/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component';\nexport {ThumbnailItemVideoComponent as ɵdv} from './components/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component';\nexport {ThumbnailItemComponent as ɵdu} from './components/thumbnails/components/thumbnail-item/thumbnail-item.component';\nexport {TieredMenuDividerComponent as ɵj} from './components/tiered-menu/components/tiered-menu-divider/tiered-menu-divider.component';\nexport {TieredMenuItemComponent as ɵi} from './components/tiered-menu/components/tiered-menu-item/tiered-menu-item.component';\nexport {TieredMenuNestedComponent as ɵh} from './components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component';\nexport {TieredMenuComponent as ɵg} from './components/tiered-menu/components/tiered-menu/tiered-menu.component';\nexport {TieredMenuEventService as ɵd} from './components/tiered-menu/services/tiered-menu.event.service';\nexport {TieredMenuGlobalService as ɵf} from './components/tiered-menu/services/tiered-menu.global.service';\nexport {TieredMenuService as ɵe} from './components/tiered-menu/services/tiered-menu.service';\nexport {HorizontalTimelineComponent as ɵea} from './components/timeline/components/horizontal-timeline/horizontal-timeline.component';\nexport {HorizontalTimelineModule as ɵdz} from './components/timeline/components/horizontal-timeline/horizontal-timeline.module';\nexport {TimelineIconItemComponent as ɵdy} from './components/timeline/components/timeline-icon-item/timeline-icon-item.component';\nexport {TimelineItemModule as ɵdx} from './components/timeline/components/timeline-icon-item/timeline-icon-item.module';\nexport {CollapseOptionComponent as ɵee} from './components/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component';\nexport {CollapsedItemsComponent as ɵef} from './components/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component';\nexport {RangeLineComponent as ɵed} from './components/timeline/components/vertical-timeline/components/range-line/range-line.component';\nexport {VerticalItemsComponent as ɵeg} from './components/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component';\nexport {VerticalTimelineComponent as ɵec} from './components/timeline/components/vertical-timeline/vertical-timeline.component';\nexport {VerticalTimelineModule as ɵeb} from './components/timeline/components/vertical-timeline/vertical-timeline.module';\nexport {TooltipComponent as ɵa} from './components/tooltip/tooltip.component';\nexport {TooltipDirective as ɵb} from './components/tooltip/tooltip.directive';\nexport {TreeNodeItemComponent as ɵei} from './components/tree/components/tree-node-item/tree-node-item.component';\nexport {IAssistIconComponent as ɵv} from './utils/svg-factory/components/iassist-icon/iassist-icon.component';\nexport {SeniorIconComponent as ɵw} from './utils/svg-factory/components/senior-icon/senior-icon.component';"],"names":["style","moment","PrimeBreadcrumbModule","PrimengTieredMenu","CurrencyMaskDirective","TooltipModule","ProgressBarModule","FileUploadComponent","FieldsetComponent","CheckboxModule","ChipsModule","PanelModule","PrimeButtonModule","PrimeNGTableModule","SliderModule","TieredMenuModule","PrimeSidebar","BigNumber"],"mappings":"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AK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;YACjC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;YAC/B,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YAChC,GAAG,EAAE,EAAE,SAAS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"}