@ng-nest/ui 22.0.1 → 22.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-nest-ui-auto-complete.mjs +70 -17
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +2 -2
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +4 -5
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +0 -2
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ng-nest-ui-auto-complete.d.ts +44 -6
- package/types/ng-nest-ui-checkbox.d.ts +1 -1
- package/types/ng-nest-ui-contextmenu.d.ts +1 -1
- package/types/ng-nest-ui-core.d.ts +1 -0
- package/types/ng-nest-ui-radio.d.ts +1 -1
- package/types/ng-nest-ui-slider-select.d.ts +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, output, Component, model, InjectionToken, inject, ViewContainerRef, signal, viewChild,
|
|
2
|
+
import { input, output, Component, model, InjectionToken, inject, ViewContainerRef, signal, viewChild, OutputEmitterRef, ChangeDetectionStrategy, ViewEncapsulation, computed, NgModule } from '@angular/core';
|
|
3
3
|
import { XToCssPixelValue, XToNumber, XToBoolean, XIdentity, XIsEmpty, XIsFunction, XIsChange } from '@ng-nest/ui/core';
|
|
4
4
|
import * as i1 from '@angular/forms';
|
|
5
5
|
import { UntypedFormGroup, UntypedFormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -253,9 +253,6 @@ class XControlComponent extends XControlProperty {
|
|
|
253
253
|
this.portal = signal(null, /* @ts-ignore */
|
|
254
254
|
...(ngDevMode ? [{ debugName: "portal" }] : /* istanbul ignore next */ []));
|
|
255
255
|
this.portalOutlet = viewChild.required(CdkPortalOutlet);
|
|
256
|
-
effect(() => {
|
|
257
|
-
this.formControl().patchValue(this.value());
|
|
258
|
-
});
|
|
259
256
|
}
|
|
260
257
|
ngOnInit() {
|
|
261
258
|
this.setOption();
|
|
@@ -305,9 +302,11 @@ class XControlComponent extends XControlProperty {
|
|
|
305
302
|
if (this.option().value !== undefined) {
|
|
306
303
|
this.componentRef.instance.writeValue(this.option().value);
|
|
307
304
|
this.value.set(this.option().value);
|
|
305
|
+
this.formControl().patchValue(this.option().value, { emitEvent: false });
|
|
308
306
|
}
|
|
309
307
|
this.componentRef.instance.valueObservable.subscribe((x) => {
|
|
310
308
|
this.value.set(x);
|
|
309
|
+
this.formControl().patchValue(x);
|
|
311
310
|
});
|
|
312
311
|
this.form.controlTypes[this.option().id] = this.option();
|
|
313
312
|
this.form.controlComponents[this.option().id] = this.componentRef.instance;
|
|
@@ -334,7 +333,7 @@ class XControlComponent extends XControlProperty {
|
|
|
334
333
|
this.validatorFns.update((x) => [...x, XFormInputValidator(this.option().inputValidator)]);
|
|
335
334
|
}
|
|
336
335
|
this.formControl().setValidators(this.validatorFns());
|
|
337
|
-
this.formControl().updateValueAndValidity();
|
|
336
|
+
this.formControl().updateValueAndValidity({ onlySelf: true });
|
|
338
337
|
}
|
|
339
338
|
setOption() {
|
|
340
339
|
for (let prop of this._sharedProps()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-form.mjs","sources":["../../../../lib/ng-nest/ui/form/form.property.ts","../../../../lib/ng-nest/ui/form/form.token.ts","../../../../lib/ng-nest/ui/form/control.component.ts","../../../../lib/ng-nest/ui/form/control.component.html","../../../../lib/ng-nest/ui/form/form.component.ts","../../../../lib/ng-nest/ui/form/form.component.html","../../../../lib/ng-nest/ui/form/form.module.ts","../../../../lib/ng-nest/ui/form/ng-nest-ui-form.ts"],"sourcesContent":["import { XIdentity, XBoolean, XIsEmpty, XNumber, XToCssPixelValue, XToNumber, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, model, input, output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\nimport { XInputOption, XInputComponent } from '@ng-nest/ui/input';\r\nimport { XSelectOption, XSelectComponent } from '@ng-nest/ui/select';\r\nimport { XCascadeOption, XCascadeComponent } from '@ng-nest/ui/cascade';\r\nimport { XCheckboxOption, XCheckboxComponent } from '@ng-nest/ui/checkbox';\r\nimport { XColorPickerOption, XColorPickerComponent } from '@ng-nest/ui/color-picker';\r\nimport { XDatePickerOption, XDatePickerComponent } from '@ng-nest/ui/date-picker';\r\nimport { XInputNumberOption, XInputNumberComponent } from '@ng-nest/ui/input-number';\r\nimport { XRadioOption, XRadioComponent } from '@ng-nest/ui/radio';\r\nimport { XRateOption, XRateComponent } from '@ng-nest/ui/rate';\r\nimport { XSliderSelectOption, XSliderSelectComponent } from '@ng-nest/ui/slider-select';\r\nimport { XSwitchOption, XSwitchComponent } from '@ng-nest/ui/switch';\r\nimport { XTimePickerOption, XTimePickerComponent } from '@ng-nest/ui/time-picker';\r\nimport { XTextareaOption, XTextareaComponent } from '@ng-nest/ui/textarea';\r\nimport { XFindOption, XFindComponent } from '@ng-nest/ui/find';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport { XAutoCompleteOption, XAutoCompleteComponent } from '@ng-nest/ui/auto-complete';\r\n\r\n/**\r\n * Form\r\n * @selector x-form\r\n * @decorator component\r\n */\r\nexport const XFormPrefix = 'x-form';\r\nconst X_FORM_CONFIG_NAME = 'form';\r\n\r\n/**\r\n * @zh_CN 模板\r\n * @en_US Template\r\n */\r\nexport type XFormTemplate = { [property: string]: TemplateRef<any> };\r\n/**\r\n * Form Property\r\n */\r\n@Component({ selector: `${XFormPrefix}-property`, template: '' })\r\nexport class XFormProperty extends XFormControlFunction(X_FORM_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 表单 FormGroup\r\n * @en_US Form FormGroup\r\n * @default new UntypedFormGroup({})\r\n */\r\n readonly formGroup = input<UntypedFormGroup>(new UntypedFormGroup({}));\r\n /**\r\n * @zh_CN 表单名称\r\n * @en_US Form name\r\n */\r\n readonly title = input<string>('');\r\n /**\r\n * @zh_CN 控件间距\r\n * @en_US Control spacing\r\n */\r\n readonly space = input<string, XNumber>(this.config?.space ?? '1.75rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 控件宽度,24栅格\r\n * @en_US Control width, 24 grid\r\n */\r\n readonly span = input<number | null, XNumber>(null, { transform: XToNumber });\r\n /**\r\n * @zh_CN 标签后缀\r\n * @en_US Label suffix\r\n */\r\n readonly labelSuffix = input<string>(this.config?.labelSuffix ?? '');\r\n /**\r\n * @zh_CN 表单控件\r\n * @en_US Form control\r\n */\r\n readonly controls = input<XFormControlOption[] | XFormRow[]>([]);\r\n /**\r\n * @zh_CN 表单宽度\r\n * @en_US Form width\r\n */\r\n readonly width = input<string, XNumber>(this.config?.width ?? '100%', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n readonly controlTpl = input<XFormTemplate>({});\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN Submit\r\n * @en_US Submit\r\n */\r\n readonly xSubmit = output<SubmitEvent>();\r\n}\r\n\r\n/**\r\n * @zh_CN 控件对象\r\n * @en_US Control object\r\n */\r\nexport interface XControlOption {\r\n /**\r\n * @zh_CN 列 Id\r\n * @en_US The column Id\r\n */\r\n id?: any;\r\n /**\r\n * @zh_CN 值\r\n * @en_US Value\r\n */\r\n value?: any;\r\n /**\r\n * @zh_CN 初始默认值\r\n * @en_US Default value\r\n */\r\n defaultValue?: any;\r\n /**\r\n * @zh_CN 控件类型\r\n * @en_US Control type\r\n */\r\n control?: XControlType;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 隐藏\r\n * @en_US Hide\r\n */\r\n hidden?: boolean;\r\n /**\r\n * @zh_CN 列宽\r\n * @en_US Column width\r\n */\r\n span?: number;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular validation rules\r\n */\r\n pattern?: RegExp;\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verification failed prompt text\r\n */\r\n message?: string;\r\n /**\r\n * @zh_CN 输入框的验证函数\r\n * @en_US Validation function of input box\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n /**\r\n * @zh_CN 外部改变事件\r\n * @en_US External change event\r\n */\r\n change?: () => void;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 控件对象\r\n * @en_US Control object\r\n */\r\nexport class XControl extends XIdentity implements XControlOption {\r\n /**\r\n * @zh_CN 值\r\n * @en_US Value\r\n */\r\n value?: any;\r\n /**\r\n * @zh_CN 开启这个,执行 reset 的时候初始为设置的 value,默认为 null\r\n * @en_US Enable this. When performing a reset, the initial value is the set value, which defaults to null\r\n */\r\n nonNullable?: any;\r\n /**\r\n * @zh_CN 控件类型\r\n * @en_US Control type\r\n */\r\n control?: XControlType;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 隐藏\r\n * @en_US Hide\r\n */\r\n hidden?: boolean;\r\n /**\r\n * @zh_CN 列宽\r\n * @en_US Column width\r\n */\r\n span?: number;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular validation rules\r\n */\r\n pattern?: RegExp;\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verification failed prompt text\r\n */\r\n message?: string;\r\n /**\r\n * @zh_CN 输入框的验证函数\r\n * @en_US Validation function of input box\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n /**\r\n * @zh_CN 外部改变事件\r\n * @en_US External change event\r\n */\r\n change?: () => void;\r\n /**\r\n * @zh_CN 设置验证\r\n * @en_US Set verification\r\n */\r\n setValidators?: () => void;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n\r\n constructor(option: XControlOption = {}) {\r\n super();\r\n if (XIsEmpty(this.value)) this.value = '';\r\n Object.assign(this, option);\r\n }\r\n}\r\n\r\n/**\r\n * @zh_CN 表单行对象\r\n * @en_US Form row object\r\n */\r\nexport interface XFormRow {\r\n /**\r\n * @zh_CN 行标题\r\n * @en_US Row header\r\n */\r\n title?: string;\r\n /**\r\n * @zh_CN 行图标\r\n * @en_US Row icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 行中的控件\r\n * @en_US Control in row\r\n */\r\n controls: XFormControlOption[];\r\n /**\r\n * @zh_CN 隐藏\r\n * @en_US Hidden\r\n */\r\n hidden?: XBoolean;\r\n}\r\n\r\n/**\r\n * Control\r\n * @selector x-control\r\n * @decorator component\r\n */\r\nexport const XControlPrefix = 'x-control';\r\n\r\n/**\r\n * Control Property\r\n */\r\n@Component({ selector: `${XControlPrefix}-property`, template: '' })\r\nexport class XControlProperty {\r\n /**\r\n * @zh_CN 控件对象\r\n * @en_US Control object\r\n */\r\n readonly option = model.required<XControl>({});\r\n}\r\n\r\n/**\r\n * Form control\r\n */\r\nexport class XFormControl extends UntypedFormControl {\r\n /**\r\n * @zh_CN 提示信息\r\n * @en_US Prompt information\r\n */\r\n messages?: string[] = [];\r\n}\r\n\r\n/**\r\n * @zh_CN 表单控件参数\r\n * @en_US Form control option\r\n */\r\nexport type XFormControlOption =\r\n | XInputControlOption\r\n | XSelectControlOption\r\n | XCascadeControlOption\r\n | XCheckboxControlOption\r\n | XColorPickerControlOption\r\n | XDatePickerControlOption\r\n | XInputNumberControlOption\r\n | XRadioControlOption\r\n | XRateControlOption\r\n | XSliderSelectControlOption\r\n | XSwitchControlOption\r\n | XTimePickerControlOption\r\n | XFindControlOption\r\n | XTemplateControlOption;\r\n\r\n/**\r\n * @zh_CN 表单控件组件\r\n * @en_US Form control component\r\n */\r\nexport type XFormControlComponent =\r\n | XInputComponent\r\n | XSelectComponent\r\n | XCascadeComponent\r\n | XCheckboxComponent\r\n | XColorPickerComponent\r\n | XDatePickerComponent\r\n | XInputNumberComponent\r\n | XRadioComponent\r\n | XRateComponent\r\n | XSliderSelectComponent\r\n | XSwitchComponent\r\n | XTimePickerComponent\r\n | XTextareaComponent\r\n | XFindComponent\r\n | XAutoCompleteComponent;\r\n\r\n/**\r\n * @zh_CN 表单控件类型\r\n * @en_US Form control type\r\n */\r\nexport type XFormControlType =\r\n | XInputControl\r\n | XSelectControl\r\n | XCascadeControl\r\n | XCheckboxControl\r\n | XColorPickerControl\r\n | XDatePickerControl\r\n | XInputNumberControl\r\n | XRadioControl\r\n | XRateControl\r\n | XSliderSelectControl\r\n | XSwitchControl\r\n | XTimePickerControl\r\n | XTextareaControl\r\n | XFindControl\r\n | XAutoCompleteControl;\r\n\r\n/**\r\n * @zh_CN 表单控件类型\r\n * @en_US Form control type\r\n */\r\nexport type XControlType =\r\n | 'input'\r\n | 'select'\r\n | 'cascade'\r\n | 'checkbox'\r\n | 'color-picker'\r\n | 'date-picker'\r\n | 'input-number'\r\n | 'radio'\r\n | 'rate'\r\n | 'slider-select'\r\n | 'switch'\r\n | 'time-picker'\r\n | 'textarea'\r\n | 'find'\r\n | 'auto-complete'\r\n | 'template';\r\n\r\n/**\r\n * Input Control\r\n */\r\nexport interface XInputControlOption extends XControlOption, XInputOption {}\r\nexport class XInputControl extends XControl {\r\n constructor(option: XInputControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Select Control\r\n */\r\nexport interface XSelectControlOption extends XControlOption, XSelectOption {}\r\nexport class XSelectControl extends XControl {\r\n constructor(option: XSelectControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Cascade Control\r\n */\r\nexport interface XCascadeControlOption extends XControlOption, XCascadeOption {}\r\nexport class XCascadeControl extends XControl {\r\n constructor(option: XCascadeControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Checkbox Control\r\n */\r\nexport interface XCheckboxControlOption extends XControlOption, XCheckboxOption {}\r\nexport class XCheckboxControl extends XControl {\r\n constructor(option: XCheckboxControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * ColorPicker Control\r\n */\r\nexport interface XColorPickerControlOption extends XControlOption, XColorPickerOption {}\r\nexport class XColorPickerControl extends XControl {\r\n constructor(option: XColorPickerControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * DatePicker Control\r\n */\r\nexport interface XDatePickerControlOption extends XControlOption, XDatePickerOption {}\r\nexport class XDatePickerControl extends XControl {\r\n constructor(option: XDatePickerControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * InputNumber Control\r\n */\r\nexport interface XInputNumberControlOption extends XControlOption, XInputNumberOption {}\r\nexport class XInputNumberControl extends XControl {\r\n constructor(option: XInputNumberControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Radio Control\r\n */\r\nexport interface XRadioControlOption extends XControlOption, XRadioOption {}\r\nexport class XRadioControl extends XControl {\r\n constructor(option: XRadioControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Rate Control\r\n */\r\nexport interface XRateControlOption extends XControlOption, XRateOption {}\r\nexport class XRateControl extends XControl {\r\n constructor(option: XRateControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * SliderSelect Control\r\n */\r\nexport interface XSliderSelectControlOption extends XControlOption, XSliderSelectOption {}\r\nexport class XSliderSelectControl extends XControl {\r\n constructor(option: XSliderSelectControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Switch Control\r\n */\r\nexport interface XSwitchControlOption extends XControlOption, XSwitchOption {}\r\nexport class XSwitchControl extends XControl {\r\n constructor(option: XSwitchControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * TimePicker Control\r\n */\r\nexport interface XTimePickerControlOption extends XControlOption, XTimePickerOption {}\r\nexport class XTimePickerControl extends XControl {\r\n constructor(option: XTimePickerControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Textarea Control\r\n */\r\nexport interface XTextareaControlOption extends XControlOption, XTextareaOption {}\r\nexport class XTextareaControl extends XControl {\r\n constructor(option: XTextareaControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Find Control\r\n */\r\nexport interface XFindControlOption extends XControlOption, XFindOption {}\r\nexport class XFindControl extends XControl {\r\n constructor(option: XFindControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * AutoComplete Control\r\n */\r\nexport interface XAutoCompleteControlOption extends XControlOption, XAutoCompleteOption {}\r\nexport class XAutoCompleteControl extends XControl {\r\n constructor(option: XAutoCompleteControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Template Control\r\n */\r\nexport interface XTemplateControlOption extends XControlOption, XFormOption {}\r\n","import { InjectionToken, InputSignal, InputSignalWithTransform } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { XControl, XFormControlComponent } from './form.property';\r\nimport type { XBoolean } from '@ng-nest/ui/core';\r\n\r\nexport interface XFormContext {\r\n formGroup: InputSignal<UntypedFormGroup>;\r\n controlComponents: { [property: string]: XFormControlComponent };\r\n controlTypes: { [property: string]: XControl };\r\n disabled: InputSignalWithTransform<boolean, XBoolean>;\r\n labelSuffix: InputSignal<string>;\r\n}\r\n\r\nexport const X_FORM_CONTEXT = new InjectionToken<XFormContext>('X_FORM_CONTEXT');\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n AfterViewInit,\r\n OnDestroy,\r\n inject,\r\n viewChild,\r\n signal,\r\n ViewContainerRef,\r\n ComponentRef,\r\n OutputEmitterRef,\r\n effect\r\n} from '@angular/core';\r\nimport { XControlProperty, XFormControlOption, XFormControlComponent, XFormControl } from './form.property';\r\nimport {\r\n Validators,\r\n UntypedFormControl,\r\n ValidatorFn,\r\n FormControlStatus,\r\n FormsModule,\r\n ReactiveFormsModule\r\n} from '@angular/forms';\r\nimport { XIsEmpty, XIsFunction } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { XI18nForm, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { XFormInputValidator } from '@ng-nest/ui/base-form';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { CdkPortalOutlet, ComponentPortal, Portal, PortalModule } from '@angular/cdk/portal';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XAutoCompleteComponent } from '@ng-nest/ui/auto-complete';\r\nimport { XCascadeComponent } from '@ng-nest/ui/cascade';\r\nimport { XCheckboxComponent } from '@ng-nest/ui/checkbox';\r\nimport { XColorPickerComponent } from '@ng-nest/ui/color-picker';\r\nimport { XDatePickerComponent } from '@ng-nest/ui/date-picker';\r\nimport { XFindComponent } from '@ng-nest/ui/find';\r\nimport { XInputNumberComponent } from '@ng-nest/ui/input-number';\r\nimport { XRadioComponent } from '@ng-nest/ui/radio';\r\nimport { XRateComponent } from '@ng-nest/ui/rate';\r\nimport { XSelectComponent } from '@ng-nest/ui/select';\r\nimport { XSliderSelectComponent } from '@ng-nest/ui/slider-select';\r\nimport { XSwitchComponent } from '@ng-nest/ui/switch';\r\nimport { XTextareaComponent } from '@ng-nest/ui/textarea';\r\nimport { XTimePickerComponent } from '@ng-nest/ui/time-picker';\r\nimport { X_FORM_CONTEXT } from './form.token';\r\n\r\n@Component({\r\n selector: 'x-control',\r\n imports: [FormsModule, ReactiveFormsModule, PortalModule],\r\n templateUrl: './control.component.html',\r\n styleUrls: ['./control.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XControlComponent extends XControlProperty implements OnInit, AfterViewInit, OnDestroy {\r\n private i18n = inject(XI18nService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private _sharedProps = signal(['span', 'direction', 'justify', 'align', 'labelWidth', 'labelAlign']);\r\n private validatorFns = signal<ValidatorFn[]>([]);\r\n private formControl = signal<UntypedFormControl | null>(null);\r\n private _unSubject = new Subject<void>();\r\n value = signal<any>(null);\r\n\r\n form = inject(X_FORM_CONTEXT, { optional: true })!;\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.form as XI18nForm)), { initialValue: zh_CN.form });\r\n portal = signal<Portal<any> | null>(null);\r\n componentPortal!: ComponentPortal<XFormControlComponent>;\r\n componentRef!: ComponentRef<XFormControlComponent>;\r\n portalOutlet = viewChild.required(CdkPortalOutlet);\r\n\r\n constructor() {\r\n super();\r\n\r\n effect(() => {\r\n this.formControl()!.patchValue(this.value());\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.setOption();\r\n\r\n this.formControl.set(\r\n new UntypedFormControl(this.option().value, {\r\n nonNullable: this.option().nonNullable\r\n })\r\n );\r\n this.setValidators();\r\n this.formControl()!\r\n .statusChanges.pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this.setMessages(x);\r\n });\r\n this.formControl()!\r\n .valueChanges.pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this.componentRef?.instance?.writeValue(x);\r\n });\r\n this.option().setValidators = () => this.setValidators();\r\n this.form.formGroup().addControl(this.option().id, this.formControl());\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.componentPortal = this.createComponentPortal(this.option());\r\n this.componentRef = this.portalOutlet().attachComponentPortal(this.componentPortal);\r\n\r\n for (let key in this.option()) {\r\n if (key in this.componentRef.instance) {\r\n const val = (this.componentRef.instance as any)[key];\r\n if (XIsFunction(val)) {\r\n const valSymbols = Object.getOwnPropertySymbols(val);\r\n if (valSymbols.length !== 1) break;\r\n const valSymbol = val[valSymbols[0]];\r\n if (valSymbol.hasOwnProperty('transformFn')) {\r\n // input\r\n this.componentRef.setInput(key, this.option()[key]);\r\n } else {\r\n // signal\r\n val.set(this.option()[key]);\r\n }\r\n } else if (val instanceof OutputEmitterRef) {\r\n // output\r\n val.subscribe((x) => this.option()[key](x));\r\n }\r\n }\r\n }\r\n\r\n if (this.option().value !== undefined) {\r\n this.componentRef.instance.writeValue(this.option().value);\r\n this.value.set(this.option().value);\r\n }\r\n\r\n this.componentRef.instance.valueObservable.subscribe((x) => {\r\n this.value.set(x);\r\n });\r\n\r\n this.form.controlTypes[this.option().id] = this.option();\r\n this.form.controlComponents[this.option().id] = this.componentRef.instance;\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setValidators() {\r\n this.validatorFns.set([]);\r\n if (this.option().disabled || this.form.disabled()) {\r\n this.formControl()!.disable();\r\n } else {\r\n this.formControl()!.enable();\r\n }\r\n if (this.option().required && !this.form.disabled()) {\r\n this.validatorFns.update((x) => [...x, Validators.required]);\r\n }\r\n if (this.option().pattern) {\r\n this.setPattern();\r\n }\r\n if (XIsFunction(this.option().inputValidator)) {\r\n this.validatorFns.update((x) => [...x, XFormInputValidator(this.option().inputValidator!)]);\r\n }\r\n this.formControl()!.setValidators(this.validatorFns());\r\n this.formControl()!.updateValueAndValidity();\r\n }\r\n\r\n setOption() {\r\n for (let prop of this._sharedProps()) {\r\n if (XIsEmpty(this.option()[prop])) {\r\n this.option.update((x) => {\r\n x[prop] = (this.form as any)[prop]();\r\n return x;\r\n });\r\n }\r\n }\r\n if (XIsEmpty(this.option().label)) {\r\n this.option.update((x) => {\r\n x.label = '';\r\n return x;\r\n });\r\n }\r\n this.option.update((x) => {\r\n x.label = `${this.option().label}${this.form.labelSuffix()}`;\r\n return x;\r\n });\r\n }\r\n\r\n setPattern() {\r\n const pattern = this.option().pattern;\r\n if (pattern) {\r\n this.validatorFns.update((x) => [...x, Validators.pattern(pattern as RegExp)]);\r\n }\r\n return;\r\n }\r\n\r\n getPatternMsg(_pattern: string) {\r\n const controlPattern = this.option().pattern;\r\n if (controlPattern) {\r\n return this.option().message;\r\n }\r\n return '';\r\n }\r\n\r\n setMessages(state: FormControlStatus) {\r\n let control = this.formControl()! as XFormControl;\r\n if (state === 'INVALID' && this.formControl()!.errors !== null) {\r\n let messages: string[] = [];\r\n for (const key in control.errors) {\r\n const label = this.option().label || this.option().id;\r\n if (key === 'required') {\r\n messages = [...messages, `${label} ${this.locale()?.required || 'required'}`];\r\n } else if (key === 'pattern') {\r\n messages = [...messages, `${label} ${this.getPatternMsg(control.errors[key].requiredPattern)}`];\r\n } else if (key === 'inputValidator') {\r\n messages = [...messages, `${label} ${this.option().message}`];\r\n }\r\n }\r\n control.messages = messages;\r\n } else if (state === 'VALID') {\r\n control.messages = [];\r\n }\r\n }\r\n\r\n createComponentPortal(option: XFormControlOption) {\r\n switch (option.control) {\r\n case 'input':\r\n return new ComponentPortal(XInputComponent, this.viewContainerRef);\r\n case 'select':\r\n return new ComponentPortal(XSelectComponent, this.viewContainerRef);\r\n case 'checkbox':\r\n return new ComponentPortal(XCheckboxComponent, this.viewContainerRef);\r\n case 'radio':\r\n return new ComponentPortal(XRadioComponent, this.viewContainerRef);\r\n case 'switch':\r\n return new ComponentPortal(XSwitchComponent, this.viewContainerRef);\r\n case 'rate':\r\n return new ComponentPortal(XRateComponent, this.viewContainerRef);\r\n case 'date-picker':\r\n return new ComponentPortal(XDatePickerComponent, this.viewContainerRef);\r\n case 'time-picker':\r\n return new ComponentPortal(XTimePickerComponent, this.viewContainerRef);\r\n case 'input-number':\r\n return new ComponentPortal(XInputNumberComponent, this.viewContainerRef);\r\n case 'slider-select':\r\n return new ComponentPortal(XSliderSelectComponent, this.viewContainerRef);\r\n case 'cascade':\r\n return new ComponentPortal(XCascadeComponent, this.viewContainerRef);\r\n case 'color-picker':\r\n return new ComponentPortal(XColorPickerComponent, this.viewContainerRef);\r\n case 'textarea':\r\n return new ComponentPortal(XTextareaComponent, this.viewContainerRef);\r\n case 'find':\r\n return new ComponentPortal(XFindComponent, this.viewContainerRef);\r\n case 'auto-complete':\r\n return new ComponentPortal(XAutoCompleteComponent, this.viewContainerRef);\r\n default:\r\n return new ComponentPortal(XInputComponent, this.viewContainerRef);\r\n }\r\n }\r\n}\r\n","<div class=\"x-control\" [formGroup]=\"form.formGroup()\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n AfterViewInit,\r\n computed\r\n} from '@angular/core';\r\nimport {\r\n XFormProperty,\r\n XFormRow,\r\n XFormPrefix,\r\n XFormControlOption,\r\n XFormControl,\r\n XFormControlComponent,\r\n XControl\r\n} from './form.property';\r\nimport { XIsChange } from '@ng-nest/ui/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XColComponent, XRowComponent } from '@ng-nest/ui/layout';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XControlComponent } from './control.component';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { X_FORM_CONTEXT, XFormContext } from './form.token';\r\n\r\n@Component({\r\n selector: `${XFormPrefix}`,\r\n imports: [\r\n NgClass,\r\n NgTemplateOutlet,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XRowComponent,\r\n XColComponent,\r\n XOutletDirective,\r\n XIconComponent,\r\n XControlComponent\r\n ],\r\n templateUrl: './form.component.html',\r\n styleUrls: ['./form.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: X_FORM_CONTEXT,\r\n useExisting: XFormComponent\r\n }\r\n ]\r\n})\r\nexport class XFormComponent extends XFormProperty implements OnChanges, AfterViewInit, XFormContext {\r\n controlsType = computed(() => {\r\n const controls = this.controls();\r\n return controls && controls.length > 0 && (controls[0] as XFormRow).controls ? 'rows' : 'controls';\r\n });\r\n controlComponents: { [property: string]: XFormControlComponent } = {};\r\n controlTypes: { [property: string]: XControl } = {};\r\n formId = Number(Math.random().toString().substring(2, 6) + Date.now()).toString(36);\r\n classMap = computed(() => ({\r\n [`${XFormPrefix}-${this.controlsType()}`]: true\r\n }));\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { disabled } = changes;\r\n XIsChange(disabled) && this.setDisabled();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setDisabled();\r\n }\r\n\r\n setDisabled() {\r\n if (Object.keys(this.controlComponents).length === 0) return;\r\n if (this.disabled()) {\r\n for (let key in this.controlComponents) {\r\n let [control, type] = [this.controlComponents[key], this.controlTypes[key]];\r\n control.disabledSignal.set(true);\r\n control.requiredSignal.set(false);\r\n control.patternSignal.set(null);\r\n type.setValidators && type.setValidators();\r\n }\r\n } else {\r\n for (let key in this.controlComponents) {\r\n let [control, type] = [this.controlComponents[key], this.controlTypes[key]];\r\n control.disabledSignal.set(type.disabled!);\r\n control.requiredSignal.set(type.required!);\r\n control.patternSignal.set(type.pattern as RegExp);\r\n type.setValidators && type.setValidators();\r\n }\r\n }\r\n this.formGroup().updateValueAndValidity();\r\n }\r\n\r\n setValidator() {\r\n for (let key in this.controlComponents) {\r\n let [control, type] = [this.controlComponents[key], this.controlTypes[key]];\r\n control.formControlValidator();\r\n type.setValidators && type.setValidators();\r\n control.cdr.detectChanges();\r\n }\r\n }\r\n\r\n resetValidator() {\r\n for (let key in this.controlComponents) {\r\n let [control] = [this.controlComponents[key]];\r\n control.validatorSignal.set(false);\r\n control.cdr.detectChanges();\r\n }\r\n }\r\n\r\n getValidatorMessages(): string[] {\r\n let result: string[] = [];\r\n if (this.formGroup().valid) return result;\r\n else {\r\n const eachControls = (array: XFormControlOption[]) => {\r\n for (const ctr of array) {\r\n const formCtr = this.formGroup().controls[ctr.id] as XFormControl;\r\n if (formCtr && formCtr.invalid) {\r\n result = [...result, ...(formCtr.messages as string[])];\r\n }\r\n }\r\n };\r\n if (this.controlsType() === 'rows') {\r\n for (const row of this.controls() as XFormRow[]) {\r\n eachControls(row.controls);\r\n }\r\n } else {\r\n eachControls(this.controls() as XFormControlOption[]);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n onSubmit(event: SubmitEvent) {\r\n this.setValidator();\r\n this.xSubmit.emit(event);\r\n }\r\n}\r\n","<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup()\"\r\n [style.width]=\"width()\"\r\n [style.padding-bottom]=\"controlsType() === 'controls' ? this.space() : '0px'\"\r\n [ngClass]=\"classMap()\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n @if (title()) {\r\n <div class=\"x-form-title\">{{ title() }}</div>\r\n }\r\n @switch (controlsType()) {\r\n @case ('controls') {\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls() }\"> </ng-container>\r\n }\r\n @case ('rows') {\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls() }\"></ng-container>\r\n }\r\n }\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n @for (row of rows; track row) {\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space()\">\r\n @for (control of controls; track control) {\r\n <x-col [style.padding-top]=\"space()\" [span]=\"!control.span ? span() : control.span\" [hidden]=\"control.hidden\">\r\n <ng-container *xOutlet=\"controlTpl()[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n }\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n @if (row.icon) {\r\n <x-icon [type]=\"row.icon\"></x-icon>\r\n }\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XFormComponent } from './form.component';\r\nimport { XControlComponent } from './control.component';\r\n\r\n@NgModule({\r\n exports: [XFormComponent, XControlComponent],\r\n imports: [XFormComponent, XControlComponent]\r\n})\r\nexport class XFormModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-form.mjs","sources":["../../../../lib/ng-nest/ui/form/form.property.ts","../../../../lib/ng-nest/ui/form/form.token.ts","../../../../lib/ng-nest/ui/form/control.component.ts","../../../../lib/ng-nest/ui/form/control.component.html","../../../../lib/ng-nest/ui/form/form.component.ts","../../../../lib/ng-nest/ui/form/form.component.html","../../../../lib/ng-nest/ui/form/form.module.ts","../../../../lib/ng-nest/ui/form/ng-nest-ui-form.ts"],"sourcesContent":["import { XIdentity, XBoolean, XIsEmpty, XNumber, XToCssPixelValue, XToNumber, XToBoolean } from '@ng-nest/ui/core';\r\nimport { Component, TemplateRef, model, input, output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup } from '@angular/forms';\r\nimport { XInputOption, XInputComponent } from '@ng-nest/ui/input';\r\nimport { XSelectOption, XSelectComponent } from '@ng-nest/ui/select';\r\nimport { XCascadeOption, XCascadeComponent } from '@ng-nest/ui/cascade';\r\nimport { XCheckboxOption, XCheckboxComponent } from '@ng-nest/ui/checkbox';\r\nimport { XColorPickerOption, XColorPickerComponent } from '@ng-nest/ui/color-picker';\r\nimport { XDatePickerOption, XDatePickerComponent } from '@ng-nest/ui/date-picker';\r\nimport { XInputNumberOption, XInputNumberComponent } from '@ng-nest/ui/input-number';\r\nimport { XRadioOption, XRadioComponent } from '@ng-nest/ui/radio';\r\nimport { XRateOption, XRateComponent } from '@ng-nest/ui/rate';\r\nimport { XSliderSelectOption, XSliderSelectComponent } from '@ng-nest/ui/slider-select';\r\nimport { XSwitchOption, XSwitchComponent } from '@ng-nest/ui/switch';\r\nimport { XTimePickerOption, XTimePickerComponent } from '@ng-nest/ui/time-picker';\r\nimport { XTextareaOption, XTextareaComponent } from '@ng-nest/ui/textarea';\r\nimport { XFindOption, XFindComponent } from '@ng-nest/ui/find';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport { XAutoCompleteOption, XAutoCompleteComponent } from '@ng-nest/ui/auto-complete';\r\n\r\n/**\r\n * Form\r\n * @selector x-form\r\n * @decorator component\r\n */\r\nexport const XFormPrefix = 'x-form';\r\nconst X_FORM_CONFIG_NAME = 'form';\r\n\r\n/**\r\n * @zh_CN 模板\r\n * @en_US Template\r\n */\r\nexport type XFormTemplate = { [property: string]: TemplateRef<any> };\r\n/**\r\n * Form Property\r\n */\r\n@Component({ selector: `${XFormPrefix}-property`, template: '' })\r\nexport class XFormProperty extends XFormControlFunction(X_FORM_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 表单 FormGroup\r\n * @en_US Form FormGroup\r\n * @default new UntypedFormGroup({})\r\n */\r\n readonly formGroup = input<UntypedFormGroup>(new UntypedFormGroup({}));\r\n /**\r\n * @zh_CN 表单名称\r\n * @en_US Form name\r\n */\r\n readonly title = input<string>('');\r\n /**\r\n * @zh_CN 控件间距\r\n * @en_US Control spacing\r\n */\r\n readonly space = input<string, XNumber>(this.config?.space ?? '1.75rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 控件宽度,24栅格\r\n * @en_US Control width, 24 grid\r\n */\r\n readonly span = input<number | null, XNumber>(null, { transform: XToNumber });\r\n /**\r\n * @zh_CN 标签后缀\r\n * @en_US Label suffix\r\n */\r\n readonly labelSuffix = input<string>(this.config?.labelSuffix ?? '');\r\n /**\r\n * @zh_CN 表单控件\r\n * @en_US Form control\r\n */\r\n readonly controls = input<XFormControlOption[] | XFormRow[]>([]);\r\n /**\r\n * @zh_CN 表单宽度\r\n * @en_US Form width\r\n */\r\n readonly width = input<string, XNumber>(this.config?.width ?? '100%', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 自定义模板\r\n * @en_US Custom template\r\n */\r\n readonly controlTpl = input<XFormTemplate>({});\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN Submit\r\n * @en_US Submit\r\n */\r\n readonly xSubmit = output<SubmitEvent>();\r\n}\r\n\r\n/**\r\n * @zh_CN 控件对象\r\n * @en_US Control object\r\n */\r\nexport interface XControlOption {\r\n /**\r\n * @zh_CN 列 Id\r\n * @en_US The column Id\r\n */\r\n id?: any;\r\n /**\r\n * @zh_CN 值\r\n * @en_US Value\r\n */\r\n value?: any;\r\n /**\r\n * @zh_CN 初始默认值\r\n * @en_US Default value\r\n */\r\n defaultValue?: any;\r\n /**\r\n * @zh_CN 控件类型\r\n * @en_US Control type\r\n */\r\n control?: XControlType;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 隐藏\r\n * @en_US Hide\r\n */\r\n hidden?: boolean;\r\n /**\r\n * @zh_CN 列宽\r\n * @en_US Column width\r\n */\r\n span?: number;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular validation rules\r\n */\r\n pattern?: RegExp;\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verification failed prompt text\r\n */\r\n message?: string;\r\n /**\r\n * @zh_CN 输入框的验证函数\r\n * @en_US Validation function of input box\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n /**\r\n * @zh_CN 外部改变事件\r\n * @en_US External change event\r\n */\r\n change?: () => void;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 控件对象\r\n * @en_US Control object\r\n */\r\nexport class XControl extends XIdentity implements XControlOption {\r\n /**\r\n * @zh_CN 值\r\n * @en_US Value\r\n */\r\n value?: any;\r\n /**\r\n * @zh_CN 开启这个,执行 reset 的时候初始为设置的 value,默认为 null\r\n * @en_US Enable this. When performing a reset, the initial value is the set value, which defaults to null\r\n */\r\n nonNullable?: any;\r\n /**\r\n * @zh_CN 控件类型\r\n * @en_US Control type\r\n */\r\n control?: XControlType;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 隐藏\r\n * @en_US Hide\r\n */\r\n hidden?: boolean;\r\n /**\r\n * @zh_CN 列宽\r\n * @en_US Column width\r\n */\r\n span?: number;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular validation rules\r\n */\r\n pattern?: RegExp;\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verification failed prompt text\r\n */\r\n message?: string;\r\n /**\r\n * @zh_CN 输入框的验证函数\r\n * @en_US Validation function of input box\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n /**\r\n * @zh_CN 外部改变事件\r\n * @en_US External change event\r\n */\r\n change?: () => void;\r\n /**\r\n * @zh_CN 设置验证\r\n * @en_US Set verification\r\n */\r\n setValidators?: () => void;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom attributes\r\n */\r\n [property: string]: any;\r\n\r\n constructor(option: XControlOption = {}) {\r\n super();\r\n if (XIsEmpty(this.value)) this.value = '';\r\n Object.assign(this, option);\r\n }\r\n}\r\n\r\n/**\r\n * @zh_CN 表单行对象\r\n * @en_US Form row object\r\n */\r\nexport interface XFormRow {\r\n /**\r\n * @zh_CN 行标题\r\n * @en_US Row header\r\n */\r\n title?: string;\r\n /**\r\n * @zh_CN 行图标\r\n * @en_US Row icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 行中的控件\r\n * @en_US Control in row\r\n */\r\n controls: XFormControlOption[];\r\n /**\r\n * @zh_CN 隐藏\r\n * @en_US Hidden\r\n */\r\n hidden?: XBoolean;\r\n}\r\n\r\n/**\r\n * Control\r\n * @selector x-control\r\n * @decorator component\r\n */\r\nexport const XControlPrefix = 'x-control';\r\n\r\n/**\r\n * Control Property\r\n */\r\n@Component({ selector: `${XControlPrefix}-property`, template: '' })\r\nexport class XControlProperty {\r\n /**\r\n * @zh_CN 控件对象\r\n * @en_US Control object\r\n */\r\n readonly option = model.required<XControl>({});\r\n}\r\n\r\n/**\r\n * Form control\r\n */\r\nexport class XFormControl extends UntypedFormControl {\r\n /**\r\n * @zh_CN 提示信息\r\n * @en_US Prompt information\r\n */\r\n messages?: string[] = [];\r\n}\r\n\r\n/**\r\n * @zh_CN 表单控件参数\r\n * @en_US Form control option\r\n */\r\nexport type XFormControlOption =\r\n | XInputControlOption\r\n | XSelectControlOption\r\n | XCascadeControlOption\r\n | XCheckboxControlOption\r\n | XColorPickerControlOption\r\n | XDatePickerControlOption\r\n | XInputNumberControlOption\r\n | XRadioControlOption\r\n | XRateControlOption\r\n | XSliderSelectControlOption\r\n | XSwitchControlOption\r\n | XTimePickerControlOption\r\n | XFindControlOption\r\n | XTemplateControlOption;\r\n\r\n/**\r\n * @zh_CN 表单控件组件\r\n * @en_US Form control component\r\n */\r\nexport type XFormControlComponent =\r\n | XInputComponent\r\n | XSelectComponent\r\n | XCascadeComponent\r\n | XCheckboxComponent\r\n | XColorPickerComponent\r\n | XDatePickerComponent\r\n | XInputNumberComponent\r\n | XRadioComponent\r\n | XRateComponent\r\n | XSliderSelectComponent\r\n | XSwitchComponent\r\n | XTimePickerComponent\r\n | XTextareaComponent\r\n | XFindComponent\r\n | XAutoCompleteComponent;\r\n\r\n/**\r\n * @zh_CN 表单控件类型\r\n * @en_US Form control type\r\n */\r\nexport type XFormControlType =\r\n | XInputControl\r\n | XSelectControl\r\n | XCascadeControl\r\n | XCheckboxControl\r\n | XColorPickerControl\r\n | XDatePickerControl\r\n | XInputNumberControl\r\n | XRadioControl\r\n | XRateControl\r\n | XSliderSelectControl\r\n | XSwitchControl\r\n | XTimePickerControl\r\n | XTextareaControl\r\n | XFindControl\r\n | XAutoCompleteControl;\r\n\r\n/**\r\n * @zh_CN 表单控件类型\r\n * @en_US Form control type\r\n */\r\nexport type XControlType =\r\n | 'input'\r\n | 'select'\r\n | 'cascade'\r\n | 'checkbox'\r\n | 'color-picker'\r\n | 'date-picker'\r\n | 'input-number'\r\n | 'radio'\r\n | 'rate'\r\n | 'slider-select'\r\n | 'switch'\r\n | 'time-picker'\r\n | 'textarea'\r\n | 'find'\r\n | 'auto-complete'\r\n | 'template';\r\n\r\n/**\r\n * Input Control\r\n */\r\nexport interface XInputControlOption extends XControlOption, XInputOption {}\r\nexport class XInputControl extends XControl {\r\n constructor(option: XInputControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Select Control\r\n */\r\nexport interface XSelectControlOption extends XControlOption, XSelectOption {}\r\nexport class XSelectControl extends XControl {\r\n constructor(option: XSelectControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Cascade Control\r\n */\r\nexport interface XCascadeControlOption extends XControlOption, XCascadeOption {}\r\nexport class XCascadeControl extends XControl {\r\n constructor(option: XCascadeControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Checkbox Control\r\n */\r\nexport interface XCheckboxControlOption extends XControlOption, XCheckboxOption {}\r\nexport class XCheckboxControl extends XControl {\r\n constructor(option: XCheckboxControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * ColorPicker Control\r\n */\r\nexport interface XColorPickerControlOption extends XControlOption, XColorPickerOption {}\r\nexport class XColorPickerControl extends XControl {\r\n constructor(option: XColorPickerControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * DatePicker Control\r\n */\r\nexport interface XDatePickerControlOption extends XControlOption, XDatePickerOption {}\r\nexport class XDatePickerControl extends XControl {\r\n constructor(option: XDatePickerControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * InputNumber Control\r\n */\r\nexport interface XInputNumberControlOption extends XControlOption, XInputNumberOption {}\r\nexport class XInputNumberControl extends XControl {\r\n constructor(option: XInputNumberControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Radio Control\r\n */\r\nexport interface XRadioControlOption extends XControlOption, XRadioOption {}\r\nexport class XRadioControl extends XControl {\r\n constructor(option: XRadioControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Rate Control\r\n */\r\nexport interface XRateControlOption extends XControlOption, XRateOption {}\r\nexport class XRateControl extends XControl {\r\n constructor(option: XRateControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * SliderSelect Control\r\n */\r\nexport interface XSliderSelectControlOption extends XControlOption, XSliderSelectOption {}\r\nexport class XSliderSelectControl extends XControl {\r\n constructor(option: XSliderSelectControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Switch Control\r\n */\r\nexport interface XSwitchControlOption extends XControlOption, XSwitchOption {}\r\nexport class XSwitchControl extends XControl {\r\n constructor(option: XSwitchControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * TimePicker Control\r\n */\r\nexport interface XTimePickerControlOption extends XControlOption, XTimePickerOption {}\r\nexport class XTimePickerControl extends XControl {\r\n constructor(option: XTimePickerControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Textarea Control\r\n */\r\nexport interface XTextareaControlOption extends XControlOption, XTextareaOption {}\r\nexport class XTextareaControl extends XControl {\r\n constructor(option: XTextareaControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Find Control\r\n */\r\nexport interface XFindControlOption extends XControlOption, XFindOption {}\r\nexport class XFindControl extends XControl {\r\n constructor(option: XFindControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * AutoComplete Control\r\n */\r\nexport interface XAutoCompleteControlOption extends XControlOption, XAutoCompleteOption {}\r\nexport class XAutoCompleteControl extends XControl {\r\n constructor(option: XAutoCompleteControlOption = {}) {\r\n super(option);\r\n }\r\n}\r\n\r\n/**\r\n * Template Control\r\n */\r\nexport interface XTemplateControlOption extends XControlOption, XFormOption {}\r\n","import { InjectionToken, InputSignal, InputSignalWithTransform } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { XControl, XFormControlComponent } from './form.property';\r\nimport type { XBoolean } from '@ng-nest/ui/core';\r\n\r\nexport interface XFormContext {\r\n formGroup: InputSignal<UntypedFormGroup>;\r\n controlComponents: { [property: string]: XFormControlComponent };\r\n controlTypes: { [property: string]: XControl };\r\n disabled: InputSignalWithTransform<boolean, XBoolean>;\r\n labelSuffix: InputSignal<string>;\r\n}\r\n\r\nexport const X_FORM_CONTEXT = new InjectionToken<XFormContext>('X_FORM_CONTEXT');\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n AfterViewInit,\r\n OnDestroy,\r\n inject,\r\n viewChild,\r\n signal,\r\n ViewContainerRef,\r\n ComponentRef,\r\n OutputEmitterRef\r\n} from '@angular/core';\r\nimport { XControlProperty, XFormControlOption, XFormControlComponent, XFormControl } from './form.property';\r\nimport {\r\n Validators,\r\n UntypedFormControl,\r\n ValidatorFn,\r\n FormControlStatus,\r\n FormsModule,\r\n ReactiveFormsModule\r\n} from '@angular/forms';\r\nimport { XIsEmpty, XIsFunction } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\nimport { XI18nForm, XI18nService, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { XFormInputValidator } from '@ng-nest/ui/base-form';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { CdkPortalOutlet, ComponentPortal, Portal, PortalModule } from '@angular/cdk/portal';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XAutoCompleteComponent } from '@ng-nest/ui/auto-complete';\r\nimport { XCascadeComponent } from '@ng-nest/ui/cascade';\r\nimport { XCheckboxComponent } from '@ng-nest/ui/checkbox';\r\nimport { XColorPickerComponent } from '@ng-nest/ui/color-picker';\r\nimport { XDatePickerComponent } from '@ng-nest/ui/date-picker';\r\nimport { XFindComponent } from '@ng-nest/ui/find';\r\nimport { XInputNumberComponent } from '@ng-nest/ui/input-number';\r\nimport { XRadioComponent } from '@ng-nest/ui/radio';\r\nimport { XRateComponent } from '@ng-nest/ui/rate';\r\nimport { XSelectComponent } from '@ng-nest/ui/select';\r\nimport { XSliderSelectComponent } from '@ng-nest/ui/slider-select';\r\nimport { XSwitchComponent } from '@ng-nest/ui/switch';\r\nimport { XTextareaComponent } from '@ng-nest/ui/textarea';\r\nimport { XTimePickerComponent } from '@ng-nest/ui/time-picker';\r\nimport { X_FORM_CONTEXT } from './form.token';\r\n\r\n@Component({\r\n selector: 'x-control',\r\n imports: [FormsModule, ReactiveFormsModule, PortalModule],\r\n templateUrl: './control.component.html',\r\n styleUrls: ['./control.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XControlComponent extends XControlProperty implements OnInit, AfterViewInit, OnDestroy {\r\n private i18n = inject(XI18nService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private _sharedProps = signal(['span', 'direction', 'justify', 'align', 'labelWidth', 'labelAlign']);\r\n private validatorFns = signal<ValidatorFn[]>([]);\r\n private formControl = signal<UntypedFormControl | null>(null);\r\n private _unSubject = new Subject<void>();\r\n value = signal<any>(null);\r\n\r\n form = inject(X_FORM_CONTEXT, { optional: true })!;\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.form as XI18nForm)), { initialValue: zh_CN.form });\r\n portal = signal<Portal<any> | null>(null);\r\n componentPortal!: ComponentPortal<XFormControlComponent>;\r\n componentRef!: ComponentRef<XFormControlComponent>;\r\n portalOutlet = viewChild.required(CdkPortalOutlet);\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setOption();\r\n\r\n this.formControl.set(\r\n new UntypedFormControl(this.option().value, {\r\n nonNullable: this.option().nonNullable\r\n })\r\n );\r\n this.setValidators();\r\n this.formControl()!\r\n .statusChanges.pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this.setMessages(x);\r\n });\r\n this.formControl()!\r\n .valueChanges.pipe(takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this.componentRef?.instance?.writeValue(x);\r\n });\r\n this.option().setValidators = () => this.setValidators();\r\n this.form.formGroup().addControl(this.option().id, this.formControl());\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.componentPortal = this.createComponentPortal(this.option());\r\n this.componentRef = this.portalOutlet().attachComponentPortal(this.componentPortal);\r\n\r\n for (let key in this.option()) {\r\n if (key in this.componentRef.instance) {\r\n const val = (this.componentRef.instance as any)[key];\r\n if (XIsFunction(val)) {\r\n const valSymbols = Object.getOwnPropertySymbols(val);\r\n if (valSymbols.length !== 1) break;\r\n const valSymbol = val[valSymbols[0]];\r\n if (valSymbol.hasOwnProperty('transformFn')) {\r\n // input\r\n this.componentRef.setInput(key, this.option()[key]);\r\n } else {\r\n // signal\r\n val.set(this.option()[key]);\r\n }\r\n } else if (val instanceof OutputEmitterRef) {\r\n // output\r\n val.subscribe((x) => this.option()[key](x));\r\n }\r\n }\r\n }\r\n\r\n if (this.option().value !== undefined) {\r\n this.componentRef.instance.writeValue(this.option().value);\r\n this.value.set(this.option().value);\r\n this.formControl()!.patchValue(this.option().value, { emitEvent: false });\r\n }\r\n\r\n this.componentRef.instance.valueObservable.subscribe((x) => {\r\n this.value.set(x);\r\n this.formControl()!.patchValue(x);\r\n });\r\n\r\n this.form.controlTypes[this.option().id] = this.option();\r\n this.form.controlComponents[this.option().id] = this.componentRef.instance;\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setValidators() {\r\n this.validatorFns.set([]);\r\n if (this.option().disabled || this.form.disabled()) {\r\n this.formControl()!.disable();\r\n } else {\r\n this.formControl()!.enable();\r\n }\r\n if (this.option().required && !this.form.disabled()) {\r\n this.validatorFns.update((x) => [...x, Validators.required]);\r\n }\r\n if (this.option().pattern) {\r\n this.setPattern();\r\n }\r\n if (XIsFunction(this.option().inputValidator)) {\r\n this.validatorFns.update((x) => [...x, XFormInputValidator(this.option().inputValidator!)]);\r\n }\r\n this.formControl()!.setValidators(this.validatorFns());\r\n this.formControl()!.updateValueAndValidity({ onlySelf: true });\r\n }\r\n\r\n setOption() {\r\n for (let prop of this._sharedProps()) {\r\n if (XIsEmpty(this.option()[prop])) {\r\n this.option.update((x) => {\r\n x[prop] = (this.form as any)[prop]();\r\n return x;\r\n });\r\n }\r\n }\r\n if (XIsEmpty(this.option().label)) {\r\n this.option.update((x) => {\r\n x.label = '';\r\n return x;\r\n });\r\n }\r\n this.option.update((x) => {\r\n x.label = `${this.option().label}${this.form.labelSuffix()}`;\r\n return x;\r\n });\r\n }\r\n\r\n setPattern() {\r\n const pattern = this.option().pattern;\r\n if (pattern) {\r\n this.validatorFns.update((x) => [...x, Validators.pattern(pattern as RegExp)]);\r\n }\r\n return;\r\n }\r\n\r\n getPatternMsg(_pattern: string) {\r\n const controlPattern = this.option().pattern;\r\n if (controlPattern) {\r\n return this.option().message;\r\n }\r\n return '';\r\n }\r\n\r\n setMessages(state: FormControlStatus) {\r\n let control = this.formControl()! as XFormControl;\r\n if (state === 'INVALID' && this.formControl()!.errors !== null) {\r\n let messages: string[] = [];\r\n for (const key in control.errors) {\r\n const label = this.option().label || this.option().id;\r\n if (key === 'required') {\r\n messages = [...messages, `${label} ${this.locale()?.required || 'required'}`];\r\n } else if (key === 'pattern') {\r\n messages = [...messages, `${label} ${this.getPatternMsg(control.errors[key].requiredPattern)}`];\r\n } else if (key === 'inputValidator') {\r\n messages = [...messages, `${label} ${this.option().message}`];\r\n }\r\n }\r\n control.messages = messages;\r\n } else if (state === 'VALID') {\r\n control.messages = [];\r\n }\r\n }\r\n\r\n createComponentPortal(option: XFormControlOption) {\r\n switch (option.control) {\r\n case 'input':\r\n return new ComponentPortal(XInputComponent, this.viewContainerRef);\r\n case 'select':\r\n return new ComponentPortal(XSelectComponent, this.viewContainerRef);\r\n case 'checkbox':\r\n return new ComponentPortal(XCheckboxComponent, this.viewContainerRef);\r\n case 'radio':\r\n return new ComponentPortal(XRadioComponent, this.viewContainerRef);\r\n case 'switch':\r\n return new ComponentPortal(XSwitchComponent, this.viewContainerRef);\r\n case 'rate':\r\n return new ComponentPortal(XRateComponent, this.viewContainerRef);\r\n case 'date-picker':\r\n return new ComponentPortal(XDatePickerComponent, this.viewContainerRef);\r\n case 'time-picker':\r\n return new ComponentPortal(XTimePickerComponent, this.viewContainerRef);\r\n case 'input-number':\r\n return new ComponentPortal(XInputNumberComponent, this.viewContainerRef);\r\n case 'slider-select':\r\n return new ComponentPortal(XSliderSelectComponent, this.viewContainerRef);\r\n case 'cascade':\r\n return new ComponentPortal(XCascadeComponent, this.viewContainerRef);\r\n case 'color-picker':\r\n return new ComponentPortal(XColorPickerComponent, this.viewContainerRef);\r\n case 'textarea':\r\n return new ComponentPortal(XTextareaComponent, this.viewContainerRef);\r\n case 'find':\r\n return new ComponentPortal(XFindComponent, this.viewContainerRef);\r\n case 'auto-complete':\r\n return new ComponentPortal(XAutoCompleteComponent, this.viewContainerRef);\r\n default:\r\n return new ComponentPortal(XInputComponent, this.viewContainerRef);\r\n }\r\n }\r\n}\r\n","<div class=\"x-control\" [formGroup]=\"form.formGroup()\">\r\n <ng-template cdkPortalOutlet></ng-template>\r\n</div>\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n AfterViewInit,\r\n computed\r\n} from '@angular/core';\r\nimport {\r\n XFormProperty,\r\n XFormRow,\r\n XFormPrefix,\r\n XFormControlOption,\r\n XFormControl,\r\n XFormControlComponent,\r\n XControl\r\n} from './form.property';\r\nimport { XIsChange } from '@ng-nest/ui/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XColComponent, XRowComponent } from '@ng-nest/ui/layout';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XControlComponent } from './control.component';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { X_FORM_CONTEXT, XFormContext } from './form.token';\r\n\r\n@Component({\r\n selector: `${XFormPrefix}`,\r\n imports: [\r\n NgClass,\r\n NgTemplateOutlet,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XRowComponent,\r\n XColComponent,\r\n XOutletDirective,\r\n XIconComponent,\r\n XControlComponent\r\n ],\r\n templateUrl: './form.component.html',\r\n styleUrls: ['./form.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: X_FORM_CONTEXT,\r\n useExisting: XFormComponent\r\n }\r\n ]\r\n})\r\nexport class XFormComponent extends XFormProperty implements OnChanges, AfterViewInit, XFormContext {\r\n controlsType = computed(() => {\r\n const controls = this.controls();\r\n return controls && controls.length > 0 && (controls[0] as XFormRow).controls ? 'rows' : 'controls';\r\n });\r\n controlComponents: { [property: string]: XFormControlComponent } = {};\r\n controlTypes: { [property: string]: XControl } = {};\r\n formId = Number(Math.random().toString().substring(2, 6) + Date.now()).toString(36);\r\n classMap = computed(() => ({\r\n [`${XFormPrefix}-${this.controlsType()}`]: true\r\n }));\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { disabled } = changes;\r\n XIsChange(disabled) && this.setDisabled();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setDisabled();\r\n }\r\n\r\n setDisabled() {\r\n if (Object.keys(this.controlComponents).length === 0) return;\r\n if (this.disabled()) {\r\n for (let key in this.controlComponents) {\r\n let [control, type] = [this.controlComponents[key], this.controlTypes[key]];\r\n control.disabledSignal.set(true);\r\n control.requiredSignal.set(false);\r\n control.patternSignal.set(null);\r\n type.setValidators && type.setValidators();\r\n }\r\n } else {\r\n for (let key in this.controlComponents) {\r\n let [control, type] = [this.controlComponents[key], this.controlTypes[key]];\r\n control.disabledSignal.set(type.disabled!);\r\n control.requiredSignal.set(type.required!);\r\n control.patternSignal.set(type.pattern as RegExp);\r\n type.setValidators && type.setValidators();\r\n }\r\n }\r\n this.formGroup().updateValueAndValidity();\r\n }\r\n\r\n setValidator() {\r\n for (let key in this.controlComponents) {\r\n let [control, type] = [this.controlComponents[key], this.controlTypes[key]];\r\n control.formControlValidator();\r\n type.setValidators && type.setValidators();\r\n control.cdr.detectChanges();\r\n }\r\n }\r\n\r\n resetValidator() {\r\n for (let key in this.controlComponents) {\r\n let [control] = [this.controlComponents[key]];\r\n control.validatorSignal.set(false);\r\n control.cdr.detectChanges();\r\n }\r\n }\r\n\r\n getValidatorMessages(): string[] {\r\n let result: string[] = [];\r\n if (this.formGroup().valid) return result;\r\n else {\r\n const eachControls = (array: XFormControlOption[]) => {\r\n for (const ctr of array) {\r\n const formCtr = this.formGroup().controls[ctr.id] as XFormControl;\r\n if (formCtr && formCtr.invalid) {\r\n result = [...result, ...(formCtr.messages as string[])];\r\n }\r\n }\r\n };\r\n if (this.controlsType() === 'rows') {\r\n for (const row of this.controls() as XFormRow[]) {\r\n eachControls(row.controls);\r\n }\r\n } else {\r\n eachControls(this.controls() as XFormControlOption[]);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n onSubmit(event: SubmitEvent) {\r\n this.setValidator();\r\n this.xSubmit.emit(event);\r\n }\r\n}\r\n","<form\r\n #form\r\n class=\"x-form\"\r\n [class.x-form-has-content]=\"content.innerHTML.trim()\"\r\n [formGroup]=\"formGroup()\"\r\n [style.width]=\"width()\"\r\n [style.padding-bottom]=\"controlsType() === 'controls' ? this.space() : '0px'\"\r\n [ngClass]=\"classMap()\"\r\n (ngSubmit)=\"onSubmit($event)\"\r\n>\r\n @if (title()) {\r\n <div class=\"x-form-title\">{{ title() }}</div>\r\n }\r\n @switch (controlsType()) {\r\n @case ('controls') {\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: controls() }\"> </ng-container>\r\n }\r\n @case ('rows') {\r\n <ng-container *ngTemplateOutlet=\"rowsTemp; context: { rows: controls() }\"></ng-container>\r\n }\r\n }\r\n <div class=\"x-form-content\" #content><ng-content></ng-content></div>\r\n</form>\r\n\r\n<ng-template #rowsTemp let-rows=\"rows\">\r\n @for (row of rows; track row) {\r\n <div class=\"x-form-category\" [hidden]=\"row.hidden\">\r\n <ng-container *ngTemplateOutlet=\"titleTemp; context: { row: row }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"controlsTemp; context: { controls: row.controls }\"></ng-container>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #controlsTemp let-controls=\"controls\">\r\n <x-row [space]=\"space()\">\r\n @for (control of controls; track control) {\r\n <x-col [style.padding-top]=\"space()\" [span]=\"!control.span ? span() : control.span\" [hidden]=\"control.hidden\">\r\n <ng-container *xOutlet=\"controlTpl()[control.id]; context: { $option: control }\">\r\n <x-control [option]=\"control\"></x-control>\r\n </ng-container>\r\n </x-col>\r\n }\r\n </x-row>\r\n</ng-template>\r\n\r\n<ng-template #titleTemp let-row=\"row\">\r\n <label class=\"x-form-title\">\r\n @if (row.icon) {\r\n <x-icon [type]=\"row.icon\"></x-icon>\r\n }\r\n <span>{{ row.title }}</span>\r\n </label>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XFormComponent } from './form.component';\r\nimport { XControlComponent } from './control.component';\r\n\r\n@NgModule({\r\n exports: [XFormComponent, XControlComponent],\r\n imports: [XFormComponent, XControlComponent]\r\n})\r\nexport class XFormModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -175,8 +175,6 @@ class XSliderSelectComponent extends XSliderSelectProperty {
|
|
|
175
175
|
return null;
|
|
176
176
|
}, /* @ts-ignore */
|
|
177
177
|
...(ngDevMode ? [{ debugName: "tooltipEnd" }] : /* istanbul ignore next */ []));
|
|
178
|
-
this.value = signal(0, /* @ts-ignore */
|
|
179
|
-
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
180
178
|
this.starting = signal(false, /* @ts-ignore */
|
|
181
179
|
...(ngDevMode ? [{ debugName: "starting" }] : /* istanbul ignore next */ []));
|
|
182
180
|
this.startOffset = signal(0, /* @ts-ignore */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-slider-select.mjs","sources":["../../../../lib/ng-nest/ui/slider-select/slider-select.property.ts","../../../../lib/ng-nest/ui/slider-select/slider-select.component.ts","../../../../lib/ng-nest/ui/slider-select/slider-select.component.html","../../../../lib/ng-nest/ui/slider-select/slider-select.module.ts","../../../../lib/ng-nest/ui/slider-select/ng-nest-ui-slider-select.ts"],"sourcesContent":["import { XToBoolean, XToCssPixelValue, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, input, output } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport type { CdkDragStart, CdkDragMove, CdkDragEnd } from '@angular/cdk/drag-drop';\r\nimport type { XAlign, XBoolean, XDirection, XJustify, XNumber, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * SliderSelect\r\n * @selector x-slider-select\r\n * @decorator component\r\n */\r\nexport const XSliderSelectPrefix = 'x-slider-select';\r\nconst X_SLIDER_SELECT_CONFIG_NAME = 'sliderSelect';\r\n\r\n/**\r\n * SliderSelect Property\r\n */\r\n@Component({ selector: `${XSliderSelectPrefix}-property`, template: '' })\r\nexport class XSliderSelectProperty extends XFormControlFunction(X_SLIDER_SELECT_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n readonly min = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n readonly max = input<number, XNumber>(100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n readonly step = input<number, XNumber>(1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 精度,默认根据步数来计算\r\n * @en_US Precision, calculated based on the number of steps by default\r\n */\r\n readonly precision = input<number | undefined, XNumber>(undefined, { transform: XToNumber });\r\n /**\r\n * @zh_CN 显示 tooltip 提示\r\n * @en_US Display Tooltip prompts\r\n */\r\n readonly showTooltip = input<boolean, XBoolean>(true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 反向\r\n * @en_US Reverse\r\n */\r\n readonly reverse = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 垂直\r\n * @en_US Vertical\r\n */\r\n readonly vertical = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 范围\r\n * @en_US Range\r\n */\r\n readonly range = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义滑块\r\n * @en_US Custom button\r\n */\r\n readonly customButton = input<XTemplate>();\r\n /**\r\n * @zh_CN 刻度标记,key 为实际数字,在 [min,max] 内,可通过 style 设置样式\r\n * @en_US Scale marking, key is the actual number, in [min, max], you can set style through style\r\n */\r\n readonly marks = input<XSliderSelectMark[]>([]);\r\n /**\r\n * @zh_CN 自定义 tooltip\r\n * @en_US Custom tooltip\r\n */\r\n readonly tooltipCustom = input<XTemplate>();\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n override readonly label = input<XTemplate>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n override readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n override readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n override readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n override readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 开始拖动的事件\r\n * @en_US Start drag event\r\n */\r\n readonly dragStartEmit = output<CdkDragStart>();\r\n /**\r\n * @zh_CN 按住移动中的事件\r\n * @en_US Hold down the moving event\r\n */\r\n readonly dragMoveEmit = output<CdkDragMove>();\r\n /**\r\n * @zh_CN 移动结束的事件\r\n * @en_US Mobile end event\r\n */\r\n readonly dragEndEmit = output<CdkDragEnd>();\r\n}\r\n\r\n/**\r\n * SliderSelect Option\r\n */\r\nexport interface XSliderSelectOption extends XFormOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n min?: number;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n max?: number;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n step?: number;\r\n /**\r\n * @zh_CN 精度,默认根据步数来计算\r\n * @en_US Precision, calculated based on the number of steps by default\r\n */\r\n precision?: number;\r\n /**\r\n * @zh_CN 显示 tooltip 提示\r\n * @en_US Display Tooltip prompts\r\n */\r\n showTooltip?: boolean;\r\n /**\r\n * @zh_CN 反向\r\n * @en_US Reverse\r\n */\r\n reverse?: boolean;\r\n /**\r\n * @zh_CN 垂直\r\n * @en_US Vertical\r\n */\r\n vertical?: boolean;\r\n /**\r\n * @zh_CN 范围\r\n * @en_US Range\r\n */\r\n range?: boolean;\r\n /**\r\n * @zh_CN 自定义滑块\r\n * @en_US Custom button\r\n */\r\n customButton?: XTemplate;\r\n /**\r\n * @zh_CN 刻度标记,key 为实际数字,在 [min,max] 内,可通过 style 设置样式\r\n * @en_US Scale marking, key is the actual number, in [min, max], you can set style through style\r\n */\r\n marks?: XSliderSelectMark[];\r\n /**\r\n * @zh_CN 自定义 tooltip\r\n * @en_US Custom tooltip\r\n */\r\n tooltipCustom?: XTemplate;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n labelWidth?: string;\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n justify?: XJustify;\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n align?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n direction?: XDirection;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 开始拖动的事件\r\n * @en_US Start drag event\r\n */\r\n dragStartEmit?: (start: CdkDragStart) => void;\r\n /**\r\n * @zh_CN 按住移动中的事件\r\n * @en_US Hold down the moving event\r\n */\r\n dragMoveEmit?: (move: CdkDragMove) => void;\r\n /**\r\n * @zh_CN 移动结束的事件\r\n * @en_US Mobile end event\r\n */\r\n dragEndEmit?: (end: CdkDragEnd) => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 刻度标记\r\n * @en_US Scale marking\r\n */\r\nexport interface XSliderSelectMark {\r\n /**\r\n * @zh_CN 数值\r\n * @en_US Value\r\n */\r\n value: number;\r\n /**\r\n * @zh_CN 显示标签\r\n * @en_US Label\r\n */\r\n label: string;\r\n /**\r\n * @zh_CN 标签样式\r\n * @en_US style\r\n */\r\n style?: { [style: string]: any };\r\n /**\r\n * @zh_CN 实际偏移量(自动计算)\r\n * @en_US Offset. automatic calculation\r\n */\r\n offset?: number;\r\n}\r\n","import { XTooltipDirective } from '@ng-nest/ui/tooltip';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n OnDestroy,\r\n AfterViewInit,\r\n HostBinding,\r\n inject,\r\n signal,\r\n viewChild,\r\n viewChildren,\r\n computed\r\n} from '@angular/core';\r\nimport { XSliderSelectProperty, XSliderSelectPrefix, XSliderSelectMark } from './slider-select.property';\r\nimport { XIsEmpty, XIsUndefined, XResize, XResizeObserver, XIsNumber, XIsArray, XIsNull } from '@ng-nest/ui/core';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport type { CdkDragMove, CdkDragStart, CdkDragEnd } from '@angular/cdk/drag-drop';\r\n\r\n@Component({\r\n selector: `${XSliderSelectPrefix}`,\r\n imports: [NgClass, NgStyle, FormsModule, ReactiveFormsModule, DragDropModule, XTooltipDirective, XOutletDirective],\r\n templateUrl: './slider-select.component.html',\r\n styleUrls: ['./slider-select.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XSliderSelectComponent)]\r\n})\r\nexport class XSliderSelectComponent extends XSliderSelectProperty implements OnDestroy, AfterViewInit {\r\n sliderSelect = viewChild.required<ElementRef<HTMLElement>>('sliderSelect');\r\n dragStartRef = viewChild.required<ElementRef<HTMLElement>>('dragStartRef');\r\n dragEndRef = viewChild.required<ElementRef<HTMLElement>>('dragEndRef');\r\n railRef = viewChild.required<ElementRef<HTMLElement>>('railRef');\r\n processRef = viewChild.required<ElementRef<HTMLElement>>('processRef');\r\n @HostBinding('class.x-slider-select-vertical') get getVertical() {\r\n return this.vertical();\r\n }\r\n tooltips = viewChildren(XTooltipDirective);\r\n tooltipStart = computed(() => {\r\n if (this.tooltips().length > 0) {\r\n return this.tooltips()![0];\r\n }\r\n return null;\r\n });\r\n tooltipEnd = computed(() => {\r\n if (this.tooltips().length > 1) {\r\n return this.tooltips()![1];\r\n }\r\n return null;\r\n });\r\n\r\n override value = signal<number | number[]>(0);\r\n starting = signal(false);\r\n\r\n startOffset = signal(0);\r\n startVisible = signal(false);\r\n startManual = signal(false);\r\n start = signal<number | null>(null);\r\n startDisplayValue = signal('0');\r\n showStartTooltip = signal(true);\r\n\r\n endOffset = signal(0);\r\n endVisible = signal(false);\r\n endManual = signal(false);\r\n end = signal<number | null>(null);\r\n endDisplayValue = signal('0');\r\n showEndTooltip = signal(true);\r\n\r\n markList = computed(() => {\r\n if (!this.marks()) return [];\r\n const marks: XSliderSelectMark[] = [];\r\n for (let mark of this.marks()) {\r\n const mk: XSliderSelectMark = {\r\n value: mark.value,\r\n label: mark.label,\r\n style: { ...mark.style }\r\n };\r\n mk.offset = this.getOffset(mark.value);\r\n\r\n if (this.reverse()) {\r\n if (this.vertical()) {\r\n mk.style!['top'] = `${mk.offset}%`;\r\n } else {\r\n mk.style!['right'] = `${mk.offset}%`;\r\n }\r\n } else {\r\n if (this.vertical()) {\r\n mk.style!['bottom'] = `${mk.offset}%`;\r\n } else {\r\n mk.style!['left'] = `${mk.offset}%`;\r\n }\r\n }\r\n marks.push(mk);\r\n }\r\n return marks;\r\n });\r\n\r\n private unSubject = new Subject<void>();\r\n private resizeObserver!: XResizeObserver;\r\n isNumber = computed(() => XIsNumber(this.value()) && !XIsArray(this.value()));\r\n isArray = computed(() => XIsArray(this.value()));\r\n\r\n classMap = computed(() => ({\r\n [`x-justify-${this.justify()}`]: !!this.justify(),\r\n [`x-align-${this.align()}`]: !!this.align(),\r\n [`x-direction-${this.direction()}`]: !!this.direction()\r\n }));\r\n labelMapSignal = computed(() => ({\r\n [`x-text-align-${this.labelAlign()}`]: !!this.labelAlign()\r\n }));\r\n\r\n precisionSignal = computed(() => {\r\n const precision = this.precision();\r\n if (XIsUndefined(precision) || !XIsEmpty(this.step())) {\r\n let stepStr = String(this.step());\r\n let indexpoint = stepStr.indexOf('.');\r\n if (indexpoint === -1) {\r\n return 0;\r\n } else {\r\n return stepStr.length - (indexpoint + 1);\r\n }\r\n }\r\n return precision;\r\n });\r\n\r\n override requiredIsEmpty = computed(\r\n () => this.validatorComputed() && this.requiredComputed() && (XIsEmpty(this.value()) || this.value() === 0)\r\n );\r\n\r\n override writeValue(value: number | number[]) {\r\n if (this.starting()) return;\r\n if (XIsNull(value) || XIsUndefined(value)) {\r\n if (this.range()) {\r\n value = [this.min(), this.min()];\r\n } else {\r\n value = this.min();\r\n }\r\n }\r\n this.value.set(value);\r\n this.setLeft();\r\n this.setDisplayValue();\r\n }\r\n\r\n private renderer = inject(Renderer2);\r\n override cdr = inject(ChangeDetectorRef);\r\n elementRef = inject(ElementRef);\r\n\r\n ngAfterViewInit() {\r\n XResize(this.sliderSelect().nativeElement)\r\n .pipe(debounceTime(30), takeUntil(this.unSubject))\r\n .subscribe((x) => {\r\n this.resizeObserver = x.resizeObserver;\r\n this.setLeft();\r\n this.setDisplayValue();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n change() {\r\n const getVal = (offset: number) => {\r\n return parseFloat(\r\n Number(((this.max() - this.min()) * offset) / 100 + this.min()).toFixed(this.precisionSignal())\r\n );\r\n };\r\n const startVal = getVal(this.startOffset());\r\n if (this.isNumber()) {\r\n this.value.set(startVal);\r\n } else {\r\n const endVal = getVal(this.endOffset());\r\n if (endVal < startVal) {\r\n this.value.set([endVal, startVal]);\r\n } else {\r\n this.value.set([startVal, endVal]);\r\n }\r\n }\r\n\r\n this.setDisplayValue();\r\n if (this.onChange) this.onChange(this.value());\r\n }\r\n\r\n getOffset(val: number) {\r\n return Math.abs(\r\n Math.round(((val + (this.reverse() ? -this.min() : this.min())) * 100) / (this.max() - this.min()))\r\n );\r\n }\r\n\r\n setLeft() {\r\n let startVal = 0,\r\n endVal = 0;\r\n const value = this.value();\r\n if (this.isNumber()) {\r\n startVal = value as number;\r\n } else if (XIsArray(value) && value.length > 1) {\r\n startVal = value[0];\r\n endVal = value[1];\r\n this.endOffset.set(this.getOffset(endVal));\r\n this.end.set(this.endOffset());\r\n }\r\n\r\n this.startOffset.set(this.getOffset(startVal));\r\n this.start.set(this.startOffset());\r\n\r\n this.setDrag();\r\n }\r\n\r\n setDisplayValue() {\r\n const displayVal = (val: number) => {\r\n return Number(val).toFixed(this.precisionSignal());\r\n };\r\n const value = this.value();\r\n if (this.isNumber()) {\r\n this.startDisplayValue.set(displayVal(value as number));\r\n } else {\r\n if (XIsArray(value) && value.length > 1) {\r\n if (this.startOffset() > this.endOffset()) {\r\n this.startDisplayValue.set(displayVal(value[1]));\r\n this.endDisplayValue.set(displayVal(value[0]));\r\n } else {\r\n this.startDisplayValue.set(displayVal(value[0]));\r\n this.endDisplayValue.set(displayVal(value[1]));\r\n }\r\n }\r\n }\r\n }\r\n\r\n started(drag: CdkDragStart, type: 'start' | 'end' | 'both' = 'start') {\r\n this.starting.set(true);\r\n if (['start', 'both'].includes(type)) {\r\n const start = this.startOffset();\r\n this.start.set(start);\r\n if (this.showStartTooltip()) {\r\n this.startManual.set(true);\r\n this.startVisible.set(true);\r\n }\r\n }\r\n if (['end', 'both'].includes(type)) {\r\n const end = this.endOffset();\r\n this.end.set(end);\r\n if (this.showEndTooltip()) {\r\n this.endManual.set(true);\r\n this.endVisible.set(true);\r\n }\r\n }\r\n this.formControlValidator();\r\n this.dragStartEmit.emit(drag);\r\n }\r\n\r\n moved(drag: CdkDragMove, type: 'start' | 'end' | 'both' = 'start') {\r\n let transform = drag.source.getFreeDragPosition();\r\n this.setDrag(this.vertical() ? transform.y : transform.x, type);\r\n drag.source.reset();\r\n if (['start', 'both'].includes(type) && this.showStartTooltip()) {\r\n this.tooltipStart()?.updatePortal();\r\n }\r\n if (['end', 'both'].includes(type) && this.showEndTooltip()) {\r\n this.tooltipEnd()?.updatePortal();\r\n }\r\n this.change();\r\n this.dragMoveEmit.emit(drag);\r\n }\r\n\r\n ended(drag: CdkDragEnd, type: 'start' | 'end' | 'both' = 'start') {\r\n if (['start', 'both'].includes(type)) {\r\n if (this.showStartTooltip()) {\r\n this.startManual.set(false);\r\n this.startVisible.set(false);\r\n }\r\n }\r\n if (['end', 'both'].includes(type)) {\r\n if (this.showEndTooltip()) {\r\n this.endManual.set(false);\r\n this.endVisible.set(false);\r\n }\r\n }\r\n this.starting.set(false);\r\n this.dragEndEmit.emit(drag);\r\n }\r\n\r\n setDrag(distance: number = 0, type: 'start' | 'end' | 'both' = 'both') {\r\n if (typeof this.railRef().nativeElement.getBoundingClientRect !== 'function') return;\r\n let railBox = this.railRef().nativeElement.getBoundingClientRect();\r\n let railBoxLength = this.vertical() ? railBox.height : railBox.width;\r\n let stepLength = railBoxLength / ((this.max() - this.min()) / this.step());\r\n let offset = Math.abs(distance % stepLength);\r\n let dis =\r\n offset < stepLength / 2\r\n ? distance > 0\r\n ? distance - offset\r\n : distance + offset\r\n : distance > 0\r\n ? distance + stepLength - offset\r\n : distance - stepLength + offset;\r\n\r\n const setOffset = (d: number) => {\r\n let x1 = (d / 100) * railBoxLength;\r\n if (this.vertical()) {\r\n x1 += this.reverse() ? dis : -dis;\r\n } else {\r\n x1 += this.reverse() ? -dis : dis;\r\n }\r\n return Math.round((x1 / railBoxLength) * 100);\r\n };\r\n\r\n if (type === 'both') {\r\n this.startOffset.set(setOffset(this.start()!));\r\n this.endOffset.set(setOffset(this.end()!));\r\n } else if (type === 'start') {\r\n this.startOffset.set(setOffset(this.start()!));\r\n } else if (type === 'end') {\r\n this.endOffset.set(setOffset(this.end()!));\r\n }\r\n\r\n this.setDragStyles();\r\n }\r\n\r\n setDragStyles() {\r\n if (this.vertical()) {\r\n if (this.isArray()) {\r\n const wd = Math.abs(this.endOffset() - this.startOffset());\r\n const lt = this.endOffset() > this.startOffset() ? this.startOffset() : this.endOffset();\r\n if (this.reverse()) {\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'top', `${this.startOffset()}%`);\r\n this.renderer.setStyle(this.dragEndRef().nativeElement, 'top', `${this.endOffset()}%`);\r\n this.renderer.setStyle(this.processRef().nativeElement, 'top', `${lt}%`);\r\n } else {\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'bottom', `${this.startOffset()}%`);\r\n this.renderer.setStyle(this.dragEndRef().nativeElement, 'bottom', `${this.endOffset()}%`);\r\n this.renderer.setStyle(this.processRef().nativeElement, 'bottom', `${lt}%`);\r\n }\r\n this.renderer.setStyle(this.processRef().nativeElement, 'height', `${wd}%`);\r\n } else {\r\n if (this.reverse()) {\r\n this.renderer.removeStyle(this.dragStartRef().nativeElement, 'bottom');\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'top', `${this.startOffset()}%`);\r\n } else {\r\n this.renderer.removeStyle(this.dragStartRef().nativeElement, 'top');\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'bottom', `${this.startOffset()}%`);\r\n }\r\n this.renderer.setStyle(this.processRef().nativeElement, 'height', `${this.startOffset()}%`);\r\n }\r\n } else {\r\n if (this.isArray()) {\r\n const wd = Math.abs(this.endOffset() - this.startOffset());\r\n const lt = this.endOffset() > this.startOffset() ? this.startOffset() : this.endOffset();\r\n if (this.reverse()) {\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'right', `${this.startOffset()}%`);\r\n this.renderer.setStyle(this.dragEndRef().nativeElement, 'right', `${this.endOffset()}%`);\r\n this.renderer.setStyle(this.processRef().nativeElement, 'right', `${lt}%`);\r\n } else {\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'left', `${this.startOffset()}%`);\r\n this.renderer.setStyle(this.dragEndRef().nativeElement, 'left', `${this.endOffset()}%`);\r\n this.renderer.setStyle(this.processRef().nativeElement, 'left', `${lt}%`);\r\n }\r\n this.renderer.setStyle(this.processRef().nativeElement, 'width', `${wd}%`);\r\n } else {\r\n if (this.reverse()) {\r\n this.renderer.removeStyle(this.dragStartRef().nativeElement, 'left');\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'right', `${this.startOffset()}%`);\r\n } else {\r\n this.renderer.removeStyle(this.dragStartRef().nativeElement, 'right');\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'left', `${this.startOffset()}%`);\r\n }\r\n this.renderer.setStyle(this.processRef().nativeElement, 'width', `${this.startOffset()}%`);\r\n }\r\n }\r\n }\r\n}\r\n","<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-slider-select-reverse]=\"reverse()\"\r\n [class.x-slider-select-range]=\"range()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-slider-select-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n *xOutlet=\"label()\"\r\n >\r\n {{ label() }}\r\n </label>\r\n }\r\n <div class=\"x-slider-select-inner\" #innerRef>\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div\r\n #processRef\r\n class=\"x-slider-select-process\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed() || !range()\"\r\n [cdkDragBoundary]=\"trackRef\"\r\n (cdkDragStarted)=\"started($event, 'both')\"\r\n (cdkDragEnded)=\"ended($event, 'both')\"\r\n (cdkDragMoved)=\"moved($event, 'both')\"\r\n ></div>\r\n </div>\r\n <div class=\"x-slider-select-marks\">\r\n @for (mark of markList(); track mark.label) {\r\n <div class=\"x-slider-select-mark\" [ngStyle]=\"mark.style\">\r\n <span class=\"x-slider-select-mark-label\">{{ mark.label }}</span>\r\n </div>\r\n }\r\n </div>\r\n <div\r\n #dragStartRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'start')\"\r\n (cdkDragEnded)=\"ended($event, 'start')\"\r\n (cdkDragMoved)=\"moved($event, 'start')\"\r\n >\r\n <div\r\n #tooltipStart\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"startVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip()\"\r\n [content]=\"tooltipStartTpl\"\r\n [(visible)]=\"startVisible\"\r\n [manual]=\"startManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipStartTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: startDisplayValue() }\">{{\r\n startDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n <div\r\n [hidden]=\"!range()\"\r\n #dragEndRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'end')\"\r\n (cdkDragEnded)=\"ended($event, 'end')\"\r\n (cdkDragMoved)=\"moved($event, 'end')\"\r\n >\r\n <div\r\n #tooltipEnd\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"endVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip()\"\r\n [content]=\"tooltipEndTpl\"\r\n [(visible)]=\"endVisible\"\r\n [manual]=\"endManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipEndTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: endDisplayValue() }\">{{\r\n endDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSliderSelectComponent } from './slider-select.component';\r\n\r\n@NgModule({\r\n exports: [XSliderSelectComponent],\r\n imports: [XSliderSelectComponent]\r\n})\r\nexport class XSliderSelectModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAMA;;;;AAIG;AACI,MAAM,mBAAmB,GAAG;AACnC,MAAM,2BAA2B,GAAG,cAAc;AAElD;;AAEG;MAEU,qBAAsB,SAAQ,oBAAoB,CAAC,2BAA2B,CAAC,CAAA;AAD5F,IAAA,WAAA,GAAA;;AAEE;;;AAGG;QACM,IAAA,CAAA,GAAG,GAAG,KAAK,CAAkB,CAAC,2EAAI,SAAS,EAAE,SAAS,EAAA,CAAG;AAClE;;;AAGG;QACM,IAAA,CAAA,GAAG,GAAG,KAAK,CAAkB,GAAG,2EAAI,SAAS,EAAE,SAAS,EAAA,CAAG;AACpE;;;AAGG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAkB,CAAC,4EAAI,SAAS,EAAE,SAAS,EAAA,CAAG;AACnE;;;AAGG;QACM,IAAA,CAAA,SAAS,GAAG,KAAK,CAA8B,SAAS,iFAAI,SAAS,EAAE,SAAS,EAAA,CAAG;AAC5F;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAAoB,IAAI,mFAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAChF;;;AAGG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAoB,KAAK,+EAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC7E;;;AAGG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,KAAK,gFAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC9E;;;AAGG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAAoB,KAAK,6EAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC3E;;;AAGG;AACM,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK;oGAAa;AAC1C;;;AAGG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAAsB,EAAE;kFAAC;AAC/C;;;AAGG;AACM,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK;qGAAa;AAC3C;;;AAGG;QACe,IAAA,CAAA,KAAK,GAAG,KAAK,CAAY,EAAE;kFAAC;AAC9C;;;AAGG;QACe,IAAA,CAAA,UAAU,GAAG,KAAK,CAAkB,EAAE,kFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC1F;;;AAGG;QACe,IAAA,CAAA,UAAU,GAAG,KAAK,CAAS,OAAO;uFAAC;AACrD;;;AAGG;QACe,IAAA,CAAA,OAAO,GAAG,KAAK,CAAW,OAAO;oFAAC;AACpD;;;AAGG;QACe,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,OAAO;kFAAC;AAChD;;;AAGG;QACe,IAAA,CAAA,SAAS,GAAG,KAAK,CAAa,QAAQ;sFAAC;AACzD;;;AAGG;QACe,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,KAAK,gFAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AACvF;;;AAGG;QACe,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,KAAK,gFAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AACvF;;;AAGG;QACM,IAAA,CAAA,aAAa,GAAG,MAAM,EAAgB;AAC/C;;;AAGG;QACM,IAAA,CAAA,YAAY,GAAG,MAAM,EAAe;AAC7C;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,MAAM,EAAc;AAC5C,IAAA;iIA/GY,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,mlFADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FACzD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,mBAAmB,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;;ACoBlE,MAAO,sBAAuB,SAAQ,qBAAqB,CAAA;AATjE,IAAA,WAAA,GAAA;;AAUE,QAAA,IAAA,CAAA,YAAY,GAAG,SAAS,CAAC,QAAQ,CAA0B,cAAc,CAAC;AAC1E,QAAA,IAAA,CAAA,YAAY,GAAG,SAAS,CAAC,QAAQ,CAA0B,cAAc,CAAC;AAC1E,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAC,QAAQ,CAA0B,YAAY,CAAC;AACtE,QAAA,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,QAAQ,CAA0B,SAAS,CAAC;AAChE,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAC,QAAQ,CAA0B,YAAY,CAAC;QAItE,IAAA,CAAA,QAAQ,GAAG,YAAY,CAAC,iBAAiB;qFAAC;AAC1C,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,gBAAA,OAAO,IAAI,CAAC,QAAQ,EAAG,CAAC,CAAC,CAAC;YAC5B;AACA,YAAA,OAAO,IAAI;QACb,CAAC;yFAAC;AACF,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;YACzB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,gBAAA,OAAO,IAAI,CAAC,QAAQ,EAAG,CAAC,CAAC,CAAC;YAC5B;AACA,YAAA,OAAO,IAAI;QACb,CAAC;uFAAC;QAEO,IAAA,CAAA,KAAK,GAAG,MAAM,CAAoB,CAAC;kFAAC;QAC7C,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK;qFAAC;QAExB,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,CAAC;wFAAC;QACvB,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK;yFAAC;QAC5B,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,KAAK;wFAAC;QAC3B,IAAA,CAAA,KAAK,GAAG,MAAM,CAAgB,IAAI;kFAAC;QACnC,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG;8FAAC;QAC/B,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,IAAI;6FAAC;QAE/B,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,CAAC;sFAAC;QACrB,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,KAAK;uFAAC;QAC1B,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,KAAK;sFAAC;QACzB,IAAA,CAAA,GAAG,GAAG,MAAM,CAAgB,IAAI;gFAAC;QACjC,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,GAAG;4FAAC;QAC7B,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,IAAI;2FAAC;AAE7B,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAAE,gBAAA,OAAO,EAAE;YAC5B,MAAM,KAAK,GAAwB,EAAE;YACrC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AAC7B,gBAAA,MAAM,EAAE,GAAsB;oBAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,oBAAA,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK;iBACvB;gBACD,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAEtC,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;wBACnB,EAAE,CAAC,KAAM,CAAC,KAAK,CAAC,GAAG,CAAA,EAAG,EAAE,CAAC,MAAM,CAAA,CAAA,CAAG;oBACpC;yBAAO;wBACL,EAAE,CAAC,KAAM,CAAC,OAAO,CAAC,GAAG,CAAA,EAAG,EAAE,CAAC,MAAM,CAAA,CAAA,CAAG;oBACtC;gBACF;qBAAO;AACL,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;wBACnB,EAAE,CAAC,KAAM,CAAC,QAAQ,CAAC,GAAG,CAAA,EAAG,EAAE,CAAC,MAAM,CAAA,CAAA,CAAG;oBACvC;yBAAO;wBACL,EAAE,CAAC,KAAM,CAAC,MAAM,CAAC,GAAG,CAAA,EAAG,EAAE,CAAC,MAAM,CAAA,CAAA,CAAG;oBACrC;gBACF;AACA,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB;AACA,YAAA,OAAO,KAAK;QACd,CAAC;qFAAC;AAEM,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ;QAEvC,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;qFAAC;AAC7E,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oFAAC;AAEhD,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,OAAO;AACzB,YAAA,CAAC,CAAA,UAAA,EAAa,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;AACjD,YAAA,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AAC3C,YAAA,CAAC,CAAA,YAAA,EAAe,IAAI,CAAC,SAAS,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS;SACtD,CAAC;qFAAC;AACH,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,OAAO;AAC/B,YAAA,CAAC,CAAA,aAAA,EAAgB,IAAI,CAAC,UAAU,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU;SACzD,CAAC;2FAAC;AAEH,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AAC9B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;gBACrD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACjC,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,gBAAA,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;AACrB,oBAAA,OAAO,CAAC;gBACV;qBAAO;oBACL,OAAO,OAAO,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC,CAAC;gBAC1C;YACF;AACA,YAAA,OAAO,SAAS;QAClB,CAAC;4FAAC;AAEO,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CACjC,MAAM,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;4FAC5G;AAgBO,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;AAC3B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACxC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAkOhC,IAAA;AAjVC,IAAA,IAAmD,WAAW,GAAA;AAC5D,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE;IACxB;AA6FS,IAAA,UAAU,CAAC,KAAwB,EAAA;QAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE;QACrB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AACzC,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AAChB,gBAAA,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC;iBAAO;AACL,gBAAA,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;YACpB;QACF;AACA,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE;QACd,IAAI,CAAC,eAAe,EAAE;IACxB;IAMA,eAAe,GAAA;AACb,QAAA,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa;AACtC,aAAA,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AAChD,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACf,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,cAAc;YACtC,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,eAAe,EAAE;AACxB,QAAA,CAAC,CAAC;IACN;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;AACzB,QAAA,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE;IACnC;IAEA,MAAM,GAAA;AACJ,QAAA,MAAM,MAAM,GAAG,CAAC,MAAc,KAAI;AAChC,YAAA,OAAO,UAAU,CACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAChG;AACH,QAAA,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1B;aAAO;YACL,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AACvC,YAAA,IAAI,MAAM,GAAG,QAAQ,EAAE;gBACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACpC;iBAAO;gBACL,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpC;QACF;QAEA,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAChD;AAEA,IAAA,SAAS,CAAC,GAAW,EAAA;QACnB,OAAO,IAAI,CAAC,GAAG,CACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CACpG;IACH;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,QAAQ,GAAG,CAAC,EACd,MAAM,GAAG,CAAC;AACZ,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,QAAQ,GAAG,KAAe;QAC5B;aAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,YAAA,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;AACnB,YAAA,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AACjB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC;AAEA,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAElC,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,eAAe,GAAA;AACb,QAAA,MAAM,UAAU,GAAG,CAAC,GAAW,KAAI;AACjC,YAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AACpD,QAAA,CAAC;AACD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAe,CAAC,CAAC;QACzD;aAAO;YACL,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvC,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE;AACzC,oBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,oBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD;qBAAO;AACL,oBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,oBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChD;YACF;QACF;IACF;AAEA,IAAA,OAAO,CAAC,IAAkB,EAAE,IAAA,GAAiC,OAAO,EAAA;AAClE,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACpC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE;AAChC,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AAC3B,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1B,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7B;QACF;QACA,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAClC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE;AAC5B,YAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AACjB,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACxB,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3B;QACF;QACA,IAAI,CAAC,oBAAoB,EAAE;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;IAC/B;AAEA,IAAA,KAAK,CAAC,IAAiB,EAAE,IAAA,GAAiC,OAAO,EAAA;QAC/D,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;AAC/D,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;AACnB,QAAA,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AAC/D,YAAA,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE;QACrC;AACA,QAAA,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AAC3D,YAAA,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE;QACnC;QACA,IAAI,CAAC,MAAM,EAAE;AACb,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;IAC9B;AAEA,IAAA,KAAK,CAAC,IAAgB,EAAE,IAAA,GAAiC,OAAO,EAAA;QAC9D,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACpC,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AAC3B,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AAC3B,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B;QACF;QACA,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AACzB,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B;QACF;AACA,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B;AAEA,IAAA,OAAO,CAAC,QAAA,GAAmB,CAAC,EAAE,OAAiC,MAAM,EAAA;QACnE,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,qBAAqB,KAAK,UAAU;YAAE;QAC9E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAClE,QAAA,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK;QACpE,IAAI,UAAU,GAAG,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1E,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC5C,QAAA,IAAI,GAAG,GACL,MAAM,GAAG,UAAU,GAAG;cAClB,QAAQ,GAAG;kBACT,QAAQ,GAAG;kBACX,QAAQ,GAAG;cACb,QAAQ,GAAG;AACX,kBAAE,QAAQ,GAAG,UAAU,GAAG;AAC1B,kBAAE,QAAQ,GAAG,UAAU,GAAG,MAAM;AAEtC,QAAA,MAAM,SAAS,GAAG,CAAC,CAAS,KAAI;YAC9B,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,aAAa;AAClC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,gBAAA,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG;YACnC;iBAAO;AACL,gBAAA,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG;YACnC;AACA,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,aAAa,IAAI,GAAG,CAAC;AAC/C,QAAA,CAAC;AAED,QAAA,IAAI,IAAI,KAAK,MAAM,EAAE;AACnB,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAG,CAAC,CAAC;QAC5C;AAAO,aAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC,CAAC;QAChD;AAAO,aAAA,IAAI,IAAI,KAAK,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAG,CAAC,CAAC;QAC5C;QAEA,IAAI,CAAC,aAAa,EAAE;IACtB;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,gBAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;AACxF,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;oBAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;oBAC1F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,EAAE,CAAA,CAAA,CAAG,CAAC;AACtF,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA,CAAA,CAAG,CAAC;gBAC1E;qBAAO;oBACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;oBAC7F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,EAAE,CAAA,CAAA,CAAG,CAAC;AACzF,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAA,CAAA,CAAG,CAAC;gBAC7E;AACA,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAA,CAAA,CAAG,CAAC;YAC7E;iBAAO;AACL,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;oBACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;gBAC5F;qBAAO;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;oBACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;gBAC/F;gBACA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;YAC7F;QACF;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,gBAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE;AACxF,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;oBAClB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;oBAC5F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,EAAE,CAAA,CAAA,CAAG,CAAC;AACxF,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA,CAAA,CAAG,CAAC;gBAC5E;qBAAO;oBACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;oBAC3F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAC,SAAS,EAAE,CAAA,CAAA,CAAG,CAAC;AACvF,oBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA,CAAA,CAAG,CAAC;gBAC3E;AACA,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA,CAAA,CAAG,CAAC;YAC5E;iBAAO;AACL,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClB,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC;oBACpE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;gBAC9F;qBAAO;AACL,oBAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC;oBACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;gBAC7F;gBACA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAG,CAAC;YAC5F;QACF;IACF;iIAtVW,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAFtB,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAW3B,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9C3C,4rIAkHA,EAAA,MAAA,EAAA,CAAA,++NAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDpFY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,8BAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAOtG,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBATlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAG,mBAAmB,CAAA,CAAE,EAAA,OAAA,EACzB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EAAA,aAAA,EAGnG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,cAAc,wBAAwB,CAAC,EAAA,QAAA,EAAA,4rIAAA,EAAA,MAAA,EAAA,CAAA,++NAAA,CAAA,EAAA;AAGQ,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,cAAc,sEACd,cAAc,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAChB,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACf,SAAS,oEACN,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA;sBACpE,WAAW;uBAAC,gCAAgC;+EAGrB,iBAAiB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEvC9B,mBAAmB,CAAA;iIAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAnB,mBAAmB,EAAA,OAAA,EAAA,CAFpB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CADtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGrB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAFpB,sBAAsB,CAAA,EAAA,CAAA,CAAA;;2FAErB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,sBAAsB;AACjC,iBAAA;;;ACND;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-slider-select.mjs","sources":["../../../../lib/ng-nest/ui/slider-select/slider-select.property.ts","../../../../lib/ng-nest/ui/slider-select/slider-select.component.ts","../../../../lib/ng-nest/ui/slider-select/slider-select.component.html","../../../../lib/ng-nest/ui/slider-select/slider-select.module.ts","../../../../lib/ng-nest/ui/slider-select/ng-nest-ui-slider-select.ts"],"sourcesContent":["import { XToBoolean, XToCssPixelValue, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, input, output } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport type { CdkDragStart, CdkDragMove, CdkDragEnd } from '@angular/cdk/drag-drop';\r\nimport type { XAlign, XBoolean, XDirection, XJustify, XNumber, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * SliderSelect\r\n * @selector x-slider-select\r\n * @decorator component\r\n */\r\nexport const XSliderSelectPrefix = 'x-slider-select';\r\nconst X_SLIDER_SELECT_CONFIG_NAME = 'sliderSelect';\r\n\r\n/**\r\n * SliderSelect Property\r\n */\r\n@Component({ selector: `${XSliderSelectPrefix}-property`, template: '' })\r\nexport class XSliderSelectProperty extends XFormControlFunction(X_SLIDER_SELECT_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n readonly min = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n readonly max = input<number, XNumber>(100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n readonly step = input<number, XNumber>(1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 精度,默认根据步数来计算\r\n * @en_US Precision, calculated based on the number of steps by default\r\n */\r\n readonly precision = input<number | undefined, XNumber>(undefined, { transform: XToNumber });\r\n /**\r\n * @zh_CN 显示 tooltip 提示\r\n * @en_US Display Tooltip prompts\r\n */\r\n readonly showTooltip = input<boolean, XBoolean>(true, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 反向\r\n * @en_US Reverse\r\n */\r\n readonly reverse = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 垂直\r\n * @en_US Vertical\r\n */\r\n readonly vertical = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 范围\r\n * @en_US Range\r\n */\r\n readonly range = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 自定义滑块\r\n * @en_US Custom button\r\n */\r\n readonly customButton = input<XTemplate>();\r\n /**\r\n * @zh_CN 刻度标记,key 为实际数字,在 [min,max] 内,可通过 style 设置样式\r\n * @en_US Scale marking, key is the actual number, in [min, max], you can set style through style\r\n */\r\n readonly marks = input<XSliderSelectMark[]>([]);\r\n /**\r\n * @zh_CN 自定义 tooltip\r\n * @en_US Custom tooltip\r\n */\r\n readonly tooltipCustom = input<XTemplate>();\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n override readonly label = input<XTemplate>('');\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n override readonly labelWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n override readonly labelAlign = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n override readonly justify = input<XJustify>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n override readonly align = input<XAlign>('start');\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n override readonly direction = input<XDirection>('column');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n override readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n override readonly required = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 开始拖动的事件\r\n * @en_US Start drag event\r\n */\r\n readonly dragStartEmit = output<CdkDragStart>();\r\n /**\r\n * @zh_CN 按住移动中的事件\r\n * @en_US Hold down the moving event\r\n */\r\n readonly dragMoveEmit = output<CdkDragMove>();\r\n /**\r\n * @zh_CN 移动结束的事件\r\n * @en_US Mobile end event\r\n */\r\n readonly dragEndEmit = output<CdkDragEnd>();\r\n}\r\n\r\n/**\r\n * SliderSelect Option\r\n */\r\nexport interface XSliderSelectOption extends XFormOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n min?: number;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n max?: number;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n step?: number;\r\n /**\r\n * @zh_CN 精度,默认根据步数来计算\r\n * @en_US Precision, calculated based on the number of steps by default\r\n */\r\n precision?: number;\r\n /**\r\n * @zh_CN 显示 tooltip 提示\r\n * @en_US Display Tooltip prompts\r\n */\r\n showTooltip?: boolean;\r\n /**\r\n * @zh_CN 反向\r\n * @en_US Reverse\r\n */\r\n reverse?: boolean;\r\n /**\r\n * @zh_CN 垂直\r\n * @en_US Vertical\r\n */\r\n vertical?: boolean;\r\n /**\r\n * @zh_CN 范围\r\n * @en_US Range\r\n */\r\n range?: boolean;\r\n /**\r\n * @zh_CN 自定义滑块\r\n * @en_US Custom button\r\n */\r\n customButton?: XTemplate;\r\n /**\r\n * @zh_CN 刻度标记,key 为实际数字,在 [min,max] 内,可通过 style 设置样式\r\n * @en_US Scale marking, key is the actual number, in [min, max], you can set style through style\r\n */\r\n marks?: XSliderSelectMark[];\r\n /**\r\n * @zh_CN 自定义 tooltip\r\n * @en_US Custom tooltip\r\n */\r\n tooltipCustom?: XTemplate;\r\n /**\r\n * @zh_CN 标签\r\n * @en_US Label\r\n */\r\n label?: string;\r\n /**\r\n * @zh_CN 标签宽度\r\n * @en_US Label width\r\n */\r\n labelWidth?: string;\r\n /**\r\n * @zh_CN 标签文字对齐方式\r\n * @en_US Label text alignment method\r\n */\r\n labelAlign?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素水平排列方式\r\n * @en_US The level of sub-element level arrangement under flex layout\r\n */\r\n justify?: XJustify;\r\n /**\r\n * @zh_CN flex 布局下的子元素垂直排列方式\r\n * @en_US sub-element vertical arrangement method under flex layout\r\n */\r\n align?: XAlign;\r\n /**\r\n * @zh_CN flex 布局下的子元素排列方向\r\n * @en_US The direction of the sub-element arrangement under flex layout\r\n */\r\n direction?: XDirection;\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n disabled?: boolean;\r\n /**\r\n * @zh_CN 必填\r\n * @en_US Required\r\n */\r\n required?: boolean;\r\n /**\r\n * @zh_CN 开始拖动的事件\r\n * @en_US Start drag event\r\n */\r\n dragStartEmit?: (start: CdkDragStart) => void;\r\n /**\r\n * @zh_CN 按住移动中的事件\r\n * @en_US Hold down the moving event\r\n */\r\n dragMoveEmit?: (move: CdkDragMove) => void;\r\n /**\r\n * @zh_CN 移动结束的事件\r\n * @en_US Mobile end event\r\n */\r\n dragEndEmit?: (end: CdkDragEnd) => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 刻度标记\r\n * @en_US Scale marking\r\n */\r\nexport interface XSliderSelectMark {\r\n /**\r\n * @zh_CN 数值\r\n * @en_US Value\r\n */\r\n value: number;\r\n /**\r\n * @zh_CN 显示标签\r\n * @en_US Label\r\n */\r\n label: string;\r\n /**\r\n * @zh_CN 标签样式\r\n * @en_US style\r\n */\r\n style?: { [style: string]: any };\r\n /**\r\n * @zh_CN 实际偏移量(自动计算)\r\n * @en_US Offset. automatic calculation\r\n */\r\n offset?: number;\r\n}\r\n","import { XTooltipDirective } from '@ng-nest/ui/tooltip';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n OnDestroy,\r\n AfterViewInit,\r\n HostBinding,\r\n inject,\r\n signal,\r\n viewChild,\r\n viewChildren,\r\n computed\r\n} from '@angular/core';\r\nimport { XSliderSelectProperty, XSliderSelectPrefix, XSliderSelectMark } from './slider-select.property';\r\nimport { XIsEmpty, XIsUndefined, XResize, XResizeObserver, XIsNumber, XIsArray, XIsNull } from '@ng-nest/ui/core';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport type { CdkDragMove, CdkDragStart, CdkDragEnd } from '@angular/cdk/drag-drop';\r\n\r\n@Component({\r\n selector: `${XSliderSelectPrefix}`,\r\n imports: [NgClass, NgStyle, FormsModule, ReactiveFormsModule, DragDropModule, XTooltipDirective, XOutletDirective],\r\n templateUrl: './slider-select.component.html',\r\n styleUrls: ['./slider-select.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XSliderSelectComponent)]\r\n})\r\nexport class XSliderSelectComponent extends XSliderSelectProperty implements OnDestroy, AfterViewInit {\r\n sliderSelect = viewChild.required<ElementRef<HTMLElement>>('sliderSelect');\r\n dragStartRef = viewChild.required<ElementRef<HTMLElement>>('dragStartRef');\r\n dragEndRef = viewChild.required<ElementRef<HTMLElement>>('dragEndRef');\r\n railRef = viewChild.required<ElementRef<HTMLElement>>('railRef');\r\n processRef = viewChild.required<ElementRef<HTMLElement>>('processRef');\r\n @HostBinding('class.x-slider-select-vertical') get getVertical() {\r\n return this.vertical();\r\n }\r\n tooltips = viewChildren(XTooltipDirective);\r\n tooltipStart = computed(() => {\r\n if (this.tooltips().length > 0) {\r\n return this.tooltips()![0];\r\n }\r\n return null;\r\n });\r\n tooltipEnd = computed(() => {\r\n if (this.tooltips().length > 1) {\r\n return this.tooltips()![1];\r\n }\r\n return null;\r\n });\r\n\r\n starting = signal(false);\r\n\r\n startOffset = signal(0);\r\n startVisible = signal(false);\r\n startManual = signal(false);\r\n start = signal<number | null>(null);\r\n startDisplayValue = signal('0');\r\n showStartTooltip = signal(true);\r\n\r\n endOffset = signal(0);\r\n endVisible = signal(false);\r\n endManual = signal(false);\r\n end = signal<number | null>(null);\r\n endDisplayValue = signal('0');\r\n showEndTooltip = signal(true);\r\n\r\n markList = computed(() => {\r\n if (!this.marks()) return [];\r\n const marks: XSliderSelectMark[] = [];\r\n for (let mark of this.marks()) {\r\n const mk: XSliderSelectMark = {\r\n value: mark.value,\r\n label: mark.label,\r\n style: { ...mark.style }\r\n };\r\n mk.offset = this.getOffset(mark.value);\r\n\r\n if (this.reverse()) {\r\n if (this.vertical()) {\r\n mk.style!['top'] = `${mk.offset}%`;\r\n } else {\r\n mk.style!['right'] = `${mk.offset}%`;\r\n }\r\n } else {\r\n if (this.vertical()) {\r\n mk.style!['bottom'] = `${mk.offset}%`;\r\n } else {\r\n mk.style!['left'] = `${mk.offset}%`;\r\n }\r\n }\r\n marks.push(mk);\r\n }\r\n return marks;\r\n });\r\n\r\n private unSubject = new Subject<void>();\r\n private resizeObserver!: XResizeObserver;\r\n isNumber = computed(() => XIsNumber(this.value()) && !XIsArray(this.value()));\r\n isArray = computed(() => XIsArray(this.value()));\r\n\r\n classMap = computed(() => ({\r\n [`x-justify-${this.justify()}`]: !!this.justify(),\r\n [`x-align-${this.align()}`]: !!this.align(),\r\n [`x-direction-${this.direction()}`]: !!this.direction()\r\n }));\r\n labelMapSignal = computed(() => ({\r\n [`x-text-align-${this.labelAlign()}`]: !!this.labelAlign()\r\n }));\r\n\r\n precisionSignal = computed(() => {\r\n const precision = this.precision();\r\n if (XIsUndefined(precision) || !XIsEmpty(this.step())) {\r\n let stepStr = String(this.step());\r\n let indexpoint = stepStr.indexOf('.');\r\n if (indexpoint === -1) {\r\n return 0;\r\n } else {\r\n return stepStr.length - (indexpoint + 1);\r\n }\r\n }\r\n return precision;\r\n });\r\n\r\n override requiredIsEmpty = computed(\r\n () => this.validatorComputed() && this.requiredComputed() && (XIsEmpty(this.value()) || this.value() === 0)\r\n );\r\n\r\n override writeValue(value: number | number[]) {\r\n if (this.starting()) return;\r\n if (XIsNull(value) || XIsUndefined(value)) {\r\n if (this.range()) {\r\n value = [this.min(), this.min()];\r\n } else {\r\n value = this.min();\r\n }\r\n }\r\n this.value.set(value);\r\n this.setLeft();\r\n this.setDisplayValue();\r\n }\r\n\r\n private renderer = inject(Renderer2);\r\n override cdr = inject(ChangeDetectorRef);\r\n elementRef = inject(ElementRef);\r\n\r\n ngAfterViewInit() {\r\n XResize(this.sliderSelect().nativeElement)\r\n .pipe(debounceTime(30), takeUntil(this.unSubject))\r\n .subscribe((x) => {\r\n this.resizeObserver = x.resizeObserver;\r\n this.setLeft();\r\n this.setDisplayValue();\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n this.resizeObserver?.disconnect();\r\n }\r\n\r\n change() {\r\n const getVal = (offset: number) => {\r\n return parseFloat(\r\n Number(((this.max() - this.min()) * offset) / 100 + this.min()).toFixed(this.precisionSignal())\r\n );\r\n };\r\n const startVal = getVal(this.startOffset());\r\n if (this.isNumber()) {\r\n this.value.set(startVal);\r\n } else {\r\n const endVal = getVal(this.endOffset());\r\n if (endVal < startVal) {\r\n this.value.set([endVal, startVal]);\r\n } else {\r\n this.value.set([startVal, endVal]);\r\n }\r\n }\r\n\r\n this.setDisplayValue();\r\n if (this.onChange) this.onChange(this.value());\r\n }\r\n\r\n getOffset(val: number) {\r\n return Math.abs(\r\n Math.round(((val + (this.reverse() ? -this.min() : this.min())) * 100) / (this.max() - this.min()))\r\n );\r\n }\r\n\r\n setLeft() {\r\n let startVal = 0,\r\n endVal = 0;\r\n const value = this.value();\r\n if (this.isNumber()) {\r\n startVal = value as number;\r\n } else if (XIsArray(value) && value.length > 1) {\r\n startVal = value[0] as number;\r\n endVal = value[1] as number;\r\n this.endOffset.set(this.getOffset(endVal));\r\n this.end.set(this.endOffset());\r\n }\r\n\r\n this.startOffset.set(this.getOffset(startVal));\r\n this.start.set(this.startOffset());\r\n\r\n this.setDrag();\r\n }\r\n\r\n setDisplayValue() {\r\n const displayVal = (val: number) => {\r\n return Number(val).toFixed(this.precisionSignal());\r\n };\r\n const value = this.value();\r\n if (this.isNumber()) {\r\n this.startDisplayValue.set(displayVal(value as number));\r\n } else {\r\n if (XIsArray(value) && value.length > 1) {\r\n if (this.startOffset() > this.endOffset()) {\r\n this.startDisplayValue.set(displayVal(value[1] as number));\r\n this.endDisplayValue.set(displayVal(value[0] as number));\r\n } else {\r\n this.startDisplayValue.set(displayVal(value[0] as number));\r\n this.endDisplayValue.set(displayVal(value[1] as number));\r\n }\r\n }\r\n }\r\n }\r\n\r\n started(drag: CdkDragStart, type: 'start' | 'end' | 'both' = 'start') {\r\n this.starting.set(true);\r\n if (['start', 'both'].includes(type)) {\r\n const start = this.startOffset();\r\n this.start.set(start);\r\n if (this.showStartTooltip()) {\r\n this.startManual.set(true);\r\n this.startVisible.set(true);\r\n }\r\n }\r\n if (['end', 'both'].includes(type)) {\r\n const end = this.endOffset();\r\n this.end.set(end);\r\n if (this.showEndTooltip()) {\r\n this.endManual.set(true);\r\n this.endVisible.set(true);\r\n }\r\n }\r\n this.formControlValidator();\r\n this.dragStartEmit.emit(drag);\r\n }\r\n\r\n moved(drag: CdkDragMove, type: 'start' | 'end' | 'both' = 'start') {\r\n let transform = drag.source.getFreeDragPosition();\r\n this.setDrag(this.vertical() ? transform.y : transform.x, type);\r\n drag.source.reset();\r\n if (['start', 'both'].includes(type) && this.showStartTooltip()) {\r\n this.tooltipStart()?.updatePortal();\r\n }\r\n if (['end', 'both'].includes(type) && this.showEndTooltip()) {\r\n this.tooltipEnd()?.updatePortal();\r\n }\r\n this.change();\r\n this.dragMoveEmit.emit(drag);\r\n }\r\n\r\n ended(drag: CdkDragEnd, type: 'start' | 'end' | 'both' = 'start') {\r\n if (['start', 'both'].includes(type)) {\r\n if (this.showStartTooltip()) {\r\n this.startManual.set(false);\r\n this.startVisible.set(false);\r\n }\r\n }\r\n if (['end', 'both'].includes(type)) {\r\n if (this.showEndTooltip()) {\r\n this.endManual.set(false);\r\n this.endVisible.set(false);\r\n }\r\n }\r\n this.starting.set(false);\r\n this.dragEndEmit.emit(drag);\r\n }\r\n\r\n setDrag(distance: number = 0, type: 'start' | 'end' | 'both' = 'both') {\r\n if (typeof this.railRef().nativeElement.getBoundingClientRect !== 'function') return;\r\n let railBox = this.railRef().nativeElement.getBoundingClientRect();\r\n let railBoxLength = this.vertical() ? railBox.height : railBox.width;\r\n let stepLength = railBoxLength / ((this.max() - this.min()) / this.step());\r\n let offset = Math.abs(distance % stepLength);\r\n let dis =\r\n offset < stepLength / 2\r\n ? distance > 0\r\n ? distance - offset\r\n : distance + offset\r\n : distance > 0\r\n ? distance + stepLength - offset\r\n : distance - stepLength + offset;\r\n\r\n const setOffset = (d: number) => {\r\n let x1 = (d / 100) * railBoxLength;\r\n if (this.vertical()) {\r\n x1 += this.reverse() ? dis : -dis;\r\n } else {\r\n x1 += this.reverse() ? -dis : dis;\r\n }\r\n return Math.round((x1 / railBoxLength) * 100);\r\n };\r\n\r\n if (type === 'both') {\r\n this.startOffset.set(setOffset(this.start()!));\r\n this.endOffset.set(setOffset(this.end()!));\r\n } else if (type === 'start') {\r\n this.startOffset.set(setOffset(this.start()!));\r\n } else if (type === 'end') {\r\n this.endOffset.set(setOffset(this.end()!));\r\n }\r\n\r\n this.setDragStyles();\r\n }\r\n\r\n setDragStyles() {\r\n if (this.vertical()) {\r\n if (this.isArray()) {\r\n const wd = Math.abs(this.endOffset() - this.startOffset());\r\n const lt = this.endOffset() > this.startOffset() ? this.startOffset() : this.endOffset();\r\n if (this.reverse()) {\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'top', `${this.startOffset()}%`);\r\n this.renderer.setStyle(this.dragEndRef().nativeElement, 'top', `${this.endOffset()}%`);\r\n this.renderer.setStyle(this.processRef().nativeElement, 'top', `${lt}%`);\r\n } else {\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'bottom', `${this.startOffset()}%`);\r\n this.renderer.setStyle(this.dragEndRef().nativeElement, 'bottom', `${this.endOffset()}%`);\r\n this.renderer.setStyle(this.processRef().nativeElement, 'bottom', `${lt}%`);\r\n }\r\n this.renderer.setStyle(this.processRef().nativeElement, 'height', `${wd}%`);\r\n } else {\r\n if (this.reverse()) {\r\n this.renderer.removeStyle(this.dragStartRef().nativeElement, 'bottom');\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'top', `${this.startOffset()}%`);\r\n } else {\r\n this.renderer.removeStyle(this.dragStartRef().nativeElement, 'top');\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'bottom', `${this.startOffset()}%`);\r\n }\r\n this.renderer.setStyle(this.processRef().nativeElement, 'height', `${this.startOffset()}%`);\r\n }\r\n } else {\r\n if (this.isArray()) {\r\n const wd = Math.abs(this.endOffset() - this.startOffset());\r\n const lt = this.endOffset() > this.startOffset() ? this.startOffset() : this.endOffset();\r\n if (this.reverse()) {\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'right', `${this.startOffset()}%`);\r\n this.renderer.setStyle(this.dragEndRef().nativeElement, 'right', `${this.endOffset()}%`);\r\n this.renderer.setStyle(this.processRef().nativeElement, 'right', `${lt}%`);\r\n } else {\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'left', `${this.startOffset()}%`);\r\n this.renderer.setStyle(this.dragEndRef().nativeElement, 'left', `${this.endOffset()}%`);\r\n this.renderer.setStyle(this.processRef().nativeElement, 'left', `${lt}%`);\r\n }\r\n this.renderer.setStyle(this.processRef().nativeElement, 'width', `${wd}%`);\r\n } else {\r\n if (this.reverse()) {\r\n this.renderer.removeStyle(this.dragStartRef().nativeElement, 'left');\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'right', `${this.startOffset()}%`);\r\n } else {\r\n this.renderer.removeStyle(this.dragStartRef().nativeElement, 'right');\r\n this.renderer.setStyle(this.dragStartRef().nativeElement, 'left', `${this.startOffset()}%`);\r\n }\r\n this.renderer.setStyle(this.processRef().nativeElement, 'width', `${this.startOffset()}%`);\r\n }\r\n }\r\n }\r\n}\r\n","<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-slider-select-reverse]=\"reverse()\"\r\n [class.x-slider-select-range]=\"range()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-slider-select-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n *xOutlet=\"label()\"\r\n >\r\n {{ label() }}\r\n </label>\r\n }\r\n <div class=\"x-slider-select-inner\" #innerRef>\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div\r\n #processRef\r\n class=\"x-slider-select-process\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed() || !range()\"\r\n [cdkDragBoundary]=\"trackRef\"\r\n (cdkDragStarted)=\"started($event, 'both')\"\r\n (cdkDragEnded)=\"ended($event, 'both')\"\r\n (cdkDragMoved)=\"moved($event, 'both')\"\r\n ></div>\r\n </div>\r\n <div class=\"x-slider-select-marks\">\r\n @for (mark of markList(); track mark.label) {\r\n <div class=\"x-slider-select-mark\" [ngStyle]=\"mark.style\">\r\n <span class=\"x-slider-select-mark-label\">{{ mark.label }}</span>\r\n </div>\r\n }\r\n </div>\r\n <div\r\n #dragStartRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'start')\"\r\n (cdkDragEnded)=\"ended($event, 'start')\"\r\n (cdkDragMoved)=\"moved($event, 'start')\"\r\n >\r\n <div\r\n #tooltipStart\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"startVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip()\"\r\n [content]=\"tooltipStartTpl\"\r\n [(visible)]=\"startVisible\"\r\n [manual]=\"startManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipStartTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: startDisplayValue() }\">{{\r\n startDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n <div\r\n [hidden]=\"!range()\"\r\n #dragEndRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'end')\"\r\n (cdkDragEnded)=\"ended($event, 'end')\"\r\n (cdkDragMoved)=\"moved($event, 'end')\"\r\n >\r\n <div\r\n #tooltipEnd\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"endVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip()\"\r\n [content]=\"tooltipEndTpl\"\r\n [(visible)]=\"endVisible\"\r\n [manual]=\"endManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipEndTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: endDisplayValue() }\">{{\r\n endDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSliderSelectComponent } from './slider-select.component';\r\n\r\n@NgModule({\r\n exports: [XSliderSelectComponent],\r\n imports: [XSliderSelectComponent]\r\n})\r\nexport class XSliderSelectModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|