@genexus/genexus-ide-ui 0.0.70 → 0.0.72

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 (140) hide show
  1. package/dist/cjs/ch-checkbox_4.cjs.entry.js +75 -51
  2. package/dist/cjs/ch-shortcuts.cjs.entry.js +187 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +101 -0
  5. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -2
  7. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -2
  13. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -2
  14. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -2
  20. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +3 -3
  22. package/dist/cjs/gxg-form-textarea.cjs.entry.js +28 -9
  23. package/dist/cjs/gxg-text.cjs.entry.js +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/collection/collection-manifest.json +2 -0
  26. package/dist/collection/components/_starting-template/template.css +1 -0
  27. package/dist/collection/components/ai-assistant/ai-assistant.css +389 -0
  28. package/dist/collection/components/ai-assistant/ai-assistant.js +268 -0
  29. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +5 -0
  30. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +3 -0
  31. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +3 -0
  32. package/dist/collection/components/bpm-application-declaration/bpm-app-declaration.css +1 -0
  33. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +1 -0
  34. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +0 -1
  35. package/dist/collection/components/kb-manager-export/kb-manager-export.css +1 -0
  36. package/dist/collection/components/kb-manager-import/kb-manager-import.css +1 -0
  37. package/dist/collection/components/new-environment/new-environment.css +1 -0
  38. package/dist/collection/components/new-kb/new-kb.css +1 -0
  39. package/dist/collection/components/new-object/new-object.css +1 -0
  40. package/dist/collection/components/object-selector/object-selector.css +1 -0
  41. package/dist/collection/components/object-selector/object-selector.js +0 -1
  42. package/dist/collection/components/references/references.css +1 -0
  43. package/dist/collection/components/references/references.js +0 -1
  44. package/dist/collection/components/share-kb/share-kb.css +1 -0
  45. package/dist/collection/components/team-dev/commit/commit.css +1 -0
  46. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +1 -0
  47. package/dist/collection/components/team-dev/update/update.css +1 -0
  48. package/dist/collection/components/team-dev/update/update.js +0 -1
  49. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +1 -0
  50. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +1 -0
  51. package/dist/collection/components/ww-images/ww-images.css +13 -13
  52. package/dist/collection/components/ww-images/ww-images.js +2 -3
  53. package/dist/components/ch-shortcuts.js +217 -0
  54. package/dist/components/form-textarea.js +30 -9
  55. package/dist/components/gx-ide-ai-assistant.d.ts +11 -0
  56. package/dist/components/gx-ide-ai-assistant.js +150 -0
  57. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  58. package/dist/components/gx-ide-create-kb-from-server.js +1 -2
  59. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  60. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  61. package/dist/components/gx-ide-new-environment.js +1 -1
  62. package/dist/components/gx-ide-new-kb.js +1 -1
  63. package/dist/components/gx-ide-new-object.js +1 -1
  64. package/dist/components/gx-ide-object-selector.js +1 -2
  65. package/dist/components/gx-ide-references.js +1 -2
  66. package/dist/components/gx-ide-share-kb.js +1 -1
  67. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  68. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  69. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  70. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  71. package/dist/components/gx-ide-team-dev-update.js +1 -2
  72. package/dist/components/gx-ide-template.js +1 -1
  73. package/dist/components/gx-ide-ww-images.js +3 -3
  74. package/dist/components/index.d.ts +1 -0
  75. package/dist/components/index.js +2 -0
  76. package/dist/components/text.js +1 -1
  77. package/dist/components/tree-view-item.js +1 -1
  78. package/dist/components/tree-view-render.js +73 -48
  79. package/dist/components/tree-view.js +2 -2
  80. package/dist/esm/ch-checkbox_4.entry.js +75 -51
  81. package/dist/esm/ch-shortcuts.entry.js +183 -0
  82. package/dist/esm/genexus-ide-ui.js +1 -1
  83. package/dist/esm/gx-ide-ai-assistant.entry.js +97 -0
  84. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  85. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -2
  86. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  87. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  88. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  89. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  90. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  91. package/dist/esm/gx-ide-object-selector.entry.js +1 -2
  92. package/dist/esm/gx-ide-references.entry.js +1 -2
  93. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  94. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  95. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  96. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  97. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  98. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -2
  99. package/dist/esm/gx-ide-template.entry.js +1 -1
  100. package/dist/esm/gx-ide-ww-images.entry.js +3 -3
  101. package/dist/esm/gxg-form-textarea.entry.js +28 -9
  102. package/dist/esm/gxg-text.entry.js +1 -1
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  105. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +5 -0
  106. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +3 -0
  107. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +3 -0
  108. package/dist/genexus-ide-ui/{p-aacd75fc.entry.js → p-11fa1c83.entry.js} +1 -1
  109. package/dist/genexus-ide-ui/{p-8f4d3169.entry.js → p-13085dd7.entry.js} +1 -1
  110. package/dist/genexus-ide-ui/{p-561cf515.entry.js → p-3d410e77.entry.js} +1 -1
  111. package/dist/genexus-ide-ui/{p-3f8995ba.entry.js → p-3d4722f2.entry.js} +1 -1
  112. package/dist/genexus-ide-ui/{p-99a0cd49.entry.js → p-440fe7b3.entry.js} +1 -1
  113. package/dist/genexus-ide-ui/{p-4c0ecfe3.entry.js → p-446c0831.entry.js} +1 -1
  114. package/dist/genexus-ide-ui/{p-46c2406e.entry.js → p-7e52f6fb.entry.js} +1 -1
  115. package/dist/genexus-ide-ui/{p-2b9edc3b.entry.js → p-8c5919ec.entry.js} +1 -1
  116. package/dist/genexus-ide-ui/p-99277f8f.entry.js +1 -0
  117. package/dist/genexus-ide-ui/{p-4313d9be.entry.js → p-9a15e22e.entry.js} +1 -1
  118. package/dist/genexus-ide-ui/{p-6929875a.entry.js → p-9ad85778.entry.js} +1 -1
  119. package/dist/genexus-ide-ui/p-abfa88ed.entry.js +1 -0
  120. package/dist/genexus-ide-ui/{p-e23d6f44.entry.js → p-b34d258d.entry.js} +1 -1
  121. package/dist/genexus-ide-ui/p-b417c899.entry.js +1 -0
  122. package/dist/genexus-ide-ui/{p-c2ffd150.entry.js → p-ba31a49e.entry.js} +1 -1
  123. package/dist/genexus-ide-ui/p-baffd9b1.entry.js +1 -0
  124. package/dist/genexus-ide-ui/{p-083e01a8.entry.js → p-c3895c79.entry.js} +1 -1
  125. package/dist/genexus-ide-ui/p-cb07fc99.entry.js +1 -0
  126. package/dist/genexus-ide-ui/{p-46901569.entry.js → p-d2aca59f.entry.js} +1 -1
  127. package/dist/genexus-ide-ui/{p-7af7779b.entry.js → p-d664fa18.entry.js} +1 -1
  128. package/dist/genexus-ide-ui/{p-e090d88c.entry.js → p-e13a299b.entry.js} +1 -1
  129. package/dist/genexus-ide-ui/p-f1922c2f.entry.js +1 -0
  130. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/shortcuts/ch-shortcuts.css +3 -0
  131. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +0 -1
  132. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +44 -2
  133. package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +4 -1
  134. package/dist/types/components/ai-assistant/ai-assistant.d.ts +65 -0
  135. package/dist/types/components.d.ts +70 -0
  136. package/package.json +3 -3
  137. package/dist/genexus-ide-ui/p-537a181a.entry.js +0 -1
  138. package/dist/genexus-ide-ui/p-abcf0172.entry.js +0 -1
  139. package/dist/genexus-ide-ui/p-b207b863.entry.js +0 -1
  140. package/dist/genexus-ide-ui/p-ee85040d.entry.js +0 -1
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -220,7 +220,6 @@ export class GxIdeObjectSelector {
220
220
  }
