@genexus/genexus-ide-ui 3.2.10 → 3.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-select-team-or-org.cjs.entry.js +128 -0
  3. package/dist/cjs/gx-ide-select-team-or-org.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-sign-in-organization.cjs.entry.js +187 -0
  5. package/dist/cjs/gx-ide-sign-in-organization.cjs.entry.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/collection-manifest.json +2 -2
  8. package/dist/collection/components/select-team-or-org/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.en.json +18 -0
  9. package/dist/collection/components/select-team-or-org/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.ja.json +18 -0
  10. package/dist/collection/components/select-team-or-org/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.zh.json +18 -0
  11. package/dist/collection/components/select-team-or-org/helpers.js +9 -0
  12. package/dist/collection/components/select-team-or-org/helpers.js.map +1 -0
  13. package/dist/collection/components/{select-user-team/select-user-team.css → select-team-or-org/select-team-or-org.css} +7 -4
  14. package/dist/collection/components/select-team-or-org/select-team-or-org.js +220 -0
  15. package/dist/collection/components/select-team-or-org/select-team-or-org.js.map +1 -0
  16. package/dist/{genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json → collection/components/sign-in-organization/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.en.json} +5 -5
  17. package/dist/{genexus-ide-ui/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json → collection/components/sign-in-organization/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.ja.json} +5 -5
  18. package/dist/collection/components/{sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.en.json → sign-in-organization/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.zh.json} +5 -5
  19. package/dist/collection/components/sign-in-organization/helpers.js +10 -0
  20. package/dist/collection/components/sign-in-organization/helpers.js.map +1 -0
  21. package/dist/collection/components/{sign-in-team/sign-in-team.js → sign-in-organization/sign-in-organization.js} +72 -72
  22. package/dist/collection/components/sign-in-organization/sign-in-organization.js.map +1 -0
  23. package/dist/collection/testing/locale.e2e.js +2 -2
  24. package/dist/collection/testing/locale.e2e.js.map +1 -1
  25. package/dist/components/gx-ide-select-team-or-org.d.ts +11 -0
  26. package/dist/components/gx-ide-select-team-or-org.js +157 -0
  27. package/dist/components/gx-ide-select-team-or-org.js.map +1 -0
  28. package/dist/components/gx-ide-sign-in-organization.d.ts +11 -0
  29. package/dist/components/gx-ide-sign-in-organization.js +221 -0
  30. package/dist/components/gx-ide-sign-in-organization.js.map +1 -0
  31. package/dist/esm/genexus-ide-ui.js +1 -1
  32. package/dist/esm/gx-ide-select-team-or-org.entry.js +124 -0
  33. package/dist/esm/gx-ide-select-team-or-org.entry.js.map +1 -0
  34. package/dist/esm/gx-ide-sign-in-organization.entry.js +183 -0
  35. package/dist/esm/gx-ide-sign-in-organization.entry.js.map +1 -0
  36. package/dist/esm/loader.js +1 -1
  37. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  38. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  39. package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.en.json +18 -0
  40. package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.ja.json +18 -0
  41. package/dist/genexus-ide-ui/gx-ide-assets/select-team-or-org/langs/select-team-or-org.lang.zh.json +18 -0
  42. package/dist/genexus-ide-ui/gx-ide-assets/{sign-in-team/langs/sign-in-team.lang.zh.json → sign-in-organization/langs/sign-in-organization.lang.en.json} +5 -5
  43. package/dist/{collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.ja.json → genexus-ide-ui/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.ja.json} +5 -5
  44. package/dist/{collection/components/sign-in-team/gx-ide-assets/sign-in-team/langs/sign-in-team.lang.zh.json → genexus-ide-ui/gx-ide-assets/sign-in-organization/langs/sign-in-organization.lang.zh.json} +5 -5
  45. package/dist/genexus-ide-ui/{p-1d44dd0a.entry.js → p-15b1c9be.entry.js} +72 -72
  46. package/dist/genexus-ide-ui/p-15b1c9be.entry.js.map +1 -0
  47. package/dist/genexus-ide-ui/p-2129d0d2.entry.js +164 -0
  48. package/dist/genexus-ide-ui/p-2129d0d2.entry.js.map +1 -0
  49. package/dist/types/components/select-team-or-org/helpers.d.ts +3 -0
  50. package/dist/types/components/select-team-or-org/select-team-or-org.d.ts +38 -0
  51. package/dist/types/components/sign-in-organization/helpers.d.ts +3 -0
  52. package/dist/types/components/{sign-in-team/sign-in-team.d.ts → sign-in-organization/sign-in-organization.d.ts} +8 -8
  53. package/dist/types/components.d.ts +54 -46
  54. package/package.json +1 -1
  55. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +0 -121
  56. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +0 -1
  57. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +0 -187
  58. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +0 -1
  59. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +0 -10
  60. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +0 -10
  61. package/dist/collection/components/select-user-team/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +0 -10
  62. package/dist/collection/components/select-user-team/helpers.js +0 -9
  63. package/dist/collection/components/select-user-team/helpers.js.map +0 -1
  64. package/dist/collection/components/select-user-team/select-user-team.js +0 -189
  65. package/dist/collection/components/select-user-team/select-user-team.js.map +0 -1
  66. package/dist/collection/components/sign-in-team/helpers.js +0 -10
  67. package/dist/collection/components/sign-in-team/helpers.js.map +0 -1
  68. package/dist/collection/components/sign-in-team/sign-in-team.js.map +0 -1
  69. package/dist/components/gx-ide-select-user-team.d.ts +0 -11
  70. package/dist/components/gx-ide-select-user-team.js +0 -149
  71. package/dist/components/gx-ide-select-user-team.js.map +0 -1
  72. package/dist/components/gx-ide-sign-in-team.d.ts +0 -11
  73. package/dist/components/gx-ide-sign-in-team.js +0 -221
  74. package/dist/components/gx-ide-sign-in-team.js.map +0 -1
  75. package/dist/esm/gx-ide-select-user-team.entry.js +0 -117
  76. package/dist/esm/gx-ide-select-user-team.entry.js.map +0 -1
  77. package/dist/esm/gx-ide-sign-in-team.entry.js +0 -183
  78. package/dist/esm/gx-ide-sign-in-team.entry.js.map +0 -1
  79. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.en.json +0 -10
  80. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.ja.json +0 -10
  81. package/dist/genexus-ide-ui/gx-ide-assets/select-user-team/langs/select-user-team.lang.zh.json +0 -10
  82. package/dist/genexus-ide-ui/p-1d44dd0a.entry.js.map +0 -1
  83. package/dist/genexus-ide-ui/p-2317ffcb.entry.js +0 -156
  84. package/dist/genexus-ide-ui/p-2317ffcb.entry.js.map +0 -1
  85. package/dist/types/components/select-user-team/helpers.d.ts +0 -3
  86. package/dist/types/components/select-user-team/select-user-team.d.ts +0 -32
  87. package/dist/types/components/sign-in-team/helpers.d.ts +0 -3
  88. /package/dist/collection/components/{select-user-team/gx-ide-assets/select-user-team → select-team-or-org/gx-ide-assets/select-team-or-org}/images/copyrights-illustration.png +0 -0
  89. /package/dist/collection/components/{select-user-team/gx-ide-assets/select-user-team → select-team-or-org/gx-ide-assets/select-team-or-org}/images/icon-next.svg +0 -0
  90. /package/dist/collection/components/{sign-in-team/gx-ide-assets/sign-in-team → sign-in-organization/gx-ide-assets/sign-in-organization}/images/copyrights-illustration.png +0 -0
  91. /package/dist/collection/components/{sign-in-team/gx-ide-assets/sign-in-team → sign-in-organization/gx-ide-assets/sign-in-organization}/images/icon-next.svg +0 -0
  92. /package/dist/collection/components/{sign-in-team/sign-in-team.css → sign-in-organization/sign-in-organization.css} +0 -0
  93. /package/dist/genexus-ide-ui/gx-ide-assets/{select-user-team → select-team-or-org}/images/copyrights-illustration.png +0 -0
  94. /package/dist/genexus-ide-ui/gx-ide-assets/{select-user-team → select-team-or-org}/images/icon-next.svg +0 -0
  95. /package/dist/genexus-ide-ui/gx-ide-assets/{sign-in-team → sign-in-organization}/images/copyrights-illustration.png +0 -0
  96. /package/dist/genexus-ide-ui/gx-ide-assets/{sign-in-team → sign-in-organization}/images/icon-next.svg +0 -0
