@sankhyalabs/core 5.20.0-dev.9 → 5.20.0-ms.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 (180) hide show
  1. package/.docs/classes/Base64Utils.md +39 -0
  2. package/.docs/classes/Change.md +11 -11
  3. package/.docs/classes/ColumnFilterManager.md +145 -0
  4. package/.docs/classes/DataUnit.md +429 -139
  5. package/.docs/classes/DataUnitInMemoryLoader.md +303 -0
  6. package/.docs/classes/DataUnitLoaderUtils.md +151 -0
  7. package/.docs/classes/DateUtils.md +8 -8
  8. package/.docs/classes/FieldComparator.md +2 -2
  9. package/.docs/classes/IDBRepository.md +22 -0
  10. package/.docs/classes/LockManager.md +249 -0
  11. package/.docs/classes/MaskFormatter.md +66 -14
  12. package/.docs/classes/ObjectUtils.md +141 -0
  13. package/.docs/classes/OverflowWatcher.md +310 -46
  14. package/.docs/classes/SelectionInfo.md +25 -11
  15. package/.docs/classes/ServiceCanceledException.md +193 -0
  16. package/.docs/classes/ServiceUtils.md +67 -0
  17. package/.docs/classes/SilentException.md +193 -0
  18. package/.docs/classes/StringUtils.md +24 -0
  19. package/.docs/classes/UserAgentUtils.md +15 -1
  20. package/.docs/enumerations/Action.md +41 -21
  21. package/.docs/enumerations/ChangeOperation.md +4 -4
  22. package/.docs/enumerations/LockManagerOperation.md +33 -0
  23. package/.docs/enumerations/RECORD_DATE_FORMAT.md +27 -0
  24. package/.docs/enumerations/SelectionMode.md +2 -2
  25. package/.docs/enumerations/StorageType.md +37 -0
  26. package/.docs/globals.md +19 -0
  27. package/.docs/interfaces/DUActionInterceptor.md +1 -1
  28. package/.docs/interfaces/DataUnitInMemoryLoaderConfig.md +37 -0
  29. package/.docs/interfaces/IRepository.md +18 -0
  30. package/.docs/interfaces/LoadDataRequest.md +1 -1
  31. package/.docs/interfaces/OverFlowWatcherParams.md +67 -0
  32. package/.docs/interfaces/PageRequest.md +3 -3
  33. package/.docs/interfaces/PaginationInfo.md +25 -0
  34. package/.docs/interfaces/PaginationInfoBuilderParams.md +37 -0
  35. package/.docs/interfaces/QuickFilter.md +3 -3
  36. package/.docs/interfaces/Record.md +4 -4
  37. package/.docs/interfaces/SavedRecord.md +5 -5
  38. package/.docs/interfaces/WaitingChange.md +3 -3
  39. package/.docs/namespaces/MaskFormatter/type-aliases/MaskCharacter.md +1 -1
  40. package/.docs/namespaces/MaskFormatter/variables/MaskCharacter.md +1 -1
  41. package/.docs/type-aliases/DataUnitEventOptions.md +17 -0
  42. package/.docs/variables/OVERFLOWED_CLASS_NAME.md +13 -0
  43. package/.releaserc +1 -0
  44. package/bun.lockb +0 -0
  45. package/dist/dataunit/DataUnit.d.ts +92 -13
  46. package/dist/dataunit/DataUnit.js +219 -71
  47. package/dist/dataunit/DataUnit.js.map +1 -1
  48. package/dist/dataunit/DataUnitHelper.js +6 -5
  49. package/dist/dataunit/DataUnitHelper.js.map +1 -1
  50. package/dist/dataunit/formatting/PrettyFormatter.js +14 -6
  51. package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -1
  52. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.d.ts +9 -0
  53. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.js +6 -0
  54. package/dist/dataunit/loader/DataUnitInMemoryLoaderConfig.js.map +1 -0
  55. package/dist/dataunit/loader/dataUnitInMemoryLoader.d.ts +25 -0
  56. package/dist/dataunit/loader/dataUnitInMemoryLoader.js +131 -0
  57. package/dist/dataunit/loader/dataUnitInMemoryLoader.js.map +1 -0
  58. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.d.ts +20 -0
  59. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.js +62 -0
  60. package/dist/dataunit/loader/utils/dataUnitLoaderUtils.js.map +1 -0
  61. package/dist/dataunit/loading/LoadDataRequest.d.ts +1 -1
  62. package/dist/dataunit/loading/PaginationInfo.d.ts +8 -0
  63. package/dist/dataunit/metadata/DataType.js +3 -0
  64. package/dist/dataunit/metadata/DataType.js.map +1 -1
  65. package/dist/dataunit/sorting/FieldComparator.d.ts +2 -2
  66. package/dist/dataunit/sorting/FieldComparator.js +4 -9
  67. package/dist/dataunit/sorting/FieldComparator.js.map +1 -1
  68. package/dist/dataunit/state/action/DataUnitAction.d.ts +2 -0
  69. package/dist/dataunit/state/action/DataUnitAction.js +2 -0
  70. package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
  71. package/dist/dataunit/state/slice/LoadingControlSlice.js +16 -0
  72. package/dist/dataunit/state/slice/LoadingControlSlice.js.map +1 -1
  73. package/dist/dataunit/state/slice/RecordsSlice.js +1 -1
  74. package/dist/dataunit/state/slice/RecordsSlice.js.map +1 -1
  75. package/dist/dataunit/state/slice/SelectionSlice.js +4 -4
  76. package/dist/dataunit/state/slice/SelectionSlice.js.map +1 -1
  77. package/dist/exceptions/ServiceCanceledException.d.ts +14 -0
  78. package/dist/exceptions/ServiceCanceledException.js +13 -0
  79. package/dist/exceptions/ServiceCanceledException.js.map +1 -0
  80. package/dist/exceptions/SilentException.d.ts +14 -0
  81. package/dist/exceptions/SilentException.js +13 -0
  82. package/dist/exceptions/SilentException.js.map +1 -0
  83. package/dist/index.d.ts +13 -3
  84. package/dist/index.js +12 -2
  85. package/dist/index.js.map +1 -1
  86. package/dist/repository/IRepository.d.ts +6 -0
  87. package/dist/repository/indexeddb/IDBRepository.d.ts +1 -0
  88. package/dist/repository/indexeddb/IDBRepository.js +3 -0
  89. package/dist/repository/indexeddb/IDBRepository.js.map +1 -1
  90. package/dist/utils/Base64Utils.d.ts +7 -0
  91. package/dist/utils/Base64Utils.js +13 -0
  92. package/dist/utils/Base64Utils.js.map +1 -0
  93. package/dist/utils/CacheManager/index.d.ts +52 -0
  94. package/dist/utils/CacheManager/index.js +101 -0
  95. package/dist/utils/CacheManager/index.js.map +1 -0
  96. package/dist/utils/CacheManager/interfaces/index.d.ts +5 -0
  97. package/dist/utils/CacheManager/interfaces/index.js +7 -0
  98. package/dist/utils/CacheManager/interfaces/index.js.map +1 -0
  99. package/dist/utils/ColumnFilterManager.d.ts +19 -0
  100. package/dist/utils/ColumnFilterManager.js +73 -0
  101. package/dist/utils/ColumnFilterManager.js.map +1 -0
  102. package/dist/utils/DateUtils.js +3 -0
  103. package/dist/utils/DateUtils.js.map +1 -1
  104. package/dist/utils/ElementUtils.d.ts +2 -0
  105. package/dist/utils/ElementUtils.js +9 -0
  106. package/dist/utils/ElementUtils.js.map +1 -0
  107. package/dist/utils/LockManager.d.ts +58 -0
  108. package/dist/utils/LockManager.js +191 -0
  109. package/dist/utils/LockManager.js.map +1 -0
  110. package/dist/utils/MaskFormatter.d.ts +16 -1
  111. package/dist/utils/MaskFormatter.js +82 -2
  112. package/dist/utils/MaskFormatter.js.map +1 -1
  113. package/dist/utils/ObjectUtils.d.ts +38 -0
  114. package/dist/utils/ObjectUtils.js +51 -0
  115. package/dist/utils/ObjectUtils.js.map +1 -1
  116. package/dist/utils/OnboardingUtils.js +1 -1
  117. package/dist/utils/OnboardingUtils.js.map +1 -1
  118. package/dist/utils/OverflowWatcher/index.d.ts +35 -7
  119. package/dist/utils/OverflowWatcher/index.js +140 -59
  120. package/dist/utils/OverflowWatcher/index.js.map +1 -1
  121. package/dist/utils/ServiceUtils.d.ts +24 -0
  122. package/dist/utils/ServiceUtils.js +40 -0
  123. package/dist/utils/ServiceUtils.js.map +1 -0
  124. package/dist/utils/SortingUtils.d.ts +9 -0
  125. package/dist/utils/SortingUtils.js +24 -0
  126. package/dist/utils/SortingUtils.js.map +1 -0
  127. package/dist/utils/StringUtils.d.ts +6 -0
  128. package/dist/utils/StringUtils.js +11 -0
  129. package/dist/utils/StringUtils.js.map +1 -1
  130. package/dist/utils/UserAgentUtils/index.d.ts +1 -0
  131. package/dist/utils/UserAgentUtils/index.js +5 -0
  132. package/dist/utils/UserAgentUtils/index.js.map +1 -1
  133. package/jest.config.ts +2 -0
  134. package/package.json +2 -1
  135. package/reports/test-report.xml +215 -0
  136. package/setupTests.js +7 -0
  137. package/sonar-project.properties +6 -3
  138. package/src/dataunit/DataUnit.ts +268 -86
  139. package/src/dataunit/DataUnitHelper.ts +6 -5
  140. package/src/dataunit/formatting/PrettyFormatter.ts +15 -6
  141. package/src/dataunit/loader/DataUnitInMemoryLoaderConfig.ts +10 -0
  142. package/src/dataunit/loader/dataUnitInMemoryLoader.ts +176 -0
  143. package/src/dataunit/loader/utils/dataUnitLoaderUtils.ts +86 -0
  144. package/src/dataunit/loading/LoadDataRequest.ts +1 -1
  145. package/src/dataunit/loading/PaginationInfo.ts +10 -0
  146. package/src/dataunit/metadata/DataType.ts +3 -0
  147. package/src/dataunit/sorting/FieldComparator.ts +18 -32
  148. package/src/dataunit/state/action/DataUnitAction.ts +2 -0
  149. package/src/dataunit/state/slice/LoadingControlSlice.ts +42 -0
  150. package/src/dataunit/state/slice/RecordsSlice.ts +1 -1
  151. package/src/dataunit/state/slice/SelectionSlice.ts +4 -4
  152. package/src/dataunit/state/slice/test/RecordsSlice.spec.ts +45 -0
  153. package/src/dataunit/test/DataUnit.spec.ts +44 -0
  154. package/src/exceptions/ServiceCanceledException.ts +25 -0
  155. package/src/exceptions/SilentException.ts +25 -0
  156. package/src/index.ts +30 -3
  157. package/src/repository/IRepository.ts +7 -0
  158. package/src/repository/indexeddb/IDBRepository.ts +4 -0
  159. package/src/utils/Base64Utils.ts +13 -0
  160. package/src/utils/CacheManager/index.ts +103 -0
  161. package/src/utils/CacheManager/interfaces/index.ts +5 -0
  162. package/src/utils/ColumnFilterManager.ts +104 -0
  163. package/src/utils/DateUtils.ts +3 -0
  164. package/src/utils/ElementUtils.ts +10 -0
  165. package/src/utils/LockManager.ts +213 -0
  166. package/src/utils/MaskFormatter.ts +93 -2
  167. package/src/utils/ObjectUtils.ts +56 -0
  168. package/src/utils/OnboardingUtils.ts +1 -1
  169. package/src/utils/OverflowWatcher/index.ts +170 -78
  170. package/src/utils/ServiceUtils.ts +36 -0
  171. package/src/utils/SortingUtils.ts +30 -0
  172. package/src/utils/StringUtils.ts +13 -0
  173. package/src/utils/UserAgentUtils/index.ts +6 -1
  174. package/src/utils/test/objectUtils.spec.ts +109 -0
  175. package/test/dataunit/formatting/PrettyFormatter.spec.ts +177 -0
  176. package/test/dataunit/loader/dataUnitInMemoryLoader.spec.ts +221 -0
  177. package/test/dataunit/loader/utils/dataUnitLoaderUtils.spec.ts +158 -0
  178. package/test/util/ColumnFilterManager.spec.ts +133 -0
  179. package/test/util/ElementUtils.spec.ts +34 -0
  180. package/test/util/OverflowWatcher.spec.ts +152 -118
