@acorex/core 19.14.0-next.3 → 19.14.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 (49) hide show
  1. package/date-time/index.d.ts +2 -1
  2. package/date-time/lib/calendar.service.d.ts +1 -1
  3. package/date-time/lib/formatters/date.formatter.d.ts +3 -3
  4. package/date-time/lib/formatters/time-duration.formatter.d.ts +3 -0
  5. package/fesm2022/acorex-core-components.mjs.map +1 -1
  6. package/fesm2022/acorex-core-config.mjs.map +1 -1
  7. package/fesm2022/acorex-core-constants.mjs +1 -16
  8. package/fesm2022/acorex-core-constants.mjs.map +1 -1
  9. package/fesm2022/acorex-core-date-time.mjs +135 -103
  10. package/fesm2022/acorex-core-date-time.mjs.map +1 -1
  11. package/fesm2022/acorex-core-events.mjs.map +1 -1
  12. package/fesm2022/acorex-core-file.mjs.map +1 -1
  13. package/fesm2022/acorex-core-format.mjs +39 -39
  14. package/fesm2022/acorex-core-format.mjs.map +1 -1
  15. package/fesm2022/acorex-core-image.mjs.map +1 -1
  16. package/fesm2022/acorex-core-locale-en-AU.profile-DNjKIaZS.mjs.map +1 -1
  17. package/fesm2022/acorex-core-locale.mjs +110 -110
  18. package/fesm2022/acorex-core-locale.mjs.map +1 -1
  19. package/fesm2022/acorex-core-memoize.mjs.map +1 -1
  20. package/fesm2022/acorex-core-network.mjs +42 -43
  21. package/fesm2022/acorex-core-network.mjs.map +1 -1
  22. package/fesm2022/acorex-core-pipes.mjs.map +1 -1
  23. package/fesm2022/acorex-core-platform.mjs +4 -7
  24. package/fesm2022/acorex-core-platform.mjs.map +1 -1
  25. package/fesm2022/acorex-core-storage.mjs.map +1 -1
  26. package/fesm2022/acorex-core-translation.mjs +53 -19
  27. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  28. package/fesm2022/acorex-core-types.mjs +1 -7
  29. package/fesm2022/acorex-core-types.mjs.map +1 -1
  30. package/fesm2022/acorex-core-utils.mjs +120 -115
  31. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  32. package/fesm2022/acorex-core-validation.mjs +12 -8
  33. package/fesm2022/acorex-core-validation.mjs.map +1 -1
  34. package/fesm2022/acorex-core.mjs.map +1 -1
  35. package/format/index.d.ts +1 -1
  36. package/locale/index.d.ts +4 -4
  37. package/locale/lib/locale-profile-provider.service.d.ts +2 -2
  38. package/locale/lib/locale.config.d.ts +1 -1
  39. package/locale/lib/profiles/en-AU.profile.d.ts +1 -1
  40. package/locale/lib/profiles/en-US.profile.d.ts +1 -1
  41. package/locale/lib/profiles/fa-IR.profile.d.ts +1 -1
  42. package/network/index.d.ts +2 -2
  43. package/network/lib/download-task.d.ts +1 -1
  44. package/package.json +1 -1
  45. package/translation/index.d.ts +1 -1
  46. package/translation/lib/translation.parser.d.ts +1 -1
  47. package/translation/lib/translation.resolver.d.ts +1 -1
  48. package/translation/lib/translation.service.d.ts +1 -1
  49. package/utils/index.d.ts +2 -2
@@ -1,42 +1,9 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable } from '@angular/core';
3
- import { Subject, takeUntil } from 'rxjs';
4
1
  import tinycolor from 'tinycolor2';
5
2
  import tinygradient from 'tinygradient-es';
6
3
  import { isBrowser } from '@acorex/core/platform';
7
-
8
- function AXAutoUnsubscriber() {
9
- return function (constructor) {
10
- const orig = constructor.prototype.ngOnDestroy;
11
- constructor.prototype.ngOnDestroy = function () {
12
- for (const prop in this) {
13
- const property = this[prop];
14
- if (typeof property.subscribe === 'function') {
15
- property.unsubscribe();
16
- }
17
- }
18
- orig.apply();
19
- };
20
- };
21
- }
22
- class AXUnsubscriber {
23
- constructor() {
24
- this._destroy$ = new Subject();
25
- this.takeUntilDestroy = (origin) => origin.pipe(takeUntil(this._destroy$));
26
- }
27
- unsubscribe() {
28
- this._destroy$.next();
29
- this._destroy$.complete();
30
- }
31
- ngOnDestroy() {
32
- this.unsubscribe();
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXUnsubscriber, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXUnsubscriber }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXUnsubscriber, decorators: [{
38
- type: Injectable
39
- }] });
4
+ import * as i0 from '@angular/core';
5
+ import { Injectable } from '@angular/core';
6
+ import { Subject, takeUntil } from 'rxjs';
40
7
 
