@seniorsistemas/angular-components 19.9.14 → 19.9.15-develop-11ab86f5

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 (513) hide show
  1. package/README.md +84 -2
  2. package/accordion/README.md +5 -4
  3. package/accordion/lib/accordion/accordion.module.d.ts +7 -0
  4. package/alert/lib/alert/alert.module.d.ts +7 -0
  5. package/badge/README.md +5 -4
  6. package/badge/lib/badge/badge.module.d.ts +10 -0
  7. package/bignumber-input/README.md +5 -4
  8. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +16 -39
  9. package/bignumber-input/lib/bignumber-input/bignumber-input.module.d.ts +7 -0
  10. package/breadcrumb/README.md +5 -4
  11. package/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.d.ts +5 -1
  12. package/button/lib/button/button.module.d.ts +7 -0
  13. package/calendar-mask/README.md +5 -4
  14. package/calendar-mask/lib/calendar-mask/calendar-mask.module.d.ts +7 -0
  15. package/card/README.md +6 -5
  16. package/card/lib/card/card.component.d.ts +2 -0
  17. package/card/lib/card/card.module.d.ts +7 -0
  18. package/chat/README.md +11 -8
  19. package/chat/lib/chat/chat.module.d.ts +7 -0
  20. package/checkbox-list/README.md +5 -4
  21. package/checkbox-list/lib/checkbox-list/checkbox-list.module.d.ts +7 -0
  22. package/chips/README.md +5 -4
  23. package/chips/lib/chips/chips.module.d.ts +7 -0
  24. package/code-editor/README.md +5 -4
  25. package/code-editor/lib/code-editor/code-editor.module.d.ts +7 -0
  26. package/collapse-link/README.md +5 -4
  27. package/collapse-link/lib/collapse-link/collapse-link.module.d.ts +7 -0
  28. package/common/lib/angular-components.module.d.ts +9 -0
  29. package/common/lib/provide-angular-components.d.ts +19 -0
  30. package/common/lib/svg-factory/svg-factory.module.d.ts +7 -0
  31. package/common/public-api.d.ts +1 -0
  32. package/content-generator/README.md +2 -2
  33. package/content-generator/lib/content-generator/content-generator.module.d.ts +7 -0
  34. package/control-errors/README.md +2 -2
  35. package/control-errors/lib/control-errors/control-errors.module.d.ts +7 -0
  36. package/country-phone-picker/README.md +2 -2
  37. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.d.ts +1 -0
  38. package/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.d.ts +7 -0
  39. package/currency/README.md +1 -1
  40. package/custom-fields/README.md +14 -3
  41. package/custom-fields/lib/custom-fields/custom-fields.module.d.ts +7 -0
  42. package/custom-fields/lib/custom-fields/models/custom-field-value-parser.d.ts +21 -0
  43. package/custom-fields/lib/custom-fields/models/index.d.ts +1 -0
  44. package/dialog/README.md +1 -1
  45. package/drawer/README.md +8 -4
  46. package/drawer/lib/drawer/drawer.module.d.ts +10 -0
  47. package/dynamic-form/README.md +18 -2
  48. package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +0 -1
  49. package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +7 -0
  50. package/dynamic-form/dynamic-form/form-field/addon-config.d.ts +10 -1
  51. package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +15 -15
  52. package/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.d.ts +8 -6
  53. package/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.d.ts +5 -2
  54. package/dynamic-form/public-api.d.ts +0 -1
  55. package/editable-overlay/README.md +2 -2
  56. package/editable-overlay/lib/editable-overlay/editable-overlay.module.d.ts +7 -0
  57. package/empty-state/README.md +5 -2
  58. package/empty-state/lib/empty-state/empty-state.module.d.ts +7 -0
  59. package/esm2022/accordion/lib/accordion/accordion.module.mjs +8 -1
  60. package/esm2022/alert/lib/alert/alert.module.mjs +8 -1
  61. package/esm2022/badge/lib/badge/badge.module.mjs +11 -1
  62. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +19 -127
  63. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.module.mjs +8 -1
  64. package/esm2022/breadcrumb/lib/dynamic-breadcrumb/dynamic-breadcrumb.module.mjs +6 -2
  65. package/esm2022/button/lib/button/button.module.mjs +8 -1
  66. package/esm2022/calendar-mask/lib/calendar-mask/calendar-mask.module.mjs +8 -1
  67. package/esm2022/card/lib/card/card.component.mjs +17 -3
  68. package/esm2022/card/lib/card/card.module.mjs +8 -1
  69. package/esm2022/chat/lib/chat/chat.module.mjs +8 -1
  70. package/esm2022/checkbox-list/lib/checkbox-list/checkbox-list.module.mjs +8 -1
  71. package/esm2022/chips/lib/chips/chips/chips.component.mjs +3 -3
  72. package/esm2022/chips/lib/chips/chips.module.mjs +8 -1
  73. package/esm2022/code-editor/lib/code-editor/code-editor.component.mjs +10 -1
  74. package/esm2022/code-editor/lib/code-editor/code-editor.module.mjs +9 -15
  75. package/esm2022/collapse-link/lib/collapse-link/collapse-link.module.mjs +8 -1
  76. package/esm2022/common/lib/angular-components.module.mjs +10 -1
  77. package/esm2022/common/lib/provide-angular-components.mjs +22 -0
  78. package/esm2022/common/lib/svg-factory/svg-factory.module.mjs +8 -1
  79. package/esm2022/common/public-api.mjs +2 -1
  80. package/esm2022/content-generator/lib/content-generator/content-generator.module.mjs +8 -1
  81. package/esm2022/control-errors/lib/control-errors/control-errors.module.mjs +8 -1
  82. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.component.mjs +12 -7
  83. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.module.mjs +8 -1
  84. package/esm2022/country-phone-picker/lib/country-phone-picker/country-phone-picker.service.mjs +4 -3
  85. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +17 -13
  86. package/esm2022/custom-fields/lib/custom-fields/custom-fields.module.mjs +8 -1
  87. package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +4 -3
  88. package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +4 -2
  89. package/esm2022/custom-fields/lib/custom-fields/models/custom-field-value-parser.mjs +46 -0
  90. package/esm2022/custom-fields/lib/custom-fields/models/index.mjs +2 -1
  91. package/esm2022/datepicker/lib/datepicker/datepicker.component.mjs +3 -3
  92. package/esm2022/drawer/lib/drawer/drawer.module.mjs +11 -1
  93. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +3 -5
  94. package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +8 -1
  95. package/esm2022/dynamic-form/dynamic-form/form-field/addon-config.mjs +6 -2
  96. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +1 -1
  97. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +1 -1
  98. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +33 -10
  99. package/esm2022/dynamic-form/public-api.mjs +2 -7
  100. package/esm2022/editable-overlay/lib/editable-overlay/editable-overlay.module.mjs +8 -1
  101. package/esm2022/empty-state/lib/empty-state/empty-state.module.mjs +8 -1
  102. package/esm2022/fieldset/lib/fieldset/fieldset.module.mjs +8 -1
  103. package/esm2022/file-picker/lib/file-picker/file-picker.module.mjs +8 -1
  104. package/esm2022/file-picker/lib/file-picker/file-picker.service.mjs +4 -3
  105. package/esm2022/gantt/lib/gantt/gantt.module.mjs +8 -1
  106. package/esm2022/global-search/lib/global-search/global-search.module.mjs +19 -1
  107. package/esm2022/grid-menu/lib/grid-menu/grid-menu.module.mjs +8 -1
  108. package/esm2022/help-popover/lib/help-popover/help-popover.module.mjs +8 -1
  109. package/esm2022/image-cropper/lib/image-cropper/image-cropper.module.mjs +12 -1
  110. package/esm2022/image-cropper/lib/image-cropper/image-cropper.service.mjs +4 -3
  111. package/esm2022/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.mjs +8 -1
  112. package/esm2022/info-sign/lib/info-sign/info-sign.module.mjs +8 -1
  113. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-number/inline-edit-number.component.mjs +5 -5
  114. package/esm2022/inline-edit/lib/inline-edit/inline-edit.module.mjs +8 -1
  115. package/esm2022/input-group/lib/input-group/input-group.module.mjs +8 -1
  116. package/esm2022/input-mask/lib/input-mask/input-mask.module.mjs +8 -1
  117. package/esm2022/input-text/lib/input-text/input-text.module.mjs +8 -1
  118. package/esm2022/insights/lib/insights/insights.module.mjs +11 -1
  119. package/esm2022/kanban/lib/kanban/kanban-event.service.mjs +4 -3
  120. package/esm2022/kanban/lib/kanban/kanban.module.mjs +11 -1
  121. package/esm2022/label-value/lib/label-value/label-value.module.mjs +8 -1
  122. package/esm2022/loading-state/lib/loading-state/loading-state.module.mjs +8 -1
  123. package/esm2022/locale/lib/locale/locale.module.mjs +14 -1
  124. package/esm2022/locale/lib/locale/locale.service.mjs +4 -3
  125. package/esm2022/locale/lib/locale/options/index.mjs +1 -13
  126. package/esm2022/locale/lib/locale/pipes/localized-bignumber-impure.pipe.mjs +1 -1
  127. package/esm2022/locale/lib/locale/pipes/localized-bignumber.pipe.mjs +10 -2
  128. package/esm2022/locale/lib/locale/provide-locale.mjs +42 -0
  129. package/esm2022/locale/public-api.mjs +2 -1
  130. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.directive.mjs +5 -1
  131. package/esm2022/localized-number-input/lib/localized-number-input/localized-number-input.module.mjs +8 -1
  132. package/esm2022/mask/lib/mask/mask-formatter.module.mjs +8 -1
  133. package/esm2022/mouse-events/lib/mouse-events/mouse-events.module.mjs +8 -1
  134. package/esm2022/navigation-button/lib/navigation-button/navigation-button.module.mjs +8 -1
  135. package/esm2022/number-input/lib/number-input/number-input.directive.mjs +2 -2
  136. package/esm2022/number-input/lib/number-input/number-input.module.mjs +9 -2
  137. package/esm2022/numeric/lib/numeric.module.mjs +8 -1
  138. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.directive.mjs +178 -15
  139. package/esm2022/numeric-mask/lib/numeric-mask/numeric-mask.module.mjs +8 -1
  140. package/esm2022/object-card/lib/object-card/object-card.module.mjs +12 -1
  141. package/esm2022/panel/lib/panel/panel.module.mjs +11 -1
  142. package/esm2022/password-strength/lib/password-strength/password-strength.module.mjs +8 -1
  143. package/esm2022/picklist/lib/picklist/picklist.module.mjs +8 -1
  144. package/esm2022/pin-code-field/lib/pin-code-field.module.mjs +8 -1
  145. package/esm2022/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.mjs +8 -1
  146. package/esm2022/progressbar/lib/progressbar/progressbar.module.mjs +8 -1
  147. package/esm2022/rating-scale/lib/rating-scale/rating-scale.module.mjs +8 -1
  148. package/esm2022/select/lib/select/select.component.mjs +16 -3
  149. package/esm2022/select-button/lib/select-button/select-button.module.mjs +8 -1
  150. package/esm2022/shared/lib/shared/border-button/border-button.module.mjs +8 -1
  151. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.mjs +8 -1
  152. package/esm2022/slide-in-bar/lib/slide-in-bar/slide-in-bar.service.mjs +4 -3
  153. package/esm2022/slider/lib/slider/slider.module.mjs +8 -1
  154. package/esm2022/speech-recognition/lib/speech-recognition/speech-recognition.module.mjs +8 -1
  155. package/esm2022/split-button/lib/split-button/split-button.module.mjs +8 -1
  156. package/esm2022/stats-card/lib/stats-card/stats-card.module.mjs +8 -1
  157. package/esm2022/stepper/lib/stepper/stepper.module.mjs +8 -1
  158. package/esm2022/structure/lib/structure/structure.module.mjs +8 -1
  159. package/esm2022/switch/lib/switch/switch.module.mjs +8 -1
  160. package/esm2022/table/lib/table/table.module.mjs +9 -1
  161. package/esm2022/table-header/lib/table-header/table-header-checkox.module.mjs +8 -1
  162. package/esm2022/template/lib/template/template.module.mjs +8 -1
  163. package/esm2022/text-area/lib/text-area/text-area.component.mjs +3 -3
  164. package/esm2022/text-area/lib/text-area.module.mjs +8 -1
  165. package/esm2022/thumbnail/lib/thumbnail/thumbnail.module.mjs +8 -1
  166. package/esm2022/thumbnails/lib/thumbnails/thumbnails.module.mjs +8 -1
  167. package/esm2022/tiered-menu/lib/tiered-menu/tiered-menu.module.mjs +8 -1
  168. package/esm2022/tile/lib/tile/tile.module.mjs +11 -1
  169. package/esm2022/timeline/lib/timeline/timeline.module.mjs +8 -1
  170. package/esm2022/toast/lib/toast/toast.module.mjs +8 -1
  171. package/esm2022/token-list/lib/token-list/token-list.module.mjs +8 -1
  172. package/esm2022/tooltip/lib/tooltip/tooltip.module.mjs +8 -1
  173. package/esm2022/topbar/lib/topbar/topbar.module.mjs +11 -1
  174. package/esm2022/tree/lib/tree/tree.module.mjs +8 -1
  175. package/esm2022/workspace-switch/lib/workspace-switch/workspace-switch.module.mjs +8 -1
  176. package/fesm2022/seniorsistemas-angular-components-accordion.mjs +7 -0
  177. package/fesm2022/seniorsistemas-angular-components-accordion.mjs.map +1 -1
  178. package/fesm2022/seniorsistemas-angular-components-alert.mjs +7 -0
  179. package/fesm2022/seniorsistemas-angular-components-alert.mjs.map +1 -1
  180. package/fesm2022/seniorsistemas-angular-components-badge.mjs +10 -0
  181. package/fesm2022/seniorsistemas-angular-components-badge.mjs.map +1 -1
  182. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +25 -126
  183. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  184. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs +5 -1
  185. package/fesm2022/seniorsistemas-angular-components-breadcrumb.mjs.map +1 -1
  186. package/fesm2022/seniorsistemas-angular-components-button.mjs +7 -0
  187. package/fesm2022/seniorsistemas-angular-components-button.mjs.map +1 -1
  188. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs +7 -0
  189. package/fesm2022/seniorsistemas-angular-components-calendar-mask.mjs.map +1 -1
  190. package/fesm2022/seniorsistemas-angular-components-card.mjs +23 -2
  191. package/fesm2022/seniorsistemas-angular-components-card.mjs.map +1 -1
  192. package/fesm2022/seniorsistemas-angular-components-chat.mjs +7 -0
  193. package/fesm2022/seniorsistemas-angular-components-chat.mjs.map +1 -1
  194. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs +7 -0
  195. package/fesm2022/seniorsistemas-angular-components-checkbox-list.mjs.map +1 -1
  196. package/fesm2022/seniorsistemas-angular-components-chips.mjs +9 -2
  197. package/fesm2022/seniorsistemas-angular-components-chips.mjs.map +1 -1
  198. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs +164 -160
  199. package/fesm2022/seniorsistemas-angular-components-code-editor.mjs.map +1 -1
  200. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs +7 -0
  201. package/fesm2022/seniorsistemas-angular-components-collapse-link.mjs.map +1 -1
  202. package/fesm2022/seniorsistemas-angular-components-common.mjs +38 -2
  203. package/fesm2022/seniorsistemas-angular-components-common.mjs.map +1 -1
  204. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs +7 -0
  205. package/fesm2022/seniorsistemas-angular-components-content-generator.mjs.map +1 -1
  206. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs +7 -0
  207. package/fesm2022/seniorsistemas-angular-components-control-errors.mjs.map +1 -1
  208. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs +21 -8
  209. package/fesm2022/seniorsistemas-angular-components-country-phone-picker.mjs.map +1 -1
  210. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +75 -15
  211. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  212. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs +2 -2
  213. package/fesm2022/seniorsistemas-angular-components-datepicker.mjs.map +1 -1
  214. package/fesm2022/seniorsistemas-angular-components-drawer.mjs +10 -0
  215. package/fesm2022/seniorsistemas-angular-components-drawer.mjs.map +1 -1
  216. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +54 -212
  217. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  218. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs +7 -0
  219. package/fesm2022/seniorsistemas-angular-components-editable-overlay.mjs.map +1 -1
  220. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs +7 -0
  221. package/fesm2022/seniorsistemas-angular-components-empty-state.mjs.map +1 -1
  222. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs +7 -0
  223. package/fesm2022/seniorsistemas-angular-components-fieldset.mjs.map +1 -1
  224. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs +10 -2
  225. package/fesm2022/seniorsistemas-angular-components-file-picker.mjs.map +1 -1
  226. package/fesm2022/seniorsistemas-angular-components-gantt.mjs +7 -0
  227. package/fesm2022/seniorsistemas-angular-components-gantt.mjs.map +1 -1
  228. package/fesm2022/seniorsistemas-angular-components-global-search.mjs +18 -0
  229. package/fesm2022/seniorsistemas-angular-components-global-search.mjs.map +1 -1
  230. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs +7 -0
  231. package/fesm2022/seniorsistemas-angular-components-grid-menu.mjs.map +1 -1
  232. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs +7 -0
  233. package/fesm2022/seniorsistemas-angular-components-help-popover.mjs.map +1 -1
  234. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs +14 -2
  235. package/fesm2022/seniorsistemas-angular-components-image-cropper.mjs.map +1 -1
  236. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs +7 -0
  237. package/fesm2022/seniorsistemas-angular-components-infinite-scroll.mjs.map +1 -1
  238. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs +7 -0
  239. package/fesm2022/seniorsistemas-angular-components-info-sign.mjs.map +1 -1
  240. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +11 -4
  241. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  242. package/fesm2022/seniorsistemas-angular-components-input-group.mjs +7 -0
  243. package/fesm2022/seniorsistemas-angular-components-input-group.mjs.map +1 -1
  244. package/fesm2022/seniorsistemas-angular-components-input-mask.mjs +7 -0
  245. package/fesm2022/seniorsistemas-angular-components-input-mask.mjs.map +1 -1
  246. package/fesm2022/seniorsistemas-angular-components-input-text.mjs +7 -0
  247. package/fesm2022/seniorsistemas-angular-components-input-text.mjs.map +1 -1
  248. package/fesm2022/seniorsistemas-angular-components-insights.mjs +10 -0
  249. package/fesm2022/seniorsistemas-angular-components-insights.mjs.map +1 -1
  250. package/fesm2022/seniorsistemas-angular-components-kanban.mjs +13 -2
  251. package/fesm2022/seniorsistemas-angular-components-kanban.mjs.map +1 -1
  252. package/fesm2022/seniorsistemas-angular-components-label-value.mjs +7 -0
  253. package/fesm2022/seniorsistemas-angular-components-label-value.mjs.map +1 -1
  254. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs +7 -0
  255. package/fesm2022/seniorsistemas-angular-components-loading-state.mjs.map +1 -1
  256. package/fesm2022/seniorsistemas-angular-components-locale.mjs +58 -5
  257. package/fesm2022/seniorsistemas-angular-components-locale.mjs.map +1 -1
  258. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs +11 -0
  259. package/fesm2022/seniorsistemas-angular-components-localized-number-input.mjs.map +1 -1
  260. package/fesm2022/seniorsistemas-angular-components-mask.mjs +7 -0
  261. package/fesm2022/seniorsistemas-angular-components-mask.mjs.map +1 -1
  262. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs +7 -0
  263. package/fesm2022/seniorsistemas-angular-components-mouse-events.mjs.map +1 -1
  264. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs +7 -0
  265. package/fesm2022/seniorsistemas-angular-components-navigation-button.mjs.map +1 -1
  266. package/fesm2022/seniorsistemas-angular-components-number-input.mjs +9 -2
  267. package/fesm2022/seniorsistemas-angular-components-number-input.mjs.map +1 -1
  268. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs +184 -14
  269. package/fesm2022/seniorsistemas-angular-components-numeric-mask.mjs.map +1 -1
  270. package/fesm2022/seniorsistemas-angular-components-numeric.mjs +7 -0
  271. package/fesm2022/seniorsistemas-angular-components-numeric.mjs.map +1 -1
  272. package/fesm2022/seniorsistemas-angular-components-object-card.mjs +11 -0
  273. package/fesm2022/seniorsistemas-angular-components-object-card.mjs.map +1 -1
  274. package/fesm2022/seniorsistemas-angular-components-panel.mjs +10 -0
  275. package/fesm2022/seniorsistemas-angular-components-panel.mjs.map +1 -1
  276. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs +7 -0
  277. package/fesm2022/seniorsistemas-angular-components-password-strength.mjs.map +1 -1
  278. package/fesm2022/seniorsistemas-angular-components-picklist.mjs +7 -0
  279. package/fesm2022/seniorsistemas-angular-components-picklist.mjs.map +1 -1
  280. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs +7 -0
  281. package/fesm2022/seniorsistemas-angular-components-pin-code-field.mjs.map +1 -1
  282. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs +7 -0
  283. package/fesm2022/seniorsistemas-angular-components-profile-picture-picker.mjs.map +1 -1
  284. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs +7 -0
  285. package/fesm2022/seniorsistemas-angular-components-progressbar.mjs.map +1 -1
  286. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs +7 -0
  287. package/fesm2022/seniorsistemas-angular-components-rating-scale.mjs.map +1 -1
  288. package/fesm2022/seniorsistemas-angular-components-select-button.mjs +7 -0
  289. package/fesm2022/seniorsistemas-angular-components-select-button.mjs.map +1 -1
  290. package/fesm2022/seniorsistemas-angular-components-select.mjs +15 -2
  291. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  292. package/fesm2022/seniorsistemas-angular-components-shared.mjs +7 -0
  293. package/fesm2022/seniorsistemas-angular-components-shared.mjs.map +1 -1
  294. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs +10 -2
  295. package/fesm2022/seniorsistemas-angular-components-slide-in-bar.mjs.map +1 -1
  296. package/fesm2022/seniorsistemas-angular-components-slider.mjs +7 -0
  297. package/fesm2022/seniorsistemas-angular-components-slider.mjs.map +1 -1
  298. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs +7 -0
  299. package/fesm2022/seniorsistemas-angular-components-speech-recognition.mjs.map +1 -1
  300. package/fesm2022/seniorsistemas-angular-components-split-button.mjs +7 -0
  301. package/fesm2022/seniorsistemas-angular-components-split-button.mjs.map +1 -1
  302. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs +7 -0
  303. package/fesm2022/seniorsistemas-angular-components-stats-card.mjs.map +1 -1
  304. package/fesm2022/seniorsistemas-angular-components-stepper.mjs +7 -0
  305. package/fesm2022/seniorsistemas-angular-components-stepper.mjs.map +1 -1
  306. package/fesm2022/seniorsistemas-angular-components-structure.mjs +7 -0
  307. package/fesm2022/seniorsistemas-angular-components-structure.mjs.map +1 -1
  308. package/fesm2022/seniorsistemas-angular-components-switch.mjs +7 -0
  309. package/fesm2022/seniorsistemas-angular-components-switch.mjs.map +1 -1
  310. package/fesm2022/seniorsistemas-angular-components-table-header.mjs +7 -0
  311. package/fesm2022/seniorsistemas-angular-components-table-header.mjs.map +1 -1
  312. package/fesm2022/seniorsistemas-angular-components-table.mjs +8 -0
  313. package/fesm2022/seniorsistemas-angular-components-table.mjs.map +1 -1
  314. package/fesm2022/seniorsistemas-angular-components-template.mjs +7 -0
  315. package/fesm2022/seniorsistemas-angular-components-template.mjs.map +1 -1
  316. package/fesm2022/seniorsistemas-angular-components-text-area.mjs +9 -2
  317. package/fesm2022/seniorsistemas-angular-components-text-area.mjs.map +1 -1
  318. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs +7 -0
  319. package/fesm2022/seniorsistemas-angular-components-thumbnail.mjs.map +1 -1
  320. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs +7 -0
  321. package/fesm2022/seniorsistemas-angular-components-thumbnails.mjs.map +1 -1
  322. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +7 -0
  323. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  324. package/fesm2022/seniorsistemas-angular-components-tile.mjs +10 -0
  325. package/fesm2022/seniorsistemas-angular-components-tile.mjs.map +1 -1
  326. package/fesm2022/seniorsistemas-angular-components-timeline.mjs +7 -0
  327. package/fesm2022/seniorsistemas-angular-components-timeline.mjs.map +1 -1
  328. package/fesm2022/seniorsistemas-angular-components-toast.mjs +7 -0
  329. package/fesm2022/seniorsistemas-angular-components-toast.mjs.map +1 -1
  330. package/fesm2022/seniorsistemas-angular-components-token-list.mjs +7 -0
  331. package/fesm2022/seniorsistemas-angular-components-token-list.mjs.map +1 -1
  332. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs +7 -0
  333. package/fesm2022/seniorsistemas-angular-components-tooltip.mjs.map +1 -1
  334. package/fesm2022/seniorsistemas-angular-components-topbar.mjs +10 -0
  335. package/fesm2022/seniorsistemas-angular-components-topbar.mjs.map +1 -1
  336. package/fesm2022/seniorsistemas-angular-components-tree.mjs +7 -0
  337. package/fesm2022/seniorsistemas-angular-components-tree.mjs.map +1 -1
  338. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs +7 -0
  339. package/fesm2022/seniorsistemas-angular-components-workspace-switch.mjs.map +1 -1
  340. package/fieldset/README.md +2 -2
  341. package/fieldset/lib/fieldset/fieldset.module.d.ts +7 -0
  342. package/file-picker/README.md +2 -2
  343. package/file-picker/lib/file-picker/file-picker.module.d.ts +7 -0
  344. package/file-upload/README.md +1 -1
  345. package/gantt/README.md +2 -2
  346. package/gantt/lib/gantt/gantt.module.d.ts +7 -0
  347. package/global-search/README.md +5 -2
  348. package/global-search/lib/global-search/global-search.module.d.ts +18 -0
  349. package/grid-menu/README.md +5 -4
  350. package/grid-menu/lib/grid-menu/grid-menu.module.d.ts +7 -0
  351. package/help-popover/README.md +5 -4
  352. package/help-popover/lib/help-popover/help-popover.module.d.ts +7 -0
  353. package/ia-insight/README.md +1 -1
  354. package/image-cropper/README.md +6 -5
  355. package/image-cropper/lib/image-cropper/image-cropper.module.d.ts +11 -0
  356. package/infinite-scroll/README.md +5 -4
  357. package/infinite-scroll/lib/infinite-scroll/infinite-scroll.module.d.ts +7 -0
  358. package/info-sign/README.md +5 -4
  359. package/info-sign/lib/info-sign/info-sign.module.d.ts +7 -0
  360. package/inline-edit/README.md +5 -4
  361. package/inline-edit/lib/inline-edit/inline-edit.module.d.ts +7 -0
  362. package/input-group/lib/input-group/input-group.module.d.ts +7 -0
  363. package/input-mask/lib/input-mask/input-mask.module.d.ts +7 -0
  364. package/input-text/lib/input-text/input-text.module.d.ts +7 -0
  365. package/insights/README.md +6 -4
  366. package/insights/lib/insights/insights.module.d.ts +10 -0
  367. package/kanban/README.md +6 -4
  368. package/kanban/lib/kanban/kanban.module.d.ts +10 -0
  369. package/label-value/README.md +5 -4
  370. package/label-value/lib/label-value/label-value.module.d.ts +7 -0
  371. package/loading-state/README.md +9 -5
  372. package/loading-state/lib/loading-state/loading-state.module.d.ts +7 -0
  373. package/locale/lib/locale/locale.module.d.ts +13 -0
  374. package/locale/lib/locale/pipes/localized-bignumber-impure.pipe.d.ts +2 -2
  375. package/locale/lib/locale/pipes/localized-bignumber.pipe.d.ts +20 -1
  376. package/locale/lib/locale/provide-locale.d.ts +18 -0
  377. package/locale/public-api.d.ts +1 -0
  378. package/localized-number-input/README.md +32 -8
  379. package/localized-number-input/lib/localized-number-input/localized-number-input.directive.d.ts +4 -0
  380. package/localized-number-input/lib/localized-number-input/localized-number-input.module.d.ts +7 -0
  381. package/mask/lib/mask/mask-formatter.module.d.ts +7 -0
  382. package/mouse-events/README.md +5 -4
  383. package/mouse-events/lib/mouse-events/mouse-events.module.d.ts +7 -0
  384. package/navigation-button/README.md +5 -4
  385. package/navigation-button/lib/navigation-button/navigation-button.module.d.ts +7 -0
  386. package/number-input/lib/number-input/number-input.directive.d.ts +1 -1
  387. package/number-input/lib/number-input/number-input.module.d.ts +8 -1
  388. package/numeric/README.md +6 -5
  389. package/numeric/lib/numeric.module.d.ts +7 -0
  390. package/numeric-mask/README.md +44 -1
  391. package/numeric-mask/lib/numeric-mask/numeric-mask.directive.d.ts +65 -4
  392. package/numeric-mask/lib/numeric-mask/numeric-mask.module.d.ts +7 -0
  393. package/object-card/README.md +11 -4
  394. package/object-card/lib/object-card/object-card.module.d.ts +11 -0
  395. package/package.json +1 -1
  396. package/panel/README.md +8 -4
  397. package/panel/lib/panel/panel.module.d.ts +10 -0
  398. package/password-strength/README.md +6 -3
  399. package/password-strength/lib/password-strength/password-strength.module.d.ts +7 -0
  400. package/picklist/README.md +8 -5
  401. package/picklist/lib/picklist/picklist.module.d.ts +7 -0
  402. package/pin-code-field/lib/pin-code-field.module.d.ts +7 -0
  403. package/product-header/README.md +2 -2
  404. package/profile-picture-picker/README.md +6 -3
  405. package/profile-picture-picker/lib/profile-picture-picker/profile-picture-picker.module.d.ts +7 -0
  406. package/progressbar/README.md +6 -3
  407. package/progressbar/lib/progressbar/progressbar.module.d.ts +7 -0
  408. package/rating-scale/README.md +6 -3
  409. package/rating-scale/lib/rating-scale/rating-scale.module.d.ts +7 -0
  410. package/schematics/collection.json +40 -0
  411. package/schematics/migrations/migrate-app-to-standalone/index.d.ts +32 -0
  412. package/schematics/migrations/migrate-app-to-standalone/index.js +98 -0
  413. package/schematics/migrations/migrate-app-to-standalone/index.js.map +1 -0
  414. package/schematics/migrations/migrate-deprecated-apis/index.d.ts +49 -0
  415. package/schematics/migrations/migrate-deprecated-apis/index.js +660 -0
  416. package/schematics/migrations/migrate-deprecated-apis/index.js.map +1 -0
  417. package/schematics/migrations/migrate-deprecated-datepicker/index.d.ts +31 -0
  418. package/schematics/migrations/migrate-deprecated-datepicker/index.js +115 -0
  419. package/schematics/migrations/migrate-deprecated-datepicker/index.js.map +1 -0
  420. package/schematics/migrations/migrate-deprecated-dynamic-form/index.d.ts +52 -0
  421. package/schematics/migrations/migrate-deprecated-dynamic-form/index.js +661 -0
  422. package/schematics/migrations/migrate-deprecated-dynamic-form/index.js.map +1 -0
  423. package/schematics/migrations/migrate-deprecated-imports/index.d.ts +23 -0
  424. package/schematics/migrations/migrate-deprecated-imports/index.js +335 -0
  425. package/schematics/migrations/migrate-deprecated-imports/index.js.map +1 -0
  426. package/schematics/migrations/migrate-deprecated-selectors/index.d.ts +15 -0
  427. package/schematics/migrations/migrate-deprecated-selectors/index.js +76 -0
  428. package/schematics/migrations/migrate-deprecated-selectors/index.js.map +1 -0
  429. package/schematics/migrations/migrate-modules-to-standalone/index.d.ts +51 -0
  430. package/schematics/migrations/migrate-modules-to-standalone/index.js +632 -0
  431. package/schematics/migrations/migrate-modules-to-standalone/index.js.map +1 -0
  432. package/schematics/migrations/migrate-modules-to-standalone/modules-map.json +1656 -0
  433. package/schematics/migrations/migrate-v20/index.d.ts +9 -0
  434. package/schematics/migrations/migrate-v20/index.js +90 -0
  435. package/schematics/migrations/migrate-v20/index.js.map +1 -0
  436. package/schematics/migrations/migrate-v20/items.d.ts +7 -0
  437. package/schematics/migrations/migrate-v20/items.js +54 -0
  438. package/schematics/migrations/migrate-v20/items.js.map +1 -0
  439. package/schematics/migrations/migrate-v20/plan.d.ts +32 -0
  440. package/schematics/migrations/migrate-v20/plan.js +29 -0
  441. package/schematics/migrations/migrate-v20/plan.js.map +1 -0
  442. package/schematics/migrations.json +5 -1
  443. package/schematics/schema/app-standalone.schema.json +21 -0
  444. package/schematics/schema/migrate-v20.schema.json +33 -0
  445. package/schematics/schema/scope.schema.json +17 -0
  446. package/schematics/utils/ast-utils.js +16 -0
  447. package/schematics/utils/ast-utils.js.map +1 -1
  448. package/schematics/utils/eol.d.ts +5 -0
  449. package/schematics/utils/eol.js +17 -0
  450. package/schematics/utils/eol.js.map +1 -0
  451. package/schematics/utils/prompt-utils.d.ts +62 -0
  452. package/schematics/utils/prompt-utils.js +166 -0
  453. package/schematics/utils/prompt-utils.js.map +1 -0
  454. package/schematics/utils/report.d.ts +27 -0
  455. package/schematics/utils/report.js +70 -0
  456. package/schematics/utils/report.js.map +1 -0
  457. package/schematics/utils/scope.d.ts +17 -0
  458. package/schematics/utils/scope.js +55 -0
  459. package/schematics/utils/scope.js.map +1 -0
  460. package/schematics/utils/selection.d.ts +21 -0
  461. package/schematics/utils/selection.js +60 -0
  462. package/schematics/utils/selection.js.map +1 -0
  463. package/schematics/utils/symbol-utils.d.ts +31 -0
  464. package/schematics/utils/symbol-utils.js +202 -0
  465. package/schematics/utils/symbol-utils.js.map +1 -0
  466. package/schematics/utils/template-utils.d.ts +62 -0
  467. package/schematics/utils/template-utils.js +165 -0
  468. package/schematics/utils/template-utils.js.map +1 -0
  469. package/schematics/utils/tsconfig-paths.d.ts +5 -0
  470. package/schematics/utils/tsconfig-paths.js +73 -0
  471. package/schematics/utils/tsconfig-paths.js.map +1 -0
  472. package/select/lib/select/select.component.d.ts +8 -0
  473. package/select-button/README.md +6 -3
  474. package/select-button/lib/select-button/select-button.module.d.ts +7 -0
  475. package/shared/lib/shared/border-button/border-button.module.d.ts +7 -0
  476. package/sidebar/README.md +2 -2
  477. package/slide-in-bar/README.md +5 -5
  478. package/slide-in-bar/lib/slide-in-bar/slide-in-bar.module.d.ts +7 -0
  479. package/slider/README.md +6 -3
  480. package/slider/lib/slider/slider.module.d.ts +7 -0
  481. package/speech-recognition/README.md +6 -3
  482. package/speech-recognition/lib/speech-recognition/speech-recognition.module.d.ts +7 -0
  483. package/split-button/README.md +6 -3
  484. package/split-button/lib/split-button/split-button.module.d.ts +7 -0
  485. package/stats-card/README.md +6 -3
  486. package/stats-card/lib/stats-card/stats-card.module.d.ts +7 -0
  487. package/stepper/README.md +6 -3
  488. package/stepper/lib/stepper/stepper.module.d.ts +7 -0
  489. package/structure/lib/structure/structure.module.d.ts +7 -0
  490. package/switch/README.md +6 -3
  491. package/switch/lib/switch/switch.module.d.ts +7 -0
  492. package/table/README.md +12 -4
  493. package/table/lib/table/table.module.d.ts +8 -0
  494. package/table-header/lib/table-header/table-header-checkox.module.d.ts +7 -0
  495. package/template/README.md +0 -11
  496. package/template/lib/template/template.module.d.ts +7 -0
  497. package/text-area/lib/text-area.module.d.ts +7 -0
  498. package/text-area-ia/README.md +1 -1
  499. package/thumbnail/lib/thumbnail/thumbnail.module.d.ts +7 -0
  500. package/thumbnails/lib/thumbnails/thumbnails.module.d.ts +7 -0
  501. package/tiered-menu/lib/tiered-menu/tiered-menu.module.d.ts +7 -0
  502. package/tile/lib/tile/tile.module.d.ts +10 -0
  503. package/timeline/lib/timeline/timeline.module.d.ts +7 -0
  504. package/toast/lib/toast/toast.module.d.ts +7 -0
  505. package/token-list/lib/token-list/token-list.module.d.ts +7 -0
  506. package/tooltip/lib/tooltip/tooltip.module.d.ts +7 -0
  507. package/topbar/lib/topbar/topbar.module.d.ts +10 -0
  508. package/tree/lib/tree/tree.module.d.ts +7 -0
  509. package/workspace-switch/lib/workspace-switch/workspace-switch.module.d.ts +7 -0
  510. package/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.d.ts +0 -664
  511. package/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.d.ts +0 -29
  512. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +0 -96
  513. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +0 -124
