@sankhyalabs/core 5.20.0-dev.7 → 5.20.0-dev.70

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 (182) hide show
  1. package/.docs/classes/Change.md +11 -11
  2. package/.docs/classes/ColumnFilterManager.md +145 -0
  3. package/.docs/classes/DataUnit.md +405 -137
  4. package/.docs/classes/DataUnitInMemoryLoader.md +303 -0
  5. package/.docs/classes/DataUnitLoaderUtils.md +151 -0
  6. package/.docs/classes/DateUtils.md +8 -8
  7. package/.docs/classes/FieldComparator.md +2 -2
  8. package/.docs/classes/IDBRepository.md +22 -0
  9. package/.docs/classes/LockManager.md +249 -0
  10. package/.docs/classes/MaskFormatter.md +66 -14
  11. package/.docs/classes/ObjectUtils.md +141 -0
  12. package/.docs/classes/OverflowWatcher.md +533 -0
  13. package/.docs/classes/SelectionInfo.md +25 -11
  14. package/.docs/classes/ServiceCanceledException.md +193 -0
  15. package/.docs/classes/ServiceUtils.md +67 -0
  16. package/.docs/classes/SilentException.md +193 -0
  17. package/.docs/classes/UserAgentUtils.md +15 -1
  18. package/.docs/enumerations/Action.md +41 -21
  19. package/.docs/enumerations/ChangeOperation.md +4 -4
  20. package/.docs/enumerations/LockManagerOperation.md +33 -0
  21. package/.docs/enumerations/OverflowDirection.md +29 -0
  22. package/.docs/enumerations/RECORD_DATE_FORMAT.md +27 -0
  23. package/.docs/enumerations/SelectionMode.md +2 -2
  24. package/.docs/enumerations/StorageType.md +37 -0
  25. package/.docs/globals.md +24 -0
  26. package/.docs/interfaces/DUActionInterceptor.md +1 -1
  27. package/.docs/interfaces/DataUnitInMemoryLoaderConfig.md +37 -0
  28. package/.docs/interfaces/IRepository.md +18 -0
  29. package/.docs/interfaces/LoadDataRequest.md +1 -1
  30. package/.docs/interfaces/OverFlowWatcherParams.md +67 -0
  31. package/.docs/interfaces/PageRequest.md +3 -3
  32. package/.docs/interfaces/PaginationInfo.md +25 -0
  33. package/.docs/interfaces/PaginationInfoBuilderParams.md +37 -0
  34. package/.docs/interfaces/QuickFilter.md +3 -3
  35. package/.docs/interfaces/Record.md +4 -4
  36. package/.docs/interfaces/SavedRecord.md +5 -5
  37. package/.docs/interfaces/WaitingChange.md +3 -3
  38. package/.docs/namespaces/MaskFormatter/type-aliases/MaskCharacter.md +1 -1
  39. package/.docs/namespaces/MaskFormatter/variables/MaskCharacter.md +1 -1
  40. package/.docs/type-aliases/DataUnitEventOptions.md +17 -0
  41. package/.docs/type-aliases/OnOverflowCallBack.md +25 -0
  42. package/.docs/variables/OVERFLOWED_CLASS_NAME.md +13 -0
  43. package/bun.lockb +0 -0
  44. package/dist/dataunit/DataUnit.d.ts +82 -12
  45. package/dist/dataunit/DataUnit.js +209 -67
  46. package/dist/dataunit/DataUnit.js.map +1 -1
  47. package/dist/dataunit/DataUnitHelper.js +6 -5
  48. package/dist/dataunit/DataUnitHelper.js.map +1 -1
  49. package/dist/dataunit/formatting/PrettyFormatter.js +14 -6
  50. package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -1
  51. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.d.ts +9 -0
  52. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.js +6 -0
  53. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.js.map +1 -0
  54. package/dist/dataunit/loader/dataUnitInMemoryLoader.d.ts +25 -0
  55. package/dist/dataunit/loader/dataUnitInMemoryLoader.js +131 -0
  56. package/dist/dataunit/loader/dataUnitInMemoryLoader.js.map +1 -0
  57. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.d.ts +20 -0
  58. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.js +62 -0
  59. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.js.map +1 -0
  60. package/dist/dataunit/loading/LoadDataRequest.d.ts +1 -1
  61. package/dist/dataunit/loading/PaginationInfo.d.ts +8 -0
  62. package/dist/dataunit/metadata/DataType.js +3 -0
  63. package/dist/dataunit/metadata/DataType.js.map +1 -1
  64. package/dist/dataunit/sorting/FieldComparator.d.ts +2 -2
  65. package/dist/dataunit/sorting/FieldComparator.js +4 -9
  66. package/dist/dataunit/sorting/FieldComparator.js.map +1 -1
  67. package/dist/dataunit/state/action/DataUnitAction.d.ts +2 -0
  68. package/dist/dataunit/state/action/DataUnitAction.js +2 -0
  69. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
  70. package/dist/dataunit/state/slice/InvalidFieldsSlice.js +2 -0
  71. package/dist/dataunit/state/slice/InvalidFieldsSlice.js.map +1 -1
  72. package/dist/dataunit/state/slice/LoadingControlSlice.js +16 -0
  73. package/dist/dataunit/state/slice/LoadingControlSlice.js.map +1 -1
  74. package/dist/dataunit/state/slice/RecordsSlice.js +1 -1
  75. package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -1
  76. package/dist/dataunit/state/slice/SelectionSlice.js +4 -4
  77. package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
  78. package/dist/exceptions/ServiceCanceledException.d.ts +14 -0
  79. package/dist/exceptions/ServiceCanceledException.js +13 -0
  80. package/dist/exceptions/ServiceCanceledException.js.map +1 -0
  81. package/dist/exceptions/SilentException.d.ts +14 -0
  82. package/dist/exceptions/SilentException.js +13 -0
  83. package/dist/exceptions/SilentException.js.map +1 -0
  84. package/dist/index.d.ts +12 -2
  85. package/dist/index.js +11 -1
  86. package/dist/index.js.map +1 -1
  87. package/dist/repository/IRepository.d.ts +6 -0
  88. package/dist/repository/indexeddb/IDBRepository.d.ts +1 -0
  89. package/dist/repository/indexeddb/IDBRepository.js +3 -0
  90. package/dist/repository/indexeddb/IDBRepository.js.map +1 -1
  91. package/dist/utils/CacheManager/index.d.ts +52 -0
  92. package/dist/utils/CacheManager/index.js +101 -0
  93. package/dist/utils/CacheManager/index.js.map +1 -0
  94. package/dist/utils/CacheManager/interfaces/index.d.ts +5 -0
  95. package/dist/utils/CacheManager/interfaces/index.js +7 -0
  96. package/dist/utils/CacheManager/interfaces/index.js.map +1 -0
  97. package/dist/utils/ColumnFilterManager.d.ts +19 -0
  98. package/dist/utils/ColumnFilterManager.js +73 -0
  99. package/dist/utils/ColumnFilterManager.js.map +1 -0
  100. package/dist/utils/DateUtils.js +3 -0
  101. package/dist/utils/DateUtils.js.map +1 -1
  102. package/dist/utils/ElementUtils.d.ts +2 -0
  103. package/dist/utils/ElementUtils.js +9 -0
  104. package/dist/utils/ElementUtils.js.map +1 -0
  105. package/dist/utils/LockManager.d.ts +58 -0
  106. package/dist/utils/LockManager.js +191 -0
  107. package/dist/utils/LockManager.js.map +1 -0
  108. package/dist/utils/MaskFormatter.d.ts +16 -1
  109. package/dist/utils/MaskFormatter.js +82 -2
  110. package/dist/utils/MaskFormatter.js.map +1 -1
  111. package/dist/utils/ObjectUtils.d.ts +38 -0
  112. package/dist/utils/ObjectUtils.js +51 -0
  113. package/dist/utils/ObjectUtils.js.map +1 -1
  114. package/dist/utils/OnboardingUtils.js +1 -1
  115. package/dist/utils/OnboardingUtils.js.map +1 -1
  116. package/dist/utils/OverflowWatcher/index.d.ts +59 -0
  117. package/dist/utils/OverflowWatcher/index.js +188 -0
  118. package/dist/utils/OverflowWatcher/index.js.map +1 -0
  119. package/dist/utils/OverflowWatcher/types/overflow-callback.d.ts +6 -0
  120. package/dist/utils/OverflowWatcher/types/overflow-callback.js +2 -0
  121. package/dist/utils/OverflowWatcher/types/overflow-callback.js.map +1 -0
  122. package/dist/utils/OverflowWatcher/types/overflow-direction.d.ts +7 -0
  123. package/dist/utils/OverflowWatcher/types/overflow-direction.js +9 -0
  124. package/dist/utils/OverflowWatcher/types/overflow-direction.js.map +1 -0
  125. package/dist/utils/ServiceUtils.d.ts +24 -0
  126. package/dist/utils/ServiceUtils.js +40 -0
  127. package/dist/utils/ServiceUtils.js.map +1 -0
  128. package/dist/utils/SortingUtils.d.ts +9 -0
  129. package/dist/utils/SortingUtils.js +24 -0
  130. package/dist/utils/SortingUtils.js.map +1 -0
  131. package/dist/utils/UserAgentUtils/index.d.ts +1 -0
  132. package/dist/utils/UserAgentUtils/index.js +5 -0
  133. package/dist/utils/UserAgentUtils/index.js.map +1 -1
  134. package/jest.config.ts +2 -0
  135. package/package.json +2 -1
  136. package/reports/test-report.xml +215 -0
  137. package/setupTests.js +7 -0
  138. package/sonar-project.properties +6 -3
  139. package/src/dataunit/DataUnit.ts +250 -82
  140. package/src/dataunit/DataUnitHelper.ts +6 -5
  141. package/src/dataunit/formatting/PrettyFormatter.ts +15 -6
  142. package/src/dataunit/loader/DataUnitInMemoryLoaderConfig.ts +10 -0
  143. package/src/dataunit/loader/dataUnitInMemoryLoader.ts +176 -0
  144. package/src/dataunit/loader/utils/dataUnitLoaderUtils.ts +86 -0
  145. package/src/dataunit/loading/LoadDataRequest.ts +1 -1
  146. package/src/dataunit/loading/PaginationInfo.ts +10 -0
  147. package/src/dataunit/metadata/DataType.ts +3 -0
  148. package/src/dataunit/sorting/FieldComparator.ts +18 -32
  149. package/src/dataunit/state/action/DataUnitAction.ts +2 -0
  150. package/src/dataunit/state/slice/InvalidFieldsSlice.ts +2 -0
  151. package/src/dataunit/state/slice/LoadingControlSlice.ts +42 -0
  152. package/src/dataunit/state/slice/RecordsSlice.ts +1 -1
  153. package/src/dataunit/state/slice/SelectionSlice.ts +4 -4
  154. package/src/dataunit/state/slice/test/RecordsSlice.spec.ts +45 -0
  155. package/src/dataunit/test/DataUnit.spec.ts +44 -0
  156. package/src/exceptions/ServiceCanceledException.ts +25 -0
  157. package/src/exceptions/SilentException.ts +25 -0
  158. package/src/index.ts +29 -1
  159. package/src/repository/IRepository.ts +7 -0
  160. package/src/repository/indexeddb/IDBRepository.ts +4 -0
  161. package/src/utils/CacheManager/index.ts +103 -0
  162. package/src/utils/CacheManager/interfaces/index.ts +5 -0
  163. package/src/utils/ColumnFilterManager.ts +104 -0
  164. package/src/utils/DateUtils.ts +3 -0
  165. package/src/utils/ElementUtils.ts +10 -0
  166. package/src/utils/LockManager.ts +213 -0
  167. package/src/utils/MaskFormatter.ts +93 -2
  168. package/src/utils/ObjectUtils.ts +56 -0
  169. package/src/utils/OnboardingUtils.ts +1 -1
  170. package/src/utils/OverflowWatcher/index.ts +243 -0
  171. package/src/utils/OverflowWatcher/types/overflow-callback.ts +6 -0
  172. package/src/utils/OverflowWatcher/types/overflow-direction.ts +7 -0
  173. package/src/utils/ServiceUtils.ts +36 -0
  174. package/src/utils/SortingUtils.ts +30 -0
  175. package/src/utils/UserAgentUtils/index.ts +6 -1
  176. package/src/utils/test/objectUtils.spec.ts +109 -0
  177. package/test/dataunit/formatting/PrettyFormatter.spec.ts +177 -0
  178. package/test/dataunit/loader/dataUnitInMemoryLoader.spec.ts +221 -0
  179. package/test/dataunit/loader/utils/dataUnitLoaderUtils.spec.ts +158 -0
  180. package/test/util/ColumnFilterManager.spec.ts +133 -0
  181. package/test/util/ElementUtils.spec.ts +34 -0
  182. package/test/util/OverflowWatcher.spec.ts +152 -0
