@genexus/genexus-ide-ui 1.0.30 → 1.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +133 -0
  3. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +79 -0
  5. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +123 -0
  7. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -0
  8. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +62 -0
  9. package/dist/cjs/gx-ide-sign-in.cjs.entry.js.map +1 -0
  10. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/collection-manifest.json +4 -0
  14. package/dist/collection/components/current-user-info/current-user-info.css +55 -0
  15. package/dist/collection/components/current-user-info/current-user-info.js +280 -0
  16. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -0
  17. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.en.json +10 -0
  18. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.ja.json +10 -0
  19. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.zh.json +10 -0
  20. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/shortcuts.json +15 -0
  21. package/dist/collection/components/current-user-info/helpers.js +10 -0
  22. package/dist/collection/components/current-user-info/helpers.js.map +1 -0
  23. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/images/copyrights-illustration.png +0 -0
  24. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/images/icon-next.svg +4 -0
  25. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +10 -0
  26. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +10 -0
  27. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +10 -0
  28. package/dist/collection/components/select-user-team/helpers.js +9 -0
  29. package/dist/collection/components/select-user-team/helpers.js.map +1 -0
  30. package/dist/collection/components/select-user-team/select-user-team.css +62 -0
  31. package/dist/collection/components/select-user-team/select-user-team.js +118 -0
  32. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -0
  33. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/images/copyrights-illustration.png +0 -0
  34. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/images/icon-next.svg +4 -0
  35. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/langs/sign-in.lang.en.json +10 -0
  36. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/langs/sign-in.lang.ja.json +10 -0
  37. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/langs/sign-in.lang.zh.json +10 -0
  38. package/dist/collection/components/sign-in/sign-in.css +60 -0
  39. package/dist/collection/components/sign-in/sign-in.js +108 -0
  40. package/dist/collection/components/sign-in/sign-in.js.map +1 -0
  41. package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/images/copyrights-illustration.png +0 -0
  42. package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/images/icon-next.svg +4 -0
  43. package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json +18 -0
  44. package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json +18 -0
  45. package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.zh.json +18 -0
  46. package/dist/collection/components/sign-in-team/helpers.js +10 -0
  47. package/dist/collection/components/sign-in-team/helpers.js.map +1 -0
  48. package/dist/collection/components/sign-in-team/sign-in-team.css +92 -0
  49. package/dist/collection/components/sign-in-team/sign-in-team.js +234 -0
  50. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -0
  51. package/dist/collection/components/splash/splash.js +1 -1
  52. package/dist/collection/components/splash/splash.js.map +1 -1
  53. package/dist/collection/testing/locale.e2e.js +4 -0
  54. package/dist/collection/testing/locale.e2e.js.map +1 -1
  55. package/dist/components/gx-ide-current-user-info.d.ts +11 -0
  56. package/dist/components/gx-ide-current-user-info.js +156 -0
  57. package/dist/components/gx-ide-current-user-info.js.map +1 -0
  58. package/dist/components/gx-ide-select-user-team.d.ts +11 -0
  59. package/dist/components/gx-ide-select-user-team.js +96 -0
  60. package/dist/components/gx-ide-select-user-team.js.map +1 -0
  61. package/dist/components/gx-ide-sign-in-team.d.ts +11 -0
  62. package/dist/components/gx-ide-sign-in-team.js +147 -0
  63. package/dist/components/gx-ide-sign-in-team.js.map +1 -0
  64. package/dist/components/gx-ide-sign-in.d.ts +11 -0
  65. package/dist/components/gx-ide-sign-in.js +79 -0
  66. package/dist/components/gx-ide-sign-in.js.map +1 -0
  67. package/dist/components/gx-ide-splash.js +1 -1
  68. package/dist/components/gx-ide-splash.js.map +1 -1
  69. package/dist/esm/genexus-ide-ui.js +1 -1
  70. package/dist/esm/gx-ide-current-user-info.entry.js +129 -0
  71. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -0
  72. package/dist/esm/gx-ide-select-user-team.entry.js +75 -0
  73. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -0
  74. package/dist/esm/gx-ide-sign-in-team.entry.js +119 -0
  75. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -0
  76. package/dist/esm/gx-ide-sign-in.entry.js +58 -0
  77. package/dist/esm/gx-ide-sign-in.entry.js.map +1 -0
  78. package/dist/esm/gx-ide-splash.entry.js +1 -1
  79. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  80. package/dist/esm/loader.js +1 -1
  81. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  82. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  83. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.en.json +10 -0
  84. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.ja.json +10 -0
  85. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.zh.json +10 -0
  86. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/shortcuts.json +15 -0
  87. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/images/copyrights-illustration.png +0 -0
  88. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/images/icon-next.svg +4 -0
  89. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +10 -0
  90. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +10 -0
  91. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +10 -0
  92. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/images/copyrights-illustration.png +0 -0
  93. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/images/icon-next.svg +4 -0
  94. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/langs/sign-in.lang.en.json +10 -0
  95. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/langs/sign-in.lang.ja.json +10 -0
  96. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/langs/sign-in.lang.zh.json +10 -0
  97. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/images/copyrights-illustration.png +0 -0
  98. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/images/icon-next.svg +4 -0
  99. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json +18 -0
  100. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json +18 -0
  101. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.zh.json +18 -0
  102. package/dist/genexus-ide-ui/p-90c8cb0d.entry.js +92 -0
  103. package/dist/genexus-ide-ui/p-90c8cb0d.entry.js.map +1 -0
  104. package/dist/genexus-ide-ui/p-b189e45d.entry.js +113 -0
  105. package/dist/genexus-ide-ui/p-b189e45d.entry.js.map +1 -0
  106. package/dist/genexus-ide-ui/p-edd6ebef.entry.js +149 -0
  107. package/dist/genexus-ide-ui/p-edd6ebef.entry.js.map +1 -0
  108. package/dist/genexus-ide-ui/{p-3c3b276e.entry.js → p-f0efd16f.entry.js} +2 -2
  109. package/dist/genexus-ide-ui/{p-3c3b276e.entry.js.map → p-f0efd16f.entry.js.map} +1 -1
  110. package/dist/genexus-ide-ui/p-fe063c9e.entry.js +162 -0
  111. package/dist/genexus-ide-ui/p-fe063c9e.entry.js.map +1 -0
  112. package/dist/types/components/current-user-info/current-user-info.d.ts +40 -0
  113. package/dist/types/components/current-user-info/helpers.d.ts +1 -0
  114. package/dist/types/components/select-user-team/helpers.d.ts +3 -0
  115. package/dist/types/components/select-user-team/select-user-team.d.ts +18 -0
  116. package/dist/types/components/sign-in/sign-in.d.ts +14 -0
  117. package/dist/types/components/sign-in-team/helpers.d.ts +3 -0
  118. package/dist/types/components/sign-in-team/sign-in-team.d.ts +42 -0
  119. package/dist/types/components.d.ts +186 -0
  120. package/package.json +3 -3