@@ -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"}
@@ -2,14 +2,19 @@ import { OverflowDirection } from "./types/overflow-direction.js";
2
2
  import { OnOverflowCallBack } from "./types/overflow-callback.js";
3
3
  export * from "./types/overflow-direction.js";
4
4
  export * from "./types/overflow-callback.js";
5
+ export declare const OVERFLOWED_CLASS_NAME = "overflowed";
5
6
  export default class OverflowWatcher {
6
7
  private _onResize;
7
8
  private _resizeObserver;
8
- private _lastContentRect;
9
+ private _lastContainerSize;
10
+ private _lastContainerInstance;
9
11
  private _scrollDirection;
10
12
  private _propSize;
11
- private _hiddenItems;
13
+ private _hiddenItemsProps;
14
+ private _notOverFlowPros;
12
15
  private _deltaSize;
16
+ private _notOverFlow;
17
+ readonly DATA_ELEMENT_ID = "data-element-id";
13
18
  /**
14
19
  * Cria uma instancia do OverflowWatcher
15
20
  *
@@ -17,15 +22,38 @@ export default class OverflowWatcher {
17
22
  * @param callback - Função que sera chamada quando ocorrer overflow no elemento.
18
23
  * @param overFlowDirection - Indica direção que o overflow será monitorado.
19
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.
20
27
  */
21
- constructor(element: HTMLElement, callback: OnOverflowCallBack, overFlowDirection?: OverflowDirection, deltaSize?: number);
28
+ constructor({ element, callback, overFlowDirection, debounce, deltaSize, notOverFlow }: OverFlowWatcherParams);
29
+ addNotOverFlowElement(elementId: string): void;
22
30
  destroy(): void;
31
+ forceUpdate(): void;
23
32
  private handleResize;
24
- private isChangedSize;
25
- private getPropSizeByDirection;
33
+ private updateOverFlowedItems;
34
+ private registerNotOverflowProps;
35
+ private canNotRegisterNotOverFlow;
36
+ private hasChangedSize;
26
37
  private proccessElements;
27
- private proccessElementsWithoutOverFlow;
38
+ private clearOverFlow;
28
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;
29
48
  private calcChildrenSize;
30
- private calcMarginSize;
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[];
31
59
  }