@@ -70,13 +70,92 @@ export class MaskFormatter {
70
70
  this.placeholder = ' ';
71
71
  this.mask = mask;
72
72
  }
73
+ /**
74
+ * Aplica a máscara quando o input é alterado
75
+ *
76
+ * @param value Valor a ser aplicado com a máscara.
77
+ * @return O valor processado de acordo com o padrão.
78
+ */
79
+ applyMask(value) {
80
+ if (this.mask === MaskFormatter.DEFAULT_MASKS.cor_rgb) {
81
+ value = value.replace("#", "");
82
+ const expectedFormattedValue = this.format(value.replace(/\s/g, ""));
83
+ if (value === expectedFormattedValue) {
84
+ return value;
85
+ }
86
+ if (value.length >= 6) {
87
+ const formattedValue = this.format(value);
88
+ return formattedValue;
89
+ }
90
+ else {
91
+ return value;
92
+ }
93
+ }
94
+ const expectedFormattedValue = this.format(value.replace(/\s/g, ""));
95
+ if (value === expectedFormattedValue) {
96
+ return value;
97
+ }
98
+ const maskPlaceholders = this.mask.match(/[UAL#?*']/g) || [];
99
+ const placeholderCount = maskPlaceholders.length;
100
+ const validValue = value.split('').filter((char, index) => {
101
+ const placeholder = maskPlaceholders[index];
102
+ if (!placeholder)
103
+ return false;
104
+ switch (placeholder) {
105
+ case MaskFormatter.DIGIT_KEY:
106
+ return /\d/.test(char);
107
+ case MaskFormatter.UPPERCASE_KEY:
108
+ return /[a-zA-Z]/.test(char);
109
+ case MaskFormatter.LOWERCASE_KEY:
110
+ return /[a-zA-Z]/.test(char);
111
+ case MaskFormatter.ALPHA_NUMERIC_KEY:
112
+ return /[a-zA-Z0-9]/.test(char);
113
+ case MaskFormatter.CHARACTER_KEY:
114
+ return /[a-zA-Z]/.test(char);
115
+ case MaskFormatter.ANYTHING_KEY:
116
+ return true;
117
+ case MaskFormatter.LITERAL_KEY:
118
+ const literalChar = this.mask.charAt(index);
119
+ return char === literalChar;
120
+ default:
121
+ return false;
122
+ }
123
+ });
124
+ if (validValue.length >= placeholderCount) {
125
+ const formattedValue = this.format(validValue.join(''));
126
+ return formattedValue;
127
+ }
128
+ else {
129
+ const partialValue = validValue.join('');
130
+ return partialValue;
131
+ }
132
+ }
133
+ /**
134
+ * Remove a máscara formatando a string retornando sem máscara
135
+ *
136
+ * @param value Valor a ser formatado com máscara.
137
+ * @return O valor processado de acordo com o padrão.
138
+ */
139
+ removeMask(value) {
140
+ const maskString = this.mask.replace("#", "");
141
+ const maskElements = maskString.split("");
142
+ let valueMapped = value;
143
+ maskElements.forEach(maskChar => {
144
+ valueMapped = valueMapped.replace(maskChar, "");
145
+ });
146
+ return valueMapped;
147
+ }
73
148
  /**
74
149
  * Formata a string passada baseada na máscara definda pelo atributo mask.
75
150
  *
76
151
  * @param value Valor a ser formatado.
152
+ * @param trimBefore Executa um trim para remover espaços em branco.
77
153
  * @return O valor processado de acordo com o padrão.
78
154
  */
79
- format(value) {
155
+ format(value, trimBefore = false) {
156
+ if (trimBefore) {
157
+ value = value.trim();
158
+ }
80
159
  let result = '';
81
160
  const index = [0];
82
161
  let counter = 0;
@@ -142,7 +221,8 @@ MaskFormatter.DEFAULT_MASKS = {
142
221
  "cnpj": "##.###.###/####-##",
143
222
  "cpf": "###.###.###-##",
144
223
  "phone": "(##) ####-####",
145
- "cep": "##.###-###"
224
+ "cep": "##.###-###",
225
+ "cor_rgb": "'#AAAAAA"
146
226
  };
147
227
  //
148
228
  // Classes internas usadas para representar a máscara.
@@ -1 +1 @@
1
- {"version":3,"file":"MaskFormatter.js","sourceRoot":"","sources":["../../src/utils/MaskFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaskFormatter.js","sourceRoot":"","sources":["../../src/utils/MaskFormatter.ts"],"names":[],"mappings":"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"}
@@ -52,4 +52,42 @@ export default class ObjectUtils {
52
52
  * @returns - Se o objeto 1 é igual ao objeto 2.
53
53
  */
54
54
  static equals(obj1: any, obj2: any): any;
55
+ /**
56
+ * Compara se o valor de dois items são equivalentes.
57
+ * Comparando tanto o valor do item em si, quanto sua propriedade "value"
58
+ *
59
+ * @param obj1 - Objeto a ser comparado.
60
+ * @param obj2 - Objeto a ser comparado.
61
+ * @param propToCompare - propriedade que deve ser comparada.
62
+ * @returns - Se o objeto 1 é equivalente ao objeto 2.
63
+ *
64
+ * * @example
65
+ * hasEquivalentProps('123', {value: '123', label: teste}, 'value') | Retorna: true
66
+ * @example
67
+ * hasEquivalentProps('xpto', {value: '123', label: teste}, 'propName') | Retorna: false
68
+ */
69
+ static hasEquivalentProps(obj1: any, obj2: any, propToCompare?: string): boolean;
70
+ private static getComparableProp;
71
+ /**
72
+ * Verifica se o objeto está vazio (sem atributos).
73
+ *
74
+ * @param obj - Objeto a ser verificado.
75
+ * @returns - True caso o objeto esteja vazio.
76
+ */
77
+ static isEmpty(obj: object): boolean;
78
+ /**
79
+ * Verifica se o objeto NÃO está vazio (sem atributos).
80
+ *
81
+ * @param obj - Objeto a ser verificado.
82
+ * @returns - True caso o objeto NÃO esteja vazio
83
+ */
84
+ static isNotEmpty(obj: object): boolean;
85
+ /**
86
+ * Busca a propriedade de um objeto baseado em seu caminho.
87
+ *
88
+ * @param obj - Objeto a ser verificado.
89
+ * @param keyPath - Caminho da propriedade a ser buscada.
90
+ * @returns - O valor da propriedade caso ela exista.
91
+ */
92
+ static getProp(obj: Record<string, any>, keyPath: string): Record<string, any> | undefined;
55
93
  }
@@ -74,5 +74,56 @@ export default class ObjectUtils {
74
74
  static equals(obj1, obj2) {
75
75
  return ObjectUtils.objectToString(obj1) === ObjectUtils.objectToString(obj2);
76
76
  }
77
+ /**
78
+ * Compara se o valor de dois items são equivalentes.
79
+ * Comparando tanto o valor do item em si, quanto sua propriedade "value"
80
+ *
81
+ * @param obj1 - Objeto a ser comparado.
82
+ * @param obj2 - Objeto a ser comparado.
83
+ * @param propToCompare - propriedade que deve ser comparada.
84
+ * @returns - Se o objeto 1 é equivalente ao objeto 2.
85
+ *
86
+ * * @example
87
+ * hasEquivalentProps('123', {value: '123', label: teste}, 'value') | Retorna: true
88
+ * @example
89
+ * hasEquivalentProps('xpto', {value: '123', label: teste}, 'propName') | Retorna: false
90
+ */
91
+ static hasEquivalentProps(obj1, obj2, propToCompare = "value") {
92
+ return this.getComparableProp(obj1, propToCompare) == this.getComparableProp(obj2, propToCompare);
93
+ }
94
+ static getComparableProp(value, propToCompare = "value") {
95
+ if (typeof value === 'object' && value !== null && propToCompare in value) {
96
+ return value[propToCompare];
97
+ }
98
+ return value;
99
+ }
100
+ /**
101
+ * Verifica se o objeto está vazio (sem atributos).
102
+ *
103
+ * @param obj - Objeto a ser verificado.
104
+ * @returns - True caso o objeto esteja vazio.
105
+ */
106
+ static isEmpty(obj) {
107
+ return Object.keys(obj).length === 0 && obj.constructor === Object;
108
+ }
109
+ /**
110
+ * Verifica se o objeto NÃO está vazio (sem atributos).
111
+ *
112
+ * @param obj - Objeto a ser verificado.
113
+ * @returns - True caso o objeto NÃO esteja vazio
114
+ */
115
+ static isNotEmpty(obj) {
116
+ return !this.isEmpty(obj);
117
+ }
118
+ /**
119
+ * Busca a propriedade de um objeto baseado em seu caminho.
120
+ *
121
+ * @param obj - Objeto a ser verificado.
122
+ * @param keyPath - Caminho da propriedade a ser buscada.
123
+ * @returns - O valor da propriedade caso ela exista.
124
+ */
125
+ static getProp(obj, keyPath) {
126
+ return keyPath.split('.').reduce((previous, current) => previous === null || previous === void 0 ? void 0 : previous[current], obj);
127
+ }
77
128
  }
78
129
  //# sourceMappingURL=ObjectUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectUtils.js","sourceRoot":"","sources":["../../src/utils/ObjectUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAG5B;;;;;OAKG;IACI,MAAM,CAAC,IAAI,CAAI,IAA2B;QAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAM,CAAC;IAC/D,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,cAAc,CAAC,IAA2B;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,cAAc,CAAC,IAAW;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,cAAc,CAAC,IAAS,EAAE,QAAgB;QACpD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACrB,IAAI,CAAC,UAAS,IAAY,EAAE,IAAY;YACvC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,GAAW,EAAE,EAAE;YAClC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,GAAW;QACzC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;aAC5B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChF,CAAC;IAEJ,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAAC,IAAS,EAAE,IAAS;QACvC,OAAO,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;CACJ"}
1
+ {"version":3,"file":"ObjectUtils.js","sourceRoot":"","sources":["../../src/utils/ObjectUtils.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export class OnboardingUtils {
24
24
  window.document.head.appendChild(scriptEl);
25
25
  }
26
26
  register(ctx) {
27
- window.userGuiding.identify(`${ctx.userID}-${ctx.userName}-${ctx.clientGaId}`, ctx);
27
+ window.userGuiding.identify(`${encodeURIComponent(ctx.userID)}-${encodeURIComponent(ctx.userName)}-${encodeURIComponent(ctx.clientGaId)}`, ctx);
28
28
  }
29
29
  }
30
30
  OnboardingUtils.USER_GUIDE_TAG_ID = "userGuideSnippet";
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingUtils.js","sourceRoot":"","sources":["../../src/utils/OnboardingUtils.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAIxB,gBAAsB,CAAC;IAEhB,MAAM,CAAC,WAAW;QACrB,IAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,IAAI,CAAC,MAAc,EAAE,GAAuB;QAC/C,IAAG,CAAC,MAAM,EAAC;YACP,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,YAAY,CAAC,MAAc;QAC/B,IAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,eAAe,CAAC,iBAAiB,EAAE,CAAC,EAAC;YACjF,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,GAAG,ygBAAygB,MAAM,KAAK,CAAC;QAC1iB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEO,QAAQ,CAAC,GAAuB;QACnC,MAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IACjG,CAAC;;AAlCuB,iCAAiB,GAAG,kBAAkB,CAAC;AAqCnE,MAAM,OAAO,kBAAkB;IAA/B;QACK,WAAM,GAAW,EAAE,CAAC;QACpB,aAAQ,GAAW,EAAE,CAAC;QACtB,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAW,EAAE,CAAC;QACxB,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA"}
1
+ {"version":3,"file":"OnboardingUtils.js","sourceRoot":"","sources":["../../src/utils/OnboardingUtils.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAIxB,gBAAsB,CAAC;IAEhB,MAAM,CAAC,WAAW;QACrB,IAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAEM,IAAI,CAAC,MAAc,EAAE,GAAuB;QAC/C,IAAG,CAAC,MAAM,EAAC;YACP,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,YAAY,CAAC,MAAc;QAC/B,IAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,eAAe,CAAC,iBAAiB,EAAE,CAAC,EAAC;YACjF,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC/D,QAAQ,CAAC,SAAS,GAAG,ygBAAygB,MAAM,KAAK,CAAC;QAC1iB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEO,QAAQ,CAAC,GAAuB;QACnC,MAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7J,CAAC;;AAlCuB,iCAAiB,GAAG,kBAAkB,CAAC;AAqCnE,MAAM,OAAO,kBAAkB;IAA/B;QACK,WAAM,GAAW,EAAE,CAAC;QACpB,aAAQ,GAAW,EAAE,CAAC;QACtB,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAW,EAAE,CAAC;QACxB,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA"}
@@ -0,0 +1,59 @@
1
+ import { OverflowDirection } from "./types/overflow-direction.js";
2
+ import { OnOverflowCallBack } from "./types/overflow-callback.js";
3
+ export * from "./types/overflow-direction.js";
4
+ export * from "./types/overflow-callback.js";
5
+ export declare const OVERFLOWED_CLASS_NAME = "overflowed";
6
+ export default class OverflowWatcher {
7
+ private _onResize;
8
+ private _resizeObserver;
9
+ private _lastContainerSize;
10
+ private _lastContainerInstance;
11
+ private _scrollDirection;
12
+ private _propSize;
13
+ private _hiddenItemsProps;
14
+ private _notOverFlowPros;
15
+ private _deltaSize;
16
+ private _notOverFlow;
17
+ readonly DATA_ELEMENT_ID = "data-element-id";
18
+ /**
19
+ * Cria uma instancia do OverflowWatcher
20
+ *
21
+ * @param element - Elemento HTML que o overflow será observado.
22
+ * @param callback - Função que sera chamada quando ocorrer overflow no elemento.
23
+ * @param overFlowDirection - Indica direção que o overflow será monitorado.
24
+ * @param deltaSize - Variação de tamanho que será considerada como overflow.
25
+ * @param debounce - Tempo até execução do callback em milissegundos.
26
+ * @param notOverFlow - Lista de ids ou data-element-ids dos elementos que não devem sofrer overFlow.
27
+ */
28
+ constructor({ element, callback, overFlowDirection, debounce, deltaSize, notOverFlow }: OverFlowWatcherParams);
29
+ addNotOverFlowElement(elementId: string): void;
30
+ destroy(): void;
31
+ forceUpdate(): void;
32
+ private handleResize;
33
+ private updateOverFlowedItems;
34
+ private registerNotOverflowProps;
35
+ private canNotRegisterNotOverFlow;
36
+ private hasChangedSize;
37
+ private proccessElements;
38
+ private clearOverFlow;
39
+ private proccessElementsOverFlow;
40
+ private isElementOverFlowing;
41
+ private canOverFlowElement;
42
+ private getDataElementId;
43
+ private exceedsAvaliableSize;
44
+ private calculateVariation;
45
+ private canNotOverFlowNotIncludedIds;
46
+ private registerElementSize;
47
+ private getElementSizeProps;
48
+ private calcChildrenSize;
49
+ private calcElementSize;
50
+ private isOverFlowed;
51
+ }
52
+ export interface OverFlowWatcherParams {
53
+ element: HTMLElement;
54
+ callback: OnOverflowCallBack;
55
+ overFlowDirection?: OverflowDirection;
56
+ deltaSize?: number;
57
+ debounce?: number;
58
+ notOverFlow?: string[];
59
+ }
@@ -0,0 +1,188 @@
1
+ import { JSUtils } from "../JSUtils.js";
2
+ import { OverflowDirection } from "./types/overflow-direction.js";
3
+ import { calcMarginSize } from '../ElementUtils.js';
4
+ export * from "./types/overflow-direction.js";
5
+ export * from "./types/overflow-callback.js";
6
+ export const OVERFLOWED_CLASS_NAME = 'overflowed';
7
+ export default class OverflowWatcher {
8
+ /**
9
+ * Cria uma instancia do OverflowWatcher
10
+ *
11
+ * @param element - Elemento HTML que o overflow será observado.
12
+ * @param callback - Função que sera chamada quando ocorrer overflow no elemento.
13
+ * @param overFlowDirection - Indica direção que o overflow será monitorado.
14
+ * @param deltaSize - Variação de tamanho que será considerada como overflow.
15
+ * @param debounce - Tempo até execução do callback em milissegundos.
16
+ * @param notOverFlow - Lista de ids ou data-element-ids dos elementos que não devem sofrer overFlow.
17
+ */
18
+ constructor({ element, callback, overFlowDirection = OverflowDirection.HORIZONTAL, debounce = 200, deltaSize = 0, notOverFlow = [] }) {
19
+ this._lastContainerSize = undefined;
20
+ this._lastContainerInstance = undefined;
21
+ this._scrollDirection = OverflowDirection.HORIZONTAL;
22
+ this._hiddenItemsProps = new Map();
23
+ this._notOverFlowPros = new Map();
24
+ this._notOverFlow = [];
25
+ this.DATA_ELEMENT_ID = 'data-element-id';
26
+ this._onResize = callback;
27
+ this._scrollDirection = overFlowDirection;
28
+ this._propSize = (OverflowDirection.HORIZONTAL === overFlowDirection) ? "width" : "height";
29
+ this._resizeObserver = new ResizeObserver(JSUtils.debounce((entries) => this.handleResize(entries), debounce));
30
+ this._resizeObserver.observe(element);
31
+ this._deltaSize = deltaSize;
32
+ this._notOverFlow = notOverFlow;
33
+ }
34
+ addNotOverFlowElement(elementId) {
35
+ if (!this._notOverFlow.includes(elementId)) {
36
+ this._notOverFlow.push(elementId);
37
+ }
38
+ }
39
+ destroy() {
40
+ this._resizeObserver.disconnect();
41
+ }
42
+ forceUpdate() {
43
+ if (this._lastContainerSize && this._lastContainerInstance) {
44
+ this.updateOverFlowedItems(this._lastContainerInstance, this._lastContainerSize);
45
+ }
46
+ }
47
+ handleResize(entries) {
48
+ if (!entries || entries.length === 0)
49
+ return;
50
+ const container = entries[0];
51
+ const containerSize = container.contentRect[this._propSize];
52
+ if (!containerSize)
53
+ return;
54
+ if (this.hasChangedSize(containerSize)) {
55
+ this.updateOverFlowedItems(container.target, containerSize);
56
+ }
57
+ }
58
+ updateOverFlowedItems(container, containerSize) {
59
+ const children = Array.from(container.children);
60
+ this.registerNotOverflowProps(children);
61
+ this.proccessElements(containerSize, children);
62
+ this._lastContainerSize = containerSize;
63
+ this._lastContainerInstance = container;
64
+ }
65
+ registerNotOverflowProps(children) {
66
+ children.forEach(childElement => {
67
+ const id = childElement.id || this.getDataElementId(childElement);
68
+ if (this.canNotRegisterNotOverFlow(id))
69
+ return;
70
+ this._notOverFlowPros.set(id, this.getElementSizeProps(childElement));
71
+ });
72
+ }
73
+ canNotRegisterNotOverFlow(id) {
74
+ return !id || !this._notOverFlow.includes(id) || this._notOverFlowPros.has(id);
75
+ }
76
+ hasChangedSize(elementSize) {
77
+ if (!this._lastContainerSize)
78
+ return true;
79
+ const variation = elementSize - this._lastContainerSize;
80
+ if (variation < 0) {
81
+ const absoluteVariation = Math.abs(variation);
82
+ return (absoluteVariation > this._deltaSize);
83
+ }
84
+ return variation > 0;
85
+ }
86
+ proccessElements(elementSize, children) {
87
+ if (children.length === 0)
88
+ return;
89
+ const childrenSize = this.calcChildrenSize(children);
90
+ let diff = Number((elementSize - childrenSize).toFixed(4));
91
+ if (diff > 0) {
92
+ this.clearOverFlow();
93
+ return;
94
+ }
95
+ this.proccessElementsOverFlow(children, elementSize);
96
+ }
97
+ clearOverFlow() {
98
+ this._hiddenItemsProps = new Map();
99
+ this._onResize([]);
100
+ }
101
+ proccessElementsOverFlow(allElements, avaliableSize) {
102
+ const elementsThatFit = [];
103
+ const avaliableSizeConsideringDelta = (avaliableSize - this._deltaSize);
104
+ let sumElementsSize = 0;
105
+ for (const element of allElements) {
106
+ sumElementsSize += this.calcElementSize(element);
107
+ if (this.exceedsAvaliableSize(sumElementsSize, elementsThatFit, avaliableSizeConsideringDelta))
108
+ break;
109
+ elementsThatFit.push(element);
110
+ }
111
+ const overFlowedElements = allElements.filter(element => this.isElementOverFlowing(elementsThatFit, element));
112
+ overFlowedElements.forEach(overFlowed => {
113
+ if (!this._hiddenItemsProps.has(overFlowed)) {
114
+ this.registerElementSize(overFlowed);
115
+ }
116
+ });
117
+ this._onResize(overFlowedElements);
118
+ }
119
+ isElementOverFlowing(elementsThatFit, element) {
120
+ return !elementsThatFit.includes(element) && this.canOverFlowElement(element);
121
+ }
122
+ canOverFlowElement(element) {
123
+ return !this._notOverFlow.includes(element.id)
124
+ && !this._notOverFlow.includes(this.getDataElementId(element));
125
+ }
126
+ getDataElementId(element) {
127
+ var _a;
128
+ return (_a = element.getAttribute('data-element-id')) !== null && _a !== void 0 ? _a : "";
129
+ }
130
+ exceedsAvaliableSize(sumElementsSize, elements, avaliableSize) {
131
+ if (!this._notOverFlow.length)
132
+ return sumElementsSize > avaliableSize;
133
+ const elementIdsToCalculate = this.canNotOverFlowNotIncludedIds(elements);
134
+ if (!elementIdsToCalculate.length)
135
+ return sumElementsSize > avaliableSize;
136
+ const variation = this.calculateVariation(elementIdsToCalculate);
137
+ const occupiedSize = sumElementsSize + variation;
138
+ return occupiedSize > avaliableSize;
139
+ }
140
+ calculateVariation(elementIdsToCalculate) {
141
+ let variation = 0;
142
+ elementIdsToCalculate.forEach(id => {
143
+ var _a, _b;
144
+ const sizeProps = this._notOverFlowPros.get(id);
145
+ variation += (_a = sizeProps === null || sizeProps === void 0 ? void 0 : sizeProps.size) !== null && _a !== void 0 ? _a : 0;
146
+ variation += (_b = sizeProps === null || sizeProps === void 0 ? void 0 : sizeProps.margin) !== null && _b !== void 0 ? _b : 0;
147
+ });
148
+ return variation;
149
+ }
150
+ canNotOverFlowNotIncludedIds(elements) {
151
+ const elementsIdList = elements.map(el => el.id || this.getDataElementId(el)).filter(id => !!id);
152
+ return this._notOverFlow.filter(id => !elementsIdList.includes(id));
153
+ }
154
+ registerElementSize(element) {
155
+ const sizeProps = this.getElementSizeProps(element);
156
+ this._hiddenItemsProps.set(element, sizeProps);
157
+ }
158
+ getElementSizeProps(element) {
159
+ const sizeProps = {
160
+ size: element.getBoundingClientRect()[this._propSize],
161
+ margin: calcMarginSize(element, this._scrollDirection),
162
+ };
163
+ return sizeProps;
164
+ }
165
+ calcChildrenSize(children) {
166
+ let sumChildren = 0;
167
+ sumChildren += this._deltaSize;
168
+ Array.from(children).forEach(el => sumChildren += this.calcElementSize(el));
169
+ return sumChildren;
170
+ }
171
+ calcElementSize(el) {
172
+ var _a, _b;
173
+ let size = 0;
174
+ if (this.isOverFlowed(el)) {
175
+ const sizeProps = this._hiddenItemsProps.get(el);
176
+ size += (_a = sizeProps === null || sizeProps === void 0 ? void 0 : sizeProps.size) !== null && _a !== void 0 ? _a : 0;
177
+ size += (_b = sizeProps === null || sizeProps === void 0 ? void 0 : sizeProps.margin) !== null && _b !== void 0 ? _b : 0;
178
+ return size;
179
+ }
180
+ size += el.getBoundingClientRect()[this._propSize];
181
+ size += calcMarginSize(el, this._scrollDirection);
182
+ return size;
183
+ }
184
+ isOverFlowed(el) {
185
+ return el.classList.contains(OVERFLOWED_CLASS_NAME);
186
+ }
187
+ }
188
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/OverflowWatcher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,eAAe;IAchC;;;;;;;;;OASG;IACH,YAAY,EACI,OAAO,EACP,QAAQ,EACR,iBAAiB,GAAG,iBAAiB,CAAC,UAAU,EAChD,QAAQ,GAAG,GAAG,EACd,SAAS,GAAG,CAAC,EACb,WAAW,GAAG,EAAE,EACR;QA5BhB,uBAAkB,GAAoB,SAAS,CAAC;QAChD,2BAAsB,GAA4B,SAAS,CAAC;QAC5D,qBAAgB,GAAG,iBAAiB,CAAC,UAAU,CAAC;QAEhD,sBAAiB,GAA2B,IAAI,GAAG,EAAE,CAAC;QACtD,qBAAgB,GAA0B,IAAI,GAAG,EAAE,CAAC;QAEpD,iBAAY,GAAa,EAAE,CAAC;QAE3B,oBAAe,GAAG,iBAAiB,CAAC;QAoBzC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,CAAC,iBAAiB,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3F,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAA8B,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAEM,qBAAqB,CAAC,SAAiB;QAC1C,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAC;YACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC;IACL,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAEM,WAAW;QACd,IAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,sBAAsB,EAAC;YACtD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACpF;IACL,CAAC;IAEO,YAAY,CAAC,OAA8B;QAC/C,IAAG,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE5C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,aAAa,GAAW,SAAS,CAAC,WAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAG,CAAC,aAAa;YAAE,OAAO;QAE1B,IAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAC;YACnC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAqB,EAAE,aAAa,CAAC,CAAC;SAC7E;IACL,CAAC;IAEO,qBAAqB,CAAC,SAAsB,EAAE,aAAqB;QACvE,MAAM,QAAQ,GAAa,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAC5C,CAAC;IAEO,wBAAwB,CAAC,QAAmB;QAChD,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC5B,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAAE,OAAO;YAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,yBAAyB,CAAC,EAAU;QACxC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAEO,cAAc,CAAC,WAAmB;QACtC,IAAG,CAAC,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAExD,IAAG,SAAS,GAAG,CAAC,EAAC;YACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;SAChD;QAED,OAAO,SAAS,GAAG,CAAC,CAAC;IACzB,CAAC;IAEO,gBAAgB,CAAC,WAAkB,EAAE,QAAkB;QAC3D,IAAG,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,IAAG,IAAI,GAAG,CAAC,EAAC;YACR,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO;SACV;QAED,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAEO,wBAAwB,CAAC,WAAqB,EAAE,aAAoB;QACxE,MAAM,eAAe,GAAc,EAAE,CAAC;QACtC,MAAM,6BAA6B,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAExE,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;YAC/B,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjD,IAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,eAAe,EAAE,6BAA6B,CAAC;gBAAE,MAAM;YACrG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,MAAM,kBAAkB,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAE9G,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACpC,IAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAC;gBACvC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;aACxC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACvC,CAAC;IAEO,oBAAoB,CAAC,eAA0B,EAAE,OAAgB;QACrE,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC;IAEO,kBAAkB,CAAC,OAAgB;QACvC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;eACzC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAEO,gBAAgB,CAAC,OAAgB;;QACrC,OAAO,MAAC,OAAuB,CAAC,YAAY,CAAC,iBAAiB,CAAC,mCAAI,EAAE,CAAC;IAC1E,CAAC;IAEO,oBAAoB,CAAC,eAAuB,EAAE,QAAmB,EAAE,aAAqB;QAC5F,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO,eAAe,GAAG,aAAa,CAAA;QAEpE,MAAM,qBAAqB,GAAG,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC1E,IAAG,CAAC,qBAAqB,CAAC,MAAM;YAAE,OAAO,eAAe,GAAG,aAAa,CAAA;QAExE,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,eAAe,GAAG,SAAS,CAAC;QACjD,OAAO,YAAY,GAAG,aAAa,CAAC;IACxC,CAAC;IAEO,kBAAkB,CAAC,qBAA+B;QACtD,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChD,SAAS,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,mCAAI,CAAC,CAAC;YAClC,SAAS,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,4BAA4B,CAAC,QAAmB;QACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClG,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAEO,mBAAmB,CAAC,OAAgB;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;IAEO,mBAAmB,CAAC,OAAgB;QACxC,MAAM,SAAS,GAAc;YACzB,IAAI,EAAG,OAAO,CAAC,qBAAqB,EAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9D,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC;SACzD,CAAC;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,gBAAgB,CAAC,QAAkB;QACvC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,eAAe,CAAC,EAAW;;QAC/B,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,mCAAI,CAAC,CAAC;YAC7B,IAAI,IAAI,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,mCAAI,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;SACf;QAED,IAAI,IAAK,EAAE,CAAC,qBAAqB,EAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,IAAI,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,EAAW;QAC5B,OAAO,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACxD,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Callback que será chamado quando o overflow de um elemento for alterado.
3
+ *
4
+ * @param elementsOverFlow - Conjunto de elementos filhos que estão causando overflow no elemento pai.
5
+ */
6
+ export type OnOverflowCallBack = (elementsOverFlow: Array<Element>) => void;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=overflow-callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overflow-callback.js","sourceRoot":"","sources":["../../../../src/utils/OverflowWatcher/types/overflow-callback.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Define em qual direção o overflow será observado
3
+ */
4
+ export declare enum OverflowDirection {
5
+ 'VERTICAL' = 0,
6
+ 'HORIZONTAL' = 1
7
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Define em qual direção o overflow será observado
3
+ */
4
+ export var OverflowDirection;
5
+ (function (OverflowDirection) {
6
+ OverflowDirection[OverflowDirection["VERTICAL"] = 0] = "VERTICAL";
7
+ OverflowDirection[OverflowDirection["HORIZONTAL"] = 1] = "HORIZONTAL";
8
+ })(OverflowDirection || (OverflowDirection = {}));
9
+ //# sourceMappingURL=overflow-direction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overflow-direction.js","sourceRoot":"","sources":["../../../../src/utils/OverflowWatcher/types/overflow-direction.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,iEAAU,CAAA;IACV,qEAAY,CAAA;AAChB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
@@ -0,0 +1,24 @@
1
+ import { StorageType } from './CacheManager/interfaces/index.js';
2
+ export declare class ServiceUtils {
3
+ /**
4
+ * Auxilia no uso do CacheManager, gerando automaticamente uma chave de cache com base no identificador.
5
+ *
6
+ * @template T Tipo do dado a ser retornado.
7
+ * @param identifier Identificadores únicos usados para compor a chave de cache.
8
+ * @param fetchFunction Função que retorna uma `Promise` com o valor a ser armazenado no cache caso ele não exista ou tenha expirado.
9
+ * @param storageType Tipo de armazenamento: `'sessionStorage'` ou `'localStorage'`. O padrão é `'sessionStorage'`.
10
+ * @returns Uma `Promise` com o valor armazenado ou obtido via `fetchFunction`.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const actions = await useCacheWithService(
15
+ * `${this.entityName} - ${this.resourceID}`,
16
+ * async () => {
17
+ * return await fetchActionsFromAPI();
18
+ * }
19
+ * );
20
+ * console.log(actions);
21
+ * ```
22
+ */
23
+ static useCacheWithService<T>(identifier: string, fetchFunction: () => Promise<T>, storageType?: StorageType): Promise<T>;
24
+ }
@@ -0,0 +1,40 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { CacheManager } from './CacheManager/index.js';
11
+ import { StorageType } from './CacheManager/interfaces/index.js';
12
+ export class ServiceUtils {
13
+ /**
14
+ * Auxilia no uso do CacheManager, gerando automaticamente uma chave de cache com base no identificador.
15
+ *
16
+ * @template T Tipo do dado a ser retornado.
17
+ * @param identifier Identificadores únicos usados para compor a chave de cache.
18
+ * @param fetchFunction Função que retorna uma `Promise` com o valor a ser armazenado no cache caso ele não exista ou tenha expirado.
19
+ * @param storageType Tipo de armazenamento: `'sessionStorage'` ou `'localStorage'`. O padrão é `'sessionStorage'`.
20
+ * @returns Uma `Promise` com o valor armazenado ou obtido via `fetchFunction`.
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const actions = await useCacheWithService(
25
+ * `${this.entityName} - ${this.resourceID}`,
26
+ * async () => {
27
+ * return await fetchActionsFromAPI();
28
+ * }
29
+ * );
30
+ * console.log(actions);
31
+ * ```
32
+ */
33
+ static useCacheWithService(identifier, fetchFunction, storageType = StorageType.IN_MEMORY_CACHE) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const cacheKey = `${identifier}`;
36
+ return CacheManager.getOrSet(cacheKey, fetchFunction, storageType);
37
+ });
38
+ }
39
+ }
40
+ //# sourceMappingURL=ServiceUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceUtils.js","sourceRoot":"","sources":["../../src/utils/ServiceUtils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAGjE,MAAM,OAAO,YAAY;IAGrB;;;;;;;;;;;;;;;;;;;OAmBG;IACI,MAAM,CAAO,mBAAmB,CACnC,UAAkB,EAClB,aAA+B,EAC/B,cAA2B,WAAW,CAAC,eAAe;;YAEtD,MAAM,QAAQ,GAAG,GAAG,UAAU,EAAE,CAAC;YACjC,OAAO,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;KAAA;CACJ"}