221
221
  // 10.RENDER() FUNCTION //
222
222
  render() {
223
- console.log(this.selectedObjectsIds.length);
224
223
  return (h(Host, { class: "gx-ide-component", onKeyPress: this.hostKeyPressHandler }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, noContentPadding: true, noAboveFooterPadding: true, noHeadingPadding: true, headingPaddingTop: true, noHeadingBorder: true, slimmerFooter: config.gxIdeContainer.slimmerFooter }, this.renderFilter(), this.renderObjects(), h("div", { class: "objects-count", slot: "footer-above" }, h("gxg-text", { class: "align-end", part: "objects-selected", textAlign: "center" }, this.evaluateObjectsCount("selected")), h("gxg-text", { class: "align-end", part: "objects-matching", textAlign: "center" }, this.evaluateObjectsCount("matching"))), h("gxg-button", { type: "outlined", onClick: this.cancelCallbackHandle, part: "gxg-button gxg-button--cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), h("gxg-button", { type: "primary-text-only", onClick: this.openSelectionCallbackHandler, part: "gxg-button gxg-button--ok", slot: "footer-end" }, this._componentLocale.footer.btnConfirm), h("gxg-button", { type: "primary-text-icon", icon: "menus/new-object", onClick: this.newObjectCallbackHandle, part: "gxg-button gxg-button--new", slot: "footer-start" }, this._componentLocale.footer.btnNew), this.multiSelection ? (h("gxg-button", { type: "secondary-text-only", onClick: this.selectAll, part: "gxg-button gxg-button--select-all", slot: "footer-start" }, this._componentLocale.footer.btnSelectAll)) : null))));
225
224
  }
226
225
  static get is() { return "gx-ide-object-selector"; }
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -40,7 +40,6 @@ export class GxIdeReferences {
40
40
  });
41
41
  };
42
42
  this.openObjectCallbackHandler = async () => {
43
- console.log("openObjectCallback");
44
43
  this.openObjectCallback(this.selectedObject.id);
45
44
  /* Returns an empty Promise*/
46
45
  };
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -138,7 +138,6 @@ export class GxIdeTeamDevUpdate {
138
138
  return h("gxg-icon", { type: type, color: color });
139
139
  };
140
140
  this.loadData = async () => {
141
- console.log("load");
142
141
  const filters = {
143
142
  pattern: this.showFilter ? this.filterPatternEl.value : null,
144
143
  type: this.showFilter ? this.filterTypeEl.value : null
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -105,6 +105,7 @@ gxg-tabs {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  flex-grow: 1;
108
+ box-sizing: border-box;
108
109
  }
109
110
 
110
111
  /*This is the main element. This is the one that take the remaining vertical space*/
@@ -249,39 +250,38 @@ Found on /common/helpers.tsx hiChar function is used to add a span/class to ever
249
250
  padding-top: var(--gxg-container--padding);
250
251
  overflow: hidden;
251
252
  display: grid;
252
- grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
253
- grid-template-rows: repeat(4, min-content);
254
- grid-template-areas: "search-contents search-contents category category options options" "date-time date-time after-date-time after-date-time user user" "style style language language density density" "layer layer . . . .";
253
+ grid-template-columns: repeat(12, 1fr);
254
+ grid-template-rows: repeat(3, 1fr);
255
255
  }
256
256
  .filters-inner-wrapper .search-contents {
257
- grid-area: search-contents;
257
+ grid-area: 1/1/2/5;
258
258
  }
259
259
  .filters-inner-wrapper .category {
260
- grid-area: category;
260
+ grid-area: 1/5/2/9;
261
261
  }
262
262
  .filters-inner-wrapper .options {
263
- grid-area: options;
263
+ grid-area: 1/9/2/13;
264
264
  }
265
265
  .filters-inner-wrapper .date-time {
266
- grid-area: date-time;
266
+ grid-area: 2/1/3/5;
267
267
  }
268
268
  .filters-inner-wrapper .after-date-time {
269
- grid-area: after-date-time;
269
+ grid-area: 2/5/3/9;
270
270
  }
271
271
  .filters-inner-wrapper .user {
272
- grid-area: user;
272
+ grid-area: 2/9/3/13;
273
273
  }
274
274
  .filters-inner-wrapper .style {
275
- grid-area: style;
275
+ grid-area: 3/1/4/4;
276
276
  }
277
277
  .filters-inner-wrapper .language {
278
- grid-area: language;
278
+ grid-area: 3/4/4/7;
279
279
  }
280
280
  .filters-inner-wrapper .density {
281
- grid-area: density;
281
+ grid-area: 3/7/4/10;
282
282
  }
283
283
  .filters-inner-wrapper .layer {
284
- grid-area: layer;
284
+ grid-area: 3/10/4/13;
285
285
  }
286
286
 
287
287
  .master-wrapper {
@@ -87,7 +87,7 @@ export class GxIdeWWImages {
87
87
  this.renderImagesData = () => {
88
88
  return (
89
89
  /* images information*/
90
- h("gx-ide-container", { contentBorderEnd: true, noContentPadding: true, titleType: "secondary", containerTitle: !this.secondaryFilter ? this._componentLocale.imagesDataTitle : null, class: { "images-information": true, "overflow-auto": true }, part: "grid-container" }, this.secondaryFilter ? (h("header", { class: "images-information__header", slot: "header" }, h("gx-ide-title", { type: "secondary", class: "images-information__header-title" }, this._componentLocale.imagesDataTitle), h("gxg-form-text", { icon: "gemini-tools/search", "icon-position": "start", placeholder: "Search by any field", onInput: this.filterInputHandler }))) : null, h("gxg-grid", { part: "images-table", "ellipsis-cell-wrapper": true, noBorder: true }, h("ch-grid", { "row-selection-mode": "multiple", ref: (el) => (this.chGridEl = el), part: "ch-grid-images" }, h("ch-grid-columnset", null, h("ch-grid-column", { columnName: "", columnNameHidden: false, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.name, columnNameHidden: false, settingable: false, size: gridCommon.colSize.common }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.module, columnNameHidden: false, settingable: false, size: gridCommon.colSize.common }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.description, columnNameHidden: false, settingable: false, size: gridCommon.colSize.common }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.modifiedDate, columnNameHidden: false, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.lastUser, columnNameHidden: false, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.importDate, columnNameHidden: false, settingable: false, size: gridCommon.colSize.auto })), this.filteredImages.map((obj) => (h("ch-grid-row", { rowid: obj.id }, h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }), h("gxg-icon", { type: obj.icon, color: "auto" })), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(obj.name, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(obj.module, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(obj.description, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(`${formatDate(obj.modifiedDate)}`, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(obj.lastUser, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(`${formatDate(obj.importDate)}`, this.filterImagesInputValue))))))))));
90
+ h("gx-ide-container", { contentBorderEnd: true, noContentPadding: true, titleType: "secondary", containerTitle: !this.secondaryFilter ? this._componentLocale.imagesDataTitle : null, class: { "images-information": true, "overflow-auto": true }, part: "grid-container" }, this.secondaryFilter ? (h("header", { class: "images-information__header", slot: "header" }, h("gx-ide-title", { type: "secondary", class: "images-information__header-title" }, this._componentLocale.imagesDataTitle), h("gxg-form-text", { icon: "gemini-tools/search", "icon-position": "start", placeholder: "Search by any field", onInput: this.filterInputHandler }))) : null, h("gxg-grid", { part: "images-table", "ellipsis-cell-wrapper": true, noBorder: true }, h("ch-grid", { "row-selection-mode": "multiple", ref: (el) => (this.chGridEl = el), part: "ch-grid-images", rowSelectionMode: "single" }, h("ch-grid-columnset", null, h("ch-grid-column", { columnName: "", columnNameHidden: false, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.name, columnNameHidden: false, settingable: false, size: gridCommon.colSize.common }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.module, columnNameHidden: false, settingable: false, size: gridCommon.colSize.common }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.description, columnNameHidden: false, settingable: false, size: gridCommon.colSize.common }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.modifiedDate, columnNameHidden: false, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.lastUser, columnNameHidden: false, settingable: false, size: gridCommon.colSize.auto }), h("ch-grid-column", { columnName: this._componentLocale.tableHead.importDate, columnNameHidden: false, settingable: false, size: gridCommon.colSize.auto })), this.filteredImages.map((obj) => (h("ch-grid-row", { rowid: obj.id }, h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }), h("gxg-icon", { type: obj.icon, color: "auto" })), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(obj.name, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(obj.module, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(obj.description, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(`${formatDate(obj.modifiedDate)}`, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(obj.lastUser, this.filterImagesInputValue))), h("ch-grid-cell", null, h("span", { class: "cell-wrapper" }, hiChar(`${formatDate(obj.importDate)}`, this.filterImagesInputValue))))))))));
91
91
  };