41
8
  class AXColorUtil {
42
9
  static to(color, mode) {
@@ -126,7 +93,11 @@ class AXColorUtil {
126
93
  const X = (Y / vY) * vX;
127
94
  const Z = (Y / vY) * (1 - vX - vY);
128
95
  // Convert to RGB using Wide RGB D65 conversion.
129
- let rgb = [X * 1.656492 - Y * 0.354851 - Z * 0.255038, -X * 0.707196 + Y * 1.655397 + Z * 0.036152, X * 0.051713 - Y * 0.121364 + Z * 1.01153];
96
+ let rgb = [
97
+ X * 1.656492 - Y * 0.354851 - Z * 0.255038,
98
+ -X * 0.707196 + Y * 1.655397 + Z * 0.036152,
99
+ X * 0.051713 - Y * 0.121364 + Z * 1.01153,
100
+ ];
130
101
  // Apply reverse gamma correction.
131
102
  rgb = rgb.map((x) => (x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055));
132
103
  // Bring all negative components to zero.
@@ -197,88 +168,13 @@ class AXDrawingUtil {
197
168
  });
198
169
  }
199
170
  static isInRecPoint(pos, rec) {
200
- return (pos.x >= rec.left && pos.x <= rec.left + rec.width && pos.y >= rec.top && pos.y <= rec.top + rec.height);
171
+ return pos.x >= rec.left && pos.x <= rec.left + rec.width && pos.y >= rec.top && pos.y <= rec.top + rec.height;
201
172
  }
202
173
  static convertRemToPixels(rem) {
203
174
  return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);
204
175
  }
205
176
  }
206
177
 
207
- // @dynamic
208
- class AXHtmlUtil {
209
- static focusElement(element) {
210
- const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map((c) => c + ':not([tabindex="-1"])');
211
- const focusable = element.querySelector(list.join(', '));
212
- if (focusable) {
213
- focusable.focus();
214
- return focusable;
215
- }
216
- return null;
217
- }
218
- static blurElement(element) {
219
- const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map((c) => c + ':not([tabindex="-1"])');
220
- const focusable = element.querySelector(list.join(', '));
221
- if (focusable) {
222
- focusable.blur();
223
- return focusable;
224
- }
225
- return null;
226
- }
227
- static hasFocus(element) {
228
- return element.matches(':focus-within') || element.matches(':focus');
229
- }
230
- static isRtl(element) {
231
- if (isBrowser() && element) {
232
- const rtl = element.classList.contains('ax-rtl') || window.getComputedStyle(element, null).getPropertyValue('direction') === 'rtl';
233
- return rtl;
234
- }
235
- return document.documentElement.dir === 'rtl';
236
- }
237
- static hasDark(element) {
238
- if (isBrowser()) {
239
- return element.closest('.ax-dark') ? true : false;
240
- }
241
- return false;
242
- }
243
- /**
244
- * Helper function to check if an element is scrollable
245
- */
246
- static isScrollable(element) {
247
- const overflowY = window.getComputedStyle(element).overflowY;
248
- return (overflowY === 'auto' || overflowY === 'scroll') && element.scrollHeight > element.clientHeight;
249
- }
250
- /**
251
- * Utility function to find scrollable parent elements
252
- */
253
- static getScrollableParents(element) {
254
- const parents = [];
255
- let currentElement = element;
256
- while (currentElement) {
257
- if (AXHtmlUtil.isScrollable(currentElement)) {
258
- parents.push(currentElement);
259
- }
260
- currentElement = currentElement.parentElement;
261
- }
262
- return parents;
263
- }
264
- }
265
-
266
- function getWordBoundsAtPosition(str, position) {
267
- const isSpace = (c) => /[^a-zA-Z0-9]+/i.test(c);
268
- let start = position - 1;
269
- while (start >= 0 && !isSpace(str[start])) {
270
- start -= 1;
271
- }
272
- start = Math.max(0, start + 1);
273
- const leftSideString = str.slice(start).match(/[a-zA-Z0-9]+/i);
274
- start += leftSideString.index;
275
- let end = start + leftSideString[0].length;
276
- return {
277
- start,
278
- end,
279
- };
280
- }
281
-
282
178
  /**
283
179
  * Blocks until a condition returns a value or the timeout is reached.
284
180
  * Useful for simulating sync behavior with cached async results.
@@ -298,7 +194,7 @@ function waitFor(peekFn, loadFn, timeoutMs = 100) {
298
194
  * Delays for a specific amount of time.
299
195
  */
300
196
  function delay(ms) {
301
- return new Promise(resolve => setTimeout(resolve, ms));
197
+ return new Promise((resolve) => setTimeout(resolve, ms));
302
198
  }
