@genexus/genexus-ide-ui 1.0.45 → 1.0.46

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 (78) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +10 -11
  3. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +38 -11
  7. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +75 -13
  9. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +1 -1
  12. package/dist/collection/components/current-user-info/current-user-info.css +6 -1
  13. package/dist/collection/components/current-user-info/current-user-info.js +32 -11
  14. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
  15. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.en.json +2 -1
  16. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.ja.json +2 -1
  17. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.zh.json +2 -1
  18. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +5 -1
  19. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +5 -1
  20. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +5 -1
  21. package/dist/collection/components/select-user-team/helpers.js +1 -1
  22. package/dist/collection/components/select-user-team/helpers.js.map +1 -1
  23. package/dist/collection/components/select-user-team/select-user-team.css +8 -0
  24. package/dist/collection/components/select-user-team/select-user-team.js +42 -9
  25. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
  26. package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json +15 -5
  27. package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json +13 -3
  28. package/dist/collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.zh.json +13 -3
  29. package/dist/collection/components/sign-in-team/sign-in-team.css +9 -4
  30. package/dist/collection/components/sign-in-team/sign-in-team.js +116 -15
  31. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
  32. package/dist/components/gx-ide-current-user-info.js +12 -12
  33. package/dist/components/gx-ide-current-user-info.js.map +1 -1
  34. package/dist/components/gx-ide-select-user-team.js +48 -13
  35. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  36. package/dist/components/gx-ide-sign-in-team.js +86 -15
  37. package/dist/components/gx-ide-sign-in-team.js.map +1 -1
  38. package/dist/components/ide-loader.js +1 -1
  39. package/dist/components/ide-loader.js.map +1 -1
  40. package/dist/esm/genexus-ide-ui.js +1 -1
  41. package/dist/esm/gx-ide-current-user-info.entry.js +10 -11
  42. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
  43. package/dist/esm/gx-ide-loader.entry.js +1 -1
  44. package/dist/esm/gx-ide-loader.entry.js.map +1 -1
  45. package/dist/esm/gx-ide-select-user-team.entry.js +38 -11
  46. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  47. package/dist/esm/gx-ide-sign-in-team.entry.js +75 -13
  48. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
  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/current-user-info/langs/current-user-info.lang.en.json +2 -1
  53. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.ja.json +2 -1
  54. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.zh.json +2 -1
  55. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +5 -1
  56. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +5 -1
  57. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +5 -1
  58. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json +15 -5
  59. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json +13 -3
  60. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.zh.json +13 -3
  61. package/dist/genexus-ide-ui/{p-b12a5426.entry.js → p-a27c088d.entry.js} +45 -41
  62. package/dist/genexus-ide-ui/p-a27c088d.entry.js.map +1 -0
  63. package/dist/genexus-ide-ui/{p-c9b0fd13.entry.js → p-ab653cc2.entry.js} +44 -18
  64. package/dist/genexus-ide-ui/p-ab653cc2.entry.js.map +1 -0
  65. package/dist/genexus-ide-ui/p-b04a0ae3.entry.js +236 -0
  66. package/dist/genexus-ide-ui/p-b04a0ae3.entry.js.map +1 -0
  67. package/dist/genexus-ide-ui/{p-6db2056c.entry.js → p-efebc74b.entry.js} +7 -7
  68. package/dist/genexus-ide-ui/p-efebc74b.entry.js.map +1 -0
  69. package/dist/types/components/current-user-info/current-user-info.d.ts +6 -2
  70. package/dist/types/components/select-user-team/select-user-team.d.ts +9 -0
  71. package/dist/types/components/sign-in-team/sign-in-team.d.ts +13 -1
  72. package/dist/types/components.d.ts +29 -5
  73. package/package.json +1 -1
  74. package/dist/genexus-ide-ui/p-0b33d2f9.entry.js +0 -163
  75. package/dist/genexus-ide-ui/p-0b33d2f9.entry.js.map +0 -1
  76. package/dist/genexus-ide-ui/p-6db2056c.entry.js.map +0 -1
  77. package/dist/genexus-ide-ui/p-b12a5426.entry.js.map +0 -1
  78. package/dist/genexus-ide-ui/p-c9b0fd13.entry.js.map +0 -1
