@genexus/genexus-ide-ui 1.0.36 → 1.0.38

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 (80) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +3 -1
  3. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +26 -8
  5. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-design-import.cjs.entry.js +12 -13
  7. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +35 -20
  9. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +22 -22
  11. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/components/ai-assistant/ai-assistant.js +2 -1
  14. package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
  15. package/dist/collection/components/ai-assistant/ai-message.css +32 -2
  16. package/dist/collection/components/ai-assistant/ai-message.js +25 -8
  17. package/dist/collection/components/ai-assistant/ai-message.js.map +1 -1
  18. package/dist/collection/components/design-import/design-import.js +12 -13
  19. package/dist/collection/components/design-import/design-import.js.map +1 -1
  20. package/dist/collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.en.json +1 -0
  21. package/dist/collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.ja.json +1 -0
  22. package/dist/collection/components/design-import/gx-ide-assets/design-import/langs/design-import.lang.zh.json +1 -0
  23. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +4 -8
  24. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +2 -6
  25. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +2 -6
  26. package/dist/collection/components/select-user-team/select-user-team.css +47 -19
  27. package/dist/collection/components/select-user-team/select-user-team.js +64 -26
  28. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
  29. package/dist/collection/components/sign-in-team/sign-in-team.js +20 -20
  30. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
  31. package/dist/components/ai-message.js +27 -10
  32. package/dist/components/ai-message.js.map +1 -1
  33. package/dist/components/gx-ide-ai-assistant.js +3 -1
  34. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  35. package/dist/components/gx-ide-design-import.js +12 -13
  36. package/dist/components/gx-ide-design-import.js.map +1 -1
  37. package/dist/components/gx-ide-select-user-team.js +40 -22
  38. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  39. package/dist/components/gx-ide-sign-in-team.js +22 -22
  40. package/dist/components/gx-ide-sign-in-team.js.map +1 -1
  41. package/dist/esm/genexus-ide-ui.js +1 -1
  42. package/dist/esm/gx-ide-ai-assistant.entry.js +3 -1
  43. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  44. package/dist/esm/gx-ide-ai-message.entry.js +26 -8
  45. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  46. package/dist/esm/gx-ide-design-import.entry.js +12 -13
  47. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  48. package/dist/esm/gx-ide-select-user-team.entry.js +35 -20
  49. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  50. package/dist/esm/gx-ide-sign-in-team.entry.js +22 -22
  51. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
  52. package/dist/esm/loader.js +1 -1
  53. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  54. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  55. package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.en.json +1 -0
  56. package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.ja.json +1 -0
  57. package/dist/genexus-ide-ui/gx-ide-assets/design-import/langs/design-import.lang.zh.json +1 -0
  58. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +4 -8
  59. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +2 -6
  60. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +2 -6
  61. package/dist/genexus-ide-ui/p-0b33d2f9.entry.js.map +1 -1
  62. package/dist/genexus-ide-ui/{p-32bd11fa.entry.js → p-5fc133b2.entry.js} +118 -121
  63. package/dist/genexus-ide-ui/p-5fc133b2.entry.js.map +1 -0
  64. package/dist/genexus-ide-ui/p-798eb91a.entry.js +121 -0
  65. package/dist/genexus-ide-ui/p-798eb91a.entry.js.map +1 -0
  66. package/dist/genexus-ide-ui/{p-040bd0c5.entry.js → p-a7dcfedd.entry.js} +9 -5
  67. package/dist/genexus-ide-ui/p-a7dcfedd.entry.js.map +1 -0
  68. package/dist/genexus-ide-ui/p-c9b0fd13.entry.js +130 -0
  69. package/dist/genexus-ide-ui/p-c9b0fd13.entry.js.map +1 -0
  70. package/dist/types/components/ai-assistant/ai-message.d.ts +2 -0
  71. package/dist/types/components/select-user-team/select-user-team.d.ts +10 -5
  72. package/dist/types/components/sign-in-team/sign-in-team.d.ts +1 -1
  73. package/dist/types/components.d.ts +12 -4
  74. package/package.json +1 -1
  75. package/dist/genexus-ide-ui/p-040bd0c5.entry.js.map +0 -1
  76. package/dist/genexus-ide-ui/p-32bd11fa.entry.js.map +0 -1
  77. package/dist/genexus-ide-ui/p-7cdfbdba.entry.js +0 -88
  78. package/dist/genexus-ide-ui/p-7cdfbdba.entry.js.map +0 -1
  79. package/dist/genexus-ide-ui/p-b189e45d.entry.js +0 -113
  80. package/dist/genexus-ide-ui/p-b189e45d.entry.js.map +0 -1
@@ -1,10 +1,6 @@
1
1
  {
2
- "teams": "",
3
- "illustrationAriaLabel": "",
4
- "illustrationFigureAriaLabel": "",
5
- "illustrationAlternativeText": "",
6
2
  "title": "",
7
3
  "infoMessage": "",
8
- "teamSelectorLabel": "",
9
- "continueButtonCaption": ""
4
+ "continueButtonCaption": "",
5
+ "cancelButtonCaption": ""
10
6
  }
