@acorex/core 7.11.6 → 7.12.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 (31) hide show
  1. package/dateTime/index.d.ts +1 -1
  2. package/dateTime/lib/calendar.service.d.ts +1 -1
  3. package/dateTime/lib/holidays.loader.d.ts +1 -1
  4. package/esm2022/dateTime/index.mjs +2 -2
  5. package/esm2022/dateTime/lib/calendar.service.mjs +3 -6
  6. package/esm2022/dateTime/lib/dateTime.config.mjs +2 -2
  7. package/esm2022/dateTime/lib/datetime-format.plugin.mjs +1 -1
  8. package/esm2022/dateTime/lib/datetime.module.mjs +7 -7
  9. package/esm2022/dateTime/lib/holidays.loader.mjs +2 -2
  10. package/esm2022/format/index.mjs +3 -3
  11. package/esm2022/format/lib/format.config.mjs +2 -2
  12. package/esm2022/format/lib/format.module.mjs +17 -6
  13. package/esm2022/format/lib/format.pipe.mjs +1 -1
  14. package/esm2022/format/lib/format.service.mjs +3 -3
  15. package/esm2022/format/lib/number-format.plugin.mjs +3 -3
  16. package/esm2022/format/lib/string-format.plugin.mjs +17 -0
  17. package/esm2022/memorize/index.mjs +1 -1
  18. package/esm2022/pipes/index.mjs +1 -1
  19. package/esm2022/pipes/lib/safe/index.mjs +1 -1
  20. package/esm2022/utils/lib/color-util.mjs +2 -2
  21. package/fesm2022/acorex-core-dateTime.mjs +37 -40
  22. package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
  23. package/fesm2022/acorex-core-format.mjs +48 -21
  24. package/fesm2022/acorex-core-format.mjs.map +1 -1
  25. package/fesm2022/acorex-core-utils.mjs +1 -1
  26. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  27. package/format/index.d.ts +2 -2
  28. package/format/lib/format.config.d.ts +1 -1
  29. package/format/lib/string-format.plugin.d.ts +5 -0
  30. package/package.json +3 -3
  31. package/utils/lib/color-util.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-utils.mjs","sources":["../../../../libs/core/utils/src/lib/auto-unsubscribe.ts","../../../../libs/core/utils/src/lib/color-util.ts","../../../../libs/core/utils/src/lib/drawing-util.ts","../../../../libs/core/utils/src/lib/html-util.ts","../../../../libs/core/utils/src/lib/string-util.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>): Observable<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: any[] | { color: any; pos: number }[]): Instance {\n return tinygradient([...values]);\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","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","// @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 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","// @dynamic\nexport class AXStringUtil {\n static 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","/**\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":["../../../../libs/core/utils/src/lib/auto-unsubscribe.ts","../../../../libs/core/utils/src/lib/color-util.ts","../../../../libs/core/utils/src/lib/drawing-util.ts","../../../../libs/core/utils/src/lib/html-util.ts","../../../../libs/core/utils/src/lib/string-util.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>): Observable<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, percentage?: number) {\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: any[] | { color: any; pos: number }[]): Instance {\n return tinygradient([...values]);\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","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","// @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 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","// @dynamic\nexport class AXStringUtil {\n static 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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/format/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './lib/format.config';
2
+ export * from './lib/format.module';
3
+ export * from './lib/format.pipe';
2
4
  export * from './lib/format.service';
3
5
  export * from './lib/number-format.plugin';
4
- export * from './lib/format.pipe';
5
- export * from './lib/format.module';
@@ -1,4 +1,4 @@
1
- import { InjectionToken } from "@angular/core";
1
+ import { InjectionToken } from '@angular/core';
2
2
  export interface AXFormatPlugin {
3
3
  get name(): string;
4
4
  format(value: unknown, ...args: unknown[]): string;
@@ -0,0 +1,5 @@
1
+ import { AXFormatPlugin } from './format.config';
2
+ export declare class AXStringFormatPlugin implements AXFormatPlugin {
3
+ get name(): string;
4
+ format(value: unknown, ...args: unknown[]): string;
5
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@acorex/core",
3
- "version": "7.11.6",
3
+ "version": "7.12.1",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@angular/common": ">=16.2.0",
7
- "@angular/core": ">=16.2.0",
6
+ "@angular/common": ">=16.2.6",
7
+ "@angular/core": ">=16.2.6",
8
8
  "lodash-es": ">=4.17.21",
9
9
  "tinycolor2": ">=1.6.0",
10
10
  "tinygradient-es": ">=1.0.0"
@@ -13,7 +13,7 @@ export declare class AXColorUtil {
13
13
  static darken(hex: AXColorFormat, percentage?: number): tinycolor.Instance;
14
14
  static brighten(hex: AXColorFormat, percentage?: number): tinycolor.Instance;
15
15
  static saturate(hex: AXColorFormat, percentage?: number): tinycolor.Instance;
16
- static desaturate(hex: AXColorFormat): number;
16
+ static desaturate(hex: AXColorFormat, percentage?: number): number;
17
17
  static equal(color1: AXColorFormat, color2: AXColorFormat): boolean;
18
18
  static gradient(values: any[] | {
19
19
  color: any;