@@ -1,7 +1,9 @@
1
1
  import { JSUtils } from "../JSUtils.js";
2
2
  import { OverflowDirection } from "./types/overflow-direction.js";
3
+ import { calcMarginSize } from '../ElementUtils.js';
3
4
  export * from "./types/overflow-direction.js";
4
5
  export * from "./types/overflow-callback.js";
6
+ export const OVERFLOWED_CLASS_NAME = 'overflowed';
5
7
  export default class OverflowWatcher {
6
8
  /**
7
9
  * Cria uma instancia do OverflowWatcher
@@ -10,98 +12,177 @@ export default class OverflowWatcher {
10
12
  * @param callback - Função que sera chamada quando ocorrer overflow no elemento.
11
13
  * @param overFlowDirection - Indica direção que o overflow será monitorado.
12
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.
13
17
  */
14
- constructor(element, callback, overFlowDirection = OverflowDirection.HORIZONTAL, deltaSize = 10) {
15
- this._lastContentRect = undefined;
18
+ constructor({ element, callback, overFlowDirection = OverflowDirection.HORIZONTAL, debounce = 200, deltaSize = 0, notOverFlow = [] }) {
19
+ this._lastContainerSize = undefined;
20
+ this._lastContainerInstance = undefined;
16
21
  this._scrollDirection = OverflowDirection.HORIZONTAL;
17
- this._hiddenItems = [];
22
+ this._hiddenItemsProps = new Map();
23
+ this._notOverFlowPros = new Map();
24
+ this._notOverFlow = [];
25
+ this.DATA_ELEMENT_ID = 'data-element-id';
18
26
  this._onResize = callback;
19
27
  this._scrollDirection = overFlowDirection;
20
- this._resizeObserver = new ResizeObserver(JSUtils.debounce((entries) => this.handleResize(entries), 200));
28
+ this._propSize = (OverflowDirection.HORIZONTAL === overFlowDirection) ? "width" : "height";
29
+ this._resizeObserver = new ResizeObserver(JSUtils.debounce((entries) => this.handleResize(entries), debounce));
21
30
  this._resizeObserver.observe(element);
22
- this._propSize = this.getPropSizeByDirection();
23
31
  this._deltaSize = deltaSize;
32
+ this._notOverFlow = notOverFlow;
33
+ }
34
+ addNotOverFlowElement(elementId) {
35
+ if (!this._notOverFlow.includes(elementId)) {
36
+ this._notOverFlow.push(elementId);
37
+ }
24
38
  }
25
39
  destroy() {
26
40
  this._resizeObserver.disconnect();
27
41
  }
42
+ forceUpdate() {
43
+ if (this._lastContainerSize && this._lastContainerInstance) {
44
+ this.updateOverFlowedItems(this._lastContainerInstance, this._lastContainerSize);
45
+ }
46
+ }
28
47
  handleResize(entries) {
29
- if (!entries || entries.length === 0) {
48
+ if (!entries || entries.length === 0)
30
49
  return;
31
- }
32
- const resizeItem = entries[0];
33
- const contentRect = resizeItem.contentRect;
34
- if (this.isChangedSize(contentRect)) {
35
- const children = Array.from(resizeItem.target.children);
36
- this.proccessElements(contentRect[this._propSize], children);
37
- this._lastContentRect = contentRect;
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);
38
56
  }
39
57
  }
40
- isChangedSize(newContentRect) {
41
- if (this._lastContentRect == undefined) {
42
- return true;
43
- }
44
- return Math.abs(newContentRect[this._propSize] - this._lastContentRect[this._propSize]) >= this._deltaSize;
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;
45
64
  }
46
- getPropSizeByDirection() {
47
- if (OverflowDirection.HORIZONTAL === this._scrollDirection) {
48
- return "width";
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);
49
83
  }
50
- return "height";
84
+ return variation > 0;
51
85
  }
