structra-ui 0.1.3 → 0.1.5

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 (296) hide show
  1. package/README.md +59 -6
  2. package/app/_utils/date-pt-br.utils.d.ts +24 -0
  3. package/app/_utils/decimal-br.utils.d.ts +52 -0
  4. package/app/_utils/estados-br.data.d.ts +10 -0
  5. package/app/_utils/integer-br.utils.d.ts +17 -0
  6. package/app/_utils/integer-value.utils.d.ts +5 -0
  7. package/app/_utils/scroll/body-scroll-lock.util.d.ts +22 -0
  8. package/app/app-shell/_models/breadcrumb-item.model.d.ts +13 -0
  9. package/app/app-shell/app-shell-sidebar-template.directive.d.ts +19 -0
  10. package/app/app-shell/app-shell.component.d.ts +41 -0
  11. package/app/app-shell/breadcrumb/breadcrumb.component.d.ts +10 -0
  12. package/app/app-shell/index.d.ts +19 -0
  13. package/app/app-shell/sidebar/app-sidebar-toolbar.directive.d.ts +14 -0
  14. package/app/app-shell/sidebar/shell-sidebar-toggle.component.d.ts +19 -0
  15. package/app/app-shell/sidebar/sidebar.component.d.ts +36 -0
  16. package/app/app-shell/sidebar-reveal.constants.d.ts +8 -0
  17. package/app/app-shell/topbar/topbar.component.d.ts +8 -0
  18. package/app/app-shell/user-menu/user-menu.component.d.ts +25 -0
  19. package/app/buttons/base-button/base-button.component.d.ts +43 -0
  20. package/app/buttons/index.d.ts +1 -0
  21. package/app/data-display/_models/card-item-view.model.d.ts +8 -0
  22. package/app/data-display/_models/data-display.models.d.ts +11 -0
  23. package/app/data-display/_models/data-grid-column.model.d.ts +13 -0
  24. package/app/data-display/_models/index.d.ts +2 -0
  25. package/app/data-display/adaptive-data-view/adaptive-data-view.component.d.ts +53 -0
  26. package/app/data-display/card-list/card-list.component.d.ts +70 -0
  27. package/app/data-display/dashboard-section/dashboard-section.component.d.ts +12 -0
  28. package/app/data-display/data-card/data-card.component.d.ts +16 -0
  29. package/app/data-display/data-grid/data-grid-actions-cell-renderer.component.d.ts +21 -0
  30. package/app/data-display/data-grid/data-grid.component.d.ts +76 -0
  31. package/app/data-display/data-list/data-list.component.d.ts +18 -0
  32. package/app/data-display/data-toolbar/data-toolbar.component.d.ts +6 -0
  33. package/app/data-display/details-field/details-field.component.d.ts +10 -0
  34. package/app/data-display/details-view/details-view.component.d.ts +26 -0
  35. package/app/data-display/empty-state/empty-state-overlay.util.d.ts +5 -0
  36. package/app/data-display/empty-state/empty-state.component.d.ts +13 -0
  37. package/app/data-display/index.d.ts +20 -0
  38. package/app/data-display/list-item/list-item.component.d.ts +22 -0
  39. package/app/data-display/stat-card/stat-card.component.d.ts +23 -0
  40. package/app/data-display/status-badge/status-badge.component.d.ts +17 -0
  41. package/app/data-display/table-empty-state/table-empty-state.component.d.ts +14 -0
  42. package/app/data-display/table-toolbar/table-toolbar.component.d.ts +11 -0
  43. package/app/dialogs/_models/lib-dialog-size.model.d.ts +6 -0
  44. package/app/dialogs/_utils/lib-dialog-panel-classes.d.ts +3 -0
  45. package/app/dialogs/app-dialog/app-dialog.component.d.ts +52 -0
  46. package/app/dialogs/app-dialog/dialog-footer.directive.d.ts +6 -0
  47. package/app/dialogs/confirm-dialog/confirm-dialog-data.model.d.ts +13 -0
  48. package/app/dialogs/confirm-dialog/confirm-dialog.component.d.ts +20 -0
  49. package/app/dialogs/confirm-dialog/confirm-dialog.service.d.ts +17 -0
  50. package/app/dialogs/index.d.ts +13 -0
  51. package/app/dialogs/loading-dialog/loading-dialog-data.model.d.ts +7 -0
  52. package/app/dialogs/loading-dialog/loading-dialog.component.d.ts +9 -0
  53. package/app/dialogs/loading-dialog/loading-dialog.service.d.ts +15 -0
  54. package/app/dialogs/toast/toast-host.component.d.ts +13 -0
  55. package/app/dialogs/toast/toast.models.d.ts +26 -0
  56. package/app/dialogs/toast/toast.service.d.ts +17 -0
  57. package/app/fields/checkbox-fields/_base/boolean-field.directive.d.ts +42 -0
  58. package/app/fields/checkbox-fields/checkbox-field/checkbox-field.component.d.ts +8 -0
  59. package/app/fields/checkbox-fields/index.d.ts +3 -0
  60. package/app/fields/checkbox-fields/switch-field/switch-field.component.d.ts +8 -0
  61. package/app/fields/dropdown-fields/_base/dropdown-base/dropdown-base.component.d.ts +62 -0
  62. package/app/fields/dropdown-fields/_base/dropdown-multi-option-field.base.d.ts +40 -0
  63. package/app/fields/dropdown-fields/_base/dropdown-option-field.base.d.ts +47 -0
  64. package/app/fields/dropdown-fields/_base/dropdown-trigger-blur.util.d.ts +18 -0
  65. package/app/fields/dropdown-fields/_models/dropdown-list-bindings.model.d.ts +13 -0
  66. package/app/fields/dropdown-fields/_models/dropdown-search-page-requested.model.d.ts +7 -0
  67. package/app/fields/dropdown-fields/_models/index.d.ts +4 -0
  68. package/app/fields/dropdown-fields/_models/select-option.model.d.ts +5 -0
  69. package/app/fields/dropdown-fields/_models/select-pagination.model.d.ts +6 -0
  70. package/app/fields/dropdown-fields/dropdown-search-field/dropdown-search-field.component.d.ts +84 -0
  71. package/app/fields/dropdown-fields/index.d.ts +7 -0
  72. package/app/fields/dropdown-fields/multiselect-field/multiselect-field.component.d.ts +49 -0
  73. package/app/fields/dropdown-fields/select-field/select-field.component.d.ts +54 -0
  74. package/app/fields/input-fields/_base/base-field.component.d.ts +60 -0
  75. package/app/fields/input-fields/_base/base-field.directive.d.ts +102 -0
  76. package/app/fields/input-fields/_base/masked-text-field.base.d.ts +34 -0
  77. package/app/fields/input-fields/_base/ng-control-field.directive.d.ts +43 -0
  78. package/app/fields/input-fields/_models/field-common-inputs.model.d.ts +49 -0
  79. package/app/fields/input-fields/_models/index.d.ts +1 -0
  80. package/app/fields/input-fields/_utils/mask-complete.validators.d.ts +18 -0
  81. package/app/fields/input-fields/_utils/mask-format.utils.d.ts +13 -0
  82. package/app/fields/input-fields/cep-field/cep-field.component.d.ts +12 -0
  83. package/app/fields/input-fields/cpf-cnpj-field/cpf-cnpj-field.component.d.ts +20 -0
  84. package/app/fields/input-fields/date-field/date-field.component.d.ts +30 -0
  85. package/app/fields/input-fields/decimal-field/decimal-field.component.d.ts +17 -0
  86. package/app/fields/input-fields/index.d.ts +22 -0
  87. package/app/fields/input-fields/input-mask-field/input-mask-field.component.d.ts +16 -0
  88. package/app/fields/input-fields/integer-field/integer-field.component.d.ts +17 -0
  89. package/app/fields/input-fields/password-field/password-field.component.d.ts +30 -0
  90. package/app/fields/input-fields/phone-field/phone-field.component.d.ts +22 -0
  91. package/app/fields/input-fields/text-field/text-field.component.d.ts +16 -0
  92. package/app/fields/input-fields/textarea-field/textarea-field.component.d.ts +31 -0
  93. package/app/form-layout/_models/form-layout.model.d.ts +41 -0
  94. package/app/form-layout/_models/form-tabs.model.d.ts +1 -0
  95. package/app/form-layout/_models/index.d.ts +3 -0
  96. package/app/form-layout/_models/validation-summary.model.d.ts +8 -0
  97. package/app/form-layout/form-actions/form-actions.component.d.ts +21 -0
  98. package/app/form-layout/form-col/form-col.component.d.ts +25 -0
  99. package/app/form-layout/form-group/form-group.component.d.ts +125 -0
  100. package/app/form-layout/form-group/form-path.utils.d.ts +16 -0
  101. package/app/form-layout/form-group/form-root-invalid-ui-refresh.util.d.ts +8 -0
  102. package/app/form-layout/form-row/form-row.component.d.ts +14 -0
  103. package/app/form-layout/form-section/form-section.component.d.ts +13 -0
  104. package/app/form-layout/form-tab/form-tab.component.d.ts +32 -0
  105. package/app/form-layout/form-tabs/form-tabs.component.d.ts +44 -0
  106. package/app/form-layout/index.d.ts +14 -0
  107. package/app/form-layout/layout-stack/layout-stack.component.d.ts +25 -0
  108. package/app/form-layout/validation-summary/validation-summary.component.d.ts +111 -0
  109. package/app/loading/skeleton-loading/index.d.ts +6 -0
  110. package/app/loading/skeleton-loading/skeleton-block/skeleton-block.component.d.ts +15 -0
  111. package/app/loading/skeleton-loading/skeleton-card/skeleton-card.component.d.ts +10 -0
  112. package/app/loading/skeleton-loading/skeleton-field-shell/skeleton-field-shell.component.d.ts +21 -0
  113. package/app/loading/skeleton-loading/skeleton-list/skeleton-list.component.d.ts +17 -0
  114. package/app/loading/skeleton-loading/skeleton-table/skeleton-table.component.d.ts +16 -0
  115. package/app/loading/skeleton-loading/skeleton-text/skeleton-text.component.d.ts +17 -0
  116. package/app/menus/_models/drawer-side.model.d.ts +6 -0
  117. package/app/menus/_models/drawer-size.model.d.ts +6 -0
  118. package/app/menus/_models/menu-dropdown-placement.model.d.ts +10 -0
  119. package/app/menus/_models/menu-item.model.d.ts +47 -0
  120. package/app/menus/_utils/menu-connected-positions.util.d.ts +4 -0
  121. package/app/menus/_utils/menu-rows.util.d.ts +22 -0
  122. package/app/menus/_utils/submenu-connected-positions.util.d.ts +5 -0
  123. package/app/menus/action-menu/action-menu.component.d.ts +24 -0
  124. package/app/menus/context-menu/context-menu.component.d.ts +32 -0
  125. package/app/menus/drawer/drawer.component.d.ts +37 -0
  126. package/app/menus/dropdown-menu/dropdown-menu.component.d.ts +33 -0
  127. package/app/menus/index.d.ts +11 -0
  128. package/app/menus/menu-divider/menu-divider.component.d.ts +8 -0
  129. package/app/menus/menu-group/menu-group.component.d.ts +13 -0
  130. package/app/menus/menu-list/menu-list.component.d.ts +77 -0
  131. package/app/overlay/_models/overlay-placement.model.d.ts +9 -0
  132. package/app/overlay/_utils/anchored-overlay-positions.util.d.ts +9 -0
  133. package/app/overlay/anchored-overlay/anchored-overlay.component.d.ts +51 -0
  134. package/app/overlay/index.d.ts +20 -0
  135. package/app/overlay/popover/popover-body-template.directive.d.ts +7 -0
  136. package/app/overlay/popover/popover-footer-template.directive.d.ts +7 -0
  137. package/app/overlay/popover/popover-trigger.directive.d.ts +6 -0
  138. package/app/overlay/popover/popover.component.d.ts +38 -0
  139. package/app/overlay/tooltip/tooltip-panel-template.directive.d.ts +10 -0
  140. package/app/overlay/tooltip/tooltip.component.d.ts +40 -0
  141. package/app/theme/app-theme.service.d.ts +25 -0
  142. package/app/theme/index.d.ts +1 -0
  143. package/esm2022/app/_utils/date-pt-br.utils.mjs +82 -0
  144. package/esm2022/app/_utils/decimal-br.utils.mjs +154 -0
  145. package/esm2022/app/_utils/estados-br.data.mjs +37 -0
  146. package/esm2022/app/_utils/integer-br.utils.mjs +48 -0
  147. package/esm2022/app/_utils/integer-value.utils.mjs +19 -0
  148. package/esm2022/app/_utils/scroll/body-scroll-lock.util.mjs +43 -0
  149. package/esm2022/app/app-shell/_models/breadcrumb-item.model.mjs +2 -0
  150. package/esm2022/app/app-shell/app-shell-sidebar-template.directive.mjs +29 -0
  151. package/esm2022/app/app-shell/app-shell.component.mjs +105 -0
  152. package/esm2022/app/app-shell/breadcrumb/breadcrumb.component.mjs +18 -0
  153. package/esm2022/app/app-shell/index.mjs +19 -0
  154. package/esm2022/app/app-shell/sidebar/app-sidebar-toolbar.directive.mjs +23 -0
  155. package/esm2022/app/app-shell/sidebar/shell-sidebar-toggle.component.mjs +36 -0
  156. package/esm2022/app/app-shell/sidebar/sidebar.component.mjs +84 -0
  157. package/esm2022/app/app-shell/sidebar-reveal.constants.mjs +9 -0
  158. package/esm2022/app/app-shell/topbar/topbar.component.mjs +14 -0
  159. package/esm2022/app/app-shell/user-menu/user-menu.component.mjs +52 -0
  160. package/esm2022/app/buttons/base-button/base-button.component.mjs +97 -0
  161. package/esm2022/app/buttons/index.mjs +2 -0
  162. package/esm2022/app/data-display/_models/card-item-view.model.mjs +2 -0
  163. package/esm2022/app/data-display/_models/data-display.models.mjs +2 -0
  164. package/esm2022/app/data-display/_models/data-grid-column.model.mjs +2 -0
  165. package/esm2022/app/data-display/_models/index.mjs +2 -0
  166. package/esm2022/app/data-display/adaptive-data-view/adaptive-data-view.component.mjs +124 -0
  167. package/esm2022/app/data-display/card-list/card-list.component.mjs +208 -0
  168. package/esm2022/app/data-display/dashboard-section/dashboard-section.component.mjs +25 -0
  169. package/esm2022/app/data-display/data-card/data-card.component.mjs +40 -0
  170. package/esm2022/app/data-display/data-grid/data-grid-actions-cell-renderer.component.mjs +41 -0
  171. package/esm2022/app/data-display/data-grid/data-grid.component.mjs +253 -0
  172. package/esm2022/app/data-display/data-list/data-list.component.mjs +40 -0
  173. package/esm2022/app/data-display/data-toolbar/data-toolbar.component.mjs +12 -0
  174. package/esm2022/app/data-display/details-field/details-field.component.mjs +21 -0
  175. package/esm2022/app/data-display/details-view/details-view.component.mjs +44 -0
  176. package/esm2022/app/data-display/empty-state/empty-state-overlay.util.mjs +19 -0
  177. package/esm2022/app/data-display/empty-state/empty-state.component.mjs +30 -0
  178. package/esm2022/app/data-display/index.mjs +19 -0
  179. package/esm2022/app/data-display/list-item/list-item.component.mjs +59 -0
  180. package/esm2022/app/data-display/stat-card/stat-card.component.mjs +59 -0
  181. package/esm2022/app/data-display/status-badge/status-badge.component.mjs +41 -0
  182. package/esm2022/app/data-display/table-empty-state/table-empty-state.component.mjs +31 -0
  183. package/esm2022/app/data-display/table-toolbar/table-toolbar.component.mjs +22 -0
  184. package/esm2022/app/dialogs/_models/lib-dialog-size.model.mjs +8 -0
  185. package/esm2022/app/dialogs/_utils/lib-dialog-panel-classes.mjs +6 -0
  186. package/esm2022/app/dialogs/app-dialog/app-dialog.component.mjs +164 -0
  187. package/esm2022/app/dialogs/app-dialog/dialog-footer.directive.mjs +15 -0
  188. package/esm2022/app/dialogs/confirm-dialog/confirm-dialog-data.model.mjs +2 -0
  189. package/esm2022/app/dialogs/confirm-dialog/confirm-dialog.component.mjs +36 -0
  190. package/esm2022/app/dialogs/confirm-dialog/confirm-dialog.service.mjs +45 -0
  191. package/esm2022/app/dialogs/index.mjs +11 -0
  192. package/esm2022/app/dialogs/loading-dialog/loading-dialog-data.model.mjs +2 -0
  193. package/esm2022/app/dialogs/loading-dialog/loading-dialog.component.mjs +19 -0
  194. package/esm2022/app/dialogs/loading-dialog/loading-dialog.service.mjs +36 -0
  195. package/esm2022/app/dialogs/toast/toast-host.component.mjs +65 -0
  196. package/esm2022/app/dialogs/toast/toast.models.mjs +2 -0
  197. package/esm2022/app/dialogs/toast/toast.service.mjs +76 -0
  198. package/esm2022/app/fields/checkbox-fields/_base/boolean-field.directive.mjs +158 -0
  199. package/esm2022/app/fields/checkbox-fields/checkbox-field/checkbox-field.component.mjs +36 -0
  200. package/esm2022/app/fields/checkbox-fields/index.mjs +4 -0
  201. package/esm2022/app/fields/checkbox-fields/switch-field/switch-field.component.mjs +35 -0
  202. package/esm2022/app/fields/dropdown-fields/_base/dropdown-base/dropdown-base.component.mjs +117 -0
  203. package/esm2022/app/fields/dropdown-fields/_base/dropdown-multi-option-field.base.mjs +152 -0
  204. package/esm2022/app/fields/dropdown-fields/_base/dropdown-option-field.base.mjs +149 -0
  205. package/esm2022/app/fields/dropdown-fields/_base/dropdown-trigger-blur.util.mjs +32 -0
  206. package/esm2022/app/fields/dropdown-fields/_models/dropdown-list-bindings.model.mjs +2 -0
  207. package/esm2022/app/fields/dropdown-fields/_models/dropdown-search-page-requested.model.mjs +2 -0
  208. package/esm2022/app/fields/dropdown-fields/_models/index.mjs +2 -0
  209. package/esm2022/app/fields/dropdown-fields/_models/select-option.model.mjs +2 -0
  210. package/esm2022/app/fields/dropdown-fields/_models/select-pagination.model.mjs +2 -0
  211. package/esm2022/app/fields/dropdown-fields/dropdown-search-field/dropdown-search-field.component.mjs +520 -0
  212. package/esm2022/app/fields/dropdown-fields/index.mjs +7 -0
  213. package/esm2022/app/fields/dropdown-fields/multiselect-field/multiselect-field.component.mjs +379 -0
  214. package/esm2022/app/fields/dropdown-fields/select-field/select-field.component.mjs +359 -0
  215. package/esm2022/app/fields/input-fields/_base/base-field.component.mjs +151 -0
  216. package/esm2022/app/fields/input-fields/_base/base-field.directive.mjs +224 -0
  217. package/esm2022/app/fields/input-fields/_base/masked-text-field.base.mjs +135 -0
  218. package/esm2022/app/fields/input-fields/_base/ng-control-field.directive.mjs +127 -0
  219. package/esm2022/app/fields/input-fields/_models/field-common-inputs.model.mjs +2 -0
  220. package/esm2022/app/fields/input-fields/_models/index.mjs +2 -0
  221. package/esm2022/app/fields/input-fields/_utils/mask-complete.validators.mjs +61 -0
  222. package/esm2022/app/fields/input-fields/_utils/mask-format.utils.mjs +40 -0
  223. package/esm2022/app/fields/input-fields/cep-field/cep-field.component.mjs +48 -0
  224. package/esm2022/app/fields/input-fields/cpf-cnpj-field/cpf-cnpj-field.component.mjs +61 -0
  225. package/esm2022/app/fields/input-fields/date-field/date-field.component.mjs +147 -0
  226. package/esm2022/app/fields/input-fields/decimal-field/decimal-field.component.mjs +166 -0
  227. package/esm2022/app/fields/input-fields/index.mjs +22 -0
  228. package/esm2022/app/fields/input-fields/input-mask-field/input-mask-field.component.mjs +52 -0
  229. package/esm2022/app/fields/input-fields/integer-field/integer-field.component.mjs +143 -0
  230. package/esm2022/app/fields/input-fields/password-field/password-field.component.mjs +130 -0
  231. package/esm2022/app/fields/input-fields/phone-field/phone-field.component.mjs +66 -0
  232. package/esm2022/app/fields/input-fields/text-field/text-field.component.mjs +90 -0
  233. package/esm2022/app/fields/input-fields/textarea-field/textarea-field.component.mjs +125 -0
  234. package/esm2022/app/form-layout/_models/form-layout.model.mjs +48 -0
  235. package/esm2022/app/form-layout/_models/form-tabs.model.mjs +2 -0
  236. package/esm2022/app/form-layout/_models/index.mjs +2 -0
  237. package/esm2022/app/form-layout/_models/validation-summary.model.mjs +2 -0
  238. package/esm2022/app/form-layout/form-actions/form-actions.component.mjs +55 -0
  239. package/esm2022/app/form-layout/form-col/form-col.component.mjs +76 -0
  240. package/esm2022/app/form-layout/form-group/form-group.component.mjs +358 -0
  241. package/esm2022/app/form-layout/form-group/form-path.utils.mjs +65 -0
  242. package/esm2022/app/form-layout/form-group/form-root-invalid-ui-refresh.util.mjs +54 -0
  243. package/esm2022/app/form-layout/form-row/form-row.component.mjs +49 -0
  244. package/esm2022/app/form-layout/form-section/form-section.component.mjs +43 -0
  245. package/esm2022/app/form-layout/form-tab/form-tab.component.mjs +67 -0
  246. package/esm2022/app/form-layout/form-tabs/form-tabs.component.mjs +126 -0
  247. package/esm2022/app/form-layout/index.mjs +14 -0
  248. package/esm2022/app/form-layout/layout-stack/layout-stack.component.mjs +56 -0
  249. package/esm2022/app/form-layout/validation-summary/validation-summary.component.mjs +392 -0
  250. package/esm2022/app/loading/skeleton-loading/index.mjs +7 -0
  251. package/esm2022/app/loading/skeleton-loading/skeleton-block/skeleton-block.component.mjs +43 -0
  252. package/esm2022/app/loading/skeleton-loading/skeleton-card/skeleton-card.component.mjs +23 -0
  253. package/esm2022/app/loading/skeleton-loading/skeleton-field-shell/skeleton-field-shell.component.mjs +34 -0
  254. package/esm2022/app/loading/skeleton-loading/skeleton-list/skeleton-list.component.mjs +38 -0
  255. package/esm2022/app/loading/skeleton-loading/skeleton-table/skeleton-table.component.mjs +37 -0
  256. package/esm2022/app/loading/skeleton-loading/skeleton-text/skeleton-text.component.mjs +45 -0
  257. package/esm2022/app/menus/_models/drawer-side.model.mjs +8 -0
  258. package/esm2022/app/menus/_models/drawer-size.model.mjs +8 -0
  259. package/esm2022/app/menus/_models/menu-dropdown-placement.model.mjs +12 -0
  260. package/esm2022/app/menus/_models/menu-item.model.mjs +6 -0
  261. package/esm2022/app/menus/_utils/menu-connected-positions.util.mjs +41 -0
  262. package/esm2022/app/menus/_utils/menu-rows.util.mjs +39 -0
  263. package/esm2022/app/menus/_utils/submenu-connected-positions.util.mjs +23 -0
  264. package/esm2022/app/menus/action-menu/action-menu.component.mjs +48 -0
  265. package/esm2022/app/menus/context-menu/context-menu.component.mjs +112 -0
  266. package/esm2022/app/menus/drawer/drawer.component.mjs +140 -0
  267. package/esm2022/app/menus/dropdown-menu/dropdown-menu.component.mjs +99 -0
  268. package/esm2022/app/menus/index.mjs +11 -0
  269. package/esm2022/app/menus/menu-divider/menu-divider.component.mjs +14 -0
  270. package/esm2022/app/menus/menu-group/menu-group.component.mjs +32 -0
  271. package/esm2022/app/menus/menu-list/menu-list.component.mjs +399 -0
  272. package/esm2022/app/overlay/_models/overlay-placement.model.mjs +11 -0
  273. package/esm2022/app/overlay/_utils/anchored-overlay-positions.util.mjs +84 -0
  274. package/esm2022/app/overlay/anchored-overlay/anchored-overlay.component.mjs +121 -0
  275. package/esm2022/app/overlay/index.mjs +21 -0
  276. package/esm2022/app/overlay/popover/popover-body-template.directive.mjs +17 -0
  277. package/esm2022/app/overlay/popover/popover-footer-template.directive.mjs +17 -0
  278. package/esm2022/app/overlay/popover/popover-trigger.directive.mjs +15 -0
  279. package/esm2022/app/overlay/popover/popover.component.mjs +93 -0
  280. package/esm2022/app/overlay/tooltip/tooltip-panel-template.directive.mjs +20 -0
  281. package/esm2022/app/overlay/tooltip/tooltip.component.mjs +118 -0
  282. package/esm2022/app/theme/app-theme.service.mjs +49 -0
  283. package/esm2022/app/theme/index.mjs +2 -0
  284. package/esm2022/structra-public-api.mjs +18 -0
  285. package/esm2022/structra-ui.mjs +2 -2
  286. package/esm2022/structra-version.mjs +3 -0
  287. package/fesm2022/structra-ui.mjs +8896 -4
  288. package/fesm2022/structra-ui.mjs.map +1 -1
  289. package/index.d.ts +1 -1
  290. package/package.json +7 -2
  291. package/structra-public-api.d.ts +17 -0
  292. package/structra-version.d.ts +2 -0
  293. package/esm2022/lib/version.mjs +0 -3
  294. package/esm2022/public-api.mjs +0 -5
  295. package/lib/version.d.ts +0 -2
  296. package/public-api.d.ts +0 -1
