@gipisistemas/ngx-core 1.0.1

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 (286) hide show
  1. package/README.md +169 -0
  2. package/animations/fly-in-out.animation.d.ts +24 -0
  3. package/animations/index.d.ts +2 -0
  4. package/animations/rotate.animation.d.ts +35 -0
  5. package/base/components/base-form-dialog.component.d.ts +47 -0
  6. package/base/components/base-form.component.d.ts +54 -0
  7. package/base/components/base-list-dialog.component.d.ts +69 -0
  8. package/base/components/base-list.component.d.ts +77 -0
  9. package/base/components/base.component.d.ts +62 -0
  10. package/base/index.d.ts +20 -0
  11. package/base/models/base-applied-filter.model.d.ts +8 -0
  12. package/base/models/base-authority.model.d.ts +6 -0
  13. package/base/models/base-filter.model.d.ts +16 -0
  14. package/base/models/base-form-dialog-data.model.d.ts +11 -0
  15. package/base/models/base-list-dialog-data.model.d.ts +10 -0
  16. package/base/models/base-menu.model.d.ts +25 -0
  17. package/base/models/base-page.model.d.ts +11 -0
  18. package/base/models/base-query-params.model.d.ts +12 -0
  19. package/base/models/base-sort.model.d.ts +8 -0
  20. package/base/models/base-token.model.d.ts +11 -0
  21. package/base/models/base-user.model.d.ts +18 -0
  22. package/base/models/base.model.d.ts +20 -0
  23. package/base/services/base-auth.service.d.ts +31 -0
  24. package/base/services/base-crud.service.d.ts +178 -0
  25. package/base/services/base.service.d.ts +97 -0
  26. package/components/action-row/action-row.component.d.ts +8 -0
  27. package/components/action-row/action-row.component.scss +26 -0
  28. package/components/action-row/index.d.ts +1 -0
  29. package/components/auto-focus/auto-focus.directive.d.ts +17 -0
  30. package/components/auto-focus/index.d.ts +1 -0
  31. package/components/avatar/avatar.component.d.ts +23 -0
  32. package/components/avatar/avatar.component.scss +155 -0
  33. package/components/avatar/index.d.ts +1 -0
  34. package/components/button/button.component.d.ts +74 -0
  35. package/components/button/button.component.scss +196 -0
  36. package/components/button/index.d.ts +1 -0
  37. package/components/button-group/button-group.component.d.ts +39 -0
  38. package/components/button-group/button-group.component.scss +89 -0
  39. package/components/button-group/index.d.ts +2 -0
  40. package/components/button-group/shared/button-group-option.model.d.ts +6 -0
  41. package/components/checkbox/checkbox.component.d.ts +74 -0
  42. package/components/checkbox/checkbox.component.scss +147 -0
  43. package/components/checkbox/index.d.ts +1 -0
  44. package/components/chips/chips.component.d.ts +46 -0
  45. package/components/chips/chips.component.scss +127 -0
  46. package/components/chips/index.d.ts +1 -0
  47. package/components/confirm-dialog/confirm-dialog.component.d.ts +17 -0
  48. package/components/confirm-dialog/confirm-dialog.component.scss +121 -0
  49. package/components/confirm-dialog/index.d.ts +4 -0
  50. package/components/confirm-dialog/shared/confirm-dialog-types.enum.d.ts +7 -0
  51. package/components/confirm-dialog/shared/confirm-dialog.model.d.ts +25 -0
  52. package/components/confirm-dialog/shared/confirm-dialog.service.d.ts +17 -0
  53. package/components/date-picker/date-picker.component.d.ts +55 -0
  54. package/components/date-picker/date-picker.component.scss +27 -0
  55. package/components/date-picker/index.d.ts +1 -0
  56. package/components/date-range-picker/date-range-picker.component.d.ts +66 -0
  57. package/components/date-range-picker/date-range-picker.component.scss +89 -0
  58. package/components/date-range-picker/index.d.ts +6 -0
  59. package/components/date-range-picker/shared/calendar/calendar.component.d.ts +27 -0
  60. package/components/date-range-picker/shared/calendar/calendar.component.scss +13 -0
  61. package/components/date-range-picker/shared/default-preset-date-options.d.ts +2 -0
  62. package/components/date-range-picker/shared/preset-key.enum.d.ts +11 -0
  63. package/components/date-range-picker/shared/range-selection-strategy.service.d.ts +11 -0
  64. package/components/date-range-picker/shared/select-date-option.interface.d.ts +32 -0
  65. package/components/date-range-picker/shared/selected-date-event.interface.d.ts +6 -0
  66. package/components/datetime-picker/datetime-picker.component.d.ts +68 -0
  67. package/components/datetime-picker/datetime-picker.component.scss +28 -0
  68. package/components/datetime-picker/index.d.ts +3 -0
  69. package/components/datetime-picker/shared/datetime-picker-intl.d.ts +29 -0
  70. package/components/datetime-picker/shared/moment-datetime-formats.d.ts +2 -0
  71. package/components/disable-auto-fill/disable-auto-fill.directive.d.ts +11 -0
  72. package/components/disable-auto-fill/index.d.ts +1 -0
  73. package/components/echarts/echarts.directive.d.ts +100 -0
  74. package/components/echarts/index.d.ts +4 -0
  75. package/components/echarts/shared/echarts-change-filter.d.ts +11 -0
  76. package/components/echarts/shared/echarts-config.interface.d.ts +5 -0
  77. package/components/echarts/shared/echarts-theme.type.d.ts +1 -0
  78. package/components/empty/empty.component.d.ts +13 -0
  79. package/components/empty/empty.component.scss +36 -0
  80. package/components/empty/index.d.ts +1 -0
  81. package/components/expansion-panel/expansion-panel.component.d.ts +36 -0
  82. package/components/expansion-panel/expansion-panel.component.scss +99 -0
  83. package/components/expansion-panel/index.d.ts +1 -0
  84. package/components/field-error/field-error.component.d.ts +95 -0
  85. package/components/field-error/field-error.component.scss +7 -0
  86. package/components/field-error/index.d.ts +2 -0
  87. package/components/field-error/shared/field-error-custom-validators.type.d.ts +2 -0
  88. package/components/flex-layout/flex-layout.directive.d.ts +44 -0
  89. package/components/flex-layout/index.d.ts +1 -0
  90. package/components/form-wrapper/form-wrapper.component.d.ts +15 -0
  91. package/components/form-wrapper/form-wrapper.component.scss +121 -0
  92. package/components/form-wrapper/index.d.ts +1 -0
  93. package/components/helpful-tip/helpful-tip.component.d.ts +11 -0
  94. package/components/helpful-tip/helpful-tip.component.scss +14 -0
  95. package/components/helpful-tip/index.d.ts +1 -0
  96. package/components/icon/icon.component.d.ts +61 -0
  97. package/components/icon/icon.component.scss +29 -0
  98. package/components/icon/index.d.ts +1 -0
  99. package/components/index.d.ts +46 -0
  100. package/components/input/index.d.ts +4 -0
  101. package/components/input/input.component.d.ts +81 -0
  102. package/components/input/input.component.scss +27 -0
  103. package/components/input/shared/input-prefix.directive.d.ts +5 -0
  104. package/components/input/shared/input-suffix.directive.d.ts +5 -0
  105. package/components/input/shared/input.directive.d.ts +26 -0
  106. package/components/input-currency/index.d.ts +1 -0
  107. package/components/input-currency/input-currency.component.d.ts +64 -0
  108. package/components/input-currency/input-currency.component.scss +27 -0
  109. package/components/input-group/index.d.ts +2 -0
  110. package/components/input-group/input-group-addon.component.d.ts +8 -0
  111. package/components/input-group/input-group.component.d.ts +14 -0
  112. package/components/input-group/input-group.component.scss +118 -0
  113. package/components/input-phone/index.d.ts +1 -0
  114. package/components/input-phone/input-phone.component.d.ts +62 -0
  115. package/components/input-phone/input-phone.component.scss +27 -0
  116. package/components/loading/index.d.ts +1 -0
  117. package/components/loading/loading.component.d.ts +13 -0
  118. package/components/loading/loading.component.scss +145 -0
  119. package/components/lozenge/index.d.ts +3 -0
  120. package/components/lozenge/lozenge.component.d.ts +20 -0
  121. package/components/lozenge/lozenge.component.scss +99 -0
  122. package/components/lozenge/shared/lozenge-fill.type.d.ts +4 -0
  123. package/components/lozenge/shared/lozenge-variant.type.d.ts +1 -0
  124. package/components/password-requeriments/index.d.ts +3 -0
  125. package/components/password-requeriments/password-requeriments.component.d.ts +27 -0
  126. package/components/password-requeriments/password-requeriments.component.scss +53 -0
  127. package/components/password-requeriments/shared/password-requeriments.interface.d.ts +5 -0
  128. package/components/password-requeriments/shared/password-validation.util.d.ts +71 -0
  129. package/components/popover/index.d.ts +4 -0
  130. package/components/popover/popover-target.directive.d.ts +8 -0
  131. package/components/popover/popover-trigger.directive.d.ts +135 -0
  132. package/components/popover/popover.component.d.ts +121 -0
  133. package/components/popover/popover.component.scss +26 -0
  134. package/components/popover/popover.module.d.ts +9 -0
  135. package/components/popover/shared/popover-animations.d.ts +14 -0
  136. package/components/popover/shared/popover-errors.d.ts +14 -0
  137. package/components/popover/shared/popover-types.type.d.ts +4 -0
  138. package/components/popover/shared/popover.interface.d.ts +24 -0
  139. package/components/radio-button/radio-button.component.scss +0 -0
  140. package/components/radio-group/index.d.ts +2 -0
  141. package/components/radio-group/radio-group.component.d.ts +57 -0
  142. package/components/radio-group/radio-group.component.scss +69 -0
  143. package/components/radio-group/shared/option-radio-group.type.d.ts +1 -0
  144. package/components/scroll-fade/index.d.ts +1 -0
  145. package/components/scroll-fade/scroll-fade.directive.d.ts +24 -0
  146. package/components/select/index.d.ts +4 -0
  147. package/components/select/select.component.d.ts +85 -0
  148. package/components/select/select.component.scss +52 -0
  149. package/components/select/shared/mat-select-media-tracker.d.ts +15 -0
  150. package/components/select/shared/mat-select-options-helper.d.ts +6 -0
  151. package/components/select/shared/mat-select-styles.scss +429 -0
  152. package/components/select/shared/mat-select.directive.d.ts +127 -0
  153. package/components/select-enum/index.d.ts +3 -0
  154. package/components/select-enum/select-enum.component.d.ts +65 -0
  155. package/components/select-enum/select-enum.component.scss +41 -0
  156. package/components/select-enum/shared/option-select-enum.type.d.ts +6 -0
  157. package/components/select-enum/shared/select-check-all.component.d.ts +15 -0
  158. package/components/sidenav/index.d.ts +1 -0
  159. package/components/sidenav/shared/sidenav-arrow-animations.d.ts +1 -0
  160. package/components/sidenav/sidenav.component.d.ts +47 -0
  161. package/components/sidenav/sidenav.component.scss +187 -0
  162. package/components/skeleton/index.d.ts +1 -0
  163. package/components/skeleton/skeleton.component.d.ts +37 -0
  164. package/components/skeleton/skeleton.component.scss +76 -0
  165. package/components/stepper/index.d.ts +2 -0
  166. package/components/stepper/step.component.d.ts +24 -0
  167. package/components/stepper/stepper.component.d.ts +20 -0
  168. package/components/stepper/stepper.component.scss +120 -0
  169. package/components/table/index.d.ts +9 -0
  170. package/components/table/shared/table-column-action-type.enum.d.ts +1 -0
  171. package/components/table/shared/table-column-align-type.enum.d.ts +6 -0
  172. package/components/table/shared/table-column-builder.model.d.ts +109 -0
  173. package/components/table/shared/table-column-condition.enum.d.ts +2 -0
  174. package/components/table/shared/table-column-partial.model.d.ts +6 -0
  175. package/components/table/shared/table-column.model.d.ts +80 -0
  176. package/components/table/shared/table-menu-item-context-builder.model.d.ts +61 -0
  177. package/components/table/shared/table-menu-item-context.model.d.ts +45 -0
  178. package/components/table/table.component.d.ts +184 -0
  179. package/components/table/table.component.scss +255 -0
  180. package/components/tabs/index.d.ts +2 -0
  181. package/components/tabs/tab-group.component.d.ts +24 -0
  182. package/components/tabs/tab.component.d.ts +30 -0
  183. package/components/tabs/tabs.component.scss +170 -0
  184. package/components/tag/index.d.ts +1 -0
  185. package/components/tag/tag.component.d.ts +26 -0
  186. package/components/tag/tag.component.scss +78 -0
  187. package/components/text-ellipsis/index.d.ts +1 -0
  188. package/components/text-ellipsis/text-ellipsis.directive.d.ts +15 -0
  189. package/components/textarea/index.d.ts +1 -0
  190. package/components/textarea/textarea.component.d.ts +72 -0
  191. package/components/textarea/textarea.component.scss +31 -0
  192. package/components/toast/index.d.ts +4 -0
  193. package/components/toast/shared/toast-types.enum.d.ts +7 -0
  194. package/components/toast/shared/toast.model.d.ts +7 -0
  195. package/components/toast/shared/toast.service.d.ts +12 -0
  196. package/components/toast/toast.component.d.ts +18 -0
  197. package/components/toast/toast.component.scss +135 -0
  198. package/components/toggle-switch/index.d.ts +1 -0
  199. package/components/toggle-switch/toggle-switch.component.d.ts +49 -0
  200. package/components/toggle-switch/toggle-switch.component.scss +105 -0
  201. package/components/toolbar/index.d.ts +1 -0
  202. package/components/toolbar/toolbar.component.d.ts +9 -0
  203. package/components/toolbar/toolbar.component.scss +22 -0
  204. package/components/top-nav/index.d.ts +1 -0
  205. package/components/top-nav/top-nav.component.d.ts +9 -0
  206. package/components/top-nav/top-nav.component.scss +18 -0
  207. package/components/tree-table/index.d.ts +8 -0
  208. package/components/tree-table/shared/tree-table-arrow-animations.d.ts +1 -0
  209. package/components/tree-table/shared/tree-table-column-builder.model.d.ts +55 -0
  210. package/components/tree-table/shared/tree-table-column-condition.enum.d.ts +2 -0
  211. package/components/tree-table/shared/tree-table-column-partial.model.d.ts +6 -0
  212. package/components/tree-table/shared/tree-table-column.model.d.ts +40 -0
  213. package/components/tree-table/shared/tree-table-menu-item-context-builder.model.d.ts +61 -0
  214. package/components/tree-table/shared/tree-table-menu-item-context.model.d.ts +45 -0
  215. package/components/tree-table/tree-table.component.d.ts +91 -0
  216. package/components/tree-table/tree-table.component.scss +216 -0
  217. package/components/user-profile/index.d.ts +1 -0
  218. package/components/user-profile/shared/user-profile-arrow-animations.d.ts +1 -0
  219. package/components/user-profile/user-profile.component.d.ts +28 -0
  220. package/components/user-profile/user-profile.component.scss +76 -0
  221. package/decorators/debounce.decorator.d.ts +33 -0
  222. package/decorators/index.d.ts +1 -0
  223. package/enums/index.d.ts +3 -0
  224. package/enums/menu-type.enum.d.ts +6 -0
  225. package/enums/sort-direction.enum.d.ts +5 -0
  226. package/enums/type-operation-dialog.enum.d.ts +12 -0
  227. package/fesm2022/gipisistemas-ngx-core.mjs +19132 -0
  228. package/fesm2022/gipisistemas-ngx-core.mjs.map +1 -0
  229. package/guards/auth.guard.d.ts +3 -0
  230. package/guards/index.d.ts +2 -0
  231. package/guards/public.guard.d.ts +3 -0
  232. package/index.d.ts +5 -0
  233. package/interceptors/auth.interceptor.d.ts +2 -0
  234. package/interceptors/error.interceptor.d.ts +13 -0
  235. package/interceptors/index.d.ts +2 -0
  236. package/interfaces/index.d.ts +1 -0
  237. package/interfaces/permissions.interface.d.ts +10 -0
  238. package/package.json +59 -0
  239. package/pipes/index.d.ts +1 -0
  240. package/pipes/money.pipe.d.ts +20 -0
  241. package/public-api.d.ts +13 -0
  242. package/services/cacheable.service.d.ts +41 -0
  243. package/services/dialog.service.d.ts +65 -0
  244. package/services/file-saver.service.d.ts +11 -0
  245. package/services/filter-indexed-db.service.d.ts +100 -0
  246. package/services/filter-url.service.d.ts +81 -0
  247. package/services/index.d.ts +8 -0
  248. package/services/moment-date-adapter.service.d.ts +8 -0
  249. package/services/native-date-adapter.service.d.ts +8 -0
  250. package/services/svg-register.service.d.ts +33 -0
  251. package/theming/_breakpoints.scss +20 -0
  252. package/theming/_index.scss +19 -0
  253. package/theming/_palettes.scss +112 -0
  254. package/theming/_theme.scss +189 -0
  255. package/theming/_utils.scss +1424 -0
  256. package/tokens/allowed-public-routes.token.d.ts +26 -0
  257. package/tokens/app-messages.token.d.ts +13 -0
  258. package/tokens/base-auth-service.token.d.ts +5 -0
  259. package/tokens/echarts-core.token.d.ts +4 -0
  260. package/tokens/index.d.ts +6 -0
  261. package/tokens/ngx-currency-options.token.d.ts +5 -0
  262. package/tokens/paginator-intl.token.d.ts +5 -0
  263. package/types/booleanish.type.d.ts +1 -0
  264. package/types/implicit-template.type.d.ts +4 -0
  265. package/types/index.d.ts +8 -0
  266. package/types/mixable-object.type.d.ts +1 -0
  267. package/types/nullable.type.d.ts +1 -0
  268. package/types/numberish.type.d.ts +1 -0
  269. package/types/page-event.type.d.ts +6 -0
  270. package/types/uuid.type.d.ts +1 -0
  271. package/types/void-listener.type.d.ts +1 -0
  272. package/utils/array.util.d.ts +13 -0
  273. package/utils/css.util.d.ts +12 -0
  274. package/utils/currency.util.d.ts +83 -0
  275. package/utils/date.util.d.ts +166 -0
  276. package/utils/document.util.d.ts +126 -0
  277. package/utils/email.util.d.ts +19 -0
  278. package/utils/index.d.ts +14 -0
  279. package/utils/number-to-words.util.d.ts +17 -0
  280. package/utils/number.util.d.ts +40 -0
  281. package/utils/object.util.d.ts +83 -0
  282. package/utils/phone.util.d.ts +103 -0
  283. package/utils/states.util.d.ts +182 -0
  284. package/utils/storage.util.d.ts +78 -0
  285. package/utils/string.util.d.ts +89 -0
  286. package/utils/uuid.util.d.ts +33 -0
