@genexus/genexus-ide-ui 1.0.30 → 1.0.31

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 (71) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +133 -0
  3. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -0
  4. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +119 -0
  5. package/dist/cjs/gx-ide-sign-in.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/collection/collection-manifest.json +2 -0
  10. package/dist/collection/components/current-user-info/current-user-info.css +55 -0
  11. package/dist/collection/components/current-user-info/current-user-info.js +280 -0
  12. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -0
  13. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.en.json +10 -0
  14. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.ja.json +10 -0
  15. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/langs/current-user-info.lang.zh.json +10 -0
  16. package/dist/collection/components/current-user-info/gx-ide-assets/current-user-info/shortcuts.json +15 -0
  17. package/dist/collection/components/current-user-info/helpers.js +10 -0
  18. package/dist/collection/components/current-user-info/helpers.js.map +1 -0
  19. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/images/copyrights-illustration.png +0 -0
  20. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/images/icon-next.svg +4 -0
  21. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/langs/sign-in.lang.en.json +18 -0
  22. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/langs/sign-in.lang.ja.json +18 -0
  23. package/dist/collection/components/sign-in/gx-ide-assets/sign-in/langs/sign-in.lang.zh.json +18 -0
  24. package/dist/collection/components/sign-in/helpers.js +10 -0
  25. package/dist/collection/components/sign-in/helpers.js.map +1 -0
  26. package/dist/collection/components/sign-in/sign-in.css +92 -0
  27. package/dist/collection/components/sign-in/sign-in.js +230 -0
  28. package/dist/collection/components/sign-in/sign-in.js.map +1 -0
  29. package/dist/collection/components/splash/splash.js +1 -1
  30. package/dist/collection/components/splash/splash.js.map +1 -1
  31. package/dist/collection/testing/locale.e2e.js +2 -0
  32. package/dist/collection/testing/locale.e2e.js.map +1 -1
  33. package/dist/components/gx-ide-current-user-info.d.ts +11 -0
  34. package/dist/components/gx-ide-current-user-info.js +156 -0
  35. package/dist/components/gx-ide-current-user-info.js.map +1 -0
  36. package/dist/components/gx-ide-sign-in.d.ts +11 -0
  37. package/dist/components/gx-ide-sign-in.js +143 -0
  38. package/dist/components/gx-ide-sign-in.js.map +1 -0
  39. package/dist/components/gx-ide-splash.js +1 -1
  40. package/dist/components/gx-ide-splash.js.map +1 -1
  41. package/dist/esm/genexus-ide-ui.js +1 -1
  42. package/dist/esm/gx-ide-current-user-info.entry.js +129 -0
  43. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -0
  44. package/dist/esm/gx-ide-sign-in.entry.js +115 -0
  45. package/dist/esm/gx-ide-sign-in.entry.js.map +1 -0
  46. package/dist/esm/gx-ide-splash.entry.js +1 -1
  47. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  48. package/dist/esm/loader.js +1 -1
  49. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  50. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  51. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.en.json +10 -0
  52. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.ja.json +10 -0
  53. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/langs/current-user-info.lang.zh.json +10 -0
  54. package/dist/genexus-ide-ui/gx-ide-assets/current-user-info/shortcuts.json +15 -0
  55. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/images/copyrights-illustration.png +0 -0
  56. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/images/icon-next.svg +4 -0
  57. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/langs/sign-in.lang.en.json +18 -0
  58. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/langs/sign-in.lang.ja.json +18 -0
  59. package/dist/genexus-ide-ui/gx-ide-assets/sign-in/langs/sign-in.lang.zh.json +18 -0
  60. package/dist/genexus-ide-ui/p-63f198f5.entry.js +158 -0
  61. package/dist/genexus-ide-ui/p-63f198f5.entry.js.map +1 -0
  62. package/dist/genexus-ide-ui/p-edd6ebef.entry.js +149 -0
  63. package/dist/genexus-ide-ui/p-edd6ebef.entry.js.map +1 -0
  64. package/dist/genexus-ide-ui/{p-3c3b276e.entry.js → p-f0efd16f.entry.js} +2 -2
  65. package/dist/genexus-ide-ui/{p-3c3b276e.entry.js.map → p-f0efd16f.entry.js.map} +1 -1
  66. package/dist/types/components/current-user-info/current-user-info.d.ts +40 -0
  67. package/dist/types/components/current-user-info/helpers.d.ts +1 -0
  68. package/dist/types/components/sign-in/helpers.d.ts +3 -0
  69. package/dist/types/components/sign-in/sign-in.d.ts +40 -0
  70. package/dist/types/components.d.ts +126 -0
  71. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getInitialsFromName","name","nameData","split","length","toUpperCase","currentUserInfoCss","CSS_BUNDLES","CHEVRON_DOWN_ICON","getIconPath","category","colorType","MY_ACCOUNT_ID","CHANGE_TEAM_ID","LOGOUT_ID","LANGUAGE_ID","GxIdeNewEnvironment","_GxIdeNewEnvironment_componentLocale","set","this","_GxIdeNewEnvironment_initials","_GxIdeNewEnvironment_menuDropdownModel","_GxIdeNewEnvironment_userLoginButton","_GxIdeNewEnvironment_dropDownitemClickHandler","_event","_target","itemId","myAccountCallback","changeTeamCallback","changeLanguageCallback","signOutCallback","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","userInfo","id","caption","__classPrivateFieldGet","myAccountLabel","showSeparator","changeTeamLabel","logOutLabel","render","h","Host","class","model","position","itemClickCallback","ref","slot","team","src","containerRef","onClick","showTermsCallback","privacyAndTerms"],"sources":["src/components/current-user-info/helpers.tsx","src/components/current-user-info/current-user-info.scss?tag=gx-ide-current-user-info&encapsulation=shadow","src/components/current-user-info/current-user-info.tsx"],"sourcesContent":["export const getInitialsFromName = (name: string): string => {\n const nameData = name.split(\" \");\n if (nameData.length === 1) {\n return nameData[0][0].toUpperCase();\n } else {\n return `${nameData[0][0].toUpperCase()}${nameData[1][0].toUpperCase()}`;\n }\n};\n","@import \"../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n display: inline-grid;\n justify-items: end;\n}\n\n.user-login {\n &__button {\n all: unset;\n display: grid;\n grid-template-columns: max-content max-content max-content;\n align-items: center;\n gap: var(--mer-spacing--md);\n block-size: auto;\n cursor: pointer;\n }\n &__details {\n display: grid;\n grid-template-rows: max-content max-content;\n gap: var(--mer-spacing--3xs);\n justify-items: end;\n }\n &__name {\n font-weight: var(--mer-font__weight--medium);\n font-size: var(--mer-font__size--xs);\n color: var(--mer-text__on-elevation);\n }\n &__organization {\n font-weight: var(--mer-font__weight--light);\n font-size: var(--mer-font__size--3xs);\n color: var(--mer-text__neutral);\n }\n &__avatar {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n block-size: var(--mer-spacing--xl);\n inline-size: var(--mer-spacing--xl);\n color: var(--mer-text__on-elevation);\n border-radius: 50%;\n background-color: var(--mer-color__tinted-primary--10);\n border: var(--mer-border__width--sm) solid var(--mer-color__primary--200);\n }\n}\n\n.privacy-policy {\n text-decoration: underline;\n cursor: pointer;\n}\n","/* STENCIL IMPORTS */\nimport { Component, Element, Host, Prop, State, h } from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { getInitialsFromName } from \"./helpers\";\nimport { DropdownModel } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n // TODO: review if \"utils/form--full\" is required.\n \"resets/box-sizing\",\n \"components/tooltip\",\n \"components/toggle\",\n \"components/icon\",\n \"components/dropdown\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst CHEVRON_DOWN_ICON = getIconPath({\n category: \"navigation\",\n name: \"chevron-down\",\n colorType: \"neutral\"\n});\n\nconst MY_ACCOUNT_ID = \"my-account\";\nconst CHANGE_TEAM_ID = \"change-team\";\nconst LOGOUT_ID = \"log-out\";\nconst LANGUAGE_ID = \"language\";\n\n@Component({\n tag: \"gx-ide-current-user-info\",\n styleUrl: \"current-user-info.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/current-user-info\"]\n})\nexport class GxIdeNewEnvironment {\n #componentLocale: any;\n #initials: string = \"\";\n // #mode: Mode;\n #menuDropdownModel: DropdownModel;\n\n @Element() el: HTMLGxIdeCurrentUserInfoElement;\n #userLoginButton: HTMLButtonElement;\n\n @State() showMenu: boolean = false;\n\n /**\n * User data\n */\n @Prop() readonly userInfo: UserInfo;\n\n /**\n * Callback executed when the user click \"My Account\" link\n */\n @Prop() readonly myAccountCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user click \"change team\" link\n */\n @Prop() readonly changeTeamCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user click \"Language\" link\n */\n @Prop() readonly changeLanguageCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user switch the \"Mode\" status\n */\n @Prop() readonly changeModeCallback!: (mode: Mode) => Promise<void>;\n\n /**\n * Callback executed when the user click \"Sign Out\" link\n */\n @Prop() readonly signOutCallback!: () => Promise<void>;\n\n /**\n * Callback executed when the user click \"Privacy Policy & Terms of use\" link\n */\n @Prop() readonly showTermsCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#initials = getInitialsFromName(this.userInfo.name);\n this.#menuDropdownModel = [\n {\n id: MY_ACCOUNT_ID,\n caption: this.#componentLocale.myAccountLabel,\n showSeparator: false\n },\n {\n id: CHANGE_TEAM_ID,\n caption: this.#componentLocale.changeTeamLabel,\n showSeparator: false\n },\n {\n id: LOGOUT_ID,\n caption: this.#componentLocale.logOutLabel,\n showSeparator: true\n }\n // {\n // id: LANGUAGE_ID,\n // caption: this.#componentLocale.languageLabel,\n // showSeparator: true\n // }\n ];\n }\n\n // #handleModeSwitch = () => {\n // this.#mode = this.#mode === \"dark\" ? \"light\" : \"dark\";\n // if (this.changeModeCallback) {\n // this.changeModeCallback(this.#mode);\n // }\n // };\n\n #dropDownitemClickHandler = (\n _event: UIEvent,\n _target: string,\n itemId: string\n ): void => {\n if (itemId === MY_ACCOUNT_ID) {\n this.myAccountCallback();\n } else if (itemId === CHANGE_TEAM_ID) {\n this.changeTeamCallback();\n } else if (itemId === LOGOUT_ID) {\n this.changeLanguageCallback();\n } else if (itemId === LANGUAGE_ID) {\n this.signOutCallback();\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-dropdown-render\n class=\"dropdown\"\n model={this.#menuDropdownModel}\n position=\"InsideEnd_OutsideEnd\"\n itemClickCallback={this.#dropDownitemClickHandler}\n >\n <button\n class=\"user-login__button\"\n ref={el => (this.#userLoginButton = el as HTMLButtonElement)}\n slot=\"action\"\n >\n <div class=\"user-login__details\">\n <span class=\"user-login__name\">{this.userInfo.name}</span>\n <span class=\"user-login__organization\">{this.userInfo.team}</span>\n </div>\n <div class=\"user-login__avatar\">{this.#initials}</div>\n <ch-image\n src={CHEVRON_DOWN_ICON}\n class=\"icon-md\"\n containerRef={this.#userLoginButton}\n ></ch-image>\n </button>\n <div class=\"user-login__footer footer-slot\" slot=\"footer\">\n <p\n class=\"text-body-regular-s privacy-policy\"\n onClick={this.showTermsCallback}\n >\n {this.#componentLocale.privacyAndTerms}\n </p>\n </div>\n </ch-dropdown-render>\n </Host>\n );\n }\n}\n\nexport type UserInfo = {\n name: string;\n team: string;\n};\n\nexport type Mode = \"dark\" | \"light\";\n"],"mappings":";;;;;;AAAO,MAAMA,sBAAuBC;EAClC,MAAMC,IAAWD,EAAKE,MAAM;EAC5B,IAAID,EAASE,WAAW,GAAG;IACzB,OAAOF,EAAS,GAAG,GAAGG;SACjB;IACL,OAAO,GAAGH,EAAS,GAAG,GAAGG,gBAAgBH,EAAS,GAAG,GAAGG;;;;ACL5D,MAAMC,IAAqB;;;;;;;;;;;;;;;;;ACS3B,MAAMC,IAA8B;;AAElC,qBACA,sBACA,qBACA,mBACA,uBACA,gBACA,oBACA,iBACA;;AAGF,MAAMC,IAAoBC,EAAY;EACpCC,UAAU;EACVT,MAAM;EACNU,WAAW;;;AAGb,MAAMC,IAAgB;;AACtB,MAAMC,IAAiB;;AACvB,MAAMC,IAAY;;AAClB,MAAMC,IAAc;;MAQPC,IAAmB;;;IAC9BC,EAAAC,IAAAC,WAAA;IACAC,EAAAF,IAAAC,MAAoB;;QAEpBE,EAAAH,IAAAC,WAAA;IAGAG,EAAAJ,IAAAC,WAAA;;;;;;;QAyEAI,EAAAL,IAAAC,OAA4B,CAC1BK,GACAC,GACAC;MAEA,IAAIA,MAAWd,GAAe;QAC5BO,KAAKQ;aACA,IAAID,MAAWb,GAAgB;QACpCM,KAAKS;aACA,IAAIF,MAAWZ,GAAW;QAC/BK,KAAKU;aACA,IAAIH,MAAWX,GAAa;QACjCI,KAAKW;;;oBAnFoB;;;;;;;;;EAqC7B,uBAAMC;IACJC,EAAAb,MAAIF,SAA0BgB,EAAOC,oBAAoBf,KAAKgB,KAAG;IACjEH,EAAAb,MAAIC,GAAapB,oBAAoBmB,KAAKiB,SAASnC,OAAK;IACxD+B,EAAAb,MAAIE,GAAsB,EACxB;MACEgB,IAAIzB;MACJ0B,SAASC,EAAApB,MAAIF,GAAA,KAAkBuB;MAC/BC,eAAe;OAEjB;MACEJ,IAAIxB;MACJyB,SAASC,EAAApB,MAAIF,GAAA,KAAkByB;MAC/BD,eAAe;OAEjB;MACEJ,IAAIvB;MACJwB,SAASC,EAAApB,MAAIF,GAAA,KAAkB0B;MAC/BF,eAAe;SAOlB;;EA0BH,MAAAG;IACE,OACEC,EAACC,GAAI;MAACC,OAAM;OACVF,EAAA;MAAUG,OAAOzC;QACjBsC,EAAA;MACEE,OAAM;MACNC,OAAOT,EAAApB,MAAIE,GAAA;MACX4B,UAAS;MACTC,mBAAmBX,EAAApB,MAAII,GAAA;OAEvBsB,EAAA;MACEE,OAAM;MACNI,KAAKhB,KAAOH,EAAAb,MAAIG,GAAoBa,GAAuB;MAC3DiB,MAAK;OAELP,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAME,OAAM;OAAoB5B,KAAKiB,SAASnC,OAC9C4C,EAAA;MAAME,OAAM;OAA4B5B,KAAKiB,SAASiB,QAExDR,EAAA;MAAKE,OAAM;OAAsBR,EAAApB,MAAIC,GAAA,OACrCyB,EAAA;MACES,KAAK9C;MACLuC,OAAM;MACNQ,cAAchB,EAAApB,MAAIG,GAAA;SAGtBuB,EAAA;MAAKE,OAAM;MAAiCK,MAAK;OAC/CP,EAAA;MACEE,OAAM;MACNS,SAASrC,KAAKsC;OAEblB,EAAApB,MAAIF,GAAA,KAAkByC"}
