@ng-nest/ui 20.1.0 → 20.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/auto-complete/index.d.ts +3 -3
  2. package/avatar/index.d.ts +64 -2
  3. package/bubble/index.d.ts +170 -0
  4. package/calendar/index.d.ts +2 -1
  5. package/cascade/index.d.ts +3 -3
  6. package/checkbox/index.d.ts +1 -1
  7. package/color-picker/index.d.ts +3 -3
  8. package/core/index.d.ts +16 -4
  9. package/date-picker/index.d.ts +4 -4
  10. package/dropdown/index.d.ts +4 -4
  11. package/fesm2022/ng-nest-ui-affix.mjs +10 -10
  12. package/fesm2022/ng-nest-ui-alert.mjs +10 -10
  13. package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
  14. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  15. package/fesm2022/ng-nest-ui-auto-complete.mjs +13 -13
  16. package/fesm2022/ng-nest-ui-avatar.mjs +28 -16
  17. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  18. package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
  19. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  20. package/fesm2022/ng-nest-ui-base-form.mjs +7 -7
  21. package/fesm2022/ng-nest-ui-bubble.mjs +350 -0
  22. package/fesm2022/ng-nest-ui-bubble.mjs.map +1 -0
  23. package/fesm2022/ng-nest-ui-button.mjs +16 -16
  24. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  25. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  26. package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
  27. package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
  28. package/fesm2022/ng-nest-ui-checkbox.mjs +10 -10
  29. package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
  30. package/fesm2022/ng-nest-ui-color-picker.mjs +16 -16
  31. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  32. package/fesm2022/ng-nest-ui-comment.mjs +16 -16
  33. package/fesm2022/ng-nest-ui-container.mjs +31 -31
  34. package/fesm2022/ng-nest-ui-core.mjs +21 -18
  35. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
  37. package/fesm2022/ng-nest-ui-date-picker.mjs +49 -49
  38. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  39. package/fesm2022/ng-nest-ui-dialog.mjs +40 -40
  40. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  41. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  42. package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
  43. package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
  44. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  45. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  46. package/fesm2022/ng-nest-ui-find.mjs +10 -10
  47. package/fesm2022/ng-nest-ui-form.mjs +16 -16
  48. package/fesm2022/ng-nest-ui-highlight.mjs +13 -13
  49. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  50. package/fesm2022/ng-nest-ui-icon.mjs +13 -13
  51. package/fesm2022/ng-nest-ui-image.mjs +19 -19
  52. package/fesm2022/ng-nest-ui-inner.mjs +10 -10
  53. package/fesm2022/ng-nest-ui-input-number.mjs +10 -10
  54. package/fesm2022/ng-nest-ui-input.mjs +18 -18
  55. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  56. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  57. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  58. package/fesm2022/ng-nest-ui-link.mjs +10 -10
  59. package/fesm2022/ng-nest-ui-list.mjs +19 -19
  60. package/fesm2022/ng-nest-ui-loading.mjs +16 -11
  61. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  62. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  63. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  64. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  65. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  66. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  67. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  68. package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
  69. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  70. package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
  71. package/fesm2022/ng-nest-ui-popover.mjs +13 -13
  72. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  73. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  74. package/fesm2022/ng-nest-ui-radio.mjs +10 -10
  75. package/fesm2022/ng-nest-ui-rate.mjs +10 -10
  76. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  77. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  78. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  79. package/fesm2022/ng-nest-ui-scrollable.mjs +7 -7
  80. package/fesm2022/ng-nest-ui-select.mjs +13 -13
  81. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  82. package/fesm2022/ng-nest-ui-slider-select.mjs +10 -10
  83. package/fesm2022/ng-nest-ui-slider.mjs +10 -10
  84. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  85. package/fesm2022/ng-nest-ui-steps.mjs +10 -10
  86. package/fesm2022/ng-nest-ui-switch.mjs +10 -10
  87. package/fesm2022/ng-nest-ui-table-view.mjs +58 -58
  88. package/fesm2022/ng-nest-ui-table.mjs +34 -34
  89. package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
  90. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  91. package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
  92. package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
  93. package/fesm2022/ng-nest-ui-theme.mjs +10 -10
  94. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  95. package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
  96. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  97. package/fesm2022/ng-nest-ui-timeline.mjs +10 -10
  98. package/fesm2022/ng-nest-ui-tooltip.mjs +13 -13
  99. package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
  100. package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
  101. package/fesm2022/ng-nest-ui-tree-select.mjs +13 -13
  102. package/fesm2022/ng-nest-ui-tree.mjs +19 -19
  103. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  104. package/fesm2022/ng-nest-ui-upload.mjs +13 -13
  105. package/fesm2022/ng-nest-ui.mjs +1 -0
  106. package/fesm2022/ng-nest-ui.mjs.map +1 -1
  107. package/index.d.ts +1 -0
  108. package/loading/index.d.ts +6 -1
  109. package/message-box/index.d.ts +5 -4
  110. package/package.json +47 -43
  111. package/radio/index.d.ts +1 -1
  112. package/select/index.d.ts +3 -3
  113. package/steps/index.d.ts +2 -1
  114. package/time-picker/index.d.ts +3 -3
  115. package/tree-select/index.d.ts +3 -3
@@ -186,10 +186,10 @@ class XListProperty extends XFormControlFunction(X_LIST_CONFIG_NAME) {
186
186
  */
187
187
  this.size = input(this.config?.size ?? 'medium', ...(ngDevMode ? [{ debugName: "size" }] : []));
188
188
  }