303
199
  /**
304
200
  * Retries an async function until it succeeds or a max attempt count is reached.
@@ -383,7 +279,7 @@ function debounceAsync(fn, waitMs) {
383
279
  return ((...args) => {
384
280
  if (timeout)
385
281
  clearTimeout(timeout);
386
- promise = new Promise(resolve => {
282
+ promise = new Promise((resolve) => {
387
283
  timeout = setTimeout(() => {
388
284
  resolve(fn(...args));
389
285
  }, waitMs);
@@ -407,6 +303,115 @@ async function fallbackChain(tasks) {
407
303
  throw lastError ?? new Error('All fallback tasks failed');
408
304
  }
409
305
 
306
+ // @dynamic
307
+ class AXHtmlUtil {
308
+ static focusElement(element) {
309
+ const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map((c) => c + ':not([tabindex="-1"])');
310
+ const focusable = element.querySelector(list.join(', '));
311
+ if (focusable) {
312
+ focusable.focus();
313
+ return focusable;
314
+ }
315
+ return null;
316
+ }
317
+ static blurElement(element) {
318
+ const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map((c) => c + ':not([tabindex="-1"])');
319
+ const focusable = element.querySelector(list.join(', '));
320
+ if (focusable) {
321
+ focusable.blur();
322
+ return focusable;
323
+ }
324
+ return null;
325
+ }
326
+ static hasFocus(element) {
327
+ return element.matches(':focus-within') || element.matches(':focus');
328
+ }
329
+ static isRtl(element) {
330
+ if (isBrowser() && element) {
331
+ const rtl = element.classList.contains('ax-rtl') ||
332
+ window.getComputedStyle(element, null).getPropertyValue('direction') === 'rtl';
333
+ return rtl;
334
+ }
335
+ return document.documentElement.dir === 'rtl';
336
+ }
337
+ static hasDark(element) {
338
+ if (isBrowser()) {
339
+ return element.closest('.ax-dark') ? true : false;
340
+ }
341
+ return false;
342
+ }
343
+ /**
344
+ * Helper function to check if an element is scrollable
345
+ */
346
+ static isScrollable(element) {
347
+ const overflowY = window.getComputedStyle(element).overflowY;
348
+ return (overflowY === 'auto' || overflowY === 'scroll') && element.scrollHeight > element.clientHeight;
349
+ }
350
+ /**
351
+ * Utility function to find scrollable parent elements
352
+ */
353
+ static getScrollableParents(element) {
354
+ const parents = [];
355
+ let currentElement = element;
356
+ while (currentElement) {
357
+ if (AXHtmlUtil.isScrollable(currentElement)) {
358
+ parents.push(currentElement);
359
+ }
360
+ currentElement = currentElement.parentElement;
361
+ }
362
+ return parents;
363
+ }
364
+ }
365
+
366
+ function AXAutoUnsubscriber() {
367
+ return function (constructor) {
368
+ const orig = constructor.prototype.ngOnDestroy;
369
+ constructor.prototype.ngOnDestroy = function () {
370
+ for (const prop in this) {
371
+ const property = this[prop];
372
+ if (typeof property.subscribe === 'function') {
373
+ property.unsubscribe();
374
+ }
375
+ }
376
+ orig.apply();
377
+ };
378
+ };
379
+ }
380
+ class AXUnsubscriber {
381
+ constructor() {
382
+ this._destroy$ = new Subject();
383
+ this.takeUntilDestroy = (origin) => origin.pipe(takeUntil(this._destroy$));
384
+ }
385
+ unsubscribe() {
386
+ this._destroy$.next();
387
+ this._destroy$.complete();
388
+ }
389
+ ngOnDestroy() {
390
+ this.unsubscribe();
391
+ }
392
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXUnsubscriber, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
393
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXUnsubscriber }); }
394
+ }
395
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXUnsubscriber, decorators: [{
396
+ type: Injectable
397
+ }] });
398
+
399
+ function getWordBoundsAtPosition(str, position) {
400
+ const isSpace = (c) => /[^a-zA-Z0-9]+/i.test(c);
401
+ let start = position - 1;
402
+ while (start >= 0 && !isSpace(str[start])) {
403
+ start -= 1;
404
+ }
405
+ start = Math.max(0, start + 1);
406
+ const leftSideString = str.slice(start).match(/[a-zA-Z0-9]+/i);
407
+ start += leftSideString.index;
408
+ let end = start + leftSideString[0].length;
409
+ return {
410
+ start,
411
+ end,
412
+ };
413
+ }
414
+
410
415
  /**
411
416
  * Generated bundle index. Do not edit.
412
417
  */
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-utils.mjs","sources":["../../../../libs/core/utils/src/lib/lifecycle-helpers.utils.ts","../../../../libs/core/utils/src/lib/color.utils.ts","../../../../libs/core/utils/src/lib/drawing.utils.ts","../../../../libs/core/utils/src/lib/html-utils.ts","../../../../libs/core/utils/src/lib/string.utils.ts","../../../../libs/core/utils/src/lib/execution.utils.ts","../../../../libs/core/utils/src/acorex-core-utils.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nexport function AXAutoUnsubscriber() {\n return function (constructor) {\n const orig = constructor.prototype.ngOnDestroy;\n constructor.prototype.ngOnDestroy = function () {\n for (const prop in this) {\n const property = this[prop];\n if (typeof property.subscribe === 'function') {\n property.unsubscribe();\n }\n }\n orig.apply();\n };\n };\n}\n\n@Injectable()\nexport class AXUnsubscriber implements OnDestroy {\n private readonly _destroy$ = new Subject<void>();\n\n public readonly takeUntilDestroy = <T>(origin: Observable<T> | Subject<T>): Observable<T> | Subject<T> =>\n origin.pipe(takeUntil(this._destroy$));\n\n public unsubscribe(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public ngOnDestroy(): void {\n this.unsubscribe();\n }\n}\n","export type AXColorMode = 'rgba' | 'hex' | 'hsla' | 'hsva' | null;\n\nimport tinycolor, { ColorInput } from 'tinycolor2';\nimport tinygradient, { Instance } from 'tinygradient-es';\n\nexport type AXColorFormat = ColorInput;\n\nexport class AXColorUtil {\n static to(color: AXColorFormat, mode: AXColorMode): AXColorFormat {\n const _color = tinycolor(color);\n switch (mode) {\n case 'rgba':\n return _color.toRgb();\n case 'hsla':\n return _color.toHsl();\n case 'hsva':\n return _color.toHsv();\n default:\n return _color.toHex();\n }\n }\n\n static toString(color: AXColorFormat, mode: AXColorMode = null): string {\n const _color = tinycolor(color);\n switch (mode) {\n case 'rgba':\n return _color.toRgbString();\n case 'hsla':\n return _color.toHslString();\n case 'hsva':\n return _color.toHsvString();\n\n case 'hex': {\n const rgba = _color.toRgb();\n return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();\n }\n default: {\n if (typeof color == 'string') {\n if (color.toLowerCase().startsWith('#')) return this.toString(color, 'hex');\n else return this.toString(color, 'rgba');\n } else {\n return this.toString(color, 'rgba');\n }\n }\n }\n }\n\n static isValid(color: AXColorFormat): boolean {\n const _color = tinycolor(color);\n return _color.isValid();\n }\n\n static mix(baseColor: AXColorFormat, hex: AXColorFormat, percentage: number): string {\n return tinycolor.mix(baseColor, hex, percentage).toString('rgb');\n }\n\n static multiply(color1: AXColorFormat, color2: AXColorFormat): string {\n const rgb1 = tinycolor(color1).toRgb();\n const rgb2 = tinycolor(color2).toRgb();\n rgb1.b = Math.floor((rgb1.b * rgb2.b) / 255);\n rgb1.g = Math.floor((rgb1.g * rgb2.g) / 255);\n rgb1.r = Math.floor((rgb1.r * rgb2.r) / 255);\n return tinycolor('rgb ' + rgb1.r + ' ' + rgb1.g + ' ' + rgb1.b).toString('rgb');\n }\n\n static contrastToWhite(color: AXColorFormat): number {\n return tinycolor.readability('#fff', color);\n }\n\n static lighten(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).lighten(percentage);\n }\n\n static darken(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).darken(percentage);\n }\n\n static brighten(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).brighten(percentage);\n }\n\n static saturate(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).saturate(percentage);\n }\n\n static desaturate(hex: AXColorFormat) {\n return tinycolor(hex).getLuminance();\n }\n\n static equal(color1: AXColorFormat, color2: AXColorFormat): boolean {\n return tinycolor.equals(color1, color2);\n }\n\n static gradient(values: unknown[] | { color: unknown; pos: number }[]): Instance {\n return tinygradient([...values]);\n }\n\n static getLuminance(hex: AXColorFormat) {\n return tinycolor(hex).getLuminance();\n }\n\n static xyToRgb(vX, vY): string {\n vY = vY || 0.00000000001;\n const Y = 1;\n const X = (Y / vY) * vX;\n const Z = (Y / vY) * (1 - vX - vY);\n\n // Convert to RGB using Wide RGB D65 conversion.\n let rgb = [X * 1.656492 - Y * 0.354851 - Z * 0.255038, -X * 0.707196 + Y * 1.655397 + Z * 0.036152, X * 0.051713 - Y * 0.121364 + Z * 1.01153];\n\n // Apply reverse gamma correction.\n rgb = rgb.map((x) => (x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055));\n\n // Bring all negative components to zero.\n rgb = rgb.map((x) => Math.max(0, x));\n\n // If one component is greater than 1, weight components by that value.\n const max = Math.max(...rgb);\n if (max > 1) {\n rgb = rgb.map((x) => x / max);\n }\n\n rgb = rgb.map((x) => Math.round(x * 255));\n\n return 'rgb(' + rgb.join(',') + ')';\n }\n\n static colorStringToHex(color) {\n // Check if the input is an RGBA color string\n const rgbaMatch = color.match(/^rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([\\d.]+))?\\s*\\)$/i);\n if (rgbaMatch) {\n let [_, r, g, b, a] = rgbaMatch;\n r = parseInt(r, 10);\n g = parseInt(g, 10);\n b = parseInt(b, 10);\n a = a ? parseFloat(a) : 1;\n\n // Convert RGB to hex\n let hexColor = `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;\n\n // Include alpha if present\n if (a < 1) {\n const alphaHex = Math.round(a * 255)\n .toString(16)\n .padStart(2, '0');\n hexColor += alphaHex;\n }\n\n return hexColor;\n }\n\n // Check if the input is a hex color string\n const hexMatch = color.match(/^#([0-9a-fA-F]{3}){1,2}$/);\n if (hexMatch) {\n return color;\n }\n\n throw new Error('Invalid color format');\n }\n\n static getRandomColor(): string {\n // Generate a random hex color\n return `#${Math.floor(Math.random() * 16777215).toString(16)}`;\n }\n}\n","export interface AXPoint {\n x: number;\n y: number;\n}\n\nexport interface AXBoundingClientRect {\n left?: number;\n top?: number;\n width?: number;\n height?: number;\n bottom?: number;\n right?: number;\n}\n// @dynamic\nexport class AXDrawingUtil {\n static collision(a: HTMLElement, b: HTMLElement): boolean {\n const ac = a.getBoundingClientRect();\n const bc = b.getBoundingClientRect();\n\n if (\n ac.left < bc.left + bc.width &&\n ac.left + ac.width > bc.left &&\n ac.top < bc.top + bc.height &&\n ac.top + ac.height > bc.top\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n static isInElementBound(pos: AXPoint, element: HTMLElement): boolean {\n const elBound = element.getBoundingClientRect();\n return AXDrawingUtil.isInRecPoint(pos, {\n left: elBound.x,\n width: elBound.width,\n top: elBound.y,\n height: elBound.height,\n });\n }\n\n static isInRecPoint(pos: AXPoint, rec: AXBoundingClientRect | any): boolean {\n return (\n pos.x >= rec.left && pos.x <= rec.left + rec.width && pos.y >= rec.top && pos.y <= rec.top + rec.height\n );\n }\n\n static convertRemToPixels(rem: number): number {\n return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);\n }\n}\n","import { isBrowser } from '@acorex/core/platform';\n\n// @dynamic\nexport class AXHtmlUtil {\n static focusElement(element: HTMLElement): HTMLElement {\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map((c) => c + ':not([tabindex=\"-1\"])');\n const focusable = element.querySelector<HTMLElement>(list.join(', '));\n if (focusable) {\n focusable.focus();\n return focusable;\n }\n return null;\n }\n\n static blurElement(element: HTMLElement): HTMLElement {\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map((c) => c + ':not([tabindex=\"-1\"])');\n const focusable = element.querySelector<HTMLElement>(list.join(', '));\n if (focusable) {\n focusable.blur();\n return focusable;\n }\n return null;\n }\n\n static hasFocus(element: HTMLElement) {\n return element.matches(':focus-within') || element.matches(':focus');\n }\n\n static isRtl(element?: HTMLElement) {\n if (isBrowser() && element) {\n const rtl = element.classList.contains('ax-rtl') || window.getComputedStyle(element, null).getPropertyValue('direction') === 'rtl';\n return rtl;\n }\n\n return document.documentElement.dir === 'rtl';\n }\n\n static hasDark(element: HTMLElement): boolean {\n if (isBrowser()) {\n return element.closest('.ax-dark') ? true : false;\n }\n return false;\n }\n /**\n * Helper function to check if an element is scrollable\n */\n static isScrollable(element: HTMLElement): boolean {\n const overflowY = window.getComputedStyle(element).overflowY;\n return (overflowY === 'auto' || overflowY === 'scroll') && element.scrollHeight > element.clientHeight;\n }\n\n /**\n * Utility function to find scrollable parent elements\n */\n static getScrollableParents(element: HTMLElement): HTMLElement[] {\n const parents: HTMLElement[] = [];\n let currentElement: HTMLElement | null = element;\n\n while (currentElement) {\n if (AXHtmlUtil.isScrollable(currentElement)) {\n parents.push(currentElement);\n }\n currentElement = currentElement.parentElement;\n }\n\n return parents;\n }\n}\n","export function getWordBoundsAtPosition(str: string, position: number): { start: number; end: number } {\n const isSpace = (c) => /[^a-zA-Z0-9]+/i.test(c);\n let start = position - 1;\n\n while (start >= 0 && !isSpace(str[start])) {\n start -= 1;\n }\n start = Math.max(0, start + 1);\n const leftSideString: any = str.slice(start).match(/[a-zA-Z0-9]+/i);\n start += leftSideString.index;\n let end = start + leftSideString[0].length;\n return {\n start,\n end,\n };\n}","/**\n * Blocks until a condition returns a value or the timeout is reached.\n * Useful for simulating sync behavior with cached async results.\n */\nexport function waitFor<T>(\n peekFn: () => T | null | undefined,\n loadFn: () => void,\n timeoutMs = 100\n): T | null {\n const end = Date.now() + timeoutMs;\n let result = peekFn();\n\n if (!result) {\n loadFn();\n while (!result && Date.now() < end) {\n result = peekFn();\n }\n }\n\n return result ?? null;\n}\n\n/**\n * Delays for a specific amount of time.\n */\nexport function delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\n/**\n * Retries an async function until it succeeds or a max attempt count is reached.\n */\nexport async function retryUntil<T>(\n fn: () => Promise<T>,\n attempts = 3,\n delayMs = 100\n): Promise<T> {\n let lastError: any;\n for (let i = 0; i < attempts; i++) {\n try {\n return await fn();\n } catch (error) {\n lastError = error;\n if (i < attempts - 1) await delay(delayMs);\n }\n }\n throw lastError;\n}\n\n/**\n * Continuously polls a condition until it returns true or a timeout is reached.\n */\nexport async function pollUntil(\n condition: () => boolean,\n intervalMs = 100,\n timeoutMs = 2000\n): Promise<boolean> {\n const start = Date.now();\n return new Promise((resolve, reject) => {\n const check = () => {\n if (condition()) {\n resolve(true);\n } else if (Date.now() - start >= timeoutMs) {\n reject(new Error('pollUntil timeout'));\n } else {\n setTimeout(check, intervalMs);\n }\n };\n check();\n });\n}\n\n/**\n * Throttles an async function to ensure only one instance runs at a time.\n */\nexport function throttleAsync<T extends (...args: any[]) => Promise<any>>(fn: T): T {\n let pending: Promise<any> | null = null;\n return ((...args: any[]) => {\n if (!pending) {\n pending = fn(...args).finally(() => {\n pending = null;\n });\n }\n return pending;\n }) as T;\n}\n\n/**\n * Polls a condition with cancel support via AbortSignal.\n */\nexport async function pollUntilAbortable(\n condition: () => boolean,\n intervalMs = 100,\n timeoutMs = 2000,\n signal?: AbortSignal\n): Promise<boolean> {\n const start = Date.now();\n return new Promise((resolve, reject) => {\n const check = () => {\n if (signal?.aborted) {\n return reject(new Error('pollUntil aborted'));\n }\n if (condition()) {\n resolve(true);\n } else if (Date.now() - start >= timeoutMs) {\n reject(new Error('pollUntil timeout'));\n } else {\n setTimeout(check, intervalMs);\n }\n };\n check();\n });\n}\n\n/**\n * Debounces an async function to run only after no calls are made within the wait window.\n */\nexport function debounceAsync<T extends (...args: any[]) => Promise<any>>(fn: T, waitMs: number): T {\n let timeout: ReturnType<typeof setTimeout>;\n let promise: Promise<any> | null = null;\n\n return ((...args: any[]) => {\n if (timeout) clearTimeout(timeout);\n\n promise = new Promise(resolve => {\n timeout = setTimeout(() => {\n resolve(fn(...args));\n }, waitMs);\n });\n\n return promise;\n }) as T;\n}\n\n/**\n * Runs a list of fallback functions until one resolves without throwing.\n */\nexport async function fallbackChain<T>(\n tasks: Array<() => Promise<T>>\n): Promise<T> {\n let lastError;\n for (const task of tasks) {\n try {\n return await task();\n } catch (err) {\n lastError = err;\n }\n }\n throw lastError ?? new Error('All fallback tasks failed');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-utils.mjs","sources":["../../../../packages/core/utils/src/lib/color.utils.ts","../../../../packages/core/utils/src/lib/drawing.utils.ts","../../../../packages/core/utils/src/lib/execution.utils.ts","../../../../packages/core/utils/src/lib/html-utils.ts","../../../../packages/core/utils/src/lib/lifecycle-helpers.utils.ts","../../../../packages/core/utils/src/lib/string.utils.ts","../../../../packages/core/utils/src/acorex-core-utils.ts"],"sourcesContent":["export type AXColorMode = 'rgba' | 'hex' | 'hsla' | 'hsva' | null;\n\nimport tinycolor, { ColorInput } from 'tinycolor2';\nimport tinygradient, { Instance } from 'tinygradient-es';\n\nexport type AXColorFormat = ColorInput;\n\nexport class AXColorUtil {\n static to(color: AXColorFormat, mode: AXColorMode): AXColorFormat {\n const _color = tinycolor(color);\n switch (mode) {\n case 'rgba':\n return _color.toRgb();\n case 'hsla':\n return _color.toHsl();\n case 'hsva':\n return _color.toHsv();\n default:\n return _color.toHex();\n }\n }\n\n static toString(color: AXColorFormat, mode: AXColorMode = null): string {\n const _color = tinycolor(color);\n switch (mode) {\n case 'rgba':\n return _color.toRgbString();\n case 'hsla':\n return _color.toHslString();\n case 'hsva':\n return _color.toHsvString();\n\n case 'hex': {\n const rgba = _color.toRgb();\n return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();\n }\n default: {\n if (typeof color == 'string') {\n if (color.toLowerCase().startsWith('#')) return this.toString(color, 'hex');\n else return this.toString(color, 'rgba');\n } else {\n return this.toString(color, 'rgba');\n }\n }\n }\n }\n\n static isValid(color: AXColorFormat): boolean {\n const _color = tinycolor(color);\n return _color.isValid();\n }\n\n static mix(baseColor: AXColorFormat, hex: AXColorFormat, percentage: number): string {\n return tinycolor.mix(baseColor, hex, percentage).toString('rgb');\n }\n\n static multiply(color1: AXColorFormat, color2: AXColorFormat): string {\n const rgb1 = tinycolor(color1).toRgb();\n const rgb2 = tinycolor(color2).toRgb();\n rgb1.b = Math.floor((rgb1.b * rgb2.b) / 255);\n rgb1.g = Math.floor((rgb1.g * rgb2.g) / 255);\n rgb1.r = Math.floor((rgb1.r * rgb2.r) / 255);\n return tinycolor('rgb ' + rgb1.r + ' ' + rgb1.g + ' ' + rgb1.b).toString('rgb');\n }\n\n static contrastToWhite(color: AXColorFormat): number {\n return tinycolor.readability('#fff', color);\n }\n\n static lighten(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).lighten(percentage);\n }\n\n static darken(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).darken(percentage);\n }\n\n static brighten(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).brighten(percentage);\n }\n\n static saturate(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).saturate(percentage);\n }\n\n static desaturate(hex: AXColorFormat) {\n return tinycolor(hex).getLuminance();\n }\n\n static equal(color1: AXColorFormat, color2: AXColorFormat): boolean {\n return tinycolor.equals(color1, color2);\n }\n\n static gradient(values: unknown[] | { color: unknown; pos: number }[]): Instance {\n return tinygradient([...values]);\n }\n\n static getLuminance(hex: AXColorFormat) {\n return tinycolor(hex).getLuminance();\n }\n\n static xyToRgb(vX, vY): string {\n vY = vY || 0.00000000001;\n const Y = 1;\n const X = (Y / vY) * vX;\n const Z = (Y / vY) * (1 - vX - vY);\n\n // Convert to RGB using Wide RGB D65 conversion.\n let rgb = [\n X * 1.656492 - Y * 0.354851 - Z * 0.255038,\n -X * 0.707196 + Y * 1.655397 + Z * 0.036152,\n X * 0.051713 - Y * 0.121364 + Z * 1.01153,\n ];\n\n // Apply reverse gamma correction.\n rgb = rgb.map((x) => (x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055));\n\n // Bring all negative components to zero.\n rgb = rgb.map((x) => Math.max(0, x));\n\n // If one component is greater than 1, weight components by that value.\n const max = Math.max(...rgb);\n if (max > 1) {\n rgb = rgb.map((x) => x / max);\n }\n\n rgb = rgb.map((x) => Math.round(x * 255));\n\n return 'rgb(' + rgb.join(',') + ')';\n }\n\n static colorStringToHex(color) {\n // Check if the input is an RGBA color string\n const rgbaMatch = color.match(/^rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*([\\d.]+))?\\s*\\)$/i);\n if (rgbaMatch) {\n let [_, r, g, b, a] = rgbaMatch;\n r = parseInt(r, 10);\n g = parseInt(g, 10);\n b = parseInt(b, 10);\n a = a ? parseFloat(a) : 1;\n\n // Convert RGB to hex\n let hexColor = `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;\n\n // Include alpha if present\n if (a < 1) {\n const alphaHex = Math.round(a * 255)\n .toString(16)\n .padStart(2, '0');\n hexColor += alphaHex;\n }\n\n return hexColor;\n }\n\n // Check if the input is a hex color string\n const hexMatch = color.match(/^#([0-9a-fA-F]{3}){1,2}$/);\n if (hexMatch) {\n return color;\n }\n\n throw new Error('Invalid color format');\n }\n\n static getRandomColor(): string {\n // Generate a random hex color\n return `#${Math.floor(Math.random() * 16777215).toString(16)}`;\n }\n}\n","export interface AXPoint {\n x: number;\n y: number;\n}\n\nexport interface AXBoundingClientRect {\n left?: number;\n top?: number;\n width?: number;\n height?: number;\n bottom?: number;\n right?: number;\n}\n// @dynamic\nexport class AXDrawingUtil {\n static collision(a: HTMLElement, b: HTMLElement): boolean {\n const ac = a.getBoundingClientRect();\n const bc = b.getBoundingClientRect();\n\n if (\n ac.left < bc.left + bc.width &&\n ac.left + ac.width > bc.left &&\n ac.top < bc.top + bc.height &&\n ac.top + ac.height > bc.top\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n static isInElementBound(pos: AXPoint, element: HTMLElement): boolean {\n const elBound = element.getBoundingClientRect();\n return AXDrawingUtil.isInRecPoint(pos, {\n left: elBound.x,\n width: elBound.width,\n top: elBound.y,\n height: elBound.height,\n });\n }\n\n static isInRecPoint(pos: AXPoint, rec: AXBoundingClientRect | any): boolean {\n return pos.x >= rec.left && pos.x <= rec.left + rec.width && pos.y >= rec.top && pos.y <= rec.top + rec.height;\n }\n\n static convertRemToPixels(rem: number): number {\n return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);\n }\n}\n","/**\n * Blocks until a condition returns a value or the timeout is reached.\n * Useful for simulating sync behavior with cached async results.\n */\nexport function waitFor<T>(peekFn: () => T | null | undefined, loadFn: () => void, timeoutMs = 100): T | null {\n const end = Date.now() + timeoutMs;\n let result = peekFn();\n\n if (!result) {\n loadFn();\n while (!result && Date.now() < end) {\n result = peekFn();\n }\n }\n\n return result ?? null;\n}\n\n/**\n * Delays for a specific amount of time.\n */\nexport function delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * Retries an async function until it succeeds or a max attempt count is reached.\n */\nexport async function retryUntil<T>(fn: () => Promise<T>, attempts = 3, delayMs = 100): Promise<T> {\n let lastError: any;\n for (let i = 0; i < attempts; i++) {\n try {\n return await fn();\n } catch (error) {\n lastError = error;\n if (i < attempts - 1) await delay(delayMs);\n }\n }\n throw lastError;\n}\n\n/**\n * Continuously polls a condition until it returns true or a timeout is reached.\n */\nexport async function pollUntil(condition: () => boolean, intervalMs = 100, timeoutMs = 2000): Promise<boolean> {\n const start = Date.now();\n return new Promise((resolve, reject) => {\n const check = () => {\n if (condition()) {\n resolve(true);\n } else if (Date.now() - start >= timeoutMs) {\n reject(new Error('pollUntil timeout'));\n } else {\n setTimeout(check, intervalMs);\n }\n };\n check();\n });\n}\n\n/**\n * Throttles an async function to ensure only one instance runs at a time.\n */\nexport function throttleAsync<T extends (...args: any[]) => Promise<any>>(fn: T): T {\n let pending: Promise<any> | null = null;\n return ((...args: any[]) => {\n if (!pending) {\n pending = fn(...args).finally(() => {\n pending = null;\n });\n }\n return pending;\n }) as T;\n}\n\n/**\n * Polls a condition with cancel support via AbortSignal.\n */\nexport async function pollUntilAbortable(\n condition: () => boolean,\n intervalMs = 100,\n timeoutMs = 2000,\n signal?: AbortSignal,\n): Promise<boolean> {\n const start = Date.now();\n return new Promise((resolve, reject) => {\n const check = () => {\n if (signal?.aborted) {\n return reject(new Error('pollUntil aborted'));\n }\n if (condition()) {\n resolve(true);\n } else if (Date.now() - start >= timeoutMs) {\n reject(new Error('pollUntil timeout'));\n } else {\n setTimeout(check, intervalMs);\n }\n };\n check();\n });\n}\n\n/**\n * Debounces an async function to run only after no calls are made within the wait window.\n */\nexport function debounceAsync<T extends (...args: any[]) => Promise<any>>(fn: T, waitMs: number): T {\n let timeout: ReturnType<typeof setTimeout>;\n let promise: Promise<any> | null = null;\n\n return ((...args: any[]) => {\n if (timeout) clearTimeout(timeout);\n\n promise = new Promise((resolve) => {\n timeout = setTimeout(() => {\n resolve(fn(...args));\n }, waitMs);\n });\n\n return promise;\n }) as T;\n}\n\n/**\n * Runs a list of fallback functions until one resolves without throwing.\n */\nexport async function fallbackChain<T>(tasks: Array<() => Promise<T>>): Promise<T> {\n let lastError;\n for (const task of tasks) {\n try {\n return await task();\n } catch (err) {\n lastError = err;\n }\n }\n throw lastError ?? new Error('All fallback tasks failed');\n}\n","import { isBrowser } from '@acorex/core/platform';\n\n// @dynamic\nexport class AXHtmlUtil {\n static focusElement(element: HTMLElement): HTMLElement {\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(\n (c) => c + ':not([tabindex=\"-1\"])',\n );\n const focusable = element.querySelector<HTMLElement>(list.join(', '));\n if (focusable) {\n focusable.focus();\n return focusable;\n }\n return null;\n }\n\n static blurElement(element: HTMLElement): HTMLElement {\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(\n (c) => c + ':not([tabindex=\"-1\"])',\n );\n const focusable = element.querySelector<HTMLElement>(list.join(', '));\n if (focusable) {\n focusable.blur();\n return focusable;\n }\n return null;\n }\n\n static hasFocus(element: HTMLElement) {\n return element.matches(':focus-within') || element.matches(':focus');\n }\n\n static isRtl(element?: HTMLElement) {\n if (isBrowser() && element) {\n const rtl =\n element.classList.contains('ax-rtl') ||\n window.getComputedStyle(element, null).getPropertyValue('direction') === 'rtl';\n return rtl;\n }\n\n return document.documentElement.dir === 'rtl';\n }\n\n static hasDark(element: HTMLElement): boolean {\n if (isBrowser()) {\n return element.closest('.ax-dark') ? true : false;\n }\n return false;\n }\n /**\n * Helper function to check if an element is scrollable\n */\n static isScrollable(element: HTMLElement): boolean {\n const overflowY = window.getComputedStyle(element).overflowY;\n return (overflowY === 'auto' || overflowY === 'scroll') && element.scrollHeight > element.clientHeight;\n }\n\n /**\n * Utility function to find scrollable parent elements\n */\n static getScrollableParents(element: HTMLElement): HTMLElement[] {\n const parents: HTMLElement[] = [];\n let currentElement: HTMLElement | null = element;\n\n while (currentElement) {\n if (AXHtmlUtil.isScrollable(currentElement)) {\n parents.push(currentElement);\n }\n currentElement = currentElement.parentElement;\n }\n\n return parents;\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nexport function AXAutoUnsubscriber() {\n return function (constructor) {\n const orig = constructor.prototype.ngOnDestroy;\n constructor.prototype.ngOnDestroy = function () {\n for (const prop in this) {\n const property = this[prop];\n if (typeof property.subscribe === 'function') {\n property.unsubscribe();\n }\n }\n orig.apply();\n };\n };\n}\n\n@Injectable()\nexport class AXUnsubscriber implements OnDestroy {\n private readonly _destroy$ = new Subject<void>();\n\n public readonly takeUntilDestroy = <T>(origin: Observable<T> | Subject<T>): Observable<T> | Subject<T> =>\n origin.pipe(takeUntil(this._destroy$));\n\n public unsubscribe(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public ngOnDestroy(): void {\n this.unsubscribe();\n }\n}\n","export function getWordBoundsAtPosition(str: string, position: number): { start: number; end: number } {\n const isSpace = (c) => /[^a-zA-Z0-9]+/i.test(c);\n let start = position - 1;\n\n while (start >= 0 && !isSpace(str[start])) {\n start -= 1;\n }\n start = Math.max(0, start + 1);\n const leftSideString: any = str.slice(start).match(/[a-zA-Z0-9]+/i);\n start += leftSideString.index;\n let end = start + leftSideString[0].length;\n return {\n start,\n end,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -125,7 +125,9 @@ class AXLengthValidationRule {
125
125
  return {
126
126
  rule: this.name,
127
127
  result: isValid,
128
- message: isValid ? null : options?.message ?? `The value must be between ${options.min} and ${options.max} chars`,
128
+ message: isValid
129
+ ? null
130
+ : (options?.message ?? `The value must be between ${options.min} and ${options.max} chars`),
129
131
  value: value,
130
132
  };
131
133
  }
