@genexus/genexus-ide-ui 3.2.9 → 3.2.11
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-db-instance-selector.cjs.entry.js +147 -0
- package/dist/cjs/gx-ide-db-instance-selector.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +261 -138
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
- package/dist/cjs/gx-ide-select-team-or-org.cjs.entry.js +128 -0
- package/dist/cjs/gx-ide-select-team-or-org.cjs.entry.js.map +1 -0
- package/dist/cjs/gx-ide-sign-in-organization.cjs.entry.js +187 -0
- package/dist/cjs/gx-ide-sign-in-organization.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/db-instance-selector/db-instance-selector.css +20 -0
- package/dist/collection/components/db-instance-selector/db-instance-selector.js +262 -0
- package/dist/collection/components/db-instance-selector/db-instance-selector.js.map +1 -0
- package/dist/collection/components/db-instance-selector/gx-ide-assets/db-instance-selector/langs/db-instance-selector.lang.en.json +14 -0
- package/dist/collection/components/db-instance-selector/gx-ide-assets/db-instance-selector/langs/db-instance-selector.lang.ja.json +14 -0
- package/dist/collection/components/db-instance-selector/gx-ide-assets/db-instance-selector/langs/db-instance-selector.lang.zh.json +14 -0
- package/dist/collection/components/db-instance-selector/gx-ide-assets/db-instance-selector/shortcuts.json +15 -0
- package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +17 -4
- package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.ja.json +17 -4
- package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.zh.json +17 -4
- package/dist/collection/components/new-kb/new-kb.css +122 -17
- package/dist/collection/components/new-kb/new-kb.js +320 -193
- package/dist/collection/components/new-kb/new-kb.js.map +1 -1
- package/dist/collection/components/new-kb/tests/new-kb.e2e.js +48 -60
- package/dist/collection/components/new-kb/tests/new-kb.e2e.js.map +1 -1
- package/dist/collection/components/select-team-or-org/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.en.json +18 -0
- package/dist/collection/components/select-team-or-org/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.ja.json +18 -0
- package/dist/collection/components/select-team-or-org/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.zh.json +18 -0
- package/dist/collection/components/select-team-or-org/helpers.js +9 -0
- package/dist/collection/components/select-team-or-org/helpers.js.map +1 -0
- package/dist/collection/components/{select-user-team/select-user-team.css → select-team-or-org/select-team-or-org.css} +7 -4
- package/dist/collection/components/select-team-or-org/select-team-or-org.js +220 -0
- package/dist/collection/components/select-team-or-org/select-team-or-org.js.map +1 -0
- package/dist/{genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json → collection/components/sign-in-organization/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.en.json} +5 -5
- package/dist/{genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json → collection/components/sign-in-organization/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.ja.json} +5 -5
- package/dist/collection/components/{sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json → sign-in-organization/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.zh.json} +5 -5
- package/dist/collection/components/sign-in-organization/helpers.js +10 -0
- package/dist/collection/components/sign-in-organization/helpers.js.map +1 -0
- package/dist/collection/components/{sign-in-team/sign-in-team.js → sign-in-organization/sign-in-organization.js} +72 -72
- package/dist/collection/components/sign-in-organization/sign-in-organization.js.map +1 -0
- package/dist/collection/testing/locale.e2e.js +3 -2
- package/dist/collection/testing/locale.e2e.js.map +1 -1
- package/dist/components/gx-ide-db-instance-selector.d.ts +11 -0
- package/dist/components/gx-ide-db-instance-selector.js +168 -0
- package/dist/components/gx-ide-db-instance-selector.js.map +1 -0
- package/dist/components/gx-ide-new-kb.js +281 -152
- package/dist/components/gx-ide-new-kb.js.map +1 -1
- package/dist/components/gx-ide-select-team-or-org.d.ts +11 -0
- package/dist/components/gx-ide-select-team-or-org.js +157 -0
- package/dist/components/gx-ide-select-team-or-org.js.map +1 -0
- package/dist/components/gx-ide-sign-in-organization.d.ts +11 -0
- package/dist/components/gx-ide-sign-in-organization.js +221 -0
- package/dist/components/gx-ide-sign-in-organization.js.map +1 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-db-instance-selector.entry.js +143 -0
- package/dist/esm/gx-ide-db-instance-selector.entry.js.map +1 -0
- package/dist/esm/gx-ide-new-kb.entry.js +261 -138
- package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
- package/dist/esm/gx-ide-select-team-or-org.entry.js +124 -0
- package/dist/esm/gx-ide-select-team-or-org.entry.js.map +1 -0
- package/dist/esm/gx-ide-sign-in-organization.entry.js +183 -0
- package/dist/esm/gx-ide-sign-in-organization.entry.js.map +1 -0
- 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/db-instance-selector/langs/db-instance-selector.lang.en.json +14 -0
- package/dist/genexus-ide-ui/gx-ide-assets/db-instance-selector/langs/db-instance-selector.lang.ja.json +14 -0
- package/dist/genexus-ide-ui/gx-ide-assets/db-instance-selector/langs/db-instance-selector.lang.zh.json +14 -0
- package/dist/genexus-ide-ui/gx-ide-assets/db-instance-selector/shortcuts.json +15 -0
- package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +17 -4
- package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.ja.json +17 -4
- package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.zh.json +17 -4
- package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.en.json +18 -0
- package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.ja.json +18 -0
- package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.zh.json +18 -0
- package/dist/genexus-ide-ui/gx-ide-assets/{sign-in-team/langs/sign-in-team.lang.zh.json → sign-in-organization/langs/sign-in-organization.lang.en.json} +5 -5
- package/dist/{collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json → genexus-ide-ui/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.ja.json} +5 -5
- package/dist/{collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.zh.json → genexus-ide-ui/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.zh.json} +5 -5
- package/dist/genexus-ide-ui/{p-1d44dd0a.entry.js → p-15b1c9be.entry.js} +72 -72
- package/dist/genexus-ide-ui/p-15b1c9be.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-2129d0d2.entry.js +164 -0
- package/dist/genexus-ide-ui/p-2129d0d2.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-c1db7f38.entry.js +182 -0
- package/dist/genexus-ide-ui/p-c1db7f38.entry.js.map +1 -0
- package/dist/genexus-ide-ui/p-eeae9dd5.entry.js +1020 -0
- package/dist/genexus-ide-ui/p-eeae9dd5.entry.js.map +1 -0
- package/dist/types/components/db-instance-selector/db-instance-selector.d.ts +39 -0
- package/dist/types/components/new-kb/new-kb.d.ts +51 -23
- package/dist/types/components/select-team-or-org/helpers.d.ts +3 -0
- package/dist/types/components/select-team-or-org/select-team-or-org.d.ts +38 -0
- package/dist/types/components/sign-in-organization/helpers.d.ts +3 -0
- package/dist/types/components/{sign-in-team/sign-in-team.d.ts → sign-in-organization/sign-in-organization.d.ts} +8 -8
- package/dist/types/components.d.ts +189 -130
- package/package.json +1 -1
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +0 -121
- package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +0 -1
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +0 -187
- package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +0 -1
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +0 -10
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +0 -10
- package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +0 -10
- package/dist/collection/components/select-user-team/helpers.js +0 -9
- package/dist/collection/components/select-user-team/helpers.js.map +0 -1
- package/dist/collection/components/select-user-team/select-user-team.js +0 -189
- package/dist/collection/components/select-user-team/select-user-team.js.map +0 -1
- package/dist/collection/components/sign-in-team/helpers.js +0 -10
- package/dist/collection/components/sign-in-team/helpers.js.map +0 -1
- package/dist/collection/components/sign-in-team/sign-in-team.js.map +0 -1
- package/dist/components/gx-ide-select-user-team.d.ts +0 -11
- package/dist/components/gx-ide-select-user-team.js +0 -149
- package/dist/components/gx-ide-select-user-team.js.map +0 -1
- package/dist/components/gx-ide-sign-in-team.d.ts +0 -11
- package/dist/components/gx-ide-sign-in-team.js +0 -221
- package/dist/components/gx-ide-sign-in-team.js.map +0 -1
- package/dist/esm/gx-ide-select-user-team.entry.js +0 -117
- package/dist/esm/gx-ide-select-user-team.entry.js.map +0 -1
- package/dist/esm/gx-ide-sign-in-team.entry.js +0 -183
- package/dist/esm/gx-ide-sign-in-team.entry.js.map +0 -1
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +0 -10
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +0 -10
- package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +0 -10
- package/dist/genexus-ide-ui/p-1d44dd0a.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-2317ffcb.entry.js +0 -156
- package/dist/genexus-ide-ui/p-2317ffcb.entry.js.map +0 -1
- package/dist/genexus-ide-ui/p-76e1c357.entry.js +0 -802
- package/dist/genexus-ide-ui/p-76e1c357.entry.js.map +0 -1
- package/dist/types/components/select-user-team/helpers.d.ts +0 -3
- package/dist/types/components/select-user-team/select-user-team.d.ts +0 -32
- package/dist/types/components/sign-in-team/helpers.d.ts +0 -3
- /package/dist/collection/components/{select-user-team/gx-ide-assets/select-user-team → select-team-or-org/gx-ide-assets/select-team-or-org}/images/copyrights-illustration.png +0 -0
- /package/dist/collection/components/{select-user-team/gx-ide-assets/select-user-team → select-team-or-org/gx-ide-assets/select-team-or-org}/images/icon-next.svg +0 -0
- /package/dist/collection/components/{sign-in-team/gx-ide-assets/sign-in-team → sign-in-organization/gx-ide-assets/sign-in-organization}/images/copyrights-illustration.png +0 -0
- /package/dist/collection/components/{sign-in-team/gx-ide-assets/sign-in-team → sign-in-organization/gx-ide-assets/sign-in-organization}/images/icon-next.svg +0 -0
- /package/dist/collection/components/{sign-in-team/sign-in-team.css → sign-in-organization/sign-in-organization.css} +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{select-user-team → select-team-or-org}/images/copyrights-illustration.png +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{select-user-team → select-team-or-org}/images/icon-next.svg +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{sign-in-team → sign-in-organization}/images/copyrights-illustration.png +0 -0
- /package/dist/genexus-ide-ui/gx-ide-assets/{sign-in-team → sign-in-organization}/images/icon-next.svg +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { g as i, r as
|
|
1
|
+
import { g as i, r as n, h as e, H as s, a as t } from "./p-9b9ccd0c.js";
|
|
2
2
|
|
|
3
3
|
import { L as a } from "./p-311eedf3.js";
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const mapOrganizationsToComboBoxItemModel = i => {
|
|
6
6
|
if (!i) {
|
|
7
7
|
return [];
|
|
8
8
|
}
|
|
@@ -12,22 +12,22 @@ const mapTeamsToComboBoxItemModel = i => {
|
|
|
12
12
|
})));
|
|
13
13
|
};
|
|
14
14
|
|
|
15
|
-
const
|
|
15
|
+
const o = ":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,
|
|
18
|
-
if (
|
|
19
|
-
if (typeof
|
|
20
|
-
return
|
|
17
|
+
var r = undefined && undefined.__classPrivateFieldGet || function(i, n, e, s) {
|
|
18
|
+
if (e === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
if (typeof n === "function" ? i !== n || !s : !n.has(i)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
+
return e === "m" ? s : e === "a" ? s.call(i) : s ? s.value : n.get(i);
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var l = undefined && undefined.__classPrivateFieldSet || function(i, n, e, s, t) {
|
|
24
24
|
if (s === "m") throw new TypeError("Private method is not writable");
|
|
25
25
|
if (s === "a" && !t) throw new TypeError("Private accessor was defined without a setter");
|
|
26
|
-
if (typeof
|
|
27
|
-
return s === "a" ? t.call(i,
|
|
26
|
+
if (typeof n === "function" ? i !== n || !t : !n.has(i)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
27
|
+
return s === "a" ? t.call(i, e) : t ? t.value = e : n.set(i, e), e;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
var h, c, d, p, f, m,
|
|
30
|
+
var h, c, d, p, f, m, g, u, b, x, w, v, k, _;
|
|
31
31
|
|
|
32
32
|
const y = i(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
|
|
33
33
|
|
|
@@ -37,51 +37,51 @@ const W = [ "resets/box-sizing", "utils/typography", "components/button", "compo
|
|
|
37
37
|
|
|
38
38
|
const M = "on";
|
|
39
39
|
|
|
40
|
-
const
|
|
40
|
+
const C = class {
|
|
41
41
|
constructor(i) {
|
|
42
|
-
|
|
42
|
+
n(this, i);
|
|
43
43
|
/**
|
|
44
44
|
* The component hard-coded strings translations.
|
|
45
45
|
*/
|
|
46
46
|
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
47
47
|
h.set(this, void 0);
|
|
48
|
-
// Select
|
|
48
|
+
// Select Organization References :
|
|
49
49
|
c.set(this, []);
|
|
50
50
|
d.set(this, void 0);
|
|
51
51
|
p.set(this, 100);
|
|
52
52
|
f.set(this, void 0);
|
|
53
53
|
m.set(this, void 0);
|
|
54
|
-
|
|
54
|
+
g.set(this, (() => {
|
|
55
55
|
if (this.authStep === "signIn") {
|
|
56
56
|
this.signInCallback();
|
|
57
|
-
} else if (this.authStep === "
|
|
58
|
-
r(this,
|
|
57
|
+
} else if (this.authStep === "selectOrganization") {
|
|
58
|
+
r(this, u, "f").call(this);
|
|
59
59
|
}
|
|
60
60
|
}));
|
|
61
|
-
|
|
61
|
+
u.set(this, (async () => {
|
|
62
62
|
await this.continueCallback(r(this, d, "f").value);
|
|
63
63
|
}));
|
|
64
|
-
b.set(this, (() =>
|
|
64
|
+
b.set(this, (() => e("header", {
|
|
65
65
|
class: "slide__main-header"
|
|
66
|
-
},
|
|
66
|
+
}, e("img", {
|
|
67
67
|
src: z,
|
|
68
68
|
alt: ""
|
|
69
|
-
}),
|
|
69
|
+
}), e("h2", {
|
|
70
70
|
// Split the title into two spans for better styling
|
|
71
71
|
class: "slide__main-title heading-2"
|
|
72
|
-
},
|
|
72
|
+
}, e("span", null, r(this, h, "f")[this.authStepInternal].titlePart1), e("span", null, r(this, h, "f")[this.authStepInternal].titlePart2)))));
|
|
73
73
|
x.set(this, (() => {
|
|
74
74
|
const i = this.authStep === "signIn" && this.termsConfirmationRequired && !this.termsAndConditionsAccepted;
|
|
75
|
-
return
|
|
75
|
+
return e("div", null, e("button", {
|
|
76
76
|
class: "button-primary main-btn",
|
|
77
|
-
onClick: r(this,
|
|
77
|
+
onClick: r(this, g, "f"),
|
|
78
78
|
disabled: i
|
|
79
79
|
}, r(this, h, "f")[this.authStepInternal].buttonCaption));
|
|
80
80
|
}));
|
|
81
81
|
w.set(this, (() => {
|
|
82
82
|
const i = r(this, f, "f").value === M;
|
|
83
|
-
const
|
|
84
|
-
this.termsAndConditionsAccepted = i &&
|
|
83
|
+
const n = r(this, m, "f").value === M;
|
|
84
|
+
this.termsAndConditionsAccepted = i && n;
|
|
85
85
|
}));
|
|
86
86
|
v.set(this, (i => {
|
|
87
87
|
i.preventDefault();
|
|
@@ -94,71 +94,71 @@ const T = class {
|
|
|
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), e("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 && e("div", {
|
|
100
100
|
class: "field-group"
|
|
101
|
-
},
|
|
101
|
+
}, e("div", {
|
|
102
102
|
// terms and conditions
|
|
103
103
|
class: "field field-inline"
|
|
104
|
-
},
|
|
104
|
+
}, e("ch-checkbox", {
|
|
105
105
|
checkedValue: M,
|
|
106
106
|
id: "terms-and-conditions",
|
|
107
107
|
class: "checkbox",
|
|
108
|
-
ref: i =>
|
|
108
|
+
ref: i => l(this, f, i, "f"),
|
|
109
109
|
onInput: r(this, w, "f")
|
|
110
|
-
}),
|
|
110
|
+
}), e("span", null, e("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, e("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)))), e("div", {
|
|
119
119
|
// privacy policy
|
|
120
120
|
class: "field field-inline"
|
|
121
|
-
},
|
|
121
|
+
}, e("ch-checkbox", {
|
|
122
122
|
checkedValue: M,
|
|
123
123
|
id: "privacy-policy",
|
|
124
124
|
class: "checkbox",
|
|
125
|
-
ref: i =>
|
|
125
|
+
ref: i => l(this, m, i, "f"),
|
|
126
126
|
onInput: r(this, w, "f")
|
|
127
|
-
}),
|
|
127
|
+
}), e("span", null, e("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, e("span", {
|
|
131
131
|
class: {
|
|
132
132
|
hyperlink: !!this.privacyCallback
|
|
133
133
|
},
|
|
134
134
|
onClick: this.privacyCallback && r(this, k, "f")
|
|
135
135
|
}, r(this, h, "f").agreement.privacyAndPolicyLink))))), r(this, x, "f").call(this) ];
|
|
136
|
-
} else if (this.authStepInternal === "
|
|
137
|
-
const i = this.authStepInternal === "
|
|
138
|
-
const
|
|
139
|
-
return
|
|
136
|
+
} else if (this.authStepInternal === "fetchOrganizations" || this.authStepInternal === "settingUpSession") {
|
|
137
|
+
const i = this.authStepInternal === "fetchOrganizations" ? r(this, h, "f").loader.fetchingOrganizationsTitle : r(this, h, "f").loader.settingUpSessionTitle;
|
|
138
|
+
const n = this.authStepInternal === "fetchOrganizations" ? r(this, h, "f").loader.fetchingOrganizationsDescription : r(this, h, "f").loader.settingUpDescription;
|
|
139
|
+
return e("gx-ide-loader", {
|
|
140
140
|
show: true,
|
|
141
141
|
loaderTitle: i,
|
|
142
|
-
description:
|
|
142
|
+
description: n
|
|
143
143
|
});
|
|
144
|
-
} else if (this.authStepInternal === "
|
|
145
|
-
return [ r(this, b, "f").call(this),
|
|
146
|
-
class: "slide__select-
|
|
147
|
-
},
|
|
144
|
+
} else if (this.authStepInternal === "selectOrganization") {
|
|
145
|
+
return [ r(this, b, "f").call(this), e("div", {
|
|
146
|
+
class: "slide__select-organization-description"
|
|
147
|
+
}, e("p", {
|
|
148
148
|
class: "body-semi-bold-l"
|
|
149
|
-
}, r(this, h, "f").
|
|
149
|
+
}, r(this, h, "f").selectOrganization.infoMessage)), e("div", {
|
|
150
150
|
class: "field-group"
|
|
151
|
-
},
|
|
151
|
+
}, e("div", {
|
|
152
152
|
class: "field field-block"
|
|
153
|
-
},
|
|
154
|
-
htmlFor: "
|
|
155
|
-
}, r(this, h, "f").
|
|
156
|
-
id: "
|
|
157
|
-
accessibleName: "
|
|
158
|
-
class: "combo-box
|
|
153
|
+
}, e("label", {
|
|
154
|
+
htmlFor: "organizations"
|
|
155
|
+
}, r(this, h, "f").selectOrganization.label), e("ch-combo-box-render", {
|
|
156
|
+
id: "organizations",
|
|
157
|
+
accessibleName: "Organizations",
|
|
158
|
+
class: "combo-box organizations-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
|
-
ref: i =>
|
|
161
|
+
ref: i => l(this, d, i, "f")
|
|
162
162
|
}))), r(this, x, "f").call(this) ];
|
|
163
163
|
}
|
|
164
164
|
}));
|
|
@@ -169,7 +169,7 @@ const T = class {
|
|
|
169
169
|
this.continueCallback = undefined;
|
|
170
170
|
this.signInCallback = undefined;
|
|
171
171
|
this.termsConfirmationRequired = false;
|
|
172
|
-
this.
|
|
172
|
+
this.organizations = undefined;
|
|
173
173
|
this.termsCallback = undefined;
|
|
174
174
|
this.privacyCallback = undefined;
|
|
175
175
|
}
|
|
@@ -184,36 +184,36 @@ const T = class {
|
|
|
184
184
|
this.slideIsVisible = true;
|
|
185
185
|
}), r(this, p, "f") * 2);
|
|
186
186
|
}
|
|
187
|
-
|
|
188
|
-
|
|
187
|
+
organizationsChanged(i) {
|
|
188
|
+
l(this, c, mapOrganizationsToComboBoxItemModel(i), "f");
|
|
189
189
|
}
|
|
190
190
|
async componentWillLoad() {
|
|
191
|
-
|
|
191
|
+
l(this, h, await a.getComponentStrings(this.el), "f");
|
|
192
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
|
-
this.
|
|
195
|
+
this.organizationsChanged(this.organizations);
|
|
196
196
|
}
|
|
197
197
|
render() {
|
|
198
|
-
return
|
|
198
|
+
return e(s, null, e("ch-theme", {
|
|
199
199
|
model: W
|
|
200
|
-
}),
|
|
200
|
+
}), e("section", {
|
|
201
201
|
class: "slide"
|
|
202
|
-
},
|
|
202
|
+
}, e("img", {
|
|
203
203
|
src: y,
|
|
204
204
|
class: "slide__illustration",
|
|
205
205
|
alt: ""
|
|
206
|
-
}),
|
|
206
|
+
}), e("div", {
|
|
207
207
|
class: {
|
|
208
208
|
slide__main: true,
|
|
209
209
|
"slide__main--visible": this.slideIsVisible
|
|
210
210
|
}
|
|
211
|
-
},
|
|
211
|
+
}, e("div", {
|
|
212
212
|
class: "slide__main-container"
|
|
213
213
|
}, r(this, _, "f").call(this)))));
|
|
214
214
|
}
|
|
215
215
|
static get assetsDirs() {
|
|
216
|
-
return [ "gx-ide-assets/sign-in-
|
|
216
|
+
return [ "gx-ide-assets/sign-in-organization" ];
|
|
217
217
|
}
|
|
218
218
|
get el() {
|
|
219
219
|
return t(this);
|
|
@@ -221,16 +221,16 @@ const T = class {
|
|
|
221
221
|
static get watchers() {
|
|
222
222
|
return {
|
|
223
223
|
authStep: [ "authStepChanged" ],
|
|
224
|
-
|
|
224
|
+
organizations: [ "organizationsChanged" ]
|
|
225
225
|
};
|
|
226
226
|
}
|
|
227
227
|
};
|
|
228
228
|
|
|
229
229
|
h = new WeakMap, c = new WeakMap, d = new WeakMap, p = new WeakMap, f = new WeakMap,
|
|
230
|
-
m = new WeakMap,
|
|
230
|
+
m = new WeakMap, g = new WeakMap, u = new WeakMap, b = new WeakMap, x = new WeakMap,
|
|
231
231
|
w = new WeakMap, v = new WeakMap, k = new WeakMap, _ = new WeakMap;
|
|
232
232
|
|
|
233
|
-
|
|
233
|
+
C.style = o;
|
|
234
234
|
|
|
235
|
-
export {
|
|
236
|
-
//# sourceMappingURL=p-
|
|
235
|
+
export { C as gx_ide_sign_in_organization };
|
|
236
|
+
//# sourceMappingURL=p-15b1c9be.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapOrganizationsToComboBoxItemModel","organizations","map","organization","value","id","caption","name","signInOrganizationCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","CSS_BUNDLES","CHECKED_VALUE","GxIdeSignInOrganization","_GxIdeSignInOrganization_componentLocale","set","this","_GxIdeSignInOrganization_organizationsModel","_GxIdeSignInOrganization_chSelectOrganizationEl","_GxIdeSignInOrganization_switchStepTransitionTime","_GxIdeSignInOrganization_termsAndConditionsCheckboxEl","_GxIdeSignInOrganization_privacyPolicyCheckboxEl","_GxIdeSignInOrganization_authStepCallback","authStep","signInCallback","__classPrivateFieldGet","_GxIdeSignInOrganization_continueHandler","call","async","continueCallback","_GxIdeSignInOrganization_renderStepHeader","h","class","src","alt","authStepInternal","titlePart1","titlePart2","_GxIdeSignInOrganization_renderStepFooter","signInDisabled","termsConfirmationRequired","termsAndConditionsAccepted","onClick","disabled","buttonCaption","_GxIdeSignInOrganization_evaluateTermsConditionsAndPrivacyAccepted","privacyPolicyAccepted","_GxIdeSignInOrganization_termsAndConditionsClickedHandler","event","preventDefault","termsCallback","_GxIdeSignInOrganization_privacyPolicyClickedHandler","privacyCallback","_GxIdeSignInOrganization_evaluateStepRender","signIn","description","checkedValue","ref","el","__classPrivateFieldSet","onInput","htmlFor","agreement","termsAndConditionsLabel","hyperlink","termsAndConditionsLink","privacyAndPolicyLabel","privacyAndPolicyLink","loaderTitle","loader","fetchingOrganizationsTitle","settingUpSessionTitle","loaderDescription","fetchingOrganizationsDescription","settingUpDescription","show","selectOrganization","infoMessage","label","accessibleName","model","_a","authStepChanged","newAuthStep","slideIsVisible","setTimeout","organizationsChanged","newOrganizations","componentWillLoad","Locale","getComponentStrings","style","setProperty","toString","render","Host","slide__main"],"sources":["src/components/sign-in-organization/helpers.ts","src/components/sign-in-organization/sign-in-organization.scss?tag=gx-ide-sign-in-organization&encapsulation=shadow","src/components/sign-in-organization/sign-in-organization.tsx"],"sourcesContent":["import { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { OrganizationData } from \"./sign-in-organization\";\n\nexport const mapOrganizationsToComboBoxItemModel = (\n organizations?: OrganizationData[]\n): ComboBoxItemModel[] | undefined => {\n if (!organizations) {\n return [];\n }\n return organizations.map(organization => ({\n value: organization.id,\n caption: organization.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 { mapOrganizationsToComboBoxItemModel } 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-organization\",\n styleUrl: \"sign-in-organization.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in-organization\"]\n})\nexport class GxIdeSignInOrganization {\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 Organization References :\n #organizationsModel: ComboBoxItemModel[] = [];\n #chSelectOrganizationEl: HTMLChComboBoxRenderElement;\n #switchStepTransitionTime: number = 100;\n #termsAndConditionsCheckboxEl!: HTMLChCheckboxElement;\n #privacyPolicyCheckboxEl!: HTMLChCheckboxElement;\n\n @Element() el: HTMLGxIdeSignInOrganizationElement;\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!: (organizationId: 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 organizations\n */\n @Prop() readonly organizations!: OrganizationData[];\n @Watch(\"organizations\")\n organizationsChanged(newOrganizations: OrganizationData[]) {\n this.#organizationsModel =\n mapOrganizationsToComboBoxItemModel(newOrganizations);\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.organizationsChanged(this.organizations);\n }\n\n #authStepCallback = () => {\n if (this.authStep === \"signIn\") {\n this.signInCallback();\n } else if (this.authStep === \"selectOrganization\") {\n this.#continueHandler();\n }\n };\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectOrganizationEl.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 === \"fetchOrganizations\" ||\n this.authStepInternal === \"settingUpSession\"\n ) {\n const loaderTitle =\n this.authStepInternal === \"fetchOrganizations\"\n ? this.#componentLocale.loader.fetchingOrganizationsTitle\n : this.#componentLocale.loader.settingUpSessionTitle;\n const loaderDescription =\n this.authStepInternal === \"fetchOrganizations\"\n ? this.#componentLocale.loader.fetchingOrganizationsDescription\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 === \"selectOrganization\") {\n return [\n this.#renderStepHeader(),\n <div class=\"slide__select-organization-description\">\n <p class=\"body-semi-bold-l\">\n {this.#componentLocale.selectOrganization.infoMessage}\n </p>\n </div>,\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"organizations\">\n {this.#componentLocale.selectOrganization.label}\n </label>\n <ch-combo-box-render\n id=\"organizations\"\n accessibleName=\"Organizations\"\n class=\"combo-box organizations-list\"\n model={this.#organizationsModel}\n value={this.#organizationsModel[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectOrganizationEl =\n 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 | \"fetchOrganizations\"\n | \"selectOrganization\"\n | \"settingUpSession\";\n\nexport type OrganizationData = {\n id: string;\n name: string;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { g as n, r as e, h as i, H as t, a as s } from "./p-9b9ccd0c.js";
|
|
2
|
+
|
|
3
|
+
import { L as a } from "./p-311eedf3.js";
|
|
4
|
+
|
|
5
|
+
const mapItemsToComboBoxItemModel = n => n === null || n === void 0 ? void 0 : n.map((n => ({
|
|
6
|
+
value: n.id,
|
|
7
|
+
caption: n.name
|
|
8
|
+
})));
|
|
9
|
+
|
|
10
|
+
const o = "button.button-secondary {\n border-color: var(--color-border-neutral-default);\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 border-radius: var(--border-radius-m);\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--color-accent-surface-elevation-1);\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(--display-items-transtion-time) all;\n opacity: 0;\n position: relative;\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 inline-size: 100%;\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 font-size: var(--font-size-header-h2);\n font-weight: var(--font-style-semi-bold);\n letter-spacing: 0.02em;\n line-height: var(--line-height-tight);\n color: var(--color-text-neutral-strawberry);\n}\n.slide__main-description {\n display: grid;\n gap: 40px;\n font-size: var(--font-size-body-l);\n font-weight: var(--font-style-regular);\n line-height: var(--line-height-spacious);\n color: var(--color-text-neutral-disabled);\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n\n.items-list {\n inline-size: 100%;\n --ch-combo-box__popover-max-inline-size: 100%;\n}\n\n.buttons-container {\n display: flex;\n inline-size: 100%;\n gap: var(--spacing-gap-xl);\n}\n\n.continue-btn,\n.cancel-btn {\n flex: 1;\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}";
|
|
11
|
+
|
|
12
|
+
var r = undefined && undefined.__classPrivateFieldGet || function(n, e, i, t) {
|
|
13
|
+
if (i === "a" && !t) throw new TypeError("Private accessor was defined without a getter");
|
|
14
|
+
if (typeof e === "function" ? n !== e || !t : !e.has(n)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
15
|
+
return i === "m" ? t : i === "a" ? t.call(n) : t ? t.value : e.get(n);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var l = undefined && undefined.__classPrivateFieldSet || function(n, e, i, t, s) {
|
|
19
|
+
if (t === "m") throw new TypeError("Private method is not writable");
|
|
20
|
+
if (t === "a" && !s) throw new TypeError("Private accessor was defined without a setter");
|
|
21
|
+
if (typeof e === "function" ? n !== e || !s : !e.has(n)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
22
|
+
return t === "a" ? s.call(n, i) : s ? s.value = i : e.set(n, i), i;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var d, c, h, m, f, p;
|
|
26
|
+
|
|
27
|
+
const u = n(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
|
|
28
|
+
|
|
29
|
+
const g = n(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
|
|
30
|
+
|
|
31
|
+
const v = [ "resets/box-sizing", "utils/typography", "components/button", "components/combo-box" ];
|
|
32
|
+
|
|
33
|
+
const b = class {
|
|
34
|
+
constructor(n) {
|
|
35
|
+
e(this, n);
|
|
36
|
+
/**
|
|
37
|
+
* The component hard-coded strings translations.
|
|
38
|
+
*/
|
|
39
|
+
// eslint-disable-next-line @stencil-community/own-props-must-be-private
|
|
40
|
+
d.set(this, void 0);
|
|
41
|
+
c.set(this, []);
|
|
42
|
+
h.set(this, void 0);
|
|
43
|
+
m.set(this, 100);
|
|
44
|
+
f.set(this, (async () => {
|
|
45
|
+
await this.confirmCallback(r(this, h, "f").value);
|
|
46
|
+
}));
|
|
47
|
+
p.set(this, (async () => {
|
|
48
|
+
await this.cancelCallback();
|
|
49
|
+
}));
|
|
50
|
+
this.slideIsVisible = false;
|
|
51
|
+
this.itemsModelReady = false;
|
|
52
|
+
this.cancelCallback = undefined;
|
|
53
|
+
this.confirmCallback = undefined;
|
|
54
|
+
this.selectionType = "team";
|
|
55
|
+
this.items = undefined;
|
|
56
|
+
}
|
|
57
|
+
itemsChanged(n) {
|
|
58
|
+
this.slideIsVisible = false;
|
|
59
|
+
if (!(n === null || n === void 0 ? void 0 : n.length)) {
|
|
60
|
+
this.itemsModelReady = false;
|
|
61
|
+
setTimeout((() => {
|
|
62
|
+
this.slideIsVisible = true;
|
|
63
|
+
}), r(this, m, "f"));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
// switch step
|
|
67
|
+
setTimeout((() => {
|
|
68
|
+
l(this, c, mapItemsToComboBoxItemModel(n), "f");
|
|
69
|
+
this.itemsModelReady = true;
|
|
70
|
+
}), r(this, m, "f"));
|
|
71
|
+
// show slide
|
|
72
|
+
setTimeout((() => {
|
|
73
|
+
this.slideIsVisible = true;
|
|
74
|
+
}), r(this, m, "f") * 2);
|
|
75
|
+
}
|
|
76
|
+
async componentWillLoad() {
|
|
77
|
+
var n;
|
|
78
|
+
l(this, d, await a.getComponentStrings(this.el), "f");
|
|
79
|
+
if ((n = this.items) === null || n === void 0 ? void 0 : n.length) {
|
|
80
|
+
l(this, c, mapItemsToComboBoxItemModel(this.items), "f");
|
|
81
|
+
this.itemsModelReady = true;
|
|
82
|
+
}
|
|
83
|
+
this.el.style.setProperty("--display-items-transtion-time", r(this, m, "f").toString() + "ms");
|
|
84
|
+
}
|
|
85
|
+
componentDidLoad() {
|
|
86
|
+
this.slideIsVisible = true;
|
|
87
|
+
}
|
|
88
|
+
render() {
|
|
89
|
+
var n;
|
|
90
|
+
const e = r(this, d, "f")[this.selectionType];
|
|
91
|
+
return i(t, null, i("ch-theme", {
|
|
92
|
+
model: v
|
|
93
|
+
}), i("section", {
|
|
94
|
+
class: "slide"
|
|
95
|
+
}, i("img", {
|
|
96
|
+
src: u,
|
|
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
|
+
}, this.itemsModelReady ? [ i("header", {
|
|
107
|
+
class: "slide__main-header"
|
|
108
|
+
}, i("img", {
|
|
109
|
+
src: g,
|
|
110
|
+
alt: ""
|
|
111
|
+
}), i("h2", {
|
|
112
|
+
// Split the title into two spans for better styling
|
|
113
|
+
class: "slide__main-title"
|
|
114
|
+
}, i("span", null, e.title))), i("div", {
|
|
115
|
+
class: "slide__select-item-description"
|
|
116
|
+
}, i("p", {
|
|
117
|
+
class: "body-semi-bold-l"
|
|
118
|
+
}, e.infoMessage)), i("div", {
|
|
119
|
+
class: "field-group"
|
|
120
|
+
}, i("div", {
|
|
121
|
+
class: "field field-block"
|
|
122
|
+
}, i("label", {
|
|
123
|
+
htmlFor: "items"
|
|
124
|
+
}, e.label), i("ch-combo-box-render", {
|
|
125
|
+
id: "items",
|
|
126
|
+
accessibleName: e.label,
|
|
127
|
+
class: "combo-box items-list",
|
|
128
|
+
model: r(this, c, "f"),
|
|
129
|
+
value: r(this, c, "f") && ((n = r(this, c, "f")[0]) === null || n === void 0 ? void 0 : n.value),
|
|
130
|
+
ref: n => l(this, h, n, "f")
|
|
131
|
+
}))), i("div", {
|
|
132
|
+
class: "buttons-container"
|
|
133
|
+
}, i("button", {
|
|
134
|
+
class: "button-primary continue-btn",
|
|
135
|
+
onClick: r(this, f, "f")
|
|
136
|
+
}, r(this, d, "f").confirmButtonCaption), i("button", {
|
|
137
|
+
class: "button-secondary cancel-btn",
|
|
138
|
+
onClick: r(this, p, "f")
|
|
139
|
+
}, r(this, d, "f").cancelButtonCaption)) ] : i("gx-ide-loader", {
|
|
140
|
+
show: true,
|
|
141
|
+
loaderTitle: r(this, d, "f").loader.title,
|
|
142
|
+
description: r(this, d, "f").loader.description
|
|
143
|
+
})))));
|
|
144
|
+
}
|
|
145
|
+
static get assetsDirs() {
|
|
146
|
+
return [ "gx-ide-assets/select-team-or-org" ];
|
|
147
|
+
}
|
|
148
|
+
get el() {
|
|
149
|
+
return s(this);
|
|
150
|
+
}
|
|
151
|
+
static get watchers() {
|
|
152
|
+
return {
|
|
153
|
+
items: [ "itemsChanged" ]
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
d = new WeakMap, c = new WeakMap, h = new WeakMap, m = new WeakMap, f = new WeakMap,
|
|
159
|
+
p = new WeakMap;
|
|
160
|
+
|
|
161
|
+
b.style = o;
|
|
162
|
+
|
|
163
|
+
export { b as gx_ide_select_team_or_org };
|
|
164
|
+
//# sourceMappingURL=p-2129d0d2.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapItemsToComboBoxItemModel","items","map","item","value","id","caption","name","selectTeamOrOrgCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","CSS_BUNDLES","GxIdeSelectTeamOrOrg","_GxIdeSelectTeamOrOrg_componentLocale","set","this","_GxIdeSelectTeamOrOrg_itemsModel","_GxIdeSelectTeamOrOrg_chSelectItemEl","_GxIdeSelectTeamOrOrg_displayItemsTransitionTime","_GxIdeSelectTeamOrOrg_continueHandler","async","confirmCallback","__classPrivateFieldGet","_GxIdeSelectTeamOrOrg_cancelHandler","cancelCallback","itemsChanged","newItems","slideIsVisible","length","itemsModelReady","setTimeout","__classPrivateFieldSet","componentWillLoad","Locale","getComponentStrings","el","_a","style","setProperty","toString","componentDidLoad","render","kindLocale","selectionType","h","Host","model","class","src","alt","slide__main","title","infoMessage","htmlFor","label","accessibleName","ref","onClick","confirmButtonCaption","cancelButtonCaption","show","loaderTitle","loader","description"],"sources":["src/components/select-team-or-org/helpers.tsx","src/components/select-team-or-org/select-team-or-org.scss?tag=gx-ide-select-team-or-org&encapsulation=shadow","src/components/select-team-or-org/select-team-or-org.tsx"],"sourcesContent":["import { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { SelectableItem } from \"./select-team-or-org\";\n\nexport const mapItemsToComboBoxItemModel = (\n items: SelectableItem[]\n): ComboBoxItemModel[] => {\n return items?.map(item => {\n return {\n value: item.id,\n caption: item.name\n };\n });\n};\n","@import \"../../global/temporary-mercury-overrides/_button.scss\";\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 border-radius: var(--border-radius-m);\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--color-accent-surface-elevation-1);\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(--display-items-transtion-time) all;\n opacity: 0;\n\n position: relative;\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 inline-size: 100%;\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 font-size: var(--font-size-header-h2);\n font-weight: var(--font-style-semi-bold);\n letter-spacing: 0.02em;\n line-height: var(--line-height-tight);\n color: var(--color-text-neutral-strawberry);\n }\n\n &__main-description {\n display: grid;\n gap: 40px;\n font-size: var(--font-size-body-l);\n font-weight: var(--font-style-regular);\n line-height: var(--line-height-spacious);\n color: var(--color-text-neutral-disabled);\n }\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n\n.items-list {\n inline-size: 100%;\n --ch-combo-box__popover-max-inline-size: 100%;\n}\n\n.buttons-container {\n display: flex;\n inline-size: 100%;\n gap: var(--spacing-gap-xl);\n}\n\n.continue-btn,\n.cancel-btn {\n flex: 1;\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 { mapItemsToComboBoxItemModel } 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-select-team-or-org\",\n styleUrl: \"select-team-or-org.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-team-or-org\"]\n})\nexport class GxIdeSelectTeamOrOrg {\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 #itemsModel: ComboBoxItemModel[] = [];\n #chSelectItemEl: HTMLChComboBoxRenderElement;\n #displayItemsTransitionTime: number = 100;\n\n @Element() el: HTMLGxIdeSelectTeamOrOrgElement;\n\n /**\n * Defines if the main slide is visible or not. Used for smooth transitions between slides.\n */\n @State() slideIsVisible: boolean = false;\n\n /**\n * Defines if the items model is ready to be rendered.\n */\n @State() itemsModelReady: boolean = false;\n\n /**\n * Callback executed when the user clicks the 'Cancel' button\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user clicks the 'Confirm' button\n */\n @Prop() readonly confirmCallback!: (itemId: string) => Promise<void>;\n\n /**\n * Whether the picker is selecting a team or an organization.\n * Drives the title, info message and combo label.\n */\n @Prop() readonly selectionType: SelectionType = \"team\";\n\n /**\n * Array that contains the selectable items (teams or organizations).\n */\n @Prop() readonly items!: SelectableItem[];\n @Watch(\"items\")\n itemsChanged(newItems: SelectableItem[]) {\n this.slideIsVisible = false;\n\n if (!newItems?.length) {\n this.itemsModelReady = false;\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#displayItemsTransitionTime);\n return;\n }\n\n // switch step\n setTimeout(() => {\n this.#itemsModel = mapItemsToComboBoxItemModel(newItems);\n this.itemsModelReady = true;\n }, this.#displayItemsTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#displayItemsTransitionTime * 2);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n if (this.items?.length) {\n this.#itemsModel = mapItemsToComboBoxItemModel(this.items);\n this.itemsModelReady = true;\n }\n\n this.el.style.setProperty(\n \"--display-items-transtion-time\",\n this.#displayItemsTransitionTime.toString() + \"ms\"\n );\n }\n\n componentDidLoad() {\n this.slideIsVisible = true;\n }\n\n #continueHandler = async () => {\n await this.confirmCallback(this.#chSelectItemEl.value);\n };\n\n #cancelHandler = async () => {\n await this.cancelCallback();\n };\n\n render() {\n const kindLocale = this.#componentLocale[this.selectionType];\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.itemsModelReady ? (\n [\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>{kindLocale.title}</span>\n </h2>\n </header>,\n <div class=\"slide__select-item-description\">\n <p class=\"body-semi-bold-l\">{kindLocale.infoMessage}</p>\n </div>,\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"items\">{kindLocale.label}</label>\n <ch-combo-box-render\n id=\"items\"\n accessibleName={kindLocale.label}\n class=\"combo-box items-list\"\n model={this.#itemsModel}\n value={this.#itemsModel && this.#itemsModel[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectItemEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>,\n <div class=\"buttons-container\">\n <button\n class=\"button-primary continue-btn\"\n onClick={this.#continueHandler}\n >\n {this.#componentLocale.confirmButtonCaption}\n </button>\n <button\n class=\"button-secondary cancel-btn\"\n onClick={this.#cancelHandler}\n >\n {this.#componentLocale.cancelButtonCaption}\n </button>\n </div>\n ]\n ) : (\n <gx-ide-loader\n show\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n ></gx-ide-loader>\n )}\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type SelectableItem = {\n id: string;\n name: string;\n};\n\nexport type SelectionType = \"team\" | \"organization\";\n"],"mappings":"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"}
|