@@ -4,7 +4,8 @@
4
4
  "languageLabel": "",
5
5
  "modeLabel": "",
6
6
  "signOutLabel": "",
7
- "privacyAndTerms": "",
7
+ "termsAndConditionsText": "",
8
+ "privacyPolicyText": "",
8
9
  "labelModeDark": "",
9
10
  "labelModeLight": ""
10
11
  }
@@ -2,5 +2,9 @@
2
2
  "title": "Change your team",
3
3
  "infoMessage": "Select new team from the list below",
4
4
  "continueButtonCaption": "Continue",
5
- "cancelButtonCaption": "Cancel"
5
+ "cancelButtonCaption": "Cancel",
6
+ "loader": {
7
+ "title": "Fetching user data",
8
+ "description": "Thanks for your patience!"
9
+ }
6
10
  }
@@ -2,5 +2,9 @@
2
2
  "title": "",
3
3
  "infoMessage": "",
4
4
  "continueButtonCaption": "",
5
- "cancelButtonCaption": ""
5
+ "cancelButtonCaption": "",
6
+ "loader": {
7
+ "title": "",
8
+ "description": ""
9
+ }
6
10
  }
@@ -2,5 +2,9 @@
2
2
  "title": "",
3
3
  "infoMessage": "",
4
4
  "continueButtonCaption": "",
5
- "cancelButtonCaption": ""
5
+ "cancelButtonCaption": "",
6
+ "loader": {
7
+ "title": "",
8
+ "description": ""
9
+ }
6
10
  }
@@ -1,5 +1,5 @@
1
1
  export const mapTeamsToComboBoxItemModel = (teams) => {
2
- return teams.map(team => {
2
+ return teams === null || teams === void 0 ? void 0 : teams.map(team => {
3
3
  return {
4
4
  value: team.id,
5
5
  caption: team.name
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/select-user-team/helpers.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAiB,EACI,EAAE;IACvB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,EAAE;YACd,OAAO,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","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"]}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/components/select-user-team/helpers.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAiB,EACI,EAAE;IACvB,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,EAAE;YACd,OAAO,EAAE,IAAI,CAAC,IAAI;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","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"]}
@@ -31,6 +31,14 @@
31
31
  block-size: 100%;
32
32
  inline-size: 100%;
33
33
  padding: var(--mer-spacing--3xl);
34
+ transform: translateY(var(--mer-spacing--2xs));
35
+ transition: var(--display-teams-transtion-time) all;
36
+ opacity: 0;
37
+ position: relative;
38
+ }
39
+ .slide__main--visible {
40
+ transform: translateY(0);
41
+ opacity: 1;
34
42
  }
35
43
  .slide__main-container {
36
44
  display: grid;
@@ -14,7 +14,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
14
14
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
15
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
16
  };
17
- var _GxIdeSelectUserTeam_componentLocale, _GxIdeSelectUserTeam_userTeamsModel, _GxIdeSelectUserTeam_chSelectTeamEl, _GxIdeSelectUserTeam_continueHandler, _GxIdeSelectUserTeam_cancelHandler;
17
+ var _GxIdeSelectUserTeam_componentLocale, _GxIdeSelectUserTeam_userTeamsModel, _GxIdeSelectUserTeam_chSelectTeamEl, _GxIdeSelectUserTeam_displayTeamsTransitionTime, _GxIdeSelectUserTeam_continueHandler, _GxIdeSelectUserTeam_cancelHandler;
18
18
  // Stencil
19
19
  import { Host, h, getAssetPath } from "@stencil/core";
20
20
  // Custom Imports
@@ -38,33 +38,60 @@ export class GxIdeSelectUserTeam {
38
38
  // Select User Team References :
39
39
  _GxIdeSelectUserTeam_userTeamsModel.set(this, []);
40
40
  _GxIdeSelectUserTeam_chSelectTeamEl.set(this, void 0);
41
+ _GxIdeSelectUserTeam_displayTeamsTransitionTime.set(this, 100);
41
42
  _GxIdeSelectUserTeam_continueHandler.set(this, async () => {
42
43
  await this.continueCallback(__classPrivateFieldGet(this, _GxIdeSelectUserTeam_chSelectTeamEl, "f").value);
43
44
  });
44
45
  _GxIdeSelectUserTeam_cancelHandler.set(this, async () => {
45
46
  await this.cancelCallback();
46
47
  });
48
+ this.slideIsVisible = false;
49
+ this.teamsModelReady = false;
47
50
  this.cancelCallback = undefined;
48
51
  this.continueCallback = undefined;
49
52
  this.teams = undefined;
50
53
  }
51
54
  teamsChanged(newTeams) {
52
- __classPrivateFieldSet(this, _GxIdeSelectUserTeam_userTeamsModel, mapTeamsToComboBoxItemModel(newTeams), "f");
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);
53
70
  }
54
71
  async componentWillLoad() {
55
72
  __classPrivateFieldSet(this, _GxIdeSelectUserTeam_componentLocale, await Locale.getComponentStrings(this.el), "f");
56
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;
57
78
  }
58
79
  render() {
59
80
  var _a;
60
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
61
82
  }), h("div", { class: {
62
- slide__main: true
63
- } }, h("div", { class: "slide__main-container" }, h("header", { class: "slide__main-header" }, h("img", { src: ICON_NEXT, alt: "" // decorative
64
- }), h("h2", {
65
- // Split the title into two spans for better styling
66
- class: "slide__main-title"
67
- }, h("span", null, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").title))), h("div", { class: "slide__select-team-description" }, h("p", { class: "text-body-highlighted-l" }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").infoMessage)), 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: (_a = __classPrivateFieldGet(this, _GxIdeSelectUserTeam_userTeamsModel, "f")[0]) === null || _a === void 0 ? void 0 : _a.value, ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectUserTeam_chSelectTeamEl, el, "f")) }))), 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)))))));
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: "text-body-highlighted-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 })))))));
68
95
  }
