@genexus/genexus-ide-ui 1.1.37 → 1.1.39

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 (88) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +9 -3
  3. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +19 -34
  5. package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +9 -6
  7. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +12 -4
  9. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-status-message.cjs.entry.js +42 -0
  11. package/dist/cjs/gx-ide-status-message.cjs.entry.js.map +1 -0
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/collection-manifest.json +1 -0
  14. package/dist/collection/components/details-acknowledgements/details-acknowledgements.js +19 -34
  15. package/dist/collection/components/details-acknowledgements/details-acknowledgements.js.map +1 -1
  16. package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
  17. package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
  18. package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
  19. package/dist/collection/components/new-kb/new-kb.js +9 -7
  20. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  21. package/dist/collection/components/status-message/gx-ide-assets/status-message/images/genexus-next-logo.svg +3 -0
  22. package/dist/collection/components/status-message/gx-ide-assets/status-message/images/left-side-illustration.svg +36 -0
  23. package/dist/collection/components/status-message/gx-ide-assets/status-message/images/right-side-illustration.svg +31 -0
  24. package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.en.json +6 -0
  25. package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.ja.json +6 -0
  26. package/dist/collection/components/status-message/gx-ide-assets/status-message/langs/status-message.lang.zh.json +6 -0
  27. package/dist/collection/components/status-message/status-message.css +33 -0
  28. package/dist/collection/components/status-message/status-message.js +42 -0
  29. package/dist/collection/components/status-message/status-message.js.map +1 -0
  30. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +9 -3
  31. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  32. package/dist/collection/components/team-dev/server-selector/server-selector.js +12 -4
  33. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  34. package/dist/collection/testing/locale.e2e.js +1 -0
  35. package/dist/collection/testing/locale.e2e.js.map +1 -1
  36. package/dist/components/gx-ide-create-kb-from-server.js +9 -3
  37. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  38. package/dist/components/gx-ide-details-acknowledgements.js +19 -34
  39. package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
  40. package/dist/components/gx-ide-new-kb.js +9 -7
  41. package/dist/components/gx-ide-new-kb.js.map +1 -1
  42. package/dist/components/gx-ide-server-selector.js +12 -4
  43. package/dist/components/gx-ide-server-selector.js.map +1 -1
  44. package/dist/components/gx-ide-status-message.d.ts +11 -0
  45. package/dist/components/gx-ide-status-message.js +56 -0
  46. package/dist/components/gx-ide-status-message.js.map +1 -0
  47. package/dist/esm/genexus-ide-ui.js +1 -1
  48. package/dist/esm/gx-ide-create-kb-from-server.entry.js +9 -3
  49. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  50. package/dist/esm/gx-ide-details-acknowledgements.entry.js +19 -34
  51. package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
  52. package/dist/esm/gx-ide-new-kb.entry.js +9 -6
  53. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  54. package/dist/esm/gx-ide-server-selector.entry.js +12 -4
  55. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  56. package/dist/esm/gx-ide-status-message.entry.js +38 -0
  57. package/dist/esm/gx-ide-status-message.entry.js.map +1 -0
  58. package/dist/esm/loader.js +1 -1
  59. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  60. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  61. package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.en.json +3 -1
  62. package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +3 -1
  63. package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.zh.json +3 -1
  64. package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/genexus-next-logo.svg +3 -0
  65. package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/left-side-illustration.svg +36 -0
  66. package/dist/genexus-ide-ui/gx-ide-assets/status-message/images/right-side-illustration.svg +31 -0
  67. package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.en.json +6 -0
  68. package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.ja.json +6 -0
  69. package/dist/genexus-ide-ui/gx-ide-assets/status-message/langs/status-message.lang.zh.json +6 -0
  70. package/dist/genexus-ide-ui/{p-3dc5d62e.entry.js → p-4b680e46.entry.js} +102 -102
  71. package/dist/genexus-ide-ui/p-4b680e46.entry.js.map +1 -0
  72. package/dist/genexus-ide-ui/p-50253b96.entry.js +61 -0
  73. package/dist/genexus-ide-ui/p-50253b96.entry.js.map +1 -0
  74. package/dist/genexus-ide-ui/{p-bee71b20.entry.js → p-970e89ac.entry.js} +55 -45
  75. package/dist/genexus-ide-ui/p-970e89ac.entry.js.map +1 -0
  76. package/dist/genexus-ide-ui/{p-9ad85231.entry.js → p-b34ecbdc.entry.js} +35 -28
  77. package/dist/genexus-ide-ui/p-b34ecbdc.entry.js.map +1 -0
  78. package/dist/genexus-ide-ui/{p-5e2f9545.entry.js → p-bd0ffc08.entry.js} +56 -72
  79. package/dist/genexus-ide-ui/p-bd0ffc08.entry.js.map +1 -0
  80. package/dist/types/components/details-acknowledgements/types.d.ts +1 -1
  81. package/dist/types/components/new-kb/new-kb.d.ts +2 -3
  82. package/dist/types/components/status-message/status-message.d.ts +9 -0
  83. package/dist/types/components.d.ts +13 -0
  84. package/package.json +1 -1
  85. package/dist/genexus-ide-ui/p-3dc5d62e.entry.js.map +0 -1
  86. package/dist/genexus-ide-ui/p-5e2f9545.entry.js.map +0 -1
  87. package/dist/genexus-ide-ui/p-9ad85231.entry.js.map +0 -1
  88. package/dist/genexus-ide-ui/p-bee71b20.entry.js.map +0 -1
@@ -4,9 +4,9 @@ import { g as o } from "./p-401bfc97.js";
4
4
 
5
5
  import { c as r } from "./p-9a03ac9f.js";
6
6
 
7
- import { v as h } from "./p-289c3290.js";
7
+ import { v as l } from "./p-289c3290.js";
8
8
 
9
- import { L as l } from "./p-311eedf3.js";
9
+ import { L as h } from "./p-311eedf3.js";
10
10
 