189
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
190
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XListProperty, isStandalone: true, selector: "x-list-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, selectAllText: { classPropertyName: "selectAllText", publicName: "selectAllText", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, drag: { classPropertyName: "drag", publicName: "drag", isSignal: true, isRequired: false, transformFunction: null }, objectArray: { classPropertyName: "objectArray", publicName: "objectArray", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, scrollElement: { classPropertyName: "scrollElement", publicName: "scrollElement", isSignal: true, isRequired: false, transformFunction: null }, loadMore: { classPropertyName: "loadMore", publicName: "loadMore", isSignal: true, isRequired: false, transformFunction: null }, loadMoreText: { classPropertyName: "loadMoreText", publicName: "loadMoreText", isSignal: true, isRequired: false, transformFunction: null }, loadingMoreText: { classPropertyName: "loadingMoreText", publicName: "loadingMoreText", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, heightAdaption: { classPropertyName: "heightAdaption", publicName: "heightAdaption", isSignal: true, isRequired: false, transformFunction: null }, minBufferPx: { classPropertyName: "minBufferPx", publicName: "minBufferPx", isSignal: true, isRequired: false, transformFunction: null }, maxBufferPx: { classPropertyName: "maxBufferPx", publicName: "maxBufferPx", isSignal: true, isRequired: false, transformFunction: null }, keywordText: { classPropertyName: "keywordText", publicName: "keywordText", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, inPortal: { classPropertyName: "inPortal", publicName: "inPortal", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectAll: "onSelectAll", nodeMouseenter: "nodeMouseenter", nodeMouseleave: "nodeMouseleave", nodeClick: "nodeClick", dropListDropped: "dropListDropped", keyManagerTabOut: "keyManagerTabOut", keyManagerChange: "keyManagerChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
189
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
190
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.0", type: XListProperty, isStandalone: true, selector: "x-list-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, selectAll: { classPropertyName: "selectAll", publicName: "selectAll", isSignal: true, isRequired: false, transformFunction: null }, selectAllText: { classPropertyName: "selectAllText", publicName: "selectAllText", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, drag: { classPropertyName: "drag", publicName: "drag", isSignal: true, isRequired: false, transformFunction: null }, objectArray: { classPropertyName: "objectArray", publicName: "objectArray", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, scrollElement: { classPropertyName: "scrollElement", publicName: "scrollElement", isSignal: true, isRequired: false, transformFunction: null }, loadMore: { classPropertyName: "loadMore", publicName: "loadMore", isSignal: true, isRequired: false, transformFunction: null }, loadMoreText: { classPropertyName: "loadMoreText", publicName: "loadMoreText", isSignal: true, isRequired: false, transformFunction: null }, loadingMoreText: { classPropertyName: "loadingMoreText", publicName: "loadingMoreText", isSignal: true, isRequired: false, transformFunction: null }, virtualScroll: { classPropertyName: "virtualScroll", publicName: "virtualScroll", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, heightAdaption: { classPropertyName: "heightAdaption", publicName: "heightAdaption", isSignal: true, isRequired: false, transformFunction: null }, minBufferPx: { classPropertyName: "minBufferPx", publicName: "minBufferPx", isSignal: true, isRequired: false, transformFunction: null }, maxBufferPx: { classPropertyName: "maxBufferPx", publicName: "maxBufferPx", isSignal: true, isRequired: false, transformFunction: null }, keywordText: { classPropertyName: "keywordText", publicName: "keywordText", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, inPortal: { classPropertyName: "inPortal", publicName: "inPortal", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectAll: "onSelectAll", nodeMouseenter: "nodeMouseenter", nodeMouseleave: "nodeMouseleave", nodeClick: "nodeClick", dropListDropped: "dropListDropped", keyManagerTabOut: "keyManagerTabOut", keyManagerChange: "keyManagerChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
191
191
  }
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListProperty, decorators: [{
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListProperty, decorators: [{
193
193
  type: Component,
194
194
  args: [{ selector: `${XListPrefix}-property`, template: '' }]
195
195
  }] });
@@ -280,10 +280,10 @@ class XListOptionProperty {
280
280
  */
281
281
  this.caseSensitive = input(true, ...(ngDevMode ? [{ debugName: "caseSensitive", transform: XToBoolean }] : [{ transform: XToBoolean }]));
282
282
  }
283
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListOptionProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
284
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XListOptionProperty, isStandalone: true, selector: "x-list-option-property", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, forbidden: { classPropertyName: "forbidden", publicName: "forbidden", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, openPortal: { classPropertyName: "openPortal", publicName: "openPortal", isSignal: true, isRequired: false, transformFunction: null }, optionClass: { classPropertyName: "optionClass", publicName: "optionClass", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, divided: { classPropertyName: "divided", publicName: "divided", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, keywordText: { classPropertyName: "keywordText", publicName: "keywordText", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, ngImport: i0, template: '', isInline: true }); }
283
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListOptionProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
284
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.0", type: XListOptionProperty, isStandalone: true, selector: "x-list-option-property", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, forbidden: { classPropertyName: "forbidden", publicName: "forbidden", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, openPortal: { classPropertyName: "openPortal", publicName: "openPortal", isSignal: true, isRequired: false, transformFunction: null }, optionClass: { classPropertyName: "optionClass", publicName: "optionClass", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, divided: { classPropertyName: "divided", publicName: "divided", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, keywordText: { classPropertyName: "keywordText", publicName: "keywordText", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, ngImport: i0, template: '', isInline: true }); }
285
285
  }
286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListOptionProperty, decorators: [{
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListOptionProperty, decorators: [{
287
287
  type: Component,
288
288
  args: [{ selector: `${XListOptionPrefix}-property`, template: '' }]
289
289
  }] });
@@ -308,10 +308,10 @@ class XListOptionComponent extends XListOptionProperty {
308
308
  getLabel() {
309
309
  return this.label();
310
310
  }
311
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
312
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XListOptionComponent, isStandalone: true, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-selected]=\"selected()\"\r\n [class.x-disabled]=\"forbidden()\"\r\n [class.x-open-portal]=\"openPortal()\"\r\n [class.x-active]=\"active()\"\r\n [class.x-list-icon]=\"icon()\"\r\n [class.x-list-divided]=\"divided()\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n @if (nodeTpl()) {\r\n <ng-template *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node() }\"></ng-template>\r\n } @else {\r\n @if (icon()) {\r\n <x-icon class=\"x-list-option-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n <span x-keyword [text]=\"keywordText()\" [caseSensitive]=\"caseSensitive()\">{{ label() }}</span>\r\n }\r\n </div>\r\n @if (leaf()) {\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\"></x-icon>\r\n }\r\n @if (checked() && !leaf() && selected()) {\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option-icon{margin-right:.25rem}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{position:relative;margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-primary-900);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
311
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
312
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: XListOptionComponent, isStandalone: true, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-selected]=\"selected()\"\r\n [class.x-disabled]=\"forbidden()\"\r\n [class.x-open-portal]=\"openPortal()\"\r\n [class.x-active]=\"active()\"\r\n [class.x-list-icon]=\"icon()\"\r\n [class.x-list-divided]=\"divided()\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n @if (nodeTpl()) {\r\n <ng-template *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node() }\"></ng-template>\r\n } @else {\r\n @if (icon()) {\r\n <x-icon class=\"x-list-option-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n <span x-keyword [text]=\"keywordText()\" [caseSensitive]=\"caseSensitive()\">{{ label() }}</span>\r\n }\r\n </div>\r\n @if (leaf()) {\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\"></x-icon>\r\n }\r\n @if (checked() && !leaf() && selected()) {\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option-icon{margin-right:.25rem}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{position:relative;margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-primary-900);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
313
313
  }
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListOptionComponent, decorators: [{
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListOptionComponent, decorators: [{
315
315
  type: Component,
316
316
  args: [{ selector: `${XListOptionPrefix}`, imports: [NgClass, NgTemplateOutlet, XIconComponent, XKeywordDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap()\"\r\n [class.x-selected]=\"selected()\"\r\n [class.x-disabled]=\"forbidden()\"\r\n [class.x-open-portal]=\"openPortal()\"\r\n [class.x-active]=\"active()\"\r\n [class.x-list-icon]=\"icon()\"\r\n [class.x-list-divided]=\"divided()\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n @if (nodeTpl()) {\r\n <ng-template *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node() }\"></ng-template>\r\n } @else {\r\n @if (icon()) {\r\n <x-icon class=\"x-list-option-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n <span x-keyword [text]=\"keywordText()\" [caseSensitive]=\"caseSensitive()\">{{ label() }}</span>\r\n }\r\n </div>\r\n @if (leaf()) {\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\"></x-icon>\r\n }\r\n @if (checked() && !leaf() && selected()) {\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option-icon{margin-right:.25rem}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{position:relative;margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-primary-900);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
317
317
  }], ctorParameters: () => [], propDecorators: { role: [{
@@ -342,10 +342,10 @@ class XListDropGroup {
342
342
  ngOnDestroy() {
343
343
  this.dropLists.clear();
344
344
  }
345
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListDropGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
346
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.4", type: XListDropGroup, isStandalone: true, selector: "[xListDropGroup]", inputs: { disabled: { classPropertyName: "disabled", publicName: "xListDropGroupDisabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: X_LIST_DROP_GROUP, useExisting: XListDropGroup }], ngImport: i0 }); }
345
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListDropGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
346
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.0", type: XListDropGroup, isStandalone: true, selector: "[xListDropGroup]", inputs: { disabled: { classPropertyName: "disabled", publicName: "xListDropGroupDisabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: X_LIST_DROP_GROUP, useExisting: XListDropGroup }], ngImport: i0 }); }
347
347
  }
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListDropGroup, decorators: [{
348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListDropGroup, decorators: [{
349
349
  type: Directive,
350
350
  args: [{
351
351
  selector: '[xListDropGroup]',
@@ -710,10 +710,10 @@ class XListComponent extends XListProperty {
710
710
  if (num > -1)
711
711
  this.nodes()[num].active = false;
712
712
  }
713
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
714
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XListComponent, isStandalone: true, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "headerRef", first: true, predicate: ["headerRef"], descendants: true, isSignal: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true, isSignal: true }, { propertyName: "selectAllRef", first: true, predicate: ["selectAllRef"], descendants: true, isSignal: true }, { propertyName: "loadMoreRef", first: true, predicate: ["loadMoreRef"], descendants: true, isSignal: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true, isSignal: true }, { propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true, isSignal: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\" [class.x-list-portal]=\"inPortal()\" [ngClass]=\"classMap()\">\r\n @if (header()) {\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header()\">{{ header() }}</div>\r\n }\r\n @if (selectAll() && multiple() === 0) {\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size()\"\r\n [label]=\"getSelectAllText()\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll()\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n }\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"itemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight()\"\r\n [hidden]=\"isEmpty()\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes(); trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [divided]=\"node.divided!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes(); track node.id) {\r\n <x-list-option\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [divided]=\"node.divided!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n }\r\n </div>\r\n }\r\n @if (loadMore() && !isEmpty()) {\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size()\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n @if (icon() && iconSpin()) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\"></x-icon>\r\n }\r\n {{ icon() && iconSpin() ? getLoadingMoreText() : getLoadMoreText() }}</ng-template\r\n >\r\n }\r\n @if (isEmpty()) {\r\n <x-empty></x-empty>\r\n }\r\n @if (footer()) {\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer()\">{{ footer() }}</div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0}.x-list{width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{font-weight:700}.x-list-portal{padding:.125rem .25rem}.x-list-portal x-list-option .x-list-option{padding:0 calc(var(--x-padding-medium) - .5rem);margin:.125rem 0;border-radius:var(--x-border-small-radius);transition:background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}.x-list-big .x-list-header,.x-list-big .x-list-footer{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-large .x-list-header,.x-list-large .x-list-footer{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-medium .x-list-header,.x-list-medium .x-list-footer{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-small .x-list-header,.x-list-small .x-list-footer{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-mini .x-list-header,.x-list-mini .x-list-footer{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XListOptionComponent, selector: "x-list-option" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
713
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
714
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: XListComponent, isStandalone: true, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "headerRef", first: true, predicate: ["headerRef"], descendants: true, isSignal: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true, isSignal: true }, { propertyName: "selectAllRef", first: true, predicate: ["selectAllRef"], descendants: true, isSignal: true }, { propertyName: "loadMoreRef", first: true, predicate: ["loadMoreRef"], descendants: true, isSignal: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true, isSignal: true }, { propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true, isSignal: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\" [class.x-list-portal]=\"inPortal()\" [ngClass]=\"classMap()\">\r\n @if (header()) {\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header()\">{{ header() }}</div>\r\n }\r\n @if (selectAll() && multiple() === 0) {\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size()\"\r\n [label]=\"getSelectAllText()\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll()\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n }\r\n @if (virtualScroll()) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"itemSize()\"\r\n [minBufferPx]=\"minBufferPxSignal()\"\r\n [maxBufferPx]=\"maxBufferPxSignal()\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight()\"\r\n [hidden]=\"isEmpty()\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes(); trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [divided]=\"node.divided!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag()\"\r\n [hidden]=\"isEmpty()\"\r\n [cdkDropListData]=\"nodes()\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes(); track node.id) {\r\n <x-list-option\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [selected]=\"node.selected!\"\r\n [forbidden]=\"node.disabled!\"\r\n [active]=\"node.active!\"\r\n (activeChange)=\"node.active = $event\"\r\n [openPortal]=\"node.openPortal!\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf!\"\r\n [divided]=\"node.divided!\"\r\n [size]=\"size()\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n }\r\n </div>\r\n }\r\n @if (loadMore() && !isEmpty()) {\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size()\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n @if (icon() && iconSpin()) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\"></x-icon>\r\n }\r\n {{ icon() && iconSpin() ? getLoadingMoreText() : getLoadMoreText() }}</ng-template\r\n >\r\n }\r\n @if (isEmpty()) {\r\n <x-empty></x-empty>\r\n }\r\n @if (footer()) {\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer()\">{{ footer() }}</div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0}.x-list{width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{font-weight:700}.x-list-portal{padding:.125rem .25rem}.x-list-portal x-list-option .x-list-option{padding:0 calc(var(--x-padding-medium) - .5rem);margin:.125rem 0;border-radius:var(--x-border-small-radius);transition:background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}.x-list-big .x-list-header,.x-list-big .x-list-footer{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-large .x-list-header,.x-list-large .x-list-footer{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-medium .x-list-header,.x-list-medium .x-list-footer{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-small .x-list-header,.x-list-small .x-list-footer{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-mini .x-list-header,.x-list-mini .x-list-footer{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer", "cdkDropListHasAnchor"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XListOptionComponent, selector: "x-list-option" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
715
715
  }
716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListComponent, decorators: [{
716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListComponent, decorators: [{
717
717
  type: Component,
718
718
  args: [{ selector: `${XListPrefix}`, imports: [
719
719
  NgClass,
@@ -742,11 +742,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImpor
742
742
  }] } });
743
743
 
744
744
  class XListModule {
745
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
746
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: XListModule, imports: [XListComponent, XListDropGroup, XListOptionComponent], exports: [XListComponent, XListDropGroup, XListOptionComponent] }); }
747
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListModule, imports: [XListComponent, XListOptionComponent] }); }
745
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
746
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: XListModule, imports: [XListComponent, XListDropGroup, XListOptionComponent], exports: [XListComponent, XListDropGroup, XListOptionComponent] }); }
747
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListModule, imports: [XListComponent, XListOptionComponent] }); }
748
748
  }
