@genexus/genexus-ide-ui 3.2.10 → 3.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-db-properties-configurator.cjs.entry.js +165 -0
  3. package/dist/cjs/gx-ide-db-properties-configurator.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-select-team-or-org.cjs.entry.js +128 -0
  5. package/dist/cjs/gx-ide-select-team-or-org.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-sign-in-organization.cjs.entry.js +187 -0
  7. package/dist/cjs/gx-ide-sign-in-organization.cjs.entry.js.map +1 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/collection/collection-manifest.json +3 -2
  10. package/dist/collection/components/db-properties-configurator/db-properties-configurator.css +127 -0
  11. package/dist/collection/components/db-properties-configurator/db-properties-configurator.js +250 -0
  12. package/dist/collection/components/db-properties-configurator/db-properties-configurator.js.map +1 -0
  13. package/dist/collection/components/db-properties-configurator/gx-ide-assets/db-properties-configurator/langs/db-properties-configurator.lang.en.json +24 -0
  14. package/dist/collection/components/db-properties-configurator/gx-ide-assets/db-properties-configurator/langs/db-properties-configurator.lang.ja.json +24 -0
  15. package/dist/collection/components/db-properties-configurator/gx-ide-assets/db-properties-configurator/langs/db-properties-configurator.lang.zh.json +24 -0
  16. 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
  17. 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
  18. 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
  19. package/dist/collection/components/select-team-or-org/helpers.js +9 -0
  20. package/dist/collection/components/select-team-or-org/helpers.js.map +1 -0
  21. package/dist/collection/components/{select-user-team/select-user-team.css → select-team-or-org/select-team-or-org.css} +7 -4
  22. package/dist/collection/components/select-team-or-org/select-team-or-org.js +220 -0
  23. package/dist/collection/components/select-team-or-org/select-team-or-org.js.map +1 -0
  24. 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
  25. 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
  26. 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
  27. package/dist/collection/components/sign-in-organization/helpers.js +10 -0
  28. package/dist/collection/components/sign-in-organization/helpers.js.map +1 -0
  29. package/dist/collection/components/{sign-in-team/sign-in-team.js → sign-in-organization/sign-in-organization.js} +72 -72
  30. package/dist/collection/components/sign-in-organization/sign-in-organization.js.map +1 -0
  31. package/dist/collection/testing/locale.e2e.js +3 -2
  32. package/dist/collection/testing/locale.e2e.js.map +1 -1
  33. package/dist/components/gx-ide-db-properties-configurator.d.ts +11 -0
  34. package/dist/components/gx-ide-db-properties-configurator.js +183 -0
  35. package/dist/components/gx-ide-db-properties-configurator.js.map +1 -0
  36. package/dist/components/gx-ide-select-team-or-org.d.ts +11 -0
  37. package/dist/components/gx-ide-select-team-or-org.js +157 -0
  38. package/dist/components/gx-ide-select-team-or-org.js.map +1 -0
  39. package/dist/components/gx-ide-sign-in-organization.d.ts +11 -0
  40. package/dist/components/gx-ide-sign-in-organization.js +221 -0
  41. package/dist/components/gx-ide-sign-in-organization.js.map +1 -0
  42. package/dist/esm/genexus-ide-ui.js +1 -1
  43. package/dist/esm/gx-ide-db-properties-configurator.entry.js +161 -0
  44. package/dist/esm/gx-ide-db-properties-configurator.entry.js.map +1 -0
  45. package/dist/esm/gx-ide-select-team-or-org.entry.js +124 -0
  46. package/dist/esm/gx-ide-select-team-or-org.entry.js.map +1 -0
  47. package/dist/esm/gx-ide-sign-in-organization.entry.js +183 -0
  48. package/dist/esm/gx-ide-sign-in-organization.entry.js.map +1 -0
  49. package/dist/esm/loader.js +1 -1
  50. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  51. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  52. package/dist/genexus-ide-ui/gx-ide-assets/db-properties-configurator/langs/db-properties-configurator.lang.en.json +24 -0
  53. package/dist/genexus-ide-ui/gx-ide-assets/db-properties-configurator/langs/db-properties-configurator.lang.ja.json +24 -0
  54. package/dist/genexus-ide-ui/gx-ide-assets/db-properties-configurator/langs/db-properties-configurator.lang.zh.json +24 -0
  55. package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.en.json +18 -0
  56. package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.ja.json +18 -0
  57. package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.zh.json +18 -0
  58. 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
  59. 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
  60. 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
  61. package/dist/genexus-ide-ui/{p-1d44dd0a.entry.js → p-15b1c9be.entry.js} +72 -72
  62. package/dist/genexus-ide-ui/p-15b1c9be.entry.js.map +1 -0
  63. package/dist/genexus-ide-ui/p-2129d0d2.entry.js +164 -0
  64. package/dist/genexus-ide-ui/p-2129d0d2.entry.js.map +1 -0
  65. package/dist/genexus-ide-ui/p-e759cfdb.entry.js +281 -0
  66. package/dist/genexus-ide-ui/p-e759cfdb.entry.js.map +1 -0
  67. package/dist/types/components/db-properties-configurator/db-properties-configurator.d.ts +50 -0
  68. package/dist/types/components/select-team-or-org/helpers.d.ts +3 -0
  69. package/dist/types/components/select-team-or-org/select-team-or-org.d.ts +38 -0
  70. package/dist/types/components/sign-in-organization/helpers.d.ts +3 -0
  71. package/dist/types/components/{sign-in-team/sign-in-team.d.ts → sign-in-organization/sign-in-organization.d.ts} +8 -8
  72. package/dist/types/components.d.ts +161 -106
  73. package/package.json +1 -1
  74. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +0 -121
  75. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +0 -1
  76. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +0 -187
  77. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +0 -1
  78. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +0 -10
  79. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +0 -10
  80. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +0 -10
  81. package/dist/collection/components/select-user-team/helpers.js +0 -9
  82. package/dist/collection/components/select-user-team/helpers.js.map +0 -1
  83. package/dist/collection/components/select-user-team/select-user-team.js +0 -189
  84. package/dist/collection/components/select-user-team/select-user-team.js.map +0 -1
  85. package/dist/collection/components/sign-in-team/helpers.js +0 -10
  86. package/dist/collection/components/sign-in-team/helpers.js.map +0 -1
  87. package/dist/collection/components/sign-in-team/sign-in-team.js.map +0 -1
  88. package/dist/components/gx-ide-select-user-team.d.ts +0 -11
  89. package/dist/components/gx-ide-select-user-team.js +0 -149
  90. package/dist/components/gx-ide-select-user-team.js.map +0 -1
  91. package/dist/components/gx-ide-sign-in-team.d.ts +0 -11
  92. package/dist/components/gx-ide-sign-in-team.js +0 -221
  93. package/dist/components/gx-ide-sign-in-team.js.map +0 -1
  94. package/dist/esm/gx-ide-select-user-team.entry.js +0 -117
  95. package/dist/esm/gx-ide-select-user-team.entry.js.map +0 -1
  96. package/dist/esm/gx-ide-sign-in-team.entry.js +0 -183
  97. package/dist/esm/gx-ide-sign-in-team.entry.js.map +0 -1
  98. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +0 -10
  99. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +0 -10
  100. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +0 -10
  101. package/dist/genexus-ide-ui/p-1d44dd0a.entry.js.map +0 -1
  102. package/dist/genexus-ide-ui/p-2317ffcb.entry.js +0 -156
  103. package/dist/genexus-ide-ui/p-2317ffcb.entry.js.map +0 -1
  104. package/dist/types/components/select-user-team/helpers.d.ts +0 -3
  105. package/dist/types/components/select-user-team/select-user-team.d.ts +0 -32
  106. package/dist/types/components/sign-in-team/helpers.d.ts +0 -3
  107. /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
  108. /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
  109. /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
  110. /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
  111. /package/dist/collection/components/{sign-in-team/sign-in-team.css → sign-in-organization/sign-in-organization.css} +0 -0
  112. /package/dist/genexus-ide-ui/gx-ide-assets/{select-user-team → select-team-or-org}/images/copyrights-illustration.png +0 -0
  113. /package/dist/genexus-ide-ui/gx-ide-assets/{select-user-team → select-team-or-org}/images/icon-next.svg +0 -0
  114. /package/dist/genexus-ide-ui/gx-ide-assets/{sign-in-team → sign-in-organization}/images/copyrights-illustration.png +0 -0
  115. /package/dist/genexus-ide-ui/gx-ide-assets/{sign-in-team → sign-in-organization}/images/icon-next.svg +0 -0
