@acorex/components 20.10.0 → 20.10.2

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.
@@ -1,8 +1,11 @@
1
+ import * as _acorex_core_components from '@acorex/core/components';
2
+ import { AXComponentContent, AXComponentInputs } from '@acorex/core/components';
1
3
  import * as _angular_core from '@angular/core';
2
- import { Provider, OnDestroy } from '@angular/core';
4
+ import { OnDestroy, TemplateRef, Type, Provider } from '@angular/core';
5
+ import { Subject } from 'rxjs';
6
+ import { AXStyleColorType, AXComponentClosedPromise } from '@acorex/cdk/common';
3
7
  import * as _acorex_core_file from '@acorex/core/file';
4
8
  import { AXFileTypeExtensionHint, AXFileType, AXFileTypeViewComponent } from '@acorex/core/file';
5
- import { AXStyleColorType } from '@acorex/cdk/common';
6
9
  import { SafeResourceUrl } from '@angular/platform-browser';
7
10
 
8
11
  /** Single item displayed in a file-viewer carousel. */
@@ -24,6 +27,18 @@ interface AXFileViewerViewPayload {
24
27
  index: number;
25
28
  active: boolean;
26
29
  }
30
+ /** Component or template rendered in the file-viewer header center slot. */
31
+ type AXFileViewerHeaderContent = AXComponentContent;
32
+ /** Inputs passed to {@link AXFileViewerHeaderContent} when it is a component. */
33
+ type AXFileViewerHeaderContentInputs = AXComponentInputs;
34
+ /** Placeholder component or template shown in the center when {@link AXFileViewerHeaderContent} is omitted. */
35
+ type AXFileViewerHeaderPlaceholderContent = AXComponentContent;
36
+ /** Inputs passed to the header placeholder when it is a component. */
37
+ type AXFileViewerHeaderPlaceholderInputs = AXComponentInputs;
38
+ /** Component or template rendered instead of the built-in fallback viewer for `file` type items. */
39
+ type AXFileViewerFallbackContent = AXComponentContent;
40
+ /** Inputs passed to {@link AXFileViewerFallbackContent} when it is a component. */
41
+ type AXFileViewerFallbackContentInputs = AXComponentInputs;
27
42
 
28
43
  /** Carousel state shared between container, slides and thumbnails. Provided per-container. */