@@ -14,7 +14,7 @@ import { FieldsetModule } from '@seniorsistemas/angular-components/fieldset';
14
14
  import * as i12 from '@seniorsistemas/angular-components/template';
15
15
  import { TemplateDirective, TemplateModule } from '@seniorsistemas/angular-components/template';
16
16
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
17
- import * as i3$1 from '@seniorsistemas/angular-components/tooltip';
17
+ import * as i3 from '@seniorsistemas/angular-components/tooltip';
18
18
  import { TooltipDirective, TooltipModule } from '@seniorsistemas/angular-components/tooltip';
19
19
  import { __decorate } from 'tslib';
20
20
  import { trigger, state, style, transition, group, query, animateChild, animate } from '@angular/animations';
@@ -48,11 +48,11 @@ import { DoubleClickDirective } from '@seniorsistemas/angular-components/mouse-e
48
48
  import * as i2 from 'primeng/api';
49
49
  import * as i1$4 from '@seniorsistemas/angular-components/info-sign';
50
50
  import { InfoSignModule } from '@seniorsistemas/angular-components/info-sign';
51
- import * as i2$1 from '@seniorsistemas/angular-components/bignumber-input';
52
- import { BignumberInputModule } from '@seniorsistemas/angular-components/bignumber-input';
51
+ import { NumericMaskDirective } from '@seniorsistemas/angular-components/numeric-mask';
52
+ import { CurrencyService, currencies } from '@seniorsistemas/angular-components/currency';
53
53
  import { InputGroupComponent } from '@seniorsistemas/angular-components/input-group';
