@genexus/genexus-ide-ui 3.1.2 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +46 -13
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +2 -0
- package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.ja.json +2 -0
- package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.zh.json +2 -0
- package/dist/collection/components/new-kb/new-kb.css +15 -5
- package/dist/collection/components/new-kb/new-kb.js +64 -12
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/sign-in-team/sign-in-team.css +1 -0
- package/dist/components/gx-ide-new-kb.js +48 -13
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +1 -1
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +46 -13
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +2 -0
- package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.ja.json +2 -0
- package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.zh.json +2 -0
- package/dist/genexus-ide-ui/{p-c24ea55d.entry.js → p-1d44dd0a.entry.js} +59 -59
- package/dist/genexus-ide-ui/p-1d44dd0a.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-217bd2d7.entry.js → p-76e1c357.entry.js} +178 -137
- package/dist/genexus-ide-ui/p-76e1c357.entry.js.map +1 -0
- package/dist/types/components/new-kb/new-kb.d.ts +7 -0
- package/dist/types/components.d.ts +8 -0
- package/package.json +1 -1
- package/dist/genexus-ide-ui/p-217bd2d7.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-c24ea55d.entry.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as i, r as e, h as
|
|
1
|
+
import { g as i, r as e, h as n, H as s, a as t } from "./p-9b9ccd0c.js";
|
|
2
2
|
|
|
3
3
|
import { L as a } from "./p-311eedf3.js";
|
|
4
4
|
|
|
@@ -12,24 +12,24 @@ const mapTeamsToComboBoxItemModel = i => {
|
|
|
12
12
|
})));
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
const l = ":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}\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(--color-accent-surface-elevation-1);\n border-radius: var(--dialog-border-radius, 16px);\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: 48px;\n transform: translateY(4px);\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(--spacing-gap-xxl);\n max-inline-size: 480px;\n}\n.slide__main-header {\n display: grid;\n gap: var(--spacing-gap-xxl);\n}\n.slide__main-title {\n display: flex;\n flex-direction: column;\n letter-spacing: 0.02em;\n}\n.slide__main-description {\n display: grid;\n gap: 40px;\n color: var(--color-text-neutral-disabled);\n max-inline-size: 370px;\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}\n.hyperlink {\n text-decoration: underline;\n cursor: pointer;\n}\n\n.field-inline > .label-agreement {\n margin-block-start: 0 !important;\n}";
|
|
15
|
+
const l = ":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}\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(--color-accent-surface-elevation-1);\n border-radius: var(--dialog-border-radius, 16px);\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: 48px;\n transform: translateY(4px);\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(--spacing-gap-xxl);\n max-inline-size: 480px;\n}\n.slide__main-header {\n display: grid;\n gap: var(--spacing-gap-xxl);\n}\n.slide__main-title {\n display: flex;\n flex-direction: column;\n letter-spacing: 0.02em;\n}\n.slide__main-description {\n display: grid;\n gap: 40px;\n color: var(--color-text-neutral-disabled);\n max-inline-size: 370px;\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n --ch-combo-box__popover-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}\n.hyperlink {\n text-decoration: underline;\n cursor: pointer;\n}\n\n.field-inline > .label-agreement {\n margin-block-start: 0 !important;\n}";
|
|
16
16
|
|
|
17
|
-
var r = undefined && undefined.__classPrivateFieldGet || function(i, e,
|
|
18
|
-
if (
|
|
19
|
-
if (typeof e === "function" ? i !== e || !
|
|
20
|
-
return
|
|
17
|
+
var r = undefined && undefined.__classPrivateFieldGet || function(i, e, n, s) {
|
|
18
|
+
if (n === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
if (typeof e === "function" ? i !== e || !s : !e.has(i)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
+
return n === "m" ? s : n === "a" ? s.call(i) : s ? s.value : e.get(i);
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
var o = undefined && undefined.__classPrivateFieldSet || function(i, e,
|
|
24
|
-
if (
|
|
25
|
-
if (
|
|
23
|
+
var o = undefined && undefined.__classPrivateFieldSet || function(i, e, n, s, t) {
|
|
24
|
+
if (s === "m") throw new TypeError("Private method is not writable");
|
|
25
|
+
if (s === "a" && !t) throw new TypeError("Private accessor was defined without a setter");
|
|
26
26
|
if (typeof e === "function" ? i !== e || !t : !e.has(i)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
27
|
-
return
|
|
27
|
+
return s === "a" ? t.call(i, n) : t ? t.value = n : e.set(i, n), n;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
var h, c, d,
|
|
30
|
+
var h, c, d, p, f, m, u, g, b, x, w, v, k, _;
|
|
31
31
|
|
|
32
|
-
const
|
|
32
|
+
const y = i(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
|
|
33
33
|
|
|
34
34
|
const z = i(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
|
|
35
35
|
|
|
@@ -48,8 +48,8 @@ const T = class {
|
|
|
48
48
|
// Select User Team References :
|
|
49
49
|
c.set(this, []);
|
|
50
50
|
d.set(this, void 0);
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
p.set(this, 100);
|
|
52
|
+
f.set(this, void 0);
|
|
53
53
|
m.set(this, void 0);
|
|
54
54
|
u.set(this, (() => {
|
|
55
55
|
if (this.authStep === "signIn") {
|
|
@@ -61,25 +61,25 @@ const T = class {
|
|
|
61
61
|
g.set(this, (async () => {
|
|
62
62
|
await this.continueCallback(r(this, d, "f").value);
|
|
63
63
|
}));
|
|
64
|
-
b.set(this, (() =>
|
|
64
|
+
b.set(this, (() => n("header", {
|
|
65
65
|
class: "slide__main-header"
|
|
66
|
-
},
|
|
66
|
+
}, n("img", {
|
|
67
67
|
src: z,
|
|
68
68
|
alt: ""
|
|
69
|
-
}),
|
|
69
|
+
}), n("h2", {
|
|
70
70
|
// Split the title into two spans for better styling
|
|
71
71
|
class: "slide__main-title heading-2"
|
|
72
|
-
},
|
|
73
|
-
|
|
72
|
+
}, n("span", null, r(this, h, "f")[this.authStepInternal].titlePart1), n("span", null, r(this, h, "f")[this.authStepInternal].titlePart2)))));
|
|
73
|
+
x.set(this, (() => {
|
|
74
74
|
const i = this.authStep === "signIn" && this.termsConfirmationRequired && !this.termsAndConditionsAccepted;
|
|
75
|
-
return
|
|
75
|
+
return n("div", null, n("button", {
|
|
76
76
|
class: "button-primary main-btn",
|
|
77
77
|
onClick: r(this, u, "f"),
|
|
78
78
|
disabled: i
|
|
79
79
|
}, r(this, h, "f")[this.authStepInternal].buttonCaption));
|
|
80
80
|
}));
|
|
81
|
-
|
|
82
|
-
const i = r(this,
|
|
81
|
+
w.set(this, (() => {
|
|
82
|
+
const i = r(this, f, "f").value === M;
|
|
83
83
|
const e = r(this, m, "f").value === M;
|
|
84
84
|
this.termsAndConditionsAccepted = i && e;
|
|
85
85
|
}));
|
|
@@ -91,75 +91,75 @@ const T = class {
|
|
|
91
91
|
i.preventDefault();
|
|
92
92
|
this.privacyCallback();
|
|
93
93
|
}));
|
|
94
|
-
|
|
94
|
+
_.set(this, (() => {
|
|
95
95
|
var i;
|
|
96
96
|
if (this.authStepInternal === "signIn") {
|
|
97
|
-
return [ r(this, b, "f").call(this),
|
|
97
|
+
return [ r(this, b, "f").call(this), n("p", {
|
|
98
98
|
class: "body-regular-l"
|
|
99
|
-
}, r(this, h, "f").signIn.description), this.termsConfirmationRequired &&
|
|
99
|
+
}, r(this, h, "f").signIn.description), this.termsConfirmationRequired && n("div", {
|
|
100
100
|
class: "field-group"
|
|
101
|
-
},
|
|
101
|
+
}, n("div", {
|
|
102
102
|
// terms and conditions
|
|
103
103
|
class: "field field-inline"
|
|
104
|
-
},
|
|
104
|
+
}, n("ch-checkbox", {
|
|
105
105
|
checkedValue: M,
|
|
106
106
|
id: "terms-and-conditions",
|
|
107
107
|
class: "checkbox",
|
|
108
|
-
ref: i => o(this,
|
|
109
|
-
onInput: r(this,
|
|
110
|
-
}),
|
|
108
|
+
ref: i => o(this, f, i, "f"),
|
|
109
|
+
onInput: r(this, w, "f")
|
|
110
|
+
}), n("span", null, n("label", {
|
|
111
111
|
htmlFor: "terms-and-conditions",
|
|
112
112
|
class: "label label-agreement"
|
|
113
|
-
}, r(this, h, "f").agreement.termsAndConditionsLabel,
|
|
113
|
+
}, r(this, h, "f").agreement.termsAndConditionsLabel, n("span", {
|
|
114
114
|
class: {
|
|
115
115
|
hyperlink: !!this.termsCallback
|
|
116
116
|
},
|
|
117
117
|
onClick: this.termsCallback && r(this, v, "f")
|
|
118
|
-
}, r(this, h, "f").agreement.termsAndConditionsLink)))),
|
|
118
|
+
}, r(this, h, "f").agreement.termsAndConditionsLink)))), n("div", {
|
|
119
119
|
// privacy policy
|
|
120
120
|
class: "field field-inline"
|
|
121
|
-
},
|
|
121
|
+
}, n("ch-checkbox", {
|
|
122
122
|
checkedValue: M,
|
|
123
123
|
id: "privacy-policy",
|
|
124
124
|
class: "checkbox",
|
|
125
125
|
ref: i => o(this, m, i, "f"),
|
|
126
|
-
onInput: r(this,
|
|
127
|
-
}),
|
|
126
|
+
onInput: r(this, w, "f")
|
|
127
|
+
}), n("span", null, n("label", {
|
|
128
128
|
htmlFor: "privacy-policy",
|
|
129
129
|
class: "label label-agreement"
|
|
130
|
-
}, r(this, h, "f").agreement.privacyAndPolicyLabel,
|
|
130
|
+
}, r(this, h, "f").agreement.privacyAndPolicyLabel, n("span", {
|
|
131
131
|
class: {
|
|
132
132
|
hyperlink: !!this.privacyCallback
|
|
133
133
|
},
|
|
134
134
|
onClick: this.privacyCallback && r(this, k, "f")
|
|
135
|
-
}, r(this, h, "f").agreement.privacyAndPolicyLink))))), r(this,
|
|
135
|
+
}, r(this, h, "f").agreement.privacyAndPolicyLink))))), r(this, x, "f").call(this) ];
|
|
136
136
|
} else if (this.authStepInternal === "fetchUserTeams" || this.authStepInternal === "settingUpSession") {
|
|
137
137
|
const i = this.authStepInternal === "fetchUserTeams" ? r(this, h, "f").loader.fetchingTeamsTitle : r(this, h, "f").loader.settingUpSessionTitle;
|
|
138
138
|
const e = this.authStepInternal === "fetchUserTeams" ? r(this, h, "f").loader.fetchingTeamsDescription : r(this, h, "f").loader.settingUpDescription;
|
|
139
|
-
return
|
|
139
|
+
return n("gx-ide-loader", {
|
|
140
140
|
show: true,
|
|
141
141
|
loaderTitle: i,
|
|
142
142
|
description: e
|
|
143
143
|
});
|
|
144
144
|
} else if (this.authStepInternal === "selectUserTeam") {
|
|
145
|
-
return [ r(this, b, "f").call(this),
|
|
145
|
+
return [ r(this, b, "f").call(this), n("div", {
|
|
146
146
|
class: "slide__select-team-description"
|
|
147
|
-
},
|
|
147
|
+
}, n("p", {
|
|
148
148
|
class: "body-semi-bold-l"
|
|
149
|
-
}, r(this, h, "f").selectUserTeam.infoMessage)),
|
|
149
|
+
}, r(this, h, "f").selectUserTeam.infoMessage)), n("div", {
|
|
150
150
|
class: "field-group"
|
|
151
|
-
},
|
|
151
|
+
}, n("div", {
|
|
152
152
|
class: "field field-block"
|
|
153
|
-
},
|
|
153
|
+
}, n("label", {
|
|
154
154
|
htmlFor: "teams"
|
|
155
|
-
}, r(this, h, "f").selectUserTeam.label),
|
|
155
|
+
}, r(this, h, "f").selectUserTeam.label), n("ch-combo-box-render", {
|
|
156
156
|
id: "teams",
|
|
157
157
|
accessibleName: "Teams",
|
|
158
158
|
class: "combo-box teams-list",
|
|
159
159
|
model: r(this, c, "f"),
|
|
160
160
|
value: (i = r(this, c, "f")[0]) === null || i === void 0 ? void 0 : i.value,
|
|
161
161
|
ref: i => o(this, d, i, "f")
|
|
162
|
-
}))), r(this,
|
|
162
|
+
}))), r(this, x, "f").call(this) ];
|
|
163
163
|
}
|
|
164
164
|
}));
|
|
165
165
|
this.authStepInternal = undefined;
|
|
@@ -178,39 +178,39 @@ const T = class {
|
|
|
178
178
|
// switch step
|
|
179
179
|
setTimeout((() => {
|
|
180
180
|
this.authStepInternal = i;
|
|
181
|
-
}), r(this,
|
|
181
|
+
}), r(this, p, "f"));
|
|
182
182
|
// show slide
|
|
183
183
|
setTimeout((() => {
|
|
184
184
|
this.slideIsVisible = true;
|
|
185
|
-
}), r(this,
|
|
185
|
+
}), r(this, p, "f") * 2);
|
|
186
186
|
}
|
|
187
187
|
teamsChanged(i) {
|
|
188
188
|
o(this, c, mapTeamsToComboBoxItemModel(i), "f");
|
|
189
189
|
}
|
|
190
190
|
async componentWillLoad() {
|
|
191
191
|
o(this, h, await a.getComponentStrings(this.el), "f");
|
|
192
|
-
this.el.style.setProperty("--switch-step-transtion-time", r(this,
|
|
192
|
+
this.el.style.setProperty("--switch-step-transtion-time", r(this, p, "f").toString() + "ms");
|
|
193
193
|
// Initialize values
|
|
194
194
|
this.authStepInternal = this.authStep;
|
|
195
195
|
this.teamsChanged(this.teams);
|
|
196
196
|
}
|
|
197
197
|
render() {
|
|
198
|
-
return s
|
|
198
|
+
return n(s, null, n("ch-theme", {
|
|
199
199
|
model: W
|
|
200
|
-
}),
|
|
200
|
+
}), n("section", {
|
|
201
201
|
class: "slide"
|
|
202
|
-
},
|
|
203
|
-
src:
|
|
202
|
+
}, n("img", {
|
|
203
|
+
src: y,
|
|
204
204
|
class: "slide__illustration",
|
|
205
205
|
alt: ""
|
|
206
|
-
}),
|
|
206
|
+
}), n("div", {
|
|
207
207
|
class: {
|
|
208
208
|
slide__main: true,
|
|
209
209
|
"slide__main--visible": this.slideIsVisible
|
|
210
210
|
}
|
|
211
|
-
},
|
|
211
|
+
}, n("div", {
|
|
212
212
|
class: "slide__main-container"
|
|
213
|
-
}, r(this,
|
|
213
|
+
}, r(this, _, "f").call(this)))));
|
|
214
214
|
}
|
|
215
215
|
static get assetsDirs() {
|
|
216
216
|
return [ "gx-ide-assets/sign-in-team" ];
|
|
@@ -226,11 +226,11 @@ const T = class {
|
|
|
226
226
|
}
|
|
227
227
|
};
|
|
228
228
|
|
|
229
|
-
h = new WeakMap, c = new WeakMap, d = new WeakMap,
|
|
230
|
-
m = new WeakMap, u = new WeakMap, g = new WeakMap, b = new WeakMap,
|
|
231
|
-
|
|
229
|
+
h = new WeakMap, c = new WeakMap, d = new WeakMap, p = new WeakMap, f = new WeakMap,
|
|
230
|
+
m = new WeakMap, u = new WeakMap, g = new WeakMap, b = new WeakMap, x = new WeakMap,
|
|
231
|
+
w = new WeakMap, v = new WeakMap, k = new WeakMap, _ = new WeakMap;
|
|
232
232
|
|
|
233
233
|
T.style = l;
|
|
234
234
|
|
|
235
235
|
export { T as gx_ide_sign_in_team };
|
|
236
|
-
//# sourceMappingURL=p-
|
|
236
|
+
//# sourceMappingURL=p-1d44dd0a.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","CHECKED_VALUE","GxIdeSignInTeam","_GxIdeSignInTeam_componentLocale","set","this","_GxIdeSignInTeam_userTeamsModel","_GxIdeSignInTeam_chSelectTeamEl","_GxIdeSignInTeam_switchStepTransitionTime","_GxIdeSignInTeam_termsAndConditionsCheckboxEl","_GxIdeSignInTeam_privacyPolicyCheckboxEl","_GxIdeSignInTeam_authStepCallback","authStep","signInCallback","__classPrivateFieldGet","_GxIdeSignInTeam_continueHandler","call","async","continueCallback","_GxIdeSignInTeam_renderStepHeader","h","class","src","alt","authStepInternal","titlePart1","titlePart2","_GxIdeSignInTeam_renderStepFooter","signInDisabled","termsConfirmationRequired","termsAndConditionsAccepted","onClick","disabled","buttonCaption","_GxIdeSignInTeam_evaluateTermsConditionsAndPrivacyAccepted","privacyPolicyAccepted","_GxIdeSignInTeam_termsAndConditionsClickedHandler","event","preventDefault","termsCallback","_GxIdeSignInTeam_privacyPolicyClickedHandler","privacyCallback","_GxIdeSignInTeam_evaluateStepRender","signIn","description","checkedValue","ref","el","__classPrivateFieldSet","onInput","htmlFor","agreement","termsAndConditionsLabel","hyperlink","termsAndConditionsLink","privacyAndPolicyLabel","privacyAndPolicyLink","loaderTitle","loader","fetchingTeamsTitle","settingUpSessionTitle","loaderDescription","fetchingTeamsDescription","settingUpDescription","show","selectUserTeam","infoMessage","label","accessibleName","model","_a","authStepChanged","newAuthStep","slideIsVisible","setTimeout","teamsChanged","newTeams","componentWillLoad","Locale","getComponentStrings","style","setProperty","toString","render","Host","slide__main"],"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}\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(--color-accent-surface-elevation-1);\n border-radius: var(--dialog-border-radius, 16px);\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: 48px;\n transform: translateY(4px);\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(--spacing-gap-xxl);\n max-inline-size: 480px;\n }\n\n &__main-header {\n display: grid;\n gap: var(--spacing-gap-xxl);\n }\n\n &__main-title {\n display: flex;\n flex-direction: column;\n letter-spacing: 0.02em;\n }\n\n &__main-description {\n display: grid;\n gap: 40px;\n color: var(--color-text-neutral-disabled);\n max-inline-size: 370px;\n }\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n --ch-combo-box__popover-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\n// WA (this class should be defined on Mercury\n.hyperlink {\n text-decoration: underline;\n cursor: pointer;\n}\n// WA checkboxes labels should not include margin-block-start when\n// placed inside a field-inline.\n.field-inline > .label-agreement {\n margin-block-start: 0 !important;\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 \"components/checkbox\",\n \"utils/form\"\n];\n\nconst CHECKED_VALUE = \"on\";\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 GxIdeSignInTeam {\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 #termsAndConditionsCheckboxEl!: HTMLChCheckboxElement;\n #privacyPolicyCheckboxEl!: HTMLChCheckboxElement;\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 * True if terms and conditions are accepted.\n */\n @State() termsAndConditionsAccepted: boolean = false;\n\n /**\n * The authentication step to display\n */\n @Prop() readonly authStep: AuthStep = \"signIn\";\n @Watch(\"authStep\")\n authStepChanged(newAuthStep: AuthStep) {\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 * When true, it will diplay checkboxes for the user to confirm terms and conditions\n */\n @Prop() readonly termsConfirmationRequired: boolean = false;\n\n /**\n * Array that contains the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n @Watch(\"teams\")\n teamsChanged(newTeams: TeamData[]) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n }\n\n /**\n * Callback executed when the user clicks on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n /**\n * Callback executed when the user clicks on the \"privacy policy\" link\n */\n @Prop() readonly privacyCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.el.style.setProperty(\n \"--switch-step-transtion-time\",\n this.#switchStepTransitionTime.toString() + \"ms\"\n );\n // Initialize values\n this.authStepInternal = this.authStep;\n this.teamsChanged(this.teams);\n }\n\n #authStepCallback = () => {\n if (this.authStep === \"signIn\") {\n this.signInCallback();\n } else if (this.authStep === \"selectUserTeam\") {\n this.#continueHandler();\n }\n };\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n #renderStepHeader = (): HTMLElement => {\n return (\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 heading-2\"\n >\n <span>{this.#componentLocale[this.authStepInternal].titlePart1}</span>\n <span>{this.#componentLocale[this.authStepInternal].titlePart2}</span>\n </h2>\n </header>\n );\n };\n\n #renderStepFooter = (): HTMLElement => {\n const signInDisabled =\n this.authStep === \"signIn\" &&\n this.termsConfirmationRequired &&\n !this.termsAndConditionsAccepted;\n return (\n <div>\n <button\n class=\"button-primary main-btn\"\n onClick={this.#authStepCallback}\n disabled={signInDisabled}\n >\n {this.#componentLocale[this.authStepInternal].buttonCaption}\n </button>\n </div>\n );\n };\n\n #evaluateTermsConditionsAndPrivacyAccepted = () => {\n const termsAndConditionsAccepted =\n this.#termsAndConditionsCheckboxEl.value === CHECKED_VALUE;\n const privacyPolicyAccepted =\n this.#privacyPolicyCheckboxEl.value === CHECKED_VALUE;\n this.termsAndConditionsAccepted =\n termsAndConditionsAccepted && privacyPolicyAccepted;\n };\n\n #termsAndConditionsClickedHandler = (event: MouseEvent) => {\n event.preventDefault();\n this.termsCallback();\n };\n\n #privacyPolicyClickedHandler = (event: MouseEvent) => {\n event.preventDefault();\n this.privacyCallback();\n };\n\n #evaluateStepRender = () => {\n if (this.authStepInternal === \"signIn\") {\n return [\n this.#renderStepHeader(),\n <p class=\"body-regular-l\">\n {this.#componentLocale.signIn.description}\n </p>,\n this.termsConfirmationRequired && (\n <div class=\"field-group\">\n <div\n // terms and conditions\n class=\"field field-inline\"\n >\n <ch-checkbox\n checkedValue={CHECKED_VALUE}\n id=\"terms-and-conditions\"\n class=\"checkbox\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#termsAndConditionsCheckboxEl =\n el as HTMLChCheckboxElement)\n }\n onInput={this.#evaluateTermsConditionsAndPrivacyAccepted}\n ></ch-checkbox>\n <span>\n {/*\n WA: this span prevents field-inline applying padding-block-start on the label\n TODO: See how to ignore padding-block-start when using field-inline with a control\n that is not an input, combo-box, etc..\n */}\n <label\n htmlFor=\"terms-and-conditions\"\n class=\"label label-agreement\"\n >\n {this.#componentLocale.agreement.termsAndConditionsLabel}\n <span\n class={{ hyperlink: !!this.termsCallback }}\n onClick={\n this.termsCallback &&\n this.#termsAndConditionsClickedHandler\n }\n >\n {this.#componentLocale.agreement.termsAndConditionsLink}\n </span>\n </label>\n </span>\n </div>\n <div\n // privacy policy\n class=\"field field-inline\"\n >\n <ch-checkbox\n checkedValue={CHECKED_VALUE}\n id=\"privacy-policy\"\n class=\"checkbox\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#privacyPolicyCheckboxEl = el as HTMLChCheckboxElement)\n }\n onInput={this.#evaluateTermsConditionsAndPrivacyAccepted}\n ></ch-checkbox>\n <span>\n {/*\n WA: this span prevents field-inline applying padding-block-start on the label\n TODO: See how to ignore padding-block-start when using field-inline with a control\n that is not an input, combo-box, etc..\n */}\n <label htmlFor=\"privacy-policy\" class=\"label label-agreement\">\n {this.#componentLocale.agreement.privacyAndPolicyLabel}\n <span\n class={{ hyperlink: !!this.privacyCallback }}\n onClick={\n this.privacyCallback && this.#privacyPolicyClickedHandler\n }\n >\n {this.#componentLocale.agreement.privacyAndPolicyLink}\n </span>\n </label>\n </span>\n </div>\n </div>\n ),\n\n this.#renderStepFooter()\n ];\n } else if (\n this.authStepInternal === \"fetchUserTeams\" ||\n this.authStepInternal === \"settingUpSession\"\n ) {\n const loaderTitle =\n this.authStepInternal === \"fetchUserTeams\"\n ? this.#componentLocale.loader.fetchingTeamsTitle\n : this.#componentLocale.loader.settingUpSessionTitle;\n const loaderDescription =\n this.authStepInternal === \"fetchUserTeams\"\n ? this.#componentLocale.loader.fetchingTeamsDescription\n : this.#componentLocale.loader.settingUpDescription;\n return (\n <gx-ide-loader\n show\n loaderTitle={loaderTitle}\n description={loaderDescription}\n ></gx-ide-loader>\n );\n } else if (this.authStepInternal === \"selectUserTeam\") {\n return [\n this.#renderStepHeader(),\n <div class=\"slide__select-team-description\">\n <p class=\"body-semi-bold-l\">\n {this.#componentLocale.selectUserTeam.infoMessage}\n </p>\n </div>,\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">\n {this.#componentLocale.selectUserTeam.label}\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 = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>,\n this.#renderStepFooter()\n ];\n }\n };\n\n render() {\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 {this.#evaluateStepRender()}\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type AuthStep =\n | \"signIn\"\n | \"fetchUserTeams\"\n | \"selectUserTeam\"\n | \"settingUpSession\";\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"],"mappings":"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"}
|