@acorex/components 19.13.4 → 19.14.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-components-action-sheet.mjs +10 -10
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +7 -7
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +7 -7
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +7 -7
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +10 -10
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +7 -7
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +10 -10
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +10 -10
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +13 -13
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +13 -13
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +7 -7
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +7 -7
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +7 -7
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +10 -10
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +7 -7
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +25 -25
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +28 -28
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +91 -91
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +49 -49
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +46 -46
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +31 -31
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +37 -37
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +7 -7
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +7 -7
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +7 -7
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +25 -25
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +10 -10
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +13 -13
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +7 -7
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +13 -13
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +25 -25
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +16 -16
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +16 -16
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +10 -10
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +34 -34
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +7 -7
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +7 -7
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +10 -10
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +7 -7
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +7 -7
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +10 -10
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +16 -16
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +10 -10
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +34 -34
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +16 -16
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-B4nBGqa3.mjs → acorex-components-modal-acorex-components-modal-C83n2Gqn.mjs} +21 -21
- package/fesm2022/{acorex-components-modal-acorex-components-modal-B4nBGqa3.mjs.map → acorex-components-modal-acorex-components-modal-C83n2Gqn.mjs.map} +1 -1
- package/fesm2022/{acorex-components-modal-modal-content.component-oWerCvDI.mjs → acorex-components-modal-modal-content.component-YrM5Oi9b.mjs} +5 -5
- package/fesm2022/{acorex-components-modal-modal-content.component-oWerCvDI.mjs.map → acorex-components-modal-modal-content.component-YrM5Oi9b.mjs.map} +1 -1
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +7 -7
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +10 -10
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +7 -7
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +7 -7
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +10 -10
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +25 -25
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +10 -10
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +7 -7
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +7 -7
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -13
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +7 -7
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +10 -10
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +7 -7
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +7 -7
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +8 -8
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +7 -7
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +13 -13
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +7 -7
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +7 -7
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +22 -22
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +7 -7
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +7 -7
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +157 -45
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-scss.mjs.map +1 -1
- package/fesm2022/acorex-components-search-box.mjs +7 -7
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +22 -10
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +7 -7
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +13 -13
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +7 -7
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +7 -7
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +13 -13
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +13 -13
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +10 -10
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +13 -13
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +7 -7
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +7 -7
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +7 -7
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +10 -10
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +247 -0
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -0
- package/fesm2022/acorex-components-time-line.mjs +10 -10
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +10 -10
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +7 -7
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +10 -10
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +10 -10
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +22 -22
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +7 -7
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +31 -31
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/package.json +5 -1
- package/scheduler/lib/scheduler.class.d.ts +4 -0
- package/scheduler/lib/scheduler.component.d.ts +5 -3
- package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +5 -2
- package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +7 -3
- package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +5 -2
- package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +5 -2
- package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +5 -2
- package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +3 -2
- package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +6 -2
- package/time-duration/README.md +3 -0
- package/time-duration/index.d.ts +3 -0
- package/time-duration/lib/time-duration.component.d.ts +29 -0
- package/time-duration/lib/time-duration.module.d.ts +7 -0
- package/time-duration/lib/time-duration.type.d.ts +1 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-text-box.mjs","sources":["../../../../libs/components/text-box/src/lib/mask-options.directive.ts","../../../../libs/components/text-box/src/lib/text-box.component.ts","../../../../libs/components/text-box/src/lib/text-box.component.html","../../../../libs/components/text-box/src/lib/text-box.module.ts","../../../../libs/components/text-box/src/acorex-components-text-box.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { MaskedOptions } from 'imask';\n\nexport type AXMaskOptions = MaskedOptions | any;\n\nexport interface AXMaskOptionsInterface {\n mask: MaskedOptions | string | RegExp;\n updateValue?: (masked: string, unmasked: string) => void;\n}\n\n@Directive({ selector: 'ax-mask-options' })\nexport class AXMaskOptionsDirective implements AXMaskOptionsInterface {\n private _mask: MaskedOptions | string | RegExp;\n\n @Output()\n public onMaskChange = new EventEmitter<MaskedOptions | string | RegExp>();\n\n @Input()\n public get mask(): MaskedOptions | string | RegExp {\n return this._mask;\n }\n\n public set mask(v: MaskedOptions | string | RegExp) {\n this._mask = v;\n this.onMaskChange.emit(v);\n }\n\n @Input()\n updateValue?: (masked: string, unmasked: string) => void;\n}\n","/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n input,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport IMask, { InputMask } from 'imask';\nimport { classes } from 'polytype';\nimport { AXMaskOptions, AXMaskOptionsDirective } from './mask-options.directive';\n\n/**\n * The Textbox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-text-box',\n templateUrl: 'text-box.component.html',\n styleUrls: ['text-box.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'id', 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'look'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged', 'readonlyChange', 'disabledChange', 'onKeyDown', 'onKeyUp', 'onKeyPress'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXComponent, useExisting: AXTextBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },\n { provide: AXClearableComponent, useExisting: AXTextBoxComponent },\n { provide: AXValuableComponent, useExisting: AXTextBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTextBoxComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n})\nexport class AXTextBoxComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) implements AfterContentInit {\n /** @ignore */\n protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\n\n /** @ignore */\n @ViewChild('input', { static: true })\n private input: ElementRef<HTMLInputElement>;\n\n /** @ignore */\n private _maskObj: InputMask<any>;\n\n /** @ignore */\n private _maskOptions: AXMaskOptions = { mask: null };\n\n /**\n * This public getter provides access to the `_maskOptions` property, which holds the configuration options for the mask feature.\n */\n @Input('mask-options')\n public get maskOptions(): AXMaskOptions {\n return this._maskOptions;\n }\n\n /**\n * @param value {AXMaskOptions} - The new mask configuration options to be set.\n */\n public set maskOptions(value: AXMaskOptions) {\n this._maskOptions = value;\n this.setMask();\n }\n\n /**\n * This property defines the maximum number of characters that the input field can accept. It can be dynamically bound from a parent component template to enforce input length constraints.\n */\n @Input()\n maxLength: number;\n\n /**\n * This property determines the type of the input element (e.g., 'text', 'password', 'email', etc.). It can be dynamically bound from a parent component template to change the input field type based on different conditions or requirements.\n */\n @Input()\n type: string;\n\n /**\n * This property determines whether the input field should have autocomplete enabled and what type of autocomplete suggestions should be provided\n */\n @Input()\n autoComplete: string;\n\n /**\n * This will apply 'my-custom-class' and 'another-class' to the component's root element.\n */\n // @Input('class')\n // classNames: string;\n classNames = input('', { alias: 'class' });\n\n /** @ignore */\n @ContentChild(AXMaskOptionsDirective, { static: true })\n protected _maskOptionsContent: AXMaskOptionsDirective;\n\n /** @ignore */\n ngAfterContentInit() {\n if (this._maskOptionsContent?.mask) {\n if (typeof this._maskOptionsContent.mask == 'string' || this._maskOptionsContent.mask instanceof RegExp) {\n Object.assign(this.maskOptions, {\n mask: this._maskOptionsContent.mask,\n unmask: false,\n });\n }\n if (typeof this._maskOptionsContent.mask == 'object') {\n Object.assign(this.maskOptions, this._maskOptionsContent.mask);\n }\n }\n //\n this.setMask();\n }\n\n /** @ignore */\n private setMask() {\n if (this._maskObj) this._maskObj.destroy();\n //\n if (this.maskOptions?.mask) {\n this._maskObj = IMask(this.input.nativeElement, this.maskOptions);\n this._updateOn = 'submit';\n this._maskObj.on('accept', this._onComplete.bind(this));\n this._maskObj.on('complete', this._onComplete.bind(this));\n if (this.value) {\n this._maskObj.value = `${this.value}`;\n this._maskObj.updateValue();\n }\n }\n }\n\n /** @ignore */\n private _onComplete(e: InputEvent) {\n this.commitValue(this._maskObj.value, e?.isTrusted ?? false);\n if (typeof this._maskOptionsContent?.updateValue === 'function') {\n this._maskOptionsContent?.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);\n }\n }\n\n /** @ignore */\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n}\n","<div\n class=\"ax-editor-container {{ classNames() }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMaskOptionsDirective } from './mask-options.directive';\nimport { AXTextBoxComponent } from './text-box.component';\n\n@NgModule({\n imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXTextBoxComponent, AXMaskOptionsDirective],\n exports: [AXTextBoxComponent, AXMaskOptionsDirective],\n providers: [],\n})\nexport class AXTextBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MAWa,sBAAsB,CAAA;AADnC,IAAA,WAAA,GAAA;AAKS,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAmC;AAc1E;AAZC,IAAA,IACW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;;IAGnB,IAAW,IAAI,CAAC,CAAkC,EAAA;AAChD,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;AACd,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;;8GAbhB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,SAAS;mBAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE;8BAKjC,YAAY,EAAA,CAAA;sBADlB;gBAIU,IAAI,EAAA,CAAA;sBADd;gBAWD,WAAW,EAAA,CAAA;sBADV;;;AC3BH;AA0BA;;;;AAIG;AAsBG,MAAO,kBAAmB,SAAQ,OAAO,EAAC,yBAAiC,GAAE,eAAe,CAAC,CAAA;AArBnG,IAAA,WAAA,GAAA;;;QAuBY,IAAS,CAAA,SAAA,GAAiC,QAAQ;;AAUpD,QAAA,IAAA,CAAA,YAAY,GAAkB,EAAE,IAAI,EAAE,IAAI,EAAE;AAoCpD;;AAEG;;;QAGH,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAmD3C;AA1FC;;AAEG;AACH,IAAA,IACW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY;;AAG1B;;AAEG;IACH,IAAW,WAAW,CAAC,KAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;QACzB,IAAI,CAAC,OAAO,EAAE;;;IAiChB,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE;AAClC,YAAA,IAAI,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,YAAY,MAAM,EAAE;AACvG,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;AAC9B,oBAAA,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI;AACnC,oBAAA,MAAM,EAAE,KAAK;AACd,iBAAA,CAAC;;YAEJ,IAAI,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,QAAQ,EAAE;AACpD,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;;;;QAIlE,IAAI,CAAC,OAAO,EAAE;;;IAIR,OAAO,GAAA;QACb,IAAI,IAAI,CAAC,QAAQ;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;;AAE1C,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC;AACjE,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAA,CAAE;AACrC,gBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;;;;;AAMzB,IAAA,WAAW,CAAC,CAAa,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,IAAI,KAAK,CAAC;QAC5D,IAAI,OAAO,IAAI,CAAC,mBAAmB,EAAE,WAAW,KAAK,UAAU,EAAE;AAC/D,YAAA,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;;;;AAKjF,IAAA,kBAAkB,CAAC,KAAoB,EAAA;AAC/C,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;;8GAtGpB,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAblB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE;AACzD,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAClE,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAClE,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,kBAAkB,EAAE;AACjE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA2Da,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5GtC,qtCAoCA,EAAA,MAAA,EAAA,CAAA,+svBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDcY,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBArB9B,SAAS;+BACE,aAAa,EAAA,MAAA,EAGf,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAA,OAAA,EAC5I,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EACzI,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,oBAAoB,EAAE;AACzD,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,oBAAoB,EAAE;AAClE,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,oBAAoB,EAAE;AAClE,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,oBAAoB,EAAE;AACjE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;qBACF,EACQ,OAAA,EAAA,CAAC,WAAW,CAAC,EAAA,QAAA,EAAA,qtCAAA,EAAA,MAAA,EAAA,CAAA,+svBAAA,CAAA,EAAA;8BAQd,KAAK,EAAA,CAAA;sBADZ,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAazB,WAAW,EAAA,CAAA;sBADrB,KAAK;uBAAC,cAAc;gBAiBrB,SAAS,EAAA,CAAA;sBADR;gBAOD,IAAI,EAAA,CAAA;sBADH;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAYS,mBAAmB,EAAA,CAAA;sBAD5B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;ME9F3C,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAJhB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,CACxH,EAAA,OAAA,EAAA,CAAA,kBAAkB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA;+GAGzC,eAAe,EAAA,OAAA,EAAA,CAJhB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA;;2FAI/F,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,sBAAsB,CAAC;AACnI,oBAAA,OAAO,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;AACrD,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;ACbD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"acorex-components-text-box.mjs","sources":["../../../../libs/components/text-box/src/lib/mask-options.directive.ts","../../../../libs/components/text-box/src/lib/text-box.component.ts","../../../../libs/components/text-box/src/lib/text-box.component.html","../../../../libs/components/text-box/src/lib/text-box.module.ts","../../../../libs/components/text-box/src/acorex-components-text-box.ts"],"sourcesContent":["import { Directive, EventEmitter, Input, Output } from '@angular/core';\nimport { MaskedOptions } from 'imask';\n\nexport type AXMaskOptions = MaskedOptions | any;\n\nexport interface AXMaskOptionsInterface {\n mask: MaskedOptions | string | RegExp;\n updateValue?: (masked: string, unmasked: string) => void;\n}\n\n@Directive({ selector: 'ax-mask-options' })\nexport class AXMaskOptionsDirective implements AXMaskOptionsInterface {\n private _mask: MaskedOptions | string | RegExp;\n\n @Output()\n public onMaskChange = new EventEmitter<MaskedOptions | string | RegExp>();\n\n @Input()\n public get mask(): MaskedOptions | string | RegExp {\n return this._mask;\n }\n\n public set mask(v: MaskedOptions | string | RegExp) {\n this._mask = v;\n this.onMaskChange.emit(v);\n }\n\n @Input()\n updateValue?: (masked: string, unmasked: string) => void;\n}\n","/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n input,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport IMask, { InputMask } from 'imask';\nimport { classes } from 'polytype';\nimport { AXMaskOptions, AXMaskOptionsDirective } from './mask-options.directive';\n\n/**\n * The Textbox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-text-box',\n templateUrl: 'text-box.component.html',\n styleUrls: ['text-box.component.scss'],\n inputs: ['disabled', 'tabIndex', 'readonly', 'value', 'state', 'name', 'id', 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'look'],\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged', 'readonlyChange', 'disabledChange', 'onKeyDown', 'onKeyUp', 'onKeyPress'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXComponent, useExisting: AXTextBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },\n { provide: AXClearableComponent, useExisting: AXTextBoxComponent },\n { provide: AXValuableComponent, useExisting: AXTextBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTextBoxComponent),\n multi: true,\n },\n ],\n imports: [FormsModule],\n})\nexport class AXTextBoxComponent extends classes(MXInputBaseValueComponent<string>, MXLookComponent) implements AfterContentInit {\n /** @ignore */\n protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\n\n /** @ignore */\n @ViewChild('input', { static: true })\n private input: ElementRef<HTMLInputElement>;\n\n /** @ignore */\n private _maskObj: InputMask<any>;\n\n /** @ignore */\n private _maskOptions: AXMaskOptions = { mask: null };\n\n /**\n * This public getter provides access to the `_maskOptions` property, which holds the configuration options for the mask feature.\n */\n @Input('mask-options')\n public get maskOptions(): AXMaskOptions {\n return this._maskOptions;\n }\n\n /**\n * @param value {AXMaskOptions} - The new mask configuration options to be set.\n */\n public set maskOptions(value: AXMaskOptions) {\n this._maskOptions = value;\n this.setMask();\n }\n\n /**\n * This property defines the maximum number of characters that the input field can accept. It can be dynamically bound from a parent component template to enforce input length constraints.\n */\n @Input()\n maxLength: number;\n\n /**\n * This property determines the type of the input element (e.g., 'text', 'password', 'email', etc.). It can be dynamically bound from a parent component template to change the input field type based on different conditions or requirements.\n */\n @Input()\n type: string;\n\n /**\n * This property determines whether the input field should have autocomplete enabled and what type of autocomplete suggestions should be provided\n */\n @Input()\n autoComplete: string;\n\n /**\n * This will apply 'my-custom-class' and 'another-class' to the component's root element.\n */\n // @Input('class')\n // classNames: string;\n classNames = input('', { alias: 'class' });\n\n /** @ignore */\n @ContentChild(AXMaskOptionsDirective, { static: true })\n protected _maskOptionsContent: AXMaskOptionsDirective;\n\n /** @ignore */\n ngAfterContentInit() {\n if (this._maskOptionsContent?.mask) {\n if (typeof this._maskOptionsContent.mask == 'string' || this._maskOptionsContent.mask instanceof RegExp) {\n Object.assign(this.maskOptions, {\n mask: this._maskOptionsContent.mask,\n unmask: false,\n });\n }\n if (typeof this._maskOptionsContent.mask == 'object') {\n Object.assign(this.maskOptions, this._maskOptionsContent.mask);\n }\n }\n //\n this.setMask();\n }\n\n /** @ignore */\n private setMask() {\n if (this._maskObj) this._maskObj.destroy();\n //\n if (this.maskOptions?.mask) {\n this._maskObj = IMask(this.input.nativeElement, this.maskOptions);\n this._updateOn = 'submit';\n this._maskObj.on('accept', this._onComplete.bind(this));\n this._maskObj.on('complete', this._onComplete.bind(this));\n if (this.value) {\n this._maskObj.value = `${this.value}`;\n this._maskObj.updateValue();\n }\n }\n }\n\n /** @ignore */\n private _onComplete(e: InputEvent) {\n this.commitValue(this._maskObj.value, e?.isTrusted ?? false);\n if (typeof this._maskOptionsContent?.updateValue === 'function') {\n this._maskOptionsContent?.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);\n }\n }\n\n /** @ignore */\n protected _handleModelChange(value: string | null) {\n this.commitValue(value, true);\n }\n}\n","<div\n class=\"ax-editor-container {{ classNames() }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.autocomplete]=\"autoComplete\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxlength]=\"maxLength\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n [ngModelOptions]=\"{ updateOn: _updateOn }\"\n (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMaskOptionsDirective } from './mask-options.directive';\nimport { AXTextBoxComponent } from './text-box.component';\n\n@NgModule({\n imports: [CommonModule, AXCommonModule, FormsModule, AXButtonModule, AXDecoratorModule, AXTextBoxComponent, AXMaskOptionsDirective],\n exports: [AXTextBoxComponent, AXMaskOptionsDirective],\n providers: [],\n})\nexport class AXTextBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,247 @@
|
|
1
|
+
import { MXInputBaseValueComponent, MXLookComponent, AXComponent, AXFocusableComponent, AXClearableComponent, AXValuableComponent } from '@acorex/components/common';
|
2
|
+
import { AXSelectBoxModule } from '@acorex/components/select-box';
|
3
|
+
import * as i1 from '@acorex/components/text-box';
|
4
|
+
import { AXTextBoxModule } from '@acorex/components/text-box';
|
5
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
6
|
+
import * as i0 from '@angular/core';
|
7
|
+
import { input, signal, inject, effect, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
8
|
+
import * as i2 from '@angular/forms';
|
9
|
+
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
10
|
+
import { classes } from 'polytype';
|
11
|
+
|
12
|
+
class AXTimeDurationComponent extends classes((MXInputBaseValueComponent), MXLookComponent) {
|
13
|
+
constructor() {
|
14
|
+
super(...arguments);
|
15
|
+
this.valueStart = input('year');
|
16
|
+
this.valueEnd = input('millisecond');
|
17
|
+
this.maskOptions = signal({ mask: '' });
|
18
|
+
this.translationService = inject(AXTranslationService);
|
19
|
+
this.onInputFire = false;
|
20
|
+
this.onInternalValueChangedFire = false;
|
21
|
+
this.#effect = effect(() => {
|
22
|
+
if (this.valueStart() && this.valueEnd()) {
|
23
|
+
this.updateMask();
|
24
|
+
}
|
25
|
+
});
|
26
|
+
}
|
27
|
+
#effect;
|
28
|
+
onInput(event) {
|
29
|
+
if (this.onInternalValueChangedFire)
|
30
|
+
return;
|
31
|
+
this.onInputFire = true;
|
32
|
+
const milliseconds = this.maskToMilliseconds(event);
|
33
|
+
this.commitValue(milliseconds, true);
|
34
|
+
this.onInputFire = false;
|
35
|
+
}
|
36
|
+
internalValueChanged(value) {
|
37
|
+
if (this.onInputFire)
|
38
|
+
return;
|
39
|
+
this.onInternalValueChangedFire = true;
|
40
|
+
const normalizedMask = this.millisecondsToMask(value);
|
41
|
+
this.inputValue = normalizedMask;
|
42
|
+
this.onInternalValueChangedFire = false;
|
43
|
+
}
|
44
|
+
maskToMilliseconds(maskValue) {
|
45
|
+
if (!maskValue)
|
46
|
+
return 0;
|
47
|
+
const parts = maskValue.split(':').map((part) => part.trim());
|
48
|
+
let totalMilliseconds = 0;
|
49
|
+
// Define maximum values for each unit
|
50
|
+
const maxValues = {
|
51
|
+
MILLISECOND: 1000,
|
52
|
+
SECOND: 60,
|
53
|
+
MINUTE: 60,
|
54
|
+
HOUR: 24,
|
55
|
+
DAY: 7,
|
56
|
+
WEEK: 4,
|
57
|
+
MONTH: 12,
|
58
|
+
YEAR: Infinity,
|
59
|
+
};
|
60
|
+
// First pass: convert all values to milliseconds
|
61
|
+
for (const part of parts) {
|
62
|
+
const match = part.match(/(\d+)\s*\((\w+)\)/);
|
63
|
+
if (match) {
|
64
|
+
const [_, value, unit] = match;
|
65
|
+
const numValue = parseInt(value, 10);
|
66
|
+
const unitUpper = unit.toUpperCase();
|
67
|
+
// Check if value exceeds maximum
|
68
|
+
if (numValue >= maxValues[unitUpper]) {
|
69
|
+
// Convert to next larger unit
|
70
|
+
const nextUnit = this.getNextLargerUnit(unitUpper);
|
71
|
+
if (nextUnit) {
|
72
|
+
const convertedValue = this.convertToLargerUnit(numValue, unitUpper, nextUnit);
|
73
|
+
totalMilliseconds += this.unitToMilliseconds(convertedValue.value, convertedValue.unit);
|
74
|
+
}
|
75
|
+
else {
|
76
|
+
totalMilliseconds += this.unitToMilliseconds(numValue, unitUpper);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
else {
|
80
|
+
totalMilliseconds += this.unitToMilliseconds(numValue, unitUpper);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
}
|
84
|
+
return totalMilliseconds;
|
85
|
+
}
|
86
|
+
getNextLargerUnit(unit) {
|
87
|
+
const units = ['MILLISECOND', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'YEAR'];
|
88
|
+
const currentIndex = units.indexOf(unit);
|
89
|
+
return currentIndex < units.length - 1 ? units[currentIndex + 1] : null;
|
90
|
+
}
|
91
|
+
convertToLargerUnit(value, fromUnit, toUnit) {
|
92
|
+
const conversionRates = {
|
93
|
+
MILLISECOND: { SECOND: 1000 },
|
94
|
+
SECOND: { MINUTE: 60 },
|
95
|
+
MINUTE: { HOUR: 60 },
|
96
|
+
HOUR: { DAY: 24 },
|
97
|
+
DAY: { WEEK: 7 },
|
98
|
+
WEEK: { MONTH: 4 },
|
99
|
+
MONTH: { YEAR: 12 },
|
100
|
+
};
|
101
|
+
if (conversionRates[fromUnit] && conversionRates[fromUnit][toUnit]) {
|
102
|
+
const rate = conversionRates[fromUnit][toUnit];
|
103
|
+
return {
|
104
|
+
value: Math.floor(value / rate),
|
105
|
+
unit: toUnit,
|
106
|
+
};
|
107
|
+
}
|
108
|
+
return { value, unit: fromUnit };
|
109
|
+
}
|
110
|
+
unitToMilliseconds(value, unit) {
|
111
|
+
switch (unit) {
|
112
|
+
case 'YEAR':
|
113
|
+
return value * 31536000000; // 365 days
|
114
|
+
case 'MONTH':
|
115
|
+
return value * 2592000000; // 30 days
|
116
|
+
case 'WEEK':
|
117
|
+
return value * 604800000; // 7 days
|
118
|
+
case 'DAY':
|
119
|
+
return value * 86400000; // 24 hours
|
120
|
+
case 'HOUR':
|
121
|
+
return value * 3600000; // 60 minutes
|
122
|
+
case 'MINUTE':
|
123
|
+
return value * 60000; // 60 seconds
|
124
|
+
case 'SECOND':
|
125
|
+
return value * 1000;
|
126
|
+
case 'MILLISECOND':
|
127
|
+
return value;
|
128
|
+
default:
|
129
|
+
return 0;
|
130
|
+
}
|
131
|
+
}
|
132
|
+
millisecondsToMask(milliseconds) {
|
133
|
+
if (milliseconds <= 0)
|
134
|
+
return '';
|
135
|
+
const units = [
|
136
|
+
{ name: 'YEAR', value: 31536000000 },
|
137
|
+
{ name: 'MONTH', value: 2592000000 },
|
138
|
+
{ name: 'WEEK', value: 604800000 },
|
139
|
+
{ name: 'DAY', value: 86400000 },
|
140
|
+
{ name: 'HOUR', value: 3600000 },
|
141
|
+
{ name: 'MINUTE', value: 60000 },
|
142
|
+
{ name: 'SECOND', value: 1000 },
|
143
|
+
{ name: 'MILLISECOND', value: 1 },
|
144
|
+
];
|
145
|
+
let remaining = milliseconds;
|
146
|
+
const parts = [];
|
147
|
+
for (const unit of units) {
|
148
|
+
if (remaining >= unit.value) {
|
149
|
+
const value = Math.floor(remaining / unit.value);
|
150
|
+
remaining = remaining % unit.value;
|
151
|
+
parts.push(`${value.toString().padStart(2, '0')}(${unit.name})`);
|
152
|
+
}
|
153
|
+
}
|
154
|
+
return parts.join(':');
|
155
|
+
}
|
156
|
+
updateMask() {
|
157
|
+
const allUnits = ['year', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
|
158
|
+
const startIndex = allUnits.indexOf(this.valueStart());
|
159
|
+
const endIndex = allUnits.indexOf(this.valueEnd());
|
160
|
+
if (startIndex === -1 || endIndex === -1 || endIndex < startIndex) {
|
161
|
+
this.maskOptions.set({ mask: '' });
|
162
|
+
return;
|
163
|
+
}
|
164
|
+
const selectedUnits = allUnits.slice(startIndex, endIndex + 1);
|
165
|
+
const unitPatterns = {
|
166
|
+
year: `00 (${this.translationService.translateSync('year').toLocaleUpperCase()})`,
|
167
|
+
month: `00 (${this.translationService.translateSync('month').toLocaleUpperCase()})`,
|
168
|
+
week: `00 (${this.translationService.translateSync('week').toLocaleUpperCase()})`,
|
169
|
+
day: `00 (${this.translationService.translateSync('day').toLocaleUpperCase()})`,
|
170
|
+
hour: `00 (${this.translationService.translateSync('hour').toLocaleUpperCase()})`,
|
171
|
+
minute: `00 (${this.translationService.translateSync('minute').toLocaleUpperCase()})`,
|
172
|
+
second: `00 (${this.translationService.translateSync('second').toLocaleUpperCase()})`,
|
173
|
+
millisecond: `000 (${this.translationService.translateSync('millisecond').toLocaleUpperCase()})`,
|
174
|
+
};
|
175
|
+
const maskParts = selectedUnits.map((unit) => {
|
176
|
+
if (unit === 'hour' || unit === 'minute' || unit === 'second' || unit === 'millisecond') {
|
177
|
+
return unitPatterns[unit];
|
178
|
+
}
|
179
|
+
return unitPatterns[unit];
|
180
|
+
});
|
181
|
+
// Create final mask string, joining properly
|
182
|
+
let timePart = '';
|
183
|
+
const dateParts = [];
|
184
|
+
for (const part of maskParts) {
|
185
|
+
if (part.includes('(')) {
|
186
|
+
dateParts.push(part);
|
187
|
+
}
|
188
|
+
else if (part.includes('.')) {
|
189
|
+
timePart += part;
|
190
|
+
}
|
191
|
+
else {
|
192
|
+
timePart += (timePart ? ':' : '') + part;
|
193
|
+
}
|
194
|
+
}
|
195
|
+
const result = dateParts.join(' : ');
|
196
|
+
this.maskOptions.set({ mask: result });
|
197
|
+
}
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeDurationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AXTimeDurationComponent, isStandalone: true, selector: "ax-time-duration", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, valueStart: { classPropertyName: "valueStart", publicName: "valueStart", isSignal: true, isRequired: false, transformFunction: null }, valueEnd: { classPropertyName: "valueEnd", publicName: "valueEnd", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onValueChanged: "onValueChanged" }, providers: [
|
200
|
+
{ provide: AXComponent, useExisting: AXTimeDurationComponent },
|
201
|
+
{ provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },
|
202
|
+
{ provide: AXClearableComponent, useExisting: AXTimeDurationComponent },
|
203
|
+
{ provide: AXValuableComponent, useExisting: AXTimeDurationComponent },
|
204
|
+
{
|
205
|
+
provide: NG_VALUE_ACCESSOR,
|
206
|
+
useExisting: forwardRef(() => AXTimeDurationComponent),
|
207
|
+
multi: true,
|
208
|
+
},
|
209
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container\">\n <ax-text-box\n [look]=\"look\"\n [placeholder]=\"maskOptions().mask\"\n [mask-options]=\"maskOptions()\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onInput($event)\"\n class=\"ax-time-duration-text\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n [readonly]=\"readonly\"\n >\n </ax-text-box>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-time-duration>.ax-editor-container{display:block;height:100%!important;padding:0}\n"], dependencies: [{ kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i1.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
210
|
+
}
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeDurationComponent, decorators: [{
|
212
|
+
type: Component,
|
213
|
+
args: [{ selector: 'ax-time-duration', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXTextBoxModule, FormsModule, AXSelectBoxModule], inputs: ['disabled', 'tabIndex', 'readonly', 'look'], outputs: ['onValueChanged'], providers: [
|
214
|
+
{ provide: AXComponent, useExisting: AXTimeDurationComponent },
|
215
|
+
{ provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },
|
216
|
+
{ provide: AXClearableComponent, useExisting: AXTimeDurationComponent },
|
217
|
+
{ provide: AXValuableComponent, useExisting: AXTimeDurationComponent },
|
218
|
+
{
|
219
|
+
provide: NG_VALUE_ACCESSOR,
|
220
|
+
useExisting: forwardRef(() => AXTimeDurationComponent),
|
221
|
+
multi: true,
|
222
|
+
},
|
223
|
+
], template: "<div class=\"ax-editor-container\">\n <ax-text-box\n [look]=\"look\"\n [placeholder]=\"maskOptions().mask\"\n [mask-options]=\"maskOptions()\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onInput($event)\"\n class=\"ax-time-duration-text\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n [readonly]=\"readonly\"\n >\n </ax-text-box>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n", styles: ["ax-time-duration>.ax-editor-container{display:block;height:100%!important;padding:0}\n"] }]
|
224
|
+
}] });
|
225
|
+
|
226
|
+
const COMPONENT = [AXTimeDurationComponent];
|
227
|
+
const MODULES = [];
|
228
|
+
class AXTimeDurationModule {
|
229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeDurationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
230
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXTimeDurationModule, imports: [AXTimeDurationComponent], exports: [AXTimeDurationComponent] }); }
|
231
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeDurationModule, imports: [MODULES, COMPONENT] }); }
|
232
|
+
}
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeDurationModule, decorators: [{
|
234
|
+
type: NgModule,
|
235
|
+
args: [{
|
236
|
+
imports: [...MODULES, ...COMPONENT],
|
237
|
+
exports: [...COMPONENT],
|
238
|
+
providers: [],
|
239
|
+
}]
|
240
|
+
}] });
|
241
|
+
|
242
|
+
/**
|
243
|
+
* Generated bundle index. Do not edit.
|
244
|
+
*/
|
245
|
+
|
246
|
+
export { AXTimeDurationComponent, AXTimeDurationModule };
|
247
|
+
//# sourceMappingURL=acorex-components-time-duration.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-components-time-duration.mjs","sources":["../../../../libs/components/time-duration/src/lib/time-duration.component.ts","../../../../libs/components/time-duration/src/lib/time-duration.component.html","../../../../libs/components/time-duration/src/lib/time-duration.module.ts","../../../../libs/components/time-duration/src/acorex-components-time-duration.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXMaskOptions, AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXTimeDurationUnit } from './time-duration.type';\n\n@Component({\n selector: 'ax-time-duration',\n templateUrl: './time-duration.component.html',\n styleUrls: ['./time-duration.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXTextBoxModule, FormsModule, AXSelectBoxModule],\n inputs: ['disabled', 'tabIndex', 'readonly', 'look'],\n outputs: ['onValueChanged'],\n providers: [\n { provide: AXComponent, useExisting: AXTimeDurationComponent },\n { provide: AXFocusableComponent, useExisting: AXTimeDurationComponent },\n { provide: AXClearableComponent, useExisting: AXTimeDurationComponent },\n { provide: AXValuableComponent, useExisting: AXTimeDurationComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXTimeDurationComponent),\n multi: true,\n },\n ],\n})\nexport class AXTimeDurationComponent extends classes(MXInputBaseValueComponent<number>, MXLookComponent) {\n protected inputValue: string;\n readonly valueStart = input<AXTimeDurationUnit>('year');\n readonly valueEnd = input<AXTimeDurationUnit>('millisecond');\n protected maskOptions = signal<AXMaskOptions>({ mask: '' });\n\n private translationService: AXTranslationService = inject(AXTranslationService);\n\n private onInputFire = false;\n private onInternalValueChangedFire = false;\n\n #effect = effect(() => {\n if (this.valueStart() && this.valueEnd()) {\n this.updateMask();\n }\n });\n\n protected onInput(event: any) {\n if (this.onInternalValueChangedFire) return;\n this.onInputFire = true;\n const milliseconds = this.maskToMilliseconds(event);\n this.commitValue(milliseconds, true);\n this.onInputFire = false;\n }\n\n protected override internalValueChanged(value: number): void {\n if (this.onInputFire) return;\n this.onInternalValueChangedFire = true;\n const normalizedMask = this.millisecondsToMask(value);\n this.inputValue = normalizedMask;\n this.onInternalValueChangedFire = false;\n }\n\n private maskToMilliseconds(maskValue: string): number {\n if (!maskValue) return 0;\n\n const parts = maskValue.split(':').map((part) => part.trim());\n let totalMilliseconds = 0;\n\n // Define maximum values for each unit\n const maxValues = {\n MILLISECOND: 1000,\n SECOND: 60,\n MINUTE: 60,\n HOUR: 24,\n DAY: 7,\n WEEK: 4,\n MONTH: 12,\n YEAR: Infinity,\n };\n\n // First pass: convert all values to milliseconds\n for (const part of parts) {\n const match = part.match(/(\\d+)\\s*\\((\\w+)\\)/);\n if (match) {\n const [_, value, unit] = match;\n const numValue = parseInt(value, 10);\n const unitUpper = unit.toUpperCase();\n\n // Check if value exceeds maximum\n if (numValue >= maxValues[unitUpper]) {\n // Convert to next larger unit\n const nextUnit = this.getNextLargerUnit(unitUpper);\n if (nextUnit) {\n const convertedValue = this.convertToLargerUnit(numValue, unitUpper, nextUnit);\n totalMilliseconds += this.unitToMilliseconds(convertedValue.value, convertedValue.unit);\n } else {\n totalMilliseconds += this.unitToMilliseconds(numValue, unitUpper);\n }\n } else {\n totalMilliseconds += this.unitToMilliseconds(numValue, unitUpper);\n }\n }\n }\n\n return totalMilliseconds;\n }\n\n private getNextLargerUnit(unit: string): string {\n const units = ['MILLISECOND', 'SECOND', 'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'YEAR'];\n const currentIndex = units.indexOf(unit);\n return currentIndex < units.length - 1 ? units[currentIndex + 1] : null;\n }\n\n private convertToLargerUnit(value: number, fromUnit: string, toUnit: string): { value: number; unit: string } {\n const conversionRates = {\n MILLISECOND: { SECOND: 1000 },\n SECOND: { MINUTE: 60 },\n MINUTE: { HOUR: 60 },\n HOUR: { DAY: 24 },\n DAY: { WEEK: 7 },\n WEEK: { MONTH: 4 },\n MONTH: { YEAR: 12 },\n };\n\n if (conversionRates[fromUnit] && conversionRates[fromUnit][toUnit]) {\n const rate = conversionRates[fromUnit][toUnit];\n return {\n value: Math.floor(value / rate),\n unit: toUnit,\n };\n }\n\n return { value, unit: fromUnit };\n }\n\n private unitToMilliseconds(value: number, unit: string): number {\n switch (unit) {\n case 'YEAR':\n return value * 31536000000; // 365 days\n case 'MONTH':\n return value * 2592000000; // 30 days\n case 'WEEK':\n return value * 604800000; // 7 days\n case 'DAY':\n return value * 86400000; // 24 hours\n case 'HOUR':\n return value * 3600000; // 60 minutes\n case 'MINUTE':\n return value * 60000; // 60 seconds\n case 'SECOND':\n return value * 1000;\n case 'MILLISECOND':\n return value;\n default:\n return 0;\n }\n }\n\n private millisecondsToMask(milliseconds: number): string {\n if (milliseconds <= 0) return '';\n\n const units = [\n { name: 'YEAR', value: 31536000000 },\n { name: 'MONTH', value: 2592000000 },\n { name: 'WEEK', value: 604800000 },\n { name: 'DAY', value: 86400000 },\n { name: 'HOUR', value: 3600000 },\n { name: 'MINUTE', value: 60000 },\n { name: 'SECOND', value: 1000 },\n { name: 'MILLISECOND', value: 1 },\n ];\n\n let remaining = milliseconds;\n const parts: string[] = [];\n\n for (const unit of units) {\n if (remaining >= unit.value) {\n const value = Math.floor(remaining / unit.value);\n remaining = remaining % unit.value;\n parts.push(`${value.toString().padStart(2, '0')}(${unit.name})`);\n }\n }\n\n return parts.join(':');\n }\n\n private updateMask() {\n const allUnits = ['year', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n const startIndex = allUnits.indexOf(this.valueStart());\n const endIndex = allUnits.indexOf(this.valueEnd());\n\n if (startIndex === -1 || endIndex === -1 || endIndex < startIndex) {\n this.maskOptions.set({ mask: '' });\n return;\n }\n\n const selectedUnits = allUnits.slice(startIndex, endIndex + 1);\n\n const unitPatterns: Record<string, string> = {\n year: `00 (${this.translationService.translateSync('year').toLocaleUpperCase()})`,\n month: `00 (${this.translationService.translateSync('month').toLocaleUpperCase()})`,\n week: `00 (${this.translationService.translateSync('week').toLocaleUpperCase()})`,\n day: `00 (${this.translationService.translateSync('day').toLocaleUpperCase()})`,\n hour: `00 (${this.translationService.translateSync('hour').toLocaleUpperCase()})`,\n minute: `00 (${this.translationService.translateSync('minute').toLocaleUpperCase()})`,\n second: `00 (${this.translationService.translateSync('second').toLocaleUpperCase()})`,\n millisecond: `000 (${this.translationService.translateSync('millisecond').toLocaleUpperCase()})`,\n };\n\n const maskParts = selectedUnits.map((unit) => {\n if (unit === 'hour' || unit === 'minute' || unit === 'second' || unit === 'millisecond') {\n return unitPatterns[unit];\n }\n return unitPatterns[unit];\n });\n\n // Create final mask string, joining properly\n let timePart = '';\n const dateParts = [];\n for (const part of maskParts) {\n if (part.includes('(')) {\n dateParts.push(part);\n } else if (part.includes('.')) {\n timePart += part;\n } else {\n timePart += (timePart ? ':' : '') + part;\n }\n }\n\n const result = dateParts.join(' : ');\n\n this.maskOptions.set({ mask: result });\n }\n}\n","<div class=\"ax-editor-container\">\n <ax-text-box\n [look]=\"look\"\n [placeholder]=\"maskOptions().mask\"\n [mask-options]=\"maskOptions()\"\n [(ngModel)]=\"inputValue\"\n (ngModelChange)=\"onInput($event)\"\n class=\"ax-time-duration-text\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n [readonly]=\"readonly\"\n >\n </ax-text-box>\n <ng-content select=\"ax-validation-rule\"> </ng-content>\n</div>\n<div class=\"ax-error-container\"></div>\n","import { NgModule } from '@angular/core';\nimport { AXTimeDurationComponent } from './time-duration.component';\n\nconst COMPONENT = [AXTimeDurationComponent];\n\nconst MODULES = [];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXTimeDurationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -21,10 +21,10 @@ class AXTimeLineComponent {
|
|
21
21
|
});
|
22
22
|
}
|
23
23
|
#modeChange;
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: AXTimeLineComponent, isStandalone: true, selector: "ax-time-line", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"ax-time-line-item-container\" [style]=\"containerStyle()\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-time-line{width:100%;display:block}ax-time-line .ax-time-line-item-container{position:relative;display:flex;flex-direction:column}ax-time-line .ax-time-line-item-container:before,ax-time-line .ax-time-line-item-container:after{display:block;content:\"\";position:absolute;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-time-line .ax-time-line-item-container:before{width:1px;height:100%;top:0;inset-inline-start:.875rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
26
26
|
}
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeLineComponent, decorators: [{
|
28
28
|
type: Component,
|
29
29
|
args: [{ selector: 'ax-time-line', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-time-line-item-container\" [style]=\"containerStyle()\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-time-line{width:100%;display:block}ax-time-line .ax-time-line-item-container{position:relative;display:flex;flex-direction:column}ax-time-line .ax-time-line-item-container:before,ax-time-line .ax-time-line-item-container:after{display:block;content:\"\";position:absolute;background-color:rgba(var(--ax-sys-color-border-lightest-surface))}ax-time-line .ax-time-line-item-container:before{width:1px;height:100%;top:0;inset-inline-start:.875rem}\n"] }]
|
30
30
|
}] });
|
@@ -46,8 +46,8 @@ class AXTimeLineItemComponent {
|
|
46
46
|
get __hostClass() {
|
47
47
|
return [`ax-mode-${this.mode()}`, `${this.isActive() ? 'ax-state-active' : ''}`];
|
48
48
|
}
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeLineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXTimeLineItemComponent, isStandalone: true, selector: "ax-time-line-item", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isCollapsed: "isCollapsedChange" }, host: { properties: { "class": "this.__hostClass" } }, ngImport: i0, template: "<div class=\"ax-time-line-header\" (click)=\"handleClick()\">\n @switch (mode()) {\n @case ('bullet') {\n <span class=\"ax-time-line-bullet\"></span>\n }\n @case ('icon') {\n <span class=\"ax-time-line-icon\">\n <ng-content select=\"ax-icon\"></ng-content>\n </span>\n }\n }\n <span class=\"ax-time-line-text\">{{ text() }}</span>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed(), 'rotation-90': !isCollapsed() }\"\n ></span>\n</div>\n<div class=\"ax-time-line-content\" [@collapse]=\"isCollapsed()\"><ng-content></ng-content></div>\n", styles: ["ax-time-line{--ax-comp-time-line-deactivate-bg-color: var(--ax-sys-color-darkest-surface);--ax-comp-time-line-bullet-active-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-time-line-active-bg-color: var(--ax-sys-color-primary-lightest-surface);--ax-comp-time-line-active-text-color: var(--ax-sys-color-on-primary-lightest-surface);--ax-comp-time-line-icon-bg-color: var(--ax-sys-color-surface);--ax-comp-time-line-icon-text-color: var(--ax-sys-color-on-surface)}.ax-dark ax-time-line{--ax-comp-time-line-deactivate-bg-color: var(--ax-sys-color-lightest-surface)}ax-time-line-item{position:relative;display:flex;flex-direction:column;gap:.75rem}ax-time-line-item.ax-mode-icon{padding-inline-start:3rem}ax-time-line-item.ax-mode-bullet{padding-inline-start:1.75rem}ax-time-line-item.ax-state-active .ax-time-line-bullet{background-color:rgba(var(--ax-comp-time-line-bullet-active-bg-color))!important}ax-time-line-item.ax-state-active .ax-time-line-icon{background-color:rgba(var(--ax-comp-time-line-active-bg-color))!important;color:rgba(var(--ax-comp-time-line-active-text-color))!important}ax-time-line-item .ax-time-line-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}ax-time-line-item .ax-time-line-header .ax-time-line-bullet,ax-time-line-item .ax-time-line-header .ax-time-line-icon{position:absolute;border-radius:999rem}ax-time-line-item .ax-time-line-header .ax-time-line-bullet{width:.75rem;height:.75rem;inset-inline-start:.5rem;background-color:rgba(var(--ax-comp-time-line-deactivate-bg-color))}ax-time-line-item .ax-time-line-header .ax-time-line-icon{width:2.5rem;height:2.5rem;inset-inline-start:-.25rem;display:flex;align-items:center;justify-content:center;background-color:rgba(var(--ax-comp-time-line-icon-bg-color));color:rgba(var(--ax-comp-time-line-icon-text-color))}ax-time-line-item .ax-time-line-header .ax-time-line-text{flex:1}ax-time-line-item .ax-time-line-header .ax-collapse-arrow{transition-property:all;transition-duration:var(--ax-sys-transition-duration);transition-timing-function:var(--ax-sys-transition-timing-function);display:block}ax-time-line-item .ax-time-line-header .ax-collapse-arrow.-rotation-90{transform:rotate(-90deg)}ax-time-line-item .ax-time-line-header .ax-collapse-arrow.rotation-90{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
|
51
51
|
trigger('collapse', [
|
52
52
|
state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),
|
53
53
|
state('true', style({ height: '0', visibility: 'hidden' })),
|
@@ -56,7 +56,7 @@ class AXTimeLineItemComponent {
|
|
56
56
|
]),
|
57
57
|
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
58
58
|
}
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeLineItemComponent, decorators: [{
|
60
60
|
type: Component,
|
61
61
|
args: [{ selector: 'ax-time-line-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
62
62
|
trigger('collapse', [
|
@@ -72,11 +72,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
|
|
72
72
|
}] } });
|
73
73
|
|
74
74
|
class AXTimeLineModule {
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
76
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
77
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
76
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXTimeLineModule, imports: [CommonModule, AXTimeLineComponent, AXTimeLineItemComponent], exports: [AXTimeLineComponent, AXTimeLineItemComponent] }); }
|
77
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeLineModule, imports: [CommonModule] }); }
|
78
78
|
}
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXTimeLineModule, decorators: [{
|
80
80
|
type: NgModule,
|
81
81
|
args: [{
|
82
82
|
imports: [CommonModule, AXTimeLineComponent, AXTimeLineItemComponent],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-time-line.mjs","sources":["../../../../libs/components/time-line/src/lib/time-line.component.ts","../../../../libs/components/time-line/src/lib/time-line.component.html","../../../../libs/components/time-line/src/lib/time-line-item.component.ts","../../../../libs/components/time-line/src/lib/time-line-item.component.html","../../../../libs/components/time-line/src/lib/time-line.module.ts","../../../../libs/components/time-line/src/acorex-components-time-line.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, input, signal, ViewEncapsulation } from '@angular/core';\n\nexport type AXTimeLineMode = 'icon' | 'bullet';\n\n@Component({\n selector: 'ax-time-line',\n templateUrl: './time-line.component.html',\n styleUrl: './time-line.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXTimeLineComponent {\n mode = input<AXTimeLineMode>('bullet');\n containerStyle = signal<string>('gap: 1rem;padding-block: 0.5rem;');\n #modeChange = effect(() => {\n switch (this.mode()) {\n case 'bullet':\n this.containerStyle.set('gap: 1rem;padding-block: 0.5rem;');\n break;\n case 'icon':\n this.containerStyle.set('gap: 2rem;padding-block: 1rem;');\n break;\n\n default:\n break;\n }\n });\n}\n","<div class=\"ax-time-line-item-container\" [style]=\"containerStyle()\">\n <ng-content></ng-content>\n</div>\n","import { animate, AUTO_STYLE, state, style, transition, trigger } from '@angular/animations';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, HostBinding, inject, input, model, signal, ViewEncapsulation } from '@angular/core';\nimport { AXTimeLineComponent, AXTimeLineMode } from './time-line.component';\n\n@Component({\n selector: 'ax-time-line-item',\n templateUrl: './time-line-item.component.html',\n styleUrl: './time-line-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('collapse', [\n state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n state('true', style({ height: '0', visibility: 'hidden' })),\n transition('false => true', animate(150 + 'ms ease-in')),\n transition('true => false', animate(150 + 'ms ease-out')),\n ]),\n ],\n imports: [NgClass],\n})\nexport class AXTimeLineItemComponent {\n parent = inject(AXTimeLineComponent);\n\n text = input('');\n\n isActive = input(false);\n isCollapsed = model(false);\n\n mode = signal<AXTimeLineMode>('bullet');\n\n constructor() {\n effect(() => {\n this.mode.set(this.parent.mode());\n });\n }\n\n handleClick() {\n this.isCollapsed.set(!this.isCollapsed());\n }\n\n @HostBinding('class')\n get __hostClass(): string[] {\n return [`ax-mode-${this.mode()}`, `${this.isActive() ? 'ax-state-active' : ''}`];\n }\n}\n","<div class=\"ax-time-line-header\" (click)=\"handleClick()\">\n @switch (mode()) {\n @case ('bullet') {\n <span class=\"ax-time-line-bullet\"></span>\n }\n @case ('icon') {\n <span class=\"ax-time-line-icon\">\n <ng-content select=\"ax-icon\"></ng-content>\n </span>\n }\n }\n <span class=\"ax-time-line-text\">{{ text() }}</span>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed(), 'rotation-90': !isCollapsed() }\"\n ></span>\n</div>\n<div class=\"ax-time-line-content\" [@collapse]=\"isCollapsed()\"><ng-content></ng-content></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTimeLineItemComponent } from './time-line-item.component';\nimport { AXTimeLineComponent } from './time-line.component';\n\n@NgModule({\n imports: [CommonModule, AXTimeLineComponent, AXTimeLineItemComponent],\n exports: [AXTimeLineComponent, AXTimeLineItemComponent],\n})\nexport class AXTimeLineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAWa,mBAAmB,CAAA;AAPhC,IAAA,WAAA,GAAA;AAQE,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAiB,QAAQ,CAAC;AACtC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAS,kCAAkC,CAAC;AACnE,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,MAAK;AACxB,YAAA,QAAQ,IAAI,CAAC,IAAI,EAAE;AACjB,gBAAA,KAAK,QAAQ;AACX,oBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,kCAAkC,CAAC;oBAC3D;AACF,gBAAA,KAAK,MAAM;AACT,oBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gCAAgC,CAAC;oBACzD;AAEF,gBAAA;oBACE;;AAEN,SAAC,CAAC;AACH;AAbC,IAAA,WAAW
|
1
|
+
{"version":3,"file":"acorex-components-time-line.mjs","sources":["../../../../libs/components/time-line/src/lib/time-line.component.ts","../../../../libs/components/time-line/src/lib/time-line.component.html","../../../../libs/components/time-line/src/lib/time-line-item.component.ts","../../../../libs/components/time-line/src/lib/time-line-item.component.html","../../../../libs/components/time-line/src/lib/time-line.module.ts","../../../../libs/components/time-line/src/acorex-components-time-line.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, effect, input, signal, ViewEncapsulation } from '@angular/core';\n\nexport type AXTimeLineMode = 'icon' | 'bullet';\n\n@Component({\n selector: 'ax-time-line',\n templateUrl: './time-line.component.html',\n styleUrl: './time-line.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXTimeLineComponent {\n mode = input<AXTimeLineMode>('bullet');\n containerStyle = signal<string>('gap: 1rem;padding-block: 0.5rem;');\n #modeChange = effect(() => {\n switch (this.mode()) {\n case 'bullet':\n this.containerStyle.set('gap: 1rem;padding-block: 0.5rem;');\n break;\n case 'icon':\n this.containerStyle.set('gap: 2rem;padding-block: 1rem;');\n break;\n\n default:\n break;\n }\n });\n}\n","<div class=\"ax-time-line-item-container\" [style]=\"containerStyle()\">\n <ng-content></ng-content>\n</div>\n","import { animate, AUTO_STYLE, state, style, transition, trigger } from '@angular/animations';\nimport { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, HostBinding, inject, input, model, signal, ViewEncapsulation } from '@angular/core';\nimport { AXTimeLineComponent, AXTimeLineMode } from './time-line.component';\n\n@Component({\n selector: 'ax-time-line-item',\n templateUrl: './time-line-item.component.html',\n styleUrl: './time-line-item.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('collapse', [\n state('false', style({ height: AUTO_STYLE, visibility: AUTO_STYLE })),\n state('true', style({ height: '0', visibility: 'hidden' })),\n transition('false => true', animate(150 + 'ms ease-in')),\n transition('true => false', animate(150 + 'ms ease-out')),\n ]),\n ],\n imports: [NgClass],\n})\nexport class AXTimeLineItemComponent {\n parent = inject(AXTimeLineComponent);\n\n text = input('');\n\n isActive = input(false);\n isCollapsed = model(false);\n\n mode = signal<AXTimeLineMode>('bullet');\n\n constructor() {\n effect(() => {\n this.mode.set(this.parent.mode());\n });\n }\n\n handleClick() {\n this.isCollapsed.set(!this.isCollapsed());\n }\n\n @HostBinding('class')\n get __hostClass(): string[] {\n return [`ax-mode-${this.mode()}`, `${this.isActive() ? 'ax-state-active' : ''}`];\n }\n}\n","<div class=\"ax-time-line-header\" (click)=\"handleClick()\">\n @switch (mode()) {\n @case ('bullet') {\n <span class=\"ax-time-line-bullet\"></span>\n }\n @case ('icon') {\n <span class=\"ax-time-line-icon\">\n <ng-content select=\"ax-icon\"></ng-content>\n </span>\n }\n }\n <span class=\"ax-time-line-text\">{{ text() }}</span>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow\"\n [ngClass]=\"{ '-rotation-90': isCollapsed(), 'rotation-90': !isCollapsed() }\"\n ></span>\n</div>\n<div class=\"ax-time-line-content\" [@collapse]=\"isCollapsed()\"><ng-content></ng-content></div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTimeLineItemComponent } from './time-line-item.component';\nimport { AXTimeLineComponent } from './time-line.component';\n\n@NgModule({\n imports: [CommonModule, AXTimeLineComponent, AXTimeLineItemComponent],\n exports: [AXTimeLineComponent, AXTimeLineItemComponent],\n})\nexport class AXTimeLineModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -264,10 +264,10 @@ class AXToastService {
|
|
264
264
|
break;
|
265
265
|
}
|
266
266
|
}
|
267
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
268
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
267
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXToastService, deps: [{ token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
268
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXToastService }); }
|
269
269
|
}
|
270
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXToastService, decorators: [{
|
271
271
|
type: Injectable
|
272
272
|
}], ctorParameters: () => [{ type: i1.ScrollStrategyOptions }] });
|
273
273
|
|
@@ -373,10 +373,10 @@ class AXToastComponent extends MXBaseComponent {
|
|
373
373
|
closeAll() {
|
374
374
|
this.toastService.hideAll();
|
375
375
|
}
|
376
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
377
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
376
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXToastComponent, deps: [{ token: DIALOG_DATA }, { token: i1$1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
377
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXToastComponent, isStandalone: true, selector: "ax-toast", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">\n {{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n@if (config.closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config.closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config.timeOutProgress && config.timeOut) {\n <div class=\"ax-toast-progress\" [style.transition-duration]=\"transitionDuration()\" [style.width]=\"(remainingTime() * 100) / config.timeOut + '%'\"></div>\n}\n", styles: ["ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-darkest-surface)}.ax-dark ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-lightest-surface)}ax-toast.ax-primary{--ax-comp-toast-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-primary-darker-surface)}ax-toast.ax-secondary{--ax-comp-toast-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-secondary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-secondary-darker-surface)}ax-toast.ax-success{--ax-comp-toast-bg-color: var(--ax-sys-color-success-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-success-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-success-darker-surface)}ax-toast.ax-warning{--ax-comp-toast-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-warning-darker-surface)}ax-toast.ax-danger{--ax-comp-toast-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-danger-darker-surface)}ax-toast{position:relative;display:flex;width:98vw;overflow:hidden;padding:.75rem 1rem;--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);color:rgba(var(--ax-comp-toast-text-color));background-color:rgba(var(--ax-comp-toast-bg-color));font-size:var(--ax-comp-toast-font-size, .875rem);line-height:var(--ax-comp-toast-line-height, 1.25rem);border-radius:var(--ax-comp-toast-border-radius, var(--ax-sys-border-radius))}@media (min-width: 768px){ax-toast{width:24rem}}ax-toast .ax-toast-icon,ax-toast .ax-icon-close{font-size:1.25rem;max-width:fit-content;align-items:start}ax-toast .ax-toast-icon{margin-inline-end:.5rem}ax-toast .ax-toast-content{display:flex;flex:1 1 0%;flex-direction:column}ax-toast .ax-toast-content .ax-toast-title{font-weight:500;line-height:1.5rem}ax-toast .ax-toast-content .ax-toast-buttons{margin-top:.75rem;margin-bottom:.75rem;display:flex;gap:.5rem}ax-toast ax-icon-close{height:fit-content}ax-toast ax-icon-close:hover{opacity:.75}ax-toast .ax-toast-progress{width:100%;bottom:0;height:.25rem;position:absolute;inset-inline-end:0px;inset-inline-start:0px;transition-property:width;transition-timing-function:linear;transition-duration:var(--ax-sys-transition-duration);background-color:rgba(var(--ax-comp-toast-progress-bg-color, 255, 255, 255, .46))}\n"], dependencies: [{ kind: "component", type: AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["closeAll", "icon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
378
378
|
}
|
379
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXToastComponent, decorators: [{
|
380
380
|
type: Component,
|
381
381
|
args: [{ selector: 'ax-toast', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXToastComponent }], imports: [AXDecoratorCloseButtonComponent, AsyncPipe, AXTranslatorPipe], template: "<span class=\"ax-toast-icon ax-icon-solid {{ _icon }}\"></span>\n<div class=\"ax-toast-content\">\n <div class=\"ax-toast-title\" [class.ax-mb-2]=\"config.title && config.content\">\n {{ config.title | translate | async }}\n </div>\n <div class=\"ax-toast-content\" [innerHTML]=\"config.content\"></div>\n</div>\n@if (config.closeButton) {\n <ax-close-button></ax-close-button>\n} @else if (config.closeAllButton) {\n <ax-close-button [closeAll]=\"true\"></ax-close-button>\n}\n@if (config.timeOutProgress && config.timeOut) {\n <div class=\"ax-toast-progress\" [style.transition-duration]=\"transitionDuration()\" [style.width]=\"(remainingTime() * 100) / config.timeOut + '%'\"></div>\n}\n", styles: ["ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-lighter-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-lighter-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-darkest-surface)}.ax-dark ax-toast.ax-default{--ax-comp-toast-bg-color: var(--ax-sys-color-darker-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-darker-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-lightest-surface)}ax-toast.ax-primary{--ax-comp-toast-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-primary-darker-surface)}ax-toast.ax-secondary{--ax-comp-toast-bg-color: var(--ax-sys-color-secondary-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-secondary-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-secondary-darker-surface)}ax-toast.ax-success{--ax-comp-toast-bg-color: var(--ax-sys-color-success-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-success-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-success-darker-surface)}ax-toast.ax-warning{--ax-comp-toast-bg-color: var(--ax-sys-color-warning-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-warning-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-warning-darker-surface)}ax-toast.ax-danger{--ax-comp-toast-bg-color: var(--ax-sys-color-danger-surface);--ax-comp-toast-text-color: var(--ax-sys-color-on-danger-surface);--ax-comp-toast-progress-bg-color: var(--ax-sys-color-danger-darker-surface)}ax-toast{position:relative;display:flex;width:98vw;overflow:hidden;padding:.75rem 1rem;--ax-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--ax-shadow-colored: 0 4px 6px -1px var(--ax-shadow-color), 0 2px 4px -2px var(--ax-shadow-color);box-shadow:var(--ax-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--ax-shadow);color:rgba(var(--ax-comp-toast-text-color));background-color:rgba(var(--ax-comp-toast-bg-color));font-size:var(--ax-comp-toast-font-size, .875rem);line-height:var(--ax-comp-toast-line-height, 1.25rem);border-radius:var(--ax-comp-toast-border-radius, var(--ax-sys-border-radius))}@media (min-width: 768px){ax-toast{width:24rem}}ax-toast .ax-toast-icon,ax-toast .ax-icon-close{font-size:1.25rem;max-width:fit-content;align-items:start}ax-toast .ax-toast-icon{margin-inline-end:.5rem}ax-toast .ax-toast-content{display:flex;flex:1 1 0%;flex-direction:column}ax-toast .ax-toast-content .ax-toast-title{font-weight:500;line-height:1.5rem}ax-toast .ax-toast-content .ax-toast-buttons{margin-top:.75rem;margin-bottom:.75rem;display:flex;gap:.5rem}ax-toast ax-icon-close{height:fit-content}ax-toast ax-icon-close:hover{opacity:.75}ax-toast .ax-toast-progress{width:100%;bottom:0;height:.25rem;position:absolute;inset-inline-end:0px;inset-inline-start:0px;transition-property:width;transition-timing-function:linear;transition-duration:var(--ax-sys-transition-duration);background-color:rgba(var(--ax-comp-toast-progress-bg-color, 255, 255, 255, .46))}\n"] }]
|
382
382
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
@@ -390,11 +390,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
|
|
390
390
|
const COMPONENT = [AXToastComponent];
|
391
391
|
const MODULES = [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule, AXTranslationModule];
|
392
392
|
class AXToastModule {
|
393
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
394
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
395
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
393
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
394
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXToastModule, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXLoadingModule, DialogModule, AXTranslationModule, AXToastComponent], exports: [AXToastComponent] }); }
|
395
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXToastModule, providers: [AXToastService], imports: [MODULES, COMPONENT] }); }
|
396
396
|
}
|
397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXToastModule, decorators: [{
|
398
398
|
type: NgModule,
|
399
399
|
args: [{
|
400
400
|
imports: [...MODULES, ...COMPONENT],
|