69
96
  static get is() { return "gx-ide-select-user-team"; }
70
97
  static get encapsulation() { return "shadow"; }
@@ -144,6 +171,12 @@ export class GxIdeSelectUserTeam {
144
171
  }
145
172
  };
146
173
  }
174
+ static get states() {
175
+ return {
176
+ "slideIsVisible": {},
177
+ "teamsModelReady": {}
178
+ };
179
+ }
147
180
  static get elementRef() { return "el"; }
148
181
  static get watchers() {
149
182
  return [{
@@ -152,5 +185,5 @@ export class GxIdeSelectUserTeam {
152
185
  }];
153
186
  }
154
187
  }
155
- _GxIdeSelectUserTeam_componentLocale = new WeakMap(), _GxIdeSelectUserTeam_userTeamsModel = new WeakMap(), _GxIdeSelectUserTeam_chSelectTeamEl = new WeakMap(), _GxIdeSelectUserTeam_continueHandler = new WeakMap(), _GxIdeSelectUserTeam_cancelHandler = new WeakMap();
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();
156
189
  //# sourceMappingURL=select-user-team.js.map
@@ -1 +1 @@
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 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\n @Element() el: HTMLGxIdeSelectUserTeamElement;\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.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.teamsChanged(this.teams);\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 }}\n >\n <div class=\"slide__main-container\">\n <header class=\"slide__main-header\">\n <img\n src={ICON_NEXT}\n alt=\"\" // decorative\n />\n <h2\n // Split the title into two spans for better styling\n class=\"slide__main-title\"\n >\n <span>{this.#componentLocale.title}</span>\n </h2>\n </header>\n <div class=\"slide__select-team-description\">\n <p class=\"text-body-highlighted-l\">\n {this.#componentLocale.infoMessage}\n </p>\n </div>\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">{this.#componentLocale.teams}</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 <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 </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"]}
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=\"text-body-highlighted-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"]}
@@ -3,16 +3,26 @@
3
3
  "signIn": {
4
4
  "titlePart1": "Welcome to ",
5
5
  "titlePart2": "GeneXus Next Desktop",
6
- "description": "(This description is to be defined)",
7
- "byContinuingText": "By continuing you agree to ",
8
- "byContinuingCallBackText": "terms and conditions",
6
+ "description": "The most advanced professional IDE to build and evolve Intelligent Enterprise Systems.",
9
7
  "buttonCaption": "Sign In"
10
8
  },
