@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
@@ -0,0 +1,45 @@
1
+ import { BaseModel } from '../../../base/models/base.model';
2
+ import { tIconFontSet, tIconGrade, tIconOptical, tIconVariation, tIconWeight } from '../../icon/icon.component';
3
+ import { tTreeTableColumnCondition } from './tree-table-column-condition.enum';
4
+ export declare class TreeTableMenuItemContext<TRow extends BaseModel = BaseModel> {
5
+ /** Identificador do menu-item. */
6
+ id: string;
7
+ /** Nome identificador do menu-item. */
8
+ name: string;
9
+ /** Tooltip do menu-item. */
10
+ tooltip: string;
11
+ /** Controla a visibilidade do item de menu. */
12
+ visible: tTreeTableColumnCondition<TRow>;
13
+ /** Ícone do menu-item. */
14
+ icon: string;
15
+ /** Ícone SVG do menu-item. */
16
+ svgIcon: string;
17
+ /**
18
+ * Define o estilo do conjunto de ícones a ser utilizado.
19
+ * - Pode ser `OUTLINED`, `ROUNDED` ou `SHARP`, conforme os estilos do Material Icons.
20
+ * - Valor padrão: `ROUNDED`.
21
+ */
22
+ iconFontSet: tIconFontSet;
23
+ /**
24
+ * Define o valor de fill no font-variation-settings
25
+ * @FILLED FILL = 1;
26
+ * @OUTILINE FILL = 0;
27
+ */
28
+ iconVariation: tIconVariation;
29
+ /** Define o valor de wght no font-variation-settings */
30
+ iconWeight: tIconWeight;
31
+ /**
32
+ * Define o valor de GRAD no font-variation-settings
33
+ * @LOW GRAD = -25;
34
+ * @DEFAULT GRAD = 0;
35
+ * @HIGH GRAD = 200;
36
+ */
37
+ iconGrade: tIconGrade;
38
+ /** Define o valor de opsz no font-variation-settings */
39
+ iconOptical: tIconOptical;
40
+ /** Exibe o ícone de novo (new) abaixo do menu-item. */
41
+ showTagNew: tTreeTableColumnCondition<TRow>;
42
+ /** Ação disparada ao clicar no menu-item. */
43
+ action: ((object: TRow) => void) | null;
44
+ constructor(init?: Partial<TreeTableMenuItemContext<TRow>>);
45
+ }
@@ -0,0 +1,91 @@
1
+ import { ElementRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
2
+ import { MatPaginator } from '@angular/material/paginator';
3
+ import { BaseModel } from '../../base/models/base.model';
4
+ import { tPageEvent } from '../../types/page-event.type';
5
+ import { tTreeTableColumnCondition } from './shared/tree-table-column-condition.enum';
6
+ import { tTreeTableColumnPartial } from './shared/tree-table-column-partial.model';
7
+ import { TreeTableColumn } from './shared/tree-table-column.model';
8
+ import { TreeTableMenuItemContext } from './shared/tree-table-menu-item-context.model';
9
+ import * as i0 from "@angular/core";
10
+ export declare class TreeTableComponent<TNode extends BaseModel> implements OnInit {
11
+ set tableFooterRef(value: ElementRef<HTMLElement> | null);
12
+ set menuContextWrapperRef(value: ElementRef | null);
13
+ matPaginatorRef: MatPaginator;
14
+ actionsRef: TemplateRef<unknown> | null;
15
+ menuContextRef: TemplateRef<unknown> | null;
16
+ private readonly _uniqueId;
17
+ private readonly _changeDetectionRef;
18
+ private readonly _destroyRef;
19
+ private readonly _ngZone;
20
+ protected menuContextWrapperElement: import("@angular/core").WritableSignal<HTMLElement | null>;
21
+ protected tableFooterElement: import("@angular/core").WritableSignal<HTMLElement | null>;
22
+ protected menuContextHover: boolean;
23
+ protected menuContextRow: import("@angular/core").WritableSignal<TNode | null>;
24
+ protected get treeTableMinHeight(): string;
25
+ id: string;
26
+ name: string;
27
+ /**
28
+ * Define o nome da propriedade que contém os filhos.
29
+ * - Por padrão, é `children`.
30
+ */
31
+ propertyTree: string;
32
+ private _data;
33
+ set data(value: TNode[]);
34
+ get data(): TNode[];
35
+ /** Indica se é para a tabela ter uma altura minima */
36
+ calcMinHeight: boolean;
37
+ /** Indica se irá exibir o header da tabela */
38
+ showToolbar: boolean;
39
+ /** Indica se irá exibir a tabela */
40
+ showTable: boolean;
41
+ /** Indica se irá exibir o header da tabela */
42
+ showHeader: boolean;
43
+ /** Indica se a tabela está em modo de loading */
44
+ loading: boolean;
45
+ columns: tTreeTableColumnPartial[] | TreeTableColumn[];
46
+ /** Lista de itens do menu de contexto exibido ao passar o mouse sobre uma linha da tabela. */
47
+ menuItemsContext: TreeTableMenuItemContext<TNode>[];
48
+ /** Define a coluna inicial do menu de contexto */
49
+ columnInitial: number | null;
50
+ /** Define a coluna final do menu de contexto */
51
+ columnFinal: number | null;
52
+ when?: (index: number, nodeData: TNode) => boolean;
53
+ paginator: boolean;
54
+ paginatorFrontend: boolean;
55
+ paginatorDisabled: boolean;
56
+ paginatorPageSize: number;
57
+ paginatorPageNumber: number;
58
+ paginatorLength: number;
59
+ paginatorPageSizeOptions: number[];
60
+ paginatorHidePageSize: boolean;
61
+ protected readonly _childrenAccessor: (node: TNode) => TNode[];
62
+ protected readonly _when: (index: number, node: TNode) => boolean;
63
+ onPage: EventEmitter<tPageEvent>;
64
+ constructor();
65
+ ngOnInit(): void;
66
+ private _emitPaginator;
67
+ private _getNodeChildren;
68
+ protected coerceCondition(condition: tTreeTableColumnCondition<TNode> | null | undefined): boolean;
69
+ protected _columnWidth(width?: string | number): string;
70
+ protected columnCellValue(column: TreeTableColumn | tTreeTableColumnPartial, node: TNode): string;
71
+ protected columnCellSubValue(column: TreeTableColumn | tTreeTableColumnPartial, node: TNode): string;
72
+ protected onHandlePage(pageEvent: tPageEvent): void;
73
+ protected showMenuContext(event: MouseEvent, row: TNode): void;
74
+ protected closeMenuContext(): void;
75
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeTableComponent<any>, never>;
76
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeTableComponent<any>, "gipi-tree-table", ["gTreeTable"], { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "propertyTree": { "alias": "propertyTree"; "required": false; }; "data": { "alias": "data"; "required": false; }; "calcMinHeight": { "alias": "calcMinHeight"; "required": false; }; "showToolbar": { "alias": "showToolbar"; "required": false; }; "showTable": { "alias": "showTable"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "menuItemsContext": { "alias": "menuItemsContext"; "required": false; }; "columnInitial": { "alias": "columnInitial"; "required": false; }; "columnFinal": { "alias": "columnFinal"; "required": false; }; "when": { "alias": "when"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "paginatorFrontend": { "alias": "paginatorFrontend"; "required": false; }; "paginatorDisabled": { "alias": "paginatorDisabled"; "required": false; }; "paginatorPageSize": { "alias": "paginatorPageSize"; "required": false; }; "paginatorPageNumber": { "alias": "paginatorPageNumber"; "required": false; }; "paginatorLength": { "alias": "paginatorLength"; "required": false; }; "paginatorPageSizeOptions": { "alias": "paginatorPageSizeOptions"; "required": false; }; "paginatorHidePageSize": { "alias": "paginatorHidePageSize"; "required": false; }; }, { "onPage": "onPage"; }, ["actionsRef", "menuContextRef"], ["*"], true, never>;
77
+ static ngAcceptInputType_calcMinHeight: unknown;
78
+ static ngAcceptInputType_showToolbar: unknown;
79
+ static ngAcceptInputType_showTable: unknown;
80
+ static ngAcceptInputType_showHeader: unknown;
81
+ static ngAcceptInputType_loading: unknown;
82
+ static ngAcceptInputType_columnInitial: unknown;
83
+ static ngAcceptInputType_columnFinal: unknown;
84
+ static ngAcceptInputType_paginator: unknown;
85
+ static ngAcceptInputType_paginatorFrontend: unknown;
86
+ static ngAcceptInputType_paginatorDisabled: unknown;
87
+ static ngAcceptInputType_paginatorPageSize: unknown;
88
+ static ngAcceptInputType_paginatorPageNumber: unknown;
89
+ static ngAcceptInputType_paginatorLength: unknown;
90
+ static ngAcceptInputType_paginatorHidePageSize: unknown;
91
+ }
@@ -0,0 +1,216 @@
1
+ @use '../../theming/utils' as utils;
2
+
3
+ @mixin tree-table-theme($theme: ()) {
4
+ $font-family: utils.get-font-family($theme);
5
+ $font-size: utils.get-font-size($theme);
6
+ $font-color: utils.get-font-color($theme);
7
+
8
+ @include utils.mat-paginator($theme);
9
+
10
+ .material-symbols-rounded {
11
+ @include utils.user-select(none);
12
+ }
13
+
14
+ .g-tree-table {
15
+ .g-tree-table-content {
16
+ width: 100%;
17
+ background-color: utils.get-color($theme, white, 100) !important;
18
+ font-weight: 500;
19
+ font-size: 1.2rem;
20
+ text-transform: uppercase;
21
+ }
22
+
23
+ .g-tree-table-toolbar {
24
+ display: flex;
25
+ flex-direction: row;
26
+ align-items: center;
27
+ justify-content: space-between;
28
+ padding-inline: 1.6rem;
29
+ height: 4.4rem;
30
+ background-color: utils.get-color($theme, white, 100);
31
+
32
+ // Usamos box-shadow para simular a border-bottom, pois com position: sticky ela pode desaparecer.
33
+ box-shadow: inset 0 -1px 0 utils.get-color($theme, primary, 500);
34
+ }
35
+
36
+ .g-tree-table-header {
37
+ display: flex;
38
+ flex-direction: row;
39
+ padding-inline: 1.6rem;
40
+ height: 4.4rem;
41
+ align-items: center;
42
+ background-color: utils.get-color($theme, white, 100);
43
+ position: sticky;
44
+ top: 0;
45
+ z-index: 1000;
46
+
47
+ // Usamos box-shadow para simular a border-bottom, pois com position: sticky ela pode desaparecer.
48
+ box-shadow: inset 0 -1px 0 utils.get-color($theme, primary, 500);
49
+
50
+ .g-tree-table-header-column {
51
+ background-color: utils.get-color($theme, white, 100);
52
+ color: utils.get-color($theme, primary, 500);
53
+ font-size: 1.4rem;
54
+ font-weight: bold;
55
+ text-transform: none;
56
+ flex: 1 0 0;
57
+ }
58
+ }
59
+
60
+ .mat-tree-node,
61
+ .g-tree-table-row {
62
+ border-bottom: 1px solid utils.get-color($theme, secondary, 100);
63
+ padding-right: 1.6rem !important;
64
+ font-weight: 500;
65
+ font-size: 1.2rem;
66
+
67
+ // &.g-tree-table-row-expandable {
68
+ // padding-left: 1.6rem !important;
69
+ // }
70
+
71
+ &[aria-level='1'] {
72
+ padding-left: 1.6rem !important;
73
+ }
74
+
75
+ &:hover,
76
+ &.g-tree-table-row-hover {
77
+ background-color: utils.get-color($theme, white, 300);
78
+ }
79
+ }
80
+
81
+ .g-tree-table-column {
82
+ margin: 0;
83
+ border: 0;
84
+ text-align: inherit;
85
+ vertical-align: middle;
86
+ align-content: center;
87
+ height: 4.4rem;
88
+ flex: 1 0 0;
89
+ font-weight: 500;
90
+ font-size: 1.2rem;
91
+
92
+ > span,
93
+ > small {
94
+ text-align: inherit;
95
+ width: 100%;
96
+ font-family: $font-family;
97
+ color: $font-color;
98
+ }
99
+
100
+ > span {
101
+ font-size: 1.2rem;
102
+ font-weight: 500;
103
+ }
104
+
105
+ > small {
106
+ color: utils.get-color($theme, secondary, 300);
107
+ }
108
+
109
+ &.g-tree-table-align-start,
110
+ &.g-tree-table-align-left {
111
+ text-align: start;
112
+
113
+ .mat-sort-header-container {
114
+ justify-content: flex-start;
115
+ }
116
+ }
117
+ &.g-tree-table-align-center {
118
+ text-align: center;
119
+
120
+ .mat-sort-header-container {
121
+ justify-content: center;
122
+ }
123
+ }
124
+ &.g-tree-table-align-end,
125
+ &.g-tree-table-align-right {
126
+ text-align: end;
127
+
128
+ .mat-sort-header-container {
129
+ justify-content: flex-end;
130
+ }
131
+ }
132
+ &.g-tree-table-align-justify {
133
+ text-align: justify;
134
+
135
+ .mat-sort-header-container {
136
+ justify-content: space-between;
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ .g-tree-table-button-expand {
143
+ display: flex;
144
+ align-items: center;
145
+ justify-content: center;
146
+ padding: 0;
147
+ border-radius: 50%;
148
+ outline: none;
149
+ border: none;
150
+ background-color: transparent;
151
+ transition: all 0.2s ease-in-out;
152
+ cursor: pointer;
153
+
154
+ &:hover {
155
+ background-color: #{utils.get-color($theme, secondary, 100)};
156
+ }
157
+ }
158
+
159
+ .g-tree-table-footer-row {
160
+ position: sticky;
161
+ bottom: 0;
162
+ z-index: 1000;
163
+ background-color: #{utils.get-color($theme, white, 100)};
164
+ }
165
+
166
+ .g-tree-table-menu-context {
167
+ display: inline-flex;
168
+ gap: 10px;
169
+ padding: 6px 10px;
170
+ width: auto;
171
+ border-radius: 0 0 10px 10px;
172
+ border: 1px solid #{utils.get-color($theme, secondary, 100)};
173
+ border-top: 0;
174
+ background-color: #{utils.get-color($theme, white, 300)};
175
+ position: fixed;
176
+ z-index: 1001;
177
+ visibility: hidden;
178
+
179
+ > button {
180
+ @include utils.user-select(none);
181
+
182
+ &.g-tree-table-menu-item-context-show-tag-new {
183
+ @include utils.novelties($theme);
184
+ }
185
+
186
+ display: flex;
187
+ align-items: center;
188
+ justify-content: center;
189
+ padding: 0.2rem;
190
+ outline: none;
191
+ border: none;
192
+ border-radius: 0.4rem;
193
+ background-color: transparent;
194
+ transition:
195
+ background-color 0.2s ease-in,
196
+ transform 0.2s ease-out;
197
+ cursor: pointer;
198
+
199
+ .g-button-icon {
200
+ color: #{utils.get-color($theme, black, 300)};
201
+ }
202
+
203
+ &:hover {
204
+ background-color: #{utils.get-color($theme, secondary, 100)};
205
+ }
206
+
207
+ &:active {
208
+ transform: scale(0.95);
209
+ }
210
+ }
211
+ }
212
+
213
+ .g-tree-table-menu-item-context-tooltip {
214
+ margin-top: 10px;
215
+ }
216
+ }
@@ -0,0 +1 @@
1
+ export * from './user-profile.component';
@@ -0,0 +1 @@
1
+ export declare const rotateArrow: import("@angular/animations").AnimationTriggerMetadata;
@@ -0,0 +1,28 @@
1
+ import { AfterViewInit, DestroyRef, EventEmitter } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import { PopoverTriggerDirective } from '../popover';
4
+ import * as i0 from "@angular/core";
5
+ type tArrowType = 'arrow_down' | 'arrow_up';
6
+ export declare class UserProfileComponent implements AfterViewInit {
7
+ popoverTrigger?: PopoverTriggerDirective;
8
+ protected readonly _uniqueId: string;
9
+ protected destroyRef: DestroyRef;
10
+ protected arrowType$: BehaviorSubject<tArrowType>;
11
+ id: string;
12
+ name: string;
13
+ username: string;
14
+ email: string;
15
+ lastAccess: Date | null;
16
+ imageSrc: string;
17
+ readonly onImageError: EventEmitter<Event>;
18
+ readonly onClick: EventEmitter<MouseEvent>;
19
+ protected get _firstName(): string;
20
+ protected get _lastAccessText(): string;
21
+ constructor();
22
+ ngAfterViewInit(): void;
23
+ imageError(event: Event): void;
24
+ onPopoverToggle(event: MouseEvent): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserProfileComponent, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserProfileComponent, "gipi-user-profile", ["gUserProfile"], { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "username": { "alias": "username"; "required": true; }; "email": { "alias": "email"; "required": true; }; "lastAccess": { "alias": "lastAccess"; "required": false; }; "imageSrc": { "alias": "imageSrc"; "required": false; }; }, { "onImageError": "onImageError"; "onClick": "onClick"; }, never, ["*"], true, never>;
27
+ }
28
+ export {};
@@ -0,0 +1,76 @@
1
+ @use '../../theming/utils' as utils;
2
+
3
+ @mixin user-profile-theme($theme: ()) {
4
+ $font-family: utils.get-font-family($theme);
5
+ $font-size: utils.get-font-size($theme);
6
+ $font-color: utils.get-font-color($theme);
7
+ $white-100: utils.get-color($theme, white, 100);
8
+ $secondary-600: utils.get-color($theme, secondary, 600);
9
+ $black-300: utils.get-color($theme, black, 300);
10
+ $black-400: utils.get-color($theme, black, 400);
11
+ $pastels-info: utils.get-color($theme, pastels, info);
12
+
13
+ .g-user-profile-content {
14
+ display: flex;
15
+ align-items: center;
16
+ padding: 0.6rem 0.6rem;
17
+ border: 1px solid $black-400;
18
+ border-radius: 2rem;
19
+ background-color: $white-100;
20
+ transition: all 0.2s;
21
+ cursor: pointer;
22
+
23
+ @include utils.user-select(none);
24
+
25
+ &:hover {
26
+ border-color: $black-300;
27
+ }
28
+
29
+ .g-user-profile-username {
30
+ margin-inline: 0.8rem;
31
+ font-family: $font-family;
32
+ font-size: $font-size;
33
+ color: $font-color;
34
+ font-weight: 500;
35
+ }
36
+
37
+ .g-user-profile-arrow {
38
+ font-size: 2rem;
39
+ line-height: 1.4rem;
40
+ color: $font-color;
41
+ }
42
+ }
43
+
44
+ .g-user-profile-popover-content {
45
+ min-width: 20rem;
46
+
47
+ .g-user-profile-popover-header {
48
+ display: flex;
49
+ align-items: center;
50
+ gap: 1rem;
51
+ margin-bottom: 1rem;
52
+
53
+ .g-user-profile-popover-user-info {
54
+ display: flex;
55
+ flex-direction: column;
56
+ justify-content: center;
57
+ height: 4rem;
58
+ flex: 1;
59
+ }
60
+ }
61
+
62
+ .g-user-profile-popover-actions .g-user-profile-last-access {
63
+ display: block;
64
+ width: 100%;
65
+ padding: 4px;
66
+ border-radius: 4px;
67
+ background-color: $pastels-info;
68
+ color: $secondary-600;
69
+ font-family: $font-family;
70
+ font-size: 1.2rem;
71
+ font-weight: 400;
72
+ line-height: 100%;
73
+ text-align: center;
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,33 @@
1
+ interface iDebounceOptions {
2
+ /** Tempo de debounce em milissegundos (padrão: 300ms) */
3
+ ms?: number;
4
+ /** Executa a função imediatamente na primeira chamada (padrão: false) */
5
+ leading?: boolean;
6
+ /** Executa a função no final do período de debounce (padrão: true) */
7
+ trailing?: boolean;
8
+ }
9
+ /**
10
+ * Decorator para aplicar debounce em métodos de classes.
11
+ * Pode ser usado para limitar a frequência de execuções, especialmente útil em eventos como
12
+ * digitação, cliques rápidos, ou chamadas frequentes que você deseja otimizar.
13
+ *
14
+ * @param options - Tempo de debounce em ms ou objeto de opções com:
15
+ * - ms: número (tempo em ms)
16
+ * - leading: boolean (executa imediatamente na primeira chamada)
17
+ * - trailing: boolean (executa após o período de debounce)
18
+ *
19
+ * @example
20
+ * class Exemplo {
21
+ * .@Debounce(500)
22
+ * onInputChange(value: string) {
23
+ * console.log('Executado após o usuário parar de digitar 500ms:', value);
24
+ * }
25
+ *
26
+ * .@Debounce({ ms: 300, leading: true, trailing: false })
27
+ * onResize() {
28
+ * console.log('Executado imediatamente e ignora chamadas seguintes por 300ms');
29
+ * }
30
+ * }
31
+ */
32
+ export declare function Debounce(options?: number | iDebounceOptions): <T>(target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<(...args: any[]) => T | undefined>) => TypedPropertyDescriptor<(...args: any[]) => T | undefined>;
33
+ export {};
@@ -0,0 +1 @@
1
+ export * from './debounce.decorator';
@@ -0,0 +1,3 @@
1
+ export * from './menu-type.enum';
2
+ export * from './sort-direction.enum';
3
+ export * from './type-operation-dialog.enum';
@@ -0,0 +1,6 @@
1
+ export declare enum eMenuType {
2
+ GROUP = "GROUP",
3
+ COLLAPSABLE = "COLLAPSABLE",
4
+ ITEM = "ITEM"
5
+ }
6
+ export type tMenuType = keyof typeof eMenuType;
@@ -0,0 +1,5 @@
1
+ export declare enum eSortDirection {
2
+ ASC = "Crescente",
3
+ DESC = "Decrescente"
4
+ }
5
+ export type tSortDirection = keyof typeof eSortDirection | '';
@@ -0,0 +1,12 @@
1
+ export declare enum eTypeOperationDialog {
2
+ NEW = "Novo",
3
+ EDIT = "Editar",
4
+ VIEW = "Visualizar"
5
+ }
6
+ export type tTypeOperationDialog = keyof typeof eTypeOperationDialog;
7
+ export declare enum eTypeOperationCloseDialogEnum {
8
+ RELOAD_TABLE = "Atualizar a tabela",
9
+ REMARK_SELECTED = "Remarcar os registros selecionados",
10
+ NONE = "Nenhuma a\u00E7\u00E3o ser\u00E1 executada"
11
+ }
12
+ export type tTypeOperationCloseDialog = keyof typeof eTypeOperationCloseDialogEnum;