@ng-nest/ui 14.0.3 → 14.0.6

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.
Files changed (128) hide show
  1. package/core/config/config.d.ts +5 -0
  2. package/core/functions/convert.d.ts +1 -1
  3. package/dropdown/dropdown-portal.component.d.ts +3 -0
  4. package/dropdown/dropdown.property.d.ts +16 -1
  5. package/esm2020/checkbox/checkbox.component.mjs +2 -3
  6. package/esm2020/core/config/config.mjs +1 -1
  7. package/esm2020/core/functions/convert.mjs +1 -1
  8. package/esm2020/dropdown/dropdown-portal.component.mjs +6 -3
  9. package/esm2020/dropdown/dropdown.component.mjs +4 -1
  10. package/esm2020/dropdown/dropdown.property.mjs +8 -2
  11. package/esm2020/find/find.component.mjs +5 -4
  12. package/esm2020/i18n/i18n.property.mjs +1 -1
  13. package/esm2020/i18n/languages/en_US.mjs +4 -2
  14. package/esm2020/i18n/languages/zh_CN.mjs +4 -2
  15. package/esm2020/i18n/languages/zh_TW.mjs +4 -2
  16. package/esm2020/input/input.component.mjs +2 -2
  17. package/esm2020/list/list.component.mjs +33 -8
  18. package/esm2020/list/list.property.mjs +17 -2
  19. package/esm2020/loading/loading.component.mjs +3 -3
  20. package/esm2020/loading/loading.property.mjs +7 -2
  21. package/esm2020/popover/popover.directive.mjs +20 -3
  22. package/esm2020/popover/popover.property.mjs +1 -1
  23. package/esm2020/select/select-portal.component.mjs +2 -2
  24. package/esm2020/select/select.component.mjs +36 -18
  25. package/esm2020/slider/slider.component.mjs +27 -7
  26. package/esm2020/slider/slider.module.mjs +5 -4
  27. package/esm2020/slider/slider.property.mjs +13 -2
  28. package/esm2020/table/table-body.component.mjs +5 -6
  29. package/esm2020/table/table-head.component.mjs +3 -3
  30. package/esm2020/table/table.component.mjs +35 -4
  31. package/esm2020/table/table.property.mjs +14 -4
  32. package/esm2020/tabs/tabs.component.mjs +45 -15
  33. package/esm2020/tabs/tabs.module.mjs +5 -4
  34. package/esm2020/tabs/tabs.property.mjs +15 -2
  35. package/esm2020/timeline/timeline.component.mjs +11 -5
  36. package/esm2020/timeline/timeline.property.mjs +7 -2
  37. package/fesm2015/ng-nest-ui-checkbox.mjs +1 -2
  38. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  39. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  40. package/fesm2015/ng-nest-ui-dropdown.mjs +15 -3
  41. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  42. package/fesm2015/ng-nest-ui-find.mjs +4 -3
  43. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  44. package/fesm2015/ng-nest-ui-i18n.mjs +9 -3
  45. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  46. package/fesm2015/ng-nest-ui-input.mjs +2 -2
  47. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  48. package/fesm2015/ng-nest-ui-list.mjs +46 -7
  49. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  50. package/fesm2015/ng-nest-ui-loading.mjs +8 -3
  51. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  52. package/fesm2015/ng-nest-ui-popover.mjs +19 -2
  53. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  54. package/fesm2015/ng-nest-ui-select.mjs +37 -19
  55. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  56. package/fesm2015/ng-nest-ui-slider.mjs +43 -11
  57. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  58. package/fesm2015/ng-nest-ui-table.mjs +53 -13
  59. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  60. package/fesm2015/ng-nest-ui-tabs.mjs +63 -18
  61. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  62. package/fesm2015/ng-nest-ui-timeline.mjs +16 -5
  63. package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
  64. package/fesm2020/ng-nest-ui-checkbox.mjs +1 -2
  65. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  66. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  67. package/fesm2020/ng-nest-ui-dropdown.mjs +15 -3
  68. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  69. package/fesm2020/ng-nest-ui-find.mjs +4 -3
  70. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  71. package/fesm2020/ng-nest-ui-i18n.mjs +9 -3
  72. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  73. package/fesm2020/ng-nest-ui-input.mjs +2 -2
  74. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  75. package/fesm2020/ng-nest-ui-list.mjs +46 -7
  76. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  77. package/fesm2020/ng-nest-ui-loading.mjs +8 -3
  78. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  79. package/fesm2020/ng-nest-ui-popover.mjs +19 -2
  80. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  81. package/fesm2020/ng-nest-ui-select.mjs +37 -19
  82. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  83. package/fesm2020/ng-nest-ui-slider.mjs +43 -11
  84. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  85. package/fesm2020/ng-nest-ui-table.mjs +53 -13
  86. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  87. package/fesm2020/ng-nest-ui-tabs.mjs +62 -18
  88. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  89. package/fesm2020/ng-nest-ui-timeline.mjs +16 -5
  90. package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
  91. package/i18n/i18n.property.d.ts +2 -0
  92. package/i18n/languages/en_US.d.ts +2 -0
  93. package/i18n/languages/zh_CN.d.ts +2 -0
  94. package/i18n/languages/zh_TW.d.ts +2 -0
  95. package/list/examples/en_US/default/load-more/README.md +8 -0
  96. package/list/examples/zh_CN/default/load-more/README.md +8 -0
  97. package/list/list.component.d.ts +6 -0
  98. package/list/list.property.d.ts +19 -1
  99. package/loading/loading.property.d.ts +7 -2
  100. package/package.json +1 -1
  101. package/popover/popover.directive.d.ts +4 -3
  102. package/popover/popover.property.d.ts +1 -1
  103. package/select/select.component.d.ts +1 -0
  104. package/slider/examples/en_US/default/expand/README.md +7 -0
  105. package/slider/examples/zh_CN/default/expand/README.md +7 -0
  106. package/slider/slider.component.d.ts +2 -0
  107. package/slider/slider.module.d.ts +2 -1
  108. package/slider/slider.property.d.ts +11 -1
  109. package/table/examples/en_US/default/edit/README.md +7 -0
  110. package/table/examples/en_US/default/header/README.md +2 -2
  111. package/table/examples/en_US/default/search/README.md +6 -0
  112. package/table/examples/zh_CN/default/edit/README.md +7 -0
  113. package/table/examples/zh_CN/default/header/README.md +2 -2
  114. package/table/examples/zh_CN/default/search/README.md +6 -0
  115. package/table/table-body.component.d.ts +1 -1
  116. package/table/table.component.d.ts +5 -0
  117. package/table/table.property.d.ts +19 -4
  118. package/tabs/examples/en_US/default/action/README.md +6 -0
  119. package/tabs/examples/en_US/default/expand/README.md +6 -0
  120. package/tabs/examples/zh_CN/default/action/README.md +6 -0
  121. package/tabs/examples/zh_CN/default/expand/README.md +6 -0
  122. package/tabs/tabs.component.d.ts +9 -2
  123. package/tabs/tabs.module.d.ts +3 -2
  124. package/tabs/tabs.property.d.ts +18 -3
  125. package/timeline/examples/en_US/default/mode/README.md +6 -0
  126. package/timeline/examples/zh_CN/default/mode/README.md +6 -0
  127. package/timeline/timeline.component.d.ts +1 -0
  128. package/timeline/timeline.property.d.ts +11 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-timeline.mjs","sources":["../../../../lib/ng-nest/ui/timeline/timeline.property.ts","../../../../lib/ng-nest/ui/timeline/timeline.component.ts","../../../../lib/ng-nest/ui/timeline/timeline.component.html","../../../../lib/ng-nest/ui/timeline/timeline.module.ts","../../../../lib/ng-nest/ui/timeline/ng-nest-ui-timeline.ts"],"sourcesContent":["import { XType, XSize, XData, XTemplate, XProperty, XIdentityProperty, XDataConvert, XWithConfig, XDate } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Timeline\r\n * @selector x-timeline\r\n * @decorator component\r\n */\r\nexport const XTimelinePrefix = 'x-timeline';\r\nconst X_CONFIG_NAME = 'timeline';\r\n\r\n/**\r\n * Timeline Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTimelineProperty extends XProperty {\r\n /**\r\n * @zh_CN 数据\r\n * @en_US Date\r\n */\r\n @Input() @XDataConvert() data: XData<XTimelineNode> = [];\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Type\r\n */\r\n @Input() type?: XType;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n @Input() wrapper?: XTemplate;\r\n}\r\n\r\n/**\r\n * @zh_CN Timeline 数据对象\r\n * @en_US Timeline node data\r\n */\r\nexport interface XTimelineNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 时间\r\n * @en_US Time\r\n */\r\n time?: XDate;\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n content?: string;\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 Type\r\n */\r\n type?: XType;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n color?: string;\r\n /**\r\n * @zh_CN 加载中\r\n * @en_US Loading\r\n */\r\n loading?: boolean;\r\n /**\r\n * @zh_CN 连接线显示虚线,针对下一个节点,下一个节点为 loading 状态也会显示虚线\r\n * @en_US The connecting line displays a dotted line. For the next node, the dotted line will also be displayed when the next node is in loading status\r\n */\r\n dashed?: boolean;\r\n /**\r\n * @zh_CN 其它自定义属性\r\n * @en_US Other property\r\n */\r\n [property: string]: any;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XTimelinePrefix, XTimelineNode, XTimelineProperty } from './timeline.property';\r\nimport { XIsChange, XSetData, XConfigService } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XTimelinePrefix}`,\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTimelineComponent extends XTimelineProperty implements OnInit, OnChanges {\r\n nodes: XTimelineNode[] = [];\r\n private _unSubject = new Subject<void>();\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n trackByNode(_index: number, item: XTimelineNode) {\r\n return item.id;\r\n }\r\n\r\n private setData() {\r\n XSetData<XTimelineNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.setDashed(x);\r\n this.nodes = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n private setDashed(nodes: XTimelineNode[]) {\r\n const len = nodes.length;\r\n if (len <= 1) return;\r\n for (let i = 0; i < nodes.length; i++) {\r\n let node = nodes[i];\r\n if (!node.loading) continue;\r\n if (i === 0) {\r\n node.dashed = true;\r\n } else if (i > 0) {\r\n nodes[i - 1].dashed = true;\r\n }\r\n }\r\n }\r\n}\r\n","<div #timeline class=\"x-timeline\" [ngClass]=\"classMap\">\r\n <ul>\r\n <li *ngFor=\"let node of nodes; trackBy: trackByNode\" [class.x-timeline-loading]=\"node.loading\">\r\n <div class=\"x-timeline-tail\" [class.x-timeline-tail-dashed]=\"node.dashed\"></div>\r\n <div\r\n class=\"x-timeline-icon {{ node.type ? 'x-timeline-' + node.type : '' }} {{ node.size ? 'x-timeline-' + node.size : '' }}\"\r\n [style.background-color]=\"node.color\"\r\n >\r\n <x-icon *ngIf=\"node.icon && !node.loading\" [type]=\"node.icon\"></x-icon>\r\n <x-icon *ngIf=\"node.loading\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </div>\r\n <div class=\"x-timeline-wrapper\">\r\n <ng-container *xOutlet=\"wrapper; context: { $node: node }\">\r\n <div class=\"x-timeline-label\">\r\n <x-link *ngIf=\"node.label\">{{ node.label }}</x-link>\r\n <span class=\"x-timeline-time\">{{ node.time | xTimeAgo }}</span>\r\n </div>\r\n <div class=\"x-timeline-content\">{{ node.content }}</div>\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTimelineComponent } from './timeline.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XTimeAgoModule } from '@ng-nest/ui/time-ago';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XTimelineProperty } from './timeline.property';\r\n\r\n@NgModule({\r\n declarations: [XTimelineComponent, XTimelineProperty],\r\n exports: [XTimelineComponent],\r\n imports: [CommonModule, XIconModule, XTimeAgoModule, XLinkModule, XOutletModule]\r\n})\r\nexport class XTimelineModule {}\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-timeline.mjs","sources":["../../../../lib/ng-nest/ui/timeline/timeline.property.ts","../../../../lib/ng-nest/ui/timeline/timeline.component.ts","../../../../lib/ng-nest/ui/timeline/timeline.component.html","../../../../lib/ng-nest/ui/timeline/timeline.module.ts","../../../../lib/ng-nest/ui/timeline/ng-nest-ui-timeline.ts"],"sourcesContent":["import { XType, XSize, XData, XTemplate, XProperty, XIdentityProperty, XDataConvert, XWithConfig, XDate } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\n\r\n/**\r\n * Timeline\r\n * @selector x-timeline\r\n * @decorator component\r\n */\r\nexport const XTimelinePrefix = 'x-timeline';\r\nconst X_CONFIG_NAME = 'timeline';\r\n\r\n/**\r\n * Timeline Property\r\n */\r\n@Component({ template: '' })\r\nexport class XTimelineProperty extends XProperty {\r\n /**\r\n * @zh_CN 数据\r\n * @en_US Date\r\n */\r\n @Input() @XDataConvert() data: XData<XTimelineNode> = [];\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Type\r\n */\r\n @Input() type?: XType;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size?: XSize;\r\n /**\r\n * @zh_CN 内容模板\r\n * @en_US Content template\r\n */\r\n @Input() wrapper?: XTemplate;\r\n /**\r\n * @zh_CN 时间轴的相对位置\r\n * @en_US Content and timeline relative position\r\n */\r\n @Input() @XWithConfig<XTimelineMode>(X_CONFIG_NAME, 'left') mode?: XTimelineMode;\r\n}\r\n\r\n/**\r\n * @zh_CN Timeline 数据对象\r\n * @en_US Timeline node data\r\n */\r\nexport interface XTimelineNode extends XIdentityProperty {\r\n /**\r\n * @zh_CN 时间\r\n * @en_US Time\r\n */\r\n time?: XDate;\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n content?: string;\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 Type\r\n */\r\n type?: XType;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n color?: string;\r\n /**\r\n * @zh_CN 加载中\r\n * @en_US Loading\r\n */\r\n loading?: boolean;\r\n /**\r\n * @zh_CN 连接线显示虚线,针对下一个节点,下一个节点为 loading 状态也会显示虚线\r\n * @en_US The connecting line displays a dotted line. For the next node, the dotted line will also be displayed when the next node is in loading status\r\n */\r\n dashed?: boolean;\r\n /**\r\n * @zh_CN 其它自定义属性\r\n * @en_US Other property\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * @zh_CN 时间轴的相对位置\r\n * @en_US Content and timeline relative position\r\n */\r\nexport type XTimelineMode = 'left' | 'right' | 'alternate';\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges\r\n} from '@angular/core';\r\nimport { XTimelinePrefix, XTimelineNode, XTimelineProperty } from './timeline.property';\r\nimport { XIsChange, XSetData, XConfigService, XClearClass } from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: `${XTimelinePrefix}`,\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XTimelineComponent extends XTimelineProperty implements OnInit, OnChanges {\r\n nodes: XTimelineNode[] = [];\r\n private _unSubject = new Subject<void>();\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { data, mode } = changes;\r\n XIsChange(data) && this.setData();\r\n XIsChange(mode) && this.setClassMap();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap);\r\n this.classMap[`${XTimelinePrefix}-${this.mode}`] = this.mode ? true : false;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n trackByNode(_index: number, item: XTimelineNode) {\r\n return item.id;\r\n }\r\n\r\n private setData() {\r\n XSetData<XTimelineNode>(this.data, this._unSubject).subscribe((x) => {\r\n this.setDashed(x);\r\n this.nodes = x;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n private setDashed(nodes: XTimelineNode[]) {\r\n const len = nodes.length;\r\n if (len <= 1) return;\r\n for (let i = 0; i < nodes.length; i++) {\r\n let node = nodes[i];\r\n if (!node.loading) continue;\r\n if (i === 0) {\r\n node.dashed = true;\r\n } else if (i > 0) {\r\n nodes[i - 1].dashed = true;\r\n }\r\n }\r\n }\r\n}\r\n","<div #timeline class=\"x-timeline\" [ngClass]=\"classMap\">\r\n <ul>\r\n <li *ngFor=\"let node of nodes; trackBy: trackByNode\" [class.x-timeline-loading]=\"node.loading\">\r\n <div class=\"x-timeline-tail\" [class.x-timeline-tail-dashed]=\"node.dashed\"></div>\r\n <div\r\n class=\"x-timeline-icon {{ node.type ? 'x-timeline-' + node.type : '' }} {{ node.size ? 'x-timeline-' + node.size : '' }}\"\r\n [style.background-color]=\"node.color\"\r\n >\r\n <x-icon *ngIf=\"node.icon && !node.loading\" [type]=\"node.icon\"></x-icon>\r\n <x-icon *ngIf=\"node.loading\" type=\"fto-loader\" [spin]=\"true\"></x-icon>\r\n </div>\r\n <div class=\"x-timeline-wrapper\">\r\n <ng-container *xOutlet=\"wrapper; context: { $node: node }\">\r\n <div class=\"x-timeline-label\">\r\n <x-link *ngIf=\"node.label\">{{ node.label }}</x-link>\r\n <span class=\"x-timeline-time\" [title]=\"node.time | date: 'yyyy-MM-dd HH:mm:ss'\">{{ node.time | xTimeAgo }}</span>\r\n </div>\r\n <div class=\"x-timeline-content\">{{ node.content }}</div>\r\n </ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { XTimelineComponent } from './timeline.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XTimeAgoModule } from '@ng-nest/ui/time-ago';\r\nimport { XLinkModule } from '@ng-nest/ui/link';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\nimport { XTimelineProperty } from './timeline.property';\r\n\r\n@NgModule({\r\n declarations: [XTimelineComponent, XTimelineProperty],\r\n exports: [XTimelineComponent],\r\n imports: [CommonModule, XIconModule, XTimeAgoModule, XLinkModule, XOutletModule]\r\n})\r\nexport class XTimelineModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -127,6 +127,8 @@ export interface XI18nSelect {
127
127
  }
128
128
  export interface XI18nList {
129
129
  selectAllText?: string;
130
+ loadMoreText?: string;
131
+ loadingMoreText?: string;
130
132
  }
131
133
  export interface XI18nForm {
132
134
  required?: string;
@@ -111,6 +111,8 @@ declare const _default: {
111
111
  };
112
112
  list: {
113
113
  selectAllText: string;
114
+ loadMoreText: string;
115
+ loadingMoreText: string;
114
116
  };
115
117
  select: {
116
118
  selectAllText: string;
@@ -110,6 +110,8 @@ declare const _default: {
110
110
  };
111
111
  list: {
112
112
  selectAllText: string;
113
+ loadMoreText: string;
114
+ loadingMoreText: string;
113
115
  };
114
116
  select: {
115
117
  selectAllText: string;
@@ -110,6 +110,8 @@ declare const _default: {
110
110
  };
111
111
  list: {
112
112
  selectAllText: string;
113
+ loadMoreText: string;
114
+ loadingMoreText: string;
113
115
  };
114
116
  select: {
115
117
  selectAllText: string;
@@ -0,0 +1,8 @@
1
+ ---
2
+ order: 3
3
+ label: 'Load more'
4
+ ---
5
+
6
+ - Use the `loadMore` property to enable and load more. The `data` is set to a function with a return value to `Observable`.
7
+ - Use `loadMoreText` to set more text.
8
+ - Use the `loadingMoreText` to set the text that is loading.
@@ -0,0 +1,8 @@
1
+ ---
2
+ order: 3
3
+ label: '加载更多'
4
+ ---
5
+
6
+ 使用 `loadMore` 属性来启用加载更多,`data` 设置成一个返回值为 `Observable` 的函数。
7
+ 使用 `loadMoreText` 可以设置 `加载更多` 的文字。
8
+ 使用 `loadingMoreText` 可以设置 `正在加载的` 的文字。
@@ -19,11 +19,16 @@ export declare class XListComponent extends XListProperty implements OnInit, OnC
19
19
  keyManager: ActiveDescendantKeyManager<XListOptionComponent>;
20
20
  isSelectAll: boolean;
21
21
  locale: XI18nList;
22
+ loadMoreIndex: number;
23
+ icon: string;
24
+ iconSpin: boolean;
22
25
  role: string;
23
26
  tabindex: number;
24
27
  keydown($event: KeyboardEvent): void;
25
28
  get isEmpty(): boolean;
26
29
  get getSelectAllText(): string | undefined;
30
+ get getLoadMoreText(): string | undefined;
31
+ get getLoadingMoreText(): string | undefined;
27
32
  writeValue(value: any): void;
28
33
  private _unSubject;
29
34
  constructor(renderer: Renderer2, cdr: ChangeDetectorRef, elementRef: ElementRef, configService: XConfigService, i18n: XI18nService);
@@ -42,6 +47,7 @@ export declare class XListComponent extends XListProperty implements OnInit, OnC
42
47
  onMouseleave(event: Event, node: XListNode): void;
43
48
  dropCdk(event: CdkDragDrop<XListNode[]>): void;
44
49
  onSelectAllNodes(): void;
50
+ onLoadMore(): void;
45
51
  trackByNode(_index: number, item: XListNode): any;
46
52
  setUnActive(num: number): void;
47
53
  static ɵfac: i0.ɵɵFactoryDeclaration<XListComponent, never>;
@@ -30,6 +30,7 @@ export declare class XListProperty extends XControlValueAccessor<any> {
30
30
  /**
31
31
  * @zh_CN 全选的文字
32
32
  * @en_US Selected all text
33
+ * @default '全选'
33
34
  */
34
35
  selectAllText?: string;
35
36
  /**
@@ -72,6 +73,23 @@ export declare class XListProperty extends XControlValueAccessor<any> {
72
73
  * @en_US Size
73
74
  */
74
75
  size: XSize;
76
+ /**
77
+ * @zh_CN 加载更多
78
+ * @en_US load more
79
+ */
80
+ loadMore: XBoolean;
81
+ /**
82
+ * @zh_CN 加载更多的文字
83
+ * @en_US Load more text
84
+ * @default '加载更多'
85
+ */
86
+ loadMoreText?: string;
87
+ /**
88
+ * @zh_CN 正在加载中的文字
89
+ * @en_US Loading
90
+ * @default '正在加载中'
91
+ */
92
+ loadingMoreText?: string;
75
93
  /**
76
94
  * @zh_CN Full event
77
95
  * @en_US 全选事件
@@ -103,7 +121,7 @@ export declare class XListProperty extends XControlValueAccessor<any> {
103
121
  */
104
122
  keyManagerChange: EventEmitter<number>;
105
123
  static ɵfac: i0.ɵɵFactoryDeclaration<XListProperty, never>;
106
- static ɵcmp: i0.ɵɵComponentDeclaration<XListProperty, "ng-component", never, { "data": "data"; "multiple": "multiple"; "selectAll": "selectAll"; "selectAllText": "selectAllText"; "checked": "checked"; "drag": "drag"; "objectArray": "objectArray"; "nodeTpl": "nodeTpl"; "header": "header"; "footer": "footer"; "scrollElement": "scrollElement"; "size": "size"; }, { "onSelectAll": "onSelectAll"; "nodeMouseenter": "nodeMouseenter"; "nodeMouseleave": "nodeMouseleave"; "nodeClick": "nodeClick"; "keyManagerTabOut": "keyManagerTabOut"; "keyManagerChange": "keyManagerChange"; }, never, never, false>;
124
+ static ɵcmp: i0.ɵɵComponentDeclaration<XListProperty, "ng-component", never, { "data": "data"; "multiple": "multiple"; "selectAll": "selectAll"; "selectAllText": "selectAllText"; "checked": "checked"; "drag": "drag"; "objectArray": "objectArray"; "nodeTpl": "nodeTpl"; "header": "header"; "footer": "footer"; "scrollElement": "scrollElement"; "size": "size"; "loadMore": "loadMore"; "loadMoreText": "loadMoreText"; "loadingMoreText": "loadingMoreText"; }, { "onSelectAll": "onSelectAll"; "nodeMouseenter": "nodeMouseenter"; "nodeMouseleave": "nodeMouseleave"; "nodeClick": "nodeClick"; "keyManagerTabOut": "keyManagerTabOut"; "keyManagerChange": "keyManagerChange"; }, never, never, false>;
107
125
  }
108
126
  /**
109
127
  * @zh_CN List 数据对象
@@ -1,4 +1,4 @@
1
- import { XProperty, XSize, XTemplate, XBoolean } from '@ng-nest/ui/core';
1
+ import { XProperty, XSize, XTemplate, XBoolean, XNumber } from '@ng-nest/ui/core';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Loading
@@ -15,6 +15,11 @@ export declare class XLoadingProperty extends XProperty {
15
15
  * @en_US Show loading
16
16
  */
17
17
  loading: XBoolean;
18
+ /**
19
+ * @zh_CN 层级
20
+ * @en_US z-index
21
+ */
22
+ zIndex?: XNumber;
18
23
  /**
19
24
  * @zh_CN 尺寸
20
25
  * @en_US Size
@@ -46,5 +51,5 @@ export declare class XLoadingProperty extends XProperty {
46
51
  */
47
52
  background?: string;
48
53
  static ɵfac: i0.ɵɵFactoryDeclaration<XLoadingProperty, never>;
49
- static ɵcmp: i0.ɵɵComponentDeclaration<XLoadingProperty, "ng-component", never, { "loading": "x-loading"; "size": "size"; "text": "text"; "icon": "icon"; "color": "color"; "fullScreen": "fullScreen"; "background": "background"; }, {}, never, never, false>;
54
+ static ɵcmp: i0.ɵɵComponentDeclaration<XLoadingProperty, "ng-component", never, { "loading": "x-loading"; "zIndex": "zIndex"; "size": "size"; "text": "text"; "icon": "icon"; "color": "color"; "fullScreen": "fullScreen"; "background": "background"; }, {}, never, never, false>;
50
55
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-nest/ui",
3
- "version": "14.0.3",
3
+ "version": "14.0.6",
4
4
  "homepage": "https://www.ngnest.com",
5
5
  "author": "ng-nest",
6
6
  "ng-update": {
@@ -1,4 +1,4 @@
1
- import { OnInit, ElementRef, ViewContainerRef, OnChanges, SimpleChanges } from '@angular/core';
1
+ import { ElementRef, ViewContainerRef, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';
3
3
  import { XPopoverPortalComponent } from './popover-portal.component';
4
4
  import { XPopoverProperty } from './popover.property';
@@ -6,7 +6,7 @@ import { BehaviorSubject, Subject } from 'rxjs';
6
6
  import { OverlayConfig, Overlay } from '@angular/cdk/overlay';
7
7
  import { XConfigService } from '@ng-nest/ui/core';
8
8
  import * as i0 from "@angular/core";
9
- export declare class XPopoverDirective extends XPopoverProperty implements OnInit, OnChanges {
9
+ export declare class XPopoverDirective extends XPopoverProperty implements OnChanges {
10
10
  private elementRef;
11
11
  private portalService;
12
12
  private viewContainerRef;
@@ -24,7 +24,8 @@ export declare class XPopoverDirective extends XPopoverProperty implements OnIni
24
24
  click(): void;
25
25
  mouseenter(): void;
26
26
  mouseleave(): void;
27
- ngOnInit(): void;
27
+ focus(): void;
28
+ blur(): void;
28
29
  ngOnChanges(changes: SimpleChanges): void;
29
30
  ngOnDestroy(): void;
30
31
  ngAfterViewInit(): void;
@@ -75,7 +75,7 @@ export declare class XPopoverProperty extends XProperty {
75
75
  * @value "hover"
76
76
  * @value "click"
77
77
  */
78
- export declare type XPopoverTrigger = 'hover' | 'click';
78
+ export declare type XPopoverTrigger = 'hover' | 'click' | 'focus';
79
79
  /**
80
80
  * Popover Portal
81
81
  * @selector x-popover-portal
@@ -88,6 +88,7 @@ export declare class XSelectComponent extends XSelectProperty implements OnInit,
88
88
  setPosition(config: OverlayConfig): void;
89
89
  setInstance(): void;
90
90
  nodeClick(node: XSelectNode, value?: XSelectNode[] | (string | number)[]): void;
91
+ selectAllNodes(value: XSelectNode[] | (string | number)[]): void;
91
92
  setPlacement(): import("@angular/cdk/overlay").PositionStrategy;
92
93
  setPortal(): void;
93
94
  formControlChanges(): void;
@@ -0,0 +1,7 @@
1
+ ---
2
+ order: 7
3
+ label: 'Expand'
4
+ ---
5
+
6
+ - `showExpand` attributes, when the node is not displayed, all the buttons are displayed, and the arrangement method is effective when it is row.
7
+ - `expandMaxHeight` properties are used to limit the maximum height of the lane frame
@@ -0,0 +1,7 @@
1
+ ---
2
+ order: 7
3
+ label: '展开'
4
+ ---
5
+
6
+ - `showExpand` 属性,节点显示不下的时候显示展开所有的按钮,排列方式为 row 的时候生效
7
+ - `expandMaxHeight` 属性用来限制展开弹框的最大高度
@@ -14,6 +14,7 @@ export declare class XSliderComponent extends XSliderProperty implements OnInit,
14
14
  scrollClassMap: XClassMap;
15
15
  nodeClassMap: XClassMap;
16
16
  showArrow: boolean;
17
+ activatedId: string;
17
18
  private _offset;
18
19
  get offset(): number;
19
20
  set offset(value: number);
@@ -39,6 +40,7 @@ export declare class XSliderComponent extends XSliderProperty implements OnInit,
39
40
  setChange(map: XClassMap, change: SimpleChange, prefix?: string): void;
40
41
  setSubscribe(): void;
41
42
  nodeClick(node: XSliderNode, index: number): void;
43
+ dropdownClick(node: XSliderNode): void;
42
44
  scrollPrev(): void;
43
45
  scrollNext(): void;
44
46
  setDirection(index: number, before: number): XPosition;
@@ -5,8 +5,9 @@ import * as i3 from "@angular/common";
5
5
  import * as i4 from "@ng-nest/ui/link";
6
6
  import * as i5 from "@ng-nest/ui/button";
7
7
  import * as i6 from "@ng-nest/ui/outlet";
8
+ import * as i7 from "@ng-nest/ui/dropdown";
8
9
  export declare class XSliderModule {
9
10
  static ɵfac: i0.ɵɵFactoryDeclaration<XSliderModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<XSliderModule, [typeof i1.XSliderComponent, typeof i2.XSliderProperty], [typeof i3.CommonModule, typeof i4.XLinkModule, typeof i5.XButtonModule, typeof i6.XOutletModule], [typeof i1.XSliderComponent]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<XSliderModule, [typeof i1.XSliderComponent, typeof i2.XSliderProperty], [typeof i3.CommonModule, typeof i4.XLinkModule, typeof i5.XButtonModule, typeof i6.XOutletModule, typeof i7.XDropdownModule], [typeof i1.XSliderComponent]>;
11
12
  static ɵinj: i0.ɵɵInjectorDeclaration<XSliderModule>;
12
13
  }
@@ -51,6 +51,16 @@ export declare class XSliderProperty extends XProperty {
51
51
  * @en_US Size
52
52
  */
53
53
  size?: XSize;
54
+ /**
55
+ * @zh_CN 节点显示不下的时候显示展开所有的按钮,排列方式为 row 的时候生效
56
+ * @en_US When the node is not displayed, display all the buttons, and the arrangement is effective when the arrangement is row
57
+ */
58
+ showExpand?: XBoolean;
59
+ /**
60
+ * @zh_CN 展开所有弹框的最大高度
61
+ * @en_US Expand the maximum height of all bomb frames
62
+ */
63
+ expandMaxHeight?: string;
54
64
  /**
55
65
  * @zh_CN 激活索引变化事件
56
66
  * @en_US Activate index change event
@@ -62,7 +72,7 @@ export declare class XSliderProperty extends XProperty {
62
72
  */
63
73
  nodeChange: EventEmitter<XSliderNode>;
64
74
  static ɵfac: i0.ɵɵFactoryDeclaration<XSliderProperty, never>;
65
- static ɵcmp: i0.ɵɵComponentDeclaration<XSliderProperty, "ng-component", never, { "data": "data"; "animated": "animated"; "activatedIndex": "activatedIndex"; "layout": "layout"; "justify": "justify"; "nodeJustify": "nodeJustify"; "nodeTpl": "nodeTpl"; "size": "size"; }, { "indexChange": "indexChange"; "nodeChange": "nodeChange"; }, never, never, false>;
75
+ static ɵcmp: i0.ɵɵComponentDeclaration<XSliderProperty, "ng-component", never, { "data": "data"; "animated": "animated"; "activatedIndex": "activatedIndex"; "layout": "layout"; "justify": "justify"; "nodeJustify": "nodeJustify"; "nodeTpl": "nodeTpl"; "size": "size"; "showExpand": "showExpand"; "expandMaxHeight": "expandMaxHeight"; }, { "indexChange": "indexChange"; "nodeChange": "nodeChange"; }, never, never, false>;
66
76
  }
67
77
  /**
68
78
  * @zh_CN Slider 数据对象
@@ -0,0 +1,7 @@
1
+ ---
2
+ order: 14
3
+ label: 'Edit'
4
+ ---
5
+
6
+ - Use `bodyTdTpl` custom cell content
7
+ - Use the `bodyColumnTpl` to customize a whole series of content, which is higher than `bodyTdTpl`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  order: 12
3
- label: '页头页尾'
3
+ label: 'Header'
4
4
  ---
5
5
 
6
- - 使用 `header`、`footer` 来指定页头页尾。
6
+ - Ad the end of the page with the `header`, `footer`.
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 15
3
+ label: 'Search'
4
+ ---
5
+
6
+ - Use the content of the search bar with `headSearchTpl`
@@ -0,0 +1,7 @@
1
+ ---
2
+ order: 14
3
+ label: '编辑'
4
+ ---
5
+
6
+ - 使用 `bodyTdTpl` 自定义单元格内容
7
+ - 使用 `bodyColumnTpl` 自定义一整列的内容,优先级要高于 `bodyTdTpl`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  order: 12
3
- label: 'Header'
3
+ label: '页头页尾'
4
4
  ---
5
5
 
6
- - Ad the end of the page with the `header`, `footer`.
6
+ - 使用 `header`、`footer` 来指定页头页尾。
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 15
3
+ label: '搜索'
4
+ ---
5
+
6
+ - 使用 `headSearchTpl` 自定义搜索栏的内容
@@ -32,7 +32,7 @@ export declare class XTableBodyComponent extends XTableBodyProperty implements O
32
32
  getFlex(column: XTableColumn): number | "none";
33
33
  getTitle(row: XTableRow, column: XTableCell | any): string;
34
34
  setAdaptionHeight(): void;
35
- rowClick(row: XTableRow): void;
35
+ rowClick(event: Event, row: XTableRow): void;
36
36
  onExpanded(_event: Event, node: XTableRow): void;
37
37
  trackByItem(_index: number, item: XTableRow | XTableColumn): any;
38
38
  static ɵfac: i0.ɵɵFactoryDeclaration<XTableBodyComponent, never>;
@@ -14,6 +14,8 @@ export declare class XTableComponent extends XTableProperty implements OnInit, O
14
14
  get getRowHeight(): number | "";
15
15
  get getStickyTopScrollTop(): any;
16
16
  get getStickyBottomScrollTop(): number;
17
+ get getStickyTopRightEleHeight(): any;
18
+ get getStickyBottomRightEleHeight(): any;
17
19
  tcaption: ElementRef;
18
20
  thead: ElementRef[];
19
21
  tfoot: ElementRef;
@@ -44,6 +46,8 @@ export declare class XTableComponent extends XTableProperty implements OnInit, O
44
46
  table: ElementRef;
45
47
  caption: ElementRef;
46
48
  pagination: XPaginationComponent;
49
+ stickyTopRightEle: ElementRef;
50
+ stickyBottomRightEle: ElementRef;
47
51
  private _unSubject;
48
52
  constructor(renderer: Renderer2, elementRef: ElementRef, cdr: ChangeDetectorRef, configService: XConfigService);
49
53
  ngOnInit(): void;
@@ -57,6 +61,7 @@ export declare class XTableComponent extends XTableProperty implements OnInit, O
57
61
  getStickyRight(column: XTableColumn | XTableCell): boolean;
58
62
  getStickyRightFirst(column: XTableColumn | XTableCell): boolean;
59
63
  hasStickyTopRight(): boolean | "";
64
+ hasStickyTopRightSearch(): boolean;
60
65
  hasStickyBottomRight(): boolean | "";
61
66
  getIndex(index: number): number;
62
67
  setData(): void;
@@ -58,15 +58,20 @@ export declare class XTableProperty extends XPaginationProperty implements XTabl
58
58
  */
59
59
  activatedRowChange: EventEmitter<XTableRow>;
60
60
  /**
61
- * @zh_CN 列头自定义模板
61
+ * @zh_CN 列头自定义模板,通过 key-value 的方式指定每列的模版
62
62
  * @en_US Column header custom template
63
63
  */
64
64
  headColumnTpl: XTableTemplate;
65
65
  /**
66
- * @zh_CN 列内容自定义模板
66
+ * @zh_CN 列内容自定义模板,通过 key-value 的方式指定每列的模版
67
67
  * @en_US Column content custom template
68
68
  */
69
69
  bodyColumnTpl: XTableTemplate;
70
+ /**
71
+ * @zh_CN 单元格的自定义模板,优先级低于列内容自定义模板
72
+ * @en_US Custom template of cells
73
+ */
74
+ bodyTdTpl?: XTemplate;
70
75
  /**
71
76
  * @zh_CN 行条件样式
72
77
  * @en_US Row condition class
@@ -74,16 +79,26 @@ export declare class XTableProperty extends XPaginationProperty implements XTabl
74
79
  rowClass?: (row: XTableRow, index: number) => {
75
80
  [className: string]: boolean;
76
81
  };
82
+ /**
83
+ * @zh_CN 列头搜索自定义模板
84
+ * @en_US Line head search custom template
85
+ */
86
+ headSearchTpl?: XTemplate;
77
87
  /**
78
88
  * @zh_CN 排序点击的事件
79
89
  * @en_US Sort click events
80
90
  */
81
91
  sortChange: EventEmitter<XSort[]>;
82
92
  /**
83
- * @zh_CN 允许行点击选中
93
+ * @zh_CN 允许行点击选中当前行
84
94
  * @en_US Allow row click to select
85
95
  */
86
96
  allowSelectRow: XBoolean;
97
+ /**
98
+ * @zh_CN 允许行点击选中 checkbox
99
+ * @en_US Allow lines to click checkbox
100
+ */
101
+ allowCheckRow: XBoolean;
87
102
  /**
88
103
  * @zh_CN 开启虚拟滚动
89
104
  * @en_US Turn on virtual scrolling
@@ -200,7 +215,7 @@ export declare class XTableProperty extends XPaginationProperty implements XTabl
200
215
  */
201
216
  expandTpl?: XTemplate;
202
217
  static ɵfac: i0.ɵɵFactoryDeclaration<XTableProperty, never>;
203
- static ɵcmp: i0.ɵɵComponentDeclaration<XTableProperty, "ng-component", never, { "data": "data"; "columns": "columns"; "rowHeight": "rowHeight"; "loading": "loading"; "bordered": "bordered"; "showHeader": "showHeader"; "headerPosition": "headerPosition"; "activatedRow": "activatedRow"; "headColumnTpl": "headColumnTpl"; "bodyColumnTpl": "bodyColumnTpl"; "rowClass": "rowClass"; "allowSelectRow": "allowSelectRow"; "virtualScroll": "virtualScroll"; "bodyHeight": "bodyHeight"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "adaptionHeight": "adaptionHeight"; "docPercent": "docPercent"; "checkedRow": "checkedRow"; "manual": "manual"; "scroll": "scroll"; "header": "header"; "footer": "footer"; "cellConfig": "cellConfig"; "rowSize": "rowSize"; "paginationPosition": "paginationPosition"; "showPagination": "showPagination"; "treeTable": "treeTable"; "expandedAll": "expandedAll"; "expandedLevel": "expandedLevel"; "expanded": "expanded"; "expandTpl": "expandTpl"; }, { "activatedRowChange": "activatedRowChange"; "sortChange": "sortChange"; "manualChange": "manualChange"; }, never, never, false>;
218
+ static ɵcmp: i0.ɵɵComponentDeclaration<XTableProperty, "ng-component", never, { "data": "data"; "columns": "columns"; "rowHeight": "rowHeight"; "loading": "loading"; "bordered": "bordered"; "showHeader": "showHeader"; "headerPosition": "headerPosition"; "activatedRow": "activatedRow"; "headColumnTpl": "headColumnTpl"; "bodyColumnTpl": "bodyColumnTpl"; "bodyTdTpl": "bodyTdTpl"; "rowClass": "rowClass"; "headSearchTpl": "headSearchTpl"; "allowSelectRow": "allowSelectRow"; "allowCheckRow": "allowCheckRow"; "virtualScroll": "virtualScroll"; "bodyHeight": "bodyHeight"; "itemSize": "itemSize"; "minBufferPx": "minBufferPx"; "maxBufferPx": "maxBufferPx"; "adaptionHeight": "adaptionHeight"; "docPercent": "docPercent"; "checkedRow": "checkedRow"; "manual": "manual"; "scroll": "scroll"; "header": "header"; "footer": "footer"; "cellConfig": "cellConfig"; "rowSize": "rowSize"; "paginationPosition": "paginationPosition"; "showPagination": "showPagination"; "treeTable": "treeTable"; "expandedAll": "expandedAll"; "expandedLevel": "expandedLevel"; "expanded": "expanded"; "expandTpl": "expandTpl"; }, { "activatedRowChange": "activatedRowChange"; "sortChange": "sortChange"; "manualChange": "manualChange"; }, never, never, false>;
204
219
  }
205
220
  /**
206
221
  * Table Option
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 6
3
+ label: 'Action'
4
+ ---
5
+
6
+ Using the `actionTpl` can customize the operating template.
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 7
3
+ label: 'Expand'
4
+ ---
5
+
6
+ Use the `showExpand` to add the unfolding button.
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 6
3
+ label: '操作'
4
+ ---
5
+
6
+ 使用 `actionTpl` 可以自定义操作模板。
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 7
3
+ label: '展开'
4
+ ---
5
+
6
+ 使用 `showExpand` 可以添加展开的按钮。
@@ -1,4 +1,4 @@
1
- import { OnInit, OnChanges, SimpleChanges, ChangeDetectorRef, QueryList } from '@angular/core';
1
+ import { OnInit, OnChanges, SimpleChanges, ChangeDetectorRef, QueryList, ElementRef, Renderer2 } from '@angular/core';
2
2
  import { XTabsNode, XTabsProperty } from './tabs.property';
3
3
  import { XConfigService } from '@ng-nest/ui/core';
4
4
  import { XSliderComponent, XSliderProperty } from '@ng-nest/ui/slider';
@@ -7,17 +7,24 @@ import * as i0 from "@angular/core";
7
7
  export declare class XTabsComponent extends XTabsProperty implements OnInit, OnChanges {
8
8
  private cdr;
9
9
  configService: XConfigService;
10
+ renderer: Renderer2;
10
11
  sliderOption: XSliderProperty;
11
12
  tabs: XTabsNode[];
12
13
  private _unSubject;
14
+ private _tabsContentChange;
15
+ private _resizeObserver;
13
16
  get activeIndex(): number;
14
17
  listTabs: QueryList<XTabComponent>;
15
18
  slider: XSliderComponent;
16
- constructor(cdr: ChangeDetectorRef, configService: XConfigService);
19
+ actionsRef: ElementRef;
20
+ constructor(cdr: ChangeDetectorRef, configService: XConfigService, renderer: Renderer2);
17
21
  ngOnInit(): void;
18
22
  ngOnChanges(changes: SimpleChanges): void;
19
23
  ngOnDestroy(): void;
24
+ ngAfterContentChecked(): void;
20
25
  ngAfterViewInit(): void;
26
+ setSliderWidth(): void;
27
+ setSubject(): void;
21
28
  activatedChange(index: number): void;
22
29
  setActivatedIndex(): void;
23
30
  private setClassMap;
@@ -5,9 +5,10 @@ import * as i3 from "./tab.component";
5
5
  import * as i4 from "./tabs.property";
6
6
  import * as i5 from "@angular/common";
7
7
  import * as i6 from "@ng-nest/ui/slider";
8
- import * as i7 from "@ng-nest/ui/icon";
8
+ import * as i7 from "@ng-nest/ui/button";
9
+ import * as i8 from "@ng-nest/ui/icon";
9
10
  export declare class XTabsModule {
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<XTabsModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<XTabsModule, [typeof i1.XTabsComponent, typeof i2.XTabContentComponent, typeof i3.XTabComponent, typeof i4.XTabsProperty, typeof i4.XTabProperty], [typeof i5.CommonModule, typeof i6.XSliderModule, typeof i7.XIconModule], [typeof i1.XTabsComponent, typeof i2.XTabContentComponent, typeof i3.XTabComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<XTabsModule, [typeof i1.XTabsComponent, typeof i2.XTabContentComponent, typeof i3.XTabComponent, typeof i4.XTabsProperty, typeof i4.XTabProperty], [typeof i5.CommonModule, typeof i6.XSliderModule, typeof i7.XButtonModule, typeof i8.XIconModule], [typeof i1.XTabsComponent, typeof i2.XTabContentComponent, typeof i3.XTabComponent]>;
12
13
  static ɵinj: i0.ɵɵInjectorDeclaration<XTabsModule>;
13
14
  }
@@ -57,17 +57,32 @@ export declare class XTabsProperty extends XProperty {
57
57
  */
58
58
  nodeJustify?: XJustify;
59
59
  /**
60
- * @zh_CN 隐藏标签栏
61
- * @en_US Hide tab bar
60
+ * @zh_CN 隐藏标签栏,只有一个标签页时候默认隐藏(存在自定义操作模版的时候不会)
61
+ * @en_US Hide the label bar, there is only one tab, the default hidden
62
62
  */
63
63
  sliderHidden?: XBoolean;
64
+ /**
65
+ * @zh_CN 标签栏上的自定义操作模版
66
+ * @en_US Custom template on the label bar
67
+ */
68
+ actionTpl?: TemplateRef<void>;
69
+ /**
70
+ * @zh_CN 标签页显示不下的时候显示展开所有的按钮,布局为 top 、bottom 的时候生效
71
+ * @en_US When the node is not displayed, display all the buttons, and the arrangement is effective when the arrangement is row
72
+ */
73
+ showExpand?: XBoolean;
74
+ /**
75
+ * @zh_CN 展开所有弹框的最大高度
76
+ * @en_US Expand the maximum height of all bomb frames
77
+ */
78
+ expandMaxHeight?: string;
64
79
  /**
65
80
  * @zh_CN 标签切换变化的事件
66
81
  * @en_US Label switching event
67
82
  */
68
83
  indexChange: EventEmitter<XActivatedTab>;
69
84
  static ɵfac: i0.ɵɵFactoryDeclaration<XTabsProperty, never>;
70
- static ɵcmp: i0.ɵɵComponentDeclaration<XTabsProperty, "ng-component", never, { "data": "data"; "justify": "justify"; "type": "type"; "layout": "layout"; "activatedIndex": "activatedIndex"; "animated": "animated"; "nodeTpl": "nodeTpl"; "size": "size"; "nodeJustify": "nodeJustify"; "sliderHidden": "sliderHidden"; }, { "indexChange": "indexChange"; }, never, never, false>;
85
+ static ɵcmp: i0.ɵɵComponentDeclaration<XTabsProperty, "ng-component", never, { "data": "data"; "justify": "justify"; "type": "type"; "layout": "layout"; "activatedIndex": "activatedIndex"; "animated": "animated"; "nodeTpl": "nodeTpl"; "size": "size"; "nodeJustify": "nodeJustify"; "sliderHidden": "sliderHidden"; "actionTpl": "actionTpl"; "showExpand": "showExpand"; "expandMaxHeight": "expandMaxHeight"; }, { "indexChange": "indexChange"; }, never, never, false>;
71
86
  }
72
87
  /**
73
88
  * @zh_CN Tabs 数据对象
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 8
3
+ label: 'Mode'
4
+ ---
5
+
6
+ Set the position of the timeline with the `mode` attribute, support the `left`, `right` and `alternate`
@@ -0,0 +1,6 @@
1
+ ---
2
+ order: 8
3
+ label: '位置'
4
+ ---
5
+
6
+ 使用 `mode` 属性来设置时间轴的位置,支持 `left`, `right` 和 `alternate`