11
9
  "selectUserTeam": {
12
10
  "titlePart1": "You have successfully ",
13
11
  "titlePart2": "signed in",
14
- "infoMessage": "Before proceeding please select your team from the list below",
15
- "teamSelectorLabel": "Team",
12
+ "infoMessage": "Before proceeding please select your Organization/Team from the list below",
13
+ "label": "Organization/Team",
16
14
  "buttonCaption": "Continue"
15
+ },
16
+ "agreement": {
17
+ "termsAndConditionsLabel": "I have read and agree to the app ",
18
+ "termsAndConditionsLink": "terms and conditions",
19
+ "privacyAndPolicyLabel": "I have read and agree to the app ",
20
+ "privacyAndPolicyLink": "privacy policy"
21
+ },
22
+ "loader": {
23
+ "fetchingTeamsTitle": "Fetching user data",
24
+ "fetchingTeamsDescription": "Thanks for your patience!",
25
+ "settingUpSessionTitle": "Setting up session",
26
+ "settingUpDescription": "Thanks for your patience!"
17
27
  }
18
28
  }
@@ -4,15 +4,25 @@
4
4
  "titlePart1": "",
5
5
  "titlePart2": "",
6
6
  "description": "",
7
- "byContinuingText": "",
8
- "byContinuingCallBackText": "",
9
7
  "buttonCaption": ""
10
8
  },
11
9
  "selectUserTeam": {
12
10
  "titlePart1": "",
13
11
  "titlePart2": "",
14
12
  "infoMessage": "",
15
- "teamSelectorLabel": "",
13
+ "label": "",
16
14
  "buttonCaption": ""
15
+ },
16
+ "agreement": {
17
+ "termsAndConditionsLabel": "",
18
+ "termsAndConditionsLink": "",
19
+ "privacyAndPolicyLabel": "",
20
+ "privacyAndPolicyLink": ""
21
+ },
22
+ "loader": {
23
+ "fetchingTeamsTitle": "",
24
+ "fetchingTeamsDescription": "",
25
+ "settingUpSessionTitle": "",
26
+ "settingUpDescription": ""
17
27
  }
18
28
  }
@@ -4,15 +4,25 @@
4
4
  "titlePart1": "",
5
5
  "titlePart2": "",
6
6
  "description": "",
7
- "byContinuingText": "",
8
- "byContinuingCallBackText": "",
9
7
  "buttonCaption": ""
10
8
  },
11
9
  "selectUserTeam": {
12
10
  "titlePart1": "",
13
11
  "titlePart2": "",
14
12
  "infoMessage": "",
15
- "teamSelectorLabel": "",
13
+ "label": "",
16
14
  "buttonCaption": ""
15
+ },
16
+ "agreement": {
17
+ "termsAndConditionsLabel": "",
18
+ "termsAndConditionsLink": "",
19
+ "privacyAndPolicyLabel": "",
20
+ "privacyAndPolicyLink": ""
21
+ },
22
+ "loader": {
23
+ "fetchingTeamsTitle": "",
24
+ "fetchingTeamsDescription": "",
25
+ "settingUpSessionTitle": "",
26
+ "settingUpDescription": ""
17
27
  }
18
28
  }
@@ -64,10 +64,7 @@
64
64
  font-weight: var(--mer-font__weight--light);
65
65
  line-height: var(--mer-line-height--spaced);
66
66
  color: var(--mer-text__complementary);
67
- }
68
-
69
- .terms-conditions {
70
- text-decoration: underline;
67
+ max-inline-size: 370px;
71
68
  }
72
69
 
73
70
  .teams-list {
@@ -89,4 +86,12 @@
89
86
  .slide {
90
87
  grid-template-columns: 1fr 5fr;
91
88
  }
89
+ }
90
+ .hyperlink {
91
+ text-decoration: underline;
92
+ cursor: pointer;
93
+ }
94
+
95
+ .field-inline > .label-agreement {
96
+ margin-block-start: 0 !important;
92
97
  }