29
44
  declare class AXFileViewerService {
@@ -36,33 +51,47 @@ declare class AXFileViewerService {
36
51
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXFileViewerService>;
37
52
  }
38
53
 
39
- /** Registers file-viewer components on standard file-type catalog entries. */
40
- declare function provideFileViewer(): Provider[];
41
-
42
54
  /** Infers a file-type catalog name from the item. */
43
55
  declare function resolveFileViewerFileType(item: AXFileViewerItem): string;
44
56
  /** Builds an extension hint from item metadata. */
45
57
  declare function buildFileViewerExtensionHint(item: AXFileViewerItem): AXFileTypeExtensionHint | undefined;
46
58
 
47
- declare function createFileViewerFileTypes(): AXFileType[];
48
-
49
59
  declare class AXFileViewerContainerComponent implements OnDestroy {
50
60
  #private;
51
61
  readonly items: _angular_core.InputSignal<AXFileViewerItem[]>;
62
+ readonly startIndex: _angular_core.InputSignal<number>;
52
63
  readonly thumbnail: _angular_core.InputSignal<boolean>;
53
64
  readonly pagination: _angular_core.InputSignal<boolean>;
54
65
  readonly download: _angular_core.InputSignal<boolean>;
55
66
  readonly fullscreen: _angular_core.InputSignal<boolean>;
67
+ /** When true, opens in a gallery overlay and closes when fullscreen exits. */
68
+ readonly galleryMode: _angular_core.InputSignal<boolean>;
69
+ /** Component or template rendered in the header center slot. */
70
+ readonly headerContent: _angular_core.InputSignal<AXFileViewerHeaderContent>;
71
+ /** Inputs for {@link headerContent} when it is a component. */
72
+ readonly headerContentInputs: _angular_core.InputSignal<_acorex_core_components.AXComponentInputs>;
73
+ /** Context data exposed as `$implicit` to header templates. */
74
+ readonly headerContentData: _angular_core.InputSignal<unknown>;
75
+ /** Custom placeholder when {@link headerContent} is omitted. */
76
+ readonly headerContentPlaceholder: _angular_core.InputSignal<AXFileViewerHeaderPlaceholderContent>;
77
+ /** Inputs for {@link headerContentPlaceholder} when it is a component. */
78
+ readonly headerContentPlaceholderInputs: _angular_core.InputSignal<_acorex_core_components.AXComponentInputs>;
79
+ /** Component or template replacing the built-in fallback viewer for `file` type items. */
80
+ readonly fallbackContent: _angular_core.InputSignal<AXFileViewerFallbackContent>;
81
+ /** Inputs for {@link fallbackContent} when it is a component. */
82
+ readonly fallbackContentInputs: _angular_core.InputSignal<_acorex_core_components.AXComponentInputs>;
83
+ /** Context data exposed as `$implicit` to fallback templates. */
84
+ readonly fallbackContentData: _angular_core.InputSignal<unknown>;
56
85
  /** External loading flag — show overlay while parent data is being fetched. */
57
86
  readonly loading: _angular_core.InputSignal<boolean>;
87
+ readonly fullscreenClosed: _angular_core.OutputEmitterRef<void>;
58
88
  readonly service: AXFileViewerService;
59
89
  private readonly host;
60
- private readonly zIndexService;
90
+ private readonly fullScreenService;
61
91
  private readonly mainCarouselRef;
62
92
  private readonly thumbCarouselRef;
63
- private readonly fullScreenButton;
64
- private zToken;
65
93
  private initToken;
94
+ readonly isFullscreenActive: _angular_core.WritableSignal<boolean>;
66
95
  /** True while carousels are being (re)initialized. */
67
96
  readonly initializing: _angular_core.WritableSignal<boolean>;
68
97
  readonly isBusy: _angular_core.Signal<boolean>;
@@ -73,13 +102,28 @@ declare class AXFileViewerContainerComponent implements OnDestroy {
73
102
  readonly currentTypeLabel: _angular_core.Signal<string>;
74
103
  readonly currentTypeColor: _angular_core.Signal<AXStyleColorType>;
75
104
  readonly slideCounter: _angular_core.Signal<string>;
105
+ readonly headerTemplateContent: _angular_core.Signal<TemplateRef<any>>;
106
+ readonly headerComponentContent: _angular_core.Signal<Type<unknown>>;
107
+ readonly headerPlaceholderTemplateContent: _angular_core.Signal<TemplateRef<any>>;
108
+ readonly headerPlaceholderComponentContent: _angular_core.Signal<Type<unknown>>;
109
+ readonly hasHeaderCenterContent: _angular_core.Signal<boolean>;
110
+ readonly headerContentContext: _angular_core.Signal<{
111
+ $implicit: unknown;
112
+ item: AXFileViewerItem;
113
+ items: AXFileViewerItem[];
114
+ selectedIndex: number;
115
+ slideCounter: string;
116
+ }>;
76
117
  readonly resolveFileType: typeof resolveFileViewerFileType;
77
118
  resolveTypeLabel(item: AXFileViewerItem): string;
78
119
  formatSize(size?: number): string;
79
120
  private readonly mainCarouselOptions;
80
121
  private readonly thumbnailCarouselOptions;
81
- private acquireFullscreenZIndex;
82
- private releaseFullscreenZIndex;
122
+ toggleFullscreen(): void;
123
+ enterFullscreen(): void;
124
+ /** @param emitGalleryClose When false, skips gallery close notification (used during service teardown). */
125
+ exitFullscreen(emitGalleryClose?: boolean): void;
126
+ closeGallery(): void;
83
127
  private initCarousels;
84
128
  private readonly onSlideChange;
85
129
  next(): void;
@@ -88,18 +132,105 @@ declare class AXFileViewerContainerComponent implements OnDestroy {
88
132
  downloadCurrent(): Promise<void>;
89
133
  ngOnDestroy(): void;
90
134
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerContainerComponent, never>;
91
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerContainerComponent, "ax-file-viewer-container", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "thumbnail": { "alias": "thumbnail"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "download": { "alias": "download"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
135
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerContainerComponent, "ax-file-viewer-container", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "startIndex": { "alias": "startIndex"; "required": false; "isSignal": true; }; "thumbnail": { "alias": "thumbnail"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; "download": { "alias": "download"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "galleryMode": { "alias": "galleryMode"; "required": false; "isSignal": true; }; "headerContent": { "alias": "headerContent"; "required": false; "isSignal": true; }; "headerContentInputs": { "alias": "headerContentInputs"; "required": false; "isSignal": true; }; "headerContentData": { "alias": "headerContentData"; "required": false; "isSignal": true; }; "headerContentPlaceholder": { "alias": "headerContentPlaceholder"; "required": false; "isSignal": true; }; "headerContentPlaceholderInputs": { "alias": "headerContentPlaceholderInputs"; "required": false; "isSignal": true; }; "fallbackContent": { "alias": "fallbackContent"; "required": false; "isSignal": true; }; "fallbackContentInputs": { "alias": "fallbackContentInputs"; "required": false; "isSignal": true; }; "fallbackContentData": { "alias": "fallbackContentData"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "fullscreenClosed": "fullscreenClosed"; }, never, never, true, never>;
136
+ }
137
+
138
+ interface AXFileViewerGalleryConfig {
139
+ items: AXFileViewerItem[];
140
+ startIndex?: number;
141
+ thumbnail?: boolean;
142
+ download?: boolean;
143
+ loading?: boolean;
144
+ panelClass?: string[];
145
+ headerContent?: AXFileViewerHeaderContent | null;
146
+ headerContentInputs?: AXFileViewerHeaderContentInputs;
147
+ headerContentData?: unknown;
148
+ headerContentPlaceholder?: AXFileViewerHeaderPlaceholderContent | null;
149
+ headerContentPlaceholderInputs?: AXFileViewerHeaderPlaceholderInputs;
150
+ fallbackContent?: AXFileViewerFallbackContent | null;
151
+ fallbackContentInputs?: AXFileViewerFallbackContentInputs;
152
+ fallbackContentData?: unknown;
153
+ }
154
+ interface AXFileViewerGalleryRef<TResult = any> {
155
+ close: (data?: TResult) => void;
156
+ setInputs: (values: AXComponentInputs) => void;
157
+ bringToFront: () => void;
158
+ onClose: Subject<TResult>;
159
+ componentInstance?: AXFileViewerContainerComponent;
160
+ }
161
+
162
+ /** Opens {@link AXFileViewerContainerComponent} in fullscreen gallery mode. */
163
+ declare class AXFileViewerGalleryService {
164
+ private readonly galleryList;
165
+ private readonly overlayService;
166
+ /**
167
+ * Opens a file viewer gallery in fullscreen.
168
+ * @param config - Gallery configuration
169
+ * @returns Promise that resolves when the gallery is closed
170
+ */
171
+ open(config: AXFileViewerGalleryConfig): AXComponentClosedPromise;
172
+ /**
173
+ * Closes a gallery by its ID.
174
+ * @param id - The gallery ID to close
175
+ * @param data - Optional data to pass to the close event
176
+ */
177
+ close<TResult = unknown>(id: number, data?: TResult): void;
178
+ /**
179
+ * Sets input values for a gallery by its ID.
180
+ * @param id - The gallery ID
181
+ * @param values - Object containing input values to set
182
+ */
183
+ setInputs(id: number, values: AXComponentInputs): void;
184
+ /**
185
+ * Brings a gallery to the front of all other overlays.
186
+ * @param id - The gallery ID to bring to front
187
+ */
188
+ bringToFront(id: number): void;
189
+ private openInternal;
190
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerGalleryService, never>;
191
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXFileViewerGalleryService>;
192
+ }
193
+
194
+ /** Registers file-viewer components on standard file-type catalog entries. */
195
+ declare function provideFileViewer(): Provider[];
196
+
197
+ declare function createFileViewerFileTypes(): AXFileType[];
198
+
199
+ /** Optional center header slot component for use with {@link headerContentPlaceholder}. */
200
+ declare class AXFileViewerHeaderPlaceholderComponent {
201
+ readonly slideCounter: _angular_core.InputSignal<string>;
202
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerHeaderPlaceholderComponent, never>;
203
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerHeaderPlaceholderComponent, "ax-file-viewer-header-placeholder", never, { "slideCounter": { "alias": "slideCounter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
92
204
  }
93
205
 
94
206
  declare class AXFileViewerSlideComponent {
95
207
  readonly item: _angular_core.InputSignal<AXFileViewerItem>;
96
208
  readonly index: _angular_core.InputSignal<number>;
209
+ /** Component or template replacing the built-in fallback viewer for `file` type items. */
210
+ readonly fallbackContent: _angular_core.InputSignal<AXFileViewerFallbackContent>;
211
+ /** Inputs for {@link fallbackContent} when it is a component. */
212
+ readonly fallbackContentInputs: _angular_core.InputSignal<_acorex_core_components.AXComponentInputs>;
213
+ /** Context data exposed as `$implicit` to fallback templates. */
214
+ readonly fallbackContentData: _angular_core.InputSignal<unknown>;
97
215
  private readonly service;
98
216
  readonly fileTypeName: _angular_core.Signal<string>;
99
217
  readonly extensionHint: _angular_core.Signal<_acorex_core_file.AXFileTypeExtensionHint>;
100
218
  readonly viewPayload: _angular_core.Signal<AXFileViewerViewPayload>;
219
+ readonly fallbackTemplateContent: _angular_core.Signal<TemplateRef<any>>;
220
+ readonly fallbackComponentContent: _angular_core.Signal<Type<unknown>>;
221
+ readonly useCustomFallback: _angular_core.Signal<boolean>;
222
+ readonly fallbackContentContext: _angular_core.Signal<{
223
+ $implicit: unknown;
224
+ payload: AXFileViewerViewPayload;
225
+ item: AXFileViewerItem;
226
+ index: number;
227
+ active: boolean;
228
+ }>;
229
+ readonly fallbackComponentInputs: _angular_core.Signal<{
230
+ payload: AXFileViewerViewPayload;
231
+ }>;
101
232
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXFileViewerSlideComponent, never>;
102
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerSlideComponent, "ax-file-viewer-slide", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "index": { "alias": "index"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
233
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerSlideComponent, "ax-file-viewer-slide", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "index": { "alias": "index"; "required": true; "isSignal": true; }; "fallbackContent": { "alias": "fallbackContent"; "required": false; "isSignal": true; }; "fallbackContentInputs": { "alias": "fallbackContentInputs"; "required": false; "isSignal": true; }; "fallbackContentData": { "alias": "fallbackContentData"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
103
234
  }
104
235
 
105
236
  declare class AXFileViewerThumbPreviewComponent {
@@ -174,5 +305,5 @@ declare class AXFileViewerFileFallbackComponent implements AXFileTypeViewCompone
174
305
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXFileViewerFileFallbackComponent, "ax-file-viewer-fallback", never, { "payload": { "alias": "payload"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
175
306
  }
176
307
 
177
- export { AXFileViewerAudioComponent, AXFileViewerContainerComponent, AXFileViewerFileFallbackComponent, AXFileViewerImageComponent, AXFileViewerPdfComponent, AXFileViewerService, AXFileViewerSlideComponent, AXFileViewerThumbPreviewComponent, AXFileViewerThumbnailsComponent, AXFileViewerVideoComponent, buildFileViewerExtensionHint, createFileViewerFileTypes, provideFileViewer, resolveFileViewerFileType };
178
- export type { AXFileViewerItem, AXFileViewerViewPayload };
308
+ export { AXFileViewerAudioComponent, AXFileViewerContainerComponent, AXFileViewerFileFallbackComponent, AXFileViewerGalleryService, AXFileViewerHeaderPlaceholderComponent, AXFileViewerImageComponent, AXFileViewerPdfComponent, AXFileViewerService, AXFileViewerSlideComponent, AXFileViewerThumbPreviewComponent, AXFileViewerThumbnailsComponent, AXFileViewerVideoComponent, buildFileViewerExtensionHint, createFileViewerFileTypes, provideFileViewer, resolveFileViewerFileType };
309
+ export type { AXFileViewerFallbackContent, AXFileViewerFallbackContentInputs, AXFileViewerGalleryConfig, AXFileViewerGalleryRef, AXFileViewerHeaderContent, AXFileViewerHeaderContentInputs, AXFileViewerHeaderPlaceholderContent, AXFileViewerHeaderPlaceholderInputs, AXFileViewerItem, AXFileViewerViewPayload };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "20.10.0",
3
+ "version": "20.10.2",
4
4
  "peerDependencies": {
5
- "@acorex/core": "20.10.0",
6
- "@acorex/cdk": "20.10.0",
5
+ "@acorex/core": "20.10.2",
6
+ "@acorex/cdk": "20.10.2",
7
7
  "polytype": ">=0.17.0",
8
8
  "angular-imask": ">=7.6.1",
9
9
  "imask": ">=7.6.1",
@@ -61,10 +61,6 @@
61
61
  "types": "./accordion/index.d.ts",
62
62
  "default": "./fesm2022/acorex-components-accordion.mjs"
63
63
  },
64
- "./action-sheet": {
65
- "types": "./action-sheet/index.d.ts",
66
- "default": "./fesm2022/acorex-components-action-sheet.mjs"
67
- },
68
64
  "./alert": {
69
65
  "types": "./alert/index.d.ts",
70
66
  "default": "./fesm2022/acorex-components-alert.mjs"
@@ -77,6 +73,10 @@
77
73
  "types": "./audio-wave/index.d.ts",
78
74
  "default": "./fesm2022/acorex-components-audio-wave.mjs"
79
75
  },
76
+ "./action-sheet": {
77
+ "types": "./action-sheet/index.d.ts",
78
+ "default": "./fesm2022/acorex-components-action-sheet.mjs"
79
+ },
80
80
  "./autocomplete": {
81
81
  "types": "./autocomplete/index.d.ts",
82
82
  "default": "./fesm2022/acorex-components-autocomplete.mjs"
@@ -177,10 +177,6 @@
177
177
  "types": "./datetime-picker/index.d.ts",
178
178
  "default": "./fesm2022/acorex-components-datetime-picker.mjs"
179
179
  },
180
- "./datetime-text-box": {
181
- "types": "./datetime-text-box/index.d.ts",
182
- "default": "./fesm2022/acorex-components-datetime-text-box.mjs"
183
- },
184
180
  "./decorators": {
185
181
  "types": "./decorators/index.d.ts",
186
182
  "default": "./fesm2022/acorex-components-decorators.mjs"
@@ -329,14 +325,14 @@
329
325
  "types": "./picker/index.d.ts",
330
326
  "default": "./fesm2022/acorex-components-picker.mjs"
331
327
  },
332
- "./popover": {
333
- "types": "./popover/index.d.ts",
334
- "default": "./fesm2022/acorex-components-popover.mjs"
335
- },
336
328
  "./popup": {
337
329
  "types": "./popup/index.d.ts",
338
330
  "default": "./fesm2022/acorex-components-popup.mjs"
339
331
  },
332
+ "./popover": {
333
+ "types": "./popover/index.d.ts",
334
+ "default": "./fesm2022/acorex-components-popover.mjs"
335
+ },
340
336
  "./progress-bar": {
341
337
  "types": "./progress-bar/index.d.ts",
342
338
  "default": "./fesm2022/acorex-components-progress-bar.mjs"
@@ -349,14 +345,14 @@
349
345
  "types": "./query-builder/index.d.ts",
350
346
  "default": "./fesm2022/acorex-components-query-builder.mjs"
351
347
  },
352
- "./radio": {
353
- "types": "./radio/index.d.ts",
354
- "default": "./fesm2022/acorex-components-radio.mjs"
355
- },
356
348
  "./rail-navigation": {
357
349
  "types": "./rail-navigation/index.d.ts",
358
350
  "default": "./fesm2022/acorex-components-rail-navigation.mjs"
359
351
  },
352
+ "./radio": {
353
+ "types": "./radio/index.d.ts",
354
+ "default": "./fesm2022/acorex-components-radio.mjs"
355
+ },
360
356
  "./range-slider": {
361
357
  "types": "./range-slider/index.d.ts",
362
358
  "default": "./fesm2022/acorex-components-range-slider.mjs"
@@ -437,14 +433,14 @@
437
433
  "types": "./tabs/index.d.ts",
438
434
  "default": "./fesm2022/acorex-components-tabs.mjs"
439
435
  },
440
- "./tag": {
441
- "types": "./tag/index.d.ts",
442
- "default": "./fesm2022/acorex-components-tag.mjs"
443
- },
444
436
  "./tag-box": {
445
437
  "types": "./tag-box/index.d.ts",
446
438
  "default": "./fesm2022/acorex-components-tag-box.mjs"
447
439
  },
440
+ "./tag": {
441
+ "types": "./tag/index.d.ts",
442
+ "default": "./fesm2022/acorex-components-tag.mjs"
443
+ },
448
444
  "./text-area": {
449
445
  "types": "./text-area/index.d.ts",
450
446
  "default": "./fesm2022/acorex-components-text-area.mjs"
@@ -1,3 +0,0 @@
1
- # @acorex/components/datetime-text-box
2
-
3
- Secondary entry point of `@acorex/components`. It can be used by importing from `@acorex/components/datetime-text-box`.
@@ -1,142 +0,0 @@
1
- import * as polytype from 'polytype';
2
- import * as _angular_core from '@angular/core';
3
- import { MXInputBaseValueComponent, MXLookComponent, AXClickEvent } from '@acorex/cdk/common';
4
- import { AXDateTimePickerType } from '@acorex/components/calendar';
5
-
6
- declare const AXDateTimeTextBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
7
- new (): MXInputBaseValueComponent<Date>;
8
- ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
9
- ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
10
- }, typeof MXLookComponent]>;
11
- /**
12
- * A date & time editor that works like a text box: the user types digits directly into a
13
- * masked value (separators come from the active format), navigates between date/time
14
- * segments with Left/Right arrows and spins segment values with Up/Down arrows.
15
- *
16
- * The committed value is a native `Date` (same contract as `ax-datetime-box`), and both
17
- * `gregorian` and `solar-hijri` calendar systems are supported.
18
- *
19
- * @category Components
20
- */
21
- declare class AXDateTimeTextBoxComponent extends AXDateTimeTextBoxComponent_base {
22
- #private;
23
- private platformService;
24
- private localeService;
25
- private calendarService;
26
- /** @ignore */
27
- private readonly _editingParts;
28
- /** @ignore */
29
- protected _editingText: _angular_core.WritableSignal<string>;
30
- /** @ignore */
31
- private _inputChars;
32
- /** @ignore */
33
- private _activePart;
34
- /**
35
- * Determines which parts are editable: `date`, `time` or `datetime`.
36
- * The mask format is resolved from the active locale profile for this mode.
37
- * @defaultValue 'datetime'
38
- */
39
- picker: _angular_core.InputSignal<AXDateTimePickerType>;
40
- /**
41
- * The calendar system to use (`gregorian` or `solar-hijri`).
42
- * Falls back to the active locale profile calendar when not provided.
43
- */
44
- calendar: _angular_core.InputSignal<string>;
45
- /**
46
- * Optional format override (e.g. `yyyy/MM/dd HH:mm:ss`).
47
- * When omitted, the short format of the active locale profile is used.
48
- */
49
- format: _angular_core.InputSignal<string>;
50
- /**
51
- * The minimum allowed date value. Applied when the editor loses focus.
52
- */
53
- minValue: _angular_core.InputSignal<Date>;
54
- /**
55
- * The maximum allowed date value. Applied when the editor loses focus.
56
- */
57
- maxValue: _angular_core.InputSignal<Date>;
58
- /**
59
- * Emitted when a click event occurs on the editor input.
60
- * @event
61
- */
62
- onClick: _angular_core.OutputEmitterRef<AXClickEvent>;
63
- /** @ignore */
64
- classNames: _angular_core.InputSignal<string>;
65
- protected readonly _calendarSystem: _angular_core.Signal<string>;
66
- protected readonly _resolvedFormat: _angular_core.Signal<string>;
67
- /** @ignore */
68
- private _editingDate;
69
- /** @ignore */
70
- private inputRef;
71
- /** @ignore */
72
- private get inputElement();
73
- /**
74
- * @description check if page is in rtl or ltr
75
- */
76
- protected isRtl: _angular_core.WritableSignal<boolean>;
77
- /** @ignore */
78
- protected ngOnInit(): void;
79
- /**
80
- * Formats a part using the calendar already attached to the AXDateTime.
81
- * Avoids formatService's string-options path, which always uses the active locale calendar.
82
- * @ignore
83
- */
84
- private _formatPart;
85
- /** @ignore */
86
- private _detectParts;
87
- /** @ignore */
88
- private _getOrderedParts;
89
- /** @ignore */
90
- private _clearInputBuffer;
91
- /** @ignore */
92
- private _updateText;
93
- /**
94
- * Handles changes to the internal date value, updating editing parts and text representation.
95
- * @ignore
96
- */
97
- internalValueChanged(value?: Date): void;
98
- /**
99
- * Normalizes Persian (U+06F0-U+06F9) and Arabic-Indic (U+0660-U+0669) digits to ASCII.
100
- * @ignore
101
- */
102
- private _normalizeDigit;
103
- /** @ignore */
104
- protected _handleOnKeydownEvent(e: KeyboardEvent): void;
105
- /**
106
- * Applies typed digits to the active part with calendar-aware limits, auto advancing
107
- * to the next part when the segment is complete or unambiguous.
108
- * @ignore
109
- */
110
- private _handleDigitInput;
111
- /** @ignore */
112
- private _applyEditingDate;
113
- /** @ignore */
114
- protected _handleKeyUpEvent(): void;
115
- /** @ignore */
116
- protected _handleFocusEvent(e: FocusEvent): void;
117
- /** @ignore */
118
- protected _handleBlurEvent(e: FocusEvent): void;
119
- /**
120
- * Clamps the committed value into the [minValue, maxValue] range.
121
- * @ignore
122
- */
123
- private _clampToRange;
124
- /** @ignore */
125
- protected _handleOnInputClickEvent(e: MouseEvent): void;
126
- /** @ignore */
127
- private _detectPartAtPosition;
128
- /** @ignore */
129
- private _highlightActivePart;
130
- /** @ignore */
131
- private _detectValueChanges;
132
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimeTextBoxComponent, never>;
133
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimeTextBoxComponent, "ax-datetime-text-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "look": { "alias": "look"; "required": false; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "classNames": { "alias": "class"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; "onClick": "onClick"; }, never, ["ax-prefix", "ax-clear-button", "ax-suffix", "ax-validation-rule"], true, never>;
134
- }
135
-
136
- declare class AXDateTimeTextBoxModule {
137
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimeTextBoxModule, never>;
138
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXDateTimeTextBoxModule, never, [typeof AXDateTimeTextBoxComponent], [typeof AXDateTimeTextBoxComponent]>;
139
- static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXDateTimeTextBoxModule>;
140
- }
141
-
142
- export { AXDateTimeTextBoxComponent, AXDateTimeTextBoxModule };