92
92
  this.renderImages = () => {
93
93
  return (
@@ -204,8 +204,7 @@ export class GxIdeWWImages {
204
204
  this.getImages();
205
205
  });
206
206
  // for grid selection
207
- this.chGridEl.addEventListener("rowClicked", (ev) => {
208
- ev.detail.rowId;
207
+ this.chGridEl.addEventListener("selectionChanged", (ev) => {
209
208
  this.loadImageItemsCallback(ev.detail.rowId).then((items) => {
210
209
  this.imagesSelectedItems = items;
211
210
  });
@@ -0,0 +1,217 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+ import { f as focusComposedPath } from './helpers.js';
3
+ import { d as defineCustomElement$3 } from './ch-window2.js';
4
+ import { d as defineCustomElement$2 } from './ch-window-close2.js';
5
+
6
+ const CH_SHORTCUTS = new Map();
7
+ function loadShortcuts(name, root, shortcuts) {
8
+ shortcuts.forEach(shortcut => {
9
+ const keyShortcuts = parseKeyShortcuts(shortcut.keyShortcuts);
10
+ keyShortcuts.forEach(keyShortcut => {
11
+ CH_SHORTCUTS.set(normalize(keyShortcut.ctrl, keyShortcut.alt, keyShortcut.shift, keyShortcut.meta, keyShortcut.key), {
12
+ name,
13
+ root,
14
+ shortcut
15
+ });
16
+ });
17
+ });
18
+ addListener();
19
+ }
20
+ function unloadShortcuts(name) {
21
+ const removeKeyShortcuts = [];
22
+ CH_SHORTCUTS.forEach((shortcutMap, key) => {
23
+ if (shortcutMap.name === name) {
24
+ removeKeyShortcuts.push(key);
25
+ }
26
+ });
27
+ removeKeyShortcuts.forEach(key => CH_SHORTCUTS.delete(key));
28
+ removeListener();
29
+ }
30
+ function getShortcuts() {
31
+ return Array.from(CH_SHORTCUTS.values())
32
+ .filter(shortcutMap => {
33
+ var _a;
34
+ return !((_a = shortcutMap.shortcut.conditions) === null || _a === void 0 ? void 0 : _a.focusInclude);
35
+ })
36
+ .map(shortcutMap => ({
37
+ element: querySelectorPlus(shortcutMap.shortcut.selector, shortcutMap.root),
38
+ keyShortcuts: shortcutMap.shortcut.keyShortcuts,
39
+ legendPosition: shortcutMap.shortcut.legendPosition
40
+ }));
41
+ }
42
+ function addListener() {
43
+ if (CH_SHORTCUTS.size > 0) {
44
+ window.addEventListener("keydown", keydownHandler, { capture: true });
45
+ }
46
+ }
47
+ function removeListener() {
48
+ if (CH_SHORTCUTS.size === 0) {
49
+ window.removeEventListener("keydown", keydownHandler, { capture: true });
50
+ }
51
+ }
52
+ function keydownHandler(eventInfo) {
53
+ const shortcutMap = CH_SHORTCUTS.get(normalize(eventInfo.ctrlKey, eventInfo.altKey, eventInfo.shiftKey, eventInfo.metaKey, eventInfo.key));
54
+ if (shortcutMap && conditions(shortcutMap)) {
55
+ const element = querySelectorPlus(shortcutMap.shortcut.selector, shortcutMap.root);
56
+ if (element) {
57
+ switch (shortcutMap.shortcut.action) {
58
+ case "click":
59
+ element.dispatchEvent(new Event("click"));
60
+ break;
61
+ default:
62
+ element.focus();
63
+ }
64
+ if (shortcutMap.shortcut.preventDefault !== false) {
65
+ eventInfo.preventDefault();
66
+ }
67
+ }
68
+ }
69
+ }
70
+ function parseKeyShortcuts(value = "") {
71
+ return value.split(" ").map(item => {
72
+ const match = item.match(/(?:(?<ctrl>Ctrl)?(?<alt>Alt)?(?<shift>Shift)?(?<meta>Meta)?\+?)*(?<key>.*)?/i);
73
+ if (match.groups.key !== "") {
74
+ return {
75
+ ctrl: match.groups.ctrl !== undefined,
76
+ alt: match.groups.alt !== undefined,
77
+ shift: match.groups.shift !== undefined,
78
+ meta: match.groups.meta !== undefined,
79
+ key: match.groups.key
80
+ };
81
+ }
82
+ });
83
+ }
84
+ function normalize(ctrl, alt, shift, meta, key) {
85
+ return [
86
+ ctrl ? "Ctrl" : null,
87
+ alt ? "Alt" : null,
88
+ shift ? "Shift" : null,
89
+ meta ? "Meta" : null,
90
+ key ? key.charAt(0).toUpperCase() + key.slice(1) : null
91
+ ]
92
+ .filter(element => {
93
+ return element !== null;
94
+ })
95
+ .join("+");
96
+ }
97
+ function conditions(shortcutMap) {
98
+ var _a, _b, _c, _d;
99
+ const focus = focusComposedPath();
100
+ if ((_a = shortcutMap.shortcut.conditions) === null || _a === void 0 ? void 0 : _a.focusInclude) {
101
+ return Array.from(shortcutMap.root.querySelectorAll((_b = shortcutMap.shortcut.conditions) === null || _b === void 0 ? void 0 : _b.focusInclude)).some((el) => focus.includes(el));
102
+ }
103
+ if ((_c = shortcutMap.shortcut.conditions) === null || _c === void 0 ? void 0 : _c.focusExclude) {
104
+ return !Array.from(shortcutMap.root.querySelectorAll((_d = shortcutMap.shortcut.conditions) === null || _d === void 0 ? void 0 : _d.focusExclude)).some((el) => focus.includes(el));
105
+ }
106
+ return true;
107
+ }
108
+ function querySelectorPlus(selector, root) {
109
+ const querySelectorDeep = (element, parts) => {
110
+ const shadow = element.shadowRoot;
111
+ const partList = parts.split(" ");
112
+ const partElement = shadow.querySelector(partList.map(partName => `[part~="${partName}"]`).join(""));
113
+ if (partElement) {
114
+ return partElement;
115
+ }
116
+ const exportPartElement = shadow.querySelector(partList.map(partName => `[exportparts*="${partName}"]`).join(""));
117
+ if (exportPartElement) {
118
+ const exportPartList = [];
119
+ const exportparts = exportPartElement.getAttribute("exportparts");
120
+ partList.forEach(partItem => {
121
+ const exportPartName = exportparts.match(`(?:([\\w-]+):)?(${partItem})`)[1];
122
+ if (exportPartName) {
123
+ exportPartList.push(exportPartName);
124
+ }
125
+ });
126
+ if (partList.length === exportPartList.length) {
127
+ return querySelectorDeep(exportPartElement, exportPartList.join(" "));
128
+ }
129
+ }
130
+ return null;
131
+ };
132
+ if (selector.includes("::part")) {
133
+ const selectorItems = selector.match("(.*)::part\\(([^)]+)\\)");
134
+ const entity = selectorItems[1];
135
+ const partName = selectorItems[2];
136
+ return querySelectorDeep(root.querySelector(entity), partName);
137
+ }
138
+ else {
139
+ return root.querySelector(selector);
140
+ }
141
+ }
142
+
143
+ const chShortcutsCss = ":host{display:contents}";
144
+
145
+ const ChShortcuts$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
146
+ constructor() {
147
+ super();
148
+ this.__registerHost();
149
+ this.__attachShadow();
150
+ this.showShortcuts = false;
151
+ this.showKey = "F10";
152
+ this.windowClosedHandler = () => {
153
+ this.showShortcuts = false;
154
+ };
155
+ }
156
+ componentDidLoad() {
157
+ if (this.src) {
158
+ fetch(this.src).then(response => {
159
+ if (response.ok) {
160
+ response.json().then(json => {
161
+ const root = this.el.getRootNode();
162
+ loadShortcuts(this.src, root, json);
163
+ });
164
+ }
165
+ });
166
+ }
167
+ }
168
+ disconnectedCallback() {
169
+ unloadShortcuts(this.src);
170
+ }
171
+ windowKeyDownHandler(eventInfo) {
172
+ if (eventInfo.key === this.showKey) {
173
+ this.showShortcuts = !this.showShortcuts;
174
+ eventInfo.preventDefault();
175
+ }
176
+ }
177
+ renderShortcuts() {
178
+ return getShortcuts().map(shortcut => (h("ch-window", { container: shortcut.element, modal: false, hidden: false, closeOnEscape: true, closeOnOutsideClick: true, xAlign: "outside-end", yAlign: "inside-start", onWindowClosed: this.windowClosedHandler, exportparts: "mask:element" }, h("span", { part: "tooltip" }, shortcut.keyShortcuts))));
179
+ }
180
+ render() {
181
+ return h(Host, null, this.showShortcuts && this.renderShortcuts());
182
+ }
183
+ get el() { return this; }
184
+ static get style() { return chShortcutsCss; }
185
+ }, [1, "ch-shortcuts", {
186
+ "src": [1],
187
+ "showKey": [1, "show-key"],
188
+ "showShortcuts": [32]
189
+ }, [[10, "keydown", "windowKeyDownHandler"]]]);
190
+ function defineCustomElement$1() {
191
+ if (typeof customElements === "undefined") {
192
+ return;
193
+ }
194
+ const components = ["ch-shortcuts", "ch-window", "ch-window-close"];
195
+ components.forEach(tagName => { switch (tagName) {
196
+ case "ch-shortcuts":
197
+ if (!customElements.get(tagName)) {
198
+ customElements.define(tagName, ChShortcuts$1);
199
+ }
200
+ break;
201
+ case "ch-window":
202
+ if (!customElements.get(tagName)) {
203
+ defineCustomElement$3();
204
+ }
205
+ break;
206
+ case "ch-window-close":
207
+ if (!customElements.get(tagName)) {
208
+ defineCustomElement$2();
209
+ }
210
+ break;
211
+ } });
212
+ }
213
+
214
+ const ChShortcuts = ChShortcuts$1;
215
+ const defineCustomElement = defineCustomElement$1;
216
+
217
+ export { ChShortcuts, defineCustomElement };
@@ -6,7 +6,7 @@ import { e as exportParts } from './export-parts.js';
6
6
  import { d as defineCustomElement$2 } from './gxg-label2.js';
7
7
  import { d as defineCustomElement$1 } from './tooltip.js';
8
8
 
9
- const formTextareaCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host(.gxg-validation--warning) .form-element{border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-warning-dark)}:host(.gxg-validation--error) .form-element{border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-error-dark)}:host(.gxg-validation--success) .form-element{border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--color-success-dark);border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-success-dark)}.tooltip-outer-wrapper{display:grid;grid-template-columns:0fr;transition:grid-template-columns var(--timing-02)}:host(.tooltip--visible) .tooltip-outer-wrapper{grid-template-columns:1fr}.tooltip-inner-wrapper{overflow:hidden;transition:150ms width;width:0}.tooltip-inner-wrapper gxg-icon{display:flex;position:relative !important;top:0 !important;transform:none !important;margin-inline-start:var(--spacing-comp-01)}.tooltip-inner-wrapper--visible{width:24px}.tooltip-inner-wrapper--hidden{display:none}:host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--gxg-background-color--disabled) !important;color:var(--gxg-color--disabled) !important;border-color:var(--gxg-border-color--disabled) !important;cursor:default !important}:host{display:flex;flex-direction:column;width:100%}:host .form-element-wrapper{position:relative;width:100%}:host label{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;display:flex;align-items:center;cursor:default}:host label .required{padding-left:2px}:host textarea{transition:height 200ms;width:100%;font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}:host .textarea-wrapper{display:flex;gap:var(--spacing-comp-01);flex:1}:host textarea{resize:none;border-width:var(--border-width-sm);border-color:var(--gray-02);border-style:var(--border-style-regular);border-radius:var(--border-radius-sm);padding-left:var(--spacing-comp-01);padding-right:var(--spacing-comp-01);color:var(--color-on-background);background-color:var(--color-background)}:host textarea::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}:host textarea::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}:host textarea::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}:host textarea::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host textarea:focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}:host textarea--resize{resize:both}:host textarea[disabled]{background-color:var(--gray-01);color:var(--color-on-disabled)}:host textarea.textarea--error{border-color:var(--color-error-dark);background-color:var(--color-error-light);margin-bottom:0}:host textarea.textarea--error:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host textarea.textarea--warning{border-color:var(--color-warning-dark);background-color:var(--color-warning-light);margin-bottom:0}:host textarea.textarea--warning:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.shrink[single-line]) .textarea{box-sizing:border-box;height:24px !important;overflow:hidden}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}:host(.large) label,:host(.large) textarea{font-size:var(--font-size-lg)}:host(.large) textarea{padding:var(--spacing-comp-01) var(--spacing-comp-02)}";
9
+ const formTextareaCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host(.gxg-validation--warning) .form-element{border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-warning-dark)}:host(.gxg-validation--error) .form-element{border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-error-dark)}:host(.gxg-validation--success) .form-element{border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--color-success-dark);border-color:var(--color-success-dark)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--color-success-dark)}.tooltip-outer-wrapper{display:grid;grid-template-columns:0fr;transition:grid-template-columns var(--timing-02)}:host(.tooltip--visible) .tooltip-outer-wrapper{grid-template-columns:1fr}.tooltip-inner-wrapper{overflow:hidden;transition:150ms width;width:0}.tooltip-inner-wrapper gxg-icon{display:flex;position:relative !important;top:0 !important;transform:none !important;margin-inline-start:var(--spacing-comp-01)}.tooltip-inner-wrapper--visible{width:24px}.tooltip-inner-wrapper--hidden{display:none}:host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--gxg-background-color--disabled) !important;color:var(--gxg-color--disabled) !important;border-color:var(--gxg-border-color--disabled) !important;cursor:default !important}:host{display:flex;flex-direction:column;width:100%}:host .form-element-wrapper{position:relative;width:100%}:host label{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;display:flex;align-items:center;cursor:default}:host label .required{padding-left:2px}:host textarea{transition:height 200ms;width:100%;font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}:host .textarea-wrapper{display:flex;gap:var(--spacing-comp-01);flex:1}:host textarea{resize:none;border-width:var(--border-width-sm);border-color:var(--gray-02);border-style:var(--border-style-regular);border-radius:var(--border-radius-sm);padding-left:var(--spacing-comp-01);padding-right:var(--spacing-comp-01);color:var(--color-on-background);background-color:var(--color-background)}:host textarea::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px);height:var(--gxg-scrollbar-width, 6px)}:host textarea::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}:host textarea::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}:host textarea::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host textarea:focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}:host textarea--resize{resize:both}:host textarea[disabled]{background-color:var(--gray-01);color:var(--color-on-disabled)}:host textarea.textarea--error{border-color:var(--color-error-dark);background-color:var(--color-error-light);margin-bottom:0}:host textarea.textarea--error:focus{outline-color:var(--color-error-dark);border-color:var(--color-error-dark)}:host textarea.textarea--warning{border-color:var(--color-warning-dark);background-color:var(--color-warning-light);margin-bottom:0}:host textarea.textarea--warning:focus{outline-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}:host(.shrink[single-line]) .textarea{box-sizing:border-box;height:24px !important;overflow:hidden}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}:host(.large) label,:host(.large) textarea{font-size:var(--font-size-lg);padding:var(--spacing-comp-01) var(--spacing-comp-02)}:host(.mercury){font-size:var(--mc-font-size-xs)}:host(.mercury) .textarea-wrapper{font-family:var(--font-family-primary);font-size:var(--mc-font-size-xs);color:var(--gray-03);line-height:var(--line-height-default);font-weight:var(--font-weight-regular);box-sizing:border-box;font-size:inherit;border:var(--border-width-sm) solid var(--gray-05);border-radius:var(--border-radius-sm);padding:var(--spacing-comp-02) var(--spacing-comp-03)}:host(.mercury) .textarea-wrapper:focus-within{outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}:host(.mercury) textarea{border:none;padding:0;font-size:inherit;font-family:inherit;line-height:inherit;padding-inline-end:var(--spacing-comp-02);background-color:transparent}:host(.mercury) textarea:focus{outline:none}:host([grow].mercury) textarea{box-sizing:border-box;resize:none}";
10
10
 
