@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,83 @@
1
+ import { Nullable } from '../types/nullable.type';
2
+ export declare class ObjectUtil {
3
+ /**
4
+ * Verifica se o valor fornecido é um objeto.
5
+ *
6
+ * @param inp O valor a ser verificado.
7
+ * @param empty Define se o objeto vazio será considerado válido. Se `true`, um objeto vazio será considerado um objeto válido.
8
+ * @returns `true` se o valor for um objeto (não nulo e não um array), caso contrário, `false`.
9
+ */
10
+ static isObject<T = unknown>(inp: T, empty?: boolean): boolean;
11
+ /**
12
+ * Verifica se um valor é considerado vazio.
13
+ *
14
+ * Um valor é considerado vazio se for:
15
+ * - `null` ou `undefined`
16
+ * - Uma string vazia `""`
17
+ * - Um número `NaN`
18
+ * - Um array vazio `[]`
19
+ * - Um objeto sem propriedades `{}`
20
+ * - Um valor de data inválido
21
+ *
22
+ * @param inp O valor a ser verificado.
23
+ * @returns `true` se o valor for vazio, caso contrário, `false`.
24
+ */
25
+ static isEmpty(inp: unknown): inp is null | undefined;
26
+ static isNewModel(inp: unknown): inp is null | undefined;
27
+ /**
28
+ * Mescla dois objetos ou dois valores (strings ou objetos). Caso ambos sejam objetos,
29
+ * eles serão combinados. Se forem strings, elas serão concatenadas. Se algum dos valores
30
+ * for `undefined`, o outro valor será retornado.
31
+ *
32
+ * @param obj1 O primeiro objeto ou valor.
33
+ * @param obj2 O segundo objeto ou valor.
34
+ * @returns O resultado da mesclagem ou o valor que não estiver (`undefined`, `null`...).
35
+ *
36
+ * @example
37
+ * merge({ name: 'John' }, { age: 30 }); // Retorna { name: 'John', age: 30 }.
38
+ * merge('Hello', 'World'); // Retorna 'Hello World'.
39
+ * merge(undefined, 'Fallback'); // Retorna 'Fallback'.
40
+ */
41
+ static merge<T1 = unknown, T2 = unknown>(obj1?: Nullable<T1>, obj2?: Nullable<T2>): Nullable<unknown>;
42
+ /**
43
+ * Verifica se um objeto possui uma propriedade específica.
44
+ *
45
+ * @param obj Objeto a ser verificado.
46
+ * @param property Nome da propriedade a ser verificada.
47
+ * @returns `true` se a propriedade existir no objeto, caso contrário, `false`.
48
+ *
49
+ * @example
50
+ * const user = { name: 'Alice', age: 25 };
51
+ * console.log(StorageUtil.hasPropertyInObj(user, 'name')); // true
52
+ * console.log(StorageUtil.hasPropertyInObj(user, 'email')); // false
53
+ */
54
+ static hasPropertyInObj<T = unknown>(obj: T, property: string): boolean;
55
+ /**
56
+ * Realiza uma clonagem profunda do objeto fornecido.
57
+ *
58
+ * @param obj - Objeto a ser clonado.
59
+ * @returns Uma cópia profunda do objeto ou `null` se o objeto for vazio.
60
+ *
61
+ * Utiliza `structuredClone`, garantindo uma clonagem eficiente e preservando
62
+ * estruturas complexas como Arrays, Maps e Sets.
63
+ */
64
+ static clone<T = unknown>(obj: T): T;
65
+ /**
66
+ * Compara dois valores verificando se são iguais em valor (deep equality).
67
+ *
68
+ * Faz uma comparação profunda entre os objetos, arrays, datas e expressões regulares,
69
+ * verificando se os conteúdos são equivalentes, não apenas a referência.
70
+ * Também trata o caso especial de NaN.
71
+ *
72
+ * @param obj1 - Primeiro objeto/valor a ser comparado.
73
+ * @param obj2 - Segundo objeto/valor a ser comparado.
74
+ * @returns `true` se os valores forem iguais em conteúdo; `false` caso contrário.
75
+ *
76
+ * @example
77
+ * equals({ a: 1, b: [2, 3] }, { a: 1, b: [2, 3] }); // true
78
+ * equals(new Date('2020-01-01'), new Date('2020-01-01')); // true
79
+ * equals(NaN, NaN); // true
80
+ * equals({ a: 1 }, { a: 2 }); // false
81
+ */
82
+ static equals(obj1: unknown, obj2: unknown): boolean;
83
+ }
@@ -0,0 +1,103 @@
1
+ import * as libPhone from 'libphonenumber-js';
2
+ export declare class PhoneUtil {
3
+ /**
4
+ * Remove todos os caracteres não numéricos de uma string.
5
+ *
6
+ * @param value - O valor de entrada contendo um número de telefone.
7
+ * @returns Apenas os dígitos do número.
8
+ *
9
+ * @example
10
+ * PhoneUtil.removeCharacters('(11) 91234-5678'); // "11912345678"
11
+ */
12
+ static removeCharacters(value: string): string;
13
+ /**
14
+ * Gera uma máscara baseada no número de telefone, substituindo os dígitos por zeros.
15
+ * Útil para criar placeholders no formato do número.
16
+ *
17
+ * @param phoneNumber - Número de telefone para gerar a máscara.
18
+ * @param country - Código do país (padrão: 'BR').
19
+ * @returns A máscara baseada na formatação nacional.
20
+ *
21
+ * @example
22
+ * PhoneUtil.maskLib('11912345678'); // "(11) 0 0000-0000"
23
+ */
24
+ static maskLib(phoneNumber: string, country?: libPhone.CountryCode): string;
25
+ /**
26
+ * Formata um número de telefone no padrão nacional do país informado.
27
+ *
28
+ * @param phoneNumber - O número de telefone.
29
+ * @param country - Código do país (padrão: 'BR').
30
+ * @returns O número formatado.
31
+ *
32
+ * @example
33
+ * PhoneUtil.formatLib('11912345678'); // "(11) 9 1234-5678"
34
+ */
35
+ static formatLib(phoneNumber: string, country?: libPhone.CountryCode): string;
36
+ /**
37
+ * Formata um número de telefone com base em uma máscara customizada.
38
+ *
39
+ * @param number - O número de telefone puro.
40
+ * @param mask - Máscara a ser aplicada (ex: '(00) 00000-0000').
41
+ * @returns Número formatado conforme a máscara.
42
+ *
43
+ * @example
44
+ * PhoneUtil.format('11912345678', '(00) 00000-0000'); // "(11) 91234-5678"
45
+ */
46
+ static format(number: string, mask?: string): string;
47
+ /**
48
+ * Retorna a máscara adequada para o número informado, baseada no seu comprimento e tipo.
49
+ *
50
+ * @param phone - Número de telefone puro.
51
+ * @returns Máscara correspondente ao tipo de número.
52
+ *
53
+ * @example
54
+ * PhoneUtil.mask('11912345678'); // "(11) 0 0000-0000"
55
+ * PhoneUtil.mask('08001234567'); // "0000 000 0000"
56
+ */
57
+ static mask(phone: string): string;
58
+ /**
59
+ * Verifica se o número de telefone é possível (conforme regras do país).
60
+ *
61
+ * @param phoneNumber - Número a ser verificado.
62
+ * @param country - Código do país (padrão: 'BR').
63
+ * @returns Verdadeiro se o número for possível.
64
+ *
65
+ * @example
66
+ * PhoneUtil.isPossible('11912345678'); // true
67
+ */
68
+ static isPossible(phoneNumber: string, country?: libPhone.CountryCode): boolean;
69
+ /**
70
+ * Verifica se o número de telefone é válido (real e formatado corretamente).
71
+ *
72
+ * @param phoneNumber - Número a ser validado.
73
+ * @param country - Código do país (padrão: 'BR').
74
+ * @returns Verdadeiro se for válido.
75
+ *
76
+ * @example
77
+ * PhoneUtil.isValid('11912345678'); // true
78
+ */
79
+ static isValid(phoneNumber: string, country?: libPhone.CountryCode): boolean;
80
+ /**
81
+ * Retorna o tipo do número (mobile, fixed line, etc.).
82
+ *
83
+ * @param phoneNumber - Número de telefone.
84
+ * @param country - Código do país (padrão: 'BR').
85
+ * @returns Tipo do número, ou null se não for possível determinar.
86
+ *
87
+ * @example
88
+ * PhoneUtil.getType('11912345678'); // "MOBILE"
89
+ */
90
+ static getType(phoneNumber: string, country?: libPhone.CountryCode): libPhone.NumberType | null;
91
+ /**
92
+ * Compara dois números para verificar se representam o mesmo telefone.
93
+ *
94
+ * @param phoneNumber1 - Primeiro número.
95
+ * @param phoneNumber2 - Segundo número.
96
+ * @param country - Código do país (padrão: 'BR').
97
+ * @returns Verdadeiro se forem iguais logicamente (mesmo número real).
98
+ *
99
+ * @example
100
+ * PhoneUtil.isEqual('(11) 91234-5678', '+55 11 91234-5678'); // true
101
+ */
102
+ static isEqual(phoneNumber1: string, phoneNumber2: string, country?: libPhone.CountryCode): boolean;
103
+ }
@@ -0,0 +1,182 @@
1
+ export declare const STATES_DATA: {
2
+ AC: {
3
+ code: string;
4
+ areaCodes: number[];
5
+ ieLength: number;
6
+ name: string;
7
+ };
8
+ AL: {
9
+ code: string;
10
+ areaCodes: number[];
11
+ ieLength: number;
12
+ name: string;
13
+ };
14
+ AP: {
15
+ code: string;
16
+ areaCodes: number[];
17
+ ieLength: number;
18
+ name: string;
19
+ };
20
+ AM: {
21
+ code: string;
22
+ areaCodes: number[];
23
+ ieLength: number;
24
+ name: string;
25
+ };
26
+ BA: {
27
+ code: string;
28
+ areaCodes: number[];
29
+ ieLength: number[];
30
+ name: string;
31
+ };
32
+ CE: {
33
+ code: string;
34
+ areaCodes: number[];
35
+ ieLength: number;
36
+ name: string;
37
+ };
38
+ DF: {
39
+ code: string;
40
+ areaCodes: number[];
41
+ ieLength: number;
42
+ name: string;
43
+ };
44
+ ES: {
45
+ code: string;
46
+ areaCodes: number[];
47
+ ieLength: number;
48
+ name: string;
49
+ };
50
+ GO: {
51
+ code: string;
52
+ areaCodes: number[];
53
+ ieLength: number;
54
+ name: string;
55
+ };
56
+ MA: {
57
+ code: string;
58
+ areaCodes: number[];
59
+ ieLength: number;
60
+ name: string;
61
+ };
62
+ MG: {
63
+ code: string;
64
+ areaCodes: number[];
65
+ ieLength: number;
66
+ name: string;
67
+ };
68
+ MT: {
69
+ code: string;
70
+ areaCodes: number[];
71
+ ieLength: number;
72
+ name: string;
73
+ };
74
+ MS: {
75
+ code: string;
76
+ areaCodes: number[];
77
+ ieLength: number;
78
+ name: string;
79
+ };
80
+ PA: {
81
+ code: string;
82
+ areaCodes: number[];
83
+ ieLength: number;
84
+ name: string;
85
+ };
86
+ PB: {
87
+ code: string;
88
+ areaCodes: number[];
89
+ ieLength: number;
90
+ name: string;
91
+ };
92
+ PE: {
93
+ code: string;
94
+ areaCodes: number[];
95
+ ieLength: number;
96
+ name: string;
97
+ };
98
+ PI: {
99
+ code: string;
100
+ areaCodes: number[];
101
+ ieLength: number;
102
+ name: string;
103
+ };
104
+ PR: {
105
+ code: string;
106
+ areaCodes: number[];
107
+ ieLength: number;
108
+ name: string;
109
+ };
110
+ RJ: {
111
+ code: string;
112
+ areaCodes: number[];
113
+ ieLength: number;
114
+ name: string;
115
+ };
116
+ RN: {
117
+ code: string;
118
+ areaCodes: number[];
119
+ ieLength: number[];
120
+ name: string;
121
+ };
122
+ RO: {
123
+ code: string;
124
+ areaCodes: number[];
125
+ ieLength: number;
126
+ name: string;
127
+ };
128
+ RS: {
129
+ code: string;
130
+ areaCodes: number[];
131
+ ieLength: number;
132
+ name: string;
133
+ };
134
+ RR: {
135
+ code: string;
136
+ areaCodes: number[];
137
+ ieLength: number;
138
+ name: string;
139
+ };
140
+ SC: {
141
+ code: string;
142
+ areaCodes: number[];
143
+ ieLength: number;
144
+ name: string;
145
+ };
146
+ SE: {
147
+ code: string;
148
+ areaCodes: number[];
149
+ ieLength: number;
150
+ name: string;
151
+ };
152
+ SP: {
153
+ code: string;
154
+ areaCodes: number[];
155
+ ieLength: number;
156
+ name: string;
157
+ };
158
+ TO: {
159
+ code: string;
160
+ areaCodes: number[];
161
+ ieLength: number[];
162
+ name: string;
163
+ };
164
+ };
165
+ export type tUFState = keyof typeof STATES_DATA;
166
+ export type tStateName = 'Acre' | 'Alagoas' | 'Amapá' | 'Amazonas' | 'Bahia' | 'Ceará' | 'Distrito Federal' | 'Espírito Santo' | 'Goiás' | 'Maranhão' | 'Minas Gerais' | 'Mato Grosso' | 'Mato Grosso do Sul' | 'Pará' | 'Paraíba' | 'Pernambuco' | 'Piauí' | 'Paraná' | 'Rio de Janeiro' | 'Rio Grande do Norte' | 'Rondônia' | 'Rio Grande do Sul' | 'Roraima' | 'Santa Catarina' | 'Sergipe' | 'São Paulo' | 'Tocantins';
167
+ export declare const stateNamesMap: Record<tUFState, tStateName>;
168
+ export declare class StateUtil {
169
+ /**
170
+ * Retorna o nome do estado brasileiro com base na sigla (UF).
171
+ *
172
+ * @param uf - Sigla do estado (por exemplo: 'SP', 'RJ', 'MG').
173
+ * @param full - Define se o retorno deve incluir o formato completo com a sigla (ex: '(SP) - São Paulo').
174
+ * Caso `false` ou não informado, retorna apenas o nome (ex: 'São Paulo').
175
+ * @returns O nome do estado no formato simples ou completo, ou `uf` se a sigla for inválida.
176
+ *
177
+ * @example
178
+ * StateUtil.stateName('SP'); // 'São Paulo'
179
+ * StateUtil.stateName('SP', true); // '(SP) - São Paulo'
180
+ */
181
+ static stateName(uf: tUFState, full?: boolean): string;
182
+ }
@@ -0,0 +1,78 @@
1
+ import { Nullable } from '../types/nullable.type';
2
+ /** Classe utilitária para manipulação do `sessionStorage` e `localStorage`. */
3
+ export declare class StorageUtil {
4
+ /**
5
+ * Armazena um item no `sessionStorage`.
6
+ *
7
+ * @param key Chave associada ao valor armazenado.
8
+ * @param value Valor a ser armazenado (qualquer tipo de dado).
9
+ *
10
+ * @example
11
+ * StorageUtil.setSessionItem('user', { name: 'Alice', age: 25 });
12
+ */
13
+ static setSessionItem<T = unknown>(key: string, value: T): void;
14
+ /**
15
+ * Obtém um item armazenado no `sessionStorage`.
16
+ *
17
+ * @param key Chave do item a ser recuperado.
18
+ * @returns O valor armazenado convertido para o tipo correspondente ou `null` caso não exista.
19
+ *
20
+ * @example
21
+ * const user = StorageUtil.getSessionItem<{ name: string; age: number }>('user');
22
+ * console.log(user); // { name: 'Alice', age: 25 } ou null se não existir.
23
+ */
24
+ static getSessionItem<T = unknown>(key: string): Nullable<T>;
25
+ /**
26
+ * Armazena um item no `localStorage`.
27
+ *
28
+ * @param key Chave associada ao valor armazenado.
29
+ * @param value Valor a ser armazenado (qualquer tipo de dado).
30
+ *
31
+ * @example
32
+ * StorageUtil.setLocalItem('theme', 'dark');
33
+ */
34
+ static setLocalItem<T = unknown>(key: string, value: T): void;
35
+ /**
36
+ * Obtém um item armazenado no `localStorage`.
37
+ *
38
+ * @param key Chave do item a ser recuperado.
39
+ * @returns O valor armazenado convertido para o tipo correspondente ou `null` caso não exista.
40
+ *
41
+ * @example
42
+ * const theme = StorageUtil.getLocalItem<string>('theme');
43
+ * console.log(theme); // 'dark' ou null se não existir.
44
+ */
45
+ static getLocalItem<T = unknown>(key: string): Nullable<T>;
46
+ /**
47
+ * Remove um item específico do `sessionStorage`.
48
+ *
49
+ * @param key Chave do item a ser removido.
50
+ *
51
+ * @example
52
+ * StorageUtil.removeSessionItem('user');
53
+ */
54
+ static removeSessionItem(key: string): void;
55
+ /**
56
+ * Remove um item específico do `localStorage`.
57
+ *
58
+ * @param key Chave do item a ser removido.
59
+ *
60
+ * @example
61
+ * StorageUtil.removeLocalItem('theme');
62
+ */
63
+ static removeLocalItem(key: string): void;
64
+ /**
65
+ * Limpa todos os dados armazenados no `sessionStorage`.
66
+ *
67
+ * @example
68
+ * StorageUtil.clearSession();
69
+ */
70
+ static clearSession(): void;
71
+ /**
72
+ * Limpa todos os dados armazenados no `localStorage`.
73
+ *
74
+ * @example
75
+ * StorageUtil.clearLocal();
76
+ */
77
+ static clearLocal(): void;
78
+ }
@@ -0,0 +1,89 @@
1
+ export declare class StringUtil {
2
+ /**
3
+ * Verifica se um valor é considerado vazio.
4
+ *
5
+ * Um valor é considerado vazio se for:
6
+ * - `null` ou `undefined`
7
+ * - Uma string vazia `""`
8
+ * - Um número `NaN`
9
+ * - Um array vazio `[]`
10
+ * - Um objeto sem propriedades `{}`
11
+ * - Um valor de data inválido
12
+ *
13
+ * @param inp O valor a ser verificado.
14
+ * @returns `true` se o valor for vazio, caso contrário, `false`.
15
+ */
16
+ static isEmpty(inp: unknown): inp is null | undefined;
17
+ /**
18
+ * Remove os acentos (diacríticos) de uma string.
19
+ * A função tenta usar a normalização Unicode Property Escapes para uma remoção mais eficiente de acentos.
20
+ * Caso o ambiente não suporte, utiliza a normalização NFD e remove os acentos de forma tradicional.
21
+ *
22
+ * @param inp A string da qual os acentos serão removidos.
23
+ * @returns A string sem os acentos.
24
+ *
25
+ * @example
26
+ * removeAccents('café'); // Retorna 'cafe'.
27
+ * removeAccents('ação'); // Retorna 'acao'.
28
+ */
29
+ static removeAccents(inp: string): string;
30
+ /**
31
+ * Trunca uma string para um tamanho máximo especificado e adiciona um sufixo (por padrão, '...') caso o limite seja ultrapassado.
32
+ *
33
+ * @param inp A string que será truncada.
34
+ * @param maxLength O tamanho máximo da string antes do truncamento. (padrão é 50)
35
+ * @param suffix O sufixo que será adicionado após o truncamento. (padrão é '...').
36
+ * @returns A string truncada com o sufixo, se necessário.
37
+ *
38
+ * @example
39
+ * truncateWithSuffix('Lorem ipsum dolor sit amet', 5); // Retorna 'Lorem...'.
40
+ * truncateWithSuffix('Short text', 20); // Retorna 'Short text' (não há truncamento).
41
+ */
42
+ static truncateWithSuffix(inp: string, maxLength?: number, suffix?: string): string;
43
+ /**
44
+ * Divide uma string em substrings de um tamanho máximo especificado.
45
+ * A função cria um array com as substrings resultantes da divisão da string original.
46
+ *
47
+ * @param inp A string a ser dividida.
48
+ * @param split O tamanho máximo de cada substring.
49
+ * @returns Um array com as substrings divididas.
50
+ *
51
+ * @example
52
+ * split('abcdefg', 3); // Retorna ['abc', 'def', 'g'].
53
+ * split('hello', 2); // Retorna ['he', 'll', 'o'].
54
+ */
55
+ static split(inp: string, split: number): string[];
56
+ /**
57
+ * A função capitaliza todas as palavras da string, exceto preposições e acrônimos.
58
+ * @param inp A string a ser capitalizada.
59
+ * @param lowerCaseWords Uma lista de preposições que devem ser mantidas em minúsculas.
60
+ * @param upperCaseWords Uma lista de acrônimos que devem ser mantidos em maiúsculas.
61
+ * @returns A string com as palavras capitalizadas.
62
+ * @example
63
+ * capitalize('lorem ipsum dolor sit amet'); // Retorna 'Lorem Ipsum Dolor Sit Amet'.
64
+ * capitalize('lorem ipsum cia dolor sit amet'); // Retorna 'Lorem Ipsum cia Dolor Sit Amet'.
65
+ * capitalize('lorem ipsum cia dolor sit amet', ['cia'], ['cia']); // Retorna 'Lorem Ipsum cia Dolor Sit Amet'.
66
+ */
67
+ static capitalize(inp: string, lowerCaseWords?: string[], upperCaseWords?: string[]): string;
68
+ /**
69
+ * Gera uma string composta por espaços Unicode repetidos, conforme a quantidade e tipo especificado.
70
+ *
71
+ * #### Tipos de espaço Unicode:
72
+ * - \u00A0 → Non-breaking space (como espaço normal, mas não quebra linha)
73
+ * - \u2002 → En space (meio espaço)
74
+ * - \u2003 → Em space (espaço largo) [padrão]
75
+ * - \u2009 → Thin space (espaço fino)
76
+ *
77
+ * @param quantity Quantidade de vezes que o caractere de espaço será repetido. Padrão: 1
78
+ * @param space Unicode do tipo de espaço. Padrão: '\u2003' (Em space)
79
+ * @returns Uma string com os espaços desejados.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * unicodeSpacer(); // '\u2003'
84
+ * unicodeSpacer(3); // '\\u2003\\u2003\\u2003'
85
+ * unicodeSpacer(2, '\u2009'); // '\\u2009\\u2009'
86
+ * ```
87
+ */
88
+ static spacer(quantity?: number, space?: '\u00A0' | '\u2002' | '\u2003' | '\u2009'): string;
89
+ }
@@ -0,0 +1,33 @@
1
+ import { GIPIUuid } from '../types/uuid.type';
2
+ export declare class UUIDUtil {
3
+ /**
4
+ * Valida se o identificador (UUID) fornecido é válido.
5
+ *
6
+ * @param id O identificador (UUID) a ser validado.
7
+ * @returns Um valor booleano indicando se o identificador é válido:
8
+ * - Retorna `false` se o identificador for vazio, nulo ou inválido.
9
+ * - Retorna `true` se o identificador for um número positivo ou uma string não vazia.
10
+ *
11
+ * @example
12
+ * isValid('123e4567-e89b-12d3-a456-426614174000'); // true
13
+ * isValid(12345); // true
14
+ * isValid(''); // false
15
+ * isValid(null); // false
16
+ */
17
+ static isValid(id: GIPIUuid): boolean;
18
+ /**
19
+ * Verifica se um valor é considerado vazio.
20
+ *
21
+ * Um valor é considerado vazio se for:
22
+ * - `null` ou `undefined`
23
+ * - Uma string vazia `""`
24
+ * - Um número `NaN`
25
+ * - Um array vazio `[]`
26
+ * - Um objeto sem propriedades `{}`
27
+ * - Um valor de data inválido
28
+ *
29
+ * @param inp O valor a ser verificado.
30
+ * @returns `true` se o valor for vazio, caso contrário, `false`.
31
+ */
32
+ static isEmpty(inp: unknown): inp is null | undefined;
33
+ }