@edm-sdui/sdui 1.0.12 → 1.0.14
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/esm2022/lib/components/uicomponent/image/image.component.mjs +5 -1
- package/esm2022/lib/components/uicomponent/label/label.component.mjs +19 -1
- package/esm2022/lib/components/uicomponent/profile-button/profile-button.component.mjs +59 -0
- package/esm2022/lib/components/uicomponent/progress-bar/progress-bar.component.mjs +42 -0
- package/esm2022/lib/components/uicomponent/scrollable-column/scrollable-column.component.mjs +33 -0
- package/esm2022/lib/components/uicomponent/scrollable-row/scrollable-row.component.mjs +62 -0
- package/esm2022/lib/components/uilayout/centered-content-layout/centered-content-layout.component.mjs +6 -3
- package/esm2022/lib/core/services/translation.service.mjs +3 -3
- package/esm2022/lib/core/services/ui-action.service.mjs +30 -1
- package/esm2022/lib/core/services/uiscreen.service.mjs +9 -1
- package/esm2022/lib/core/uicomposition/enums/uicomponent-type.mjs +7 -1
- package/esm2022/lib/core/uicomposition/mapping/component-mapping.mjs +7 -1
- package/esm2022/lib/core/uicomposition/models/uielement.mjs +1 -1
- package/esm2022/lib/core/uicomposition/models/uiview.mjs +1 -1
- package/esm2022/lib/core/uitheme/enums/uiaction-type.mjs +2 -1
- package/esm2022/lib/core/uitheme/enums/uiasset.mjs +14 -1
- package/esm2022/lib/core/uitheme/enums/uidimension.mjs +47 -0
- package/esm2022/lib/core/uitheme/enums/uijustify.mjs +9 -0
- package/esm2022/lib/core/uitheme/enums/uisize.mjs +2 -1
- package/esm2022/lib/core/uitheme/enums/uispacing-level.mjs +3 -1
- package/esm2022/lib/core/uitheme/mapping/asset-mapping.mjs +14 -1
- package/esm2022/lib/core/uitheme/mapping/dimension-mapping.mjs +49 -0
- package/esm2022/lib/core/uitheme/mapping/justify-mapping.mjs +9 -0
- package/esm2022/lib/core/uitheme/mapping/shadow-mapping.mjs +9 -0
- package/esm2022/lib/core/uitheme/mapping/size-mapping.mjs +5 -3
- package/esm2022/lib/core/uitheme/mapping/space-mapping.mjs +3 -1
- package/esm2022/lib/directives/uiview.directive.mjs +69 -6
- package/esm2022/lib/sdui.module.mjs +13 -1
- package/fesm2022/edm-sdui-sdui.mjs +505 -11
- package/fesm2022/edm-sdui-sdui.mjs.map +1 -1
- package/lib/components/uicomponent/image/image.component.d.ts.map +1 -1
- package/lib/components/uicomponent/label/label.component.d.ts.map +1 -1
- package/lib/components/uicomponent/profile-button/profile-button.component.d.ts +21 -0
- package/lib/components/uicomponent/profile-button/profile-button.component.d.ts.map +1 -0
- package/lib/components/uicomponent/progress-bar/progress-bar.component.d.ts +15 -0
- package/lib/components/uicomponent/progress-bar/progress-bar.component.d.ts.map +1 -0
- package/lib/components/uicomponent/scrollable-column/scrollable-column.component.d.ts +15 -0
- package/lib/components/uicomponent/scrollable-column/scrollable-column.component.d.ts.map +1 -0
- package/lib/components/uicomponent/scrollable-row/scrollable-row.component.d.ts +16 -0
- package/lib/components/uicomponent/scrollable-row/scrollable-row.component.d.ts.map +1 -0
- package/lib/components/uilayout/centered-content-layout/centered-content-layout.component.d.ts +3 -2
- package/lib/components/uilayout/centered-content-layout/centered-content-layout.component.d.ts.map +1 -1
- package/lib/core/services/ui-action.service.d.ts.map +1 -1
- package/lib/core/services/uiscreen.service.d.ts.map +1 -1
- package/lib/core/uicomposition/enums/uicomponent-type.d.ts +5 -1
- package/lib/core/uicomposition/enums/uicomponent-type.d.ts.map +1 -1
- package/lib/core/uicomposition/mapping/component-mapping.d.ts.map +1 -1
- package/lib/core/uicomposition/models/uielement.d.ts +3 -0
- package/lib/core/uicomposition/models/uielement.d.ts.map +1 -1
- package/lib/core/uicomposition/models/uiview.d.ts +8 -0
- package/lib/core/uicomposition/models/uiview.d.ts.map +1 -1
- package/lib/core/uitheme/enums/uiaction-type.d.ts +1 -0
- package/lib/core/uitheme/enums/uiaction-type.d.ts.map +1 -1
- package/lib/core/uitheme/enums/uiasset.d.ts +14 -1
- package/lib/core/uitheme/enums/uiasset.d.ts.map +1 -1
- package/lib/core/uitheme/enums/uidimension.d.ts +46 -0
- package/lib/core/uitheme/enums/uidimension.d.ts.map +1 -0
- package/lib/core/uitheme/enums/uijustify.d.ts +8 -0
- package/lib/core/uitheme/enums/uijustify.d.ts.map +1 -0
- package/lib/core/uitheme/enums/uisize.d.ts +1 -0
- package/lib/core/uitheme/enums/uisize.d.ts.map +1 -1
- package/lib/core/uitheme/enums/uispacing-level.d.ts +3 -1
- package/lib/core/uitheme/enums/uispacing-level.d.ts.map +1 -1
- package/lib/core/uitheme/mapping/asset-mapping.d.ts.map +1 -1
- package/lib/core/uitheme/mapping/dimension-mapping.d.ts +3 -0
- package/lib/core/uitheme/mapping/dimension-mapping.d.ts.map +1 -0
- package/lib/core/uitheme/mapping/justify-mapping.d.ts +3 -0
- package/lib/core/uitheme/mapping/justify-mapping.d.ts.map +1 -0
- package/lib/core/uitheme/mapping/shadow-mapping.d.ts +5 -0
- package/lib/core/uitheme/mapping/shadow-mapping.d.ts.map +1 -0
- package/lib/core/uitheme/mapping/size-mapping.d.ts.map +1 -1
- package/lib/core/uitheme/mapping/space-mapping.d.ts.map +1 -1
- package/lib/directives/uiview.directive.d.ts +5 -0
- package/lib/directives/uiview.directive.d.ts.map +1 -1
- package/lib/sdui.module.d.ts +10 -6
- package/lib/sdui.module.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -21,6 +21,8 @@ var UIComponentType;
|
|
|
21
21
|
UIComponentType["ROW_DIVISOR"] = "ROW_DIVISOR";
|
|
22
22
|
UIComponentType["COLUMN"] = "COLUMN";
|
|
23
23
|
UIComponentType["Z_STACK"] = "Z_STACK";
|
|
24
|
+
UIComponentType["SCROLLABLE_ROW"] = "SCROLLABLE_ROW";
|
|
25
|
+
UIComponentType["SCROLLABLE_COLUMN"] = "SCROLLABLE_COLUMN";
|
|
24
26
|
// elements
|
|
25
27
|
UIComponentType["BUTTON"] = "BUTTON";
|
|
26
28
|
UIComponentType["LABEL"] = "LABEL";
|
|
@@ -40,6 +42,10 @@ var UIComponentType;
|
|
|
40
42
|
UIComponentType["PICKER_ITEM"] = "PICKER_ITEM";
|
|
41
43
|
// tag
|
|
42
44
|
UIComponentType["TAG"] = "TAG";
|
|
45
|
+
// profile
|
|
46
|
+
UIComponentType["PROFILE_BUTTON"] = "PROFILE_BUTTON";
|
|
47
|
+
// progress bar
|
|
48
|
+
UIComponentType["PROGRESS_BAR"] = "PROGRESS_BAR";
|
|
43
49
|
})(UIComponentType || (UIComponentType = {}));
|
|
44
50
|
|
|
45
51
|
const SDUI_BASE_URL = new InjectionToken('SDUI_BASE_URL');
|
|
@@ -157,6 +163,9 @@ class UIScreenService {
|
|
|
157
163
|
placeholder: json.placeholder ?? null,
|
|
158
164
|
placeholderTextColor: json.placeholder_text_color ?? null,
|
|
159
165
|
placeholderTextStyle: json.placeholder_text_style ?? null,
|
|
166
|
+
aspectRatio: json.aspect_ratio ?? null,
|
|
167
|
+
progress: json.progress ?? null,
|
|
168
|
+
progressColor: json.progress_color ? json.progress_color : null,
|
|
160
169
|
...this.mapToUIView(json),
|
|
161
170
|
};
|
|
162
171
|
}
|
|
@@ -173,6 +182,11 @@ class UIScreenService {
|
|
|
173
182
|
spacing: json.spacing
|
|
174
183
|
? { spacing: json.spacing }
|
|
175
184
|
: null,
|
|
185
|
+
height: json.height ? json.height : null,
|
|
186
|
+
width: json.width ? json.width : null,
|
|
187
|
+
borderWidth: json.border_width ?? null,
|
|
188
|
+
borderColor: json.border_color ? json.border_color : null,
|
|
189
|
+
justify: json.justify ? json.justify : null,
|
|
176
190
|
};
|
|
177
191
|
}
|
|
178
192
|
mapBackground(json) {
|
|
@@ -316,6 +330,8 @@ const componentMapping = {
|
|
|
316
330
|
[UIComponentType.ROW_DIVISOR]: () => Promise.resolve().then(function () { return rowDivisor_component; }).then((m) => m.RowDivisorComponent),
|
|
317
331
|
[UIComponentType.COLUMN]: () => Promise.resolve().then(function () { return column_component; }).then((m) => m.ColumnComponent),
|
|
318
332
|
[UIComponentType.Z_STACK]: () => Promise.resolve().then(function () { return zstack_component; }).then((m) => m.ZStackComponent),
|
|
333
|
+
[UIComponentType.SCROLLABLE_ROW]: () => Promise.resolve().then(function () { return scrollableRow_component; }).then((m) => m.ScrollableRowComponent),
|
|
334
|
+
[UIComponentType.SCROLLABLE_COLUMN]: () => Promise.resolve().then(function () { return scrollableColumn_component; }).then((m) => m.ScrollableColumnComponent),
|
|
319
335
|
// elementos
|
|
320
336
|
[UIComponentType.BUTTON]: () => Promise.resolve().then(function () { return button_component; }).then((m) => m.ButtonComponent),
|
|
321
337
|
[UIComponentType.IMAGE]: () => Promise.resolve().then(function () { return image_component; }).then((m) => m.ImageComponent),
|
|
@@ -335,6 +351,10 @@ const componentMapping = {
|
|
|
335
351
|
[UIComponentType.PICKER_ITEM]: () => Promise.resolve().then(function () { return pickerItem_component; }).then((m) => m.PickerItemComponent),
|
|
336
352
|
// tag
|
|
337
353
|
[UIComponentType.TAG]: () => Promise.resolve().then(function () { return tag_component; }).then((m) => m.TagComponent),
|
|
354
|
+
// profile
|
|
355
|
+
[UIComponentType.PROFILE_BUTTON]: () => Promise.resolve().then(function () { return profileButton_component; }).then((m) => m.ProfileButtonComponent),
|
|
356
|
+
// progress bar
|
|
357
|
+
[UIComponentType.PROGRESS_BAR]: () => Promise.resolve().then(function () { return progressBar_component; }).then((m) => m.ProgressBarComponent),
|
|
338
358
|
};
|
|
339
359
|
|
|
340
360
|
class UIComponentComponent {
|
|
@@ -407,17 +427,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
407
427
|
}] } });
|
|
408
428
|
|
|
409
429
|
class CenteredContentLayoutComponent {
|
|
430
|
+
ngOnInit() {
|
|
431
|
+
console.log(this.uiLayout);
|
|
432
|
+
}
|
|
410
433
|
ngOnChanges(changes) {
|
|
411
434
|
if (changes['uiLayout']) {
|
|
412
435
|
console.debug('[CenteredContentLayoutComponent] Novo layout recebido:', changes['uiLayout'].currentValue);
|
|
413
436
|
}
|
|
414
437
|
}
|
|
415
438
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CenteredContentLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
416
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CenteredContentLayoutComponent, selector: "edm-sdui-centered-content-layout", inputs: { uiLayout: "uiLayout" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"centered-content-layout\" *ngIf=\"!!uiLayout\">\n <!-- <pre>{{ uiLayout | json }}</pre> -->\n\n <edm-sdui-navigation [uiNavigation]=\"uiLayout.nav\"></edm-sdui-navigation>\n\n <div class=\"header\" *ngIf=\"
|
|
439
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CenteredContentLayoutComponent, selector: "edm-sdui-centered-content-layout", inputs: { uiLayout: "uiLayout" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"centered-content-layout\" *ngIf=\"!!uiLayout\">\n <!-- <pre>{{ uiLayout | json }}</pre> -->\n\n <edm-sdui-navigation [uiNavigation]=\"uiLayout.nav\"></edm-sdui-navigation>\n\n <div class=\"header\" *ngIf=\"uiLayout?.header\">\n <edm-sdui-component [uiComponent]=\"uiLayout.header\"></edm-sdui-component>\n </div>\n\n <div class=\"centered\">\n <edm-sdui-component\n *ngIf=\"!!uiLayout?.centered\"\n [uiComponent]=\"uiLayout.centered\"\n ></edm-sdui-component>\n </div>\n\n <div class=\"footer\" *ngIf=\"!!uiLayout?.footer\">\n <edm-sdui-component [uiComponent]=\"uiLayout.footer\"></edm-sdui-component>\n </div>\n</div>\n", styles: [":host{display:contents}.centered-content-layout{display:flex;flex-direction:column;width:100vw;min-height:100vh;position:relative}.centered-content-layout .header{width:100%;z-index:100}.centered-content-layout .centered{flex:1;display:flex;align-items:center;justify-content:center}.centered-content-layout .footer{position:fixed;bottom:0;left:0;width:100%;z-index:100}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UINavigationComponent, selector: "edm-sdui-navigation", inputs: ["uiNavigation"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }] }); }
|
|
417
440
|
}
|
|
418
441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CenteredContentLayoutComponent, decorators: [{
|
|
419
442
|
type: Component,
|
|
420
|
-
args: [{ selector: 'edm-sdui-centered-content-layout', standalone: false, template: "<div class=\"centered-content-layout\" *ngIf=\"!!uiLayout\">\n <!-- <pre>{{ uiLayout | json }}</pre> -->\n\n <edm-sdui-navigation [uiNavigation]=\"uiLayout.nav\"></edm-sdui-navigation>\n\n <div class=\"header\" *ngIf=\"
|
|
443
|
+
args: [{ selector: 'edm-sdui-centered-content-layout', standalone: false, template: "<div class=\"centered-content-layout\" *ngIf=\"!!uiLayout\">\n <!-- <pre>{{ uiLayout | json }}</pre> -->\n\n <edm-sdui-navigation [uiNavigation]=\"uiLayout.nav\"></edm-sdui-navigation>\n\n <div class=\"header\" *ngIf=\"uiLayout?.header\">\n <edm-sdui-component [uiComponent]=\"uiLayout.header\"></edm-sdui-component>\n </div>\n\n <div class=\"centered\">\n <edm-sdui-component\n *ngIf=\"!!uiLayout?.centered\"\n [uiComponent]=\"uiLayout.centered\"\n ></edm-sdui-component>\n </div>\n\n <div class=\"footer\" *ngIf=\"!!uiLayout?.footer\">\n <edm-sdui-component [uiComponent]=\"uiLayout.footer\"></edm-sdui-component>\n </div>\n</div>\n", styles: [":host{display:contents}.centered-content-layout{display:flex;flex-direction:column;width:100vw;min-height:100vh;position:relative}.centered-content-layout .header{width:100%;z-index:100}.centered-content-layout .centered{flex:1;display:flex;align-items:center;justify-content:center}.centered-content-layout .footer{position:fixed;bottom:0;left:0;width:100%;z-index:100}\n"] }]
|
|
421
444
|
}], propDecorators: { uiLayout: [{
|
|
422
445
|
type: Input
|
|
423
446
|
}] } });
|
|
@@ -428,6 +451,8 @@ var UISpacingLevel;
|
|
|
428
451
|
UISpacingLevel["S2"] = "s2";
|
|
429
452
|
UISpacingLevel["S3"] = "s3";
|
|
430
453
|
UISpacingLevel["S4"] = "s4";
|
|
454
|
+
UISpacingLevel["S5"] = "s5";
|
|
455
|
+
UISpacingLevel["S6"] = "s6";
|
|
431
456
|
})(UISpacingLevel || (UISpacingLevel = {}));
|
|
432
457
|
|
|
433
458
|
const spaceMapping = {
|
|
@@ -435,6 +460,8 @@ const spaceMapping = {
|
|
|
435
460
|
[UISpacingLevel.S2]: '8px',
|
|
436
461
|
[UISpacingLevel.S3]: '16px',
|
|
437
462
|
[UISpacingLevel.S4]: '24px',
|
|
463
|
+
[UISpacingLevel.S5]: '32px',
|
|
464
|
+
[UISpacingLevel.S6]: '40px',
|
|
438
465
|
};
|
|
439
466
|
|
|
440
467
|
var UIColor;
|
|
@@ -753,12 +780,142 @@ const alignmentMapping = {
|
|
|
753
780
|
[UIAlignmentType.START]: 'start',
|
|
754
781
|
};
|
|
755
782
|
|
|
783
|
+
var UIDimension;
|
|
784
|
+
(function (UIDimension) {
|
|
785
|
+
UIDimension["P100"] = "p100";
|
|
786
|
+
UIDimension["P90"] = "p90";
|
|
787
|
+
UIDimension["P80"] = "p80";
|
|
788
|
+
UIDimension["P70"] = "p70";
|
|
789
|
+
UIDimension["P60"] = "p60";
|
|
790
|
+
UIDimension["P50"] = "p50";
|
|
791
|
+
UIDimension["P40"] = "p40";
|
|
792
|
+
UIDimension["P30"] = "p30";
|
|
793
|
+
UIDimension["P20"] = "p20";
|
|
794
|
+
UIDimension["P10"] = "p10";
|
|
795
|
+
UIDimension["D180"] = "d180";
|
|
796
|
+
UIDimension["D150"] = "d150";
|
|
797
|
+
UIDimension["D120"] = "d120";
|
|
798
|
+
UIDimension["D110"] = "d110";
|
|
799
|
+
UIDimension["D100"] = "d100";
|
|
800
|
+
UIDimension["D90"] = "d90";
|
|
801
|
+
UIDimension["D80"] = "d80";
|
|
802
|
+
UIDimension["D72"] = "d72";
|
|
803
|
+
UIDimension["D64"] = "d64";
|
|
804
|
+
UIDimension["D60"] = "d60";
|
|
805
|
+
UIDimension["D56"] = "d56";
|
|
806
|
+
UIDimension["D48"] = "d48";
|
|
807
|
+
UIDimension["D42"] = "d42";
|
|
808
|
+
UIDimension["D40"] = "d40";
|
|
809
|
+
UIDimension["D36"] = "d36";
|
|
810
|
+
UIDimension["D32"] = "d32";
|
|
811
|
+
UIDimension["D30"] = "d30";
|
|
812
|
+
UIDimension["D28"] = "d28";
|
|
813
|
+
UIDimension["D26"] = "d26";
|
|
814
|
+
UIDimension["D24"] = "d24";
|
|
815
|
+
UIDimension["D22"] = "d22";
|
|
816
|
+
UIDimension["D20"] = "d20";
|
|
817
|
+
UIDimension["D18"] = "d18";
|
|
818
|
+
UIDimension["D16"] = "d16";
|
|
819
|
+
UIDimension["D14"] = "d14";
|
|
820
|
+
UIDimension["D12"] = "d12";
|
|
821
|
+
UIDimension["D10"] = "d10";
|
|
822
|
+
UIDimension["D8"] = "d8";
|
|
823
|
+
UIDimension["D5"] = "d5";
|
|
824
|
+
UIDimension["D4"] = "d4";
|
|
825
|
+
UIDimension["D3"] = "d3";
|
|
826
|
+
UIDimension["D2"] = "d2";
|
|
827
|
+
UIDimension["D1"] = "d1";
|
|
828
|
+
})(UIDimension || (UIDimension = {}));
|
|
829
|
+
|
|
830
|
+
const dimensionMapping = {
|
|
831
|
+
// Percentage values
|
|
832
|
+
[UIDimension.P100]: '100%',
|
|
833
|
+
[UIDimension.P90]: '90%',
|
|
834
|
+
[UIDimension.P80]: '80%',
|
|
835
|
+
[UIDimension.P70]: '70%',
|
|
836
|
+
[UIDimension.P60]: '60%',
|
|
837
|
+
[UIDimension.P50]: '50%',
|
|
838
|
+
[UIDimension.P40]: '40%',
|
|
839
|
+
[UIDimension.P30]: '30%',
|
|
840
|
+
[UIDimension.P20]: '20%',
|
|
841
|
+
[UIDimension.P10]: '10%',
|
|
842
|
+
// Pixel values
|
|
843
|
+
[UIDimension.D180]: '180px',
|
|
844
|
+
[UIDimension.D150]: '150px',
|
|
845
|
+
[UIDimension.D120]: '120px',
|
|
846
|
+
[UIDimension.D110]: '110px',
|
|
847
|
+
[UIDimension.D100]: '100px',
|
|
848
|
+
[UIDimension.D90]: '90px',
|
|
849
|
+
[UIDimension.D80]: '80px',
|
|
850
|
+
[UIDimension.D72]: '72px',
|
|
851
|
+
[UIDimension.D64]: '64px',
|
|
852
|
+
[UIDimension.D60]: '60px',
|
|
853
|
+
[UIDimension.D56]: '56px',
|
|
854
|
+
[UIDimension.D48]: '48px',
|
|
855
|
+
[UIDimension.D42]: '42px',
|
|
856
|
+
[UIDimension.D40]: '40px',
|
|
857
|
+
[UIDimension.D36]: '36px',
|
|
858
|
+
[UIDimension.D32]: '32px',
|
|
859
|
+
[UIDimension.D30]: '30px',
|
|
860
|
+
[UIDimension.D28]: '28px',
|
|
861
|
+
[UIDimension.D26]: '26px',
|
|
862
|
+
[UIDimension.D24]: '24px',
|
|
863
|
+
[UIDimension.D22]: '22px',
|
|
864
|
+
[UIDimension.D20]: '20px',
|
|
865
|
+
[UIDimension.D18]: '18px',
|
|
866
|
+
[UIDimension.D16]: '16px',
|
|
867
|
+
[UIDimension.D14]: '14px',
|
|
868
|
+
[UIDimension.D12]: '12px',
|
|
869
|
+
[UIDimension.D10]: '10px',
|
|
870
|
+
[UIDimension.D8]: '8px',
|
|
871
|
+
[UIDimension.D5]: '5px',
|
|
872
|
+
[UIDimension.D4]: '4px',
|
|
873
|
+
[UIDimension.D3]: '3px',
|
|
874
|
+
[UIDimension.D2]: '2px',
|
|
875
|
+
[UIDimension.D1]: '1px',
|
|
876
|
+
};
|
|
877
|
+
|
|
878
|
+
var UIShadowOffset;
|
|
879
|
+
(function (UIShadowOffset) {
|
|
880
|
+
UIShadowOffset["S1"] = "s1";
|
|
881
|
+
})(UIShadowOffset || (UIShadowOffset = {}));
|
|
882
|
+
|
|
883
|
+
var UIShadowBlurRadius;
|
|
884
|
+
(function (UIShadowBlurRadius) {
|
|
885
|
+
UIShadowBlurRadius["B1"] = "b1";
|
|
886
|
+
})(UIShadowBlurRadius || (UIShadowBlurRadius = {}));
|
|
887
|
+
|
|
888
|
+
const shadowOffsetMapping = {
|
|
889
|
+
[UIShadowOffset.S1]: '1px',
|
|
890
|
+
};
|
|
891
|
+
const shadowBlurRadiusMapping = {
|
|
892
|
+
[UIShadowBlurRadius.B1]: '3px',
|
|
893
|
+
};
|
|
894
|
+
|
|
895
|
+
var UIJustify;
|
|
896
|
+
(function (UIJustify) {
|
|
897
|
+
UIJustify["START"] = "start";
|
|
898
|
+
UIJustify["CENTER"] = "center";
|
|
899
|
+
UIJustify["END"] = "end";
|
|
900
|
+
UIJustify["BETWEEN"] = "space-between";
|
|
901
|
+
UIJustify["EVENLY"] = "space-evenly";
|
|
902
|
+
})(UIJustify || (UIJustify = {}));
|
|
903
|
+
|
|
904
|
+
const justifyMapping = {
|
|
905
|
+
[UIJustify.START]: 'flex-start',
|
|
906
|
+
[UIJustify.CENTER]: 'center',
|
|
907
|
+
[UIJustify.END]: 'flex-end',
|
|
908
|
+
[UIJustify.BETWEEN]: 'space-between',
|
|
909
|
+
[UIJustify.EVENLY]: 'space-evenly',
|
|
910
|
+
};
|
|
911
|
+
|
|
756
912
|
var UIActionType;
|
|
757
913
|
(function (UIActionType) {
|
|
758
914
|
// navegação
|
|
759
915
|
UIActionType["INTERNAL_URL"] = "INTERNAL_URL";
|
|
760
916
|
UIActionType["RELOAD_INTERNAL_URL"] = "RELOAD_INTERNAL_URL";
|
|
761
917
|
UIActionType["DISMISS_TO_SCENE"] = "DISMISS_TO_SCENE";
|
|
918
|
+
UIActionType["EXTERNAL_URL"] = "EXTERNAL_URL";
|
|
762
919
|
// paywall
|
|
763
920
|
UIActionType["PAYWALL"] = "PAYWALL";
|
|
764
921
|
UIActionType["REGISTER"] = "REGISTER";
|
|
@@ -803,6 +960,11 @@ class UIActionService {
|
|
|
803
960
|
}
|
|
804
961
|
}
|
|
805
962
|
break;
|
|
963
|
+
case UIActionType.EXTERNAL_URL:
|
|
964
|
+
if (action.url) {
|
|
965
|
+
console.debug('[UIActionService] Navigating to:', action.url);
|
|
966
|
+
window.open(action.url, '_blank');
|
|
967
|
+
}
|
|
806
968
|
// Outros tipos de ação podem ser adicionados aqui
|
|
807
969
|
}
|
|
808
970
|
}
|
|
@@ -835,6 +997,30 @@ class UIActionService {
|
|
|
835
997
|
this.router.navigate(['comunidade', 'postagem', postId], { queryParams: { from: 'sdui' } });
|
|
836
998
|
return true;
|
|
837
999
|
}
|
|
1000
|
+
if (url.includes('my-purchases')) {
|
|
1001
|
+
this.router.navigate(['perfil', 'compras'], { queryParams: { from: 'sdui' } });
|
|
1002
|
+
return true;
|
|
1003
|
+
}
|
|
1004
|
+
if (url.includes('my-annotations')) {
|
|
1005
|
+
this.router.navigate(['perfil', 'meu-caderno'], { queryParams: { from: 'sdui' } });
|
|
1006
|
+
return true;
|
|
1007
|
+
}
|
|
1008
|
+
if (url.includes('my-list')) {
|
|
1009
|
+
this.router.navigate(['perfil', 'minha-lista'], { queryParams: { from: 'sdui' } });
|
|
1010
|
+
return true;
|
|
1011
|
+
}
|
|
1012
|
+
if (url.includes('my-certificates')) {
|
|
1013
|
+
this.router.navigate(['perfil', 'certificados'], { queryParams: { from: 'sdui' } });
|
|
1014
|
+
return true;
|
|
1015
|
+
}
|
|
1016
|
+
if (url.includes('my-subscriptions')) {
|
|
1017
|
+
this.router.navigate(['perfil', 'assinaturas'], { queryParams: { from: 'sdui' } });
|
|
1018
|
+
return true;
|
|
1019
|
+
}
|
|
1020
|
+
if (url.includes('edit-profile')) {
|
|
1021
|
+
this.router.navigate(['perfil', 'editar'], { queryParams: { from: 'sdui' } });
|
|
1022
|
+
return true;
|
|
1023
|
+
}
|
|
838
1024
|
return false; // nenhum dos casos especiais foi tratado
|
|
839
1025
|
}
|
|
840
1026
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UIActionService, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -881,23 +1067,38 @@ class UIViewDirective {
|
|
|
881
1067
|
if (uiView.spacing) {
|
|
882
1068
|
this.applySpacing(uiView.spacing);
|
|
883
1069
|
}
|
|
1070
|
+
if (uiView.height) {
|
|
1071
|
+
this.applyHeight(uiView.height);
|
|
1072
|
+
}
|
|
1073
|
+
if (uiView.width) {
|
|
1074
|
+
this.applyWidth(uiView.width);
|
|
1075
|
+
}
|
|
1076
|
+
if (uiView.borderWidth) {
|
|
1077
|
+
this.applyBorderWidth(uiView.borderWidth);
|
|
1078
|
+
}
|
|
1079
|
+
if (uiView.borderColor) {
|
|
1080
|
+
this.applyBorderColor(uiView.borderColor);
|
|
1081
|
+
}
|
|
1082
|
+
if (uiView.justify) {
|
|
1083
|
+
this.applyJustify(uiView.justify);
|
|
1084
|
+
}
|
|
884
1085
|
}
|
|
885
1086
|
applyPadding(uiPadding) {
|
|
886
1087
|
if (uiPadding.top) {
|
|
887
1088
|
const padValue = padMapping[uiPadding.top];
|
|
888
|
-
this.renderer.setStyle(this.elementRef.nativeElement, '
|
|
1089
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'padding-top', padValue);
|
|
889
1090
|
}
|
|
890
1091
|
if (uiPadding.left) {
|
|
891
1092
|
const padValue = padMapping[uiPadding.left];
|
|
892
|
-
this.renderer.setStyle(this.elementRef.nativeElement, '
|
|
1093
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'padding-left', padValue);
|
|
893
1094
|
}
|
|
894
1095
|
if (uiPadding.right) {
|
|
895
1096
|
const padValue = padMapping[uiPadding.right];
|
|
896
|
-
this.renderer.setStyle(this.elementRef.nativeElement, '
|
|
1097
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'padding-right', padValue);
|
|
897
1098
|
}
|
|
898
1099
|
if (uiPadding.bottom) {
|
|
899
1100
|
const padValue = padMapping[uiPadding.bottom];
|
|
900
|
-
this.renderer.setStyle(this.elementRef.nativeElement, '
|
|
1101
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'padding-bottom', padValue);
|
|
901
1102
|
}
|
|
902
1103
|
}
|
|
903
1104
|
applyBackground(uiBackground) {
|
|
@@ -919,7 +1120,21 @@ class UIViewDirective {
|
|
|
919
1120
|
this.renderer.setStyle(this.elementRef.nativeElement, 'align-items', alignment);
|
|
920
1121
|
}
|
|
921
1122
|
}
|
|
922
|
-
applyShadow(uiShadow) {
|
|
1123
|
+
applyShadow(uiShadow) {
|
|
1124
|
+
if (uiShadow.color && uiShadow.offsetX && uiShadow.offsetY && uiShadow.blurRadius) {
|
|
1125
|
+
const color = colorMapping[uiShadow.color];
|
|
1126
|
+
const offsetX = shadowOffsetMapping[uiShadow.offsetX];
|
|
1127
|
+
const offsetY = shadowOffsetMapping[uiShadow.offsetY];
|
|
1128
|
+
const blurRadius = shadowBlurRadiusMapping[uiShadow.blurRadius];
|
|
1129
|
+
const opacity = uiShadow.opacity !== undefined ? uiShadow.opacity : 1;
|
|
1130
|
+
// Format: box-shadow: offsetX offsetY blurRadius color
|
|
1131
|
+
const shadowValue = `${offsetX} ${offsetY} ${blurRadius} ${color}`;
|
|
1132
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'box-shadow', shadowValue);
|
|
1133
|
+
if (opacity !== 1) {
|
|
1134
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'opacity', opacity.toString());
|
|
1135
|
+
}
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
923
1138
|
applyRadius(uiRadius) {
|
|
924
1139
|
if (uiRadius.topLeft) {
|
|
925
1140
|
const radius = radiusMapping[uiRadius.topLeft];
|
|
@@ -944,6 +1159,37 @@ class UIViewDirective {
|
|
|
944
1159
|
this.renderer.setStyle(this.elementRef.nativeElement, 'gap', spacingValue);
|
|
945
1160
|
}
|
|
946
1161
|
}
|
|
1162
|
+
applyHeight(height) {
|
|
1163
|
+
if (height) {
|
|
1164
|
+
const heightValue = dimensionMapping[height];
|
|
1165
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'height', heightValue);
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
applyWidth(width) {
|
|
1169
|
+
if (width) {
|
|
1170
|
+
const widthValue = dimensionMapping[width];
|
|
1171
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'width', widthValue);
|
|
1172
|
+
}
|
|
1173
|
+
}
|
|
1174
|
+
applyBorderWidth(borderWidth) {
|
|
1175
|
+
if (borderWidth !== null && borderWidth !== undefined) {
|
|
1176
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'border-width', `${borderWidth}px`);
|
|
1177
|
+
// Ensure border style is set, otherwise border-width won't be visible
|
|
1178
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'border-style', 'solid');
|
|
1179
|
+
}
|
|
1180
|
+
}
|
|
1181
|
+
applyBorderColor(borderColor) {
|
|
1182
|
+
if (borderColor) {
|
|
1183
|
+
const color = colorMapping[borderColor];
|
|
1184
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'border-color', color);
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
applyJustify(justify) {
|
|
1188
|
+
if (justify) {
|
|
1189
|
+
const justifyValue = justifyMapping[justify];
|
|
1190
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'justify-content', justifyValue);
|
|
1191
|
+
}
|
|
1192
|
+
}
|
|
947
1193
|
onClick(event) {
|
|
948
1194
|
if (this.disableClick)
|
|
949
1195
|
return;
|
|
@@ -1165,6 +1411,23 @@ class LabelComponent {
|
|
|
1165
1411
|
const opacity = element.opacity;
|
|
1166
1412
|
this.renderer.setStyle(this.spanElementRef.nativeElement, 'opacity', opacity);
|
|
1167
1413
|
}
|
|
1414
|
+
if (element.alignment) {
|
|
1415
|
+
const alignment = element.alignment.alignment;
|
|
1416
|
+
switch (alignment) {
|
|
1417
|
+
case UIAlignmentType.START: {
|
|
1418
|
+
this.renderer.setStyle(this.spanElementRef.nativeElement, 'text-align', 'left');
|
|
1419
|
+
break;
|
|
1420
|
+
}
|
|
1421
|
+
case UIAlignmentType.CENTER: {
|
|
1422
|
+
this.renderer.setStyle(this.spanElementRef.nativeElement, 'text-align', 'center');
|
|
1423
|
+
break;
|
|
1424
|
+
}
|
|
1425
|
+
case UIAlignmentType.END: {
|
|
1426
|
+
this.renderer.setStyle(this.spanElementRef.nativeElement, 'text-align', 'right');
|
|
1427
|
+
break;
|
|
1428
|
+
}
|
|
1429
|
+
}
|
|
1430
|
+
}
|
|
1168
1431
|
}
|
|
1169
1432
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }, { token: FontSizeMappingService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1170
1433
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LabelComponent, selector: "edm-sdui-label", viewQueries: [{ propertyName: "spanElementRef", first: true, predicate: ["spanElement"], descendants: true }], ngImport: i0, template: "<span #spanElement [edmSduiView]=\"uiComponent.element\" *ngIf=\"uiComponent\">{{\n uiComponent.element?.label ?? \"\"\n}}</span>\n", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
@@ -1607,6 +1870,19 @@ var UIAsset;
|
|
|
1607
1870
|
UIAsset["WAY_TASK_ON"] = "way_task_on";
|
|
1608
1871
|
UIAsset["WAY_TWO_OFF"] = "way_two_off";
|
|
1609
1872
|
UIAsset["WAY_TWO_ON"] = "way_two_on";
|
|
1873
|
+
UIAsset["BT_SUPPORT_IA"] = "bt_support_ia";
|
|
1874
|
+
UIAsset["IC_CHECK_PROFILE"] = "ic_check_profile";
|
|
1875
|
+
UIAsset["IC_DAYS_PROFILE"] = "ic_days_profile";
|
|
1876
|
+
UIAsset["IC_DOWNLOAD_PROFILE"] = "ic_download_profile";
|
|
1877
|
+
UIAsset["IC_HOUR_PROFILE"] = "ic_hour_profile";
|
|
1878
|
+
UIAsset["IC_LINK_GENERIC_PROFILE"] = "ic_link_generic_profile";
|
|
1879
|
+
UIAsset["IC_NOTIFICATION_PROFILE_OFF"] = "ic_notification_profile_off";
|
|
1880
|
+
UIAsset["IC_NOTIFICATION_PROFILE_ON"] = "ic_notification_profile_on";
|
|
1881
|
+
UIAsset["IC_POST_SAVE_MY_APP"] = "ic_post_save_my_app";
|
|
1882
|
+
UIAsset["IC_RANKING_PTS"] = "ic_ranking_pts";
|
|
1883
|
+
UIAsset["IC_RANKING_RANKING"] = "ic_ranking_ranking";
|
|
1884
|
+
UIAsset["BT_NEXT_PROFILE"] = "bt_next_profile";
|
|
1885
|
+
UIAsset["IC_SUPPORT_PROFILE"] = "ic_support_profile";
|
|
1610
1886
|
})(UIAsset || (UIAsset = {}));
|
|
1611
1887
|
|
|
1612
1888
|
const assetMapping = {
|
|
@@ -1961,6 +2237,19 @@ const assetMapping = {
|
|
|
1961
2237
|
[UIAsset.IC_LIKE_SEARCH_LIST]: 'assets/images/ic-like-search-list.svg',
|
|
1962
2238
|
[UIAsset.IC_SHARE_SEARCH_LIST]: 'assets/images/ic-share-search-list.svg',
|
|
1963
2239
|
[UIAsset.IC_LAST_SEARCH]: 'assets/images/ic-last-search.svg',
|
|
2240
|
+
[UIAsset.BT_SUPPORT_IA]: 'assets/images/bt-support-ia.svg',
|
|
2241
|
+
[UIAsset.IC_CHECK_PROFILE]: 'assets/images/ic-check-profile.svg',
|
|
2242
|
+
[UIAsset.IC_DAYS_PROFILE]: 'assets/images/ic-days-profile.svg',
|
|
2243
|
+
[UIAsset.IC_DOWNLOAD_PROFILE]: 'assets/images/ic-download-profile.svg',
|
|
2244
|
+
[UIAsset.IC_HOUR_PROFILE]: 'assets/images/ic-hour-profile.svg',
|
|
2245
|
+
[UIAsset.IC_LINK_GENERIC_PROFILE]: 'assets/images/ic-link-generic-profile.svg',
|
|
2246
|
+
[UIAsset.IC_NOTIFICATION_PROFILE_OFF]: 'assets/images/ic-notification-profile-off.svg',
|
|
2247
|
+
[UIAsset.IC_NOTIFICATION_PROFILE_ON]: 'assets/images/ic-notification-profile-on.svg',
|
|
2248
|
+
[UIAsset.IC_POST_SAVE_MY_APP]: 'assets/images/ic-post-save-my-app.svg',
|
|
2249
|
+
[UIAsset.IC_RANKING_PTS]: 'assets/images/ic-ranking-pts.svg',
|
|
2250
|
+
[UIAsset.IC_RANKING_RANKING]: 'assets/images/ic-ranking-ranking.svg',
|
|
2251
|
+
[UIAsset.BT_NEXT_PROFILE]: 'assets/images/bt-next-profile.svg',
|
|
2252
|
+
[UIAsset.IC_SUPPORT_PROFILE]: 'assets/images/ic-support-profile.svg',
|
|
1964
2253
|
};
|
|
1965
2254
|
|
|
1966
2255
|
class ButtonComponent {
|
|
@@ -2013,6 +2302,7 @@ var button_component = /*#__PURE__*/Object.freeze({
|
|
|
2013
2302
|
var UISize;
|
|
2014
2303
|
(function (UISize) {
|
|
2015
2304
|
UISize["THUMB_1"] = "thumb_1";
|
|
2305
|
+
UISize["THUMB_2"] = "thumb_2";
|
|
2016
2306
|
UISize["ASSET_1"] = "asset_1";
|
|
2017
2307
|
UISize["ASSET_2"] = "asset_2";
|
|
2018
2308
|
UISize["ASSET_3"] = "asset_3";
|
|
@@ -2024,10 +2314,11 @@ var UISize;
|
|
|
2024
2314
|
})(UISize || (UISize = {}));
|
|
2025
2315
|
|
|
2026
2316
|
const sizeMappingHeight = {
|
|
2317
|
+
[UISize.THUMB_1]: '56px',
|
|
2318
|
+
[UISize.THUMB_2]: '40px',
|
|
2027
2319
|
[UISize.ASSET_1]: '26px',
|
|
2028
2320
|
[UISize.ASSET_2]: '16px',
|
|
2029
2321
|
[UISize.ASSET_3]: '80px',
|
|
2030
|
-
[UISize.THUMB_1]: '56px',
|
|
2031
2322
|
[UISize.ASSET_4]: '60px',
|
|
2032
2323
|
[UISize.ASSET_5]: '18px',
|
|
2033
2324
|
[UISize.ASSET_6]: '20px',
|
|
@@ -2035,10 +2326,11 @@ const sizeMappingHeight = {
|
|
|
2035
2326
|
[UISize.ASSET_8]: '24px',
|
|
2036
2327
|
};
|
|
2037
2328
|
const sizeMappingWidth = {
|
|
2329
|
+
[UISize.THUMB_1]: '100px',
|
|
2330
|
+
[UISize.THUMB_2]: '105px',
|
|
2038
2331
|
[UISize.ASSET_1]: '26px',
|
|
2039
2332
|
[UISize.ASSET_2]: '16px',
|
|
2040
2333
|
[UISize.ASSET_3]: '80px',
|
|
2041
|
-
[UISize.THUMB_1]: '100px',
|
|
2042
2334
|
[UISize.ASSET_4]: '60px',
|
|
2043
2335
|
[UISize.ASSET_5]: '18px',
|
|
2044
2336
|
[UISize.ASSET_6]: '20px',
|
|
@@ -2070,6 +2362,9 @@ class ImageComponent {
|
|
|
2070
2362
|
const width = sizeMappingWidth[element.size];
|
|
2071
2363
|
this.renderer.setStyle(this.imgElementRef.nativeElement, 'height', height);
|
|
2072
2364
|
this.renderer.setStyle(this.imgElementRef.nativeElement, 'width', width);
|
|
2365
|
+
if (element.size === UISize.THUMB_2) {
|
|
2366
|
+
this.renderer.setStyle(this.imgElementRef.nativeElement, 'object-fit', 'contain');
|
|
2367
|
+
}
|
|
2073
2368
|
}
|
|
2074
2369
|
}
|
|
2075
2370
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -2448,7 +2743,7 @@ class SduiTranslationService {
|
|
|
2448
2743
|
pt: {
|
|
2449
2744
|
contentType: {
|
|
2450
2745
|
video: 'Vídeo',
|
|
2451
|
-
html: '
|
|
2746
|
+
html: 'Conteúdo',
|
|
2452
2747
|
sound: 'Áudio',
|
|
2453
2748
|
file: 'Arquivo',
|
|
2454
2749
|
quiz: 'Questionário',
|
|
@@ -2457,7 +2752,7 @@ class SduiTranslationService {
|
|
|
2457
2752
|
en: {
|
|
2458
2753
|
contentType: {
|
|
2459
2754
|
video: 'Video',
|
|
2460
|
-
html: '
|
|
2755
|
+
html: 'Content',
|
|
2461
2756
|
sound: 'Audio',
|
|
2462
2757
|
file: 'File',
|
|
2463
2758
|
quiz: 'Quiz',
|
|
@@ -2652,6 +2947,197 @@ var picker_component = /*#__PURE__*/Object.freeze({
|
|
|
2652
2947
|
PickerComponent: PickerComponent
|
|
2653
2948
|
});
|
|
2654
2949
|
|
|
2950
|
+
class ScrollableRowComponent {
|
|
2951
|
+
constructor(uiComponent, renderer) {
|
|
2952
|
+
this.uiComponent = uiComponent;
|
|
2953
|
+
this.renderer = renderer;
|
|
2954
|
+
}
|
|
2955
|
+
ngOnInit() {
|
|
2956
|
+
}
|
|
2957
|
+
ngAfterViewInit() {
|
|
2958
|
+
if (this.uiComponent.element) {
|
|
2959
|
+
this.applyElement(this.uiComponent.element);
|
|
2960
|
+
}
|
|
2961
|
+
this.scroll();
|
|
2962
|
+
}
|
|
2963
|
+
applyElement(element) {
|
|
2964
|
+
}
|
|
2965
|
+
scroll() {
|
|
2966
|
+
const scrollContainer = this.scrollableRowElementRef.nativeElement;
|
|
2967
|
+
let isDown = false;
|
|
2968
|
+
let startX = 0;
|
|
2969
|
+
let scrollLeft = 0;
|
|
2970
|
+
this.renderer.listen(scrollContainer, 'mousedown', (e) => {
|
|
2971
|
+
isDown = true;
|
|
2972
|
+
scrollContainer.classList.add('scrolling');
|
|
2973
|
+
startX = e.pageX - scrollContainer.offsetLeft;
|
|
2974
|
+
scrollLeft = scrollContainer.scrollLeft;
|
|
2975
|
+
});
|
|
2976
|
+
this.renderer.listen(scrollContainer, 'mouseleave', () => {
|
|
2977
|
+
isDown = false;
|
|
2978
|
+
scrollContainer.classList.remove('scrolling');
|
|
2979
|
+
});
|
|
2980
|
+
this.renderer.listen(scrollContainer, 'mouseup', () => {
|
|
2981
|
+
isDown = false;
|
|
2982
|
+
scrollContainer.classList.remove('scrolling');
|
|
2983
|
+
});
|
|
2984
|
+
this.renderer.listen(scrollContainer, 'mousemove', (e) => {
|
|
2985
|
+
if (!isDown)
|
|
2986
|
+
return;
|
|
2987
|
+
e.preventDefault();
|
|
2988
|
+
const x = e.pageX - scrollContainer.offsetLeft;
|
|
2989
|
+
const walk = (x - startX) * 1.5;
|
|
2990
|
+
scrollContainer.scrollLeft = scrollLeft - walk;
|
|
2991
|
+
});
|
|
2992
|
+
}
|
|
2993
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollableRowComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2994
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScrollableRowComponent, selector: "edm-sdui-scrollable-row", viewQueries: [{ propertyName: "scrollableRowElementRef", first: true, predicate: ["scrollableRowElement"], descendants: true }], ngImport: i0, template: "<div\n #scrollableRowElement\n [edmSduiView]=\"uiComponent.element\"\n class=\"scrollable-row\"\n *ngIf=\"uiComponent\"\n>\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.scrollable-row{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;white-space:nowrap;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:pointer}.scrollable-row::-webkit-scrollbar{display:none}.scrollable-row>*{flex-shrink:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
2995
|
+
}
|
|
2996
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollableRowComponent, decorators: [{
|
|
2997
|
+
type: Component,
|
|
2998
|
+
args: [{ selector: 'edm-sdui-scrollable-row', standalone: false, template: "<div\n #scrollableRowElement\n [edmSduiView]=\"uiComponent.element\"\n class=\"scrollable-row\"\n *ngIf=\"uiComponent\"\n>\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.scrollable-row{display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;white-space:nowrap;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:pointer}.scrollable-row::-webkit-scrollbar{display:none}.scrollable-row>*{flex-shrink:0}\n"] }]
|
|
2999
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
3000
|
+
type: Inject,
|
|
3001
|
+
args: ['uiComponent']
|
|
3002
|
+
}] }, { type: i0.Renderer2 }], propDecorators: { scrollableRowElementRef: [{
|
|
3003
|
+
type: ViewChild,
|
|
3004
|
+
args: ['scrollableRowElement']
|
|
3005
|
+
}] } });
|
|
3006
|
+
|
|
3007
|
+
var scrollableRow_component = /*#__PURE__*/Object.freeze({
|
|
3008
|
+
__proto__: null,
|
|
3009
|
+
ScrollableRowComponent: ScrollableRowComponent
|
|
3010
|
+
});
|
|
3011
|
+
|
|
3012
|
+
class ScrollableColumnComponent {
|
|
3013
|
+
constructor(uiComponent, renderer) {
|
|
3014
|
+
this.uiComponent = uiComponent;
|
|
3015
|
+
this.renderer = renderer;
|
|
3016
|
+
}
|
|
3017
|
+
ngOnInit() {
|
|
3018
|
+
}
|
|
3019
|
+
ngAfterViewInit() {
|
|
3020
|
+
if (this.uiComponent.element) {
|
|
3021
|
+
this.applyElement(this.uiComponent.element);
|
|
3022
|
+
}
|
|
3023
|
+
}
|
|
3024
|
+
applyElement(element) {
|
|
3025
|
+
}
|
|
3026
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollableColumnComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3027
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ScrollableColumnComponent, selector: "edm-sdui-scrollable-column", viewQueries: [{ propertyName: "scrollableColumnElementRef", first: true, predicate: ["scrollableColumnElement"], descendants: true }], ngImport: i0, template: "<div\n #scrollableColumnElement\n [edmSduiView]=\"uiComponent.element\"\n class=\"scrollable-column\"\n *ngIf=\"uiComponent\"\n>\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.scrollable-column{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;height:100%;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scrollable-column::-webkit-scrollbar{display:none}.scrollable-column>*{flex-shrink:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UIComponentComponent, selector: "edm-sdui-component", inputs: ["uiComponent", "translateLabel"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
3028
|
+
}
|
|
3029
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScrollableColumnComponent, decorators: [{
|
|
3030
|
+
type: Component,
|
|
3031
|
+
args: [{ selector: 'edm-sdui-scrollable-column', standalone: false, template: "<div\n #scrollableColumnElement\n [edmSduiView]=\"uiComponent.element\"\n class=\"scrollable-column\"\n *ngIf=\"uiComponent\"\n>\n <edm-sdui-component\n *ngFor=\"let component of uiComponent.components\"\n [uiComponent]=\"component\"\n >\n </edm-sdui-component>\n</div>\n", styles: [":host{display:contents}.scrollable-column{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;height:100%;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}.scrollable-column::-webkit-scrollbar{display:none}.scrollable-column>*{flex-shrink:0}\n"] }]
|
|
3032
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
3033
|
+
type: Inject,
|
|
3034
|
+
args: ['uiComponent']
|
|
3035
|
+
}] }, { type: i0.Renderer2 }], propDecorators: { scrollableColumnElementRef: [{
|
|
3036
|
+
type: ViewChild,
|
|
3037
|
+
args: ['scrollableColumnElement']
|
|
3038
|
+
}] } });
|
|
3039
|
+
|
|
3040
|
+
var scrollableColumn_component = /*#__PURE__*/Object.freeze({
|
|
3041
|
+
__proto__: null,
|
|
3042
|
+
ScrollableColumnComponent: ScrollableColumnComponent
|
|
3043
|
+
});
|
|
3044
|
+
|
|
3045
|
+
class ProfileButtonComponent {
|
|
3046
|
+
constructor(uiComponent, renderer, fontSizeMappingService) {
|
|
3047
|
+
this.uiComponent = uiComponent;
|
|
3048
|
+
this.renderer = renderer;
|
|
3049
|
+
this.fontSizeMappingService = fontSizeMappingService;
|
|
3050
|
+
}
|
|
3051
|
+
ngOnInit() {
|
|
3052
|
+
}
|
|
3053
|
+
ngAfterViewInit() {
|
|
3054
|
+
if (this.uiComponent.element) {
|
|
3055
|
+
this.applyElement(this.uiComponent.element);
|
|
3056
|
+
}
|
|
3057
|
+
}
|
|
3058
|
+
applyElement(element) {
|
|
3059
|
+
if (element.textColor) {
|
|
3060
|
+
const color = colorMapping[element.textColor];
|
|
3061
|
+
this.renderer.setStyle(this.profileButtonElementRef.nativeElement, 'color', color);
|
|
3062
|
+
}
|
|
3063
|
+
if (element.textStyle) {
|
|
3064
|
+
const textStyleMappingFontSize = this.fontSizeMappingService.getMapping();
|
|
3065
|
+
const fontSize = textStyleMappingFontSize[element.textStyle];
|
|
3066
|
+
this.renderer.setStyle(this.profileButtonElementRef.nativeElement, 'font-size', fontSize);
|
|
3067
|
+
}
|
|
3068
|
+
this.renderer.setStyle(this.profileButtonLabelElementRef.nativeElement, 'font-size', this.fontSizeMappingService.getMapping()[UITextStyle.CAPTION_2]);
|
|
3069
|
+
this.renderer.setStyle(this.profileButtonLabelElementRef.nativeElement, 'color', colorMapping[UIColor.MAIN1]);
|
|
3070
|
+
}
|
|
3071
|
+
getAssetPath(asset) {
|
|
3072
|
+
return assetMapping[asset];
|
|
3073
|
+
}
|
|
3074
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileButtonComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }, { token: FontSizeMappingService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3075
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProfileButtonComponent, selector: "edm-sdui-profile-button", viewQueries: [{ propertyName: "profileButtonElementRef", first: true, predicate: ["profileButtonElement"], descendants: true }, { propertyName: "profileButtonLabelElementRef", first: true, predicate: ["profileButtonLabelElement"], descendants: true }, { propertyName: "profileButtonImageElementRef", first: true, predicate: ["profileButtonImageElement"], descendants: true }], ngImport: i0, template: "<button #profileButtonElement [edmSduiView]=\"uiComponent.element\" class=\"profile-button\" *ngIf=\"uiComponent\">\n <img #profileButtonImageElement *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"Profile\" class=\"profile-image\">\n <span #profileButtonLabelElement class=\"profile-label\">{{ uiComponent.element.label }}</span>\n</button>\n", styles: [":host{display:contents}.profile-button{display:flex;padding:16px 16px 0;border-radius:20px;background-color:var(--bt-profile);border:none;cursor:pointer;flex-direction:column;height:108px;width:108px;align-items:start;justify-content:start;gap:24px;margin-bottom:8px}.profile-button:hover{background-color:#0000000d;cursor:pointer}.profile-button .profile-image{width:24px;height:24px}.profile-button .profile-label{white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%;display:block;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
3076
|
+
}
|
|
3077
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProfileButtonComponent, decorators: [{
|
|
3078
|
+
type: Component,
|
|
3079
|
+
args: [{ selector: 'edm-sdui-profile-button', standalone: false, template: "<button #profileButtonElement [edmSduiView]=\"uiComponent.element\" class=\"profile-button\" *ngIf=\"uiComponent\">\n <img #profileButtonImageElement *ngIf=\"uiComponent.element.asset\" [src]=\"getAssetPath(uiComponent.element.asset)\" alt=\"Profile\" class=\"profile-image\">\n <span #profileButtonLabelElement class=\"profile-label\">{{ uiComponent.element.label }}</span>\n</button>\n", styles: [":host{display:contents}.profile-button{display:flex;padding:16px 16px 0;border-radius:20px;background-color:var(--bt-profile);border:none;cursor:pointer;flex-direction:column;height:108px;width:108px;align-items:start;justify-content:start;gap:24px;margin-bottom:8px}.profile-button:hover{background-color:#0000000d;cursor:pointer}.profile-button .profile-image{width:24px;height:24px}.profile-button .profile-label{white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%;display:block;text-align:left}\n"] }]
|
|
3080
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
3081
|
+
type: Inject,
|
|
3082
|
+
args: ['uiComponent']
|
|
3083
|
+
}] }, { type: i0.Renderer2 }, { type: FontSizeMappingService }], propDecorators: { profileButtonElementRef: [{
|
|
3084
|
+
type: ViewChild,
|
|
3085
|
+
args: ['profileButtonElement']
|
|
3086
|
+
}], profileButtonLabelElementRef: [{
|
|
3087
|
+
type: ViewChild,
|
|
3088
|
+
args: ['profileButtonLabelElement']
|
|
3089
|
+
}], profileButtonImageElementRef: [{
|
|
3090
|
+
type: ViewChild,
|
|
3091
|
+
args: ['profileButtonImageElement']
|
|
3092
|
+
}] } });
|
|
3093
|
+
|
|
3094
|
+
var profileButton_component = /*#__PURE__*/Object.freeze({
|
|
3095
|
+
__proto__: null,
|
|
3096
|
+
ProfileButtonComponent: ProfileButtonComponent
|
|
3097
|
+
});
|
|
3098
|
+
|
|
3099
|
+
class ProgressBarComponent {
|
|
3100
|
+
constructor(uiComponent, renderer) {
|
|
3101
|
+
this.uiComponent = uiComponent;
|
|
3102
|
+
this.renderer = renderer;
|
|
3103
|
+
}
|
|
3104
|
+
ngOnInit() {
|
|
3105
|
+
}
|
|
3106
|
+
ngAfterViewInit() {
|
|
3107
|
+
if (this.uiComponent.element) {
|
|
3108
|
+
this.applyElement(this.uiComponent.element);
|
|
3109
|
+
}
|
|
3110
|
+
}
|
|
3111
|
+
applyElement(element) {
|
|
3112
|
+
// Set progress value if available
|
|
3113
|
+
if (element.progress) {
|
|
3114
|
+
const progressValue = Math.min(Math.max(element.progress, 0), 1) * 100;
|
|
3115
|
+
this.renderer.setStyle(this.progressFillElementRef.nativeElement, 'width', `${progressValue}%`);
|
|
3116
|
+
}
|
|
3117
|
+
if (element.progressColor) {
|
|
3118
|
+
const color = colorMapping[element.progressColor];
|
|
3119
|
+
this.renderer.setStyle(this.progressFillElementRef.nativeElement, 'background-color', color);
|
|
3120
|
+
}
|
|
3121
|
+
}
|
|
3122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressBarComponent, deps: [{ token: 'uiComponent' }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProgressBarComponent, selector: "edm-sdui-progress-bar", viewQueries: [{ propertyName: "progressFillElementRef", first: true, predicate: ["progressFillElement"], descendants: true }], ngImport: i0, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin:8px 0}.progress-bar-container .progress-bar-fill{height:100%;width:0;background-color:#2196f3;transition:width .3s ease}.progress-bar-container .progress-bar-label{position:absolute;top:100%;left:0;width:100%;text-align:center;font-size:12px;margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: UIViewDirective, selector: "[edmSduiView]", inputs: ["edmSduiView", "disableClick"] }] }); }
|
|
3124
|
+
}
|
|
3125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
3126
|
+
type: Component,
|
|
3127
|
+
args: [{ selector: 'edm-sdui-progress-bar', standalone: false, template: "<div [edmSduiView]=\"uiComponent.element\" class=\"progress-bar-container\" *ngIf=\"uiComponent\">\n <div #progressFillElement class=\"progress-bar-fill\"></div>\n</div>\n", styles: [":host{display:contents}.progress-bar-container{position:relative;width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin:8px 0}.progress-bar-container .progress-bar-fill{height:100%;width:0;background-color:#2196f3;transition:width .3s ease}.progress-bar-container .progress-bar-label{position:absolute;top:100%;left:0;width:100%;text-align:center;font-size:12px;margin-top:4px}\n"] }]
|
|
3128
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
3129
|
+
type: Inject,
|
|
3130
|
+
args: ['uiComponent']
|
|
3131
|
+
}] }, { type: i0.Renderer2 }], propDecorators: { progressFillElementRef: [{
|
|
3132
|
+
type: ViewChild,
|
|
3133
|
+
args: ['progressFillElement']
|
|
3134
|
+
}] } });
|
|
3135
|
+
|
|
3136
|
+
var progressBar_component = /*#__PURE__*/Object.freeze({
|
|
3137
|
+
__proto__: null,
|
|
3138
|
+
ProgressBarComponent: ProgressBarComponent
|
|
3139
|
+
});
|
|
3140
|
+
|
|
2655
3141
|
class SduiModule {
|
|
2656
3142
|
static forRoot(config) {
|
|
2657
3143
|
return {
|
|
@@ -2695,6 +3181,10 @@ class SduiModule {
|
|
|
2695
3181
|
MediaTypeComponent,
|
|
2696
3182
|
PickerComponent,
|
|
2697
3183
|
PickerItemComponent,
|
|
3184
|
+
ScrollableRowComponent,
|
|
3185
|
+
ScrollableColumnComponent,
|
|
3186
|
+
ProfileButtonComponent,
|
|
3187
|
+
ProgressBarComponent,
|
|
2698
3188
|
// diretivas
|
|
2699
3189
|
UIViewDirective,
|
|
2700
3190
|
// navegação
|
|
@@ -2729,6 +3219,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2729
3219
|
MediaTypeComponent,
|
|
2730
3220
|
PickerComponent,
|
|
2731
3221
|
PickerItemComponent,
|
|
3222
|
+
ScrollableRowComponent,
|
|
3223
|
+
ScrollableColumnComponent,
|
|
3224
|
+
ProfileButtonComponent,
|
|
3225
|
+
ProgressBarComponent,
|
|
2732
3226
|
// diretivas
|
|
2733
3227
|
UIViewDirective,
|
|
2734
3228
|
// navegação
|