52
86
  proccessElements(elementSize, children) {
53
- if (children.length === 0) {
87
+ if (children.length === 0)
54
88
  return;
55
- }
56
89
  const childrenSize = this.calcChildrenSize(children);
57
90
  let diff = Number((elementSize - childrenSize).toFixed(4));
58
91
  if (diff > 0) {
59
- this.proccessElementsWithoutOverFlow(diff);
92
+ this.clearOverFlow();
60
93
  return;
61
94
  }
62
- this.proccessElementsOverFlow(children, diff);
95
+ this.proccessElementsOverFlow(children, elementSize);
96
+ }
97
+ clearOverFlow() {
98
+ this._hiddenItemsProps = new Map();
99
+ this._onResize([]);
63
100
  }
64
- proccessElementsWithoutOverFlow(diff) {
65
- this._hiddenItems.forEach((item) => {
66
- if (item.getBoundingClientRect().width < diff) {
67
- this._hiddenItems.pop();
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);
68
115
  }
69
116
  });
70
- this._onResize(this._hiddenItems);
71
- }
72
- proccessElementsOverFlow(children, diff) {
73
- const elementsOverflow = [];
74
- let sumRemovedItems = 0;
75
- while (elementsOverflow.length < children.length && sumRemovedItems < (diff * -1)) {
76
- const itemToRemove = children.pop();
77
- if (itemToRemove != undefined && itemToRemove.style.display === 'none') {
78
- continue;
79
- }
80
- if (itemToRemove != undefined) {
81
- elementsOverflow.push(itemToRemove);
82
- sumRemovedItems += itemToRemove.getBoundingClientRect()[this._propSize];
83
- }
84
- }
85
- this._hiddenItems = elementsOverflow;
86
- this._onResize(elementsOverflow);
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;
87
164
  }
88
165
  calcChildrenSize(children) {
89
166
  let sumChildren = 0;
90
- Array.from(children).forEach(el => {
91
- sumChildren += el.getBoundingClientRect()[this._propSize];
92
- sumChildren += this.calcMarginSize(el);
93
- });
94
- if (sumChildren > 0) {
95
- sumChildren += this._deltaSize;
96
- }
167
+ sumChildren += this._deltaSize;
168
+ Array.from(children).forEach(el => sumChildren += this.calcElementSize(el));
97
169
  return sumChildren;
98
170
  }
99
- calcMarginSize(el) {
100
- const computedStyle = getComputedStyle(el);
101
- if (OverflowDirection.HORIZONTAL === this._scrollDirection) {
102
- return (parseInt(computedStyle.marginLeft || '0') + parseInt(computedStyle.marginRight || '0'));
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;
103
179
  }
104
- return (parseInt(computedStyle.marginTop || '0') + parseInt(computedStyle.marginBottom || '0'));
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);
105
186
  }
106
187
  }
107
188
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/OverflowWatcher/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/OverflowWatcher/index.ts"],"names":[],"mappings":"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"}