@@ -1,5 +1,7 @@
1
1
  :host {
2
2
  display: grid;
3
+ container-type: inline-size;
4
+ container-name: host-container;
3
5
  block-size: 100%;
4
6
  inline-size: 100%;
5
7
  align-items: center;
@@ -9,54 +11,80 @@
9
11
 
10
12
  .slide {
11
13
  display: grid;
14
+ grid-template-columns: 1fr 1fr;
15
+ block-size: 100%;
16
+ max-block-size: 700px;
12
17
  max-inline-size: 1100px;
13
- grid-template-columns: 1fr 550px;
14
18
  background-color: var(--mer-surface__elevation--01);
15
19
  border-radius: var(--mer-spacing--md);
16
20
  overflow: hidden;
17
- transition: var(--slide-fade-duration) opacity;
18
21
  }
19
22
  .slide__illustration {
20
23
  overflow: hidden;
21
- max-block-size: 700px;
24
+ object-fit: cover;
25
+ object-position: left;
26
+ block-size: 100%;
27
+ inline-size: 100%;
22
28
  }
23
- .slide__select-team {
29
+ .slide__main {
24
30
  display: grid;
25
31
  block-size: 100%;
26
32
  inline-size: 100%;
27
33
  padding: var(--mer-spacing--3xl);
28
34
  }
29
- .slide__select-team-container {
35
+ .slide__main-container {
30
36
  display: grid;
37
+ place-self: center;
31
38
  gap: var(--mer-spacing--lg);
32
39
  max-inline-size: 480px;
33
- place-self: center;
34
40
  }
35
- .slide__select-team-header {
41
+ .slide__main-header {
36
42
  display: grid;
37
43
  gap: var(--mer-spacing--lg);
38
44
  }
39
- .slide__select-team-title {
45
+ .slide__main-title {
46
+ display: flex;
47
+ flex-direction: column;
40
48
  font-size: var(--mer-font__size--xl);
41
- color: var(--mer-text__on-surface);
42
- letter-spacing: 0.02em;
43
49
  font-weight: var(--mer-font__weight--semi-bold);
50
+ letter-spacing: 0.02em;
51
+ color: var(--mer-text__on-surface);
44
52
  }
45
- .slide__select-team-description {
53
+ .slide__main-description {
46
54
  display: grid;
47
- color: var(--mer-text__complementary);
48
- gap: var(--mer-spacing--md);
55
+ gap: var(--mer-spacing--2xl);
49
56
  font-size: var(--mer-font__size--sm);
50
57
  font-weight: var(--mer-font__weight--light);
51
58
  line-height: var(--mer-line-height--spaced);
59
+ color: var(--mer-text__complementary);
52
60
  }
53
61
 
54
- .info-message {
55
- font-weight: bold;
56
- color: var(--mer-text__on-surface);
62
+ .terms-conditions {
63
+ text-decoration: underline;
64
+ }
65
+
66
+ .teams-list {
67
+ inline-size: 100%;
68
+ max-inline-size: 400px;
57
69
  }
58
70
 
59
- .continue-button {
60
- padding-inline-start: var(--mer-spacing--3xl) !important;
61
- padding-inline-end: var(--mer-spacing--3xl) !important;
71
+ .buttons-container {
72
+ display: flex;
73
+ gap: var(--mer-spacing--md);
74
+ }
75
+
76
+ .continue-btn,
77
+ .cancel-btn {
78
+ flex: 1;
79
+ }
80
+
81
+ @container host-container (max-width: 768px) {
82
+ .slide {
83
+ grid-template-columns: 1fr 2fr;
84
+ }
85
+ }
86
+ @container host-container (max-width: 640px) {
87
+ .slide {
88
+ grid-template-columns: 1fr 5fr;
89
+ }
62
90
  }
@@ -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 _GxIdeUiSplash_componentLocale, _GxIdeUiSplash_userTeamsModel, _GxIdeUiSplash_chSelectTeamEl, _GxIdeUiSplash_continueHandle;
17
+ var _GxIdeSelectUserTeam_componentLocale, _GxIdeSelectUserTeam_userTeamsModel, _GxIdeSelectUserTeam_chSelectTeamEl, _GxIdeSelectUserTeam_continueHandler, _GxIdeSelectUserTeam_cancelHandler;
18
18
  // Stencil
19
19
  import { Host, h, getAssetPath } from "@stencil/core";
20
20
  // Custom Imports
@@ -25,34 +25,46 @@ const ICON_NEXT = getAssetPath(`./gx-ide-assets/welcome-page/images/icon-next.sv
25
25
  const CSS_BUNDLES = [
26
26
  "resets/box-sizing",
27
27
  "utils/typography",
28
- "components/combo-box",
29
28
  "components/button",
30
- "utils/form"
29
+ "components/combo-box"
31
30
  ];
32
- export class GxIdeUiSplash {
31
+ export class GxIdeSelectUserTeam {
33
32
  constructor() {
34
33
  /**
35
34
  * The component hard-coded strings translations.
36
35
  */
37
36
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
38
- _GxIdeUiSplash_componentLocale.set(this, void 0);
39
- _GxIdeUiSplash_userTeamsModel.set(this, []);
40
- _GxIdeUiSplash_chSelectTeamEl.set(this, void 0);
41
- _GxIdeUiSplash_continueHandle.set(this, async () => {
42
- await this.continueCallback(__classPrivateFieldGet(this, _GxIdeUiSplash_chSelectTeamEl, "f").value);
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_continueHandler.set(this, async () => {
42
+ await this.continueCallback(__classPrivateFieldGet(this, _GxIdeSelectUserTeam_chSelectTeamEl, "f").value);
43
43
  });
44
- this.teams = undefined;
44
+ _GxIdeSelectUserTeam_cancelHandler.set(this, async () => {
45
+ await this.cancelCallback();
46
+ });
47
+ this.cancelCallback = undefined;
45
48
  this.continueCallback = undefined;
49
+ this.teams = undefined;
50
+ }
51
+ teamsChanged(newTeams) {
52
+ __classPrivateFieldSet(this, _GxIdeSelectUserTeam_userTeamsModel, mapTeamsToComboBoxItemModel(newTeams), "f");
46
53
  }
47
54
  async componentWillLoad() {
48
- __classPrivateFieldSet(this, _GxIdeUiSplash_componentLocale, await Locale.getComponentStrings(this.el), "f");
49
- __classPrivateFieldSet(this, _GxIdeUiSplash_userTeamsModel, mapTeamsToComboBoxItemModel(this.teams), "f");
55
+ __classPrivateFieldSet(this, _GxIdeSelectUserTeam_componentLocale, await Locale.getComponentStrings(this.el), "f");
56
+ this.teamsChanged(this.teams);
50
57
  }
51
58
  render() {
52
- return (h(Host, null, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "slide" }, h("div", { class: "slide__illustration", role: "img", "aria-label": __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationAriaLabel }, h("img", {
53
- // base image (acts like a background)
54
- src: COPYRIGHTS_ILLUSTRATION, class: "slide__illustration", alt: __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationFigureAriaLabel
55
- })), h("section", { class: "slide__select-team" }, h("div", { class: "slide__select-team-container" }, h("header", { class: "slide__select-team-header" }, h("img", { src: ICON_NEXT, alt: __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationAlternativeText }), h("h2", { class: "slide__select-team-title" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").title)), h("div", { class: "slide__select-team-description" }, h("p", null, h("span", { class: "info-message" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").infoMessage))), h("div", { class: "field-group" }, h("div", { class: "field field-block" }, h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").teams), h("ch-combo-box-render", { id: "teams", accessibleName: "Teams", class: "combo-box", model: __classPrivateFieldGet(this, _GxIdeUiSplash_userTeamsModel, "f"), value: __classPrivateFieldGet(this, _GxIdeUiSplash_userTeamsModel, "f")[0].value, ref: (el) => (__classPrivateFieldSet(this, _GxIdeUiSplash_chSelectTeamEl, el, "f")) }))), h("div", null, h("button", { class: "button-primary continue-button", onClick: __classPrivateFieldGet(this, _GxIdeUiSplash_continueHandle, "f") }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").continueButtonCaption)))))));
59
+ var _a;
60
+ 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
+ }), 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)))))));
56
68
  }
57
69
  static get is() { return "gx-ide-select-user-team"; }
58
70
  static get encapsulation() { return "shadow"; }
@@ -69,17 +81,16 @@ export class GxIdeUiSplash {
69
81
  static get assetsDirs() { return ["gx-ide-assets/select-user-team"]; }
70
82
  static get properties() {
71
83
  return {
72
- "teams": {
84
+ "cancelCallback": {
73
85
  "type": "unknown",
74
86
  "mutable": false,
75
87
  "complexType": {
76
- "original": "TeamData[]",
77
- "resolved": "TeamData[]",
88
+ "original": "() => Promise<void>",
89
+ "resolved": "() => Promise<void>",
78
90
  "references": {
79
- "TeamData": {
80
- "location": "local",
81
- "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/select-user-team/select-user-team.tsx",
82
- "id": "src/components/select-user-team/select-user-team.tsx::TeamData"
91
+ "Promise": {
92
+ "location": "global",
93
+ "id": "global::Promise"
83
94
  }
84
95
  }
85
96
  },
@@ -87,7 +98,7 @@ export class GxIdeUiSplash {
87
98
  "optional": false,
88
99
  "docs": {
89
100
  "tags": [],
90
- "text": "Array that contain the user's teams"
101
+ "text": "Callback executed when the user clicks the 'Cancel' button"
91
102
  }
92
103
  },
93
104
  "continueCallback": {
@@ -107,12 +118,39 @@ export class GxIdeUiSplash {
107
118
  "optional": false,
108
119
  "docs": {
109
120
  "tags": [],
110
- "text": "Callback executed when the user click the 'continue' button"
121
+ "text": "Callback executed when the user clicks the 'Continue' button"
122
+ }
123
+ },
124
+ "teams": {
125
+ "type": "unknown",
126
+ "mutable": false,
127
+ "complexType": {
128
+ "original": "TeamData[]",
129
+ "resolved": "TeamData[]",
130
+ "references": {
131
+ "TeamData": {
132
+ "location": "local",
133
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/select-user-team/select-user-team.tsx",
134
+ "id": "src/components/select-user-team/select-user-team.tsx::TeamData"
135
+ }
136
+ }
137
+ },
138
+ "required": true,
139
+ "optional": false,
140
+ "docs": {
141
+ "tags": [],
142
+ "text": "Array that contains the user's teams"
111
143
  }
112
144
  }
113
145
  };
114
146
  }
115
147
  static get elementRef() { return "el"; }
148
+ static get watchers() {
149
+ return [{
150
+ "propName": "teams",
151
+ "methodName": "teamsChanged"
152
+ }];
153
+ }
116
154
  }
117
- _GxIdeUiSplash_componentLocale = new WeakMap(), _GxIdeUiSplash_userTeamsModel = new WeakMap(), _GxIdeUiSplash_chSelectTeamEl = new WeakMap(), _GxIdeUiSplash_continueHandle = new WeakMap();
155
+ _GxIdeSelectUserTeam_componentLocale = new WeakMap(), _GxIdeSelectUserTeam_userTeamsModel = new WeakMap(), _GxIdeSelectUserTeam_chSelectTeamEl = new WeakMap(), _GxIdeSelectUserTeam_continueHandler = new WeakMap(), _GxIdeSelectUserTeam_cancelHandler = new WeakMap();
118
156
  //# 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 { Component, Host, h, Prop, Element, getAssetPath } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\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);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/combo-box\",\n \"components/button\",\n \"utils/form\"\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 GxIdeUiSplash {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n #userTeamsModel: ComboBoxItemModel[] = [];\n #chSelectTeamEl: HTMLChComboBoxRenderElement;\n\n /**\n * Array that contain the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n\n /**\n * Callback executed when the user click the 'continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => Promise<void>;\n\n @Element() el: HTMLGxIdeSelectUserTeamElement;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(this.teams);\n }\n\n #continueHandle = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.illustrationFigureAriaLabel}\n />\n </div>\n\n <section class=\"slide__select-team\">\n <div class=\"slide__select-team-container\">\n <header class=\"slide__select-team-header\">\n <img\n src={ICON_NEXT}\n alt={this.#componentLocale.illustrationAlternativeText}\n />\n <h2 class=\"slide__select-team-title\">\n {this.#componentLocale.title}\n </h2>\n </header>\n\n <div class=\"slide__select-team-description\">\n <p>\n <span class=\"info-message\">\n {this.#componentLocale.infoMessage}\n </span>\n </p>\n </div>\n\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\"\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\n <div>\n <button\n class=\"button-primary continue-button\"\n onClick={this.#continueHandle}\n >\n {this.#componentLocale.continueButtonCaption}\n </button>\n </div>\n </div>\n </section>\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 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"]}
@@ -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 _GxIdeUiSplash_componentLocale, _GxIdeUiSplash_userTeamsModel, _GxIdeUiSplash_chSelectTeamEl, _GxIdeUiSplash_switchStepTransitionTime, _GxIdeUiSplash_authStepCallback, _GxIdeUiSplash_continueHandler;
17
+ var _GxIdeSignInTeam_componentLocale, _GxIdeSignInTeam_userTeamsModel, _GxIdeSignInTeam_chSelectTeamEl, _GxIdeSignInTeam_switchStepTransitionTime, _GxIdeSignInTeam_authStepCallback, _GxIdeSignInTeam_continueHandler;
18
18
  // Stencil
19
19
  import { Host, h, getAssetPath } from "@stencil/core";
20
20
  // Custom Imports
@@ -28,27 +28,27 @@ const CSS_BUNDLES = [
28
28
  "components/button",
29
29
  "components/combo-box"
30
30
  ];
31
- export class GxIdeUiSplash {
31
+ export class GxIdeSignInTeam {
32
32
  constructor() {
33
33
  /**
34
34
  * The component hard-coded strings translations.
35
35
  */
36
36
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
37
- _GxIdeUiSplash_componentLocale.set(this, void 0);
37
+ _GxIdeSignInTeam_componentLocale.set(this, void 0);
38
38
  // Select User Team References :
39
- _GxIdeUiSplash_userTeamsModel.set(this, []);
40
- _GxIdeUiSplash_chSelectTeamEl.set(this, void 0);
41
- _GxIdeUiSplash_switchStepTransitionTime.set(this, 100);
42
- _GxIdeUiSplash_authStepCallback.set(this, () => {
39
+ _GxIdeSignInTeam_userTeamsModel.set(this, []);
40
+ _GxIdeSignInTeam_chSelectTeamEl.set(this, void 0);
41
+ _GxIdeSignInTeam_switchStepTransitionTime.set(this, 100);
42
+ _GxIdeSignInTeam_authStepCallback.set(this, () => {
43
43
  if (this.authStep === "signIn") {
44
44
  this.signInCallback();
45
45
  }
46
46
  else if (this.authStep === "selectUserTeam") {
47
- __classPrivateFieldGet(this, _GxIdeUiSplash_continueHandler, "f").call(this);
47
+ __classPrivateFieldGet(this, _GxIdeSignInTeam_continueHandler, "f").call(this);
48
48
  }
49
49
  });
50
- _GxIdeUiSplash_continueHandler.set(this, async () => {
51
- await this.continueCallback(__classPrivateFieldGet(this, _GxIdeUiSplash_chSelectTeamEl, "f").value);
50
+ _GxIdeSignInTeam_continueHandler.set(this, async () => {
51
+ await this.continueCallback(__classPrivateFieldGet(this, _GxIdeSignInTeam_chSelectTeamEl, "f").value);
52
52
  });
53
53
  this.authStepInternal = undefined;
54
54
  this.slideIsVisible = true;
@@ -63,18 +63,18 @@ export class GxIdeUiSplash {
63
63
  // switch step
64
64
  setTimeout(() => {
65
65
  this.authStepInternal = newAuthStep;
66
- }, __classPrivateFieldGet(this, _GxIdeUiSplash_switchStepTransitionTime, "f"));
66
+ }, __classPrivateFieldGet(this, _GxIdeSignInTeam_switchStepTransitionTime, "f"));
67
67
  // show slide
68
68
  setTimeout(() => {
69
69
  this.slideIsVisible = true;
70
- }, __classPrivateFieldGet(this, _GxIdeUiSplash_switchStepTransitionTime, "f") * 2);
70
+ }, __classPrivateFieldGet(this, _GxIdeSignInTeam_switchStepTransitionTime, "f") * 2);
71
71
  }
72
72
  teamsChanged(newTeams) {
73
- __classPrivateFieldSet(this, _GxIdeUiSplash_userTeamsModel, mapTeamsToComboBoxItemModel(newTeams), "f");
73
+ __classPrivateFieldSet(this, _GxIdeSignInTeam_userTeamsModel, mapTeamsToComboBoxItemModel(newTeams), "f");
74
74
  }
75
75
  async componentWillLoad() {
76
- __classPrivateFieldSet(this, _GxIdeUiSplash_componentLocale, await Locale.getComponentStrings(this.el), "f");
77
- this.el.style.setProperty("--switch-step-transtion-time", __classPrivateFieldGet(this, _GxIdeUiSplash_switchStepTransitionTime, "f").toString() + "ms");
76
+ __classPrivateFieldSet(this, _GxIdeSignInTeam_componentLocale, await Locale.getComponentStrings(this.el), "f");
77
+ this.el.style.setProperty("--switch-step-transtion-time", __classPrivateFieldGet(this, _GxIdeSignInTeam_switchStepTransitionTime, "f").toString() + "ms");
78
78
  // Initialize values
79
79
  this.authStepInternal = this.authStep;
80
80
  this.teamsChanged(this.teams);
@@ -89,10 +89,10 @@ export class GxIdeUiSplash {
89
89
  }), h("h2", {
90
90
  // Split the title into two spans for better styling
91
91
  class: "slide__main-title"
92
- }, h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f")[this.authStepInternal].titlePart1), h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f")[this.authStepInternal].titlePart2))), this.authStepInternal === "signIn" ? (h("div", { class: "slide__main-description" }, h("p", { hidden: true }, h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").descriptionText)), h("span", null, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").signIn.byContinuingText, h("a", { class: "terms-conditions", onClick: this.termsCallback }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").signIn.byContinuingCallBackText)))) : ([
93
- h("div", { class: "slide__select-team-description" }, h("p", { class: "text-body-highlighted-l" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").selectUserTeam.infoMessage)),
94
- h("div", { class: "field-group" }, h("div", { class: "field field-block" }, h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").teams), h("ch-combo-box-render", { id: "teams", accessibleName: "Teams", class: "combo-box teams-list", model: __classPrivateFieldGet(this, _GxIdeUiSplash_userTeamsModel, "f"), value: (_a = __classPrivateFieldGet(this, _GxIdeUiSplash_userTeamsModel, "f")[0]) === null || _a === void 0 ? void 0 : _a.value, ref: (el) => (__classPrivateFieldSet(this, _GxIdeUiSplash_chSelectTeamEl, el, "f")) })))
95
- ]), h("div", null, h("button", { class: "button-primary main-btn", onClick: __classPrivateFieldGet(this, _GxIdeUiSplash_authStepCallback, "f") }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f")[this.authStepInternal].buttonCaption)))))));
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)))))));
96
96
  }
97
97
  static get is() { return "gx-ide-sign-in-team"; }
98
98
  static get encapsulation() { return "shadow"; }
@@ -233,5 +233,5 @@ export class GxIdeUiSplash {
233
233
  }];
234
234
  }
235
235
  }
236
- _GxIdeUiSplash_componentLocale = new WeakMap(), _GxIdeUiSplash_userTeamsModel = new WeakMap(), _GxIdeUiSplash_chSelectTeamEl = new WeakMap(), _GxIdeUiSplash_switchStepTransitionTime = new WeakMap(), _GxIdeUiSplash_authStepCallback = new WeakMap(), _GxIdeUiSplash_continueHandler = new WeakMap();
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();
237
237
  //# sourceMappingURL=sign-in-team.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sign-in-team.js","sourceRoot":"","sources":["../../../src/components/sign-in-team/sign-in-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-sign-in-team\",\n styleUrl: \"sign-in-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in-team\"]\n})\nexport class GxIdeUiSplash {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n // Select User Team References :\n #userTeamsModel: ComboBoxItemModel[] = [];\n #chSelectTeamEl: HTMLChComboBoxRenderElement;\n #switchStepTransitionTime: number = 100;\n\n @Element() el: HTMLGxIdeSignInTeamElement;\n\n /**\n * This is a handover from \"authStep\" that allows updating descriptions once\n * the slide is hidden. This enables a smooth transition between descriptions.\n */\n\n @State() authStepInternal: AuthStep;\n\n /**\n * Defines if the main slide is visible or not. Used for smooth transitions\n * between slides.\n */\n @State() slideIsVisible: boolean = true;\n\n /**\n * The authentication step to display\n */\n @Prop() readonly authStep: AuthStep = \"signIn\";\n @Watch(\"authStep\")\n authStepChanged(newAuthStep: AuthStep) {\n this.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n this.authStepInternal = newAuthStep;\n }, this.#switchStepTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#switchStepTransitionTime * 2);\n }\n\n /**\n * Callback executed when the user clicks the 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => Promise<void>;\n\n /**\n * Callback executed when the user click the \"Sign In\" button\n */\n @Prop() readonly signInCallback: () => Promise<void>;\n\n /**\n * Array that contains the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n @Watch(\"teams\")\n teamsChanged(newTeams: TeamData[]) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n }\n\n /**\n * Callback executed when the user clicks on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.el.style.setProperty(\n \"--switch-step-transtion-time\",\n this.#switchStepTransitionTime.toString() + \"ms\"\n );\n // Initialize values\n this.authStepInternal = this.authStep;\n this.teamsChanged(this.teams);\n }\n\n #authStepCallback = () => {\n if (this.authStep === \"signIn\") {\n this.signInCallback();\n } else if (this.authStep === \"selectUserTeam\") {\n this.#continueHandler();\n }\n };\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <img\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt=\"\" // decorative\n />\n\n <div\n class={{\n \"slide__main\": true,\n \"slide__main--visible\": this.slideIsVisible\n }}\n >\n <div class=\"slide__main-container\">\n <header class=\"slide__main-header\">\n <img\n src={ICON_NEXT}\n alt=\"\" // decorative\n />\n <h2\n // Split the title into two spans for better styling\n class=\"slide__main-title\"\n >\n <span>\n {this.#componentLocale[this.authStepInternal].titlePart1}\n </span>\n <span>\n {this.#componentLocale[this.authStepInternal].titlePart2}\n </span>\n </h2>\n </header>\n\n {this.authStepInternal === \"signIn\" ? (\n <div class=\"slide__main-description\">\n <p hidden>\n <span>{this.#componentLocale.descriptionText}</span>\n </p>\n <span>\n {this.#componentLocale.signIn.byContinuingText}\n <a class=\"terms-conditions\" onClick={this.termsCallback}>\n {this.#componentLocale.signIn.byContinuingCallBackText}\n </a>\n </span>\n </div>\n ) : (\n [\n <div class=\"slide__select-team-description\">\n <p class=\"text-body-highlighted-l\">\n {this.#componentLocale.selectUserTeam.infoMessage}\n </p>\n </div>,\n\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">\n {this.#componentLocale.teams}\n </label>\n <ch-combo-box-render\n id=\"teams\"\n accessibleName=\"Teams\"\n class=\"combo-box teams-list\"\n model={this.#userTeamsModel}\n value={this.#userTeamsModel[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>\n ]\n )}\n\n <div>\n <button\n class=\"button-primary main-btn\"\n onClick={this.#authStepCallback}\n >\n {this.#componentLocale[this.authStepInternal].buttonCaption}\n </button>\n </div>\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type AuthStep = \"signIn\" | \"selectUserTeam\";\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"]}
1
+ {"version":3,"file":"sign-in-team.js","sourceRoot":"","sources":["../../../src/components/sign-in-team/sign-in-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-sign-in-team\",\n styleUrl: \"sign-in-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in-team\"]\n})\nexport class GxIdeSignInTeam {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n // Select User Team References :\n #userTeamsModel: ComboBoxItemModel[] = [];\n #chSelectTeamEl: HTMLChComboBoxRenderElement;\n #switchStepTransitionTime: number = 100;\n\n @Element() el: HTMLGxIdeSignInTeamElement;\n\n /**\n * This is a handover from \"authStep\" that allows updating descriptions once\n * the slide is hidden. This enables a smooth transition between descriptions.\n */\n\n @State() authStepInternal: AuthStep;\n\n /**\n * Defines if the main slide is visible or not. Used for smooth transitions\n * between slides.\n */\n @State() slideIsVisible: boolean = true;\n\n /**\n * The authentication step to display\n */\n @Prop() readonly authStep: AuthStep = \"signIn\";\n @Watch(\"authStep\")\n authStepChanged(newAuthStep: AuthStep) {\n this.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n this.authStepInternal = newAuthStep;\n }, this.#switchStepTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#switchStepTransitionTime * 2);\n }\n\n /**\n * Callback executed when the user clicks the 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => Promise<void>;\n\n /**\n * Callback executed when the user click the \"Sign In\" button\n */\n @Prop() readonly signInCallback: () => Promise<void>;\n\n /**\n * Array that contains the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n @Watch(\"teams\")\n teamsChanged(newTeams: TeamData[]) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n }\n\n /**\n * Callback executed when the user clicks on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.el.style.setProperty(\n \"--switch-step-transtion-time\",\n this.#switchStepTransitionTime.toString() + \"ms\"\n );\n // Initialize values\n this.authStepInternal = this.authStep;\n this.teamsChanged(this.teams);\n }\n\n #authStepCallback = () => {\n if (this.authStep === \"signIn\") {\n this.signInCallback();\n } else if (this.authStep === \"selectUserTeam\") {\n this.#continueHandler();\n }\n };\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <img\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt=\"\" // decorative\n />\n\n <div\n class={{\n \"slide__main\": true,\n \"slide__main--visible\": this.slideIsVisible\n }}\n >\n <div class=\"slide__main-container\">\n <header class=\"slide__main-header\">\n <img\n src={ICON_NEXT}\n alt=\"\" // decorative\n />\n <h2\n // Split the title into two spans for better styling\n class=\"slide__main-title\"\n >\n <span>\n {this.#componentLocale[this.authStepInternal].titlePart1}\n </span>\n <span>\n {this.#componentLocale[this.authStepInternal].titlePart2}\n </span>\n </h2>\n </header>\n\n {this.authStepInternal === \"signIn\" ? (\n <div class=\"slide__main-description\">\n <p hidden>\n <span>{this.#componentLocale.descriptionText}</span>\n </p>\n <span>\n {this.#componentLocale.signIn.byContinuingText}\n <a class=\"terms-conditions\" onClick={this.termsCallback}>\n {this.#componentLocale.signIn.byContinuingCallBackText}\n </a>\n </span>\n </div>\n ) : (\n [\n <div class=\"slide__select-team-description\">\n <p class=\"text-body-highlighted-l\">\n {this.#componentLocale.selectUserTeam.infoMessage}\n </p>\n </div>,\n\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">\n {this.#componentLocale.teams}\n </label>\n <ch-combo-box-render\n id=\"teams\"\n accessibleName=\"Teams\"\n class=\"combo-box teams-list\"\n model={this.#userTeamsModel}\n value={this.#userTeamsModel[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>\n ]\n )}\n\n <div>\n <button\n class=\"button-primary main-btn\"\n onClick={this.#authStepCallback}\n >\n {this.#componentLocale[this.authStepInternal].buttonCaption}\n </button>\n </div>\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type AuthStep = \"signIn\" | \"selectUserTeam\";\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"]}
@@ -1,22 +1,39 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { g as getIconPath } from './MERCURY_ASSETS.js';
2
3
  import { L as Locale } from './locale.js';
3
4
  import { h as hiChar } from './helpers.js';
4
5
 
5
- const aiMessageCss = ":host{font-family:var(--mer-font-family--primary)}.message{color:var(--mer-color__neutral-gray--100);display:grid;grid-template-rows:0fr;transition:grid-template-rows 100ms;transition:grid-template-rows 100ms, -ms-grid-rows 100ms;}.message__outer-wrapper{overflow:hidden}.message__inner-wrapper{padding:var(--mer-spacing--sm) var(--mer-spacing--sm);border-radius:var(--mer-border__radius--sm);border-inline-start:var(--mer-border__width--md) solid transparent;background-color:var(--mer-color__neutral-gray--1200);margin-block-start:var(--mer-spacing--xs)}.message__role{display:inline-block;font-weight:var(--mer-font__weight--semi-bold);margin-block-end:var(--mer-spacing--xs);display:inline-grid;grid-template-columns:max-content max-content;gap:6px}.message__role:before{content:\"\";display:grid;place-self:center flex-end;inline-size:4px;block-size:4px;border-radius:50%;background-color:currentcolor}.message__role--user{color:var(--mer-color__primary--300)}.message__role--hidden{display:none}.message__caption{font-size:var(--mer-font__size--xs);line-height:var(--mer-line-height--regular);position:relative}.message--visible{grid-template-rows:1fr}.message--copying{pointer-events:none}.message--copying span:not(.copied),.message--copying .message__caption{color:transparent;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.message--user .message__inner-wrapper{background-color:rgba(91, 167, 255, 0.08);border-color:var(--mer-border-color__primary)}.message--assistant-action .message__inner-wrapper{background-color:rgba(63, 168, 155, 0.05);border-color:var(--mer-border-color__success)}.message--assistant-chat .message__inner-wrapper{background-color:var(--mer-surface__elevation--01)}.message--assistant-in-progress{color:var(--mer-color__neutral-gray--500)}.message--assistant-in-progress .message__inner-wrapper{font-style:italic;display:grid;grid-template-columns:1fr auto;gap:var(--mer-spacing--xs)}.message--assistant-in-progress .message__inner-wrapper .message__caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.message--assistant-in-progress .message__inner-wrapper .animation-wrapper{flex:none}.message--assistant-error .message__inner-wrapper{background-color:rgba(251, 124, 132, 0.05);border-color:var(--mer-border-color__error)}.message:last-child{margin-block-end:0}:host(:first-child) .message__inner-wrapper{margin-block-end:0}.animation-wrapper{width:45px;display:flex;align-items:center;justify-content:center}.dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:2.5px;background-color:var(--mer-color__neutral-gray--400);color:var(--mer-color__neutral-gray--400);box-shadow:9999px 0 0 -5px;animation:dot-pulse 1.5s infinite linear;animation-delay:0.25s}.dot-pulse::before,.dot-pulse::after{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:2.5px;background-color:var(--mer-color__neutral-gray--400);color:var(--mer-color__neutral-gray--400)}.dot-pulse::before{box-shadow:9984px 0 0 -5px;animation:dot-pulse-before 1.5s infinite linear;animation-delay:0s}.dot-pulse::after{box-shadow:10014px 0 0 -5px;animation:dot-pulse-after 1.5s infinite linear;animation-delay:0.5s}@keyframes dot-pulse-before{0%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}60%,100%{box-shadow:9984px 0 0 -5px}}@keyframes dot-pulse{0%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}60%,100%{box-shadow:9999px 0 0 -5px}}@keyframes dot-pulse-after{0%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}60%,100%{box-shadow:10014px 0 0 -5px}}.copied{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--mer-color__neutral-gray--300);display:flex;gap:var(--mer-spacing--2xs)}.hiChar{color:var(--mer-color__primary--200);filter:brightness(1.3)}";
6
+ const aiMessageCss = ":host{font-family:var(--mer-font-family--primary)}.message{color:var(--mer-color__neutral-gray--100);display:grid;grid-template-rows:0fr;transition:grid-template-rows 100ms;transition:grid-template-rows 100ms, -ms-grid-rows 100ms;}.message__outer-wrapper{overflow:hidden}.message__inner-wrapper{padding:var(--mer-spacing--sm) var(--mer-spacing--sm);border-radius:var(--mer-border__radius--sm);border-inline-start:var(--mer-border__width--md) solid transparent;background-color:var(--mer-color__neutral-gray--1200);margin-block-start:var(--mer-spacing--xs);position:relative}.message__header{display:flex;gap:var(--mer-spacing--xs);justify-content:space-between;pointer-events:none}.message__header .icon-md{opacity:0}.message__role{display:inline-block;font-weight:var(--mer-font__weight--semi-bold);margin-block-end:var(--mer-spacing--xs);display:inline-grid;grid-template-columns:max-content max-content;gap:6px}.message__role:before{content:\"\";display:grid;place-self:center flex-end;inline-size:4px;block-size:4px;border-radius:50%;background-color:currentcolor}.message__role--user{color:var(--mer-color__primary--300)}.message__role--hidden{display:none}.message__caption{font-size:var(--mer-font__size--xs);line-height:var(--mer-line-height--regular)}.message--visible{grid-template-rows:1fr}.message--copying{pointer-events:none}.message--copying span:not(.copied),.message--copying .message__caption{color:transparent;-webkit-user-select:none;-ms-user-select:none;user-select:none;}.message--user .message__inner-wrapper{background-color:rgba(91, 167, 255, 0.08);border-color:var(--mer-border-color__primary)}.message--assistant-action .message__inner-wrapper{background-color:rgba(63, 168, 155, 0.05);border-color:var(--mer-border-color__success)}.message--assistant-chat .message__inner-wrapper{background-color:var(--mer-surface__elevation--01)}.message--assistant-in-progress{color:var(--mer-color__neutral-gray--500)}.message--assistant-in-progress .message__inner-wrapper{font-style:italic;display:grid;grid-template-columns:1fr auto;gap:var(--mer-spacing--xs)}.message--assistant-in-progress .message__inner-wrapper .message__caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1}.message--assistant-in-progress .message__inner-wrapper .animation-wrapper{flex:none}.message--assistant-error .message__inner-wrapper{background-color:rgba(251, 124, 132, 0.05);border-color:var(--mer-border-color__error)}.message--copyable{cursor:pointer}.message--copyable:hover{filter:brightness(1.2)}.message--copyable:hover .icon-md{opacity:1}.message:last-child{margin-block-end:0}:host(:first-child) .message__inner-wrapper{margin-block-end:0}.animation-wrapper{width:45px;display:flex;align-items:center;justify-content:center}.dot-pulse{position:relative;left:-9999px;width:5px;height:5px;border-radius:2.5px;background-color:var(--mer-color__neutral-gray--400);color:var(--mer-color__neutral-gray--400);box-shadow:9999px 0 0 -5px;animation:dot-pulse 1.5s infinite linear;animation-delay:0.25s}.dot-pulse::before,.dot-pulse::after{content:\"\";display:inline-block;position:absolute;top:0;width:5px;height:5px;border-radius:2.5px;background-color:var(--mer-color__neutral-gray--400);color:var(--mer-color__neutral-gray--400)}.dot-pulse::before{box-shadow:9984px 0 0 -5px;animation:dot-pulse-before 1.5s infinite linear;animation-delay:0s}.dot-pulse::after{box-shadow:10014px 0 0 -5px;animation:dot-pulse-after 1.5s infinite linear;animation-delay:0.5s}@keyframes dot-pulse-before{0%{box-shadow:9984px 0 0 -5px}30%{box-shadow:9984px 0 0 2px}60%,100%{box-shadow:9984px 0 0 -5px}}@keyframes dot-pulse{0%{box-shadow:9999px 0 0 -5px}30%{box-shadow:9999px 0 0 2px}60%,100%{box-shadow:9999px 0 0 -5px}}@keyframes dot-pulse-after{0%{box-shadow:10014px 0 0 -5px}30%{box-shadow:10014px 0 0 2px}60%,100%{box-shadow:10014px 0 0 -5px}}.copied{position:absolute;width:100%;height:100%;top:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--mer-color__neutral-gray--300);display:flex;gap:var(--mer-spacing--xs);opacity:0;animation:fadeIn var(--mer-timing--fast) ease-out forwards}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.hiChar{color:var(--mer-color__primary--200);filter:brightness(1.3)}";
6
7
 
8
+ const COPY_ICON = getIconPath({
9
+ category: "bpm",
10
+ name: "tasks",
11
+ colorType: "neutral"
12
+ });
7
13
  const GxIdeAiMessage = /*@__PURE__*/ proxyCustomElement(class GxIdeAiMessage extends HTMLElement {
8
14
  constructor() {
9
15
  super();
10
16
  this.__registerHost();
11
- this.__attachShadow();
12
17
  this.copyable = false;
13
18
  // 7.LISTENERS //
14
19
  // 8.PUBLIC METHODS API //
15
20
  // 9.LOCAL METHODS //
21
+ this.copyMessage = () => {
22
+ const messageInfo = JSON.stringify({
23
+ messageType: this.messageType,
24
+ message: this.message
25
+ }, null, 2);
26
+ navigator.clipboard.writeText(messageInfo);
27
+ this.showCopiedMessage = true;
28
+ setTimeout(() => {
29
+ this.showCopiedMessage = false;
30
+ }, 1500);
31
+ };
16
32
  this.evaluateMessageIsCopyable = () => {
17
- this.copyable =
18
- this.messageType !== "assistant-in-progress" &&
19
- this.messageType !== "assistant-action";
33
+ this.copyable = this.messageType !== "assistant-in-progress";
34
+ };
35
+ this.evaluateCopyIcon = () => {
36
+ return this.copyable ? (h("ch-image", { class: "icon-md", src: COPY_ICON })) : null;
20
37
  };
21
38
  this.visible = false;
22
39
  this.showCopiedMessage = false;
@@ -49,21 +66,21 @@ const GxIdeAiMessage = /*@__PURE__*/ proxyCustomElement(class GxIdeAiMessage ext
49
66
  "message--assistant": this.messageType !== "user",
50
67
  "message--copyable": this.copyable,
51
68
  "message--copying": this.showCopiedMessage
52
- } }, h("div", { class: "message__outer-wrapper" }, h("div", { class: {
69
+ }, onClick: this.copyable && this.copyMessage }, h("div", { class: "message__outer-wrapper" }, h("div", { class: {
53
70
  "message__inner-wrapper": true
54
- } }, this.messageType === "user" ? (h("span", { class: "message__role message__role--user" }, this._componentLocale.you)) : (h("span", { class: {
71
+ } }, this.messageType === "user" ? (h("div", { class: "message__header" }, h("span", { class: "message__role message__role--user" }, this._componentLocale.you), this.evaluateCopyIcon())) : (h("div", { class: "message__header" }, h("span", { class: {
55
72
  "message__role": this.messageType !== "assistant-in-progress",
56
73
  "message__role--hidden": this.messageType === "assistant-in-progress",
57
74
  "message__role--assistant": true
58
- } }, this._componentLocale.assistant)), h("div", { class: {
75
+ } }, this._componentLocale.assistant), this.evaluateCopyIcon())), h("div", { class: {
59
76
  "message__caption": true,
60
77
  "message__caption--in-progress": this.messageType === "assistant-in-progress"
61
- } }, hiChar(this.message, this.filterValue)), this.messageType === "assistant-in-progress" ? (h("div", { class: "animation-wrapper" }, h("div", { class: "dot-pulse" }))) : null))));
78
+ } }, this.showCopiedMessage ? (h("span", { class: "copied" }, h("ch-image", { class: "icon-md", src: COPY_ICON }), this.translations["copied"])) : null, hiChar(this.message, this.filterValue)), this.messageType === "assistant-in-progress" ? (h("div", { class: "animation-wrapper" }, h("div", { class: "dot-pulse" }))) : null))));
62
79
  }
63
80
  static get assetsDirs() { return ["gx-ide-assets/ai-message"]; }
64
81
  get el() { return this; }
65
82
  static get style() { return aiMessageCss; }
66
- }, [1, "gx-ide-ai-message", {
83
+ }, [0, "gx-ide-ai-message", {
67
84
  "message": [1],
68
85
  "messageType": [1, "message-type"],
69
86
  "filterValue": [1, "filter-value"],