@ng-nest/ui 20.2.6 → 21.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-nest-ui-affix.mjs +10 -10
- package/fesm2022/ng-nest-ui-alert.mjs +10 -10
- package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
- package/fesm2022/ng-nest-ui-api.mjs +7 -7
- package/fesm2022/ng-nest-ui-attachments.mjs +16 -16
- package/fesm2022/ng-nest-ui-auto-complete.mjs +13 -13
- package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
- package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
- package/fesm2022/ng-nest-ui-badge.mjs +10 -10
- package/fesm2022/ng-nest-ui-base-form.mjs +7 -7
- package/fesm2022/ng-nest-ui-bubble.mjs +16 -16
- package/fesm2022/ng-nest-ui-button.mjs +16 -16
- package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
- package/fesm2022/ng-nest-ui-card.mjs +10 -10
- package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
- package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
- package/fesm2022/ng-nest-ui-checkbox.mjs +10 -10
- package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
- package/fesm2022/ng-nest-ui-color-picker.mjs +16 -16
- package/fesm2022/ng-nest-ui-color.mjs +10 -10
- package/fesm2022/ng-nest-ui-comment.mjs +16 -16
- package/fesm2022/ng-nest-ui-container.mjs +31 -31
- package/fesm2022/ng-nest-ui-core.mjs +18 -18
- package/fesm2022/ng-nest-ui-coversations.mjs +10 -10
- package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
- package/fesm2022/ng-nest-ui-date-picker.mjs +49 -49
- package/fesm2022/ng-nest-ui-description.mjs +16 -16
- package/fesm2022/ng-nest-ui-dialog.mjs +40 -40
- package/fesm2022/ng-nest-ui-doc.mjs +7 -7
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
- package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
- package/fesm2022/ng-nest-ui-empty.mjs +10 -10
- package/fesm2022/ng-nest-ui-examples.mjs +7 -7
- package/fesm2022/ng-nest-ui-find.mjs +10 -10
- package/fesm2022/ng-nest-ui-form.mjs +16 -16
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +13 -13
- package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
- package/fesm2022/ng-nest-ui-icon.mjs +13 -13
- package/fesm2022/ng-nest-ui-image.mjs +19 -19
- package/fesm2022/ng-nest-ui-inner.mjs +10 -10
- package/fesm2022/ng-nest-ui-input-number.mjs +10 -10
- package/fesm2022/ng-nest-ui-input.mjs +16 -16
- package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
- package/fesm2022/ng-nest-ui-layout.mjs +17 -17
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +10 -10
- package/fesm2022/ng-nest-ui-list.mjs +19 -19
- package/fesm2022/ng-nest-ui-loading.mjs +10 -10
- package/fesm2022/ng-nest-ui-menu.mjs +16 -16
- package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +10 -10
- package/fesm2022/ng-nest-ui-notification.mjs +10 -10
- package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
- package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
- package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
- package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
- package/fesm2022/ng-nest-ui-popover.mjs +13 -13
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-progress.mjs +10 -10
- package/fesm2022/ng-nest-ui-prompts.mjs +10 -10
- package/fesm2022/ng-nest-ui-radio.mjs +10 -10
- package/fesm2022/ng-nest-ui-rate.mjs +10 -10
- package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2022/ng-nest-ui-result.mjs +10 -10
- package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2022/ng-nest-ui-scrollable.mjs +7 -7
- package/fesm2022/ng-nest-ui-select.mjs +13 -13
- package/fesm2022/ng-nest-ui-sender.mjs +13 -13
- package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
- package/fesm2022/ng-nest-ui-slider-select.mjs +10 -10
- package/fesm2022/ng-nest-ui-slider.mjs +10 -10
- package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2022/ng-nest-ui-steps.mjs +10 -10
- package/fesm2022/ng-nest-ui-suggestion.mjs +10 -10
- package/fesm2022/ng-nest-ui-switch.mjs +10 -10
- package/fesm2022/ng-nest-ui-table-view.mjs +58 -58
- package/fesm2022/ng-nest-ui-table.mjs +34 -34
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
- package/fesm2022/ng-nest-ui-tag.mjs +10 -10
- package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
- package/fesm2022/ng-nest-ui-textarea.mjs +10 -10
- package/fesm2022/ng-nest-ui-theme.mjs +10 -10
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-thought-chain.mjs +10 -10
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +10 -10
- package/fesm2022/ng-nest-ui-tooltip.mjs +13 -13
- package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
- package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
- package/fesm2022/ng-nest-ui-tree-select.mjs +13 -13
- package/fesm2022/ng-nest-ui-tree.mjs +19 -19
- package/fesm2022/ng-nest-ui-typography.mjs +10 -10
- package/fesm2022/ng-nest-ui-upload.mjs +19 -19
- package/fesm2022/ng-nest-ui-welcome.mjs +10 -10
- package/package.json +102 -102
- /package/{affix/index.d.ts → types/ng-nest-ui-affix.d.ts} +0 -0
- /package/{alert/index.d.ts → types/ng-nest-ui-alert.d.ts} +0 -0
- /package/{anchor/index.d.ts → types/ng-nest-ui-anchor.d.ts} +0 -0
- /package/{api/index.d.ts → types/ng-nest-ui-api.d.ts} +0 -0
- /package/{attachments/index.d.ts → types/ng-nest-ui-attachments.d.ts} +0 -0
- /package/{auto-complete/index.d.ts → types/ng-nest-ui-auto-complete.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/ng-nest-ui-avatar.d.ts} +0 -0
- /package/{back-top/index.d.ts → types/ng-nest-ui-back-top.d.ts} +0 -0
- /package/{badge/index.d.ts → types/ng-nest-ui-badge.d.ts} +0 -0
- /package/{base-form/index.d.ts → types/ng-nest-ui-base-form.d.ts} +0 -0
- /package/{bubble/index.d.ts → types/ng-nest-ui-bubble.d.ts} +0 -0
- /package/{button/index.d.ts → types/ng-nest-ui-button.d.ts} +0 -0
- /package/{calendar/index.d.ts → types/ng-nest-ui-calendar.d.ts} +0 -0
- /package/{card/index.d.ts → types/ng-nest-ui-card.d.ts} +0 -0
- /package/{carousel/index.d.ts → types/ng-nest-ui-carousel.d.ts} +0 -0
- /package/{cascade/index.d.ts → types/ng-nest-ui-cascade.d.ts} +0 -0
- /package/{checkbox/index.d.ts → types/ng-nest-ui-checkbox.d.ts} +0 -0
- /package/{collapse/index.d.ts → types/ng-nest-ui-collapse.d.ts} +0 -0
- /package/{color-picker/index.d.ts → types/ng-nest-ui-color-picker.d.ts} +0 -0
- /package/{color/index.d.ts → types/ng-nest-ui-color.d.ts} +0 -0
- /package/{comment/index.d.ts → types/ng-nest-ui-comment.d.ts} +0 -0
- /package/{container/index.d.ts → types/ng-nest-ui-container.d.ts} +0 -0
- /package/{core/index.d.ts → types/ng-nest-ui-core.d.ts} +0 -0
- /package/{coversations/index.d.ts → types/ng-nest-ui-coversations.d.ts} +0 -0
- /package/{crumb/index.d.ts → types/ng-nest-ui-crumb.d.ts} +0 -0
- /package/{date-picker/index.d.ts → types/ng-nest-ui-date-picker.d.ts} +0 -0
- /package/{description/index.d.ts → types/ng-nest-ui-description.d.ts} +0 -0
- /package/{dialog/index.d.ts → types/ng-nest-ui-dialog.d.ts} +0 -0
- /package/{doc/index.d.ts → types/ng-nest-ui-doc.d.ts} +0 -0
- /package/{drag/index.d.ts → types/ng-nest-ui-drag.d.ts} +0 -0
- /package/{drawer/index.d.ts → types/ng-nest-ui-drawer.d.ts} +0 -0
- /package/{dropdown/index.d.ts → types/ng-nest-ui-dropdown.d.ts} +0 -0
- /package/{empty/index.d.ts → types/ng-nest-ui-empty.d.ts} +0 -0
- /package/{examples/index.d.ts → types/ng-nest-ui-examples.d.ts} +0 -0
- /package/{find/index.d.ts → types/ng-nest-ui-find.d.ts} +0 -0
- /package/{form/index.d.ts → types/ng-nest-ui-form.d.ts} +0 -0
- /package/{highlight/index.d.ts → types/ng-nest-ui-highlight.d.ts} +0 -0
- /package/{i18n/index.d.ts → types/ng-nest-ui-i18n.d.ts} +0 -0
- /package/{icon/index.d.ts → types/ng-nest-ui-icon.d.ts} +0 -0
- /package/{image/index.d.ts → types/ng-nest-ui-image.d.ts} +0 -0
- /package/{inner/index.d.ts → types/ng-nest-ui-inner.d.ts} +0 -0
- /package/{input-number/index.d.ts → types/ng-nest-ui-input-number.d.ts} +0 -0
- /package/{input/index.d.ts → types/ng-nest-ui-input.d.ts} +0 -0
- /package/{keyword/index.d.ts → types/ng-nest-ui-keyword.d.ts} +0 -0
- /package/{layout/index.d.ts → types/ng-nest-ui-layout.d.ts} +0 -0
- /package/{link/index.d.ts → types/ng-nest-ui-link.d.ts} +0 -0
- /package/{list/index.d.ts → types/ng-nest-ui-list.d.ts} +0 -0
- /package/{loading/index.d.ts → types/ng-nest-ui-loading.d.ts} +0 -0
- /package/{menu/index.d.ts → types/ng-nest-ui-menu.d.ts} +0 -0
- /package/{message-box/index.d.ts → types/ng-nest-ui-message-box.d.ts} +0 -0
- /package/{message/index.d.ts → types/ng-nest-ui-message.d.ts} +0 -0
- /package/{notification/index.d.ts → types/ng-nest-ui-notification.d.ts} +0 -0
- /package/{outlet/index.d.ts → types/ng-nest-ui-outlet.d.ts} +0 -0
- /package/{page-header/index.d.ts → types/ng-nest-ui-page-header.d.ts} +0 -0
- /package/{pagination/index.d.ts → types/ng-nest-ui-pagination.d.ts} +0 -0
- /package/{pattern/index.d.ts → types/ng-nest-ui-pattern.d.ts} +0 -0
- /package/{popconfirm/index.d.ts → types/ng-nest-ui-popconfirm.d.ts} +0 -0
- /package/{popover/index.d.ts → types/ng-nest-ui-popover.d.ts} +0 -0
- /package/{portal/index.d.ts → types/ng-nest-ui-portal.d.ts} +0 -0
- /package/{progress/index.d.ts → types/ng-nest-ui-progress.d.ts} +0 -0
- /package/{prompts/index.d.ts → types/ng-nest-ui-prompts.d.ts} +0 -0
- /package/{radio/index.d.ts → types/ng-nest-ui-radio.d.ts} +0 -0
- /package/{rate/index.d.ts → types/ng-nest-ui-rate.d.ts} +0 -0
- /package/{resizable/index.d.ts → types/ng-nest-ui-resizable.d.ts} +0 -0
- /package/{result/index.d.ts → types/ng-nest-ui-result.d.ts} +0 -0
- /package/{ripple/index.d.ts → types/ng-nest-ui-ripple.d.ts} +0 -0
- /package/{scrollable/index.d.ts → types/ng-nest-ui-scrollable.d.ts} +0 -0
- /package/{select/index.d.ts → types/ng-nest-ui-select.d.ts} +0 -0
- /package/{sender/index.d.ts → types/ng-nest-ui-sender.d.ts} +0 -0
- /package/{skeleton/index.d.ts → types/ng-nest-ui-skeleton.d.ts} +0 -0
- /package/{slider-select/index.d.ts → types/ng-nest-ui-slider-select.d.ts} +0 -0
- /package/{slider/index.d.ts → types/ng-nest-ui-slider.d.ts} +0 -0
- /package/{statistic/index.d.ts → types/ng-nest-ui-statistic.d.ts} +0 -0
- /package/{steps/index.d.ts → types/ng-nest-ui-steps.d.ts} +0 -0
- /package/{suggestion/index.d.ts → types/ng-nest-ui-suggestion.d.ts} +0 -0
- /package/{switch/index.d.ts → types/ng-nest-ui-switch.d.ts} +0 -0
- /package/{table-view/index.d.ts → types/ng-nest-ui-table-view.d.ts} +0 -0
- /package/{table/index.d.ts → types/ng-nest-ui-table.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/ng-nest-ui-tabs.d.ts} +0 -0
- /package/{tag/index.d.ts → types/ng-nest-ui-tag.d.ts} +0 -0
- /package/{text-retract/index.d.ts → types/ng-nest-ui-text-retract.d.ts} +0 -0
- /package/{textarea/index.d.ts → types/ng-nest-ui-textarea.d.ts} +0 -0
- /package/{theme/index.d.ts → types/ng-nest-ui-theme.d.ts} +0 -0
- /package/{thought-chain/index.d.ts → types/ng-nest-ui-thought-chain.d.ts} +0 -0
- /package/{time-ago/index.d.ts → types/ng-nest-ui-time-ago.d.ts} +0 -0
- /package/{time-picker/index.d.ts → types/ng-nest-ui-time-picker.d.ts} +0 -0
- /package/{time-range/index.d.ts → types/ng-nest-ui-time-range.d.ts} +0 -0
- /package/{timeline/index.d.ts → types/ng-nest-ui-timeline.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/ng-nest-ui-tooltip.d.ts} +0 -0
- /package/{transfer/index.d.ts → types/ng-nest-ui-transfer.d.ts} +0 -0
- /package/{tree-file/index.d.ts → types/ng-nest-ui-tree-file.d.ts} +0 -0
- /package/{tree-select/index.d.ts → types/ng-nest-ui-tree-select.d.ts} +0 -0
- /package/{tree/index.d.ts → types/ng-nest-ui-tree.d.ts} +0 -0
- /package/{typography/index.d.ts → types/ng-nest-ui-typography.d.ts} +0 -0
- /package/{upload/index.d.ts → types/ng-nest-ui-upload.d.ts} +0 -0
- /package/{welcome/index.d.ts → types/ng-nest-ui-welcome.d.ts} +0 -0
- /package/{index.d.ts → types/ng-nest-ui.d.ts} +0 -0
|
@@ -80,10 +80,10 @@ class XLoadingProperty extends XPropertyFunction(X_LOADING_CONFIG_NAME) {
|
|
|
80
80
|
*/
|
|
81
81
|
this.inline = input(false, ...(ngDevMode ? [{ debugName: "inline", transform: XToBoolean }] : [{ transform: XToBoolean }]));
|
|
82
82
|
}
|
|
83
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
84
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
83
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XLoadingProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.0", type: XLoadingProperty, isStandalone: true, selector: "x-loading-property", inputs: { loading: { classPropertyName: "loading", publicName: "x-loading", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", 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 }, customTpl: { classPropertyName: "customTpl", publicName: "customTpl", 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 }); }
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XLoadingProperty, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{ selector: `${XLoadingPrefix}-property`, template: '' }]
|
|
89
89
|
}], propDecorators: { loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "x-loading", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], zIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "zIndex", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], customTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "customTpl", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], fullScreen: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullScreen", required: false }] }], radius: [{ type: i0.Input, args: [{ isSignal: true, alias: "radius", required: false }] }], background: [{ type: i0.Input, args: [{ isSignal: true, alias: "background", required: false }] }], inline: [{ type: i0.Input, args: [{ isSignal: true, alias: "inline", required: false }] }] } });
|
|
@@ -146,10 +146,10 @@ class XLoadingComponent extends XLoadingProperty {
|
|
|
146
146
|
this.portalRef.overlayRef.detach();
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
150
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.5", 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-inner\" [style.color]=\"color()\">\r\n @if (customTpl()) {\r\n <ng-template *ngTemplateOutlet=\"customTpl()!\"></ng-template>\r\n } @else {\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 @switch (type()) {\r\n @case ('circular') {\r\n <ng-container *ngTemplateOutlet=\"circularTpl\"></ng-container>\r\n }\r\n @case ('spinner') {\r\n <ng-container *ngTemplateOutlet=\"spinnerTpl\"></ng-container>\r\n }\r\n @case ('ripple') {\r\n <ng-container *ngTemplateOutlet=\"rippleTpl\"></ng-container>\r\n }\r\n @case ('dual-ring') {\r\n <ng-container *ngTemplateOutlet=\"dualRingTpl\"></ng-container>\r\n }\r\n @case ('dual-ball') {\r\n <ng-container *ngTemplateOutlet=\"dualBallTpl\"></ng-container>\r\n }\r\n @case ('bars') {\r\n <ng-container *ngTemplateOutlet=\"barsTpl\"></ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"circularTpl\"></ng-container>\r\n }\r\n }\r\n }\r\n }\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>\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</ng-template>\r\n\r\n<ng-template #spinnerTpl>\r\n <svg class=\"x-loading-spinner\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"25 25 50 50\">\r\n <g>\r\n <g transform=\"rotate(0 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.9166666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(30 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.8333333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(60 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.75s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(90 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.6666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(120 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.5833333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(150 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.5s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(180 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.4166666666666667s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(210 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.3333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(240 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.25s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(270 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.16666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(300 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.08333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(330 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"0s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g></g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #rippleTpl>\r\n <svg class=\"x-loading-ripple\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"0 0 100 100\">\r\n <g>\r\n <circle stroke-width=\"6\" stroke=\"currentColor\" fill=\"none\" r=\"0\" cy=\"50\" cx=\"50\">\r\n <animate\r\n begin=\"0s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0 0.2 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"0;40\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"r\"\r\n ></animate>\r\n <animate\r\n begin=\"0s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0.2 0 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </circle>\r\n <circle stroke-width=\"6\" stroke=\"currentColor\" fill=\"none\" r=\"0\" cy=\"50\" cx=\"50\">\r\n <animate\r\n begin=\"-0.5s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0 0.2 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"0;40\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"r\"\r\n ></animate>\r\n <animate\r\n begin=\"-0.5s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0.2 0 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #dualRingTpl>\r\n <svg\r\n class=\"x-loading-dual-ring\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"0 0 100 100\"\r\n >\r\n <g>\r\n <circle\r\n stroke-linecap=\"round\"\r\n fill=\"none\"\r\n stroke-dasharray=\"50.26548245743669 50.26548245743669\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"8\"\r\n r=\"32\"\r\n cy=\"50\"\r\n cx=\"50\"\r\n >\r\n <animateTransform\r\n values=\"0 50 50;360 50 50\"\r\n keyTimes=\"0;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n type=\"rotate\"\r\n attributeName=\"transform\"\r\n ></animateTransform>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #dualBallTpl>\r\n <svg\r\n class=\"x-loading-dual-ball\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"0 0 100 100\"\r\n >\r\n <g>\r\n <circle r=\"20\" fill=\"currentColor\" cy=\"50\" cx=\"30\">\r\n <animate\r\n begin=\"-0.5s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n </circle>\r\n <circle r=\"20\" fill=\"var(--x-primary-500)\" cy=\"50\" cx=\"70\">\r\n <animate\r\n begin=\"0s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n </circle>\r\n <circle r=\"20\" fill=\"currentColor\" cy=\"50\" cx=\"30\">\r\n <animate\r\n begin=\"-0.5s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n <animate\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n keyTimes=\"0;0.499;0.5;1\"\r\n calcMode=\"discrete\"\r\n values=\"0;0;1;1\"\r\n attributeName=\"fill-opacity\"\r\n ></animate>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #barsTpl>\r\n <svg class=\"x-loading-bars\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"0 0 100 100\">\r\n <g>\r\n <rect fill=\"currentColor\" height=\"40\" width=\"10\" y=\"30\" x=\"15\">\r\n <animate\r\n begin=\"-0.6\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-200)\" height=\"40\" width=\"10\" y=\"30\" x=\"35\">\r\n <animate\r\n begin=\"-0.4\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-400)\" height=\"40\" width=\"10\" y=\"30\" x=\"55\">\r\n <animate\r\n begin=\"-0.2\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-600)\" height=\"40\" width=\"10\" y=\"30\" x=\"75\">\r\n <animate\r\n begin=\"-1\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n </svg>\r\n</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-inner{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:4;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,.x-loading-big .x-loading-spinner{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-dual-ring,.x-loading-big .x-loading-dual-ball,.x-loading-big .x-loading-bars{height:2.61rem;width:2.61rem}.x-loading-big .x-loading-ripple{height:3.2625rem;width:3.2625rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular,.x-loading-large .x-loading-spinner{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-dual-ring,.x-loading-large .x-loading-dual-ball,.x-loading-large .x-loading-bars{height:2.25rem;width:2.25rem}.x-loading-large .x-loading-ripple{height:2.8125rem;width:2.8125rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular,.x-loading-medium .x-loading-spinner{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-dual-ring,.x-loading-medium .x-loading-dual-ball,.x-loading-medium .x-loading-bars{height:2.01rem;width:2.01rem}.x-loading-medium .x-loading-ripple{height:2.5125rem;width:2.5125rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular,.x-loading-small .x-loading-spinner{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-dual-ring,.x-loading-small .x-loading-dual-ball,.x-loading-small .x-loading-bars{height:1.8rem;width:1.8rem}.x-loading-small .x-loading-ripple{height:2.25rem;width:2.25rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular,.x-loading-mini .x-loading-spinner{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-dual-ring,.x-loading-mini .x-loading-dual-ball,.x-loading-mini .x-loading-bars{height:1.65rem;width:1.65rem}.x-loading-mini .x-loading-ripple{height:2.0625rem;width:2.0625rem}.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 }); }
|
|
149
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
150
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.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-inner\" [style.color]=\"color()\">\r\n @if (customTpl()) {\r\n <ng-template *ngTemplateOutlet=\"customTpl()!\"></ng-template>\r\n } @else {\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 @switch (type()) {\r\n @case ('circular') {\r\n <ng-container *ngTemplateOutlet=\"circularTpl\"></ng-container>\r\n }\r\n @case ('spinner') {\r\n <ng-container *ngTemplateOutlet=\"spinnerTpl\"></ng-container>\r\n }\r\n @case ('ripple') {\r\n <ng-container *ngTemplateOutlet=\"rippleTpl\"></ng-container>\r\n }\r\n @case ('dual-ring') {\r\n <ng-container *ngTemplateOutlet=\"dualRingTpl\"></ng-container>\r\n }\r\n @case ('dual-ball') {\r\n <ng-container *ngTemplateOutlet=\"dualBallTpl\"></ng-container>\r\n }\r\n @case ('bars') {\r\n <ng-container *ngTemplateOutlet=\"barsTpl\"></ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"circularTpl\"></ng-container>\r\n }\r\n }\r\n }\r\n }\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>\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</ng-template>\r\n\r\n<ng-template #spinnerTpl>\r\n <svg class=\"x-loading-spinner\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"25 25 50 50\">\r\n <g>\r\n <g transform=\"rotate(0 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.9166666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(30 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.8333333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(60 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.75s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(90 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.6666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(120 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.5833333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(150 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.5s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(180 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.4166666666666667s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(210 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.3333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(240 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.25s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(270 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.16666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(300 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.08333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(330 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"0s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g></g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #rippleTpl>\r\n <svg class=\"x-loading-ripple\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"0 0 100 100\">\r\n <g>\r\n <circle stroke-width=\"6\" stroke=\"currentColor\" fill=\"none\" r=\"0\" cy=\"50\" cx=\"50\">\r\n <animate\r\n begin=\"0s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0 0.2 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"0;40\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"r\"\r\n ></animate>\r\n <animate\r\n begin=\"0s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0.2 0 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </circle>\r\n <circle stroke-width=\"6\" stroke=\"currentColor\" fill=\"none\" r=\"0\" cy=\"50\" cx=\"50\">\r\n <animate\r\n begin=\"-0.5s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0 0.2 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"0;40\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"r\"\r\n ></animate>\r\n <animate\r\n begin=\"-0.5s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0.2 0 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #dualRingTpl>\r\n <svg\r\n class=\"x-loading-dual-ring\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"0 0 100 100\"\r\n >\r\n <g>\r\n <circle\r\n stroke-linecap=\"round\"\r\n fill=\"none\"\r\n stroke-dasharray=\"50.26548245743669 50.26548245743669\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"8\"\r\n r=\"32\"\r\n cy=\"50\"\r\n cx=\"50\"\r\n >\r\n <animateTransform\r\n values=\"0 50 50;360 50 50\"\r\n keyTimes=\"0;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n type=\"rotate\"\r\n attributeName=\"transform\"\r\n ></animateTransform>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #dualBallTpl>\r\n <svg\r\n class=\"x-loading-dual-ball\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"0 0 100 100\"\r\n >\r\n <g>\r\n <circle r=\"20\" fill=\"currentColor\" cy=\"50\" cx=\"30\">\r\n <animate\r\n begin=\"-0.5s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n </circle>\r\n <circle r=\"20\" fill=\"var(--x-primary-500)\" cy=\"50\" cx=\"70\">\r\n <animate\r\n begin=\"0s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n </circle>\r\n <circle r=\"20\" fill=\"currentColor\" cy=\"50\" cx=\"30\">\r\n <animate\r\n begin=\"-0.5s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n <animate\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n keyTimes=\"0;0.499;0.5;1\"\r\n calcMode=\"discrete\"\r\n values=\"0;0;1;1\"\r\n attributeName=\"fill-opacity\"\r\n ></animate>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #barsTpl>\r\n <svg class=\"x-loading-bars\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"0 0 100 100\">\r\n <g>\r\n <rect fill=\"currentColor\" height=\"40\" width=\"10\" y=\"30\" x=\"15\">\r\n <animate\r\n begin=\"-0.6\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-200)\" height=\"40\" width=\"10\" y=\"30\" x=\"35\">\r\n <animate\r\n begin=\"-0.4\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-400)\" height=\"40\" width=\"10\" y=\"30\" x=\"55\">\r\n <animate\r\n begin=\"-0.2\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-600)\" height=\"40\" width=\"10\" y=\"30\" x=\"75\">\r\n <animate\r\n begin=\"-1\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n </svg>\r\n</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-inner{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:4;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,.x-loading-big .x-loading-spinner{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-dual-ring,.x-loading-big .x-loading-dual-ball,.x-loading-big .x-loading-bars{height:2.61rem;width:2.61rem}.x-loading-big .x-loading-ripple{height:3.2625rem;width:3.2625rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular,.x-loading-large .x-loading-spinner{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-dual-ring,.x-loading-large .x-loading-dual-ball,.x-loading-large .x-loading-bars{height:2.25rem;width:2.25rem}.x-loading-large .x-loading-ripple{height:2.8125rem;width:2.8125rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular,.x-loading-medium .x-loading-spinner{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-dual-ring,.x-loading-medium .x-loading-dual-ball,.x-loading-medium .x-loading-bars{height:2.01rem;width:2.01rem}.x-loading-medium .x-loading-ripple{height:2.5125rem;width:2.5125rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular,.x-loading-small .x-loading-spinner{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-dual-ring,.x-loading-small .x-loading-dual-ball,.x-loading-small .x-loading-bars{height:1.8rem;width:1.8rem}.x-loading-small .x-loading-ripple{height:2.25rem;width:2.25rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular,.x-loading-mini .x-loading-spinner{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-dual-ring,.x-loading-mini .x-loading-dual-ball,.x-loading-mini .x-loading-bars{height:1.65rem;width:1.65rem}.x-loading-mini .x-loading-ripple{height:2.0625rem;width:2.0625rem}.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 }); }
|
|
151
151
|
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XLoadingComponent, decorators: [{
|
|
153
153
|
type: Component,
|
|
154
154
|
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-inner\" [style.color]=\"color()\">\r\n @if (customTpl()) {\r\n <ng-template *ngTemplateOutlet=\"customTpl()!\"></ng-template>\r\n } @else {\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 @switch (type()) {\r\n @case ('circular') {\r\n <ng-container *ngTemplateOutlet=\"circularTpl\"></ng-container>\r\n }\r\n @case ('spinner') {\r\n <ng-container *ngTemplateOutlet=\"spinnerTpl\"></ng-container>\r\n }\r\n @case ('ripple') {\r\n <ng-container *ngTemplateOutlet=\"rippleTpl\"></ng-container>\r\n }\r\n @case ('dual-ring') {\r\n <ng-container *ngTemplateOutlet=\"dualRingTpl\"></ng-container>\r\n }\r\n @case ('dual-ball') {\r\n <ng-container *ngTemplateOutlet=\"dualBallTpl\"></ng-container>\r\n }\r\n @case ('bars') {\r\n <ng-container *ngTemplateOutlet=\"barsTpl\"></ng-container>\r\n }\r\n @default {\r\n <ng-container *ngTemplateOutlet=\"circularTpl\"></ng-container>\r\n }\r\n }\r\n }\r\n }\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>\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</ng-template>\r\n\r\n<ng-template #spinnerTpl>\r\n <svg class=\"x-loading-spinner\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"25 25 50 50\">\r\n <g>\r\n <g transform=\"rotate(0 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.9166666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(30 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.8333333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(60 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.75s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(90 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.6666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(120 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.5833333333333334s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(150 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.5s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(180 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.4166666666666667s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(210 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.3333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(240 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.25s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(270 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.16666666666666666s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(300 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"-0.08333333333333333s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g transform=\"rotate(330 50 50)\">\r\n <rect fill=\"currentColor\" height=\"11\" width=\"6\" ry=\"0.66\" rx=\"0.66\" y=\"25.5\" x=\"47\">\r\n <animate\r\n repeatCount=\"indefinite\"\r\n begin=\"0s\"\r\n dur=\"1s\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n <g></g>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #rippleTpl>\r\n <svg class=\"x-loading-ripple\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"0 0 100 100\">\r\n <g>\r\n <circle stroke-width=\"6\" stroke=\"currentColor\" fill=\"none\" r=\"0\" cy=\"50\" cx=\"50\">\r\n <animate\r\n begin=\"0s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0 0.2 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"0;40\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"r\"\r\n ></animate>\r\n <animate\r\n begin=\"0s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0.2 0 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </circle>\r\n <circle stroke-width=\"6\" stroke=\"currentColor\" fill=\"none\" r=\"0\" cy=\"50\" cx=\"50\">\r\n <animate\r\n begin=\"-0.5s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0 0.2 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"0;40\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"r\"\r\n ></animate>\r\n <animate\r\n begin=\"-0.5s\"\r\n calcMode=\"spline\"\r\n keySplines=\"0.2 0 0.8 1\"\r\n keyTimes=\"0;1\"\r\n values=\"1;0\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #dualRingTpl>\r\n <svg\r\n class=\"x-loading-dual-ring\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"0 0 100 100\"\r\n >\r\n <g>\r\n <circle\r\n stroke-linecap=\"round\"\r\n fill=\"none\"\r\n stroke-dasharray=\"50.26548245743669 50.26548245743669\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"8\"\r\n r=\"32\"\r\n cy=\"50\"\r\n cx=\"50\"\r\n >\r\n <animateTransform\r\n values=\"0 50 50;360 50 50\"\r\n keyTimes=\"0;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n type=\"rotate\"\r\n attributeName=\"transform\"\r\n ></animateTransform>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #dualBallTpl>\r\n <svg\r\n class=\"x-loading-dual-ball\"\r\n [style.width.px]=\"sizeNumber()\"\r\n [style.height.px]=\"sizeNumber()\"\r\n viewBox=\"0 0 100 100\"\r\n >\r\n <g>\r\n <circle r=\"20\" fill=\"currentColor\" cy=\"50\" cx=\"30\">\r\n <animate\r\n begin=\"-0.5s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n </circle>\r\n <circle r=\"20\" fill=\"var(--x-primary-500)\" cy=\"50\" cx=\"70\">\r\n <animate\r\n begin=\"0s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n </circle>\r\n <circle r=\"20\" fill=\"currentColor\" cy=\"50\" cx=\"30\">\r\n <animate\r\n begin=\"-0.5s\"\r\n values=\"30;70;30\"\r\n keyTimes=\"0;0.5;1\"\r\n dur=\"1s\"\r\n repeatCount=\"indefinite\"\r\n attributeName=\"cx\"\r\n ></animate>\r\n <animate\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n keyTimes=\"0;0.499;0.5;1\"\r\n calcMode=\"discrete\"\r\n values=\"0;0;1;1\"\r\n attributeName=\"fill-opacity\"\r\n ></animate>\r\n </circle>\r\n </g>\r\n </svg>\r\n</ng-template>\r\n<ng-template #barsTpl>\r\n <svg class=\"x-loading-bars\" [style.width.px]=\"sizeNumber()\" [style.height.px]=\"sizeNumber()\" viewBox=\"0 0 100 100\">\r\n <g>\r\n <rect fill=\"currentColor\" height=\"40\" width=\"10\" y=\"30\" x=\"15\">\r\n <animate\r\n begin=\"-0.6\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-200)\" height=\"40\" width=\"10\" y=\"30\" x=\"35\">\r\n <animate\r\n begin=\"-0.4\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-400)\" height=\"40\" width=\"10\" y=\"30\" x=\"55\">\r\n <animate\r\n begin=\"-0.2\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n <rect fill=\"var(--x-primary-600)\" height=\"40\" width=\"10\" y=\"30\" x=\"75\">\r\n <animate\r\n begin=\"-1\"\r\n values=\"1;0.2;1\"\r\n keySplines=\"0.5 0 0.5 1;0.5 0 0.5 1\"\r\n keyTimes=\"0;0.5;1\"\r\n calcMode=\"spline\"\r\n repeatCount=\"indefinite\"\r\n dur=\"1s\"\r\n attributeName=\"opacity\"\r\n ></animate>\r\n </rect>\r\n </g>\r\n </svg>\r\n</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-inner{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:4;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,.x-loading-big .x-loading-spinner{height:2.175rem;width:2.175rem}.x-loading-big .x-loading-dual-ring,.x-loading-big .x-loading-dual-ball,.x-loading-big .x-loading-bars{height:2.61rem;width:2.61rem}.x-loading-big .x-loading-ripple{height:3.2625rem;width:3.2625rem}.x-loading-big .x-loading-icon{font-size:2.175rem}.x-loading-large .x-loading-circular,.x-loading-large .x-loading-spinner{height:1.875rem;width:1.875rem}.x-loading-large .x-loading-dual-ring,.x-loading-large .x-loading-dual-ball,.x-loading-large .x-loading-bars{height:2.25rem;width:2.25rem}.x-loading-large .x-loading-ripple{height:2.8125rem;width:2.8125rem}.x-loading-large .x-loading-icon{font-size:1.875rem}.x-loading-medium .x-loading-circular,.x-loading-medium .x-loading-spinner{height:1.675rem;width:1.675rem}.x-loading-medium .x-loading-dual-ring,.x-loading-medium .x-loading-dual-ball,.x-loading-medium .x-loading-bars{height:2.01rem;width:2.01rem}.x-loading-medium .x-loading-ripple{height:2.5125rem;width:2.5125rem}.x-loading-medium .x-loading-icon{font-size:1.675rem}.x-loading-small .x-loading-circular,.x-loading-small .x-loading-spinner{height:1.5rem;width:1.5rem}.x-loading-small .x-loading-dual-ring,.x-loading-small .x-loading-dual-ball,.x-loading-small .x-loading-bars{height:1.8rem;width:1.8rem}.x-loading-small .x-loading-ripple{height:2.25rem;width:2.25rem}.x-loading-small .x-loading-icon{font-size:1.5rem}.x-loading-mini .x-loading-circular,.x-loading-mini .x-loading-spinner{height:1.375rem;width:1.375rem}.x-loading-mini .x-loading-dual-ring,.x-loading-mini .x-loading-dual-ball,.x-loading-mini .x-loading-bars{height:1.65rem;width:1.65rem}.x-loading-mini .x-loading-ripple{height:2.0625rem;width:2.0625rem}.x-loading-mini .x-loading-icon{font-size:1.375rem}\n"] }]
|
|
155
155
|
}], ctorParameters: () => [], propDecorators: { getLoading: [{
|
|
@@ -158,11 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImpor
|
|
|
158
158
|
}], loadingTpl: [{ type: i0.ViewChild, args: ['loadingTpl', { isSignal: true }] }] } });
|
|
159
159
|
|
|
160
160
|
class XLoadingModule {
|
|
161
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
162
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
163
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
161
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XLoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
162
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: XLoadingModule, imports: [XLoadingComponent], exports: [XLoadingComponent] }); }
|
|
163
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XLoadingModule, imports: [XLoadingComponent] }); }
|
|
164
164
|
}
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XLoadingModule, decorators: [{
|
|
166
166
|
type: NgModule,
|
|
167
167
|
args: [{
|
|
168
168
|
exports: [XLoadingComponent],
|
|
@@ -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: "
|
|
91
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
90
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.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: "
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuProperty, decorators: [{
|
|
94
94
|
type: Component,
|
|
95
95
|
args: [{ selector: `${XMenuPrefix}-property`, template: '' }]
|
|
96
96
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], layout: [{ type: i0.Input, args: [{ isSignal: true, alias: "layout", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }], trigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "trigger", required: false }] }], nodeTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeTpl", required: false }] }], expandedAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedAll", required: false }] }], expandedLevel: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedLevel", required: false }] }], activatedId: [{ type: i0.Input, args: [{ isSignal: true, alias: "activatedId", required: false }] }, { type: i0.Output, args: ["activatedIdChange"] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: false }] }], portalMinWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMinWidth", required: false }] }], nodeClick: [{ type: i0.Output, args: ["nodeClick"] }] } });
|
|
@@ -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: "
|
|
108
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
107
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuNodeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.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: "
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.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: "
|
|
135
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
134
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.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: "
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.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: () => [], propDecorators: { routerLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLink", required: false }] }], leaf: [{ type: i0.Input, args: [{ isSignal: true, alias: "leaf", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: false }] }], nodeTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeTpl", required: false }] }] } });
|
|
@@ -298,20 +298,20 @@ class XMenuComponent extends XMenuProperty {
|
|
|
298
298
|
};
|
|
299
299
|
getParent(node);
|
|
300
300
|
}
|
|
301
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
302
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
301
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
302
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.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 }); }
|
|
303
303
|
}
|
|
304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuComponent, decorators: [{
|
|
305
305
|
type: Component,
|
|
306
306
|
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"] }]
|
|
307
307
|
}], ctorParameters: () => [] });
|
|
308
308
|
|
|
309
309
|
class XMenuModule {
|
|
310
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
311
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
312
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
310
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
311
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: XMenuModule, imports: [XMenuComponent, XMenuNodeComponent], exports: [XMenuComponent, XMenuNodeComponent] }); }
|
|
312
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuModule, imports: [XMenuComponent, XMenuNodeComponent] }); }
|
|
313
313
|
}
|
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMenuModule, decorators: [{
|
|
315
315
|
type: NgModule,
|
|
316
316
|
args: [{
|
|
317
317
|
exports: [XMenuComponent, XMenuNodeComponent],
|
|
@@ -114,10 +114,10 @@ class XMessageBoxComponent {
|
|
|
114
114
|
XFormInputValidator(this.msgInput.inputValidator)
|
|
115
115
|
]));
|
|
116
116
|
}
|
|
117
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
118
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
117
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: XMessageBoxComponent, isStandalone: true, selector: "x-message-box", host: { listeners: { "animationend": "animationend($event)" }, properties: { "animate.enter": "this.animateEnter", "animate.leave": "this.animateLeave" } }, ngImport: i0, template: "<div class=\"x-message-box\">\r\n <x-alert\r\n (close)=\"onClose()\"\r\n [title]=\"msgInput.title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"msgInput.type!\"\r\n [effect]=\"msgInput.effect!\"\r\n [hideClose]=\"msgInput.hideClose!\"\r\n [closeText]=\"msgInput.closeText\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n <ng-template #contentTpl let-iconTpl=\"$iconTpl\">\r\n <div class=\"x-message-box-inner\">\r\n <div class=\"x-message-box-content\">\r\n @if (msgInput.showInput) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-input\r\n formControlName=\"inputValue\"\r\n [type]=\"msgInput.inputType!\"\r\n [label]=\"getLabel\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n ></x-input>\r\n </form>\r\n } @else if (msgInput.showTextarea) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-textarea\r\n formControlName=\"inputValue\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [label]=\"getLabel\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n [maxlength]=\"msgInput.textareaMaxlength!\"\r\n [height]=\"msgInput.textareaHeight!\"\r\n ></x-textarea>\r\n </form>\r\n } @else {\r\n @if (msgInput.showIcon) {\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n }\r\n <ng-container *xOutlet=\"msgInput.content\">\r\n {{ msgInput.content }}\r\n </ng-container>\r\n }\r\n </div>\r\n <x-buttons space=\"0.5rem\">\r\n @if (msgInput.showCancel) {\r\n <x-button (click)=\"onCancel()\" flat plain>{{ msgInput.cancelText }}</x-button>\r\n }\r\n <x-button type=\"primary\" flat (click)=\"onConfirm()\" [disabled]=\"formGroup!.invalid\" [loading]=\"loading\">{{\r\n msgInput.confirmText\r\n }}</x-button>\r\n </x-buttons>\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [".x-message-box{margin:0;padding:0}.x-message-box-inner{display:flex;flex-direction:column;margin:.5rem 0}.x-message-box-inner>x-buttons{margin-top:1rem;align-self:flex-end}.x-message-box-content{display:inline-flex}.x-message-box-content>form{width:100%;margin-bottom:1rem}.x-message-box-content>form>x-input{width:100%}.x-message-box-content>form>x-textarea{width:100%}.x-message-box-portal x-message-box{width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XTextareaComponent, selector: "x-textarea" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XButtonsComponent, selector: "x-buttons" }, { kind: "component", type: XAlertComponent, selector: "x-alert" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
119
119
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxComponent, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{ selector: `${XMessageBoxPrefix}`, imports: [
|
|
123
123
|
NgTemplateOutlet,
|
|
@@ -222,20 +222,20 @@ class XMessageBoxService {
|
|
|
222
222
|
const messageBoxLocale = this.i18n.getLocale().messageBox;
|
|
223
223
|
this.default = { ...this.default, ...messageBoxLocale };
|
|
224
224
|
}
|
|
225
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
226
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
225
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
226
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxService, providedIn: 'root' }); }
|
|
227
227
|
}
|
|
228
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxService, decorators: [{
|
|
229
229
|
type: Injectable,
|
|
230
230
|
args: [{ providedIn: 'root' }]
|
|
231
231
|
}] });
|
|
232
232
|
|
|
233
233
|
class XMessageBoxModule {
|
|
234
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
235
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
236
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
234
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
235
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxModule }); }
|
|
236
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxModule }); }
|
|
237
237
|
}
|
|
238
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: XMessageBoxModule, decorators: [{
|
|
239
239
|
type: NgModule,
|
|
240
240
|
args: [{
|
|
241
241
|
exports: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-message-box.mjs","sources":["../../../../lib/ng-nest/ui/message-box/message-box.property.ts","../../../../lib/ng-nest/ui/message-box/message-box.component.ts","../../../../lib/ng-nest/ui/message-box/message-box.component.html","../../../../lib/ng-nest/ui/message-box/message-box.service.ts","../../../../lib/ng-nest/ui/message-box/message-box.module.ts","../../../../lib/ng-nest/ui/message-box/ng-nest-ui-message-box.ts"],"sourcesContent":["import { XStatus, XPlace } from '@ng-nest/ui/core';\r\nimport { XAlertOption } from '@ng-nest/ui/alert';\r\nimport { XMessageBoxComponent } from './message-box.component';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XInputType } from '@ng-nest/ui/input';\r\nimport { Observable } from 'rxjs';\r\n\r\n/**\r\n * MessageBox\r\n * @selector x-message-box\r\n * @decorator component\r\n */\r\nexport const XMessageBoxPrefix = 'x-message-box';\r\n\r\nexport const XMessageBoxPortal = 'x-message-box-portal';\r\n\r\n/**\r\n * MessageBox Option\r\n */\r\nexport interface XMessageBoxOption extends XAlertOption {\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n * @default 'top'\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n * @default '2rem'\r\n */\r\n offset?: string | string[];\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n * @default 'info'\r\n */\r\n type?: XMessageBoxType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n * @default '16rem'\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 隐藏关闭按钮\r\n * @en_US Hide close button\r\n * @default true\r\n */\r\n hideClose?: boolean;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n * @default true\r\n */\r\n showIcon?: boolean;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n showCancel?: boolean;\r\n /**\r\n * @zh_CN 关闭事件\r\n * @en_US Close event\r\n */\r\n callback?: XMessageBoxCallback;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default false\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n * @default '确定'\r\n */\r\n confirmText?: string;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n * @default '取消'\r\n */\r\n cancelText?: string;\r\n /**\r\n * @zh_CN 是否显示输入框,显示单行文本框后,将不能显示多行文本框\r\n * @en_US Do not display input box. After displaying a single line text box, multi line text boxes cannot be displayed\r\n */\r\n showInput?: boolean;\r\n /**\r\n * @zh_CN 匹配规则\r\n * @en_US Matching rules\r\n */\r\n inputPattern?: RegExp | RegExp[];\r\n /**\r\n * @zh_CN 匹配失败的信息提示\r\n * @en_US Information prompt for matching failure\r\n */\r\n inputInvalidMessage?: string | string[];\r\n /**\r\n * @zh_CN 输入框的占位符\r\n * @en_US Placeholder for input box\r\n */\r\n inputPlaceholder?: string;\r\n /**\r\n * @zh_CN 输入框的类型\r\n * @en_US Type of input box\r\n */\r\n inputType?: XInputType;\r\n /**\r\n * @zh_CN 输入框的值\r\n * @en_US Value of input box\r\n */\r\n inputValue?: string;\r\n /**\r\n * @zh_CN 输入框的验证函数\r\n * @en_US Validation function of input box\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n beforeClose?: XMessageBoxCallback;\r\n /**\r\n * @zh_CN 确认加载\r\n * @en_US confirm Loading\r\n */\r\n confirmLoading?: XMessageBoxConfirmLoading;\r\n /**\r\n * @zh_CN 是否显示多行文本框\r\n * @en_US Whether to show the input box\r\n */\r\n showTextarea?: boolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n textareaMaxlength?: number;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n textareaHeight?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 关闭的回调函数类型\r\n * @en_US Closed callback function type\r\n */\r\nexport interface XMessageBoxCallback {\r\n (action: XMessageBoxAction, message?: string): void;\r\n}\r\n\r\n/**\r\n * @zh_CN 确认加载\r\n * @en_US confirm Loading\r\n */\r\nexport type XMessageBoxConfirmLoading = () => Observable<boolean>;\r\n\r\n/**\r\n * @zh_CN 触发关闭的类型\r\n * @en_US Type of trigger closure\r\n */\r\nexport type XMessageBoxAction = 'confirm' | 'cancel' | 'close';\r\n\r\n/**\r\n * @zh_CN 创建的消息对象\r\n * @en_US Message object created\r\n */\r\nexport interface XMessageBoxOverlayRef extends XPortalOverlayRef<XMessageBoxComponent> {}\r\n\r\nexport interface XMessageBoxRef {\r\n ref: XMessageBoxOverlayRef;\r\n input: XMessageBoxOption;\r\n close: () => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\nexport type XMessageBoxType = XStatus;\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n HostListener,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { XIsFunction } from '@ng-nest/ui/core';\r\nimport { XMessageBoxPrefix, XMessageBoxRef, XMessageBoxAction } from './message-box.property';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XFormInputValidator } from '@ng-nest/ui/base-form';\r\nimport { XAlertComponent } from '@ng-nest/ui/alert';\r\nimport { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { XTextareaComponent } from '@ng-nest/ui/textarea';\r\n\r\n@Component({\r\n selector: `${XMessageBoxPrefix}`,\r\n imports: [\r\n NgTemplateOutlet,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XInputComponent,\r\n XTextareaComponent,\r\n XButtonComponent,\r\n XButtonsComponent,\r\n XAlertComponent,\r\n XOutletDirective\r\n ],\r\n templateUrl: './message-box.component.html',\r\n styleUrls: ['./message-box.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XMessageBoxComponent implements OnInit {\r\n messageBox!: XMessageBoxRef;\r\n action: XMessageBoxAction = 'close';\r\n formGroup: UntypedFormGroup = new UntypedFormGroup({});\r\n loading = false;\r\n\r\n @HostBinding('animate.enter') get animateEnter() {\r\n return `x-move-${this.msgInput.placement}-enter`;\r\n }\r\n @HostBinding('animate.leave') get animateLeave() {\r\n return `x-move-${this.msgInput.placement}-leave`;\r\n }\r\n\r\n @HostListener('animationend', ['$event']) animationend($event: AnimationEvent) {\r\n this.moveDone($event);\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n get msgInput() {\r\n return this.messageBox.input!;\r\n }\r\n\r\n get msgOverlayRef() {\r\n return this.messageBox.ref!;\r\n }\r\n\r\n get getLabel() {\r\n return this.msgInput.content as string;\r\n }\r\n\r\n get getPattern() {\r\n return this.msgInput.inputPattern as RegExp;\r\n }\r\n\r\n ngOnInit() {\r\n (this.msgInput.showInput || this.msgInput.showTextarea) && this.createFormGroup();\r\n }\r\n\r\n onClose() {\r\n this.action = 'close';\r\n this.hideBox();\r\n }\r\n\r\n onCancel() {\r\n this.action = 'cancel';\r\n this.hideBox();\r\n }\r\n\r\n hideBox() {\r\n if (XIsFunction(this.msgInput.beforeClose)) {\r\n this.msgInput.beforeClose!(this.action, this.getInputValue());\r\n } else {\r\n this.close();\r\n }\r\n }\r\n\r\n close() {\r\n this.msgOverlayRef?.overlayRef?.detach();\r\n }\r\n\r\n onConfirm() {\r\n const hide = () => {\r\n if (!this.msgInput.showInput || (this.msgInput.showInput && this.formGroup.valid)) {\r\n this.action = 'confirm';\r\n this.hideBox();\r\n } else if (!this.msgInput.showTextarea || (this.msgInput.showTextarea && this.formGroup.valid)) {\r\n this.action = 'confirm';\r\n this.hideBox();\r\n }\r\n };\r\n if (this.msgInput.confirmLoading && XIsFunction(this.msgInput.confirmLoading)) {\r\n this.loading = true;\r\n this.msgInput.confirmLoading().subscribe((x) => {\r\n this.loading = false;\r\n this.cdr.markForCheck();\r\n if (!x) return;\r\n this.action = 'confirm';\r\n hide();\r\n });\r\n } else {\r\n hide();\r\n }\r\n }\r\n\r\n moveDone($event: AnimationEvent) {\r\n if ($event.animationName.endsWith('-leave')) {\r\n XIsFunction(this.msgInput.callback) && this.msgInput.callback!(this.action, this.getInputValue());\r\n this.msgOverlayRef.overlayRef?.dispose();\r\n }\r\n }\r\n\r\n getInputValue() {\r\n return this.formGroup.controls['inputValue']?.value;\r\n }\r\n\r\n createFormGroup() {\r\n this.formGroup.addControl(\r\n 'inputValue',\r\n new UntypedFormControl(this.msgInput.inputValue, [\r\n Validators.pattern(this.msgInput.inputPattern as RegExp),\r\n XFormInputValidator(this.msgInput.inputValidator!)\r\n ])\r\n );\r\n }\r\n}\r\n","<div class=\"x-message-box\">\r\n <x-alert\r\n (close)=\"onClose()\"\r\n [title]=\"msgInput.title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"msgInput.type!\"\r\n [effect]=\"msgInput.effect!\"\r\n [hideClose]=\"msgInput.hideClose!\"\r\n [closeText]=\"msgInput.closeText\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n <ng-template #contentTpl let-iconTpl=\"$iconTpl\">\r\n <div class=\"x-message-box-inner\">\r\n <div class=\"x-message-box-content\">\r\n @if (msgInput.showInput) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-input\r\n formControlName=\"inputValue\"\r\n [type]=\"msgInput.inputType!\"\r\n [label]=\"getLabel\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n ></x-input>\r\n </form>\r\n } @else if (msgInput.showTextarea) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-textarea\r\n formControlName=\"inputValue\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [label]=\"getLabel\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n [maxlength]=\"msgInput.textareaMaxlength!\"\r\n [height]=\"msgInput.textareaHeight!\"\r\n ></x-textarea>\r\n </form>\r\n } @else {\r\n @if (msgInput.showIcon) {\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n }\r\n <ng-container *xOutlet=\"msgInput.content\">\r\n {{ msgInput.content }}\r\n </ng-container>\r\n }\r\n </div>\r\n <x-buttons space=\"0.5rem\">\r\n @if (msgInput.showCancel) {\r\n <x-button (click)=\"onCancel()\" flat plain>{{ msgInput.cancelText }}</x-button>\r\n }\r\n <x-button type=\"primary\" flat (click)=\"onConfirm()\" [disabled]=\"formGroup!.invalid\" [loading]=\"loading\">{{\r\n msgInput.confirmText\r\n }}</x-button>\r\n </x-buttons>\r\n </div>\r\n </ng-template>\r\n</div>\r\n","import { ComponentRef, Injectable, inject } from '@angular/core';\r\nimport { XTemplate, XIsXTemplate, XFillDefault, XIsString } from '@ng-nest/ui/core';\r\nimport { XMessageBoxOption, XMessageBoxOverlayRef, XMessageBoxRef, XMessageBoxPortal } from './message-box.property';\r\nimport { XMessageBoxComponent } from './message-box.component';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XI18nService } from '@ng-nest/ui/i18n';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XMessageBoxService {\r\n default: XMessageBoxOption = {\r\n type: 'info',\r\n width: '20rem',\r\n placement: 'center',\r\n offset: '2rem',\r\n effect: 'white',\r\n duration: 3000,\r\n showIcon: false,\r\n showInput: false,\r\n showTextarea: false,\r\n backdropClose: false,\r\n cancelText: '取消',\r\n confirmText: '确认',\r\n inputPlaceholder: '',\r\n textareaHeight: '6rem'\r\n };\r\n\r\n private portal = inject(XPortalService);\r\n private i18n = inject(XI18nService);\r\n\r\n alert(option: XTemplate | XMessageBoxOption): XMessageBoxRef {\r\n return this.createMessageBox(option, { showIcon: false, showCancel: false, showInput: false });\r\n }\r\n\r\n confirm(option: XTemplate | XMessageBoxOption): XMessageBoxRef {\r\n return this.createMessageBox(option, { showIcon: true, showCancel: true, showInput: false });\r\n }\r\n\r\n prompt(option: XTemplate | XMessageBoxOption): XMessageBoxRef {\r\n const opt = option as XMessageBoxOption;\r\n let def: XMessageBoxOption = { showIcon: false, showCancel: true, showInput: true };\r\n if (!opt.showInput && opt.showTextarea) {\r\n def = { showIcon: false, showCancel: true, showTextarea: true };\r\n }\r\n return this.createMessageBox(option, def);\r\n }\r\n\r\n create(option: XMessageBoxOption): XMessageBoxOverlayRef {\r\n const offset = XIsString(option.offset) ? [option.offset as string] : (option.offset as string[]);\r\n return this.portal.attach({\r\n content: XMessageBoxComponent,\r\n overlayConfig: {\r\n panelClass: XMessageBoxPortal,\r\n hasBackdrop: true,\r\n width: option.width,\r\n height: option.height,\r\n positionStrategy: this.portal.setPlace(option.placement, ...offset)\r\n }\r\n });\r\n }\r\n\r\n private createMessageBox(option: XTemplate | XMessageBoxOption, def: XMessageBoxOption): XMessageBoxRef {\r\n let opt: XMessageBoxOption;\r\n if (XIsXTemplate(option)) {\r\n opt = { title: option as XTemplate };\r\n } else {\r\n opt = option as XMessageBoxOption;\r\n }\r\n this.setLocal();\r\n XFillDefault(opt, Object.assign({ ...this.default }, def));\r\n return this.createMessageBoxPlacement(opt);\r\n }\r\n\r\n private createMessageBoxPlacement(option: XMessageBoxOption): XMessageBoxRef {\r\n const ref = this.create(option);\r\n const { overlayRef, componentRef } = ref;\r\n const { instance } = componentRef as ComponentRef<XMessageBoxComponent>;\r\n const result = {\r\n ref: ref,\r\n input: option,\r\n close: () => {\r\n instance.close();\r\n }\r\n };\r\n instance.messageBox = result;\r\n if (option.backdropClose && overlayRef) {\r\n overlayRef.backdropClick().subscribe(() => instance.onClose());\r\n }\r\n return result;\r\n }\r\n\r\n private setLocal() {\r\n const messageBoxLocale = this.i18n.getLocale().messageBox;\r\n this.default = { ...this.default, ...messageBoxLocale };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n exports: [],\r\n imports: []\r\n})\r\nexport class XMessageBoxModule {}\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-message-box.mjs","sources":["../../../../lib/ng-nest/ui/message-box/message-box.property.ts","../../../../lib/ng-nest/ui/message-box/message-box.component.ts","../../../../lib/ng-nest/ui/message-box/message-box.component.html","../../../../lib/ng-nest/ui/message-box/message-box.service.ts","../../../../lib/ng-nest/ui/message-box/message-box.module.ts","../../../../lib/ng-nest/ui/message-box/ng-nest-ui-message-box.ts"],"sourcesContent":["import { XStatus, XPlace } from '@ng-nest/ui/core';\r\nimport { XAlertOption } from '@ng-nest/ui/alert';\r\nimport { XMessageBoxComponent } from './message-box.component';\r\nimport { XPortalOverlayRef } from '@ng-nest/ui/portal';\r\nimport { XInputType } from '@ng-nest/ui/input';\r\nimport { Observable } from 'rxjs';\r\n\r\n/**\r\n * MessageBox\r\n * @selector x-message-box\r\n * @decorator component\r\n */\r\nexport const XMessageBoxPrefix = 'x-message-box';\r\n\r\nexport const XMessageBoxPortal = 'x-message-box-portal';\r\n\r\n/**\r\n * MessageBox Option\r\n */\r\nexport interface XMessageBoxOption extends XAlertOption {\r\n /**\r\n * @zh_CN 方位,九宫格\r\n * @en_US Direction, nine grid\r\n * @default 'top'\r\n */\r\n placement?: XPlace;\r\n /**\r\n * @zh_CN 偏移距离\r\n * @en_US Offset distance\r\n * @default '2rem'\r\n */\r\n offset?: string | string[];\r\n /**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n * @default 'info'\r\n */\r\n type?: XMessageBoxType;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US Width\r\n * @default '16rem'\r\n */\r\n width?: string;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US Height\r\n */\r\n height?: string;\r\n /**\r\n * @zh_CN 隐藏关闭按钮\r\n * @en_US Hide close button\r\n * @default true\r\n */\r\n hideClose?: boolean;\r\n /**\r\n * @zh_CN 显示图标\r\n * @en_US Show icon\r\n * @default true\r\n */\r\n showIcon?: boolean;\r\n /**\r\n * @zh_CN 显示取消按钮\r\n * @en_US Show cancel button\r\n */\r\n showCancel?: boolean;\r\n /**\r\n * @zh_CN 关闭事件\r\n * @en_US Close event\r\n */\r\n callback?: XMessageBoxCallback;\r\n /**\r\n * @zh_CN 点击遮罩关闭\r\n * @en_US Click the mask to close\r\n * @default false\r\n */\r\n backdropClose?: boolean;\r\n /**\r\n * @zh_CN 确认按钮文字\r\n * @en_US Confirm button text\r\n * @default '确定'\r\n */\r\n confirmText?: string;\r\n /**\r\n * @zh_CN 取消按钮文字\r\n * @en_US Cancel button text\r\n * @default '取消'\r\n */\r\n cancelText?: string;\r\n /**\r\n * @zh_CN 是否显示输入框,显示单行文本框后,将不能显示多行文本框\r\n * @en_US Do not display input box. After displaying a single line text box, multi line text boxes cannot be displayed\r\n */\r\n showInput?: boolean;\r\n /**\r\n * @zh_CN 匹配规则\r\n * @en_US Matching rules\r\n */\r\n inputPattern?: RegExp | RegExp[];\r\n /**\r\n * @zh_CN 匹配失败的信息提示\r\n * @en_US Information prompt for matching failure\r\n */\r\n inputInvalidMessage?: string | string[];\r\n /**\r\n * @zh_CN 输入框的占位符\r\n * @en_US Placeholder for input box\r\n */\r\n inputPlaceholder?: string;\r\n /**\r\n * @zh_CN 输入框的类型\r\n * @en_US Type of input box\r\n */\r\n inputType?: XInputType;\r\n /**\r\n * @zh_CN 输入框的值\r\n * @en_US Value of input box\r\n */\r\n inputValue?: string;\r\n /**\r\n * @zh_CN 输入框的验证函数\r\n * @en_US Validation function of input box\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n /**\r\n * @zh_CN 关闭前处理函数\r\n * @en_US Processing function before closing\r\n */\r\n beforeClose?: XMessageBoxCallback;\r\n /**\r\n * @zh_CN 确认加载\r\n * @en_US confirm Loading\r\n */\r\n confirmLoading?: XMessageBoxConfirmLoading;\r\n /**\r\n * @zh_CN 是否显示多行文本框\r\n * @en_US Whether to show the input box\r\n */\r\n showTextarea?: boolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n textareaMaxlength?: number;\r\n /**\r\n * @zh_CN 高度\r\n * @en_US height\r\n */\r\n textareaHeight?: string;\r\n}\r\n\r\n/**\r\n * @zh_CN 关闭的回调函数类型\r\n * @en_US Closed callback function type\r\n */\r\nexport interface XMessageBoxCallback {\r\n (action: XMessageBoxAction, message?: string): void;\r\n}\r\n\r\n/**\r\n * @zh_CN 确认加载\r\n * @en_US confirm Loading\r\n */\r\nexport type XMessageBoxConfirmLoading = () => Observable<boolean>;\r\n\r\n/**\r\n * @zh_CN 触发关闭的类型\r\n * @en_US Type of trigger closure\r\n */\r\nexport type XMessageBoxAction = 'confirm' | 'cancel' | 'close';\r\n\r\n/**\r\n * @zh_CN 创建的消息对象\r\n * @en_US Message object created\r\n */\r\nexport interface XMessageBoxOverlayRef extends XPortalOverlayRef<XMessageBoxComponent> {}\r\n\r\nexport interface XMessageBoxRef {\r\n ref: XMessageBoxOverlayRef;\r\n input: XMessageBoxOption;\r\n close: () => void;\r\n}\r\n\r\n/**\r\n * @zh_CN 类型\r\n * @en_US Types of\r\n */\r\nexport type XMessageBoxType = XStatus;\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n Renderer2,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n ChangeDetectionStrategy,\r\n OnInit,\r\n HostListener,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { XIsFunction } from '@ng-nest/ui/core';\r\nimport { XMessageBoxPrefix, XMessageBoxRef, XMessageBoxAction } from './message-box.property';\r\nimport { UntypedFormGroup, UntypedFormControl, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XFormInputValidator } from '@ng-nest/ui/base-form';\r\nimport { XAlertComponent } from '@ng-nest/ui/alert';\r\nimport { XButtonComponent, XButtonsComponent } from '@ng-nest/ui/button';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { XTextareaComponent } from '@ng-nest/ui/textarea';\r\n\r\n@Component({\r\n selector: `${XMessageBoxPrefix}`,\r\n imports: [\r\n NgTemplateOutlet,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XInputComponent,\r\n XTextareaComponent,\r\n XButtonComponent,\r\n XButtonsComponent,\r\n XAlertComponent,\r\n XOutletDirective\r\n ],\r\n templateUrl: './message-box.component.html',\r\n styleUrls: ['./message-box.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XMessageBoxComponent implements OnInit {\r\n messageBox!: XMessageBoxRef;\r\n action: XMessageBoxAction = 'close';\r\n formGroup: UntypedFormGroup = new UntypedFormGroup({});\r\n loading = false;\r\n\r\n @HostBinding('animate.enter') get animateEnter() {\r\n return `x-move-${this.msgInput.placement}-enter`;\r\n }\r\n @HostBinding('animate.leave') get animateLeave() {\r\n return `x-move-${this.msgInput.placement}-leave`;\r\n }\r\n\r\n @HostListener('animationend', ['$event']) animationend($event: AnimationEvent) {\r\n this.moveDone($event);\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n get msgInput() {\r\n return this.messageBox.input!;\r\n }\r\n\r\n get msgOverlayRef() {\r\n return this.messageBox.ref!;\r\n }\r\n\r\n get getLabel() {\r\n return this.msgInput.content as string;\r\n }\r\n\r\n get getPattern() {\r\n return this.msgInput.inputPattern as RegExp;\r\n }\r\n\r\n ngOnInit() {\r\n (this.msgInput.showInput || this.msgInput.showTextarea) && this.createFormGroup();\r\n }\r\n\r\n onClose() {\r\n this.action = 'close';\r\n this.hideBox();\r\n }\r\n\r\n onCancel() {\r\n this.action = 'cancel';\r\n this.hideBox();\r\n }\r\n\r\n hideBox() {\r\n if (XIsFunction(this.msgInput.beforeClose)) {\r\n this.msgInput.beforeClose!(this.action, this.getInputValue());\r\n } else {\r\n this.close();\r\n }\r\n }\r\n\r\n close() {\r\n this.msgOverlayRef?.overlayRef?.detach();\r\n }\r\n\r\n onConfirm() {\r\n const hide = () => {\r\n if (!this.msgInput.showInput || (this.msgInput.showInput && this.formGroup.valid)) {\r\n this.action = 'confirm';\r\n this.hideBox();\r\n } else if (!this.msgInput.showTextarea || (this.msgInput.showTextarea && this.formGroup.valid)) {\r\n this.action = 'confirm';\r\n this.hideBox();\r\n }\r\n };\r\n if (this.msgInput.confirmLoading && XIsFunction(this.msgInput.confirmLoading)) {\r\n this.loading = true;\r\n this.msgInput.confirmLoading().subscribe((x) => {\r\n this.loading = false;\r\n this.cdr.markForCheck();\r\n if (!x) return;\r\n this.action = 'confirm';\r\n hide();\r\n });\r\n } else {\r\n hide();\r\n }\r\n }\r\n\r\n moveDone($event: AnimationEvent) {\r\n if ($event.animationName.endsWith('-leave')) {\r\n XIsFunction(this.msgInput.callback) && this.msgInput.callback!(this.action, this.getInputValue());\r\n this.msgOverlayRef.overlayRef?.dispose();\r\n }\r\n }\r\n\r\n getInputValue() {\r\n return this.formGroup.controls['inputValue']?.value;\r\n }\r\n\r\n createFormGroup() {\r\n this.formGroup.addControl(\r\n 'inputValue',\r\n new UntypedFormControl(this.msgInput.inputValue, [\r\n Validators.pattern(this.msgInput.inputPattern as RegExp),\r\n XFormInputValidator(this.msgInput.inputValidator!)\r\n ])\r\n );\r\n }\r\n}\r\n","<div class=\"x-message-box\">\r\n <x-alert\r\n (close)=\"onClose()\"\r\n [title]=\"msgInput.title\"\r\n [content]=\"contentTpl\"\r\n [type]=\"msgInput.type!\"\r\n [effect]=\"msgInput.effect!\"\r\n [hideClose]=\"msgInput.hideClose!\"\r\n [closeText]=\"msgInput.closeText\"\r\n [showIcon]=\"false\"\r\n [duration]=\"0\"\r\n manual\r\n disabledAnimation\r\n ></x-alert>\r\n <ng-template #contentTpl let-iconTpl=\"$iconTpl\">\r\n <div class=\"x-message-box-inner\">\r\n <div class=\"x-message-box-content\">\r\n @if (msgInput.showInput) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-input\r\n formControlName=\"inputValue\"\r\n [type]=\"msgInput.inputType!\"\r\n [label]=\"getLabel\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n ></x-input>\r\n </form>\r\n } @else if (msgInput.showTextarea) {\r\n <form [formGroup]=\"formGroup\">\r\n <x-textarea\r\n formControlName=\"inputValue\"\r\n [placeholder]=\"msgInput.inputPlaceholder!\"\r\n [label]=\"getLabel\"\r\n [pattern]=\"getPattern\"\r\n [message]=\"msgInput.inputInvalidMessage!\"\r\n [inputValidator]=\"msgInput.inputValidator!\"\r\n [maxlength]=\"msgInput.textareaMaxlength!\"\r\n [height]=\"msgInput.textareaHeight!\"\r\n ></x-textarea>\r\n </form>\r\n } @else {\r\n @if (msgInput.showIcon) {\r\n <ng-container *ngTemplateOutlet=\"iconTpl\"></ng-container>\r\n }\r\n <ng-container *xOutlet=\"msgInput.content\">\r\n {{ msgInput.content }}\r\n </ng-container>\r\n }\r\n </div>\r\n <x-buttons space=\"0.5rem\">\r\n @if (msgInput.showCancel) {\r\n <x-button (click)=\"onCancel()\" flat plain>{{ msgInput.cancelText }}</x-button>\r\n }\r\n <x-button type=\"primary\" flat (click)=\"onConfirm()\" [disabled]=\"formGroup!.invalid\" [loading]=\"loading\">{{\r\n msgInput.confirmText\r\n }}</x-button>\r\n </x-buttons>\r\n </div>\r\n </ng-template>\r\n</div>\r\n","import { ComponentRef, Injectable, inject } from '@angular/core';\r\nimport { XTemplate, XIsXTemplate, XFillDefault, XIsString } from '@ng-nest/ui/core';\r\nimport { XMessageBoxOption, XMessageBoxOverlayRef, XMessageBoxRef, XMessageBoxPortal } from './message-box.property';\r\nimport { XMessageBoxComponent } from './message-box.component';\r\nimport { XPortalService } from '@ng-nest/ui/portal';\r\nimport { XI18nService } from '@ng-nest/ui/i18n';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class XMessageBoxService {\r\n default: XMessageBoxOption = {\r\n type: 'info',\r\n width: '20rem',\r\n placement: 'center',\r\n offset: '2rem',\r\n effect: 'white',\r\n duration: 3000,\r\n showIcon: false,\r\n showInput: false,\r\n showTextarea: false,\r\n backdropClose: false,\r\n cancelText: '取消',\r\n confirmText: '确认',\r\n inputPlaceholder: '',\r\n textareaHeight: '6rem'\r\n };\r\n\r\n private portal = inject(XPortalService);\r\n private i18n = inject(XI18nService);\r\n\r\n alert(option: XTemplate | XMessageBoxOption): XMessageBoxRef {\r\n return this.createMessageBox(option, { showIcon: false, showCancel: false, showInput: false });\r\n }\r\n\r\n confirm(option: XTemplate | XMessageBoxOption): XMessageBoxRef {\r\n return this.createMessageBox(option, { showIcon: true, showCancel: true, showInput: false });\r\n }\r\n\r\n prompt(option: XTemplate | XMessageBoxOption): XMessageBoxRef {\r\n const opt = option as XMessageBoxOption;\r\n let def: XMessageBoxOption = { showIcon: false, showCancel: true, showInput: true };\r\n if (!opt.showInput && opt.showTextarea) {\r\n def = { showIcon: false, showCancel: true, showTextarea: true };\r\n }\r\n return this.createMessageBox(option, def);\r\n }\r\n\r\n create(option: XMessageBoxOption): XMessageBoxOverlayRef {\r\n const offset = XIsString(option.offset) ? [option.offset as string] : (option.offset as string[]);\r\n return this.portal.attach({\r\n content: XMessageBoxComponent,\r\n overlayConfig: {\r\n panelClass: XMessageBoxPortal,\r\n hasBackdrop: true,\r\n width: option.width,\r\n height: option.height,\r\n positionStrategy: this.portal.setPlace(option.placement, ...offset)\r\n }\r\n });\r\n }\r\n\r\n private createMessageBox(option: XTemplate | XMessageBoxOption, def: XMessageBoxOption): XMessageBoxRef {\r\n let opt: XMessageBoxOption;\r\n if (XIsXTemplate(option)) {\r\n opt = { title: option as XTemplate };\r\n } else {\r\n opt = option as XMessageBoxOption;\r\n }\r\n this.setLocal();\r\n XFillDefault(opt, Object.assign({ ...this.default }, def));\r\n return this.createMessageBoxPlacement(opt);\r\n }\r\n\r\n private createMessageBoxPlacement(option: XMessageBoxOption): XMessageBoxRef {\r\n const ref = this.create(option);\r\n const { overlayRef, componentRef } = ref;\r\n const { instance } = componentRef as ComponentRef<XMessageBoxComponent>;\r\n const result = {\r\n ref: ref,\r\n input: option,\r\n close: () => {\r\n instance.close();\r\n }\r\n };\r\n instance.messageBox = result;\r\n if (option.backdropClose && overlayRef) {\r\n overlayRef.backdropClick().subscribe(() => instance.onClose());\r\n }\r\n return result;\r\n }\r\n\r\n private setLocal() {\r\n const messageBoxLocale = this.i18n.getLocale().messageBox;\r\n this.default = { ...this.default, ...messageBoxLocale };\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n exports: [],\r\n imports: []\r\n})\r\nexport class XMessageBoxModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAOA;;;;AAIG;AACI,MAAM,iBAAiB,GAAG;AAE1B,MAAM,iBAAiB,GAAG;;MC0BpB,oBAAoB,CAAA;AAM/B,IAAA,IAAkC,YAAY,GAAA;AAC5C,QAAA,OAAO,UAAU,IAAI,CAAC,QAAQ,CAAC,SAAS,QAAQ;IAClD;AACA,IAAA,IAAkC,YAAY,GAAA;AAC5C,QAAA,OAAO,UAAU,IAAI,CAAC,QAAQ,CAAC,SAAS,QAAQ;IAClD;AAE0C,IAAA,YAAY,CAAC,MAAsB,EAAA;AAC3E,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACvB;AAEA,IAAA,WAAA,CACS,QAAmB,EACnB,UAAmC,EACnC,GAAsB,EAAA;QAFtB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,GAAG,GAAH,GAAG;QAlBZ,IAAA,CAAA,MAAM,GAAsB,OAAO;AACnC,QAAA,IAAA,CAAA,SAAS,GAAqB,IAAI,gBAAgB,CAAC,EAAE,CAAC;QACtD,IAAA,CAAA,OAAO,GAAG,KAAK;IAiBZ;AAEH,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAM;IAC/B;AAEA,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAI;IAC7B;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAiB;IACxC;AAEA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAsB;IAC7C;IAEA,QAAQ,GAAA;AACN,QAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,eAAe,EAAE;IACnF;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO;QACrB,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ;QACtB,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,OAAO,GAAA;QACL,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/D;aAAO;YACL,IAAI,CAAC,KAAK,EAAE;QACd;IACF;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE;IAC1C;IAEA,SAAS,GAAA;QACP,MAAM,IAAI,GAAG,MAAK;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AACjF,gBAAA,IAAI,CAAC,MAAM,GAAG,SAAS;gBACvB,IAAI,CAAC,OAAO,EAAE;YAChB;iBAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AAC9F,gBAAA,IAAI,CAAC,MAAM,GAAG,SAAS;gBACvB,IAAI,CAAC,OAAO,EAAE;YAChB;AACF,QAAA,CAAC;AACD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;AAC7E,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;YACnB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAC7C,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACvB,gBAAA,IAAI,CAAC,CAAC;oBAAE;AACR,gBAAA,IAAI,CAAC,MAAM,GAAG,SAAS;AACvB,gBAAA,IAAI,EAAE;AACR,YAAA,CAAC,CAAC;QACJ;aAAO;AACL,YAAA,IAAI,EAAE;QACR;IACF;AAEA,IAAA,QAAQ,CAAC,MAAsB,EAAA;QAC7B,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC3C,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;AACjG,YAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE;QAC1C;IACF;IAEA,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK;IACrD;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CACvB,YAAY,EACZ,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC/C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAsB,CAAC;AACxD,YAAA,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAe;AAClD,SAAA,CAAC,CACH;IACH;iIA5GW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,sOCxCjC,42EA8DA,EAAA,MAAA,EAAA,CAAA,qaAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDrCI,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,WAAW,mtBACX,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,kBAAkB,uDAClB,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,eAAe,oDACf,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAOP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAlBhC,SAAS;+BACE,CAAA,EAAG,iBAAiB,EAAE,EAAA,OAAA,EACvB;wBACP,gBAAgB;wBAChB,WAAW;wBACX,mBAAmB;wBACnB,eAAe;wBACf,kBAAkB;wBAClB,gBAAgB;wBAChB,iBAAiB;wBACjB,eAAe;wBACf;AACD,qBAAA,EAAA,aAAA,EAGc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,42EAAA,EAAA,MAAA,EAAA,CAAA,qaAAA,CAAA,EAAA;;sBAQ9C,WAAW;uBAAC,eAAe;;sBAG3B,WAAW;uBAAC,eAAe;;sBAI3B,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;;;ME7C7B,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,OAAO,GAAsB;AAC3B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,SAAS,EAAE,QAAQ;AACnB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,MAAM,EAAE,OAAO;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,cAAc,EAAE;SACjB;AAEO,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;AAC/B,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC;AAmEpC,IAAA;AAjEC,IAAA,KAAK,CAAC,MAAqC,EAAA;QACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChG;AAEA,IAAA,OAAO,CAAC,MAAqC,EAAA;QAC3C,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9F;AAEA,IAAA,MAAM,CAAC,MAAqC,EAAA;QAC1C,MAAM,GAAG,GAAG,MAA2B;AACvC,QAAA,IAAI,GAAG,GAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;QACnF,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY,EAAE;AACtC,YAAA,GAAG,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QACjE;QACA,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3C;AAEA,IAAA,MAAM,CAAC,MAAyB,EAAA;QAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAgB,CAAC,GAAI,MAAM,CAAC,MAAmB;AACjG,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AACxB,YAAA,OAAO,EAAE,oBAAoB;AAC7B,YAAA,aAAa,EAAE;AACb,gBAAA,UAAU,EAAE,iBAAiB;AAC7B,gBAAA,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;AACrB,gBAAA,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM;AACnE;AACF,SAAA,CAAC;IACJ;IAEQ,gBAAgB,CAAC,MAAqC,EAAE,GAAsB,EAAA;AACpF,QAAA,IAAI,GAAsB;AAC1B,QAAA,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AACxB,YAAA,GAAG,GAAG,EAAE,KAAK,EAAE,MAAmB,EAAE;QACtC;aAAO;YACL,GAAG,GAAG,MAA2B;QACnC;QACA,IAAI,CAAC,QAAQ,EAAE;AACf,QAAA,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;AAC1D,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC;IAC5C;AAEQ,IAAA,yBAAyB,CAAC,MAAyB,EAAA;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/B,QAAA,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,GAAG;AACxC,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAkD;AACvE,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,GAAG,EAAE,GAAG;AACR,YAAA,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,MAAK;gBACV,QAAQ,CAAC,KAAK,EAAE;YAClB;SACD;AACD,QAAA,QAAQ,CAAC,UAAU,GAAG,MAAM;AAC5B,QAAA,IAAI,MAAM,CAAC,aAAa,IAAI,UAAU,EAAE;AACtC,YAAA,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChE;AACA,QAAA,OAAO,MAAM;IACf;IAEQ,QAAQ,GAAA;QACd,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU;AACzD,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,gBAAgB,EAAE;IACzD;iIArFW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA,CAAA;;2FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCDrB,iBAAiB,CAAA;iIAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kIAAjB,iBAAiB,EAAA,CAAA,CAAA;kIAAjB,iBAAiB,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE;AACV,iBAAA;;;ACLD;;AAEG;;;;"}
|