@ng-nest/ui 21.0.2 → 21.0.4
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-affix.mjs +12 -12
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +22 -24
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +19 -19
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +7 -7
- package/fesm2022/ng-nest-ui-attachments.mjs +22 -22
- package/fesm2022/ng-nest-ui-attachments.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +26 -30
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +13 -13
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +16 -16
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +13 -13
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-bubble.mjs +20 -20
- package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +31 -31
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
- package/fesm2022/ng-nest-ui-card.mjs +11 -11
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +24 -24
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +25 -29
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +22 -22
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +22 -22
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +25 -25
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +10 -10
- package/fesm2022/ng-nest-ui-comment.mjs +19 -19
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +34 -34
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +18 -18
- package/fesm2022/ng-nest-ui-coversations.mjs +11 -11
- package/fesm2022/ng-nest-ui-coversations.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +87 -87
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +20 -20
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +58 -58
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +7 -7
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +34 -34
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +21 -21
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +10 -10
- package/fesm2022/ng-nest-ui-examples.mjs +7 -7
- package/fesm2022/ng-nest-ui-find.mjs +31 -35
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +21 -21
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +32 -31
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +14 -14
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +21 -21
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -11
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +21 -21
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +36 -40
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +11 -11
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +25 -25
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +13 -13
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +41 -41
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +14 -14
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +22 -22
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2022/ng-nest-ui-message.mjs +10 -10
- package/fesm2022/ng-nest-ui-notification.mjs +10 -10
- package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2022/ng-nest-ui-pagination.mjs +27 -31
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2022/ng-nest-ui-popconfirm.mjs +14 -14
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +19 -19
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-progress.mjs +22 -22
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-prompts.mjs +12 -12
- package/fesm2022/ng-nest-ui-prompts.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +20 -20
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +15 -15
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +14 -14
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +10 -10
- package/fesm2022/ng-nest-ui-ripple.mjs +12 -12
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-scrollable.mjs +19 -7
- package/fesm2022/ng-nest-ui-scrollable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +35 -39
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-sender.mjs +19 -19
- package/fesm2022/ng-nest-ui-sender.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +13 -13
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +21 -21
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +16 -18
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2022/ng-nest-ui-steps.mjs +33 -18
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-suggestion.mjs +17 -17
- package/fesm2022/ng-nest-ui-suggestion.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +15 -15
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table-view.mjs +58 -58
- package/fesm2022/ng-nest-ui-table.mjs +90 -112
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +38 -40
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +16 -16
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +19 -19
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +12 -12
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-thought-chain.mjs +12 -12
- package/fesm2022/ng-nest-ui-thought-chain.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +28 -28
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +12 -12
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +17 -17
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +14 -14
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +17 -17
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +36 -42
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +44 -46
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +10 -10
- package/fesm2022/ng-nest-ui-upload.mjs +24 -24
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-welcome.mjs +10 -10
- package/package.json +1 -1
- package/types/ng-nest-ui-i18n.d.ts +13 -11
- package/types/ng-nest-ui-scrollable.d.ts +6 -0
- package/types/ng-nest-ui-steps.d.ts +18 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-steps.mjs","sources":["../../../../lib/ng-nest/ui/steps/steps.property.ts","../../../../lib/ng-nest/ui/steps/steps.component.ts","../../../../lib/ng-nest/ui/steps/steps.component.html","../../../../lib/ng-nest/ui/steps/steps.module.ts","../../../../lib/ng-nest/ui/steps/ng-nest-ui-steps.ts"],"sourcesContent":["import { XToDataArray, XToNumber, XToBoolean, XPropertyFunction } from '@ng-nest/ui/core';\r\nimport { Component, input, TemplateRef } from '@angular/core';\r\nimport type { XParentIdentityProperty, XNumber, XBoolean, XDataArray } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Steps\r\n * @selector x-steps\r\n * @decorator component\r\n */\r\nexport const XStepsPrefix = 'x-steps';\r\nconst X_STEPS_CONFIG_NAME = 'steps';\r\n\r\n/**\r\n * Steps Property\r\n */\r\n@Component({ selector: `${XStepsPrefix}-property`, template: '' })\r\nexport class XStepsProperty extends XPropertyFunction(X_STEPS_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n readonly data = input<XStepsNode[], XDataArray<XStepsNode>>([], { transform: XToDataArray });\r\n /**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\n readonly layout = input<XStepsLayout>('row');\r\n /**\r\n * @zh_CN 当前激活节点\r\n * @en_US Currently active node\r\n */\r\n readonly activatedIndex = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 步骤开始序号\r\n * @en_US Step start number\r\n */\r\n readonly startIndex = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 当前激活节点状态\r\n * @en_US Current active node status\r\n */\r\n readonly status = input<XStepsStatus>();\r\n /**\r\n * @zh_CN 自定义节点\r\n * @en_US Custom node\r\n */\r\n readonly customTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 节点设置的状态优先,将不会自动计算当前节点,`activatedIndex` 和 `status` 将失效\r\n * @en_US the status set by the node takes precedence, and the current node will not be calculated, `activatedIndex` and `status` will be invalidated\r\n */\r\n readonly nodeStatus = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\nexport interface XStepsNode extends XParentIdentityProperty<XStepsNode> {\r\n /**\r\n * @zh_CN 状态\r\n * @en_US Status\r\n */\r\n status?: XStepsStatus;\r\n /**\r\n * @zh_CN 描述\r\n * @en_US Description\r\n */\r\n description?: string;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XStepsLayout = 'row' | 'column';\r\n\r\n/**\r\n * @zh_CN 节点状态\r\n * @en_US Node status\r\n */\r\nexport type XStepsStatus = 'wait' | 'process' | 'finish' | 'error';\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XStepsPrefix, XStepsProperty } from './steps.property';\r\nimport { XIsUndefined, XIsNumber, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: `${XStepsPrefix}`,\r\n imports: [NgClass, XIconComponent, XOutletDirective],\r\n templateUrl: './steps.component.html',\r\n styleUrls: ['./steps.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XStepsComponent extends XStepsProperty {\r\n nodes = computed(() => {\r\n const data = this.data();\r\n const activatedIndex = this.activatedIndex();\r\n const status = this.status();\r\n const nodeStatus = this.nodeStatus();\r\n return data.map((x, index) => {\r\n if (nodeStatus) {\r\n if (XIsUndefined(x.status)) {\r\n x.status = 'wait';\r\n }\r\n } else {\r\n if (XIsUndefined(activatedIndex)) {\r\n x.status = 'wait';\r\n } else if (XIsNumber(activatedIndex)) {\r\n x.status = index < activatedIndex ? 'finish' : index === activatedIndex ? 'process' : 'wait';\r\n }\r\n if (status && index === activatedIndex) x.status = status;\r\n }\r\n\r\n return x;\r\n });\r\n });\r\n\r\n classMap = computed(() => ({\r\n [`${XStepsPrefix}-${this.layout()}`]: !XIsEmpty(this.layout())\r\n }));\r\n\r\n getIndex(index: number) {\r\n return this.startIndex() + index + 1;\r\n }\r\n}\r\n","<div #steps class=\"x-steps\" [ngClass]=\"classMap()\">\r\n @for (node of nodes(); track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl(); context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout() === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">{{ node.label }}</span>\r\n @if (layout() === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">{{ node.description }}</div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XStepsComponent } from './steps.component';\r\n\r\n@NgModule({\r\n exports: [XStepsComponent],\r\n imports: [XStepsComponent]\r\n})\r\nexport class XStepsModule {}\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-steps.mjs","sources":["../../../../lib/ng-nest/ui/steps/steps.property.ts","../../../../lib/ng-nest/ui/steps/steps.component.ts","../../../../lib/ng-nest/ui/steps/steps.component.html","../../../../lib/ng-nest/ui/steps/steps.module.ts","../../../../lib/ng-nest/ui/steps/ng-nest-ui-steps.ts"],"sourcesContent":["import { XToDataArray, XToNumber, XToBoolean, XPropertyFunction } from '@ng-nest/ui/core';\r\nimport { Component, input, TemplateRef } from '@angular/core';\r\nimport type { XParentIdentityProperty, XNumber, XBoolean, XDataArray } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Steps\r\n * @selector x-steps\r\n * @decorator component\r\n */\r\nexport const XStepsPrefix = 'x-steps';\r\nconst X_STEPS_CONFIG_NAME = 'steps';\r\n\r\n/**\r\n * Steps Property\r\n */\r\n@Component({ selector: `${XStepsPrefix}-property`, template: '' })\r\nexport class XStepsProperty extends XPropertyFunction(X_STEPS_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 节点数据\r\n * @en_US Node data\r\n */\r\n readonly data = input<XStepsNode[], XDataArray<XStepsNode>>([], { transform: XToDataArray });\r\n /**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\n readonly layout = input<XStepsLayout>('row');\r\n /**\r\n * @zh_CN 当前激活节点\r\n * @en_US Currently active node\r\n */\r\n readonly activatedIndex = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 步骤开始序号\r\n * @en_US Step start number\r\n */\r\n readonly startIndex = input<number, XNumber>(0, { transform: XToNumber });\r\n /**\r\n * @zh_CN 当前激活节点状态\r\n * @en_US Current active node status\r\n */\r\n readonly status = input<XStepsStatus>();\r\n /**\r\n * @zh_CN 自定义节点(22 版本将废弃)\r\n * @en_US Custom node (will be deprecated in version 22)\r\n */\r\n readonly customTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点图标\r\n * @en_US Custom node icon\r\n */\r\n readonly customIconTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点标题\r\n * @en_US Custom node label\r\n */\r\n readonly customLabelTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 自定义节点描述\r\n * @en_US Custom node description\r\n */\r\n readonly customDescriptionTpl = input<TemplateRef<any>>();\r\n /**\r\n * @zh_CN 节点设置的状态优先,将不会自动计算当前节点,`activatedIndex` 和 `status` 将失效\r\n * @en_US the status set by the node takes precedence, and the current node will not be calculated, `activatedIndex` and `status` will be invalidated\r\n */\r\n readonly nodeStatus = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\nexport interface XStepsNode extends XParentIdentityProperty<XStepsNode> {\r\n /**\r\n * @zh_CN 状态\r\n * @en_US Status\r\n */\r\n status?: XStepsStatus;\r\n /**\r\n * @zh_CN 描述\r\n * @en_US Description\r\n */\r\n description?: string;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 布局方式\r\n * @en_US Layout\r\n */\r\nexport type XStepsLayout = 'row' | 'column';\r\n\r\n/**\r\n * @zh_CN 节点状态\r\n * @en_US Node status\r\n */\r\nexport type XStepsStatus = 'wait' | 'process' | 'finish' | 'error';\r\n","import { Component, ViewEncapsulation, ChangeDetectionStrategy, computed } from '@angular/core';\r\nimport { XStepsPrefix, XStepsProperty } from './steps.property';\r\nimport { XIsUndefined, XIsNumber, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: `${XStepsPrefix}`,\r\n imports: [NgClass, XIconComponent, XOutletDirective],\r\n templateUrl: './steps.component.html',\r\n styleUrls: ['./steps.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XStepsComponent extends XStepsProperty {\r\n nodes = computed(() => {\r\n const data = this.data();\r\n const activatedIndex = this.activatedIndex();\r\n const status = this.status();\r\n const nodeStatus = this.nodeStatus();\r\n return data.map((x, index) => {\r\n if (nodeStatus) {\r\n if (XIsUndefined(x.status)) {\r\n x.status = 'wait';\r\n }\r\n } else {\r\n if (XIsUndefined(activatedIndex)) {\r\n x.status = 'wait';\r\n } else if (XIsNumber(activatedIndex)) {\r\n x.status = index < activatedIndex ? 'finish' : index === activatedIndex ? 'process' : 'wait';\r\n }\r\n if (status && index === activatedIndex) x.status = status;\r\n }\r\n\r\n return x;\r\n });\r\n });\r\n\r\n classMap = computed(() => ({\r\n [`${XStepsPrefix}-${this.layout()}`]: !XIsEmpty(this.layout())\r\n }));\r\n\r\n getIndex(index: number) {\r\n return this.startIndex() + index + 1;\r\n }\r\n}\r\n","<div #steps class=\"x-steps\" [ngClass]=\"classMap()\">\r\n @for (node of nodes(); track node.id; let i = $index) {\r\n <div class=\"x-steps-node x-steps-{{ node.status }}\">\r\n <div class=\"x-steps-header\">\r\n <ng-container *xOutlet=\"customTpl() ?? customIconTpl(); context: { $node: node, $index: i }\">\r\n <div class=\"x-steps-icon\" [class.x-steps-only-icon]=\"node.icon\">\r\n @if (node.icon) {\r\n <x-icon [type]=\"node.icon\"></x-icon>\r\n } @else {\r\n @switch (node.status) {\r\n @case ('finish') {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n @case ('error') {\r\n <x-icon type=\"fto-x\"></x-icon>\r\n }\r\n @default {\r\n <span>{{ getIndex(i) }}</span>\r\n }\r\n }\r\n }\r\n </div>\r\n </ng-container>\r\n @if (layout() === 'column') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-content\">\r\n <div class=\"x-steps-title\">\r\n <span class=\"x-steps-label\">\r\n <ng-container *xOutlet=\"customLabelTpl(); context: { $node: node, $index: i }\">{{\r\n node.label\r\n }}</ng-container>\r\n </span>\r\n\r\n @if (layout() === 'row') {\r\n <span class=\"x-steps-line\"></span>\r\n }\r\n </div>\r\n <div class=\"x-steps-description\">\r\n <ng-container *xOutlet=\"customDescriptionTpl(); context: { $node: node, $index: i }\">{{\r\n node.description\r\n }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XStepsComponent } from './steps.component';\r\n\r\n@NgModule({\r\n exports: [XStepsComponent],\r\n imports: [XStepsComponent]\r\n})\r\nexport class XStepsModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ class XSuggestionProperty extends XPropertyFunction(X_SUGGESTION_CONFIG_NAME) {
|
|
|
20
20
|
* @zh_CN 建议项列表
|
|
21
21
|
* @en_US Suggestion items
|
|
22
22
|
*/
|
|
23
|
-
this.data = input([], ...(ngDevMode ?
|
|
23
|
+
this.data = input([], { ...(ngDevMode ? { debugName: "data" } : {}), transform: XToDataArray });
|
|
24
24
|
/**
|
|
25
25
|
* @zh_CN 显示建议项
|
|
26
26
|
* @en_US Show Suggestion items
|
|
@@ -35,32 +35,32 @@ class XSuggestionProperty extends XPropertyFunction(X_SUGGESTION_CONFIG_NAME) {
|
|
|
35
35
|
* @zh_CN 禁用
|
|
36
36
|
* @en_US Disabled
|
|
37
37
|
*/
|
|
38
|
-
this.disabled = input(false, ...(ngDevMode ?
|
|
38
|
+
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: XToBoolean });
|
|
39
39
|
/**
|
|
40
40
|
* @zh_CN 节点中已经包含子节点数据
|
|
41
41
|
* @en_US The node already contains child node data
|
|
42
42
|
*/
|
|
43
|
-
this.children = input(false, ...(ngDevMode ?
|
|
43
|
+
this.children = input(false, { ...(ngDevMode ? { debugName: "children" } : {}), transform: XToBoolean });
|
|
44
44
|
/**
|
|
45
45
|
* @zh_CN 弹框的最小宽度
|
|
46
46
|
* @en_US Portal min-width
|
|
47
47
|
*/
|
|
48
|
-
this.portalMinWidth = input('10rem', ...(ngDevMode ?
|
|
48
|
+
this.portalMinWidth = input('10rem', { ...(ngDevMode ? { debugName: "portalMinWidth" } : {}), transform: XToCssPixelValue });
|
|
49
49
|
/**
|
|
50
50
|
* @zh_CN 弹框的最大宽度
|
|
51
51
|
* @en_US Portal max-width
|
|
52
52
|
*/
|
|
53
|
-
this.portalMaxWidth = input('', ...(ngDevMode ?
|
|
53
|
+
this.portalMaxWidth = input('', { ...(ngDevMode ? { debugName: "portalMaxWidth" } : {}), transform: XToCssPixelValue });
|
|
54
54
|
/**
|
|
55
55
|
* @zh_CN 弹框的最小高度
|
|
56
56
|
* @en_US Portal min-height
|
|
57
57
|
*/
|
|
58
|
-
this.portalMinHeight = input('', ...(ngDevMode ?
|
|
58
|
+
this.portalMinHeight = input('', { ...(ngDevMode ? { debugName: "portalMinHeight" } : {}), transform: XToCssPixelValue });
|
|
59
59
|
/**
|
|
60
60
|
* @zh_CN 弹框的最大高度
|
|
61
61
|
* @en_US Portal max-height
|
|
62
62
|
*/
|
|
63
|
-
this.portalMaxHeight = input('', ...(ngDevMode ?
|
|
63
|
+
this.portalMaxHeight = input('', { ...(ngDevMode ? { debugName: "portalMaxHeight" } : {}), transform: XToCssPixelValue });
|
|
64
64
|
/**
|
|
65
65
|
* @zh_CN 尺寸
|
|
66
66
|
* @en_US Size
|
|
@@ -72,29 +72,29 @@ class XSuggestionProperty extends XPropertyFunction(X_SUGGESTION_CONFIG_NAME) {
|
|
|
72
72
|
*/
|
|
73
73
|
this.nodeClick = output();
|
|
74
74
|
}
|
|
75
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
76
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
75
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSuggestionProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: XSuggestionProperty, isStandalone: true, selector: "x-suggestion-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, children: { classPropertyName: "children", publicName: "children", isSignal: true, isRequired: false, transformFunction: null }, portalMinWidth: { classPropertyName: "portalMinWidth", publicName: "portalMinWidth", isSignal: true, isRequired: false, transformFunction: null }, portalMaxWidth: { classPropertyName: "portalMaxWidth", publicName: "portalMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, portalMinHeight: { classPropertyName: "portalMinHeight", publicName: "portalMinHeight", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "visibleChange", nodeClick: "nodeClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSuggestionProperty, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
80
|
args: [{ selector: `${XSuggestionPrefix}-property`, template: '' }]
|
|
81
81
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }, { type: i0.Output, args: ["visibleChange"] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], children: [{ type: i0.Input, args: [{ isSignal: true, alias: "children", required: false }] }], portalMinWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMinWidth", required: false }] }], portalMaxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMaxWidth", required: false }] }], portalMinHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMinHeight", required: false }] }], portalMaxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMaxHeight", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], nodeClick: [{ type: i0.Output, args: ["nodeClick"] }] } });
|
|
82
82
|
|
|
83
83
|
class XSuggestionComponent extends XSuggestionProperty {
|
|
84
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
85
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.
|
|
84
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSuggestionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: XSuggestionComponent, isStandalone: true, selector: "x-suggestion", usesInheritance: true, ngImport: i0, template: "<div class=\"x-suggestion\">\r\n <x-dropdown\r\n [data]=\"data()\"\r\n (nodeClick)=\"nodeClick.emit($event)\"\r\n [trigger]=\"'click'\"\r\n [(visible)]=\"visible\"\r\n [placement]=\"placement()\"\r\n [disabled]=\"disabled()\"\r\n [children]=\"children()\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [portalMaxWidth]=\"portalMaxWidth()\"\r\n [portalMinHeight]=\"portalMinHeight()\"\r\n [portalMaxHeight]=\"portalMaxHeight()\"\r\n [size]=\"size()\"\r\n >\r\n <ng-content></ng-content>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-suggestion{margin:0;padding:0}.x-suggestion>x-dropdown{display:block}.x-suggestion>x-dropdown>.x-dropdown{display:block}\n"], dependencies: [{ kind: "component", type: XDropdownComponent, selector: "x-dropdown" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
86
86
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSuggestionComponent, decorators: [{
|
|
88
88
|
type: Component,
|
|
89
89
|
args: [{ selector: 'x-suggestion', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [XDropdownComponent], template: "<div class=\"x-suggestion\">\r\n <x-dropdown\r\n [data]=\"data()\"\r\n (nodeClick)=\"nodeClick.emit($event)\"\r\n [trigger]=\"'click'\"\r\n [(visible)]=\"visible\"\r\n [placement]=\"placement()\"\r\n [disabled]=\"disabled()\"\r\n [children]=\"children()\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [portalMaxWidth]=\"portalMaxWidth()\"\r\n [portalMinHeight]=\"portalMinHeight()\"\r\n [portalMaxHeight]=\"portalMaxHeight()\"\r\n [size]=\"size()\"\r\n >\r\n <ng-content></ng-content>\r\n </x-dropdown>\r\n</div>\r\n", styles: [".x-suggestion{margin:0;padding:0}.x-suggestion>x-dropdown{display:block}.x-suggestion>x-dropdown>.x-dropdown{display:block}\n"] }]
|
|
90
90
|
}] });
|
|
91
91
|
|
|
92
92
|
class XSuggestionModule {
|
|
93
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
94
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
95
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
93
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSuggestionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
94
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: XSuggestionModule, imports: [XSuggestionComponent], exports: [XSuggestionComponent] }); }
|
|
95
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSuggestionModule, imports: [XSuggestionComponent] }); }
|
|
96
96
|
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSuggestionModule, decorators: [{
|
|
98
98
|
type: NgModule,
|
|
99
99
|
args: [{
|
|
100
100
|
exports: [XSuggestionComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-suggestion.mjs","sources":["../../../../lib/ng-nest/ui/suggestion/suggestion.property.ts","../../../../lib/ng-nest/ui/suggestion/suggestion.component.ts","../../../../lib/ng-nest/ui/suggestion/suggestion.component.html","../../../../lib/ng-nest/ui/suggestion/suggestion.module.ts","../../../../lib/ng-nest/ui/suggestion/ng-nest-ui-suggestion.ts"],"sourcesContent":["import { Component, input, model, output } from '@angular/core';\r\nimport {\r\n XPropertyFunction,\r\n XDataArray,\r\n XToDataArray,\r\n XPlacement,\r\n XBoolean,\r\n XToBoolean,\r\n XNumber,\r\n XToCssPixelValue,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { XDropdownNode } from '@ng-nest/ui/dropdown';\r\n\r\n/**\r\n * Suggestion\r\n * @selector x-suggestion\r\n * @decorator component\r\n */\r\nexport const XSuggestionPrefix = 'x-suggestion';\r\nconst X_SUGGESTION_CONFIG_NAME = 'suggestion';\r\n\r\n/**\r\n * Suggestion Property\r\n */\r\n@Component({ selector: `${XSuggestionPrefix}-property`, template: '' })\r\nexport class XSuggestionProperty extends XPropertyFunction(X_SUGGESTION_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 建议项列表\r\n * @en_US Suggestion items\r\n */\r\n readonly data = input<XSuggestionNode[], XDataArray<XSuggestionNode>>([], { transform: XToDataArray });\r\n /**\r\n * @zh_CN 显示建议项\r\n * @en_US Show Suggestion items\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 展示位置\r\n * @en_US Placement\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'top-start');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 节点中已经包含子节点数据\r\n * @en_US The node already contains child node data\r\n */\r\n readonly children = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 弹框的最小宽度\r\n * @en_US Portal min-width\r\n */\r\n readonly portalMinWidth = input<string, XNumber>('10rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 弹框的最大宽度\r\n * @en_US Portal max-width\r\n */\r\n readonly portalMaxWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 弹框的最小高度\r\n * @en_US Portal min-height\r\n */\r\n readonly portalMinHeight = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 弹框的最大高度\r\n * @en_US Portal max-height\r\n */\r\n readonly portalMaxHeight = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 建议项点击事件\r\n * @en_US Suggestion item click event\r\n */\r\n readonly nodeClick = output<XSuggestionNode>();\r\n}\r\n\r\n/**\r\n * @zh_CN 建议项\r\n * @en_US Suggestion\r\n */\r\nexport interface XSuggestionNode extends XDropdownNode {}\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { XSuggestionProperty } from './suggestion.property';\r\nimport { XDropdownComponent } from '@ng-nest/ui/dropdown';\r\n\r\n@Component({\r\n selector: 'x-suggestion',\r\n templateUrl: './suggestion.component.html',\r\n styleUrls: ['./suggestion.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [XDropdownComponent]\r\n})\r\nexport class XSuggestionComponent extends XSuggestionProperty {}\r\n","<div class=\"x-suggestion\">\r\n <x-dropdown\r\n [data]=\"data()\"\r\n (nodeClick)=\"nodeClick.emit($event)\"\r\n [trigger]=\"'click'\"\r\n [(visible)]=\"visible\"\r\n [placement]=\"placement()\"\r\n [disabled]=\"disabled()\"\r\n [children]=\"children()\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [portalMaxWidth]=\"portalMaxWidth()\"\r\n [portalMinHeight]=\"portalMinHeight()\"\r\n [portalMaxHeight]=\"portalMaxHeight()\"\r\n [size]=\"size()\"\r\n >\r\n <ng-content></ng-content>\r\n </x-dropdown>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSuggestionComponent } from './suggestion.component';\r\n\r\n@NgModule({\r\n exports: [XSuggestionComponent],\r\n imports: [XSuggestionComponent]\r\n})\r\nexport class XSuggestionModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAcA;;;;AAIG;AACI,MAAM,iBAAiB,GAAG;AACjC,MAAM,wBAAwB,GAAG,YAAY;AAE7C;;AAEG;MAEU,mBAAoB,SAAQ,iBAAiB,CAAC,wBAAwB,CAAC,CAAA;AADpF,IAAA,WAAA,GAAA;;AAEE;;;AAGG;
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-suggestion.mjs","sources":["../../../../lib/ng-nest/ui/suggestion/suggestion.property.ts","../../../../lib/ng-nest/ui/suggestion/suggestion.component.ts","../../../../lib/ng-nest/ui/suggestion/suggestion.component.html","../../../../lib/ng-nest/ui/suggestion/suggestion.module.ts","../../../../lib/ng-nest/ui/suggestion/ng-nest-ui-suggestion.ts"],"sourcesContent":["import { Component, input, model, output } from '@angular/core';\r\nimport {\r\n XPropertyFunction,\r\n XDataArray,\r\n XToDataArray,\r\n XPlacement,\r\n XBoolean,\r\n XToBoolean,\r\n XNumber,\r\n XToCssPixelValue,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { XDropdownNode } from '@ng-nest/ui/dropdown';\r\n\r\n/**\r\n * Suggestion\r\n * @selector x-suggestion\r\n * @decorator component\r\n */\r\nexport const XSuggestionPrefix = 'x-suggestion';\r\nconst X_SUGGESTION_CONFIG_NAME = 'suggestion';\r\n\r\n/**\r\n * Suggestion Property\r\n */\r\n@Component({ selector: `${XSuggestionPrefix}-property`, template: '' })\r\nexport class XSuggestionProperty extends XPropertyFunction(X_SUGGESTION_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 建议项列表\r\n * @en_US Suggestion items\r\n */\r\n readonly data = input<XSuggestionNode[], XDataArray<XSuggestionNode>>([], { transform: XToDataArray });\r\n /**\r\n * @zh_CN 显示建议项\r\n * @en_US Show Suggestion items\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 展示位置\r\n * @en_US Placement\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'top-start');\r\n /**\r\n * @zh_CN 禁用\r\n * @en_US Disabled\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 节点中已经包含子节点数据\r\n * @en_US The node already contains child node data\r\n */\r\n readonly children = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 弹框的最小宽度\r\n * @en_US Portal min-width\r\n */\r\n readonly portalMinWidth = input<string, XNumber>('10rem', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 弹框的最大宽度\r\n * @en_US Portal max-width\r\n */\r\n readonly portalMaxWidth = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 弹框的最小高度\r\n * @en_US Portal min-height\r\n */\r\n readonly portalMinHeight = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 弹框的最大高度\r\n * @en_US Portal max-height\r\n */\r\n readonly portalMaxHeight = input<string, XNumber>('', { transform: XToCssPixelValue });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 建议项点击事件\r\n * @en_US Suggestion item click event\r\n */\r\n readonly nodeClick = output<XSuggestionNode>();\r\n}\r\n\r\n/**\r\n * @zh_CN 建议项\r\n * @en_US Suggestion\r\n */\r\nexport interface XSuggestionNode extends XDropdownNode {}\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\nimport { XSuggestionProperty } from './suggestion.property';\r\nimport { XDropdownComponent } from '@ng-nest/ui/dropdown';\r\n\r\n@Component({\r\n selector: 'x-suggestion',\r\n templateUrl: './suggestion.component.html',\r\n styleUrls: ['./suggestion.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [XDropdownComponent]\r\n})\r\nexport class XSuggestionComponent extends XSuggestionProperty {}\r\n","<div class=\"x-suggestion\">\r\n <x-dropdown\r\n [data]=\"data()\"\r\n (nodeClick)=\"nodeClick.emit($event)\"\r\n [trigger]=\"'click'\"\r\n [(visible)]=\"visible\"\r\n [placement]=\"placement()\"\r\n [disabled]=\"disabled()\"\r\n [children]=\"children()\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [portalMaxWidth]=\"portalMaxWidth()\"\r\n [portalMinHeight]=\"portalMinHeight()\"\r\n [portalMaxHeight]=\"portalMaxHeight()\"\r\n [size]=\"size()\"\r\n >\r\n <ng-content></ng-content>\r\n </x-dropdown>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSuggestionComponent } from './suggestion.component';\r\n\r\n@NgModule({\r\n exports: [XSuggestionComponent],\r\n imports: [XSuggestionComponent]\r\n})\r\nexport class XSuggestionModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -24,12 +24,12 @@ class XSwitchProperty extends XFormControlFunction(X_SWITCH_CONFIG_NAME) {
|
|
|
24
24
|
* @zh_CN 显示加载中
|
|
25
25
|
* @en_US Show loading
|
|
26
26
|
*/
|
|
27
|
-
this.loading = input(false, ...(ngDevMode ?
|
|
27
|
+
this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: XToBoolean });
|
|
28
28
|
/**
|
|
29
29
|
* @zh_CN 手动控制
|
|
30
30
|
* @en_US Manual control
|
|
31
31
|
*/
|
|
32
|
-
this.manual = input(false, ...(ngDevMode ?
|
|
32
|
+
this.manual = input(false, { ...(ngDevMode ? { debugName: "manual" } : {}), transform: XToBoolean });
|
|
33
33
|
/**
|
|
34
34
|
* @zh_CN 显示文字或者自定义模版(开启状态)
|
|
35
35
|
* @en_US Display text or custom template (open state)
|
|
@@ -54,7 +54,7 @@ class XSwitchProperty extends XFormControlFunction(X_SWITCH_CONFIG_NAME) {
|
|
|
54
54
|
* @zh_CN 标签宽度
|
|
55
55
|
* @en_US Label width
|
|
56
56
|
*/
|
|
57
|
-
this.labelWidth = input('', ...(ngDevMode ?
|
|
57
|
+
this.labelWidth = input('', { ...(ngDevMode ? { debugName: "labelWidth" } : {}), transform: XToCssPixelValue });
|
|
58
58
|
/**
|
|
59
59
|
* @zh_CN 标签文字对齐方式
|
|
60
60
|
* @en_US Label text alignment method
|
|
@@ -79,17 +79,17 @@ class XSwitchProperty extends XFormControlFunction(X_SWITCH_CONFIG_NAME) {
|
|
|
79
79
|
* @zh_CN 禁用
|
|
80
80
|
* @en_US Disabled
|
|
81
81
|
*/
|
|
82
|
-
this.disabled = input(false, ...(ngDevMode ?
|
|
82
|
+
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: XToBoolean });
|
|
83
83
|
/**
|
|
84
84
|
* @zh_CN 必填
|
|
85
85
|
* @en_US Required
|
|
86
86
|
*/
|
|
87
|
-
this.required = input(false, ...(ngDevMode ?
|
|
87
|
+
this.required = input(false, { ...(ngDevMode ? { debugName: "required" } : {}), transform: XToBoolean });
|
|
88
88
|
}
|
|
89
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
90
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.
|
|
89
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSwitchProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: XSwitchProperty, isStandalone: true, selector: "x-switch-property", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, manual: { classPropertyName: "manual", publicName: "manual", isSignal: true, isRequired: false, transformFunction: null }, checkedText: { classPropertyName: "checkedText", publicName: "checkedText", isSignal: true, isRequired: false, transformFunction: null }, unCheckedText: { classPropertyName: "unCheckedText", publicName: "unCheckedText", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSwitchProperty, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{ selector: `${XSwitchPrefix}-property`, template: '' }]
|
|
95
95
|
}], propDecorators: { loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], manual: [{ type: i0.Input, args: [{ isSignal: true, alias: "manual", required: false }] }], checkedText: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkedText", required: false }] }], unCheckedText: [{ type: i0.Input, args: [{ isSignal: true, alias: "unCheckedText", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelWidth", required: false }] }], labelAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelAlign", required: false }] }], justify: [{ type: i0.Input, args: [{ isSignal: true, alias: "justify", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }] } });
|
|
@@ -115,20 +115,20 @@ class XSwitchComponent extends XSwitchProperty {
|
|
|
115
115
|
if (this.onChange)
|
|
116
116
|
this.onChange(this.value());
|
|
117
117
|
}
|
|
118
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
119
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: XSwitchComponent, isStandalone: true, selector: "x-switch", providers: [XValueAccessor(XSwitchComponent)], viewQueries: [{ propertyName: "switch", first: true, predicate: ["switch"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #switch\r\n class=\"x-switch\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-switch-loading]=\"loading()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-invalid]=\"invalid()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-switch-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-switch-row\">\r\n <div class=\"x-switch-slider\" (click)=\"switchClick()\">\r\n <div class=\"x-switch-handle\">\r\n <div class=\"x-switch-spinner\" [x-loading]=\"loading()\" [size]=\"size()\"></div>\r\n </div>\r\n <div class=\"x-switch-text\">\r\n @if (value()) {\r\n <ng-container *xOutlet=\"checkedText()\">{{ checkedText() }}</ng-container>\r\n } @else {\r\n <ng-container *xOutlet=\"unCheckedText()\">{{ unCheckedText() }}</ng-container>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-switch{margin:0;padding:0}.x-switch{width:100%}.x-switch.x-flex{display:flex}.x-switch.x-justify-start{justify-content:flex-start}.x-switch.x-justify-center{justify-content:center}.x-switch.x-justify-end{justify-content:flex-end}.x-switch.x-justify-space-between{justify-content:space-between}.x-switch.x-justify-space-around{justify-content:space-around}.x-switch.x-align-start{align-items:flex-start}.x-switch.x-align-center{align-items:center}.x-switch.x-align-end{align-items:flex-end}.x-switch.x-direction-column{flex-direction:column}.x-switch.x-direction-column-reverse{flex-direction:column-reverse}.x-switch.x-direction-row{flex-direction:row}.x-switch.x-direction-row-reverse{flex-direction:row-reverse}.x-switch>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:500}.x-switch>label.x-text-align-start{text-align:start}.x-switch>label.x-text-align-center{text-align:center}.x-switch>label.x-text-align-end{text-align:end}.x-switch-row{flex:1;display:flex;align-items:center;position:relative}.x-switch-slider{display:inline-flex;align-items:center;position:relative;border:var(--x-border-width) solid var(--x-info);background-color:var(--x-info);cursor:pointer;transition:var(--x-animation-duration-slow)}.x-switch-handle{position:absolute;transition:var(--x-animation-duration-slow);left:0;display:block}.x-switch-handle:before{position:absolute;inset:0;box-shadow:0 .125rem .25rem #00230b33;background-color:var(--x-background-a100);content:\"\"}.x-switch-spinner .x-loading{background-color:transparent}.x-switch-spinner .x-loading-spinner{display:flex;align-items:center}.x-switch-text{color:var(--x-white);transition:var(--x-animation-duration-slow);display:inline-flex;align-items:center}.x-switch.x-checked .x-switch-slider{background-color:var(--x-primary);border-color:var(--x-primary)}.x-switch-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-switch.x-invalid>label,.x-switch.x-required>label{color:var(--x-danger)}.x-switch.x-disabled .x-switch-slider,.x-switch-loading .x-switch-slider{cursor:not-allowed;background-color:var(--x-info-500);border-color:var(--x-info-500)}.x-switch.x-disabled.x-checked .x-switch-slider,.x-switch-loading.x-checked .x-switch-slider{background-color:var(--x-primary-500);border-color:var(--x-primary-500)}.x-switch.x-direction-row>label{padding:0 .5rem 0 0}.x-switch.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-switch.x-direction-column,.x-switch.x-direction-column-reverse{align-items:inherit}.x-switch-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-switch-big .x-switch-slider{height:calc(var(--x-height-big) - .25rem);min-width:calc((var(--x-height-big) - .25rem) * 2);border-radius:calc(var(--x-height-big) - .25rem);margin:.125rem 0}.x-switch-big .x-switch-handle{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem);margin:0 .125rem}.x-switch-big .x-switch-handle:before{border-radius:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-switch-text{margin-left:calc(var(--x-height-big) - .125rem);margin-right:.5rem}.x-switch-big.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-big) - .5rem) - .25rem)}.x-switch-big.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-big) - .25rem)}.x-switch-big .x-switch-spinner{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-loading-big .x-loading-circular{width:calc(var(--x-height-big) - .625rem);height:calc(var(--x-height-big) - .625rem)}.x-switch-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-switch-large .x-switch-slider{height:calc(var(--x-height-large) - .25rem);min-width:calc((var(--x-height-large) - .25rem) * 2);border-radius:calc(var(--x-height-large) - .25rem);margin:.125rem 0}.x-switch-large .x-switch-handle{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem);margin:0 .125rem}.x-switch-large .x-switch-handle:before{border-radius:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-switch-text{margin-left:calc(var(--x-height-large) - .125rem);margin-right:.5rem}.x-switch-large.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-large) - .5rem) - .25rem)}.x-switch-large.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-large) - .25rem)}.x-switch-large .x-switch-spinner{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-loading-large .x-loading-circular{width:calc(var(--x-height-large) - .625rem);height:calc(var(--x-height-large) - .625rem)}.x-switch-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-switch-medium .x-switch-slider{height:calc(var(--x-height-medium) - .25rem);min-width:calc((var(--x-height-medium) - .25rem) * 2);border-radius:calc(var(--x-height-medium) - .25rem);margin:.125rem 0}.x-switch-medium .x-switch-handle{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem);margin:0 .125rem}.x-switch-medium .x-switch-handle:before{border-radius:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-switch-text{margin-left:calc(var(--x-height-medium) - .125rem);margin-right:.5rem}.x-switch-medium.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-medium) - .5rem) - .25rem)}.x-switch-medium.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-medium) - .25rem)}.x-switch-medium .x-switch-spinner{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-loading-medium .x-loading-circular{width:calc(var(--x-height-medium) - .625rem);height:calc(var(--x-height-medium) - .625rem)}.x-switch-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-switch-small .x-switch-slider{height:calc(var(--x-height-small) - .25rem);min-width:calc((var(--x-height-small) - .25rem) * 2);border-radius:calc(var(--x-height-small) - .25rem);margin:.125rem 0}.x-switch-small .x-switch-handle{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem);margin:0 .125rem}.x-switch-small .x-switch-handle:before{border-radius:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-switch-text{margin-left:calc(var(--x-height-small) - .125rem);margin-right:.5rem}.x-switch-small.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-small) - .5rem) - .25rem)}.x-switch-small.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-small) - .25rem)}.x-switch-small .x-switch-spinner{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-loading-small .x-loading-circular{width:calc(var(--x-height-small) - .625rem);height:calc(var(--x-height-small) - .625rem)}.x-switch-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-switch-mini .x-switch-slider{height:calc(var(--x-height-mini) - .25rem);min-width:calc((var(--x-height-mini) - .25rem) * 2);border-radius:calc(var(--x-height-mini) - .25rem);margin:.125rem 0}.x-switch-mini .x-switch-handle{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem);margin:0 .125rem}.x-switch-mini .x-switch-handle:before{border-radius:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-switch-text{margin-left:calc(var(--x-height-mini) - .125rem);margin-right:.5rem}.x-switch-mini.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-mini) - .5rem) - .25rem)}.x-switch-mini.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-mini) - .25rem)}.x-switch-mini .x-switch-spinner{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-loading-mini .x-loading-circular{width:calc(var(--x-height-mini) - .625rem);height:calc(var(--x-height-mini) - .625rem)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
118
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSwitchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: XSwitchComponent, isStandalone: true, selector: "x-switch", providers: [XValueAccessor(XSwitchComponent)], viewQueries: [{ propertyName: "switch", first: true, predicate: ["switch"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #switch\r\n class=\"x-switch\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-switch-loading]=\"loading()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-invalid]=\"invalid()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-switch-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-switch-row\">\r\n <div class=\"x-switch-slider\" (click)=\"switchClick()\">\r\n <div class=\"x-switch-handle\">\r\n <div class=\"x-switch-spinner\" [x-loading]=\"loading()\" [size]=\"size()\"></div>\r\n </div>\r\n <div class=\"x-switch-text\">\r\n @if (value()) {\r\n <ng-container *xOutlet=\"checkedText()\">{{ checkedText() }}</ng-container>\r\n } @else {\r\n <ng-container *xOutlet=\"unCheckedText()\">{{ unCheckedText() }}</ng-container>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-switch{margin:0;padding:0}.x-switch{width:100%}.x-switch.x-flex{display:flex}.x-switch.x-justify-start{justify-content:flex-start}.x-switch.x-justify-center{justify-content:center}.x-switch.x-justify-end{justify-content:flex-end}.x-switch.x-justify-space-between{justify-content:space-between}.x-switch.x-justify-space-around{justify-content:space-around}.x-switch.x-align-start{align-items:flex-start}.x-switch.x-align-center{align-items:center}.x-switch.x-align-end{align-items:flex-end}.x-switch.x-direction-column{flex-direction:column}.x-switch.x-direction-column-reverse{flex-direction:column-reverse}.x-switch.x-direction-row{flex-direction:row}.x-switch.x-direction-row-reverse{flex-direction:row-reverse}.x-switch>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:500}.x-switch>label.x-text-align-start{text-align:start}.x-switch>label.x-text-align-center{text-align:center}.x-switch>label.x-text-align-end{text-align:end}.x-switch-row{flex:1;display:flex;align-items:center;position:relative}.x-switch-slider{display:inline-flex;align-items:center;position:relative;border:var(--x-border-width) solid var(--x-info);background-color:var(--x-info);cursor:pointer;transition:var(--x-animation-duration-slow)}.x-switch-handle{position:absolute;transition:var(--x-animation-duration-slow);left:0;display:block}.x-switch-handle:before{position:absolute;inset:0;box-shadow:0 .125rem .25rem #00230b33;background-color:var(--x-background-a100);content:\"\"}.x-switch-spinner .x-loading{background-color:transparent}.x-switch-spinner .x-loading-spinner{display:flex;align-items:center}.x-switch-text{color:var(--x-white);transition:var(--x-animation-duration-slow);display:inline-flex;align-items:center}.x-switch.x-checked .x-switch-slider{background-color:var(--x-primary);border-color:var(--x-primary)}.x-switch-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-switch.x-invalid>label,.x-switch.x-required>label{color:var(--x-danger)}.x-switch.x-disabled .x-switch-slider,.x-switch-loading .x-switch-slider{cursor:not-allowed;background-color:var(--x-info-500);border-color:var(--x-info-500)}.x-switch.x-disabled.x-checked .x-switch-slider,.x-switch-loading.x-checked .x-switch-slider{background-color:var(--x-primary-500);border-color:var(--x-primary-500)}.x-switch.x-direction-row>label{padding:0 .5rem 0 0}.x-switch.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-switch.x-direction-column,.x-switch.x-direction-column-reverse{align-items:inherit}.x-switch-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-switch-big .x-switch-slider{height:calc(var(--x-height-big) - .25rem);min-width:calc((var(--x-height-big) - .25rem) * 2);border-radius:calc(var(--x-height-big) - .25rem);margin:.125rem 0}.x-switch-big .x-switch-handle{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem);margin:0 .125rem}.x-switch-big .x-switch-handle:before{border-radius:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-switch-text{margin-left:calc(var(--x-height-big) - .125rem);margin-right:.5rem}.x-switch-big.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-big) - .5rem) - .25rem)}.x-switch-big.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-big) - .25rem)}.x-switch-big .x-switch-spinner{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-loading-big .x-loading-circular{width:calc(var(--x-height-big) - .625rem);height:calc(var(--x-height-big) - .625rem)}.x-switch-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-switch-large .x-switch-slider{height:calc(var(--x-height-large) - .25rem);min-width:calc((var(--x-height-large) - .25rem) * 2);border-radius:calc(var(--x-height-large) - .25rem);margin:.125rem 0}.x-switch-large .x-switch-handle{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem);margin:0 .125rem}.x-switch-large .x-switch-handle:before{border-radius:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-switch-text{margin-left:calc(var(--x-height-large) - .125rem);margin-right:.5rem}.x-switch-large.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-large) - .5rem) - .25rem)}.x-switch-large.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-large) - .25rem)}.x-switch-large .x-switch-spinner{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-loading-large .x-loading-circular{width:calc(var(--x-height-large) - .625rem);height:calc(var(--x-height-large) - .625rem)}.x-switch-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-switch-medium .x-switch-slider{height:calc(var(--x-height-medium) - .25rem);min-width:calc((var(--x-height-medium) - .25rem) * 2);border-radius:calc(var(--x-height-medium) - .25rem);margin:.125rem 0}.x-switch-medium .x-switch-handle{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem);margin:0 .125rem}.x-switch-medium .x-switch-handle:before{border-radius:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-switch-text{margin-left:calc(var(--x-height-medium) - .125rem);margin-right:.5rem}.x-switch-medium.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-medium) - .5rem) - .25rem)}.x-switch-medium.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-medium) - .25rem)}.x-switch-medium .x-switch-spinner{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-loading-medium .x-loading-circular{width:calc(var(--x-height-medium) - .625rem);height:calc(var(--x-height-medium) - .625rem)}.x-switch-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-switch-small .x-switch-slider{height:calc(var(--x-height-small) - .25rem);min-width:calc((var(--x-height-small) - .25rem) * 2);border-radius:calc(var(--x-height-small) - .25rem);margin:.125rem 0}.x-switch-small .x-switch-handle{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem);margin:0 .125rem}.x-switch-small .x-switch-handle:before{border-radius:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-switch-text{margin-left:calc(var(--x-height-small) - .125rem);margin-right:.5rem}.x-switch-small.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-small) - .5rem) - .25rem)}.x-switch-small.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-small) - .25rem)}.x-switch-small .x-switch-spinner{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-loading-small .x-loading-circular{width:calc(var(--x-height-small) - .625rem);height:calc(var(--x-height-small) - .625rem)}.x-switch-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-switch-mini .x-switch-slider{height:calc(var(--x-height-mini) - .25rem);min-width:calc((var(--x-height-mini) - .25rem) * 2);border-radius:calc(var(--x-height-mini) - .25rem);margin:.125rem 0}.x-switch-mini .x-switch-handle{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem);margin:0 .125rem}.x-switch-mini .x-switch-handle:before{border-radius:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-switch-text{margin-left:calc(var(--x-height-mini) - .125rem);margin-right:.5rem}.x-switch-mini.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-mini) - .5rem) - .25rem)}.x-switch-mini.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-mini) - .25rem)}.x-switch-mini .x-switch-spinner{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-loading-mini .x-loading-circular{width:calc(var(--x-height-mini) - .625rem);height:calc(var(--x-height-mini) - .625rem)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XLoadingComponent, selector: "x-loading, [x-loading]" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
120
120
|
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSwitchComponent, decorators: [{
|
|
122
122
|
type: Component,
|
|
123
123
|
args: [{ selector: `${XSwitchPrefix}`, imports: [NgClass, FormsModule, ReactiveFormsModule, XLoadingComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSwitchComponent)], template: "<div\r\n #switch\r\n class=\"x-switch\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-switch-loading]=\"loading()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-invalid]=\"invalid()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-switch-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-switch-row\">\r\n <div class=\"x-switch-slider\" (click)=\"switchClick()\">\r\n <div class=\"x-switch-handle\">\r\n <div class=\"x-switch-spinner\" [x-loading]=\"loading()\" [size]=\"size()\"></div>\r\n </div>\r\n <div class=\"x-switch-text\">\r\n @if (value()) {\r\n <ng-container *xOutlet=\"checkedText()\">{{ checkedText() }}</ng-container>\r\n } @else {\r\n <ng-container *xOutlet=\"unCheckedText()\">{{ unCheckedText() }}</ng-container>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-switch{margin:0;padding:0}.x-switch{width:100%}.x-switch.x-flex{display:flex}.x-switch.x-justify-start{justify-content:flex-start}.x-switch.x-justify-center{justify-content:center}.x-switch.x-justify-end{justify-content:flex-end}.x-switch.x-justify-space-between{justify-content:space-between}.x-switch.x-justify-space-around{justify-content:space-around}.x-switch.x-align-start{align-items:flex-start}.x-switch.x-align-center{align-items:center}.x-switch.x-align-end{align-items:flex-end}.x-switch.x-direction-column{flex-direction:column}.x-switch.x-direction-column-reverse{flex-direction:column-reverse}.x-switch.x-direction-row{flex-direction:row}.x-switch.x-direction-row-reverse{flex-direction:row-reverse}.x-switch>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:500}.x-switch>label.x-text-align-start{text-align:start}.x-switch>label.x-text-align-center{text-align:center}.x-switch>label.x-text-align-end{text-align:end}.x-switch-row{flex:1;display:flex;align-items:center;position:relative}.x-switch-slider{display:inline-flex;align-items:center;position:relative;border:var(--x-border-width) solid var(--x-info);background-color:var(--x-info);cursor:pointer;transition:var(--x-animation-duration-slow)}.x-switch-handle{position:absolute;transition:var(--x-animation-duration-slow);left:0;display:block}.x-switch-handle:before{position:absolute;inset:0;box-shadow:0 .125rem .25rem #00230b33;background-color:var(--x-background-a100);content:\"\"}.x-switch-spinner .x-loading{background-color:transparent}.x-switch-spinner .x-loading-spinner{display:flex;align-items:center}.x-switch-text{color:var(--x-white);transition:var(--x-animation-duration-slow);display:inline-flex;align-items:center}.x-switch.x-checked .x-switch-slider{background-color:var(--x-primary);border-color:var(--x-primary)}.x-switch-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-switch.x-invalid>label,.x-switch.x-required>label{color:var(--x-danger)}.x-switch.x-disabled .x-switch-slider,.x-switch-loading .x-switch-slider{cursor:not-allowed;background-color:var(--x-info-500);border-color:var(--x-info-500)}.x-switch.x-disabled.x-checked .x-switch-slider,.x-switch-loading.x-checked .x-switch-slider{background-color:var(--x-primary-500);border-color:var(--x-primary-500)}.x-switch.x-direction-row>label{padding:0 .5rem 0 0}.x-switch.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-switch.x-direction-column,.x-switch.x-direction-column-reverse{align-items:inherit}.x-switch-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-switch-big .x-switch-slider{height:calc(var(--x-height-big) - .25rem);min-width:calc((var(--x-height-big) - .25rem) * 2);border-radius:calc(var(--x-height-big) - .25rem);margin:.125rem 0}.x-switch-big .x-switch-handle{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem);margin:0 .125rem}.x-switch-big .x-switch-handle:before{border-radius:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-switch-text{margin-left:calc(var(--x-height-big) - .125rem);margin-right:.5rem}.x-switch-big.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-big) - .5rem) - .25rem)}.x-switch-big.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-big) - .25rem)}.x-switch-big .x-switch-spinner{width:calc(var(--x-height-big) - .5rem);height:calc(var(--x-height-big) - .5rem)}.x-switch-big .x-loading-big .x-loading-circular{width:calc(var(--x-height-big) - .625rem);height:calc(var(--x-height-big) - .625rem)}.x-switch-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-switch-large .x-switch-slider{height:calc(var(--x-height-large) - .25rem);min-width:calc((var(--x-height-large) - .25rem) * 2);border-radius:calc(var(--x-height-large) - .25rem);margin:.125rem 0}.x-switch-large .x-switch-handle{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem);margin:0 .125rem}.x-switch-large .x-switch-handle:before{border-radius:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-switch-text{margin-left:calc(var(--x-height-large) - .125rem);margin-right:.5rem}.x-switch-large.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-large) - .5rem) - .25rem)}.x-switch-large.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-large) - .25rem)}.x-switch-large .x-switch-spinner{width:calc(var(--x-height-large) - .5rem);height:calc(var(--x-height-large) - .5rem)}.x-switch-large .x-loading-large .x-loading-circular{width:calc(var(--x-height-large) - .625rem);height:calc(var(--x-height-large) - .625rem)}.x-switch-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-switch-medium .x-switch-slider{height:calc(var(--x-height-medium) - .25rem);min-width:calc((var(--x-height-medium) - .25rem) * 2);border-radius:calc(var(--x-height-medium) - .25rem);margin:.125rem 0}.x-switch-medium .x-switch-handle{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem);margin:0 .125rem}.x-switch-medium .x-switch-handle:before{border-radius:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-switch-text{margin-left:calc(var(--x-height-medium) - .125rem);margin-right:.5rem}.x-switch-medium.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-medium) - .5rem) - .25rem)}.x-switch-medium.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-medium) - .25rem)}.x-switch-medium .x-switch-spinner{width:calc(var(--x-height-medium) - .5rem);height:calc(var(--x-height-medium) - .5rem)}.x-switch-medium .x-loading-medium .x-loading-circular{width:calc(var(--x-height-medium) - .625rem);height:calc(var(--x-height-medium) - .625rem)}.x-switch-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-switch-small .x-switch-slider{height:calc(var(--x-height-small) - .25rem);min-width:calc((var(--x-height-small) - .25rem) * 2);border-radius:calc(var(--x-height-small) - .25rem);margin:.125rem 0}.x-switch-small .x-switch-handle{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem);margin:0 .125rem}.x-switch-small .x-switch-handle:before{border-radius:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-switch-text{margin-left:calc(var(--x-height-small) - .125rem);margin-right:.5rem}.x-switch-small.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-small) - .5rem) - .25rem)}.x-switch-small.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-small) - .25rem)}.x-switch-small .x-switch-spinner{width:calc(var(--x-height-small) - .5rem);height:calc(var(--x-height-small) - .5rem)}.x-switch-small .x-loading-small .x-loading-circular{width:calc(var(--x-height-small) - .625rem);height:calc(var(--x-height-small) - .625rem)}.x-switch-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-switch-mini .x-switch-slider{height:calc(var(--x-height-mini) - .25rem);min-width:calc((var(--x-height-mini) - .25rem) * 2);border-radius:calc(var(--x-height-mini) - .25rem);margin:.125rem 0}.x-switch-mini .x-switch-handle{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem);margin:0 .125rem}.x-switch-mini .x-switch-handle:before{border-radius:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-switch-text{margin-left:calc(var(--x-height-mini) - .125rem);margin-right:.5rem}.x-switch-mini.x-checked .x-switch-handle{left:calc(100% - (var(--x-height-mini) - .5rem) - .25rem)}.x-switch-mini.x-checked .x-switch-text{margin-left:.5rem;margin-right:calc(var(--x-height-mini) - .25rem)}.x-switch-mini .x-switch-spinner{width:calc(var(--x-height-mini) - .5rem);height:calc(var(--x-height-mini) - .5rem)}.x-switch-mini .x-loading-mini .x-loading-circular{width:calc(var(--x-height-mini) - .625rem);height:calc(var(--x-height-mini) - .625rem)}\n"] }]
|
|
124
124
|
}], propDecorators: { switch: [{ type: i0.ViewChild, args: ['switch', { isSignal: true }] }] } });
|
|
125
125
|
|
|
126
126
|
class XSwitchModule {
|
|
127
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
128
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
129
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
127
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
128
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: XSwitchModule, imports: [XSwitchComponent], exports: [XSwitchComponent] }); }
|
|
129
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSwitchModule, imports: [XSwitchComponent] }); }
|
|
130
130
|
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: XSwitchModule, decorators: [{
|
|
132
132
|
type: NgModule,
|
|
133
133
|
args: [{
|
|
134
134
|
exports: [XSwitchComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-switch.mjs","sources":["../../../../lib/ng-nest/ui/switch/switch.property.ts","../../../../lib/ng-nest/ui/switch/switch.component.ts","../../../../lib/ng-nest/ui/switch/switch.component.html","../../../../lib/ng-nest/ui/switch/switch.module.ts","../../../../lib/ng-nest/ui/switch/ng-nest-ui-switch.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport { XToBoolean, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport type { XAlign, XBoolean, XDirection, XJustify, XNumber, XSize, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Switch\r\n * @selector x-switch\r\n * @decorator component\r\n */\r\nexport const XSwitchPrefix = 'x-switch';\r\nconst X_SWITCH_CONFIG_NAME = 'switch';\r\n\r\n/**\r\n * Switch Property\r\n */\r\n@Component({ selector: `${XSwitchPrefix}-property`, template: '' })\r\nexport class XSwitchProperty extends XFormControlFunction(X_SWITCH_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示加载中\r\n * @en_US Show loading\r\n */\r\n readonly loading = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 手动控制\r\n * @en_US Manual control\r\n */\r\n readonly manual = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示文字或者自定义模版(开启状态)\r\n * @en_US Display text or custom template (open state)\r\n */\r\n readonly checkedText = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示文字或者自定义模版(关闭状态)\r\n * @en_US Display text or custom template (closed)\r\n */\r\n readonly unCheckedText = input<XTemplate>();\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n override readonly size = input<XSize>(this.config?.size ?? 'medium');\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\r\n/**\r\n * Switch Option\r\n */\r\nexport interface XSwitchOption extends XFormOption {\r\n /**\r\n * @zh_CN 显示加载中\r\n * @en_US Show loading\r\n */\r\n loading?: boolean;\r\n /**\r\n * @zh_CN 手动控制\r\n * @en_US Manual control\r\n */\r\n manual?: boolean;\r\n /**\r\n * @zh_CN 显示文字或者自定义模版(开启状态)\r\n * @en_US Display text or custom template (open state)\r\n */\r\n checkedText?: XTemplate;\r\n /**\r\n * @zh_CN 显示文字或者自定义模版(关闭状态)\r\n * @en_US Display text or custom template (closed)\r\n */\r\n unCheckedText?: XTemplate;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\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","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, viewChild, computed } from '@angular/core';\r\nimport { XSwitchProperty, XSwitchPrefix } from './switch.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { NgClass } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XLoadingComponent } from '@ng-nest/ui/loading';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: `${XSwitchPrefix}`,\r\n imports: [NgClass, FormsModule, ReactiveFormsModule, XLoadingComponent, XOutletDirective],\r\n templateUrl: './switch.component.html',\r\n styleUrls: ['./switch.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XSwitchComponent)]\r\n})\r\nexport class XSwitchComponent extends XSwitchProperty {\r\n switch = viewChild.required<ElementRef<HTMLElement>>('switch');\r\n\r\n classMap = computed(() => ({\r\n [`${XSwitchPrefix}-${this.size()}`]: !!this.size(),\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 switchClick() {\r\n if (this.disabledComputed() || this.loading() || this.manual()) return;\r\n this.value.update((x) => !x);\r\n if (this.onChange) this.onChange(this.value());\r\n }\r\n}\r\n","<div\r\n #switch\r\n class=\"x-switch\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-switch-loading]=\"loading()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-invalid]=\"invalid()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-switch-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-switch-row\">\r\n <div class=\"x-switch-slider\" (click)=\"switchClick()\">\r\n <div class=\"x-switch-handle\">\r\n <div class=\"x-switch-spinner\" [x-loading]=\"loading()\" [size]=\"size()\"></div>\r\n </div>\r\n <div class=\"x-switch-text\">\r\n @if (value()) {\r\n <ng-container *xOutlet=\"checkedText()\">{{ checkedText() }}</ng-container>\r\n } @else {\r\n <ng-container *xOutlet=\"unCheckedText()\">{{ unCheckedText() }}</ng-container>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSwitchComponent } from './switch.component';\r\n\r\n@NgModule({\r\n exports: [XSwitchComponent],\r\n imports: [XSwitchComponent]\r\n})\r\nexport class XSwitchModule {}\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-switch.mjs","sources":["../../../../lib/ng-nest/ui/switch/switch.property.ts","../../../../lib/ng-nest/ui/switch/switch.component.ts","../../../../lib/ng-nest/ui/switch/switch.component.html","../../../../lib/ng-nest/ui/switch/switch.module.ts","../../../../lib/ng-nest/ui/switch/ng-nest-ui-switch.ts"],"sourcesContent":["import { Component, input } from '@angular/core';\r\nimport { XFormControlFunction, XFormOption } from '@ng-nest/ui/base-form';\r\nimport { XToBoolean, XToCssPixelValue } from '@ng-nest/ui/core';\r\nimport type { XAlign, XBoolean, XDirection, XJustify, XNumber, XSize, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Switch\r\n * @selector x-switch\r\n * @decorator component\r\n */\r\nexport const XSwitchPrefix = 'x-switch';\r\nconst X_SWITCH_CONFIG_NAME = 'switch';\r\n\r\n/**\r\n * Switch Property\r\n */\r\n@Component({ selector: `${XSwitchPrefix}-property`, template: '' })\r\nexport class XSwitchProperty extends XFormControlFunction(X_SWITCH_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示加载中\r\n * @en_US Show loading\r\n */\r\n readonly loading = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 手动控制\r\n * @en_US Manual control\r\n */\r\n readonly manual = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 显示文字或者自定义模版(开启状态)\r\n * @en_US Display text or custom template (open state)\r\n */\r\n readonly checkedText = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示文字或者自定义模版(关闭状态)\r\n * @en_US Display text or custom template (closed)\r\n */\r\n readonly unCheckedText = input<XTemplate>();\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n override readonly size = input<XSize>(this.config?.size ?? 'medium');\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\r\n/**\r\n * Switch Option\r\n */\r\nexport interface XSwitchOption extends XFormOption {\r\n /**\r\n * @zh_CN 显示加载中\r\n * @en_US Show loading\r\n */\r\n loading?: boolean;\r\n /**\r\n * @zh_CN 手动控制\r\n * @en_US Manual control\r\n */\r\n manual?: boolean;\r\n /**\r\n * @zh_CN 显示文字或者自定义模版(开启状态)\r\n * @en_US Display text or custom template (open state)\r\n */\r\n checkedText?: XTemplate;\r\n /**\r\n * @zh_CN 显示文字或者自定义模版(关闭状态)\r\n * @en_US Display text or custom template (closed)\r\n */\r\n unCheckedText?: XTemplate;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\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","import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, viewChild, computed } from '@angular/core';\r\nimport { XSwitchProperty, XSwitchPrefix } from './switch.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { NgClass } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XLoadingComponent } from '@ng-nest/ui/loading';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\n\r\n@Component({\r\n selector: `${XSwitchPrefix}`,\r\n imports: [NgClass, FormsModule, ReactiveFormsModule, XLoadingComponent, XOutletDirective],\r\n templateUrl: './switch.component.html',\r\n styleUrls: ['./switch.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XSwitchComponent)]\r\n})\r\nexport class XSwitchComponent extends XSwitchProperty {\r\n switch = viewChild.required<ElementRef<HTMLElement>>('switch');\r\n\r\n classMap = computed(() => ({\r\n [`${XSwitchPrefix}-${this.size()}`]: !!this.size(),\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 switchClick() {\r\n if (this.disabledComputed() || this.loading() || this.manual()) return;\r\n this.value.update((x) => !x);\r\n if (this.onChange) this.onChange(this.value());\r\n }\r\n}\r\n","<div\r\n #switch\r\n class=\"x-switch\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-switch-loading]=\"loading()\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-checked]=\"value()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-invalid]=\"invalid()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-switch-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-switch-row\">\r\n <div class=\"x-switch-slider\" (click)=\"switchClick()\">\r\n <div class=\"x-switch-handle\">\r\n <div class=\"x-switch-spinner\" [x-loading]=\"loading()\" [size]=\"size()\"></div>\r\n </div>\r\n <div class=\"x-switch-text\">\r\n @if (value()) {\r\n <ng-container *xOutlet=\"checkedText()\">{{ checkedText() }}</ng-container>\r\n } @else {\r\n <ng-container *xOutlet=\"unCheckedText()\">{{ unCheckedText() }}</ng-container>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { XSwitchComponent } from './switch.component';\r\n\r\n@NgModule({\r\n exports: [XSwitchComponent],\r\n imports: [XSwitchComponent]\r\n})\r\nexport class XSwitchModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAKA;;;;AAIG;AACI,MAAM,aAAa,GAAG;AAC7B,MAAM,oBAAoB,GAAG,QAAQ;AAErC;;AAEG;MAEU,eAAgB,SAAQ,oBAAoB,CAAC,oBAAoB,CAAC,CAAA;AAD/E,IAAA,WAAA,GAAA;;AAEE;;;AAGG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAoB,KAAK,oDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC7E;;;AAGG;QACM,IAAA,CAAA,MAAM,GAAG,KAAK,CAAoB,KAAK,mDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AAC5E;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAa;AACzC;;;AAGG;QACM,IAAA,CAAA,aAAa,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,eAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAa;AAC3C;;;AAGG;QACe,IAAA,CAAA,IAAI,GAAG,KAAK,CAAQ,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,QAAQ,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACpE;;;AAGG;AACe,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAY,EAAE,iDAAC;AAC9C;;;AAGG;QACe,IAAA,CAAA,UAAU,GAAG,KAAK,CAAkB,EAAE,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC1F;;;AAGG;AACe,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAS,OAAO,sDAAC;AACrD;;;AAGG;AACe,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAW,OAAO,mDAAC;AACpD;;;AAGG;AACe,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAS,OAAO,iDAAC;AAChD;;;AAGG;AACe,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAa,QAAQ,qDAAC;AACzD;;;AAGG;QACe,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,KAAK,qDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AACvF;;;AAGG;QACe,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAoB,KAAK,qDAAI,SAAS,EAAE,UAAU,EAAA,CAAG;AACxF,IAAA;iIAlEY,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,0vDADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;2FACnD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAA,EAAG,aAAa,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;;;ACC5D,MAAO,gBAAiB,SAAQ,eAAe,CAAA;AATrD,IAAA,WAAA,GAAA;;AAUE,QAAA,IAAA,CAAA,MAAM,GAAG,SAAS,CAAC,QAAQ,CAA0B,QAAQ,CAAC;AAE9D,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,OAAO;AACzB,YAAA,CAAC,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,IAAI,CAAC,IAAI,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;AAClD,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;AACtD,SAAA,CAAC,oDAAC;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;AACzD,SAAA,CAAC,0DAAC;AAOJ,IAAA;IALC,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;YAAE;AAChE,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAChD;iIAjBW,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,uDAFhB,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf/C,+qCAoCA,EAAA,MAAA,EAAA,CAAA,izPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED1BY,OAAO,mFAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,mEAAE,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;;2FAO7E,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;+BACE,CAAA,EAAG,aAAa,CAAA,CAAE,EAAA,OAAA,EACnB,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,EAAA,aAAA,EAG1E,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,cAAc,CAAA,gBAAA,CAAkB,CAAC,EAAA,QAAA,EAAA,+qCAAA,EAAA,MAAA,EAAA,CAAA,izPAAA,CAAA,EAAA;oEAGQ,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEXlD,aAAa,CAAA;iIAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAb,aAAa,EAAA,OAAA,EAAA,CAFd,gBAAgB,CAAA,EAAA,OAAA,EAAA,CADhB,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAGf,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,aAAa,YAFd,gBAAgB,CAAA,EAAA,CAAA,CAAA;;2FAEf,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,OAAO,EAAE,CAAC,gBAAgB;AAC3B,iBAAA;;;ACND;;AAEG;;;;"}
|