@genexus/genexus-ide-ui 1.0.35 → 1.0.37
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/MERCURY_ASSETS-b23e31e2.js +9 -0
- package/dist/cjs/MERCURY_ASSETS-b23e31e2.js.map +1 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-design-import.cjs.entry.js +59 -47
- package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +35 -20
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +22 -22
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/design-import/design-import.css +8 -0
- package/dist/collection/components/design-import/design-import.js +57 -45
- package/dist/collection/components/design-import/design-import.js.map +1 -1
- package/dist/collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.en.json +3 -1
- package/dist/collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.ja.json +3 -1
- package/dist/collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.zh.json +3 -1
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +4 -8
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +2 -6
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +2 -6
- package/dist/collection/components/select-user-team/select-user-team.css +47 -19
- package/dist/collection/components/select-user-team/select-user-team.js +64 -26
- package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
- package/dist/collection/components/sign-in-team/sign-in-team.js +20 -20
- package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
- package/dist/components/MERCURY_ASSETS.js +1 -1
- package/dist/components/MERCURY_ASSETS.js.map +1 -1
- package/dist/components/gx-ide-design-import.js +58 -46
- package/dist/components/gx-ide-design-import.js.map +1 -1
- package/dist/components/gx-ide-select-user-team.js +40 -22
- package/dist/components/gx-ide-select-user-team.js.map +1 -1
- package/dist/components/gx-ide-sign-in-team.js +22 -22
- package/dist/components/gx-ide-sign-in-team.js.map +1 -1
- package/dist/esm/MERCURY_ASSETS-7a7c1795.js +7 -0
- package/dist/esm/MERCURY_ASSETS-7a7c1795.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
- package/dist/esm/gx-ide-current-user-info.entry.js +1 -1
- package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
- package/dist/esm/gx-ide-data-selector.entry.js +1 -1
- package/dist/esm/gx-ide-design-import.entry.js +59 -47
- package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
- package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
- package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
- package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +35 -20
- package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +22 -22
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
- package/dist/esm/gx-ide-start-page.entry.js +1 -1
- package/dist/esm/gx-ide-welcome-page.entry.js +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/design-import/langs/design-import.lang.en.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.ja.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.zh.json +3 -1
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +4 -8
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +2 -6
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +2 -6
- package/dist/genexus-ide-ui/{p-70a8edd9.entry.js → p-05775d0c.entry.js} +2 -2
- package/dist/genexus-ide-ui/p-0b33d2f9.entry.js.map +1 -1
- package/dist/genexus-ide-ui/{p-ecd748ba.entry.js → p-0f196406.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-a1e8b380.entry.js → p-5fc133b2.entry.js} +223 -213
- package/dist/genexus-ide-ui/p-5fc133b2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-390498e4.entry.js → p-764540b3.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-33a1c48f.entry.js → p-7ba9fb6d.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-3d6140e6.entry.js → p-7cde7e4f.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-6f3f4f54.entry.js → p-88e16a83.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e774109a.entry.js → p-993819d4.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-ad521974.entry.js → p-a8e43d8e.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-7d4c5a43.js → p-b81d21d5.js} +8050 -966
- package/dist/genexus-ide-ui/p-b81d21d5.js.map +1 -0
- package/dist/genexus-ide-ui/{p-a0724750.entry.js → p-bd5316a2.entry.js} +11 -11
- package/dist/genexus-ide-ui/{p-fa69428e.entry.js → p-bf1682ff.entry.js} +20 -20
- package/dist/genexus-ide-ui/p-c9b0fd13.entry.js +130 -0
- package/dist/genexus-ide-ui/p-c9b0fd13.entry.js.map +1 -0
- package/dist/genexus-ide-ui/{p-31511545.entry.js → p-cadec045.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-e36d53f0.entry.js → p-dd890eed.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-cc0fbef2.entry.js → p-de6112f9.entry.js} +2 -2
- package/dist/genexus-ide-ui/{p-be0c10de.entry.js → p-f36f9a6d.entry.js} +2 -2
- package/dist/types/components/select-user-team/select-user-team.d.ts +10 -5
- package/dist/types/components/sign-in-team/sign-in-team.d.ts +1 -1
- package/dist/types/components.d.ts +12 -4
- package/package.json +3 -3
- package/dist/cjs/MERCURY_ASSETS-56ba4d5e.js +0 -9
- package/dist/cjs/MERCURY_ASSETS-56ba4d5e.js.map +0 -1
- package/dist/esm/MERCURY_ASSETS-827056e0.js +0 -7
- package/dist/esm/MERCURY_ASSETS-827056e0.js.map +0 -1
- package/dist/genexus-ide-ui/p-7d4c5a43.js.map +0 -1
- package/dist/genexus-ide-ui/p-a1e8b380.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-b189e45d.entry.js +0 -113
- package/dist/genexus-ide-ui/p-b189e45d.entry.js.map +0 -1
- /package/dist/genexus-ide-ui/{p-70a8edd9.entry.js.map → p-05775d0c.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ecd748ba.entry.js.map → p-0f196406.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-390498e4.entry.js.map → p-764540b3.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-33a1c48f.entry.js.map → p-7ba9fb6d.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-3d6140e6.entry.js.map → p-7cde7e4f.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-6f3f4f54.entry.js.map → p-88e16a83.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e774109a.entry.js.map → p-993819d4.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-ad521974.entry.js.map → p-a8e43d8e.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-a0724750.entry.js.map → p-bd5316a2.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-fa69428e.entry.js.map → p-bf1682ff.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-31511545.entry.js.map → p-cadec045.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-e36d53f0.entry.js.map → p-dd890eed.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-cc0fbef2.entry.js.map → p-de6112f9.entry.js.map} +0 -0
- /package/dist/genexus-ide-ui/{p-be0c10de.entry.js.map → p-f36f9a6d.entry.js.map} +0 -0
|
@@ -29,7 +29,7 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
|
|
|
29
29
|
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
30
30
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
31
31
|
};
|
|
32
|
-
var
|
|
32
|
+
var _GxIdeSignInTeam_componentLocale, _GxIdeSignInTeam_userTeamsModel, _GxIdeSignInTeam_chSelectTeamEl, _GxIdeSignInTeam_switchStepTransitionTime, _GxIdeSignInTeam_authStepCallback, _GxIdeSignInTeam_continueHandler;
|
|
33
33
|
const COPYRIGHTS_ILLUSTRATION = getAssetPath(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
|
|
34
34
|
const ICON_NEXT = getAssetPath(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
|
|
35
35
|
const CSS_BUNDLES = [
|
|
@@ -38,7 +38,7 @@ const CSS_BUNDLES = [
|
|
|
38
38
|
"components/button",
|
|
39
39
|
"components/combo-box"
|
|
40
40
|
];
|
|
41
|
-
const
|
|
41
|
+
const GxIdeSignInTeam$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeSignInTeam extends HTMLElement {
|
|
42
42
|
constructor() {
|
|
43
43
|
super();
|
|
44
44
|
this.__registerHost();
|
|
@@ -47,21 +47,21 @@ const GxIdeUiSplash = /*@__PURE__*/ proxyCustomElement(class GxIdeUiSplash exten
|
|
|
47
47
|
* The component hard-coded strings translations.
|
|
48
48
|
*/
|
|
49
49
|
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
50
|
-
|
|
50
|
+
_GxIdeSignInTeam_componentLocale.set(this, void 0);
|
|
51
51
|
// Select User Team References :
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
_GxIdeSignInTeam_userTeamsModel.set(this, []);
|
|
53
|
+
_GxIdeSignInTeam_chSelectTeamEl.set(this, void 0);
|
|
54
|
+
_GxIdeSignInTeam_switchStepTransitionTime.set(this, 100);
|
|
55
|
+
_GxIdeSignInTeam_authStepCallback.set(this, () => {
|
|
56
56
|
if (this.authStep === "signIn") {
|
|
57
57
|
this.signInCallback();
|
|
58
58
|
}
|
|
59
59
|
else if (this.authStep === "selectUserTeam") {
|
|
60
|
-
__classPrivateFieldGet(this,
|
|
60
|
+
__classPrivateFieldGet(this, _GxIdeSignInTeam_continueHandler, "f").call(this);
|
|
61
61
|
}
|
|
62
62
|
});
|
|
63
|
-
|
|
64
|
-
await this.continueCallback(__classPrivateFieldGet(this,
|
|
63
|
+
_GxIdeSignInTeam_continueHandler.set(this, async () => {
|
|
64
|
+
await this.continueCallback(__classPrivateFieldGet(this, _GxIdeSignInTeam_chSelectTeamEl, "f").value);
|
|
65
65
|
});
|
|
66
66
|
this.authStepInternal = undefined;
|
|
67
67
|
this.slideIsVisible = true;
|
|
@@ -76,18 +76,18 @@ const GxIdeUiSplash = /*@__PURE__*/ proxyCustomElement(class GxIdeUiSplash exten
|
|
|
76
76
|
// switch step
|
|
77
77
|
setTimeout(() => {
|
|
78
78
|
this.authStepInternal = newAuthStep;
|
|
79
|
-
}, __classPrivateFieldGet(this,
|
|
79
|
+
}, __classPrivateFieldGet(this, _GxIdeSignInTeam_switchStepTransitionTime, "f"));
|
|
80
80
|
// show slide
|
|
81
81
|
setTimeout(() => {
|
|
82
82
|
this.slideIsVisible = true;
|
|
83
|
-
}, __classPrivateFieldGet(this,
|
|
83
|
+
}, __classPrivateFieldGet(this, _GxIdeSignInTeam_switchStepTransitionTime, "f") * 2);
|
|
84
84
|
}
|
|
85
85
|
teamsChanged(newTeams) {
|
|
86
|
-
__classPrivateFieldSet(this,
|
|
86
|
+
__classPrivateFieldSet(this, _GxIdeSignInTeam_userTeamsModel, mapTeamsToComboBoxItemModel(newTeams), "f");
|
|
87
87
|
}
|
|
88
88
|
async componentWillLoad() {
|
|
89
|
-
__classPrivateFieldSet(this,
|
|
90
|
-
this.el.style.setProperty("--switch-step-transtion-time", __classPrivateFieldGet(this,
|
|
89
|
+
__classPrivateFieldSet(this, _GxIdeSignInTeam_componentLocale, await Locale.getComponentStrings(this.el), "f");
|
|
90
|
+
this.el.style.setProperty("--switch-step-transtion-time", __classPrivateFieldGet(this, _GxIdeSignInTeam_switchStepTransitionTime, "f").toString() + "ms");
|
|
91
91
|
// Initialize values
|
|
92
92
|
this.authStepInternal = this.authStep;
|
|
93
93
|
this.teamsChanged(this.teams);
|
|
@@ -102,10 +102,10 @@ const GxIdeUiSplash = /*@__PURE__*/ proxyCustomElement(class GxIdeUiSplash exten
|
|
|
102
102
|
}), h("h2", {
|
|
103
103
|
// Split the title into two spans for better styling
|
|
104
104
|
class: "slide__main-title"
|
|
105
|
-
}, h("span", null, __classPrivateFieldGet(this,
|
|
106
|
-
h("div", { class: "slide__select-team-description" }, h("p", { class: "text-body-highlighted-l" }, __classPrivateFieldGet(this,
|
|
107
|
-
h("div", { class: "field-group" }, h("div", { class: "field field-block" }, h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this,
|
|
108
|
-
]), h("div", null, h("button", { class: "button-primary main-btn", onClick: __classPrivateFieldGet(this,
|
|
105
|
+
}, h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].titlePart1), h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].titlePart2))), this.authStepInternal === "signIn" ? (h("div", { class: "slide__main-description" }, h("p", { hidden: true }, h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").descriptionText)), h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").signIn.byContinuingText, h("a", { class: "terms-conditions", onClick: this.termsCallback }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").signIn.byContinuingCallBackText)))) : ([
|
|
106
|
+
h("div", { class: "slide__select-team-description" }, h("p", { class: "text-body-highlighted-l" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").selectUserTeam.infoMessage)),
|
|
107
|
+
h("div", { class: "field-group" }, h("div", { class: "field field-block" }, h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").teams), h("ch-combo-box-render", { id: "teams", accessibleName: "Teams", class: "combo-box teams-list", model: __classPrivateFieldGet(this, _GxIdeSignInTeam_userTeamsModel, "f"), value: (_a = __classPrivateFieldGet(this, _GxIdeSignInTeam_userTeamsModel, "f")[0]) === null || _a === void 0 ? void 0 : _a.value, ref: (el) => (__classPrivateFieldSet(this, _GxIdeSignInTeam_chSelectTeamEl, el, "f")) })))
|
|
108
|
+
]), h("div", null, h("button", { class: "button-primary main-btn", onClick: __classPrivateFieldGet(this, _GxIdeSignInTeam_authStepCallback, "f") }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].buttonCaption)))))));
|
|
109
109
|
}
|
|
110
110
|
static get assetsDirs() { return ["gx-ide-assets/sign-in-team"]; }
|
|
111
111
|
get el() { return this; }
|
|
@@ -126,7 +126,7 @@ const GxIdeUiSplash = /*@__PURE__*/ proxyCustomElement(class GxIdeUiSplash exten
|
|
|
126
126
|
"authStep": ["authStepChanged"],
|
|
127
127
|
"teams": ["teamsChanged"]
|
|
128
128
|
}]);
|
|
129
|
-
|
|
129
|
+
_GxIdeSignInTeam_componentLocale = new WeakMap(), _GxIdeSignInTeam_userTeamsModel = new WeakMap(), _GxIdeSignInTeam_chSelectTeamEl = new WeakMap(), _GxIdeSignInTeam_switchStepTransitionTime = new WeakMap(), _GxIdeSignInTeam_authStepCallback = new WeakMap(), _GxIdeSignInTeam_continueHandler = new WeakMap();
|
|
130
130
|
function defineCustomElement$1() {
|
|
131
131
|
if (typeof customElements === "undefined") {
|
|
132
132
|
return;
|
|
@@ -135,13 +135,13 @@ function defineCustomElement$1() {
|
|
|
135
135
|
components.forEach(tagName => { switch (tagName) {
|
|
136
136
|
case "gx-ide-sign-in-team":
|
|
137
137
|
if (!customElements.get(tagName)) {
|
|
138
|
-
customElements.define(tagName,
|
|
138
|
+
customElements.define(tagName, GxIdeSignInTeam$1);
|
|
139
139
|
}
|
|
140
140
|
break;
|
|
141
141
|
} });
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
const GxIdeSignInTeam =
|
|
144
|
+
const GxIdeSignInTeam = GxIdeSignInTeam$1;
|
|
145
145
|
const defineCustomElement = defineCustomElement$1;
|
|
146
146
|
|
|
147
147
|
export { GxIdeSignInTeam, defineCustomElement };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"gx-ide-sign-in-team.js","mappings":"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","names":[],"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 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 @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 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 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 <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"],"version":3}
|
|
1
|
+
{"file":"gx-ide-sign-in-team.js","mappings":"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","names":["GxIdeSignInTeam"],"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 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\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 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 @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 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 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 <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"],"version":3}
|