@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,"sources":["../../node_modules/tslib/tslib.es6.js","ng://@seniorsistemas/angular-components/components/tooltip/models/tooltip-position.ts","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/mobile-behavior.ts","ng://@seniorsistemas/angular-components/components/tooltip/models/tooltip-event.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/badge/models/badge-colors.ts","ng://@seniorsistemas/angular-components/components/badge/models/badge-types.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/button/models/button-priority.ts","ng://@seniorsistemas/angular-components/components/button/models/button-size.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/card/models/card-template-types.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/code-editor/models/enums/languages.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/themes.ts","ng://@seniorsistemas/angular-components/components/code-editor/core/use-cases/core-linters.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/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/base-configs.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/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/core/models/enums/marker-severity.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/infra/cores/codemirror-6/utils/convert-markers-to-diagnostics.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.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/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/tax-calculation-language-configs.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/utils/is-current-position-inside-string.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/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-highlight-style.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/sds-light-theme.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/extensions/scrollbars.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/editor-themes.ts","ng://@seniorsistemas/angular-components/components/country-phone-picker/models/ordination.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/dynamic-form/configurations/field-type.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-size.ts","ng://@seniorsistemas/angular-components/components/number-input/number-input.directive.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/dynamic-form/configurations/dynamic-type.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/structure-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/file-upload/models/validate-errors.ts","ng://@seniorsistemas/angular-components/components/file-upload/models/file-upload-permissions.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/utils/svg-factory/components/svg-factory-icons.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/components/loading-state/components/loading-state-indicators.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/password-strength/models/password-strengths.ts","ng://@seniorsistemas/angular-components/components/password-strength/models/password-positions.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/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/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/table-columns.component.ts","ng://@seniorsistemas/angular-components/components/thumbnail/thumbnail-size.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/profile-picture-picker/models/file-validation-errors.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/custom-fields/models/custom-field-type.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/custom-fields.component.ts","ng://@seniorsistemas/angular-components/components/gantt/models/view-mode.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/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/global-search/global-search-size.enum.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/ia-insight/models/ia-insight-template-types.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/kanban/models/kanban-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/shared/models/enum-severity.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/progressbar/models/progressbar-colors.ts","ng://@seniorsistemas/angular-components/components/progressbar/models/progressbar-mode.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/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/split-button/models/split-button-type.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/steps/steps.component.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/timeline/models/timeline-item-severity.ts","ng://@seniorsistemas/angular-components/components/timeline/models/timeline-item-size.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.ts","ng://@seniorsistemas/angular-components/components/picklist/picklist/models/picklist-models.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/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"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","__values","o","m","__read","ar","error","__spread","concat","TooltipPosition","AccordionPanelComponent","disabled","cache","validationMessageIcon","validationMessageIconColor","panelOpened","EventEmitter","panelClosed","isAnimating","isContentAnimationDisabled","_isOpen","isOpen","ngOnChanges","changes","switchControl","currentValue","disable","emitEvent","enable","Error","ngAfterViewInit","_this","queueMicrotask","onIconButtonsClick","event","callback","stopPropagation","onTabClick","onContentAnimationStart","onContentAnimationDone","emit","Input","Output","Component","selector","template","animations","trigger","transition","style","height","animate","state","AccordionComponent","multiple","unsubscribe$","Subject","panels","ngOnInit","validateInputs","ngAfterContentInit","panelsComponents","toArray","openSubs","setBehavior","setupTabs","ngOnDestroy","complete","isArray","activeIndex","_b","undefined","activeTabs","filter","index","includes","activeTabs_1","activeTabs_1_1","activeTab","closeOtherTabs","exception","forEach","panel","enableMultiplePanelBehavior","enableSinglePanelBehavior","pipe","takeUntil","subscribe","unsubscribe","ContentChildren","SwitchComponent","readonly","valueChanged","onFocusIn","switchRef","nativeElement","classList","add","onFocusOut","remove","writeValue","registerOnChange","onChange","_onChange","registerOnTouched","onTouched","_onTouched","setDisabledState","toggleCheck","ViewChild","static","HostListener","SwitchComponent_1","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","SwitchModule","NgModule","imports","CommonModule","declarations","exports","MobileBehavior","TooltipEvent","TooltipComponent","tooltip","position","Top","left","top","visible","escape","DebounceUtils","debounce","func","timeout","timer","args","_i","clearTimeout","setTimeout","debounceLeading","Injectable","providedIn","isNullOrUndefined","isMousePositionOutsideOfElement","elementArea","eventX","clientX","eventY","clientY","right","bottom","getElementPositionInfo","element","rect","getBoundingClientRect","scrollTop","window","scrollY","document","documentElement","scrollLeft","scrollX","elementHeight","elementWidth","width","elementVerticalCenter","elementHorizontalCenter","getElementLeftoverContentAvailable","windowWidth","innerWidth","popoverElementTriggerRect","freeDistanceToBottom","innerHeight","freeDistanceToTop","freeDistanceToLeft","freeDistanceToRight","deepClone","obj","structuredClone","JSON","parse","stringify","BadgeColors","BadgeTypes","TooltipDirective","elementRef","appRef","componentFactoryResolver","injector","debounceUtils","renderer","showDelay","tooltipEvent","Hover","mobileBehavior","Pressing","componentRef","tooltipCreatedByFocus","debounceCreateTooltipFunction","_createTooltip","validatePosition","updateTooltipVisibilityWhenFocusOnInput","destroy","focusedInputRef","inputFocus","icon_1","getIconFromFocusedInput","listen","removeTooltip","icon","querySelector","onClick","navigator","userAgent","match","onFocus","Focus","onBlur","onMouseEnter","onMouseLeave","onTouchStart","touchTimeout","_delay","onTouchEnd","Right","Bottom","Left","getDomElement","componentFactory","resolveComponentFactory","attachView","hostView","rootNodes","useShowDelay","autoDestroy","hasText","_a","hasComponentRef","domElement","appendChild","tooltipDivElement","setTooltipComponentProperties","_showDelay","showTooltip","setTooltipPositionProperty","displayTime","instance","tooltipElementPosition","elementLeftover","elementTriggerPosition","distanceToBorders","canSetAtTop","canSetAtLeft","canSetAtRight","canSetAtBottom","topVertical","positions","pos","check","set","positionDefined","find","validPosition","canUseDefinedPosition","validAlternativePosition","_position","positionLeft","positionTop","Math","round","showTimeout","detachView","ElementRef","ApplicationRef","ComponentFactoryResolver","Injector","Renderer2","Directive","TooltipModule","AccordionModule","FormsModule","ReactiveFormsModule","AlertComponent","severity","closable","close","closeAlert","showAlert","onClose","AlertModule","ButtonPriority","ButtonSize","BadgeComponent","selectable","selected","text","_setDefaultValues","type","Pill","color","Blue","iconPosition","_c","InfoSignComponent","InfoSignDirective","templateRef","viewContainer","useFocusedInputRef","createInfoSign","sInfoSign","clear","createComponent","_infoSignComponent","createEmbeddedView","TemplateRef","ViewContainerRef","InfoSignModule","entryComponents","BadgeModule","RouterModule","config","hourFormat","dateFormat","firstDayOfWeek","today","dayNames","dayNamesShort","dayNamesMin","monthNamesShort","monthNames","keys","thousandsSeparator","decimalSeparator","currencySymbol","calendar","CalendarLocaleOptions","number","NumberLocaleOptions","DEFAULT_CALENDAR_LOCALE_OPTIONS","DEFAULT_NUMBER_LOCALE_OPTIONS","DEFAULT_LOCALE_OPTIONS","LocaleOptions","moment","moment_","LocaleService","http","cookieService","localeOptionsAddress","localeOptionsVersion","get","localeOptions","of","getLocaleConfig","tap","locale","getLocale","from","getUserData","map","userData","tenantLocale","getLocaleOptions","ex","console","warn","user","switchMap","response","catchError","err","getGroupingSeparator","numberFormat","Intl","NumberFormat","useGrouping","minimumFractionDigits","maximumFractionDigits","formatToParts","part","getDecimalSeparator","HttpClient","CookieService","LocalizedBignumberPipe","localeService","transform","options","applyMask","localeConfig","configs","prefix","_f","_d","_e","_j","_g","_h","scale","_k","allowNegative","_l","isNumber","BigNumber","isNaN","Pipe","name","LocalizedBignumberImpurePipe","_super","pure","LocalizedCurrencyPipeOptions","LocalizedCurrencyPipe","rawValue","Number","toFixed","onlyNumbers","replace","integerPart","slice","decimalPart","newValue","isZero","LocalizedCurrencyImpurePipe","LocalizedDatePipe","format","LocalizedDateImpurePipe","LocalizedNumberPipe","numericValue","LocalizedTimePipe","LocalizedTimeImpurePipe","CurrencyService","currencies","KHR","precision","SSP","XCD","EGP","KWD","YER","HUF","MXN","MYR","ZWL","MUR","DKK","NOK","DJF","CRC","BND","NAD","MKD","CDF","GNF","EUR","OMR","CLP","BSD","TOP","IRR","BGN","BZD","CNY","FJD","SRD","SOS","GYD","VUV","MWK","MRU","LSL","ERN","BMD","WST","LRD","GMD","ARS","ZAR","RSD","MDL","USD","QAR","HRK","GIP","NPR","002","PLN","MAD","BAM","BTN","BBD","SHP","LKR","KPW","LAK","SZL","PHP","RWF","ISK","XOF","AUD","NGN","KGS","KYD","PGK","DZD","XAF","PEN","JPY","SBD","UGX","AMD","AED","ALL","XPF","AFN","RON","TND","NZD","JOD","VND","ETB","PYG","JMD","KES","IDR","HKD","BDT","GBP","AOA","PKR","TRY","SLL","CVE","LYD","ILS","UZS","CHF","SVC","BRL","GHS","CUP","FKP","NIO","GEL","TTD","AAA","COP","MGA","INR","KRW","HNL","MMK","TZS","THB","TMT","SAR","UYU","BIF","MVR","RUB","GTQ","SCR","IQD","UAH","BYN","VES","BOB","SGD","ZMW","CZK","TJS","DOP","AZN","PAB","STN","SDG","BWP","BHD","CAD","MNT","MOP","HTG","KZT","LBP","SYP","TWD","MZN","ANG","SEK","KMF","AWG","getCurrencySymbol","currency","currencyDisplay","x","NumericService","currencyService","instant","numberFormatOptions","getCurrencyMinimumFractionDigits","_m","getType","toString","toUpperCase","baseType","tag","toStringTag","Function","startsWith","className","NumericPipe","numericService","LocaleModule","forRoot","ngModule","LocaleModule_1","forChild","BignumberInputDirective","alignTo","AlignmentOptions","LEFT","pasteRejected","_angularComponentsLocaleService","onLocaleService","updateVariables","placeholder","padEnd","onPaste","pastedText","clipboardData","getData","RegExp","split","intPart","preventDefault","onKeypress","code","maxLength","_maxLength","align","suffix","calculateMaxLength","decSepLength","thoSepLength","ceil","first","HostBinding","BignumberInputDirective_1","CurrencyMaskDirective","BignumberInputModule","BreadcrumbComponent","activatedRoute","router","targetHomeUrl","ngUnsubscribe","events","NavigationEnd","onNavigationEnd","currentRoute","root","validRoutes","getValidChildren","title","getCurrentTitle","home","getCurrentHome","items","getCurrentItems","route","valid","routeConfig","path","component","outlet","PRIMARY_OUTLET","children","reduce","child","routes","last","getTitle","homeUrl","url","getMenuItem","pathFromRoot","routerLink","indexOf","item","snapshot","queryParams","routerLinkActiveOptions","exact","data","routeTitle","ActivatedRoute","Router","BreadcrumbModule","PrimeBreadcrumbModule","ButtonAnimation","CardTemplateTypes","ButtonComponent","minWidth","id","ButtonComponent_1","nextId","tooltipPosition","caret","baseZIndex","auxiliary","priority","Primary","model","menuOptions","size","Default","menu","toggle","validateSlideButton","slide","Link","hasIcon","iconClass","isMultiple","updateTooltipZIndex","tooltipZIndex","DomHandler","zindex","isRotateAnimation","animation","Rotate","TieredMenu","TieredMenuDividerComponent","TieredMenuEventService","incrementCurrentItemEvent","decrementCurrentItemEvent","closeAllMenusEvent","selectItemEvent","openItemMenuEvent","closeItemMenuEvent","createMenuEvent","TieredMenuItemComponent","_tieredMenuEventService","focused","highlight","triggerEvent","closeOnClick","submenu","_showTimeout","TieredMenuService","currentItems","normalizeData","parent","_generateId","markAllItemsAsClosed","searchTheHierarchy","itemA","itemB","cloneItems","random","substring","enableScroll","overflow","disabledScroll","TieredMenuNestedComponent","tieredMenuService","_unsubscribe$","onResize","onDocumentClick","closest","onKeydownHandler","currentItem","_subscribeEvents","_incrementCurItem","curIndex","divider","_decrementCurItem","_closeItem","itemAux","_lastOpenItem","_openItem","command","TieredMenuComponent","_appRef","_componentFactoryResolver","_injector","_changeDetectorRef","menuTriggerEvent","_componentRef","destroyRequest","detectChanges","stopImmediatePropagation","currentIndex","_createMenu","TieredMenuComponent_1","domElem","propagate","_destroy","_menuDivElement","_setMenuPosition","top_1","menuHeight","count","menuWidth","rightFreeSpace","bottomFreeSpace","max","current","some","ChangeDetectorRef","TieredMenuGlobalService","TieredMenuDirective","_elementRef","_tieredMenuService","_tieredMenuGlobalService","focusedItem","_isNested","_itemsAreValid","ngDoCheck","_previousItems","hasChanges","_compareItems","_updateServiceItems","_rebuildMenu","_lastActiveElement","activeElement","lastInstance","blur","clientWidth","_createNestedMenu","_createTieredMenu","_setMenuComponentProperties","item1","item2","TieredMenuModule","ButtonModule","PrimengTieredMenu","CalendarMaskDirective","host","SELECTORS","slotChar","autoClear","firstTime","setListeners","input","inputfieldViewChild","focusListener","onInputFocus","blurListener","onInputBlur","keydownListener","onKeyDown","keypressListener","onKeyPress","inputListener","onInputChange","pasteListener","handleInputChange","ua","androidChrome","test","createMaskFromDateFormat","initMask","_mask","val","checkVal","focusText","updateFilledState","updateModel","event_1","createEvent","initEvent","dispatchEvent","readonlyInput","begin","end","k","which","keyCode","iPhone","oldVal","seekPrev","seekNext","clearBuffer","shiftL","ctrlKey","altKey","metaKey","len","String","fromCharCode","tests","shiftR","buffer","writeBuffer","createCompleteMask","selectionMode","mask","rangeSeparator","allow","lastMatch","getPlaceholder","charAt","partialPosition","join","defaultBuffer","firstNonMaskPos","caretTimeoutId","handleAndroidInput","updatedValue","onUserInput","filled","focus","completeMask","defs","9","maskTokens","lastRequiredNonMaskPos","range","offsetParent","setSelectionRange","selectionStart","selectionEnd","createRange","duplicate","moveStart","collapse","moveEnd","select","j","curVal","isCompleted","sentVal","updateCalendarValue","dateVal","parseValueFromString","isSelectable","getDate","getMonth","getFullYear","updateUI","start","timeOnly","showTime","showSeconds","ngAfterViewChecked","onKeydownEventTest","previousFocusable_1","allFocusableElements","querySelectorAll","nextIsFocusable_1","forceCloseModal_1","shiftKey","focusableElement","activeTagName","tagName","inputId","hide","getElementById","hideOverlay","Calendar","CalendarMaskModule","TemplateDirective","Languages","CardComponent","fullWidth","subtitle","showBanner","_getTemplates","_loadImage","headerTemplate","hasHeaderAttributes","_getHeaderTemplate","_getCustomTemplate","Header","_getBodyTemplate","Body","_getFooterTemplate","Footer","templates","bodyTemplate","footerTemplate","img","Image","src","bannerImage","onload","onerror","TemplateModule","CardModule","ChatComponent","messages","scrollToBottom","messageElements","scrollIntoView","behavior","ViewChildren","read","ChatMessageComponent","fileName","message","attachmentUrl","getFileNameByUrl","ChatModule","TranslateModule","CheckboxComponent","checked","indeterminate","_initializeChildren","childrenState","updateParent","allChecked","every","someChecked","onCheckboxChange","_toggleChildrenCheck","renderType","CheckboxComponent_1","CheckboxModule","Themes","EnumTypeOrder","MetaType","RequestTypes","CompletionTypes","Keywords","CoreLinters","getLinter","language","languageLinterFactory","_LINTERS","Map","CoreFacade","$onCoreFinishLoad","ReplaySubject","$onCodeChange","$onCodeValidityChange","_completionItems","_lastCodeEmitted","changeEditorOptions","validateLanguage","validateTheme","theme","setLinter","setCoreEditorOptions","changeCode","safeCode","getSafeCode","setCode","setPayload","payload","setCodeWithCursorPreservation","getOnCoreFinishLoadObservable","asObservable","getOnCodeChangeObservable","getOnCodeValidityChangeObservable","notifyCoreFinishLoad","notifyCodeChange","validateCode","updateCompletionItems","_linter","lint","markers","highlightCode","notifyCodeValidityChange","validity","_lastCodeValidityEmitted","languages","values","themes","CodeEditorComponent","coreFacade","codeChange","isCodeValidChange","onCodeChange","onComponentFinishLoad","_ngUnsubscribe","initCore","setupCoreListeners","setCoreWrapperElement","destroyCore","coreWrapperElement","take","CodeEditorComponent_1","baseConfigs","LRLanguage","define","parser","buildParser","configure","props","styleTags","tags","keyword","string","formatJsonResponse","json","formatBlobResponse","blob","textResponse","MarkerSeverity","CustomHttpClient","GET","init","interceptRequest","method","formatResponse","POST","headers","Headers","append","originalReq","service","getRestUrl","restUrl","getAuthHeader","authHeader","request","Request","fetch","err_1","contentType","formatter","_responseFormatterMap","formattedContentType","ok","CustomTranslationsService","translate","translationKey","_TRANSLATION_PREFIX","_translations","setTranslations","translations","setTranslationsPrefix","hostProjectConfigs","domain","HostProjectConfigsInjectionToken","InjectionToken","AngularComponentsModule","AngularComponentsModule_1","useValue","CustomTranslationsModule","factoryTranslations","TranslateService","Inject","diagnosticSeverityInMarkerSeverityMap","Info","Warning","AutocompleteService","listContextMetadataById","abortSignal","BASE_URL","signal","listExpressionMetadata","listFacadeMetadataNames","getFacadeMetadataByPath","autocompleteLoadingStateHTMLElement","autocompleteEmptyStateHTMLElement","htmlElementToBeWrapped","autocompleteStateWrapper","StateField","getAutocompleteStateWrapper","update","transaction","field","compute","EditorView",".s-code-editor-taxCalculation-autocomplete-ul","padding",".s-code-editor-taxCalculation-autocomplete-li","cursor","line-height","showAutocompleteStateWrapper","CodeMirror6Core","updateEditorView","htmlElementToBeWrappedString","outerHTML","stateWrapper","selection","ranges","head","dom","getAutocompleteStateWrapperDomElement","elementToBeWrappedString","wrapperDiv","createElement","innerHTML","showAutocompleteLoadingState","loadingStateSpanWrapper","innerText","showAutocompleteEmptyState","emptyStateSpanWrapper","TaxCalculationLanguageConfigs","setConfigs","CONFIGS","getConfigs","contexts","getIconBasedOnUnicode","unicode","completionResults","TRANSLATION_PREFIX","getCompletionResults","context","stringBeforeCurrentPosition","isCurrentPositionInsideString","doc","finalCompletionResults","codeLength","token","AbortController","aborted","codeBeforeCursor","trim","getFilter","filterLength","stringWithoutPath","getPath","requests","languageConfigs","getLanguageConfigs","requestType","ListContextMetadataById","ListExpressionMetadata","subcontext","subContexts","pageRequest","offset","splittedPath","GetFacadeMetadataByPath","entityName","fields","ListFacadeMetadataNames","getSafeResponse","getRequestsBasedOnPath","all","responses","filteredCompletions","completions","completionItem","toLowerCase","getFilteredCompletions","SE","SENAO","CONTENHA","ENTAO","FIM_SE","NAO","E","OU","detail","Keyword","getKeywordsCompletions","contextsResponse","contextMetadata","Context","getContextsCompletions","expressionsResponse","expressionMetadata","PUBLIC_EXPRESSION","info","description","Expression","UserExpression","getExpressionsCompletions","facadesResponseFromList","facadeMetadataNames","facade","Entity","facadesResponseFromGet","facadeMetadata","ENTITY","FinalValue","getEntitiesCompletions","sortedCompletions","sort","completionsSortOrder","getSortedCompletions","getCompletionApply","getFormattedCompletions","startCompletion","getEditorView","searchCompletionResults","codeMirrorViewElement","contentDOM","cancelLastCompletionSearch","removeEventListener","abort","addEventListener","startCompletionResultsSearch","oldApplyText","view","completion","to","newFrom","dispatch","insert","anchor","userEvent","annotations","pickedCompletion","TaxCalculation","LanguageSupport","autocompletion","override",".cm-completionIcon","font-family","font-weight",".cm-completionIcon-keyword::after","content",".cm-completionIcon-context::after",".cm-completionIcon-expression::after",".cm-completionIcon-userExpression::after",".cm-completionIcon-entity::after",".cm-completionIcon-finalValue::after","jsonLanguage","JsonString","JsonNumber","JsonBoolean JsonNull","\"{\"","brace","\"}\"","\"[\"","\"]\"","\":\"","operator","\",\"","punctuation","Json","EditorLanguages","getLanguage","languageSupportFactory","_LANGUAGES","SDSLightHighlightStyle","HighlightStyle","generalFontStyle","font-style","font-size","SDSLight","&.cm-editor.cm-focused","outline","baseTheme","&.cm-editor",".cm-scroller","letter-spacing","font-variation-settings",".cm-tooltip.cm-tooltip-autocomplete > ul",".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionLabel",".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail","margin-left","lineNumbers",".cm-gutters","background-color","border-right",".cm-gutter",".cm-tooltip","border","border-radius",".cm-tooltip.cm-tooltip-autocomplete > ul[role='listbox']",".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail::before",".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionDetail::after",".cm-tooltip.cm-tooltip-autocomplete > ul .cm-completionIcon","padding-right","margin-right",".cm-tooltip-autocomplete ul li[aria-selected]",".cm-tooltip.cm-completionInfo.cm-completionInfo-right","box-shadow","background",".cm-tooltip.cm-completionInfo.cm-completionInfo-right::before","margin-top","border-color","border-style","border-right-color","border-width","Ordination","EditorThemes","getTheme","EditorThemeFactory","_THEMES","_codeReceivedBeforeViewCreation","_editorOptionsReceivedBeforeViewCreation","_editorView","transactionSpecs","createEditorView","changeEditorContent","setObservablesListeners","effects","StateEffect","reconfigure","getCodeChangeListenerExtension","diagnostics","textLength","marker","convertMarkersToDiagnostics","setDiagnostics","$onCompletionItemsUpdate","parentElement","EditorState","extensions","updateListener","docChanged","currentSelection","main","min","CodeEditorModule","useClass","CollapseLinkComponent","buttonId","CollapseLinkComponent_1","expandedLabel","collapsedLabel","collapsed","onCollapse","animating","onToggleDone","opacity","CollapseLinkModule","ControlErrorsComponent","ControlErrorsComponent_1","errorMessages","getErrorMessagesList","control","dirty","errors","ControlErrorsModule","countries","ddi","FieldType","CountryPhonePickerService","getCountries","ordination","AZ","sortAlphabetically","ZA","sortAlphabeticallyDescending","NO","a","aName","bName","localeCompare","Breakpoints","SM_MIN","SM_MAX","MD_MIN","MD_MAX","LG_MIN","LG_MAX","XL_MIN","XL_MAX","Infinity","ExportUtils","addClass","removeClass","exportCSV","columns","csvSeparator","documentName","csv","column","exportable","header","record","cellData","col","resolveFieldData","flat","separator","Blob","msSaveOrOpenBlob","link","display","download","setAttribute","URL","createObjectURL","click","open","encodeURI","removeChild","isFunction","convertToMomentDateFormat","CountryPhonePickerComponent","_countryPhonePickerService","_translate","_eRef","platformId","currentItemIndex","phone","FormControl","dropTop","dropLeft","_open","offsetTop","focusLost","tabindex","_filterCountries","filteredCountriesList","_countriesList","country","_value","getMask","onSelectItem","setValue","onClickout","contains","valueChanges","selectedItem","_getSelectedCountryDefault","_applyMask","onKeydown","_moveToDown","_moveToUp","_createDropdownPortal","_portalHost","hasAttached","detach","phoneInput","onCleanFilter","onPhoneInputFocus","filteredByBr","selectList","scrollTo","rawMask","tokens","acumulador","contador","mask_1","mask_1_1","parseInt","isPlatformBrowser","dropElement","bodyElement","dropElementRect","DomPortalOutlet","portal","TemplatePortal","dropdownTemplate","viewContainerRef","attach","PLATFORM_ID","CountryPhonePickerComponent_1","CountryPhonePickerModule","NgxMaskModule","PortalModule","BaseFieldComponent","NumberAlignmentOption","FieldSize","sm","md","lg","xl","Field","ignoreLabel","footer","help","required","infoSign","showClear","bottomTemplate","defaultValue","representedBy","CustomFieldClass","CustomFieldComponentClass","displayTimeInfoSign","useInfoSignFocusedInputRef","AutocompleteField","Autocomplete","suggestions","suggestionsObservable","BignumberField","numberLocaleOptions","browserAutocomplete","RIGHT","leftAddon","rightAddon","onComplete","onInput","BlobField","accept","files","chooseLabel","removeLabel","cancelLabel","successTooltip","onUploadFile","onRemoveFile","onCancelUpload","onDownloadFile","showFileUploadDate","true","false","empty","BooleanField","verticalAlignment","optionsLabel","BooleanOptionsLabel","BooleanSwitchField","CalendarField","minDate","maxDate","defaultDate","appendTo","showOnFocus","calendarLocaleOptions","onSelect","onTodayClick","onClearClick","onMonthChange","onYearChange","DateTime","LocalDateTime","Time","CheckboxField","ChipsField","showCopyButton","keyFilter","onAdd","onRemove","onChipClick","onCopy","CountryPhonePickerField","onSelected","onFocusLost","DynamicType","NumberInputDirective","_keyValueDiffers","_onPaste","bind","_onKeypress","decimal","thousands","KeyValueDiffers","NumberInputDirective_1","NumberInputModule","NumberField","DecimalField","CurrencyField","LookupField","Lookup","showSearch","autocompleteForceSelection","showAddOption","showEditOption","showRemoveOption","onUnselect","lookupSuggestions","searchObservable","delay","totalRecords","gridData","searchTotalRecordsLabel","_gridData","_searchTotalRecords","_searchTotalRecordsLabel","PasswordField","inputType","passwordStrength","passwordStrengthOptions","showToggle","RadioButtonField","clearLabel","SelectField","dataKey","optionLabel","autoDisplayFirst","multipleSelectedLabel","emptyMessage","editable","group","SliderField","maxDefault","onSlideEnd","orientation","TextAreaField","resize","cols","rows","speechRecognition","keepContext","speechRecognitionPlaceholder","TextAreaIAField","prompt","TextField","characterPattern","unmask","sortableColumnName","ButtonField","iconColor","badge","styleClass","rightIconClass","mouseEnter","mouseLeave","EditorField","formats","modules","ProfilePictureField","simpleTitle","actionTitle","aspectRatio","cropperLabelsConfig","removeButtonLabel","changeButtonLabel","confirmationTexts","maxFileSize","supportedExtensions","onChangeImage","onRemovedImage","onInvalidFile","Enum","Money","Integer","Double","Binary","Password","Text","TextIA","Boolean","Date","Radio","Checkbox","Chips","CountryPhonePicker","Slider","ProfilePicture","Editor","Button","Custom","getOwnPropertySymbols","propertyIsEnumerable","__rest","LookupComponent","hotkeysService","translateService","LookupComponent_1","lookupAppendTo","searchFields","onLookupRequest","onSearchRequest","onKeyUp","onClear","onEdit","onClearButtonClick","dialogVisible","transitionOptions","originalFormValues","searchGridFields","FormField","gridField","getColWidth","calendarOptions","_convertToMomentDateFormat","_convertToMomentHourFormat","formGroup","formGroupDialog","FormGroup","printRecordTotalizer","recordLabel","searchTotalRecords","recordsLabel","autocomplete","onOverlayAnimationDone","searchGridData","loading","_setFocusFilter","getGridData","getLookupSuggestions","makeSearchRequestParams","filters","getRawValue","params","filterData","multiSortMeta","lazyLoadGrid","onCompleteMethod","query","setDefaultFilters","defaultFilter","patchValue","showDialog","pause","hotkeys","setHotkeys","hideDialog","inputEL","multiInputEL","unpause","pausedHotkeys","search","resetTable","dialog","moveOnTop","reset","table","onSelectionChange","getFieldValue","prop","getBadgeFromValue","opt","getLabelForValue","option","isBooleanValue","getBooleanLabel","emptyFieldLabel","newHotkey","hotkey","combo","fn","Hotkey","filterToggle","getScale","getIntegerMaskConfig","getDoubleMaskConfig","getMoneyMaskConfig","getNumberMaskConfig","onTableRowDoubleClick","rowData","contentViewChild","getElementsByTagName","lookupDisplayField","HotkeysService","Table","Dialog","AutoComplete","encapsulation","ViewEncapsulation","None","animateChild","StructureType","Row","Grid","isFlex","Fieldset","Structure","Section","justifyContent","alignItems","gridClass","GridType","ValidateErrors","FileUploadPermissions","DynamicFormComponent","LongPressDirective","sLongPressDelay","sLongPress","mouseUp","mouseDown","onMouseUp","onMouseDown","debounceTime","repeat","DoubleClickDirective","onDoubleClick","_timeout","_DOUBLE_CLICK_DELAY","handleOnClickEvent","MouseEventsModule","ToastComponent","dismiss","isLeaving","startDismissAnimation","dismissToast","toast","sticky","duration","ToastService","activeToasts","globalToastHostElement","ensureGlobalToastHost","flexDirection","zIndex","gap","show","splice","IAssistService","_toastService","askIA","_replacePlaceholder","_createPrompt","post","provider","parameters","max_tokens","temperature","status","statusText","throwError","log","EmptyStateComponent","EmptyStateComponent_1","showPrimaryAction","showSecondaryAction","primaryModel","primaryAction","secondaryAction","EmptyStateGoBackComponent","goBack","portalUrl","EmptyStateModule","FileUploadService","BASE_URL_FIELD_CUSTOMIZATION","TOKEN","getMetadataCustomField","SVGFactoryIcons","ALL_PERMISSIONS","Add","Read","Remove","FileUploadComponent","sanitizer","fileUploadService","ADD_PERMISSION","READ_PERMISSION","REMOVE_PERMISSION","FileUploadComponent_1","permissions","uploadHandler","removeFile","cancelUpload","downloadFile","validateErrors","_files","ngUsubscribe","inputValue","objectId","getUploadDate","file","isImage","objectURL","bypassSecurityTrustUrl","extension","onFileSelect","newFiles","isFileLimitExceeded","validation","MAX_FILE_LIMIT","clearFileInput","isFileCombinedSizeExceeded","MAX_COMBINED_FILE_SIZE","files_1","files_1_1","isUnsupportedFileExtension","UNSUPPORTED_EXTENSION","isFileSizeExceeded","MAX_FILE_SIZE","fileIndex","onDowloadFile","isSmallDevice","fileLimit","maxCombinedFileSize","combinedSize","inputUpload","blobFile","metadata","setModifiedDate","hour","modified","minutes","day","month","fullYear","modifiedDate","DomSanitizer","FileUploadModule","ProgressBarModule","IAssistIconComponent","SeniorIconComponent","LoadingStateIndicators","SVGFactoryDirective","cdr","_iconClass","_getIconClass","Senior","_createComponent","factory","IAssist","SVGFactoryModule","DotsIndicatorComponent","LoadingIndicatorComponent","PasswordStrengths","PasswordStrengthPositions","LoadingStateComponent","indicator","Dots","LoadingStateComponent_1","BLOCK_TIMEOUT_VALUE","UNBLOCK_TIMEOUT_VALUE","_loading","block","unblock","unblockTimeoutId","blockTimeoutId","blocking","LoadingStateDirective","loaderComponent","contents","LoadingStateModule","LocalizedNumberInputDirective","numberRegex","validate","invalidNumber","LocalizedNumberInputDirective_1","NG_VALIDATORS","LocalizedNumberInputModule","MaskFormatterPipe","*","maskFormat","opcionalPos","symbolsPosAfterOpcional","hasOpcional","tokenRegex","charAtPos","formattedValue","beforeSymbol","symbol","firstAfterSymbol","endOfString","symbolPos","substr","MaskFormatterModule","EnumColumnFieldType","EnumBadgeColors","PasswordStrengthComponent","weakTitle","setPasswordStrengthPosition","updateIndicators","strengthClass","strengthIndicator1","strengthIndicator2","strengthIndicator3","onIndicators","indicators","VeryWeak","Weak","Medium","mediumTitle","Strong","strongTitle","PasswordStrengthDirective","enabled","validateProperties","createPasswordStrength","destroyPasswordStrength","setPasswordStrengthComponentProperties","showPasswordStrength","elementRefHeight","elementRefWidth","positioned","invalidOptions","topShift","rightShift","leftShift","defaultValidator","points","regExpValidations","PasswordStrengthModule","TableHeaderCheckboxComponent","tableService","TableHeaderCheckboxComponent_1","valueSource$","updateCheckedState","selectionSource$","hasFocus","isDisabled","onToggleCheckbox","filteredValue","isAllFilteredValuesChecked","isAllValuesChecked","unselecteds","_selection","useAllObject","newRecord","rowProps","updateSelectionKeys","selectionChange","isStateful","saveState","isSelected","TableService","TableHeaderCheckboxModule","NavigationDirective","isRow","focusFirstColFromCurrentRow","isCol","focusNextSelectableCol","focusLastColFromPrevRow","focusPrevSelectableCol","setPrevRowFocus","setAboveColFocus","setNextRowFocus","setUnderColFocus","prevRow","findPrevSelectableRow","lastElementChild","row","firstCol","firstElementChild","nextCol","nextElementSibling","currentRow","prevCol","previousElementSibling","currentCol","cellIndex","cells","nextRow","findNextSelectableRow","toLocaleLowerCase","RowTogllerDirective","dt","isEnabled","toggleRow","RowToggler","TableFrozenPositionDirective","el","sTableFrozenPosition","isTableVisible","onColumnsChanged","TABLE_SCROLLABLE_WRAPPER_CLASS","setUpTableEvents","handleWindowResize","htmlHead","expandFrozenStyle","synchronizeRowHeight","setUpRowResizeMonitoring","applyStylesForTable","setUpColumnMonitoring","ngAfterContentChecked","tableHeadObservable","disconnect","rowExpandedObserver","tableWrapperObserver","onColResize","handleColResize","onRowExpand","ResizeObserver","applyHeightForExpandedRows","tdsToAdjust","originalsTds","td","originalTd","observe","MutationObserver","tableHead","subtree","childList","tableWraper","mutationObserver","frozenTDsToAdjust","unFrozenTDs","frozenTd","unfrozenHeight","frozenHeight","abs","scrollWrapper","frozenTable","order","borderRight","borderLeft","boxShadow","unfrozenTable","tableBodies","getElementsByClassName","divWrapper","childNodes","_resetRowHeight","_applyMaxRowHeight","tableHeads","tables","lengths","accumulator","trs","tables_1","e_1","tables_1_1","table_1","trs_1","e_2","trs_1_1","tables_2","tables_2_1","e_4","ThumbnailSize","TableColumnsComponent","cellsData","formattedColumns","validateComponentAttributes","previousValue","sortColumnsBySequence","createColumnsTemplate","getCellData","columnValue","uninformed","splittedString_1","isLastIndex","isUninformed","rowValue","getColumnValue","columnsTemplate","getColumnSeparator","getTranslationPrefix","isAttributeValueInvalid","attributeValue","getFormattedColumnValue","unifiedColumnValues","uninformedText","uninformedNumber","attributes","TOKENS","getAttributeValue","attribute","getNumberConfigs","getColumnScale","getDateFormat","numberConfigs","ENUM","enumPrefix","CURRENCY","DATE","BOOLEAN","NUMBER","getTokens","badgeConfigs","badgeConfig","enumValue","getColumnTooltip","getColumnInfoSign","onLinkClick","onColumnClick","compact","isValidTokenArray","isLabelObjectArray","isPrimitiveValuesArray","sequence","TokenListComponent","TokenListComponent_1","removableTokens","hidePointerEvents","tokenSelected","tokenRemoved","onTokenSelected","onTokenRemoved","TokenListModule","TablePagingComponent","enableExportSelectedRecords","totalRecordsText","getTranslatePrefix","getTooltipText","getActions","actions","exportCurrentPage","exportSelectedRecords","loadAllRecords","exportAllRecords","customActions","customMenus","validateComponent","getColumnsToExport","exportColumn","customExport","getCurrentPageRowsToExport","tableData","loadCurrentPageRecords","mapCustomExport","mapNumberFormatOptionsExport","mapColumnsTranslations","getSelectedRowsToExport","loadSelectedRecords","getPropertyValue","setPropertyValue","recursionSetValue","keysList","enumColumns","newRow","fieldName","columnData","translateValue","hasNumberFormatOptionsColumns","hasNumberFormatOptionsRows","columnsWithNumberFormatOptions","columnsWithNumberFormatOptions_1","columnsWithNumberFormatOptions_1_1","attributes_1","attributes_1_1","mappedValue","times","roundingMode","toNumber","keysWithNumberFormatOptions","keysWithNumberFormatOptions_1","keysWithNumberFormatOptions_1_1","customColumns","translatedValue","enumKey","convertToSnakeCase","str","getExportFileName","lang","currentLang","date","exportFileName","toLocaleDateString","toLocaleTimeString","dataToExport","serverData","TableModule","AutocompleteFieldComponent","changeDetectorRef","setInputRef","inputRef","BooleanFieldComponent","formControl","BooleanSwitchFieldComponent","CalendarFieldComponent","ChipsFieldComponent","clipboard","feedbackMessageVisible","copyButtonVisible","onCopyFieldContent","copy","Clipboard","CountryPhonePickerFieldComponent","dispatchFocusInputRef","addEventOnBlur","fromEvent","Event","LookupFieldComponent","RadioButtonComponent","SelectFieldComponent","SliderFieldComponent","isValid","subscribeToFormControlEvents","isValidRange","isInteger","isValidNoRange","startValue","endValue","getRangeLabel","value0","value1","getNonRangeLabel","SpeechRecognitionService","ngZone","toastService","hasSupportSpeechRecognition","isListening","microphoneStatus$","TIMEOUT_NO_MESSAGE","setRecognition","speechSubject","hasMicrophoneAccess","hasAccess","silenceTimer","recognition","continuous","interimResults","maxAlternatives","fullTranscript","onresult","run","stop","interimTranscript","resultIndex","results","transcript","isFinal","onend","SpeechRecognitionConstructor","SpeechRecognition","webkitSpeechRecognition","permission","mediaDevices","getUserMedia","audio","stream","getTracks","catch","onchange","NgZone","TextAreaIAFieldComponent","_iassistService","_formBuilder","_translateService","speechRecognitionService","isVisible","isLoading","_createDialogFields","_createDialogFormGroup","onHideDialog","submitContext","res","FormBuilder","TextAreaFieldComponent","FieldsetComponent","SectionComponent","RowComponent","getErrorMessages","DynamicFieldComponent","BignumberFieldComponent","onScale","CurrencyFieldComponent","PasswordFieldComponent","passwordVisible","onChangeVisible","TextFieldComponent","InputMask","inputViewChild","getCharacterPattern","getUnmask","CheckboxFieldComponent","EditorFieldComponent","NumberFieldComponent","ProfilePictureFieldComponent","ButtonFieldComponent","clickedButton","$event","handleMouseEnter","handleMouseLeave","DynamicForm","DynamicField","resolver","container","getComponent","_switchEmptyStringToNull","setVariablesByType","valueChanges$_1","onDestroy","DynamicStructure","structure","DynamicGrid","DynamicFormDirective","isField","directiveConfig","isStructure","isGrid","FieldLabelComponent","FieldLabelModule","BignumberFieldModule","InputMaskModule","InputTextModule","CheckboxFieldModule","CurrencyFieldModule","EditorFieldModule","EditorModule","NumberFieldModule","PasswordFieldModule","HeaderComponent","FooterComponent","StructureModule","ImageCropperComponent","ImageCropperComponent_1","cropLabel","selectAnotherLabel","emptyStateTitle","emptyStateActionLabel","emptyStateIconClass","NaN","rounded","allowSelectAnother","allowRemove","allowCancel","visibleChange","changeImage","croppedImage","croppedCanvas","removedImage","cancel","imageSource","initCropper","cropper","image","Cropper","guides","dragMode","minCropBoxHeight","minCropBoxWidth","toggleDragModeOnDblclick","getRoundedCanvas","sourceCanvas","canvas","getContext","imageSmoothingEnabled","drawImage","globalCompositeOperation","beginPath","arc","PI","fill","onCropImage","_croppedCanvas","getCroppedCanvas","toDataURL","onRemoveImage","onCancel","onModalVisibleChange","ContentChild","ImageCropperModule","DialogModule","ImageCropperService","activeCropper","configureInstance","param","FileValidation","ThumbnailService","getBinaryFile","getOrientation","XMLHttpRequest","readyState","orientation_1","responseType","send","DataView","getUint16","byteLength","getUint32","little","ThumbnailComponent","thumbnailService","fallback","ThumbnailComponent_1","hasAction","actionIconClass","isTile","isBrand","imgEl","ThumbnailModule","CustomFieldType","ProfilePicturePickerComponent","imageCropperService","confirmationService","changedImage","imageChange","invalidFile","base64","_normalizeSuportedExtensions","onDragOver","onDragLeave","onDrop","dataTransferFiles","dataTransfer","_showImageCropper","uploadPicture","thumbnail","uploadPictureWidth","_getWidthElement","infoWidth","selectPhoto","fileInputElement","fileInput","removePhoto","confirm","removalMessage","acceptLabel","removalAcceptLabel","rejectLabel","removalRejectLabel","removalHeader","rejectButtonStyleClass","photoSelected","srcElement","_validateData","fileReader","FileReader","readAsDataURL","onloadend","fileEvent","source","MaxFileLimit","_validateFileExtension","_validateFileSize","MaxFileSize","UnsupportedExtension","TypeInvalid","ConfirmationService","ProfilePicturePickerComponent_1","ProfilePicturePickerModule","ConfirmDialogModule","ProfilePictureModule","TextFieldModule","KeyFilterModule","TextAreaComponent","_inputStyle","readOnly","renderTextArea","_textAreaElement","handleRecognizedText","recognizedText","TextAreaComponent_1","TextToSpeechService","utterance","SpeechSynthesisUtterance","voices","setVoices","_voices","speechSynthesis","getVoices","onvoiceschanged","setActiveVoice","updateVoice","voiceUri","activeVoice","voice","voiceURI","speak","speed","rate","resume","_voice","SpeechRecognitionComponent","textToSpeechService","_recognizedText","originalTextAreaElementText","isDoneTextToSpeech","onDestroy$","VOICE_SPEEDS","keydownEventListener","isListeningUserVoice","voiceSpeed","isDisabledMicrophone","canRenderMicrophone","canRenderTextToSpeech","canRenderListeningText","canRenderDiscard","canRenderAprove","canRenderTextToSpeechToolbar","isPlayingTextToSpeech","hasSpeechRecognitionBrowserApi","textAreaElement","onCloseToolbar","onListen","setTextAreaValue","scrollTextAreaBottom","scrollHeight","onOpenToolbar","isDisabledTextToSpeech","SpeechRecognitionComponent_1","TOOLBAR_ACTIVE","stopTextToSpeech","onDiscard","onAprove","breakLine","toggleTextToSpeech","restartTextToSpeech","updateVoiceSpeed","voiceSpeedIndex","nextVoiceSpeedIndex","stopListening","hasTextToSpeechVoice","hasVoice","textToSpeech","SpeechRecognitionModule","TextAreaModule","legend","toggleable","destroyOnHide","beforeToggle","afterToggle","active","toggleActive","originalEvent","AccessibilityEventDirective","sActivatedContent","EVENT_LISTENER","KeyboardEvent","setTabIndex","checkAccessbilityEvents","tabIndex","AccessibilityEventsModule","FieldsetModule","DynamicFormModule","AutoCompleteModule","CalendarModule","ChipsModule","DropdownModule","HotkeyModule","InputTextareaModule","PanelModule","PrimeButtonModule","PrimeNGTableModule","MultiSelectModule","RadioButtonModule","SliderModule","CustomFieldsService","getCustomFields","entity","endpoint","entityDto","entityId","domain_","service_","getFileLocationUrl","dto","uploadTempFile","location","put","reportProgress","Content-Type","requestAccess","getFile","permanentUrl","CustomFieldsComponent","customFieldsService","controlContainer","invalidErrorLabel","customFieldsEndpoint","fileLocationEndpoint","requestAccessEndpoint","ready","parentForm","_validateInputs","_createForm","addDisplayTimeInfoSignToFields","enableOrDisableFields","disableFields","parseFieldsValues","parseValuesForFields","createFilesIfSetFormValuesAfterInit","entityObject","entity_","controls","controlErrors","cleanFields","controlName","observables","forkJoin","finalize","markAsPristine","parentControl","ready$","customFieldsResponse","defaults","defaultMask","Any","customizable","customization","formField","getFormField","fieldType","createBlobToFileUpload","validationRegex","asIsTypes","validators","Validators","pattern","addControl","createFieldCustomization","parsedValues","isString","notValid","toDate","hasUploaded","isTypeNumberOrEnum","hasBlob","getBlobParameters","getBooleanParameters","getEnumParameters","mandatory","currencyOptions","customEnumeration","getTranslateLabel","formfield","uploadFile","FormArray","toDelete","toInsert","lastIndexOf","savedFile","currentFile","uri","newFile","File","progress","isUploading","this_1","setValidators","updateValueAndValidity","defaltCatchError","version","uploadCanceled","HttpEventType","Response","UploadProgress","loaded","total","clearValidators","uploadError","ControlContainer","Optional","CustomFieldsComponent_1","ViewMode","CustomFieldsModule","HttpClientModule","EditableOverlayDirective","bindDocumentEditListener","bindDocument","isFromOverlayTrigger","isFromModal","documentEditListener","editingCell","editingCellClick","isEditingCellValid","unbindDocumentEditListener","EditableOverlayModule","DateUtils","with_time","formatString","monthName","startOf","monthNameCapitalized","dateToFormat","format_map","YYYY","MM","DD","ddd","HH","mm","ss","SSS","D","MMMM","MMM","formattedValues","diff","fistDate","secondDate","milliseconds","seconds","hours","days","months","years","endsWith","floor","dateStr","now","quantity","scores","shouldReset","_scale","max_score","vals","getHours","getMinutes","getSeconds","getMilliseconds","clone","getDateValues","getDaysInMonth","daysInMonth","$","expr","con","createSVG","attrs","elem","createElementNS","attr","append_to","getAnimationElement","svgElement","dur","animEl","attributeName","animateElement","calcMode","keyTimes","keySplines","cubic_bezier","ease","linear","ease-in","ease-out","ease-in-out","on","delegate","off","handler","delegatedTarget","matches","getAttribute","Bar","gantt","task","_isPopUpOpen","_setDefaults","_prepare","_draw","_bind","_arrows","arrows","_task","_element","_group","updateBarPosition","bar","dependencies","dep","_gantt","get_bar","getX","prev","curr","_updateAttr","columnWidth","_updateLabelPosition","_updateArrowPosition","dateChanged","changed","_computeStartEndDate","newStartDate","newEndDate","trigger_event","setActionCompleted","_actionCompleted","_prepareValues","_prepareHelpers","_invalid","invalid","_height","barHeight","_x","_computeX","_y","_computeY","_cornerRadius","barCornerRadius","_duration","_width","class","custom_class","data-id","_barGroup","SVGElement","getY","getWidth","getHeight","getEndX","_drawBar","_drawLabel","rx","ry","animatedSvgElement","animateSVG","showTaskName","requestAnimationFrame","_setupClickEvent","hasPopup","popupTrigger","_showPopup","unselect_all","hide_popup","bar_being_dragged","showOnlyHours","startDate","endDate","showOnlyDays","startHour","endHour","show_popup","target_element","xInUnits","width_in_units","view_is","QuarterHour","Hour","QuarterDay","HalfDay","Day","headerHeight","_index","getBBox","Popup","customHtml","make","positionMeta","html","pointer","HTMLElement","offsetWidth","Arrow","fromTask","toTask","_fromTask","_toTask","calculatePath","draw","_path","startX","startY","endX","endY","fromIsBelowTo","curve","arrowCurve","clockwise","curveY","down1","down2","data-from","data-to","defaultOptions","viewMode","customPopupHtml","allowMovement","Gantt","wrapper","tasks","setup_options","setup_wrapper","setup_tasks","change_view_mode","bind_events","_minDate","_maxDate","svg_element","wrapper_element","$svg","$container","containerWidth","popup_wrapper","_start","_end","_row_id","deps","generate_id","setup_dependencies","dependency_map","refresh","mode","setup_gantt_dates","update_view_scale","setup_dates","render","view_mode","Week","Month","Year","setup_date_values","_t","_u","marginBeforeStart","marginAfterEnd","_o","_p","_q","_r","_s","dates","cur_date","bind_grid_click","bind_bar_events","setup_layers","make_grid","make_dates","make_bars","make_arrows","map_arrows_on_bars","set_width","set_scroll_position","layers","layers_1","layers_1_1","layer","make_grid_background","make_grid_rows","make_grid_header","make_grid_highlights","make_grid_ticks","grid_width","distinct_rows","Set","grid_height","grid","rows_layer","lines_layer","row_width","row_height","row_y","x1","y1","x2","y2","header_width","header_height","tick_x","tick_y","tick_height","tick_class","isToday","isWeekend","getDay","get_dates_to_draw","lower_x","lower_y","lower_text","middle_text","middle_x","middle_y","upper_text","$upper_text","upper_x","upper_y","last_date","get_date_info","date_text","quarterHourUpper","quarterHourLower","hourUpper","hourLower","quarterDayUpper","quarterDayLower","halfDayUpper","halfDayLower","dayUpper","dayMiddle","dayLower","weekUpper","weekLower","monthUpper","monthLower","yearUpper","yearLower","base_pos","x_pos","quarterHourMiddle","hourMiddle","quarterDayMiddle","halfDayMiddle","weekMiddle","monthMiddle","yearMiddle","bars","task_id","dependency","get_task","arrow","this_2","cur_width","actual_width","parent_element","scroll_pos","get_oldest_starting_date","is_dragging","x_on_start","is_resizing_left","is_resizing_right","parent_bar_id","bar_wrapper","offsetX","ids","get_all_dependent_tasks","$bar","ox","oy","owidth","finaldx","dx","get_snap_position","out","to_process","acc","rem","odx","modes","popup","prev_date","GlobalSearchSizeEnum","GanttComponent","multipleTaskPerLine","showSideTable","taskClicked","taskDateChanged","viewChanged","_validateViewMode","_validateTasks","outer","side","_filterTask","onDateChange","onViewChange","tasksGroups","i_1","SideTableComponent","ROW_HEIGHT","_removeEmptyTasks","GanttModule","IAInsightTemplateTypes","GlobalSearchDropdownItemComponent","GlobalSearchDropdownItemComponent_1","STANDARD","buttonClick","isStandardSize","isMediumSize","MEDIUM","isSmallSize","SMALL","getImageSize","GlobalSearchComponent","showFooter","onSearch","onShowMore","wasSearched","isModalLoading","expanded","canShowGlobalSearchActive","focusIn","focusOut","showMore","removeActiveClassByGlobalSearch","globalSearch","dropdownItens","InfiniteScrollDirective","onScroll","scroll","offsetHeight","InfiniteScrollModule","GlobalSearchModule","IAInsightCardComponent","likeSelected","dislikeSelected","newOpenState","insight","onOpenSidebar","onCloseSideBar","_requestInsight","onLikeSelected","onDislikeSelected","copyContent","reloadContent","request$","marked","onContentLoaded","IAInsightSidebarComponent","insights","closedSidebar","openedSidebar","opened","IAInsightCardLoaderComponent","KanbanTemplateTypes","IAInsightComponent","hasPermission","openIAInsight","closedIAInsight","sidebar","onCloseSidebar","getIntroTemplate","Intro","getNoPermissionTemplate","NoPermission","getEmptyTemplate","Empty","introTemplate","emptyTemplate","noPermissionTemplate","IAInsightModule","GridMenuComponent","useFontAwesomeIcons","itemsArray","selectedChange","isFirstChange","onClickGridMenuItem","gridMenuItem","previousGridMenuItemClicked","GridMenuItemComponent","iconIsFromFontAwesome","clickedGridMenuItem","fontAwesomePrefix","action","initialLetter","words","GridMenuModule","InlineEditCalendarField","InlineEditField","InlineEditLookupField","InlineEditNumberField","InlineEditTextAreaField","InlineEditTextField","InlineEditTextAreaIAField","InlineEditItemComponent","isEditing","_getCalendarLocaleOptions","onSave","dynamicComponentRef","saveValue","markAsDirty","onlySelf","setDynamicComponentRef","ref","getFormattedValue","getValueAsText","lookupField_1","_locale","InlineEditCalendarComponent","_getLocaleOptions","tempValue","InlineEditLookupComponent","InlineEditNumberComponent","_onLocaleService","InlineEditTextAreaComponent","InlineEditTextComponent","InlineEditTextAreaIAComponent","InlineEditComponent","_componentMap","_createFields","componentClass","inlineEditItemFactory","inlineEditItemRef","inlineEditItemInstance","TextAreaIAComponent","_isDisabled","onValueChange","TextAreaIAComponent_1","TextAreaIAModule","InlineEditModule","KanbanEventService","selectAllColumnItemsEvent","unselectAllColumnItemsEvent","unselectItemEvent","emitSelectAllColumnItemsEvent","emitUnselectAllColumnItemsEvent","emitSelectItemEvent","emitUnselectItemEvent","EnumSeverity","KanbanComponent","kanbanEventService","showItemCheckboxes","showColumnCheckboxes","itemsMoved","dataUpdated","itemsSelected","selectedItems","draggingItems","_normalizeData","drop","previousColumn","previousContainer","targetColumn","moveItemInArray","previousIndex","transferArrayItem","observers","selectItem","frozen","delete","selectedColumn","dragStarted","dragReleased","getLinkedColumns","currentColumn","getColumnHeaderTemplate","ColumnHeader","getColumnEmptyMessageTemplate","ColumnEmptyMessage","getItemHeaderTemplate","ItemHeader","getItemBodyTemplate","ItemBody","getItemFooterTemplate","ItemFooter","columnIds","columnHeaderTemplate","columnEmptyMessageTemplate","itemHeaderTemplate","itemBodyTemplate","itemFooterTemplate","KanbanColumnComponent","showCheckbox","selectionControl","_subscriveEvents","_createTieredOptions","KanbanItemDraggingComponent","quantityItems","KanbanItemComponent","_kanbanEventService","onSelectedChange","KanbanModule","DragDropModule","NavigationButtonComponent","changeOnInit","stepChanged","tieredMenuItems","_createTieredMenuItems","previous","steps","_setDefaultValue","findIndex","onNext","onPrevious","NavigationButtonComponent_1","NavigationButtonModule","ProgressBarColors","ProgressBarMode","ObjectCardFieldComponent","ObjectCardFieldComponent_1","ObjectCardMainComponent","ObjectCardMainComponent_1","hasThumbnail","hasDescription","_thumbnailSize","thumbnailComponent","thumbnailSize","Small","ObjectCardComponent","ObjectCardComponent_1","expandTooltip","collapseTooltip","fieldsMinWidth","expandedChange","maxVisibleFields","maxFieldQtd","remainingSpace","cardMainContainer","expandIconWidth","iconContainer","expand","descendants","BorderButtonComponent","BorderButtonModule","ObjectCardModule","PanelComponent","collapsedChange","toggleCollapsed","getHeaderTemplate","getBodyTemplate","getFooterTemplate","ProductHeaderComponent","ProductHeaderComponent_1","isHeaderFrame","borderBottom","borderTop","ProductHeaderModule","ProgressBarComponent","showValue","Determinate","targetValue","Indeterminate","targetLabel","ProgressBarDeterminateComponent","validateValues","onGetLocale","ProgressBarIndeterminateComponent","RatingScaleComponent","rating","RatingScaleComponent_1","RatingScaleModule","SelectButtonComponent","itemSelected","itemClicked","activeItems","iItem","onItemSelect","_compare","keysA","keysB","keysA_1","keysA_1_1","SelectButtonComponent_1","SelectButtonItemComponent","SelectButtonModule","CheckDisabled","disabledField","_target","_propertyKey","descriptor","originalMethod","SplitButtonType","SidebarComponent","focusTrapFactory","SidebarComponent_1","largeSized","onShow","innerSidebar","containerViewChild","focusInitialElementWhenReady","onHide","FocusTrapFactory","Sidebar","SidebarModule","A11yModule","PrimeSidebar","ScrollPanelModule","SlidePanelService","modalCloseMap","createSlidePanel","panelSubject","getModalCloseObservable","closeModal","subject","SlidePanelComponent","slidePanelService","SlidePanelComponent_1","openIcon","closeIcon","createOpen","noOverlap","isSlideOver","slideHeight","_checkOverBehavior","_calculateSlideHeight","onClickButton","_sideContentRef","clientHeight","SlidePanelModule","SliderComponent","MAX_RANGE_VALUE","MIN_RANGE_VALUE","valueChange","hiddenThumb","movingProgressBar","progressLeft","progressWidth","draggingThumb","progressBarEventPositionStart","startValueBeforeProgressBarEvent","rangeBetweenElementsBeforeProgressBarEvent","totalRangeBeforeProgressBarEvent","mapRangeValuesForSlider","activeMouseDown","focusActive","onThumbMove","newPosition","getPercentageByEvent","positionInUserRange","getValueFromMapByValue","needParseValues","isAtSameValue","newValueIsValidByStep","setProgress","handleProgressBarMove","newCenter","startPositionBeforeEvent","startValueBeforeEvent","calculateNewRange","newStart","newEnd","startValueBeforeEventUserRange","startPositionBeforeEventUserRange","centerUserRange","valueRange","newStart_1","newEnd_1","handleProgressBarMoveEnd","setUserRangeMapValues","hasChangesOnMin","firstChange","hasChangesOnMax","setRangeValues","isArrowKeyLeft","isArrowKeyRight","handleArrowKeyLeft","handleArrowKeyRight","onTrackClick","evt","trackClickPercentage","trackClickToUserRange","_trackClickValid","_setEndValue","_endValueUserValue","_endValue","validStart_1","validEnd_1","_updateStart","_startValueUserValue","_startValue","_setStartValue","_updateEnd","clickPercentageBetweenRange","isInRange","middle","setEnd","onProgressMouseDown","thumb","_setStartAndEndValue","getClosestValueFromMapSlider","difference","getDifference","endValueIsGreatherThanMax","startValueIsLessThanMin","needUpdateValues","valueGreatherThanMax","valueLessThanMin","needUpdateValue","mouseEvent","trackRect","track","newLeft","stepCount","mappedValues","mapped","parseFloat","errorPerStep","sliderValue","mapToArray","exactValue","userValue","closestValue","isFirstItem","isLastItem","getMidpoint","_incrementOrDecrementStartAndEndValue","_incrementOrDecrementEndValue","increment","startLessThanMin","endGreaterThanMax","_newEndValue","SliderComponent_1","oldStart","oldEnd","clickedPosition","finalPosition","rangeStart","rangeEnd","StepState","SplitButtonComponent","eRef","buttonClicked","closeDropdown","onButtonClick","onDropdownClick","onOptionClick","SplitButtonModule","StatsCardComponent","StatsCardComponent_1","alwaysWithBorder","lightVersion","lightMode","animateNumbers","clickable","ANIMATION_DURATION_MS","STEP_DURATION_MS","updateDisplayValue","displayValue","animationDuration","stepDuration","animationCount","dividedBy","previousRawValue","incrementValue","minus","absoluteValue","incremental","isLessThan","clearInterval","intervalId","replaceNumericPositions","counter","setInterval","plus","isGreaterThan","formattedNewValue","padStart","newValueIndex","char","StatsCardModule","TimelineItemSeverity","TimelineItemSize","StepsComponent","StepsComponent_1","stepSelected","stepClick","barAnimation","afterBarAnimation","hidden","aria-orientation","role","tab-index","background-position","StepsModule","ThumbnailsComponent","combineCheckboxEvent","itemOpened","onItemOpened","onItemSelected","_item","ThumbnailItemComponent","isCheckable","isChecked","_validateItemData","_createFormGroup","itemData","checkboxClick","checkboxFormGroup","checkbox","ThumbnailItemVideoComponent","videoPlayer","play","currentTime","ThumbnailItemImageComponent","ThumbnailsModule","TileComponent","TileComponent_1","useThumbnail","TileModule","TimelineComponent","highlightActiveItem","direction","collapsable","counterLabel","_items","checkDuplicateIds","_innerWidth","changeToVertical","TimelineIconItemComponent","TimelineItemModule","HorizontalTimelineComponent","HorizontalTimelineModule","VerticalTimelineComponent","isG1Collapsed","isG2Collapsed","_activeIndex","groupItems","onChangeG1","onChangeG2","firstItem","g1Items","activeItem","g2Items","lastItem","RangeLineComponent","CollapseOptionComponent","isCollapsed","change","CollapsedItemsComponent","isCollapsedChange","VerticalItemsComponent","VerticalTimelineModule","TimelineModule","PicklistTemplateTypes","TimelineItem","Normal","checkItemIconContent","testSize","valueOf","testSeverity","WorkspaceSwitchComponent","footerButtonLabel","showFooterButton","footerButtonClicked","selectedItemIndex","_calculateListMaxHeight","workspaces","_scrollToCurrentItem","validations","buttonOnBlur","workspace","onFooterButtonClick","listItems","WorkspaceSwitchModule","LabelValueComponent","isBadgeConfiguration","isTextConfiguration","isCurrencyConfiguration","isNumberConfiguration","isDateConfiguration","LabelValueModule","PicklistComponent","itensToSelect","selectedItens","filterBy","selectedItensChange","itensToSelectChange","availableItensFilter","selectedItensFilter","itensToSelectFilterUtil","rawItensToSelect","filteredItensToSelect","selectedItensFilterUtil","rawSelectedItens","filteredSelectedItens","selectedItensMap","itensToSelectId","randomHash","selectedItensId","itemToSelectTemplate","ItemToSelect","itemSelectedTemplate","SelectedItem","toggleSelected","internalPicklistItem","containerListId","unselectedItensByListId","getOppositiveId","itens","filterEnabled","itemRemove","filterSelectedItens","filterItensToSelect","emitData","searchTerm","compareStrings","onDragStart","dragListId","invisible","onDragRelease","checkAllAvailableItensChange","_checkAllSelectedItensChange","checkAllSelectedItensChange","_checkAllSelectedByList","list","_listItens","listId","getAllElementsByListId","parseValueEmit","normalizeString","normalize","mainString","mapData","PicklistModule","ChipsComponent","newItem","ChipsComponent_1","_id","allowDuplicated","caseSensitiveDuplication","addOnTab","addOnBlur","autofocus","infoLabel","maxLengthRenderWithoutTooltip","isTabEventActive","chipTemplate","isEnter","isSeparator","eventKeyIsTab","isTab","addItem","onInputLostFocus","removeItem","itemIndex","_removedItem","chipClicked","hasField","_mappedValues","valueToAdd","duplicatedItem","hasDuplicatedItem","storeValue","ChipItemComponent","clickRemove","clickedRemove","onChipClicked","dataRender","_text","_rawText","objectField","HelpPopoverComponent","VALID_POSITIONS","VALID_ARROW_POSITIONS","popoverContent","closeButton","button","arrowElement","_arrowPosition","closed","_hasHeader","hasHeaderText","hasCloseButton","_hasFooterText","hasFooterText","hasButtonText","clickButton","HelpPopoverDirective","MUTATION_OBSERVER_CONFIG","OBSERVER_CALLBACK","applyPositionIntoElement","RESIZE_OBSERVER","onResize$","sHelpPopover","popoverIcon","popoverHeader","popoverFooter","popoverButtonText","popoverArrowPosition","_popoverPosition","mutationObserverPopoverElement","mutationObserverPopoverContent","internalPosition","manualTrigger","listener","totalElementArea","popoverElementObserver","doClick","arrowPosition","popoverPosition","popoverElementPosition","popoverComponentInstance","applyPopoverPositionBottom","applyPopoverPositionTop","applyPopoverPositionLeft","applyPopoverPositionRight","popoverElement","getPopoverElement","leftPopover","getHorizontalLeft","popoverHeight","popoverWidth","getVerticalTop","_horizontalLeft","arrowElementPosition","popoverContentPosition","arrowMiddle","distanceArrowFromStart","distanceArrowFromEnd","getLeftoverContentAvailableForPopover","popoverElementWidth","popoverElementHeight","remainingSpaceBottom","remainingSpaceTop","freePositions","freeDistance","exportAs","HelpPopoverModule","ToastModule","TreeComponent","treeData","_selected","allExpanded","treeNodeItemClicked","treeNodeEdit","nodeExpanded","nodeCollapsed","onChanges","onTreeNodeItemClicked","parseInternalTreeNodeItem","toggleChecked","onTreeNodeEdit","revertAction","onNodeExpanded","onNodeCollapsed","treeNodeItem","elementCheckState","flattenTree","checkTreeDataChildren","setSelected","selectedTreeNode","parentChecked","childrens","updateCheckedStateRecursively","node","allChildrenChecked","someChildrenChecked","allChildrenUnchecked","getNodeChildrenSummary","selectedElements","allExpandedChanges","_checkIsFirstChangeWithValue","syncSelectedChanges","expandAll","collapseAll","treeFlatten","isExpanded","leaf","tree","traverse","nodes","nodes_1","nodes_1_1","internalTreeNodeItem","object","_children","enumerable","TreeNodeItemComponent","ariaLevel","expandNode","hasChildren","toggleExpanded","collapseNode","onCheckboxEnter","newState","handleTreeNodeItemClick","handleTreeNodeItemClicked","toggleEditing","editNewValue","cancelEdit","editPreviousValue","saveEdit","treeNodeEditChildEvent","stagger","optional","TreeModule","platform.angular_components.attachment","platform.angular_components.watch","platform.angular_components.view","platform.angular_components.listen","platform.angular_components.drag_your_photo_or","platform.angular_components.select_a_file","platform.angular_components.change_photo","platform.angular_components.remove_image","platform.angular_components.confirmation_remove_image","platform.angular_components.strong","platform.angular_components.medium","platform.angular_components.weak","platform.angular_components.invalid_value","platform.angular_components.insight_intro","platform.angular_components.insight_empty","platform.angular_components.error_loading_insight_alt","platform.angular_components.loading_insight","platform.angular_components.insight_no_permission","platform.angular_components.count_items_in_target","platform.angular_components.count_items_selected","platform.angular_components.january","platform.angular_components.february","platform.angular_components.march","platform.angular_components.april","platform.angular_components.may","platform.angular_components.june","platform.angular_components.july","platform.angular_components.august","platform.angular_components.september","platform.angular_components.october","platform.angular_components.november","platform.angular_components.december","platform.angular_components.january_short","platform.angular_components.february_short","platform.angular_components.march_short","platform.angular_components.april_short","platform.angular_components.may_short","platform.angular_components.june_short","platform.angular_components.july_short","platform.angular_components.august_short","platform.angular_components.september_short","platform.angular_components.october_short","platform.angular_components.november_short","platform.angular_components.december_short","platform.angular_components.sunday","platform.angular_components.monday","platform.angular_components.tuesday","platform.angular_components.wednesday","platform.angular_components.thursday","platform.angular_components.friday","platform.angular_components.saturday","platform.angular_components.sunday_short","platform.angular_components.monday_short","platform.angular_components.tuesday_short","platform.angular_components.wednesday_short","platform.angular_components.thursday_short","platform.angular_components.friday_short","platform.angular_components.saturday_short","platform.angular_components.sunday_min","platform.angular_components.monday_min","platform.angular_components.tuesday_min","platform.angular_components.wednesday_min","platform.angular_components.thursday_min","platform.angular_components.friday_min","platform.angular_components.saturday_min","platform.angular_components.today","platform.angular_components.hour_format","platform.angular_components.date_format","platform.angular_components.ia_text_generator","platform.angular_components.attach_files","platform.angular_components.add_information","platform.angular_components.add","platform.angular_components.edit","platform.angular_components.remove","platform.angular_components.save","platform.angular_components.file_attached_successfully","platform.angular_components.loading_file","platform.angular_components.iassist_text_generator","platform.angular_components.copied_to_clipboard","platform.angular_components.copy_field_content","platform.angular_components.generate_text","platform.angular_components.context","platform.angular_components.filters","platform.angular_components.filter","platform.angular_components.clear","platform.angular_components.cancel","platform.angular_components.select","platform.angular_components.not_informed","platform.angular_components.advanced_search","platform.angular_components.no_records_found","platform.angular_components.total_record","platform.angular_components.total_records","platform.angular_components.total_records_selected","platform.angular_components.country_name_br","platform.angular_components.country_name_us","platform.angular_components.country_name_co","platform.angular_components.country_name_ar","platform.angular_components.country_name_cl","platform.angular_components.country_name_py","platform.angular_components.country_name_uy","platform.angular_components.country_name_cn","platform.angular_components.country_name_ca","platform.angular_components.country_name_as","platform.angular_components.country_name_ai","platform.angular_components.country_name_ag","platform.angular_components.country_name_bs","platform.angular_components.country_name_bb","platform.angular_components.country_name_bm","platform.angular_components.country_name_vg","platform.angular_components.country_name_ky","platform.angular_components.country_name_dm","platform.angular_components.country_name_do","platform.angular_components.country_name_gd","platform.angular_components.country_name_gu","platform.angular_components.country_name_jm","platform.angular_components.country_name_ms","platform.angular_components.country_name_mp","platform.angular_components.country_name_pr","platform.angular_components.country_name_kn","platform.angular_components.country_name_lc","platform.angular_components.country_name_vc","platform.angular_components.country_name_tt","platform.angular_components.country_name_tc","platform.angular_components.country_name_fi","platform.angular_components.country_name_rs","platform.angular_components.country_name_zm","platform.angular_components.country_name_af","platform.angular_components.country_name_al","platform.angular_components.country_name_hr","platform.angular_components.country_name_ec","platform.angular_components.country_name_et","platform.angular_components.country_name_gh","platform.angular_components.country_name_gr","platform.angular_components.country_name_ie","platform.angular_components.country_name_it","platform.angular_components.country_name_lr","platform.angular_components.country_name_na","platform.angular_components.country_name_nz","platform.angular_components.country_name_sa","platform.angular_components.country_name_za","platform.angular_components.country_name_lk","platform.angular_components.country_name_sd","platform.angular_components.country_name_th","platform.angular_components.country_name_ua","platform.angular_components.country_name_ae","platform.angular_components.country_name_va","platform.angular_components.country_name_zw","platform.angular_components.country_name_dz","platform.angular_components.country_name_be","platform.angular_components.country_name_yt","platform.angular_components.country_name_bl","platform.angular_components.country_name_mf","platform.angular_components.country_name_ad","platform.angular_components.country_name_ao","platform.angular_components.country_name_ba","platform.angular_components.country_name_bg","platform.angular_components.country_name_kh","platform.angular_components.country_name_cz","platform.angular_components.country_name_gq","platform.angular_components.country_name_gw","platform.angular_components.country_name_li","platform.angular_components.country_name_lu","platform.angular_components.country_name_mk","platform.angular_components.country_name_me","platform.angular_components.country_name_pe","platform.angular_components.country_name_pl","platform.angular_components.country_name_pt","platform.angular_components.country_name_si","platform.angular_components.country_name_am","platform.angular_components.country_name_aw","platform.angular_components.country_name_bn","platform.angular_components.country_name_fj","platform.angular_components.country_name_gm","platform.angular_components.country_name_gy","platform.angular_components.country_name_is","platform.angular_components.country_name_fm","platform.angular_components.country_name_nr","platform.angular_components.country_name_nu","platform.angular_components.country_name_pw","platform.angular_components.country_name_st","platform.angular_components.country_name_to","platform.angular_components.country_name_vu","platform.angular_components.country_name_fk","platform.angular_components.country_name_fo","platform.angular_components.country_name_sh","platform.angular_components.country_name_au","platform.angular_components.country_name_cx","platform.angular_components.country_name_cc","platform.angular_components.country_name_cd","platform.angular_components.country_name_kg","platform.angular_components.country_name_ro","platform.angular_components.country_name_rw","platform.angular_components.country_name_sk","platform.angular_components.country_name_sy","platform.angular_components.country_name_tw","platform.angular_components.country_name_tz","platform.angular_components.country_name_ye","platform.angular_components.country_name_at","platform.angular_components.country_name_ke","platform.angular_components.country_name_ug","platform.angular_components.country_name_az","platform.angular_components.country_name_ch","platform.angular_components.country_name_vn","platform.angular_components.country_name_bh","platform.angular_components.country_name_cr","platform.angular_components.country_name_sv","platform.angular_components.country_name_ee","platform.angular_components.country_name_sz","platform.angular_components.country_name_gt","platform.angular_components.country_name_hk","platform.angular_components.country_name_ls","platform.angular_components.country_name_mo","platform.angular_components.country_name_mt","platform.angular_components.country_name_mu","platform.angular_components.country_name_mn","platform.angular_components.country_name_ni","platform.angular_components.country_name_om","platform.angular_components.country_name_pg","platform.angular_components.country_name_qa","platform.angular_components.country_name_sg","platform.angular_components.country_name_tl","platform.angular_components.country_name_bd","platform.angular_components.country_name_im","platform.angular_components.country_name_by","platform.angular_components.country_name_bz","platform.angular_components.country_name_mv","platform.angular_components.country_name_mh","platform.angular_components.country_name_sr","platform.angular_components.country_name_bj","platform.angular_components.country_name_bt","platform.angular_components.country_name_bf","platform.angular_components.country_name_bi","platform.angular_components.country_name_cf","platform.angular_components.country_name_td","platform.angular_components.country_name_ci","platform.angular_components.country_name_dk","platform.angular_components.country_name_dj","platform.angular_components.country_name_fr","platform.angular_components.country_name_pf","platform.angular_components.country_name_ga","platform.angular_components.country_name_ml","platform.angular_components.country_name_mr","platform.angular_components.country_name_ne","platform.angular_components.country_name_sm","platform.angular_components.country_name_tg","platform.angular_components.country_name_bo","platform.angular_components.country_name_gi","platform.angular_components.country_name_ki","platform.angular_components.country_name_tv","platform.angular_components.country_name_bw","platform.angular_components.country_name_er","platform.angular_components.country_name_lv","platform.angular_components.country_name_lb","platform.angular_components.country_name_tn","platform.angular_components.country_name_cm","platform.angular_components.country_name_cv","platform.angular_components.country_name_km","platform.angular_components.country_name_pm","platform.angular_components.country_name_cg","platform.angular_components.country_name_mz","platform.angular_components.country_name_mm","platform.angular_components.country_name_ck","platform.angular_components.country_name_cu","platform.angular_components.country_name_cy","platform.angular_components.country_name_eg","platform.angular_components.country_name_ir","platform.angular_components.country_name_iq","platform.angular_components.country_name_ng","platform.angular_components.country_name_kp","platform.angular_components.country_name_ph","platform.angular_components.country_name_ge","platform.angular_components.country_name_gn","platform.angular_components.country_name_es","platform.angular_components.country_name_de","platform.angular_components.country_name_gl","platform.angular_components.country_name_wf","platform.angular_components.country_name_ht","platform.angular_components.country_name_hn","platform.angular_components.country_name_pa","platform.angular_components.country_name_hu","platform.angular_components.country_name_in","platform.angular_components.country_name_id","platform.angular_components.country_name_il","platform.angular_components.country_name_jp","platform.angular_components.country_name_jo","platform.angular_components.country_name_kz","platform.angular_components.country_name_kw","platform.angular_components.country_name_la","platform.angular_components.country_name_ly","platform.angular_components.country_name_lt","platform.angular_components.country_name_np","platform.angular_components.country_name_mg","platform.angular_components.country_name_mw","platform.angular_components.country_name_my","platform.angular_components.country_name_mx","platform.angular_components.country_name_md","platform.angular_components.country_name_mc","platform.angular_components.country_name_ma","platform.angular_components.country_name_nl","platform.angular_components.country_name_nc","platform.angular_components.country_name_no","platform.angular_components.country_name_pk","platform.angular_components.country_name_ru","platform.angular_components.country_name_ws","platform.angular_components.country_name_sb","platform.angular_components.country_name_sn","platform.angular_components.country_name_sc","platform.angular_components.country_name_sl","platform.angular_components.country_name_so","platform.angular_components.country_name_kr","platform.angular_components.country_name_se","platform.angular_components.country_name_tj","platform.angular_components.country_name_tk","platform.angular_components.country_name_tr","platform.angular_components.country_name_tm","platform.angular_components.country_name_uz","platform.angular_components.country_name_ve","platform.angular_components.date_modified_custom_blob","platform.angular_components.available-items","platform.angular_components.selected-items","platform.angular_components.picklist-placeholder","platform.angular_components.add_all","platform.angular_components.remove_all","platform.angular_components.country_name_gb","platform.angular_components.insight_footer","platform.angular_components.text_area_speech_recognition_placeholder","platform.angular_components.text_area_before_speech","platform.angular_components.text_area_while_speech","platform.angular_components.text_area_end_speech","platform.angular_components.no_microphone_permission","array","disabledFn"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","export enum TooltipPosition {\n Top = \"top\",\n Bottom = \"bottom\",\n Left = \"left\",\n Right = \"right\",\n}\n","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 MobileBehavior {\n Pressing = \"pressing\",\n Tap = \"tap\",\n}","export enum TooltipEvent {\n Focus = \"focus\",\n Hover = \"hover\",\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","// 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 {\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","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, 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 CardTemplateTypes {\n Header = \"header\",\n Body = \"body\",\n Footer = \"footer\",\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 Languages {\n TaxCalculation = \"TaxCalculation\",\n Json = \"Json\"\n}\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 Themes {\n SDSLight = \"SDSLight\"\n}\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","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","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","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","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","/**\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","export enum MarkerSeverity {\n Error,\n Info,\n Warning\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","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","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 {\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 { 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 { 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 { 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","export function isCurrentPositionInsideString(stringBeforeCurrentPosition: string): boolean {\n const doubleQuotesQuantity = stringBeforeCurrentPosition.match(/\"/g)?.length || 0;\n return doubleQuotesQuantity % 2 !== 0;\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 { 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 { 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\";\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 { 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 { 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 { 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 { 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 { 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","export enum Ordination {\n NO = \"no\",\n AZ = \"az\",\n ZA = \"za\",\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 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","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 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 {\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 { 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}","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 { 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 StructureType {\n Fieldset = \"Fieldset\",\n Section = \"Section\",\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 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 { 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 SVGFactoryIcons {\n IAssist = \"iassist\",\n Senior = \"senior\",\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 LoadingStateIndicators {\n Dots = \"dots\",\n Logo = \"logo\",\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 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, 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 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 { 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","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","export enum ThumbnailSize {\n Small = \"small\",\n Medium = \"medium\",\n Large = \"large\",\n}\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 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 { 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 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 {\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","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","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 { 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","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","export enum GlobalSearchSizeEnum {\n STANDARD = \"STANDARD\",\n MEDIUM = \"MEDIUM\",\n SMALL = \"SMALL\"\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 IAInsightTemplateTypes {\n Empty = \"empty\",\n Intro = \"intro\",\n NoPermission = \"noPermission\",\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 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 { 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 EnumSeverity {\n Default = \"Default\",\n Info = \"Info\",\n Warn = \"Warn\",\n Error = \"Error\",\n Success = \"Success\",\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 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, 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","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","export enum SplitButtonType {\n Primary = \"primary\",\n Secondary = \"secondary\",\n Default = \"default\",\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","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 { 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","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 { 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","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","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 {\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","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"]}