package/README.md ADDED
@@ -0,0 +1,169 @@
1
+ # GIPI - ngx-core
2
+
3
+ Este projeto foi gerado utilizando o [Angular CLI](https://github.com/angular/angular-cli) - _versão `19.2.0`_.
4
+
5
+ ## 📝 Sobre
6
+
7
+ A biblioteca `ngx-core` fornece utilitários, temas e componentes reutilizáveis para projetos Angular, facilitando o desenvolvimento de interfaces consistentes e responsivas.
8
+
9
+ ## 🧩 Pré-requisitos
10
+
11
+ - [Node](https://nodejs.org/en/download) - _vesão `^18.19.1 || ^20.11.1 || ^22.0.0`._
12
+ - [Angular](https://angular.dev/) - _versão `^19.2.0`._
13
+ - [Angular Material](https://material.angular.io/) - _versão `^19.2.0`_.
14
+ - [Extenso](https://github.com/lusofonia/extenso.js) - _versão `^2.1.0`_.
15
+ - [Moment-timezone](https://momentjs.com/timezone/) - _versão `^0.5.47`_.
16
+
17
+ ## ⚠️ Estrutura de Commits (Conventional Commits)
18
+
19
+ Este projeto utiliza **Semantic Release** para gerar versões automaticamente.
20
+ A versão (`patch`, `minor`, `major`) é definida de acordo com o **tipo do commit**.
21
+
22
+ ### 🔑 Regras principais
23
+ - **fix:** incrementa **patch** → `1.0.0 → 1.0.1`
24
+ - **feat:** incrementa **minor** → `1.0.0 → 1.1.0`
25
+ - **feat!:** ou qualquer commit com **BREAKING CHANGE** no corpo → incrementa **major** → `1.0.0 → 2.0.0`
26
+
27
+ ### ✅ Exemplos de commits válidos
28
+ - `fix: corrige bug no botão de login`
29
+ - `feat: adiciona novo componente de avatar`
30
+ - `feat!: altera API de autenticação`
31
+ - `chore: atualiza dependências (não gera release)`
32
+ - `docs: adiciona instruções no README (não gera release)`
33
+
34
+ ### ⚠️ Importante
35
+ Sempre coloque dois pontos e um espaço depois do tipo.
36
+ - ✅ fix: descrição
37
+ - ❌ fix:descrição
38
+
39
+ Somente commits fix, feat ou com BREAKING CHANGE geram versão.
40
+ Outros tipos (chore, docs, refactor, etc.) não geram release automaticamente.
41
+
42
+ ## 🛠️ Desenvolvimento
43
+
44
+ Para compilar a biblioteca em modo de desenvolvimento, execute:
45
+
46
+ ```bash
47
+ npm run watch
48
+ ```
49
+
50
+ Isso executará o comando:
51
+
52
+ ```bash
53
+ ng build --watch --configuration development
54
+ ```
55
+
56
+ Uma vez compilada. A biblioteca será recarregada automaticamente sempre que houver modificações nos arquivos.
57
+
58
+ ## 🖥️ Utilização no aplicativo
59
+
60
+ Para utilizar esta biblioteca, siga os passos abaixo:
61
+
62
+ ### 1️⃣ Instalar a biblioteca no aplicativo
63
+
64
+ Instale a biblioteca no seu aplicativo Angular executando:
65
+
66
+ ```bash
67
+ npm install caminho-da-lib\\dist\\ngx-core
68
+ ```
69
+
70
+ Substitua `caminho-da-lib` pelo caminho correto onde a biblioteca foi compilada.
71
+
72
+ ### 2️⃣ Configurar `preserveSymlinks`
73
+
74
+ É necessário definir `preserveSymlinks: true` no arquivo `angular.json` para evitar o seguinte erro:
75
+
76
+ ```plaintext
77
+ core.mjs:7195 ERROR RuntimeError: NG0203: inject() must be called from an injection context...
78
+ ```
79
+
80
+ 🔹 No `angular.json`, dentro de `projects -> nome-do-projeto -> architect -> build -> options`, adicione:
81
+
82
+ ```json
83
+ "preserveSymlinks": true
84
+ ```
85
+
86
+ ### 3️⃣ Adicionar os providers necessários
87
+
88
+ Esses providers são essenciais para o funcionamento da biblioteca.
89
+ No `main.ts` ou no arquivo de configuração `app.config.ts`, adicione os seguintes providers:
90
+
91
+ ```typescript
92
+ import { bootstrapApplication } from "@angular/platform-browser";
93
+ import { AppComponent } from "./app/app.component";
94
+ import { importProvidersFrom } from "@angular/core";
95
+ import { MatSnackBarModule } from "@angular/material/snack-bar";
96
+ import { provideHttpClient, withInterceptorsFromDi } from "@angular/common/http";
97
+ import { provideAppMessages, DEFAULT_MESSAGES } from "@gipisistemas/ngx-core";
98
+
99
+ bootstrapApplication(AppComponent, {
100
+ providers: [
101
+ // ...outros providers
102
+ importProvidersFrom(MatSnackBarModule),
103
+ provideHttpClient(withInterceptorsFromDi()),
104
+ provideAppMessages(DEFAULT_MESSAGES),
105
+ ],
106
+ }).catch((err) => console.error(err));
107
+ ```
108
+
109
+ ### 4️⃣ Temas e estilos globais
110
+
111
+ Definição de temas:
112
+
113
+ 🔹 Se não informar o `$custom-theme` no mixin `all-component-themes` a biblioteca irá aderir as paletas de cores, fontes e densidades padrão.
114
+
115
+ ##### Palettes
116
+
117
+ - primary: `$palette-primary`
118
+ - secondary: `$palette-secondary`
119
+ - success: `$palette-success`
120
+ - information: `$palette-information`
121
+ - warning: `$palette-warning`
122
+ - danger: `$palette-danger`
123
+ - white: `$palette-white`
124
+ - black: `$palette-black`
125
+ - pastels: `$palette-pastels`
126
+
127
+ ##### Typography
128
+
129
+ - font-family: `'Roboto, sans-serif'`
130
+ - font-size: `1.4rem`
131
+ - font-base: `62.5%` - _100% equivale a 16px; Logo 62.5% de 16px = 10px; Assim 1rem equivale 10px;_
132
+
133
+ ##### Density
134
+
135
+ - scale: `0`
136
+
137
+ Utilizando tema customizado:
138
+
139
+ ```scss
140
+ @use "@gipisistemas/ngx-core" as ngx-core;
141
+
142
+ $custom-theme: ngx-core.define-theme(
143
+ (
144
+ palettes: (
145
+ primary: $palette-primary,
146
+ secondary: $palette-secondary,
147
+ // ... other palettes
148
+ ),
149
+ typography: (
150
+ font-family: "Roboto, sans-serif",
151
+ font-size: 1.4rem,
152
+ font-base: 62.5%,
153
+ ),
154
+ )
155
+ );
156
+
157
+ @include ngx-core.all-component-themes($custom-theme);
158
+ ```
159
+
160
+ Utilizando tema padrão:
161
+
162
+ ```scss
163
+ @use "@gipisistemas/ngx-core" as ngx-core;
164
+ @include ngx-core.all-component-themes();
165
+ ```
166
+
167
+ ## 🚀 Produção
168
+
169
+ Ainda será implementado
@@ -0,0 +1,24 @@
1
+ import { AnimationTriggerMetadata } from '@angular/animations';
2
+ /**
3
+ * Animação de entrada e saída com deslizamento horizontal e fade.
4
+ *
5
+ * @param triggerName - Nome do trigger da animação (padrão: 'flyInOut')
6
+ * @returns AnimationTriggerMetadata
7
+ *
8
+ * @example
9
+ *
10
+ * - test.component.ts
11
+ * ```typescript
12
+ * animations: [
13
+ * animationFlyInOut('myFly')
14
+ * ]
15
+ * ```
16
+ *
17
+ * - test.component.html
18
+ * ```html
19
+ * <div [@myFly]>
20
+ * <!-- conteúdo -->
21
+ * </div>
22
+ * ```
23
+ */
24
+ export declare function animationFlyInOut(triggerName?: string): AnimationTriggerMetadata;
@@ -0,0 +1,2 @@
1
+ export * from './fly-in-out.animation';
2
+ export * from './rotate.animation';
@@ -0,0 +1,35 @@
1
+ interface iRotateAnimation {
2
+ triggerName: string;
3
+ startDeg: number;
4
+ endDeg: number;
5
+ timing: string;
6
+ }
7
+ export type tRotateState = 'rotateStart' | 'rotateEnd';
8
+ /**
9
+ * Cria uma animação de rotação personalizada com estados 'rotateStart' e 'rotateEnd'.
10
+ *
11
+ * @param options - (Opcional) Objeto com as opções para customizar a animação:
12
+ * - `triggerName`: nome do trigger (default: 'rotate')
13
+ * - `startDeg`: ângulo inicial da rotação (default: 0)
14
+ * - `endDeg`: ângulo final da rotação (default: -180)
15
+ * - `timing`: string de tempo/animação CSS (default: '200ms cubic-bezier(0.25, 0.8, 0.25, 1)')
16
+ *
17
+ * @returns Um `AnimationTriggerMetadata` que pode ser usado no componente.
18
+ *
19
+ * @example
20
+ * - test.component.ts
21
+ * ```typescript
22
+ * animations: [
23
+ * animationRotate({ triggerName: 'rotateIcon', startDeg: 0, endDeg: 180 })
24
+ * ]
25
+ * ```
26
+ *
27
+ * - test.component.html
28
+ * ```html
29
+ * <div [@rotateIcon]="estado ? 'rotateEnd' : 'rotateStart'">
30
+ * <g-icon icon="keyboard_arrow_up" />
31
+ * </div>
32
+ * ```
33
+ */
34
+ export declare const rotateAnimation: (options?: Partial<iRotateAnimation>) => import("@angular/animations").AnimationTriggerMetadata;
35
+ export {};
@@ -0,0 +1,47 @@
1
+ import { MatDialogRef } from '@angular/material/dialog';
2
+ import { tTypeOperationCloseDialog, tTypeOperationDialog } from '../../enums/type-operation-dialog.enum';
3
+ import { BaseFilterModel } from '../models/base-filter.model';
4
+ import { BaseFormDialogDataModel } from '../models/base-form-dialog-data.model';
5
+ import { BaseModel } from '../models/base.model';
6
+ import { BaseCrudService } from '../services/base-crud.service';
7
+ import { BaseComponent } from './base.component';
8
+ import * as i0 from "@angular/core";
9
+ export declare abstract class BaseFormDialogComponent<TEntity extends BaseModel> extends BaseComponent {
10
+ protected service: BaseCrudService<TEntity, BaseFilterModel>;
11
+ ORIGIN_SCREEN: string;
12
+ protected readonly dialogRef: MatDialogRef<any, any>;
13
+ protected readonly dialogData: BaseFormDialogDataModel;
14
+ private _entity;
15
+ get entity(): TEntity;
16
+ set entity(value: TEntity);
17
+ get typeOperation(): tTypeOperationDialog;
18
+ constructor(service: BaseCrudService<TEntity, BaseFilterModel>);
19
+ protected abstract newEntity(): TEntity;
20
+ protected abstract isValid(): boolean;
21
+ protected abstract confirm(): void;
22
+ /**
23
+ * Método chamado logo após obter o registro via `getOne`.
24
+ * Este método é executado apenas uma vez, quando o componente é instanciado e um registro é recuperado.
25
+ * Pode ser sobrescrito para realizar ações adicionais após o carregamento do registro.
26
+ */
27
+ protected onAfterGetOne(): void;
28
+ /**
29
+ * Inicializa o formulário. Se um `ID` for encontrado no MAT_DIALOG_DATA e for válido, busca os
30
+ * dados do serviço e os carrega na entidade. Caso contrário, cria uma nova entidade.
31
+ * @param version (Opcional) A versão do endpoint `getOne`.
32
+ */
33
+ protected onInitForm(version?: string): void;
34
+ /**
35
+ * Fecha o diálogo e informa à tela de origem qual ação deve ser executada após o fechamento.
36
+ *
37
+ * @options
38
+ * - RELOAD_TABLE: Atualizar a tabela.
39
+ * - REMARK_SELECTED: Remarcar dos itens selecionados.
40
+ * - NONE: Nenhuma ação será executada.
41
+ *
42
+ * @param action Ação a ser executada após o fechamento do diálogo.
43
+ */
44
+ protected close<T = 'NONE'>(action: tTypeOperationCloseDialog | T): void;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormDialogComponent<any>, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFormDialogComponent<any>, never, never, {}, {}, never, never, true, never>;
47
+ }
@@ -0,0 +1,54 @@
1
+ import { BaseFilterModel } from '../models/base-filter.model';
2
+ import { BaseModel } from '../models/base.model';
3
+ import { BaseCrudService } from '../services/base-crud.service';
4
+ import { BaseComponent } from './base.component';
5
+ import * as i0 from "@angular/core";
6
+ export declare abstract class BaseFormComponent<TEntity extends BaseModel> extends BaseComponent {
7
+ protected service: BaseCrudService<TEntity, BaseFilterModel>;
8
+ private _entity;
9
+ get entity(): TEntity;
10
+ set entity(value: TEntity);
11
+ constructor(service: BaseCrudService<TEntity, BaseFilterModel>);
12
+ protected abstract getPath(): string;
13
+ protected abstract newEntity(): TEntity;
14
+ protected abstract isValid(): boolean;
15
+ /**
16
+ * Método chamado logo após a obtenção do registro via `getOne`.
17
+ *
18
+ * @description
19
+ * Este método é executado apenas uma vez, quando o componente é instanciado e um registro é recuperado.
20
+ * Pode ser sobrescrito para realizar ações adicionais após o carregamento do registro.
21
+ */
22
+ protected onAfterGetOne(): void;
23
+ /**
24
+ * Método chamado sempre que `save()` é invocado.
25
+ *
26
+ * @description
27
+ * Este método é executado sempre que o método `save` é chamado, sendo executado depois da validação
28
+ * via `isValid`.
29
+ * Pode ser sobrescrito para realizar ações adicionais antes do salvamento.
30
+ */
31
+ protected preSave(): void;
32
+ /**
33
+ * Inicializa o formulário. Se um `ID` for encontrado na URL e for válido, busca os
34
+ * dados do serviço e os carrega na entidade. Caso contrário, cria uma nova entidade.
35
+ * @param version (Opcional) A versão do endpoint `getOne`.
36
+ */
37
+ protected onInitForm(version?: string): void;
38
+ /**
39
+ * Salva a entidade fornecida ou a entidade atual do formulário.
40
+ * Se a validação for bem-sucedida, a entidade será enviada para o serviço e salva no banco de dados.
41
+ * Após a conclusão bem-sucedida, um alerta de sucesso é exibido e, se necessário, o usuário é redirecionado.
42
+ * @param entity (Opcional) A entidade a ser salva. Se não for informada, a entidade do formulário será usada.
43
+ * @param toGoBack Indica se o usuário deve ser redirecionado após a conclusão do salvamento (padrão: `true`).
44
+ * @param version (Opcional) A versão da entidade a ser salva.
45
+ */
46
+ save(toGoBack?: boolean, version?: string): void;
47
+ /**
48
+ * Retorna para a página anterior.
49
+ * @param showConfirmation Indica se um alerta de confirmação deve ser exibido antes de sair (padrão: `true`).
50
+ */
51
+ goBack(showConfirmation?: boolean): void;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormComponent<any>, never>;
53
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFormComponent<any>, never, never, {}, {}, never, never, true, never>;
54
+ }
@@ -0,0 +1,69 @@
1
+ import { SelectionModel } from '@angular/cdk/collections';
2
+ import { MatDialogRef } from '@angular/material/dialog';
3
+ import { TableColumn } from '../../components/table/shared/table-column.model';
4
+ import { TableMenuItemContext } from '../../components/table/shared/table-menu-item-context.model';
5
+ import { tPageEvent } from '../../types/page-event.type';
6
+ import { BaseAppliedFilter } from '../models/base-applied-filter.model';
7
+ import { BaseFilterModel } from '../models/base-filter.model';
8
+ import { BaseListDialogDataModel } from '../models/base-list-dialog-data.model';
9
+ import { BasePageModel } from '../models/base-page.model';
10
+ import { BaseModel } from '../models/base.model';
11
+ import { BaseCrudService } from '../services/base-crud.service';
12
+ import { BaseComponent } from './base.component';
13
+ import * as i0 from "@angular/core";
14
+ export declare abstract class BaseListDialogComponent<TEntity extends BaseModel, TFilter extends BaseFilterModel> extends BaseComponent {
15
+ protected service: BaseCrudService<TEntity, TFilter>;
16
+ ORIGIN_SCREEN: string;
17
+ protected readonly dialogRef: MatDialogRef<any, any>;
18
+ protected readonly dialogData: BaseListDialogDataModel<TEntity>;
19
+ protected filter: import("@angular/core").WritableSignal<TFilter>;
20
+ protected page: import("@angular/core").WritableSignal<BasePageModel<TEntity>>;
21
+ protected tableColumns: import("@angular/core").WritableSignal<TableColumn<BaseModel>[]>;
22
+ protected tableMenuItemsContext: import("@angular/core").WritableSignal<TableMenuItemContext<BaseModel>[]>;
23
+ protected appliedFilters: import("@angular/core").WritableSignal<BaseAppliedFilter<any>[]>;
24
+ protected selectedEntities: SelectionModel<TEntity>;
25
+ protected tableData: import("@angular/core").Signal<TEntity[]>;
26
+ protected tablePageNumber: import("@angular/core").Signal<number>;
27
+ protected tableTotalElements: import("@angular/core").Signal<number>;
28
+ protected tableTotalPages: import("@angular/core").Signal<number>;
29
+ constructor(service: BaseCrudService<TEntity, TFilter>);
30
+ protected abstract newPage(): BasePageModel<TEntity>;
31
+ protected abstract newFilter(): TFilter;
32
+ protected abstract setAppliedFilters(): void;
33
+ protected abstract removeAppliedFilters(chip: BaseAppliedFilter): void;
34
+ protected createTableColumns(): TableColumn[];
35
+ protected createMenuItemsContext(): TableMenuItemContext[];
36
+ protected existInAppliedFilters<T = unknown>(key: T): boolean;
37
+ /**
38
+ * Método chamado quando o componente é inicializado.
39
+ * - Chamado no OnInit
40
+ * @description
41
+ * - 1° - `this.newPage()` - Cria uma nova página
42
+ * - 2° - `this.newFilter()` - Cria um novo filtro
43
+ * - 3° - `this.createTableColumns()` - Cria as colunas da tabela
44
+ * - 4° - `this.createMenuItemsContext()` - Cria os itens do menu da tabela
45
+ * - 6° - `this.setAppliedFilters()` - Aplica os filtros salvos na sessão
46
+ * - 7° - `this.onHandleSelectRows(...)` - Seleciona os registros passados via `MAT_DIALOG_DATA`
47
+ */
48
+ protected onInitForm(): void;
49
+ findAll(pageEvent?: tPageEvent): void;
50
+ /**
51
+ * Método chamado após a busca dos registros.
52
+ * - Chamado após a execução do método `findAll()`
53
+ */
54
+ onAfterFindAll(): void;
55
+ resetFilter(): void;
56
+ protected onHandleSelectRows(selectedEntities: TEntity[]): void;
57
+ protected onHandleSelectRow(entity: TEntity): void;
58
+ /**
59
+ * Fecha o diálogo e informa à tela de origem qual ação deve ser executada após o fechamento.
60
+ *
61
+ * @options
62
+ * - NONE: Nenhuma ação será executada.
63
+ *
64
+ * @param action Ação a ser executada após o fechamento do diálogo.
65
+ */
66
+ protected close<T = 'NONE'>(action?: T): void;
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseListDialogComponent<any, any>, never>;
68
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseListDialogComponent<any, any>, never, never, {}, {}, never, never, true, never>;
69
+ }
@@ -0,0 +1,77 @@
1
+ import { TableColumn } from '../../components/table/shared/table-column.model';
2
+ import { TableMenuItemContext } from '../../components/table/shared/table-menu-item-context.model';
3
+ import type { TreeTableMenuItemContext } from '../../components/tree-table/shared/tree-table-menu-item-context.model';
4
+ import { tPageEvent } from '../../types/page-event.type';
5
+ import { GIPIUuid } from '../../types/uuid.type';
6
+ import { BaseAppliedFilter } from '../models/base-applied-filter.model';
7
+ import { BaseFilterModel } from '../models/base-filter.model';
8
+ import { BasePageModel } from '../models/base-page.model';
9
+ import { BaseModel } from '../models/base.model';
10
+ import { BaseCrudService } from '../services/base-crud.service';
11
+ import { TreeTableColumn } from './../../components/tree-table/shared/tree-table-column.model';
12
+ import { BaseComponent } from './base.component';
13
+ import * as i0 from "@angular/core";
14
+ export declare abstract class BaseListComponent<TEntity extends BaseModel, TFilter extends BaseFilterModel> extends BaseComponent {
15
+ protected service: BaseCrudService<TEntity, BaseFilterModel>;
16
+ protected filter: import("@angular/core").WritableSignal<TFilter>;
17
+ protected page: import("@angular/core").WritableSignal<BasePageModel<TEntity>>;
18
+ protected tableColumns: import("@angular/core").WritableSignal<TableColumn<BaseModel>[]>;
19
+ protected tableMenuItemsContext: import("@angular/core").WritableSignal<TableMenuItemContext<BaseModel>[]>;
20
+ protected treeTableColumns: import("@angular/core").WritableSignal<TreeTableColumn<BaseModel>[]>;
21
+ protected treeTableMenuItemsContext: import("@angular/core").WritableSignal<TreeTableMenuItemContext<BaseModel>[]>;
22
+ protected appliedFilters: import("@angular/core").WritableSignal<BaseAppliedFilter<any>[]>;
23
+ protected tableData: import("@angular/core").Signal<TEntity[]>;
24
+ protected tablePageNumber: import("@angular/core").Signal<number>;
25
+ protected tableTotalElements: import("@angular/core").Signal<number>;
26
+ protected tableTotalPages: import("@angular/core").Signal<number>;
27
+ constructor(service: BaseCrudService<TEntity, BaseFilterModel>);
28
+ protected abstract getPath(): string;
29
+ protected abstract newPage(): BasePageModel<TEntity>;
30
+ protected abstract newFilter(): TFilter;
31
+ protected abstract setAppliedFilters(): void;
32
+ protected abstract removeAppliedFilters(chip: BaseAppliedFilter): void;
33
+ protected createTableColumns(): TableColumn[];
34
+ protected createTreeTableColumns(): TreeTableColumn[];
35
+ protected createMenuItemsContext(): TableMenuItemContext[];
36
+ protected createTreeMenuItemsContext(): TreeTableMenuItemContext[];
37
+ protected existInAppliedFilters<T = unknown>(key: T): boolean;
38
+ /**
39
+ * Método chamado quando o componente é inicializado.
40
+ * - Chamado no OnInit
41
+ * @description
42
+ * - 1° - `this.newPage()` - Cria uma nova página
43
+ * - 2° - `this.newFilter()` - Cria um novo filtro
44
+ * - 3° - `this.createTableColumns()` - Cria as colunas da tabela
45
+ * - 4° - `this.createMenuItemsContext()` - Cria os itens do menu da tabela
46
+ * - 6° - `this.setAppliedFilters()` - Aplica os filtros salvos na sessão
47
+ */
48
+ protected onInitForm(): void;
49
+ findAll(pageEvent?: tPageEvent): void;
50
+ /**
51
+ * Método chamado após a busca dos registros.
52
+ * - Chamado após a execução do método `findAll()`
53
+ */
54
+ onAfterFindAll(): void;
55
+ newRegister(permission?: string): void;
56
+ editRegister(id?: GIPIUuid, permission?: string): void;
57
+ deleteRegister(id?: GIPIUuid, permission?: string, fetchAgain?: boolean, version?: string): void;
58
+ /** @Internal */
59
+ private _deleteRegister;
60
+ deleteAllRegister(idList: GIPIUuid[] | null, permission?: string, fetchAgain?: boolean, version?: string): void;
61
+ /** @Internal */
62
+ private _deleteAllRegister;
63
+ viewRegister(id?: GIPIUuid, permission?: string): void;
64
+ editOrViewRegister(id: GIPIUuid, permission: string): void;
65
+ enableOrDisableRegister(action: 'DISABLE' | 'ENABLE', id?: GIPIUuid, permission?: string, fetchAgain?: boolean, version?: string): void;
66
+ /** @Internal */
67
+ private _enableOrDisableRegister;
68
+ enableAndDisableAllRegister(action: 'DISABLE' | 'ENABLE', idList: GIPIUuid[] | null, permission?: string, fetchAgain?: boolean, version?: string): void;
69
+ /** @Internal */
70
+ private _enableAndDisableAllRegister;
71
+ cloneRegister(id?: GIPIUuid, permission?: string): void;
72
+ resetFilter(): void;
73
+ handleEntityId(id: GIPIUuid): GIPIUuid;
74
+ handleEntityIdList(idList: GIPIUuid[] | null): GIPIUuid[];
75
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseListComponent<any, any>, never>;
76
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseListComponent<any, any>, never, never, {}, {}, never, never, true, never>;
77
+ }
@@ -0,0 +1,62 @@
1
+ import { AfterViewInit, DestroyRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { ActivatedRoute, OnSameUrlNavigation, Params, QueryParamsHandling, Router } from '@angular/router';
3
+ import { ConfirmDialogService } from '../../components/confirm-dialog';
4
+ import { ToastService } from '../../components/toast';
5
+ import { iPermission } from '../../interfaces/permissions.interface';
6
+ import * as i0 from "@angular/core";
7
+ export declare abstract class BaseComponent implements OnInit, AfterViewInit, OnDestroy {
8
+ protected readonly SESSION_STORAGE_FILTER = "filter";
9
+ protected confirmDialogService: ConfirmDialogService;
10
+ protected toastService: ToastService;
11
+ protected appMessages: import("@gipisistemas/ngx-core").iAppMessages;
12
+ protected authService: import("@gipisistemas/ngx-core").BaseAuthService<import("@gipisistemas/ngx-core").BaseUserModel>;
13
+ protected activatedRoute: ActivatedRoute;
14
+ protected router: Router;
15
+ protected destroyRef: DestroyRef;
16
+ abstract permissions: iPermission;
17
+ abstract ORIGIN_SCREEN: string;
18
+ loading: import("@angular/core").WritableSignal<boolean>;
19
+ constructor();
20
+ ngOnInit(): void;
21
+ ngAfterViewInit(): void;
22
+ ngOnDestroy(): void;
23
+ protected onInitForm(): void;
24
+ protected onAfterInitForm(): void;
25
+ protected onDestroy(): void;
26
+ private _currentPathSegment;
27
+ isCreating(): boolean;
28
+ isEditing(): boolean;
29
+ isViewing(): boolean;
30
+ isListing(): boolean;
31
+ isCloning(): boolean;
32
+ protected handleError(error: unknown): void;
33
+ /**
34
+ * Navega para uma rota específica com opções personalizadas.
35
+ *
36
+ * @param commands - Um array de comandos de rota que definem o caminho de navegação.
37
+ * Exemplo: ['/home', { id: 123 }] navega para a rota '/home' com um parâmetro de rota `id`.
38
+ * @param queryParams - Parâmetros de consulta (query parameters) a serem adicionados à URL.
39
+ * Exemplo: { page: 1, filter: 'active' } resulta em uma URL como `/home?page=1&filter=active`.
40
+ * @param queryParamsHandling - Define como os parâmetros de consulta devem ser manipulados.
41
+ * - `'merge'`: Mescla os novos parâmetros com os existentes.
42
+ * - `'preserve'`: Mantém os parâmetros de consulta existentes.
43
+ * - `undefined`: Substitui os parâmetros de consulta existentes pelos novos.
44
+ * @param skipLocationChange - Se `true`, a navegação não atualiza a URL no navegador.
45
+ * Útil para navegações que não devem ser refletidas na barra de endereço.
46
+ * @param onSameUrlNavigation - Define o comportamento quando a navegação ocorre para a mesma URL atual.
47
+ * - `'reload'`: Força a recarga da rota atual.
48
+ * - `'ignore'`: Ignora a navegação se a URL atual for a mesma.
49
+ * Padrão: `'reload'`.
50
+ *
51
+ * @example
52
+ * // Navega para '/home' com parâmetros de consulta e sem atualizar a URL
53
+ * navigate(['/home'], { page: 1 }, 'merge', true);
54
+ *
55
+ * @example
56
+ * // Navega para a mesma rota atual, forçando a recarga
57
+ * navigate([], {}, undefined, false, 'reload');
58
+ */
59
+ protected routerNavigate(commands: unknown[], queryParams?: Params, queryParamsHandling?: QueryParamsHandling, skipLocationChange?: boolean, onSameUrlNavigation?: OnSameUrlNavigation): void;
60
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseComponent, never>;
61
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseComponent, never, never, {}, {}, never, never, true, never>;
62
+ }
@@ -0,0 +1,20 @@
1
+ export * from './components/base-form-dialog.component';
2
+ export * from './components/base-form.component';
3
+ export * from './components/base-list-dialog.component';
4
+ export * from './components/base-list.component';
5
+ export * from './components/base.component';
6
+ export * from './models/base-applied-filter.model';
7
+ export * from './models/base-authority.model';
8
+ export * from './models/base-filter.model';
9
+ export * from './models/base-form-dialog-data.model';
10
+ export * from './models/base-list-dialog-data.model';
11
+ export * from './models/base-menu.model';
12
+ export * from './models/base-page.model';
13
+ export * from './models/base-query-params.model';
14
+ export * from './models/base-sort.model';
15
+ export * from './models/base-token.model';
16
+ export * from './models/base-user.model';
17
+ export * from './models/base.model';
18
+ export * from './services/base-auth.service';
19
+ export * from './services/base-crud.service';
20
+ export * from './services/base.service';
@@ -0,0 +1,8 @@
1
+ import { Nullable } from '../../types/nullable.type';
2
+ export declare class BaseAppliedFilter<T = any> {
3
+ /** Descrição do filtro */
4
+ description: string;
5
+ /** Chave de identificação do filtro */
6
+ key: Nullable<T>;
7
+ constructor(description?: string, key?: T);
8
+ }
@@ -0,0 +1,6 @@
1
+ import { BaseModel } from './base.model';
2
+ export declare class BaseAuthorityModel extends BaseModel {
3
+ /** Nome da permissão */
4
+ authority: string;
5
+ constructor(data?: Partial<BaseAuthorityModel>);
6
+ }
@@ -0,0 +1,16 @@
1
+ import { BaseSortModel } from './base-sort.model';
2
+ export declare class BaseFilterModel {
3
+ /** Lista de ordenações */
4
+ sorts: BaseSortModel[];
5
+ /** Número da página */
6
+ pageNumber: number;
7
+ /** Quantidade de registros por página */
8
+ pageSize: number;
9
+ /** @deprecated Offset - `Não é mais utilizado` pois é calculado no backend */
10
+ offset: number;
11
+ /** @transient A tela de origem do filtro */
12
+ originScreen: string;
13
+ /** Barra de pesquisa */
14
+ researchField: string;
15
+ constructor(init?: Partial<BaseFilterModel>);
16
+ }
@@ -0,0 +1,11 @@
1
+ import { tTypeOperationDialog } from '../../enums/type-operation-dialog.enum';
2
+ import { GIPIUuid } from '../../types/uuid.type';
3
+ export declare class BaseFormDialogDataModel {
4
+ /** Entidade a ser editada */
5
+ id: GIPIUuid;
6
+ /** Tipo de operação do diálogo */
7
+ typeOperation: tTypeOperationDialog;
8
+ /** Atributos opcionais */
9
+ [klass: string]: any;
10
+ constructor(data?: Partial<BaseFormDialogDataModel>);
11
+ }
@@ -0,0 +1,10 @@
1
+ import { BaseModel } from './base.model';
2
+ export declare class BaseListDialogDataModel<TEntity extends BaseModel> {
3
+ /** Lista de entidades selecionadas */
4
+ optionsSelected: TEntity[];
5
+ /** Indica se é para selecionar apenas 1 registro */
6
+ selectOne: boolean;
7
+ /** Atributos opcionais */
8
+ [klass: string]: any;
9
+ constructor(data?: Partial<BaseListDialogDataModel<TEntity>>);
10
+ }
@@ -0,0 +1,25 @@
1
+ import { tMenuType } from '../../enums/menu-type.enum';
2
+ import { BaseModel } from './base.model';
3
+ export declare class BaseMenuModel extends BaseModel {
4
+ /** Posição do menu */
5
+ index?: number;
6
+ /** Nome do menu */
7
+ name: string;
8
+ /** Ícone do menu */
9
+ icon?: string;
10
+ /** Ícone SVG do menu */
11
+ svgIcon?: string;
12
+ /** Rota do menu */
13
+ route?: string;
14
+ /** Módulo do menu */
15
+ module?: string;
16
+ /** Tipo do menu = 'GROUP' | 'COLLAPSABLE' | 'ITEM' */
17
+ type: tMenuType;
18
+ /** Lista de submenus */
19
+ menuList?: BaseMenuModel[];
20
+ /** Ação do menu */
21
+ action?: Function;
22
+ /** @Transient Exibe um tag com o texto novo no menu */
23
+ showTagNew?: boolean;
24
+ constructor(data?: Partial<BaseMenuModel>);
25
+ }