@@ -0,0 +1,149 @@
1
+ import { r as e, h as t, H as i, g as o } from "./p-49712340.js";
2
+
3
+ import { g as r } from "./p-7d4c5a43.js";
4
+
5
+ import { L as n } from "./p-311eedf3.js";
6
+
7
+ const getInitialsFromName = e => {
8
+ const t = e.split(" ");
9
+ if (t.length === 1) {
10
+ return t[0][0].toUpperCase();
11
+ } else {
12
+ return `${t[0][0].toUpperCase()}${t[1][0].toUpperCase()}`;
13
+ }
14
+ };
15
+
16
+ const s = "@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host{display:inline-grid;justify-items:end}.user-login__button{all:unset;display:grid;grid-template-columns:max-content max-content max-content;align-items:center;gap:var(--mer-spacing--md);block-size:auto;cursor:pointer}.user-login__details{display:grid;grid-template-rows:max-content max-content;gap:var(--mer-spacing--3xs);justify-items:end}.user-login__name{font-weight:var(--mer-font__weight--medium);font-size:var(--mer-font__size--xs);color:var(--mer-text__on-elevation)}.user-login__organization{font-weight:var(--mer-font__weight--light);font-size:var(--mer-font__size--3xs);color:var(--mer-text__neutral)}.user-login__avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;block-size:var(--mer-spacing--xl);inline-size:var(--mer-spacing--xl);color:var(--mer-text__on-elevation);border-radius:50%;background-color:var(--mer-color__tinted-primary--10);border:var(--mer-border__width--sm) solid var(--mer-color__primary--200)}.privacy-policy{text-decoration:underline;cursor:pointer}";
17
+
18
+ var a = undefined && undefined.__classPrivateFieldSet || function(e, t, i, o, r) {
19
+ if (o === "m") throw new TypeError("Private method is not writable");
20
+ if (o === "a" && !r) throw new TypeError("Private accessor was defined without a setter");
21
+ if (typeof t === "function" ? e !== t || !r : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
22
+ return o === "a" ? r.call(e, i) : r ? r.value = i : t.set(e, i), i;
23
+ };
24
+
25
+ var c = undefined && undefined.__classPrivateFieldGet || function(e, t, i, o) {
26
+ if (i === "a" && !o) throw new TypeError("Private accessor was defined without a getter");
27
+ if (typeof t === "function" ? e !== t || !o : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
28
+ return i === "m" ? o : i === "a" ? o.call(e) : o ? o.value : t.get(e);
29
+ };
30
+
31
+ var l, d, f, u, m;
32
+
33
+ const p = [
34
+ // TODO: review if "utils/form--full" is required.
35
+ "resets/box-sizing", "components/tooltip", "components/toggle", "components/icon", "components/dropdown", "utils/layout", "utils/typography", "utils/spacing", "chameleon/scrollbar" ];
36
+
37
+ const h = r({
38
+ category: "navigation",
39
+ name: "chevron-down",
40
+ colorType: "neutral"
41
+ });
42
+
43
+ const g = "my-account";
44
+
45
+ const _ = "change-team";
46
+
47
+ const w = "log-out";
48
+
49
+ const v = "language";
50
+
51
+ const y = class {
52
+ constructor(t) {
53
+ e(this, t);
54
+ l.set(this, void 0);
55
+ d.set(this, "");
56
+ // #mode: Mode;
57
+ f.set(this, void 0);
58
+ u.set(this, void 0);
59
+ // #handleModeSwitch = () => {
60
+ // this.#mode = this.#mode === "dark" ? "light" : "dark";
61
+ // if (this.changeModeCallback) {
62
+ // this.changeModeCallback(this.#mode);
63
+ // }
64
+ // };
65
+ m.set(this, ((e, t, i) => {
66
+ if (i === g) {
67
+ this.myAccountCallback();
68
+ } else if (i === _) {
69
+ this.changeTeamCallback();
70
+ } else if (i === w) {
71
+ this.changeLanguageCallback();
72
+ } else if (i === v) {
73
+ this.signOutCallback();
74
+ }
75
+ }));
76
+ this.showMenu = false;
77
+ this.userInfo = undefined;
78
+ this.myAccountCallback = undefined;
79
+ this.changeTeamCallback = undefined;
80
+ this.changeLanguageCallback = undefined;
81
+ this.changeModeCallback = undefined;
82
+ this.signOutCallback = undefined;
83
+ this.showTermsCallback = undefined;
84
+ }
85
+ async componentWillLoad() {
86
+ a(this, l, await n.getComponentStrings(this.el), "f");
87
+ a(this, d, getInitialsFromName(this.userInfo.name), "f");
88
+ a(this, f, [ {
89
+ id: g,
90
+ caption: c(this, l, "f").myAccountLabel,
91
+ showSeparator: false
92
+ }, {
93
+ id: _,
94
+ caption: c(this, l, "f").changeTeamLabel,
95
+ showSeparator: false
96
+ }, {
97
+ id: w,
98
+ caption: c(this, l, "f").logOutLabel,
99
+ showSeparator: true
100
+ } ], "f");
101
+ }
102
+ render() {
103
+ return t(i, {
104
+ class: "widget"
105
+ }, t("ch-theme", {
106
+ model: p
107
+ }), t("ch-dropdown-render", {
108
+ class: "dropdown",
109
+ model: c(this, f, "f"),
110
+ position: "InsideEnd_OutsideEnd",
111
+ itemClickCallback: c(this, m, "f")
112
+ }, t("button", {
113
+ class: "user-login__button",
114
+ ref: e => a(this, u, e, "f"),
115
+ slot: "action"
116
+ }, t("div", {
117
+ class: "user-login__details"
118
+ }, t("span", {
119
+ class: "user-login__name"
120
+ }, this.userInfo.name), t("span", {
121
+ class: "user-login__organization"
122
+ }, this.userInfo.team)), t("div", {
123
+ class: "user-login__avatar"
124
+ }, c(this, d, "f")), t("ch-image", {
125
+ src: h,
126
+ class: "icon-md",
127
+ containerRef: c(this, u, "f")
128
+ })), t("div", {
129
+ class: "user-login__footer footer-slot",
130
+ slot: "footer"
131
+ }, t("p", {
132
+ class: "text-body-regular-s privacy-policy",
133
+ onClick: this.showTermsCallback
134
+ }, c(this, l, "f").privacyAndTerms))));
135
+ }
136
+ static get assetsDirs() {
137
+ return [ "gx-ide-assets/current-user-info" ];
138
+ }
139
+ get el() {
140
+ return o(this);
141
+ }
142
+ };
143
+
144
+ l = new WeakMap, d = new WeakMap, f = new WeakMap, u = new WeakMap, m = new WeakMap;
145
+
146
+ y.style = s;
147
+
148
+ export { y as gx_ide_current_user_info };
149
+ //# sourceMappingURL=p-edd6ebef.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getInitialsFromName","name","nameData","split","length","toUpperCase","currentUserInfoCss","CSS_BUNDLES","CHEVRON_DOWN_ICON","getIconPath","category","colorType","MY_ACCOUNT_ID","CHANGE_TEAM_ID","LOGOUT_ID","LANGUAGE_ID","GxIdeNewEnvironment","_GxIdeNewEnvironment_componentLocale","set","this","_GxIdeNewEnvironment_initials","_GxIdeNewEnvironment_menuDropdownModel","_GxIdeNewEnvironment_userLoginButton","_GxIdeNewEnvironment_dropDownitemClickHandler","_event","_target","itemId","myAccountCallback","changeTeamCallback","changeLanguageCallback","signOutCallback","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","userInfo","id","caption","__classPrivateFieldGet","myAccountLabel","showSeparator","changeTeamLabel","logOutLabel","render","h","Host","class","model","position","itemClickCallback","ref","slot","team","src","containerRef","onClick","showTermsCallback","privacyAndTerms"],"sources":["src/components/current-user-info/helpers.tsx","src/components/current-user-info/current-user-info.scss?tag=gx-ide-current-user-info&encapsulation=shadow","src/components/current-user-info/current-user-info.tsx"],"sourcesContent":["export const getInitialsFromName = (name: string): string => {\n const nameData = name.split(\" \");\n if (nameData.length === 1) {\n return nameData[0][0].toUpperCase();\n } else {\n return `${nameData[0][0].toUpperCase()}${nameData[1][0].toUpperCase()}`;\n }\n};\n","@import \"../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n display: inline-grid;\n justify-items: end;\n}\n\n.user-login {\n &__button {\n all: unset;\n display: grid;\n grid-template-columns: max-content max-content max-content;\n align-items: center;\n gap: var(--mer-spacing--md);\n block-size: auto;\n cursor: pointer;\n }\n &__details {\n display: grid;\n grid-template-rows: max-content max-content;\n gap: var(--mer-spacing--3xs);\n justify-items: end;\n }\n &__name {\n font-weight: var(--mer-font__weight--medium);\n font-size: var(--mer-font__size--xs);\n color: var(--mer-text__on-elevation);\n }\n &__organization {\n font-weight: var(--mer-font__weight--light);\n font-size: var(--mer-font__size--3xs);\n color: var(--mer-text__neutral);\n }\n &__avatar {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n block-size: var(--mer-spacing--xl);\n inline-size: var(--mer-spacing--xl);\n color: var(--mer-text__on-elevation);\n border-radius: 50%;\n background-color: var(--mer-color__tinted-primary--10);\n border: var(--mer-border__width--sm) solid var(--mer-color__primary--200);\n }\n}\n\n.privacy-policy {\n text-decoration: underline;\n cursor: pointer;\n}\n","/* STENCIL IMPORTS */\nimport { Component, Element, Host, Prop, State, h } from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { getInitialsFromName } from \"./helpers\";\nimport { DropdownModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n // TODO: review if \"utils/form--full\" is required.\n \"resets/box-sizing\",\n \"components/tooltip\",\n \"components/toggle\",\n \"components/icon\",\n \"components/dropdown\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst CHEVRON_DOWN_ICON = getIconPath({\n category: \"navigation\",\n name: \"chevron-down\",\n colorType: \"neutral\"\n});\n\nconst MY_ACCOUNT_ID = \"my-account\";\nconst CHANGE_TEAM_ID = \"change-team\";\nconst LOGOUT_ID = \"log-out\";\nconst LANGUAGE_ID = \"language\";\n\n@Component({\n tag: \"gx-ide-current-user-info\",\n styleUrl: \"current-user-info.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/current-user-info\"]\n})\nexport class GxIdeNewEnvironment {\n #componentLocale: any;\n #initials: string = \"\";\n // #mode: Mode;\n #menuDropdownModel: DropdownModel;\n\n @Element() el: HTMLGxIdeCurrentUserInfoElement;\n #userLoginButton: HTMLButtonElement;\n\n @State() showMenu: boolean = false;\n\n /**\n * User data\n */\n @Prop() readonly userInfo: UserInfo;\n\n /**\n * Callback executed when the user click \"My Account\" link\n */\n @Prop() readonly myAccountCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user click \"change team\" link\n */\n @Prop() readonly changeTeamCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user click \"Language\" link\n */\n @Prop() readonly changeLanguageCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user switch the \"Mode\" status\n */\n @Prop() readonly changeModeCallback!: (mode: Mode) => Promise<void>;\n\n /**\n * Callback executed when the user click \"Sign Out\" link\n */\n @Prop() readonly signOutCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user click \"Privacy Policy & Terms of use\" link\n */\n @Prop() readonly showTermsCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#initials = getInitialsFromName(this.userInfo.name);\n this.#menuDropdownModel = [\n {\n id: MY_ACCOUNT_ID,\n caption: this.#componentLocale.myAccountLabel,\n showSeparator: false\n },\n {\n id: CHANGE_TEAM_ID,\n caption: this.#componentLocale.changeTeamLabel,\n showSeparator: false\n },\n {\n id: LOGOUT_ID,\n caption: this.#componentLocale.logOutLabel,\n showSeparator: true\n }\n // {\n // id: LANGUAGE_ID,\n // caption: this.#componentLocale.languageLabel,\n // showSeparator: true\n // }\n ];\n }\n\n // #handleModeSwitch = () => {\n // this.#mode = this.#mode === \"dark\" ? \"light\" : \"dark\";\n // if (this.changeModeCallback) {\n // this.changeModeCallback(this.#mode);\n // }\n // };\n\n #dropDownitemClickHandler = (\n _event: UIEvent,\n _target: string,\n itemId: string\n ): void => {\n if (itemId === MY_ACCOUNT_ID) {\n this.myAccountCallback();\n } else if (itemId === CHANGE_TEAM_ID) {\n this.changeTeamCallback();\n } else if (itemId === LOGOUT_ID) {\n this.changeLanguageCallback();\n } else if (itemId === LANGUAGE_ID) {\n this.signOutCallback();\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-dropdown-render\n class=\"dropdown\"\n model={this.#menuDropdownModel}\n position=\"InsideEnd_OutsideEnd\"\n itemClickCallback={this.#dropDownitemClickHandler}\n >\n <button\n class=\"user-login__button\"\n ref={el => (this.#userLoginButton = el as HTMLButtonElement)}\n slot=\"action\"\n >\n <div class=\"user-login__details\">\n <span class=\"user-login__name\">{this.userInfo.name}</span>\n <span class=\"user-login__organization\">{this.userInfo.team}</span>\n </div>\n <div class=\"user-login__avatar\">{this.#initials}</div>\n <ch-image\n src={CHEVRON_DOWN_ICON}\n class=\"icon-md\"\n containerRef={this.#userLoginButton}\n ></ch-image>\n </button>\n <div class=\"user-login__footer footer-slot\" slot=\"footer\">\n <p\n class=\"text-body-regular-s privacy-policy\"\n onClick={this.showTermsCallback}\n >\n {this.#componentLocale.privacyAndTerms}\n </p>\n </div>\n </ch-dropdown-render>\n </Host>\n );\n }\n}\n\nexport type UserInfo = {\n name: string;\n team: string;\n};\n\nexport type Mode = \"dark\" | \"light\";\n"],"mappings":";;;;;;AAAO,MAAMA,sBAAuBC;EAClC,MAAMC,IAAWD,EAAKE,MAAM;EAC5B,IAAID,EAASE,WAAW,GAAG;IACzB,OAAOF,EAAS,GAAG,GAAGG;SACjB;IACL,OAAO,GAAGH,EAAS,GAAG,GAAGG,gBAAgBH,EAAS,GAAG,GAAGG;;;;ACL5D,MAAMC,IAAqB;;;;;;;;;;;;;;;;;ACS3B,MAAMC,IAA8B;;AAElC,qBACA,sBACA,qBACA,mBACA,uBACA,gBACA,oBACA,iBACA;;AAGF,MAAMC,IAAoBC,EAAY;EACpCC,UAAU;EACVT,MAAM;EACNU,WAAW;;;AAGb,MAAMC,IAAgB;;AACtB,MAAMC,IAAiB;;AACvB,MAAMC,IAAY;;AAClB,MAAMC,IAAc;;MAQPC,IAAmB;;;IAC9BC,EAAAC,IAAAC,WAAA;IACAC,EAAAF,IAAAC,MAAoB;;QAEpBE,EAAAH,IAAAC,WAAA;IAGAG,EAAAJ,IAAAC,WAAA;;;;;;;QAyEAI,EAAAL,IAAAC,OAA4B,CAC1BK,GACAC,GACAC;MAEA,IAAIA,MAAWd,GAAe;QAC5BO,KAAKQ;aACA,IAAID,MAAWb,GAAgB;QACpCM,KAAKS;aACA,IAAIF,MAAWZ,GAAW;QAC/BK,KAAKU;aACA,IAAIH,MAAWX,GAAa;QACjCI,KAAKW;;;oBAnFoB;;;;;;;;;EAqC7B,uBAAMC;IACJC,EAAAb,MAAIF,SAA0BgB,EAAOC,oBAAoBf,KAAKgB,KAAG;IACjEH,EAAAb,MAAIC,GAAapB,oBAAoBmB,KAAKiB,SAASnC,OAAK;IACxD+B,EAAAb,MAAIE,GAAsB,EACxB;MACEgB,IAAIzB;MACJ0B,SAASC,EAAApB,MAAIF,GAAA,KAAkBuB;MAC/BC,eAAe;OAEjB;MACEJ,IAAIxB;MACJyB,SAASC,EAAApB,MAAIF,GAAA,KAAkByB;MAC/BD,eAAe;OAEjB;MACEJ,IAAIvB;MACJwB,SAASC,EAAApB,MAAIF,GAAA,KAAkB0B;MAC/BF,eAAe;SAOlB;;EA0BH,MAAAG;IACE,OACEC,EAACC,GAAI;MAACC,OAAM;OACVF,EAAA;MAAUG,OAAOzC;QACjBsC,EAAA;MACEE,OAAM;MACNC,OAAOT,EAAApB,MAAIE,GAAA;MACX4B,UAAS;MACTC,mBAAmBX,EAAApB,MAAII,GAAA;OAEvBsB,EAAA;MACEE,OAAM;MACNI,KAAKhB,KAAOH,EAAAb,MAAIG,GAAoBa,GAAuB;MAC3DiB,MAAK;OAELP,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAME,OAAM;OAAoB5B,KAAKiB,SAASnC,OAC9C4C,EAAA;MAAME,OAAM;OAA4B5B,KAAKiB,SAASiB,QAExDR,EAAA;MAAKE,OAAM;OAAsBR,EAAApB,MAAIC,GAAA,OACrCyB,EAAA;MACES,KAAK9C;MACLuC,OAAM;MACNQ,cAAchB,EAAApB,MAAIG,GAAA;SAGtBuB,EAAA;MAAKE,OAAM;MAAiCK,MAAK;OAC/CP,EAAA;MACEE,OAAM;MACNS,SAASrC,KAAKsC;OAEblB,EAAApB,MAAIF,GAAA,KAAkByC"}
@@ -23,7 +23,7 @@ const c = e(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
23
23
 
24
24
  const p = e(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
25
25
 
26
- const h = 300;
26
+ const h = 200;
27
27
 
28
28
  const m = [ "resets/box-sizing", "utils/typography" ];
29
29
 
@@ -110,4 +110,4 @@ d = new WeakMap;
110
110
  f.style = n;
111
111
 
112
112
  export { f as gx_ide_splash };
113
- //# sourceMappingURL=p-3c3b276e.entry.js.map
113
+ //# sourceMappingURL=p-f0efd16f.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["splashCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","SLIDE_FADE_DURATION","CSS_BUNDLES","GxIdeUiSplash","_GxIdeUiSplash_componentLocale","set","this","removeSplashChanged","removeSplash","splashVisible","setTimeout","el","remove","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","componentDidLoad","render","currentYear","Date","getFullYear","h","Host","model","class","slide","style","role","__classPrivateFieldGet","copyright","illustrationAriaLabel","src","alt","illustrationFigureAriaLabel","illustrationAlternativeText","title","version","c1988","allRightsReserved","description"],"sources":["src/components/splash/splash.scss?tag=gx-ide-splash&encapsulation=shadow","src/components/splash/splash.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n max-inline-size: 1100px;\n grid-template-columns: 1fr 550px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n opacity: 0;\n transition: var(--slide-fade-duration) opacity;\n\n &--visible {\n opacity: 1;\n }\n\n &__illustration {\n overflow: hidden;\n max-block-size: 700px;\n }\n\n &__copy {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n }\n\n &__copy-container {\n display: grid;\n gap: var(--mer-spacing--md);\n max-inline-size: 480px;\n place-self: center;\n }\n\n &__copy-header {\n display: grid;\n gap: var(--mer-spacing--md);\n }\n\n &__copy-title {\n font-size: var(--mer-font__size--xl);\n color: var(--mer-text__on-surface);\n letter-spacing: 0.02em;\n font-weight: var(--mer-font__weight--semi-bold);\n }\n\n &__copy-description {\n display: grid;\n color: var(--mer-text__complementary);\n gap: var(--mer-spacing--md);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst SLIDE_FADE_DURATION = 300;\nconst CSS_BUNDLES: MercuryBundles = [\"resets/box-sizing\", \"utils/typography\"];\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\n})\nexport class GxIdeUiSplash {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * When true the slider will be visible. Used to display and hide the slide with a smooth transition.\n */\n @State() splashVisible: boolean = false;\n\n /**\n * The copyright version. ie.: \"Salto 103300\"\n */\n @Prop() readonly version!: string;\n\n /**\n * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.\n */\n @Prop() readonly removeSplash: boolean = false;\n @Watch(\"removeSplash\")\n removeSplashChanged(removeSplash: boolean) {\n if (removeSplash) {\n this.splashVisible = false;\n setTimeout(() => {\n // wait until the slide disappears, then remove.\n this.el.remove();\n }, SLIDE_FADE_DURATION);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.splashVisible = true;\n }\n\n render() {\n const currentYear = new Date().getFullYear();\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section\n class={{ \"slide\": true, \"slide--visible\": this.splashVisible }}\n style={{ \"--slide-fade-duration\": `${SLIDE_FADE_DURATION}ms` }}\n >\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.copyright.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.copyright.illustrationFigureAriaLabel}\n />\n </div>\n <section class=\"slide__copy\">\n <div class=\"slide__copy-container\">\n <header class=\"slide__copy-header\">\n <img\n src={ICON_NEXT}\n alt={\n this.#componentLocale.copyright.illustrationAlternativeText\n }\n />\n <h2 class=\"slide__copy-title\">\n {this.#componentLocale.copyright.title}\n </h2>\n </header>\n <div class=\"slide__copy-description\">\n <p>\n <span class=\"version\">\n {this.#componentLocale.copyright.version}\n <span>{this.version}</span>\n </span>\n <span>{this.#componentLocale.copyright.c1988}</span>\n <span> — {currentYear} </span>\n <span>\n {this.#componentLocale.copyright.allRightsReserved}\n </span>\n </p>\n <p>{this.#componentLocale.copyright.description}</p>\n </div>\n </div>\n </section>\n </section>\n </Host>\n );\n }\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAY;;;;;;;;;;;;;;;;;ACgBlB,MAAMC,IAA0BC,EAC9B;;AAEF,MAAMC,IAAYD,EAChB;;AAEF,MAAME,IAAsB;;AAC5B,MAAMC,IAA8B,EAAC,qBAAqB;;MAQ7CC,IAAa;;;;;;;QAKxBC,EAAAC,IAAAC,WAAA;yBAOkC;;wBAUO;;EAEzC,mBAAAC,CAAoBC;IAClB,IAAIA,GAAc;MAChBF,KAAKG,gBAAgB;MACrBC,YAAW;;QAETJ,KAAKK,GAAGC;AAAQ,UACfX;;;EAIP,uBAAMY;IACJC,EAAAR,MAAIF,SAA0BW,EAAOC,oBAAoBV,KAAKK,KAAG;;EAGnE,gBAAAM;IACEX,KAAKG,gBAAgB;;EAGvB,MAAAS;IACE,MAAMC,KAAc,IAAIC,MAAOC;IAE/B,OACEC,EAACC,GAAI,MACHD,EAAA;MAAUE,OAAOtB;QACjBoB,EAAA;MACEG,OAAO;QAAEC,OAAS;QAAM,kBAAkBpB,KAAKG;;MAC/CkB,OAAO;QAAE,yBAAyB,GAAG1B;;OAErCqB,EAAA;MACEG,OAAM;MACNG,MAAK;MAAK,cACEC,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUC;OAE5CT,EAAA;;MAEEU,KAAKlC;MACL2B,OAAM;MACNQ,KAAKJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUI;SAGzCZ,EAAA;MAASG,OAAM;OACbH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MACEU,KAAKhC;MACLiC,KACEJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUK;QAGpCb,EAAA;MAAIG,OAAM;OACPI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUM,SAGrCd,EAAA;MAAKG,OAAM;OACTH,EAAA,WACEA,EAAA;MAAMG,OAAM;OACTI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUO,SACjCf,EAAA,cAAOhB,KAAK+B,WAEdf,EAAA,cAAOO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUQ,QACvChB,EAAA,qBAAUH,GAAW,MACrBG,EAAA,cACGO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUS,qBAGrCjB,EAAA,WAAIO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUU"}
1
+ {"version":3,"names":["splashCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","SLIDE_FADE_DURATION","CSS_BUNDLES","GxIdeUiSplash","_GxIdeUiSplash_componentLocale","set","this","removeSplashChanged","removeSplash","splashVisible","setTimeout","el","remove","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","componentDidLoad","render","currentYear","Date","getFullYear","h","Host","model","class","slide","style","role","__classPrivateFieldGet","copyright","illustrationAriaLabel","src","alt","illustrationFigureAriaLabel","illustrationAlternativeText","title","version","c1988","allRightsReserved","description"],"sources":["src/components/splash/splash.scss?tag=gx-ide-splash&encapsulation=shadow","src/components/splash/splash.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n max-inline-size: 1100px;\n grid-template-columns: 1fr 550px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n opacity: 0;\n transition: var(--slide-fade-duration) opacity;\n\n &--visible {\n opacity: 1;\n }\n\n &__illustration {\n overflow: hidden;\n max-block-size: 700px;\n }\n\n &__copy {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n }\n\n &__copy-container {\n display: grid;\n gap: var(--mer-spacing--md);\n max-inline-size: 480px;\n place-self: center;\n }\n\n &__copy-header {\n display: grid;\n gap: var(--mer-spacing--md);\n }\n\n &__copy-title {\n font-size: var(--mer-font__size--xl);\n color: var(--mer-text__on-surface);\n letter-spacing: 0.02em;\n font-weight: var(--mer-font__weight--semi-bold);\n }\n\n &__copy-description {\n display: grid;\n color: var(--mer-text__complementary);\n gap: var(--mer-spacing--md);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst SLIDE_FADE_DURATION = 200;\nconst CSS_BUNDLES: MercuryBundles = [\"resets/box-sizing\", \"utils/typography\"];\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\n})\nexport class GxIdeUiSplash {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * When true the slider will be visible. Used to display and hide the slide with a smooth transition.\n */\n @State() splashVisible: boolean = false;\n\n /**\n * The copyright version. ie.: \"Salto 103300\"\n */\n @Prop() readonly version!: string;\n\n /**\n * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.\n */\n @Prop() readonly removeSplash: boolean = false;\n @Watch(\"removeSplash\")\n removeSplashChanged(removeSplash: boolean) {\n if (removeSplash) {\n this.splashVisible = false;\n setTimeout(() => {\n // wait until the slide disappears, then remove.\n this.el.remove();\n }, SLIDE_FADE_DURATION);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.splashVisible = true;\n }\n\n render() {\n const currentYear = new Date().getFullYear();\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section\n class={{ \"slide\": true, \"slide--visible\": this.splashVisible }}\n style={{ \"--slide-fade-duration\": `${SLIDE_FADE_DURATION}ms` }}\n >\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.copyright.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.copyright.illustrationFigureAriaLabel}\n />\n </div>\n <section class=\"slide__copy\">\n <div class=\"slide__copy-container\">\n <header class=\"slide__copy-header\">\n <img\n src={ICON_NEXT}\n alt={\n this.#componentLocale.copyright.illustrationAlternativeText\n }\n />\n <h2 class=\"slide__copy-title\">\n {this.#componentLocale.copyright.title}\n </h2>\n </header>\n <div class=\"slide__copy-description\">\n <p>\n <span class=\"version\">\n {this.#componentLocale.copyright.version}\n <span>{this.version}</span>\n </span>\n <span>{this.#componentLocale.copyright.c1988}</span>\n <span> — {currentYear} </span>\n <span>\n {this.#componentLocale.copyright.allRightsReserved}\n </span>\n </p>\n <p>{this.#componentLocale.copyright.description}</p>\n </div>\n </div>\n </section>\n </section>\n </Host>\n );\n }\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAY;;;;;;;;;;;;;;;;;ACgBlB,MAAMC,IAA0BC,EAC9B;;AAEF,MAAMC,IAAYD,EAChB;;AAEF,MAAME,IAAsB;;AAC5B,MAAMC,IAA8B,EAAC,qBAAqB;;MAQ7CC,IAAa;;;;;;;QAKxBC,EAAAC,IAAAC,WAAA;yBAOkC;;wBAUO;;EAEzC,mBAAAC,CAAoBC;IAClB,IAAIA,GAAc;MAChBF,KAAKG,gBAAgB;MACrBC,YAAW;;QAETJ,KAAKK,GAAGC;AAAQ,UACfX;;;EAIP,uBAAMY;IACJC,EAAAR,MAAIF,SAA0BW,EAAOC,oBAAoBV,KAAKK,KAAG;;EAGnE,gBAAAM;IACEX,KAAKG,gBAAgB;;EAGvB,MAAAS;IACE,MAAMC,KAAc,IAAIC,MAAOC;IAE/B,OACEC,EAACC,GAAI,MACHD,EAAA;MAAUE,OAAOtB;QACjBoB,EAAA;MACEG,OAAO;QAAEC,OAAS;QAAM,kBAAkBpB,KAAKG;;MAC/CkB,OAAO;QAAE,yBAAyB,GAAG1B;;OAErCqB,EAAA;MACEG,OAAM;MACNG,MAAK;MAAK,cACEC,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUC;OAE5CT,EAAA;;MAEEU,KAAKlC;MACL2B,OAAM;MACNQ,KAAKJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUI;SAGzCZ,EAAA;MAASG,OAAM;OACbH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MACEU,KAAKhC;MACLiC,KACEJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUK;QAGpCb,EAAA;MAAIG,OAAM;OACPI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUM,SAGrCd,EAAA;MAAKG,OAAM;OACTH,EAAA,WACEA,EAAA;MAAMG,OAAM;OACTI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUO,SACjCf,EAAA,cAAOhB,KAAK+B,WAEdf,EAAA,cAAOO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUQ,QACvChB,EAAA,qBAAUH,GAAW,MACrBG,EAAA,cACGO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUS,qBAGrCjB,EAAA,WAAIO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUU"}
@@ -0,0 +1,162 @@
1
+ import { a as e, r as n, h as i, H as t, g as s } from "./p-49712340.js";
2
+
3
+ import { L as a } from "./p-311eedf3.js";
4
+
5
+ const mapTeamsToComboBoxItemModel = e => {
6
+ if (!e) {
7
+ return [];
8
+ }
9
+ return e.map((e => ({
10
+ value: e.id,
11
+ caption: e.name
12
+ })));
13
+ };
14
+
15
+ const r = ":host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n}\n.slide__illustration {\n overflow: hidden;\n object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n}\n.slide__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n transform: translateY(var(--mer-spacing--2xs));\n transition: var(--switch-step-transtion-time) all;\n opacity: 0;\n}\n.slide__main--visible {\n transform: translateY(0);\n opacity: 1;\n}\n.slide__main-container {\n display: grid;\n place-self: center;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n}\n.slide__main-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n.slide__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--mer-font__size--xl);\n font-weight: var(--mer-font__weight--semi-bold);\n letter-spacing: 0.02em;\n color: var(--mer-text__on-surface);\n}\n.slide__main-description {\n display: grid;\n gap: var(--mer-spacing--2xl);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n color: var(--mer-text__complementary);\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n}\n\n.main-btn {\n inline-size: 100%;\n max-inline-size: 124px;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}";
16
+
17
+ var o = undefined && undefined.__classPrivateFieldGet || function(e, n, i, t) {
18
+ if (i === "a" && !t) throw new TypeError("Private accessor was defined without a getter");
19
+ if (typeof n === "function" ? e !== n || !t : !n.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
20
+ return i === "m" ? t : i === "a" ? t.call(e) : t ? t.value : n.get(e);
21
+ };
22
+
23
+ var l = undefined && undefined.__classPrivateFieldSet || function(e, n, i, t, s) {
24
+ if (t === "m") throw new TypeError("Private method is not writable");
25
+ if (t === "a" && !s) throw new TypeError("Private accessor was defined without a setter");
26
+ if (typeof n === "function" ? e !== n || !s : !n.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
27
+ return t === "a" ? s.call(e, i) : s ? s.value = i : n.set(e, i), i;
28
+ };
29
+
30
+ var c, d, h, m, p, f;
31
+
32
+ const g = e(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
33
+
34
+ const u = e(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
35
+
36
+ const _ = [ "resets/box-sizing", "utils/typography", "components/button", "components/combo-box" ];
37
+
38
+ const v = class {
39
+ constructor(e) {
40
+ n(this, e);
41
+ /**
42
+ * The component hard-coded strings translations.
43
+ */
44
+ // eslint-disable-next-line @stencil-community/own-props-must-be-private
45
+ c.set(this, void 0);
46
+ // Select User Team References :
47
+ d.set(this, []);
48
+ h.set(this, void 0);
49
+ m.set(this, 100);
50
+ p.set(this, (() => {
51
+ console.log("authStepCallback called");
52
+ if (this.authStep === "signIn") {
53
+ this.signInCallback();
54
+ } else if (this.authStep === "selectUserTeam") {
55
+ o(this, f, "f").call(this);
56
+ }
57
+ }));
58
+ f.set(this, (async () => {
59
+ console.log("continueHandler called");
60
+ await this.continueCallback(o(this, h, "f").value);
61
+ }));
62
+ this.authStepInternal = undefined;
63
+ this.slideIsVisible = true;
64
+ this.authStep = "signIn";
65
+ this.continueCallback = undefined;
66
+ this.signInCallback = undefined;
67
+ this.teams = undefined;
68
+ this.termsCallback = undefined;
69
+ }
70
+ authStepChanged(e) {
71
+ console.log("authStep changed");
72
+ this.slideIsVisible = false;
73
+ // switch step
74
+ setTimeout((() => {
75
+ this.authStepInternal = e;
76
+ }), o(this, m, "f"));
77
+ // show slide
78
+ setTimeout((() => {
79
+ this.slideIsVisible = true;
80
+ }), o(this, m, "f") * 2);
81
+ }
82
+ async componentWillLoad() {
83
+ l(this, c, await a.getComponentStrings(this.el), "f");
84
+ this.authStepInternal = this.authStep;
85
+ l(this, d, mapTeamsToComboBoxItemModel(this.teams), "f");
86
+ this.el.style.setProperty("--switch-step-transtion-time", o(this, m, "f").toString() + "ms");
87
+ }
88
+ render() {
89
+ var e;
90
+ console.log("userTeams comboBox model", o(this, d, "f"));
91
+ return i(t, null, i("ch-theme", {
92
+ model: _
93
+ }), i("section", {
94
+ class: "slide"
95
+ }, i("img", {
96
+ src: g,
97
+ class: "slide__illustration",
98
+ alt: ""
99
+ }), i("div", {
100
+ class: {
101
+ slide__main: true,
102
+ "slide__main--visible": this.slideIsVisible
103
+ }
104
+ }, i("div", {
105
+ class: "slide__main-container"
106
+ }, i("header", {
107
+ class: "slide__main-header"
108
+ }, i("img", {
109
+ src: u,
110
+ alt: ""
111
+ }), i("h2", {
112
+ // Split the title into two spans for better styling
113
+ class: "slide__main-title"
114
+ }, i("span", null, o(this, c, "f")[this.authStepInternal].titlePart1), i("span", null, o(this, c, "f")[this.authStepInternal].titlePart2))), this.authStepInternal === "signIn" ? i("div", {
115
+ class: "slide__main-description"
116
+ }, i("p", {
117
+ hidden: true
118
+ }, i("span", null, o(this, c, "f").descriptionText)), i("span", null, o(this, c, "f").signIn.byContinuingText, i("a", {
119
+ class: "terms-conditions",
120
+ onClick: this.termsCallback
121
+ }, o(this, c, "f").signIn.byContinuingCallBackText))) : [ i("div", {
122
+ class: "slide__select-team-description"
123
+ }, i("p", {
124
+ class: "text-body-highlighted-l"
125
+ }, o(this, c, "f").selectUserTeam.infoMessage)), i("div", {
126
+ class: "field-group"
127
+ }, i("div", {
128
+ class: "field field-block"
129
+ }, i("label", {
130
+ htmlFor: "teams"
131
+ }, o(this, c, "f").teams), i("ch-combo-box-render", {
132
+ id: "teams",
133
+ accessibleName: "Teams",
134
+ class: "combo-box teams-list",
135
+ model: o(this, d, "f"),
136
+ value: (e = o(this, d, "f")[0]) === null || e === void 0 ? void 0 : e.value,
137
+ ref: e => l(this, h, e, "f")
138
+ }))) ], i("div", null, i("button", {
139
+ class: "button-primary main-btn",
140
+ onClick: o(this, p, "f")
141
+ }, o(this, c, "f")[this.authStepInternal].buttonCaption))))));
142
+ }
143
+ static get assetsDirs() {
144
+ return [ "gx-ide-assets/sign-in-team" ];
145
+ }
146
+ get el() {
147
+ return s(this);
148
+ }
149
+ static get watchers() {
150
+ return {
151
+ authStep: [ "authStepChanged" ]
152
+ };
153
+ }
154
+ };
155
+
156
+ c = new WeakMap, d = new WeakMap, h = new WeakMap, m = new WeakMap, p = new WeakMap,
157
+ f = new WeakMap;
158
+
159
+ v.style = r;
160
+
161
+ export { v as gx_ide_sign_in_team };
162
+ //# sourceMappingURL=p-fe063c9e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapTeamsToComboBoxItemModel","teams","map","team","value","id","caption","name","signInTeamCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","CSS_BUNDLES","GxIdeUiSplash","_GxIdeUiSplash_componentLocale","set","this","_GxIdeUiSplash_userTeamsModel","_GxIdeUiSplash_chSelectTeamEl","_GxIdeUiSplash_switchStepTransitionTime","_GxIdeUiSplash_authStepCallback","console","log","authStep","signInCallback","__classPrivateFieldGet","_GxIdeUiSplash_continueHandler","call","async","continueCallback","authStepChanged","newAuthStep","slideIsVisible","setTimeout","authStepInternal","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","style","setProperty","toString","render","h","Host","model","class","src","alt","slide__main","titlePart1","titlePart2","hidden","descriptionText","signIn","byContinuingText","onClick","termsCallback","byContinuingCallBackText","selectUserTeam","infoMessage","htmlFor","accessibleName","_a","ref","buttonCaption"],"sources":["src/components/sign-in-team/helpers.ts","src/components/sign-in-team/sign-in-team.scss?tag=gx-ide-sign-in-team&encapsulation=shadow","src/components/sign-in-team/sign-in-team.tsx"],"sourcesContent":["import { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { TeamData } from \"./sign-in-team\";\n\nexport const mapTeamsToComboBoxItemModel = (\n teams?: TeamData[]\n): ComboBoxItemModel[] | undefined => {\n if (!teams) {\n return [];\n }\n return teams.map(team => ({\n value: team.id,\n caption: team.name\n }));\n};\n",":host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n\n &__illustration {\n overflow: hidden;\n object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n }\n\n &__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n transform: translateY(var(--mer-spacing--2xs));\n transition: var(--switch-step-transtion-time) all;\n opacity: 0;\n\n &--visible {\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n &__main-container {\n display: grid;\n place-self: center;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n }\n\n &__main-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n }\n\n &__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--mer-font__size--xl);\n font-weight: var(--mer-font__weight--semi-bold);\n letter-spacing: 0.02em;\n color: var(--mer-text__on-surface);\n }\n\n &__main-description {\n display: grid;\n gap: var(--mer-spacing--2xl);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n color: var(--mer-text__complementary);\n }\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n}\n\n.main-btn {\n inline-size: 100%;\n max-inline-size: 124px;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { mapTeamsToComboBoxItemModel } from \"./helpers\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\",\n \"components/combo-box\"\n];\n\n@Component({\n tag: \"gx-ide-sign-in-team\",\n styleUrl: \"sign-in-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in-team\"]\n})\nexport class GxIdeUiSplash {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n // Select User Team References :\n #userTeamsModel: ComboBoxItemModel[] = [];\n #chSelectTeamEl: HTMLChComboBoxRenderElement;\n #switchStepTransitionTime: number = 100;\n\n @Element() el: HTMLGxIdeSignInTeamElement;\n\n /**\n * This is a handover from \"authStep\" that allows updating descriptions once\n * the slide is hidden. This enables a smooth transition between descriptions.\n */\n\n @State() authStepInternal: AuthStep;\n\n /**\n * Defines if the main slide is visible or not. Used for smooth transitions\n * between slides.\n */\n @State() slideIsVisible: boolean = true;\n\n /**\n * The authentication step to display\n */\n @Prop() readonly authStep: AuthStep = \"signIn\";\n @Watch(\"authStep\")\n authStepChanged(newAuthStep: AuthStep) {\n console.log(\"authStep changed\");\n this.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n this.authStepInternal = newAuthStep;\n }, this.#switchStepTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#switchStepTransitionTime * 2);\n }\n\n /**\n * Callback executed when the user clicks the 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => Promise<void>;\n\n /**\n * Callback executed when the user click the \"Sign In\" button\n */\n @Prop() readonly signInCallback: () => Promise<void>;\n\n /**\n * Array that contains the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n\n /**\n * Callback executed when the user clicks on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.authStepInternal = this.authStep;\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(this.teams);\n this.el.style.setProperty(\n \"--switch-step-transtion-time\",\n this.#switchStepTransitionTime.toString() + \"ms\"\n );\n }\n\n #authStepCallback = () => {\n console.log(\"authStepCallback called\");\n if (this.authStep === \"signIn\") {\n this.signInCallback();\n } else if (this.authStep === \"selectUserTeam\") {\n this.#continueHandler();\n }\n };\n\n #continueHandler = async () => {\n console.log(\"continueHandler called\");\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n render() {\n console.log(\"userTeams comboBox model\", this.#userTeamsModel);\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <img\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt=\"\" // decorative\n />\n\n <div\n class={{\n \"slide__main\": true,\n \"slide__main--visible\": this.slideIsVisible\n }}\n >\n <div class=\"slide__main-container\">\n <header class=\"slide__main-header\">\n <img\n src={ICON_NEXT}\n alt=\"\" // decorative\n />\n <h2\n // Split the title into two spans for better styling\n class=\"slide__main-title\"\n >\n <span>\n {this.#componentLocale[this.authStepInternal].titlePart1}\n </span>\n <span>\n {this.#componentLocale[this.authStepInternal].titlePart2}\n </span>\n </h2>\n </header>\n\n {this.authStepInternal === \"signIn\" ? (\n <div class=\"slide__main-description\">\n <p hidden>\n <span>{this.#componentLocale.descriptionText}</span>\n </p>\n <span>\n {this.#componentLocale.signIn.byContinuingText}\n <a class=\"terms-conditions\" onClick={this.termsCallback}>\n {this.#componentLocale.signIn.byContinuingCallBackText}\n </a>\n </span>\n </div>\n ) : (\n [\n <div class=\"slide__select-team-description\">\n <p class=\"text-body-highlighted-l\">\n {this.#componentLocale.selectUserTeam.infoMessage}\n </p>\n </div>,\n\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">\n {this.#componentLocale.teams}\n </label>\n <ch-combo-box-render\n id=\"teams\"\n accessibleName=\"Teams\"\n class=\"combo-box teams-list\"\n model={this.#userTeamsModel}\n value={this.#userTeamsModel[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>\n ]\n )}\n\n <div>\n <button\n class=\"button-primary main-btn\"\n onClick={this.#authStepCallback}\n >\n {this.#componentLocale[this.authStepInternal].buttonCaption}\n </button>\n </div>\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type AuthStep = \"signIn\" | \"selectUserTeam\";\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"],"mappings":";;;;AAGO,MAAMA,8BACXC;EAEA,KAAKA,GAAO;IACV,OAAO;;EAET,OAAOA,EAAMC,KAAIC,MAAI;IACnBC,OAAOD,EAAKE;IACZC,SAASH,EAAKI;;AACb;;ACZL,MAAMC,IAAgB;;;;;;;;;;;;;;;;;ACkBtB,MAAMC,IAA0BC,EAC9B;;AAEF,MAAMC,IAAYD,EAChB;;AAEF,MAAME,IAA8B,EAClC,qBACA,oBACA,qBACA;;MASWC,IAAa;;;;;;;QAKxBC,EAAAC,IAAAC,WAAA;;QAEAC,EAAAF,IAAAC,MAAuC;IACvCE,EAAAH,IAAAC,WAAA;IACAG,EAAAJ,IAAAC,MAAoC;IAiEpCI,EAAAL,IAAAC,OAAoB;MAClBK,QAAQC,IAAI;MACZ,IAAIN,KAAKO,aAAa,UAAU;QAC9BP,KAAKQ;aACA,IAAIR,KAAKO,aAAa,kBAAkB;QAC7CE,EAAAT,MAAIU,GAAA,KAAiBC,KAArBX;;;IAIJU,EAAAX,IAAAC,OAAmBY;MACjBP,QAAQC,IAAI;YACNN,KAAKa,iBAAiBJ,EAAAT,MAAIE,GAAA,KAAiBd;AAAM;;0BA7DtB;oBAKG;;;;;;EAEtC,eAAA0B,CAAgBC;IACdV,QAAQC,IAAI;IACZN,KAAKgB,iBAAiB;;QAEtBC,YAAW;MACTjB,KAAKkB,mBAAmBH;AAAW,QAClCN,EAAAT,MAAIG,GAAA;;QAEPc,YAAW;MACTjB,KAAKgB,iBAAiB;AAAI,QACzBP,EAAAT,MAAIG,GAAA,OAA6B;;EAuBtC,uBAAMgB;IACJC,EAAApB,MAAIF,SAA0BuB,EAAOC,oBAAoBtB,KAAKuB,KAAG;IACjEvB,KAAKkB,mBAAmBlB,KAAKO;IAC7Ba,EAAApB,MAAIC,GAAmBjB,4BAA4BgB,KAAKf,QAAM;IAC9De,KAAKuB,GAAGC,MAAMC,YACZ,gCACAhB,EAAAT,MAAIG,GAAA,KAA2BuB,aAAa;;EAkBhD,MAAAC;;IACEtB,QAAQC,IAAI,4BAA4BG,EAAAT,MAAIC,GAAA;IAC5C,OACE2B,EAACC,GAAI,MACHD,EAAA;MAAUE,OAAOlC;QACjBgC,EAAA;MAASG,OAAM;OACbH,EAAA;MACEI,KAAKvC;MACLsC,OAAM;MACNE,KAAI;QAGNL,EAAA;MACEG,OAAO;QACLG,aAAe;QACf,wBAAwBlC,KAAKgB;;OAG/BY,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MACEI,KAAKrC;MACLsC,KAAI;QAENL,EAAA;;MAEEG,OAAM;OAENH,EAAA,cACGnB,EAAAT,MAAIF,GAAA,KAAkBE,KAAKkB,kBAAkBiB,aAEhDP,EAAA,cACGnB,EAAAT,MAAIF,GAAA,KAAkBE,KAAKkB,kBAAkBkB,eAKnDpC,KAAKkB,qBAAqB,WACzBU,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAGS,QAAM;OACPT,EAAA,cAAOnB,EAAAT,MAAIF,GAAA,KAAkBwC,mBAE/BV,EAAA,cACGnB,EAAAT,MAAIF,GAAA,KAAkByC,OAAOC,kBAC9BZ,EAAA;MAAGG,OAAM;MAAmBU,SAASzC,KAAK0C;OACvCjC,EAAAT,MAAIF,GAAA,KAAkByC,OAAOI,8BAG9B,EAGJf,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAGG,OAAM;OACNtB,EAAAT,MAAIF,GAAA,KAAkB8C,eAAeC,eAI1CjB,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAOkB,SAAQ;OACZrC,EAAAT,MAAIF,GAAA,KAAkBb,QAEzB2C,EAAA;MACEvC,IAAG;MACH0D,gBAAe;MACfhB,OAAM;MACND,OAAOrB,EAAAT,MAAIC,GAAA;MACXb,QAAO4D,IAAAvC,EAAAT,MAAIC,GAAA,KAAiB,QAAE,QAAA+C,WAAA,aAAAA,EAAE5D;MAChC6D,KAAM1B,KACHH,EAAApB,MAAIE,GACHqB,GAAiC;YAQ/CK,EAAA,aACEA,EAAA;MACEG,OAAM;MACNU,SAAShC,EAAAT,MAAII,GAAA;OAEZK,EAAAT,MAAIF,GAAA,KAAkBE,KAAKkB,kBAAkBgC"}
@@ -0,0 +1,40 @@
1
+ export declare class GxIdeNewEnvironment {
2
+ #private;
3
+ el: HTMLGxIdeCurrentUserInfoElement;
4
+ showMenu: boolean;
5
+ /**
6
+ * User data
7
+ */
8
+ readonly userInfo: UserInfo;
9
+ /**
10
+ * Callback executed when the user click "My Account" link
11
+ */
12
+ readonly myAccountCallback: () => Promise<void>;
13
+ /**
14
+ * Callback executed when the user click "change team" link
15
+ */
16
+ readonly changeTeamCallback: () => Promise<void>;
17
+ /**
18
+ * Callback executed when the user click "Language" link
19
+ */
20
+ readonly changeLanguageCallback: () => Promise<void>;
21
+ /**
22
+ * Callback executed when the user switch the "Mode" status
23
+ */
24
+ readonly changeModeCallback: (mode: Mode) => Promise<void>;
25
+ /**
26
+ * Callback executed when the user click "Sign Out" link
27
+ */
28
+ readonly signOutCallback: () => Promise<void>;
29
+ /**
30
+ * Callback executed when the user click "Privacy Policy & Terms of use" link
31
+ */
32
+ readonly showTermsCallback: () => Promise<void>;
33
+ componentWillLoad(): Promise<void>;
34
+ render(): any;
35
+ }
36
+ export type UserInfo = {
37
+ name: string;
38
+ team: string;
39
+ };
40
+ export type Mode = "dark" | "light";
@@ -0,0 +1 @@
1
+ export declare const getInitialsFromName: (name: string) => string;
@@ -0,0 +1,3 @@
1
+ import { ComboBoxItemModel } from "@genexus/chameleon-controls-library/dist/types/components/combo-box/types";
2
+ import { TeamData } from "./select-user-team";
3
+ export declare const mapTeamsToComboBoxItemModel: (teams: TeamData[]) => ComboBoxItemModel[];
@@ -0,0 +1,18 @@
1
+ export declare class GxIdeUiSplash {
2
+ #private;
3
+ /**
4
+ * Array that contain the user's teams
5
+ */
6
+ readonly teams: TeamData[];
7
+ /**
8
+ * Callback executed when the user click the 'continue' button
9
+ */
10
+ readonly continueCallback: (teamId: string) => Promise<void>;
11
+ el: HTMLGxIdeSelectUserTeamElement;
12
+ componentWillLoad(): Promise<void>;
13
+ render(): any;
14
+ }
15
+ export type TeamData = {
16
+ id: string;
17
+ name: string;
18
+ };
@@ -0,0 +1,14 @@
1
+ export declare class GxIdeUiSplash {
2
+ #private;
3
+ el: HTMLGxIdeSignInElement;
4
+ /**
5
+ * Callback executed when the user click on the "term and conditions" link
6
+ */
7
+ readonly termsCallback: () => Promise<void>;
8
+ /**
9
+ * Callback executed when the user click the Sign In button
10
+ */
11
+ readonly signInCallback: () => Promise<void>;
12
+ componentWillLoad(): Promise<void>;
13
+ render(): any;
14
+ }
@@ -0,0 +1,3 @@
1
+ import { ComboBoxItemModel } from "@genexus/chameleon-controls-library/dist/types/components/combo-box/types";
2
+ import { TeamData } from "./sign-in-team";
3
+ export declare const mapTeamsToComboBoxItemModel: (teams?: TeamData[]) => ComboBoxItemModel[] | undefined;
@@ -0,0 +1,42 @@
1
+ export declare class GxIdeUiSplash {
2
+ #private;
3
+ el: HTMLGxIdeSignInTeamElement;
4
+ /**
5
+ * This is a handover from "authStep" that allows updating descriptions once
6
+ * the slide is hidden. This enables a smooth transition between descriptions.
7
+ */
8
+ authStepInternal: AuthStep;
9
+ /**
10
+ * Defines if the main slide is visible or not. Used for smooth transitions
11
+ * between slides.
12
+ */
13
+ slideIsVisible: boolean;
14
+ /**
15
+ * The authentication step to display
16
+ */
17
+ readonly authStep: AuthStep;
18
+ authStepChanged(newAuthStep: AuthStep): void;
19
+ /**
20
+ * Callback executed when the user clicks the 'Continue' button
21
+ */
22
+ readonly continueCallback: (teamId: string) => Promise<void>;
23
+ /**
24
+ * Callback executed when the user click the "Sign In" button
25
+ */
26
+ readonly signInCallback: () => Promise<void>;
27
+ /**
28
+ * Array that contains the user's teams
29
+ */
30
+ readonly teams: TeamData[];
31
+ /**
32
+ * Callback executed when the user clicks on the "term and conditions" link
33
+ */
34
+ readonly termsCallback: () => Promise<void>;
35
+ componentWillLoad(): Promise<void>;
36
+ render(): any;
37
+ }
38
+ export type AuthStep = "signIn" | "selectUserTeam";
39
+ export type TeamData = {
40
+ id: string;
41
+ name: string;
42
+ };