@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 +0,0 @@
1
- {"version":3,"names":["aiMessageCss","GxIdeAiMessage","this","copyable","evaluateMessageIsCopyable","messageType","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","setTimeout","visible","messagesList","parentElement","scrollTo","render","h","class","message","hidden","showCopiedMessage","you","message__role","assistant","message__caption","hiChar","filterValue"],"sources":["src/components/ai-assistant/ai-message.scss?tag=gx-ide-ai-message&encapsulation=shadow","src/components/ai-assistant/ai-message.tsx"],"sourcesContent":["@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n font-family: var(--mer-font-family--primary);\n}\n/*--- Messages ---*/\n.message {\n color: var(--mer-color__neutral-gray--100);\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 100ms;\n transition: grid-template-rows 100ms, -ms-grid-rows 100ms;\n &__outer-wrapper {\n overflow: hidden;\n }\n &__inner-wrapper {\n padding: var(--mer-spacing--sm) var(--mer-spacing--sm);\n border-radius: var(--mer-border__radius--sm);\n border-inline-start: var(--mer-border__width--md) solid transparent;\n background-color: var(--mer-color__neutral-gray--1200);\n margin-block-start: var(--mer-spacing--xs);\n }\n &__role {\n display: inline-block;\n font-weight: var(--mer-font__weight--semi-bold);\n margin-block-end: var(--mer-spacing--xs);\n display: inline-grid;\n grid-template-columns: max-content max-content;\n gap: 6px;\n &:before {\n content: \"\";\n display: grid;\n place-self: center flex-end;\n inline-size: 4px;\n block-size: 4px;\n border-radius: 50%;\n background-color: currentcolor;\n }\n\n &--user {\n color: var(--mer-color__primary--300);\n }\n &--assistant {\n }\n &--hidden {\n display: none;\n }\n }\n &__caption {\n font-size: var(--mer-font__size--xs);\n line-height: var(--mer-line-height--regular);\n position: relative;\n }\n &--visible {\n grid-template-rows: 1fr;\n }\n &--copying {\n pointer-events: none;\n span:not(.copied),\n .message__caption {\n color: transparent;\n -webkit-user-select: none; /* Safari */\n -ms-user-select: none; /* IE 10 and IE 11 */\n user-select: none; /* Standard syntax */\n }\n }\n /*--- Types of messages ---*/\n &--user {\n .message__inner-wrapper {\n background-color: rgba(91, 167, 255, 0.08);\n border-color: var(--mer-border-color__primary);\n }\n }\n &--assistant-action {\n .message__inner-wrapper {\n background-color: rgba(63, 168, 155, 0.05);\n border-color: var(--mer-border-color__success);\n }\n }\n &--assistant-chat {\n .message__inner-wrapper {\n background-color: var(--mer-surface__elevation--01);\n }\n }\n &--assistant-in-progress {\n color: var(--mer-color__neutral-gray--500);\n .message__inner-wrapper {\n font-style: italic;\n display: grid;\n grid-template-columns: 1fr auto;\n gap: var(--mer-spacing--xs);\n\n .message__caption {\n @include ellipsis;\n flex: 1;\n }\n .animation-wrapper {\n flex: none;\n }\n }\n }\n &--assistant-error {\n .message__inner-wrapper {\n background-color: rgba(251, 124, 132, 0.05);\n border-color: var(--mer-border-color__error);\n }\n }\n &--copyable {\n }\n &:last-child {\n margin-block-end: 0;\n }\n}\n:host(:first-child) {\n .message {\n &__inner-wrapper {\n margin-block-end: 0;\n }\n }\n}\n\n/*--- Dot Pulse Sweet Animation ---*/\n.animation-wrapper {\n width: 45px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n$color: var(--mer-color__neutral-gray--400);\n.dot-pulse {\n position: relative;\n left: -9999px;\n width: 5px;\n height: 5px;\n border-radius: 2.5px;\n background-color: $color;\n color: $color;\n box-shadow: 9999px 0 0 -5px;\n animation: dot-pulse 1.5s infinite linear;\n animation-delay: 0.25s;\n &::before,\n &::after {\n content: \"\";\n display: inline-block;\n position: absolute;\n top: 0;\n width: 5px;\n height: 5px;\n border-radius: 2.5px;\n background-color: $color;\n color: $color;\n }\n &::before {\n box-shadow: 9984px 0 0 -5px;\n animation: dot-pulse-before 1.5s infinite linear;\n animation-delay: 0s;\n }\n &::after {\n box-shadow: 10014px 0 0 -5px;\n animation: dot-pulse-after 1.5s infinite linear;\n animation-delay: 0.5s;\n }\n}\n@keyframes dot-pulse-before {\n 0% {\n box-shadow: 9984px 0 0 -5px;\n }\n 30% {\n box-shadow: 9984px 0 0 2px;\n }\n 60%,\n 100% {\n box-shadow: 9984px 0 0 -5px;\n }\n}\n@keyframes dot-pulse {\n 0% {\n box-shadow: 9999px 0 0 -5px;\n }\n 30% {\n box-shadow: 9999px 0 0 2px;\n }\n 60%,\n 100% {\n box-shadow: 9999px 0 0 -5px;\n }\n}\n@keyframes dot-pulse-after {\n 0% {\n box-shadow: 10014px 0 0 -5px;\n }\n 30% {\n box-shadow: 10014px 0 0 2px;\n }\n 60%,\n 100% {\n box-shadow: 10014px 0 0 -5px;\n }\n}\n\n/*--- Copy Message ---*/\n.copied {\n position: absolute;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mer-color__neutral-gray--300);\n display: flex;\n gap: var(--mer-spacing--2xs);\n}\n\n@include hiChar;\n","/* STENCIL IMPORTS */\nimport { Component, h, Prop, Element, State } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { MessageType } from \"./ai-assistant\";\nimport { hiChar } from \"../../common/helpers\";\n\n@Component({\n tag: \"gx-ide-ai-message\",\n styleUrl: \"ai-message.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ai-message\"]\n})\nexport class GxIdeAiMessage {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /* The message allows to be copied*/\n private _componentLocale: any;\n private copyable = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeAiMessageElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * This wil display the message if true\n */\n @State() visible = false;\n\n /**\n * This wil show the user a text, indicating that the message has been copied\n */\n @State() showCopiedMessage = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The actual message\n */\n @Prop() readonly message: string;\n\n /**\n * The message type\n */\n @Prop() readonly messageType: MessageType;\n\n /**\n * The filter value\n */\n @Prop() readonly filterValue: string;\n\n /**\n * It hides the message (used for the filter)\n */\n @Prop() readonly hidden: boolean;\n\n /**\n * An object with the needed string translations.\n */\n @Prop() readonly translations: Translations;\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateMessageIsCopyable();\n }\n\n componentDidRender() {\n setTimeout(() => {\n /* Without the timeout it appears instantly (no apparent transition)*/\n this.visible = true;\n const messagesList = this.el.parentElement;\n messagesList.scrollTo(0, 0);\n }, 0);\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateMessageIsCopyable = () => {\n this.copyable =\n this.messageType !== \"assistant-in-progress\" &&\n this.messageType !== \"assistant-action\";\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <li\n class={{\n \"message\": true,\n \"message--visible\": this.visible && !this.hidden,\n [`message--${[this.messageType]}`]: true,\n \"message--assistant\": this.messageType !== \"user\",\n \"message--copyable\": this.copyable,\n \"message--copying\": this.showCopiedMessage\n }}\n >\n <div class=\"message__outer-wrapper\">\n <div\n class={{\n \"message__inner-wrapper\": true\n }}\n >\n {this.messageType === \"user\" ? (\n <span class=\"message__role message__role--user\">\n {this._componentLocale.you}\n </span>\n ) : (\n <span\n class={{\n \"message__role\": this.messageType !== \"assistant-in-progress\",\n \"message__role--hidden\":\n this.messageType === \"assistant-in-progress\",\n \"message__role--assistant\": true\n }}\n >\n {this._componentLocale.assistant}\n </span>\n )}\n <div\n class={{\n \"message__caption\": true,\n \"message__caption--in-progress\":\n this.messageType === \"assistant-in-progress\"\n }}\n >\n {hiChar(this.message, this.filterValue)}\n </div>\n {this.messageType === \"assistant-in-progress\" ? (\n <div class=\"animation-wrapper\">\n <div class=\"dot-pulse\"></div>\n </div>\n ) : null}\n </div>\n </div>\n </li>\n );\n }\n}\n\nexport type Translations = {\n [key: string]: string;\n};\n"],"mappings":";;;;;;AAAA,MAAMA,IAAe;;MCcRC,IAAc;;;IAmBjBC,KAAAC,WAAW;;;;QAqEXD,KAAAE,4BAA4B;MAClCF,KAAKC,WACHD,KAAKG,gBAAgB,2BACrBH,KAAKG,gBAAgB;AAAkB;mBA7DxB;6BAKU;;;;;;;;;EAiC7B,uBAAMC;IACJJ,KAAKK,yBAAyBC,EAAOC,oBAAoBP,KAAKQ;IAC9DR,KAAKE;;EAGP,kBAAAO;IACEC,YAAW;;MAETV,KAAKW,UAAU;MACf,MAAMC,IAAeZ,KAAKQ,GAAGK;MAC7BD,EAAaE,SAAS,GAAG;AAAE,QAC1B;;;EAiBL,MAAAC;IACE,OACEC,EAAA;MACEC,OAAO;QACLC,SAAW;QACX,oBAAoBlB,KAAKW,YAAYX,KAAKmB;QAC1C,CAAC,YAAY,EAACnB,KAAKG,kBAAiB;QACpC,sBAAsBH,KAAKG,gBAAgB;QAC3C,qBAAqBH,KAAKC;QAC1B,oBAAoBD,KAAKoB;;OAG3BJ,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEC,OAAO;QACL,0BAA0B;;OAG3BjB,KAAKG,gBAAgB,SACpBa,EAAA;MAAMC,OAAM;OACTjB,KAAKK,iBAAiBgB,OAGzBL,EAAA;MACEC,OAAO;QACLK,eAAiBtB,KAAKG,gBAAgB;QACtC,yBACEH,KAAKG,gBAAgB;QACvB,4BAA4B;;OAG7BH,KAAKK,iBAAiBkB,YAG3BP,EAAA;MACEC,OAAO;QACLO,kBAAoB;QACpB,iCACExB,KAAKG,gBAAgB;;OAGxBsB,EAAOzB,KAAKkB,SAASlB,KAAK0B,eAE5B1B,KAAKG,gBAAgB,0BACpBa,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;UAEX"}
@@ -1,113 +0,0 @@
1
- import { a as e, r as i, h as t, H as s, g as a } from "./p-49712340.js";
2
-
3
- import { L as r } from "./p-311eedf3.js";
4
-
5
- const mapTeamsToComboBoxItemModel = e => e.map((e => ({
6
- value: e.id,
7
- caption: e.name
8
- })));
9
-
10
- const n = ":host{display:grid;block-size:100%;inline-size:100%;align-items:center;justify-content:center;padding:var(--mer-spacing--xl)}.slide{display:grid;max-inline-size:1100px;grid-template-columns:1fr 550px;background-color:var(--mer-surface__elevation--01);border-radius:var(--mer-spacing--md);overflow:hidden;transition:var(--slide-fade-duration) opacity}.slide__illustration{overflow:hidden;max-block-size:700px}.slide__select-team{display:grid;block-size:100%;inline-size:100%;padding:var(--mer-spacing--3xl)}.slide__select-team-container{display:grid;gap:var(--mer-spacing--lg);max-inline-size:480px;place-self:center}.slide__select-team-header{display:grid;gap:var(--mer-spacing--lg)}.slide__select-team-title{font-size:var(--mer-font__size--xl);color:var(--mer-text__on-surface);letter-spacing:0.02em;font-weight:var(--mer-font__weight--semi-bold)}.slide__select-team-description{display:grid;color:var(--mer-text__complementary);gap:var(--mer-spacing--md);font-size:var(--mer-font__size--sm);font-weight:var(--mer-font__weight--light);line-height:var(--mer-line-height--spaced)}.info-message{font-weight:bold;color:var(--mer-text__on-surface)}.continue-button{padding-inline-start:var(--mer-spacing--3xl) !important;padding-inline-end:var(--mer-spacing--3xl) !important}";
11
-
12
- var o = undefined && undefined.__classPrivateFieldGet || function(e, i, t, s) {
13
- if (t === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
14
- if (typeof i === "function" ? e !== i || !s : !i.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
15
- return t === "m" ? s : t === "a" ? s.call(e) : s ? s.value : i.get(e);
16
- };
17
-
18
- var l = undefined && undefined.__classPrivateFieldSet || function(e, i, t, s, a) {
19
- if (s === "m") throw new TypeError("Private method is not writable");
20
- if (s === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
21
- if (typeof i === "function" ? e !== i || !a : !i.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
22
- return s === "a" ? a.call(e, t) : a ? a.value = t : i.set(e, t), t;
23
- };
24
-
25
- var c, d, m, p;
26
-
27
- const f = e(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
28
-
29
- const g = e(`./gx-ide-assets/welcome-page/images/icon-next.svg`);
30
-
31
- const h = [ "resets/box-sizing", "utils/typography", "components/combo-box", "components/button", "utils/form" ];
32
-
33
- const u = class {
34
- constructor(e) {
35
- i(this, e);
36
- /**
37
- * The component hard-coded strings translations.
38
- */
39
- // eslint-disable-next-line @stencil-community/own-props-must-be-private
40
- c.set(this, void 0);
41
- d.set(this, []);
42
- m.set(this, void 0);
43
- p.set(this, (async () => {
44
- await this.continueCallback(o(this, m, "f").value);
45
- }));
46
- this.teams = undefined;
47
- this.continueCallback = undefined;
48
- }
49
- async componentWillLoad() {
50
- l(this, c, await r.getComponentStrings(this.el), "f");
51
- l(this, d, mapTeamsToComboBoxItemModel(this.teams), "f");
52
- }
53
- render() {
54
- return t(s, null, t("ch-theme", {
55
- model: h
56
- }), t("section", {
57
- class: "slide"
58
- }, t("div", {
59
- class: "slide__illustration",
60
- role: "img",
61
- "aria-label": o(this, c, "f").illustrationAriaLabel
62
- }, t("img", {
63
- // base image (acts like a background)
64
- src: f,
65
- class: "slide__illustration",
66
- alt: o(this, c, "f").illustrationFigureAriaLabel
67
- })), t("section", {
68
- class: "slide__select-team"
69
- }, t("div", {
70
- class: "slide__select-team-container"
71
- }, t("header", {
72
- class: "slide__select-team-header"
73
- }, t("img", {
74
- src: g,
75
- alt: o(this, c, "f").illustrationAlternativeText
76
- }), t("h2", {
77
- class: "slide__select-team-title"
78
- }, o(this, c, "f").title)), t("div", {
79
- class: "slide__select-team-description"
80
- }, t("p", null, t("span", {
81
- class: "info-message"
82
- }, o(this, c, "f").infoMessage))), t("div", {
83
- class: "field-group"
84
- }, t("div", {
85
- class: "field field-block"
86
- }, t("label", {
87
- htmlFor: "teams"
88
- }, o(this, c, "f").teams), t("ch-combo-box-render", {
89
- id: "teams",
90
- accessibleName: "Teams",
91
- class: "combo-box",
92
- model: o(this, d, "f"),
93
- value: o(this, d, "f")[0].value,
94
- ref: e => l(this, m, e, "f")
95
- }))), t("div", null, t("button", {
96
- class: "button-primary continue-button",
97
- onClick: o(this, p, "f")
98
- }, o(this, c, "f").continueButtonCaption))))));
99
- }
100
- static get assetsDirs() {
101
- return [ "gx-ide-assets/select-user-team" ];
102
- }
103
- get el() {
104
- return a(this);
105
- }
106
- };
107
-
108
- c = new WeakMap, d = new WeakMap, m = new WeakMap, p = new WeakMap;
109
-
110
- u.style = n;
111
-
112
- export { u as gx_ide_select_user_team };
113
- //# sourceMappingURL=p-b189e45d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["mapTeamsToComboBoxItemModel","teams","map","team","value","id","caption","name","selectUserTeamCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","CSS_BUNDLES","GxIdeUiSplash","_GxIdeUiSplash_componentLocale","set","this","_GxIdeUiSplash_userTeamsModel","_GxIdeUiSplash_chSelectTeamEl","_GxIdeUiSplash_continueHandle","async","continueCallback","__classPrivateFieldGet","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","render","h","Host","model","class","role","illustrationAriaLabel","src","alt","illustrationFigureAriaLabel","illustrationAlternativeText","title","infoMessage","htmlFor","accessibleName","ref","onClick","continueButtonCaption"],"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",":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 transition: var(--slide-fade-duration) opacity;\n\n &__illustration {\n overflow: hidden;\n max-block-size: 700px;\n }\n\n &__select-team {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n }\n\n &__select-team-container {\n display: grid;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n place-self: center;\n }\n\n &__select-team-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n }\n\n &__select-team-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 &__select-team-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\n.info-message {\n font-weight: bold;\n color: var(--mer-text__on-surface);\n}\n.continue-button {\n padding-inline-start: var(--mer-spacing--3xl) !important;\n padding-inline-end: var(--mer-spacing--3xl) !important;\n}\n","// 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"],"mappings":";;;;AAGO,MAAMA,8BACXC,KAEOA,EAAMC,KAAIC,MACR;EACLC,OAAOD,EAAKE;EACZC,SAASH,EAAKI;;;ACTpB,MAAMC,IAAoB;;;;;;;;;;;;;;;;;ACS1B,MAAMC,IAA0BC,EAC9B;;AAEF,MAAMC,IAAYD,EAChB;;AAGF,MAAME,IAA8B,EAClC,qBACA,oBACA,wBACA,qBACA;;MASWC,IAAa;;;;;;;QAKxBC,EAAAC,IAAAC,WAAA;IACAC,EAAAF,IAAAC,MAAuC;IACvCE,EAAAH,IAAAC,WAAA;IAmBAG,EAAAJ,IAAAC,OAAkBI;YACVJ,KAAKK,iBAAiBC,EAAAN,MAAIE,GAAA,KAAiBd;AAAM;;;;EANzD,uBAAMmB;IACJC,EAAAR,MAAIF,SAA0BW,EAAOC,oBAAoBV,KAAKW,KAAG;IACjEH,EAAAR,MAAIC,GAAmBjB,4BAA4BgB,KAAKf,QAAM;;EAOhE,MAAA2B;IACE,OACEC,EAACC,GAAI,MACHD,EAAA;MAAUE,OAAOnB;QACjBiB,EAAA;MAASG,OAAM;OACbH,EAAA;MACEG,OAAM;MACNC,MAAK;MAAK,cACEX,EAAAN,MAAIF,GAAA,KAAkBoB;OAElCL,EAAA;;MAEEM,KAAK1B;MACLuB,OAAM;MACNI,KAAKd,EAAAN,MAAIF,GAAA,KAAkBuB;SAI/BR,EAAA;MAASG,OAAM;OACbH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAQG,OAAM;OACZH,EAAA;MACEM,KAAKxB;MACLyB,KAAKd,EAAAN,MAAIF,GAAA,KAAkBwB;QAE7BT,EAAA;MAAIG,OAAM;OACPV,EAAAN,MAAIF,GAAA,KAAkByB,SAI3BV,EAAA;MAAKG,OAAM;OACTH,EAAA,WACEA,EAAA;MAAMG,OAAM;OACTV,EAAAN,MAAIF,GAAA,KAAkB0B,gBAK7BX,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAKG,OAAM;OACTH,EAAA;MAAOY,SAAQ;OAASnB,EAAAN,MAAIF,GAAA,KAAkBb,QAC9C4B,EAAA;MACExB,IAAG;MACHqC,gBAAe;MACfV,OAAM;MACND,OAAOT,EAAAN,MAAIC,GAAA;MACXb,OAAOkB,EAAAN,MAAIC,GAAA,KAAiB,GAAGb;MAC/BuC,KAAMhB,KACHH,EAAAR,MAAIE,GAAmBS,GAAiC;UAMjEE,EAAA,aACEA,EAAA;MACEG,OAAM;MACNY,SAAStB,EAAAN,MAAIG,GAAA;OAEZG,EAAAN,MAAIF,GAAA,KAAkB+B"}