@@ -1,189 +0,0 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f)
3
- throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
5
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
6
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
7
- };
8
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
9
- if (kind === "m")
10
- throw new TypeError("Private method is not writable");
11
- if (kind === "a" && !f)
12
- throw new TypeError("Private accessor was defined without a setter");
13
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
14
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
- };
17
- var _GxIdeSelectUserTeam_componentLocale, _GxIdeSelectUserTeam_userTeamsModel, _GxIdeSelectUserTeam_chSelectTeamEl, _GxIdeSelectUserTeam_displayTeamsTransitionTime, _GxIdeSelectUserTeam_continueHandler, _GxIdeSelectUserTeam_cancelHandler;
18
- // Stencil
19
- import { Host, h, getAssetPath } from "@stencil/core";
20
- // Custom Imports
21
- import { Locale } from "../../common/locale";
22
- import { mapTeamsToComboBoxItemModel } from "./helpers";
23
- const COPYRIGHTS_ILLUSTRATION = getAssetPath(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
24
- const ICON_NEXT = getAssetPath(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
25
- const CSS_BUNDLES = [
26
- "resets/box-sizing",
27
- "utils/typography",
28
- "components/button",
29
- "components/combo-box"
30
- ];
31
- export class GxIdeSelectUserTeam {
32
- constructor() {
33
- /**
34
- * The component hard-coded strings translations.
35
- */
36
- // eslint-disable-next-line @stencil-community/own-props-must-be-private
37
- _GxIdeSelectUserTeam_componentLocale.set(this, void 0);
38
- // Select User Team References :
39
- _GxIdeSelectUserTeam_userTeamsModel.set(this, []);
40
- _GxIdeSelectUserTeam_chSelectTeamEl.set(this, void 0);
41
- _GxIdeSelectUserTeam_displayTeamsTransitionTime.set(this, 100);
42
- _GxIdeSelectUserTeam_continueHandler.set(this, async () => {
43
- await this.continueCallback(__classPrivateFieldGet(this, _GxIdeSelectUserTeam_chSelectTeamEl, "f").value);
44
- });
45
- _GxIdeSelectUserTeam_cancelHandler.set(this, async () => {
46
- await this.cancelCallback();
47
- });
48
- this.slideIsVisible = false;
49
- this.teamsModelReady = false;
50
- this.cancelCallback = undefined;
51
- this.continueCallback = undefined;
52
- this.teams = undefined;
53
- }
54
- teamsChanged(newTeams) {
55
- this.slideIsVisible = false;
56
- // switch step
57
- setTimeout(() => {
58
- if (newTeams.length) {
59
- __classPrivateFieldSet(this, _GxIdeSelectUserTeam_userTeamsModel, mapTeamsToComboBoxItemModel(newTeams), "f");
60
- this.teamsModelReady = true;
61
- }
62
- else {
63
- this.teamsModelReady = false;
64
- }
65
- }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f"));
66
- // show slide
67
- setTimeout(() => {
68
- this.slideIsVisible = true;
69
- }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f") * 2);
70
- }
71
- async componentWillLoad() {
72
- __classPrivateFieldSet(this, _GxIdeSelectUserTeam_componentLocale, await Locale.getComponentStrings(this.el), "f");
73
- this.teamsChanged(this.teams);
74
- this.el.style.setProperty("--display-teams-transtion-time", __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f").toString() + "ms");
75
- }
76
- componentDidLoad() {
77
- this.slideIsVisible = true;
78
- }
79
- render() {
80
- var _a;
81
- return (h(Host, null, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "slide" }, h("img", { src: COPYRIGHTS_ILLUSTRATION, class: "slide__illustration", alt: "" // decorative
82
- }), h("div", { class: {
83
- "slide__main": true,
84
- "slide__main--visible": this.slideIsVisible
85
- } }, h("div", { class: "slide__main-container" }, this.teamsModelReady ? ([
86
- h("header", { class: "slide__main-header" }, h("img", { src: ICON_NEXT, alt: "" // decorative
87
- }), h("h2", {
88
- // Split the title into two spans for better styling
89
- class: "slide__main-title"
90
- }, h("span", null, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").title))),
91
- h("div", { class: "slide__select-team-description" }, h("p", { class: "body-semi-bold-l" }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").infoMessage)),
92
- h("div", { class: "field-group" }, h("div", { class: "field field-block" }, h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").teams), h("ch-combo-box-render", { id: "teams", accessibleName: "Teams", class: "combo-box teams-list", model: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_userTeamsModel, "f"), value: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_userTeamsModel, "f") && ((_a = __classPrivateFieldGet(this, _GxIdeSelectUserTeam_userTeamsModel, "f")[0]) === null || _a === void 0 ? void 0 : _a.value), ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectUserTeam_chSelectTeamEl, el, "f")) }))),
93
- h("div", { class: "buttons-container" }, h("button", { class: "button-primary continue-btn", onClick: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_continueHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").continueButtonCaption), h("button", { class: "button-secondary cancel-btn", onClick: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_cancelHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").cancelButtonCaption))
94
- ]) : (h("gx-ide-loader", { show: true, loaderTitle: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").loader.description })))))));
95
- }
96
- static get is() { return "gx-ide-select-user-team"; }
97
- static get encapsulation() { return "shadow"; }
98
- static get originalStyleUrls() {
99
- return {
100
- "$": ["select-user-team.scss"]
101
- };
102
- }
103
- static get styleUrls() {
104
- return {
105
- "$": ["select-user-team.css"]
106
- };
107
- }
108
- static get assetsDirs() { return ["gx-ide-assets/select-user-team"]; }
109
- static get properties() {
110
- return {
111
- "cancelCallback": {
112
- "type": "unknown",
113
- "mutable": false,
114
- "complexType": {
115
- "original": "() => Promise<void>",
116
- "resolved": "() => Promise<void>",
117
- "references": {
118
- "Promise": {
119
- "location": "global",
120
- "id": "global::Promise"
121
- }
122
- }
123
- },
124
- "required": true,
125
- "optional": false,
126
- "docs": {
127
- "tags": [],
128
- "text": "Callback executed when the user clicks the 'Cancel' button"
129
- }
130
- },
131
- "continueCallback": {
132
- "type": "unknown",
133
- "mutable": false,
134
- "complexType": {
135
- "original": "(teamId: string) => Promise<void>",
136
- "resolved": "(teamId: string) => Promise<void>",
137
- "references": {
138
- "Promise": {
139
- "location": "global",
140
- "id": "global::Promise"
141
- }
142
- }
143
- },
144
- "required": true,
145
- "optional": false,
146
- "docs": {
147
- "tags": [],
148
- "text": "Callback executed when the user clicks the 'Continue' button"
149
- }
150
- },
151
- "teams": {
152
- "type": "unknown",
153
- "mutable": false,
154
- "complexType": {
155
- "original": "TeamData[]",
156
- "resolved": "TeamData[]",
157
- "references": {
158
- "TeamData": {
159
- "location": "local",
160
- "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/select-user-team/select-user-team.tsx",
161
- "id": "src/components/select-user-team/select-user-team.tsx::TeamData"
162
- }
163
- }
164
- },
165
- "required": true,
166
- "optional": false,
167
- "docs": {
168
- "tags": [],
169
- "text": "Array that contains the user's teams"
170
- }
171
- }
172
- };
173
- }
174
- static get states() {
175
- return {
176
- "slideIsVisible": {},
177
- "teamsModelReady": {}
178
- };
179
- }
180
- static get elementRef() { return "el"; }
181
- static get watchers() {
182
- return [{
183
- "propName": "teams",
184
- "methodName": "teamsChanged"
185
- }];
186
- }
187
- }
188
- _GxIdeSelectUserTeam_componentLocale = new WeakMap(), _GxIdeSelectUserTeam_userTeamsModel = new WeakMap(), _GxIdeSelectUserTeam_chSelectTeamEl = new WeakMap(), _GxIdeSelectUserTeam_displayTeamsTransitionTime = new WeakMap(), _GxIdeSelectUserTeam_continueHandler = new WeakMap(), _GxIdeSelectUserTeam_cancelHandler = new WeakMap();
189
- //# sourceMappingURL=select-user-team.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-user-team.js","sourceRoot":"","sources":["../../../src/components/select-user-team/select-user-team.tsx"],"names":[],"mappings":"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","sourcesContent":["// 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-select-user-team\",\n styleUrl: \"select-user-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-user-team\"]\n})\nexport class GxIdeSelectUserTeam {\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 #displayTeamsTransitionTime: number = 100;\n\n @Element() el: HTMLGxIdeSelectUserTeamElement;\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 team model is redy to be rendered.\n */\n @State() teamsModelReady: 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 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => 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.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n if (newTeams.length) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n this.teamsModelReady = true;\n } else {\n this.teamsModelReady = false;\n }\n }, this.#displayTeamsTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#displayTeamsTransitionTime * 2);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.teamsChanged(this.teams);\n\n this.el.style.setProperty(\n \"--display-teams-transtion-time\",\n this.#displayTeamsTransitionTime.toString() + \"ms\"\n );\n }\n\n componentDidLoad() {\n this.slideIsVisible = true;\n }\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n #cancelHandler = async () => {\n await this.cancelCallback();\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.teamsModelReady ? (\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>{this.#componentLocale.title}</span>\n </h2>\n </header>,\n <div class=\"slide__select-team-description\">\n <p class=\"body-semi-bold-l\">\n {this.#componentLocale.infoMessage}\n </p>\n </div>,\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={\n this.#userTeamsModel && this.#userTeamsModel[0]?.value\n }\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl =\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.continueButtonCaption}\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 TeamData = {\n id: string;\n name: string;\n};\n"]}
@@ -1,10 +0,0 @@
1
- export const mapTeamsToComboBoxItemModel = (teams) => {
2
- if (!teams) {
3
- return [];
4
- }
5
- return teams.map(team => ({
6
- value: team.id,
7
- caption: team.name
8
- }));
9
- };
10
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/sign-in-team/helpers.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAkB,EACe,EAAE;IACnC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACX;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,KAAK,EAAE,IAAI,CAAC,EAAE;QACd,OAAO,EAAE,IAAI,CAAC,IAAI;KACnB,CAAC,CAAC,CAAC;AACN,CAAC,CAAC","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"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sign-in-team.js","sourceRoot":"","sources":["../../../src/components/sign-in-team/sign-in-team.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,UAAU;AACV,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACb,MAAM,eAAe,CAAC;AAIvB,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,uBAAuB,GAAG,YAAY,CAC1C,iEAAiE,CAClE,CAAC;AACF,MAAM,SAAS,GAAG,YAAY,CAC5B,mDAAmD,CACpD,CAAC;AACF,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;IACrB,YAAY;CACb,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,CAAC;AAQ3B,MAAM,OAAO,eAAe;;QAC1B;;WAEG;QACH,wEAAwE;QACxE,mDAAsB;QACtB,gCAAgC;QAChC,0CAAuC,EAAE,EAAC;QAC1C,kDAA6C;QAC7C,oDAAoC,GAAG,EAAC;QACxC,gEAAsD;QACtD,2DAAiD;QAoFjD,4CAAoB,GAAG,EAAE;YACvB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,EAAE;gBAC7C,uBAAA,IAAI,wCAAiB,MAArB,IAAI,CAAmB,CAAC;aACzB;QACH,CAAC,EAAC;QAEF,2CAAmB,KAAK,IAAI,EAAE;YAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,uBAAA,IAAI,uCAAgB,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,EAAC;QAEF,4CAAoB,GAAgB,EAAE;YACpC,OAAO,CACL,cAAQ,KAAK,EAAC,oBAAoB;gBAChC,WACE,GAAG,EAAE,SAAS,EACd,GAAG,EAAC,EAAE,CAAC,aAAa;mBACpB;gBACF;oBACE,oDAAoD;oBACpD,KAAK,EAAC,6BAA6B;oBAEnC,gBAAO,uBAAA,IAAI,wCAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAQ;oBACtE,gBAAO,uBAAA,IAAI,wCAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAQ,CACnE,CACE,CACV,CAAC;QACJ,CAAC,EAAC;QAEF,4CAAoB,GAAgB,EAAE;YACpC,MAAM,cAAc,GAClB,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAC1B,IAAI,CAAC,yBAAyB;gBAC9B,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACnC,OAAO,CACL;gBACE,cACE,KAAK,EAAC,yBAAyB,EAC/B,OAAO,EAAE,uBAAA,IAAI,yCAAkB,EAC/B,QAAQ,EAAE,cAAc,IAEvB,uBAAA,IAAI,wCAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,aAAa,CACpD,CACL,CACP,CAAC;QACJ,CAAC,EAAC;QAEF,qEAA6C,GAAG,EAAE;YAChD,MAAM,0BAA0B,GAC9B,uBAAA,IAAI,qDAA8B,CAAC,KAAK,KAAK,aAAa,CAAC;YAC7D,MAAM,qBAAqB,GACzB,uBAAA,IAAI,gDAAyB,CAAC,KAAK,KAAK,aAAa,CAAC;YACxD,IAAI,CAAC,0BAA0B;gBAC7B,0BAA0B,IAAI,qBAAqB,CAAC;QACxD,CAAC,EAAC;QAEF,4DAAoC,CAAC,KAAiB,EAAE,EAAE;YACxD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,EAAC;QAEF,uDAA+B,CAAC,KAAiB,EAAE,EAAE;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAC;QAEF,8CAAsB,GAAG,EAAE;;YACzB,IAAI,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE;gBACtC,OAAO;oBACL,uBAAA,IAAI,yCAAkB,MAAtB,IAAI,CAAoB;oBACxB,SAAG,KAAK,EAAC,gBAAgB,IACtB,uBAAA,IAAI,wCAAiB,CAAC,MAAM,CAAC,WAAW,CACvC;oBACJ,IAAI,CAAC,yBAAyB,IAAI,CAChC,WAAK,KAAK,EAAC,aAAa;wBACtB;4BACE,uBAAuB;4BACvB,KAAK,EAAC,oBAAoB;4BAE1B,mBACE,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAC,sBAAsB,EACzB,KAAK,EAAC,UAAU,EAChB,GAAG,EAAE,CAAC,EAAyB,EAAE,EAAE,CACjC,CAAC,uBAAA,IAAI,iDACH,EAA2B,MAAA,CAAC,EAEhC,OAAO,EAAE,uBAAA,IAAI,kEAA2C,GAC3C;4BACf;gCAME,aACE,OAAO,EAAC,sBAAsB,EAC9B,KAAK,EAAC,uBAAuB;oCAE5B,uBAAA,IAAI,wCAAiB,CAAC,SAAS,CAAC,uBAAuB;oCACxD,YACE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAC1C,OAAO,EACL,IAAI,CAAC,aAAa;4CAClB,uBAAA,IAAI,yDAAkC,IAGvC,uBAAA,IAAI,wCAAiB,CAAC,SAAS,CAAC,sBAAsB,CAClD,CACD,CACH,CACH;wBACN;4BACE,iBAAiB;4BACjB,KAAK,EAAC,oBAAoB;4BAE1B,mBACE,YAAY,EAAE,aAAa,EAC3B,EAAE,EAAC,gBAAgB,EACnB,KAAK,EAAC,UAAU,EAChB,GAAG,EAAE,CAAC,EAAyB,EAAE,EAAE,CACjC,CAAC,uBAAA,IAAI,4CAA4B,EAA2B,MAAA,CAAC,EAE/D,OAAO,EAAE,uBAAA,IAAI,kEAA2C,GAC3C;4BACf;gCAME,aAAO,OAAO,EAAC,gBAAgB,EAAC,KAAK,EAAC,uBAAuB;oCAC1D,uBAAA,IAAI,wCAAiB,CAAC,SAAS,CAAC,qBAAqB;oCACtD,YACE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAC5C,OAAO,EACL,IAAI,CAAC,eAAe,IAAI,uBAAA,IAAI,oDAA6B,IAG1D,uBAAA,IAAI,wCAAiB,CAAC,SAAS,CAAC,oBAAoB,CAChD,CACD,CACH,CACH,CACF,CACP;oBAED,uBAAA,IAAI,yCAAkB,MAAtB,IAAI,CAAoB;iBACzB,CAAC;aACH;iBAAM,IACL,IAAI,CAAC,gBAAgB,KAAK,gBAAgB;gBAC1C,IAAI,CAAC,gBAAgB,KAAK,kBAAkB,EAC5C;gBACA,MAAM,WAAW,GACf,IAAI,CAAC,gBAAgB,KAAK,gBAAgB;oBACxC,CAAC,CAAC,uBAAA,IAAI,wCAAiB,CAAC,MAAM,CAAC,kBAAkB;oBACjD,CAAC,CAAC,uBAAA,IAAI,wCAAiB,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBACzD,MAAM,iBAAiB,GACrB,IAAI,CAAC,gBAAgB,KAAK,gBAAgB;oBACxC,CAAC,CAAC,uBAAA,IAAI,wCAAiB,CAAC,MAAM,CAAC,wBAAwB;oBACvD,CAAC,CAAC,uBAAA,IAAI,wCAAiB,CAAC,MAAM,CAAC,oBAAoB,CAAC;gBACxD,OAAO,CACL,qBACE,IAAI,QACJ,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,iBAAiB,GACf,CAClB,CAAC;aACH;iBAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,EAAE;gBACrD,OAAO;oBACL,uBAAA,IAAI,yCAAkB,MAAtB,IAAI,CAAoB;oBACxB,WAAK,KAAK,EAAC,gCAAgC;wBACzC,SAAG,KAAK,EAAC,kBAAkB,IACxB,uBAAA,IAAI,wCAAiB,CAAC,cAAc,CAAC,WAAW,CAC/C,CACA;oBACN,WAAK,KAAK,EAAC,aAAa;wBACtB,WAAK,KAAK,EAAC,mBAAmB;4BAC5B,aAAO,OAAO,EAAC,OAAO,IACnB,uBAAA,IAAI,wCAAiB,CAAC,cAAc,CAAC,KAAK,CACrC;4BACR,2BACE,EAAE,EAAC,OAAO,EACV,cAAc,EAAC,OAAO,EACtB,KAAK,EAAC,sBAAsB,EAC5B,KAAK,EAAE,uBAAA,IAAI,uCAAgB,EAC3B,KAAK,EAAE,MAAA,uBAAA,IAAI,uCAAgB,CAAC,CAAC,CAAC,0CAAE,KAAK,EACrC,GAAG,EAAE,CAAC,EAA+B,EAAE,EAAE,CACvC,CAAC,uBAAA,IAAI,mCAAmB,EAAiC,MAAA,CAAC,GAEvC,CACnB,CACF;oBACN,uBAAA,IAAI,yCAAkB,MAAtB,IAAI,CAAoB;iBACzB,CAAC;aACH;QACH,CAAC,EAAC;;8BA1QiC,IAAI;0CAKQ,KAAK;wBAKd,QAAQ;;;yCA2BQ,KAAK;;;;;IAzB3D,eAAe,CAAC,WAAqB;QACnC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,cAAc;QACd,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QACtC,CAAC,EAAE,uBAAA,IAAI,iDAA0B,CAAC,CAAC;QACnC,aAAa;QACb,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,EAAE,uBAAA,IAAI,iDAA0B,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAsBD,YAAY,CAAC,QAAoB;QAC/B,uBAAA,IAAI,mCAAmB,2BAA2B,CAAC,QAAQ,CAAC,MAAA,CAAC;IAC/D,CAAC;IAYD,KAAK,CAAC,iBAAiB;QACrB,uBAAA,IAAI,oCAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;QAClE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CACvB,8BAA8B,EAC9B,uBAAA,IAAI,iDAA0B,CAAC,QAAQ,EAAE,GAAG,IAAI,CACjD,CAAC;QACF,oBAAoB;QACpB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAyMD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,gBAAU,KAAK,EAAE,WAAW,GAAa;YACzC,eAAS,KAAK,EAAC,OAAO;gBACpB,WACE,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAC,qBAAqB,EAC3B,GAAG,EAAC,EAAE,CAAC,aAAa;mBACpB;gBAEF,WACE,KAAK,EAAE;wBACL,aAAa,EAAE,IAAI;wBACnB,sBAAsB,EAAE,IAAI,CAAC,cAAc;qBAC5C;oBAED,WAAK,KAAK,EAAC,uBAAuB,IAC/B,uBAAA,IAAI,2CAAoB,MAAxB,IAAI,CAAsB,CACvB,CACF,CACE,CACL,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["// 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"]}
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface GxIdeSelectUserTeam extends Components.GxIdeSelectUserTeam, HTMLElement {}
4
- export const GxIdeSelectUserTeam: {
5
- prototype: GxIdeSelectUserTeam;
6
- new (): GxIdeSelectUserTeam;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1,149 +0,0 @@
1
- import { getAssetPath, proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { L as Locale } from './locale.js';
3
- import { d as defineCustomElement$2 } from './ide-loader.js';
4
-
5
- const mapTeamsToComboBoxItemModel = (teams) => {
6
- return teams === null || teams === void 0 ? void 0 : teams.map(team => {
7
- return {
8
- value: team.id,
9
- caption: team.name
10
- };
11
- });
12
- };
13
-
14
- const selectUserTeamCss = "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 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-teams-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 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 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.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n --ch-combo-box__popover-max-inline-size: 400px;\n}\n\n.buttons-container {\n display: flex;\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}";
15
-
16
- var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
17
- if (kind === "a" && !f)
18
- throw new TypeError("Private accessor was defined without a getter");
19
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
20
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
21
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
22
- };
23
- var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
24
- if (kind === "m")
25
- throw new TypeError("Private method is not writable");
26
- if (kind === "a" && !f)
27
- throw new TypeError("Private accessor was defined without a setter");
28
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
29
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
30
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
31
- };
32
- var _GxIdeSelectUserTeam_componentLocale, _GxIdeSelectUserTeam_userTeamsModel, _GxIdeSelectUserTeam_chSelectTeamEl, _GxIdeSelectUserTeam_displayTeamsTransitionTime, _GxIdeSelectUserTeam_continueHandler, _GxIdeSelectUserTeam_cancelHandler;
33
- const COPYRIGHTS_ILLUSTRATION = getAssetPath(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
34
- const ICON_NEXT = getAssetPath(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
35
- const CSS_BUNDLES = [
36
- "resets/box-sizing",
37
- "utils/typography",
38
- "components/button",
39
- "components/combo-box"
40
- ];
41
- const GxIdeSelectUserTeam$1 = /*@__PURE__*/ proxyCustomElement(class GxIdeSelectUserTeam extends HTMLElement {
42
- constructor() {
43
- super();
44
- this.__registerHost();
45
- this.__attachShadow();
46
- /**
47
- * The component hard-coded strings translations.
48
- */
49
- // eslint-disable-next-line @stencil-community/own-props-must-be-private
50
- _GxIdeSelectUserTeam_componentLocale.set(this, void 0);
51
- // Select User Team References :
52
- _GxIdeSelectUserTeam_userTeamsModel.set(this, []);
53
- _GxIdeSelectUserTeam_chSelectTeamEl.set(this, void 0);
54
- _GxIdeSelectUserTeam_displayTeamsTransitionTime.set(this, 100);
55
- _GxIdeSelectUserTeam_continueHandler.set(this, async () => {
56
- await this.continueCallback(__classPrivateFieldGet(this, _GxIdeSelectUserTeam_chSelectTeamEl, "f").value);
57
- });
58
- _GxIdeSelectUserTeam_cancelHandler.set(this, async () => {
59
- await this.cancelCallback();
60
- });
61
- this.slideIsVisible = false;
62
- this.teamsModelReady = false;
63
- this.cancelCallback = undefined;
64
- this.continueCallback = undefined;
65
- this.teams = undefined;
66
- }
67
- teamsChanged(newTeams) {
68
- this.slideIsVisible = false;
69
- // switch step
70
- setTimeout(() => {
71
- if (newTeams.length) {
72
- __classPrivateFieldSet(this, _GxIdeSelectUserTeam_userTeamsModel, mapTeamsToComboBoxItemModel(newTeams), "f");
73
- this.teamsModelReady = true;
74
- }
75
- else {
76
- this.teamsModelReady = false;
77
- }
78
- }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f"));
79
- // show slide
80
- setTimeout(() => {
81
- this.slideIsVisible = true;
82
- }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f") * 2);
83
- }
84
- async componentWillLoad() {
85
- __classPrivateFieldSet(this, _GxIdeSelectUserTeam_componentLocale, await Locale.getComponentStrings(this.el), "f");
86
- this.teamsChanged(this.teams);
87
- this.el.style.setProperty("--display-teams-transtion-time", __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f").toString() + "ms");
88
- }
89
- componentDidLoad() {
90
- this.slideIsVisible = true;
91
- }
92
- render() {
93
- var _a;
94
- return (h(Host, null, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "slide" }, h("img", { src: COPYRIGHTS_ILLUSTRATION, class: "slide__illustration", alt: "" // decorative
95
- }), h("div", { class: {
96
- "slide__main": true,
97
- "slide__main--visible": this.slideIsVisible
98
- } }, h("div", { class: "slide__main-container" }, this.teamsModelReady ? ([
99
- h("header", { class: "slide__main-header" }, h("img", { src: ICON_NEXT, alt: "" // decorative
100
- }), h("h2", {
101
- // Split the title into two spans for better styling
102
- class: "slide__main-title"
103
- }, h("span", null, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").title))),
104
- h("div", { class: "slide__select-team-description" }, h("p", { class: "body-semi-bold-l" }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").infoMessage)),
105
- h("div", { class: "field-group" }, h("div", { class: "field field-block" }, h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").teams), h("ch-combo-box-render", { id: "teams", accessibleName: "Teams", class: "combo-box teams-list", model: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_userTeamsModel, "f"), value: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_userTeamsModel, "f") && ((_a = __classPrivateFieldGet(this, _GxIdeSelectUserTeam_userTeamsModel, "f")[0]) === null || _a === void 0 ? void 0 : _a.value), ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectUserTeam_chSelectTeamEl, el, "f")) }))),
106
- h("div", { class: "buttons-container" }, h("button", { class: "button-primary continue-btn", onClick: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_continueHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").continueButtonCaption), h("button", { class: "button-secondary cancel-btn", onClick: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_cancelHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").cancelButtonCaption))
107
- ]) : (h("gx-ide-loader", { show: true, loaderTitle: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").loader.description })))))));
108
- }
109
- static get assetsDirs() { return ["gx-ide-assets/select-user-team"]; }
110
- get el() { return this; }
111
- static get watchers() { return {
112
- "teams": ["teamsChanged"]
113
- }; }
114
- static get style() { return selectUserTeamCss; }
115
- }, [1, "gx-ide-select-user-team", {
116
- "cancelCallback": [16],
117
- "continueCallback": [16],
118
- "teams": [16],
119
- "slideIsVisible": [32],
120
- "teamsModelReady": [32]
121
- }, undefined, {
122
- "teams": ["teamsChanged"]
123
- }]);
124
- _GxIdeSelectUserTeam_componentLocale = new WeakMap(), _GxIdeSelectUserTeam_userTeamsModel = new WeakMap(), _GxIdeSelectUserTeam_chSelectTeamEl = new WeakMap(), _GxIdeSelectUserTeam_displayTeamsTransitionTime = new WeakMap(), _GxIdeSelectUserTeam_continueHandler = new WeakMap(), _GxIdeSelectUserTeam_cancelHandler = new WeakMap();
125
- function defineCustomElement$1() {
126
- if (typeof customElements === "undefined") {
127
- return;
128
- }
129
- const components = ["gx-ide-select-user-team", "gx-ide-loader"];
130
- components.forEach(tagName => { switch (tagName) {
131
- case "gx-ide-select-user-team":
132
- if (!customElements.get(tagName)) {
133
- customElements.define(tagName, GxIdeSelectUserTeam$1);
134
- }
135
- break;
136
- case "gx-ide-loader":
137
- if (!customElements.get(tagName)) {
138
- defineCustomElement$2();
139
- }
140
- break;
141
- } });
142
- }
143
-
144
- const GxIdeSelectUserTeam = GxIdeSelectUserTeam$1;
145
- const defineCustomElement = defineCustomElement$1;
146
-
147
- export { GxIdeSelectUserTeam, defineCustomElement };
148
-
149
- //# sourceMappingURL=gx-ide-select-user-team.js.map
@@ -1 +0,0 @@
1
- {"file":"gx-ide-select-user-team.js","mappings":"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","names":["GxIdeSelectUserTeam"],"sources":["src/components/select-user-team/helpers.tsx","src/components/select-user-team/select-user-team.scss?tag=gx-ide-select-user-team&encapsulation=shadow","src/components/select-user-team/select-user-team.tsx"],"sourcesContent":["import { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { TeamData } from \"./select-user-team\";\n\nexport const mapTeamsToComboBoxItemModel = (\n teams: TeamData[]\n): ComboBoxItemModel[] => {\n return teams?.map(team => {\n return {\n value: team.id,\n caption: team.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 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-teams-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 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 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.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n --ch-combo-box__popover-max-inline-size: 400px;\n}\n\n.buttons-container {\n display: flex;\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 { 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-select-user-team\",\n styleUrl: \"select-user-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-user-team\"]\n})\nexport class GxIdeSelectUserTeam {\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 #displayTeamsTransitionTime: number = 100;\n\n @Element() el: HTMLGxIdeSelectUserTeamElement;\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 team model is redy to be rendered.\n */\n @State() teamsModelReady: 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 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => 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.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n if (newTeams.length) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n this.teamsModelReady = true;\n } else {\n this.teamsModelReady = false;\n }\n }, this.#displayTeamsTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#displayTeamsTransitionTime * 2);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.teamsChanged(this.teams);\n\n this.el.style.setProperty(\n \"--display-teams-transtion-time\",\n this.#displayTeamsTransitionTime.toString() + \"ms\"\n );\n }\n\n componentDidLoad() {\n this.slideIsVisible = true;\n }\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n #cancelHandler = async () => {\n await this.cancelCallback();\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.teamsModelReady ? (\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>{this.#componentLocale.title}</span>\n </h2>\n </header>,\n <div class=\"slide__select-team-description\">\n <p class=\"body-semi-bold-l\">\n {this.#componentLocale.infoMessage}\n </p>\n </div>,\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={\n this.#userTeamsModel && this.#userTeamsModel[0]?.value\n }\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl =\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.continueButtonCaption}\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 TeamData = {\n id: string;\n name: string;\n};\n"],"version":3}
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface GxIdeSignInTeam extends Components.GxIdeSignInTeam, HTMLElement {}
4
- export const GxIdeSignInTeam: {
5
- prototype: GxIdeSignInTeam;
6
- new (): GxIdeSignInTeam;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;