749
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XListModule, decorators: [{
749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XListModule, decorators: [{
750
750
  type: NgModule,
751
751
  args: [{
752
752
  exports: [XListComponent, XListDropGroup, XListOptionComponent],
@@ -64,11 +64,16 @@ class XLoadingProperty extends XPropertyFunction(X_LOADING_CONFIG_NAME) {
64
64
  * @en_US Background style
65
65
  */
66
66
  this.background = input(this.config?.background ?? null, ...(ngDevMode ? [{ debugName: "background" }] : []));
67
+ /**
68
+ * @zh_CN 行内显示
69
+ * @en_US Inline display
70
+ */
71
+ this.inline = input(false, ...(ngDevMode ? [{ debugName: "inline", transform: XToBoolean }] : [{ transform: XToBoolean }]));
67
72
  }
68
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XLoadingProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
69
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XLoadingProperty, isStandalone: true, selector: "x-loading-property", inputs: { loading: { classPropertyName: "loading", publicName: "x-loading", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, fullScreen: { classPropertyName: "fullScreen", publicName: "fullScreen", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
73
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XLoadingProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
74
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.0", type: XLoadingProperty, isStandalone: true, selector: "x-loading-property", inputs: { loading: { classPropertyName: "loading", publicName: "x-loading", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, fullScreen: { classPropertyName: "fullScreen", publicName: "fullScreen", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, inline: { classPropertyName: "inline", publicName: "inline", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
70
75
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XLoadingProperty, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XLoadingProperty, decorators: [{
72
77
  type: Component,
73
78
  args: [{ selector: `${XLoadingPrefix}-property`, template: '' }]
74
79
  }] });
@@ -131,23 +136,23 @@ class XLoadingComponent extends XLoadingProperty {
131
136
  this.portalRef.overlayRef.detach();
132
137
  }
133
138
  }
134
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XLoadingComponent, isStandalone: true, selector: "x-loading, [x-loading]", host: { properties: { "class.x-loading-parent": "this.getLoading" } }, viewQueries: [{ propertyName: "loadingTpl", first: true, predicate: ["loadingTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading()) {\r\n <div\r\n #loading\r\n class=\"x-loading\"\r\n [ngClass]=\"classMap()\"\r\n [style.background]=\"background()\"\r\n [style.zIndex]=\"zIndex()\"\r\n [class.x-loading-radius]=\"isRadius()\"\r\n [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n >\r\n <div class=\"x-loading-spinner\" [style.color]=\"color()\">\r\n @if (icon()) {\r\n <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n <x-icon [type]=\"icon()!\"></x-icon>\r\n </div>\r\n } @else {\r\n <svg\r\n class=\"x-loading-circular\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"25 25 50 50\"\r\n >\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n }\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl> </ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{margin:0;padding:0}.x-loading{position:absolute;background-color:var(--x-background);opacity:.85;margin:0;inset:0;display:flex;justify-content:center;align-items:center}.x-loading-spinner{color:var(--x-primary);text-align:center}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-radius{border-radius:var(--x-border-radius)}.x-loading-top-left-radius{border-top-left-radius:var(--x-border-radius)}.x-loading-top-right-radius{border-top-right-radius:var(--x-border-radius)}.x-loading-bottom-left-radius{border-bottom-left-radius:var(--x-border-radius)}.x-loading-bottom-right-radius{border-bottom-right-radius:var(--x-border-radius)}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
139
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
140
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: XLoadingComponent, isStandalone: true, selector: "x-loading, [x-loading]", host: { properties: { "class.x-loading-parent": "this.getLoading" } }, viewQueries: [{ propertyName: "loadingTpl", first: true, predicate: ["loadingTpl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading()) {\r\n <div\r\n #loading\r\n class=\"x-loading\"\r\n [ngClass]=\"classMap()\"\r\n [style.background]=\"background()\"\r\n [style.zIndex]=\"zIndex()\"\r\n [class.x-loading-radius]=\"isRadius()\"\r\n [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n [class.x-loading-inline]=\"inline()\"\r\n >\r\n <div class=\"x-loading-spinner\" [style.color]=\"color()\">\r\n @if (icon()) {\r\n <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n <x-icon [type]=\"icon()!\"></x-icon>\r\n </div>\r\n } @else {\r\n <svg\r\n class=\"x-loading-circular\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"25 25 50 50\"\r\n >\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n }\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl> </ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{margin:0;padding:0}.x-loading{position:absolute;background-color:var(--x-background);opacity:.85;margin:0;inset:0;display:flex;justify-content:center;align-items:center}.x-loading-inline{position:initial}.x-loading-spinner{color:var(--x-primary);text-align:center;line-height:1}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-radius{border-radius:var(--x-border-radius)}.x-loading-top-left-radius{border-top-left-radius:var(--x-border-radius)}.x-loading-top-right-radius{border-top-right-radius:var(--x-border-radius)}.x-loading-bottom-left-radius{border-bottom-left-radius:var(--x-border-radius)}.x-loading-bottom-right-radius{border-bottom-right-radius:var(--x-border-radius)}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
136
141
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XLoadingComponent, decorators: [{
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XLoadingComponent, decorators: [{
138
143
  type: Component,
139
- args: [{ selector: `${XLoadingPrefix}, [${XLoadingPrefix}]`, imports: [NgClass, NgTemplateOutlet, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading()) {\r\n <div\r\n #loading\r\n class=\"x-loading\"\r\n [ngClass]=\"classMap()\"\r\n [style.background]=\"background()\"\r\n [style.zIndex]=\"zIndex()\"\r\n [class.x-loading-radius]=\"isRadius()\"\r\n [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n >\r\n <div class=\"x-loading-spinner\" [style.color]=\"color()\">\r\n @if (icon()) {\r\n <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n <x-icon [type]=\"icon()!\"></x-icon>\r\n </div>\r\n } @else {\r\n <svg\r\n class=\"x-loading-circular\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"25 25 50 50\"\r\n >\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n }\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl> </ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{margin:0;padding:0}.x-loading{position:absolute;background-color:var(--x-background);opacity:.85;margin:0;inset:0;display:flex;justify-content:center;align-items:center}.x-loading-spinner{color:var(--x-primary);text-align:center}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-radius{border-radius:var(--x-border-radius)}.x-loading-top-left-radius{border-top-left-radius:var(--x-border-radius)}.x-loading-top-right-radius{border-top-right-radius:var(--x-border-radius)}.x-loading-bottom-left-radius{border-bottom-left-radius:var(--x-border-radius)}.x-loading-bottom-right-radius{border-bottom-right-radius:var(--x-border-radius)}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"] }]
144
+ args: [{ selector: `${XLoadingPrefix}, [${XLoadingPrefix}]`, imports: [NgClass, NgTemplateOutlet, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading()) {\r\n <div\r\n #loading\r\n class=\"x-loading\"\r\n [ngClass]=\"classMap()\"\r\n [style.background]=\"background()\"\r\n [style.zIndex]=\"zIndex()\"\r\n [class.x-loading-radius]=\"isRadius()\"\r\n [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n [class.x-loading-inline]=\"inline()\"\r\n >\r\n <div class=\"x-loading-spinner\" [style.color]=\"color()\">\r\n @if (icon()) {\r\n <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n <x-icon [type]=\"icon()!\"></x-icon>\r\n </div>\r\n } @else {\r\n <svg\r\n class=\"x-loading-circular\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"25 25 50 50\"\r\n >\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n }\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl> </ng-template>\r\n", styles: ["@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-2.5rem}to{stroke-dasharray:90,150;stroke-dashoffset:-7.5rem}}.x-loading-parent{position:relative}.x-loading{margin:0;padding:0}.x-loading{position:absolute;background-color:var(--x-background);opacity:.85;margin:0;inset:0;display:flex;justify-content:center;align-items:center}.x-loading-inline{position:initial}.x-loading-spinner{color:var(--x-primary);text-align:center;line-height:1}.x-loading-circular{animation:loading-rotate 2s linear infinite}.x-loading-icon{animation:loading-rotate 2s linear infinite;display:inline-flex}.x-loading-path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--x-primary);stroke-linecap:round}.x-loading-radius{border-radius:var(--x-border-radius)}.x-loading-top-left-radius{border-top-left-radius:var(--x-border-radius)}.x-loading-top-right-radius{border-top-right-radius:var(--x-border-radius)}.x-loading-bottom-left-radius{border-bottom-left-radius:var(--x-border-radius)}.x-loading-bottom-right-radius{border-bottom-right-radius:var(--x-border-radius)}.x-loading-big .x-loading-circular{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"] }]
140
145
  }], ctorParameters: () => [], propDecorators: { getLoading: [{
141
146
  type: HostBinding,
142
147
  args: ['class.x-loading-parent']
143
148
  }] } });
144
149
 
145
150
  class XLoadingModule {
146
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
147
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: XLoadingModule, imports: [XLoadingComponent], exports: [XLoadingComponent] }); }
148
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XLoadingModule, imports: [XLoadingComponent] }); }
151
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
152
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: XLoadingModule, imports: [XLoadingComponent], exports: [XLoadingComponent] }); }
153
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XLoadingModule, imports: [XLoadingComponent] }); }
149
154
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XLoadingModule, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XLoadingModule, decorators: [{
151
156
  type: NgModule,
152
157
  args: [{
153
158
  exports: [XLoadingComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-loading.mjs","sources":["../../../../lib/ng-nest/ui/loading/loading.property.ts","../../../../lib/ng-nest/ui/loading/loading.component.ts","../../../../lib/ng-nest/ui/loading/loading.component.html","../../../../lib/ng-nest/ui/loading/loading.module.ts","../../../../lib/ng-nest/ui/loading/ng-nest-ui-loading.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XSize, XTemplate, XBoolean, XNumber, XCorner } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Loading\r\n * @selector x-loading\r\n * @decorator component\r\n */\r\nexport const XLoadingPrefix = 'x-loading';\r\nconst X_LOADING_CONFIG_NAME = 'loading';\r\n\r\n/**\r\n * Loading Property\r\n */\r\n@Component({ selector: `${XLoadingPrefix}-property`, template: '' })\r\nexport class XLoadingProperty extends XPropertyFunction(X_LOADING_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示 loading\r\n * @en_US Show loading\r\n */\r\n readonly loading = input<boolean, XBoolean>(false, { transform: XToBoolean, alias: 'x-loading' });\r\n /**\r\n * @zh_CN 层级\r\n * @en_US z-index\r\n */\r\n readonly zIndex = input<number, XNumber>(this.config?.zIndex ?? 10, { transform: XToNumber });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize | number>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 显示文字,支持自定义模板\r\n * @en_US Display text, support custom template\r\n */\r\n readonly text = input<XTemplate | null>(this.config?.text ?? null);\r\n /**\r\n * @zh_CN 显示的图标\r\n * @en_US Icon displayed\r\n */\r\n readonly icon = input<string | null>(this.config?.icon ?? null);\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n readonly color = input<string | null>(this.config?.color ?? null);\r\n /**\r\n * @zh_CN 全屏显示\r\n * @en_US Full-screen display\r\n */\r\n readonly fullScreen = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 圆角覆盖显示\r\n * @en_US Rounded corner coverage display\r\n */\r\n readonly radius = input<XBoolean | XCorner[]>();\r\n /**\r\n * @zh_CN 背景样式\r\n * @en_US Background style\r\n */\r\n readonly background = input<string | null>(this.config?.background ?? null);\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n HostBinding,\r\n TemplateRef,\r\n ViewContainerRef,\r\n inject,\r\n computed,\r\n effect,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XLoadingPrefix, XLoadingProperty } from './loading.property';\r\nimport { XIsEmpty, XIsNumber, XCorner, XToNumber } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XLoadingPrefix}, [${XLoadingPrefix}]`,\r\n imports: [NgClass, NgTemplateOutlet, XIconComponent, XOutletDirective],\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XLoadingComponent extends XLoadingProperty {\r\n @HostBinding('class.x-loading-parent') get getLoading() {\r\n return this.loading();\r\n }\r\n loadingTpl = viewChild.required<TemplateRef<void>>('loadingTpl');\r\n portalRef!: XPortalOverlayRef<any>;\r\n\r\n isRadius = computed(() => !(this.radius() instanceof Array) && Boolean(this.radius()));\r\n\r\n sizeNumber = computed(() => {\r\n const size = XToNumber(this.size());\r\n if (XIsNumber(size)) {\r\n return size;\r\n }\r\n return;\r\n });\r\n\r\n classMap = computed(() => {\r\n const size = this.size();\r\n if (isNaN(XToNumber(size))) {\r\n return { [`${XLoadingPrefix}-${size}`]: !XIsEmpty(size) };\r\n }\r\n return;\r\n });\r\n\r\n private portal = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (this.fullScreen()) {\r\n if (this.loading()) {\r\n this.createFullScreen();\r\n } else {\r\n this.closeFullScreen();\r\n }\r\n }\r\n });\r\n }\r\n\r\n includeRadius(cover: XCorner) {\r\n const radius = this.radius();\r\n if (!(radius instanceof Array)) {\r\n return false;\r\n }\r\n return radius.includes(cover);\r\n }\r\n\r\n createFullScreen() {\r\n this.portalRef = this.portal.attach({\r\n content: this.loadingTpl(),\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n width: '100%',\r\n height: '100%',\r\n positionStrategy: this.portal.setPlacement()\r\n }\r\n });\r\n }\r\n\r\n closeFullScreen() {\r\n if (this.portalRef?.overlayRef?.hasAttached()) {\r\n this.portalRef.overlayRef.detach();\r\n }\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading()) {\r\n <div\r\n #loading\r\n class=\"x-loading\"\r\n [ngClass]=\"classMap()\"\r\n [style.background]=\"background()\"\r\n [style.zIndex]=\"zIndex()\"\r\n [class.x-loading-radius]=\"isRadius()\"\r\n [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n >\r\n <div class=\"x-loading-spinner\" [style.color]=\"color()\">\r\n @if (icon()) {\r\n <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n <x-icon [type]=\"icon()!\"></x-icon>\r\n </div>\r\n } @else {\r\n <svg\r\n class=\"x-loading-circular\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"25 25 50 50\"\r\n >\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n }\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl> </ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XLoadingComponent } from './loading.component';\r\n\r\n@NgModule({\r\n exports: [XLoadingComponent],\r\n imports: [XLoadingComponent]\r\n})\r\nexport class XLoadingModule {}\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-loading.mjs","sources":["../../../../lib/ng-nest/ui/loading/loading.property.ts","../../../../lib/ng-nest/ui/loading/loading.component.ts","../../../../lib/ng-nest/ui/loading/loading.component.html","../../../../lib/ng-nest/ui/loading/loading.module.ts","../../../../lib/ng-nest/ui/loading/ng-nest-ui-loading.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Component, input } from '@angular/core';\r\nimport type { XSize, XTemplate, XBoolean, XNumber, XCorner } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Loading\r\n * @selector x-loading\r\n * @decorator component\r\n */\r\nexport const XLoadingPrefix = 'x-loading';\r\nconst X_LOADING_CONFIG_NAME = 'loading';\r\n\r\n/**\r\n * Loading Property\r\n */\r\n@Component({ selector: `${XLoadingPrefix}-property`, template: '' })\r\nexport class XLoadingProperty extends XPropertyFunction(X_LOADING_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 显示 loading\r\n * @en_US Show loading\r\n */\r\n readonly loading = input<boolean, XBoolean>(false, { transform: XToBoolean, alias: 'x-loading' });\r\n /**\r\n * @zh_CN 层级\r\n * @en_US z-index\r\n */\r\n readonly zIndex = input<number, XNumber>(this.config?.zIndex ?? 10, { transform: XToNumber });\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n readonly size = input<XSize | number>(this.config?.size ?? 'medium');\r\n /**\r\n * @zh_CN 显示文字,支持自定义模板\r\n * @en_US Display text, support custom template\r\n */\r\n readonly text = input<XTemplate | null>(this.config?.text ?? null);\r\n /**\r\n * @zh_CN 显示的图标\r\n * @en_US Icon displayed\r\n */\r\n readonly icon = input<string | null>(this.config?.icon ?? null);\r\n /**\r\n * @zh_CN 颜色\r\n * @en_US Color\r\n */\r\n readonly color = input<string | null>(this.config?.color ?? null);\r\n /**\r\n * @zh_CN 全屏显示\r\n * @en_US Full-screen display\r\n */\r\n readonly fullScreen = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 圆角覆盖显示\r\n * @en_US Rounded corner coverage display\r\n */\r\n readonly radius = input<XBoolean | XCorner[]>();\r\n /**\r\n * @zh_CN 背景样式\r\n * @en_US Background style\r\n */\r\n readonly background = input<string | null>(this.config?.background ?? null);\r\n /**\r\n * @zh_CN 行内显示\r\n * @en_US Inline display\r\n */\r\n readonly inline = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n HostBinding,\r\n TemplateRef,\r\n ViewContainerRef,\r\n inject,\r\n computed,\r\n effect,\r\n viewChild\r\n} from '@angular/core';\r\nimport { XLoadingPrefix, XLoadingProperty } from './loading.property';\r\nimport { XIsEmpty, XIsNumber, XCorner, XToNumber } from '@ng-nest/ui/core';\r\nimport { XPortalService, XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XIconComponent } from '@ng-nest/ui/icon';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XLoadingPrefix}, [${XLoadingPrefix}]`,\r\n imports: [NgClass, NgTemplateOutlet, XIconComponent, XOutletDirective],\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XLoadingComponent extends XLoadingProperty {\r\n @HostBinding('class.x-loading-parent') get getLoading() {\r\n return this.loading();\r\n }\r\n loadingTpl = viewChild.required<TemplateRef<void>>('loadingTpl');\r\n portalRef!: XPortalOverlayRef<any>;\r\n\r\n isRadius = computed(() => !(this.radius() instanceof Array) && Boolean(this.radius()));\r\n\r\n sizeNumber = computed(() => {\r\n const size = XToNumber(this.size());\r\n if (XIsNumber(size)) {\r\n return size;\r\n }\r\n return;\r\n });\r\n\r\n classMap = computed(() => {\r\n const size = this.size();\r\n if (isNaN(XToNumber(size))) {\r\n return { [`${XLoadingPrefix}-${size}`]: !XIsEmpty(size) };\r\n }\r\n return;\r\n });\r\n\r\n private portal = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n\r\n constructor() {\r\n super();\r\n effect(() => {\r\n if (this.fullScreen()) {\r\n if (this.loading()) {\r\n this.createFullScreen();\r\n } else {\r\n this.closeFullScreen();\r\n }\r\n }\r\n });\r\n }\r\n\r\n includeRadius(cover: XCorner) {\r\n const radius = this.radius();\r\n if (!(radius instanceof Array)) {\r\n return false;\r\n }\r\n return radius.includes(cover);\r\n }\r\n\r\n createFullScreen() {\r\n this.portalRef = this.portal.attach({\r\n content: this.loadingTpl(),\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: {\r\n width: '100%',\r\n height: '100%',\r\n positionStrategy: this.portal.setPlacement()\r\n }\r\n });\r\n }\r\n\r\n closeFullScreen() {\r\n if (this.portalRef?.overlayRef?.hasAttached()) {\r\n this.portalRef.overlayRef.detach();\r\n }\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n\r\n@if (!fullScreen()) {\r\n <ng-container *ngTemplateOutlet=\"loadingTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #loadingTpl>\r\n @if (loading()) {\r\n <div\r\n #loading\r\n class=\"x-loading\"\r\n [ngClass]=\"classMap()\"\r\n [style.background]=\"background()\"\r\n [style.zIndex]=\"zIndex()\"\r\n [class.x-loading-radius]=\"isRadius()\"\r\n [class.x-loading-top-left-radius]=\"includeRadius('top-start')\"\r\n [class.x-loading-top-right-radius]=\"includeRadius('top-end')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-start')\"\r\n [class.x-loading-bottom-left-radius]=\"includeRadius('bottom-end')\"\r\n [class.x-loading-inline]=\"inline()\"\r\n >\r\n <div class=\"x-loading-spinner\" [style.color]=\"color()\">\r\n @if (icon()) {\r\n <div class=\"x-loading-icon\" [style.font-size.px]=\"sizeNumber()\">\r\n <x-icon [type]=\"icon()!\"></x-icon>\r\n </div>\r\n } @else {\r\n <svg\r\n class=\"x-loading-circular\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"25 25 50 50\"\r\n >\r\n <circle class=\"x-loading-path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n }\r\n <div class=\"x-loading-text\">\r\n <ng-container *xOutlet=\"text()\">{{ text() }}</ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #circularTpl> </ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XLoadingComponent } from './loading.component';\r\n\r\n@NgModule({\r\n exports: [XLoadingComponent],\r\n imports: [XLoadingComponent]\r\n})\r\nexport class XLoadingModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -87,10 +87,10 @@ class XMenuProperty extends XPropertyFunction(X_MENU_CONFIG_NAME) {
87
87
  */
88
88
  this.nodeClick = output();
89
89
  }
90
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
91
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.2.4", type: XMenuProperty, isStandalone: true, selector: "x-menu-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, expandedAll: { classPropertyName: "expandedAll", publicName: "expandedAll", isSignal: true, isRequired: false, transformFunction: null }, expandedLevel: { classPropertyName: "expandedLevel", publicName: "expandedLevel", isSignal: true, isRequired: false, transformFunction: null }, activatedId: { classPropertyName: "activatedId", publicName: "activatedId", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, portalMinWidth: { classPropertyName: "portalMinWidth", publicName: "portalMinWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedId: "activatedIdChange", nodeClick: "nodeClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
90
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
91
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.0", type: XMenuProperty, isStandalone: true, selector: "x-menu-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, layout: { classPropertyName: "layout", publicName: "layout", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, trigger: { classPropertyName: "trigger", publicName: "trigger", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, expandedAll: { classPropertyName: "expandedAll", publicName: "expandedAll", isSignal: true, isRequired: false, transformFunction: null }, expandedLevel: { classPropertyName: "expandedLevel", publicName: "expandedLevel", isSignal: true, isRequired: false, transformFunction: null }, activatedId: { classPropertyName: "activatedId", publicName: "activatedId", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, portalMinWidth: { classPropertyName: "portalMinWidth", publicName: "portalMinWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activatedId: "activatedIdChange", nodeClick: "nodeClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
92
92
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuProperty, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuProperty, decorators: [{
94
94
  type: Component,
95
95
  args: [{ selector: `${XMenuPrefix}-property`, template: '' }]
96
96
  }] });
@@ -104,10 +104,10 @@ const XMenuNodePrefix = 'x-menu-node';
104
104
  * Menu Node Property
105
105
  */
106
106
  class XMenuNodeProperty extends XProperty {
107
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
108
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.4", type: XMenuNodeProperty, isStandalone: true, selector: "x-menu-node-property", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
107
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
108
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: XMenuNodeProperty, isStandalone: true, selector: "x-menu-node-property", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
109
109
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuNodeProperty, decorators: [{
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuNodeProperty, decorators: [{
111
111
  type: Component,
112
112
  args: [{ selector: `${XMenuNodePrefix}-property`, template: '' }]
113
113
  }] });
@@ -131,10 +131,10 @@ class XMenuNodeComponent extends XMenuNodeProperty {
131
131
  }
132
132
  });
133
133
  }
134
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XMenuNodeComponent, isStandalone: true, selector: "x-menu-node", inputs: { routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@if (routerLink() && !leaf()) {\r\n <a [routerLink]=\"routerLink()\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n </a>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #menuTpl>\r\n @if (icon()) {\r\n <x-icon class=\"x-menu-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n @if (nodeTpl()) {\r\n <ng-container *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node()! }\"></ng-container>\r\n } @else if (label()) {\r\n <span class=\"x-menu-text\">{{ label() }} </span>\r\n }\r\n @if (label()) {}\r\n @if (leaf()) {\r\n <x-icon class=\"x-menu-arrow\" [class.is-open]=\"open()\" type=\"fto-chevron-down\"></x-icon>\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
134
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
135
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: XMenuNodeComponent, isStandalone: true, selector: "x-menu-node", inputs: { routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, leaf: { classPropertyName: "leaf", publicName: "leaf", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "@if (routerLink() && !leaf()) {\r\n <a [routerLink]=\"routerLink()\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n </a>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #menuTpl>\r\n @if (icon()) {\r\n <x-icon class=\"x-menu-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n @if (nodeTpl()) {\r\n <ng-container *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node()! }\"></ng-container>\r\n } @else if (label()) {\r\n <span class=\"x-menu-text\">{{ label() }} </span>\r\n }\r\n @if (label()) {}\r\n @if (leaf()) {\r\n <x-icon class=\"x-menu-arrow\" [class.is-open]=\"open()\" type=\"fto-chevron-down\"></x-icon>\r\n }\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
136
136
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuNodeComponent, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuNodeComponent, decorators: [{
138
138
  type: Component,
139
139
  args: [{ selector: `${XMenuNodePrefix}`, imports: [NgTemplateOutlet, XIconComponent, RouterModule], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (routerLink() && !leaf()) {\r\n <a [routerLink]=\"routerLink()\">\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n </a>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"menuTpl\"></ng-container>\r\n}\r\n\r\n<ng-template #menuTpl>\r\n @if (icon()) {\r\n <x-icon class=\"x-menu-icon\" [type]=\"icon()\"></x-icon>\r\n }\r\n @if (nodeTpl()) {\r\n <ng-container *ngTemplateOutlet=\"nodeTpl()!; context: { $node: node()! }\"></ng-container>\r\n } @else if (label()) {\r\n <span class=\"x-menu-text\">{{ label() }} </span>\r\n }\r\n @if (label()) {}\r\n @if (leaf()) {\r\n <x-icon class=\"x-menu-arrow\" [class.is-open]=\"open()\" type=\"fto-chevron-down\"></x-icon>\r\n }\r\n</ng-template>\r\n" }]
140
140
  }], ctorParameters: () => [] });
@@ -294,20 +294,20 @@ class XMenuComponent extends XMenuProperty {
294
294
  };
295
295
  getParent(node);
296
296
  }
297
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
298
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.4", type: XMenuComponent, isStandalone: true, selector: "x-menu", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap()\" [style.width]=\"layout() === 'column' ? width() : ''\">\r\n @if (layout() === 'column') {\r\n <div class=\"x-menu-nodes\">\r\n @for (node of nodes(); track node.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n @if (layout() === 'row') {\r\n <x-slider\r\n [data]=\"nodes()\"\r\n [size]=\"size()\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex()\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n }\r\n</div>\r\n\r\n<ng-template #nodeTemplate let-node=\"$node\">\r\n @if (node.level === 0 && collapsed()) {\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n placement=\"right-start\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n </x-dropdown>\r\n }\r\n @if (!collapsed()) {\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap()\">\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated()?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap()\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n @if (node.childrenLoaded || (node.leaf && node.open)) {\r\n <div class=\"x-menu-nodes\" [hidden]=\"!node.open\">\r\n @for (child of node.children; track child.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{width:1rem;height:1rem;font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{width:1rem;height:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{height:inherit!important;line-height:inherit!important}.x-menu-column{width:16rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);position:relative;-webkit-user-select:none;user-select:none;padding-right:var(--x-font-size);border-radius:var(--x-border-radius);margin:.125rem 0}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a200)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;color:var(--x-text)}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-primary-900)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0}.x-menu-nodes .x-menu-node.x-activated x-menu-node>a{color:var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-menu-collapsed.x-menu-column{width:3rem!important}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:var(--x-font-size)}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XSliderComponent, selector: "x-slider" }, { kind: "component", type: XDropdownComponent, selector: "x-dropdown" }, { kind: "component", type: XMenuNodeComponent, selector: "x-menu-node", inputs: ["routerLink", "leaf", "icon", "label", "open", "id", "node", "nodeTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
297
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
298
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.0", type: XMenuComponent, isStandalone: true, selector: "x-menu", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap()\" [style.width]=\"layout() === 'column' ? width() : ''\">\r\n @if (layout() === 'column') {\r\n <div class=\"x-menu-nodes\">\r\n @for (node of nodes(); track node.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n @if (layout() === 'row') {\r\n <x-slider\r\n [data]=\"nodes()\"\r\n [size]=\"size()\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex()\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n }\r\n</div>\r\n\r\n<ng-template #nodeTemplate let-node=\"$node\">\r\n @if (node.level === 0 && collapsed()) {\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n placement=\"right-start\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n </x-dropdown>\r\n }\r\n @if (!collapsed()) {\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap()\">\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated()?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap()\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n @if (node.childrenLoaded || (node.leaf && node.open)) {\r\n <div class=\"x-menu-nodes\" [hidden]=\"!node.open\">\r\n @for (child of node.children; track child.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{width:1rem;height:1rem;font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{width:1rem;height:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{height:inherit!important;line-height:inherit!important}.x-menu-column{width:16rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);position:relative;-webkit-user-select:none;user-select:none;padding-right:var(--x-font-size);border-radius:var(--x-border-radius);margin:.125rem 0}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a200)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;color:var(--x-text)}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-primary-900)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0}.x-menu-nodes .x-menu-node.x-activated x-menu-node>a{color:var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-menu-collapsed.x-menu-column{width:3rem!important}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:var(--x-font-size)}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XSliderComponent, selector: "x-slider" }, { kind: "component", type: XDropdownComponent, selector: "x-dropdown" }, { kind: "component", type: XMenuNodeComponent, selector: "x-menu-node", inputs: ["routerLink", "leaf", "icon", "label", "open", "id", "node", "nodeTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
299
299
  }
300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuComponent, decorators: [{
300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuComponent, decorators: [{
301
301
  type: Component,
302
302
  args: [{ selector: `${XMenuPrefix}`, imports: [NgClass, NgTemplateOutlet, XSliderComponent, XDropdownComponent, XMenuNodeComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #menu class=\"x-menu\" [ngClass]=\"classMap()\" [style.width]=\"layout() === 'column' ? width() : ''\">\r\n @if (layout() === 'column') {\r\n <div class=\"x-menu-nodes\">\r\n @for (node of nodes(); track node.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: node, $children: true }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n @if (layout() === 'row') {\r\n <x-slider\r\n [data]=\"nodes()\"\r\n [size]=\"size()\"\r\n [nodeTpl]=\"nodeRowTpl\"\r\n [nodeJustify]=\"'center'\"\r\n [activatedIndex]=\"rootIndex()\"\r\n (indexChange)=\"rootIndexChange($event)\"\r\n ></x-slider>\r\n }\r\n</div>\r\n\r\n<ng-template #nodeTemplate let-node=\"$node\">\r\n @if (node.level === 0 && collapsed()) {\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n placement=\"right-start\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n </x-dropdown>\r\n }\r\n @if (!collapsed()) {\r\n <x-menu-node\r\n [routerLink]=\"node.routerLink\"\r\n [leaf]=\"node.leaf\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [open]=\"node.open\"\r\n [id]=\"node.id\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [node]=\"node\"\r\n ></x-menu-node>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #nodeRowTpl let-node=\"$node\">\r\n <x-dropdown\r\n [disabled]=\"!node.leaf\"\r\n [data]=\"node.children\"\r\n [trigger]=\"trigger()\"\r\n [(activatedId)]=\"activatedId\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n [portalMinWidth]=\"portalMinWidth()\"\r\n [size]=\"size()\"\r\n children\r\n >\r\n <div class=\"x-menu-node\" [ngClass]=\"nodeClassMap()\">\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n </x-dropdown>\r\n</ng-template>\r\n\r\n<ng-template #nodeColumnTpl let-node=\"$node\">\r\n <div\r\n class=\"x-menu-node\"\r\n [class.x-activated]=\"activated()?.id === node.id\"\r\n [class.x-menu-category]=\"node.categoryNode\"\r\n [ngClass]=\"nodeClassMap()\"\r\n (click)=\"onToggle($event, node)\"\r\n [style.padding-left.rem]=\"(node.level + 1) * 0.875\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $node: node }\"></ng-container>\r\n </div>\r\n @if (node.childrenLoaded || (node.leaf && node.open)) {\r\n <div class=\"x-menu-nodes\" [hidden]=\"!node.open\">\r\n @for (child of node.children; track child.id) {\r\n <ng-container *ngTemplateOutlet=\"nodeColumnTpl; context: { $node: child }\"></ng-container>\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n", styles: ["x-menu{display:block}.x-menu{margin:0;padding:0}.x-menu-icon.x-icon{width:1rem;height:1rem;font-size:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon{width:1rem;height:1rem;transition:opacity var(--x-animation-duration-base)}.x-menu-arrow.x-icon.is-open{transform:rotate(180deg)}.x-menu-node.x-size-big{padding:0 calc(var(--x-padding-big) + .25rem);height:calc(var(--x-height-big) + .75rem);line-height:calc(var(--x-height-big) + .75rem)}.x-menu-node.x-size-big.x-menu-category{height:calc(calc(var(--x-height-big) + .75rem) * 1.5)}.x-menu-node.x-size-large{padding:0 calc(var(--x-padding-large) + .25rem);height:calc(var(--x-height-large) + .75rem);line-height:calc(var(--x-height-large) + .75rem)}.x-menu-node.x-size-large.x-menu-category{height:calc(calc(var(--x-height-large) + .75rem) * 1.5)}.x-menu-node.x-size-medium{padding:0 calc(var(--x-padding-medium) + .25rem);height:calc(var(--x-height-medium) + .75rem);line-height:calc(var(--x-height-medium) + .75rem)}.x-menu-node.x-size-medium.x-menu-category{height:calc(calc(var(--x-height-medium) + .75rem) * 1.5)}.x-menu-node.x-size-small{padding:0 var(--x-padding-small);height:calc(var(--x-height-small) + .5rem);line-height:calc(var(--x-height-small) + .5rem)}.x-menu-node.x-size-small.x-menu-category{height:calc(calc(var(--x-height-small) + .5rem) * 1.5)}.x-menu-node.x-size-mini{padding:0 var(--x-padding-mini);height:calc(var(--x-height-mini) + .5rem);line-height:calc(var(--x-height-mini) + .5rem)}.x-menu-node.x-size-mini.x-menu-category{height:calc(calc(var(--x-height-mini) + .5rem) * 1.5)}.x-menu x-slider .x-slider-scroll>ul>li>x-link{height:inherit!important;line-height:inherit!important}.x-menu-column{width:16rem;transition:var(--x-animation-duration-base)}.x-menu-row .x-menu-text{margin-left:.25rem}.x-menu-nodes .x-menu-node{cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:width var(--x-animation-duration-base),background-color var(--x-animation-duration-base);position:relative;-webkit-user-select:none;user-select:none;padding-right:var(--x-font-size);border-radius:var(--x-border-radius);margin:.125rem 0}.x-menu-nodes .x-menu-node .x-menu-text{flex:1;margin:0 .25rem;transition:background-color var(--x-animation-duration-base),opacity var(--x-animation-duration-base);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-menu-nodes .x-menu-node:hover{color:var(--x-primary);background-color:var(--x-background-a200)}.x-menu-nodes .x-menu-node x-menu-node{flex:1;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.x-menu-nodes .x-menu-node x-menu-node>a{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;color:var(--x-text)}.x-menu-nodes .x-menu-node.x-activated{color:var(--x-primary);background-color:var(--x-primary-900)}.x-menu-nodes .x-menu-node.x-activated:after{content:\"\";position:absolute;height:100%;right:-.125rem;top:0}.x-menu-nodes .x-menu-node.x-activated x-menu-node>a{color:var(--x-primary)}.x-menu-nodes .x-menu-node.x-menu-category{cursor:inherit;color:var(--x-text-400)}.x-menu-nodes .x-menu-node.x-menu-category:hover{background-color:transparent}.x-menu-nodes .x-menu-node.x-menu-category>x-menu-node{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-menu-collapsed.x-menu-column{width:3rem!important}.x-menu-collapsed .x-menu-nodes x-dropdown,.x-menu-collapsed .x-menu-nodes .x-dropdown{display:flex;flex:1}.x-menu-collapsed .x-menu-nodes .x-menu-node{padding-left:0!important;padding-right:0}.x-menu-collapsed .x-menu-nodes .x-menu-node x-menu-node{padding-left:var(--x-font-size)}.x-menu-collapsed .x-menu-nodes .x-menu-node .x-menu-text{opacity:0;width:0}.x-menu-collapsed .x-menu-nodes .x-menu-nodes{display:none}.x-menu-collapsed .x-menu-arrow.x-icon{opacity:0;width:0}\n"] }]
303
303
  }], ctorParameters: () => [] });
304
304
 
305
305
  class XMenuModule {
306
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
307
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.4", ngImport: i0, type: XMenuModule, imports: [XMenuComponent, XMenuNodeComponent], exports: [XMenuComponent, XMenuNodeComponent] }); }
308
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuModule, imports: [XMenuComponent, XMenuNodeComponent] }); }
306
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
307
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: XMenuModule, imports: [XMenuComponent, XMenuNodeComponent], exports: [XMenuComponent, XMenuNodeComponent] }); }
308
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuModule, imports: [XMenuComponent, XMenuNodeComponent] }); }
309
309
  }
310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.4", ngImport: i0, type: XMenuModule, decorators: [{
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: XMenuModule, decorators: [{
311
311
  type: NgModule,
312
312
  args: [{
313
313
  exports: [XMenuComponent, XMenuNodeComponent],