@@ -146,7 +148,7 @@ class AXMaxLengthValidationRule {
146
148
  return {
147
149
  rule: this.name,
148
150
  result: isValid,
149
- message: isValid ? '' : options?.message ?? `The value must not exceed ${options.value} characters.`,
151
+ message: isValid ? '' : (options?.message ?? `The value must not exceed ${options.value} characters.`),
150
152
  value: value,
151
153
  };
152
154
  }
@@ -166,7 +168,7 @@ class AXMinLengthValidationRule {
166
168
  return {
167
169
  rule: this.name,
168
170
  result: isValid,
169
- message: isValid ? '' : options?.message ?? `The value must be at least ${options.value} characters long.`,
171
+ message: isValid ? '' : (options?.message ?? `The value must be at least ${options.value} characters long.`),
170
172
  value: value,
171
173
  };
172
174
  }
@@ -194,7 +196,7 @@ class AXBetweenValidationRule {
194
196
  return {
195
197
  rule: this.name,
196
198
  result: isValid || isEmpty(value),
197
- message: isValid ? '' : options?.message ?? baseMessage,
199
+ message: isValid ? '' : (options?.message ?? baseMessage),
198
200
  value: value,
199
201
  };
200
202
  }
@@ -217,7 +219,7 @@ class AXEqualValidationRule {
217
219
  return {
218
220
  rule: this.name,
219
221
  result: isValid,
220
- message: isValid ? '' : options?.message ?? defaultMessage,
222
+ message: isValid ? '' : (options?.message ?? defaultMessage),
221
223
  value: value,
222
224
  };
223
225
  }
@@ -239,7 +241,7 @@ class AXGreaterThanValidationRule {
239
241
  return {
240
242
  rule: this.name,
241
243
  result: isValid,
242
- message: isValid ? '' : options?.message ?? baseMessage,
244
+ message: isValid ? '' : (options?.message ?? baseMessage),
243
245
  value: value,
244
246
  };
245
247
  }
@@ -261,7 +263,7 @@ class AXLessThanValidationRule {
261
263
  return {
262
264
  rule: this.name,
263
265
  result: isValid,
264
- message: isValid ? '' : options?.message ?? baseMessage,
266
+ message: isValid ? '' : (options?.message ?? baseMessage),
265
267
  value: value,
266
268
  };
267
269
  }
@@ -349,7 +351,9 @@ class AXValidationService {
349
351
  return {
350
352
  rule: ruleName,
351
353
  result: false,
352
- message: await this.translationService.translateAsync('validation.messages.invalid-rull-name', { params: { name: ruleName } }),
354
+ message: await this.translationService.translateAsync('validation.messages.invalid-rull-name', {
355
+ params: { name: ruleName },
356
+ }),
353
357
  value,
354
358
  };
355
359
  }