54
54
  import { InputMaskDirective } from '@seniorsistemas/angular-components/input-mask';
55
- import * as i3 from '@seniorsistemas/angular-components/input-text';
55
+ import * as i2$1 from '@seniorsistemas/angular-components/input-text';
56
56
  import { InputTextModule, InputTextDirective } from '@seniorsistemas/angular-components/input-text';
57
57
  import { RadioButtonComponent } from '@seniorsistemas/angular-components/radio-button';
58
58
  import * as i1$5 from '@seniorsistemas/angular-components/switch';
@@ -67,14 +67,9 @@ import * as i1$7 from '@seniorsistemas/angular-components/content-generator';
67
67
  import { ContentGeneratorModule } from '@seniorsistemas/angular-components/content-generator';
68
68
  import * as i1$8 from '@seniorsistemas/angular-components/country-phone-picker';
69
69
  import { CountryPhonePickerModule } from '@seniorsistemas/angular-components/country-phone-picker';
70
- import { CurrencyService, currencies } from '@seniorsistemas/angular-components/currency';
71
- import * as i2$3 from '@seniorsistemas/angular-components/number-input';
72
- import { NumberAlignmentOption, NumberInputModule } from '@seniorsistemas/angular-components/number-input';
73
70
  import * as i1$9 from '@seniorsistemas/angular-components/file-picker';
74
71
  import { FilePickerModule } from '@seniorsistemas/angular-components/file-picker';
75
- import * as i2$4 from '@seniorsistemas/angular-components/localized-number-input';
76
- import { LocalizedNumberInputModule } from '@seniorsistemas/angular-components/localized-number-input';
77
- import * as i2$5 from '@seniorsistemas/angular-components/password-strength';
72
+ import * as i2$3 from '@seniorsistemas/angular-components/password-strength';
78
73
  import { PasswordStrengthModule } from '@seniorsistemas/angular-components/password-strength';
79
74
  import * as i1$a from '@seniorsistemas/angular-components/profile-picture-picker';
80
75
  import { ProfilePicturePickerModule } from '@seniorsistemas/angular-components/profile-picture-picker';
@@ -84,7 +79,7 @@ import { SliderModule } from '@seniorsistemas/angular-components/slider';
84
79
  import { StarRatingComponent } from '@seniorsistemas/angular-components/star-rating';
85
80
  import * as i1$c from '@seniorsistemas/angular-components/text-area';
86
81
  import { TextAreaModule } from '@seniorsistemas/angular-components/text-area';
87
- import * as i3$2 from 'primeng/keyfilter';
82
+ import * as i3$1 from 'primeng/keyfilter';
88
83
  import { KeyFilterModule } from 'primeng/keyfilter';
89
84
 
90
85
  const STRUCTURE_TYPES_LIST = ['fieldset', 'row', 'section'];
