uni-component-tw 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/uni-article/uni-article.component.mjs +40 -0
  3. package/esm2022/lib/uni-header/uni-header.component.mjs +24 -0
  4. package/esm2022/lib/uni-login-modal/uni-login-modal.component.mjs +53 -0
  5. package/esm2022/lib/uni-pie-chart/uni-pie-chart.component.mjs +61 -0
  6. package/esm2022/lib/uni-side-menu/uni-side-menu.component.mjs +79 -0
  7. package/esm2022/public-api.mjs +9 -0
  8. package/esm2022/uni-component-tw.mjs +2 -2
  9. package/fesm2022/uni-component-tw.mjs +237 -3
  10. package/fesm2022/uni-component-tw.mjs.map +1 -1
  11. package/index.d.ts +5 -1
  12. package/{uni-login-modal/src → lib/uni-login-modal}/uni-login-modal.component.d.ts +4 -4
  13. package/{uni-pie-chart/src → lib/uni-pie-chart}/uni-pie-chart.component.d.ts +3 -3
  14. package/{uni-side-menu/src → lib/uni-side-menu}/uni-side-menu.component.d.ts +6 -6
  15. package/package.json +2 -40
  16. package/public-api.d.ts +5 -0
  17. package/esm2022/index.mjs +0 -5
  18. package/esm2022/uni-article/index.mjs +0 -2
  19. package/esm2022/uni-article/src/uni-article.component.mjs +0 -108
  20. package/esm2022/uni-article/uni-component-tw-uni-article.mjs +0 -5
  21. package/esm2022/uni-header/index.mjs +0 -2
  22. package/esm2022/uni-header/src/uni-header.component.mjs +0 -66
  23. package/esm2022/uni-header/uni-component-tw-uni-header.mjs +0 -5
  24. package/esm2022/uni-login-modal/index.mjs +0 -2
  25. package/esm2022/uni-login-modal/src/uni-login-modal.component.mjs +0 -146
  26. package/esm2022/uni-login-modal/uni-component-tw-uni-login-modal.mjs +0 -5
  27. package/esm2022/uni-pie-chart/index.mjs +0 -2
  28. package/esm2022/uni-pie-chart/src/uni-pie-chart.component.mjs +0 -159
  29. package/esm2022/uni-pie-chart/uni-component-tw-uni-pie-chart.mjs +0 -5
  30. package/esm2022/uni-side-menu/index.mjs +0 -2
  31. package/esm2022/uni-side-menu/src/uni-side-menu.component.mjs +0 -317
  32. package/esm2022/uni-side-menu/uni-component-tw-uni-side-menu.mjs +0 -5
  33. package/esm2022/uni-wrapper-chart/index.mjs +0 -2
  34. package/esm2022/uni-wrapper-chart/src/uni-wrapper-chart.component.mjs +0 -36
  35. package/esm2022/uni-wrapper-chart/uni-component-tw-uni-wrapper-chart.mjs +0 -5
  36. package/fesm2022/uni-component-tw-uni-article.mjs +0 -115
  37. package/fesm2022/uni-component-tw-uni-article.mjs.map +0 -1
  38. package/fesm2022/uni-component-tw-uni-header.mjs +0 -73
  39. package/fesm2022/uni-component-tw-uni-header.mjs.map +0 -1
  40. package/fesm2022/uni-component-tw-uni-login-modal.mjs +0 -152
  41. package/fesm2022/uni-component-tw-uni-login-modal.mjs.map +0 -1
  42. package/fesm2022/uni-component-tw-uni-pie-chart.mjs +0 -166
  43. package/fesm2022/uni-component-tw-uni-pie-chart.mjs.map +0 -1
  44. package/fesm2022/uni-component-tw-uni-side-menu.mjs +0 -324
  45. package/fesm2022/uni-component-tw-uni-side-menu.mjs.map +0 -1
  46. package/fesm2022/uni-component-tw-uni-wrapper-chart.mjs +0 -43
  47. package/fesm2022/uni-component-tw-uni-wrapper-chart.mjs.map +0 -1
  48. package/uni-article/index.d.ts +0 -1
  49. package/uni-header/index.d.ts +0 -1
  50. package/uni-login-modal/index.d.ts +0 -1
  51. package/uni-pie-chart/index.d.ts +0 -1
  52. package/uni-side-menu/index.d.ts +0 -1
  53. package/uni-wrapper-chart/index.d.ts +0 -1
  54. package/uni-wrapper-chart/src/uni-wrapper-chart.component.d.ts +0 -13
  55. /package/{uni-article/src → lib/uni-article}/uni-article.component.d.ts +0 -0
  56. /package/{uni-header/src → lib/uni-header}/uni-header.component.d.ts +0 -0