@@ -23,7 +23,7 @@ const c = e(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
23
23
 
24
24
  const p = e(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
25
25
 
26
- const h = 300;
26
+ const h = 200;
27
27
 
28
28
  const m = [ "resets/box-sizing", "utils/typography" ];
29
29
 
@@ -110,4 +110,4 @@ d = new WeakMap;
110
110
  f.style = n;
111
111
 
112
112
  export { f as gx_ide_splash };
113
- //# sourceMappingURL=p-3c3b276e.entry.js.map
113
+ //# sourceMappingURL=p-f0efd16f.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["splashCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","SLIDE_FADE_DURATION","CSS_BUNDLES","GxIdeUiSplash","_GxIdeUiSplash_componentLocale","set","this","removeSplashChanged","removeSplash","splashVisible","setTimeout","el","remove","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","componentDidLoad","render","currentYear","Date","getFullYear","h","Host","model","class","slide","style","role","__classPrivateFieldGet","copyright","illustrationAriaLabel","src","alt","illustrationFigureAriaLabel","illustrationAlternativeText","title","version","c1988","allRightsReserved","description"],"sources":["src/components/splash/splash.scss?tag=gx-ide-splash&encapsulation=shadow","src/components/splash/splash.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n max-inline-size: 1100px;\n grid-template-columns: 1fr 550px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n opacity: 0;\n transition: var(--slide-fade-duration) opacity;\n\n &--visible {\n opacity: 1;\n }\n\n &__illustration {\n overflow: hidden;\n max-block-size: 700px;\n }\n\n &__copy {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n }\n\n &__copy-container {\n display: grid;\n gap: var(--mer-spacing--md);\n max-inline-size: 480px;\n place-self: center;\n }\n\n &__copy-header {\n display: grid;\n gap: var(--mer-spacing--md);\n }\n\n &__copy-title {\n font-size: var(--mer-font__size--xl);\n color: var(--mer-text__on-surface);\n letter-spacing: 0.02em;\n font-weight: var(--mer-font__weight--semi-bold);\n }\n\n &__copy-description {\n display: grid;\n color: var(--mer-text__complementary);\n gap: var(--mer-spacing--md);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\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 SLIDE_FADE_DURATION = 300;\nconst CSS_BUNDLES: MercuryBundles = [\"resets/box-sizing\", \"utils/typography\"];\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\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\n @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * When true the slider will be visible. Used to display and hide the slide with a smooth transition.\n */\n @State() splashVisible: boolean = false;\n\n /**\n * The copyright version. ie.: \"Salto 103300\"\n */\n @Prop() readonly version!: string;\n\n /**\n * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.\n */\n @Prop() readonly removeSplash: boolean = false;\n @Watch(\"removeSplash\")\n removeSplashChanged(removeSplash: boolean) {\n if (removeSplash) {\n this.splashVisible = false;\n setTimeout(() => {\n // wait until the slide disappears, then remove.\n this.el.remove();\n }, SLIDE_FADE_DURATION);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.splashVisible = true;\n }\n\n render() {\n const currentYear = new Date().getFullYear();\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section\n class={{ \"slide\": true, \"slide--visible\": this.splashVisible }}\n style={{ \"--slide-fade-duration\": `${SLIDE_FADE_DURATION}ms` }}\n >\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.copyright.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.copyright.illustrationFigureAriaLabel}\n />\n </div>\n <section class=\"slide__copy\">\n <div class=\"slide__copy-container\">\n <header class=\"slide__copy-header\">\n <img\n src={ICON_NEXT}\n alt={\n this.#componentLocale.copyright.illustrationAlternativeText\n }\n />\n <h2 class=\"slide__copy-title\">\n {this.#componentLocale.copyright.title}\n </h2>\n </header>\n <div class=\"slide__copy-description\">\n <p>\n <span class=\"version\">\n {this.#componentLocale.copyright.version}\n <span>{this.version}</span>\n </span>\n <span>{this.#componentLocale.copyright.c1988}</span>\n <span> — {currentYear} </span>\n <span>\n {this.#componentLocale.copyright.allRightsReserved}\n </span>\n </p>\n <p>{this.#componentLocale.copyright.description}</p>\n </div>\n </div>\n </section>\n </section>\n </Host>\n );\n }\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAY;;;;;;;;;;;;;;;;;ACgBlB,MAAMC,IAA0BC,EAC9B;;AAEF,MAAMC,IAAYD,EAChB;;AAEF,MAAME,IAAsB;;AAC5B,MAAMC,IAA8B,EAAC,qBAAqB;;MAQ7CC,IAAa;;;;;;;QAKxBC,EAAAC,IAAAC,WAAA;yBAOkC;;wBAUO;;EAEzC,mBAAAC,CAAoBC;IAClB,IAAIA,GAAc;MAChBF,KAAKG,gBAAgB;MACrBC,YAAW;;QAETJ,KAAKK,GAAGC;AAAQ,UACfX;;;EAIP,uBAAMY;IACJC,EAAAR,MAAIF,SAA0BW,EAAOC,oBAAoBV,KAAKK,KAAG;;EAGnE,gBAAAM;IACEX,KAAKG,gBAAgB;;EAGvB,MAAAS;IACE,MAAMC,KAAc,IAAIC,MAAOC;IAE/B,OACEC,EAACC,GAAI,MACHD,EAAA;MAAUE,OAAOtB;QACjBoB,EAAA;MACEG,OAAO;QAAEC,OAAS;QAAM,kBAAkBpB,KAAKG;;MAC/CkB,OAAO;QAAE,yBAAyB,GAAG1B;;OAErCqB,EAAA;MACEG,OAAM;MACNG,MAAK;MAAK,cACEC,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUC;OAE5CT,EAAA;;MAEEU,KAAKlC;MACL2B,OAAM;MACNQ,KAAKJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUI;SAGzCZ,EAAA;MAASG,OAAM;OACbH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MACEU,KAAKhC;MACLiC,KACEJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUK;QAGpCb,EAAA;MAAIG,OAAM;OACPI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUM,SAGrCd,EAAA;MAAKG,OAAM;OACTH,EAAA,WACEA,EAAA;MAAMG,OAAM;OACTI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUO,SACjCf,EAAA,cAAOhB,KAAK+B,WAEdf,EAAA,cAAOO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUQ,QACvChB,EAAA,qBAAUH,GAAW,MACrBG,EAAA,cACGO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUS,qBAGrCjB,EAAA,WAAIO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUU"}
1
+ {"version":3,"names":["splashCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","SLIDE_FADE_DURATION","CSS_BUNDLES","GxIdeUiSplash","_GxIdeUiSplash_componentLocale","set","this","removeSplashChanged","removeSplash","splashVisible","setTimeout","el","remove","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","componentDidLoad","render","currentYear","Date","getFullYear","h","Host","model","class","slide","style","role","__classPrivateFieldGet","copyright","illustrationAriaLabel","src","alt","illustrationFigureAriaLabel","illustrationAlternativeText","title","version","c1988","allRightsReserved","description"],"sources":["src/components/splash/splash.scss?tag=gx-ide-splash&encapsulation=shadow","src/components/splash/splash.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n max-inline-size: 1100px;\n grid-template-columns: 1fr 550px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n opacity: 0;\n transition: var(--slide-fade-duration) opacity;\n\n &--visible {\n opacity: 1;\n }\n\n &__illustration {\n overflow: hidden;\n max-block-size: 700px;\n }\n\n &__copy {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n }\n\n &__copy-container {\n display: grid;\n gap: var(--mer-spacing--md);\n max-inline-size: 480px;\n place-self: center;\n }\n\n &__copy-header {\n display: grid;\n gap: var(--mer-spacing--md);\n }\n\n &__copy-title {\n font-size: var(--mer-font__size--xl);\n color: var(--mer-text__on-surface);\n letter-spacing: 0.02em;\n font-weight: var(--mer-font__weight--semi-bold);\n }\n\n &__copy-description {\n display: grid;\n color: var(--mer-text__complementary);\n gap: var(--mer-spacing--md);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Watch,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\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 SLIDE_FADE_DURATION = 200;\nconst CSS_BUNDLES: MercuryBundles = [\"resets/box-sizing\", \"utils/typography\"];\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\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\n @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * When true the slider will be visible. Used to display and hide the slide with a smooth transition.\n */\n @State() splashVisible: boolean = false;\n\n /**\n * The copyright version. ie.: \"Salto 103300\"\n */\n @Prop() readonly version!: string;\n\n /**\n * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.\n */\n @Prop() readonly removeSplash: boolean = false;\n @Watch(\"removeSplash\")\n removeSplashChanged(removeSplash: boolean) {\n if (removeSplash) {\n this.splashVisible = false;\n setTimeout(() => {\n // wait until the slide disappears, then remove.\n this.el.remove();\n }, SLIDE_FADE_DURATION);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.splashVisible = true;\n }\n\n render() {\n const currentYear = new Date().getFullYear();\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section\n class={{ \"slide\": true, \"slide--visible\": this.splashVisible }}\n style={{ \"--slide-fade-duration\": `${SLIDE_FADE_DURATION}ms` }}\n >\n <div\n class=\"slide__illustration\"\n role=\"img\"\n aria-label={this.#componentLocale.copyright.illustrationAriaLabel}\n >\n <img\n // base image (acts like a background)\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt={this.#componentLocale.copyright.illustrationFigureAriaLabel}\n />\n </div>\n <section class=\"slide__copy\">\n <div class=\"slide__copy-container\">\n <header class=\"slide__copy-header\">\n <img\n src={ICON_NEXT}\n alt={\n this.#componentLocale.copyright.illustrationAlternativeText\n }\n />\n <h2 class=\"slide__copy-title\">\n {this.#componentLocale.copyright.title}\n </h2>\n </header>\n <div class=\"slide__copy-description\">\n <p>\n <span class=\"version\">\n {this.#componentLocale.copyright.version}\n <span>{this.version}</span>\n </span>\n <span>{this.#componentLocale.copyright.c1988}</span>\n <span> — {currentYear} </span>\n <span>\n {this.#componentLocale.copyright.allRightsReserved}\n </span>\n </p>\n <p>{this.#componentLocale.copyright.description}</p>\n </div>\n </div>\n </section>\n </section>\n </Host>\n );\n }\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAY;;;;;;;;;;;;;;;;;ACgBlB,MAAMC,IAA0BC,EAC9B;;AAEF,MAAMC,IAAYD,EAChB;;AAEF,MAAME,IAAsB;;AAC5B,MAAMC,IAA8B,EAAC,qBAAqB;;MAQ7CC,IAAa;;;;;;;QAKxBC,EAAAC,IAAAC,WAAA;yBAOkC;;wBAUO;;EAEzC,mBAAAC,CAAoBC;IAClB,IAAIA,GAAc;MAChBF,KAAKG,gBAAgB;MACrBC,YAAW;;QAETJ,KAAKK,GAAGC;AAAQ,UACfX;;;EAIP,uBAAMY;IACJC,EAAAR,MAAIF,SAA0BW,EAAOC,oBAAoBV,KAAKK,KAAG;;EAGnE,gBAAAM;IACEX,KAAKG,gBAAgB;;EAGvB,MAAAS;IACE,MAAMC,KAAc,IAAIC,MAAOC;IAE/B,OACEC,EAACC,GAAI,MACHD,EAAA;MAAUE,OAAOtB;QACjBoB,EAAA;MACEG,OAAO;QAAEC,OAAS;QAAM,kBAAkBpB,KAAKG;;MAC/CkB,OAAO;QAAE,yBAAyB,GAAG1B;;OAErCqB,EAAA;MACEG,OAAM;MACNG,MAAK;MAAK,cACEC,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUC;OAE5CT,EAAA;;MAEEU,KAAKlC;MACL2B,OAAM;MACNQ,KAAKJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUI;SAGzCZ,EAAA;MAASG,OAAM;OACbH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MACEU,KAAKhC;MACLiC,KACEJ,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUK;QAGpCb,EAAA;MAAIG,OAAM;OACPI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUM,SAGrCd,EAAA;MAAKG,OAAM;OACTH,EAAA,WACEA,EAAA;MAAMG,OAAM;OACTI,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUO,SACjCf,EAAA,cAAOhB,KAAK+B,WAEdf,EAAA,cAAOO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUQ,QACvChB,EAAA,qBAAUH,GAAW,MACrBG,EAAA,cACGO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUS,qBAGrCjB,EAAA,WAAIO,EAAAvB,MAAIF,GAAA,KAAkB0B,UAAUU"}
@@ -0,0 +1,40 @@
1
+ export declare class GxIdeNewEnvironment {
2
+ #private;
3
+ el: HTMLGxIdeCurrentUserInfoElement;
4
+ showMenu: boolean;
5
+ /**
6
+ * User data
7
+ */
8
+ readonly userInfo: UserInfo;
9
+ /**
10
+ * Callback executed when the user click "My Account" link
11
+ */
12
+ readonly myAccountCallback: () => Promise<void>;
13
+ /**
14
+ * Callback executed when the user click "change team" link
15
+ */
16
+ readonly changeTeamCallback: () => Promise<void>;
17
+ /**
18
+ * Callback executed when the user click "Language" link
19
+ */
20
+ readonly changeLanguageCallback: () => Promise<void>;
21
+ /**
22
+ * Callback executed when the user switch the "Mode" status
23
+ */
24
+ readonly changeModeCallback: (mode: Mode) => Promise<void>;
25
+ /**
26
+ * Callback executed when the user click "Sign Out" link
27
+ */
28
+ readonly signOutCallback: () => Promise<void>;
29
+ /**
30
+ * Callback executed when the user click "Privacy Policy & Terms of use" link
31
+ */
32
+ readonly showTermsCallback: () => Promise<void>;
33
+ componentWillLoad(): Promise<void>;
34
+ render(): any;
35
+ }
36
+ export type UserInfo = {
37
+ name: string;
38
+ team: string;
39
+ };
40
+ export type Mode = "dark" | "light";
@@ -0,0 +1 @@
1
+ export declare const getInitialsFromName: (name: string) => string;
@@ -0,0 +1,3 @@
1
+ import { ComboBoxItemModel } from "@genexus/chameleon-controls-library/dist/types/components/combo-box/types";
2
+ import { TeamData } from "./sign-in";
3
+ export declare const mapTeamsToComboBoxItemModel: (teams?: TeamData[]) => ComboBoxItemModel[] | undefined;
@@ -0,0 +1,40 @@
1
+ export declare class GxIdeUiSplash {
2
+ #private;
3
+ el: HTMLGxIdeSignInElement;
4
+ /**
5
+ * This is a hand over from "authStep", that allows updating descriptions once the slide is hidden. This allows a smooth transition between descriptions.
6
+ */
7
+ authStepInternal: AuthStep;
8
+ /**
9
+ * Defines iv the main slide is visible or not. Used to do a smooth transition between slides.
10
+ */
11
+ slideIsVisible: boolean;
12
+ /**
13
+ * The authentication step to display
14
+ */
15
+ readonly authStep: AuthStep;
16
+ authStepChanged(newAuthStep: AuthStep): void;
17
+ /**
18
+ * Callback executed when the user clicks the 'Continue' button
19
+ */
20
+ readonly continueCallback: (teamId: string) => Promise<void>;
21
+ /**
22
+ * Callback executed when the user click the "Sign In" button
23
+ */
24
+ readonly signInCallback: () => Promise<void>;
25
+ /**
26
+ * Array that contains the user's teams
27
+ */
28
+ readonly teams: TeamData[];
29
+ /**
30
+ * Callback executed when the user clicks on the "term and conditions" link
31
+ */
32
+ readonly termsCallback: () => Promise<void>;
33
+ componentWillLoad(): Promise<void>;
34
+ render(): any;
35
+ }
36
+ export type AuthStep = "signIn" | "selectUserTeam";
37
+ export type TeamData = {
38
+ id: string;
39
+ name: string;
40
+ };
@@ -23,6 +23,7 @@ import { AlignItems, FooterJustify, HeadingJustify, JustifyContent, SectionsPadd
23
23
  import { TitleAlignment } from "@genexus/gemini/dist/types/common/types";
24
24
  import { GXServerConnectionData as GXServerConnectionData1 } from "./components/team-dev/connect-gx-server/connect-gx-server";
25
25
  import { KBData, KBVersion, KnowledgeBaseInfo } from "./components/team-dev/create-kb-from-server/create-kb-from-server";
26
+ import { Mode, UserInfo } from "./components/current-user-info/current-user-info";
26
27
  import { EditResult, EnvironmentData, KBData as KBData1, recentObjectData } from "./components/dashboard-home/dashboard-home";
27
28
  import { CancelCallback as CancelCallback3, ConfirmCallback as ConfirmCallback2, EditCallback, LoadItemsCallback, NewVariableCallback, SelectObjectCallback } from "./components/data-selector/data-selector";
28
29
  import { CancelCallback as CancelCallback4, ConfirmCallback as ConfirmCallback3, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, ReactiveSettings, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/design-import/design-import";
@@ -44,6 +45,7 @@ import { CancelCallback as CancelCallback12, CreateCallback as CreateCallback2,
44
45
  import { CancelCallback as CancelCallback13, LoadCallback as LoadCallback2, NewObjectCallback, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
45
46
  import { LoadReferencesCallback, ObjectData as ObjectData1, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
46
47
  import { KBVersion as KBVersion1, ShareKBData } from "./components/team-dev/share-kb/share-kb";
48
+ import { AuthStep, TeamData } from "./components/sign-in/sign-in";
47
49
  import { RecentKBData, SecondarySection } from "./components/start-page/start-page";
48
50
  import { CheckedItemsInfo as CheckedItemsInfo1 } from "./components/_helpers/list-selector/list-selector";
49
51
  import { CommitCallback, CommitSelectCallback, GetRecentComment, LoadCallback as LoadCallback3, ObjectsContextMenuCallback, PendingItemsCheckedCallback } from "./components/team-dev/commit/commit";
@@ -73,6 +75,7 @@ export { AlignItems, FooterJustify, HeadingJustify, JustifyContent, SectionsPadd
73
75
  export { TitleAlignment } from "@genexus/gemini/dist/types/common/types";
74
76
  export { GXServerConnectionData as GXServerConnectionData1 } from "./components/team-dev/connect-gx-server/connect-gx-server";
75
77
  export { KBData, KBVersion, KnowledgeBaseInfo } from "./components/team-dev/create-kb-from-server/create-kb-from-server";
78
+ export { Mode, UserInfo } from "./components/current-user-info/current-user-info";
76
79
  export { EditResult, EnvironmentData, KBData as KBData1, recentObjectData } from "./components/dashboard-home/dashboard-home";
77
80
  export { CancelCallback as CancelCallback3, ConfirmCallback as ConfirmCallback2, EditCallback, LoadItemsCallback, NewVariableCallback, SelectObjectCallback } from "./components/data-selector/data-selector";
78
81
  export { CancelCallback as CancelCallback4, ConfirmCallback as ConfirmCallback3, LoadCallback, LoadDesignSystemCallback, LoadFontCallback, LoadImageCallback, LoadPanelDataCallback, ReactiveSettings, RequiresAccessTokenCallback, SelectModuleCallback, TextEditorFactoryCallback } from "./components/design-import/design-import";
@@ -94,6 +97,7 @@ export { CancelCallback as CancelCallback12, CreateCallback as CreateCallback2,
94
97
  export { CancelCallback as CancelCallback13, LoadCallback as LoadCallback2, NewObjectCallback, OpenSelectionCallback, SelectModuleCallback as SelectModuleCallback2 } from "./components/object-selector/object-selector";
95
98
  export { LoadReferencesCallback, ObjectData as ObjectData1, OpenObjectCallback, OpenSelectorDialogCallback, SelectorSourceCallback, SelectReferenceCallback } from "./components/references/references";
96
99
  export { KBVersion as KBVersion1, ShareKBData } from "./components/team-dev/share-kb/share-kb";
100
+ export { AuthStep, TeamData } from "./components/sign-in/sign-in";
97
101
  export { RecentKBData, SecondarySection } from "./components/start-page/start-page";
98
102
  export { CheckedItemsInfo as CheckedItemsInfo1 } from "./components/_helpers/list-selector/list-selector";
99
103
  export { CommitCallback, CommitSelectCallback, GetRecentComment, LoadCallback as LoadCallback3, ObjectsContextMenuCallback, PendingItemsCheckedCallback } from "./components/team-dev/commit/commit";
@@ -532,6 +536,36 @@ export namespace Components {
532
536
  selectedKB: string
533
537
  ) => Promise<KBVersion[]>;
534
538
  }
539
+ interface GxIdeCurrentUserInfo {
540
+ /**
541
+ * Callback executed when the user click "Language" link
542
+ */
543
+ "changeLanguageCallback": () => Promise<void>;
544
+ /**
545
+ * Callback executed when the user switch the "Mode" status
546
+ */
547
+ "changeModeCallback": (mode: Mode) => Promise<void>;
548
+ /**
549
+ * Callback executed when the user click "change team" link
550
+ */
551
+ "changeTeamCallback": () => Promise<void>;
552
+ /**
553
+ * Callback executed when the user click "My Account" link
554
+ */
555
+ "myAccountCallback": () => Promise<void>;
556
+ /**
557
+ * Callback executed when the user click "Privacy Policy & Terms of use" link
558
+ */
559
+ "showTermsCallback": () => Promise<void>;
560
+ /**
561
+ * Callback executed when the user click "Sign Out" link
562
+ */
563
+ "signOutCallback": () => Promise<void>;
564
+ /**
565
+ * User data
566
+ */
567
+ "userInfo": UserInfo;
568
+ }
535
569
  interface GxIdeDashboardHome {
536
570
  /**
537
571
  * Callback invoked when user tries to edit the Project Description. The edition is resolved by the host.
@@ -1423,6 +1457,28 @@ export namespace Components {
1423
1457
  data: ShareKBData
1424
1458
  ) => Promise<FormSubmitResult>;
1425
1459
  }
1460
+ interface GxIdeSignIn {
1461
+ /**
1462
+ * The authentication step to display
1463
+ */
1464
+ "authStep": AuthStep;
1465
+ /**
1466
+ * Callback executed when the user clicks the 'Continue' button
1467
+ */
1468
+ "continueCallback": (teamId: string) => Promise<void>;
1469
+ /**
1470
+ * Callback executed when the user click the "Sign In" button
1471
+ */
1472
+ "signInCallback": () => Promise<void>;
1473
+ /**
1474
+ * Array that contains the user's teams
1475
+ */
1476
+ "teams": TeamData[];
1477
+ /**
1478
+ * Callback executed when the user clicks on the "term and conditions" link
1479
+ */
1480
+ "termsCallback": () => Promise<void>;
1481
+ }
1426
1482
  interface GxIdeSplash {
1427
1483
  /**
1428
1484
  * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.
@@ -2170,6 +2226,12 @@ declare global {
2170
2226
  prototype: HTMLGxIdeCreateKbFromServerElement;
2171
2227
  new (): HTMLGxIdeCreateKbFromServerElement;
2172
2228
  };
2229
+ interface HTMLGxIdeCurrentUserInfoElement extends Components.GxIdeCurrentUserInfo, HTMLStencilElement {
2230
+ }
2231
+ var HTMLGxIdeCurrentUserInfoElement: {
2232
+ prototype: HTMLGxIdeCurrentUserInfoElement;
2233
+ new (): HTMLGxIdeCurrentUserInfoElement;
2234
+ };
2173
2235
  interface HTMLGxIdeDashboardHomeElementEventMap {
2174
2236
  "componentDidRenderFirstTime": string;
2175
2237
  }
@@ -2459,6 +2521,12 @@ declare global {
2459
2521
  prototype: HTMLGxIdeShareKbElement;
2460
2522
  new (): HTMLGxIdeShareKbElement;
2461
2523
  };
2524
+ interface HTMLGxIdeSignInElement extends Components.GxIdeSignIn, HTMLStencilElement {
2525
+ }
2526
+ var HTMLGxIdeSignInElement: {
2527
+ prototype: HTMLGxIdeSignInElement;
2528
+ new (): HTMLGxIdeSignInElement;
2529
+ };
2462
2530
  interface HTMLGxIdeSplashElement extends Components.GxIdeSplash, HTMLStencilElement {
2463
2531
  }
2464
2532
  var HTMLGxIdeSplashElement: {
@@ -2680,6 +2748,7 @@ declare global {
2680
2748
  "gx-ide-connect-gx-server": HTMLGxIdeConnectGxServerElement;
2681
2749
  "gx-ide-container": HTMLGxIdeContainerElement;
2682
2750
  "gx-ide-create-kb-from-server": HTMLGxIdeCreateKbFromServerElement;
2751
+ "gx-ide-current-user-info": HTMLGxIdeCurrentUserInfoElement;
2683
2752
  "gx-ide-dashboard-home": HTMLGxIdeDashboardHomeElement;
2684
2753
  "gx-ide-data-selector": HTMLGxIdeDataSelectorElement;
2685
2754
  "gx-ide-design-import": HTMLGxIdeDesignImportElement;
@@ -2702,6 +2771,7 @@ declare global {
2702
2771
  "gx-ide-object-selector": HTMLGxIdeObjectSelectorElement;
2703
2772
  "gx-ide-references": HTMLGxIdeReferencesElement;
2704
2773
  "gx-ide-share-kb": HTMLGxIdeShareKbElement;
2774
+ "gx-ide-sign-in": HTMLGxIdeSignInElement;
2705
2775
  "gx-ide-splash": HTMLGxIdeSplashElement;
2706
2776
  "gx-ide-start-page": HTMLGxIdeStartPageElement;
2707
2777
  "gx-ide-status-buttons": HTMLGxIdeStatusButtonsElement;
@@ -3184,6 +3254,36 @@ declare namespace LocalJSX {
3184
3254
  selectedKB: string
3185
3255
  ) => Promise<KBVersion[]>;
3186
3256
  }
3257
+ interface GxIdeCurrentUserInfo {
3258
+ /**
3259
+ * Callback executed when the user click "Language" link
3260
+ */
3261
+ "changeLanguageCallback": () => Promise<void>;
3262
+ /**
3263
+ * Callback executed when the user switch the "Mode" status
3264
+ */
3265
+ "changeModeCallback": (mode: Mode) => Promise<void>;
3266
+ /**
3267
+ * Callback executed when the user click "change team" link
3268
+ */
3269
+ "changeTeamCallback": () => Promise<void>;
3270
+ /**
3271
+ * Callback executed when the user click "My Account" link
3272
+ */
3273
+ "myAccountCallback": () => Promise<void>;
3274
+ /**
3275
+ * Callback executed when the user click "Privacy Policy & Terms of use" link
3276
+ */
3277
+ "showTermsCallback": () => Promise<void>;
3278
+ /**
3279
+ * Callback executed when the user click "Sign Out" link
3280
+ */
3281
+ "signOutCallback": () => Promise<void>;
3282
+ /**
3283
+ * User data
3284
+ */
3285
+ "userInfo"?: UserInfo;
3286
+ }
3187
3287
  interface GxIdeDashboardHome {
3188
3288
  /**
3189
3289
  * Callback invoked when user tries to edit the Project Description. The edition is resolved by the host.
@@ -4099,6 +4199,28 @@ declare namespace LocalJSX {
4099
4199
  data: ShareKBData
4100
4200
  ) => Promise<FormSubmitResult>;
4101
4201
  }
4202
+ interface GxIdeSignIn {
4203
+ /**
4204
+ * The authentication step to display
4205
+ */
4206
+ "authStep"?: AuthStep;
4207
+ /**
4208
+ * Callback executed when the user clicks the 'Continue' button
4209
+ */
4210
+ "continueCallback": (teamId: string) => Promise<void>;
4211
+ /**
4212
+ * Callback executed when the user click the "Sign In" button
4213
+ */
4214
+ "signInCallback"?: () => Promise<void>;
4215
+ /**
4216
+ * Array that contains the user's teams
4217
+ */
4218
+ "teams": TeamData[];
4219
+ /**
4220
+ * Callback executed when the user clicks on the "term and conditions" link
4221
+ */
4222
+ "termsCallback"?: () => Promise<void>;
4223
+ }
4102
4224
  interface GxIdeSplash {
4103
4225
  /**
4104
4226
  * If true, the splash with first disappear with a fade-out subtle effect, and then it will automatically be removed from the DOM.
@@ -4587,6 +4709,7 @@ declare namespace LocalJSX {
4587
4709
  "gx-ide-connect-gx-server": GxIdeConnectGxServer;
4588
4710
  "gx-ide-container": GxIdeContainer;
4589
4711
  "gx-ide-create-kb-from-server": GxIdeCreateKbFromServer;
4712
+ "gx-ide-current-user-info": GxIdeCurrentUserInfo;
4590
4713
  "gx-ide-dashboard-home": GxIdeDashboardHome;
4591
4714
  "gx-ide-data-selector": GxIdeDataSelector;
4592
4715
  "gx-ide-design-import": GxIdeDesignImport;
@@ -4609,6 +4732,7 @@ declare namespace LocalJSX {
4609
4732
  "gx-ide-object-selector": GxIdeObjectSelector;
4610
4733
  "gx-ide-references": GxIdeReferences;
4611
4734
  "gx-ide-share-kb": GxIdeShareKb;
4735
+ "gx-ide-sign-in": GxIdeSignIn;
4612
4736
  "gx-ide-splash": GxIdeSplash;
4613
4737
  "gx-ide-start-page": GxIdeStartPage;
4614
4738
  "gx-ide-status-buttons": GxIdeStatusButtons;
@@ -4645,6 +4769,7 @@ declare module "@stencil/core" {
4645
4769
  "gx-ide-connect-gx-server": LocalJSX.GxIdeConnectGxServer & JSXBase.HTMLAttributes<HTMLGxIdeConnectGxServerElement>;
4646
4770
  "gx-ide-container": LocalJSX.GxIdeContainer & JSXBase.HTMLAttributes<HTMLGxIdeContainerElement>;
4647
4771
  "gx-ide-create-kb-from-server": LocalJSX.GxIdeCreateKbFromServer & JSXBase.HTMLAttributes<HTMLGxIdeCreateKbFromServerElement>;
4772
+ "gx-ide-current-user-info": LocalJSX.GxIdeCurrentUserInfo & JSXBase.HTMLAttributes<HTMLGxIdeCurrentUserInfoElement>;
4648
4773
  "gx-ide-dashboard-home": LocalJSX.GxIdeDashboardHome & JSXBase.HTMLAttributes<HTMLGxIdeDashboardHomeElement>;
4649
4774
  "gx-ide-data-selector": LocalJSX.GxIdeDataSelector & JSXBase.HTMLAttributes<HTMLGxIdeDataSelectorElement>;
4650
4775
  "gx-ide-design-import": LocalJSX.GxIdeDesignImport & JSXBase.HTMLAttributes<HTMLGxIdeDesignImportElement>;
@@ -4667,6 +4792,7 @@ declare module "@stencil/core" {
4667
4792
  "gx-ide-object-selector": LocalJSX.GxIdeObjectSelector & JSXBase.HTMLAttributes<HTMLGxIdeObjectSelectorElement>;
4668
4793
  "gx-ide-references": LocalJSX.GxIdeReferences & JSXBase.HTMLAttributes<HTMLGxIdeReferencesElement>;
4669
4794
  "gx-ide-share-kb": LocalJSX.GxIdeShareKb & JSXBase.HTMLAttributes<HTMLGxIdeShareKbElement>;
4795
+ "gx-ide-sign-in": LocalJSX.GxIdeSignIn & JSXBase.HTMLAttributes<HTMLGxIdeSignInElement>;
4670
4796
  "gx-ide-splash": LocalJSX.GxIdeSplash & JSXBase.HTMLAttributes<HTMLGxIdeSplashElement>;
4671
4797
  "gx-ide-start-page": LocalJSX.GxIdeStartPage & JSXBase.HTMLAttributes<HTMLGxIdeStartPageElement>;
4672
4798
  "gx-ide-status-buttons": LocalJSX.GxIdeStatusButtons & JSXBase.HTMLAttributes<HTMLGxIdeStatusButtonsElement>;
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": "1.0.30",
4
+ "version": "1.0.31",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",
@@ -36,12 +36,12 @@
36
36
  "peerDependencies": {
37
37
  "@genexus/chameleon-controls-library": ">=6.0.0-next.55",
38
38
  "@genexus/gemini": "*2.0.1",
39
- "@genexus/mercury": "*0.12.3"
39
+ "@genexus/mercury": "*0.12.5"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@genexus/chameleon-controls-library": ">=6.0.0-next.55",
43
43
  "@genexus/gemini": "*2.0.1",
44
- "@genexus/mercury": "*0.12.3",
44
+ "@genexus/mercury": "*0.12.5",
45
45
  "@stencil-community/eslint-plugin": "~0.7.1",
46
46
  "@stencil/core": "~4.9.0",
47
47
  "@stencil/sass": "~1.4.0",