@ng-nest/ui 20.2.9 → 20.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attachments/index.d.ts +4 -5
- package/auto-complete/index.d.ts +11 -12
- package/base-form/index.d.ts +8 -9
- package/bubble/index.d.ts +12 -7
- package/cascade/index.d.ts +12 -13
- package/checkbox/index.d.ts +5 -6
- package/color-picker/index.d.ts +12 -13
- package/contextmenu/index.d.ts +176 -0
- package/core/index.d.ts +36 -1
- package/coversations/index.d.ts +4 -5
- package/date-picker/index.d.ts +23 -25
- package/dialog/index.d.ts +182 -102
- package/divider/index.d.ts +113 -0
- package/dropdown/index.d.ts +12 -2
- package/fesm2022/ng-nest-ui-auto-complete.mjs +11 -3
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +27 -46
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-bubble.mjs +141 -129
- package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +10 -2
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +10 -2
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-contextmenu.mjs +445 -0
- package/fesm2022/ng-nest-ui-contextmenu.mjs.map +1 -0
- package/fesm2022/ng-nest-ui-core.mjs +2 -2
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +20 -4
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +51 -46
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-divider.mjs +124 -0
- package/fesm2022/ng-nest-ui-divider.mjs.map +1 -0
- package/fesm2022/ng-nest-ui-dropdown.mjs +17 -5
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +26 -20
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +19 -18
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +108 -69
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +80 -12
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +3 -0
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +16 -4
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-scrollable.mjs +81 -9
- package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +67 -17
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-sender.mjs +1 -1
- package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +0 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-splitter.mjs +407 -0
- package/fesm2022/ng-nest-ui-splitter.mjs.map +1 -0
- package/fesm2022/ng-nest-ui-table-view.mjs +277 -248
- package/fesm2022/ng-nest-ui-table-view.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +18 -6
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +40 -21
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +12 -4
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +16 -4
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-watermark.mjs +378 -0
- package/fesm2022/ng-nest-ui-watermark.mjs.map +1 -0
- package/fesm2022/ng-nest-ui.mjs +4 -0
- package/fesm2022/ng-nest-ui.mjs.map +1 -1
- package/find/index.d.ts +6 -7
- package/form/index.d.ts +24 -13
- package/i18n/index.d.ts +29 -28
- package/image/index.d.ts +30 -14
- package/index.d.ts +4 -0
- package/input/index.d.ts +37 -10
- package/input-number/index.d.ts +8 -9
- package/list/index.d.ts +35 -25
- package/menu/index.d.ts +15 -3
- package/message/index.d.ts +15 -3
- package/message-box/index.d.ts +18 -5
- package/notification/index.d.ts +15 -3
- package/package.json +65 -49
- package/radio/index.d.ts +5 -6
- package/rate/index.d.ts +4 -5
- package/scrollable/index.d.ts +14 -2
- package/select/index.d.ts +51 -12
- package/sender/index.d.ts +6 -7
- package/slider-select/index.d.ts +4 -6
- package/splitter/index.d.ts +163 -0
- package/switch/index.d.ts +4 -5
- package/table/index.d.ts +60 -5
- package/table-view/index.d.ts +99 -65
- package/textarea/index.d.ts +8 -9
- package/theme/index.d.ts +4 -5
- package/time-picker/index.d.ts +15 -14
- package/transfer/index.d.ts +4 -5
- package/tree/index.d.ts +29 -3
- package/tree-select/index.d.ts +12 -13
- package/upload/index.d.ts +4 -5
- package/watermark/index.d.ts +267 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-sender.mjs","sources":["../../../../lib/ng-nest/ui/sender/sender.property.ts","../../../../lib/ng-nest/ui/sender/stop.component.ts","../../../../lib/ng-nest/ui/sender/stop.component.html","../../../../lib/ng-nest/ui/sender/sender.component.ts","../../../../lib/ng-nest/ui/sender/sender.component.html","../../../../lib/ng-nest/ui/sender/sender.module.ts","../../../../lib/ng-nest/ui/sender/ng-nest-ui-sender.ts"],"sourcesContent":["import { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport { Component, input, output, TemplateRef } from '@angular/core';\r\nimport { XBoolean, XNumber, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Sender\r\n * @selector x-sender\r\n * @decorator component\r\n */\r\nexport const XSenderPrefix = 'x-sender';\r\nconst X_SENDER_CONFIG_NAME = 'sender';\r\n\r\n/**\r\n * Sender Property\r\n */\r\n@Component({ selector: `${XSenderPrefix}-property`, template: '' })\r\nexport class XSenderProperty extends XFormControlFunction(X_SENDER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 最小的行数\r\n * @en_US min number of rows\r\n */\r\n readonly minRows = input<number, XNumber>(1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 最大的行数\r\n * @en_US max number of rows\r\n */\r\n readonly maxRows = input<number, XNumber>(Number.MAX_SAFE_INTEGER, { transform: XToNumber });\r\n /**\r\n * @zh_CN 提交加载中\r\n * @en_US Loading\r\n */\r\n readonly loading = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 提交类型\r\n * @en_US Submit type\r\n */\r\n readonly submitType = input<XSenderSubmitType>(this.config?.submitType ?? 'enter');\r\n /**\r\n * @zh_CN 提交\r\n * @en_US Submit\r\n */\r\n readonly submit = output<Event>();\r\n /**\r\n * @zh_CN 暂停提交\r\n * @en_US Stop\r\n */\r\n readonly stop = output<Event>();\r\n /**\r\n * @zh_CN 自定义后缀\r\n * @en_US Custom suffix\r\n */\r\n readonly suffix = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义前缀\r\n * @en_US Custom prefix\r\n */\r\n readonly prefix = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义头部\r\n * @en_US Custom header\r\n */\r\n readonly header = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义底部\r\n * @en_US Custom footer\r\n */\r\n readonly footer = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n override readonly placeholder = input<string | string[]>('');\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 Readonly\r\n */\r\n override readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n override readonly pattern = input<RegExp | RegExp[] | any>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n override readonly message = input<string | string[]>([]);\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n override readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n\r\n/**\r\n * Sender Option\r\n */\r\nexport interface XSenderOption extends XFormOption {\r\n /**\r\n * @zh_CN 最小的行数\r\n * @en_US min number of rows\r\n */\r\n minRows?: number;\r\n /**\r\n * @zh_CN 最大的行数\r\n * @en_US max number of rows\r\n */\r\n maxRows?: number;\r\n /**\r\n * @zh_CN 提交加载中\r\n * @en_US Loading\r\n */\r\n loading?: boolean;\r\n /**\r\n * @zh_CN 提交类型\r\n * @en_US Submit type\r\n */\r\n submitType?: XSenderSubmitType;\r\n /**\r\n * @zh_CN 提交\r\n * @en_US Submit\r\n */\r\n submit?: (event: Event) => void;\r\n /**\r\n * @zh_CN 自定义后缀\r\n * @en_US Custom suffix\r\n */\r\n suffix?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 自定义前缀\r\n * @en_US Custom prefix\r\n */\r\n prefix?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 自定义头部\r\n * @en_US Custom header\r\n */\r\n header?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 自定义底部\r\n * @en_US Custom footer\r\n */\r\n footer?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n placeholder?: string;\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 Readonly\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n pattern?: RegExp | RegExp[] | any;\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n message?: string | string[];\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n inputValidator: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 提交类型\r\n * @en_US Submit type\r\n */\r\nexport type XSenderSubmitType = 'enter' | 'shiftEnter';\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'x-sender-stop',\r\n templateUrl: './stop.component.html',\r\n styleUrls: ['./stop.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: []\r\n})\r\nexport class XSenderStopComponent {}\r\n","<div class=\"x-sender-stop\">\r\n <svg color=\"currentColor\" viewBox=\"0 0 1000 1000\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect fill=\"currentColor\" height=\"400\" width=\"400\" rx=\"45\" ry=\"45\" x=\"300\" y=\"300\"></rect>\r\n <circle cx=\"500\" cy=\"500\" fill=\"none\" r=\"450\" stroke=\"currentColor\" stroke-width=\"100\" opacity=\"0.45\"></circle>\r\n <circle\r\n cx=\"500\"\r\n cy=\"500\"\r\n fill=\"none\"\r\n r=\"450\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"100\"\r\n stroke-dasharray=\"600 9999999\"\r\n >\r\n <animateTransform\r\n attributeName=\"transform\"\r\n dur=\"1s\"\r\n from=\"0 500 500\"\r\n repeatCount=\"indefinite\"\r\n to=\"360 500 500\"\r\n type=\"rotate\"\r\n ></animateTransform>\r\n </circle>\r\n </svg>\r\n</div>\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n viewChild,\r\n ElementRef,\r\n computed,\r\n signal,\r\n inject\r\n} from '@angular/core';\r\nimport { XSenderProperty } from './sender.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { XSenderStopComponent } from './stop.component';\r\n\r\n@Component({\r\n selector: 'x-sender',\r\n templateUrl: './sender.component.html',\r\n styleUrls: ['./sender.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XSenderComponent)],\r\n imports: [TextFieldModule, FormsModule, NgTemplateOutlet, XButtonComponent, XSenderStopComponent]\r\n})\r\nexport class XSenderComponent extends XSenderProperty {\r\n elementRef = inject(ElementRef);\r\n textarea = viewChild.required<ElementRef<HTMLTextAreaElement>>('textarea');\r\n\r\n focused = signal(false);\r\n maxRowsComputed = computed(() => {\r\n const rows = this.maxRows();\r\n return rows === Number.MAX_SAFE_INTEGER ? undefined : rows;\r\n });\r\n placeholderComputed = computed(() => {\r\n const placeholder = this.placeholder() as string;\r\n return placeholder;\r\n });\r\n\r\n onKeydown(event: KeyboardEvent) {\r\n if (this.submitType() === 'enter') {\r\n if (event.key === 'Enter' && !event.shiftKey) {\r\n event.preventDefault();\r\n this.onEnterPressed(event);\r\n }\r\n } else if (this.submitType() === 'shiftEnter') {\r\n if (event.key === 'Enter' && event.shiftKey) {\r\n event.preventDefault();\r\n this.onEnterPressed(event);\r\n }\r\n }\r\n }\r\n\r\n onEnterPressed(event: Event) {\r\n this.submit.emit(event);\r\n }\r\n\r\n onStop(event: Event) {\r\n this.stop.emit(event);\r\n }\r\n\r\n inputFocus(type: 'focus' | 'select' | 'before' | 'after' = 'after') {\r\n this.textarea().nativeElement.focus();\r\n if (!this.value()) return;\r\n if (type === 'after') {\r\n this.textarea().nativeElement.setSelectionRange(this.value().length, this.value().length);\r\n } else if (type === 'before') {\r\n this.textarea().nativeElement.setSelectionRange(0, 0);\r\n } else if (type === 'select') {\r\n this.textarea().nativeElement.setSelectionRange(0, this.value().length);\r\n }\r\n }\r\n\r\n change(value: any) {\r\n if (this.onChange) this.onChange(value);\r\n }\r\n}\r\n","<div\r\n class=\"x-sender\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-focused]=\"focused()\"\r\n>\r\n <div class=\"x-sender-wrapper\">\r\n @if (header()) {\r\n <div class=\"x-sender-header\">\r\n <ng-container *ngTemplateOutlet=\"header()\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"x-sender-content\" (click)=\"inputFocus('after')\">\r\n @if (prefix()) {\r\n <div class=\"x-sender-prefix\">\r\n <ng-container *ngTemplateOutlet=\"prefix()\"></ng-container>\r\n </div>\r\n }\r\n <textarea\r\n #textarea\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [readOnly]=\"readonly()\"\r\n [placeholder]=\"placeholderComputed()\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n cdkTextareaAutosize\r\n [cdkAutosizeMinRows]=\"minRows()\"\r\n [cdkAutosizeMaxRows]=\"maxRowsComputed()\"\r\n (keydown)=\"onKeydown($event)\"\r\n (focus)=\"focused.set(true)\"\r\n (blur)=\"focused.set(false)\"\r\n (input)=\"formControlValidator()\"\r\n (click)=\"$event.stopPropagation()\"\r\n class=\"x-sender-textarea\"\r\n ></textarea>\r\n\r\n @if (suffix()) {\r\n <div class=\"x-sender-suffix\">\r\n <ng-container *ngTemplateOutlet=\"suffix()\"></ng-container>\r\n </div>\r\n } @else {\r\n @if (!footer()) {\r\n <div class=\"x-sender-suffix\">\r\n @if (!loading()) {\r\n <x-button\r\n type=\"primary\"\r\n circle\r\n flat\r\n icon=\"fto-send\"\r\n [loading]=\"loading()\"\r\n [disabled]=\"disabledComputed()\"\r\n (click)=\"onEnterPressed($event)\"\r\n ></x-button>\r\n } @else {\r\n <x-sender-stop (click)=\"onStop($event)\"></x-sender-stop>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n @if (footer()) {\r\n <div class=\"x-sender-footer\">\r\n <ng-container *ngTemplateOutlet=\"footer()\"></ng-container>\r\n </div>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSenderComponent } from './sender.component';\r\nimport { XSenderStopComponent } from './stop.component';\r\n\r\n@NgModule({\r\n exports: [XSenderComponent, XSenderStopComponent],\r\n imports: [XSenderComponent, XSenderStopComponent]\r\n})\r\nexport class XSenderModule {}\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-sender.mjs","sources":["../../../../lib/ng-nest/ui/sender/sender.property.ts","../../../../lib/ng-nest/ui/sender/stop.component.ts","../../../../lib/ng-nest/ui/sender/stop.component.html","../../../../lib/ng-nest/ui/sender/sender.component.ts","../../../../lib/ng-nest/ui/sender/sender.component.html","../../../../lib/ng-nest/ui/sender/sender.module.ts","../../../../lib/ng-nest/ui/sender/ng-nest-ui-sender.ts"],"sourcesContent":["import { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport { Component, input, output, TemplateRef } from '@angular/core';\r\nimport { XBoolean, XNumber, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Sender\r\n * @selector x-sender\r\n * @decorator component\r\n */\r\nexport const XSenderPrefix = 'x-sender';\r\nconst X_SENDER_CONFIG_NAME = 'sender';\r\n\r\n/**\r\n * Sender Property\r\n */\r\n@Component({ selector: `${XSenderPrefix}-property`, template: '' })\r\nexport class XSenderProperty extends XFormControlFunction(X_SENDER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 最小的行数\r\n * @en_US min number of rows\r\n */\r\n readonly minRows = input<number, XNumber>(1, { transform: XToNumber });\r\n /**\r\n * @zh_CN 最大的行数\r\n * @en_US max number of rows\r\n */\r\n readonly maxRows = input<number, XNumber>(Number.MAX_SAFE_INTEGER, { transform: XToNumber });\r\n /**\r\n * @zh_CN 提交加载中\r\n * @en_US Loading\r\n */\r\n readonly loading = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 提交类型\r\n * @en_US Submit type\r\n */\r\n readonly submitType = input<XSenderSubmitType>(this.config?.submitType ?? 'enter');\r\n /**\r\n * @zh_CN 提交\r\n * @en_US Submit\r\n */\r\n readonly submit = output<Event>();\r\n /**\r\n * @zh_CN 暂停提交\r\n * @en_US Stop\r\n */\r\n readonly stop = output<Event>();\r\n /**\r\n * @zh_CN 自定义后缀\r\n * @en_US Custom suffix\r\n */\r\n readonly suffix = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义前缀\r\n * @en_US Custom prefix\r\n */\r\n readonly prefix = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义头部\r\n * @en_US Custom header\r\n */\r\n readonly header = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义底部\r\n * @en_US Custom footer\r\n */\r\n readonly footer = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n override readonly placeholder = input<string | string[]>('');\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 Readonly\r\n */\r\n override readonly readonly = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n override readonly pattern = input<RegExp | null>(null);\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n override readonly message = input<string>('');\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n override readonly inputValidator = input<(value: any) => boolean>();\r\n}\r\n\r\n/**\r\n * Sender Option\r\n */\r\nexport interface XSenderOption extends XFormOption {\r\n /**\r\n * @zh_CN 最小的行数\r\n * @en_US min number of rows\r\n */\r\n minRows?: number;\r\n /**\r\n * @zh_CN 最大的行数\r\n * @en_US max number of rows\r\n */\r\n maxRows?: number;\r\n /**\r\n * @zh_CN 提交加载中\r\n * @en_US Loading\r\n */\r\n loading?: boolean;\r\n /**\r\n * @zh_CN 提交类型\r\n * @en_US Submit type\r\n */\r\n submitType?: XSenderSubmitType;\r\n /**\r\n * @zh_CN 提交\r\n * @en_US Submit\r\n */\r\n submit?: (event: Event) => void;\r\n /**\r\n * @zh_CN 自定义后缀\r\n * @en_US Custom suffix\r\n */\r\n suffix?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 自定义前缀\r\n * @en_US Custom prefix\r\n */\r\n prefix?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 自定义头部\r\n * @en_US Custom header\r\n */\r\n header?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 自定义底部\r\n * @en_US Custom footer\r\n */\r\n footer?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 输入提示信息\r\n * @en_US Enter prompt information\r\n */\r\n placeholder?: string;\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 Readonly\r\n */\r\n readonly?: boolean;\r\n /**\r\n * @zh_CN 正则验证规则\r\n * @en_US Regular verification rules\r\n */\r\n pattern?: RegExp;\r\n /**\r\n * @zh_CN 验证不通过提示文字\r\n * @en_US Verify not pass the prompt text\r\n */\r\n message?: string;\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Enter the verification function\r\n */\r\n inputValidator: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 提交类型\r\n * @en_US Submit type\r\n */\r\nexport type XSenderSubmitType = 'enter' | 'shiftEnter';\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'x-sender-stop',\r\n templateUrl: './stop.component.html',\r\n styleUrls: ['./stop.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: []\r\n})\r\nexport class XSenderStopComponent {}\r\n","<div class=\"x-sender-stop\">\r\n <svg color=\"currentColor\" viewBox=\"0 0 1000 1000\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect fill=\"currentColor\" height=\"400\" width=\"400\" rx=\"45\" ry=\"45\" x=\"300\" y=\"300\"></rect>\r\n <circle cx=\"500\" cy=\"500\" fill=\"none\" r=\"450\" stroke=\"currentColor\" stroke-width=\"100\" opacity=\"0.45\"></circle>\r\n <circle\r\n cx=\"500\"\r\n cy=\"500\"\r\n fill=\"none\"\r\n r=\"450\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"100\"\r\n stroke-dasharray=\"600 9999999\"\r\n >\r\n <animateTransform\r\n attributeName=\"transform\"\r\n dur=\"1s\"\r\n from=\"0 500 500\"\r\n repeatCount=\"indefinite\"\r\n to=\"360 500 500\"\r\n type=\"rotate\"\r\n ></animateTransform>\r\n </circle>\r\n </svg>\r\n</div>\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n viewChild,\r\n ElementRef,\r\n computed,\r\n signal,\r\n inject\r\n} from '@angular/core';\r\nimport { XSenderProperty } from './sender.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { XSenderStopComponent } from './stop.component';\r\n\r\n@Component({\r\n selector: 'x-sender',\r\n templateUrl: './sender.component.html',\r\n styleUrls: ['./sender.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XSenderComponent)],\r\n imports: [TextFieldModule, FormsModule, NgTemplateOutlet, XButtonComponent, XSenderStopComponent]\r\n})\r\nexport class XSenderComponent extends XSenderProperty {\r\n elementRef = inject(ElementRef);\r\n textarea = viewChild.required<ElementRef<HTMLTextAreaElement>>('textarea');\r\n\r\n focused = signal(false);\r\n maxRowsComputed = computed(() => {\r\n const rows = this.maxRows();\r\n return rows === Number.MAX_SAFE_INTEGER ? undefined : rows;\r\n });\r\n placeholderComputed = computed(() => {\r\n const placeholder = this.placeholder() as string;\r\n return placeholder;\r\n });\r\n\r\n onKeydown(event: KeyboardEvent) {\r\n if (this.submitType() === 'enter') {\r\n if (event.key === 'Enter' && !event.shiftKey) {\r\n event.preventDefault();\r\n this.onEnterPressed(event);\r\n }\r\n } else if (this.submitType() === 'shiftEnter') {\r\n if (event.key === 'Enter' && event.shiftKey) {\r\n event.preventDefault();\r\n this.onEnterPressed(event);\r\n }\r\n }\r\n }\r\n\r\n onEnterPressed(event: Event) {\r\n this.submit.emit(event);\r\n }\r\n\r\n onStop(event: Event) {\r\n this.stop.emit(event);\r\n }\r\n\r\n inputFocus(type: 'focus' | 'select' | 'before' | 'after' = 'after') {\r\n this.textarea().nativeElement.focus();\r\n if (!this.value()) return;\r\n if (type === 'after') {\r\n this.textarea().nativeElement.setSelectionRange(this.value().length, this.value().length);\r\n } else if (type === 'before') {\r\n this.textarea().nativeElement.setSelectionRange(0, 0);\r\n } else if (type === 'select') {\r\n this.textarea().nativeElement.setSelectionRange(0, this.value().length);\r\n }\r\n }\r\n\r\n change(value: any) {\r\n if (this.onChange) this.onChange(value);\r\n }\r\n}\r\n","<div\r\n class=\"x-sender\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-focused]=\"focused()\"\r\n>\r\n <div class=\"x-sender-wrapper\">\r\n @if (header()) {\r\n <div class=\"x-sender-header\">\r\n <ng-container *ngTemplateOutlet=\"header()\"></ng-container>\r\n </div>\r\n }\r\n <div class=\"x-sender-content\" (click)=\"inputFocus('after')\">\r\n @if (prefix()) {\r\n <div class=\"x-sender-prefix\">\r\n <ng-container *ngTemplateOutlet=\"prefix()\"></ng-container>\r\n </div>\r\n }\r\n <textarea\r\n #textarea\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [readOnly]=\"readonly()\"\r\n [placeholder]=\"placeholderComputed()\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"change($event)\"\r\n cdkTextareaAutosize\r\n [cdkAutosizeMinRows]=\"minRows()\"\r\n [cdkAutosizeMaxRows]=\"maxRowsComputed()\"\r\n (keydown)=\"onKeydown($event)\"\r\n (focus)=\"focused.set(true)\"\r\n (blur)=\"focused.set(false)\"\r\n (input)=\"formControlValidator()\"\r\n (click)=\"$event.stopPropagation()\"\r\n class=\"x-sender-textarea\"\r\n ></textarea>\r\n\r\n @if (suffix()) {\r\n <div class=\"x-sender-suffix\">\r\n <ng-container *ngTemplateOutlet=\"suffix()\"></ng-container>\r\n </div>\r\n } @else {\r\n @if (!footer()) {\r\n <div class=\"x-sender-suffix\">\r\n @if (!loading()) {\r\n <x-button\r\n type=\"primary\"\r\n circle\r\n flat\r\n icon=\"fto-send\"\r\n [loading]=\"loading()\"\r\n [disabled]=\"disabledComputed()\"\r\n (click)=\"onEnterPressed($event)\"\r\n ></x-button>\r\n } @else {\r\n <x-sender-stop (click)=\"onStop($event)\"></x-sender-stop>\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n @if (footer()) {\r\n <div class=\"x-sender-footer\">\r\n <ng-container *ngTemplateOutlet=\"footer()\"></ng-container>\r\n </div>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSenderComponent } from './sender.component';\r\nimport { XSenderStopComponent } from './stop.component';\r\n\r\n@NgModule({\r\n exports: [XSenderComponent, XSenderStopComponent],\r\n imports: [XSenderComponent, XSenderStopComponent]\r\n})\r\nexport class XSenderModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -164,7 +164,6 @@ class XSliderSelectComponent extends XSliderSelectProperty {
|
|
|
164
164
|
}
|
|
165
165
|
return null;
|
|
166
166
|
}, ...(ngDevMode ? [{ debugName: "tooltipEnd" }] : []));
|
|
167
|
-
this.value = signal(0, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
168
167
|
this.starting = signal(false, ...(ngDevMode ? [{ debugName: "starting" }] : []));
|
|
169
168
|
this.startOffset = signal(0, ...(ngDevMode ? [{ debugName: "startOffset" }] : []));
|
|
170
169
|
this.startVisible = signal(false, ...(ngDevMode ? [{ debugName: "startVisible" }] : []));
|
|
@@ -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":"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"}
|
|
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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"}
|