@@ -478,7 +473,6 @@ class LookupComponent {
478
473
  rowType = 'Row';
479
474
  indicatorLogo = LoadingStateIndicators.Logo;
480
475
  static nextId = 0;
481
- hasSearched = false;
482
476
  alertConfig;
483
477
  formControlName;
484
478
  id = `s-lookup-${LookupComponent.nextId++}`;
@@ -670,7 +664,6 @@ class LookupComponent {
670
664
  this.onSearchRequest.next(params);
671
665
  }
672
666
  onCompleteMethod(event) {
673
- this.hasSearched = true;
674
667
  if (!this.autocompleteForceSelection) {
675
668
  this.onChange?.(this.value === '' ? null : this.value);
676
669
  }
@@ -958,7 +951,7 @@ class LookupComponent {
958
951
  useExisting: forwardRef(() => LookupComponent),
959
952
  multi: true,
960
953
  },
961
- ], viewQueries: [{ propertyName: "lookupDialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, isSignal: true }, { propertyName: "table", first: true, predicate: Table, descendants: true }, { propertyName: "autocomplete", first: true, predicate: AutoComplete, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{ inputgroup: showSearch, 'native-dropdown': !showSearch }\">\n <p-autoComplete\n #autocomplete\n sAutoCompleteMultipleFix\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [maxlength]=\"maxlength\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"onCompleteMethod($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n </p-autoComplete>\n @if (showSearch) {\n <button\n class=\"button-addon\"\n [class.button-addon--disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n >\n <i class=\"fa fa-search\"></i>\n </button>\n }\n</div>\n@if (lookupEmptyMessage && hasSearched && getLookupSuggestions().length === 0) {\n <small class=\"text-gray-500 block pt-1 text-sm\">{{ lookupEmptyMessage }}</small>\n}\n\n<s-dialog\n [(visible)]=\"dialogVisible\"\n (visibleChange)=\"onVisibleChange($event!)\"\n [header]=\"labelOptions?.searchTitle || 'platform.angular_components.advanced_search' | translate\"\n contentClassName=\"s-lookup-modal\"\n [size]=\"dialogFullScreen() ? 'fullscreen' : 'xl'\"\n>\n @if (dialogVisible) {\n <div\n class=\"s-lookup-modal-container\"\n #dialogContainer\n >\n @if (searchFields && searchFields.length) {\n <div\n class=\"filter\"\n [@collapseContent]=\"\n collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\n \"\n (@collapseContent.done)=\"onToggleDone()\"\n >\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\"\n >\n @if (!collapsed) {\n <div\n class=\"form-content\"\n [@childCollapseContent]=\"\n collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\n \"\n >\n <div class=\"filter-title sds-section-title\">\n {{ labelOptions?.filterTitle || 'platform.angular_components.filters' | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [configs]=\"searchFieldsDynamicStructure\"\n [form]=\"formGroupDialog\"\n >\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"\n labelOptions?.filterLabel || 'platform.angular_components.filter'\n | translate\n \"\n (clicked)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n >\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"\n labelOptions?.clearLabel || 'platform.angular_components.clear'\n | translate\n \"\n (clicked)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n >\n </s-button>\n </div>\n </div>\n </div>\n }\n </form>\n </div>\n }\n @if (searchFields && searchFields.length) {\n <div class=\"filter-toggle\">\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\"\n >\n <span\n class=\"fa\"\n [ngClass]=\"{ 'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed }\"\n aria-hidden=\"true\"\n >\n </span>\n </button>\n </div>\n }\n @let isEmptyContent = !searchTotalRecords && !loading;\n <div\n class=\"content\"\n #contentContainer\n [ngClass]=\"{ 'empty-content': isEmptyContent }\"\n >\n @if (isEmptyContent) {\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n [title]=\"\n labelOptions?.searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\n \"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n >\n </s-empty-state>\n }\n\n @if (alertConfig) {\n <s-alert\n [severity]=\"alertConfig.type\"\n [summary]=\"alertConfig.title\"\n [detail]=\"alertConfig.message\"\n >\n </s-alert>\n }\n\n @if (showAddOption || showEditOption || showRemoveOption) {\n <div>\n @if (showAddOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (clicked)=\"onAdd.emit()\"\n >\n </s-button>\n }\n @if (showEditOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (clicked)=\"onEdit.emit(this.selected[0])\"\n >\n </s-button>\n }\n @if (showRemoveOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (clicked)=\"onRemove.emit(this.selected)\"\n >\n </s-button>\n }\n </div>\n }\n\n <div class=\"content-child min-h-0 flex-1\">\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n *sLoadingState=\"{ loading: loading, indicator: indicatorLogo }\"\n >\n <ng-template\n pTemplate=\"colgroup\"\n let-columns\n >\n <colgroup>\n @if (multiple) {\n <col style=\"width: 50px\" />\n }\n\n @for (col of columns; track $index) {\n <col [style.width]=\"col.width\" />\n }\n </colgroup>\n </ng-template>\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n @if (multiple) {\n <th style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps.length ? false : true\"\n [rowProps]=\"lookupRowProps\"\n >\n </s-table-header-checkbox>\n </th>\n }\n @for (col of columns; track $index) {\n <th\n [style.width]=\"col.width\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n @if (!sortableColumnsDisabled.includes(col.name)) {\n <p-sortIcon [field]=\"col.name\"> </p-sortIcon>\n }\n </div>\n </th>\n }\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\"\n >\n <tr\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick\n (doubleClicked)=\"onTableRowDoubleClick(rowData)\"\n >\n @if (multiple) {\n <td\n style=\"width: 50px\"\n tabindex=\"0\"\n >\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\"\n >\n </p-tableCheckbox>\n </td>\n }\n @for (col of searchGridFields; track $index) {\n <td\n [style.width]=\"col.width\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n @switch (col.type) {\n @case ('boolean') {\n <ng-container\n *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getBooleanLabel(rowData, col.name, col.optionsLabel)\n }}</span>\n </ng-container>\n }\n @case ('date') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name)\n | localizedDate\n : col.calendarLocaleOptions?.dateFormat || 'L'\n | async\n }}</span>\n </ng-container>\n }\n @case ('dateTime') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name) | localizedDate | async\n }}</span>\n </ng-container>\n }\n @case ('localDateTime') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name) | localizedDate | async\n }}</span>\n </ng-container>\n }\n @case ('time') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name)\n | localizedTime\n : col.calendarLocaleOptions?.dateFormat || 'LTS'\n | async\n }}</span>\n </ng-container>\n }\n @case ('integer') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getIntegerMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('double') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getDoubleMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('money') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getMoneyMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('number') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getNumberMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('enum') {\n <ng-container\n *ngIf=\"\n getLabelForValue(getFieldValue(rowData, col.name), col);\n else emptyTemplate\n \"\n >\n <ng-container\n *ngIf=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col);\n then withBadge;\n else withoutBadge\n \"\n ></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"\n getLabelForValue(getFieldValue(rowData, col.name), col)\n \"\n [color]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.color\n \"\n [type]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.type\n \"\n [iconClass]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.iconClass\n \"\n [iconPosition]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.iconPosition\n \"\n >\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span>\n {{\n getLabelForValue(getFieldValue(rowData, col.name), col)\n }}\n </span>\n </ng-template>\n </ng-container>\n }\n @default {\n @if (fieldHasMask(col) && parseValueMaskValue(col, rowData)) {\n <ng-container *ngIf=\"hasRenderableValue(rowData, col.name)\">\n <span>{{\n getFieldValue(rowData, col.name)\n | sMaskFormatter: parseValueMaskValue(col, rowData)\n }}</span>\n </ng-container>\n } @else {\n <ng-container\n *ngIf=\"\n hasRenderableValue(rowData, col.name);\n else emptyTemplate\n \"\n >\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n }\n }\n }\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n </div>\n\n <ng-template sTemplate=\"footer\">\n <div class=\"flex w-full justify-end\">\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"labelOptions?.cancelLabel || 'platform.angular_components.cancel' | translate\"\n (clicked)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n >\n </s-button>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"labelOptions?.selectLabel || 'platform.angular_components.select' | translate\"\n (clicked)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n [disabled]=\"!selected.length\"\n >\n </s-button>\n </div>\n </ng-template>\n }\n</s-dialog>\n\n<ng-template #emptyTemplate>\n <span class=\"sds-empty-value\">\n {{ labelOptions?.emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n\n", styles: ["s-lookup .inputgroup{position:relative;display:flex;width:100%;align-items:stretch;border-radius:4px}s-lookup .inputgroup p-autocomplete{display:block;min-width:0px;flex-grow:1;width:auto}s-lookup .inputgroup p-autocomplete .p-autocomplete{width:100%}s-lookup .inputgroup .p-autocomplete-input.p-inputtext,s-lookup .inputgroup .p-autocomplete-input-multiple{min-height:35px;width:100%;border-width:1px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);padding:5px 10px!important;border-radius:4px 0 0 4px!important}s-lookup .inputgroup .p-autocomplete-input-multiple{height:auto;padding:3px 10px!important}s-lookup .inputgroup .p-autocomplete-input.p-inputtext:disabled,s-lookup .inputgroup .p-disabled .p-autocomplete-input-multiple{--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1));border-color:#dedce5!important;background-color:#fbfafc!important}s-lookup .inputgroup .button-addon{display:flex;height:auto;min-height:35px;width:auto;min-width:0px;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;border-radius:0 4px 4px 0/0px 4px 4px 0px;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:10px;padding-right:10px;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-radius:0 4px 4px 0!important}s-lookup .inputgroup .button-addon:enabled:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1))}s-lookup .inputgroup .button-addon:focus{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .inputgroup .button-addon:disabled{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(222 220 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1))}s-lookup .inputgroup:after{content:\"\";pointer-events:none;position:absolute;inset:0;border-radius:4px}s-lookup .inputgroup:has(input:focus):after{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .inputgroup:has(input:focus) .p-autocomplete-input.p-inputtext,s-lookup .inputgroup:has(input:focus) .p-autocomplete-input-multiple,s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-input.p-inputtext,s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-input-multiple{border-color:#c1c1cc!important;box-shadow:none!important;outline:none}s-lookup .native-dropdown{position:relative;display:flex;width:100%;align-items:stretch;border-radius:4px}s-lookup .native-dropdown p-autocomplete{display:block;min-width:0px;flex-grow:1;width:auto}s-lookup .native-dropdown p-autocomplete .p-autocomplete{width:100%}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown .p-autocomplete-input-multiple{min-height:35px;width:100%;border-width:1px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);padding:5px 10px!important;border-radius:4px 0 0 4px!important}s-lookup .native-dropdown .p-autocomplete-input-multiple{height:auto;padding:3px 10px!important}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext:disabled,s-lookup .native-dropdown .p-disabled .p-autocomplete-input-multiple{--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1));border-color:#dedce5!important;background-color:#fbfafc!important}s-lookup .native-dropdown .p-autocomplete-dropdown{display:flex;height:auto;min-height:35px;width:auto;min-width:0px;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;border-radius:0 4px 4px 0/0px 4px 4px 0px;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:10px;padding-right:10px;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-radius:0 4px 4px 0!important}s-lookup .native-dropdown .p-autocomplete-dropdown:enabled:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1))}s-lookup .native-dropdown .p-autocomplete-dropdown:focus{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .native-dropdown .p-autocomplete-dropdown:disabled{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(222 220 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1))}s-lookup .native-dropdown:after{content:\"\";pointer-events:none;position:absolute;inset:0;border-radius:4px}s-lookup .native-dropdown:has(input:focus):after{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .native-dropdown:has(input:focus) .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown:has(input:focus) .p-autocomplete-input-multiple,s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-input-multiple{border-color:#c1c1cc!important;box-shadow:none!important;outline:none}s-lookup .native-dropdown p-autocomplete .p-autocomplete>.p-iconwrapper{position:relative;right:19px}body s-lookup .inputgroup:has(input:focus) .button-addon,body s-lookup .inputgroup:has(input:focus) .p-autocomplete-dropdown,body s-lookup .inputgroup:has(.button-addon:focus) .button-addon,body s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-dropdown,body s-lookup .inputgroup:has(.p-autocomplete-dropdown:focus) .button-addon,body s-lookup .inputgroup:has(.p-autocomplete-dropdown:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(input:focus) .button-addon,body s-lookup .native-dropdown:has(input:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(.button-addon:focus) .button-addon,body s-lookup .native-dropdown:has(.button-addon:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .button-addon,body s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-dropdown{border-color:#c1c1cc!important}s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-input.p-inputtext,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-input-multiple,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .button-addon,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-dropdown,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-input.p-inputtext,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-input-multiple,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .button-addon,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-dropdown{border-color:#c13018!important}s-lookup .ui-autocomplete-input-token{width:100%}s-lookup .ui-autocomplete-input-token input{width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token{max-width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}s-lookup .p-table-scrollable-body{min-width:100%}.s-lookup-modal main{padding:0}.s-lookup-modal .s-lookup-modal-container{height:85vh;display:flex;flex-direction:row;width:100%}.s-lookup-modal .s-lookup-modal-container .filter{width:30%;height:auto;flex-grow:0;flex-shrink:0;background-color:#e5eaea80;padding:.571rem}.s-lookup-modal .s-lookup-modal-container .filter form{width:100%;height:100%}.s-lookup-modal .s-lookup-modal-container .filter form .form-content{height:100%;display:flex;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .filter-title{padding-left:.5rem}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .form-fields{overflow-y:auto}.s-lookup-modal .s-lookup-modal-container .filter-toggle{margin-top:15px;flex-grow:0;flex-shrink:0;width:35px;border-radius:0 4px 4px 0}.s-lookup-modal .s-lookup-modal-container .filter-toggle button{align-items:center;position:relative;background-color:#e5eaea80;height:35px;width:100%;border:1px solid #e5eaea;outline:none;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;text-decoration:none;text-transform:none;padding:7px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:hover{background-color:active(rgba(229,234,234,.5));border-color:active(#e5eaea)}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:-2px}.s-lookup-modal .s-lookup-modal-container>.content{flex-grow:1;flex-basis:auto;overflow-x:auto;display:flex;flex-direction:column;padding:.5rem}.s-lookup-modal .s-lookup-modal-container>.content s-loading-state{height:100%;display:block}.s-lookup-modal .s-lookup-modal-container>.content .s-loading-state{height:100%}.s-lookup-modal .s-lookup-modal-container>.content .s-loading-state .state-contents{height:100%}.s-lookup-modal .s-lookup-modal-container>.content.empty-content{align-self:center}.s-lookup-modal .s-lookup-modal-container>.content.empty-content .content-child{display:none}.s-lookup-modal .s-lookup-modal-container>.content p-table>.p-datatable{height:100%;display:flex;flex-direction:column}.s-lookup-modal .s-lookup-modal-container>.content p-table>.p-datatable .p-datatable-table-container{flex:1;margin-bottom:0}\n"], dependencies: [{ kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i1$3.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: AutoCompleteMultipleKeyboardFixDirective, selector: "p-autoComplete[sAutoCompleteMultipleFix], p-autocomplete[sAutoCompleteMultipleFix], p-auto-complete[sAutoCompleteMultipleFix]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DialogComponent, selector: "s-dialog", inputs: ["header", "visible", "size", "contentClassName", "escapeOnEsc", "destroyClickOutside", "closeAriaLabel"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: DynamicFormComponent, selector: "s-dynamic-form", inputs: ["id", "configs", "fields", "form", "errorMessages"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked", "tieredMenuOpened", "tieredMenuClosed"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i5.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i6.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i6.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "component", type: i6.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i6.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "directive", type: i7.LoadingStateDirective, selector: "[sLoadingState]", inputs: ["sLoadingState"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: LocaleModule }, { kind: "pipe", type: i8.LocalizedDatePipe, name: "localizedDate" }, { kind: "pipe", type: i8.LocalizedTimePipe, name: "localizedTime" }, { kind: "pipe", type: i8.LocalizedBignumberPipe, name: "localizedBignumber" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i9.BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }, { kind: "ngmodule", type: MaskFormatterModule }, { kind: "pipe", type: i10.MaskFormatterPipe, name: "sMaskFormatter" }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "ngmodule", type: TableHeaderCheckboxModule }, { kind: "component", type: i11.TableHeaderCheckboxComponent, selector: "s-table-header-checkbox", inputs: ["id", "disabled", "rowProps", "useAllObject"] }, { kind: "ngmodule", type: TemplateModule }, { kind: "directive", type: i12.TemplateDirective, selector: "[sTemplate]", inputs: ["sTemplate"] }, { kind: "directive", type: DoubleClickDirective, selector: "[sDoubleClick]", outputs: ["doubleClicked"] }, { kind: "ngmodule", type: AlertModule }, { kind: "component", type: i13.AlertComponent, selector: "s-alert", inputs: ["severity", "summary", "detail", "closable", "escape"], outputs: ["closed"] }], animations: [
954
+ ], viewQueries: [{ propertyName: "lookupDialogContainer", first: true, predicate: ["dialogContainer"], descendants: true, isSignal: true }, { propertyName: "table", first: true, predicate: Table, descendants: true }, { propertyName: "autocomplete", first: true, predicate: AutoComplete, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{ inputgroup: showSearch, 'native-dropdown': !showSearch }\">\n <p-autoComplete\n #autocomplete\n sAutoCompleteMultipleFix\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [maxlength]=\"maxlength\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"onCompleteMethod($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [showEmptyMessage]=\"true\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n panelStyleClass=\"s-lookup-panel\"\n >\n <ng-template #empty>\n {{ labelOptions?.searchEmptyTitle || lookupEmptyMessage || 'platform.angular_components.no_records_found' | translate }}\n </ng-template>\n </p-autoComplete>\n @if (showSearch) {\n <button\n class=\"button-addon\"\n [class.button-addon--disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n >\n <i class=\"fa fa-search\"></i>\n </button>\n }\n</div>\n\n<s-dialog\n [(visible)]=\"dialogVisible\"\n (visibleChange)=\"onVisibleChange($event!)\"\n [header]=\"labelOptions?.searchTitle || 'platform.angular_components.advanced_search' | translate\"\n contentClassName=\"s-lookup-modal\"\n [size]=\"dialogFullScreen() ? 'fullscreen' : 'xl'\"\n>\n @if (dialogVisible) {\n <div\n class=\"s-lookup-modal-container\"\n #dialogContainer\n >\n @if (searchFields && searchFields.length) {\n <div\n class=\"filter\"\n [@collapseContent]=\"\n collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\n \"\n (@collapseContent.done)=\"onToggleDone()\"\n >\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\"\n >\n @if (!collapsed) {\n <div\n class=\"form-content\"\n [@childCollapseContent]=\"\n collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\n \"\n >\n <div class=\"filter-title sds-section-title\">\n {{ labelOptions?.filterTitle || 'platform.angular_components.filters' | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [configs]=\"searchFieldsDynamicStructure\"\n [form]=\"formGroupDialog\"\n >\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"\n labelOptions?.filterLabel || 'platform.angular_components.filter'\n | translate\n \"\n (clicked)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n >\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"\n labelOptions?.clearLabel || 'platform.angular_components.clear'\n | translate\n \"\n (clicked)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n >\n </s-button>\n </div>\n </div>\n </div>\n }\n </form>\n </div>\n }\n @if (searchFields && searchFields.length) {\n <div class=\"filter-toggle\">\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\"\n >\n <span\n class=\"fa\"\n [ngClass]=\"{ 'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed }\"\n aria-hidden=\"true\"\n >\n </span>\n </button>\n </div>\n }\n @let isEmptyContent = !searchTotalRecords && !loading;\n <div\n class=\"content\"\n #contentContainer\n [ngClass]=\"{ 'empty-content': isEmptyContent }\"\n >\n @if (isEmptyContent) {\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n [title]=\"\n labelOptions?.searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\n \"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n >\n </s-empty-state>\n }\n\n @if (alertConfig) {\n <s-alert\n [severity]=\"alertConfig.type\"\n [summary]=\"alertConfig.title\"\n [detail]=\"alertConfig.message\"\n >\n </s-alert>\n }\n\n @if (showAddOption || showEditOption || showRemoveOption) {\n <div>\n @if (showAddOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (clicked)=\"onAdd.emit()\"\n >\n </s-button>\n }\n @if (showEditOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (clicked)=\"onEdit.emit(this.selected[0])\"\n >\n </s-button>\n }\n @if (showRemoveOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (clicked)=\"onRemove.emit(this.selected)\"\n >\n </s-button>\n }\n </div>\n }\n\n <div class=\"content-child min-h-0 flex-1\">\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n *sLoadingState=\"{ loading: loading, indicator: indicatorLogo }\"\n >\n <ng-template\n pTemplate=\"colgroup\"\n let-columns\n >\n <colgroup>\n @if (multiple) {\n <col style=\"width: 50px\" />\n }\n\n @for (col of columns; track $index) {\n <col [style.width]=\"col.width\" />\n }\n </colgroup>\n </ng-template>\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n @if (multiple) {\n <th style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps.length ? false : true\"\n [rowProps]=\"lookupRowProps\"\n >\n </s-table-header-checkbox>\n </th>\n }\n @for (col of columns; track $index) {\n <th\n [style.width]=\"col.width\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n @if (!sortableColumnsDisabled.includes(col.name)) {\n <p-sortIcon [field]=\"col.name\"> </p-sortIcon>\n }\n </div>\n </th>\n }\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\"\n >\n <tr\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick\n (doubleClicked)=\"onTableRowDoubleClick(rowData)\"\n >\n @if (multiple) {\n <td\n style=\"width: 50px\"\n tabindex=\"0\"\n >\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\"\n >\n </p-tableCheckbox>\n </td>\n }\n @for (col of searchGridFields; track $index) {\n <td\n [style.width]=\"col.width\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n @switch (col.type) {\n @case ('boolean') {\n <ng-container\n *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getBooleanLabel(rowData, col.name, col.optionsLabel)\n }}</span>\n </ng-container>\n }\n @case ('date') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name)\n | localizedDate\n : col.calendarLocaleOptions?.dateFormat || 'L'\n | async\n }}</span>\n </ng-container>\n }\n @case ('dateTime') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name) | localizedDate | async\n }}</span>\n </ng-container>\n }\n @case ('localDateTime') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name) | localizedDate | async\n }}</span>\n </ng-container>\n }\n @case ('time') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name)\n | localizedTime\n : col.calendarLocaleOptions?.dateFormat || 'LTS'\n | async\n }}</span>\n </ng-container>\n }\n @case ('integer') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getIntegerMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('double') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getDoubleMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('money') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getMoneyMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('number') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getNumberMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('enum') {\n <ng-container\n *ngIf=\"\n getLabelForValue(getFieldValue(rowData, col.name), col);\n else emptyTemplate\n \"\n >\n <ng-container\n *ngIf=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col);\n then withBadge;\n else withoutBadge\n \"\n ></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"\n getLabelForValue(getFieldValue(rowData, col.name), col)\n \"\n [color]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.color\n \"\n [type]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.type\n \"\n [iconClass]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.iconClass\n \"\n [iconPosition]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.iconPosition\n \"\n >\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span>\n {{\n getLabelForValue(getFieldValue(rowData, col.name), col)\n }}\n </span>\n </ng-template>\n </ng-container>\n }\n @default {\n @if (fieldHasMask(col) && parseValueMaskValue(col, rowData)) {\n <ng-container *ngIf=\"hasRenderableValue(rowData, col.name)\">\n <span>{{\n getFieldValue(rowData, col.name)\n | sMaskFormatter: parseValueMaskValue(col, rowData)\n }}</span>\n </ng-container>\n } @else {\n <ng-container\n *ngIf=\"\n hasRenderableValue(rowData, col.name);\n else emptyTemplate\n \"\n >\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n }\n }\n }\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n </div>\n\n <ng-template sTemplate=\"footer\">\n <div class=\"flex w-full justify-end\">\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"labelOptions?.cancelLabel || 'platform.angular_components.cancel' | translate\"\n (clicked)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n >\n </s-button>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"labelOptions?.selectLabel || 'platform.angular_components.select' | translate\"\n (clicked)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n [disabled]=\"!selected.length\"\n >\n </s-button>\n </div>\n </ng-template>\n }\n</s-dialog>\n\n<ng-template #emptyTemplate>\n <span class=\"sds-empty-value\">\n {{ labelOptions?.emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n\n", styles: ["s-lookup .inputgroup{position:relative;display:flex;width:100%;align-items:stretch;border-radius:4px}s-lookup .inputgroup p-autocomplete{display:block;min-width:0px;flex-grow:1;width:auto}s-lookup .inputgroup p-autocomplete .p-autocomplete{width:100%}s-lookup .inputgroup p-autocomplete .p-autocomplete.p-disabled{opacity:1}s-lookup .inputgroup .p-autocomplete-input.p-inputtext,s-lookup .inputgroup .p-autocomplete-input-multiple{min-height:35px;width:100%;border-width:1px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);padding:5px 10px!important;border-radius:4px 0 0 4px!important}s-lookup .inputgroup .p-autocomplete-input-multiple{height:auto;padding:3px 10px!important}s-lookup .inputgroup .p-autocomplete-input.p-inputtext:disabled,s-lookup .inputgroup .p-disabled .p-autocomplete-input-multiple{--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1));border-color:#dedce5!important;background-color:#fbfafc!important}s-lookup .inputgroup .p-autocomplete-input.p-inputtext::placeholder,s-lookup .inputgroup .p-autocomplete-input-chip input::placeholder{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(110 114 128 / var(--tw-text-opacity, 1));opacity:1}s-lookup .inputgroup .p-autocomplete-input-chip input{font-size:.875rem;line-height:1.25rem}s-lookup .inputgroup .button-addon{display:flex;height:auto;min-height:35px;width:auto;min-width:0px;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;border-radius:0 4px 4px 0/0px 4px 4px 0px;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:10px;padding-right:10px;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-radius:0 4px 4px 0!important}s-lookup .inputgroup .button-addon:enabled:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1))}s-lookup .inputgroup .button-addon:focus{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .inputgroup .button-addon:disabled{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(222 220 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1))}s-lookup .inputgroup:after{content:\"\";pointer-events:none;position:absolute;inset:0;border-radius:4px}s-lookup .inputgroup:has(input:focus):after{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .inputgroup:has(input:focus) .p-autocomplete-input.p-inputtext,s-lookup .inputgroup:has(input:focus) .p-autocomplete-input-multiple,s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-input.p-inputtext,s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-input-multiple{border-color:#c1c1cc!important;box-shadow:none!important;outline:none}s-lookup .native-dropdown{position:relative;display:flex;width:100%;align-items:stretch;border-radius:4px}s-lookup .native-dropdown p-autocomplete{display:block;min-width:0px;flex-grow:1;width:auto}s-lookup .native-dropdown p-autocomplete .p-autocomplete{width:100%}s-lookup .native-dropdown p-autocomplete .p-autocomplete.p-disabled{opacity:1}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown .p-autocomplete-input-multiple{min-height:35px;width:100%;border-width:1px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);padding:5px 10px!important;border-radius:4px 0 0 4px!important}s-lookup .native-dropdown .p-autocomplete-input-multiple{height:auto;padding:3px 10px!important}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext:disabled,s-lookup .native-dropdown .p-disabled .p-autocomplete-input-multiple{--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1));border-color:#dedce5!important;background-color:#fbfafc!important}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext::placeholder,s-lookup .native-dropdown .p-autocomplete-input-chip input::placeholder{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(110 114 128 / var(--tw-text-opacity, 1));opacity:1}s-lookup .native-dropdown .p-autocomplete-input-chip input{font-size:.875rem;line-height:1.25rem}s-lookup .native-dropdown .p-autocomplete-dropdown{display:flex;height:auto;min-height:35px;width:auto;min-width:0px;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;border-radius:0 4px 4px 0/0px 4px 4px 0px;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:10px;padding-right:10px;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-radius:0 4px 4px 0!important}s-lookup .native-dropdown .p-autocomplete-dropdown:enabled:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1))}s-lookup .native-dropdown .p-autocomplete-dropdown:focus{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .native-dropdown .p-autocomplete-dropdown:disabled{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(222 220 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1))}s-lookup .native-dropdown:after{content:\"\";pointer-events:none;position:absolute;inset:0;border-radius:4px}s-lookup .native-dropdown:has(input:focus):after{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .native-dropdown:has(input:focus) .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown:has(input:focus) .p-autocomplete-input-multiple,s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-input-multiple{border-color:#c1c1cc!important;box-shadow:none!important;outline:none}s-lookup .native-dropdown p-autocomplete .p-autocomplete>.p-iconwrapper{position:relative;right:19px}body s-lookup .inputgroup:has(input:focus) .button-addon,body s-lookup .inputgroup:has(input:focus) .p-autocomplete-dropdown,body s-lookup .inputgroup:has(.button-addon:focus) .button-addon,body s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-dropdown,body s-lookup .inputgroup:has(.p-autocomplete-dropdown:focus) .button-addon,body s-lookup .inputgroup:has(.p-autocomplete-dropdown:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(input:focus) .button-addon,body s-lookup .native-dropdown:has(input:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(.button-addon:focus) .button-addon,body s-lookup .native-dropdown:has(.button-addon:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .button-addon,body s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-dropdown{border-color:#c1c1cc!important}body .s-lookup-panel .p-autocomplete-empty-message{padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(110 114 128 / var(--tw-text-opacity, 1))}s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-input.p-inputtext,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-input-multiple,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .button-addon,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-dropdown,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-input.p-inputtext,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-input-multiple,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .button-addon,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-dropdown{border-color:#c13018!important}body .p-autocomplete-empty-message{width:100%;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(110 114 128 / var(--tw-text-opacity, 1))}s-lookup .ui-autocomplete-input-token{width:100%}s-lookup .ui-autocomplete-input-token input{width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token{max-width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}s-lookup .p-table-scrollable-body{min-width:100%}.s-lookup-modal main{padding:0}.s-lookup-modal .s-lookup-modal-container{height:85vh;display:flex;flex-direction:row;width:100%}.s-lookup-modal .s-lookup-modal-container .filter{width:30%;height:auto;flex-grow:0;flex-shrink:0;background-color:#e5eaea80;padding:.571rem}.s-lookup-modal .s-lookup-modal-container .filter form{width:100%;height:100%}.s-lookup-modal .s-lookup-modal-container .filter form .form-content{height:100%;display:flex;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .filter-title{padding-left:.5rem}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .form-fields{overflow-y:auto}.s-lookup-modal .s-lookup-modal-container .filter-toggle{margin-top:15px;flex-grow:0;flex-shrink:0;width:35px;border-radius:0 4px 4px 0}.s-lookup-modal .s-lookup-modal-container .filter-toggle button{align-items:center;position:relative;background-color:#e5eaea80;height:35px;width:100%;border:1px solid #e5eaea;outline:none;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;text-decoration:none;text-transform:none;padding:7px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:hover{background-color:active(rgba(229,234,234,.5));border-color:active(#e5eaea)}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:-2px}.s-lookup-modal .s-lookup-modal-container>.content{flex-grow:1;flex-basis:auto;overflow-x:auto;display:flex;flex-direction:column;padding:.5rem}.s-lookup-modal .s-lookup-modal-container>.content s-loading-state{height:100%;display:block}.s-lookup-modal .s-lookup-modal-container>.content .s-loading-state{height:100%}.s-lookup-modal .s-lookup-modal-container>.content .s-loading-state .state-contents{height:100%}.s-lookup-modal .s-lookup-modal-container>.content.empty-content{align-self:center}.s-lookup-modal .s-lookup-modal-container>.content.empty-content .content-child{display:none}.s-lookup-modal .s-lookup-modal-container>.content p-table>.p-datatable{height:100%;display:flex;flex-direction:column}.s-lookup-modal .s-lookup-modal-container>.content p-table>.p-datatable .p-datatable-table-container{flex:1;margin-bottom:0}\n"], dependencies: [{ kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i1$3.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: AutoCompleteMultipleKeyboardFixDirective, selector: "p-autoComplete[sAutoCompleteMultipleFix], p-autocomplete[sAutoCompleteMultipleFix], p-auto-complete[sAutoCompleteMultipleFix]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: DialogComponent, selector: "s-dialog", inputs: ["header", "visible", "size", "contentClassName", "escapeOnEsc", "destroyClickOutside", "closeAriaLabel"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: DynamicFormComponent, selector: "s-dynamic-form", inputs: ["id", "configs", "fields", "form", "errorMessages"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor", "menuAriaLabel", "ariaLabel"], outputs: ["clicked", "tieredMenuOpened", "tieredMenuClosed"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: EmptyStateModule }, { kind: "component", type: i5.EmptyStateComponent, selector: "s-empty-state", inputs: ["id", "title", "iconClass", "description", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "secondaryActionLabel", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "virtualRowHeight", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i6.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i6.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "component", type: i6.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i6.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "ngmodule", type: LoadingStateModule }, { kind: "directive", type: i7.LoadingStateDirective, selector: "[sLoadingState]", inputs: ["sLoadingState"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: LocaleModule }, { kind: "pipe", type: i8.LocalizedDatePipe, name: "localizedDate" }, { kind: "pipe", type: i8.LocalizedTimePipe, name: "localizedTime" }, { kind: "pipe", type: i8.LocalizedBignumberPipe, name: "localizedBignumber" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i9.BadgeComponent, selector: "s-badge", inputs: ["type", "color", "title", "text", "selectable", "iconClass", "iconPosition", "infoSign", "enableTruncateText"], outputs: ["selected"] }, { kind: "ngmodule", type: MaskFormatterModule }, { kind: "pipe", type: i10.MaskFormatterPipe, name: "sMaskFormatter" }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "ngmodule", type: TableHeaderCheckboxModule }, { kind: "component", type: i11.TableHeaderCheckboxComponent, selector: "s-table-header-checkbox", inputs: ["id", "disabled", "rowProps", "useAllObject"] }, { kind: "ngmodule", type: TemplateModule }, { kind: "directive", type: i12.TemplateDirective, selector: "[sTemplate]", inputs: ["sTemplate"] }, { kind: "directive", type: DoubleClickDirective, selector: "[sDoubleClick]", outputs: ["doubleClicked"] }, { kind: "ngmodule", type: AlertModule }, { kind: "component", type: i13.AlertComponent, selector: "s-alert", inputs: ["severity", "summary", "detail", "closable", "escape"], outputs: ["closed"] }], animations: [
962
955
  trigger('collapseContent', [
963
956
  state('hidden', style({
964
957
  width: '10px',
@@ -1038,7 +1031,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1038
1031
  })),
1039
1032
  transition('* <=> *', animate('{{transitionParams}}')),
1040
1033
  ]),
1041
- ], template: "<div [ngClass]=\"{ inputgroup: showSearch, 'native-dropdown': !showSearch }\">\n <p-autoComplete\n #autocomplete\n sAutoCompleteMultipleFix\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [maxlength]=\"maxlength\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"onCompleteMethod($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n >\n </p-autoComplete>\n @if (showSearch) {\n <button\n class=\"button-addon\"\n [class.button-addon--disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n >\n <i class=\"fa fa-search\"></i>\n </button>\n }\n</div>\n@if (lookupEmptyMessage && hasSearched && getLookupSuggestions().length === 0) {\n <small class=\"text-gray-500 block pt-1 text-sm\">{{ lookupEmptyMessage }}</small>\n}\n\n<s-dialog\n [(visible)]=\"dialogVisible\"\n (visibleChange)=\"onVisibleChange($event!)\"\n [header]=\"labelOptions?.searchTitle || 'platform.angular_components.advanced_search' | translate\"\n contentClassName=\"s-lookup-modal\"\n [size]=\"dialogFullScreen() ? 'fullscreen' : 'xl'\"\n>\n @if (dialogVisible) {\n <div\n class=\"s-lookup-modal-container\"\n #dialogContainer\n >\n @if (searchFields && searchFields.length) {\n <div\n class=\"filter\"\n [@collapseContent]=\"\n collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\n \"\n (@collapseContent.done)=\"onToggleDone()\"\n >\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\"\n >\n @if (!collapsed) {\n <div\n class=\"form-content\"\n [@childCollapseContent]=\"\n collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\n \"\n >\n <div class=\"filter-title sds-section-title\">\n {{ labelOptions?.filterTitle || 'platform.angular_components.filters' | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [configs]=\"searchFieldsDynamicStructure\"\n [form]=\"formGroupDialog\"\n >\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"\n labelOptions?.filterLabel || 'platform.angular_components.filter'\n | translate\n \"\n (clicked)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n >\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"\n labelOptions?.clearLabel || 'platform.angular_components.clear'\n | translate\n \"\n (clicked)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n >\n </s-button>\n </div>\n </div>\n </div>\n }\n </form>\n </div>\n }\n @if (searchFields && searchFields.length) {\n <div class=\"filter-toggle\">\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\"\n >\n <span\n class=\"fa\"\n [ngClass]=\"{ 'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed }\"\n aria-hidden=\"true\"\n >\n </span>\n </button>\n </div>\n }\n @let isEmptyContent = !searchTotalRecords && !loading;\n <div\n class=\"content\"\n #contentContainer\n [ngClass]=\"{ 'empty-content': isEmptyContent }\"\n >\n @if (isEmptyContent) {\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n [title]=\"\n labelOptions?.searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\n \"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n >\n </s-empty-state>\n }\n\n @if (alertConfig) {\n <s-alert\n [severity]=\"alertConfig.type\"\n [summary]=\"alertConfig.title\"\n [detail]=\"alertConfig.message\"\n >\n </s-alert>\n }\n\n @if (showAddOption || showEditOption || showRemoveOption) {\n <div>\n @if (showAddOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (clicked)=\"onAdd.emit()\"\n >\n </s-button>\n }\n @if (showEditOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (clicked)=\"onEdit.emit(this.selected[0])\"\n >\n </s-button>\n }\n @if (showRemoveOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (clicked)=\"onRemove.emit(this.selected)\"\n >\n </s-button>\n }\n </div>\n }\n\n <div class=\"content-child min-h-0 flex-1\">\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n *sLoadingState=\"{ loading: loading, indicator: indicatorLogo }\"\n >\n <ng-template\n pTemplate=\"colgroup\"\n let-columns\n >\n <colgroup>\n @if (multiple) {\n <col style=\"width: 50px\" />\n }\n\n @for (col of columns; track $index) {\n <col [style.width]=\"col.width\" />\n }\n </colgroup>\n </ng-template>\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n @if (multiple) {\n <th style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps.length ? false : true\"\n [rowProps]=\"lookupRowProps\"\n >\n </s-table-header-checkbox>\n </th>\n }\n @for (col of columns; track $index) {\n <th\n [style.width]=\"col.width\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n @if (!sortableColumnsDisabled.includes(col.name)) {\n <p-sortIcon [field]=\"col.name\"> </p-sortIcon>\n }\n </div>\n </th>\n }\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\"\n >\n <tr\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick\n (doubleClicked)=\"onTableRowDoubleClick(rowData)\"\n >\n @if (multiple) {\n <td\n style=\"width: 50px\"\n tabindex=\"0\"\n >\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\"\n >\n </p-tableCheckbox>\n </td>\n }\n @for (col of searchGridFields; track $index) {\n <td\n [style.width]=\"col.width\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n @switch (col.type) {\n @case ('boolean') {\n <ng-container\n *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getBooleanLabel(rowData, col.name, col.optionsLabel)\n }}</span>\n </ng-container>\n }\n @case ('date') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name)\n | localizedDate\n : col.calendarLocaleOptions?.dateFormat || 'L'\n | async\n }}</span>\n </ng-container>\n }\n @case ('dateTime') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name) | localizedDate | async\n }}</span>\n </ng-container>\n }\n @case ('localDateTime') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name) | localizedDate | async\n }}</span>\n </ng-container>\n }\n @case ('time') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name)\n | localizedTime\n : col.calendarLocaleOptions?.dateFormat || 'LTS'\n | async\n }}</span>\n </ng-container>\n }\n @case ('integer') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getIntegerMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('double') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getDoubleMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('money') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getMoneyMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('number') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getNumberMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('enum') {\n <ng-container\n *ngIf=\"\n getLabelForValue(getFieldValue(rowData, col.name), col);\n else emptyTemplate\n \"\n >\n <ng-container\n *ngIf=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col);\n then withBadge;\n else withoutBadge\n \"\n ></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"\n getLabelForValue(getFieldValue(rowData, col.name), col)\n \"\n [color]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.color\n \"\n [type]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.type\n \"\n [iconClass]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.iconClass\n \"\n [iconPosition]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.iconPosition\n \"\n >\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span>\n {{\n getLabelForValue(getFieldValue(rowData, col.name), col)\n }}\n </span>\n </ng-template>\n </ng-container>\n }\n @default {\n @if (fieldHasMask(col) && parseValueMaskValue(col, rowData)) {\n <ng-container *ngIf=\"hasRenderableValue(rowData, col.name)\">\n <span>{{\n getFieldValue(rowData, col.name)\n | sMaskFormatter: parseValueMaskValue(col, rowData)\n }}</span>\n </ng-container>\n } @else {\n <ng-container\n *ngIf=\"\n hasRenderableValue(rowData, col.name);\n else emptyTemplate\n \"\n >\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n }\n }\n }\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n </div>\n\n <ng-template sTemplate=\"footer\">\n <div class=\"flex w-full justify-end\">\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"labelOptions?.cancelLabel || 'platform.angular_components.cancel' | translate\"\n (clicked)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n >\n </s-button>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"labelOptions?.selectLabel || 'platform.angular_components.select' | translate\"\n (clicked)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n [disabled]=\"!selected.length\"\n >\n </s-button>\n </div>\n </ng-template>\n }\n</s-dialog>\n\n<ng-template #emptyTemplate>\n <span class=\"sds-empty-value\">\n {{ labelOptions?.emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n\n", styles: ["s-lookup .inputgroup{position:relative;display:flex;width:100%;align-items:stretch;border-radius:4px}s-lookup .inputgroup p-autocomplete{display:block;min-width:0px;flex-grow:1;width:auto}s-lookup .inputgroup p-autocomplete .p-autocomplete{width:100%}s-lookup .inputgroup .p-autocomplete-input.p-inputtext,s-lookup .inputgroup .p-autocomplete-input-multiple{min-height:35px;width:100%;border-width:1px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);padding:5px 10px!important;border-radius:4px 0 0 4px!important}s-lookup .inputgroup .p-autocomplete-input-multiple{height:auto;padding:3px 10px!important}s-lookup .inputgroup .p-autocomplete-input.p-inputtext:disabled,s-lookup .inputgroup .p-disabled .p-autocomplete-input-multiple{--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1));border-color:#dedce5!important;background-color:#fbfafc!important}s-lookup .inputgroup .button-addon{display:flex;height:auto;min-height:35px;width:auto;min-width:0px;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;border-radius:0 4px 4px 0/0px 4px 4px 0px;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:10px;padding-right:10px;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-radius:0 4px 4px 0!important}s-lookup .inputgroup .button-addon:enabled:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1))}s-lookup .inputgroup .button-addon:focus{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .inputgroup .button-addon:disabled{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(222 220 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1))}s-lookup .inputgroup:after{content:\"\";pointer-events:none;position:absolute;inset:0;border-radius:4px}s-lookup .inputgroup:has(input:focus):after{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .inputgroup:has(input:focus) .p-autocomplete-input.p-inputtext,s-lookup .inputgroup:has(input:focus) .p-autocomplete-input-multiple,s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-input.p-inputtext,s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-input-multiple{border-color:#c1c1cc!important;box-shadow:none!important;outline:none}s-lookup .native-dropdown{position:relative;display:flex;width:100%;align-items:stretch;border-radius:4px}s-lookup .native-dropdown p-autocomplete{display:block;min-width:0px;flex-grow:1;width:auto}s-lookup .native-dropdown p-autocomplete .p-autocomplete{width:100%}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown .p-autocomplete-input-multiple{min-height:35px;width:100%;border-width:1px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);padding:5px 10px!important;border-radius:4px 0 0 4px!important}s-lookup .native-dropdown .p-autocomplete-input-multiple{height:auto;padding:3px 10px!important}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext:disabled,s-lookup .native-dropdown .p-disabled .p-autocomplete-input-multiple{--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1));border-color:#dedce5!important;background-color:#fbfafc!important}s-lookup .native-dropdown .p-autocomplete-dropdown{display:flex;height:auto;min-height:35px;width:auto;min-width:0px;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;border-radius:0 4px 4px 0/0px 4px 4px 0px;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:10px;padding-right:10px;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-radius:0 4px 4px 0!important}s-lookup .native-dropdown .p-autocomplete-dropdown:enabled:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1))}s-lookup .native-dropdown .p-autocomplete-dropdown:focus{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .native-dropdown .p-autocomplete-dropdown:disabled{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(222 220 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1))}s-lookup .native-dropdown:after{content:\"\";pointer-events:none;position:absolute;inset:0;border-radius:4px}s-lookup .native-dropdown:has(input:focus):after{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .native-dropdown:has(input:focus) .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown:has(input:focus) .p-autocomplete-input-multiple,s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-input-multiple{border-color:#c1c1cc!important;box-shadow:none!important;outline:none}s-lookup .native-dropdown p-autocomplete .p-autocomplete>.p-iconwrapper{position:relative;right:19px}body s-lookup .inputgroup:has(input:focus) .button-addon,body s-lookup .inputgroup:has(input:focus) .p-autocomplete-dropdown,body s-lookup .inputgroup:has(.button-addon:focus) .button-addon,body s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-dropdown,body s-lookup .inputgroup:has(.p-autocomplete-dropdown:focus) .button-addon,body s-lookup .inputgroup:has(.p-autocomplete-dropdown:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(input:focus) .button-addon,body s-lookup .native-dropdown:has(input:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(.button-addon:focus) .button-addon,body s-lookup .native-dropdown:has(.button-addon:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .button-addon,body s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-dropdown{border-color:#c1c1cc!important}s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-input.p-inputtext,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-input-multiple,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .button-addon,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-dropdown,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-input.p-inputtext,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-input-multiple,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .button-addon,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-dropdown{border-color:#c13018!important}s-lookup .ui-autocomplete-input-token{width:100%}s-lookup .ui-autocomplete-input-token input{width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token{max-width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}s-lookup .p-table-scrollable-body{min-width:100%}.s-lookup-modal main{padding:0}.s-lookup-modal .s-lookup-modal-container{height:85vh;display:flex;flex-direction:row;width:100%}.s-lookup-modal .s-lookup-modal-container .filter{width:30%;height:auto;flex-grow:0;flex-shrink:0;background-color:#e5eaea80;padding:.571rem}.s-lookup-modal .s-lookup-modal-container .filter form{width:100%;height:100%}.s-lookup-modal .s-lookup-modal-container .filter form .form-content{height:100%;display:flex;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .filter-title{padding-left:.5rem}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .form-fields{overflow-y:auto}.s-lookup-modal .s-lookup-modal-container .filter-toggle{margin-top:15px;flex-grow:0;flex-shrink:0;width:35px;border-radius:0 4px 4px 0}.s-lookup-modal .s-lookup-modal-container .filter-toggle button{align-items:center;position:relative;background-color:#e5eaea80;height:35px;width:100%;border:1px solid #e5eaea;outline:none;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;text-decoration:none;text-transform:none;padding:7px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:hover{background-color:active(rgba(229,234,234,.5));border-color:active(#e5eaea)}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:-2px}.s-lookup-modal .s-lookup-modal-container>.content{flex-grow:1;flex-basis:auto;overflow-x:auto;display:flex;flex-direction:column;padding:.5rem}.s-lookup-modal .s-lookup-modal-container>.content s-loading-state{height:100%;display:block}.s-lookup-modal .s-lookup-modal-container>.content .s-loading-state{height:100%}.s-lookup-modal .s-lookup-modal-container>.content .s-loading-state .state-contents{height:100%}.s-lookup-modal .s-lookup-modal-container>.content.empty-content{align-self:center}.s-lookup-modal .s-lookup-modal-container>.content.empty-content .content-child{display:none}.s-lookup-modal .s-lookup-modal-container>.content p-table>.p-datatable{height:100%;display:flex;flex-direction:column}.s-lookup-modal .s-lookup-modal-container>.content p-table>.p-datatable .p-datatable-table-container{flex:1;margin-bottom:0}\n"] }]
1034
+ ], template: "<div [ngClass]=\"{ inputgroup: showSearch, 'native-dropdown': !showSearch }\">\n <p-autoComplete\n #autocomplete\n sAutoCompleteMultipleFix\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [dataKey]=\"dataKey\"\n [multiple]=\"multiple\"\n [inputId]=\"id + '-autocomplete'\"\n [forceSelection]=\"autocompleteForceSelection\"\n [maxlength]=\"maxlength\"\n [suggestions]=\"getLookupSuggestions()\"\n (completeMethod)=\"onCompleteMethod($event)\"\n (onSelect)=\"onSelect.next($event)\"\n (onBlur)=\"onBlur.next($event)\"\n (onFocus)=\"onFocus.next($event)\"\n (onUnselect)=\"onUnselect.next($event)\"\n (onClear)=\"onClear.next($event)\"\n (onKeyUp)=\"onKeyUp.next($event)\"\n [field]=\"lookupDisplayField\"\n [dropdown]=\"!showSearch\"\n [appendTo]=\"lookupAppendTo\"\n [placeholder]=\"placeholder || ' '\"\n [showEmptyMessage]=\"true\"\n [autoHighlight]=\"true\"\n inputStyleClass=\"mousetrap\"\n panelStyleClass=\"s-lookup-panel\"\n >\n <ng-template #empty>\n {{ labelOptions?.searchEmptyTitle || lookupEmptyMessage || 'platform.angular_components.no_records_found' | translate }}\n </ng-template>\n </p-autoComplete>\n @if (showSearch) {\n <button\n class=\"button-addon\"\n [class.button-addon--disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (click)=\"showDialog()\"\n >\n <i class=\"fa fa-search\"></i>\n </button>\n }\n</div>\n\n<s-dialog\n [(visible)]=\"dialogVisible\"\n (visibleChange)=\"onVisibleChange($event!)\"\n [header]=\"labelOptions?.searchTitle || 'platform.angular_components.advanced_search' | translate\"\n contentClassName=\"s-lookup-modal\"\n [size]=\"dialogFullScreen() ? 'fullscreen' : 'xl'\"\n>\n @if (dialogVisible) {\n <div\n class=\"s-lookup-modal-container\"\n #dialogContainer\n >\n @if (searchFields && searchFields.length) {\n <div\n class=\"filter\"\n [@collapseContent]=\"\n collapsed\n ? { value: 'hidden', params: { transitionParams: transitionOptions } }\n : { value: 'visible', params: { transitionParams: transitionOptions } }\n \"\n (@collapseContent.done)=\"onToggleDone()\"\n >\n <form\n [formGroup]=\"formGroupDialog\"\n novalidate\n autocomplete=\"off\"\n >\n @if (!collapsed) {\n <div\n class=\"form-content\"\n [@childCollapseContent]=\"\n collapsed\n ? { value: ':leave', params: { transitionParams: transitionOptions } }\n : { value: ':enter', params: { transitionParams: transitionOptions } }\n \"\n >\n <div class=\"filter-title sds-section-title\">\n {{ labelOptions?.filterTitle || 'platform.angular_components.filters' | translate }}\n </div>\n <div class=\"form-fields\">\n <s-dynamic-form\n [configs]=\"searchFieldsDynamicStructure\"\n [form]=\"formGroupDialog\"\n >\n </s-dynamic-form>\n </div>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <s-button\n [id]=\"id + '-filter-button'\"\n type=\"submit\"\n [label]=\"\n labelOptions?.filterLabel || 'platform.angular_components.filter'\n | translate\n \"\n (clicked)=\"search()\"\n sTooltip=\"(ALT + SHIFT + F)\"\n >\n </s-button>\n <s-button\n [id]=\"id + '-clear-button'\"\n type=\"button\"\n [label]=\"\n labelOptions?.clearLabel || 'platform.angular_components.clear'\n | translate\n \"\n (clicked)=\"clear()\"\n priority=\"link\"\n sTooltip=\"(ALT + SHIFT + L)\"\n >\n </s-button>\n </div>\n </div>\n </div>\n }\n </form>\n </div>\n }\n @if (searchFields && searchFields.length) {\n <div class=\"filter-toggle\">\n <button\n [id]=\"id + '-filter-toggle-button'\"\n type=\"button\"\n (click)=\"filterToggle()\"\n >\n <span\n class=\"fa\"\n [ngClass]=\"{ 'fa-chevron-left': !collapsed, 'fa-chevron-right': collapsed }\"\n aria-hidden=\"true\"\n >\n </span>\n </button>\n </div>\n }\n @let isEmptyContent = !searchTotalRecords && !loading;\n <div\n class=\"content\"\n #contentContainer\n [ngClass]=\"{ 'empty-content': isEmptyContent }\"\n >\n @if (isEmptyContent) {\n <s-empty-state\n [id]=\"id + '-empty-state'\"\n [title]=\"\n labelOptions?.searchEmptyTitle || 'platform.angular_components.no_records_found' | translate\n \"\n [description]=\"searchEmptyDescription\"\n iconClass=\"fa fa-search\"\n >\n </s-empty-state>\n }\n\n @if (alertConfig) {\n <s-alert\n [severity]=\"alertConfig.type\"\n [summary]=\"alertConfig.title\"\n [detail]=\"alertConfig.message\"\n >\n </s-alert>\n }\n\n @if (showAddOption || showEditOption || showRemoveOption) {\n <div>\n @if (showAddOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.add' | translate\"\n (clicked)=\"onAdd.emit()\"\n >\n </s-button>\n }\n @if (showEditOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.edit' | translate\"\n [disabled]=\"selected.length !== 1\"\n (clicked)=\"onEdit.emit(this.selected[0])\"\n >\n </s-button>\n }\n @if (showRemoveOption) {\n <s-button\n priority=\"default\"\n [label]=\"'platform.angular_components.remove' | translate\"\n [disabled]=\"!selected.length\"\n (clicked)=\"onRemove.emit(this.selected)\"\n >\n </s-button>\n }\n </div>\n }\n\n <div class=\"content-child min-h-0 flex-1\">\n <p-table\n [dataKey]=\"dataKey\"\n [value]=\"getGridData()\"\n [columns]=\"searchGridFields\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [paginator]=\"true\"\n sortMode=\"multiple\"\n [totalRecords]=\"searchTotalRecords\"\n [rows]=\"10\"\n [selection]=\"selected\"\n (onLazyLoad)=\"lazyLoadGrid($event)\"\n [multiSortMeta]=\"multiSortMeta\"\n [attr.data-hidden]=\"!searchTotalRecords && !loading\"\n [selectionMode]=\"multiple ? 'multiple' : 'single'\"\n (selectionChange)=\"onSelectionChange($event)\"\n *sLoadingState=\"{ loading: loading, indicator: indicatorLogo }\"\n >\n <ng-template\n pTemplate=\"colgroup\"\n let-columns\n >\n <colgroup>\n @if (multiple) {\n <col style=\"width: 50px\" />\n }\n\n @for (col of columns; track $index) {\n <col [style.width]=\"col.width\" />\n }\n </colgroup>\n </ng-template>\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n @if (multiple) {\n <th style=\"width: 50px\">\n <s-table-header-checkbox\n [useAllObject]=\"lookupRowProps.length ? false : true\"\n [rowProps]=\"lookupRowProps\"\n >\n </s-table-header-checkbox>\n </th>\n }\n @for (col of columns; track $index) {\n <th\n [style.width]=\"col.width\"\n [pSortableColumn]=\"col.name\"\n [pSortableColumnDisabled]=\"sortableColumnsDisabled.includes(col.name)\"\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.label }}</span>\n @if (!sortableColumnsDisabled.includes(col.name)) {\n <p-sortIcon [field]=\"col.name\"> </p-sortIcon>\n }\n </div>\n </th>\n }\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowData\n let-columns\n let-rowIndex=\"rowIndex\"\n >\n <tr\n [pSelectableRow]=\"rowData\"\n [pSelectableRowIndex]=\"rowIndex\"\n sDoubleClick\n (doubleClicked)=\"onTableRowDoubleClick(rowData)\"\n >\n @if (multiple) {\n <td\n style=\"width: 50px\"\n tabindex=\"0\"\n >\n <p-tableCheckbox\n [value]=\"rowData\"\n [pSelectableRow]=\"rowData\"\n >\n </p-tableCheckbox>\n </td>\n }\n @for (col of searchGridFields; track $index) {\n <td\n [style.width]=\"col.width\"\n [ngSwitch]=\"col.type\"\n tabindex=\"0\"\n >\n @switch (col.type) {\n @case ('boolean') {\n <ng-container\n *ngIf=\"isBooleanValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getBooleanLabel(rowData, col.name, col.optionsLabel)\n }}</span>\n </ng-container>\n }\n @case ('date') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name)\n | localizedDate\n : col.calendarLocaleOptions?.dateFormat || 'L'\n | async\n }}</span>\n </ng-container>\n }\n @case ('dateTime') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name) | localizedDate | async\n }}</span>\n </ng-container>\n }\n @case ('localDateTime') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name) | localizedDate | async\n }}</span>\n </ng-container>\n }\n @case ('time') {\n <ng-container\n *ngIf=\"getFieldValue(rowData, col.name); else emptyTemplate\"\n >\n <span>{{\n getFieldValue(rowData, col.name)\n | localizedTime\n : col.calendarLocaleOptions?.dateFormat || 'LTS'\n | async\n }}</span>\n </ng-container>\n }\n @case ('integer') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getIntegerMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('double') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getDoubleMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('money') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getMoneyMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('number') {\n <ng-container *ngIf=\"isNumber(rowData, col.name); else emptyTemplate\">\n <span>\n {{\n getFieldValue(rowData, col.name)\n | localizedBignumber: getNumberMaskConfig(col)\n | async\n }}\n </span>\n </ng-container>\n }\n @case ('enum') {\n <ng-container\n *ngIf=\"\n getLabelForValue(getFieldValue(rowData, col.name), col);\n else emptyTemplate\n \"\n >\n <ng-container\n *ngIf=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col);\n then withBadge;\n else withoutBadge\n \"\n ></ng-container>\n <ng-template #withBadge>\n <s-badge\n [text]=\"\n getLabelForValue(getFieldValue(rowData, col.name), col)\n \"\n [color]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.color\n \"\n [type]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.type\n \"\n [iconClass]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.iconClass\n \"\n [iconPosition]=\"\n getBadgeFromValue(getFieldValue(rowData, col.name), col)\n ?.iconPosition\n \"\n >\n </s-badge>\n </ng-template>\n <ng-template #withoutBadge>\n <span>\n {{\n getLabelForValue(getFieldValue(rowData, col.name), col)\n }}\n </span>\n </ng-template>\n </ng-container>\n }\n @default {\n @if (fieldHasMask(col) && parseValueMaskValue(col, rowData)) {\n <ng-container *ngIf=\"hasRenderableValue(rowData, col.name)\">\n <span>{{\n getFieldValue(rowData, col.name)\n | sMaskFormatter: parseValueMaskValue(col, rowData)\n }}</span>\n </ng-container>\n } @else {\n <ng-container\n *ngIf=\"\n hasRenderableValue(rowData, col.name);\n else emptyTemplate\n \"\n >\n <span>{{ getFieldValue(rowData, col.name) }}</span>\n </ng-container>\n }\n }\n }\n </td>\n }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span [attr.data-hidden]=\"loading\">\n {{ printRecordTotalizer() }}\n </span>\n </ng-template>\n </p-table>\n </div>\n </div>\n </div>\n\n <ng-template sTemplate=\"footer\">\n <div class=\"flex w-full justify-end\">\n <s-button\n [id]=\"id + '-cancel-button'\"\n type=\"button\"\n priority=\"link\"\n [label]=\"labelOptions?.cancelLabel || 'platform.angular_components.cancel' | translate\"\n (clicked)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n >\n </s-button>\n <s-button\n [id]=\"id + '-select-button'\"\n type=\"button\"\n [label]=\"labelOptions?.selectLabel || 'platform.angular_components.select' | translate\"\n (clicked)=\"select()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n [disabled]=\"!selected.length\"\n >\n </s-button>\n </div>\n </ng-template>\n }\n</s-dialog>\n\n<ng-template #emptyTemplate>\n <span class=\"sds-empty-value\">\n {{ labelOptions?.emptyFieldLabel || 'platform.angular_components.not_informed' | translate }}\n </span>\n</ng-template>\n\n", styles: ["s-lookup .inputgroup{position:relative;display:flex;width:100%;align-items:stretch;border-radius:4px}s-lookup .inputgroup p-autocomplete{display:block;min-width:0px;flex-grow:1;width:auto}s-lookup .inputgroup p-autocomplete .p-autocomplete{width:100%}s-lookup .inputgroup p-autocomplete .p-autocomplete.p-disabled{opacity:1}s-lookup .inputgroup .p-autocomplete-input.p-inputtext,s-lookup .inputgroup .p-autocomplete-input-multiple{min-height:35px;width:100%;border-width:1px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);padding:5px 10px!important;border-radius:4px 0 0 4px!important}s-lookup .inputgroup .p-autocomplete-input-multiple{height:auto;padding:3px 10px!important}s-lookup .inputgroup .p-autocomplete-input.p-inputtext:disabled,s-lookup .inputgroup .p-disabled .p-autocomplete-input-multiple{--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1));border-color:#dedce5!important;background-color:#fbfafc!important}s-lookup .inputgroup .p-autocomplete-input.p-inputtext::placeholder,s-lookup .inputgroup .p-autocomplete-input-chip input::placeholder{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(110 114 128 / var(--tw-text-opacity, 1));opacity:1}s-lookup .inputgroup .p-autocomplete-input-chip input{font-size:.875rem;line-height:1.25rem}s-lookup .inputgroup .button-addon{display:flex;height:auto;min-height:35px;width:auto;min-width:0px;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;border-radius:0 4px 4px 0/0px 4px 4px 0px;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:10px;padding-right:10px;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-radius:0 4px 4px 0!important}s-lookup .inputgroup .button-addon:enabled:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1))}s-lookup .inputgroup .button-addon:focus{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .inputgroup .button-addon:disabled{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(222 220 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1))}s-lookup .inputgroup:after{content:\"\";pointer-events:none;position:absolute;inset:0;border-radius:4px}s-lookup .inputgroup:has(input:focus):after{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .inputgroup:has(input:focus) .p-autocomplete-input.p-inputtext,s-lookup .inputgroup:has(input:focus) .p-autocomplete-input-multiple,s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-input.p-inputtext,s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-input-multiple{border-color:#c1c1cc!important;box-shadow:none!important;outline:none}s-lookup .native-dropdown{position:relative;display:flex;width:100%;align-items:stretch;border-radius:4px}s-lookup .native-dropdown p-autocomplete{display:block;min-width:0px;flex-grow:1;width:auto}s-lookup .native-dropdown p-autocomplete .p-autocomplete{width:100%}s-lookup .native-dropdown p-autocomplete .p-autocomplete.p-disabled{opacity:1}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown .p-autocomplete-input-multiple{min-height:35px;width:100%;border-width:1px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);outline:2px solid transparent;outline-offset:2px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);padding:5px 10px!important;border-radius:4px 0 0 4px!important}s-lookup .native-dropdown .p-autocomplete-input-multiple{height:auto;padding:3px 10px!important}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext:disabled,s-lookup .native-dropdown .p-disabled .p-autocomplete-input-multiple{--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1));border-color:#dedce5!important;background-color:#fbfafc!important}s-lookup .native-dropdown .p-autocomplete-input.p-inputtext::placeholder,s-lookup .native-dropdown .p-autocomplete-input-chip input::placeholder{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(110 114 128 / var(--tw-text-opacity, 1));opacity:1}s-lookup .native-dropdown .p-autocomplete-input-chip input{font-size:.875rem;line-height:1.25rem}s-lookup .native-dropdown .p-autocomplete-dropdown{display:flex;height:auto;min-height:35px;width:auto;min-width:0px;flex-shrink:0;align-items:center;justify-content:center;gap:.25rem;border-radius:0 4px 4px 0/0px 4px 4px 0px;border-width:1px;border-left-width:0px;--tw-border-opacity: 1;border-color:rgb(193 193 204 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding-left:10px;padding-right:10px;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(33 37 51 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);border-radius:0 4px 4px 0!important}s-lookup .native-dropdown .p-autocomplete-dropdown:enabled:hover{--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1))}s-lookup .native-dropdown .p-autocomplete-dropdown:focus{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .native-dropdown .p-autocomplete-dropdown:disabled{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(222 220 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(251 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(193 193 204 / var(--tw-text-opacity, 1))}s-lookup .native-dropdown:after{content:\"\";pointer-events:none;position:absolute;inset:0;border-radius:4px}s-lookup .native-dropdown:has(input:focus):after{outline:2px solid var(--s-focus-ring-color, #0090ff);outline-offset:-2px}s-lookup .native-dropdown:has(input:focus) .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown:has(input:focus) .p-autocomplete-input-multiple,s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-input.p-inputtext,s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-input-multiple{border-color:#c1c1cc!important;box-shadow:none!important;outline:none}s-lookup .native-dropdown p-autocomplete .p-autocomplete>.p-iconwrapper{position:relative;right:19px}body s-lookup .inputgroup:has(input:focus) .button-addon,body s-lookup .inputgroup:has(input:focus) .p-autocomplete-dropdown,body s-lookup .inputgroup:has(.button-addon:focus) .button-addon,body s-lookup .inputgroup:has(.button-addon:focus) .p-autocomplete-dropdown,body s-lookup .inputgroup:has(.p-autocomplete-dropdown:focus) .button-addon,body s-lookup .inputgroup:has(.p-autocomplete-dropdown:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(input:focus) .button-addon,body s-lookup .native-dropdown:has(input:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(.button-addon:focus) .button-addon,body s-lookup .native-dropdown:has(.button-addon:focus) .p-autocomplete-dropdown,body s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .button-addon,body s-lookup .native-dropdown:has(.p-autocomplete-dropdown:focus) .p-autocomplete-dropdown{border-color:#c1c1cc!important}body .s-lookup-panel .p-autocomplete-empty-message{padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(110 114 128 / var(--tw-text-opacity, 1))}s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-input.p-inputtext,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-input-multiple,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .button-addon,s-lookup.ng-dirty.ng-invalid .inputgroup:not(:focus-within) .p-autocomplete-dropdown,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-input.p-inputtext,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-input-multiple,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .button-addon,s-lookup.ng-dirty.ng-invalid .native-dropdown:not(:focus-within) .p-autocomplete-dropdown{border-color:#c13018!important}body .p-autocomplete-empty-message{width:100%;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(110 114 128 / var(--tw-text-opacity, 1))}s-lookup .ui-autocomplete-input-token{width:100%}s-lookup .ui-autocomplete-input-token input{width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token{max-width:100%}s-lookup .ui-autocomplete .ui-autocomplete-token-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}s-lookup .p-table-scrollable-body{min-width:100%}.s-lookup-modal main{padding:0}.s-lookup-modal .s-lookup-modal-container{height:85vh;display:flex;flex-direction:row;width:100%}.s-lookup-modal .s-lookup-modal-container .filter{width:30%;height:auto;flex-grow:0;flex-shrink:0;background-color:#e5eaea80;padding:.571rem}.s-lookup-modal .s-lookup-modal-container .filter form{width:100%;height:100%}.s-lookup-modal .s-lookup-modal-container .filter form .form-content{height:100%;display:flex;flex-direction:column}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .filter-title{padding-left:.5rem}.s-lookup-modal .s-lookup-modal-container .filter form .form-content .form-fields{overflow-y:auto}.s-lookup-modal .s-lookup-modal-container .filter-toggle{margin-top:15px;flex-grow:0;flex-shrink:0;width:35px;border-radius:0 4px 4px 0}.s-lookup-modal .s-lookup-modal-container .filter-toggle button{align-items:center;position:relative;background-color:#e5eaea80;height:35px;width:100%;border:1px solid #e5eaea;outline:none;border-left:none;border-radius:0 4px 4px 0;cursor:pointer;text-decoration:none;text-transform:none;padding:7px;transition:background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:hover{background-color:active(rgba(229,234,234,.5));border-color:active(#e5eaea)}.s-lookup-modal .s-lookup-modal-container .filter-toggle button:focus-visible{outline:2px solid var(--s-focus-ring-color);outline-offset:-2px}.s-lookup-modal .s-lookup-modal-container>.content{flex-grow:1;flex-basis:auto;overflow-x:auto;display:flex;flex-direction:column;padding:.5rem}.s-lookup-modal .s-lookup-modal-container>.content s-loading-state{height:100%;display:block}.s-lookup-modal .s-lookup-modal-container>.content .s-loading-state{height:100%}.s-lookup-modal .s-lookup-modal-container>.content .s-loading-state .state-contents{height:100%}.s-lookup-modal .s-lookup-modal-container>.content.empty-content{align-self:center}.s-lookup-modal .s-lookup-modal-container>.content.empty-content .content-child{display:none}.s-lookup-modal .s-lookup-modal-container>.content p-table>.p-datatable{height:100%;display:flex;flex-direction:column}.s-lookup-modal .s-lookup-modal-container>.content p-table>.p-datatable .p-datatable-table-container{flex:1;margin-bottom:0}\n"] }]
1042
1035
  }], propDecorators: { alertConfig: [{
1043
1036
  type: Input
1044
1037
  }], formControlName: [{
@@ -1191,6 +1184,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1191
1184
  * Cria uma função que converte um `AddonConfig` em `InputGroupAddon`, reaproveitando o mesmo objeto
1192
1185
  * enquanto o `AddonConfig` for o mesmo (evita reatribuir o input do `s-input-group` a cada ciclo de detecção).
1193
1186
  *
1187
+ * O `label` do addon pode ser uma função: ela é avaliada a cada leitura do getter `label` do objeto resolvido.
1188
+ *
1194
1189
  * O addon fica desabilitado quando o próprio `disabled` do addon for verdadeiro ou quando o form control estiver desabilitado.
1195
1190
  */
1196
1191
  function createAddonResolver(fieldUtils, isFormDisabled) {
@@ -1202,7 +1197,9 @@ function createAddonResolver(fieldUtils, isFormDisabled) {
1202
1197
  if (!resolved) {
1203
1198
  resolved = {
1204
1199
  get label() {
1205
- return addon.label;
1200
+ return fieldUtils.isFunction(addon.label)
1201
+ ? fieldUtils.trigger(addon.label)
1202
+ : addon.label;
1206
1203
  },
1207
1204
  get icon() {
1208
1205
  return addon.icon;
@@ -1219,6 +1216,7 @@ function createAddonResolver(fieldUtils, isFormDisabled) {
1219
1216
  class BignumberFieldComponent {
1220
1217
  localeService = inject(LocaleService);
1221
1218
  changeDetectorRef = inject(ChangeDetectorRef);
1219
+ currencyService = inject(CurrencyService);
1222
1220
  field = input.required();
1223
1221
  formControl = input.required();
1224
1222
  fieldUtils = inject(FormFieldUtilsService);
@@ -1230,13 +1228,15 @@ class BignumberFieldComponent {
1230
1228
  ngUnsubscribe = new Subject();
1231
1229
  ngOnInit() {
1232
1230
  const field = this.field();
1231
+ if (field.type === 'money') {
1232
+ this.applyMoneyDefaults(field);
1233
+ }
1233
1234
  this.onScale();
1234
1235
  field.numberLocaleOptions = field.numberLocaleOptions ?? new NumberLocaleOptions();
1235
1236
  if (field.type === 'number') {
1236
1237
  field.autoClear = field.autoClear ?? true;
1237
1238
  field.allowNegative = field.allowNegative ?? true;
1238
1239
  }
1239
- field.alignTo = field.scale ? 'right' : 'left';
1240
1240
  this.onLocaleService();
1241
1241
  this.onFocus.pipe(takeUntil$1(this.ngUnsubscribe)).subscribe((event) => {
1242
1242
  if (this.field().onFocus) {
@@ -1295,26 +1295,46 @@ class BignumberFieldComponent {
1295
1295
  }
1296
1296
  onScale() {
1297
1297
  // Currently, this component is used for the following types
1298
- // 'integer', 'decimal', 'number'
1298
+ // 'integer', 'double', 'number', 'money'
1299
1299
  if (isNullOrUndefined(this.field().scale)) {
1300
1300
  this.field().scale = this.field().type === 'integer' ? 0 : 2;
1301
1301
  }
1302
1302
  }
1303
+ applyMoneyDefaults(field) {
1304
+ if (!field.leftAddon) {
1305
+ field.leftAddon = {
1306
+ label: () => {
1307
+ const currency = field.currency?.();
1308
+ return currency
1309
+ ? this.currencyService.getCurrencySymbol({ currency })
1310
+ : (field.numberLocaleOptions?.currencySymbol ?? 'R$');
1311
+ },
1312
+ };
1313
+ }
1314
+ if (field.currency) {
1315
+ if (isNullOrUndefined(field.scale)) {
1316
+ field.scale = () => currencies[field.currency()]?.scale ?? 2;
1317
+ }
1318
+ if (isNullOrUndefined(field.precision)) {
1319
+ field.precision = () => currencies[field.currency()]?.precision ?? 15;
1320
+ }
1321
+ }
1322
+ }
1303
1323
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BignumberFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1304
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BignumberFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n\n@let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n@let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n@let scale = fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale;\n\n<s-input-group\n [leftAddon]=\"toAddon(_field.leftAddon)\"\n [rightAddon]=\"toAddon(_field.rightAddon)\"\n>\n @if (_field.mask) {\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autoClear]=\"autoClear\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n } @else {\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [minDecimalPlaces]=\"scale\"\n [maxDecimalPlaces]=\"scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [blockDecimalOverflow]=\"true\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n }\n</s-input-group>\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: InputGroupComponent, selector: "s-input-group", inputs: ["leftAddon", "rightAddon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: BignumberInputModule }, { kind: "directive", type: i2$1.BignumberInputDirective, selector: "input[sBignumberInput]", inputs: ["precision", "scale", "minDecimalPlaces", "maxDecimalPlaces", "decimalSeparator", "thousandsSeparator", "thousandSeparator", "alignTo", "allowNegative", "blockDecimalOverflow", "placeholder"], outputs: ["minDecimalPlacesChange", "maxDecimalPlacesChange", "decimalSeparatorChange", "thousandSeparatorChange", "placeholderChange", "pasteRejected"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputTextDirective, selector: "input[sInputText]" }], encapsulation: i0.ViewEncapsulation.None });
1324
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BignumberFieldComponent, isStandalone: true, selector: "s-bignumber-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n\n@let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n@let allowNegative = _field.allowNegative ?? _field.type === 'number';\n@let scale = fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale;\n\n<s-input-group\n [leftAddon]=\"toAddon(_field.leftAddon)\"\n [rightAddon]=\"toAddon(_field.rightAddon)\"\n>\n @if (_field.mask) {\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autoClear]=\"autoClear\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n } @else {\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sNumericMask\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [minDecimalPlaces]=\"scale\"\n [maxDecimalPlaces]=\"scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [blockDecimalOverflow]=\"true\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n }\n</s-input-group>\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: InputGroupComponent, selector: "s-input-group", inputs: ["leftAddon", "rightAddon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NumericMaskDirective, selector: "[sNumericMask]", inputs: ["locale", "minDecimalPlaces", "maxDecimalPlaces", "allowNegative", "allowScientificNotation", "min", "max", "blockDecimalOverflow", "decimalRoundingMode", "precision", "placeholder", "decimalSeparator", "thousandSeparator"], outputs: ["placeholderChange", "pasteRejected", "decimalSeparatorChange", "thousandSeparatorChange"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2$1.InputTextDirective, selector: "input[sInputText]" }], encapsulation: i0.ViewEncapsulation.None });
1305
1325
  }
1306
1326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BignumberFieldComponent, decorators: [{
1307
1327
  type: Component,
1308
- args: [{ encapsulation: ViewEncapsulation.None, standalone: true, imports: [
1328
+ args: [{ selector: 's-bignumber-field', encapsulation: ViewEncapsulation.None, standalone: true, imports: [
1309
1329
  FieldLabelComponent,
1310
1330
  InputMaskDirective,
1311
1331
  TooltipDirective,
1312
1332
  ReactiveFormsModule,
1313
1333
  InputGroupComponent,
1314
1334
  NgClass,
1315
- BignumberInputModule,
1335
+ NumericMaskDirective,
1316
1336
  InputTextModule,
1317
- ], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n\n@let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n@let allowNegative = _field.type === 'number' ? (_field.allowNegative ?? true) : false;\n@let scale = fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale;\n\n<s-input-group\n [leftAddon]=\"toAddon(_field.leftAddon)\"\n [rightAddon]=\"toAddon(_field.rightAddon)\"\n>\n @if (_field.mask) {\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autoClear]=\"autoClear\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n } @else {\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sBignumberInput\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [minDecimalPlaces]=\"scale\"\n [maxDecimalPlaces]=\"scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [blockDecimalOverflow]=\"true\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n }\n</s-input-group>\n" }]
1337
+ ], template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef!.nativeElement\"\n />\n}\n\n@let autoClear = _field.type === 'number' ? (_field.autoClear ?? true) : false;\n@let allowNegative = _field.allowNegative ?? _field.type === 'number';\n@let scale = fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale;\n\n<s-input-group\n [leftAddon]=\"toAddon(_field.leftAddon)\"\n [rightAddon]=\"toAddon(_field.rightAddon)\"\n>\n @if (_field.mask) {\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autoClear]=\"autoClear\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n } @else {\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sNumericMask\n [allowNegative]=\"allowNegative\"\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [minDecimalPlaces]=\"scale\"\n [maxDecimalPlaces]=\"scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [blockDecimalOverflow]=\"true\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n class=\"input-text\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n }\n</s-input-group>\n" }]
1318
1338
  }], propDecorators: { onInput: [{
1319
1339
  type: Output
1320
1340
  }], onFocus: [{
@@ -1344,7 +1364,7 @@ class BooleanSwitchFieldComponent {
1344
1364
  field = input.required();
1345
1365
  formControl = input.required();
1346
1366
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanSwitchFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1347
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BooleanSwitchFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\r\n@let isFormDisabled = formControl().disabled;\r\n<s-field-label [field]=\"_field\"></s-field-label>\r\n\r\n<div class=\"p-fluid\">\r\n <div class=\"flex items-center gap-2\">\r\n <s-switch\r\n [id]=\"_field.id || _field.name\"\r\n [inputName]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n (valueChanged)=\"_field.onChange ? _field.onChange($event) : null\"\r\n >\r\n </s-switch>\r\n @if (_field.optionsLabel) {\r\n <span [class.opacity-50]=\"isFormDisabled\">\r\n @if (formControl().value) {\r\n {{ _field.optionsLabel.true }}\r\n } @else {\r\n {{ _field.optionsLabel.false }}\r\n }\r\n </span>\r\n }\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: SwitchModule }, { kind: "component", type: i1$5.SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "label", "inputName", "disabled", "value", "showStatusLabel"], outputs: ["valueChanged"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3$1.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }] });
1367
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BooleanSwitchFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "@let _field = field();\r\n@let isFormDisabled = formControl().disabled;\r\n<s-field-label [field]=\"_field\"></s-field-label>\r\n\r\n<div class=\"p-fluid\">\r\n <div class=\"flex items-center gap-2\">\r\n <s-switch\r\n [id]=\"_field.id || _field.name\"\r\n [inputName]=\"_field.name\"\r\n [formControl]=\"formControl()\"\r\n [sTooltip]=\"_field.tooltip\"\r\n tooltipPosition=\"top\"\r\n (valueChanged)=\"_field.onChange ? _field.onChange($event) : null\"\r\n >\r\n </s-switch>\r\n @if (_field.optionsLabel) {\r\n <span [class.opacity-50]=\"isFormDisabled\">\r\n @if (formControl().value) {\r\n {{ _field.optionsLabel.true }}\r\n } @else {\r\n {{ _field.optionsLabel.false }}\r\n }\r\n </span>\r\n }\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "ngmodule", type: SwitchModule }, { kind: "component", type: i1$5.SwitchComponent, selector: "s-switch", inputs: ["readonly", "trueLabel", "falseLabel", "inputId", "label", "inputName", "disabled", "value", "showStatusLabel"], outputs: ["valueChanged"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }] });
1348
1368
  }
1349
1369
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanSwitchFieldComponent, decorators: [{
1350
1370
  type: Component,
@@ -1482,85 +1502,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1482
1502
  args: [{ standalone: true, imports: [FieldLabelComponent, CountryPhonePickerModule, ReactiveFormsModule], template: "@let _field = field();\n@if (countryPhonePicker.phoneInput?.nativeElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"countryPhonePicker.phoneInput?.nativeElement\"\n ></s-field-label>\n}\n\n<s-country-phone-picker\n #countryPhonePicker\n [formControl]=\"formControl()\"\n [ordination]=\"_field.ordination\"\n [countries]=\"_field.countries\"\n (selected)=\"_field.onSelected($event)\"\n (focusLost)=\"_field.onFocusLost ? _field.onFocusLost($event) : null\"\n>\n</s-country-phone-picker>\n\n" }]
1483
1503
  }] });
1484
1504
 
1485
- /**
1486
- * @deprecated Should use bignumber instead
1487
- */
1488
- class CurrencyFieldComponent {
1489
- currencyService = inject(CurrencyService);
1490
- localeService = inject(LocaleService);
1491
- changeDetectorRef = inject(ChangeDetectorRef);
1492
- _destroyRef = inject(DestroyRef);
1493
- inputRefComponent = viewChild('inputRef');
1494
- field = input.required();
1495
- formControl = input.required();
1496
- fieldUtils = inject(FormFieldUtilsService);
1497
- currencies = currencies;
1498
- mask;
1499
- isFormDisabled = () => this.formControl().disabled;
1500
- inputRef = computed(() => this.inputRefComponent()?.nativeElement);
1501
- ngOnInit() {
1502
- this.onLocaleService();
1503
- const field = this.field();
1504
- this.mask = typeof field.mask === 'function' ? field.mask() : field.mask;
1505
- }
1506
- ngAfterViewInit() {
1507
- this.changeDetectorRef.detectChanges();
1508
- }
1509
- onLocaleService() {
1510
- this.localeService
1511
- .getLocale()
1512
- .pipe(first(), takeUntilDestroyed(this._destroyRef))
1513
- .subscribe({
1514
- next: () => {
1515
- if (!this.field().numberLocaleOptions?.decimalSeparator) {
1516
- this.field().numberLocaleOptions = {
1517
- currencySymbol: this.field().numberLocaleOptions?.currencySymbol,
1518
- thousandsSeparator: this.field().numberLocaleOptions?.thousandsSeparator,
1519
- decimalSeparator: this.localeService.getDecimalSeparator(),
1520
- };
1521
- }
1522
- if (!this.field().numberLocaleOptions?.thousandsSeparator) {
1523
- this.field().numberLocaleOptions = {
1524
- currencySymbol: this.field().numberLocaleOptions.currencySymbol,
1525
- decimalSeparator: this.field().numberLocaleOptions.decimalSeparator,
1526
- thousandsSeparator: this.localeService.getGroupingSeparator(),
1527
- };
1528
- }
1529
- if (!this.field().numberLocaleOptions?.currencySymbol) {
1530
- this.field().numberLocaleOptions = {
1531
- decimalSeparator: this.field().numberLocaleOptions.decimalSeparator,
1532
- thousandsSeparator: this.field().numberLocaleOptions.thousandsSeparator,
1533
- currencySymbol: 'R$',
1534
- };
1535
- }
1536
- },
1537
- error: () => (this.field().numberLocaleOptions = this.field().numberLocaleOptions ?? {
1538
- thousandsSeparator: '.',
1539
- decimalSeparator: ',',
1540
- currencySymbol: 'R$',
1541
- }),
1542
- });
1543
- }
1544
- parseAlignTo(field) {
1545
- return field.alignTo === 'right' ? NumberAlignmentOption.RIGHT : NumberAlignmentOption.LEFT;
1546
- }
1547
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1548
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CurrencyFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefComponent", first: true, predicate: ["inputRef"], descendants: true, isSignal: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n@let currencySymbol =\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol;\n\n@let currencyAddon = currencySymbol ? { label: currencySymbol, disabled: isFormDisabled } : undefined;\n\n<s-input-group [leftAddon]=\"currencyAddon\">\n @if (hasMask) {\n <input\n #inputRef\n class=\"input-text mousetrap\"\n sInputText\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [sInputMask]=\"mask\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (maskComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (input)=\"_field.onInput ? _field.onInput($event) : null\"\n />\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"input-text\"\n sInputText\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [blockDecimalOverflow]=\"true\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</s-input-group>\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i2$3.NumberInputDirective, selector: "input[sNumberInput]" }, { kind: "directive", type: InputTextDirective, selector: "input[sInputText]" }, { kind: "component", type: InputGroupComponent, selector: "s-input-group", inputs: ["leftAddon", "rightAddon"] }], encapsulation: i0.ViewEncapsulation.None });
1549
- }
1550
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
1551
- type: Component,
1552
- args: [{ standalone: true, imports: [
1553
- FieldLabelComponent,
1554
- NgClass,
1555
- InputMaskDirective,
1556
- ReactiveFormsModule,
1557
- TooltipDirective,
1558
- NumberInputModule,
1559
- InputTextDirective,
1560
- InputGroupComponent,
1561
- ], encapsulation: ViewEncapsulation.None, template: "@let _field = field();\n@if (inputRef()) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef()\"\n ></s-field-label>\n}\n@let hasMask = !!_field.mask;\n@let currencySymbol =\n _field.currency\n ? currencyService.getCurrencySymbol({ currency: _field.currency() })\n : _field.numberLocaleOptions?.currencySymbol;\n\n@let currencyAddon = currencySymbol ? { label: currencySymbol, disabled: isFormDisabled } : undefined;\n\n<s-input-group [leftAddon]=\"currencyAddon\">\n @if (hasMask) {\n <input\n #inputRef\n class=\"input-text mousetrap\"\n sInputText\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n [sInputMask]=\"mask\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n (maskComplete)=\"_field.onComplete ? _field.onComplete($event) : null\"\n (input)=\"_field.onInput ? _field.onInput($event) : null\"\n />\n } @else if (!hasMask) {\n <input\n #inputRef\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n class=\"input-text\"\n sInputText\n [name]=\"_field.name\"\n [formControl]=\"formControl()\"\n sNumberInput\n [precision]=\"\n _field.precision\n ? fieldUtils.isFunction(_field.precision)\n ? fieldUtils.trigger(_field.precision)\n : _field.precision\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].precision\n : 15\n \"\n [scale]=\"\n _field.scale\n ? fieldUtils.isFunction(_field.scale)\n ? fieldUtils.trigger(_field.scale)\n : _field.scale\n : _field.currency && _field.currency()\n ? currencies[_field.currency()].scale\n : 2\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [blockDecimalOverflow]=\"true\"\n [alignTo]=\"parseAlignTo(_field)\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"_field.onFocus ? _field.onFocus($event) : null\"\n />\n }\n</s-input-group>\n" }]
1562
- }] });
1563
-
1564
1505
  class FileUploadFieldComponent {
1565
1506
  changeDetectorRef = inject(ChangeDetectorRef);
1566
1507
  elementRef = inject(ElementRef);
@@ -1631,110 +1572,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1631
1572
  args: [{ standalone: true, imports: [FieldLabelComponent, TooltipDirective, LookupComponent, ReactiveFormsModule], template: "@let _field = field();\n<s-field-label [field]=\"_field\"></s-field-label>\n\n<div\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n>\n <s-lookup\n [id]=\"_field.id || _field.name\"\n [multiple]=\"_field.multiple ?? false\"\n [formControl]=\"formControl()\"\n [lookupSuggestions]=\"lookupSuggestions\"\n [dataKey]=\"_field.dataKey\"\n [placeholder]=\"_field.placeholder\"\n [showSearch]=\"_field.showSearch ?? true\"\n [searchFields]=\"_field.searchFields\"\n [searchGridFields]=\"_field.searchGridFields\"\n [searchGridData]=\"gridData\"\n (onLookupRequest)=\"_field.onLookupRequest($event)\"\n (onSearchRequest)=\"_field.onSearchRequest($event)\"\n [lookupDisplayField]=\"_field.lookupDisplayField\"\n [searchTotalRecords]=\"searchTotalRecords\"\n [labelOptions]=\"{\n recordsLabel: _field.recordsLabel,\n recordLabel: _field.recordLabel,\n emptyFieldLabel: _field.emptyFieldLabel,\n selectLabel: _field.selectLabel,\n cancelLabel: _field.cancelLabel,\n clearLabel: _field.clearLabel,\n filterLabel: _field.filterLabel,\n filterTitle: _field.filterTitle,\n searchTotalRecordsLabel: searchTotalRecordsLabel,\n searchEmptyTitle: _field.searchEmptyTitle,\n searchTitle: _field.searchTitle,\n }\"\n (onSelect)=\"_field.onSelect?.($event)\"\n (onUnselect)=\"_field.onUnselect?.($event)\"\n (onClear)=\"_field.onClear ? _field.onClear($event) : null\"\n (onBlur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n [lookupAppendTo]=\"_field.appendTo\"\n [lookupEmptyMessage]=\"_field.emptyMessage\"\n [defaultFilter]=\"_field.defaultFilter ?? []\"\n [autocompleteForceSelection]=\"_field.autocompleteForceSelection ?? true\"\n [maxlength]=\"_field.maxlength ?? null\"\n [alertConfig]=\"_field.alertConfig\"\n [showAddOption]=\"_field.showAddOption ?? false\"\n [showEditOption]=\"_field.showEditOption ?? false\"\n [showRemoveOption]=\"_field.showRemoveOption ?? false\"\n [sortableColumnsDisabled]=\"_field.sortableColumnsDisabled ?? []\"\n (onAdd)=\"_field.onAdd ? _field.onAdd() : null\"\n (onEdit)=\"_field.onEdit ? _field.onEdit($event) : null\"\n (onRemove)=\"_field.onRemove ? _field.onRemove($event) : null\"\n (onClearButtonClick)=\"_field.onClearButtonClick ? _field.onClearButtonClick() : null\"\n >\n </s-lookup>\n</div>\n\n" }]
1632
1573
  }] });
1633
1574
 
1634
- /* eslint-disable @angular-eslint/no-output-on-prefix */
1635
- class NumberFieldComponent {
1636
- localeService = inject(LocaleService);
1637
- elementRef = inject(ElementRef);
1638
- changeDetectorRef = inject(ChangeDetectorRef);
1639
- field = input.required();
1640
- formControl = input.required();
1641
- fieldUtils = inject(FormFieldUtilsService);
1642
- toAddon = createAddonResolver(this.fieldUtils, () => this.formControl().disabled);
1643
- onInput = new EventEmitter();
1644
- onFocus = new EventEmitter();
1645
- onComplete = new EventEmitter();
1646
- inputRef = null;
1647
- ngUnsubscribe = new Subject();
1648
- ngOnInit() {
1649
- this.onLocaleService();
1650
- this.onFocus.pipe(takeUntil$1(this.ngUnsubscribe)).subscribe((event) => {
1651
- if (this.field().onFocus) {
1652
- this.field().onFocus?.(event);
1653
- }
1654
- });
1655
- this.onInput.pipe(takeUntil$1(this.ngUnsubscribe)).subscribe((event) => {
1656
- if (this.field().onInput) {
1657
- this.field().onInput?.(event);
1658
- }
1659
- });
1660
- this.onComplete.pipe(takeUntil$1(this.ngUnsubscribe)).subscribe((event) => {
1661
- if (this.field().onComplete) {
1662
- this.field().onComplete?.(event);
1663
- }
1664
- });
1665
- }
1666
- ngAfterViewInit() {
1667
- this.setInputRef();
1668
- this.changeDetectorRef.detectChanges();
1669
- }
1670
- ngOnDestroy() {
1671
- this.ngUnsubscribe.next();
1672
- this.ngUnsubscribe.complete();
1673
- }
1674
- get numberAlignmentOption() {
1675
- return NumberAlignmentOption;
1676
- }
1677
- onLocaleService() {
1678
- const field = this.field();
1679
- this.localeService
1680
- .getLocale()
1681
- .pipe(first())
1682
- .subscribe({
1683
- next: () => {
1684
- if (!field.numberLocaleOptions?.decimalSeparator) {
1685
- field.numberLocaleOptions = {
1686
- ...field.numberLocaleOptions,
1687
- decimalSeparator: this.localeService.getDecimalSeparator() ?? '',
1688
- };
1689
- }
1690
- if (!field.numberLocaleOptions?.thousandsSeparator) {
1691
- field.numberLocaleOptions = {
1692
- ...field.numberLocaleOptions,
1693
- thousandsSeparator: this.localeService.getGroupingSeparator() ?? '',
1694
- };
1695
- }
1696
- if (!field.numberLocaleOptions?.currencySymbol) {
1697
- field.numberLocaleOptions = {
1698
- ...field.numberLocaleOptions,
1699
- currencySymbol: 'R$',
1700
- };
1701
- }
1702
- },
1703
- error: () => (field.numberLocaleOptions = field.numberLocaleOptions ?? {
1704
- thousandsSeparator: '.',
1705
- decimalSeparator: ',',
1706
- currencySymbol: 'R$',
1707
- }),
1708
- });
1709
- }
1710
- setInputRef() {
1711
- const input = this.elementRef.nativeElement.querySelector('input');
1712
- this.inputRef = input;
1713
- }
1714
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1715
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NumberFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef.nativeElement\"\n />\n}\n\n<s-input-group\n [leftAddon]=\"toAddon(_field.leftAddon)\"\n [rightAddon]=\"toAddon(_field.rightAddon)\"\n>\n @if (_field.mask) {\n <input\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n } @else if (\n _field.type === 'legacyNumber' && _field.localizedNumber && _field.alignTo === numberAlignmentOption.LEFT\n ) {\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sLocalizedNumberInput\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n } @else {\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sNumberInput\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"_field.alignTo ?? numberAlignmentOption.LEFT\"\n [blockDecimalOverflow]=\"true\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n class=\"input-text\"\n />\n }\n</s-input-group>\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: InputGroupComponent, selector: "s-input-group", inputs: ["leftAddon", "rightAddon"] }, { kind: "ngmodule", type: LocalizedNumberInputModule }, { kind: "directive", type: i2$4.LocalizedNumberInputDirective, selector: "input[sLocalizedNumberInput]", inputs: ["decimalSeparator", "thousandsSeparator", "precision"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NumberInputModule }, { kind: "directive", type: i2$3.NumberInputDirective, selector: "input[sNumberInput]" }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputTextDirective, selector: "input[sInputText]" }], encapsulation: i0.ViewEncapsulation.None });
1716
- }
1717
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberFieldComponent, decorators: [{
1718
- type: Component,
1719
- args: [{ standalone: true, imports: [
1720
- FieldLabelComponent,
1721
- InputMaskDirective,
1722
- TooltipDirective,
1723
- ReactiveFormsModule,
1724
- InputGroupComponent,
1725
- LocalizedNumberInputModule,
1726
- NgClass,
1727
- NumberInputModule,
1728
- InputTextModule,
1729
- ], encapsulation: ViewEncapsulation.None, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef.nativeElement\"\n />\n}\n\n<s-input-group\n [leftAddon]=\"toAddon(_field.leftAddon)\"\n [rightAddon]=\"toAddon(_field.rightAddon)\"\n>\n @if (_field.mask) {\n <input\n sInputText\n class=\"input-text mousetrap\"\n type=\"text\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [placeholder]=\"_field.placeholder ?? ''\"\n slotChar=\"_\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n } @else if (\n _field.type === 'legacyNumber' && _field.localizedNumber && _field.alignTo === numberAlignmentOption.LEFT\n ) {\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sLocalizedNumberInput\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n />\n } @else {\n <input\n #inputRef\n [id]=\"_field.id || _field.name\"\n type=\"text\"\n [name]=\"_field.name\"\n sNumberInput\n [precision]=\"\n fieldUtils.isFunction(_field.precision) ? fieldUtils.trigger(_field.precision) : _field.precision\n \"\n [scale]=\"fieldUtils.isFunction(_field.scale) ? fieldUtils.trigger(_field.scale) : _field.scale\"\n [decimalSeparator]=\"_field.numberLocaleOptions?.decimalSeparator ?? ''\"\n [thousandsSeparator]=\"_field.numberLocaleOptions?.thousandsSeparator ?? ''\"\n [alignTo]=\"_field.alignTo ?? numberAlignmentOption.LEFT\"\n [blockDecimalOverflow]=\"true\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder\"\n [showDelay]=\"500\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n [formControl]=\"formControl()\"\n class=\"input-text\"\n />\n }\n</s-input-group>\n" }]
1730
- }], propDecorators: { onInput: [{
1731
- type: Output
1732
- }], onFocus: [{
1733
- type: Output
1734
- }], onComplete: [{
1735
- type: Output
1736
- }] } });
1737
-
1738
1575
  /* eslint-disable @angular-eslint/no-output-on-prefix */
1739
1576
  class PasswordFieldComponent {
1740
1577
  changeDetectorRef = inject(ChangeDetectorRef);
@@ -1786,7 +1623,7 @@ class PasswordFieldComponent {
1786
1623
  this.changeDetectorRef.detectChanges();
1787
1624
  }
1788
1625
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1789
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PasswordFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<s-input-group [rightAddon]=\"_field.showToggle ? (passwordVisible ? hidePasswordAddon : showPasswordAddon) : undefined\">\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"_field.id || _field.name\"\n class=\"password-input\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [sPasswordStrength]=\"_field.passwordStrength ? _field.passwordStrength : false\"\n [passwordStrengthDescription]=\"\n _field.passwordStrengthOptions?.description ? _field.passwordStrengthOptions!.description : ''\n \"\n [passwordStrengthWeakTitle]=\"\n _field.passwordStrengthOptions?.weakTitle ? _field.passwordStrengthOptions?.weakTitle : ''\n \"\n [passwordStrengthMediumTitle]=\"\n _field.passwordStrengthOptions?.mediumTitle ? _field.passwordStrengthOptions?.mediumTitle : ''\n \"\n [passwordStrengthStrongTitle]=\"\n _field.passwordStrengthOptions?.strongTitle ? _field.passwordStrengthOptions?.strongTitle : ''\n \"\n [passwordStrengthValidation]=\"_field.passwordStrengthOptions?.validation\"\n />\n</s-input-group>\n", styles: ["s-text-field.ng-dirty.ng-invalid .password-input{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .password-input:hover{border-color:highlight(#c13018)}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PasswordStrengthModule }, { kind: "directive", type: i2$5.PasswordStrengthDirective, selector: "[sPasswordStrength]", inputs: ["sPasswordStrength", "passwordStrengthValidation", "passwordStrengthPosition", "passwordStrengthWeakTitle", "passwordStrengthMediumTitle", "passwordStrengthStrongTitle", "passwordStrengthDescription"] }, { kind: "component", type: InputGroupComponent, selector: "s-input-group", inputs: ["leftAddon", "rightAddon"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3.InputTextDirective, selector: "input[sInputText]" }], encapsulation: i0.ViewEncapsulation.None });
1626
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: PasswordFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n@if (inputRef) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputRef\"\n ></s-field-label>\n}\n\n<s-input-group [rightAddon]=\"_field.showToggle ? (passwordVisible ? hidePasswordAddon : showPasswordAddon) : undefined\">\n <input\n #inputRef\n [type]=\"passwordVisible ? 'text' : 'password'\"\n [id]=\"_field.id || _field.name\"\n class=\"password-input\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [sPasswordStrength]=\"_field.passwordStrength ? _field.passwordStrength : false\"\n [passwordStrengthDescription]=\"\n _field.passwordStrengthOptions?.description ? _field.passwordStrengthOptions!.description : ''\n \"\n [passwordStrengthWeakTitle]=\"\n _field.passwordStrengthOptions?.weakTitle ? _field.passwordStrengthOptions?.weakTitle : ''\n \"\n [passwordStrengthMediumTitle]=\"\n _field.passwordStrengthOptions?.mediumTitle ? _field.passwordStrengthOptions?.mediumTitle : ''\n \"\n [passwordStrengthStrongTitle]=\"\n _field.passwordStrengthOptions?.strongTitle ? _field.passwordStrengthOptions?.strongTitle : ''\n \"\n [passwordStrengthValidation]=\"_field.passwordStrengthOptions?.validation\"\n />\n</s-input-group>\n", styles: ["s-text-field.ng-dirty.ng-invalid .password-input{border-color:#c13018}s-text-field.ng-dirty.ng-invalid .password-input:hover{border-color:highlight(#c13018)}\n"], dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: PasswordStrengthModule }, { kind: "directive", type: i2$3.PasswordStrengthDirective, selector: "[sPasswordStrength]", inputs: ["sPasswordStrength", "passwordStrengthValidation", "passwordStrengthPosition", "passwordStrengthWeakTitle", "passwordStrengthMediumTitle", "passwordStrengthStrongTitle", "passwordStrengthDescription"] }, { kind: "component", type: InputGroupComponent, selector: "s-input-group", inputs: ["leftAddon", "rightAddon"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i2$1.InputTextDirective, selector: "input[sInputText]" }], encapsulation: i0.ViewEncapsulation.None });
1790
1627
  }
1791
1628
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PasswordFieldComponent, decorators: [{
1792
1629
  type: Component,
@@ -2067,7 +1904,7 @@ class TextFieldComponent {
2067
1904
  return this.inputRef?.nativeElement;
2068
1905
  }
2069
1906
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2070
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n\n@if (inputElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputElement\"\n />\n}\n\n<s-input-group\n [leftAddon]=\"toAddon(_field.leftAddon)\"\n [rightAddon]=\"toAddon(_field.rightAddon)\"\n>\n @if (_field.mask) {\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [characterPattern]=\"fieldUtils.getFieldProperty(_field.characterPattern ?? '[A-Za-z]')\"\n [unmask]=\"fieldUtils.getFieldProperty(_field.unmask ?? false)\"\n slotChar=\"_\"\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n } @else if (_field.keyFilter) {\n <input\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n class=\"input-text\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [pKeyFilter]=\"_field.keyFilter\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n } @else {\n <input\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n class=\"input-text\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n }\n</s-input-group>\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3$1.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: KeyFilterModule }, { kind: "directive", type: i3$2.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: InputTextDirective, selector: "input[sInputText]" }, { kind: "component", type: InputGroupComponent, selector: "s-input-group", inputs: ["leftAddon", "rightAddon"] }], encapsulation: i0.ViewEncapsulation.None });
1907
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: TextFieldComponent, isStandalone: true, selector: "ng-component", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onInput: "onInput", onFocus: "onFocus", onComplete: "onComplete" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }], ngImport: i0, template: "@let _field = field();\n\n@if (inputElement) {\n <s-field-label\n [field]=\"_field\"\n [fieldContainerRef]=\"inputElement\"\n />\n}\n\n<s-input-group\n [leftAddon]=\"toAddon(_field.leftAddon)\"\n [rightAddon]=\"toAddon(_field.rightAddon)\"\n>\n @if (_field.mask) {\n <input\n #inputRef\n sInputText\n class=\"input-text mousetrap\"\n [sInputMask]=\"fieldUtils.getFieldPropertyMask(_field.mask)\"\n [characterPattern]=\"fieldUtils.getFieldProperty(_field.characterPattern ?? '[A-Za-z]')\"\n [unmask]=\"fieldUtils.getFieldProperty(_field.unmask ?? false)\"\n slotChar=\"_\"\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n [formControl]=\"formControl()\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (maskComplete)=\"onComplete.next($event)\"\n (input)=\"onInput.next($event)\"\n />\n } @else if (_field.keyFilter) {\n <input\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n class=\"input-text\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [pKeyFilter]=\"_field.keyFilter\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n } @else {\n <input\n #inputRef\n [type]=\"_field.inputType || 'text'\"\n [id]=\"_field.id || _field.name\"\n [name]=\"_field.name\"\n [sTooltip]=\"_field.tooltip\"\n tooltipPosition=\"top\"\n [placeholder]=\"_field.placeholder ?? ''\"\n [showDelay]=\"500\"\n [maxLength]=\"_field.maxLength ?? 9999999\"\n sInputText\n class=\"input-text\"\n [autocomplete]=\"_field.browserAutocomplete ? 'on' : 'off'\"\n [ngClass]=\"'mousetrap'\"\n (blur)=\"_field.onBlur ? _field.onBlur($event) : null\"\n (focus)=\"onFocus.next($event)\"\n (input)=\"onInput.next($event)\"\n [formControl]=\"formControl()\"\n [ngStyle]=\"_field.style\"\n [readOnly]=\"_field.readonly ? _field.readonly() : false\"\n />\n }\n</s-input-group>\n", dependencies: [{ kind: "component", type: FieldLabelComponent, selector: "s-field-label", inputs: ["field", "fieldContainerRef"] }, { kind: "directive", type: InputMaskDirective, selector: "input[sInputMask]", inputs: ["sInputMask", "slotChar", "unmask", "characterPattern", "autoClear"], outputs: ["maskComplete"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.TooltipDirective, selector: "[sTooltip]", inputs: ["sTooltip", "tooltipPosition", "showDelay", "displayTime", "tooltipEvent", "escape", "visible", "mobileBehavior", "focusedInputRef", "checkTruncatedText"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: KeyFilterModule }, { kind: "directive", type: i3$1.KeyFilter, selector: "[pKeyFilter]", inputs: ["pValidateOnly", "pKeyFilter"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: InputTextDirective, selector: "input[sInputText]" }, { kind: "component", type: InputGroupComponent, selector: "s-input-group", inputs: ["leftAddon", "rightAddon"] }], encapsulation: i0.ViewEncapsulation.None });
2071
1908
  }
2072
1909
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TextFieldComponent, decorators: [{
2073
1910
  type: Component,
@@ -2093,6 +1930,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2093
1930
  args: ['inputRef']
2094
1931
  }] } });