@@ -0,0 +1,38 @@
1
+ export declare class GxIdeSelectTeamOrOrg {
2
+ #private;
3
+ el: HTMLGxIdeSelectTeamOrOrgElement;
4
+ /**
5
+ * Defines if the main slide is visible or not. Used for smooth transitions between slides.
6
+ */
7
+ slideIsVisible: boolean;
8
+ /**
9
+ * Defines if the items model is ready to be rendered.
10
+ */
11
+ itemsModelReady: boolean;
12
+ /**
13
+ * Callback executed when the user clicks the 'Cancel' button
14
+ */
15
+ readonly cancelCallback: () => Promise<void>;
16
+ /**
17
+ * Callback executed when the user clicks the 'Confirm' button
18
+ */
19
+ readonly confirmCallback: (itemId: string) => Promise<void>;
20
+ /**
21
+ * Whether the picker is selecting a team or an organization.
22
+ * Drives the title, info message and combo label.
23
+ */
24
+ readonly selectionType: SelectionType;
25
+ /**
26
+ * Array that contains the selectable items (teams or organizations).
27
+ */
28
+ readonly items: SelectableItem[];
29
+ itemsChanged(newItems: SelectableItem[]): void;
30
+ componentWillLoad(): Promise<void>;
31
+ componentDidLoad(): void;
32
+ render(): any;
33
+ }
34
+ export type SelectableItem = {
35
+ id: string;
36
+ name: string;
37
+ };
38
+ export type SelectionType = "team" | "organization";
@@ -0,0 +1,3 @@
1
+ import { ComboBoxItemModel } from "@genexus/chameleon-controls-library/dist/types/components/combo-box/types";
2
+ import { OrganizationData } from "./sign-in-organization";
3
+ export declare const mapOrganizationsToComboBoxItemModel: (organizations?: OrganizationData[]) => ComboBoxItemModel[] | undefined;
@@ -1,6 +1,6 @@
1
- export declare class GxIdeSignInTeam {
1
+ export declare class GxIdeSignInOrganization {
2
2
  #private;
3
- el: HTMLGxIdeSignInTeamElement;
3
+ el: HTMLGxIdeSignInOrganizationElement;
4
4
  /**
5
5
  * This is a handover from "authStep" that allows updating descriptions once
6
6
  * the slide is hidden. This enables a smooth transition between descriptions.
@@ -23,7 +23,7 @@ export declare class GxIdeSignInTeam {
23
23
  /**
24
24
  * Callback executed when the user clicks the 'Continue' button
25
25
  */
26
- readonly continueCallback: (teamId: string) => Promise<void>;
26
+ readonly continueCallback: (organizationId: string) => Promise<void>;
27
27
  /**
28
28
  * Callback executed when the user click the "Sign In" button
29
29
  */
@@ -33,10 +33,10 @@ export declare class GxIdeSignInTeam {
33
33
  */
34
34
  readonly termsConfirmationRequired: boolean;
35
35
  /**
36
- * Array that contains the user's teams
36
+ * Array that contains the user's organizations
37
37
  */
38
- readonly teams: TeamData[];
39
- teamsChanged(newTeams: TeamData[]): void;
38
+ readonly organizations: OrganizationData[];
39
+ organizationsChanged(newOrganizations: OrganizationData[]): void;
40
40
  /**
41
41
  * Callback executed when the user clicks on the "term and conditions" link
42
42
  */
@@ -48,8 +48,8 @@ export declare class GxIdeSignInTeam {
48
48
  componentWillLoad(): Promise<void>;
49
49
  render(): any;
50
50
  }
51
- export type AuthStep = "signIn" | "fetchUserTeams" | "selectUserTeam" | "settingUpSession";
52
- export type TeamData = {
51
+ export type AuthStep = "signIn" | "fetchOrganizations" | "selectOrganization" | "settingUpSession";
52
+ export type OrganizationData = {
53
53
  id: string;
54
54
  name: string;
55
55
  };
@@ -62,10 +62,10 @@ import { LoadReferencesCallback, ObjectData as ObjectData1, OpenObjectCallback,
62
62
  import { RestoreVersionData } from "./components/restore-version/restore-version";
63
63
  import { ItemDoubleClickCallback, SearchParamsData, SearchResultData } from "./components/search/search";
64
64
  import { CheckboxType, DialogAction, ItemNode } from "./components/select-kb-items/select-kb-items";
65
- import { TeamData } from "./components/select-user-team/select-user-team";
65
+ import { SelectableItem, SelectionType } from "./components/select-team-or-org/select-team-or-org";
66
66
  import { AuthenticationSessionOrigin, ConnectionOption, ServerData } from "./components/team-dev/server-selector/server-selector";
67
67
  import { ShareKBData } from "./components/team-dev/share-kb/share-kb";
68
- import { AuthStep, TeamData as TeamData1 } from "./components/sign-in-team/sign-in-team";
68
+ import { AuthStep, OrganizationData } from "./components/sign-in-organization/sign-in-organization";
69
69
  import { MessageType } from "./components/splash/splash";
70
70
  import { RecentKBData, SampleData, SecondarySection } from "./components/start-page/start-page";
71
71
  import { CancelCallback as CancelCallback17, SaveCallback as SaveCallback1 } from "./components/_starting-template/starting-template";
@@ -141,10 +141,10 @@ export { LoadReferencesCallback, ObjectData as ObjectData1, OpenObjectCallback,
141
141
  export { RestoreVersionData } from "./components/restore-version/restore-version";
142
142
  export { ItemDoubleClickCallback, SearchParamsData, SearchResultData } from "./components/search/search";
143
143
  export { CheckboxType, DialogAction, ItemNode } from "./components/select-kb-items/select-kb-items";
144
- export { TeamData } from "./components/select-user-team/select-user-team";
144
+ export { SelectableItem, SelectionType } from "./components/select-team-or-org/select-team-or-org";
145
145
  export { AuthenticationSessionOrigin, ConnectionOption, ServerData } from "./components/team-dev/server-selector/server-selector";
146
146
  export { ShareKBData } from "./components/team-dev/share-kb/share-kb";
147
- export { AuthStep, TeamData as TeamData1 } from "./components/sign-in-team/sign-in-team";
147
+ export { AuthStep, OrganizationData } from "./components/sign-in-organization/sign-in-organization";
148
148
  export { MessageType } from "./components/splash/splash";
149
149
  export { RecentKBData, SampleData, SecondarySection } from "./components/start-page/start-page";
150
150
  export { CancelCallback as CancelCallback17, SaveCallback as SaveCallback1 } from "./components/_starting-template/starting-template";
@@ -2180,19 +2180,23 @@ export namespace Components {
2180
2180
  */
2181
2181
  "useLoader"?: boolean;
2182
2182
  }
2183
- interface GxIdeSelectUserTeam {
2183
+ interface GxIdeSelectTeamOrOrg {
2184
2184
  /**
2185
2185
  * Callback executed when the user clicks the 'Cancel' button
2186
2186
  */
2187
2187
  "cancelCallback": () => Promise<void>;
2188
2188
  /**
2189
- * Callback executed when the user clicks the 'Continue' button
2189
+ * Callback executed when the user clicks the 'Confirm' button
2190
+ */
2191
+ "confirmCallback": (itemId: string) => Promise<void>;
2192
+ /**
2193
+ * Array that contains the selectable items (teams or organizations).
2190
2194
  */
2191
- "continueCallback": (teamId: string) => Promise<void>;
2195
+ "items": SelectableItem[];
2192
2196
  /**
2193
- * Array that contains the user's teams
2197
+ * Whether the picker is selecting a team or an organization. Drives the title, info message and combo label.
2194
2198
  */
2195
- "teams": TeamData[];
2199
+ "selectionType": SelectionType;
2196
2200
  }
2197
2201
  interface GxIdeServerSelector {
2198
2202
  /**
@@ -2273,9 +2277,7 @@ export namespace Components {
2273
2277
  */
2274
2278
  "termsCallback": () => Promise<void>;
2275
2279
  }
2276
- interface GxIdeSignInResult {
2277
- }
2278
- interface GxIdeSignInTeam {
2280
+ interface GxIdeSignInOrganization {
2279
2281
  /**
2280
2282
  * The authentication step to display
2281
2283
  */
@@ -2283,7 +2285,11 @@ export namespace Components {
2283
2285
  /**
2284
2286
  * Callback executed when the user clicks the 'Continue' button
2285
2287
  */
2286
- "continueCallback": (teamId: string) => Promise<void>;
2288
+ "continueCallback": (organizationId: string) => Promise<void>;
2289
+ /**
2290
+ * Array that contains the user's organizations
2291
+ */
2292
+ "organizations": OrganizationData[];
2287
2293
  /**
2288
2294
  * Callback executed when the user clicks on the "privacy policy" link
2289
2295
  */
@@ -2292,10 +2298,6 @@ export namespace Components {
2292
2298
  * Callback executed when the user click the "Sign In" button
2293
2299
  */
2294
2300
  "signInCallback": () => Promise<void>;
2295
- /**
2296
- * Array that contains the user's teams
2297
- */
2298
- "teams": TeamData1[];
2299
2301
  /**
2300
2302
  * Callback executed when the user clicks on the "term and conditions" link
2301
2303
  */
@@ -2305,6 +2307,8 @@ export namespace Components {
2305
2307
  */
2306
2308
  "termsConfirmationRequired": boolean;
2307
2309
  }
2310
+ interface GxIdeSignInResult {
2311
+ }
2308
2312
  interface GxIdeSplash {
2309
2313
  /**
2310
2314
  * The application version to display in the dialog.
@@ -3764,11 +3768,11 @@ declare global {
3764
3768
  prototype: HTMLGxIdeSelectKbItemsElement;
3765
3769
  new (): HTMLGxIdeSelectKbItemsElement;
3766
3770
  };
3767
- interface HTMLGxIdeSelectUserTeamElement extends Components.GxIdeSelectUserTeam, HTMLStencilElement {
3771
+ interface HTMLGxIdeSelectTeamOrOrgElement extends Components.GxIdeSelectTeamOrOrg, HTMLStencilElement {
3768
3772
  }
3769
- var HTMLGxIdeSelectUserTeamElement: {
3770
- prototype: HTMLGxIdeSelectUserTeamElement;
3771
- new (): HTMLGxIdeSelectUserTeamElement;
3773
+ var HTMLGxIdeSelectTeamOrOrgElement: {
3774
+ prototype: HTMLGxIdeSelectTeamOrOrgElement;
3775
+ new (): HTMLGxIdeSelectTeamOrOrgElement;
3772
3776
  };
3773
3777
  interface HTMLGxIdeServerSelectorElement extends Components.GxIdeServerSelector, HTMLStencilElement {
3774
3778
  }
@@ -3799,18 +3803,18 @@ declare global {
3799
3803
  prototype: HTMLGxIdeSignInElement;
3800
3804
  new (): HTMLGxIdeSignInElement;
3801
3805
  };
3806
+ interface HTMLGxIdeSignInOrganizationElement extends Components.GxIdeSignInOrganization, HTMLStencilElement {
3807
+ }
3808
+ var HTMLGxIdeSignInOrganizationElement: {
3809
+ prototype: HTMLGxIdeSignInOrganizationElement;
3810
+ new (): HTMLGxIdeSignInOrganizationElement;
3811
+ };
3802
3812
  interface HTMLGxIdeSignInResultElement extends Components.GxIdeSignInResult, HTMLStencilElement {
3803
3813
  }
3804
3814
  var HTMLGxIdeSignInResultElement: {
3805
3815
  prototype: HTMLGxIdeSignInResultElement;
3806
3816
  new (): HTMLGxIdeSignInResultElement;
3807
3817
  };
3808
- interface HTMLGxIdeSignInTeamElement extends Components.GxIdeSignInTeam, HTMLStencilElement {
3809
- }
3810
- var HTMLGxIdeSignInTeamElement: {
3811
- prototype: HTMLGxIdeSignInTeamElement;
3812
- new (): HTMLGxIdeSignInTeamElement;
3813
- };
3814
3818
  interface HTMLGxIdeSplashElement extends Components.GxIdeSplash, HTMLStencilElement {
3815
3819
  }
3816
3820
  var HTMLGxIdeSplashElement: {
@@ -4045,12 +4049,12 @@ declare global {
4045
4049
  "gx-ide-sc-chat-container": HTMLGxIdeScChatContainerElement;
4046
4050
  "gx-ide-search": HTMLGxIdeSearchElement;
4047
4051
  "gx-ide-select-kb-items": HTMLGxIdeSelectKbItemsElement;
4048
- "gx-ide-select-user-team": HTMLGxIdeSelectUserTeamElement;
4052
+ "gx-ide-select-team-or-org": HTMLGxIdeSelectTeamOrOrgElement;
4049
4053
  "gx-ide-server-selector": HTMLGxIdeServerSelectorElement;
4050
4054
  "gx-ide-share-kb": HTMLGxIdeShareKbElement;
4051
4055
  "gx-ide-sign-in": HTMLGxIdeSignInElement;
4056
+ "gx-ide-sign-in-organization": HTMLGxIdeSignInOrganizationElement;
4052
4057
  "gx-ide-sign-in-result": HTMLGxIdeSignInResultElement;
4053
- "gx-ide-sign-in-team": HTMLGxIdeSignInTeamElement;
4054
4058
  "gx-ide-splash": HTMLGxIdeSplashElement;
4055
4059
  "gx-ide-start-page": HTMLGxIdeStartPageElement;
4056
4060
  "gx-ide-starting-template": HTMLGxIdeStartingTemplateElement;
@@ -6130,19 +6134,23 @@ declare namespace LocalJSX {
6130
6134
  */
6131
6135
  "useLoader"?: boolean;
6132
6136
  }
6133
- interface GxIdeSelectUserTeam {
6137
+ interface GxIdeSelectTeamOrOrg {
6134
6138
  /**
6135
6139
  * Callback executed when the user clicks the 'Cancel' button
6136
6140
  */
6137
6141
  "cancelCallback": () => Promise<void>;
6138
6142
  /**
6139
- * Callback executed when the user clicks the 'Continue' button
6143
+ * Callback executed when the user clicks the 'Confirm' button
6140
6144
  */
6141
- "continueCallback": (teamId: string) => Promise<void>;
6145
+ "confirmCallback": (itemId: string) => Promise<void>;
6142
6146
  /**
6143
- * Array that contains the user's teams
6147
+ * Array that contains the selectable items (teams or organizations).
6144
6148
  */
6145
- "teams": TeamData[];
6149
+ "items": SelectableItem[];
6150
+ /**
6151
+ * Whether the picker is selecting a team or an organization. Drives the title, info message and combo label.
6152
+ */
6153
+ "selectionType"?: SelectionType;
6146
6154
  }
6147
6155
  interface GxIdeServerSelector {
6148
6156
  /**
@@ -6223,9 +6231,7 @@ declare namespace LocalJSX {
6223
6231
  */
6224
6232
  "termsCallback"?: () => Promise<void>;
6225
6233
  }
6226
- interface GxIdeSignInResult {
6227
- }
6228
- interface GxIdeSignInTeam {
6234
+ interface GxIdeSignInOrganization {
6229
6235
  /**
6230
6236
  * The authentication step to display
6231
6237
  */
@@ -6233,7 +6239,11 @@ declare namespace LocalJSX {
6233
6239
  /**
6234
6240
  * Callback executed when the user clicks the 'Continue' button
6235
6241
  */
6236
- "continueCallback": (teamId: string) => Promise<void>;
6242
+ "continueCallback": (organizationId: string) => Promise<void>;
6243
+ /**
6244
+ * Array that contains the user's organizations
6245
+ */
6246
+ "organizations": OrganizationData[];
6237
6247
  /**
6238
6248
  * Callback executed when the user clicks on the "privacy policy" link
6239
6249
  */
@@ -6242,10 +6252,6 @@ declare namespace LocalJSX {
6242
6252
  * Callback executed when the user click the "Sign In" button
6243
6253
  */
6244
6254
  "signInCallback": () => Promise<void>;
6245
- /**
6246
- * Array that contains the user's teams
6247
- */
6248
- "teams": TeamData1[];
6249
6255
  /**
6250
6256
  * Callback executed when the user clicks on the "term and conditions" link
6251
6257
  */
@@ -6255,6 +6261,8 @@ declare namespace LocalJSX {
6255
6261
  */
6256
6262
  "termsConfirmationRequired"?: boolean;
6257
6263
  }
6264
+ interface GxIdeSignInResult {
6265
+ }
6258
6266
  interface GxIdeSplash {
6259
6267
  /**
6260
6268
  * The application version to display in the dialog.
@@ -6923,12 +6931,12 @@ declare namespace LocalJSX {
6923
6931
  "gx-ide-sc-chat-container": GxIdeScChatContainer;
6924
6932
  "gx-ide-search": GxIdeSearch;
6925
6933
  "gx-ide-select-kb-items": GxIdeSelectKbItems;
6926
- "gx-ide-select-user-team": GxIdeSelectUserTeam;
6934
+ "gx-ide-select-team-or-org": GxIdeSelectTeamOrOrg;
6927
6935
  "gx-ide-server-selector": GxIdeServerSelector;
6928
6936
  "gx-ide-share-kb": GxIdeShareKb;
6929
6937
  "gx-ide-sign-in": GxIdeSignIn;
6938
+ "gx-ide-sign-in-organization": GxIdeSignInOrganization;
6930
6939
  "gx-ide-sign-in-result": GxIdeSignInResult;
6931
- "gx-ide-sign-in-team": GxIdeSignInTeam;
6932
6940
  "gx-ide-splash": GxIdeSplash;
6933
6941
  "gx-ide-start-page": GxIdeStartPage;
6934
6942
  "gx-ide-starting-template": GxIdeStartingTemplate;
@@ -7016,12 +7024,12 @@ declare module "@stencil/core" {
7016
7024
  "gx-ide-sc-chat-container": LocalJSX.GxIdeScChatContainer & JSXBase.HTMLAttributes<HTMLGxIdeScChatContainerElement>;
7017
7025
  "gx-ide-search": LocalJSX.GxIdeSearch & JSXBase.HTMLAttributes<HTMLGxIdeSearchElement>;
7018
7026
  "gx-ide-select-kb-items": LocalJSX.GxIdeSelectKbItems & JSXBase.HTMLAttributes<HTMLGxIdeSelectKbItemsElement>;
7019
- "gx-ide-select-user-team": LocalJSX.GxIdeSelectUserTeam & JSXBase.HTMLAttributes<HTMLGxIdeSelectUserTeamElement>;
7027
+ "gx-ide-select-team-or-org": LocalJSX.GxIdeSelectTeamOrOrg & JSXBase.HTMLAttributes<HTMLGxIdeSelectTeamOrOrgElement>;
7020
7028
  "gx-ide-server-selector": LocalJSX.GxIdeServerSelector & JSXBase.HTMLAttributes<HTMLGxIdeServerSelectorElement>;
7021
7029
  "gx-ide-share-kb": LocalJSX.GxIdeShareKb & JSXBase.HTMLAttributes<HTMLGxIdeShareKbElement>;
7022
7030
  "gx-ide-sign-in": LocalJSX.GxIdeSignIn & JSXBase.HTMLAttributes<HTMLGxIdeSignInElement>;
7031
+ "gx-ide-sign-in-organization": LocalJSX.GxIdeSignInOrganization & JSXBase.HTMLAttributes<HTMLGxIdeSignInOrganizationElement>;
7023
7032
  "gx-ide-sign-in-result": LocalJSX.GxIdeSignInResult & JSXBase.HTMLAttributes<HTMLGxIdeSignInResultElement>;
7024
- "gx-ide-sign-in-team": LocalJSX.GxIdeSignInTeam & JSXBase.HTMLAttributes<HTMLGxIdeSignInTeamElement>;
7025
7033
  "gx-ide-splash": LocalJSX.GxIdeSplash & JSXBase.HTMLAttributes<HTMLGxIdeSplashElement>;
7026
7034
  "gx-ide-start-page": LocalJSX.GxIdeStartPage & JSXBase.HTMLAttributes<HTMLGxIdeStartPageElement>;
7027
7035
  "gx-ide-starting-template": LocalJSX.GxIdeStartingTemplate & JSXBase.HTMLAttributes<HTMLGxIdeStartingTemplateElement>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genexus/genexus-ide-ui",
3
3
  "license": "Apache-2.0",
4
- "version": "3.2.10",
4
+ "version": "3.2.11",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",
@@ -1,121 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-75aef097.js');
6
- const locale = require('./locale-ff30a5f3.js');
7
-
8
- const mapTeamsToComboBoxItemModel = (teams) => {
9
- return teams === null || teams === void 0 ? void 0 : teams.map(team => {
10
- return {
11
- value: team.id,
12
- caption: team.name
13
- };
14
- });
15
- };
16
-
17
- const selectUserTeamCss = "button.button-secondary {\n border-color: var(--color-border-neutral-default);\n}\n\n:host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.slide {\n display: grid;\n grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--color-accent-surface-elevation-1);\n overflow: hidden;\n}\n.slide__illustration {\n overflow: hidden;\n object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n}\n.slide__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: 48px;\n transform: translateY(4px);\n transition: var(--display-teams-transtion-time) all;\n opacity: 0;\n position: relative;\n}\n.slide__main--visible {\n transform: translateY(0);\n opacity: 1;\n}\n.slide__main-container {\n display: grid;\n place-self: center;\n gap: var(--spacing-gap-xxl);\n max-inline-size: 480px;\n}\n.slide__main-header {\n display: grid;\n gap: var(--spacing-gap-xxl);\n}\n.slide__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--font-size-header-h2);\n font-weight: var(--font-style-semi-bold);\n letter-spacing: 0.02em;\n color: var(--color-text-neutral-strawberry);\n}\n.slide__main-description {\n display: grid;\n gap: 40px;\n font-size: var(--font-size-body-l);\n font-weight: var(--font-style-regular);\n line-height: var(--line-height-spacious);\n color: var(--color-text-neutral-disabled);\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n --ch-combo-box__popover-max-inline-size: 400px;\n}\n\n.buttons-container {\n display: flex;\n gap: var(--spacing-gap-xl);\n}\n\n.continue-btn,\n.cancel-btn {\n flex: 1;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}";
18
-
19
- var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
20
- if (kind === "a" && !f)
21
- throw new TypeError("Private accessor was defined without a getter");
22
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
23
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
24
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
25
- };
26
- var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
27
- if (kind === "m")
28
- throw new TypeError("Private method is not writable");
29
- if (kind === "a" && !f)
30
- throw new TypeError("Private accessor was defined without a setter");
31
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
32
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
33
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
34
- };
35
- var _GxIdeSelectUserTeam_componentLocale, _GxIdeSelectUserTeam_userTeamsModel, _GxIdeSelectUserTeam_chSelectTeamEl, _GxIdeSelectUserTeam_displayTeamsTransitionTime, _GxIdeSelectUserTeam_continueHandler, _GxIdeSelectUserTeam_cancelHandler;
36
- const COPYRIGHTS_ILLUSTRATION = index.getAssetPath(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
37
- const ICON_NEXT = index.getAssetPath(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
38
- const CSS_BUNDLES = [
39
- "resets/box-sizing",
40
- "utils/typography",
41
- "components/button",
42
- "components/combo-box"
43
- ];
44
- const GxIdeSelectUserTeam = class {
45
- constructor(hostRef) {
46
- index.registerInstance(this, hostRef);
47
- /**
48
- * The component hard-coded strings translations.
49
- */
50
- // eslint-disable-next-line @stencil-community/own-props-must-be-private
51
- _GxIdeSelectUserTeam_componentLocale.set(this, void 0);
52
- // Select User Team References :
53
- _GxIdeSelectUserTeam_userTeamsModel.set(this, []);
54
- _GxIdeSelectUserTeam_chSelectTeamEl.set(this, void 0);
55
- _GxIdeSelectUserTeam_displayTeamsTransitionTime.set(this, 100);
56
- _GxIdeSelectUserTeam_continueHandler.set(this, async () => {
57
- await this.continueCallback(__classPrivateFieldGet(this, _GxIdeSelectUserTeam_chSelectTeamEl, "f").value);
58
- });
59
- _GxIdeSelectUserTeam_cancelHandler.set(this, async () => {
60
- await this.cancelCallback();
61
- });
62
- this.slideIsVisible = false;
63
- this.teamsModelReady = false;
64
- this.cancelCallback = undefined;
65
- this.continueCallback = undefined;
66
- this.teams = undefined;
67
- }
68
- teamsChanged(newTeams) {
69
- this.slideIsVisible = false;
70
- // switch step
71
- setTimeout(() => {
72
- if (newTeams.length) {
73
- __classPrivateFieldSet(this, _GxIdeSelectUserTeam_userTeamsModel, mapTeamsToComboBoxItemModel(newTeams), "f");
74
- this.teamsModelReady = true;
75
- }
76
- else {
77
- this.teamsModelReady = false;
78
- }
79
- }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f"));
80
- // show slide
81
- setTimeout(() => {
82
- this.slideIsVisible = true;
83
- }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f") * 2);
84
- }
85
- async componentWillLoad() {
86
- __classPrivateFieldSet(this, _GxIdeSelectUserTeam_componentLocale, await locale.Locale.getComponentStrings(this.el), "f");
87
- this.teamsChanged(this.teams);
88
- this.el.style.setProperty("--display-teams-transtion-time", __classPrivateFieldGet(this, _GxIdeSelectUserTeam_displayTeamsTransitionTime, "f").toString() + "ms");
89
- }
90
- componentDidLoad() {
91
- this.slideIsVisible = true;
92
- }
93
- render() {
94
- var _a;
95
- return (index.h(index.Host, null, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("section", { class: "slide" }, index.h("img", { src: COPYRIGHTS_ILLUSTRATION, class: "slide__illustration", alt: "" // decorative
96
- }), index.h("div", { class: {
97
- "slide__main": true,
98
- "slide__main--visible": this.slideIsVisible
99
- } }, index.h("div", { class: "slide__main-container" }, this.teamsModelReady ? ([
100
- index.h("header", { class: "slide__main-header" }, index.h("img", { src: ICON_NEXT, alt: "" // decorative
101
- }), index.h("h2", {
102
- // Split the title into two spans for better styling
103
- class: "slide__main-title"
104
- }, index.h("span", null, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").title))),
105
- index.h("div", { class: "slide__select-team-description" }, index.h("p", { class: "body-semi-bold-l" }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").infoMessage)),
106
- index.h("div", { class: "field-group" }, index.h("div", { class: "field field-block" }, index.h("label", { htmlFor: "teams" }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").teams), index.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")) }))),
107
- index.h("div", { class: "buttons-container" }, index.h("button", { class: "button-primary continue-btn", onClick: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_continueHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").continueButtonCaption), index.h("button", { class: "button-secondary cancel-btn", onClick: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_cancelHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").cancelButtonCaption))
108
- ]) : (index.h("gx-ide-loader", { show: true, loaderTitle: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").loader.title, description: __classPrivateFieldGet(this, _GxIdeSelectUserTeam_componentLocale, "f").loader.description })))))));
109
- }
110
- static get assetsDirs() { return ["gx-ide-assets/select-user-team"]; }
111
- get el() { return index.getElement(this); }
112
- static get watchers() { return {
113
- "teams": ["teamsChanged"]
114
- }; }
115
- };
116
- _GxIdeSelectUserTeam_componentLocale = new WeakMap(), _GxIdeSelectUserTeam_userTeamsModel = new WeakMap(), _GxIdeSelectUserTeam_chSelectTeamEl = new WeakMap(), _GxIdeSelectUserTeam_displayTeamsTransitionTime = new WeakMap(), _GxIdeSelectUserTeam_continueHandler = new WeakMap(), _GxIdeSelectUserTeam_cancelHandler = new WeakMap();
117
- GxIdeSelectUserTeam.style = selectUserTeamCss;
118
-
119
- exports.gx_ide_select_user_team = GxIdeSelectUserTeam;
120
-
121
- //# sourceMappingURL=gx-ide-select-user-team.cjs.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"gx-ide-select-user-team.entry.cjs.js","mappings":"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","names":["getAssetPath","Locale","h","Host"],"sources":["src/components/select-user-team/helpers.tsx","src/components/select-user-team/select-user-team.scss?tag=gx-ide-select-user-team&encapsulation=shadow","src/components/select-user-team/select-user-team.tsx"],"sourcesContent":["import { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { TeamData } from \"./select-user-team\";\n\nexport const mapTeamsToComboBoxItemModel = (\n teams: TeamData[]\n): ComboBoxItemModel[] => {\n return teams?.map(team => {\n return {\n value: team.id,\n caption: team.name\n };\n });\n};\n","@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n}\n\n.slide {\n display: grid;\n grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--color-accent-surface-elevation-1);\n overflow: hidden;\n\n &__illustration {\n overflow: hidden;\n object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n }\n\n &__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: 48px;\n transform: translateY(4px);\n transition: var(--display-teams-transtion-time) all;\n opacity: 0;\n\n position: relative;\n\n &--visible {\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n &__main-container {\n display: grid;\n place-self: center;\n gap: var(--spacing-gap-xxl);\n max-inline-size: 480px;\n }\n\n &__main-header {\n display: grid;\n gap: var(--spacing-gap-xxl);\n }\n\n &__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--font-size-header-h2);\n font-weight: var(--font-style-semi-bold);\n letter-spacing: 0.02em;\n color: var(--color-text-neutral-strawberry);\n }\n\n &__main-description {\n display: grid;\n gap: 40px;\n font-size: var(--font-size-body-l);\n font-weight: var(--font-style-regular);\n line-height: var(--line-height-spacious);\n color: var(--color-text-neutral-disabled);\n }\n}\n\n.terms-conditions {\n text-decoration: underline;\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n --ch-combo-box__popover-max-inline-size: 400px;\n}\n\n.buttons-container {\n display: flex;\n gap: var(--spacing-gap-xl);\n}\n\n.continue-btn,\n.cancel-btn {\n flex: 1;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { mapTeamsToComboBoxItemModel } from \"./helpers\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\",\n \"components/combo-box\"\n];\n\n@Component({\n tag: \"gx-ide-select-user-team\",\n styleUrl: \"select-user-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-user-team\"]\n})\nexport class GxIdeSelectUserTeam {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n // Select User Team References :\n #userTeamsModel: ComboBoxItemModel[] = [];\n #chSelectTeamEl: HTMLChComboBoxRenderElement;\n #displayTeamsTransitionTime: number = 100;\n\n @Element() el: HTMLGxIdeSelectUserTeamElement;\n\n /**\n * Defines if the main slide is visible or not. Used for smooth transitions between slides.\n */\n @State() slideIsVisible: boolean = false;\n\n /**\n * Defines if the team model is redy to be rendered.\n */\n @State() teamsModelReady: boolean = false;\n\n /**\n * Callback executed when the user clicks the 'Cancel' button\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user clicks the 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => Promise<void>;\n\n /**\n * Array that contains the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n @Watch(\"teams\")\n teamsChanged(newTeams: TeamData[]) {\n this.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n if (newTeams.length) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n this.teamsModelReady = true;\n } else {\n this.teamsModelReady = false;\n }\n }, this.#displayTeamsTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#displayTeamsTransitionTime * 2);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.teamsChanged(this.teams);\n\n this.el.style.setProperty(\n \"--display-teams-transtion-time\",\n this.#displayTeamsTransitionTime.toString() + \"ms\"\n );\n }\n\n componentDidLoad() {\n this.slideIsVisible = true;\n }\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n #cancelHandler = async () => {\n await this.cancelCallback();\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <img\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt=\"\" // decorative\n />\n\n <div\n class={{\n \"slide__main\": true,\n \"slide__main--visible\": this.slideIsVisible\n }}\n >\n <div class=\"slide__main-container\">\n {this.teamsModelReady ? (\n [\n <header class=\"slide__main-header\">\n <img\n src={ICON_NEXT}\n alt=\"\" // decorative\n />\n <h2\n // Split the title into two spans for better styling\n class=\"slide__main-title\"\n >\n <span>{this.#componentLocale.title}</span>\n </h2>\n </header>,\n <div class=\"slide__select-team-description\">\n <p class=\"body-semi-bold-l\">\n {this.#componentLocale.infoMessage}\n </p>\n </div>,\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">\n {this.#componentLocale.teams}\n </label>\n <ch-combo-box-render\n id=\"teams\"\n accessibleName=\"Teams\"\n class=\"combo-box teams-list\"\n model={this.#userTeamsModel}\n value={\n this.#userTeamsModel && this.#userTeamsModel[0]?.value\n }\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>,\n <div class=\"buttons-container\">\n <button\n class=\"button-primary continue-btn\"\n onClick={this.#continueHandler}\n >\n {this.#componentLocale.continueButtonCaption}\n </button>\n <button\n class=\"button-secondary cancel-btn\"\n onClick={this.#cancelHandler}\n >\n {this.#componentLocale.cancelButtonCaption}\n </button>\n </div>\n ]\n ) : (\n <gx-ide-loader\n show\n loaderTitle={this.#componentLocale.loader.title}\n description={this.#componentLocale.loader.description}\n ></gx-ide-loader>\n )}\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"],"version":3}