@acorex/components 22.0.0-next.8 → 22.1.0-next.0
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.
- package/combo-box/README.md +26 -0
- package/fesm2022/acorex-components-calendar.mjs +10 -12
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-combo-box.mjs +237 -0
- package/fesm2022/acorex-components-combo-box.mjs.map +1 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs +50 -0
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-DCcRJYfF.mjs.map +1 -0
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs → acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs} +2 -2
- package/fesm2022/{acorex-components-conversation-open-composer-picker-for-files-Hh5Oyp3p.mjs.map → acorex-components-conversation-open-composer-picker-for-files-BuNEjswI.mjs.map} +1 -1
- package/fesm2022/acorex-components-conversation.mjs +2034 -7467
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +135 -45
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +14 -16
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +61 -32
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +3 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-file-viewer.mjs +38 -78
- package/fesm2022/acorex-components-file-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +238 -36
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-lookup.mjs +1292 -0
- package/fesm2022/acorex-components-lookup.mjs.map +1 -0
- package/fesm2022/acorex-components-menu.mjs +211 -74
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +30 -29
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +7 -17
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +2 -2
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/lookup/README.md +47 -0
- package/package.json +11 -3
- package/types/acorex-components-combo-box.d.ts +114 -0
- package/types/acorex-components-conversation.d.ts +317 -94
- package/types/acorex-components-data-table.d.ts +35 -3
- package/types/acorex-components-datetime-box.d.ts +2 -0
- package/types/acorex-components-datetime-input.d.ts +24 -5
- package/types/acorex-components-file-viewer.d.ts +15 -52
- package/types/acorex-components-grid-layout-builder.d.ts +34 -2
- package/types/acorex-components-lookup.d.ts +454 -0
- package/types/acorex-components-menu.d.ts +26 -4
- package/types/acorex-components-number-box.d.ts +3 -1
- package/types/acorex-components-scheduler.d.ts +2 -4
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs +0 -106
- package/fesm2022/acorex-components-conversation-composer-action-choice-dialog.component-CNHiM1Sp.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-datetime-input.mjs","sources":["../../../../packages/components/datetime-input/src/lib/datetime-input.component.ts","../../../../packages/components/datetime-input/src/lib/datetime-input.component.html","../../../../packages/components/datetime-input/src/lib/datetime-input.module.ts","../../../../packages/components/datetime-input/src/acorex-components-datetime-input.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/cdk/common';\nimport { AXDateTimePickerType } from '@acorex/components/calendar';\nimport { AXCalendarService, AXDateTime, AXDateTimePart, AXDateTimeParts, TimeUnit } from '@acorex/core/date-time';\nimport { AXIRLocaleProfile, AXLocaleService } from '@acorex/core/locale';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { getWordBoundsAtPosition } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { map } from 'rxjs';\n\n/**\n * A component for date and time input with segment-based typing, keyboard navigation,\n * and calendar-aware formatting (gregorian and solar-hijri).\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-input',\n templateUrl: './datetime-input.component.html',\n styleUrl: './datetime-input.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeInputComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n host: {\n '(keydown)': '_handleOnKeydownEvent($event)',\n '(keyup)': '_handleKeyUpEvent()',\n '[attr.name]': 'name',\n },\n})\nexport class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {\n private platformService = inject(AXPlatform);\n private localeService = inject(AXLocaleService);\n private calendarService = inject(AXCalendarService);\n\n /** @ignore */\n private readonly _editingParts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'DD', 'd', 'dddd', 'E'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.second.placeholder),\n },\n AMPM: {\n key: 'AMPM',\n placeholder: 'a',\n placeholders: ['a', 'A'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.AMPM.placeholder),\n },\n };\n\n /** @ignore */\n protected _editingText = signal<string>('');\n\n /** @ignore */\n private _inputChars: string[] = [];\n\n /** @ignore */\n private _activePart = signal<string | null>(null);\n\n /**\n * When true, the user can type digits and navigate segments with the keyboard.\n * When false, keyboard input is blocked (used by datetime-box picker mode).\n * @defaultValue false\n */\n allowTyping = input<boolean>(false);\n\n /**\n * @description The calendar type to use for the datetime input.\n */\n calendar = input<string | null>(null);\n\n minValue = input<Date | null>(null);\n\n maxValue = input<Date | null>(null);\n\n /**\n * Emitted when a click event occurs on the datetime input.\n * @event\n */\n onClick = output<AXClickEvent>();\n\n picker = input<AXDateTimePickerType>('datetime');\n\n /**\n * @deprecated use locale & mode instead\n */\n format = input<string | null>();\n\n protected readonly _calendarSystem = computed(\n () => this.calendar() ?? this.localeService.activeProfile().calendar.system,\n );\n\n protected readonly _resolvedFormat = computed(() => {\n if (this.format()) {\n return this.format()!;\n }\n // Calendar override can differ from the active locale; solar-hijri uses day/month/year.\n const formats =\n this._calendarSystem() === 'solar-hijri' ? AXIRLocaleProfile.formats : this.localeService.activeProfile().formats;\n return formats[this.picker()]?.short ?? '';\n });\n\n /** @ignore */\n private _editingDate = linkedSignal<AXDateTime>(() => this.calendarService.now(this._calendarSystem()));\n\n /** @ignore */\n private inputRef = viewChild<ElementRef<HTMLInputElement>>('input');\n\n /** @ignore */\n private get inputElement(): HTMLInputElement | undefined {\n return this.inputRef()?.nativeElement;\n }\n\n /**\n * @description check if page is in rtl or ltr\n */\n protected isRtl = signal(this.platformService.isRtl());\n\n /** @ignore */\n #formatEffect = effect(() => {\n this._resolvedFormat();\n this._calendarSystem();\n this._detectParts();\n untracked(() => {\n this.internalValueChanged(this.value);\n });\n });\n\n /** @ignore */\n protected override ngOnInit(): void {\n super.ngOnInit();\n this.platformService.directionChange.pipe(map((i) => i.data === 'rtl')).subscribe((isRtl) => this.isRtl.set(isRtl));\n }\n\n /**\n * Formats a part using the calendar already attached to the AXDateTime.\n * @ignore\n */\n private _formatPart(date: AXDateTime, placeholder: string): string {\n return date.format(placeholder);\n }\n\n /** @ignore */\n private _detectParts() {\n Object.values(this._editingParts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this._resolvedFormat().split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n }\n\n /** @ignore */\n private _getOrderedParts(): AXDateTimePart[] {\n const formatParts = this._resolvedFormat().split(/[^a-zA-Z]+/);\n const result: AXDateTimePart[] = [];\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found && found.enabled) result.push(found);\n });\n return result;\n }\n\n /** @ignore */\n private _clearInputBuffer() {\n this._inputChars = [];\n }\n\n /** @ignore */\n private _updateText() {\n let text = this._resolvedFormat();\n Object.values(this._editingParts).forEach((part) => {\n if (this._activePart() == part.key) {\n if (part.typedValue) text = text.replace(part.placeholder, part.typedValue);\n } else {\n if (part.typedValue != part.placeholder && part.typedValue != null) {\n text = text.replace(part.placeholder, part.realValue());\n }\n }\n });\n this._editingText.set(text == this._resolvedFormat() ? '' : text);\n if (this._activePart()) {\n this._highlightActivePart();\n }\n }\n\n /**\n * Handles changes to the internal date value, updating editing parts and text representation.\n * @ignore\n */\n override internalValueChanged(value?: Date): void {\n if (value && this.calendarService.isValidDate(value)) {\n const next = this.calendarService.create(value, this._calendarSystem());\n const sameAsEditing = this._editingDate().date.getTime() === next.date.getTime();\n this._editingDate.set(next);\n\n // Parent ngModel echo after typing — keep the in-progress segment buffer.\n if (sameAsEditing && this._activePart()) {\n this._updateText();\n return;\n }\n\n Object.values(this._editingParts).forEach((part) => {\n part.typedValue = part.enabled ? part.realValue() : null;\n });\n this._clearInputBuffer();\n } else {\n Object.values(this._editingParts).forEach((part) => {\n part.typedValue = null;\n });\n this._clearInputBuffer();\n }\n this._updateText();\n }\n\n /**\n * Normalizes Persian (U+06F0-U+06F9) and Arabic-Indic (U+0660-U+0669) digits to ASCII.\n * @ignore\n */\n private _normalizeDigit(key: string): string | null {\n if (!key || key.length !== 1) return null;\n const code = key.charCodeAt(0);\n if (code >= 0x30 && code <= 0x39) return key;\n if (code >= 0x06f0 && code <= 0x06f9) return String.fromCharCode(code - 0x06f0 + 0x30);\n if (code >= 0x0660 && code <= 0x0669) return String.fromCharCode(code - 0x0660 + 0x30);\n return null;\n }\n\n /** @ignore */\n protected _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n if (e.key === 'Tab' || e.code === 'Space' || e.code === 'Enter') {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (!this.allowTyping()) {\n ignore();\n return;\n }\n\n const input = e.target as HTMLInputElement;\n const orderedParts = this._getOrderedParts();\n const part = this._activePart() ? this._editingParts[this._activePart()] : orderedParts[0];\n const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;\n const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;\n\n const goNext = () => {\n this._clearInputBuffer();\n if (nextPart) {\n this._activePart.set(nextPart.key);\n this._highlightActivePart();\n }\n };\n const goPrev = () => {\n this._clearInputBuffer();\n if (prevPart) {\n this._activePart.set(prevPart.key);\n this._highlightActivePart();\n }\n };\n\n const digit = this._normalizeDigit(e.key);\n\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n ignore();\n if (!this._activePart()) {\n this._activePart.set(part?.key ?? null);\n this._highlightActivePart();\n } else {\n e.code === 'ArrowRight' ? goNext() : goPrev();\n }\n } else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {\n ignore();\n if (this.disabled || this.readonly || !part) {\n return;\n }\n const sign = e.code === 'ArrowUp' ? +1 : -1;\n this._activePart.set(part.key);\n this._clearInputBuffer();\n const unit: TimeUnit = part.key === 'AMPM' ? 'hour' : (part.key as TimeUnit);\n const amount = part.key === 'AMPM' ? sign * 12 : sign;\n const newVal: AXDateTime = this._editingDate().add(unit, amount);\n this._editingDate.set(newVal);\n this._getOrderedParts().forEach((p) => {\n p.typedValue = p.realValue();\n });\n this._detectValueChanges();\n } else if (e.code == 'Backspace' || e.code == 'Delete') {\n if (this.disabled || this.readonly || !part) {\n return;\n }\n if (input.value) {\n ignore();\n this._clearInputBuffer();\n this._activePart.set(part.key);\n this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;\n this._updateText();\n goPrev();\n }\n } else if (e.code == 'Tab' || e.code == 'Space') {\n if (input.value) {\n if (!e.shiftKey && nextPart) {\n ignore();\n goNext();\n } else if (e.shiftKey && prevPart) {\n ignore();\n goPrev();\n }\n }\n } else if (digit != null) {\n ignore();\n if (this.disabled || this.readonly || !part) {\n return;\n }\n this._activePart.set(part.key);\n this._handleDigitInput(part, digit, goNext);\n } else if (part?.key === 'AMPM' && (e.key?.toLowerCase() === 'a' || e.key?.toLowerCase() === 'p')) {\n ignore();\n if (this.disabled || this.readonly) {\n return;\n }\n const hour = this._editingDate().hour;\n const wantsPM = e.key.toLowerCase() === 'p';\n if (wantsPM && hour < 12) {\n this._applyEditingDate(this._editingDate().add('hour', 12));\n } else if (!wantsPM && hour >= 12) {\n this._applyEditingDate(this._editingDate().add('hour', -12));\n }\n } else {\n ignore();\n }\n super.emitOnKeydownEvent(e);\n }\n\n /** @ignore */\n private _handleDigitInput(part: AXDateTimePart, digit: string, goNext: () => void) {\n let next = false;\n const editing = this._editingParts[part.key];\n\n switch (part.key) {\n case 'year': {\n if (editing.placeholder.length == 2 && this._inputChars.length == 0) {\n this._inputChars.push(\n ...this._formatPart(this.calendarService.now(this._calendarSystem()), 'yyyy').substring(0, 2).split(''),\n );\n }\n this._inputChars.push(digit);\n editing.typedValue = ('0000' + this._inputChars.join('')).slice(-4);\n if (this._inputChars.length >= 4) {\n next = true;\n }\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n this._applyEditingDate(this._editingDate().set('year', nv));\n }\n break;\n }\n case 'month': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(digit);\n editing.typedValue = `0${digit}`;\n if (parseInt(digit) > 1) {\n next = true;\n }\n } else {\n const combined = parseInt(`${this._inputChars[0]}${digit}`);\n editing.typedValue = combined > 12 || combined < 1 ? `0${digit}` : `${combined}`.padStart(2, '0');\n next = true;\n }\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n this._applyEditingDate(this._editingDate().set('month', nv));\n }\n break;\n }\n case 'day': {\n const totalDays = this._editingDate().month.totalDays;\n if (this._inputChars.length == 0) {\n this._inputChars.push(digit);\n editing.typedValue = `0${digit}`;\n if (parseInt(digit) > Math.floor(totalDays / 10)) {\n next = true;\n }\n } else {\n const combined = parseInt(`${this._inputChars[0]}${digit}`);\n editing.typedValue = combined > totalDays || combined < 1 ? `0${digit}` : `${combined}`.padStart(2, '0');\n next = true;\n }\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n this._applyEditingDate(this._editingDate().set('day', nv));\n }\n break;\n }\n case 'hour': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(digit);\n editing.typedValue = `0${digit}`;\n if (parseInt(digit) > 2) {\n next = true;\n }\n } else {\n const combined = parseInt(`${this._inputChars[0]}${digit}`);\n editing.typedValue = combined > 23 ? `0${digit}` : `${combined}`.padStart(2, '0');\n next = true;\n }\n this._applyEditingDate(this._editingDate().set('hour', parseInt(editing.typedValue)));\n break;\n }\n case 'minute':\n case 'second': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(digit);\n editing.typedValue = `0${digit}`;\n if (parseInt(digit) > 5) {\n next = true;\n }\n } else {\n const combined = parseInt(`${this._inputChars[0]}${digit}`);\n editing.typedValue = combined > 59 ? `0${digit}` : `${combined}`.padStart(2, '0');\n next = true;\n }\n this._applyEditingDate(this._editingDate().set(part.key as TimeUnit, parseInt(editing.typedValue)));\n break;\n }\n default:\n return;\n }\n if (next) {\n goNext();\n }\n }\n\n /** @ignore */\n private _applyEditingDate(value: AXDateTime) {\n this._editingDate.set(value);\n this._detectValueChanges();\n }\n\n /** @ignore */\n protected _handleKeyUpEvent() {\n if (this._activePart()) {\n this._highlightActivePart();\n }\n }\n\n /** @ignore */\n protected _handleFocusEvent(e: FocusEvent) {\n if (this.allowTyping()) {\n setTimeout(() => this._selectFirstPart(), 0);\n }\n super.emitOnFocusEvent(e);\n }\n\n /** @ignore */\n protected _handleBlurEvent(e: FocusEvent) {\n this._activePart.set(null);\n this._clearInputBuffer();\n if (this.allowTyping()) {\n this._clampToRange();\n if (!this.value) {\n Object.values(this._editingParts).forEach((part) => {\n part.typedValue = null;\n });\n this._editingText.set('');\n }\n }\n super.emitOnBlurEvent(e);\n }\n\n /** @ignore */\n private _clampToRange() {\n const value = this.value;\n if (!value) return;\n const min = this.minValue();\n const max = this.maxValue();\n if (min && value.getTime() < min.getTime()) {\n this.commitValue(new Date(min), true);\n } else if (max && value.getTime() > max.getTime()) {\n this.commitValue(new Date(max), true);\n }\n }\n\n /** @ignore */\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n if (this.allowTyping()) {\n setTimeout(() => this._selectFirstPart(), 0);\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n /** @ignore */\n private _selectFirstPart(): void {\n const orderedParts = this._getOrderedParts();\n if (!orderedParts.length) return;\n this._clearInputBuffer();\n this._activePart.set(orderedParts[0].key);\n const wasEmpty = !this._editingText();\n this._ensureEditableText();\n if (wasEmpty) {\n setTimeout(() => this._highlightActivePart(), 0);\n } else {\n this._highlightActivePart();\n }\n }\n\n /** @ignore */\n private _ensureEditableText(): void {\n if (this._editingText()) return;\n const format = this._resolvedFormat();\n if (!format) return;\n Object.values(this._editingParts).forEach((part) => {\n if (part.enabled && part.typedValue == null) {\n part.typedValue = part.placeholder;\n }\n });\n this._editingText.set(format);\n }\n\n /** @ignore */\n private _highlightActivePart(): void {\n const input = this.inputElement;\n if (!input || !input.value || !this._activePart()) return;\n const orderedParts = this._getOrderedParts();\n const index = orderedParts.findIndex((c) => c.key == this._activePart());\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const { start, end } = getWordBoundsAtPosition(input.value, valueParts[index]?.index);\n if (input && typeof input.setSelectionRange === 'function') {\n input.setSelectionRange(start, end);\n }\n }\n\n /** @ignore */\n private _detectValueChanges() {\n this.commitValue(this._editingDate().date, true);\n }\n}\n","<input\n #input\n id=\"input\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n class=\"ax-input\"\n type=\"text\"\n [dir]=\"isRtl() ? 'rtl' : 'ltr'\"\n [attr.placeholder]=\"placeholder || _resolvedFormat()\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-select-none]=\"!allowTyping()\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [ngModel]=\"_editingText()\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_handleBlurEvent($event)\"\n (focus)=\"_handleFocusEvent($event)\"\n [style.text-align]=\"isRtl() ? 'end' : 'start'\"\n [tabindex]=\"tabIndex\"\n/>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { NgModule } from '@angular/core';\nimport { AXDateTimeInputComponent } from './datetime-input.component';\n\n@NgModule({\n imports: [AXDateTimeInputComponent],\n exports: [AXDateTimeInputComponent],\n})\nexport class AXDateTimeInputModule {}\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-components-datetime-input.mjs","sources":["../../../../packages/components/datetime-input/src/lib/datetime-input.config.ts","../../../../packages/components/datetime-input/src/lib/datetime-input.component.ts","../../../../packages/components/datetime-input/src/lib/datetime-input.component.html","../../../../packages/components/datetime-input/src/lib/datetime-input.module.ts","../../../../packages/components/datetime-input/src/acorex-components-datetime-input.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { AXDateTimePickerType } from '@acorex/components/calendar';\nimport { AXIRLocaleProfile, AXLocaleProfile } from '@acorex/core/locale';\n\nexport interface AXDateTimeInputConfig {\n allowTyping: boolean;\n}\n\nexport const AXDateTimeInputDefaultConfig: AXDateTimeInputConfig = {\n allowTyping: false,\n};\n\nexport const AX_DATETIME_INPUT_CONFIG = new InjectionToken<AXDateTimeInputConfig>('AX_DATETIME_INPUT_CONFIG', {\n providedIn: 'root',\n factory: () => AXDateTimeInputDefaultConfig,\n});\n\nexport function resolveDateTimeInputFormat(options: {\n customFormat: string | null | undefined;\n calendarSystem: string;\n picker: AXDateTimePickerType;\n isRtl: boolean;\n localeFormats: AXLocaleProfile['formats'];\n}): string {\n if (options.customFormat) {\n return options.customFormat;\n }\n\n const formats =\n options.calendarSystem === 'solar-hijri' ? AXIRLocaleProfile.formats : options.localeFormats;\n\n if (options.calendarSystem === 'solar-hijri' && options.isRtl) {\n const dateFormat = formats.date.medium;\n const timeFormat = formats.time.short;\n if (options.picker === 'date') {\n return dateFormat;\n }\n if (options.picker === 'time') {\n return timeFormat;\n }\n return `${timeFormat} ${dateFormat}`;\n }\n\n return formats[options.picker]?.short ?? '';\n}\n","import {\n AXClearableComponent,\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/cdk/common';\nimport { AXDateTimePickerType } from '@acorex/components/calendar';\nimport { AXCalendarService, AXDateTime, AXDateTimePart, AXDateTimeParts, TimeUnit } from '@acorex/core/date-time';\nimport { AXLocaleService } from '@acorex/core/locale';\nimport { getWordBoundsAtPosition } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n ViewEncapsulation,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AX_DATETIME_INPUT_CONFIG, AXDateTimeInputConfig, resolveDateTimeInputFormat } from './datetime-input.config';\n\n/**\n * A component for date and time input with segment-based typing, keyboard navigation,\n * and calendar-aware formatting (gregorian and solar-hijri).\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-input',\n templateUrl: './datetime-input.component.html',\n styleUrl: './datetime-input.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeInputComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n host: {\n '(keydown)': '_handleOnKeydownEvent($event)',\n '(keyup)': '_handleKeyUpEvent()',\n '[attr.name]': 'name',\n },\n})\nexport class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {\n private localeService = inject(AXLocaleService);\n private calendarService = inject(AXCalendarService);\n private readonly defaultConfig: AXDateTimeInputConfig = inject(AX_DATETIME_INPUT_CONFIG);\n\n /** @ignore */\n private readonly _editingParts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'DD', 'd', 'dddd', 'E'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.second.placeholder),\n },\n AMPM: {\n key: 'AMPM',\n placeholder: 'a',\n placeholders: ['a', 'A'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this._formatPart(this._editingDate(), this._editingParts.AMPM.placeholder),\n },\n };\n\n /** @ignore */\n protected _editingText = signal('');\n\n /** @ignore */\n private _inputChars: string[] = [];\n\n /** @ignore */\n private _activePart = signal<string | null>(null);\n\n /**\n * When true, the user can type digits and navigate segments with the keyboard.\n * When false, keyboard input is blocked (used by datetime-box picker mode).\n * Defaults to `AX_DATETIME_INPUT_CONFIG.allowTyping` when not set on the instance.\n * @defaultValue false\n */\n allowTyping = input(this.defaultConfig.allowTyping);\n\n /**\n * @description The calendar type to use for the datetime input.\n */\n calendar = input<string | null>(null);\n\n minValue = input<Date | null>(null);\n\n maxValue = input<Date | null>(null);\n\n /**\n * Emitted when a click event occurs on the datetime input.\n * @event\n */\n onClick = output<AXClickEvent>();\n\n picker = input<AXDateTimePickerType>('datetime');\n\n /**\n * @deprecated use locale & mode instead\n */\n format = input<string | null>();\n\n protected readonly _calendarSystem = computed(\n () => this.calendar() ?? this.localeService.activeProfile().calendar.system,\n );\n\n protected readonly _resolvedFormat = computed(() =>\n resolveDateTimeInputFormat({\n customFormat: this.format(),\n calendarSystem: this._calendarSystem(),\n picker: this.picker(),\n isRtl: this.isRtl(),\n localeFormats: this.localeService.activeProfile().formats,\n }),\n );\n\n /** @ignore */\n protected readonly _isHijriRtl = computed(() => this.isRtl() && this._calendarSystem() === 'solar-hijri');\n\n /** @ignore */\n private _editingDate = linkedSignal<AXDateTime>(() => this.calendarService.now(this._calendarSystem()));\n\n /** @ignore */\n private inputRef = viewChild<ElementRef<HTMLInputElement>>('input');\n\n /** @ignore */\n private get inputElement(): HTMLInputElement | undefined {\n return this.inputRef()?.nativeElement;\n }\n\n /**\n * @description check if page is in rtl or ltr\n */\n protected readonly isRtl = this.localeService.isRtl;\n\n /** @ignore */\n #formatEffect = effect(() => {\n this._resolvedFormat();\n this._calendarSystem();\n this.isRtl();\n this._detectParts();\n untracked(() => {\n this.internalValueChanged(this.value);\n });\n });\n\n /**\n * Formats a part using the calendar already attached to the AXDateTime.\n * @ignore\n */\n private _formatPart(date: AXDateTime, placeholder: string): string {\n return date.format(placeholder);\n }\n\n /** @ignore */\n private _detectParts() {\n Object.values(this._editingParts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this._resolvedFormat().split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n }\n\n /** @ignore */\n private _getOrderedParts(): AXDateTimePart[] {\n const formatParts = this._resolvedFormat().split(/[^a-zA-Z]+/);\n const result: AXDateTimePart[] = [];\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found && found.enabled) result.push(found);\n });\n return result;\n }\n\n /** @ignore */\n private _getNavigationParts(): AXDateTimePart[] {\n const parts = this._getOrderedParts();\n return this._isHijriRtl() ? [...parts].reverse() : parts;\n }\n\n /** @ignore */\n private _clearInputBuffer() {\n this._inputChars = [];\n }\n\n /** @ignore */\n private _updateText() {\n let text = this._resolvedFormat();\n Object.values(this._editingParts).forEach((part) => {\n if (this._activePart() == part.key) {\n if (part.typedValue) text = text.replace(part.placeholder, part.typedValue);\n } else {\n if (part.typedValue != part.placeholder && part.typedValue != null) {\n text = text.replace(part.placeholder, part.realValue());\n }\n }\n });\n this._editingText.set(text == this._resolvedFormat() ? '' : text);\n if (this._activePart()) {\n this._highlightActivePart();\n }\n }\n\n /**\n * Handles changes to the internal date value, updating editing parts and text representation.\n * @ignore\n */\n override internalValueChanged(value?: Date): void {\n if (value && this.calendarService.isValidDate(value)) {\n const next = this.calendarService.create(value, this._calendarSystem());\n const sameAsEditing = this._editingDate().date.getTime() === next.date.getTime();\n this._editingDate.set(next);\n\n // Parent ngModel echo after typing — keep the in-progress segment buffer.\n if (sameAsEditing && this._activePart()) {\n this._updateText();\n return;\n }\n\n Object.values(this._editingParts).forEach((part) => {\n part.typedValue = part.enabled ? part.realValue() : null;\n });\n this._clearInputBuffer();\n } else {\n Object.values(this._editingParts).forEach((part) => {\n part.typedValue = null;\n });\n this._clearInputBuffer();\n }\n this._updateText();\n }\n\n /**\n * Normalizes Persian (U+06F0-U+06F9) and Arabic-Indic (U+0660-U+0669) digits to ASCII.\n * @ignore\n */\n private _normalizeDigit(key: string): string | null {\n if (!key || key.length !== 1) return null;\n const code = key.charCodeAt(0);\n if (code >= 0x30 && code <= 0x39) return key;\n if (code >= 0x06f0 && code <= 0x06f9) return String.fromCharCode(code - 0x06f0 + 0x30);\n if (code >= 0x0660 && code <= 0x0669) return String.fromCharCode(code - 0x0660 + 0x30);\n return null;\n }\n\n /** @ignore */\n protected _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n if (e.key === 'Tab' || e.code === 'Space' || e.code === 'Enter') {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (!this.allowTyping()) {\n ignore();\n return;\n }\n\n const input = e.target as HTMLInputElement;\n const navigationParts = this._getNavigationParts();\n const part = this._activePart() ? this._editingParts[this._activePart()] : navigationParts[0];\n const partIndex = part ? navigationParts.indexOf(part) : -1;\n const nextPart = partIndex >= 0 ? navigationParts[partIndex + 1] : null;\n const prevPart = partIndex > 0 ? navigationParts[partIndex - 1] : null;\n\n const goNext = () => {\n this._clearInputBuffer();\n if (nextPart) {\n this._activePart.set(nextPart.key);\n this._highlightActivePart();\n }\n };\n const goPrev = () => {\n this._clearInputBuffer();\n if (prevPart) {\n this._activePart.set(prevPart.key);\n this._highlightActivePart();\n }\n };\n\n const digit = this._normalizeDigit(e.key);\n\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n ignore();\n if (!this._activePart()) {\n this._activePart.set(part?.key ?? null);\n this._highlightActivePart();\n } else {\n const moveForward = this.isRtl() ? e.code === 'ArrowLeft' : e.code === 'ArrowRight';\n moveForward ? goNext() : goPrev();\n }\n } else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {\n ignore();\n if (this.disabled || this.readonly || !part) {\n return;\n }\n const sign = e.code === 'ArrowUp' ? +1 : -1;\n this._activePart.set(part.key);\n this._clearInputBuffer();\n const unit: TimeUnit = part.key === 'AMPM' ? 'hour' : (part.key as TimeUnit);\n const amount = part.key === 'AMPM' ? sign * 12 : sign;\n const newVal: AXDateTime = this._editingDate().add(unit, amount);\n this._editingDate.set(newVal);\n this._getOrderedParts().forEach((p) => {\n p.typedValue = p.realValue();\n });\n this._detectValueChanges();\n } else if (e.code == 'Backspace' || e.code == 'Delete') {\n if (this.disabled || this.readonly || !part) {\n return;\n }\n if (input.value) {\n ignore();\n this._clearInputBuffer();\n this._activePart.set(part.key);\n this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;\n this._updateText();\n goPrev();\n }\n } else if (e.code == 'Tab' || e.code == 'Space') {\n if (input.value) {\n if (!e.shiftKey && nextPart) {\n ignore();\n goNext();\n } else if (e.shiftKey && prevPart) {\n ignore();\n goPrev();\n }\n }\n } else if (digit != null) {\n ignore();\n if (this.disabled || this.readonly || !part) {\n return;\n }\n this._activePart.set(part.key);\n this._handleDigitInput(part, digit, goNext);\n } else if (part?.key === 'AMPM' && (e.key?.toLowerCase() === 'a' || e.key?.toLowerCase() === 'p')) {\n ignore();\n if (this.disabled || this.readonly) {\n return;\n }\n const hour = this._editingDate().hour;\n const wantsPM = e.key.toLowerCase() === 'p';\n if (wantsPM && hour < 12) {\n this._applyEditingDate(this._editingDate().add('hour', 12));\n } else if (!wantsPM && hour >= 12) {\n this._applyEditingDate(this._editingDate().add('hour', -12));\n }\n } else {\n ignore();\n }\n super.emitOnKeydownEvent(e);\n }\n\n /** @ignore */\n private _handleDigitInput(part: AXDateTimePart, digit: string, goNext: () => void) {\n let next = false;\n const editing = this._editingParts[part.key];\n\n switch (part.key) {\n case 'year': {\n if (editing.placeholder.length == 2 && this._inputChars.length == 0) {\n this._inputChars.push(\n ...this._formatPart(this.calendarService.now(this._calendarSystem()), 'yyyy').substring(0, 2).split(''),\n );\n }\n this._inputChars.push(digit);\n editing.typedValue = ('0000' + this._inputChars.join('')).slice(-4);\n if (this._inputChars.length >= 4) {\n next = true;\n }\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n this._applyEditingDate(this._editingDate().set('year', nv));\n }\n break;\n }\n case 'month': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(digit);\n editing.typedValue = `0${digit}`;\n if (parseInt(digit) > 1) {\n next = true;\n }\n } else {\n const combined = parseInt(`${this._inputChars[0]}${digit}`);\n editing.typedValue = combined > 12 || combined < 1 ? `0${digit}` : `${combined}`.padStart(2, '0');\n next = true;\n }\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n this._applyEditingDate(this._editingDate().set('month', nv));\n }\n break;\n }\n case 'day': {\n const totalDays = this._editingDate().month.totalDays;\n if (this._inputChars.length == 0) {\n this._inputChars.push(digit);\n editing.typedValue = `0${digit}`;\n if (parseInt(digit) > Math.floor(totalDays / 10)) {\n next = true;\n }\n } else {\n const combined = parseInt(`${this._inputChars[0]}${digit}`);\n editing.typedValue = combined > totalDays || combined < 1 ? `0${digit}` : `${combined}`.padStart(2, '0');\n next = true;\n }\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n this._applyEditingDate(this._editingDate().set('day', nv));\n }\n break;\n }\n case 'hour': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(digit);\n editing.typedValue = `0${digit}`;\n if (parseInt(digit) > 2) {\n next = true;\n }\n } else {\n const combined = parseInt(`${this._inputChars[0]}${digit}`);\n editing.typedValue = combined > 23 ? `0${digit}` : `${combined}`.padStart(2, '0');\n next = true;\n }\n this._applyEditingDate(this._editingDate().set('hour', parseInt(editing.typedValue)));\n break;\n }\n case 'minute':\n case 'second': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(digit);\n editing.typedValue = `0${digit}`;\n if (parseInt(digit) > 5) {\n next = true;\n }\n } else {\n const combined = parseInt(`${this._inputChars[0]}${digit}`);\n editing.typedValue = combined > 59 ? `0${digit}` : `${combined}`.padStart(2, '0');\n next = true;\n }\n this._applyEditingDate(this._editingDate().set(part.key as TimeUnit, parseInt(editing.typedValue)));\n break;\n }\n default:\n return;\n }\n if (next) {\n goNext();\n }\n }\n\n /** @ignore */\n private _applyEditingDate(value: AXDateTime) {\n this._editingDate.set(value);\n this._detectValueChanges();\n }\n\n /** @ignore */\n protected _handleKeyUpEvent() {\n if (this._activePart()) {\n this._highlightActivePart();\n }\n }\n\n /** @ignore */\n protected _handleFocusEvent(e: FocusEvent) {\n if (this.allowTyping()) {\n setTimeout(() => this._selectFirstPart(), 0);\n }\n super.emitOnFocusEvent(e);\n }\n\n /** @ignore */\n protected _handleBlurEvent(e: FocusEvent) {\n this._activePart.set(null);\n this._clearInputBuffer();\n if (this.allowTyping()) {\n this._clampToRange();\n if (!this.value) {\n Object.values(this._editingParts).forEach((part) => {\n part.typedValue = null;\n });\n this._editingText.set('');\n }\n }\n super.emitOnBlurEvent(e);\n }\n\n /** @ignore */\n private _clampToRange() {\n const value = this.value;\n if (!value) return;\n const min = this.minValue();\n const max = this.maxValue();\n if (min && value.getTime() < min.getTime()) {\n this.commitValue(new Date(min), true);\n } else if (max && value.getTime() > max.getTime()) {\n this.commitValue(new Date(max), true);\n }\n }\n\n /** @ignore */\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n if (this.allowTyping()) {\n setTimeout(() => this._selectFirstPart(), 0);\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n /** @ignore */\n private _selectFirstPart(): void {\n const navigationParts = this._getNavigationParts();\n if (!navigationParts.length) return;\n this._clearInputBuffer();\n this._activePart.set(navigationParts[0].key);\n const wasEmpty = !this._editingText();\n this._ensureEditableText();\n if (wasEmpty) {\n setTimeout(() => this._highlightActivePart(), 0);\n } else {\n this._highlightActivePart();\n }\n }\n\n /** @ignore */\n private _ensureEditableText(): void {\n if (this._editingText()) return;\n const format = this._resolvedFormat();\n if (!format) return;\n Object.values(this._editingParts).forEach((part) => {\n if (part.enabled && part.typedValue == null) {\n part.typedValue = part.placeholder;\n }\n });\n this._editingText.set(format);\n }\n\n /** @ignore */\n private _highlightActivePart(): void {\n const input = this.inputElement;\n if (!input || !input.value || !this._activePart()) return;\n const orderedParts = this._getOrderedParts();\n const index = orderedParts.findIndex((c) => c.key == this._activePart());\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const { start, end } = getWordBoundsAtPosition(input.value, valueParts[index]?.index);\n if (input && typeof input.setSelectionRange === 'function') {\n input.setSelectionRange(start, end);\n }\n }\n\n /** @ignore */\n private _detectValueChanges() {\n this.commitValue(this._editingDate().date, true);\n }\n}\n","<input\n #input\n id=\"input\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n class=\"ax-input\"\n type=\"text\"\n [dir]=\"isRtl() ? (_isHijriRtl() ? 'ltr' : 'rtl') : 'ltr'\"\n [attr.placeholder]=\"placeholder || _resolvedFormat()\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-select-none]=\"!allowTyping()\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"true\"\n [ngModel]=\"_editingText()\"\n (mouseup)=\"_handleOnInputClickEvent($event)\"\n (blur)=\"_handleBlurEvent($event)\"\n (focus)=\"_handleFocusEvent($event)\"\n [style.text-align]=\"isRtl() ? 'right' : 'left'\"\n [tabindex]=\"tabIndex\"\n/>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n","import { NgModule } from '@angular/core';\nimport { AXDateTimeInputComponent } from './datetime-input.component';\n\n@NgModule({\n imports: [AXDateTimeInputComponent],\n exports: [AXDateTimeInputComponent],\n})\nexport class AXDateTimeInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -330,10 +330,11 @@ class AXDialogService {
|
|
|
330
330
|
};
|
|
331
331
|
}
|
|
332
332
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
333
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDialogService }); }
|
|
333
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDialogService, providedIn: 'root' }); }
|
|
334
334
|
}
|
|
335
335
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXDialogService, decorators: [{
|
|
336
|
-
type: Injectable
|
|
336
|
+
type: Injectable,
|
|
337
|
+
args: [{ providedIn: 'root' }]
|
|
337
338
|
}] });
|
|
338
339
|
|
|
339
340
|
const COMPONENT = [AXDialogComponent];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-components-dialog.mjs","sources":["../../../../packages/components/dialog/src/lib/dialog.component.ts","../../../../packages/components/dialog/src/lib/dialog.component.html","../../../../packages/components/dialog/src/lib/dialog.config.ts","../../../../packages/components/dialog/src/lib/dialog.service.ts","../../../../packages/components/dialog/src/lib/dialog.module.ts","../../../../packages/components/dialog/src/acorex-components-dialog.ts"],"sourcesContent":["import {\n AXAutoFocusDirective,\n AXClosableComponent,\n AXComponent,\n AXHotkeyDirective,\n MXBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, ViewEncapsulation, input } from '@angular/core';\nimport { AXDialogButtonItem, AXDialogData } from './dialog.class';\n\n/**\n * A dialog component that provides a modal interface for user interactions.\n * @category Components\n */\n@Component({\n selector: 'ax-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabIndex]': '\"-1\"',\n },\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDialogComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXDialogComponent,\n },\n ],\n imports: [\n CdkDrag,\n CdkDragHandle,\n AXDecoratorGenericComponent,\n AXButtonComponent,\n AXHotkeyDirective,\n AXAutoFocusDirective,\n AXFocusTrapDirective,\n AXLoadingComponent,\n AsyncPipe,\n AXTranslatorPipe,\n ],\n})\nexport class AXDialogComponent extends MXBaseComponent {\n /** Dialog configuration data */\n data = input.required<AXDialogData>();\n\n /** @internal Callback function to close the dialog */\n onClose = input<() => void>();\n\n /**\n * @ignore\n */\n protected _icon: string;\n\n /**\n * @ignore\n */\n protected _handleButtonClick(button: AXDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /**\n * @ignore\n */\n protected _hasAutoFocus(button: AXDialogButtonItem): boolean {\n const buttons = this.data().buttons;\n const target = buttons.find((item) => item.autofocus) ?? buttons[0];\n return target?.text === button.text;\n }\n\n /**\n * Closes the dialog.\n *\n * @returns void - No return value. The dialog is closed and removed from the DOM.\n */\n close() {\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback();\n }\n }\n}\n","<div\n class=\"ax-dialog ax-orientation-{{ data().orientation }}\"\n tabindex=\"-1\"\n axFocusTrap\n [axFocusTrapArrowNavigation]=\"true\"\n cdkDrag\n cdkDragHandle\n [cdkDragDisabled]=\"!data().draggable\"\n>\n <div class=\"ax-dialog-content-wrapper\">\n @if (data().icon !== 'none') {\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon ax-{{ data().type }} {{ data().icon }}\"></i>\n </div>\n }\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{ data().title | translate | async }}</div>\n <div class=\"ax-dialog-content\">{{ data().content | translate | async }}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n @if (data().closeButton) {\n <i class=\"ax-icon ax-icon-close\"></i>\n }\n </div>\n </div>\n\n <ax-footer>\n <ax-suffix>\n @for (button of data().buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look || 'solid'\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color || 'default'\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n","import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDialogConfigToken {\n confirm: { defaultAction: 'confirm' | 'cancel' };\n}\n\nexport const AX_DIALOG_CONFIG = new InjectionToken<AXDialogConfigToken>('AX_DIALOG_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.dialog', AX_DIALOG_CONFIG);\n return AXDialogDefaultConfig;\n },\n});\n\nexport const AXDialogDefaultConfig: AXDialogConfigToken = {\n confirm: { defaultAction: 'cancel' },\n};\n\nexport type PartialDialogConfig = Partial<AXDialogConfigToken>;\n\nexport function dialogConfig(config: PartialDialogConfig = {}): AXDialogConfigToken {\n const result = {\n ...AXDialogDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { Injectable, inject } from '@angular/core';\nimport { AXDialogConfig, AXDialogData, AXDialogInternalRef, AXDialogRef } from './dialog.class';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogConfigToken, AX_DIALOG_CONFIG } from './dialog.config';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Injectable()\nexport class AXDialogService {\n private overlayService = inject(AXOverlayService);\n private defaultConfig: AXDialogConfigToken = inject(AX_DIALOG_CONFIG);\n\n private detectIcon(type: AXStyleColorType): string {\n let icon: string;\n switch (type) {\n case 'success':\n icon = 'ax-icon ax-icon-check';\n break;\n case 'danger':\n icon = 'ax-icon ax-icon-error';\n break;\n case 'warning':\n icon = 'ax-icon ax-icon-warning';\n break;\n default:\n icon = 'ax-icon ax-icon-info';\n break;\n }\n return icon;\n }\n\n /**\n * Show an alert box with 'Okay' button.\n *\n * @param title - The title of the alert dialog.\n * @param content - The content message of the alert dialog.\n * @param type - The type/color of the alert (primary, success, warning, danger).\n * @param orientation - The orientation of the dialog (horizontal or vertical).\n * @param draggable - Whether the dialog can be dragged.\n * @returns Promise<void> - Promise that resolves when the dialog is closed.\n */\n alert(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n ): Promise<void> {\n return new Promise((resolve) => {\n const popup = this.open({\n title,\n type: type,\n content,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: AXHtmlUtil.isRtl() ? 'باشه' : 'Okay',\n color: type,\n autofocus: true,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve();\n }\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a confirm box with 'Okay' & 'Cancel' buttons.\n *\n * @param title - The title of the confirm dialog.\n * @param content - The content message of the confirm dialog.\n * @param type - The type/color of the confirm dialog (primary, success, warning, danger).\n * @param orientation - The orientation of the dialog (horizontal or vertical).\n * @param draggable - Whether the dialog can be dragged.\n * @param defaultAction - The default action to focus (confirm or cancel).\n * @returns Promise<{ result: boolean }> - Promise that resolves with the user's choice.\n */\n confirm(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n defaultAction?: 'confirm' | 'cancel',\n ): Promise<{ result: boolean }> {\n return new Promise<{ result: boolean }>((resolve) => {\n const tokenConfig = this.defaultConfig.confirm.defaultAction;\n\n const action = defaultAction || (type === 'danger' ? 'cancel' : tokenConfig);\n\n const popup = this.open({\n title,\n content,\n type,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: AXHtmlUtil.isRtl() ? 'باشه' : 'Okay',\n color: type,\n autofocus: action === 'confirm',\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: true });\n }\n },\n },\n {\n name: 'cancel',\n text: AXHtmlUtil.isRtl() ? 'انصراف' : 'Cancel',\n color: 'default',\n autofocus: action === 'cancel',\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n hotkey: {\n Escape: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n *\n * @param options - Configuration options for the custom dialog.\n * @returns Promise<{ name: string }> - Promise that resolves with the button name that was clicked.\n */\n show(options: AXDialogConfig): Promise<{ name: string }> {\n return new Promise((resolve) => {\n options.orientation = options.orientation || 'horizontal';\n options.icon = options.icon ?? this.detectIcon(options.type);\n\n const popup = this.open(options);\n\n options.buttons?.forEach((b) => {\n const orginalClick = b.onClick;\n b.onClick = () => {\n const e = { source: b, handled: false };\n if (orginalClick) {\n orginalClick(e);\n if (e.handled) {\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n resolve({ name: b.name ?? b.text });\n }\n } else if (resolve) {\n popup.close();\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n }\n };\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n *\n * @param options - Configuration options for the custom dialog.\n * @returns Promise<{ name: string }> - Promise that resolves with the button name that was clicked.\n */\n open(config: AXDialogConfig): AXDialogRef {\n config.orientation = config.orientation || 'horizontal';\n config.icon = config.icon ?? this.detectIcon(config.type);\n\n const dialogData: AXDialogData = {\n title: config.title,\n content: config.content,\n type: config.type,\n buttons: config.buttons,\n closeButton: config.closeButton ?? false,\n orientation: config.orientation,\n icon: config.icon,\n draggable: config.draggable,\n };\n\n let internalRef: AXDialogInternalRef;\n\n const closeDialog = () => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n }\n };\n\n this.overlayService\n .create<AXDialogComponent>(AXDialogComponent, {\n inputs: {\n data: dialogData,\n onClose: closeDialog,\n },\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: false, // disableClose: true equivalent\n },\n panelClass: ['ax-dialog-panel', 'animate-bounceIn', 'animate-faster'],\n })\n .then((overlayRef) => {\n internalRef = {\n overlayRef,\n close: closeDialog,\n };\n\n // Apply direction if specified\n if (config.direction || AXHtmlUtil.isRtl()) {\n const dir = config.direction ? config.direction : AXHtmlUtil.isRtl() ? 'rtl' : 'ltr';\n if (overlayRef.overlayElement) {\n overlayRef.overlayElement.setAttribute('dir', dir);\n }\n }\n });\n\n return {\n close: () => {\n closeDialog();\n },\n };\n }\n}\n","import { AXCommonModule, AXHotkeysService } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogService } from './dialog.service';\n\nconst COMPONENT = [AXDialogComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n DragDropModule,\n A11yModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXDialogService, AXHotkeysService],\n})\nexport class AXDialogModule {}\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-components-dialog.mjs","sources":["../../../../packages/components/dialog/src/lib/dialog.component.ts","../../../../packages/components/dialog/src/lib/dialog.component.html","../../../../packages/components/dialog/src/lib/dialog.config.ts","../../../../packages/components/dialog/src/lib/dialog.service.ts","../../../../packages/components/dialog/src/lib/dialog.module.ts","../../../../packages/components/dialog/src/acorex-components-dialog.ts"],"sourcesContent":["import {\n AXAutoFocusDirective,\n AXClosableComponent,\n AXComponent,\n AXHotkeyDirective,\n MXBaseComponent,\n} from '@acorex/cdk/common';\nimport { AXFocusTrapDirective } from '@acorex/cdk/focus-trap';\nimport { AXButtonComponent } from '@acorex/components/button';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';\nimport { AsyncPipe } from '@angular/common';\nimport { Component, ViewEncapsulation, input } from '@angular/core';\nimport { AXDialogButtonItem, AXDialogData } from './dialog.class';\n\n/**\n * A dialog component that provides a modal interface for user interactions.\n * @category Components\n */\n@Component({\n selector: 'ax-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.css'],\n\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabIndex]': '\"-1\"',\n },\n providers: [\n {\n provide: AXClosableComponent,\n useExisting: AXDialogComponent,\n },\n {\n provide: AXComponent,\n useExisting: AXDialogComponent,\n },\n ],\n imports: [\n CdkDrag,\n CdkDragHandle,\n AXDecoratorGenericComponent,\n AXButtonComponent,\n AXHotkeyDirective,\n AXAutoFocusDirective,\n AXFocusTrapDirective,\n AXLoadingComponent,\n AsyncPipe,\n AXTranslatorPipe,\n ],\n})\nexport class AXDialogComponent extends MXBaseComponent {\n /** Dialog configuration data */\n data = input.required<AXDialogData>();\n\n /** @internal Callback function to close the dialog */\n onClose = input<() => void>();\n\n /**\n * @ignore\n */\n protected _icon: string;\n\n /**\n * @ignore\n */\n protected _handleButtonClick(button: AXDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n\n /**\n * @ignore\n */\n protected _hasAutoFocus(button: AXDialogButtonItem): boolean {\n const buttons = this.data().buttons;\n const target = buttons.find((item) => item.autofocus) ?? buttons[0];\n return target?.text === button.text;\n }\n\n /**\n * Closes the dialog.\n *\n * @returns void - No return value. The dialog is closed and removed from the DOM.\n */\n close() {\n const closeCallback = this.onClose();\n if (closeCallback) {\n closeCallback();\n }\n }\n}\n","<div\n class=\"ax-dialog ax-orientation-{{ data().orientation }}\"\n tabindex=\"-1\"\n axFocusTrap\n [axFocusTrapArrowNavigation]=\"true\"\n cdkDrag\n cdkDragHandle\n [cdkDragDisabled]=\"!data().draggable\"\n>\n <div class=\"ax-dialog-content-wrapper\">\n @if (data().icon !== 'none') {\n <div class=\"ax-dialog-icon-side\">\n <i class=\"ax-dialog-icon ax-{{ data().type }} {{ data().icon }}\"></i>\n </div>\n }\n <div class=\"ax-dialog-content-side\">\n <div class=\"ax-dialog-title\">{{ data().title | translate | async }}</div>\n <div class=\"ax-dialog-content\">{{ data().content | translate | async }}</div>\n </div>\n <div class=\"ax-dialog-dismiss-icon\">\n @if (data().closeButton) {\n <i class=\"ax-icon ax-icon-close\"></i>\n }\n </div>\n </div>\n\n <ax-footer>\n <ax-suffix>\n @for (button of data().buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look || 'solid'\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color || 'default'\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n </ax-suffix>\n </ax-footer>\n</div>\n","import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDialogConfigToken {\n confirm: { defaultAction: 'confirm' | 'cancel' };\n}\n\nexport const AX_DIALOG_CONFIG = new InjectionToken<AXDialogConfigToken>('AX_DIALOG_CONFIG', {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'layout.dialog', AX_DIALOG_CONFIG);\n return AXDialogDefaultConfig;\n },\n});\n\nexport const AXDialogDefaultConfig: AXDialogConfigToken = {\n confirm: { defaultAction: 'cancel' },\n};\n\nexport type PartialDialogConfig = Partial<AXDialogConfigToken>;\n\nexport function dialogConfig(config: PartialDialogConfig = {}): AXDialogConfigToken {\n const result = {\n ...AXDialogDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXStyleColorType } from '@acorex/cdk/common';\nimport { AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXHtmlUtil } from '@acorex/core/utils';\nimport { Injectable, inject } from '@angular/core';\nimport { AXDialogConfig, AXDialogData, AXDialogInternalRef, AXDialogRef } from './dialog.class';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogConfigToken, AX_DIALOG_CONFIG } from './dialog.config';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Injectable({providedIn:'root'})\nexport class AXDialogService {\n private overlayService = inject(AXOverlayService);\n private defaultConfig: AXDialogConfigToken = inject(AX_DIALOG_CONFIG);\n\n private detectIcon(type: AXStyleColorType): string {\n let icon: string;\n switch (type) {\n case 'success':\n icon = 'ax-icon ax-icon-check';\n break;\n case 'danger':\n icon = 'ax-icon ax-icon-error';\n break;\n case 'warning':\n icon = 'ax-icon ax-icon-warning';\n break;\n default:\n icon = 'ax-icon ax-icon-info';\n break;\n }\n return icon;\n }\n\n /**\n * Show an alert box with 'Okay' button.\n *\n * @param title - The title of the alert dialog.\n * @param content - The content message of the alert dialog.\n * @param type - The type/color of the alert (primary, success, warning, danger).\n * @param orientation - The orientation of the dialog (horizontal or vertical).\n * @param draggable - Whether the dialog can be dragged.\n * @returns Promise<void> - Promise that resolves when the dialog is closed.\n */\n alert(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n ): Promise<void> {\n return new Promise((resolve) => {\n const popup = this.open({\n title,\n type: type,\n content,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: AXHtmlUtil.isRtl() ? 'باشه' : 'Okay',\n color: type,\n autofocus: true,\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve();\n }\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a confirm box with 'Okay' & 'Cancel' buttons.\n *\n * @param title - The title of the confirm dialog.\n * @param content - The content message of the confirm dialog.\n * @param type - The type/color of the confirm dialog (primary, success, warning, danger).\n * @param orientation - The orientation of the dialog (horizontal or vertical).\n * @param draggable - Whether the dialog can be dragged.\n * @param defaultAction - The default action to focus (confirm or cancel).\n * @returns Promise<{ result: boolean }> - Promise that resolves with the user's choice.\n */\n confirm(\n title: string,\n content: string,\n type: AXStyleColorType = 'primary',\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n draggable?: boolean,\n defaultAction?: 'confirm' | 'cancel',\n ): Promise<{ result: boolean }> {\n return new Promise<{ result: boolean }>((resolve) => {\n const tokenConfig = this.defaultConfig.confirm.defaultAction;\n\n const action = defaultAction || (type === 'danger' ? 'cancel' : tokenConfig);\n\n const popup = this.open({\n title,\n content,\n type,\n icon: this.detectIcon(type),\n orientation,\n draggable,\n buttons: [\n {\n name: 'confirm',\n text: AXHtmlUtil.isRtl() ? 'باشه' : 'Okay',\n color: type,\n autofocus: action === 'confirm',\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: true });\n }\n },\n },\n {\n name: 'cancel',\n text: AXHtmlUtil.isRtl() ? 'انصراف' : 'Cancel',\n color: 'default',\n autofocus: action === 'cancel',\n onClick: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n hotkey: {\n Escape: () => {\n popup.close();\n if (resolve) {\n resolve({ result: false });\n }\n },\n },\n },\n ],\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n *\n * @param options - Configuration options for the custom dialog.\n * @returns Promise<{ name: string }> - Promise that resolves with the button name that was clicked.\n */\n show(options: AXDialogConfig): Promise<{ name: string }> {\n return new Promise((resolve) => {\n options.orientation = options.orientation || 'horizontal';\n options.icon = options.icon ?? this.detectIcon(options.type);\n\n const popup = this.open(options);\n\n options.buttons?.forEach((b) => {\n const orginalClick = b.onClick;\n b.onClick = () => {\n const e = { source: b, handled: false };\n if (orginalClick) {\n orginalClick(e);\n if (e.handled) {\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n resolve({ name: b.name ?? b.text });\n }\n } else if (resolve) {\n popup.close();\n resolve({ name: b.name ?? b.text });\n } else {\n popup.close();\n }\n };\n });\n });\n }\n\n /**\n * Show a custom dialog box.\n *\n * @param options - Configuration options for the custom dialog.\n * @returns Promise<{ name: string }> - Promise that resolves with the button name that was clicked.\n */\n open(config: AXDialogConfig): AXDialogRef {\n config.orientation = config.orientation || 'horizontal';\n config.icon = config.icon ?? this.detectIcon(config.type);\n\n const dialogData: AXDialogData = {\n title: config.title,\n content: config.content,\n type: config.type,\n buttons: config.buttons,\n closeButton: config.closeButton ?? false,\n orientation: config.orientation,\n icon: config.icon,\n draggable: config.draggable,\n };\n\n let internalRef: AXDialogInternalRef;\n\n const closeDialog = () => {\n if (internalRef) {\n internalRef.overlayRef.dispose();\n }\n };\n\n this.overlayService\n .create<AXDialogComponent>(AXDialogComponent, {\n inputs: {\n data: dialogData,\n onClose: closeDialog,\n },\n backdrop: {\n enabled: true,\n background: true,\n closeOnClick: false, // disableClose: true equivalent\n },\n panelClass: ['ax-dialog-panel', 'animate-bounceIn', 'animate-faster'],\n })\n .then((overlayRef) => {\n internalRef = {\n overlayRef,\n close: closeDialog,\n };\n\n // Apply direction if specified\n if (config.direction || AXHtmlUtil.isRtl()) {\n const dir = config.direction ? config.direction : AXHtmlUtil.isRtl() ? 'rtl' : 'ltr';\n if (overlayRef.overlayElement) {\n overlayRef.overlayElement.setAttribute('dir', dir);\n }\n }\n });\n\n return {\n close: () => {\n closeDialog();\n },\n };\n }\n}\n","import { AXCommonModule, AXHotkeysService } from '@acorex/cdk/common';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDialogComponent } from './dialog.component';\nimport { AXDialogService } from './dialog.service';\n\nconst COMPONENT = [AXDialogComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n DragDropModule,\n A11yModule,\n AXButtonModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [AXDialogService, AXHotkeysService],\n})\nexport class AXDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|