11
11
  const GxgFormTextarea = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
12
12
  constructor() {
@@ -15,6 +15,7 @@ const GxgFormTextarea = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
15
15
  this.__attachShadow();
16
16
  this.input = createEvent(this, "input", 7);
17
17
  this.change = createEvent(this, "change", 7);
18
+ this.enter = createEvent(this, "enter", 7);
18
19
  this.parts = {
19
20
  textarea: "textarea",
20
21
  };
@@ -25,6 +26,10 @@ const GxgFormTextarea = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
25
26
  * The presence of this attribute forces the textarea to be as tall as an input text. When the textarea gets focus, it grows as tall as the "height: property.
26
27
  */
27
28
  this.singleLine = false;
29
+ /**
30
+ * It will show the textarea with a single line, and grow in height as the text overflows, or the user hits shift + enter. This property will be ignored if "shrink" is true
31
+ */
32
+ this.grow = false;
28
33
  /**
29
34
  * The presence of this attribute displays a tooltip message, instead of a block message below the control
30
35
  */
@@ -92,6 +97,17 @@ const GxgFormTextarea = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
92
97
  const exportPartsResult = exportParts(part, this.parts);
93
98
  exportPartsResult.length && (this.exportparts = exportPartsResult);
94
99
  };
100
+ this.handleInput = (e) => {
101
+ e.stopPropagation();
102
+ const target = e.target;
103
+ this.value = target.value;
104
+ this.input.emit(this.value);
105
+ if (state.mercury && this.grow) {
106
+ const offset = this.textArea.offsetHeight - this.textArea.clientHeight;
107
+ this.textArea.style.height = "auto";
108
+ this.textArea.style.height = this.textArea.scrollHeight + offset + "px";
109
+ }
110
+ };
95
111
  this.focusHandler = () => {
96
112
  if (this.singleLine) {
97
113
  this.shrink = false;
@@ -102,6 +118,14 @@ const GxgFormTextarea = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
102
118
  this.shrink = true;
103
119
  }
104
120
  };