2095
1932
 
1933
+ /**
1934
+ * @deprecated Será removido na v20. Importe diretamente os standalones `DynamicFormComponent` e
1935
+ * `DynamicFormDirective` (de `@seniorsistemas/angular-components/dynamic-form`) no lugar deste módulo.
1936
+ *
1937
+ * Migração automática (também executada pelo `ng update` na v20):
1938
+ * `ng generate @seniorsistemas/angular-components:migrate-modules-to-standalone`
1939
+ */
2096
1940
  class DynamicFormModule {
2097
1941
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2098
1942
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormModule, imports: [DynamicFormDirective, DynamicFormComponent], exports: [DynamicFormComponent, DynamicFormDirective] });
@@ -2129,9 +1973,7 @@ DynamicFormRegistry.registerField(CalendarFieldComponent, 'date', 'dateTime', 'l
2129
1973
  DynamicFormRegistry.registerField(CheckboxFieldComponent, 'checkbox');
2130
1974
  DynamicFormRegistry.registerField(ChipsFieldComponent, 'chips');
2131
1975
  DynamicFormRegistry.registerField(CountryPhonePickerFieldComponent, 'countryPhonePicker');
2132
- DynamicFormRegistry.registerField(NumberFieldComponent, 'legacyNumber');
2133
- DynamicFormRegistry.registerField(CurrencyFieldComponent, 'money');
2134
- DynamicFormRegistry.registerField(BignumberFieldComponent, 'number', 'integer', 'double');
1976
+ DynamicFormRegistry.registerField(BignumberFieldComponent, 'number', 'integer', 'double', 'money');
2135
1977
  DynamicFormRegistry.registerField(PasswordFieldComponent, 'password');
2136
1978
  DynamicFormRegistry.registerField(ProfilePictureFieldComponent, 'profilePicture');
2137
1979
  DynamicFormRegistry.registerField(RadioButtonFieldComponent, 'radioButton');
@@ -2151,5 +1993,5 @@ DynamicFormRegistry.registerField(SectionComponent, 'section');
2151
1993
  * Generated bundle index. Do not edit.
2152
1994
  */
2153
1995
 
2154
- export { DynamicFormComponent, DynamicFormDirective, DynamicFormModule, DynamicFormRegistry, FieldLabelComponent, FieldSize, LookupComponent, NumberFieldComponent, RationButtonOption, dynamicTypeToDynamicStructure };
1996
+ export { DynamicFormComponent, DynamicFormDirective, DynamicFormModule, DynamicFormRegistry, FieldLabelComponent, FieldSize, LookupComponent, RationButtonOption, dynamicTypeToDynamicStructure };
2155
1997
  //# sourceMappingURL=seniorsistemas-angular-components-dynamic-form.mjs.map