@acorex/core 22.1.0-next.31 → 22.1.0-next.32

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 (57) hide show
  1. package/constants/README.md +7 -1
  2. package/fesm2022/acorex-core-components.mjs +3 -3
  3. package/fesm2022/acorex-core-config.mjs +3 -3
  4. package/fesm2022/acorex-core-constants.mjs +27809 -1
  5. package/fesm2022/acorex-core-constants.mjs.map +1 -1
  6. package/fesm2022/acorex-core-date-time.mjs +55 -41
  7. package/fesm2022/acorex-core-date-time.mjs.map +1 -1
  8. package/fesm2022/acorex-core-events.mjs +3 -3
  9. package/fesm2022/acorex-core-file.mjs +53 -46
  10. package/fesm2022/acorex-core-file.mjs.map +1 -1
  11. package/fesm2022/acorex-core-format.mjs +19 -19
  12. package/fesm2022/acorex-core-full-screen.mjs +232 -59
  13. package/fesm2022/acorex-core-full-screen.mjs.map +1 -1
  14. package/fesm2022/acorex-core-icon.mjs +3 -3
  15. package/fesm2022/acorex-core-image.mjs +3 -3
  16. package/fesm2022/acorex-core-locale.mjs +13 -10
  17. package/fesm2022/acorex-core-locale.mjs.map +1 -1
  18. package/fesm2022/acorex-core-network.mjs +3 -3
  19. package/fesm2022/acorex-core-pipes.mjs +3 -3
  20. package/fesm2022/acorex-core-platform.mjs +4 -3
  21. package/fesm2022/acorex-core-platform.mjs.map +1 -1
  22. package/fesm2022/acorex-core-storage.mjs +9 -9
  23. package/fesm2022/acorex-core-theme-builder.mjs +1329 -0
  24. package/fesm2022/acorex-core-theme-builder.mjs.map +1 -0
  25. package/fesm2022/acorex-core-translation.mjs +36 -24
  26. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  27. package/fesm2022/acorex-core-utils.mjs +256 -80
  28. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  29. package/fesm2022/acorex-core-validation.mjs +40 -40
  30. package/fesm2022/acorex-core-z-index.mjs +3 -3
  31. package/i18n/en-AU/acorex.json +1101 -0
  32. package/i18n/en-AU/common.json +290 -0
  33. package/i18n/en-US/acorex.json +1101 -0
  34. package/i18n/en-US/common.json +285 -0
  35. package/i18n/fa-IR/acorex.json +1101 -0
  36. package/i18n/fa-IR/common.json +284 -0
  37. package/package.json +8 -2
  38. package/theme-builder/README.md +53 -0
  39. package/types/acorex-core-components.d.ts +1 -1
  40. package/types/acorex-core-config.d.ts +1 -1
  41. package/types/acorex-core-constants.d.ts +58 -2
  42. package/types/acorex-core-date-time.d.ts +9 -4
  43. package/types/acorex-core-events.d.ts +1 -1
  44. package/types/acorex-core-file.d.ts +12 -11
  45. package/types/acorex-core-format.d.ts +3 -3
  46. package/types/acorex-core-full-screen.d.ts +67 -18
  47. package/types/acorex-core-icon.d.ts +1 -1
  48. package/types/acorex-core-image.d.ts +1 -1
  49. package/types/acorex-core-locale.d.ts +4 -2
  50. package/types/acorex-core-network.d.ts +1 -1
  51. package/types/acorex-core-platform.d.ts +1 -1
  52. package/types/acorex-core-storage.d.ts +3 -3
  53. package/types/acorex-core-theme-builder.d.ts +42 -0
  54. package/types/acorex-core-translation.d.ts +12 -6
  55. package/types/acorex-core-utils.d.ts +54 -16
  56. package/types/acorex-core-validation.d.ts +12 -12
  57. package/types/acorex-core-z-index.d.ts +1 -1
@@ -28,7 +28,7 @@ declare class AXFileSizeFormatter implements AXFormatter {
28
28
  */
29
29
  format(value: number): string;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileSizeFormatter, never>;
31
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFileSizeFormatter>;
31
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
32
32
  }
33
33
 
34
34
  /** Human-readable file size (binary units, e.g. `41.5 MB`). */