121
+ this.keyDownHandler = (e) => {
122
+ if (e.key === "Enter" && !e.shiftKey) {
123
+ e.preventDefault();
124
+ this.enter.emit(this.textArea.value);
125
+ this.textArea.style.height = "auto";
126
+ this.value = "";
127
+ }
128
+ };
105
129
  }
106
130
  /*********************************
107
131
  METHODS
@@ -115,12 +139,6 @@ const GxgFormTextarea = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
115
139
  updateTextareaValue() {
116
140
  this.value = this.textArea.value;
117
141
  }
118
- handleInput(e) {
119
- //formHandleValidation(this, e.target);
120
- const target = e.target;
121
- this.value = target.value;
122
- this.input.emit(this.value);
123
- }
124
142
  handleChange() {
125
143
  //formHandleValidation(this, e.target);
126
144
  this.change.emit(this.value);
@@ -129,22 +147,24 @@ const GxgFormTextarea = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
129
147
  return (h(Host, { role: "textbox", "aria-label": this.label, style: { maxWidth: this.maxWidth }, class: {
130
148
  textarea: true,
131
149
  large: state.large,
150
+ mercury: state.mercury,
132
151
  shrink: this.singleLine && this.shrink,
133
152
  [formClasses["VALIDATION_INDETERMINATE_CLASS"]]: this.validationStatus === "indeterminate",
134
153
  [formClasses["VALIDATION_WARNING_CLASS"]]: this.validationStatus === "warning",
135
154
  [formClasses["VALIDATION_ERROR_CLASS"]]: this.validationStatus === "error",
136
155
  [formClasses["VALIDATION_SUCCESS_CLASS"]]: this.validationStatus === "success",
137
156
  [commonClassesNames["DISABLED_CLASS"]]: this.disabled,
138
- }, exportParts: this.exportparts ? this.exportparts : null }, this.label ? (h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label, requiredLabel(this))) : null, h("div", { class: "textarea-wrapper" }, h("textarea", { ref: (el) => (this.textArea = el), class: {
157
+ }, exportParts: this.exportparts ? this.exportparts : null }, this.label ? (h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label, requiredLabel(this))) : null, h("div", { class: "textarea-wrapper", part: "textarea-wrapper" }, h("textarea", { ref: (el) => (this.textArea = el), class: {
139
158
  "form-element": true,
140
159
  textarea: true,
141
160
  "textarea--resize": this.resize,
142
- }, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput.bind(this), onChange: this.handleChange.bind(this), value: this.value, rows: this.rows, required: this.required, style: { height: this.height }, part: this.parts.textarea, onFocus: this.focusHandler, onBlur: this.blurHandler }), this.toolTip ? formTooltipLogic(this, true) : null), !this.toolTip ? formMessageLogic(this) : null));
161
+ }, placeholder: this.placeholder, disabled: this.disabled, onInput: this.handleInput, onChange: this.handleChange.bind(this), value: this.value, rows: state.mercury && this.grow ? 1 : this.rows, required: this.required, style: { height: this.height, maxHeight: this.maxHeight }, part: "textarea", onFocus: this.focusHandler, onBlur: this.blurHandler, onKeyDown: this.keyDownHandler }), this.toolTip ? formTooltipLogic(this, true) : null), !this.toolTip ? formMessageLogic(this) : null));
143
162
  }
144
163
  get el() { return this; }
145
164
  static get style() { return formTextareaCss; }
146
165
  }, [1, "gxg-form-textarea", {
147
166
  "singleLine": [516, "single-line"],
167
+ "grow": [516],
148
168
  "toolTip": [4, "tool-tip"],
149
169
  "error": [1028],
150
170
  "label": [513],
@@ -152,6 +172,7 @@ const GxgFormTextarea = /*@__PURE__*/ proxyCustomElement(class extends HTMLEleme
152
172
  "labelWidth": [8, "label-width"],
153
173
  "centerLabel": [4, "center-label"],
154
174
  "maxWidth": [1, "max-width"],
175
+ "maxHeight": [1, "max-height"],
155
176
  "height": [1],
156
177
  "placeholder": [1],
157
178
  "value": [513],
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface GxIdeAiAssistant extends Components.GxIdeAiAssistant, HTMLElement {}
4
+ export const GxIdeAiAssistant: {
5
+ prototype: GxIdeAiAssistant;
6
+ new (): GxIdeAiAssistant;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;