keevo-components 1.5.189 → 1.5.191

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 (351) hide show
  1. package/README.md +24 -24
  2. package/ng-package.json +7 -0
  3. package/package.json +3 -22
  4. package/src/assets/.gitkeep +0 -0
  5. package/src/assets/images/LogoEvo.png +0 -0
  6. package/src/assets/images/LogoPequenaEvo.png +0 -0
  7. package/src/assets/images/background.png +0 -0
  8. package/src/assets/images/keepass-logo.png +0 -0
  9. package/src/assets/images/keepass-logo.svg +74 -0
  10. package/src/assets/images/keevo-logo.png +0 -0
  11. package/src/assets/images/logokeevo_2.png +0 -0
  12. package/src/index.ts +1 -0
  13. package/src/lib/api/base-components/base-component-button.ts +27 -0
  14. package/src/lib/api/base-components/base-component-chart.ts +105 -0
  15. package/src/lib/api/base-components/base-component-crud-form.ts +328 -0
  16. package/src/lib/api/base-components/base-component-crud-list.ts +111 -0
  17. package/src/lib/api/base-components/base-component-crud.ts +70 -0
  18. package/src/lib/api/base-components/base-component-dropdown-new.ts +112 -0
  19. package/src/lib/api/base-components/base-component-dropdown.ts +164 -0
  20. package/src/lib/api/base-components/base-component-input.ts +107 -0
  21. package/src/lib/api/base-components/base-component-multi-select.ts +136 -0
  22. package/src/lib/api/base-components/base-component.ts +46 -0
  23. package/src/lib/api/components/chart/chart.config.ts +12 -0
  24. package/src/lib/api/components/chart/chart.model.ts +9 -0
  25. package/src/lib/api/components/chart/orchart.config.ts +41 -0
  26. package/src/lib/api/components/chart/orchart.item.ts +33 -0
  27. package/src/lib/api/components/dropdown/filtro.combo.ts +4 -0
  28. package/src/lib/api/components/error/error.component.html +3 -0
  29. package/src/lib/api/components/error/error.component.scss +5 -0
  30. package/src/lib/api/components/error/error.component.ts +22 -0
  31. package/src/lib/api/components/error/kverror.module.ts +23 -0
  32. package/src/lib/api/components/table/action-item.ts +5 -0
  33. package/src/lib/api/components/table/kv-menuitem.ts +10 -0
  34. package/src/lib/api/components/table/table.config.column.ts +21 -0
  35. package/src/lib/api/components/table/table.config.ts +20 -0
  36. package/src/lib/api/components/table/table.paginate.ts +6 -0
  37. package/src/lib/api/helpers/component-providers.ts +16 -0
  38. package/src/lib/api/helpers/keevo-validators.ts +77 -0
  39. package/src/lib/api/helpers/translate-primeng.ts +25 -0
  40. package/src/lib/api/models/menu/menu.model.ts +10 -0
  41. package/{lib/api/models/menu/menucompleto.model.d.ts → src/lib/api/models/menu/menucompleto.model.ts} +7 -6
  42. package/src/lib/api/models/menu/sistemamenu.model.ts +8 -0
  43. package/src/lib/api/modules/primeng.module.ts +125 -0
  44. package/src/lib/api/services/base.api.service.ts +115 -0
  45. package/src/lib/api/services/component.service.ts +22 -0
  46. package/src/lib/api/services/form.service.ts +105 -0
  47. package/src/lib/api/services/imagens.service.ts +20 -0
  48. package/src/lib/api/services/notification.service.ts +82 -0
  49. package/src/lib/api/services/object.service.ts +20 -0
  50. package/src/lib/buttons/button-personalize/button-personalize.component.html +11 -0
  51. package/src/lib/buttons/button-personalize/button-personalize.component.scss +3 -0
  52. package/src/lib/buttons/button-personalize/button-personalize.component.ts +13 -0
  53. package/src/lib/buttons/button-popup/button-popup.component.html +12 -0
  54. package/src/lib/buttons/button-popup/button-popup.component.scss +13 -0
  55. package/src/lib/buttons/button-popup/button-popup.component.ts +30 -0
  56. package/src/lib/buttons/button-secondary/button-secondary.component.html +12 -0
  57. package/src/lib/buttons/button-secondary/button-secondary.component.scss +14 -0
  58. package/src/lib/buttons/button-secondary/button-secondary.component.ts +13 -0
  59. package/src/lib/buttons/button-success/button-success.component.html +11 -0
  60. package/src/lib/buttons/button-success/button-success.component.scss +13 -0
  61. package/src/lib/buttons/button-success/button-success.component.ts +13 -0
  62. package/src/lib/buttons/kvbutton.module.ts +25 -0
  63. package/src/lib/chart/chart.component.html +38 -0
  64. package/src/lib/chart/chart.component.scss +0 -0
  65. package/src/lib/chart/chart.component.spec.ts +28 -0
  66. package/src/lib/chart/chart.component.ts +141 -0
  67. package/src/lib/chart/kvchart.module.ts +20 -0
  68. package/src/lib/directives/template.directive.ts +15 -0
  69. package/src/lib/inputs/check/check.component.html +11 -0
  70. package/src/lib/inputs/check/check.component.scss +13 -0
  71. package/src/lib/inputs/check/check.component.ts +24 -0
  72. package/src/lib/inputs/dropdown/dropdown.component.html +91 -0
  73. package/src/lib/inputs/dropdown/dropdown.component.scss +0 -0
  74. package/src/lib/inputs/dropdown/dropdown.component.ts +28 -0
  75. package/src/lib/inputs/editor/editor.component.html +90 -0
  76. package/src/lib/inputs/editor/editor.component.scss +4 -0
  77. package/src/lib/inputs/editor/editor.component.ts +80 -0
  78. package/src/lib/inputs/input-calendar/input-calendar.component.html +30 -0
  79. package/src/lib/inputs/input-calendar/input-calendar.component.scss +0 -0
  80. package/src/lib/inputs/input-calendar/input-calendar.component.ts +81 -0
  81. package/src/lib/inputs/input-mask/input-mask.component.html +20 -0
  82. package/src/lib/inputs/input-mask/input-mask.component.scss +0 -0
  83. package/src/lib/inputs/input-mask/input-mask.component.ts +20 -0
  84. package/src/lib/inputs/input-number/input-number.component.html +22 -0
  85. package/src/lib/inputs/input-number/input-number.component.scss +0 -0
  86. package/src/lib/inputs/input-number/input-number.component.ts +52 -0
  87. package/src/lib/inputs/input-password/input-password.component.html +23 -0
  88. package/src/lib/inputs/input-password/input-password.component.scss +0 -0
  89. package/src/lib/inputs/input-password/input-password.component.ts +23 -0
  90. package/src/lib/inputs/input-text/input-text.component.html +20 -0
  91. package/src/lib/inputs/input-text/input-text.component.scss +18 -0
  92. package/src/lib/inputs/input-text/input-text.component.ts +17 -0
  93. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.html +32 -0
  94. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.scss +0 -0
  95. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.spec.ts +23 -0
  96. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.ts +36 -0
  97. package/src/lib/inputs/input-textarea/input-textarea.component.html +22 -0
  98. package/src/lib/inputs/input-textarea/input-textarea.component.scss +0 -0
  99. package/src/lib/inputs/input-textarea/input-textarea.component.ts +33 -0
  100. package/src/lib/inputs/input-time/input-time.component.html +23 -0
  101. package/src/lib/inputs/input-time/input-time.component.scss +0 -0
  102. package/src/lib/inputs/input-time/input-time.component.ts +20 -0
  103. package/src/lib/inputs/kvinputs.module.ts +64 -0
  104. package/src/lib/inputs/multi-select/multi-select.component.html +28 -0
  105. package/src/lib/inputs/multi-select/multi-select.component.scss +8 -0
  106. package/src/lib/inputs/multi-select/multi-select.component.ts +31 -0
  107. package/src/lib/inputs/radio-group/radio-group.component.html +19 -0
  108. package/src/lib/inputs/radio-group/radio-group.component.scss +15 -0
  109. package/src/lib/inputs/radio-group/radio-group.component.ts +50 -0
  110. package/src/lib/inputs/switch/switch.component.html +12 -0
  111. package/src/lib/inputs/switch/switch.component.scss +3 -0
  112. package/src/lib/inputs/switch/switch.component.ts +30 -0
  113. package/src/lib/keevo-components.module.ts +50 -0
  114. package/src/lib/label/label.component.html +6 -0
  115. package/src/lib/label/label.component.scss +9 -0
  116. package/src/lib/label/label.component.spec.ts +23 -0
  117. package/src/lib/label/label.component.ts +13 -0
  118. package/src/lib/label/label.module.ts +18 -0
  119. package/src/lib/loader/kvloader.module.ts +17 -0
  120. package/src/lib/loader/loader.component.html +1 -0
  121. package/src/lib/loader/loader.component.ts +14 -0
  122. package/src/lib/loader/loader.service.ts +26 -0
  123. package/src/lib/login/kvlogin.module.ts +28 -0
  124. package/src/lib/login/login.component.html +108 -0
  125. package/src/lib/login/login.component.scss +48 -0
  126. package/src/lib/login/login.component.spec.ts +23 -0
  127. package/src/lib/login/login.component.ts +65 -0
  128. package/src/lib/menu/kvmenu.module.ts +27 -0
  129. package/src/lib/menu/menu.component.html +342 -0
  130. package/src/lib/menu/menu.component.scss +210 -0
  131. package/src/lib/menu/menu.component.spec.ts +23 -0
  132. package/src/lib/menu/menu.component.ts +246 -0
  133. package/src/lib/orgchart/orgchart.component.html +58 -0
  134. package/src/lib/orgchart/orgchart.component.scss +21 -0
  135. package/src/lib/orgchart/orgchart.component.ts +118 -0
  136. package/src/lib/orgchart/orgchart.module.ts +14 -0
  137. package/src/lib/page-form/kv-page-form.module.ts +22 -0
  138. package/src/lib/page-form/page-form.component.html +57 -0
  139. package/src/lib/page-form/page-form.component.scss +72 -0
  140. package/src/lib/page-form/page-form.component.spec.ts +28 -0
  141. package/src/lib/page-form/page-form.component.ts +121 -0
  142. package/src/lib/picklist/kvpicklist.module.ts +20 -0
  143. package/src/lib/picklist/picklist.component.html +17 -0
  144. package/src/lib/picklist/picklist.component.scss +0 -0
  145. package/src/lib/picklist/picklist.component.spec.ts +26 -0
  146. package/src/lib/picklist/picklist.component.ts +27 -0
  147. package/src/lib/pipes/codigofile.pipe.ts +15 -0
  148. package/src/lib/pipes/cpfcnpj.pipe.ts +21 -0
  149. package/src/lib/pipes/pipes.module.ts +22 -0
  150. package/src/lib/pipes/telefone.pipe.ts +38 -0
  151. package/src/lib/styles-components.scss +11 -0
  152. package/src/lib/table/kvtable.module.ts +22 -0
  153. package/src/lib/table/table.component.html +473 -0
  154. package/src/lib/table/table.component.scss +240 -0
  155. package/src/lib/table/table.component.spec.ts +28 -0
  156. package/src/lib/table/table.component.ts +546 -0
  157. package/src/lib/tree-table/kv-treetable.component.html +649 -0
  158. package/src/lib/tree-table/kv-treetable.component.scss +315 -0
  159. package/src/lib/tree-table/kv-treetable.component.ts +390 -0
  160. package/src/lib/tree-table/kv-treetable.module.ts +18 -0
  161. package/src/lib/tree-view/kvtree-view.module.ts +19 -0
  162. package/src/lib/tree-view/tree-view.component.html +9 -0
  163. package/src/lib/tree-view/tree-view.component.scss +0 -0
  164. package/src/lib/tree-view/tree-view.component.spec.ts +23 -0
  165. package/src/lib/tree-view/tree-view.component.ts +29 -0
  166. package/src/lib/workspace/kvworkspace.module.ts +29 -0
  167. package/src/lib/workspace/workspace.component.html +108 -0
  168. package/src/lib/workspace/workspace.component.scss +83 -0
  169. package/src/lib/workspace/workspace.component.ts +75 -0
  170. package/{public-api.d.ts → src/public-api.ts} +156 -133
  171. package/tsconfig.lib.json +14 -0
  172. package/tsconfig.lib.prod.json +10 -0
  173. package/tsconfig.spec.json +14 -0
  174. package/esm2020/keevo-components.mjs +0 -5
  175. package/esm2020/lib/api/base-components/base-component-button.mjs +0 -36
  176. package/esm2020/lib/api/base-components/base-component-chart.mjs +0 -92
  177. package/esm2020/lib/api/base-components/base-component-crud-form.mjs +0 -269
  178. package/esm2020/lib/api/base-components/base-component-crud-list.mjs +0 -67
  179. package/esm2020/lib/api/base-components/base-component-crud.mjs +0 -65
  180. package/esm2020/lib/api/base-components/base-component-dropdown-new.mjs +0 -211
  181. package/esm2020/lib/api/base-components/base-component-dropdown.mjs +0 -161
  182. package/esm2020/lib/api/base-components/base-component-input.mjs +0 -94
  183. package/esm2020/lib/api/base-components/base-component-multi-select.mjs +0 -128
  184. package/esm2020/lib/api/base-components/base-component.mjs +0 -49
  185. package/esm2020/lib/api/components/chart/chart.config.mjs +0 -2
  186. package/esm2020/lib/api/components/chart/chart.model.mjs +0 -2
  187. package/esm2020/lib/api/components/chart/orchart.config.mjs +0 -2
  188. package/esm2020/lib/api/components/chart/orchart.item.mjs +0 -2
  189. package/esm2020/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  190. package/esm2020/lib/api/components/error/error.component.mjs +0 -26
  191. package/esm2020/lib/api/components/error/kverror.module.mjs +0 -35
  192. package/esm2020/lib/api/components/table/action-item.mjs +0 -2
  193. package/esm2020/lib/api/components/table/kv-menuitem.mjs +0 -3
  194. package/esm2020/lib/api/components/table/table.config.column.mjs +0 -2
  195. package/esm2020/lib/api/components/table/table.config.mjs +0 -2
  196. package/esm2020/lib/api/components/table/table.paginate.mjs +0 -9
  197. package/esm2020/lib/api/helpers/component-providers.mjs +0 -16
  198. package/esm2020/lib/api/helpers/keevo-validators.mjs +0 -64
  199. package/esm2020/lib/api/helpers/translate-primeng.mjs +0 -23
  200. package/esm2020/lib/api/models/menu/menu.model.mjs +0 -2
  201. package/esm2020/lib/api/models/menu/menucompleto.model.mjs +0 -2
  202. package/esm2020/lib/api/models/menu/sistemamenu.model.mjs +0 -2
  203. package/esm2020/lib/api/modules/primeng.module.mjs +0 -247
  204. package/esm2020/lib/api/services/base.api.service.mjs +0 -74
  205. package/esm2020/lib/api/services/component.service.mjs +0 -27
  206. package/esm2020/lib/api/services/form.service.mjs +0 -84
  207. package/esm2020/lib/api/services/imagens.service.mjs +0 -22
  208. package/esm2020/lib/api/services/notification.service.mjs +0 -67
  209. package/esm2020/lib/api/services/object.service.mjs +0 -26
  210. package/esm2020/lib/buttons/button-personalize/button-personalize.component.mjs +0 -17
  211. package/esm2020/lib/buttons/button-popup/button-popup.component.mjs +0 -31
  212. package/esm2020/lib/buttons/button-secondary/button-secondary.component.mjs +0 -17
  213. package/esm2020/lib/buttons/button-success/button-success.component.mjs +0 -17
  214. package/esm2020/lib/buttons/kvbutton.module.mjs +0 -39
  215. package/esm2020/lib/chart/chart.component.mjs +0 -145
  216. package/esm2020/lib/chart/kvchart.module.mjs +0 -32
  217. package/esm2020/lib/directives/template.directive.mjs +0 -24
  218. package/esm2020/lib/inputs/check/check.component.mjs +0 -26
  219. package/esm2020/lib/inputs/dropdown/dropdown.component.mjs +0 -37
  220. package/esm2020/lib/inputs/editor/editor.component.mjs +0 -70
  221. package/esm2020/lib/inputs/input-calendar/input-calendar.component.mjs +0 -89
  222. package/esm2020/lib/inputs/input-mask/input-mask.component.mjs +0 -23
  223. package/esm2020/lib/inputs/input-number/input-number.component.mjs +0 -59
  224. package/esm2020/lib/inputs/input-password/input-password.component.mjs +0 -33
  225. package/esm2020/lib/inputs/input-text/input-text.component.mjs +0 -21
  226. package/esm2020/lib/inputs/input-text-checkbox/input-text-checkbox.component.mjs +0 -38
  227. package/esm2020/lib/inputs/input-textarea/input-textarea.component.mjs +0 -43
  228. package/esm2020/lib/inputs/input-time/input-time.component.mjs +0 -24
  229. package/esm2020/lib/inputs/kvinputs.module.mjs +0 -108
  230. package/esm2020/lib/inputs/multi-select/multi-select.component.mjs +0 -38
  231. package/esm2020/lib/inputs/radio-group/radio-group.component.mjs +0 -53
  232. package/esm2020/lib/inputs/switch/switch.component.mjs +0 -32
  233. package/esm2020/lib/keevo-components.module.mjs +0 -105
  234. package/esm2020/lib/label/label.component.mjs +0 -15
  235. package/esm2020/lib/label/label.module.mjs +0 -24
  236. package/esm2020/lib/loader/loader.component.mjs +0 -18
  237. package/esm2020/lib/loader/loader.module.mjs +0 -28
  238. package/esm2020/lib/loader/loader.service.mjs +0 -29
  239. package/esm2020/lib/login/kvlogin.module.mjs +0 -47
  240. package/esm2020/lib/login/login.component.mjs +0 -52
  241. package/esm2020/lib/menu/kvmenu.module.mjs +0 -43
  242. package/esm2020/lib/menu/menu.component.mjs +0 -237
  243. package/esm2020/lib/orgchart/orgchart.component.mjs +0 -100
  244. package/esm2020/lib/orgchart/orgchart.module.mjs +0 -24
  245. package/esm2020/lib/page-form/kv-page-form.module.mjs +0 -38
  246. package/esm2020/lib/page-form/page-form.component.mjs +0 -144
  247. package/esm2020/lib/picklist/kvpicklist.module.mjs +0 -32
  248. package/esm2020/lib/picklist/picklist.component.mjs +0 -48
  249. package/esm2020/lib/pipes/codigofile.pipe.mjs +0 -19
  250. package/esm2020/lib/pipes/cpfcnpj.pipe.mjs +0 -25
  251. package/esm2020/lib/pipes/pipes.module.mjs +0 -34
  252. package/esm2020/lib/pipes/telefone.pipe.mjs +0 -45
  253. package/esm2020/lib/table/kvtable.module.mjs +0 -32
  254. package/esm2020/lib/table/table.component.mjs +0 -499
  255. package/esm2020/lib/tree-table/kv-treetable.component.mjs +0 -371
  256. package/esm2020/lib/tree-table/kv-treetable.module.mjs +0 -32
  257. package/esm2020/lib/tree-view/kvtree-view.module.mjs +0 -28
  258. package/esm2020/lib/tree-view/tree-view.component.mjs +0 -29
  259. package/esm2020/lib/workspace/kvworkspace.module.mjs +0 -47
  260. package/esm2020/lib/workspace/workspace.component.mjs +0 -77
  261. package/esm2020/public-api.mjs +0 -137
  262. package/fesm2015/keevo-components.mjs +0 -4706
  263. package/fesm2015/keevo-components.mjs.map +0 -1
  264. package/fesm2020/keevo-components.mjs +0 -4697
  265. package/fesm2020/keevo-components.mjs.map +0 -1
  266. package/index.d.ts +0 -5
  267. package/lib/api/base-components/base-component-button.d.ts +0 -14
  268. package/lib/api/base-components/base-component-chart.d.ts +0 -40
  269. package/lib/api/base-components/base-component-crud-form.d.ts +0 -137
  270. package/lib/api/base-components/base-component-crud-list.d.ts +0 -63
  271. package/lib/api/base-components/base-component-crud.d.ts +0 -36
  272. package/lib/api/base-components/base-component-dropdown-new.d.ts +0 -14
  273. package/lib/api/base-components/base-component-dropdown.d.ts +0 -42
  274. package/lib/api/base-components/base-component-input.d.ts +0 -31
  275. package/lib/api/base-components/base-component-multi-select.d.ts +0 -35
  276. package/lib/api/base-components/base-component.d.ts +0 -21
  277. package/lib/api/components/chart/chart.config.d.ts +0 -11
  278. package/lib/api/components/chart/chart.model.d.ts +0 -9
  279. package/lib/api/components/chart/orchart.config.d.ts +0 -35
  280. package/lib/api/components/chart/orchart.item.d.ts +0 -26
  281. package/lib/api/components/dropdown/filtro.combo.d.ts +0 -4
  282. package/lib/api/components/error/error.component.d.ts +0 -12
  283. package/lib/api/components/error/kverror.module.d.ts +0 -10
  284. package/lib/api/components/table/action-item.d.ts +0 -5
  285. package/lib/api/components/table/kv-menuitem.d.ts +0 -9
  286. package/lib/api/components/table/table.config.column.d.ts +0 -21
  287. package/lib/api/components/table/table.config.d.ts +0 -17
  288. package/lib/api/components/table/table.paginate.d.ts +0 -6
  289. package/lib/api/helpers/component-providers.d.ts +0 -2
  290. package/lib/api/helpers/keevo-validators.d.ts +0 -10
  291. package/lib/api/helpers/translate-primeng.d.ts +0 -4
  292. package/lib/api/models/menu/menu.model.d.ts +0 -10
  293. package/lib/api/models/menu/sistemamenu.model.d.ts +0 -8
  294. package/lib/api/modules/primeng.module.d.ts +0 -60
  295. package/lib/api/services/base.api.service.d.ts +0 -25
  296. package/lib/api/services/component.service.d.ts +0 -11
  297. package/lib/api/services/form.service.d.ts +0 -27
  298. package/lib/api/services/imagens.service.d.ts +0 -8
  299. package/lib/api/services/notification.service.d.ts +0 -25
  300. package/lib/api/services/object.service.d.ts +0 -8
  301. package/lib/buttons/button-personalize/button-personalize.component.d.ts +0 -7
  302. package/lib/buttons/button-popup/button-popup.component.d.ts +0 -13
  303. package/lib/buttons/button-secondary/button-secondary.component.d.ts +0 -7
  304. package/lib/buttons/button-success/button-success.component.d.ts +0 -7
  305. package/lib/buttons/kvbutton.module.d.ts +0 -11
  306. package/lib/chart/chart.component.d.ts +0 -56
  307. package/lib/chart/kvchart.module.d.ts +0 -10
  308. package/lib/directives/template.directive.d.ts +0 -11
  309. package/lib/inputs/check/check.component.d.ts +0 -11
  310. package/lib/inputs/dropdown/dropdown.component.d.ts +0 -14
  311. package/lib/inputs/editor/editor.component.d.ts +0 -39
  312. package/lib/inputs/input-calendar/input-calendar.component.d.ts +0 -27
  313. package/lib/inputs/input-mask/input-mask.component.d.ts +0 -10
  314. package/lib/inputs/input-number/input-number.component.d.ts +0 -19
  315. package/lib/inputs/input-password/input-password.component.d.ts +0 -13
  316. package/lib/inputs/input-text/input-text.component.d.ts +0 -9
  317. package/lib/inputs/input-text-checkbox/input-text-checkbox.component.d.ts +0 -15
  318. package/lib/inputs/input-textarea/input-textarea.component.d.ts +0 -16
  319. package/lib/inputs/input-time/input-time.component.d.ts +0 -10
  320. package/lib/inputs/kvinputs.module.d.ts +0 -25
  321. package/lib/inputs/multi-select/multi-select.component.d.ts +0 -12
  322. package/lib/inputs/radio-group/radio-group.component.d.ts +0 -18
  323. package/lib/inputs/switch/switch.component.d.ts +0 -13
  324. package/lib/keevo-components.module.d.ts +0 -19
  325. package/lib/label/label.component.d.ts +0 -7
  326. package/lib/label/label.module.d.ts +0 -8
  327. package/lib/loader/loader.component.d.ts +0 -10
  328. package/lib/loader/loader.module.d.ts +0 -9
  329. package/lib/loader/loader.service.d.ts +0 -10
  330. package/lib/login/kvlogin.module.d.ts +0 -13
  331. package/lib/login/login.component.d.ts +0 -30
  332. package/lib/menu/kvmenu.module.d.ts +0 -12
  333. package/lib/menu/menu.component.d.ts +0 -74
  334. package/lib/orgchart/orgchart.component.d.ts +0 -27
  335. package/lib/orgchart/orgchart.module.d.ts +0 -9
  336. package/lib/page-form/kv-page-form.module.d.ts +0 -11
  337. package/lib/page-form/page-form.component.d.ts +0 -69
  338. package/lib/picklist/kvpicklist.module.d.ts +0 -10
  339. package/lib/picklist/picklist.component.d.ts +0 -20
  340. package/lib/pipes/codigofile.pipe.d.ts +0 -7
  341. package/lib/pipes/cpfcnpj.pipe.d.ts +0 -7
  342. package/lib/pipes/pipes.module.d.ts +0 -10
  343. package/lib/pipes/telefone.pipe.d.ts +0 -7
  344. package/lib/table/kvtable.module.d.ts +0 -10
  345. package/lib/table/table.component.d.ts +0 -104
  346. package/lib/tree-table/kv-treetable.component.d.ts +0 -84
  347. package/lib/tree-table/kv-treetable.module.d.ts +0 -11
  348. package/lib/tree-view/kvtree-view.module.d.ts +0 -9
  349. package/lib/tree-view/tree-view.component.d.ts +0 -14
  350. package/lib/workspace/kvworkspace.module.d.ts +0 -13
  351. package/lib/workspace/workspace.component.d.ts +0 -28