@@ -0,0 +1,130 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, booleanAttribute, forwardRef, numberAttribute, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BaseFieldComponent } from '../_base/base-field.component';
4
+ import { NgControlFieldDirective } from '../_base/ng-control-field.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class PasswordFieldComponent extends NgControlFieldDirective {
7
+ constructor() {
8
+ super(...arguments);
9
+ /** Por defeito `false`: o botão de limpar compete com o toggle de visibilidade. */
10
+ this.clearable = false;
11
+ this.maxLength = 500;
12
+ /** Atributo HTML `autocomplete` (senha actual vs. nova senha). */
13
+ this.autoComplete = 'current-password';
14
+ /** `false` = caracteres ocultos (ícone olho aberto para revelar). */
15
+ this.passwordVisible = false;
16
+ this.inputText = '';
17
+ this.filledUi = false;
18
+ this.inputTypeUi = 'password';
19
+ this.toggleAriaLabelUi = 'Mostrar senha';
20
+ this.toggleIconClassUi = 'fa-solid fa-eye';
21
+ }
22
+ get hostInvalidClass() {
23
+ return this.uiInvalid;
24
+ }
25
+ ngOnInit() {
26
+ super.ngOnInit();
27
+ this.refreshPasswordToggleUi();
28
+ }
29
+ refreshFilledUi() {
30
+ this.filledUi = this.inputText.length > 0;
31
+ }
32
+ refreshPasswordToggleUi() {
33
+ this.inputTypeUi = this.passwordVisible ? 'text' : 'password';
34
+ this.toggleAriaLabelUi = this.passwordVisible ? 'Ocultar senha' : 'Mostrar senha';
35
+ this.toggleIconClassUi = this.passwordVisible
36
+ ? 'fa-solid fa-eye-slash'
37
+ : 'fa-solid fa-eye';
38
+ }
39
+ afterWriteValue(value) {
40
+ const s = value ?? '';
41
+ const clipped = this.maxLength > 0 ? s.slice(0, this.maxLength) : s;
42
+ this.inputText = clipped;
43
+ if (clipped !== s) {
44
+ queueMicrotask(() => this.emitModelValue(clipped === '' ? null : clipped));
45
+ }
46
+ this.refreshFilledUi();
47
+ if (this.ngControl?.control) {
48
+ this.syncControlUi();
49
+ }
50
+ }
51
+ onNativeInput(event) {
52
+ if (this.disabled || this.readonly) {
53
+ return;
54
+ }
55
+ const el = event.target;
56
+ const raw = el.value;
57
+ const cap = this.maxLength > 0 ? this.maxLength : undefined;
58
+ const clipped = cap != null ? raw.slice(0, cap) : raw;
59
+ if (raw !== clipped) {
60
+ el.value = clipped;
61
+ }
62
+ this.inputText = clipped;
63
+ this.emitModelValue(clipped === '' ? null : clipped);
64
+ this.refreshFilledUi();
65
+ if (this.ngControl?.control) {
66
+ this.syncControlUi();
67
+ }
68
+ else {
69
+ this.cdr.markForCheck();
70
+ }
71
+ }
72
+ onBlur() {
73
+ this.notifyTouched();
74
+ }
75
+ onClear() {
76
+ if (this.disabled || this.readonly) {
77
+ return;
78
+ }
79
+ this.inputText = '';
80
+ this.emitModelValue(null);
81
+ this.notifyTouched();
82
+ this.refreshFilledUi();
83
+ if (this.ngControl?.control) {
84
+ this.syncControlUi();
85
+ }
86
+ else {
87
+ this.cdr.markForCheck();
88
+ }
89
+ }
90
+ togglePasswordVisible(ev) {
91
+ ev.preventDefault();
92
+ ev.stopPropagation();
93
+ if (this.disabled || this.readonly) {
94
+ return;
95
+ }
96
+ this.passwordVisible = !this.passwordVisible;
97
+ this.refreshPasswordToggleUi();
98
+ this.cdr.markForCheck();
99
+ }
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: PasswordFieldComponent, isStandalone: true, selector: "app-password-field", inputs: { clearable: ["clearable", "clearable", booleanAttribute], maxLength: ["maxLength", "maxLength", numberAttribute], autoComplete: "autoComplete" }, host: { properties: { "class.password-field--invalid": "this.hostInvalidClass" } }, providers: [
102
+ {
103
+ provide: NG_VALUE_ACCESSOR,
104
+ useExisting: forwardRef(() => PasswordFieldComponent),
105
+ multi: true,
106
+ },
107
+ ], usesInheritance: true, ngImport: i0, template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\" [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\"\n [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\" [clearAriaLabel]=\"clearAriaLabel\" [showSuffixSlot]=\"true\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"password-field__input\" [type]=\"inputTypeUi\" [id]=\"controlId\" [attr.name]=\"name || null\"\n [attr.placeholder]=\"''\" [attr.autocomplete]=\"autoComplete\" [attr.maxlength]=\"maxLength > 0 ? maxLength : null\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\"\n [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\" (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\" />\n <button type=\"button\" appFieldSuffix class=\"password-field__toggle\" tabindex=\"-1\"\n [disabled]=\"disabled || readonly\" [attr.aria-label]=\"toggleAriaLabelUi\" [attr.aria-pressed]=\"passwordVisible\"\n (click)=\"togglePasswordVisible($event)\">\n <i [class]=\"toggleIconClassUi\" aria-hidden=\"true\"></i>\n </button>\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.password-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-field__input::placeholder{color:transparent}.password-field__input:focus,.password-field__input:focus-visible{outline:none}.password-field__input--invalid:not(:disabled)::placeholder{color:transparent}.password-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}.password-field__toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;transition:background .15s ease,color .15s ease}.password-field__toggle:hover:not(:disabled){background:#5a7fa326;color:var(--ui-field-float-label-top-color)}.password-field__toggle:focus,.password-field__toggle:focus-visible{outline:none}.password-field__toggle:disabled{cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity)}.password-field__toggle i{font-size:.95rem;line-height:1}:host.password-field--invalid .password-field__toggle{color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:hover:not(:disabled){background:#b91c1c1f;color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:focus,:host.password-field--invalid .password-field__toggle:focus-visible{outline:none}\n"], dependencies: [{ kind: "component", type: BaseFieldComponent, selector: "app-base-field", inputs: ["label", "errorMessage", "required", "showRequiredMark", "invalid", "filled", "disabled", "readonly", "inputId", "errorId", "showPrefixIcon", "prefixIcon", "clearable", "clearAriaLabel", "showSuffixSlot", "valueAlignEnd", "loading", "skeletonVariant", "mostrarMenuContexto", "contextMenuItems", "contextMenuId"], outputs: ["clear", "contextMenuSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
108
+ }
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PasswordFieldComponent, decorators: [{
110
+ type: Component,
111
+ args: [{ selector: 'app-password-field', standalone: true, imports: [BaseFieldComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
112
+ {
113
+ provide: NG_VALUE_ACCESSOR,
114
+ useExisting: forwardRef(() => PasswordFieldComponent),
115
+ multi: true,
116
+ },
117
+ ], template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\" [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\"\n [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\" [clearAriaLabel]=\"clearAriaLabel\" [showSuffixSlot]=\"true\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"password-field__input\" [type]=\"inputTypeUi\" [id]=\"controlId\" [attr.name]=\"name || null\"\n [attr.placeholder]=\"''\" [attr.autocomplete]=\"autoComplete\" [attr.maxlength]=\"maxLength > 0 ? maxLength : null\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\"\n [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\" (input)=\"onNativeInput($event)\"\n (blur)=\"onBlur()\" />\n <button type=\"button\" appFieldSuffix class=\"password-field__toggle\" tabindex=\"-1\"\n [disabled]=\"disabled || readonly\" [attr.aria-label]=\"toggleAriaLabelUi\" [attr.aria-pressed]=\"passwordVisible\"\n (click)=\"togglePasswordVisible($event)\">\n <i [class]=\"toggleIconClassUi\" aria-hidden=\"true\"></i>\n </button>\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.password-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.password-field__input::placeholder{color:transparent}.password-field__input:focus,.password-field__input:focus-visible{outline:none}.password-field__input--invalid:not(:disabled)::placeholder{color:transparent}.password-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}.password-field__toggle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:8px;background:transparent;color:var(--ui-field-float-prefix-color);cursor:pointer;transition:background .15s ease,color .15s ease}.password-field__toggle:hover:not(:disabled){background:#5a7fa326;color:var(--ui-field-float-label-top-color)}.password-field__toggle:focus,.password-field__toggle:focus-visible{outline:none}.password-field__toggle:disabled{cursor:not-allowed;opacity:var(--ui-field-input-disabled-opacity)}.password-field__toggle i{font-size:.95rem;line-height:1}:host.password-field--invalid .password-field__toggle{color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:hover:not(:disabled){background:#b91c1c1f;color:var(--ui-field-float-label-invalid-color)}:host.password-field--invalid .password-field__toggle:focus,:host.password-field--invalid .password-field__toggle:focus-visible{outline:none}\n"] }]
118
+ }], propDecorators: { hostInvalidClass: [{
119
+ type: HostBinding,
120
+ args: ['class.password-field--invalid']
121
+ }], clearable: [{
122
+ type: Input,
123
+ args: [{ transform: booleanAttribute }]
124
+ }], maxLength: [{
125
+ type: Input,
126
+ args: [{ transform: numberAttribute }]
127
+ }], autoComplete: [{
128
+ type: Input
129
+ }] } });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9maWVsZHMvaW5wdXQtZmllbGRzL3Bhc3N3b3JkLWZpZWxkL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZmllbGRzL2lucHV0LWZpZWxkcy9wYXNzd29yZC1maWVsZC9wYXNzd29yZC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFpQjlFLE1BQU0sT0FBTyxzQkFDWCxTQUFRLHVCQUFzQztJQWhCaEQ7O1FBd0JFLG1GQUFtRjtRQUNsQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTVCLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFDdkQsa0VBQWtFO1FBQ3pELGlCQUFZLEdBQ25CLGtCQUFrQixDQUFDO1FBRXJCLHFFQUFxRTtRQUNyRSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixnQkFBVyxHQUF3QixVQUFVLENBQUM7UUFDOUMsc0JBQWlCLEdBQUcsZUFBZSxDQUFDO1FBQ3BDLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO0tBb0Z2QztJQTFHQyxJQUNJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQXFCUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUM5RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFDbEYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlO1lBQzNDLENBQUMsQ0FBQyx1QkFBdUI7WUFDekIsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hCLENBQUM7SUFFa0IsZUFBZSxDQUFDLEtBQW9CO1FBQ3JELE1BQU0sQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUNyRCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQzVDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3RELElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3BCLEVBQUUsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxFQUFTO1FBQzdCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0E3R1Usc0JBQXNCO21HQUF0QixzQkFBc0Isc0dBVWIsZ0JBQWdCLHlDQUVoQixlQUFlLGtJQXBCeEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2dCQUNyRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDM0JILHFqREFtQkEsMHZEREZZLGtCQUFrQjs7NEZBWWpCLHNCQUFzQjtrQkFmbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsa0JBQWtCLENBQUMsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBT0csZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLCtCQUErQjtnQkFNSyxTQUFTO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUVDLFNBQVM7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUU1QixZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXHJcbiAgZm9yd2FyZFJlZixcclxuICBudW1iZXJBdHRyaWJ1dGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9fYmFzZS9iYXNlLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ29udHJvbEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vX2Jhc2UvbmctY29udHJvbC1maWVsZC5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGFzc3dvcmQtZmllbGQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Jhc2VGaWVsZENvbXBvbmVudF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcGFzc3dvcmQtZmllbGQuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGFzc3dvcmRGaWVsZENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRGaWVsZENvbXBvbmVudFxyXG4gIGV4dGVuZHMgTmdDb250cm9sRmllbGREaXJlY3RpdmU8c3RyaW5nIHwgbnVsbD5cclxuICBpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wYXNzd29yZC1maWVsZC0taW52YWxpZCcpXHJcbiAgZ2V0IGhvc3RJbnZhbGlkQ2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy51aUludmFsaWQ7XHJcbiAgfVxyXG5cclxuICAvKiogUG9yIGRlZmVpdG8gYGZhbHNlYDogbyBib3TDo28gZGUgbGltcGFyIGNvbXBldGUgY29tIG8gdG9nZ2xlIGRlIHZpc2liaWxpZGFkZS4gKi9cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb3ZlcnJpZGUgY2xlYXJhYmxlID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG1heExlbmd0aCA9IDUwMDtcclxuICAvKiogQXRyaWJ1dG8gSFRNTCBgYXV0b2NvbXBsZXRlYCAoc2VuaGEgYWN0dWFsIHZzLiBub3ZhIHNlbmhhKS4gKi9cclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGU6ICdvZmYnIHwgJ2N1cnJlbnQtcGFzc3dvcmQnIHwgJ25ldy1wYXNzd29yZCcgPVxyXG4gICAgJ2N1cnJlbnQtcGFzc3dvcmQnO1xyXG5cclxuICAvKiogYGZhbHNlYCA9IGNhcmFjdGVyZXMgb2N1bHRvcyAow61jb25lIG9saG8gYWJlcnRvIHBhcmEgcmV2ZWxhcikuICovXHJcbiAgcGFzc3dvcmRWaXNpYmxlID0gZmFsc2U7XHJcblxyXG4gIGlucHV0VGV4dCA9ICcnO1xyXG5cclxuICBmaWxsZWRVaSA9IGZhbHNlO1xyXG5cclxuICBpbnB1dFR5cGVVaTogJ3Bhc3N3b3JkJyB8ICd0ZXh0JyA9ICdwYXNzd29yZCc7XHJcbiAgdG9nZ2xlQXJpYUxhYmVsVWkgPSAnTW9zdHJhciBzZW5oYSc7XHJcbiAgdG9nZ2xlSWNvbkNsYXNzVWkgPSAnZmEtc29saWQgZmEtZXllJztcclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5yZWZyZXNoUGFzc3dvcmRUb2dnbGVVaSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoRmlsbGVkVWkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGxlZFVpID0gdGhpcy5pbnB1dFRleHQubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaFBhc3N3b3JkVG9nZ2xlVWkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0VHlwZVVpID0gdGhpcy5wYXNzd29yZFZpc2libGUgPyAndGV4dCcgOiAncGFzc3dvcmQnO1xyXG4gICAgdGhpcy50b2dnbGVBcmlhTGFiZWxVaSA9IHRoaXMucGFzc3dvcmRWaXNpYmxlID8gJ09jdWx0YXIgc2VuaGEnIDogJ01vc3RyYXIgc2VuaGEnO1xyXG4gICAgdGhpcy50b2dnbGVJY29uQ2xhc3NVaSA9IHRoaXMucGFzc3dvcmRWaXNpYmxlXHJcbiAgICAgID8gJ2ZhLXNvbGlkIGZhLWV5ZS1zbGFzaCdcclxuICAgICAgOiAnZmEtc29saWQgZmEtZXllJztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhZnRlcldyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcclxuICAgIGNvbnN0IHMgPSB2YWx1ZSA/PyAnJztcclxuICAgIGNvbnN0IGNsaXBwZWQgPSB0aGlzLm1heExlbmd0aCA+IDAgPyBzLnNsaWNlKDAsIHRoaXMubWF4TGVuZ3RoKSA6IHM7XHJcbiAgICB0aGlzLmlucHV0VGV4dCA9IGNsaXBwZWQ7XHJcbiAgICBpZiAoY2xpcHBlZCAhPT0gcykge1xyXG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PlxyXG4gICAgICAgIHRoaXMuZW1pdE1vZGVsVmFsdWUoY2xpcHBlZCA9PT0gJycgPyBudWxsIDogY2xpcHBlZCksXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlZnJlc2hGaWxsZWRVaSgpO1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sPy5jb250cm9sKSB7XHJcbiAgICAgIHRoaXMuc3luY0NvbnRyb2xVaSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25OYXRpdmVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZWwgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHJhdyA9IGVsLnZhbHVlO1xyXG4gICAgY29uc3QgY2FwID0gdGhpcy5tYXhMZW5ndGggPiAwID8gdGhpcy5tYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBjbGlwcGVkID0gY2FwICE9IG51bGwgPyByYXcuc2xpY2UoMCwgY2FwKSA6IHJhdztcclxuICAgIGlmIChyYXcgIT09IGNsaXBwZWQpIHtcclxuICAgICAgZWwudmFsdWUgPSBjbGlwcGVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dFRleHQgPSBjbGlwcGVkO1xyXG4gICAgdGhpcy5lbWl0TW9kZWxWYWx1ZShjbGlwcGVkID09PSAnJyA/IG51bGwgOiBjbGlwcGVkKTtcclxuICAgIHRoaXMucmVmcmVzaEZpbGxlZFVpKCk7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5zeW5jQ29udHJvbFVpKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMubm90aWZ5VG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dFRleHQgPSAnJztcclxuICAgIHRoaXMuZW1pdE1vZGVsVmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLm5vdGlmeVRvdWNoZWQoKTtcclxuICAgIHRoaXMucmVmcmVzaEZpbGxlZFVpKCk7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5zeW5jQ29udHJvbFVpKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvZ2dsZVBhc3N3b3JkVmlzaWJsZShldjogRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYXNzd29yZFZpc2libGUgPSAhdGhpcy5wYXNzd29yZFZpc2libGU7XHJcbiAgICB0aGlzLnJlZnJlc2hQYXNzd29yZFRvZ2dsZVVpKCk7XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1iYXNlLWZpZWxkIFtsYWJlbF09XCJmbG9hdExhYmVsQ2FwdGlvblwiIFtmaWxsZWRdPVwiZmlsbGVkVWlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgW2Vycm9yTWVzc2FnZV09XCJ1aUVycm9yTWVzc2FnZVwiIFtyZXF1aXJlZF09XCJ1aVJlcXVpcmVkRWZmZWN0aXZlXCIgW3Nob3dSZXF1aXJlZE1hcmtdPVwic2hvd1JlcXVpcmVkTWFya1wiXG4gIFtpbnZhbGlkXT1cInVpSW52YWxpZFwiIFtpbnB1dElkXT1cImNvbnRyb2xJZFwiIFtlcnJvcklkXT1cImVycm9yRWxlbWVudElkXCIgW3Nob3dQcmVmaXhJY29uXT1cInNob3dQcmVmaXhJY29uXCJcbiAgW3ByZWZpeEljb25dPVwicHJlZml4SWNvblwiIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCIgW2NsZWFyQXJpYUxhYmVsXT1cImNsZWFyQXJpYUxhYmVsXCIgW3Nob3dTdWZmaXhTbG90XT1cInRydWVcIlxuICBbbW9zdHJhck1lbnVDb250ZXh0b109XCJtb3N0cmFyTWVudUNvbnRleHRvXCIgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiIFtjb250ZXh0TWVudUlkXT1cImNvbnRleHRNZW51SWRcIlxuICAoY2xlYXIpPVwib25DbGVhcigpXCIgKGNvbnRleHRNZW51U2VsZWN0KT1cImNvbnRleHRNZW51U2VsZWN0LmVtaXQoJGV2ZW50KVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbYXBwRmllbGRQcmVmaXhdXCIgLz5cbiAgPGlucHV0IGNsYXNzPVwicGFzc3dvcmQtZmllbGRfX2lucHV0XCIgW3R5cGVdPVwiaW5wdXRUeXBlVWlcIiBbaWRdPVwiY29udHJvbElkXCIgW2F0dHIubmFtZV09XCJuYW1lIHx8IG51bGxcIlxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIicnXCIgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGggPiAwID8gbWF4TGVuZ3RoIDogbnVsbFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW3JlcXVpcmVkXT1cInVpUmVxdWlyZWRFZmZlY3RpdmVcIiBbYXR0ci5hcmlhLWludmFsaWRdPVwidWlJbnZhbGlkXCJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cInVpQXJpYURlc2NyaWJlZEJ5XCIgW3ZhbHVlXT1cImlucHV0VGV4dFwiIChpbnB1dCk9XCJvbk5hdGl2ZUlucHV0KCRldmVudClcIlxuICAgIChibHVyKT1cIm9uQmx1cigpXCIgLz5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXBwRmllbGRTdWZmaXggY2xhc3M9XCJwYXNzd29yZC1maWVsZF9fdG9nZ2xlXCIgdGFiaW5kZXg9XCItMVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ0b2dnbGVBcmlhTGFiZWxVaVwiIFthdHRyLmFyaWEtcHJlc3NlZF09XCJwYXNzd29yZFZpc2libGVcIlxuICAgIChjbGljayk9XCJ0b2dnbGVQYXNzd29yZFZpc2libGUoJGV2ZW50KVwiPlxuICAgIDxpIFtjbGFzc109XCJ0b2dnbGVJY29uQ2xhc3NVaVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgPC9idXR0b24+XG48L2FwcC1iYXNlLWZpZWxkPlxuIl19
@@ -0,0 +1,66 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, booleanAttribute, forwardRef, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BaseFieldComponent } from '../_base/base-field.component';
4
+ import { MaskedTextFieldBase } from '../_base/masked-text-field.base';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Telefone BR: celular 11 dígitos `(##) #####-####` ou fixo 10 `(##) ####-####`.
8
+ * Valor do modelo: só dígitos (DDD + número), ex. `11999999999` ou `1133334444`.
9
+ */
10
+ export class PhoneFieldComponent extends MaskedTextFieldBase {
11
+ constructor() {
12
+ super(...arguments);
13
+ /** Se `true`, máscara de fixo (10 dígitos). Se `false`, celular (11). */
14
+ this.landline = false;
15
+ /**
16
+ * Máscara manual (com `#`). Se vazio, usa celular ou fixo conforme {@link landline}.
17
+ */
18
+ this.maskPattern = '';
19
+ }
20
+ get hostInvalidClass() {
21
+ return this.uiInvalid;
22
+ }
23
+ get pattern() {
24
+ const custom = this.maskPattern?.trim();
25
+ if (custom && custom.includes('#')) {
26
+ return custom;
27
+ }
28
+ return this.landline ? '(##) ####-####' : '(##) #####-####';
29
+ }
30
+ onNativeInput(event) {
31
+ this.onMaskedInput(event);
32
+ }
33
+ onBlur() {
34
+ this.onMaskedBlur();
35
+ }
36
+ onClear() {
37
+ this.onMaskedClear();
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PhoneFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: PhoneFieldComponent, isStandalone: true, selector: "app-phone-field", inputs: { landline: ["landline", "landline", booleanAttribute], maskPattern: "maskPattern" }, host: { properties: { "class.phone-field--invalid": "this.hostInvalidClass" } }, providers: [
41
+ {
42
+ provide: NG_VALUE_ACCESSOR,
43
+ useExisting: forwardRef(() => PhoneFieldComponent),
44
+ multi: true,
45
+ },
46
+ ], usesInheritance: true, ngImport: i0, template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\" [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\"\n [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\" [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"phone-field__input\" type=\"text\" inputmode=\"tel\" [id]=\"controlId\" [attr.name]=\"name || null\"\n [attr.placeholder]=\"''\" [attr.autocomplete]=\"autocompleteAttr\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\"\n [value]=\"inputText\" (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\" />\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.phone-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-field__input::placeholder{color:transparent}.phone-field__input:focus,.phone-field__input:focus-visible{outline:none}.phone-field__input--invalid:not(:disabled)::placeholder{color:transparent}.phone-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: BaseFieldComponent, selector: "app-base-field", inputs: ["label", "errorMessage", "required", "showRequiredMark", "invalid", "filled", "disabled", "readonly", "inputId", "errorId", "showPrefixIcon", "prefixIcon", "clearable", "clearAriaLabel", "showSuffixSlot", "valueAlignEnd", "loading", "skeletonVariant", "mostrarMenuContexto", "contextMenuItems", "contextMenuId"], outputs: ["clear", "contextMenuSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PhoneFieldComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'app-phone-field', standalone: true, imports: [BaseFieldComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
51
+ {
52
+ provide: NG_VALUE_ACCESSOR,
53
+ useExisting: forwardRef(() => PhoneFieldComponent),
54
+ multi: true,
55
+ },
56
+ ], template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\" [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\"\n [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\" [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"phone-field__input\" type=\"text\" inputmode=\"tel\" [id]=\"controlId\" [attr.name]=\"name || null\"\n [attr.placeholder]=\"''\" [attr.autocomplete]=\"autocompleteAttr\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\"\n [value]=\"inputText\" (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\" />\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.phone-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-field__input::placeholder{color:transparent}.phone-field__input:focus,.phone-field__input:focus-visible{outline:none}.phone-field__input--invalid:not(:disabled)::placeholder{color:transparent}.phone-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}\n"] }]
57
+ }], propDecorators: { hostInvalidClass: [{
58
+ type: HostBinding,
59
+ args: ['class.phone-field--invalid']
60
+ }], landline: [{
61
+ type: Input,
62
+ args: [{ transform: booleanAttribute }]
63
+ }], maskPattern: [{
64
+ type: Input
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9maWVsZHMvaW5wdXQtZmllbGRzL3Bob25lLWZpZWxkL3Bob25lLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZmllbGRzL2lucHV0LWZpZWxkcy9waG9uZS1maWVsZC9waG9uZS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLGdCQUFnQixFQUNoQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBRXRFOzs7R0FHRztBQWdCSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBZjVEOztRQXFCRSx5RUFBeUU7UUFDakMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUV6RDs7V0FFRztRQUNlLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0tBcUJwQztJQWhDQyxJQUNJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQVVELElBQXVCLE9BQU87UUFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN4QyxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0lBQzlELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBWTtRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7K0dBaENVLG1CQUFtQjttR0FBbkIsbUJBQW1CLGdHQU9WLGdCQUFnQiw2SEFmekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNsRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDN0JILHlwQ0FhQSxvdkJETVksa0JBQWtCOzs0RkFZakIsbUJBQW1CO2tCQWYvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLGtCQUFrQixDQUFDLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsb0JBQW9CLENBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlHLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTUQsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLcEIsV0FBVztzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXHJcbiAgZm9yd2FyZFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL19iYXNlL2Jhc2UtZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWFza2VkVGV4dEZpZWxkQmFzZSB9IGZyb20gJy4uL19iYXNlL21hc2tlZC10ZXh0LWZpZWxkLmJhc2UnO1xyXG5cclxuLyoqXHJcbiAqIFRlbGVmb25lIEJSOiBjZWx1bGFyIDExIGTDrWdpdG9zIGAoIyMpICMjIyMjLSMjIyNgIG91IGZpeG8gMTAgYCgjIykgIyMjIy0jIyMjYC5cclxuICogVmFsb3IgZG8gbW9kZWxvOiBzw7MgZMOtZ2l0b3MgKERERCArIG7Dum1lcm8pLCBleC4gYDExOTk5OTk5OTk5YCBvdSBgMTEzMzMzNDQ0NGAuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1waG9uZS1maWVsZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmFzZUZpZWxkQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGhvbmUtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9waG9uZS1maWVsZC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQaG9uZUZpZWxkQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQaG9uZUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgTWFza2VkVGV4dEZpZWxkQmFzZSB7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5waG9uZS1maWVsZC0taW52YWxpZCcpXHJcbiAgZ2V0IGhvc3RJbnZhbGlkQ2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy51aUludmFsaWQ7XHJcbiAgfVxyXG5cclxuICAvKiogU2UgYHRydWVgLCBtw6FzY2FyYSBkZSBmaXhvICgxMCBkw61naXRvcykuIFNlIGBmYWxzZWAsIGNlbHVsYXIgKDExKS4gKi9cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbGFuZGxpbmUgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOhc2NhcmEgbWFudWFsIChjb20gYCNgKS4gU2UgdmF6aW8sIHVzYSBjZWx1bGFyIG91IGZpeG8gY29uZm9ybWUge0BsaW5rIGxhbmRsaW5lfS5cclxuICAgKi9cclxuICBASW5wdXQoKSBvdmVycmlkZSBtYXNrUGF0dGVybiA9ICcnO1xyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0IHBhdHRlcm4oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGN1c3RvbSA9IHRoaXMubWFza1BhdHRlcm4/LnRyaW0oKTtcclxuICAgIGlmIChjdXN0b20gJiYgY3VzdG9tLmluY2x1ZGVzKCcjJykpIHtcclxuICAgICAgcmV0dXJuIGN1c3RvbTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmxhbmRsaW5lID8gJygjIykgIyMjIy0jIyMjJyA6ICcoIyMpICMjIyMjLSMjIyMnO1xyXG4gIH1cclxuXHJcbiAgb25OYXRpdmVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25NYXNrZWRJbnB1dChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uTWFza2VkQmx1cigpO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMub25NYXNrZWRDbGVhcigpO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWJhc2UtZmllbGQgW2xhYmVsXT1cImZsb2F0TGFiZWxDYXB0aW9uXCIgW2ZpbGxlZF09XCJmaWxsZWRVaVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICBbZXJyb3JNZXNzYWdlXT1cInVpRXJyb3JNZXNzYWdlXCIgW3JlcXVpcmVkXT1cInVpUmVxdWlyZWRFZmZlY3RpdmVcIiBbc2hvd1JlcXVpcmVkTWFya109XCJzaG93UmVxdWlyZWRNYXJrXCJcbiAgW2ludmFsaWRdPVwidWlJbnZhbGlkXCIgW2lucHV0SWRdPVwiY29udHJvbElkXCIgW2Vycm9ySWRdPVwiZXJyb3JFbGVtZW50SWRcIiBbc2hvd1ByZWZpeEljb25dPVwic2hvd1ByZWZpeEljb25cIlxuICBbcHJlZml4SWNvbl09XCJwcmVmaXhJY29uXCIgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIiBbY2xlYXJBcmlhTGFiZWxdPVwiY2xlYXJBcmlhTGFiZWxcIlxuICBbbW9zdHJhck1lbnVDb250ZXh0b109XCJtb3N0cmFyTWVudUNvbnRleHRvXCIgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiIFtjb250ZXh0TWVudUlkXT1cImNvbnRleHRNZW51SWRcIlxuICAoY2xlYXIpPVwib25DbGVhcigpXCIgKGNvbnRleHRNZW51U2VsZWN0KT1cImNvbnRleHRNZW51U2VsZWN0LmVtaXQoJGV2ZW50KVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbYXBwRmllbGRQcmVmaXhdXCIgLz5cbiAgPGlucHV0IGNsYXNzPVwicGhvbmUtZmllbGRfX2lucHV0XCIgdHlwZT1cInRleHRcIiBpbnB1dG1vZGU9XCJ0ZWxcIiBbaWRdPVwiY29udHJvbElkXCIgW2F0dHIubmFtZV09XCJuYW1lIHx8IG51bGxcIlxuICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cIicnXCIgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZUF0dHJcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtyZXF1aXJlZF09XCJ1aVJlcXVpcmVkRWZmZWN0aXZlXCIgW2F0dHIuYXJpYS1pbnZhbGlkXT1cInVpSW52YWxpZFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwidWlBcmlhRGVzY3JpYmVkQnlcIlxuICAgIFt2YWx1ZV09XCJpbnB1dFRleHRcIiAoaW5wdXQpPVwib25OYXRpdmVJbnB1dCgkZXZlbnQpXCIgKGJsdXIpPVwib25CbHVyKClcIiAvPlxuPC9hcHAtYmFzZS1maWVsZD5cbiJdfQ==
@@ -0,0 +1,90 @@
1
+ import { ChangeDetectionStrategy, Component, forwardRef, Input, numberAttribute, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BaseFieldComponent } from '../_base/base-field.component';
4
+ import { NgControlFieldDirective } from '../_base/ng-control-field.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class TextFieldComponent extends NgControlFieldDirective {
7
+ constructor() {
8
+ super(...arguments);
9
+ /** Limite de caracteres no valor do campo. */
10
+ this.maxLength = 500;
11
+ this.inputText = '';
12
+ this.filledUi = false;
13
+ }
14
+ refreshFilledUi() {
15
+ this.filledUi = this.inputText.trim().length > 0;
16
+ }
17
+ afterWriteValue(value) {
18
+ const s = value ?? '';
19
+ const clipped = this.maxLength > 0 ? s.slice(0, this.maxLength) : s;
20
+ this.inputText = clipped;
21
+ if (clipped !== s) {
22
+ queueMicrotask(() => this.emitModelValue(clipped === '' ? null : clipped));
23
+ }
24
+ this.refreshFilledUi();
25
+ if (this.ngControl?.control) {
26
+ this.syncControlUi();
27
+ }
28
+ }
29
+ onNativeInput(event) {
30
+ if (this.disabled || this.readonly) {
31
+ return;
32
+ }
33
+ const el = event.target;
34
+ const raw = el.value;
35
+ const cap = this.maxLength > 0 ? this.maxLength : undefined;
36
+ const clipped = cap != null ? raw.slice(0, cap) : raw;
37
+ if (raw !== clipped) {
38
+ el.value = clipped;
39
+ }
40
+ this.inputText = clipped;
41
+ this.emitModelValue(clipped === '' ? null : clipped);
42
+ this.refreshFilledUi();
43
+ if (this.ngControl?.control) {
44
+ this.syncControlUi();
45
+ }
46
+ else {
47
+ this.cdr.markForCheck();
48
+ }
49
+ }
50
+ onBlur() {
51
+ this.notifyTouched();
52
+ }
53
+ onClear() {
54
+ if (this.disabled || this.readonly) {
55
+ return;
56
+ }
57
+ this.inputText = '';
58
+ this.emitModelValue(null);
59
+ this.notifyTouched();
60
+ this.refreshFilledUi();
61
+ if (this.ngControl?.control) {
62
+ this.syncControlUi();
63
+ }
64
+ else {
65
+ this.cdr.markForCheck();
66
+ }
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: TextFieldComponent, isStandalone: true, selector: "app-text-field", inputs: { maxLength: ["maxLength", "maxLength", numberAttribute] }, providers: [
70
+ {
71
+ provide: NG_VALUE_ACCESSOR,
72
+ useExisting: forwardRef(() => TextFieldComponent),
73
+ multi: true,
74
+ },
75
+ ], usesInheritance: true, ngImport: i0, template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\"\n [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\" [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\"\n [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"text-field__input\" type=\"text\" [id]=\"controlId\" [attr.name]=\"name || null\" [attr.placeholder]=\"''\"\n [attr.autocomplete]=\"autocompleteAttr\" [attr.maxlength]=\"maxLength > 0 ? maxLength : null\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [required]=\"uiRequiredEffective\"\n [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\"\n (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\" />\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.text-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-field__input::placeholder{color:transparent}.text-field__input:focus,.text-field__input:focus-visible{outline:none}.text-field__input--invalid:not(:disabled)::placeholder{color:transparent}.text-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}\n"], dependencies: [{ kind: "component", type: BaseFieldComponent, selector: "app-base-field", inputs: ["label", "errorMessage", "required", "showRequiredMark", "invalid", "filled", "disabled", "readonly", "inputId", "errorId", "showPrefixIcon", "prefixIcon", "clearable", "clearAriaLabel", "showSuffixSlot", "valueAlignEnd", "loading", "skeletonVariant", "mostrarMenuContexto", "contextMenuItems", "contextMenuId"], outputs: ["clear", "contextMenuSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ }
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextFieldComponent, decorators: [{
78
+ type: Component,
79
+ args: [{ selector: 'app-text-field', standalone: true, imports: [BaseFieldComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
80
+ {
81
+ provide: NG_VALUE_ACCESSOR,
82
+ useExisting: forwardRef(() => TextFieldComponent),
83
+ multi: true,
84
+ },
85
+ ], template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\"\n [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\" [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\"\n [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <input class=\"text-field__input\" type=\"text\" [id]=\"controlId\" [attr.name]=\"name || null\" [attr.placeholder]=\"''\"\n [attr.autocomplete]=\"autocompleteAttr\" [attr.maxlength]=\"maxLength > 0 ? maxLength : null\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [required]=\"uiRequiredEffective\"\n [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\" [value]=\"inputText\"\n (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\" />\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.text-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-field__input::placeholder{color:transparent}.text-field__input:focus,.text-field__input:focus-visible{outline:none}.text-field__input--invalid:not(:disabled)::placeholder{color:transparent}.text-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}\n"] }]
86
+ }], propDecorators: { maxLength: [{
87
+ type: Input,
88
+ args: [{ transform: numberAttribute }]
89
+ }] } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2ZpZWxkcy9pbnB1dC1maWVsZHMvdGV4dC1maWVsZC90ZXh0LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZmllbGRzL2lucHV0LWZpZWxkcy90ZXh0LWZpZWxkL3RleHQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQWlCOUUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHVCQUFzQztJQWY5RTs7UUFnQkUsOENBQThDO1FBQ1AsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUV2RCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsYUFBUSxHQUFHLEtBQUssQ0FBQztLQTREbEI7SUExRFMsZUFBZTtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRWtCLGVBQWUsQ0FBQyxLQUFvQjtRQUNyRCxNQUFNLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQixjQUFjLENBQUMsR0FBRyxFQUFFLENBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FDckQsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUM1QyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN0RCxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNwQixFQUFFLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25DLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDOytHQWpFVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrR0FFVCxlQUFlLGdCQVZ4QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2pELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpREN4Qkgsb3NDQWVBLDh1QkREWSxrQkFBa0I7OzRGQVlqQixrQkFBa0I7a0JBZjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsa0JBQWtCLENBQUMsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBSXNDLFNBQVM7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBudW1iZXJBdHRyaWJ1dGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9fYmFzZS9iYXNlLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nQ29udHJvbEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vX2Jhc2UvbmctY29udHJvbC1maWVsZC5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdGV4dC1maWVsZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmFzZUZpZWxkQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RleHQtZmllbGQuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGV4dEZpZWxkQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBOZ0NvbnRyb2xGaWVsZERpcmVjdGl2ZTxzdHJpbmcgfCBudWxsPiB7XHJcbiAgLyoqIExpbWl0ZSBkZSBjYXJhY3RlcmVzIG5vIHZhbG9yIGRvIGNhbXBvLiAqL1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG1heExlbmd0aCA9IDUwMDtcclxuXHJcbiAgaW5wdXRUZXh0ID0gJyc7XHJcblxyXG4gIGZpbGxlZFVpID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgcmVmcmVzaEZpbGxlZFVpKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxsZWRVaSA9IHRoaXMuaW5wdXRUZXh0LnRyaW0oKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFmdGVyV3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgY29uc3QgcyA9IHZhbHVlID8/ICcnO1xyXG4gICAgY29uc3QgY2xpcHBlZCA9IHRoaXMubWF4TGVuZ3RoID4gMCA/IHMuc2xpY2UoMCwgdGhpcy5tYXhMZW5ndGgpIDogcztcclxuICAgIHRoaXMuaW5wdXRUZXh0ID0gY2xpcHBlZDtcclxuICAgIGlmIChjbGlwcGVkICE9PSBzKSB7XHJcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+XHJcbiAgICAgICAgdGhpcy5lbWl0TW9kZWxWYWx1ZShjbGlwcGVkID09PSAnJyA/IG51bGwgOiBjbGlwcGVkKSxcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVmcmVzaEZpbGxlZFVpKCk7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5zeW5jQ29udHJvbFVpKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk5hdGl2ZUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBlbCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgY29uc3QgcmF3ID0gZWwudmFsdWU7XHJcbiAgICBjb25zdCBjYXAgPSB0aGlzLm1heExlbmd0aCA+IDAgPyB0aGlzLm1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGNsaXBwZWQgPSBjYXAgIT0gbnVsbCA/IHJhdy5zbGljZSgwLCBjYXApIDogcmF3O1xyXG4gICAgaWYgKHJhdyAhPT0gY2xpcHBlZCkge1xyXG4gICAgICBlbC52YWx1ZSA9IGNsaXBwZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0VGV4dCA9IGNsaXBwZWQ7XHJcbiAgICB0aGlzLmVtaXRNb2RlbFZhbHVlKGNsaXBwZWQgPT09ICcnID8gbnVsbCA6IGNsaXBwZWQpO1xyXG4gICAgdGhpcy5yZWZyZXNoRmlsbGVkVWkoKTtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbD8uY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN5bmNDb250cm9sVWkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZnlUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBvbkNsZWFyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0VGV4dCA9ICcnO1xyXG4gICAgdGhpcy5lbWl0TW9kZWxWYWx1ZShudWxsKTtcclxuICAgIHRoaXMubm90aWZ5VG91Y2hlZCgpO1xyXG4gICAgdGhpcy5yZWZyZXNoRmlsbGVkVWkoKTtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbD8uY29udHJvbCkge1xyXG4gICAgICB0aGlzLnN5bmNDb250cm9sVWkoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8YXBwLWJhc2UtZmllbGQgW2xhYmVsXT1cImZsb2F0TGFiZWxDYXB0aW9uXCIgW2ZpbGxlZF09XCJmaWxsZWRVaVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICBbZXJyb3JNZXNzYWdlXT1cInVpRXJyb3JNZXNzYWdlXCIgW3JlcXVpcmVkXT1cInVpUmVxdWlyZWRFZmZlY3RpdmVcIiBbc2hvd1JlcXVpcmVkTWFya109XCJzaG93UmVxdWlyZWRNYXJrXCJcbiAgW2ludmFsaWRdPVwidWlJbnZhbGlkXCIgW2lucHV0SWRdPVwiY29udHJvbElkXCJcbiAgW2Vycm9ySWRdPVwiZXJyb3JFbGVtZW50SWRcIiBbc2hvd1ByZWZpeEljb25dPVwic2hvd1ByZWZpeEljb25cIiBbcHJlZml4SWNvbl09XCJwcmVmaXhJY29uXCIgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuICBbY2xlYXJBcmlhTGFiZWxdPVwiY2xlYXJBcmlhTGFiZWxcIlxuICBbbW9zdHJhck1lbnVDb250ZXh0b109XCJtb3N0cmFyTWVudUNvbnRleHRvXCIgW2NvbnRleHRNZW51SXRlbXNdPVwiY29udGV4dE1lbnVJdGVtc1wiIFtjb250ZXh0TWVudUlkXT1cImNvbnRleHRNZW51SWRcIlxuICAoY2xlYXIpPVwib25DbGVhcigpXCIgKGNvbnRleHRNZW51U2VsZWN0KT1cImNvbnRleHRNZW51U2VsZWN0LmVtaXQoJGV2ZW50KVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbYXBwRmllbGRQcmVmaXhdXCIgLz5cbiAgPGlucHV0IGNsYXNzPVwidGV4dC1maWVsZF9faW5wdXRcIiB0eXBlPVwidGV4dFwiIFtpZF09XCJjb250cm9sSWRcIiBbYXR0ci5uYW1lXT1cIm5hbWUgfHwgbnVsbFwiIFthdHRyLnBsYWNlaG9sZGVyXT1cIicnXCJcbiAgICBbYXR0ci5hdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlQXR0clwiIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGggPiAwID8gbWF4TGVuZ3RoIDogbnVsbFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW3JlcXVpcmVkXT1cInVpUmVxdWlyZWRFZmZlY3RpdmVcIlxuICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJ1aUludmFsaWRcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cInVpQXJpYURlc2NyaWJlZEJ5XCIgW3ZhbHVlXT1cImlucHV0VGV4dFwiXG4gICAgKGlucHV0KT1cIm9uTmF0aXZlSW5wdXQoJGV2ZW50KVwiIChibHVyKT1cIm9uQmx1cigpXCIgLz5cbjwvYXBwLWJhc2UtZmllbGQ+XG4iXX0=
@@ -0,0 +1,125 @@
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, forwardRef, numberAttribute, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BaseFieldComponent } from '../_base/base-field.component';
4
+ import { NgControlFieldDirective } from '../_base/ng-control-field.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class TextareaFieldComponent extends NgControlFieldDirective {
7
+ constructor() {
8
+ super(...arguments);
9
+ /** Limite de caracteres no valor do campo. `0` = sem limite explícito no DOM. */
10
+ this.maxLength = 0;
11
+ this.rows = 3;
12
+ /**
13
+ * Limite de altura em linhas (mesma lógica de `rows`). Por omissão igual a {@link rows}.
14
+ * O campo não é redimensionável pelo usuário (`resize: none`).
15
+ */
16
+ this.maxResizeRows = 0;
17
+ this.inputText = '';
18
+ this.filledUi = false;
19
+ /** Altura CSS (evita getter chamado a cada CD). */
20
+ this.textareaMaxHeightCss = '';
21
+ }
22
+ get hostInvalidClass() {
23
+ return this.uiInvalid;
24
+ }
25
+ ngOnInit() {
26
+ super.ngOnInit();
27
+ this.updateTextareaHeight();
28
+ }
29
+ ngOnChanges(changes) {
30
+ super.ngOnChanges(changes);
31
+ if (changes['rows'] || changes['maxResizeRows']) {
32
+ this.updateTextareaHeight();
33
+ }
34
+ }
35
+ updateTextareaHeight() {
36
+ const lines = Math.max(1, this.maxResizeRows > 0 ? this.maxResizeRows : this.rows);
37
+ this.textareaMaxHeightCss = `calc(1.35rem + 0.45rem + ${lines} * 1.35em)`;
38
+ }
39
+ refreshFilledUi() {
40
+ this.filledUi = this.inputText.trim().length > 0;
41
+ }
42
+ afterWriteValue(value) {
43
+ const s = value ?? '';
44
+ const cap = this.maxLength > 0 ? this.maxLength : undefined;
45
+ const clipped = cap != null ? s.slice(0, cap) : s;
46
+ this.inputText = clipped;
47
+ if (clipped !== s) {
48
+ queueMicrotask(() => this.emitModelValue(clipped === '' ? null : clipped));
49
+ }
50
+ this.refreshFilledUi();
51
+ if (this.ngControl?.control) {
52
+ this.syncControlUi();
53
+ }
54
+ }
55
+ onNativeInput(event) {
56
+ if (this.disabled || this.readonly) {
57
+ return;
58
+ }
59
+ const el = event.target;
60
+ const raw = el.value;
61
+ const cap = this.maxLength > 0 ? this.maxLength : undefined;
62
+ const clipped = cap != null ? raw.slice(0, cap) : raw;
63
+ if (raw !== clipped) {
64
+ el.value = clipped;
65
+ }
66
+ this.inputText = clipped;
67
+ this.emitModelValue(clipped === '' ? null : clipped);
68
+ this.refreshFilledUi();
69
+ if (this.ngControl?.control) {
70
+ this.syncControlUi();
71
+ }
72
+ else {
73
+ this.cdr.markForCheck();
74
+ }
75
+ }
76
+ onBlur() {
77
+ this.notifyTouched();
78
+ }
79
+ onClear() {
80
+ if (this.disabled || this.readonly) {
81
+ return;
82
+ }
83
+ this.inputText = '';
84
+ this.emitModelValue(null);
85
+ this.notifyTouched();
86
+ this.refreshFilledUi();
87
+ if (this.ngControl?.control) {
88
+ this.syncControlUi();
89
+ }
90
+ else {
91
+ this.cdr.markForCheck();
92
+ }
93
+ }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextareaFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: TextareaFieldComponent, isStandalone: true, selector: "app-textarea-field", inputs: { maxLength: ["maxLength", "maxLength", numberAttribute], rows: ["rows", "rows", numberAttribute], maxResizeRows: ["maxResizeRows", "maxResizeRows", numberAttribute] }, host: { properties: { "class.textarea-field--invalid": "this.hostInvalidClass" } }, providers: [
96
+ {
97
+ provide: NG_VALUE_ACCESSOR,
98
+ useExisting: forwardRef(() => TextareaFieldComponent),
99
+ multi: true,
100
+ },
101
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\"\n [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\" [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\"\n [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <textarea class=\"textarea-field__input\" [id]=\"controlId\" [attr.name]=\"name || null\" [attr.placeholder]=\"''\"\n [attr.rows]=\"rows\" [style.height]=\"textareaMaxHeightCss\" [style.min-height]=\"textareaMaxHeightCss\"\n [style.max-height]=\"textareaMaxHeightCss\" [attr.autocomplete]=\"autocompleteAttr\"\n [attr.maxlength]=\"maxLength > 0 ? maxLength : null\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\"\n [value]=\"inputText\" (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\"></textarea>\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.textarea-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.textarea-field__input::placeholder{color:transparent}.textarea-field__input:focus,.textarea-field__input:focus-visible{outline:none}.textarea-field__input--invalid:not(:disabled)::placeholder{color:transparent}.textarea-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}.textarea-field__input{resize:none;overflow-x:hidden;overflow-y:auto;white-space:pre-wrap;overflow-wrap:break-word;text-overflow:clip}\n"], dependencies: [{ kind: "component", type: BaseFieldComponent, selector: "app-base-field", inputs: ["label", "errorMessage", "required", "showRequiredMark", "invalid", "filled", "disabled", "readonly", "inputId", "errorId", "showPrefixIcon", "prefixIcon", "clearable", "clearAriaLabel", "showSuffixSlot", "valueAlignEnd", "loading", "skeletonVariant", "mostrarMenuContexto", "contextMenuItems", "contextMenuId"], outputs: ["clear", "contextMenuSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextareaFieldComponent, decorators: [{
104
+ type: Component,
105
+ args: [{ selector: 'app-textarea-field', standalone: true, imports: [BaseFieldComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
106
+ {
107
+ provide: NG_VALUE_ACCESSOR,
108
+ useExisting: forwardRef(() => TextareaFieldComponent),
109
+ multi: true,
110
+ },
111
+ ], template: "<app-base-field [label]=\"floatLabelCaption\" [filled]=\"filledUi\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [loading]=\"loading\"\n [errorMessage]=\"uiErrorMessage\" [required]=\"uiRequiredEffective\" [showRequiredMark]=\"showRequiredMark\"\n [invalid]=\"uiInvalid\" [inputId]=\"controlId\"\n [errorId]=\"errorElementId\" [showPrefixIcon]=\"showPrefixIcon\" [prefixIcon]=\"prefixIcon\" [clearable]=\"clearable\"\n [clearAriaLabel]=\"clearAriaLabel\"\n [mostrarMenuContexto]=\"mostrarMenuContexto\" [contextMenuItems]=\"contextMenuItems\" [contextMenuId]=\"contextMenuId\"\n (clear)=\"onClear()\" (contextMenuSelect)=\"contextMenuSelect.emit($event)\">\n <ng-content select=\"[appFieldPrefix]\" />\n <textarea class=\"textarea-field__input\" [id]=\"controlId\" [attr.name]=\"name || null\" [attr.placeholder]=\"''\"\n [attr.rows]=\"rows\" [style.height]=\"textareaMaxHeightCss\" [style.min-height]=\"textareaMaxHeightCss\"\n [style.max-height]=\"textareaMaxHeightCss\" [attr.autocomplete]=\"autocompleteAttr\"\n [attr.maxlength]=\"maxLength > 0 ? maxLength : null\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [required]=\"uiRequiredEffective\" [attr.aria-invalid]=\"uiInvalid\" [attr.aria-describedby]=\"uiAriaDescribedBy\"\n [value]=\"inputText\" (input)=\"onNativeInput($event)\" (blur)=\"onBlur()\"></textarea>\n</app-base-field>\n", styles: [":host{display:block;width:100%;box-sizing:border-box}.textarea-field__input{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:1.35rem .75rem .45rem;font-size:1rem;line-height:1.35;font-family:inherit;color:var(--ui-field-float-input-text);border:none;border-radius:0;background:transparent;box-shadow:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.textarea-field__input::placeholder{color:transparent}.textarea-field__input:focus,.textarea-field__input:focus-visible{outline:none}.textarea-field__input--invalid:not(:disabled)::placeholder{color:transparent}.textarea-field__input:disabled{opacity:var(--ui-field-input-disabled-opacity);cursor:not-allowed}.textarea-field__input{resize:none;overflow-x:hidden;overflow-y:auto;white-space:pre-wrap;overflow-wrap:break-word;text-overflow:clip}\n"] }]
112
+ }], propDecorators: { hostInvalidClass: [{
113
+ type: HostBinding,
114
+ args: ['class.textarea-field--invalid']
115
+ }], maxLength: [{
116
+ type: Input,
117
+ args: [{ transform: numberAttribute }]
118
+ }], rows: [{
119
+ type: Input,
120
+ args: [{ transform: numberAttribute }]
121
+ }], maxResizeRows: [{
122
+ type: Input,
123
+ args: [{ transform: numberAttribute }]
124
+ }] } });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9maWVsZHMvaW5wdXQtZmllbGRzL3RleHRhcmVhLWZpZWxkL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZmllbGRzL2lucHV0LWZpZWxkcy90ZXh0YXJlYS1maWVsZC90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUlMLFVBQVUsRUFDVixlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQWlCOUUsTUFBTSxPQUFPLHNCQUNYLFNBQVEsdUJBQXNDO0lBaEJoRDs7UUF3QkUsaUZBQWlGO1FBQzFDLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFFZCxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWhEOzs7V0FHRztRQUNvQyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUV6RCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixtREFBbUQ7UUFDbkQseUJBQW9CLEdBQUcsRUFBRSxDQUFDO0tBaUYzQjtJQXRHQyxJQUNJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQW9CUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFD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OzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBT0csZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLCtCQUErQjtnQkFNTCxTQUFTO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFFRSxJQUFJO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFNRSxhQUFhO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBmb3J3YXJkUmVmLFxyXG4gIG51bWJlckF0dHJpYnV0ZSxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL19iYXNlL2Jhc2UtZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdDb250cm9sRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi9fYmFzZS9uZy1jb250cm9sLWZpZWxkLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC10ZXh0YXJlYS1maWVsZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmFzZUZpZWxkQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0YXJlYUZpZWxkQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYUZpZWxkQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBOZ0NvbnRyb2xGaWVsZERpcmVjdGl2ZTxzdHJpbmcgfCBudWxsPlxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXRcclxue1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MudGV4dGFyZWEtZmllbGQtLWludmFsaWQnKVxyXG4gIGdldCBob3N0SW52YWxpZENsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudWlJbnZhbGlkO1xyXG4gIH1cclxuXHJcbiAgLyoqIExpbWl0ZSBkZSBjYXJhY3RlcmVzIG5vIHZhbG9yIGRvIGNhbXBvLiBgMGAgPSBzZW0gbGltaXRlIGV4cGzDrWNpdG8gbm8gRE9NLiAqL1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG1heExlbmd0aCA9IDA7XHJcblxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHJvd3MgPSAzO1xyXG5cclxuICAvKipcclxuICAgKiBMaW1pdGUgZGUgYWx0dXJhIGVtIGxpbmhhcyAobWVzbWEgbMOzZ2ljYSBkZSBgcm93c2ApLiBQb3Igb21pc3PDo28gaWd1YWwgYSB7QGxpbmsgcm93c30uXHJcbiAgICogTyBjYW1wbyBuw6NvIMOpIHJlZGltZW5zaW9uw6F2ZWwgcGVsbyB1c3XDoXJpbyAoYHJlc2l6ZTogbm9uZWApLlxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG1heFJlc2l6ZVJvd3MgPSAwO1xyXG5cclxuICBpbnB1dFRleHQgPSAnJztcclxuXHJcbiAgZmlsbGVkVWkgPSBmYWxzZTtcclxuXHJcbiAgLyoqIEFsdHVyYSBDU1MgKGV2aXRhIGdldHRlciBjaGFtYWRvIGEgY2FkYSBDRCkuICovXHJcbiAgdGV4dGFyZWFNYXhIZWlnaHRDc3MgPSAnJztcclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy51cGRhdGVUZXh0YXJlYUhlaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICBpZiAoY2hhbmdlc1sncm93cyddIHx8IGNoYW5nZXNbJ21heFJlc2l6ZVJvd3MnXSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZVRleHRhcmVhSGVpZ2h0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRleHRhcmVhSGVpZ2h0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbGluZXMgPSBNYXRoLm1heChcclxuICAgICAgMSxcclxuICAgICAgdGhpcy5tYXhSZXNpemVSb3dzID4gMCA/IHRoaXMubWF4UmVzaXplUm93cyA6IHRoaXMucm93cyxcclxuICAgICk7XHJcbiAgICB0aGlzLnRleHRhcmVhTWF4SGVpZ2h0Q3NzID0gYGNhbGMoMS4zNXJlbSArIDAuNDVyZW0gKyAke2xpbmVzfSAqIDEuMzVlbSlgO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWZyZXNoRmlsbGVkVWkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGxlZFVpID0gdGhpcy5pbnB1dFRleHQudHJpbSgpLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYWZ0ZXJXcml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICBjb25zdCBzID0gdmFsdWUgPz8gJyc7XHJcbiAgICBjb25zdCBjYXAgPSB0aGlzLm1heExlbmd0aCA+IDAgPyB0aGlzLm1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGNsaXBwZWQgPSBjYXAgIT0gbnVsbCA/IHMuc2xpY2UoMCwgY2FwKSA6IHM7XHJcbiAgICB0aGlzLmlucHV0VGV4dCA9IGNsaXBwZWQ7XHJcbiAgICBpZiAoY2xpcHBlZCAhPT0gcykge1xyXG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PlxyXG4gICAgICAgIHRoaXMuZW1pdE1vZGVsVmFsdWUoY2xpcHBlZCA9PT0gJycgPyBudWxsIDogY2xpcHBlZCksXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlZnJlc2hGaWxsZWRVaSgpO1xyXG4gICAgaWYgKHRoaXMubmdDb250cm9sPy5jb250cm9sKSB7XHJcbiAgICAgIHRoaXMuc3luY0NvbnRyb2xVaSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25OYXRpdmVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZWwgPSBldmVudC50YXJnZXQgYXMgSFRNTFRleHRBcmVhRWxlbWVudDtcclxuICAgIGNvbnN0IHJhdyA9IGVsLnZhbHVlO1xyXG4gICAgY29uc3QgY2FwID0gdGhpcy5tYXhMZW5ndGggPiAwID8gdGhpcy5tYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBjbGlwcGVkID0gY2FwICE9IG51bGwgPyByYXcuc2xpY2UoMCwgY2FwKSA6IHJhdztcclxuICAgIGlmIChyYXcgIT09IGNsaXBwZWQpIHtcclxuICAgICAgZWwudmFsdWUgPSBjbGlwcGVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dFRleHQgPSBjbGlwcGVkO1xyXG4gICAgdGhpcy5lbWl0TW9kZWxWYWx1ZShjbGlwcGVkID09PSAnJyA/IG51bGwgOiBjbGlwcGVkKTtcclxuICAgIHRoaXMucmVmcmVzaEZpbGxlZFVpKCk7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5zeW5jQ29udHJvbFVpKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMubm90aWZ5VG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dFRleHQgPSAnJztcclxuICAgIHRoaXMuZW1pdE1vZGVsVmFsdWUobnVsbCk7XHJcbiAgICB0aGlzLm5vdGlmeVRvdWNoZWQoKTtcclxuICAgIHRoaXMucmVmcmVzaEZpbGxlZFVpKCk7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5zeW5jQ29udHJvbFVpKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFwcC1iYXNlLWZpZWxkIFtsYWJlbF09XCJmbG9hdExhYmVsQ2FwdGlvblwiIFtmaWxsZWRdPVwiZmlsbGVkVWlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgW2Vycm9yTWVzc2FnZV09XCJ1aUVycm9yTWVzc2FnZVwiIFtyZXF1aXJlZF09XCJ1aVJlcXVpcmVkRWZmZWN0aXZlXCIgW3Nob3dSZXF1aXJlZE1hcmtdPVwic2hvd1JlcXVpcmVkTWFya1wiXG4gIFtpbnZhbGlkXT1cInVpSW52YWxpZFwiIFtpbnB1dElkXT1cImNvbnRyb2xJZFwiXG4gIFtlcnJvcklkXT1cImVycm9yRWxlbWVudElkXCIgW3Nob3dQcmVmaXhJY29uXT1cInNob3dQcmVmaXhJY29uXCIgW3ByZWZpeEljb25dPVwicHJlZml4SWNvblwiIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgW2NsZWFyQXJpYUxhYmVsXT1cImNsZWFyQXJpYUxhYmVsXCJcbiAgW21vc3RyYXJNZW51Q29udGV4dG9dPVwibW9zdHJhck1lbnVDb250ZXh0b1wiIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIiBbY29udGV4dE1lbnVJZF09XCJjb250ZXh0TWVudUlkXCJcbiAgKGNsZWFyKT1cIm9uQ2xlYXIoKVwiIChjb250ZXh0TWVudVNlbGVjdCk9XCJjb250ZXh0TWVudVNlbGVjdC5lbWl0KCRldmVudClcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FwcEZpZWxkUHJlZml4XVwiIC8+XG4gIDx0ZXh0YXJlYSBjbGFzcz1cInRleHRhcmVhLWZpZWxkX19pbnB1dFwiIFtpZF09XCJjb250cm9sSWRcIiBbYXR0ci5uYW1lXT1cIm5hbWUgfHwgbnVsbFwiIFthdHRyLnBsYWNlaG9sZGVyXT1cIicnXCJcbiAgICBbYXR0ci5yb3dzXT1cInJvd3NcIiBbc3R5bGUuaGVpZ2h0XT1cInRleHRhcmVhTWF4SGVpZ2h0Q3NzXCIgW3N0eWxlLm1pbi1oZWlnaHRdPVwidGV4dGFyZWFNYXhIZWlnaHRDc3NcIlxuICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInRleHRhcmVhTWF4SGVpZ2h0Q3NzXCIgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZUF0dHJcIlxuICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGggPiAwID8gbWF4TGVuZ3RoIDogbnVsbFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW3JlcXVpcmVkXT1cInVpUmVxdWlyZWRFZmZlY3RpdmVcIiBbYXR0ci5hcmlhLWludmFsaWRdPVwidWlJbnZhbGlkXCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJ1aUFyaWFEZXNjcmliZWRCeVwiXG4gICAgW3ZhbHVlXT1cImlucHV0VGV4dFwiIChpbnB1dCk9XCJvbk5hdGl2ZUlucHV0KCRldmVudClcIiAoYmx1cik9XCJvbkJsdXIoKVwiPjwvdGV4dGFyZWE+XG48L2FwcC1iYXNlLWZpZWxkPlxuIl19
@@ -0,0 +1,48 @@
1
+ /** Espaçamento horizontal/vertical entre itens da linha. */
2
+ export var FormRowGap;
3
+ (function (FormRowGap) {
4
+ FormRowGap["Xs"] = "xs";
5
+ FormRowGap["Sm"] = "sm";
6
+ FormRowGap["Md"] = "md";
7
+ FormRowGap["Lg"] = "lg";
8
+ })(FormRowGap || (FormRowGap = {}));
9
+ /** Alinhamento no eixo cruzado (itens da linha). */
10
+ export var FormRowAlign;
11
+ (function (FormRowAlign) {
12
+ FormRowAlign["Start"] = "start";
13
+ FormRowAlign["Center"] = "center";
14
+ FormRowAlign["End"] = "end";
15
+ FormRowAlign["Stretch"] = "stretch";
16
+ })(FormRowAlign || (FormRowAlign = {}));
17
+ /** Distribuição no eixo principal. */
18
+ export var FormRowJustify;
19
+ (function (FormRowJustify) {
20
+ FormRowJustify["Start"] = "start";
21
+ FormRowJustify["Center"] = "center";
22
+ FormRowJustify["End"] = "end";
23
+ FormRowJustify["Between"] = "between";
24
+ })(FormRowJustify || (FormRowJustify = {}));
25
+ /** Variante visual do grupo. */
26
+ export var FormGroupVariant;
27
+ (function (FormGroupVariant) {
28
+ FormGroupVariant["Default"] = "default";
29
+ FormGroupVariant["Outlined"] = "outlined";
30
+ FormGroupVariant["Subtle"] = "subtle";
31
+ })(FormGroupVariant || (FormGroupVariant = {}));
32
+ /** Alinhamento horizontal no eixo principal (`justify-content`) em `app-layout-stack`. */
33
+ export var LayoutStackAlign;
34
+ (function (LayoutStackAlign) {
35
+ LayoutStackAlign["Start"] = "start";
36
+ LayoutStackAlign["Center"] = "center";
37
+ LayoutStackAlign["End"] = "end";
38
+ LayoutStackAlign["SpaceBetween"] = "space-between";
39
+ })(LayoutStackAlign || (LayoutStackAlign = {}));
40
+ /** Alinhamento em `app-form-actions` (barra de ações de formulário). */
41
+ export var FormActionsAlign;
42
+ (function (FormActionsAlign) {
43
+ FormActionsAlign["Start"] = "start";
44
+ FormActionsAlign["Center"] = "center";
45
+ FormActionsAlign["End"] = "end";
46
+ FormActionsAlign["SpaceBetween"] = "space-between";
47
+ })(FormActionsAlign || (FormActionsAlign = {}));
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYXlvdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2Zvcm0tbGF5b3V0L19tb2RlbHMvZm9ybS1sYXlvdXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELE1BQU0sQ0FBTixJQUFZLFVBS1g7QUFMRCxXQUFZLFVBQVU7SUFDcEIsdUJBQVMsQ0FBQTtJQUNULHVCQUFTLENBQUE7SUFDVCx1QkFBUyxDQUFBO0lBQ1QsdUJBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxVQUFVLEtBQVYsVUFBVSxRQUtyQjtBQUVELG9EQUFvRDtBQUNwRCxNQUFNLENBQU4sSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3RCLCtCQUFlLENBQUE7SUFDZixpQ0FBaUIsQ0FBQTtJQUNqQiwyQkFBVyxDQUFBO0lBQ1gsbUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLFlBQVksS0FBWixZQUFZLFFBS3ZCO0FBRUQsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBTixJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIsaUNBQWUsQ0FBQTtJQUNmLG1DQUFpQixDQUFBO0lBQ2pCLDZCQUFXLENBQUE7SUFDWCxxQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUFFRCxnQ0FBZ0M7QUFDaEMsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQix1Q0FBbUIsQ0FBQTtJQUNuQix5Q0FBcUIsQ0FBQTtJQUNyQixxQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQUVELDBGQUEwRjtBQUMxRixNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLG1DQUFlLENBQUE7SUFDZixxQ0FBaUIsQ0FBQTtJQUNqQiwrQkFBVyxDQUFBO0lBQ1gsa0RBQThCLENBQUE7QUFDaEMsQ0FBQyxFQUxXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFLM0I7QUFFRCx3RUFBd0U7QUFDeEUsTUFBTSxDQUFOLElBQVksZ0JBS1g7QUFMRCxXQUFZLGdCQUFnQjtJQUMxQixtQ0FBZSxDQUFBO0lBQ2YscUNBQWlCLENBQUE7SUFDakIsK0JBQVcsQ0FBQTtJQUNYLGtEQUE4QixDQUFBO0FBQ2hDLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEVzcGHDp2FtZW50byBob3Jpem9udGFsL3ZlcnRpY2FsIGVudHJlIGl0ZW5zIGRhIGxpbmhhLiAqL1xyXG5leHBvcnQgZW51bSBGb3JtUm93R2FwIHtcclxuICBYcyA9ICd4cycsXHJcbiAgU20gPSAnc20nLFxyXG4gIE1kID0gJ21kJyxcclxuICBMZyA9ICdsZycsXHJcbn1cclxuXHJcbi8qKiBBbGluaGFtZW50byBubyBlaXhvIGNydXphZG8gKGl0ZW5zIGRhIGxpbmhhKS4gKi9cclxuZXhwb3J0IGVudW0gRm9ybVJvd0FsaWduIHtcclxuICBTdGFydCA9ICdzdGFydCcsXHJcbiAgQ2VudGVyID0gJ2NlbnRlcicsXHJcbiAgRW5kID0gJ2VuZCcsXHJcbiAgU3RyZXRjaCA9ICdzdHJldGNoJyxcclxufVxyXG5cclxuLyoqIERpc3RyaWJ1acOnw6NvIG5vIGVpeG8gcHJpbmNpcGFsLiAqL1xyXG5leHBvcnQgZW51bSBGb3JtUm93SnVzdGlmeSB7XHJcbiAgU3RhcnQgPSAnc3RhcnQnLFxyXG4gIENlbnRlciA9ICdjZW50ZXInLFxyXG4gIEVuZCA9ICdlbmQnLFxyXG4gIEJldHdlZW4gPSAnYmV0d2VlbicsXHJcbn1cclxuXHJcbi8qKiBWYXJpYW50ZSB2aXN1YWwgZG8gZ3J1cG8uICovXHJcbmV4cG9ydCBlbnVtIEZvcm1Hcm91cFZhcmlhbnQge1xyXG4gIERlZmF1bHQgPSAnZGVmYXVsdCcsXHJcbiAgT3V0bGluZWQgPSAnb3V0bGluZWQnLFxyXG4gIFN1YnRsZSA9ICdzdWJ0bGUnLFxyXG59XHJcblxyXG4vKiogQWxpbmhhbWVudG8gaG9yaXpvbnRhbCBubyBlaXhvIHByaW5jaXBhbCAoYGp1c3RpZnktY29udGVudGApIGVtIGBhcHAtbGF5b3V0LXN0YWNrYC4gKi9cclxuZXhwb3J0IGVudW0gTGF5b3V0U3RhY2tBbGlnbiB7XHJcbiAgU3RhcnQgPSAnc3RhcnQnLFxyXG4gIENlbnRlciA9ICdjZW50ZXInLFxyXG4gIEVuZCA9ICdlbmQnLFxyXG4gIFNwYWNlQmV0d2VlbiA9ICdzcGFjZS1iZXR3ZWVuJyxcclxufVxyXG5cclxuLyoqIEFsaW5oYW1lbnRvIGVtIGBhcHAtZm9ybS1hY3Rpb25zYCAoYmFycmEgZGUgYcOnw7VlcyBkZSBmb3JtdWzDoXJpbykuICovXHJcbmV4cG9ydCBlbnVtIEZvcm1BY3Rpb25zQWxpZ24ge1xyXG4gIFN0YXJ0ID0gJ3N0YXJ0JyxcclxuICBDZW50ZXIgPSAnY2VudGVyJyxcclxuICBFbmQgPSAnZW5kJyxcclxuICBTcGFjZUJldHdlZW4gPSAnc3BhY2UtYmV0d2VlbicsXHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10YWJzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9mb3JtLWxheW91dC9fbW9kZWxzL2Zvcm0tdGFicy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRm9ybVRhYnNWYXJpYW50ID0gJ2RlZmF1bHQnIHwgJ3BpbGwnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { LayoutStackAlign, FormActionsAlign, FormGroupVariant, FormRowAlign, FormRowGap, FormRowJustify, } from './form-layout.model';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2Zvcm0tbGF5b3V0L19tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xyXG4gIExheW91dFN0YWNrQWxpZ24sXHJcbiAgRm9ybUFjdGlvbnNBbGlnbixcclxuICBGb3JtR3JvdXBWYXJpYW50LFxyXG4gIEZvcm1Sb3dBbGlnbixcclxuICBGb3JtUm93R2FwLFxyXG4gIEZvcm1Sb3dKdXN0aWZ5LFxyXG59IGZyb20gJy4vZm9ybS1sYXlvdXQubW9kZWwnO1xyXG5leHBvcnQgdHlwZSB7XHJcbiAgVmFsaWRhdGlvblN1bW1hcnlJdGVtLFxyXG4gIFZhbGlkYXRpb25TdW1tYXJ5VmFyaWFudCxcclxufSBmcm9tICcuL3ZhbGlkYXRpb24tc3VtbWFyeS5tb2RlbCc7XHJcbmV4cG9ydCB0eXBlIHsgRm9ybVRhYnNWYXJpYW50IH0gZnJvbSAnLi9mb3JtLXRhYnMubW9kZWwnO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1zdW1tYXJ5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9mb3JtLWxheW91dC9fbW9kZWxzL3ZhbGlkYXRpb24tc3VtbWFyeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFZhcmlhbnRlIHZpc3VhbCBkbyByZXN1bW8gZGUgdmFsaWRhw6fDo28uICovXHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25TdW1tYXJ5VmFyaWFudCA9ICdlcnJvcicgfCAnd2FybmluZycgfCAnaW5mbyc7XHJcblxyXG4vKiogSXRlbSBkbyByZXN1bW86IG1lbnNhZ2VtIGUgZGVzdGlubyBvcGNpb25hbCBwYXJhIGZvY28gLyBzY3JvbGwgLyBkZXN0YXF1ZS4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uU3VtbWFyeUl0ZW0ge1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICAvKiogYGlkYCBIVE1MIGRvIGNvbnRyb2xlIGZvY8OhdmVsIChleC46IG8gbWVzbW8gYFtpZF1gIGRvcyBjYW1wb3MgZGEgbGliKS4gKi9cclxuICBmaWVsZElkPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==