@@ -14,7 +14,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
14
14
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
15
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
16
  };
17
- var _GxIdeSignInTeam_componentLocale, _GxIdeSignInTeam_userTeamsModel, _GxIdeSignInTeam_chSelectTeamEl, _GxIdeSignInTeam_switchStepTransitionTime, _GxIdeSignInTeam_authStepCallback, _GxIdeSignInTeam_continueHandler;
17
+ var _GxIdeSignInTeam_componentLocale, _GxIdeSignInTeam_userTeamsModel, _GxIdeSignInTeam_chSelectTeamEl, _GxIdeSignInTeam_switchStepTransitionTime, _GxIdeSignInTeam_termsAndConditionsCheckboxEl, _GxIdeSignInTeam_privacyPolicyCheckboxEl, _GxIdeSignInTeam_authStepCallback, _GxIdeSignInTeam_continueHandler, _GxIdeSignInTeam_renderStepHeader, _GxIdeSignInTeam_renderStepFooter, _GxIdeSignInTeam_evaluateTermsConditionsAndPrivacyAccepted, _GxIdeSignInTeam_termsAndConditionsClickedHandler, _GxIdeSignInTeam_privacyPolicyClickedHandler, _GxIdeSignInTeam_evaluateStepRender;
18
18
  // Stencil
19
19
  import { Host, h, getAssetPath } from "@stencil/core";
20
20
  // Custom Imports
@@ -26,8 +26,11 @@ const CSS_BUNDLES = [
26
26
  "resets/box-sizing",
27
27
  "utils/typography",
28
28
  "components/button",
29
- "components/combo-box"
29
+ "components/combo-box",
30
+ "components/checkbox",
31
+ "utils/form"
30
32
  ];