11
11
  const mapKbsModelToActionListModel = t => {
12
12
  const e = [];
@@ -35,17 +35,17 @@ var f = undefined && undefined.__classPrivateFieldGet || function(t, e, s, i) {
35
35
  return s === "m" ? i : s === "a" ? i.call(t) : i ? i.value : e.get(t);
36
36
  };
37
37
 
38
- var u, p, m, b, v, w, g, y, k, M, W, x, _, T, j, S, C, E, $, A, I, P, z;
38
+ var u, p, m, b, v, w, g, y, k, M, W, x, _, T, j, C, S, E, I, $, A, P, z, L;
39
39
 
40
- const L = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/list-box", "components/tooltip", "chameleon/scrollbar" ];
40
+ const N = [ "resets/box-sizing", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "components/list-box", "components/tooltip", "chameleon/scrollbar" ];
41
41
 
42
- const N = o({
42
+ const F = o({
43
43
  category: "system",
44
44
  name: "information",
45
45
  colorType: "on-surface"
46
46
  });
47
47
 
48
- const F = class {
48
+ const K = class {
49
49
  constructor(i) {
50
50
  t(this, i);
51
51
  u.set(this, o({
@@ -97,7 +97,7 @@ const F = class {
97
97
  localKBName: this.localKbNameInputValue,
98
98
  versionList: f(this, w, "f")
99
99
  }).then((t => {
100
- this.validatableControls = h(t, this.validatableControls);
100
+ this.validatableControls = l(t, this.validatableControls);
101
101
  }));
102
102
  }));
103
103
  // TODO: evaluate if this should be a global helper function.
@@ -112,11 +112,11 @@ const F = class {
112
112
  delay: r.tooltipSettings.delay
113
113
  }, this.validatableControls.get(t.id).message);
114
114
  }));
115
- S.set(this, (t => {
115
+ C.set(this, (t => {
116
116
  this.filterValue = t.detail.toLowerCase();
117
117
  this.kbsFilteredActionListModel = f(this, v, "f").filter((t => t.caption.toLowerCase().includes(this.filterValue)));
118
118
  }));
119
- C.set(this, (async () => {
119
+ S.set(this, (async () => {
120
120
  await this.getGXserverKBsCallback({
121
121
  authenticationType: this.connectionData.authenticationType,
122
122
  serverUrl: this.connectionData.serverUrl,
@@ -141,11 +141,11 @@ const F = class {
141
141
  }
142
142
  }));
143
143
  }));
144
- $.set(this, (t => {
144
+ I.set(this, (t => {
145
145
  this.localKbNameInputValue = t.detail;
146
146
  d(this, k, true, "f");
147
147
  }));
148
- A.set(this, (async () => {
148
+ $.set(this, (async () => {
149
149
  if (this.selectKBVersionsCallback) {
150
150
  await this.selectKBVersionsCallback(f(this, y, "f")).then((t => {
151
151
  if (t === null || t === void 0 ? void 0 : t.length) {
@@ -167,7 +167,7 @@ const F = class {
167
167
  }));
168
168
  }
169
169
  }));
170
- I.set(this, (t => {
170
+ A.set(this, (t => {
171
171
  var e;
172
172
  const s = (e = t.detail[0]) === null || e === void 0 ? void 0 : e.item;
173
173
  if (s === undefined) {
@@ -189,7 +189,13 @@ const F = class {
189
189
  P.set(this, (t => {
190
190
  this.versionSelectedType = t.detail;
191
191
  }));
192
- z.set(this, (() => s("footer", {
192
+ z.set(this, (t => {
193
+ t.sort(((t, e) => {
194
+ var s, i;
195
+ return (s = t.caption) === null || s === void 0 ? void 0 : s.toLocaleLowerCase().localeCompare((i = e.caption) === null || i === void 0 ? void 0 : i.toLocaleLowerCase());
196
+ }));
197
+ }));
198
+ L.set(this, (() => s("footer", {
193
199
  class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end"
194
200
  }, s("div", {
195
201
  class: "buttons-spacer"
@@ -221,17 +227,17 @@ const F = class {
221
227
  this.selectKBVersionsCallback = undefined;
222
228
  }
223
229
  async componentDidLoad() {
224
- await f(this, C, "f").call(this);
230
+ await f(this, S, "f").call(this);
225
231
  this.loading = false;
226
232
  }
227
233
  async componentWillLoad() {
228
- d(this, b, await l.getComponentStrings(this.el), "f");
234
+ d(this, b, await h.getComponentStrings(this.el), "f");
229
235
  }
230
236
  render() {
231
237
  return s(a, {
232
238
  class: "widget"
233
239
  }, s("ch-theme", {
234
- model: L
240
+ model: N
235
241
  }), s("ch-shortcuts", {
236
242
  src: f(this, g, "f"),
237
243
  ref: t => this.chShortcutsEl = t
@@ -260,19 +266,20 @@ const F = class {
260
266
  class: "input search-kbs",
261
267
  id: "local-kb-name",
262
268
  startImgSrc: f(this, u, "f"),
263
- onInput: f(this, S, "f"),
269
+ onInput: f(this, C, "f"),
264
270
  placeholder: f(this, b, "f").kb.searchKbsPlaceholder
265
271
  }), f(this, v, "f").length === 0 || this.kbsFilteredActionListModel.length === 0 ? s("div", {
266
272
  class: "list-box"
267
273
  }, s("gx-ide-empty-state", {
268
- stateIconSrc: N,
274
+ stateIconSrc: F,
269
275
  stateTitle: f(this, b, "f").emptyKBsText,
270
276
  isAnimated: true
271
277
  })) : s("ch-action-list-render", {
272
278
  selection: "single",
273
279
  class: "list-box",
274
- onSelectedItemsChange: f(this, I, "f"),
275
- model: this.kbsFilteredActionListModel
280
+ onSelectedItemsChange: f(this, A, "f"),
281
+ model: this.kbsFilteredActionListModel,
282
+ sortItemsCallback: f(this, z, "f")
276
283
  }), s("div", {
277
284
  class: "versions-container field-group"
278
285
  }, s("ch-radio-group-render", {
@@ -302,7 +309,7 @@ const F = class {
302
309
  value: this.versionsValueInput
303
310
  }), s("button", {
304
311
  class: "button-tertiary button-icon-only",
305
- onClick: f(this, A, "f"),
312
+ onClick: f(this, $, "f"),
306
313
  disabled: !this.enableSelectVersionsButton
307
314
  }, s("ch-image", {
308
315
  src: f(this, p, "f"),
@@ -317,7 +324,7 @@ const F = class {
317
324
  class: "input",
318
325
  id: "local-kb-name",
319
326
  value: this.localKbNameInputValue,
320
- onInput: f(this, $, "f"),
327
+ onInput: f(this, I, "f"),
321
328
  placeholder: f(this, b, "f").kb.localKbNamePlaceholder,
322
329
  ref: t => {
323
330
  d(this, W, t, "f");
@@ -325,7 +332,7 @@ const F = class {
325
332
  f(this, E, "f").call(this);
326
333
  }
327
334
  }
328
- }), f(this, j, "f").call(this, f(this, W, "f"))))), f(this, z, "f").call(this)));
335
+ }), f(this, j, "f").call(this, f(this, W, "f"))))), f(this, L, "f").call(this)));
329
336
  }
330
337
  static get assetsDirs() {
331
338
  return [ "gx-ide-assets/create-kb-from-server" ];
@@ -338,10 +345,10 @@ const F = class {
338
345
  u = new WeakMap, p = new WeakMap, m = new WeakMap, b = new WeakMap, v = new WeakMap,
339
346
  w = new WeakMap, g = new WeakMap, y = new WeakMap, k = new WeakMap, M = new WeakMap,
340
347
  W = new WeakMap, x = new WeakMap, _ = new WeakMap, T = new WeakMap, j = new WeakMap,
341
- S = new WeakMap, C = new WeakMap, E = new WeakMap, $ = new WeakMap, A = new WeakMap,
342
- I = new WeakMap, P = new WeakMap, z = new WeakMap;
348
+ C = new WeakMap, S = new WeakMap, E = new WeakMap, I = new WeakMap, $ = new WeakMap,
349
+ A = new WeakMap, P = new WeakMap, z = new WeakMap, L = new WeakMap;
343
350
 
344
- F.style = c;
351
+ K.style = c;
345
352
 
346
- export { F as gx_ide_create_kb_from_server };
347
- //# sourceMappingURL=p-9ad85231.entry.js.map
353
+ export { K as gx_ide_create_kb_from_server };
354
+ //# sourceMappingURL=p-b34ecbdc.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapKbsModelToActionListModel","kbsData","listBoxItems","forEach","kb","push","id","type","caption","name","createKbFromServerCss","CSS_BUNDLES","INFO_ICON","getIconPath","category","colorType","GxIdeCreateKbFromServer","_GxIdeCreateKbFromServer_chSearchIcon","set","this","_GxIdeCreateKbFromServer_showMoreIcon","_GxIdeCreateKbFromServer_versionsSelect","value","_GxIdeCreateKbFromServer__componentLocale","_GxIdeCreateKbFromServer_kbsActionListModel","_GxIdeCreateKbFromServer_kbVersions","_GxIdeCreateKbFromServer_shortcutsSrc","getAssetPath","_GxIdeCreateKbFromServer_selectedKbId","_GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser","_GxIdeCreateKbFromServer_versionSelectedTypeEl","_GxIdeCreateKbFromServer_localKBNameEl","_GxIdeCreateKbFromServer_cancelHandler","cancelCallback","_GxIdeCreateKbFromServer_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeCreateKbFromServer_createHandler","versionSelectedType","__classPrivateFieldSet","createKBCallback","selectedKB","__classPrivateFieldGet","versionSelected","localKBName","localKbNameInputValue","versionList","then","formSubmitResult","validatableControls","validateControls","_GxIdeCreateKbFromServer_evaluateTooltipRender","controlReference","_b","_a","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeCreateKbFromServer_filterValueChangedHandler","event","filterValue","detail","toLowerCase","kbsFilteredActionListModel","filter","item","includes","_GxIdeCreateKbFromServer_init","getGXserverKBsCallback","result","_GxIdeCreateKbFromServer_initializeValidatableControls","validatableControl","reference","undefined","_GxIdeCreateKbFromServer_inputLocalKbNameHandler","_GxIdeCreateKbFromServer_selectedVersionHandler","selectKBVersionsCallback","length","map","kbVersion","versionsValueInput","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeCreateKbFromServer_selectKbChangeHandler","enableSelectVersionsButton","_GxIdeCreateKbFromServer_versionsChangedHandler","_GxIdeCreateKbFromServer_sortItems","model","sort","a","b","toLocaleLowerCase","localeCompare","_GxIdeCreateKbFromServer_renderFooter","onClick","part","footer","cancel","disabled","createKb","Map","componentDidLoad","call","loading","componentWillLoad","Locale","getComponentStrings","el","render","Host","src","ref","chShortcutsEl","header","user","change","loaderTitle","loader","title","description","show","Fragment","startImgSrc","onInput","placeholder","searchKbsPlaceholder","stateIconSrc","stateTitle","emptyKBsText","isAnimated","selection","onSelectedItemsChange","sortItemsCallback","onChange","htmlFor","versionsLabel","readonly","versionsPlaceholderDisabled","localKbNameLabel","localKbNamePlaceholder"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n position: relative;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n Fragment\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\nconst INFO_ICON = getIconPath({\n category: \"system\",\n name: \"information\",\n colorType: \"on-surface\"\n});\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the loading state of the component\n */\n @State() loading = true;\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n async componentDidLoad() {\n await this.#init();\n this.loading = false;\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #sortItems = (model: ActionListItemActionable[]): void => {\n model.sort((a, b) =>\n a.caption\n ?.toLocaleLowerCase()\n .localeCompare(b.caption?.toLocaleLowerCase())\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n <section class=\"main field-group spacing-body\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <Fragment>\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ></ch-edit>\n {this.#kbsActionListModel.length === 0 ||\n this.kbsFilteredActionListModel.length === 0 ? (\n <div class=\"list-box\">\n <gx-ide-empty-state\n stateIconSrc={INFO_ICON}\n stateTitle={this.#_componentLocale.emptyKBsText}\n isAnimated={true}\n ></gx-ide-empty-state>\n </div>\n ) : (\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n sortItemsCallback={this.#sortItems}\n ></ch-action-list-render>\n )}\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) => {\n this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement;\n if (this.#versionSelectedTypeEl) {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n }\n }}\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={\n this.#_componentLocale.kb.localKbNamePlaceholder\n }\n ref={(el: HTMLChEditElement) => {\n this.#localKBNameEl = el as HTMLChEditElement;\n if (this.#localKBNameEl) {\n this.#initializeValidatableControls();\n }\n }}\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </Fragment>\n )}\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { g as e, r as a, h as s, H as t, a as i } from "./p-97107ecc.js";
1
+ import { g as e, r as a, h as s, H as i, a as t } from "./p-97107ecc.js";
2
2
 
3
3
  import { g as r } from "./p-401bfc97.js";
4
4
 
@@ -6,13 +6,13 @@ import { L as o } from "./p-311eedf3.js";
6
6
 
7
7
  const n = '@charset "UTF-8";:host{display:grid;block-size:100%;grid-auto-rows:max-content;justify-content:center;padding:95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);overflow:auto}.licenses-descriptions-list,.licenses-names-list{list-style:none;margin:0;padding:0}.main-wrapper{max-inline-size:1000px;display:grid;gap:var(--mer-spacing--xl)}.logo{inline-size:200px;margin:0 auto;margin-block-end:var(--mer-spacing--2xl);opacity:0;transform:translateY(var(--mer-spacing--2xs));animation:showLogo var(--mer-timing--regular) ease-out forwards;animation-delay:var(--mer-timing--regular)}@keyframes showLogo{100%{opacity:1;transform:translateY(0)}}.card{display:grid;border-radius:var(--mer-border__radius--sm);border-width:var(--mer-border__width--sm);border-color:var(--elevation-border-color);border-style:solid;padding:var(--mer-spacing--lg);gap:var(--mer-spacing--md);opacity:0;animation:showCard var(--mer-timing--fast) ease-out forwards;animation-delay:calc(var(--mer-timing--regular) * 2)}@keyframes showCard{100%{opacity:1}}h1.title{font-weight:600}.intro-container{display:grid;gap:var(--mer-spacing--md)}.date-container{display:grid;gap:var(--mer-spacing--sm)}.card-package{opacity:0;transition:opacity var(--mer-timing--fast)}.package-name{--package-name-color:var(--mer-text__primary);color:var(--package-name-color)}.package-name a{display:flex;align-items:center;gap:8px}.package-name.has-link:hover{--package-name-color:var(--mer-text__primary--hover)}.package-name.has-link:active{--package-name-color:var(--mer-text__primary--active)}.package-link{display:inline-block}.licenses-names-list{display:flex;align-items:center}.licenses-names-item:not(:first-child)::before{content:"•";padding-inline:8px}.licenses-descriptions-description{white-space:break-spaces;max-block-size:940px;overflow:auto;line-height:1.5}.licenses-descriptions-item{display:grid;gap:var(--mer-spacing--md)}.code-box{border-radius:var(--mer-border__radius--sm);background-color:var(--mer-surface);border:1px solid var(--mer-border-color__on-elevation--01);padding:var(--mer-spacing--md);font-family:var(--font-family-code);font-size:var(--font-size-body-s);display:grid;gap:var(--mer-spacing--lg)}.description-list{display:grid;gap:var(--mer-spacing--xs);max-inline-size:400px;margin:0 auto}.show-more-button{justify-self:start}.color-default{color:var(--mer-text__highlighted)}.color-neutral{color:var(--mer-color__neutral-gray--400)}.color-primary{color:var(--mer-text__primary)}p{--line-height-tight:1.5;--font-weight-regular:300}hr{border-block-start:0;border-color:var(--mer-border-color__on-elevation--01);inline-size:100%;margin:0}';
8
8
 
9
- var c = undefined && undefined.__classPrivateFieldGet || function(e, a, s, t) {
10
- if (s === "a" && !t) throw new TypeError("Private accessor was defined without a getter");
11
- if (typeof a === "function" ? e !== a || !t : !a.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
12
- return s === "m" ? t : s === "a" ? t.call(e) : t ? t.value : a.get(e);
9
+ var l = undefined && undefined.__classPrivateFieldGet || function(e, a, s, i) {
10
+ if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
11
+ if (typeof a === "function" ? e !== a || !i : !a.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
12
+ return s === "m" ? i : s === "a" ? i.call(e) : i ? i.value : a.get(e);
13
13
  };
14
14
 
15
- var l, d, m, p, g, h;
15
+ var c, d, m, p, g, h;
16
16
 
17
17
  const u = r({
18
18
  category: "gemini-tools",
@@ -20,72 +20,56 @@ const u = r({
20
20
  colorType: "primary"
21
21
  });
22
22
 
23
- const f = r({
24
- category: "system",
25
- name: "expand",
26
- colorType: "on-primary"
27
- });
28
-
29
- const v = r({
30
- category: "system",
31
- name: "collapse-content",
32
- colorType: "on-primary"
33
- });
34
-
35
- const y = "./gx-ide-assets/details-acknowledgements/images";
23
+ const f = "./gx-ide-assets/details-acknowledgements/images";
36
24
 
37
- const b = "300px";
25
+ const v = "300px";
38
26
 
39
- const k = e(`${y}/genexus-next-logo.svg`);
27
+ const b = e(`${f}/genexus-next-logo.svg`);
40
28
 
41
- const w = e(`${y}/top-start.svg`);
29
+ const y = e(`${f}/top-start.svg`);
42
30
 
43
- const x = e(`${y}/bottom-start.svg`);
31
+ const k = e(`${f}/bottom-start.svg`);
44
32
 
45
- const _ = e(`${y}/bottom-end.svg`);
33
+ const w = e(`${f}/bottom-end.svg`);
46
34
 
47
- const $ = [ "resets/box-sizing", "utils/typography", "utils/elevation", "components/button", "components/icon", "chameleon/scrollbar" ];
35
+ const x = [ "resets/box-sizing", "utils/typography", "utils/elevation", "components/button", "components/icon", "chameleon/scrollbar" ];
48
36
 
49
- const z = class {
37
+ const _ = class {
50
38
  constructor(e) {
51
39
  a(this, e);
52
- l.set(this, (e => e === null || e === void 0 ? void 0 : e.toISOString().split("T")[0]));
53
- d.set(this, ((e, a = "name", t) => a === "name" ? s("ul", {
54
- class: "licenses-names-list"
55
- }, e.map((e => s("li", {
56
- class: "color-default body-regular-m licenses-names-item"
57
- }, e.name)))) : s("ul", {
58
- class: "licenses-descriptions-list"
59
- }, e.map((e => {
60
- const a = c(this, p, "f").call(this, t, e.name);
61
- const i = a === this.expandedLicenseId;
62
- return s("li", {
40
+ c.set(this, (e => e === null || e === void 0 ? void 0 : e.toISOString().split("T")[0]));
41
+ d.set(this, ((e, a = "name", i) => {
42
+ const t = l(this, p, "f").call(this, i, e.name);
43
+ const r = t === this.expandedLicenseId;
44
+ return a === "name" ? s("ul", {
45
+ class: "licenses-names-list"
46
+ }, s("li", {
47
+ class: "color-default body-regular-m licenses-names-item"
48
+ }, e.name)) : s("ul", {
49
+ class: "licenses-descriptions-list"
50
+ }, s("li", {
63
51
  class: "licenses-descriptions-item",
64
- key: a
65
- }, i ? s("p", {
52
+ key: e.name
53
+ }, r ? s("p", {
66
54
  class: "code-box color-neutral licenses-descriptions-description scrollable"
67
- }, e.description) : null);
68
- })))));
69
- m.set(this, ((e, a) => s("div", {
70
- class: "licenses-buttons-container buttons-spacer"
71
- }, e.map((e => {
72
- const t = c(this, p, "f").call(this, a, e.name);
73
- const i = t === this.expandedLicenseId;
74
- const r = i ? v : f;
75
- const o = `${e.name} ${this._componentLocale.packageCard.licenseLabel}`;
76
- return s("button", {
55
+ }, e.description) : null));
56
+ }));
57
+ m.set(this, ((e, a) => {
58
+ const i = l(this, p, "f").call(this, a, e.name);
59
+ const t = i === this.expandedLicenseId;
60
+ const r = t ? this._componentLocale.detailsCard.hide : this._componentLocale.detailsCard.show;
61
+ return s("div", {
62
+ class: "licenses-buttons-container buttons-spacer"
63
+ }, s("button", {
77
64
  class: {
78
65
  "button-icon-and-text": true,
79
- "button-primary": !i,
80
- "button-secondary": i,
66
+ "button-primary": !t,
67
+ "button-secondary": t,
81
68
  "show-more-button": true
82
69
  },
83
- onClick: c(this, g, "f").call(this, t)
84
- }, s("ch-image", {
85
- src: r,
86
- class: "package-icon icon-md"
87
- }), o);
88
- })))));
70
+ onClick: l(this, g, "f").call(this, i)
71
+ }, r));
72
+ }));
89
73
  p.set(this, ((e, a) => `${e.packageName}-${e.packageVersion}-${a}`));
90
74
  g.set(this, (e => () => {
91
75
  if (e === this.expandedLicenseId) {
@@ -113,21 +97,21 @@ const z = class {
113
97
  }
114
98
  render() {
115
99
  var e;
116
- const a = c(this, l, "f").call(this, this.dateGenerated);
117
- return s(t, {
100
+ const a = l(this, c, "f").call(this, this.dateGenerated);
101
+ return s(i, {
118
102
  class: "scrollable",
119
103
  style: {
120
- backgroundImage: `url(${w}), url(${x}), url(${_})`,
104
+ backgroundImage: `url(${y}), url(${k}), url(${w})`,
121
105
  backgroundPosition: "left top, left bottom, right bottom",
122
106
  backgroundRepeat: "no-repeat, no-repeat, no-repeat",
123
- backgroundSize: `${b}, ${b}, ${b}`
107
+ backgroundSize: `${v}, ${v}, ${v}`
124
108
  }
125
109
  }, s("ch-theme", {
126
- model: $
110
+ model: x
127
111
  }), s("div", {
128
112
  class: "main-wrapper"
129
113
  }, s("img", {
130
- src: k,
114
+ src: b,
131
115
  class: "logo"
132
116
  }), s("div", {
133
117
  class: "card card-details elevation-1"
@@ -148,10 +132,10 @@ const z = class {
148
132
  dateTime: a
149
133
  }, a))), (e = this.packages) === null || e === void 0 ? void 0 : e.map((e => {
150
134
  let a = `${e.packageName} ${e.packageVersion}`;
151
- const t = e.packageURL ? s("a", {
135
+ const i = e.packageURL ? s("a", {
152
136
  href: e.packageURL,
153
137
  target: "_blank",
154
- onClick: c(this, h, "f").call(this, e.packageURL),
138
+ onClick: l(this, h, "f").call(this, e.packageURL),
155
139
  class: "package-link"
156
140
  }, a, s("ch-image", {
157
141
  src: u,
@@ -165,23 +149,23 @@ const z = class {
165
149
  "package-name": true,
166
150
  "has-link": !!e.packageURL
167
151
  }
168
- }, t), s("p", {
152
+ }, i), s("p", {
169
153
  class: "color-default subtitle-semi-bold-s"
170
- }, this._componentLocale.packageCard.declaredLicenses), c(this, d, "f").call(this, e.declaredLicenses, "name"), c(this, d, "f").call(this, e.declaredLicenses, "description", e), c(this, m, "f").call(this, e.declaredLicenses, e));
154
+ }, this._componentLocale.packageCard.declaredLicenses), l(this, d, "f").call(this, e.declaredLicense, "name", e), l(this, d, "f").call(this, e.declaredLicense, "description", e), l(this, m, "f").call(this, e.declaredLicense, e));
171
155
  }))));
172
156
  }
173
157
  static get assetsDirs() {
174
158
  return [ "gx-ide-assets/details-acknowledgements" ];
175
159
  }
176
160
  get el() {
177
- return i(this);
161
+ return t(this);
178
162
  }
179
163
  };
180
164
 
181
- l = new WeakMap, d = new WeakMap, m = new WeakMap, p = new WeakMap, g = new WeakMap,
165
+ c = new WeakMap, d = new WeakMap, m = new WeakMap, p = new WeakMap, g = new WeakMap,
182
166
  h = new WeakMap;
183
167
 
184
- z.style = n;
168
+ _.style = n;
185
169
 
186
- export { z as gx_ide_details_acknowledgements };
187
- //# sourceMappingURL=p-5e2f9545.entry.js.map
170
+ export { _ as gx_ide_details_acknowledgements };
171
+ //# sourceMappingURL=p-bd0ffc08.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["detailsAcknowledgementsCss","OPEN_WINDOW_ICON","getIconPath","category","name","colorType","IMAGES_PATH","BACKGROUND_SIZE","GENEXUS_NEXT_LOGO_SRC","getAssetPath","BG_IMAGE_TOP_START","BG_IMAGE_BOTTOM_START","BG_IMAGE_BOTTOM_END","CSS_BUNDLES","GxIdeDetailsAcknowledgements","_GxIdeDetailsAcknowledgements_getFormatedDate","set","this","date","toISOString","split","_GxIdeDetailsAcknowledgements_renderLicenseInfo","license","type","packageData","licenseId","__classPrivateFieldGet","_GxIdeDetailsAcknowledgements_getLicenseId","call","showDescription","expandedLicenseId","h","class","key","description","_GxIdeDetailsAcknowledgements_renderLicensesViewButtons","visibleLicenseButton","viewLicenseButtonLabel","_componentLocale","detailsCard","hide","show","onClick","_GxIdeDetailsAcknowledgements_viewLicenseClickedHandler","licenseName","packageName","packageVersion","undefined","_GxIdeDetailsAcknowledgements_openLinkClickedHandler","url","e","openPackageUrlCallback","preventDefault","componentWillLoad","Locale","getComponentStrings","el","render","formatedDate","dateGenerated","Host","style","backgroundImage","backgroundPosition","backgroundRepeat","backgroundSize","model","src","title","mainDescription","secondaryDescription","dateTime","_a","packages","map","packageItem","headingContent","packageURL","href","target","packageCard","declaredLicenses","declaredLicense"],"sources":["src/components/details-acknowledgements/details-acknowledgements.scss?tag=gx-ide-details-acknowledgements&encapsulation=shadow","src/components/details-acknowledgements/details-acknowledgements.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-auto-rows: max-content;\n justify-content: center;\n padding: 95px var(--mer-spacing--lg) 95px var(--mer-spacing--lg);\n overflow: auto;\n}\n\n%resetList {\n // TODO: Use mixin from common\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.main-wrapper {\n max-inline-size: 1000px;\n display: grid;\n gap: var(--mer-spacing--xl);\n}\n\n.logo {\n inline-size: 200px;\n margin: 0 auto;\n margin-block-end: var(--mer-spacing--2xl);\n opacity: 0;\n transform: translateY(var(--mer-spacing--2xs));\n animation: showLogo var(--mer-timing--regular) ease-out forwards;\n animation-delay: var(--mer-timing--regular);\n}\n@keyframes showLogo {\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// general\n\n.card {\n display: grid;\n border-radius: var(--mer-border__radius--sm);\n border-width: var(--mer-border__width--sm);\n border-color: var(--elevation-border-color);\n border-style: solid;\n padding: var(--mer-spacing--lg);\n gap: var(--mer-spacing--md);\n opacity: 0;\n animation: showCard var(--mer-timing--fast) ease-out forwards;\n animation-delay: calc(var(--mer-timing--regular) * 2);\n}\n@keyframes showCard {\n 100% {\n opacity: 1;\n }\n}\n\n// details card\n\nh1.title {\n font-weight: 600;\n}\n\n.intro-container {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.date-container {\n display: grid;\n gap: var(--mer-spacing--sm);\n}\n\n// package card\n\n.card-package {\n opacity: 0;\n transition: opacity var(--mer-timing--fast);\n}\n\n.package-name {\n --package-name-color: var(--mer-text__primary);\n color: var(--package-name-color);\n\n a {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n &.has-link {\n // TODO: This should be a class in Mercury\n &:hover {\n --package-name-color: var(--mer-text__primary--hover);\n }\n &:active {\n --package-name-color: var(--mer-text__primary--active);\n }\n }\n}\n.package-link {\n display: inline-block;\n}\n\n.licenses-names-list {\n @extend %resetList;\n display: flex;\n align-items: center;\n}\n.licenses-names-item:not(:first-child)::before {\n content: \"•\";\n padding-inline: 8px;\n}\n\n.licenses-descriptions-list {\n @extend %resetList;\n}\n.licenses-descriptions-description {\n white-space: break-spaces;\n max-block-size: 940px;\n overflow: auto;\n line-height: 1.5;\n}\n.licenses-descriptions-item {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.code-box {\n border-radius: var(--mer-border__radius--sm);\n background-color: var(--mer-surface);\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: var(--mer-spacing--md);\n font-family: var(--font-family-code);\n font-size: var(--font-size-body-s);\n display: grid;\n gap: var(--mer-spacing--lg);\n}\n\n.description-list {\n display: grid;\n gap: var(--mer-spacing--xs);\n max-inline-size: 400px;\n margin: 0 auto;\n}\n\n.show-more-button {\n justify-self: start;\n}\n\n// utilities\n// WA/TODO: This should be defined on Mercury\n.color-default {\n color: var(--mer-text__highlighted);\n}\n.color-neutral {\n color: var(--mer-color__neutral-gray--400);\n}\n.color-primary {\n color: var(--mer-text__primary);\n}\n\np {\n // TODO: Update line-height values on Mercury\n --line-height-tight: 1.5;\n --font-weight-regular: 300;\n}\n\nhr {\n // WA/TODO: A style for hr should be defined on Mercury\n border-block-start: 0;\n border-color: var(--mer-border-color__on-elevation--01);\n inline-size: 100%;\n margin: 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nimport type { PackageData, License, OpenPackageURLCallback } from \"./types\";\n\nconst OPEN_WINDOW_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"open-window\",\n colorType: \"primary\"\n});\n\nconst IMAGES_PATH = \"./gx-ide-assets/details-acknowledgements/images\";\nconst BACKGROUND_SIZE = \"300px\";\n\nconst GENEXUS_NEXT_LOGO_SRC = getAssetPath(\n `${IMAGES_PATH}/genexus-next-logo.svg`\n);\nconst BG_IMAGE_TOP_START = getAssetPath(`${IMAGES_PATH}/top-start.svg`);\nconst BG_IMAGE_BOTTOM_START = getAssetPath(`${IMAGES_PATH}/bottom-start.svg`);\nconst BG_IMAGE_BOTTOM_END = getAssetPath(`${IMAGES_PATH}/bottom-end.svg`);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"components/icon\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-details-acknowledgements\",\n styleUrl: \"details-acknowledgements.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/details-acknowledgements\"]\n})\nexport class GxIdeDetailsAcknowledgements {\n /**\n * The component hard-coded strings translations.\n */\n _componentLocale: any;\n\n @Element() el: HTMLGxIdeDetailsAcknowledgementsElement;\n\n /**\n * Identifier of the currently expanded license. Should combine:\n * packageName + packageVersion + license.name. Example:\n * @sentry/core-6.7.1-mit\n */\n @State() expandedLicenseId?: string;\n\n /** The date when the current release was published */\n @Prop() readonly dateGenerated?: Date;\n\n /** The version of the current release*/\n @Prop() readonly release?: string;\n\n /** The list of packages that the current release contains*/\n @Prop() readonly packages: PackageData[];\n\n /**\n * Callback invoked when the user clicks a package with a packageURL.\n * If openPackageUrlCallback is defined, the default link action is\n * prevented and the URL is passed to the host via the callback.\n * Otherwise, the link opens in a new tab as usual.\n */\n @Prop() readonly openPackageUrlCallback: OpenPackageURLCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #getFormatedDate = (date: Date) => {\n return date?.toISOString().split(\"T\")[0];\n };\n\n #renderLicenseInfo = (\n license: License,\n type: \"name\" | \"description\" = \"name\",\n packageData: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const showDescription = licenseId === this.expandedLicenseId;\n return type === \"name\" ? (\n <ul class=\"licenses-names-list\">\n <li class=\"color-default body-regular-m licenses-names-item\">\n {license.name}\n </li>\n </ul>\n ) : (\n <ul class=\"licenses-descriptions-list\">\n <li class=\"licenses-descriptions-item\" key={license.name}>\n {showDescription ? (\n <p class=\"code-box color-neutral licenses-descriptions-description scrollable\">\n {license.description}\n </p>\n ) : null}\n </li>\n </ul>\n );\n };\n\n #renderLicensesViewButtons = (\n license: License,\n packageData?: PackageData\n ): JSX.Element => {\n const licenseId = this.#getLicenseId(packageData, license.name);\n const visibleLicenseButton = licenseId === this.expandedLicenseId;\n const viewLicenseButtonLabel = visibleLicenseButton\n ? this._componentLocale.detailsCard.hide\n : this._componentLocale.detailsCard.show;\n return (\n <div class=\"licenses-buttons-container buttons-spacer\">\n {\n <button\n class={{\n \"button-icon-and-text\": true,\n \"button-primary\": !visibleLicenseButton,\n \"button-secondary\": visibleLicenseButton,\n \"show-more-button\": true\n }}\n onClick={this.#viewLicenseClickedHandler(licenseId)}\n >\n {viewLicenseButtonLabel}\n </button>\n }\n </div>\n );\n };\n\n #getLicenseId = (packageData: PackageData, licenseName: string): string => {\n return `${packageData.packageName}-${packageData.packageVersion}-${licenseName}`;\n };\n\n #viewLicenseClickedHandler = (licenseId: string) => () => {\n if (licenseId === this.expandedLicenseId) {\n // collapse\n this.expandedLicenseId = undefined;\n } else {\n // expand collapse\n this.expandedLicenseId = licenseId;\n }\n };\n\n #openLinkClickedHandler = (url: string) => (e: MouseEvent) => {\n if (this.openPackageUrlCallback) {\n e.preventDefault();\n this.openPackageUrlCallback(url);\n }\n };\n\n render() {\n const formatedDate = this.#getFormatedDate(this.dateGenerated);\n return (\n <Host\n class=\"scrollable\"\n style={{\n backgroundImage: `url(${BG_IMAGE_TOP_START}), url(${BG_IMAGE_BOTTOM_START}), url(${BG_IMAGE_BOTTOM_END})`,\n backgroundPosition: \"left top, left bottom, right bottom\",\n backgroundRepeat: \"no-repeat, no-repeat, no-repeat\",\n backgroundSize: `${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}, ${BACKGROUND_SIZE}`\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"main-wrapper\">\n <img src={GENEXUS_NEXT_LOGO_SRC} class=\"logo\"></img>\n <div class=\"card card-details elevation-1\">\n <div class=\"intro-container\">\n <h1 class=\"title heading-3 color-default\">\n {this._componentLocale.detailsCard.title}\n </h1>\n <p class=\"color-default body-regular-m\">\n {this._componentLocale.detailsCard.mainDescription}\n </p>\n <p class=\"color-neutral body-italic-s\">\n {this._componentLocale.detailsCard.secondaryDescription}\n </p>\n </div>\n\n <hr />\n\n <div class=\"date-container\">\n <p class=\"color-neutral\">\n {this._componentLocale.detailsCard.dateGenerated}\n </p>\n <time class=\"color-default\" dateTime={formatedDate}>\n {formatedDate}\n </time>\n </div>\n </div>\n\n {this.packages?.map(packageItem => {\n let packageName = `${packageItem.packageName} ${packageItem.packageVersion}`;\n const headingContent = packageItem.packageURL ? (\n <a\n href={packageItem.packageURL}\n target=\"_blank\"\n onClick={this.#openLinkClickedHandler(packageItem.packageURL)}\n class=\"package-link\"\n >\n {packageName}\n <ch-image\n src={OPEN_WINDOW_ICON}\n class=\"package-icon icon-md\"\n ></ch-image>\n </a>\n ) : (\n packageName\n );\n\n return (\n <article class=\"card card-package elevation-1\">\n <h2\n class={{\n \"subtitle-semi-bold-s\": true,\n \"package-name\": true,\n \"has-link\": !!packageItem.packageURL\n }}\n >\n {headingContent}\n </h2>\n <p class=\"color-default subtitle-semi-bold-s\">\n {this._componentLocale.packageCard.declaredLicenses}\n </p>\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"name\",\n packageItem\n )}\n\n {this.#renderLicenseInfo(\n packageItem.declaredLicense,\n \"description\",\n packageItem\n )}\n\n {this.#renderLicensesViewButtons(\n packageItem.declaredLicense,\n packageItem\n )}\n </article>\n );\n })}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ export type PackageData = {
5
5
  packageName: string;
6
6
  packageVersion: string;
7
7
  packageURL?: string;
8
- declaredLicenses: License[];
8
+ declaredLicense: License;
9
9
  };
10
10
 
11
11
  /**
@@ -20,7 +20,6 @@ export declare class GxIdeNewKb {
20
20
  collationsComboBoxModel: ComboBoxModel;
21
21
  collationsInitialValue: string;
22
22
  defaultDataSourcesComboBoxModel: ComboBoxModel;
23
- defaultDataSourcesInitialValue: string;
24
23
  prototypingTargetsComboBoxModel: ComboBoxModel;
25
24
  prototypingTargetsInitialValue: string;
26
25
  prototypingEnvironmentsComboBoxModel: ComboBoxModel;
@@ -69,8 +68,8 @@ export declare class GxIdeNewKb {
69
68
  */
70
69
  readonly getFrontEndsCallback: GetFrontEndsCallback;
71
70
  /**
72
- * Callback invoked when the user changes the prototyping target id, allowing for the modification of the list of prototyping environments
73
- */
71
+ * Callback invoked when the user changes the prototyping target id, allowing for the modification of the list of prototyping environments
72
+ */
74
73
  readonly getPrototypingEnvironmentsCallback: GetPrototypingEnvironmentsCallback;
75
74
  /**
76
75
  * Specify whether it is feasible to display information related to local configuration parameters
@@ -0,0 +1,9 @@
1
+ export declare class GxIdeStatusMessage {
2
+ _componentLocale: any;
3
+ el: HTMLGxIdeStatusMessageElement;
4
+ componentWillLoad(): Promise<void>;
5
+ componentDidLoad(): void;
6
+ render(): any;
7
+ }
8
+ export type CancelCallback = () => Promise<void>;
9
+ export type SaveCallback = () => Promise<string>;
@@ -2262,6 +2262,8 @@ export namespace Components {
2262
2262
  */
2263
2263
  "warnings": number;
2264
2264
  }
2265
+ interface GxIdeStatusMessage {
2266
+ }
2265
2267
  interface GxIdeSwitchPanel {
2266
2268
  }
2267
2269
  interface GxIdeSwitcher {
@@ -3538,6 +3540,12 @@ declare global {
3538
3540
  prototype: HTMLGxIdeStatusButtonsElement;
3539
3541
  new (): HTMLGxIdeStatusButtonsElement;
3540
3542
  };
3543
+ interface HTMLGxIdeStatusMessageElement extends Components.GxIdeStatusMessage, HTMLStencilElement {
3544
+ }
3545
+ var HTMLGxIdeStatusMessageElement: {
3546
+ prototype: HTMLGxIdeStatusMessageElement;
3547
+ new (): HTMLGxIdeStatusMessageElement;
3548
+ };
3541
3549
  interface HTMLGxIdeSwitchPanelElement extends Components.GxIdeSwitchPanel, HTMLStencilElement {
3542
3550
  }
3543
3551
  var HTMLGxIdeSwitchPanelElement: {
@@ -3762,6 +3770,7 @@ declare global {
3762
3770
  "gx-ide-start-page": HTMLGxIdeStartPageElement;
3763
3771
  "gx-ide-starting-template": HTMLGxIdeStartingTemplateElement;
3764
3772
  "gx-ide-status-buttons": HTMLGxIdeStatusButtonsElement;
3773
+ "gx-ide-status-message": HTMLGxIdeStatusMessageElement;
3765
3774
  "gx-ide-switch-panel": HTMLGxIdeSwitchPanelElement;
3766
3775
  "gx-ide-switcher": HTMLGxIdeSwitcherElement;
3767
3776
  "gx-ide-team-dev-bring-changes": HTMLGxIdeTeamDevBringChangesElement;
@@ -5912,6 +5921,8 @@ declare namespace LocalJSX {
5912
5921
  */
5913
5922
  "warnings"?: number;
5914
5923
  }
5924
+ interface GxIdeStatusMessage {
5925
+ }
5915
5926
  interface GxIdeSwitchPanel {
5916
5927
  }
5917
5928
  interface GxIdeSwitcher {
@@ -6462,6 +6473,7 @@ declare namespace LocalJSX {
6462
6473
  "gx-ide-start-page": GxIdeStartPage;
6463
6474
  "gx-ide-starting-template": GxIdeStartingTemplate;
6464
6475
  "gx-ide-status-buttons": GxIdeStatusButtons;
6476
+ "gx-ide-status-message": GxIdeStatusMessage;
6465
6477
  "gx-ide-switch-panel": GxIdeSwitchPanel;
6466
6478
  "gx-ide-switcher": GxIdeSwitcher;
6467
6479
  "gx-ide-team-dev-bring-changes": GxIdeTeamDevBringChanges;
@@ -6547,6 +6559,7 @@ declare module "@stencil/core" {
6547
6559
  "gx-ide-start-page": LocalJSX.GxIdeStartPage & JSXBase.HTMLAttributes<HTMLGxIdeStartPageElement>;
6548
6560
  "gx-ide-starting-template": LocalJSX.GxIdeStartingTemplate & JSXBase.HTMLAttributes<HTMLGxIdeStartingTemplateElement>;
6549
6561
  "gx-ide-status-buttons": LocalJSX.GxIdeStatusButtons & JSXBase.HTMLAttributes<HTMLGxIdeStatusButtonsElement>;
6562
+ "gx-ide-status-message": LocalJSX.GxIdeStatusMessage & JSXBase.HTMLAttributes<HTMLGxIdeStatusMessageElement>;
6550
6563
  "gx-ide-switch-panel": LocalJSX.GxIdeSwitchPanel & JSXBase.HTMLAttributes<HTMLGxIdeSwitchPanelElement>;
6551
6564
  "gx-ide-switcher": LocalJSX.GxIdeSwitcher & JSXBase.HTMLAttributes<HTMLGxIdeSwitcherElement>;
6552
6565
  "gx-ide-team-dev-bring-changes": LocalJSX.GxIdeTeamDevBringChanges & JSXBase.HTMLAttributes<HTMLGxIdeTeamDevBringChangesElement>;
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.1.37",
4
+ "version": "1.1.39",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",