@@ -236,6 +236,7 @@ declare class AXFileTypeRendererOutletComponent {
236
236
  readonly resolvedComponent: i0.WritableSignal<Type<unknown>>;
237
237
  readonly loading: i0.WritableSignal<boolean>;
238
238
  readonly mergedInputs: i0.WritableSignal<Record<string, unknown>>;
239
+ private loadId;
239
240
  constructor();
240
241
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileTypeRendererOutletComponent, never>;
241
242
  static ɵcmp: i0.ɵɵComponentDeclaration<AXFileTypeRendererOutletComponent, "ax-file-type-renderer", never, { "fileType": { "alias": "fileType"; "required": true; "isSignal": true; }; "payload": { "alias": "payload"; "required": true; "isSignal": true; }; "extensionHint": { "alias": "extensionHint"; "required": false; "isSignal": true; }; "inputs": { "alias": "inputs"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -276,7 +277,7 @@ declare class AXFileTypeRegistryService {
276
277
  }[];
277
278
  }>;
278
279
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileTypeRegistryService, never>;
279
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFileTypeRegistryService>;
280
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
280
281
  }
281
282
 
282
283
  /** Merges type-level validations with extension overrides (extension wins per field). */
@@ -304,7 +305,7 @@ declare const AX_AUDIO_FILE_TYPE: AXFileType;
304
305
  declare class AXAudioFileTypeProvider extends AXFileTypeInfoProvider {
305
306
  items(): Promise<AXFileType[]>;
306
307
  static ɵfac: i0.ɵɵFactoryDeclaration<AXAudioFileTypeProvider, never>;
307
- static ɵprov: i0.ɵɵInjectableDeclaration<AXAudioFileTypeProvider>;
308
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
308
309
  }
309
310
 
310
311
  /** Extension-only: no type `validations` — only listed extensions are allowed. */
@@ -312,28 +313,28 @@ declare const AX_DOCUMENT_FILE_TYPE: AXFileType;
312
313
  declare class AXDocumentFileTypeProvider extends AXFileTypeInfoProvider {
313
314
  items(): Promise<AXFileType[]>;
314
315
  static ɵfac: i0.ɵɵFactoryDeclaration<AXDocumentFileTypeProvider, never>;
315
- static ɵprov: i0.ɵɵInjectableDeclaration<AXDocumentFileTypeProvider>;
316
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
316
317
  }
317
318
 
318
319
  declare const AX_FILE_FILE_TYPE: AXFileType;
319
320
  declare class AXFileFileTypeProvider extends AXFileTypeInfoProvider {
320
321
  items(): Promise<AXFileType[]>;
321
322
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileFileTypeProvider, never>;
322
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFileFileTypeProvider>;
323
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
323
324
  }
324
325
 
325
326
  declare const AX_IMAGE_FILE_TYPE: AXFileType;
326
327
  declare class AXImageFileTypeProvider extends AXFileTypeInfoProvider {
327
328
  items(): Promise<AXFileType[]>;
328
329
  static ɵfac: i0.ɵɵFactoryDeclaration<AXImageFileTypeProvider, never>;
329
- static ɵprov: i0.ɵɵInjectableDeclaration<AXImageFileTypeProvider>;
330
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
330
331
  }
331
332
 
332
333
  declare const AX_VIDEO_FILE_TYPE: AXFileType;
333
334
  declare class AXVideoFileTypeProvider extends AXFileTypeInfoProvider {
334
335
  items(): Promise<AXFileType[]>;
335
336
  static ɵfac: i0.ɵɵFactoryDeclaration<AXVideoFileTypeProvider, never>;
336
- static ɵprov: i0.ɵɵInjectableDeclaration<AXVideoFileTypeProvider>;
337
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
337
338
  }
338
339
 
339
340
  /** Built-in file type provider classes (one logical type per provider). */
@@ -357,7 +358,7 @@ declare class AXFileMimeTypeValidationRule implements AXValidationRule {
357
358
  validate(value: File | Blob, options: AXFileMimeTypeValidationRuleOptions): Promise<AXValidationRuleResult>;
358
359
  private matchesMime;
359
360
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileMimeTypeValidationRule, never>;
360
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFileMimeTypeValidationRule>;
361
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
361
362
  }
362
363
 
363
364
  interface AXFileMinSizeValidationRuleOptions extends AXValidationRuleOptions {
@@ -373,7 +374,7 @@ declare class AXFileMinSizeValidationRule implements AXValidationRule {
373
374
  get name(): string;
374
375
  validate(value: File | Blob, options: AXFileMinSizeValidationRuleOptions): Promise<AXValidationRuleResult>;
375
376
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileMinSizeValidationRule, never>;
376
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFileMinSizeValidationRule>;
377
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
377
378
  }
378
379
 
379
380
  interface AXFileMaxSizeValidationRuleOptions extends AXValidationRuleOptions {
@@ -389,7 +390,7 @@ declare class AXFileMaxSizeValidationRule implements AXValidationRule {
389
390
  get name(): string;
390
391
  validate(value: File | Blob, options: AXFileMaxSizeValidationRuleOptions): Promise<AXValidationRuleResult>;
391
392
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileMaxSizeValidationRule, never>;
392
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFileMaxSizeValidationRule>;
393
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
393
394
  }
394
395
 
395
396
  /** Validation rule classes to register with {@link AXValidationModule}. */
@@ -462,7 +463,7 @@ declare class AXFileService {
462
463
  private resolveChooseOptions;
463
464
  private openFileDialog;
464
465
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFileService, never>;
465
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFileService>;
466
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
466
467
  }
467
468
 
468
469
  export { AXAudioFileTypeProvider, AXDocumentFileTypeProvider, AXFileFileTypeProvider, AXFileMaxSizeValidationRule, AXFileMimeTypeValidationRule, AXFileMinSizeValidationRule, AXFileModule, AXFileService, AXFileSizeFormatter, AXFileTypeInfoProvider, AXFileTypeRegistryService, AXFileTypeRendererOutletComponent, AXImageFileTypeProvider, AXVideoFileTypeProvider, AX_AUDIO_FILE_TYPE, AX_BUILTIN_FILE_TYPE_PROVIDERS, AX_DOCUMENT_FILE_TYPE, AX_FILE_FILE_TYPE, AX_FILE_TYPE_INFO_PROVIDER, AX_FILE_TYPE_METADATA_PURPOSE, AX_FILE_VALIDATION_RULES, AX_IMAGE_FILE_TYPE, AX_VIDEO_FILE_TYPE, createFileTypeMetadata, defineFileType, ensureFileValidationRules, fileTypeMatchesPurpose, fileValidationsToRules, filterFileTypesByPurpose, findFileTypeExtension, findFileTypeExtensionByName, findFileTypeExtensionForMime, formatFileSizeBytes, getFileExtension, getFileTypePurposes, isEmptyFileValidations, isExtensionsOnlyType, isLazyFileTypeComponentLoader, loadFileTypeComponent, matchesFileMime, mergeFileValidations, provideBuiltinFileTypeProviders, provideDefaultFileTypeProviders, provideFileTypeInfoProvider, provideFileTypeSystem, provideFileTypes, provideFileValidationRules, resolveFileCopyText, resolveFileTypeComponent, resolveFileTypeComponentType, resolveFileTypeCopy, resolveFileTypeExtension, resolveFileTypeOpen, resolveFileTypePaste, resolveFileTypeUtility, resolveFileValidations, runFileTypeCopy, runFileTypeOpen, runFileTypeUtility, runFileTypeUtilityForFile, validateFileAgainstType, validateFileWithValidations };
@@ -90,7 +90,7 @@ declare class AXFormatterRegistryService {
90
90
  */
91
91
  get(name: string): AXFormatter;
92
92
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatterRegistryService, never>;
93
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFormatterRegistryService>;
93
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
94
94
  }
95
95
  declare class AXFormatService {
96
96
  private pluginRegistry;
@@ -119,7 +119,7 @@ declare class AXFormatService {
119
119
  */
120
120
  format(value: unknown): AXFormatFluent;
121
121
  static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatService, never>;
122
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFormatService>;
122
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
123
123
  }
124
124
  declare class AXFormatFluent {
125
125
  private formatService;
@@ -153,7 +153,7 @@ declare class AXNumberFormatter implements AXFormatter {
153
153
  format(value: number, options: AXNumberFormatterOptions): string;
154
154
  private getLocaleSeparators;
155
155
  static ɵfac: i0.ɵɵFactoryDeclaration<AXNumberFormatter, never>;
156
- static ɵprov: i0.ɵɵInjectableDeclaration<AXNumberFormatter>;
156
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
157
157
  }
158
158
 
159
159
  interface AXStringFormatterOptions extends AXFormatOptions {
@@ -1,53 +1,102 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
 
3
+ /**
4
+ * Fullscreen implementation mode.
5
+ * - `overlay`: CSS fixed container that covers the viewport.
6
+ * - `browser`: Native Fullscreen API via `element.requestFullscreen()`.
7
+ */
8
+ type AXFullScreenMode = 'overlay' | 'browser';
3
9
  declare class AXFullScreenService {
4
10
  private readonly zIndexService;
11
+ private readonly document;
12
+ private readonly platformId;
13
+ private readonly destroyRef;
5
14
  /**
6
- * Current fullscreen state
15
+ * Current fullscreen state.
7
16
  */
8
17
  private readonly isFullscreenState;
9
18
  /**
10
- * Original element styles to restore
19
+ * Active fullscreen element.
20
+ */
21
+ private readonly activeElementState;
22
+ /**
23
+ * Active fullscreen mode.
24
+ */
25
+ private currentMode;
26
+ /**
27
+ * Original element styles to restore (overlay mode).
11
28
  */
12
29
  private originalStyles;
13
30
  /**
14
- * Original parent element reference
31
+ * Original parent element reference (overlay mode).
15
32
  */
16
33
  private originalParent;
17
34
  /**
18
- * Fullscreen container element
35
+ * Original next sibling so overlay restore keeps DOM order (overlay mode).
36
+ */
37
+ private originalNextSibling;
38
+ /**
39
+ * Fullscreen container element (overlay mode).
19
40
  */
20
41
  private fullscreenContainer;
21
42
  /**
22
- * Z-index token for this fullscreen instance
43
+ * Z-index token for overlay fullscreen.
23
44
  */
24
45
  private zToken;
46
+ private readonly fullscreenChangeHandler;
47
+ constructor();
25
48
  /**
26
- * Toggle fullscreen state
49
+ * Toggle fullscreen state.
27
50
  */
28
- toggle(element: HTMLElement): void;
51
+ toggle(element: HTMLElement, mode?: AXFullScreenMode): void;
29
52
  /**
30
- * Enter fullscreen mode
53
+ * Enter fullscreen mode.
31
54
  */
32
- enter(element: HTMLElement): void;
55
+ enter(element: HTMLElement, mode?: AXFullScreenMode): void;
33
56
  /**
34
- * Exit fullscreen mode
57
+ * Exit fullscreen mode.
35
58
  */
36
- exit(element: HTMLElement): void;
59
+ exit(element?: HTMLElement): void;
37
60
  /**
38
- * Check fullscreen state
61
+ * Check whether any element is in fullscreen mode.
39
62
  */
40
63
  isFullscreen(): boolean;
41
64
  /**
42
- * Store original computed styles
65
+ * Read-only signal of the active fullscreen element.
43
66
  */
44
- private storeOriginalStyles;
67
+ readonly activeElement: _angular_core.Signal<HTMLElement>;
45
68
  /**
46
- * Restore original styles
69
+ * Read-only signal of the fullscreen state.
47
70
  */
71
+ readonly fullscreen: _angular_core.Signal<boolean>;
72
+ /**
73
+ * Check whether the given element is the active fullscreen element.
74
+ */
75
+ isActive(element: HTMLElement): boolean;
76
+ /**
77
+ * Returns the currently active fullscreen element, if any.
78
+ */
79
+ getActiveElement(): HTMLElement | null;
80
+ /**
81
+ * Returns the active fullscreen mode, if any.
82
+ */
83
+ getActiveMode(): AXFullScreenMode | null;
84
+ private enterOverlay;
85
+ private exitOverlay;
86
+ private enterBrowser;
87
+ private exitBrowser;
88
+ private clearBrowserState;
89
+ private clearActiveState;
90
+ private cleanupOverlayResources;
91
+ private restoreOriginalPosition;
92
+ private getFullscreenElement;
93
+ private getRequestFullscreen;
94
+ private getExitFullscreen;
95
+ private storeOriginalStyles;
48
96
  private restoreOriginalStyles;
49
- static ɵfac: i0.ɵɵFactoryDeclaration<AXFullScreenService, never>;
50
- static ɵprov: i0.ɵɵInjectableDeclaration<AXFullScreenService>;
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFullScreenService, never>;
98
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
51
99
  }
52
100
 
53
101
  export { AXFullScreenService };
102
+ export type { AXFullScreenMode };
@@ -6,7 +6,7 @@ declare class AXIconResolverService {
6
6
  private cache;
7
7
  resolve(icon: string): Promise<string>;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<AXIconResolverService, never>;
9
- static ɵprov: i0.ɵɵInjectableDeclaration<AXIconResolverService>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
10
10
  }
11
11
 
12
12
  declare abstract class AXIconResolver {
@@ -18,7 +18,7 @@ declare class AXImageService {
18
18
  quality?: number;
19
19
  }): Promise<Blob>;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<AXImageService, never>;
21
- static ɵprov: i0.ɵɵInjectableDeclaration<AXImageService>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
22
22
  }
23
23
 
24
24
  export { AXImageService };
@@ -34,6 +34,8 @@ interface AXLocaleProfile {
34
34
  week: {
35
35
  startsOn: number;
36
36
  weekends: number[];
37
+ /** Number of characters shown for weekday headers in calendar views (e.g. 1 for fa, 2 for en). */
38
+ weekdayLabelLength: number;
37
39
  };
38
40
  clock: {
39
41
  format24Hour: boolean;
@@ -129,7 +131,7 @@ declare class AXLocaleProfileProviderService {
129
131
  */
130
132
  has(localeCode: string): boolean;
131
133
  static ɵfac: i0.ɵɵFactoryDeclaration<AXLocaleProfileProviderService, never>;
132
- static ɵprov: i0.ɵɵInjectableDeclaration<AXLocaleProfileProviderService>;
134
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
133
135
  }
134
136
 
135
137
  interface AXLocaleConfig {
@@ -188,7 +190,7 @@ declare class AXLocaleService {
188
190
  */
189
191
  reset(): void;
190
192
  static ɵfac: i0.ɵɵFactoryDeclaration<AXLocaleService, never>;
191
- static ɵprov: i0.ɵɵInjectableDeclaration<AXLocaleService>;
193
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
192
194
  }
193
195
 
194
196
  declare const AXUSLocaleProfile: AXLocaleProfile;
@@ -62,7 +62,7 @@ declare class AXNetworkService {
62
62
  download(url: string): AXDownloadTask;
63
63
  download(request: HttpRequest<Blob>): AXDownloadTask;
64
64
  static ɵfac: i0.ɵɵFactoryDeclaration<AXNetworkService, never>;
65
- static ɵprov: i0.ɵɵInjectableDeclaration<AXNetworkService>;
65
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
66
66
  }
67
67
 
68
68
  export { AXDownloadStatus, AXDownloadTask, AXNetworkService, AXUploadStatus, AXUploadTask };
@@ -96,7 +96,7 @@ declare class AXPlatform {
96
96
  private detectScrollEvent;
97
97
  private detectDocumentDirectionChange;
98
98
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPlatform, never>;
99
- static ɵprov: i0.ɵɵInjectableDeclaration<AXPlatform>;
99
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
100
100
  }
101
101
 
102
102
  export { AXPlatform, AXPlatformEvent, PLATFORMS_MAP, is2XLScreen, is3XLScreen, is4XLScreen, isAndroid, isAndroidTablet, isBrowser, isCapacitorNative, isChrome, isCordova, isDesktop, isEdge, isElectron, isFirefox, isHybrid, isIOS, isIpad, isIphone, isLGScreen, isMDScreen, isMSIE, isMobile, isMobileWeb, isOpera, isPWA, isPhablet, isSMScreen, isSafari, isServer, isTablet, isTouch, isXLScreen, matchMedia, testUserAgent };
@@ -116,7 +116,7 @@ declare class AXCookieStorageService {
116
116
  */
117
117
  deleteAll(path?: AXCookieOptions['path'], domain?: AXCookieOptions['domain'], secure?: AXCookieOptions['secure'], sameSite?: AXSameSite): void;
118
118
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCookieStorageService, never>;
119
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCookieStorageService>;
119
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
120
120
  }
121
121
 
122
122
  declare const AX_LOCALSTORAGE_SECRET_KEY: InjectionToken<string>;
@@ -160,7 +160,7 @@ declare class AXLocalStorageService implements AXStorage {
160
160
  */
161
161
  getWithEncription<T = unknown>(key: string): T;
162
162
  static ɵfac: i0.ɵɵFactoryDeclaration<AXLocalStorageService, never>;
163
- static ɵprov: i0.ɵɵInjectableDeclaration<AXLocalStorageService>;
163
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
164
164
  }
165
165
 
166
166
  declare class AXSessionStorageService implements AXStorage {
@@ -169,7 +169,7 @@ declare class AXSessionStorageService implements AXStorage {
169
169
  clear(): void;
170
170
  removeItem(key: string): void;
171
171
  static ɵfac: i0.ɵɵFactoryDeclaration<AXSessionStorageService, never>;
172
- static ɵprov: i0.ɵɵInjectableDeclaration<AXSessionStorageService>;
172
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
173
173
  }
174
174
 
175
175
  export { AXCookieStorageService, AXLocalStorageService, AXSessionStorageService, AX_LOCALSTORAGE_SECRET_KEY };
@@ -0,0 +1,42 @@
1
+ type AXThemeBuilderColors = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'surface' | 'accent' | 'accent1' | 'accent2' | 'accent3' | 'accent4' | 'accent5' | 'accent6';
2
+ type AXThemeBuilderColorVariants = '50' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | '950' | 'on' | 'on-contrast';
3
+ type AXThemeBuilderPalette = Record<AXThemeBuilderColors, Record<AXThemeBuilderColorVariants, string>>;
4
+ type AXThemeBuilderFullPalette = {
5
+ light: AXThemeBuilderPalette;
6
+ dark: AXThemeBuilderPalette;
7
+ };
8
+ type AXThemeBuilderBaseColors = {
9
+ light: Record<AXThemeBuilderColors, string>;
10
+ dark: Record<AXThemeBuilderColors, string>;
11
+ };
12
+
13
+ type AXThemeColors = Partial<Record<AXThemeBuilderColors, string>>;
14
+ interface AXCreateThemeOptions {
15
+ /** 'file' (default) emits a complete stylesheet with :root/.ax-dark plus the Tailwind layer.
16
+ * 'preview' emits variables only, scoped to `scope`, for injecting into a live page. */
17
+ target?: 'file' | 'preview';
18
+ /** Selectors used when target is 'preview'. */
19
+ scope?: {
20
+ light: string;
21
+ dark: string;
22
+ };
23
+ /** Roles to emit when target is 'preview'. Defaults to all roles. */
24
+ roles?: AXThemeBuilderColors[];
25
+ }
26
+ interface AXTheme {
27
+ /** The generated CSS. */
28
+ css: string;
29
+ /** Generated shade scales per role, for both modes. */
30
+ palette: AXThemeBuilderFullPalette;
31
+ }
32
+ /**
33
+ * Creates an ACoreX theme from a flat map of role seed colors.
34
+ *
35
+ * Each provided color is applied to both light and dark modes; dark shades are
36
+ * derived via the dark-palette tone mapping. Omitted roles fall back to the
37
+ * packaged default seeds (which may differ per mode for `secondary`, `danger`, and `surface`).
38
+ */
39
+ declare function createTheme(colors?: AXThemeColors, options?: AXCreateThemeOptions): AXTheme;
40
+
41
+ export { createTheme };
42
+ export type { AXCreateThemeOptions, AXTheme, AXThemeBuilderBaseColors, AXThemeBuilderColorVariants, AXThemeBuilderColors, AXThemeBuilderFullPalette, AXThemeBuilderPalette, AXThemeColors };
@@ -1,10 +1,8 @@
1
- import { ResolveFn } from '@angular/router';
2
1
  import * as i0 from '@angular/core';
3
- import { InjectionToken, PipeTransform, OnInit } from '@angular/core';
2
+ import { Signal, InjectionToken, PipeTransform, OnInit } from '@angular/core';
3
+ import { ResolveFn } from '@angular/router';
4
4
  import { Observable } from 'rxjs';
5
5
 
6
- declare const loadTranslationScope: ResolveFn<unknown>;
7
-
8
6
  type AXTranslateHashMap<T = unknown> = Record<string, T>;
9
7
  type AXTranslateLang = string;
10
8
  type AXTranslateScope = string;
@@ -41,6 +39,14 @@ declare function createMultiLanguageString(enUs: string, faIr: string): AXMultiL
41
39
  */
42
40
  declare function isEffectivelyEmptyLocalizedValue(value: unknown): boolean;
43
41
 
42
+ /**
43
+ * Creates a signal that mirrors a string source signal, translating its value whenever
44
+ * the source or active language changes.
45
+ */
46
+ declare function toTranslatedSignal(source: Signal<string | null | undefined>, options?: AXTranslateOptions): Signal<string>;
47
+
48
+ declare const loadTranslationScope: ResolveFn<unknown>;
49
+
44
50
  interface AXTranslationConfig {
45
51
  defaults: {
46
52
  lang: AXTranslateLang;
@@ -135,8 +141,8 @@ declare class AXTranslationService {
135
141
  private resolveContext;
136
142
  isValidMultiLanguageObject(value: unknown): value is AXMultiLanguageMap;
137
143
  static ɵfac: i0.ɵɵFactoryDeclaration<AXTranslationService, never>;
138
- static ɵprov: i0.ɵɵInjectableDeclaration<AXTranslationService>;
144
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
139
145
  }
140
146
 
141
- export { AXTranslationDefaultConfig, AXTranslationLoaderDefault, AXTranslationModule, AXTranslationService, AXTranslatorDirective, AXTranslatorPipe, AX_TRANSLATION_CONFIG, AX_TRANSLATION_LOADER, LOCALE_KEY_REGEX, createMultiLanguageString, isEffectivelyEmptyLocalizedValue, isValidMultiLanguageObject, loadTranslationScope, resolveMultiLanguageString, resolveMultiLanguageValue, translateSync, translationConfig };
147
+ export { AXTranslationDefaultConfig, AXTranslationLoaderDefault, AXTranslationModule, AXTranslationService, AXTranslatorDirective, AXTranslatorPipe, AX_TRANSLATION_CONFIG, AX_TRANSLATION_LOADER, LOCALE_KEY_REGEX, createMultiLanguageString, isEffectivelyEmptyLocalizedValue, isValidMultiLanguageObject, loadTranslationScope, resolveMultiLanguageString, resolveMultiLanguageValue, toTranslatedSignal, translateSync, translationConfig };
142
148
  export type { AXMultiLanguageMap, AXMultiLanguageString, AXParsedToken, AXPartialTranslationConfig, AXTranslateHashMap, AXTranslateLang, AXTranslateOptions, AXTranslateParams, AXTranslateScope, AXTranslation, AXTranslationConfig, AXTranslationLoader, AXTranslationLoaderOptions };
@@ -83,32 +83,70 @@ declare function debounceAsync<T extends (...args: any[]) => Promise<any>>(fn: T
83
83
  */
84
84
  declare function fallbackChain<T>(tasks: Array<() => Promise<T>>): Promise<T>;
85
85
 
86
+ type AXHighlightTarget = string | Element | readonly Element[];
87
+ interface AXHighlightOptions {
88
+ /** When false (default), matching is case-insensitive. */
89
+ caseSensitive?: boolean;
90
+ /** When true, only match whole words. */
91
+ wholeWord?: boolean;
92
+ /** Maximum number of matches to highlight across all targets. */
93
+ maxMatches?: number;
94
+ /** CSS class applied to highlighted match spans. */
95
+ highlightClass?: string;
96
+ /** CSS class applied to the wrapper span around highlighted text nodes. */
97
+ wrapperClass?: string;
98
+ /** Parent tag names whose text content is skipped. */
99
+ ignoredTags?: readonly string[];
100
+ }
86
101
  /**
87
102
  * Service for applying and resetting text highlighting within specified HTML elements.
88
103
  */
89
104
  declare class AXHighlightService {
90
- private querySelector;
91
- private searchValue;
105
+ private readonly document;
106
+ private readonly platformId;
107
+ private readonly selectorStates;
108
+ private readonly elementStates;
109
+ private readonly trackedElements;
92
110
  /**
93
- * Highlights all occurrences of a search value within the elements matching the provided query selector.
111
+ * Highlights all occurrences of a search value within the elements matching the provided target.
94
112
  *
95
- * @param querySelector - CSS selector to identify target elements.
96
- * @param searchValue - Text to search and highlight.
113
+ * @param target - CSS selector, a single element, or an array of elements to search within.
114
+ * @param term - Text or list of texts to search and highlight.
115
+ * @param options - Optional highlight behavior configuration.
116
+ * @returns The number of matches highlighted.
97
117
  */
98
- highlight(querySelector: string, searchValue: string): void;
118
+ highlight(target: AXHighlightTarget, term: string | readonly string[], options?: AXHighlightOptions): number;
99
119
  /**
100
- * Resets highlighted text within the elements matching the query selector.
120
+ * Resets highlighted text within the elements matching the target.
121
+ * When no target is provided, clears all highlights registered by this service.
101
122
  *
102
- * @param querySelector - CSS selector to clear. Falls back to the last selector used by `highlight`.
123
+ * @param target - CSS selector, element, or elements to clear.
103
124
  */
104
- clear(querySelector?: string): void;
125
+ clear(target?: AXHighlightTarget): void;
126
+ private toElementArray;
127
+ private normalizeTerms;
128
+ private resolveOptions;
129
+ private registerState;
130
+ private resolveRoots;
105
131
  private createSearchRegex;
106
- private applyHighlight;
107
- private recursivelyHighlight;
108
- private createHighlightedHTML;
132
+ private collectTextNodes;
133
+ private highlightTextNode;
134
+ private clearSelector;
135
+ private clearElement;
136
+ private unwrapHighlight;
109
137
  static ɵfac: i0.ɵɵFactoryDeclaration<AXHighlightService, never>;
110
- static ɵprov: i0.ɵɵInjectableDeclaration<AXHighlightService>;
138
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
139
+ }
140
+
141
+ interface AXHighlightSegment {
142
+ text: string;
143
+ match: boolean;
111
144
  }
145
+ /**
146
+ * Splits text into highlighted and non-highlighted segments for template rendering.
147
+ * Uses the same matching semantics as {@link AXHighlightService}.
148
+ */
149
+ declare function splitHighlightSegments(text: string, term: string | readonly string[], options?: AXHighlightOptions): AXHighlightSegment[];
112
150
 
113
151
  /** ACoreX layout size classes applied on a host or container. */
114
152
  declare const AX_SIZE_CLASSES: readonly ["ax-xs", "ax-sm", "ax-md", "ax-lg", "ax-xl"];
@@ -141,7 +179,7 @@ declare class AXUnsubscriber implements OnDestroy {
141
179
  unsubscribe(): void;
142
180
  ngOnDestroy(): void;
143
181
  static ɵfac: i0.ɵɵFactoryDeclaration<AXUnsubscriber, never>;
144
- static ɵprov: i0.ɵɵInjectableDeclaration<AXUnsubscriber>;
182
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
145
183
  }
146
184
 
147
185
  declare function getWordBoundsAtPosition(str: string, position: number): {
@@ -149,5 +187,5 @@ declare function getWordBoundsAtPosition(str: string, position: number): {
149
187
  end: number;
150
188
  };
151
189
 
152
- export { AXAutoUnsubscriber, AXColorUtil, AXDrawingUtil, AXHighlightService, AXHtmlUtil, AXUnsubscriber, AX_SIZE_CLASSES, debounceAsync, delay, fallbackChain, getWordBoundsAtPosition, pollUntil, pollUntilAbortable, retryUntil, throttleAsync, waitFor };
153
- export type { AXBoundingClientRect, AXClosestAxSizeMatch, AXColorFormat, AXColorMode, AXPoint, AXSizeClass };
190
+ export { AXAutoUnsubscriber, AXColorUtil, AXDrawingUtil, AXHighlightService, AXHtmlUtil, AXUnsubscriber, AX_SIZE_CLASSES, debounceAsync, delay, fallbackChain, getWordBoundsAtPosition, pollUntil, pollUntilAbortable, retryUntil, splitHighlightSegments, throttleAsync, waitFor };
191
+ export type { AXBoundingClientRect, AXClosestAxSizeMatch, AXColorFormat, AXColorMode, AXHighlightOptions, AXHighlightSegment, AXHighlightTarget, AXPoint, AXSizeClass };
@@ -43,7 +43,7 @@ declare class AXCallbackValidationRule<T> implements AXValidationRule {
43
43
  get name(): string;
44
44
  validate(value: T, options: AXCallbackValidationRuleOptions<T>): Promise<AXValidationRuleResult>;
45
45
  static ɵfac: i0.ɵɵFactoryDeclaration<AXCallbackValidationRule<any>, never>;
46
- static ɵprov: i0.ɵɵInjectableDeclaration<AXCallbackValidationRule<any>>;
46
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
47
47
  }
48
48
 
49
49
  interface AXRegexValidationRuleOptions extends AXValidationRuleOptions {
@@ -59,7 +59,7 @@ declare class AXRegexValidationRule implements AXValidationRule {
59
59
  get name(): string;
60
60
  validate(value: string, options: AXRegexValidationRuleOptions): Promise<AXValidationRuleResult>;
61
61
  static ɵfac: i0.ɵɵFactoryDeclaration<AXRegexValidationRule, never>;
62
- static ɵprov: i0.ɵɵInjectableDeclaration<AXRegexValidationRule>;
62
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
63
63
  }
64
64
 
65
65
  interface AXRequiredValidationRuleOptions extends AXValidationRuleOptions {
@@ -74,7 +74,7 @@ declare class AXRequiredValidationRule implements AXValidationRule {
74
74
  get name(): string;
75
75
  validate(value?: unknown, options?: AXRequiredValidationRuleOptions): Promise<AXValidationRuleResult>;
76
76
  static ɵfac: i0.ɵɵFactoryDeclaration<AXRequiredValidationRule, never>;
77
- static ɵprov: i0.ɵɵInjectableDeclaration<AXRequiredValidationRule>;
77
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
78
78
  }
79
79
 
80
80
  interface AXLengthValidationRuleOptions extends AXValidationRuleOptions {
@@ -90,7 +90,7 @@ declare class AXLengthValidationRule implements AXValidationRule {
90
90
  get name(): string;
91
91
  validate(value: string, options: AXLengthValidationRuleOptions): Promise<AXValidationRuleResult>;
92
92
  static ɵfac: i0.ɵɵFactoryDeclaration<AXLengthValidationRule, never>;
93
- static ɵprov: i0.ɵɵInjectableDeclaration<AXLengthValidationRule>;
93
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
94
94
  }
95
95
 
96
96
  interface AXMaxLengthValidationRuleOptions extends AXValidationRuleOptions {
@@ -105,7 +105,7 @@ declare class AXMaxLengthValidationRule implements AXValidationRule {
105
105
  get name(): string;
106
106
  validate(value: string, options: AXMaxLengthValidationRuleOptions): Promise<AXValidationRuleResult>;
107
107
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMaxLengthValidationRule, never>;
108
- static ɵprov: i0.ɵɵInjectableDeclaration<AXMaxLengthValidationRule>;
108
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
109
109
  }
110
110
 
111
111
  interface AXMinLengthValidationRuleOptions extends AXValidationRuleOptions {
@@ -120,7 +120,7 @@ declare class AXMinLengthValidationRule implements AXValidationRule {
120
120
  get name(): string;
121
121
  validate(value: string, options: AXMinLengthValidationRuleOptions): Promise<AXValidationRuleResult>;
122
122
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMinLengthValidationRule, never>;
123
- static ɵprov: i0.ɵɵInjectableDeclaration<AXMinLengthValidationRule>;
123
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
124
124
  }
125
125
 
126
126
  interface AXBetweenValidationRuleOptions<T = number | Date> extends AXValidationRuleOptions {
@@ -137,7 +137,7 @@ declare class AXBetweenValidationRule<T = number | Date> implements AXValidation
137
137
  get name(): string;
138
138
  validate(value: T, options: AXBetweenValidationRuleOptions<T>): Promise<AXValidationRuleResult>;
139
139
  static ɵfac: i0.ɵɵFactoryDeclaration<AXBetweenValidationRule<any>, never>;
140
- static ɵprov: i0.ɵɵInjectableDeclaration<AXBetweenValidationRule<any>>;
140
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
141
141
  }
142
142
 
143
143
  interface AXEqualValidationRuleOptions extends AXValidationRuleOptions {
@@ -153,7 +153,7 @@ declare class AXEqualValidationRule implements AXValidationRule {
153
153
  get name(): string;
154
154
  validate(value: any, options: AXEqualValidationRuleOptions): Promise<AXValidationRuleResult>;
155
155
  static ɵfac: i0.ɵɵFactoryDeclaration<AXEqualValidationRule, never>;
156
- static ɵprov: i0.ɵɵInjectableDeclaration<AXEqualValidationRule>;
156
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
157
157
  }
158
158
 
159
159
  interface AXGreaterThanValidationRuleOptions extends AXValidationRuleOptions {
@@ -169,7 +169,7 @@ declare class AXGreaterThanValidationRule implements AXValidationRule {
169
169
  get name(): string;
170
170
  validate(value: number, options: AXGreaterThanValidationRuleOptions): Promise<AXValidationRuleResult>;
171
171
  static ɵfac: i0.ɵɵFactoryDeclaration<AXGreaterThanValidationRule, never>;
172
- static ɵprov: i0.ɵɵInjectableDeclaration<AXGreaterThanValidationRule>;
172
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
173
173
  }
174
174
 
175
175
  interface AXLessThanValidationRuleOptions extends AXValidationRuleOptions {
@@ -185,7 +185,7 @@ declare class AXLessThanValidationRule implements AXValidationRule {
185
185
  get name(): string;
186
186
  validate(value: number, options: AXLessThanValidationRuleOptions): Promise<AXValidationRuleResult>;
187
187
  static ɵfac: i0.ɵɵFactoryDeclaration<AXLessThanValidationRule, never>;
188
- static ɵprov: i0.ɵɵInjectableDeclaration<AXLessThanValidationRule>;
188
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
189
189
  }
190
190
 
191
191
  type AXValidationConfigRules = {
@@ -225,7 +225,7 @@ declare class AXValidationRegistryService {
225
225
  register(...plugins: (new () => AXValidationRule)[]): void;
226
226
  get(ruleName: string): AXValidationRule | undefined;
227
227
  static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationRegistryService, never>;
228
- static ɵprov: i0.ɵɵInjectableDeclaration<AXValidationRegistryService>;
228
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
229
229
  }
230
230
  declare class AXValidationService {
231
231
  private translationService;
@@ -237,7 +237,7 @@ declare class AXValidationService {
237
237
  validate(ruleName: string, value: unknown, options?: AXValidationRuleOptions): Promise<AXValidationRuleResult>;
238
238
  ruleFor(value: unknown): AXValidationRuleChain;
239
239
  static ɵfac: i0.ɵɵFactoryDeclaration<AXValidationService, never>;
240
- static ɵprov: i0.ɵɵInjectableDeclaration<AXValidationService>;
240
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
241
241
  }
242
242
  declare class AXValidationRuleChain {
243
243
  private validationService;
@@ -14,7 +14,7 @@ declare class AXZIndexService {
14
14
  bringToFront(token: AXZToken): AXZToken;
15
15
  lastIndex(): number;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<AXZIndexService, never>;
17
- static ɵprov: i0.ɵɵInjectableDeclaration<AXZIndexService>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
18
18
  }
19
19
 
20
20
  export { AXZIndexService };