@@ -0,0 +1,649 @@
1
+ <div>
2
+ <p-treeTable
3
+ #tt
4
+ *ngIf="config"
5
+ [value]="dataSource"
6
+ styleClass="p-datatable-sm"
7
+ [columns]="config.columns"
8
+ [(selection)]="selectedItems"
9
+ [scrollable]="true"
10
+ selectionMode="checkbox"
11
+ [showCurrentPageReport]="true"
12
+ currentPageReportTemplate="{first} - {last} de {totalRecords}"
13
+ [rowsPerPageOptions]="rowsPerPageOptions"
14
+ [showFirstLastIcon]="showFirstLastIcon"
15
+ [paginator]="paginator"
16
+ [rows]="rows"
17
+ [totalRecords]="tamanhoTotalTree"
18
+ [lazy]="config.lazy"
19
+ (onLazyLoad)="paginate($event)"
20
+ rowGroupMode="rowspan"
21
+ responsiveLayout="stack"
22
+ >
23
+ <ng-template pTemplate="caption" *ngIf="config.enableCation">
24
+ <div
25
+ class="flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12"
26
+ >
27
+ <div class="col-12 flex flex-column">
28
+ <div *ngIf="config.title" class="text-md font-bold my-3">
29
+ {{ config.title }}
30
+ </div>
31
+ <div *ngIf="config.subtitle" class="text-sm mb-4 font-medium">
32
+ {{ config.subtitle }}
33
+ </div>
34
+ </div>
35
+
36
+ <div
37
+ [class]="
38
+ tamanhoTela < 768
39
+ ? 'flex flex-row align-items-center col-10 md:col-6 lg:col-4 justify-content-center'
40
+ : 'flex flex-row align-items-center col-12 md:col-6 lg:col-4 justify-content-center input-search'
41
+ "
42
+ >
43
+ <span
44
+ *ngIf="config.enableFilter"
45
+ class="block mt-2 md:mt-0 p-input-icon-left text-align-center"
46
+ >
47
+ <i
48
+ class="material-symbols-outlined icon-search"
49
+ style="display: inline-block"
50
+ >
51
+ search
52
+ </i>
53
+
54
+ <input
55
+ pInputText
56
+ pAutoFocus
57
+ [autofocus]="true"
58
+ type="text"
59
+ (input)="onGlobalFilter(tt, $event)"
60
+ placeholder="Pesquisar..."
61
+ class="w-full mb-1"
62
+ style="height: 40px"
63
+ />
64
+ </span>
65
+
66
+ <div *ngIf="config.enableToggleNodes">
67
+ <button
68
+ (click)="toggleNodes()"
69
+ id="recolherExpandirBtn"
70
+ [pTooltip]="isExpanded ? 'Recolher Todos' : 'Expandir Todos'"
71
+ pButton
72
+ class="recolherExpandirBtn toggle p-button-raised p-button-text"
73
+ >
74
+ <span
75
+ class="pi"
76
+ [ngClass]="{
77
+ 'pi-chevron-down': isExpanded,
78
+ ' pi-chevron-right': !isExpanded
79
+ }"
80
+ >
81
+ </span>
82
+ </button>
83
+ </div>
84
+ </div>
85
+
86
+ <div class="flex flex-row col-1 justify-content-end">
87
+ <div *ngFor="let action of config.actionsLote" class="btns-options">
88
+ <button
89
+ id="actionLoteBtns"
90
+ pButton
91
+ *ngIf="
92
+ (selectedItems.length > 0 || action.showAcoesLote) &&
93
+ exibirCampo(action, this.action)
94
+ "
95
+ class="actionLoteBtns p-button-raised p-button-text"
96
+ (click)="action?.command(); activeItemLote(selectedItems)"
97
+ [pTooltip]="retornarCampo(action, selectedItems, 'tooltip')"
98
+ [tooltipPosition]="'bottom'"
99
+ [style.backgroundColor]="
100
+ retornarCampo(action, selectedItems, 'btnColor')
101
+ "
102
+ [disabled]="retornarCampo(action, selectedItems, 'disabled')"
103
+ >
104
+ <span
105
+ class="material-symbols-outlined md-22"
106
+ [style.color]="
107
+ retornarCampo(action, selectedItems, 'iconBtnColor')
108
+ "
109
+ >
110
+ {{ retornarCampo(action, selectedItems, "icon") }}
111
+ </span>
112
+ </button>
113
+ </div>
114
+ </div>
115
+ </div>
116
+ </ng-template>
117
+
118
+ <ng-template pTemplate="header" let-columns>
119
+ <tr>
120
+ <th
121
+ *ngFor="let col of columns; index as i"
122
+ [ttSortableColumn]="col.field"
123
+ [ttSortableColumnDisabled]="col.sortable === false"
124
+ class="text-sm"
125
+ [style.width]="col.width"
126
+ >
127
+ <div>
128
+ <div [ngClass]="{ flex: i == 0, 'gap-3': i == 0 }">
129
+ <div *ngIf="i == 0 && config.enableSelect">
130
+ <p-treeTableHeaderCheckbox
131
+ (click)="activeItemLote(selectedItems)"
132
+ ></p-treeTableHeaderCheckbox>
133
+ </div>
134
+
135
+ <div
136
+ [class]="
137
+ centralizarColunas(col) && alignColunasHeader(col) == ''
138
+ ? 'flex flex-row justify-content-center'
139
+ : 'flex flex-row'
140
+ "
141
+ [style]="alignColunasHeader(col)"
142
+ >
143
+ <span>{{ col.header }}</span>
144
+ <p-sortIcon
145
+ *ngIf="col.sortable === true"
146
+ [field]="col.field"
147
+ style="font-size: 10px"
148
+ ></p-sortIcon>
149
+
150
+ <span
151
+ *ngIf="col.headerTooltip"
152
+ class="material-symbols-outlined flex align-items-center"
153
+ [pTooltip]="col.headerTooltip"
154
+ >info</span
155
+ >
156
+ </div>
157
+ </div>
158
+ </div>
159
+ </th>
160
+ </tr>
161
+ </ng-template>
162
+
163
+ <ng-template
164
+ pTemplate="body"
165
+ let-rowNode
166
+ let-rowData="rowData"
167
+ let-columns="columns"
168
+ let-rowgroup="rowgroup"
169
+ let-rowspan="rowspan"
170
+ >
171
+
172
+ <tr
173
+ [ttRow]="rowNode"
174
+ *ngIf="rowNode.level == 0"
175
+ [style.height]="espacamentoPai"
176
+ ></tr>
177
+
178
+ <tr [ttRow]="rowNode" (dblclick)="doubleClick($event, rowData, rowNode)">
179
+ <ng-container *ngFor="let col of columns; index as i" >
180
+ <td
181
+ [style.width]="col.width"
182
+ [ngClass]="{ 'margem-filho': rowNode.level != 0 }"
183
+ *ngIf="rowgroup && !col.template"
184
+ [attr.rowspan]="rowgroup && col.grouped ? rowspan : null"
185
+ class="rowTable"
186
+ [style]="
187
+ applyStyle(rowData, col) +
188
+ centralizarColunas(col) +
189
+ alignColunas(col)
190
+ "
191
+ >
192
+ <div
193
+ class="w-full-h-full flex"
194
+ [style]="centralizarColunas(col)"
195
+ [ngClass]="{ 'justify-content-between': i == columns.length - 1 }"
196
+ >
197
+ <div class="w-full-h-full flex align-items-center" *ngIf="i == 0">
198
+ <p-treeTableCheckbox
199
+ [disabled]="isDisabledCheckbox(rowData, rowNode)"
200
+ (click)="activeItemLote(selectedItems)"
201
+ [value]="rowNode"
202
+ *ngIf="config.enableSelect == true"
203
+ ></p-treeTableCheckbox>
204
+
205
+ <p-treeTableToggler
206
+ [rowNode]="rowNode"
207
+ *ngIf="!rightCollapse"
208
+ ></p-treeTableToggler>
209
+ <p-treeTableToggler
210
+ class="hiddenVisible"
211
+ [rowNode]="rowNode"
212
+ *ngIf="rightCollapse"
213
+ ></p-treeTableToggler>
214
+ </div>
215
+
216
+ <span
217
+ *ngIf="!isBooleanField(rowData, col); else booleanField"
218
+ [class]="returnRowClass(rowData, col)"
219
+ >
220
+ <span
221
+ *ngIf="
222
+ !isChipField(col) && !col.iconField && !isImageField(col)
223
+ "
224
+ >
225
+ <i *ngIf="col.icon" [class]="col.icon + ' mr-2'"></i>
226
+ {{ transformValue(rowData, col) }}
227
+ </span>
228
+
229
+ <div *ngIf="isChipField(col) && !col.iconField">
230
+ <span
231
+ [class]="returnClassChip(rowData, col)"
232
+ [pTooltip]="returnTooltipIcon(rowData, col)"
233
+ >{{ transformValue(rowData, col) }}</span
234
+ >
235
+ </div>
236
+ </span>
237
+
238
+ <span *ngIf="isImageField(col)">
239
+ <span>
240
+ <img class="image" [src]="loadImage(rowData, col)" />
241
+ </span>
242
+ </span>
243
+
244
+ <i
245
+ *ngIf="col.iconField"
246
+ [ngClass]="{
247
+ 'material-icons': col.indIconMaterial,
248
+ 'material-symbols-outlined mr-2': !col.indIconMaterial
249
+ }"
250
+ [pTooltip]="returnTooltipIcon(rowData, col)"
251
+ >
252
+ {{ returnClassIcon(rowData, col) }}
253
+ </i>
254
+
255
+ <ng-template #booleanField>
256
+ <i
257
+ *ngIf="!col.iconField"
258
+ [ngClass]="
259
+ rowData[col.field] ? 'text-green-500' : 'text-red-500'
260
+ "
261
+ ><span class="material-symbols-outlined">
262
+ {{ rowData[col.field] ? "check" : "close" }}
263
+ </span>
264
+ </i>
265
+ </ng-template>
266
+
267
+ <div
268
+ class="w-full-h-full flex"
269
+ *ngIf="
270
+ i == columns.length - 1 &&
271
+ config.actions &&
272
+ config.actions.length > 0
273
+ "
274
+ [style]="
275
+ applyStyle(rowData, { field: 'btns-options', header: '' })
276
+ "
277
+ >
278
+ <div
279
+ class="flex flex-row justify-content-end w-full"
280
+ *ngIf="acoesLinhaTabela"
281
+ >
282
+ <div *ngFor="let action of config.actions">
283
+ <button
284
+ id="actionBtns"
285
+ pButton
286
+ *ngIf="exibirCampo(action, rowData)"
287
+ class="actionBtns p-button-text p-button-raised"
288
+ (click)="activeItem(rowData, rowNode); action?.command()"
289
+ [pTooltip]="retornarCampo(action, rowData, 'tooltip')"
290
+ [tooltipPosition]="'bottom'"
291
+ [disabled]="callDisabled(action, rowData)"
292
+ >
293
+ <span class="material-symbols-outlined md-19">
294
+ {{ retornarCampo(action, rowData, "icon") }}</span
295
+ >
296
+ </button>
297
+ </div>
298
+ </div>
299
+ <div
300
+ class="flex flex-row justify-content-end w-full"
301
+ *ngIf="!acoesLinhaTabela"
302
+ >
303
+ <button
304
+ id="moreVertBtn"
305
+ pButton
306
+ class="actionBtns p-button-text p-button-raised"
307
+ (click)="menu.toggle($event); activeItem(rowData, rowNode)"
308
+ >
309
+ <span
310
+ class="material-symbols-outlined"
311
+ style="font-size: 20px"
312
+ >
313
+ more_horiz
314
+ </span>
315
+ </button>
316
+
317
+ <div *ngFor="let action of config.actions">
318
+ {{ criarMenusModal(rowData, rowNode) }}
319
+ </div>
320
+
321
+ <!-- <div *ngFor="let action of config.actions">
322
+ {{ criarMenusModal(rowData) }}
323
+ </div> -->
324
+
325
+ <p-menu
326
+ #menu
327
+ [popup]="true"
328
+ [model]="menuItems"
329
+ appendTo="body"
330
+ ></p-menu>
331
+ </div>
332
+ </div>
333
+ </div>
334
+ </td>
335
+
336
+ <td
337
+ [style.width]="col.width"
338
+ [ngClass]="{
339
+ 'margem-filho': rowNode.level != 0,
340
+ 'justify-content-between': i == columns.length - 1
341
+ }"
342
+ *ngIf="!rowgroup && !col.grouped && !col.template"
343
+ [style]="
344
+ applyStyle(rowData, col) +
345
+ centralizarColunas(col) +
346
+ alignColunas(col)
347
+ "
348
+ class="rowTable"
349
+ >
350
+ <div
351
+ class="w-full-h-full flex justify-content-between"
352
+ [ngClass]="{ 'justify-content-between': i == columns.length - 1 }"
353
+ >
354
+ <!-- Toggle -->
355
+ <div class="w-full-h-full flex align-items-center d-toggle" *ngIf="i == 0">
356
+ <p-treeTableCheckbox
357
+ [disabled]="isDisabledCheckbox(rowData, rowNode)"
358
+ (click)="activeItemLote(selectedItems)"
359
+ [value]="rowNode"
360
+ *ngIf="config.enableSelect == true"
361
+ ></p-treeTableCheckbox>
362
+
363
+ <p-treeTableToggler
364
+ [rowNode]="rowNode"
365
+ *ngIf="!rightCollapse"
366
+ ></p-treeTableToggler>
367
+ <p-treeTableToggler
368
+ class="hiddenVisible"
369
+ [rowNode]="rowNode"
370
+ *ngIf="rightCollapse"
371
+ ></p-treeTableToggler>
372
+ </div>
373
+
374
+ <!-- Texto -->
375
+ <div
376
+ class="w-full flex align-items-center"
377
+ [style]="centralizarColunas(col)"
378
+ >
379
+ <span
380
+ *ngIf="!isBooleanField(rowData, col); else booleanField"
381
+ [class]="returnRowClass(rowData, col)"
382
+ >
383
+ <span
384
+ *ngIf="
385
+ !isChipField(col) && !col.iconField && !isImageField(col)
386
+ "
387
+ >
388
+ <i *ngIf="col.icon" [class]="col.icon + ' mr-2'"></i>
389
+ {{ transformValue(rowData, col) }}
390
+ </span>
391
+
392
+ <div *ngIf="isChipField(col) && !col.iconField">
393
+ <span
394
+ [class]="returnClassChip(rowData, col)"
395
+ [pTooltip]="returnTooltipIcon(rowData, col)"
396
+ >
397
+ {{ transformValue(rowData, col) }}</span
398
+ >
399
+ </div>
400
+ </span>
401
+
402
+ <span *ngIf="isImageField(col)">
403
+ <span>
404
+ <img class="image" [src]="loadImage(rowData, col)" />
405
+ </span>
406
+ </span>
407
+
408
+ <i
409
+ *ngIf="col.iconField"
410
+ [ngClass]="{
411
+ 'material-icons': col.indIconMaterial,
412
+ 'material-symbols-outlined mr-2': !col.indIconMaterial
413
+ }"
414
+ [pTooltip]="returnTooltipIcon(rowData, col)"
415
+ >
416
+ {{ returnClassIcon(rowData, col) }}
417
+ </i>
418
+
419
+ <ng-template #booleanField>
420
+ <i
421
+ *ngIf="!col.iconField"
422
+ [ngClass]="
423
+ rowData[col.field] ? 'text-green-500' : 'text-red-500'
424
+ "
425
+ ><span class="material-symbols-outlined">
426
+ {{ rowData[col.field] ? "check" : "close" }}
427
+ </span>
428
+ </i>
429
+ </ng-template>
430
+ </div>
431
+
432
+ <!-- Botao de ação -->
433
+ <div
434
+ class="w-full-h-full flex"
435
+ *ngIf="
436
+ i == columns.length - 1 &&
437
+ config.actions &&
438
+ config.actions.length > 0
439
+ "
440
+ [style]="
441
+ applyStyle(rowData, { field: 'btns-options', header: '' })
442
+ "
443
+ >
444
+ <div
445
+ class="flex flex-row justify-content-end w-full"
446
+ *ngIf="acoesLinhaTabela"
447
+ >
448
+ <div *ngFor="let action of config.actions">
449
+ <button
450
+ id="actionBtns"
451
+ pButton
452
+ *ngIf="exibirCampo(action, rowData)"
453
+ class="actionBtns p-button-text p-button-raised"
454
+ (click)="activeItem(rowData, rowNode); action?.command()"
455
+ [pTooltip]="retornarCampo(action, rowData, 'tooltip')"
456
+ [tooltipPosition]="'bottom'"
457
+ [disabled]="callDisabled(action, rowData)"
458
+ >
459
+ <span class="material-symbols-outlined md-19">
460
+ {{ retornarCampo(action, rowData, "icon") }}</span
461
+ >
462
+ </button>
463
+ </div>
464
+ </div>
465
+ <div
466
+ class="flex flex-row justify-content-end w-full"
467
+ *ngIf="!acoesLinhaTabela"
468
+ >
469
+ <button
470
+ id="moreVertBtn"
471
+ pButton
472
+ class="actionBtns p-button-text p-button-raised"
473
+ (click)="menu.toggle($event); activeItem(rowData, rowNode)"
474
+ >
475
+ <span
476
+ class="material-symbols-outlined"
477
+ style="font-size: 20px"
478
+ >
479
+ more_horiz
480
+ </span>
481
+ </button>
482
+
483
+ <div *ngFor="let action of config.actions">
484
+ {{ criarMenusModal(rowData, rowNode) }}
485
+ </div>
486
+
487
+ <!-- <div *ngFor="let action of config.actions">
488
+ {{ criarMenusModal(rowData) }}
489
+ </div> -->
490
+
491
+ <p-menu
492
+ #menu
493
+ [popup]="true"
494
+ [model]="menuItems"
495
+ appendTo="body"
496
+ ></p-menu>
497
+ </div>
498
+ </div>
499
+ </div>
500
+ </td>
501
+
502
+ <td
503
+ [style.width]="col.width"
504
+ [ngClass]="{
505
+ 'margem-filho': rowNode.level != 0,
506
+ 'justify-content-between': i == columns.length - 1
507
+ }"
508
+ *ngIf="col.template"
509
+ [style]="
510
+ applyStyle(rowData, col) +
511
+ centralizarColunas(col) +
512
+ alignColunas(col)
513
+ "
514
+ class="rowTable"
515
+ >
516
+ <div class="flex" [style]="centralizarColunas(col)">
517
+ <div class="w-full-h-full flex align-items-center" *ngIf="i == 0">
518
+ <p-treeTableCheckbox
519
+ [disabled]="isDisabledCheckbox(rowData, rowNode)"
520
+ (click)="activeItemLote(selectedItems)"
521
+ [value]="rowNode"
522
+ *ngIf="config.enableSelect == true"
523
+ ></p-treeTableCheckbox>
524
+
525
+ <p-treeTableToggler
526
+ [rowNode]="rowNode"
527
+ *ngIf="!rightCollapse"
528
+ ></p-treeTableToggler>
529
+ <p-treeTableToggler
530
+ class="hiddenVisible"
531
+ [rowNode]="rowNode"
532
+ *ngIf="rightCollapse"
533
+ ></p-treeTableToggler>
534
+ </div>
535
+ <ng-container
536
+ *ngIf="getCustomTemplate(col.template.name)"
537
+ [ngTemplateOutlet]="getCustomTemplate(col.template.name)"
538
+ [ngTemplateOutletContext]="{ $implicit: rowData }"
539
+ >
540
+ </ng-container>
541
+
542
+ <div
543
+ class="w-full-h-full flex"
544
+ *ngIf="
545
+ i == columns.length - 1 &&
546
+ config.actions &&
547
+ config.actions.length > 0
548
+ "
549
+ [style]="
550
+ applyStyle(rowData, { field: 'btns-options', header: '' })
551
+ "
552
+ >
553
+ <div
554
+ class="flex flex-row justify-content-end w-full"
555
+ *ngIf="acoesLinhaTabela"
556
+ >
557
+ <div *ngFor="let action of config.actions">
558
+ <button
559
+ id="actionBtns"
560
+ pButton
561
+ *ngIf="exibirCampo(action, rowData)"
562
+ class="actionBtns p-button-text p-button-raised"
563
+ (click)="activeItem(rowData, rowNode); action?.command()"
564
+ [pTooltip]="retornarCampo(action, rowData, 'tooltip')"
565
+ [tooltipPosition]="'bottom'"
566
+ [disabled]="callDisabled(action, rowData)"
567
+ >
568
+ <span class="material-symbols-outlined md-19">
569
+ {{ retornarCampo(action, rowData, "icon") }}</span
570
+ >
571
+ </button>
572
+ </div>
573
+ </div>
574
+ <div
575
+ class="flex flex-row justify-content-end w-full"
576
+ *ngIf="!acoesLinhaTabela"
577
+ >
578
+ <button
579
+ id="moreVertBtn"
580
+ pButton
581
+ class="actionBtns p-button-text p-button-raised"
582
+ (click)="menu.toggle($event); activeItem(rowData, rowNode)"
583
+ >
584
+ <span
585
+ class="material-symbols-outlined"
586
+ style="font-size: 20px"
587
+ >
588
+ more_horiz
589
+ </span>
590
+ </button>
591
+
592
+ <div *ngFor="let action of config.actions">
593
+ {{ criarMenusModal(rowData, rowNode) }}
594
+ </div>
595
+
596
+ <!-- <div *ngFor="let action of config.actions">
597
+ {{ criarMenusModal(rowData) }}
598
+ </div> -->
599
+
600
+ <p-menu
601
+ #menu
602
+ [popup]="true"
603
+ [model]="menuItems"
604
+ appendTo="body"
605
+ ></p-menu>
606
+ </div>
607
+ </div>
608
+ </div>
609
+ </td>
610
+
611
+ </ng-container>
612
+ </tr>
613
+
614
+ </ng-template>
615
+
616
+ <!-- :: Hotfix do bug da versão 15 do primeng, ao retirar esse bloco de codigo na versão 15 do primeng os icones de prev e next do paginator irão sumir ( resolvido na versão 16.0) :: -->
617
+
618
+ <ng-template pTemplate="paginatorfirstpagelinkicon">
619
+ <span class="pi pi-angle-double-left"></span>
620
+ </ng-template>
621
+ <ng-template pTemplate="paginatorpreviouspagelinkicon">
622
+ <span class="pi pi-angle-left"></span>
623
+ </ng-template>
624
+ <ng-template pTemplate="paginatornextpagelinkicon">
625
+ <span class="pi pi-angle-right"></span>
626
+ </ng-template>
627
+ <ng-template pTemplate="paginatorlastpagelinkicon">
628
+ <span class="pi pi-angle-double-right"></span>
629
+ </ng-template>
630
+
631
+ <ng-template pTemplate="emptymessage" let-columns>
632
+ <tr>
633
+ <td [attr.colspan]="columns.length + 2" style="text-align: center">
634
+ Nenhum registro encontrado
635
+ </td>
636
+ </tr>
637
+ </ng-template>
638
+ </p-treeTable>
639
+ </div>
640
+
641
+ <link
642
+ rel="stylesheet"
643
+ href="https://fonts.googleapis.com/icon?family=Material+Icons"
644
+ />
645
+
646
+ <link
647
+ rel="stylesheet"
648
+ href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0"
649
+ />