@@ -1,159 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
3
- import { DxPieChartModule } from 'devextreme-angular/ui/pie-chart';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "devextreme-angular/ui/pie-chart";
6
- import * as i2 from "devextreme-angular/core";
7
- export class UniPieChartComponent {
8
- /* ----------------------- Constructor & lifecycle --------------------------- */
9
- constructor() {
10
- /* Input & output */
11
- this.chartDataSource = input.required();
12
- this.chartPercentage = input(undefined);
13
- this.chartType = input('pie');
14
- this.chartDiameter = input(1);
15
- this.chartInnerRadius = input(0.7);
16
- this.tooltipIsEnabled = input(true);
17
- this.legendPosition = input('none');
18
- this.legendWithValue = input(false);
19
- this.legendGap = input('12px');
20
- this.uom = input('');
21
- /* Variables */
22
- this.paletteColor = computed(() => this.chartDataSource().map((data) => data.color));
23
- this.gridColumn = computed(() => {
24
- switch (this.legendPosition()) {
25
- case 'right':
26
- return '1fr min-content';
27
- case 'left':
28
- return 'min-content 1fr';
29
- default:
30
- return '1fr';
31
- }
32
- });
33
- this.gridRow = computed(() => {
34
- switch (this.legendPosition()) {
35
- case 'top':
36
- return 'min-content 1fr';
37
- case 'bottom':
38
- return '1fr min-content';
39
- default:
40
- return '1fr';
41
- }
42
- });
43
- this.customizeTooltip = this.customizeTooltip.bind(this);
44
- }
45
- /* -----------------------Methods--------------------------- */
46
- /* Funzione usata per personalizzare i tooltips del grafico */
47
- customizeTooltip(pointInfo) {
48
- const { argumentText, valueText } = pointInfo;
49
- return {
50
- text: `${argumentText}<br/>${valueText} ${this.uom()}`,
51
- color: 'rgba(149, 157, 165, 0.5)',
52
- };
53
- }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniPieChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniPieChartComponent, isStandalone: true, selector: "uni-pie-chart", inputs: { chartDataSource: { classPropertyName: "chartDataSource", publicName: "chartDataSource", isSignal: true, isRequired: true, transformFunction: null }, chartPercentage: { classPropertyName: "chartPercentage", publicName: "chartPercentage", isSignal: true, isRequired: false, transformFunction: null }, chartType: { classPropertyName: "chartType", publicName: "chartType", isSignal: true, isRequired: false, transformFunction: null }, chartDiameter: { classPropertyName: "chartDiameter", publicName: "chartDiameter", isSignal: true, isRequired: false, transformFunction: null }, chartInnerRadius: { classPropertyName: "chartInnerRadius", publicName: "chartInnerRadius", isSignal: true, isRequired: false, transformFunction: null }, tooltipIsEnabled: { classPropertyName: "tooltipIsEnabled", publicName: "tooltipIsEnabled", isSignal: true, isRequired: false, transformFunction: null }, legendPosition: { classPropertyName: "legendPosition", publicName: "legendPosition", isSignal: true, isRequired: false, transformFunction: null }, legendWithValue: { classPropertyName: "legendWithValue", publicName: "legendWithValue", isSignal: true, isRequired: false, transformFunction: null }, legendGap: { classPropertyName: "legendGap", publicName: "legendGap", isSignal: true, isRequired: false, transformFunction: null }, uom: { classPropertyName: "uom", publicName: "uom", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
56
- <div
57
- class="container-pie-chart"
58
- [style.display]="legendPosition() === 'none' ? 'block' : 'grid'"
59
- [style.gridTemplateRows]="gridRow()"
60
- [style.gridTemplateColumns]="gridColumn()">
61
- <dx-pie-chart
62
- [style.order]="legendPosition() === 'top' || legendPosition() === 'left' ? 1 : 0"
63
- style="height: 100%; width: 100%; overflow: hidden"
64
- [type]="chartType()"
65
- [dataSource]="chartDataSource()"
66
- resolveLabelOverlapping="shift"
67
- [palette]="paletteColor()"
68
- [diameter]="chartDiameter()"
69
- [innerRadius]="chartInnerRadius()"
70
- [redrawOnResize]="true"
71
- [centerTemplate]="chartPercentage() !== undefined ? 'centerTemplate' : undefined"
72
- [series]="{
73
- argumentField: 'name',
74
- format: 'fixedPoint',
75
- valueField: 'value',
76
- hoverStyle: 'none',
77
- label: { visible: false }
78
- }"
79
- [legend]="{ visible: false }"
80
- [tooltip]="{ enabled: tooltipIsEnabled(), customizeTooltip: customizeTooltip }">
81
- <svg *dxTemplate="let pieChart of 'centerTemplate'">
82
- <text text-anchor="middle" style="font-size: 28px" x="100" y="120" fill="#fff">
83
- {{ chartPercentage() }}%
84
- </text>
85
- </svg>
86
- </dx-pie-chart>
87
-
88
- @if (legendPosition() !== 'none') {
89
- <ul
90
- class="container-legend"
91
- [style.flexDirection]="
92
- legendPosition() === 'top' || legendPosition() === 'bottom' ? 'row' : 'column'
93
- "
94
- [style.gap]="legendGap()">
95
- @for (item of chartDataSource(); track $index) {
96
- <li>
97
- <span class="square" [style.backgroundColor]="item.color"></span>
98
- {{ legendWithValue() ? item.name + ' ' + item.value + ' ' + uom() : item.name }}
99
- </li>
100
- }
101
- </ul>
102
- }
103
- </div>
104
- `, isInline: true, styles: [".container-pie-chart{height:100%;width:100%;gap:16px}.container-legend{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap}.container-legend li{display:grid;grid-template-rows:1fr;grid-template-columns:min-content 1fr;align-items:center;gap:6px;text-wrap:nowrap}.square{display:block;height:12px;width:12px;border-radius:2.5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DxPieChartModule }, { kind: "component", type: i1.DxPieChartComponent, selector: "dx-pie-chart", inputs: ["adaptiveLayout", "animation", "annotations", "centerTemplate", "commonAnnotationSettings", "commonSeriesSettings", "customizeAnnotation", "customizeLabel", "customizePoint", "dataSource", "diameter", "disabled", "elementAttr", "export", "innerRadius", "legend", "loadingIndicator", "margin", "minDiameter", "palette", "paletteExtensionMode", "pathModified", "pointSelectionMode", "redrawOnResize", "resolveLabelOverlapping", "rtlEnabled", "segmentsDirection", "series", "seriesTemplate", "size", "sizeGroup", "startAngle", "theme", "title", "tooltip", "type"], outputs: ["onDisposing", "onDone", "onDrawn", "onExported", "onExporting", "onFileSaving", "onIncidentOccurred", "onInitialized", "onLegendClick", "onOptionChanged", "onPointClick", "onPointHoverChanged", "onPointSelectionChanged", "onTooltipHidden", "onTooltipShown", "adaptiveLayoutChange", "animationChange", "annotationsChange", "centerTemplateChange", "commonAnnotationSettingsChange", "commonSeriesSettingsChange", "customizeAnnotationChange", "customizeLabelChange", "customizePointChange", "dataSourceChange", "diameterChange", "disabledChange", "elementAttrChange", "exportChange", "innerRadiusChange", "legendChange", "loadingIndicatorChange", "marginChange", "minDiameterChange", "paletteChange", "paletteExtensionModeChange", "pathModifiedChange", "pointSelectionModeChange", "redrawOnResizeChange", "resolveLabelOverlappingChange", "rtlEnabledChange", "segmentsDirectionChange", "seriesChange", "seriesTemplateChange", "sizeChange", "sizeGroupChange", "startAngleChange", "themeChange", "titleChange", "tooltipChange", "typeChange"] }, { kind: "directive", type: i2.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniPieChartComponent, decorators: [{
107
- type: Component,
108
- args: [{ selector: 'uni-pie-chart', standalone: true, imports: [CommonModule, DxPieChartModule], template: `
109
- <div
110
- class="container-pie-chart"
111
- [style.display]="legendPosition() === 'none' ? 'block' : 'grid'"
112
- [style.gridTemplateRows]="gridRow()"
113
- [style.gridTemplateColumns]="gridColumn()">
114
- <dx-pie-chart
115
- [style.order]="legendPosition() === 'top' || legendPosition() === 'left' ? 1 : 0"
116
- style="height: 100%; width: 100%; overflow: hidden"
117
- [type]="chartType()"
118
- [dataSource]="chartDataSource()"
119
- resolveLabelOverlapping="shift"
120
- [palette]="paletteColor()"
121
- [diameter]="chartDiameter()"
122
- [innerRadius]="chartInnerRadius()"
123
- [redrawOnResize]="true"
124
- [centerTemplate]="chartPercentage() !== undefined ? 'centerTemplate' : undefined"
125
- [series]="{
126
- argumentField: 'name',
127
- format: 'fixedPoint',
128
- valueField: 'value',
129
- hoverStyle: 'none',
130
- label: { visible: false }
131
- }"
132
- [legend]="{ visible: false }"
133
- [tooltip]="{ enabled: tooltipIsEnabled(), customizeTooltip: customizeTooltip }">
134
- <svg *dxTemplate="let pieChart of 'centerTemplate'">
135
- <text text-anchor="middle" style="font-size: 28px" x="100" y="120" fill="#fff">
136
- {{ chartPercentage() }}%
137
- </text>
138
- </svg>
139
- </dx-pie-chart>
140
-
141
- @if (legendPosition() !== 'none') {
142
- <ul
143
- class="container-legend"
144
- [style.flexDirection]="
145
- legendPosition() === 'top' || legendPosition() === 'bottom' ? 'row' : 'column'
146
- "
147
- [style.gap]="legendGap()">
148
- @for (item of chartDataSource(); track $index) {
149
- <li>
150
- <span class="square" [style.backgroundColor]="item.color"></span>
151
- {{ legendWithValue() ? item.name + ' ' + item.value + ' ' + uom() : item.name }}
152
- </li>
153
- }
154
- </ul>
155
- }
156
- </div>
157
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".container-pie-chart{height:100%;width:100%;gap:16px}.container-legend{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap}.container-legend li{display:grid;grid-template-rows:1fr;grid-template-columns:min-content 1fr;align-items:center;gap:6px;text-wrap:nowrap}.square{display:block;height:12px;width:12px;border-radius:2.5px}\n"] }]
158
- }], ctorParameters: () => [] });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLXBpZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1waWUtY2hhcnQvc3JjL3VuaS1waWUtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFrRW5FLE1BQU0sT0FBTyxvQkFBb0I7SUFvQy9CLGlGQUFpRjtJQUNqRjtRQXBDQSxvQkFBb0I7UUFDcEIsb0JBQWUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO1FBQ3RELG9CQUFlLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUN2RCxjQUFTLEdBQUcsS0FBSyxDQUFlLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLGtCQUFhLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLEtBQUssQ0FBUyxHQUFHLENBQUMsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDeEMsbUJBQWMsR0FBRyxLQUFLLENBQStDLE1BQU0sQ0FBQyxDQUFDO1FBQzdFLG9CQUFlLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxLQUFLLENBQVMsTUFBTSxDQUFDLENBQUM7UUFDbEMsUUFBRyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUV4QixlQUFlO1FBQ2YsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEYsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekIsUUFBUSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQztnQkFDOUIsS0FBSyxPQUFPO29CQUNWLE9BQU8saUJBQWlCLENBQUM7Z0JBQzNCLEtBQUssTUFBTTtvQkFDVCxPQUFPLGlCQUFpQixDQUFDO2dCQUMzQjtvQkFDRSxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN0QixRQUFRLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO2dCQUM5QixLQUFLLEtBQUs7b0JBQ1IsT0FBTyxpQkFBaUIsQ0FBQztnQkFDM0IsS0FBSyxRQUFRO29CQUNYLE9BQU8saUJBQWlCLENBQUM7Z0JBQzNCO29CQUNFLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUlELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCwrREFBK0Q7SUFDL0QsOERBQThEO0lBQ3ZELGdCQUFnQixDQUFDLFNBQXNEO1FBQzVFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxDQUFDO1FBQzlDLE9BQU87WUFDTCxJQUFJLEVBQUUsR0FBRyxZQUFZLFFBQVEsU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN0RCxLQUFLLEVBQUUsMEJBQTBCO1NBQ2xDLENBQUM7SUFDSixDQUFDOzhHQWpEVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixxK0NBckRyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlEVCx3YUFsRFMsWUFBWSw4QkFBRSxnQkFBZ0I7OzJGQXNEN0Isb0JBQW9CO2tCQXpEaEMsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLFlBQy9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaURULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IER4UGllQ2hhcnRNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvcGllLWNoYXJ0JztcclxuaW1wb3J0IHsgUGllQ2hhcnRUeXBlIH0gZnJvbSAnZGV2ZXh0cmVtZS92aXovcGllX2NoYXJ0X3R5cGVzJztcclxuXHJcbmV4cG9ydCB0eXBlIENoYXJ0RGF0YVNvdXJjZSA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBjb2xvcjogc3RyaW5nO1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1bmktcGllLWNoYXJ0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIER4UGllQ2hhcnRNb2R1bGVdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29udGFpbmVyLXBpZS1jaGFydFwiXHJcbiAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImxlZ2VuZFBvc2l0aW9uKCkgPT09ICdub25lJyA/ICdibG9jaycgOiAnZ3JpZCdcIlxyXG4gICAgICBbc3R5bGUuZ3JpZFRlbXBsYXRlUm93c109XCJncmlkUm93KClcIlxyXG4gICAgICBbc3R5bGUuZ3JpZFRlbXBsYXRlQ29sdW1uc109XCJncmlkQ29sdW1uKClcIj5cclxuICAgICAgPGR4LXBpZS1jaGFydFxyXG4gICAgICAgIFtzdHlsZS5vcmRlcl09XCJsZWdlbmRQb3NpdGlvbigpID09PSAndG9wJyB8fCBsZWdlbmRQb3NpdGlvbigpID09PSAnbGVmdCcgPyAxIDogMFwiXHJcbiAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuXCJcclxuICAgICAgICBbdHlwZV09XCJjaGFydFR5cGUoKVwiXHJcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiY2hhcnREYXRhU291cmNlKClcIlxyXG4gICAgICAgIHJlc29sdmVMYWJlbE92ZXJsYXBwaW5nPVwic2hpZnRcIlxyXG4gICAgICAgIFtwYWxldHRlXT1cInBhbGV0dGVDb2xvcigpXCJcclxuICAgICAgICBbZGlhbWV0ZXJdPVwiY2hhcnREaWFtZXRlcigpXCJcclxuICAgICAgICBbaW5uZXJSYWRpdXNdPVwiY2hhcnRJbm5lclJhZGl1cygpXCJcclxuICAgICAgICBbcmVkcmF3T25SZXNpemVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NlbnRlclRlbXBsYXRlXT1cImNoYXJ0UGVyY2VudGFnZSgpICE9PSB1bmRlZmluZWQgPyAnY2VudGVyVGVtcGxhdGUnIDogdW5kZWZpbmVkXCJcclxuICAgICAgICBbc2VyaWVzXT1cIntcclxuICAgICAgICAgIGFyZ3VtZW50RmllbGQ6ICduYW1lJyxcclxuICAgICAgICAgIGZvcm1hdDogJ2ZpeGVkUG9pbnQnLFxyXG4gICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcclxuICAgICAgICAgIGhvdmVyU3R5bGU6ICdub25lJyxcclxuICAgICAgICAgIGxhYmVsOiB7IHZpc2libGU6IGZhbHNlIH1cclxuICAgICAgICB9XCJcclxuICAgICAgICBbbGVnZW5kXT1cInsgdmlzaWJsZTogZmFsc2UgfVwiXHJcbiAgICAgICAgW3Rvb2x0aXBdPVwieyBlbmFibGVkOiB0b29sdGlwSXNFbmFibGVkKCksIGN1c3RvbWl6ZVRvb2x0aXA6IGN1c3RvbWl6ZVRvb2x0aXAgfVwiPlxyXG4gICAgICAgIDxzdmcgKmR4VGVtcGxhdGU9XCJsZXQgcGllQ2hhcnQgb2YgJ2NlbnRlclRlbXBsYXRlJ1wiPlxyXG4gICAgICAgICAgPHRleHQgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBzdHlsZT1cImZvbnQtc2l6ZTogMjhweFwiIHg9XCIxMDBcIiB5PVwiMTIwXCIgZmlsbD1cIiNmZmZcIj5cclxuICAgICAgICAgICAge3sgY2hhcnRQZXJjZW50YWdlKCkgfX0lXHJcbiAgICAgICAgICA8L3RleHQ+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvZHgtcGllLWNoYXJ0PlxyXG5cclxuICAgICAgQGlmIChsZWdlbmRQb3NpdGlvbigpICE9PSAnbm9uZScpIHtcclxuICAgICAgICA8dWxcclxuICAgICAgICAgIGNsYXNzPVwiY29udGFpbmVyLWxlZ2VuZFwiXHJcbiAgICAgICAgICBbc3R5bGUuZmxleERpcmVjdGlvbl09XCJcclxuICAgICAgICAgICAgbGVnZW5kUG9zaXRpb24oKSA9PT0gJ3RvcCcgfHwgbGVnZW5kUG9zaXRpb24oKSA9PT0gJ2JvdHRvbScgPyAncm93JyA6ICdjb2x1bW4nXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgW3N0eWxlLmdhcF09XCJsZWdlbmRHYXAoKVwiPlxyXG4gICAgICAgICAgQGZvciAoaXRlbSBvZiBjaGFydERhdGFTb3VyY2UoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNxdWFyZVwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5jb2xvclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICB7eyBsZWdlbmRXaXRoVmFsdWUoKSA/IGl0ZW0ubmFtZSArICcgJyArIGl0ZW0udmFsdWUgKyAnICcgKyB1b20oKSA6IGl0ZW0ubmFtZSB9fVxyXG4gICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvdWw+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVVcmw6ICcuL3VuaS1waWUtY2hhcnQuY29tcG9uZW50LnNjc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5pUGllQ2hhcnRDb21wb25lbnQge1xyXG4gIC8qIElucHV0ICYgb3V0cHV0ICovXHJcbiAgY2hhcnREYXRhU291cmNlID0gaW5wdXQucmVxdWlyZWQ8Q2hhcnREYXRhU291cmNlW10+KCk7XHJcbiAgY2hhcnRQZXJjZW50YWdlID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG4gIGNoYXJ0VHlwZSA9IGlucHV0PFBpZUNoYXJ0VHlwZT4oJ3BpZScpO1xyXG4gIGNoYXJ0RGlhbWV0ZXIgPSBpbnB1dDxudW1iZXI+KDEpO1xyXG4gIGNoYXJ0SW5uZXJSYWRpdXMgPSBpbnB1dDxudW1iZXI+KDAuNyk7XHJcbiAgdG9vbHRpcElzRW5hYmxlZCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG4gIGxlZ2VuZFBvc2l0aW9uID0gaW5wdXQ8J3JpZ2h0JyB8ICdsZWZ0JyB8ICd0b3AnIHwgJ2JvdHRvbScgfCAnbm9uZSc+KCdub25lJyk7XHJcbiAgbGVnZW5kV2l0aFZhbHVlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGxlZ2VuZEdhcCA9IGlucHV0PHN0cmluZz4oJzEycHgnKTtcclxuICB1b20gPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgLyogVmFyaWFibGVzICovXHJcbiAgcGFsZXR0ZUNvbG9yID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jaGFydERhdGFTb3VyY2UoKS5tYXAoKGRhdGEpID0+IGRhdGEuY29sb3IpKTtcclxuICBncmlkQ29sdW1uID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgc3dpdGNoICh0aGlzLmxlZ2VuZFBvc2l0aW9uKCkpIHtcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHJldHVybiAnMWZyIG1pbi1jb250ZW50JztcclxuICAgICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgICAgcmV0dXJuICdtaW4tY29udGVudCAxZnInO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnMWZyJztcclxuICAgIH1cclxuICB9KTtcclxuICBncmlkUm93ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgc3dpdGNoICh0aGlzLmxlZ2VuZFBvc2l0aW9uKCkpIHtcclxuICAgICAgY2FzZSAndG9wJzpcclxuICAgICAgICByZXR1cm4gJ21pbi1jb250ZW50IDFmcic7XHJcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XHJcbiAgICAgICAgcmV0dXJuICcxZnIgbWluLWNvbnRlbnQnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnMWZyJztcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3IgJiBsaWZlY3ljbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmN1c3RvbWl6ZVRvb2x0aXAgPSB0aGlzLmN1c3RvbWl6ZVRvb2x0aXAuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tTWV0aG9kcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4gIC8qIEZ1bnppb25lIHVzYXRhIHBlciBwZXJzb25hbGl6emFyZSBpIHRvb2x0aXBzIGRlbCBncmFmaWNvICovXHJcbiAgcHVibGljIGN1c3RvbWl6ZVRvb2x0aXAocG9pbnRJbmZvOiB7IGFyZ3VtZW50VGV4dDogc3RyaW5nOyB2YWx1ZVRleHQ6IHN0cmluZyB9KSB7XHJcbiAgICBjb25zdCB7IGFyZ3VtZW50VGV4dCwgdmFsdWVUZXh0IH0gPSBwb2ludEluZm87XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0ZXh0OiBgJHthcmd1bWVudFRleHR9PGJyLz4ke3ZhbHVlVGV4dH0gJHt0aGlzLnVvbSgpfWAsXHJcbiAgICAgIGNvbG9yOiAncmdiYSgxNDksIDE1NywgMTY1LCAwLjUpJyxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktcGllLWNoYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktcGllLWNoYXJ0L3VuaS1jb21wb25lbnQtdHctdW5pLXBpZS1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './src/uni-side-menu.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1zaWRlLW1lbnUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3VuaS1zaWRlLW1lbnUuY29tcG9uZW50JztcclxuIl19
@@ -1,317 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { CommonModule, NgOptimizedImage } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, inject, input, output, signal } from '@angular/core';
4
- import { Router, RouterLink, RouterLinkActive } from '@angular/router';
5
- import { DxButtonModule } from 'devextreme-angular/ui/button';
6
- import { DxSwitchModule } from 'devextreme-angular/ui/switch';
7
- import { DxSelectBoxModule } from 'devextreme-angular/ui/select-box';
8
- import { FaIconComponent } from '@fortawesome/angular-fontawesome';
9
- import { faArrowRightFromBracket, faArrowRightToBracket, faLanguage, faMoon, faSun, faUser, } from '@fortawesome/free-solid-svg-icons';
10
- import { UNITranslatePipe, UNITranslateService } from 'uni-service/translate';
11
- import { UNIAuthService } from 'uni-service/auth';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- import * as i2 from "devextreme-angular/ui/button";
15
- import * as i3 from "devextreme-angular/ui/switch";
16
- import * as i4 from "devextreme-angular/ui/select-box";
17
- export class UniSideMenuComponent {
18
- constructor() {
19
- /* Service */
20
- this.router = inject(Router);
21
- this.authService = inject(UNIAuthService);
22
- this.translateService = inject(UNITranslateService);
23
- /* Input */
24
- this.pathBrandLogo = input.required();
25
- this.menuItems = input([]);
26
- this.menuInteractions = input([]);
27
- this.user = input.required();
28
- /* Output */
29
- this.evtToggleMenu = output();
30
- /* Variables */
31
- this.darkMode = signal(localStorage.getItem('uni-theme') === 'dark');
32
- /* Icons */
33
- this.ICON = {
34
- USER: faUser,
35
- LOGIN: faArrowRightToBracket,
36
- LOGOUT: faArrowRightFromBracket,
37
- LIGHT_MODE: faSun,
38
- DARK_MODE: faMoon,
39
- LANGUAGE: faLanguage,
40
- };
41
- }
42
- /* ---------------------- Methods ---------------------- */
43
- updateTheme(e) {
44
- localStorage.setItem('uni-theme', e.value ? 'dark' : 'light');
45
- window.location.reload();
46
- }
47
- updateLanguage(e) {
48
- this.translateService.setLanguage(e.value);
49
- window.location.reload();
50
- }
51
- goToLogin() {
52
- this.evtToggleMenu.emit(false);
53
- this.router.navigate(['login']);
54
- }
55
- logout() {
56
- this.authService.logout$().subscribe(() => {
57
- const firstItem = this.menuItems().find((item) => item.visible && !item.disabled);
58
- this.evtToggleMenu.emit(false);
59
- this.router.navigate([firstItem?.path ?? 'login']);
60
- });
61
- }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniSideMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniSideMenuComponent, isStandalone: true, selector: "uni-side-menu", inputs: { pathBrandLogo: { classPropertyName: "pathBrandLogo", publicName: "pathBrandLogo", isSignal: true, isRequired: true, transformFunction: null }, menuItems: { classPropertyName: "menuItems", publicName: "menuItems", isSignal: true, isRequired: false, transformFunction: null }, menuInteractions: { classPropertyName: "menuInteractions", publicName: "menuInteractions", isSignal: true, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { evtToggleMenu: "evtToggleMenu" }, ngImport: i0, template: `
64
- <aside
65
- class="flex h-screen w-[250px] flex-col gap-4 overflow-hidden rounded bg-zinc-800/60 p-4 shadow backdrop-blur-xl">
66
- <!-- user -->
67
- <div class="flex w-full items-center gap-4">
68
- <div class="flex flex-1 gap-2">
69
- @if (user(); as user) {
70
- <fa-icon [icon]="ICON.USER"></fa-icon>
71
- <span class="flex-1 truncate">{{ user.username }}</span>
72
- }
73
- </div>
74
- <dx-button [icon]="'close'" (onClick)="evtToggleMenu.emit(false)"></dx-button>
75
- </div>
76
-
77
- <!-- menu -->
78
- @if (menuItems().length) {
79
- <nav class="mt-8">
80
- <ul class="flex flex-col gap-2">
81
- @for (item of menuItems(); track item.id) {
82
- @if (item.visible) {
83
- <li>
84
- <a
85
- class="flex gap-2 rounded p-2 !text-white transition duration-100 ease-in"
86
- [ngClass]="{
87
- 'hover:bg-zinc-600/60': !item.disabled,
88
- 'cursor-auto !opacity-25': item.disabled,
89
- }"
90
- [routerLink]="item.disabled ? null : item.path"
91
- routerLinkActive="bg-zinc-600/60"
92
- (click)="evtToggleMenu.emit(false)">
93
- <fa-icon class="basis-6" [icon]="item.icon"></fa-icon>
94
- <span class="flex-1 truncate">{{ item.label }}</span>
95
- </a>
96
- </li>
97
- }
98
- }
99
- </ul>
100
- </nav>
101
- }
102
-
103
- @if (menuInteractions().length) {
104
- <hr class="my-4 h-px border-0 bg-gray-600" />
105
-
106
- <ul class="flex flex-col gap-2">
107
- @for (item of menuInteractions(); track item.id) {
108
- @if (item.data.type === 'button') {
109
- <li class="item-setting-button">
110
- <button
111
- type="button"
112
- class="dx-theme-material-typography flex h-12 w-full items-center gap-2 rounded p-4"
113
- [class]="item.class"
114
- (click)="item.fun()">
115
- <fa-icon class="basis-6" [icon]="item.data.icon"></fa-icon>
116
- <span class="flex-1 truncate">{{ item.label }}</span>
117
- </button>
118
- </li>
119
- } @else if (item.data.type === 'select') {
120
- <li class="flex h-12 items-center gap-4 rounded bg-zinc-600/60 p-3 shadow">
121
- <span class="truncate">{{ item.label }}</span>
122
- <dx-select-box
123
- class="flex-1 basis-24"
124
- valueExpr="id"
125
- displayExpr="description"
126
- [items]="item.data.combos"
127
- [value]="item.data.value"
128
- stylingMode="underlined"
129
- placeholder=""
130
- (onValueChanged)="item.fun($event)"></dx-select-box>
131
- </li>
132
- }
133
- }
134
- </ul>
135
- }
136
-
137
- <!-- setting -->
138
- <hr class="my-4 h-px border-0 bg-gray-600" />
139
-
140
- <ul class="flex flex-col gap-2">
141
- <li class="flex h-12 items-center gap-2 rounded bg-zinc-600/60 p-4 text-white shadow">
142
- <fa-icon class="basis-6" [icon]="darkMode() ? ICON.DARK_MODE : ICON.LIGHT_MODE"></fa-icon>
143
- <span class="flex-1 truncate">{{ 'lblDarkMode' | translate }}</span>
144
- <dx-switch [value]="darkMode()" (onValueChanged)="updateTheme($event)"></dx-switch>
145
- </li>
146
- <li class="flex h-12 items-center gap-2 rounded bg-zinc-600/60 p-4 text-white shadow">
147
- <fa-icon class="basis-6" [icon]="ICON.LANGUAGE"></fa-icon>
148
- <span class="flex-1 truncate">{{ 'lblLanguage' | translate }}</span>
149
- <dx-select-box
150
- class="basis-12"
151
- [items]="translateService.translateInfo().languagesSupported"
152
- [value]="translateService.translateInfo().language"
153
- stylingMode="underlined"
154
- (onValueChanged)="updateLanguage($event)"></dx-select-box>
155
- </li>
156
- <!-- User | null | undefined -->
157
- @if (user() !== undefined) {
158
- <li>
159
- <button
160
- class="flex w-full items-center gap-2 rounded border border-white p-4 text-white shadow transition duration-300 ease-in-out hover:bg-white hover:text-gray-800"
161
- (click)="user() ? logout() : goToLogin()">
162
- <fa-icon [icon]="user() ? ICON.LOGOUT : ICON.LOGIN"></fa-icon>
163
- <span class="flex-1 truncate">{{
164
- (user() ? 'lblLogout' : 'lblLogin') | translate
165
- }}</span>
166
- </button>
167
- </li>
168
- }
169
- </ul>
170
-
171
- <!-- logo -->
172
- <div class="mt-auto flex content-end border-b border-white">
173
- <img
174
- class="ml-auto h-12"
175
- [ngSrc]="pathBrandLogo()"
176
- alt="Brand logo"
177
- [height]="30"
178
- [width]="125"
179
- priority />
180
- </div>
181
- </aside>
182
- `, isInline: true, styles: [":host{position:fixed;top:0;right:0;z-index:999}.item-setting-button button{box-shadow:inset 0 3px 6px #0009,inset 0 -3px 6px #0000004d,0 3px 6px #0006;transition:all .1s ease}.item-setting-button button:active{transform:translateY(1px);box-shadow:inset 0 3px 6px #0009,inset 0 -3px 6px #0000004d}:host ::ng-deep .dx-texteditor.dx-editor-underlined .dx-texteditor-input{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "ngmodule", type: DxButtonModule }, { kind: "component", type: i2.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "ngmodule", type: DxSwitchModule }, { kind: "component", type: i3.DxSwitchComponent, selector: "dx-switch", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "isDirty", "isValid", "name", "readOnly", "rtlEnabled", "switchedOffText", "switchedOnText", "tabIndex", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "isDirtyChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "switchedOffTextChange", "switchedOnTextChange", "tabIndexChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "ngmodule", type: DxSelectBoxModule }, { kind: "component", type: i4.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isDirty", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isDirtyChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "pipe", type: UNITranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
183
- }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniSideMenuComponent, decorators: [{
185
- type: Component,
186
- args: [{ selector: 'uni-side-menu', standalone: true, imports: [
187
- CommonModule,
188
- RouterLink,
189
- RouterLinkActive,
190
- NgOptimizedImage,
191
- DxButtonModule,
192
- DxSwitchModule,
193
- DxSelectBoxModule,
194
- FaIconComponent,
195
- UNITranslatePipe,
196
- ], template: `
197
- <aside
198
- class="flex h-screen w-[250px] flex-col gap-4 overflow-hidden rounded bg-zinc-800/60 p-4 shadow backdrop-blur-xl">
199
- <!-- user -->
200
- <div class="flex w-full items-center gap-4">
201
- <div class="flex flex-1 gap-2">
202
- @if (user(); as user) {
203
- <fa-icon [icon]="ICON.USER"></fa-icon>
204
- <span class="flex-1 truncate">{{ user.username }}</span>
205
- }
206
- </div>
207
- <dx-button [icon]="'close'" (onClick)="evtToggleMenu.emit(false)"></dx-button>
208
- </div>
209
-
210
- <!-- menu -->
211
- @if (menuItems().length) {
212
- <nav class="mt-8">
213
- <ul class="flex flex-col gap-2">
214
- @for (item of menuItems(); track item.id) {
215
- @if (item.visible) {
216
- <li>
217
- <a
218
- class="flex gap-2 rounded p-2 !text-white transition duration-100 ease-in"
219
- [ngClass]="{
220
- 'hover:bg-zinc-600/60': !item.disabled,
221
- 'cursor-auto !opacity-25': item.disabled,
222
- }"
223
- [routerLink]="item.disabled ? null : item.path"
224
- routerLinkActive="bg-zinc-600/60"
225
- (click)="evtToggleMenu.emit(false)">
226
- <fa-icon class="basis-6" [icon]="item.icon"></fa-icon>
227
- <span class="flex-1 truncate">{{ item.label }}</span>
228
- </a>
229
- </li>
230
- }
231
- }
232
- </ul>
233
- </nav>
234
- }
235
-
236
- @if (menuInteractions().length) {
237
- <hr class="my-4 h-px border-0 bg-gray-600" />
238
-
239
- <ul class="flex flex-col gap-2">
240
- @for (item of menuInteractions(); track item.id) {
241
- @if (item.data.type === 'button') {
242
- <li class="item-setting-button">
243
- <button
244
- type="button"
245
- class="dx-theme-material-typography flex h-12 w-full items-center gap-2 rounded p-4"
246
- [class]="item.class"
247
- (click)="item.fun()">
248
- <fa-icon class="basis-6" [icon]="item.data.icon"></fa-icon>
249
- <span class="flex-1 truncate">{{ item.label }}</span>
250
- </button>
251
- </li>
252
- } @else if (item.data.type === 'select') {
253
- <li class="flex h-12 items-center gap-4 rounded bg-zinc-600/60 p-3 shadow">
254
- <span class="truncate">{{ item.label }}</span>
255
- <dx-select-box
256
- class="flex-1 basis-24"
257
- valueExpr="id"
258
- displayExpr="description"
259
- [items]="item.data.combos"
260
- [value]="item.data.value"
261
- stylingMode="underlined"
262
- placeholder=""
263
- (onValueChanged)="item.fun($event)"></dx-select-box>
264
- </li>
265
- }
266
- }
267
- </ul>
268
- }
269
-
270
- <!-- setting -->
271
- <hr class="my-4 h-px border-0 bg-gray-600" />
272
-
273
- <ul class="flex flex-col gap-2">
274
- <li class="flex h-12 items-center gap-2 rounded bg-zinc-600/60 p-4 text-white shadow">
275
- <fa-icon class="basis-6" [icon]="darkMode() ? ICON.DARK_MODE : ICON.LIGHT_MODE"></fa-icon>
276
- <span class="flex-1 truncate">{{ 'lblDarkMode' | translate }}</span>
277
- <dx-switch [value]="darkMode()" (onValueChanged)="updateTheme($event)"></dx-switch>
278
- </li>
279
- <li class="flex h-12 items-center gap-2 rounded bg-zinc-600/60 p-4 text-white shadow">
280
- <fa-icon class="basis-6" [icon]="ICON.LANGUAGE"></fa-icon>
281
- <span class="flex-1 truncate">{{ 'lblLanguage' | translate }}</span>
282
- <dx-select-box
283
- class="basis-12"
284
- [items]="translateService.translateInfo().languagesSupported"
285
- [value]="translateService.translateInfo().language"
286
- stylingMode="underlined"
287
- (onValueChanged)="updateLanguage($event)"></dx-select-box>
288
- </li>
289
- <!-- User | null | undefined -->
290
- @if (user() !== undefined) {
291
- <li>
292
- <button
293
- class="flex w-full items-center gap-2 rounded border border-white p-4 text-white shadow transition duration-300 ease-in-out hover:bg-white hover:text-gray-800"
294
- (click)="user() ? logout() : goToLogin()">
295
- <fa-icon [icon]="user() ? ICON.LOGOUT : ICON.LOGIN"></fa-icon>
296
- <span class="flex-1 truncate">{{
297
- (user() ? 'lblLogout' : 'lblLogin') | translate
298
- }}</span>
299
- </button>
300
- </li>
301
- }
302
- </ul>
303
-
304
- <!-- logo -->
305
- <div class="mt-auto flex content-end border-b border-white">
306
- <img
307
- class="ml-auto h-12"
308
- [ngSrc]="pathBrandLogo()"
309
- alt="Brand logo"
310
- [height]="30"
311
- [width]="125"
312
- priority />
313
- </div>
314
- </aside>
315
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:fixed;top:0;right:0;z-index:999}.item-setting-button button{box-shadow:inset 0 3px 6px #0009,inset 0 -3px 6px #0000004d,0 3px 6px #0006;transition:all .1s ease}.item-setting-button button:active{transform:translateY(1px);box-shadow:inset 0 3px 6px #0009,inset 0 -3px 6px #0000004d}:host ::ng-deep .dx-texteditor.dx-editor-underlined .dx-texteditor-input{padding:0}\n"] }]
316
- }] });
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLXNpZGUtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS1zaWRlLW1lbnUvc3JjL3VuaS1zaWRlLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sa0JBQWtCLENBQUM7Ozs7OztBQXNLeEQsTUFBTSxPQUFPLG9CQUFvQjtJQXpJakM7UUEwSUUsYUFBYTtRQUNKLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFeEQsV0FBVztRQUNYLGtCQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQWEsRUFBRSxDQUFDLENBQUM7UUFDbEMscUJBQWdCLEdBQUcsS0FBSyxDQUFvQixFQUFFLENBQUMsQ0FBQztRQUNoRCxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBMkIsQ0FBQztRQUVqRCxZQUFZO1FBQ1osa0JBQWEsR0FBRyxNQUFNLEVBQVMsQ0FBQztRQUVoQyxlQUFlO1FBQ2YsYUFBUSxHQUFHLE1BQU0sQ0FBVSxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBRXpFLFdBQVc7UUFDRixTQUFJLEdBQUc7WUFDZCxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxxQkFBcUI7WUFDNUIsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixVQUFVLEVBQUUsS0FBSztZQUNqQixTQUFTLEVBQUUsTUFBTTtZQUNqQixRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDO0tBeUJIO0lBdkJDLDJEQUEyRDtJQUNqRCxXQUFXLENBQUMsQ0FBMEI7UUFDOUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFUyxjQUFjLENBQUMsQ0FBNkI7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsU0FBUztRQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVTLE1BQU07UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBbERVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLGtxQkEzSHJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVIVCxzY0FqSUMsWUFBWSw2SEFDWixVQUFVLG9PQUNWLGdCQUFnQiw4TUFDaEIsZ0JBQWdCLCtPQUNoQixjQUFjLHEwQkFDZCxjQUFjLGdsQ0FDZCxpQkFBaUIsaXJGQUNqQixlQUFlLHVNQUNmLGdCQUFnQjs7MkZBNkhQLG9CQUFvQjtrQkF6SWhDLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVIVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJMaW5rLCBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRHhCdXR0b25Nb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgRHhTd2l0Y2hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvc3dpdGNoJztcclxuaW1wb3J0IHsgRHhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvdWkvc2VsZWN0LWJveCc7XHJcbmltcG9ydCB7IFZhbHVlQ2hhbmdlZEV2ZW50IGFzIFN3aXRjaFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS91aS9zd2l0Y2hfdHlwZXMnO1xyXG5pbXBvcnQgeyBWYWx1ZUNoYW5nZWRFdmVudCBhcyBTZWxlY3RCb3hWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ2RldmV4dHJlbWUvdWkvc2VsZWN0X2JveF90eXBlcyc7XHJcbmltcG9ydCB7IEZhSWNvbkNvbXBvbmVudCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHtcclxuICBJY29uRGVmaW5pdGlvbixcclxuICBmYUFycm93UmlnaHRGcm9tQnJhY2tldCxcclxuICBmYUFycm93UmlnaHRUb0JyYWNrZXQsXHJcbiAgZmFMYW5ndWFnZSxcclxuICBmYU1vb24sXHJcbiAgZmFTdW4sXHJcbiAgZmFVc2VyLFxyXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XHJcbmltcG9ydCB7IFVOSVRyYW5zbGF0ZVBpcGUsIFVOSVRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICd1bmktc2VydmljZS90cmFuc2xhdGUnO1xyXG5pbXBvcnQgeyBVTklBdXRoU2VydmljZSwgVXNlciB9IGZyb20gJ3VuaS1zZXJ2aWNlL2F1dGgnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29tYm8gPSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBjb2RlOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1lbnVJdGVtID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgaWNvbjogSWNvbkRlZmluaXRpb247XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgdmlzaWJsZTogYm9vbGVhbjtcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1lbnVJbnRlcmFjdGlvbiA9IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGRhdGE6XHJcbiAgICB8IHsgdHlwZTogJ2J1dHRvbic7IGljb246IEljb25EZWZpbml0aW9uIH1cclxuICAgIHwgeyB0eXBlOiAnc2VsZWN0JzsgY29tYm9zOiBDb21ib1tdOyB2YWx1ZTogbnVtYmVyIHwgbnVsbCB9O1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgY2xhc3M6IHN0cmluZztcclxuICBmdW46ICguLi5hcmdzOiBhbnkpID0+IHZvaWQ7XHJcbiAgdmlzaWJsZTogYm9vbGVhbjtcclxuICBkaXNhYmxlZDogYm9vbGVhbjtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndW5pLXNpZGUtbWVudScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJMaW5rLFxyXG4gICAgUm91dGVyTGlua0FjdGl2ZSxcclxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXHJcbiAgICBEeEJ1dHRvbk1vZHVsZSxcclxuICAgIER4U3dpdGNoTW9kdWxlLFxyXG4gICAgRHhTZWxlY3RCb3hNb2R1bGUsXHJcbiAgICBGYUljb25Db21wb25lbnQsXHJcbiAgICBVTklUcmFuc2xhdGVQaXBlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxhc2lkZVxyXG4gICAgICBjbGFzcz1cImZsZXggaC1zY3JlZW4gdy1bMjUwcHhdIGZsZXgtY29sIGdhcC00IG92ZXJmbG93LWhpZGRlbiByb3VuZGVkIGJnLXppbmMtODAwLzYwIHAtNCBzaGFkb3cgYmFja2Ryb3AtYmx1ci14bFwiPlxyXG4gICAgICA8IS0tIHVzZXIgIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGdhcC00XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGdhcC0yXCI+XHJcbiAgICAgICAgICBAaWYgKHVzZXIoKTsgYXMgdXNlcikge1xyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJJQ09OLlVTRVJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC0xIHRydW5jYXRlXCI+e3sgdXNlci51c2VybmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZHgtYnV0dG9uIFtpY29uXT1cIidjbG9zZSdcIiAob25DbGljayk9XCJldnRUb2dnbGVNZW51LmVtaXQoZmFsc2UpXCI+PC9keC1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLSBtZW51ICAtLT5cclxuICAgICAgQGlmIChtZW51SXRlbXMoKS5sZW5ndGgpIHtcclxuICAgICAgICA8bmF2IGNsYXNzPVwibXQtOFwiPlxyXG4gICAgICAgICAgPHVsIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxyXG4gICAgICAgICAgICBAZm9yIChpdGVtIG9mIG1lbnVJdGVtcygpOyB0cmFjayBpdGVtLmlkKSB7XHJcbiAgICAgICAgICAgICAgQGlmIChpdGVtLnZpc2libGUpIHtcclxuICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZ2FwLTIgcm91bmRlZCBwLTIgIXRleHQtd2hpdGUgdHJhbnNpdGlvbiBkdXJhdGlvbi0xMDAgZWFzZS1pblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgJ2hvdmVyOmJnLXppbmMtNjAwLzYwJzogIWl0ZW0uZGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAnY3Vyc29yLWF1dG8gIW9wYWNpdHktMjUnOiBpdGVtLmRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0uZGlzYWJsZWQgPyBudWxsIDogaXRlbS5wYXRoXCJcclxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYmctemluYy02MDAvNjBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJldnRUb2dnbGVNZW51LmVtaXQoZmFsc2UpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb24gY2xhc3M9XCJiYXNpcy02XCIgW2ljb25dPVwiaXRlbS5pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC0xIHRydW5jYXRlXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9uYXY+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAobWVudUludGVyYWN0aW9ucygpLmxlbmd0aCkge1xyXG4gICAgICAgIDxociBjbGFzcz1cIm15LTQgaC1weCBib3JkZXItMCBiZy1ncmF5LTYwMFwiIC8+XHJcblxyXG4gICAgICAgIDx1bCBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cclxuICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgbWVudUludGVyYWN0aW9ucygpOyB0cmFjayBpdGVtLmlkKSB7XHJcbiAgICAgICAgICAgIEBpZiAoaXRlbS5kYXRhLnR5cGUgPT09ICdidXR0b24nKSB7XHJcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiaXRlbS1zZXR0aW5nLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkeC10aGVtZS1tYXRlcmlhbC10eXBvZ3JhcGh5IGZsZXggaC0xMiB3LWZ1bGwgaXRlbXMtY2VudGVyIGdhcC0yIHJvdW5kZWQgcC00XCJcclxuICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIml0ZW0uY2xhc3NcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaXRlbS5mdW4oKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZmEtaWNvbiBjbGFzcz1cImJhc2lzLTZcIiBbaWNvbl09XCJpdGVtLmRhdGEuaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LTEgdHJ1bmNhdGVcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoaXRlbS5kYXRhLnR5cGUgPT09ICdzZWxlY3QnKSB7XHJcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZmxleCBoLTEyIGl0ZW1zLWNlbnRlciBnYXAtNCByb3VuZGVkIGJnLXppbmMtNjAwLzYwIHAtMyBzaGFkb3dcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGVcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGR4LXNlbGVjdC1ib3hcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4LTEgYmFzaXMtMjRcIlxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXlFeHByPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICBbaXRlbXNdPVwiaXRlbS5kYXRhLmNvbWJvc1wiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmRhdGEudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBzdHlsaW5nTW9kZT1cInVuZGVybGluZWRcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXHJcbiAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJpdGVtLmZ1bigkZXZlbnQpXCI+PC9keC1zZWxlY3QtYm94PlxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L3VsPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8IS0tIHNldHRpbmcgIC0tPlxyXG4gICAgICA8aHIgY2xhc3M9XCJteS00IGgtcHggYm9yZGVyLTAgYmctZ3JheS02MDBcIiAvPlxyXG5cclxuICAgICAgPHVsIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxyXG4gICAgICAgIDxsaSBjbGFzcz1cImZsZXggaC0xMiBpdGVtcy1jZW50ZXIgZ2FwLTIgcm91bmRlZCBiZy16aW5jLTYwMC82MCBwLTQgdGV4dC13aGl0ZSBzaGFkb3dcIj5cclxuICAgICAgICAgIDxmYS1pY29uIGNsYXNzPVwiYmFzaXMtNlwiIFtpY29uXT1cImRhcmtNb2RlKCkgPyBJQ09OLkRBUktfTU9ERSA6IElDT04uTElHSFRfTU9ERVwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC0xIHRydW5jYXRlXCI+e3sgJ2xibERhcmtNb2RlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxkeC1zd2l0Y2ggW3ZhbHVlXT1cImRhcmtNb2RlKClcIiAob25WYWx1ZUNoYW5nZWQpPVwidXBkYXRlVGhlbWUoJGV2ZW50KVwiPjwvZHgtc3dpdGNoPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwiZmxleCBoLTEyIGl0ZW1zLWNlbnRlciBnYXAtMiByb3VuZGVkIGJnLXppbmMtNjAwLzYwIHAtNCB0ZXh0LXdoaXRlIHNoYWRvd1wiPlxyXG4gICAgICAgICAgPGZhLWljb24gY2xhc3M9XCJiYXNpcy02XCIgW2ljb25dPVwiSUNPTi5MQU5HVUFHRVwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC0xIHRydW5jYXRlXCI+e3sgJ2xibExhbmd1YWdlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgIDxkeC1zZWxlY3QtYm94XHJcbiAgICAgICAgICAgIGNsYXNzPVwiYmFzaXMtMTJcIlxyXG4gICAgICAgICAgICBbaXRlbXNdPVwidHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVJbmZvKCkubGFuZ3VhZ2VzU3VwcG9ydGVkXCJcclxuICAgICAgICAgICAgW3ZhbHVlXT1cInRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlSW5mbygpLmxhbmd1YWdlXCJcclxuICAgICAgICAgICAgc3R5bGluZ01vZGU9XCJ1bmRlcmxpbmVkXCJcclxuICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cInVwZGF0ZUxhbmd1YWdlKCRldmVudClcIj48L2R4LXNlbGVjdC1ib3g+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8IS0tIFVzZXIgfCBudWxsIHwgdW5kZWZpbmVkIC0tPlxyXG4gICAgICAgIEBpZiAodXNlcigpICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZmxleCB3LWZ1bGwgaXRlbXMtY2VudGVyIGdhcC0yIHJvdW5kZWQgYm9yZGVyIGJvcmRlci13aGl0ZSBwLTQgdGV4dC13aGl0ZSBzaGFkb3cgdHJhbnNpdGlvbiBkdXJhdGlvbi0zMDAgZWFzZS1pbi1vdXQgaG92ZXI6Ymctd2hpdGUgaG92ZXI6dGV4dC1ncmF5LTgwMFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInVzZXIoKSA/IGxvZ291dCgpIDogZ29Ub0xvZ2luKClcIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJ1c2VyKCkgPyBJQ09OLkxPR09VVCA6IElDT04uTE9HSU5cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LTEgdHJ1bmNhdGVcIj57e1xyXG4gICAgICAgICAgICAgICAgKHVzZXIoKSA/ICdsYmxMb2dvdXQnIDogJ2xibExvZ2luJykgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2xpPlxyXG4gICAgICAgIH1cclxuICAgICAgPC91bD5cclxuXHJcbiAgICAgIDwhLS0gbG9nbyAgLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtdC1hdXRvIGZsZXggY29udGVudC1lbmQgYm9yZGVyLWIgYm9yZGVyLXdoaXRlXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgY2xhc3M9XCJtbC1hdXRvIGgtMTJcIlxyXG4gICAgICAgICAgW25nU3JjXT1cInBhdGhCcmFuZExvZ28oKVwiXHJcbiAgICAgICAgICBhbHQ9XCJCcmFuZCBsb2dvXCJcclxuICAgICAgICAgIFtoZWlnaHRdPVwiMzBcIlxyXG4gICAgICAgICAgW3dpZHRoXT1cIjEyNVwiXHJcbiAgICAgICAgICBwcmlvcml0eSAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvYXNpZGU+XHJcbiAgYCxcclxuICBzdHlsZVVybDogJy4vdW5pLXNpZGUtbWVudS5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlTaWRlTWVudUNvbXBvbmVudCB7XHJcbiAgLyogU2VydmljZSAqL1xyXG4gIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG4gIHJlYWRvbmx5IGF1dGhTZXJ2aWNlID0gaW5qZWN0KFVOSUF1dGhTZXJ2aWNlKTtcclxuICByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFVOSVRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICAvKiBJbnB1dCAqL1xyXG4gIHBhdGhCcmFuZExvZ28gPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgbWVudUl0ZW1zID0gaW5wdXQ8TWVudUl0ZW1bXT4oW10pO1xyXG4gIG1lbnVJbnRlcmFjdGlvbnMgPSBpbnB1dDxNZW51SW50ZXJhY3Rpb25bXT4oW10pO1xyXG4gIHVzZXIgPSBpbnB1dC5yZXF1aXJlZDxVc2VyIHwgbnVsbCB8IHVuZGVmaW5lZD4oKTtcclxuXHJcbiAgLyogT3V0cHV0ICovXHJcbiAgZXZ0VG9nZ2xlTWVudSA9IG91dHB1dDxmYWxzZT4oKTtcclxuXHJcbiAgLyogVmFyaWFibGVzICovXHJcbiAgZGFya01vZGUgPSBzaWduYWw8Ym9vbGVhbj4obG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VuaS10aGVtZScpID09PSAnZGFyaycpO1xyXG5cclxuICAvKiBJY29ucyAqL1xyXG4gIHJlYWRvbmx5IElDT04gPSB7XHJcbiAgICBVU0VSOiBmYVVzZXIsXHJcbiAgICBMT0dJTjogZmFBcnJvd1JpZ2h0VG9CcmFja2V0LFxyXG4gICAgTE9HT1VUOiBmYUFycm93UmlnaHRGcm9tQnJhY2tldCxcclxuICAgIExJR0hUX01PREU6IGZhU3VuLFxyXG4gICAgREFSS19NT0RFOiBmYU1vb24sXHJcbiAgICBMQU5HVUFHRTogZmFMYW5ndWFnZSxcclxuICB9O1xyXG5cclxuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4gIHByb3RlY3RlZCB1cGRhdGVUaGVtZShlOiBTd2l0Y2hWYWx1ZUNoYW5nZWRFdmVudCk6IHZvaWQge1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VuaS10aGVtZScsIGUudmFsdWUgPyAnZGFyaycgOiAnbGlnaHQnKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB1cGRhdGVMYW5ndWFnZShlOiBTZWxlY3RCb3hWYWx1ZUNoYW5nZWRFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldExhbmd1YWdlKGUudmFsdWUpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdvVG9Mb2dpbigpOiB2b2lkIHtcclxuICAgIHRoaXMuZXZ0VG9nZ2xlTWVudS5lbWl0KGZhbHNlKTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9naW4nXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc3QgZmlyc3RJdGVtID0gdGhpcy5tZW51SXRlbXMoKS5maW5kKChpdGVtKSA9PiBpdGVtLnZpc2libGUgJiYgIWl0ZW0uZGlzYWJsZWQpO1xyXG4gICAgICB0aGlzLmV2dFRvZ2dsZU1lbnUuZW1pdChmYWxzZSk7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtmaXJzdEl0ZW0/LnBhdGggPz8gJ2xvZ2luJ10pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktc2lkZS1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktc2lkZS1tZW51L3VuaS1jb21wb25lbnQtdHctdW5pLXNpZGUtbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './src/uni-wrapper-chart.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91bmktY29tcG9uZW50LXR3L3VuaS13cmFwcGVyLWNoYXJ0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy91bmktd3JhcHBlci1jaGFydC5jb21wb25lbnQnO1xyXG4iXX0=
@@ -1,36 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, effect, input, viewChild, } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class UniWrapperChartComponent {
5
- /* ----------------------- Constructor & lifecycle --------------------------- */
6
- constructor() {
7
- /* Inputs & outputs */
8
- this.title = input();
9
- this.gridTemplateColumns = input('1fr');
10
- this.gridTitle = input('1rem');
11
- this.gridGap = input('1rem');
12
- /* Ref */
13
- this.containerDataSource = viewChild.required('container_datasource');
14
- this.containerWithAside = viewChild('container_with_aside');
15
- effect(() => {
16
- this.containerDataSource().nativeElement.style.gridTemplateRows = this.title()
17
- ? 'min-content 1fr'
18
- : '1fr';
19
- this.containerDataSource().nativeElement.style.gap = this.title() ? this.gridTitle() : '0rem';
20
- });
21
- effect(() => {
22
- if (this.containerWithAside()) {
23
- this.containerWithAside().nativeElement.style.gridTemplateColumns =
24
- this.gridTemplateColumns();
25
- this.containerWithAside().nativeElement.style.gap = this.gridGap();
26
- }
27
- });
28
- }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniWrapperChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: UniWrapperChartComponent, isStandalone: true, selector: "uni-wrapper-chart", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, gridTemplateColumns: { classPropertyName: "gridTemplateColumns", publicName: "gridTemplateColumns", isSignal: true, isRequired: false, transformFunction: null }, gridTitle: { classPropertyName: "gridTitle", publicName: "gridTitle", isSignal: true, isRequired: false, transformFunction: null }, gridGap: { classPropertyName: "gridGap", publicName: "gridGap", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "containerDataSource", first: true, predicate: ["container_datasource"], descendants: true, isSignal: true }, { propertyName: "containerWithAside", first: true, predicate: ["container_with_aside"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #container_datasource class=\"container-datasource\">\r\n @if (title(); as title) {\r\n <h5>{{ title }}</h5>\r\n }\r\n\r\n @if (gridTemplateColumns() !== '1fr') {\r\n <div #container_with_aside class=\"container-with-aside\">\r\n <ng-content select=\"[aside]\"></ng-content>\r\n <div class=\"container-chart\">\r\n <ng-content select=\"[chart]\"></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"container-chart\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}.container-datasource{height:100%;display:grid;grid-template-columns:1fr;gap:.5rem;overflow:hidden}.container-with-aside{height:100%;width:100%;display:grid;grid-template-rows:1fr;overflow:hidden}.container-chart{overflow:hidden}:host ::ng-deep .container-chart>*{height:100%;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
- }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: UniWrapperChartComponent, decorators: [{
33
- type: Component,
34
- args: [{ selector: 'uni-wrapper-chart', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #container_datasource class=\"container-datasource\">\r\n @if (title(); as title) {\r\n <h5>{{ title }}</h5>\r\n }\r\n\r\n @if (gridTemplateColumns() !== '1fr') {\r\n <div #container_with_aside class=\"container-with-aside\">\r\n <ng-content select=\"[aside]\"></ng-content>\r\n <div class=\"container-chart\">\r\n <ng-content select=\"[chart]\"></ng-content>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"container-chart\">\r\n <ng-content></ng-content>\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [":host{display:block;height:100%;width:100%;overflow:hidden}.container-datasource{height:100%;display:grid;grid-template-columns:1fr;gap:.5rem;overflow:hidden}.container-with-aside{height:100%;width:100%;display:grid;grid-template-rows:1fr;overflow:hidden}.container-chart{overflow:hidden}:host ::ng-deep .container-chart>*{height:100%;width:100%}\n"] }]
35
- }], ctorParameters: () => [] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLXdyYXBwZXItY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktd3JhcHBlci1jaGFydC9zcmMvdW5pLXdyYXBwZXItY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pLWNvbXBvbmVudC10dy91bmktd3JhcHBlci1jaGFydC9zcmMvdW5pLXdyYXBwZXItY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOztBQVV2QixNQUFNLE9BQU8sd0JBQXdCO0lBYW5DLGlGQUFpRjtJQUNqRjtRQWJBLHNCQUFzQjtRQUNOLFVBQUssR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUN4Qix3QkFBbUIsR0FBRyxLQUFLLENBQVMsS0FBSyxDQUFDLENBQUM7UUFDM0MsY0FBUyxHQUFHLEtBQUssQ0FBUyxNQUFNLENBQUMsQ0FBQztRQUNsQyxZQUFPLEdBQUcsS0FBSyxDQUFTLE1BQU0sQ0FBQyxDQUFDO1FBRWhELFNBQVM7UUFDVSx3QkFBbUIsR0FDcEMsU0FBUyxDQUFDLFFBQVEsQ0FBNkIsc0JBQXNCLENBQUMsQ0FBQztRQUN0RCx1QkFBa0IsR0FDbkMsU0FBUyxDQUE2QixzQkFBc0IsQ0FBQyxDQUFDO1FBSTlELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQzVFLENBQUMsQ0FBQyxpQkFBaUI7Z0JBQ25CLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDVixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hHLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLGtCQUFrQixFQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxtQkFBbUI7b0JBQ2hFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEUsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1QlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsKzNCQ2xCckMsc2lCQW1CQSxxWkROWSxZQUFZOzsyRkFLWCx3QkFBd0I7a0JBUnBDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBlZmZlY3QsXHJcbiAgaW5wdXQsXHJcbiAgdmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1bmktd3JhcHBlci1jaGFydCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdW5pLXdyYXBwZXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VuaS13cmFwcGVyLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVbmlXcmFwcGVyQ2hhcnRDb21wb25lbnQge1xyXG4gIC8qIElucHV0cyAmIG91dHB1dHMgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSBpbnB1dDxzdHJpbmc+KCcxZnInKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgZ3JpZFRpdGxlID0gaW5wdXQ8c3RyaW5nPignMXJlbScpO1xyXG4gIHB1YmxpYyByZWFkb25seSBncmlkR2FwID0gaW5wdXQ8c3RyaW5nPignMXJlbScpO1xyXG5cclxuICAvKiBSZWYgKi9cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGFpbmVyRGF0YVNvdXJjZSA9XHJcbiAgICB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdjb250YWluZXJfZGF0YXNvdXJjZScpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjb250YWluZXJXaXRoQXNpZGUgPVxyXG4gICAgdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignY29udGFpbmVyX3dpdGhfYXNpZGUnKTtcclxuXHJcbiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ29uc3RydWN0b3IgJiBsaWZlY3ljbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckRhdGFTb3VyY2UoKS5uYXRpdmVFbGVtZW50LnN0eWxlLmdyaWRUZW1wbGF0ZVJvd3MgPSB0aGlzLnRpdGxlKClcclxuICAgICAgICA/ICdtaW4tY29udGVudCAxZnInXHJcbiAgICAgICAgOiAnMWZyJztcclxuICAgICAgdGhpcy5jb250YWluZXJEYXRhU291cmNlKCkubmF0aXZlRWxlbWVudC5zdHlsZS5nYXAgPSB0aGlzLnRpdGxlKCkgPyB0aGlzLmdyaWRUaXRsZSgpIDogJzByZW0nO1xyXG4gICAgfSk7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jb250YWluZXJXaXRoQXNpZGUoKSkge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyV2l0aEFzaWRlKCkhLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZ3JpZFRlbXBsYXRlQ29sdW1ucyA9XHJcbiAgICAgICAgICB0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbnMoKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lcldpdGhBc2lkZSgpIS5uYXRpdmVFbGVtZW50LnN0eWxlLmdhcCA9IHRoaXMuZ3JpZEdhcCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjY29udGFpbmVyX2RhdGFzb3VyY2UgY2xhc3M9XCJjb250YWluZXItZGF0YXNvdXJjZVwiPlxyXG4gIEBpZiAodGl0bGUoKTsgYXMgdGl0bGUpIHtcclxuICAgIDxoNT57eyB0aXRsZSB9fTwvaDU+XHJcbiAgfVxyXG5cclxuICBAaWYgKGdyaWRUZW1wbGF0ZUNvbHVtbnMoKSAhPT0gJzFmcicpIHtcclxuICAgIDxkaXYgI2NvbnRhaW5lcl93aXRoX2FzaWRlIGNsYXNzPVwiY29udGFpbmVyLXdpdGgtYXNpZGVcIj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FzaWRlXVwiPjwvbmctY29udGVudD5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1jaGFydFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjaGFydF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWNoYXJ0XCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcblxyXG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pLWNvbXBvbmVudC10dy11bmktd3JhcHBlci1jaGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaS1jb21wb25lbnQtdHcvdW5pLXdyYXBwZXItY2hhcnQvdW5pLWNvbXBvbmVudC10dy11bmktd3JhcHBlci1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==