33
+ const CHECKED_VALUE = "on";
31
34
  export class GxIdeSignInTeam {
32
35
  constructor() {
33
36
  /**
@@ -39,6 +42,8 @@ export class GxIdeSignInTeam {
39
42
  _GxIdeSignInTeam_userTeamsModel.set(this, []);
40
43
  _GxIdeSignInTeam_chSelectTeamEl.set(this, void 0);
41
44
  _GxIdeSignInTeam_switchStepTransitionTime.set(this, 100);
45
+ _GxIdeSignInTeam_termsAndConditionsCheckboxEl.set(this, void 0);
46
+ _GxIdeSignInTeam_privacyPolicyCheckboxEl.set(this, void 0);
42
47
  _GxIdeSignInTeam_authStepCallback.set(this, () => {
43
48
  if (this.authStep === "signIn") {
44
49
  this.signInCallback();
@@ -50,13 +55,78 @@ export class GxIdeSignInTeam {
50
55
  _GxIdeSignInTeam_continueHandler.set(this, async () => {
51
56
  await this.continueCallback(__classPrivateFieldGet(this, _GxIdeSignInTeam_chSelectTeamEl, "f").value);
52
57
  });
58
+ _GxIdeSignInTeam_renderStepHeader.set(this, () => {
59
+ return (h("header", { class: "slide__main-header" }, h("img", { src: ICON_NEXT, alt: "" // decorative
60
+ }), h("h2", {
61
+ // Split the title into two spans for better styling
62
+ class: "slide__main-title"
63
+ }, h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].titlePart1), h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].titlePart2))));
64
+ });
65
+ _GxIdeSignInTeam_renderStepFooter.set(this, () => {
66
+ const signInDisabled = this.authStep === "signIn" &&
67
+ this.termsConfirmationRequired &&
68
+ !this.termsAndConditionsAccepted;
69
+ return (h("div", null, h("button", { class: "button-primary main-btn", onClick: __classPrivateFieldGet(this, _GxIdeSignInTeam_authStepCallback, "f"), disabled: signInDisabled }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].buttonCaption)));
70
+ });
71
+ _GxIdeSignInTeam_evaluateTermsConditionsAndPrivacyAccepted.set(this, () => {
72
+ const termsAndConditionsAccepted = __classPrivateFieldGet(this, _GxIdeSignInTeam_termsAndConditionsCheckboxEl, "f").value === CHECKED_VALUE;
73
+ const privacyPolicyAccepted = __classPrivateFieldGet(this, _GxIdeSignInTeam_privacyPolicyCheckboxEl, "f").value === CHECKED_VALUE;
74
+ this.termsAndConditionsAccepted =
75
+ termsAndConditionsAccepted && privacyPolicyAccepted;
76
+ });
77
+ _GxIdeSignInTeam_termsAndConditionsClickedHandler.set(this, (event) => {
78
+ event.preventDefault();
79
+ this.termsCallback();
80
+ });
81
+ _GxIdeSignInTeam_privacyPolicyClickedHandler.set(this, (event) => {
82
+ event.preventDefault();
83
+ this.privacyCallback();
84
+ });
85
+ _GxIdeSignInTeam_evaluateStepRender.set(this, () => {
86
+ var _a;
87
+ if (this.authStepInternal === "signIn") {
88
+ return [
89
+ __classPrivateFieldGet(this, _GxIdeSignInTeam_renderStepHeader, "f").call(this),
90
+ h("p", { class: "text-body-regular-l" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").signIn.description),
91
+ this.termsConfirmationRequired && (h("div", { class: "field-group" }, h("div", {
92
+ // terms and conditions
93
+ class: "field field-inline"
94
+ }, h("ch-checkbox", { checkedValue: CHECKED_VALUE, id: "terms-and-conditions", class: "checkbox", ref: (el) => (__classPrivateFieldSet(this, _GxIdeSignInTeam_termsAndConditionsCheckboxEl, el, "f")), onInput: __classPrivateFieldGet(this, _GxIdeSignInTeam_evaluateTermsConditionsAndPrivacyAccepted, "f") }), h("label", { htmlFor: "terms-and-conditions", class: "label label-agreement" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").agreement.termsAndConditionsLabel, h("span", { class: { hyperlink: !!this.termsCallback }, onClick: this.termsCallback && __classPrivateFieldGet(this, _GxIdeSignInTeam_termsAndConditionsClickedHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").agreement.termsAndConditionsLink))), h("div", {
95
+ // privacy policy
96
+ class: "field field-inline"
97
+ }, h("ch-checkbox", { checkedValue: CHECKED_VALUE, id: "privacy-policy", class: "checkbox", ref: (el) => (__classPrivateFieldSet(this, _GxIdeSignInTeam_privacyPolicyCheckboxEl, el, "f")), onInput: __classPrivateFieldGet(this, _GxIdeSignInTeam_evaluateTermsConditionsAndPrivacyAccepted, "f") }), h("label", { htmlFor: "privacy-policy", class: "label label-agreement" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").agreement.privacyAndPolicyLabel, h("span", { class: { hyperlink: !!this.privacyCallback }, onClick: this.privacyCallback && __classPrivateFieldGet(this, _GxIdeSignInTeam_privacyPolicyClickedHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").agreement.privacyAndPolicyLink))))),
98
+ __classPrivateFieldGet(this, _GxIdeSignInTeam_renderStepFooter, "f").call(this)
99
+ ];
100
+ }
101
+ else if (this.authStepInternal === "fetchUserTeams" ||
102
+ this.authStepInternal === "settingUpSession") {
103
+ const loaderTitle = this.authStepInternal === "fetchUserTeams"
104
+ ? __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").loader.fetchingTeamsTitle
105
+ : __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").loader.settingUpSessionTitle;
106
+ const loaderDescription = this.authStepInternal === "fetchUserTeams"
107
+ ? __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").loader.fetchingTeamsDescription
108
+ : __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").loader.settingUpDescription;
109
+ return (h("gx-ide-loader", { show: true, loaderTitle: loaderTitle, description: loaderDescription }));
110
+ }
111
+ else if (this.authStepInternal === "selectUserTeam") {
112
+ return [
113
+ __classPrivateFieldGet(this, _GxIdeSignInTeam_renderStepHeader, "f").call(this),
114
+ h("div", { class: "slide__select-team-description" }, h("p", { class: "text-body-highlighted-l" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").selectUserTeam.infoMessage)),
115
+ h("div", { class: "field-group" }, h("div", { class: "field field-block" }, h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").selectUserTeam.label), h("ch-combo-box-render", { id: "teams", accessibleName: "Teams", class: "combo-box teams-list", model: __classPrivateFieldGet(this, _GxIdeSignInTeam_userTeamsModel, "f"), value: (_a = __classPrivateFieldGet(this, _GxIdeSignInTeam_userTeamsModel, "f")[0]) === null || _a === void 0 ? void 0 : _a.value, ref: (el) => (__classPrivateFieldSet(this, _GxIdeSignInTeam_chSelectTeamEl, el, "f")) }))),
116
+ __classPrivateFieldGet(this, _GxIdeSignInTeam_renderStepFooter, "f").call(this)
117
+ ];
118
+ }
119
+ });
53
120
  this.authStepInternal = undefined;
54
121
  this.slideIsVisible = true;
122
+ this.termsAndConditionsAccepted = false;
55
123
  this.authStep = "signIn";
56
124
  this.continueCallback = undefined;
57
125
  this.signInCallback = undefined;
126
+ this.termsConfirmationRequired = false;
58
127
  this.teams = undefined;
59
128
  this.termsCallback = undefined;
129
+ this.privacyCallback = undefined;
60
130
  }
61
131
  authStepChanged(newAuthStep) {
62
132
  this.slideIsVisible = false;
@@ -80,19 +150,11 @@ export class GxIdeSignInTeam {
80
150
  this.teamsChanged(this.teams);
81
151
  }
82
152
  render() {
83
- var _a;
84
153
  return (h(Host, null, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "slide" }, h("img", { src: COPYRIGHTS_ILLUSTRATION, class: "slide__illustration", alt: "" // decorative
85
154
  }), h("div", { class: {
86
155
  "slide__main": true,
87
156
  "slide__main--visible": this.slideIsVisible
88
- } }, h("div", { class: "slide__main-container" }, h("header", { class: "slide__main-header" }, h("img", { src: ICON_NEXT, alt: "" // decorative
89
- }), h("h2", {
90
- // Split the title into two spans for better styling
91
- class: "slide__main-title"
92
- }, h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].titlePart1), h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].titlePart2))), this.authStepInternal === "signIn" ? (h("div", { class: "slide__main-description" }, h("p", { hidden: true }, h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").descriptionText)), h("span", null, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").signIn.byContinuingText, h("a", { class: "terms-conditions", onClick: this.termsCallback }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").signIn.byContinuingCallBackText)))) : ([
93
- h("div", { class: "slide__select-team-description" }, h("p", { class: "text-body-highlighted-l" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").selectUserTeam.infoMessage)),
94
- h("div", { class: "field-group" }, h("div", { class: "field field-block" }, h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f").teams), h("ch-combo-box-render", { id: "teams", accessibleName: "Teams", class: "combo-box teams-list", model: __classPrivateFieldGet(this, _GxIdeSignInTeam_userTeamsModel, "f"), value: (_a = __classPrivateFieldGet(this, _GxIdeSignInTeam_userTeamsModel, "f")[0]) === null || _a === void 0 ? void 0 : _a.value, ref: (el) => (__classPrivateFieldSet(this, _GxIdeSignInTeam_chSelectTeamEl, el, "f")) })))
95
- ]), h("div", null, h("button", { class: "button-primary main-btn", onClick: __classPrivateFieldGet(this, _GxIdeSignInTeam_authStepCallback, "f") }, __classPrivateFieldGet(this, _GxIdeSignInTeam_componentLocale, "f")[this.authStepInternal].buttonCaption)))))));
157
+ } }, h("div", { class: "slide__main-container" }, __classPrivateFieldGet(this, _GxIdeSignInTeam_evaluateStepRender, "f").call(this))))));
96
158
  }
97
159
  static get is() { return "gx-ide-sign-in-team"; }
98
160
  static get encapsulation() { return "shadow"; }
@@ -114,7 +176,7 @@ export class GxIdeSignInTeam {
114
176
  "mutable": false,
115
177
  "complexType": {
116
178
  "original": "AuthStep",
117
- "resolved": "\"selectUserTeam\" | \"signIn\"",
179
+ "resolved": "\"fetchUserTeams\" | \"selectUserTeam\" | \"settingUpSession\" | \"signIn\"",
118
180
  "references": {
119
181
  "AuthStep": {
120
182
  "location": "local",
@@ -166,13 +228,31 @@ export class GxIdeSignInTeam {
166
228
  }
167
229
  }
168
230
  },
169
- "required": false,
231
+ "required": true,
170
232
  "optional": false,
171
233
  "docs": {
172
234
  "tags": [],
173
235
  "text": "Callback executed when the user click the \"Sign In\" button"
174
236
  }
175
237
  },
238
+ "termsConfirmationRequired": {
239
+ "type": "boolean",
240
+ "mutable": false,
241
+ "complexType": {
242
+ "original": "boolean",
243
+ "resolved": "boolean",
244
+ "references": {}
245
+ },
246
+ "required": false,
247
+ "optional": false,
248
+ "docs": {
249
+ "tags": [],
250
+ "text": "When true, it will diplay checkboxes for the user to confirm terms and conditions"
251
+ },
252
+ "attribute": "terms-confirmation-required",
253
+ "reflect": false,
254
+ "defaultValue": "false"
255
+ },
176
256
  "teams": {
177
257
  "type": "unknown",
178
258
  "mutable": false,
@@ -213,13 +293,34 @@ export class GxIdeSignInTeam {
213
293
  "tags": [],
214
294
  "text": "Callback executed when the user clicks on the \"term and conditions\" link"
215
295
  }
296
+ },
297
+ "privacyCallback": {
298
+ "type": "unknown",
299
+ "mutable": false,
300
+ "complexType": {
301
+ "original": "() => Promise<void>",
302
+ "resolved": "() => Promise<void>",
303
+ "references": {
304
+ "Promise": {
305
+ "location": "global",
306
+ "id": "global::Promise"
307
+ }
308
+ }
309
+ },
310
+ "required": false,
311
+ "optional": false,
312
+ "docs": {
313
+ "tags": [],
314
+ "text": "Callback executed when the user clicks on the \"privacy policy\" link"
315
+ }
216
316
  }
217
317
  };
218
318
  }
219
319
  static get states() {
220
320
  return {
221
321
  "authStepInternal": {},
222
- "slideIsVisible": {}
322
+ "slideIsVisible": {},
323
+ "termsAndConditionsAccepted": {}
223
324
  };
224
325
  }
225
326
  static get elementRef() { return "el"; }
@@ -233,5 +334,5 @@ export class GxIdeSignInTeam {
233
334
  }];
234
335
  }
235
336
  }
236
- _GxIdeSignInTeam_componentLocale = new WeakMap(), _GxIdeSignInTeam_userTeamsModel = new WeakMap(), _GxIdeSignInTeam_chSelectTeamEl = new WeakMap(), _GxIdeSignInTeam_switchStepTransitionTime = new WeakMap(), _GxIdeSignInTeam_authStepCallback = new WeakMap(), _GxIdeSignInTeam_continueHandler = new WeakMap();
337
+ _GxIdeSignInTeam_componentLocale = new WeakMap(), _GxIdeSignInTeam_userTeamsModel = new WeakMap(), _GxIdeSignInTeam_chSelectTeamEl = new WeakMap(), _GxIdeSignInTeam_switchStepTransitionTime = new WeakMap(), _GxIdeSignInTeam_termsAndConditionsCheckboxEl = new WeakMap(), _GxIdeSignInTeam_privacyPolicyCheckboxEl = new WeakMap(), _GxIdeSignInTeam_authStepCallback = new WeakMap(), _GxIdeSignInTeam_continueHandler = new WeakMap(), _GxIdeSignInTeam_renderStepHeader = new WeakMap(), _GxIdeSignInTeam_renderStepFooter = new WeakMap(), _GxIdeSignInTeam_evaluateTermsConditionsAndPrivacyAccepted = new WeakMap(), _GxIdeSignInTeam_termsAndConditionsClickedHandler = new WeakMap(), _GxIdeSignInTeam_privacyPolicyClickedHandler = new WeakMap(), _GxIdeSignInTeam_evaluateStepRender = new WeakMap();
237
338
  //# sourceMappingURL=sign-in-team.js.map