@edm-sdui/sdui 1.0.13 → 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/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 +498 -7
- 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/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 {
|
|
@@ -431,6 +451,8 @@ var UISpacingLevel;
|
|
|
431
451
|
UISpacingLevel["S2"] = "s2";
|
|
432
452
|
UISpacingLevel["S3"] = "s3";
|
|
433
453
|
UISpacingLevel["S4"] = "s4";
|
|
454
|
+
UISpacingLevel["S5"] = "s5";
|
|
455
|
+
UISpacingLevel["S6"] = "s6";
|
|
434
456
|
})(UISpacingLevel || (UISpacingLevel = {}));
|
|
435
457
|
|
|
436
458
|
const spaceMapping = {
|
|
@@ -438,6 +460,8 @@ const spaceMapping = {
|
|
|
438
460
|
[UISpacingLevel.S2]: '8px',
|
|
439
461
|
[UISpacingLevel.S3]: '16px',
|
|
440
462
|
[UISpacingLevel.S4]: '24px',
|
|
463
|
+
[UISpacingLevel.S5]: '32px',
|
|
464
|
+
[UISpacingLevel.S6]: '40px',
|
|
441
465
|
};
|
|
442
466
|
|
|
443
467
|
var UIColor;
|
|
@@ -756,12 +780,142 @@ const alignmentMapping = {
|
|
|
756
780
|
[UIAlignmentType.START]: 'start',
|
|
757
781
|
};
|
|
758
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
|
+
|
|
759
912
|
var UIActionType;
|
|
760
913
|
(function (UIActionType) {
|
|
761
914
|
// navegação
|
|
762
915
|
UIActionType["INTERNAL_URL"] = "INTERNAL_URL";
|
|
763
916
|
UIActionType["RELOAD_INTERNAL_URL"] = "RELOAD_INTERNAL_URL";
|
|
764
917
|
UIActionType["DISMISS_TO_SCENE"] = "DISMISS_TO_SCENE";
|
|
918
|
+
UIActionType["EXTERNAL_URL"] = "EXTERNAL_URL";
|
|
765
919
|
// paywall
|
|
766
920
|
UIActionType["PAYWALL"] = "PAYWALL";
|
|
767
921
|
UIActionType["REGISTER"] = "REGISTER";
|
|
@@ -806,6 +960,11 @@ class UIActionService {
|
|
|
806
960
|
}
|
|
807
961
|
}
|
|
808
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
|
+
}
|
|
809
968
|
// Outros tipos de ação podem ser adicionados aqui
|
|
810
969
|
}
|
|
811
970
|
}
|
|
@@ -838,6 +997,30 @@ class UIActionService {
|
|
|
838
997
|
this.router.navigate(['comunidade', 'postagem', postId], { queryParams: { from: 'sdui' } });
|
|
839
998
|
return true;
|
|
840
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
|
+
}
|
|
841
1024
|
return false; // nenhum dos casos especiais foi tratado
|
|
842
1025
|
}
|
|
843
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 }); }
|
|
@@ -884,23 +1067,38 @@ class UIViewDirective {
|
|
|
884
1067
|
if (uiView.spacing) {
|
|
885
1068
|
this.applySpacing(uiView.spacing);
|
|
886
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
|
+
}
|
|
887
1085
|
}
|
|
888
1086
|
applyPadding(uiPadding) {
|
|
889
1087
|
if (uiPadding.top) {
|
|
890
1088
|
const padValue = padMapping[uiPadding.top];
|
|
891
|
-
this.renderer.setStyle(this.elementRef.nativeElement, '
|
|
1089
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'padding-top', padValue);
|
|
892
1090
|
}
|
|
893
1091
|
if (uiPadding.left) {
|
|
894
1092
|
const padValue = padMapping[uiPadding.left];
|
|
895
|
-
this.renderer.setStyle(this.elementRef.nativeElement, '
|
|
1093
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'padding-left', padValue);
|
|
896
1094
|
}
|
|
897
1095
|
if (uiPadding.right) {
|
|
898
1096
|
const padValue = padMapping[uiPadding.right];
|
|
899
|
-
this.renderer.setStyle(this.elementRef.nativeElement, '
|
|
1097
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'padding-right', padValue);
|
|
900
1098
|
}
|
|
901
1099
|
if (uiPadding.bottom) {
|
|
902
1100
|
const padValue = padMapping[uiPadding.bottom];
|
|
903
|
-
this.renderer.setStyle(this.elementRef.nativeElement, '
|
|
1101
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'padding-bottom', padValue);
|
|
904
1102
|
}
|
|
905
1103
|
}
|
|
906
1104
|
applyBackground(uiBackground) {
|
|
@@ -922,7 +1120,21 @@ class UIViewDirective {
|
|
|
922
1120
|
this.renderer.setStyle(this.elementRef.nativeElement, 'align-items', alignment);
|
|
923
1121
|
}
|
|
924
1122
|
}
|
|
925
|
-
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
|
+
}
|
|
926
1138
|
applyRadius(uiRadius) {
|
|
927
1139
|
if (uiRadius.topLeft) {
|
|
928
1140
|
const radius = radiusMapping[uiRadius.topLeft];
|
|
@@ -947,6 +1159,37 @@ class UIViewDirective {
|
|
|
947
1159
|
this.renderer.setStyle(this.elementRef.nativeElement, 'gap', spacingValue);
|
|
948
1160
|
}
|
|
949
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
|
+
}
|
|
950
1193
|
onClick(event) {
|
|
951
1194
|
if (this.disableClick)
|
|
952
1195
|
return;
|
|
@@ -1168,6 +1411,23 @@ class LabelComponent {
|
|
|
1168
1411
|
const opacity = element.opacity;
|
|
1169
1412
|
this.renderer.setStyle(this.spanElementRef.nativeElement, 'opacity', opacity);
|
|
1170
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
|
+
}
|
|
1171
1431
|
}
|
|
1172
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 }); }
|
|
1173
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"] }] }); }
|
|
@@ -1610,6 +1870,19 @@ var UIAsset;
|
|
|
1610
1870
|
UIAsset["WAY_TASK_ON"] = "way_task_on";
|
|
1611
1871
|
UIAsset["WAY_TWO_OFF"] = "way_two_off";
|
|
1612
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";
|
|
1613
1886
|
})(UIAsset || (UIAsset = {}));
|
|
1614
1887
|
|
|
1615
1888
|
const assetMapping = {
|
|
@@ -1964,6 +2237,19 @@ const assetMapping = {
|
|
|
1964
2237
|
[UIAsset.IC_LIKE_SEARCH_LIST]: 'assets/images/ic-like-search-list.svg',
|
|
1965
2238
|
[UIAsset.IC_SHARE_SEARCH_LIST]: 'assets/images/ic-share-search-list.svg',
|
|
1966
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',
|
|
1967
2253
|
};
|
|
1968
2254
|
|
|
1969
2255
|
class ButtonComponent {
|
|
@@ -2016,6 +2302,7 @@ var button_component = /*#__PURE__*/Object.freeze({
|
|
|
2016
2302
|
var UISize;
|
|
2017
2303
|
(function (UISize) {
|
|
2018
2304
|
UISize["THUMB_1"] = "thumb_1";
|
|
2305
|
+
UISize["THUMB_2"] = "thumb_2";
|
|
2019
2306
|
UISize["ASSET_1"] = "asset_1";
|
|
2020
2307
|
UISize["ASSET_2"] = "asset_2";
|
|
2021
2308
|
UISize["ASSET_3"] = "asset_3";
|
|
@@ -2027,10 +2314,11 @@ var UISize;
|
|
|
2027
2314
|
})(UISize || (UISize = {}));
|
|
2028
2315
|
|
|
2029
2316
|
const sizeMappingHeight = {
|
|
2317
|
+
[UISize.THUMB_1]: '56px',
|
|
2318
|
+
[UISize.THUMB_2]: '40px',
|
|
2030
2319
|
[UISize.ASSET_1]: '26px',
|
|
2031
2320
|
[UISize.ASSET_2]: '16px',
|
|
2032
2321
|
[UISize.ASSET_3]: '80px',
|
|
2033
|
-
[UISize.THUMB_1]: '56px',
|
|
2034
2322
|
[UISize.ASSET_4]: '60px',
|
|
2035
2323
|
[UISize.ASSET_5]: '18px',
|
|
2036
2324
|
[UISize.ASSET_6]: '20px',
|
|
@@ -2038,10 +2326,11 @@ const sizeMappingHeight = {
|
|
|
2038
2326
|
[UISize.ASSET_8]: '24px',
|
|
2039
2327
|
};
|
|
2040
2328
|
const sizeMappingWidth = {
|
|
2329
|
+
[UISize.THUMB_1]: '100px',
|
|
2330
|
+
[UISize.THUMB_2]: '105px',
|
|
2041
2331
|
[UISize.ASSET_1]: '26px',
|
|
2042
2332
|
[UISize.ASSET_2]: '16px',
|
|
2043
2333
|
[UISize.ASSET_3]: '80px',
|
|
2044
|
-
[UISize.THUMB_1]: '100px',
|
|
2045
2334
|
[UISize.ASSET_4]: '60px',
|
|
2046
2335
|
[UISize.ASSET_5]: '18px',
|
|
2047
2336
|
[UISize.ASSET_6]: '20px',
|
|
@@ -2073,6 +2362,9 @@ class ImageComponent {
|
|
|
2073
2362
|
const width = sizeMappingWidth[element.size];
|
|
2074
2363
|
this.renderer.setStyle(this.imgElementRef.nativeElement, 'height', height);
|
|
2075
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
|
+
}
|
|
2076
2368
|
}
|
|
2077
2369
|
}
|
|
2078
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 }); }
|
|
@@ -2655,6 +2947,197 @@ var picker_component = /*#__PURE__*/Object.freeze({
|
|
|
2655
2947
|
PickerComponent: PickerComponent
|
|
2656
2948
|
});
|
|
2657
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
|
+
|
|
2658
3141
|
class SduiModule {
|
|
2659
3142
|
static forRoot(config) {
|
|
2660
3143
|
return {
|
|
@@ -2698,6 +3181,10 @@ class SduiModule {
|
|
|
2698
3181
|
MediaTypeComponent,
|
|
2699
3182
|
PickerComponent,
|
|
2700
3183
|
PickerItemComponent,
|
|
3184
|
+
ScrollableRowComponent,
|
|
3185
|
+
ScrollableColumnComponent,
|
|
3186
|
+
ProfileButtonComponent,
|
|
3187
|
+
ProgressBarComponent,
|
|
2701
3188
|
// diretivas
|
|
2702
3189
|
UIViewDirective,
|
|
2703
3190
|
// navegação
|
|
@@ -2732,6 +3219,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2732
3219
|
MediaTypeComponent,
|
|
2733
3220
|
PickerComponent,
|
|
2734
3221
|
PickerItemComponent,
|
|
3222
|
+
ScrollableRowComponent,
|
|
3223
|
+
ScrollableColumnComponent,
|
|
3224
|
+
ProfileButtonComponent,
|
|
3225
|
+
ProgressBarComponent,
|
|
2735
3226
|
// diretivas
|
|
2736
3227
|
UIViewDirective,
|
|
2737
3228
|
// navegação
|