@genexus/genexus-ide-ui 0.0.16 → 0.0.18

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 (81) hide show
  1. package/dist/cjs/ch-grid_7.cjs.entry.js +73 -27
  2. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  3. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container.cjs.entry.js} +0 -31
  4. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +16 -17
  5. package/dist/cjs/gx-ide-references.cjs.entry.js +115 -90
  6. package/dist/cjs/gx-ide-template.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-test.cjs.entry.js +40 -3
  8. package/dist/cjs/{gxg-form-radio-group.cjs.entry.js → gx-ide-top-bar_2.cjs.entry.js} +31 -0
  9. package/dist/cjs/gxg-combo-box_8.cjs.entry.js +3 -8
  10. package/dist/cjs/gxg-menu.cjs.entry.js +2 -2
  11. package/dist/cjs/gxg-test.cjs.entry.js +4 -23
  12. package/dist/cjs/gxg-tree_2.cjs.entry.js +381 -295
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/update-tree-model-445c63a8.js +53 -0
  15. package/dist/collection/common/render-tree.js +1 -1
  16. package/dist/collection/common/update-tree-model.js +22 -0
  17. package/dist/collection/components/_template/template.js +9 -10
  18. package/dist/collection/components/_test/test.js +129 -2
  19. package/dist/collection/components/new-kb/new-kb.js +16 -35
  20. package/dist/collection/components/references/references.js +119 -113
  21. package/dist/collection/pages/assets/common.js +105 -95
  22. package/dist/components/ch-grid2.js +74 -28
  23. package/dist/components/combo-box.js +4 -3
  24. package/dist/components/form-radio.js +0 -5
  25. package/dist/components/gx-ide-new-kb.js +20 -28
  26. package/dist/components/gx-ide-references.js +131 -111
  27. package/dist/components/gx-ide-template.js +7 -13
  28. package/dist/components/gx-ide-test.js +45 -4
  29. package/dist/components/gxg-menu.js +2 -2
  30. package/dist/components/gxg-test.js +4 -23
  31. package/dist/components/gxg-tree-item2.js +326 -284
  32. package/dist/components/gxg-tree2.js +60 -15
  33. package/dist/components/update-tree-model.js +50 -0
  34. package/dist/esm/ch-grid_7.entry.js +73 -27
  35. package/dist/esm/genexus-ide-ui.js +1 -1
  36. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container.entry.js} +1 -31
  37. package/dist/esm/gx-ide-new-kb.entry.js +16 -17
  38. package/dist/esm/gx-ide-references.entry.js +115 -90
  39. package/dist/esm/gx-ide-template.entry.js +2 -2
  40. package/dist/esm/gx-ide-test.entry.js +40 -3
  41. package/dist/esm/{gxg-form-radio-group.entry.js → gx-ide-top-bar_2.entry.js} +32 -2
  42. package/dist/esm/gxg-combo-box_8.entry.js +3 -8
  43. package/dist/esm/gxg-menu.entry.js +2 -2
  44. package/dist/esm/gxg-test.entry.js +4 -23
  45. package/dist/esm/gxg-tree_2.entry.js +382 -296
  46. package/dist/esm/loader.js +1 -1
  47. package/dist/esm/update-tree-model-80419058.js +50 -0
  48. package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
  49. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  50. package/dist/genexus-ide-ui/p-1042318d.entry.js +1 -0
  51. package/dist/genexus-ide-ui/p-1d4cf2ae.entry.js +1 -0
  52. package/dist/genexus-ide-ui/p-254f9ce7.entry.js +1 -0
  53. package/dist/genexus-ide-ui/p-49433b58.entry.js +1 -0
  54. package/dist/genexus-ide-ui/p-67cf60f5.js +1 -0
  55. package/dist/genexus-ide-ui/p-7007965c.entry.js +1 -0
  56. package/dist/genexus-ide-ui/p-78a90113.entry.js +1 -0
  57. package/dist/genexus-ide-ui/p-79cf24a3.entry.js +1 -0
  58. package/dist/genexus-ide-ui/p-b66a4121.entry.js +1 -0
  59. package/dist/genexus-ide-ui/p-cd503583.entry.js +1 -0
  60. package/dist/genexus-ide-ui/{p-1e412d88.entry.js → p-fcc98e20.entry.js} +1 -1
  61. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +2 -2
  62. package/dist/types/common/update-tree-model.d.ts +2 -0
  63. package/dist/types/components/_template/template.d.ts +2 -2
  64. package/dist/types/components/_test/test.d.ts +19 -1
  65. package/dist/types/components/new-kb/new-kb.d.ts +0 -4
  66. package/dist/types/components/references/references.d.ts +28 -24
  67. package/dist/types/components.d.ts +41 -21
  68. package/package.json +3 -3
  69. package/dist/cjs/render-tree-25d5b8a1.js +0 -29
  70. package/dist/components/render-tree.js +0 -27
  71. package/dist/esm/render-tree-fc8636a3.js +0 -27
  72. package/dist/genexus-ide-ui/p-0f5d0ccc.entry.js +0 -1
  73. package/dist/genexus-ide-ui/p-2761a056.entry.js +0 -1
  74. package/dist/genexus-ide-ui/p-62814082.entry.js +0 -1
  75. package/dist/genexus-ide-ui/p-97430828.entry.js +0 -1
  76. package/dist/genexus-ide-ui/p-9e32e006.entry.js +0 -1
  77. package/dist/genexus-ide-ui/p-a5fee36d.entry.js +0 -1
  78. package/dist/genexus-ide-ui/p-abee8c7b.js +0 -1
  79. package/dist/genexus-ide-ui/p-be9406e7.entry.js +0 -1
  80. package/dist/genexus-ide-ui/p-eb8e9655.entry.js +0 -1
  81. package/dist/genexus-ide-ui/p-f6536bbc.entry.js +0 -1
@@ -130,34 +130,4 @@ const GxIdeContainer = class {
130
130
  };
131
131
  GxIdeContainer.style = containerCss;
132
132
 
133
- const topBarCss = ":host{display:block;box-sizing:border-box}.wrapper{display:flex;justify-content:space-between;padding:var(--spacing-comp-01) var(--spacing-comp-02);transition:background-color var(--gx-ide-timing-super-fast-ms);background-color:var(--gray-01)}gxg-title::part(title){color:var(--color-on-secondary);transition:color var(--gx-ide-timing-super-fast-ms)}";
134
-
135
- const GxIdeTopBar = class {
136
- constructor(hostRef) {
137
- registerInstance(this, hostRef);
138
- this.topBarTitle = undefined;
139
- }
140
- // 5.EVENTS (EMIT) //
141
- // 6.METHODS //
142
- componentWillLoad() {
143
- this.evaluateSlots();
144
- }
145
- // 7.LISTENERS //
146
- // 8.PUBLIC METHODS API //
147
- // 9.LOCAL METHODS //
148
- evaluateSlots() {
149
- // header
150
- const menuSlot = this.el.querySelectorAll('[slot="menu"]');
151
- if (menuSlot.length) {
152
- this._hasMenuSlot = true;
153
- }
154
- }
155
- // 10.RENDER() FUNCTION //
156
- render() {
157
- return (h(Host, null, h("div", { class: "wrapper", part: "wrapper" }, h("div", { class: "wrapper__left", part: "wrapper-left" }, h("gxg-title", { type: "title-04", exportparts: "title: gxg-title" }, this.topBarTitle)), h("div", { class: "wrapper__right", part: "wrapper-right" }, this._hasMenuSlot ? (h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-vertical" }, h("slot", { name: "menu" }))) : null))));
158
- }
159
- get el() { return getElement(this); }
160
- };
161
- GxIdeTopBar.style = topBarCss;
162
-
163
- export { GxIdeContainer as gx_ide_container, GxIdeTopBar as gx_ide_top_bar };
133
+ export { GxIdeContainer as gx_ide_container };
@@ -104,24 +104,24 @@ const GxIdeNewKb = class {
104
104
  return gxOptions;
105
105
  };
106
106
  this.createKbHandler = () => {
107
- var _a, _b, _c;
107
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
108
108
  if (this.createCallback) {
109
109
  const createCallbackPromise = this.createCallback({
110
- kbName: this.kbNameEl.value,
111
- kbLocation: this.locationEl.value,
112
- prototypingTarget: this.prototypingTargetEl.value,
113
- userInterfaceLanguage: this.userInterfaceLanguageEl.value,
114
- prototypingEnvironment: this.prototypingEnvironmentEl.value,
115
- dataSource: this.dataSourceEl.value,
110
+ kbName: (_a = this.kbNameEl) === null || _a === void 0 ? void 0 : _a.value,
111
+ kbLocation: (_b = this.locationEl) === null || _b === void 0 ? void 0 : _b.value,
112
+ prototypingTarget: (_c = this.prototypingTargetEl) === null || _c === void 0 ? void 0 : _c.value,
113
+ userInterfaceLanguage: (_d = this.userInterfaceLanguageEl) === null || _d === void 0 ? void 0 : _d.value,
114
+ prototypingEnvironment: (_e = this.prototypingEnvironmentEl) === null || _e === void 0 ? void 0 : _e.value,
115
+ dataSource: (_f = this.dataSourceEl) === null || _f === void 0 ? void 0 : _f.value,
116
116
  frontEnds: this.getFrontEndOptionsValues(),
117
- serverName: this.serverNameEl.value,
118
- databaseName: this.databaseNameEl.value,
119
- collation: this.collationEl.value,
120
- createDataFilesInKBFolder: this.createDataFilesInKBFolderEl.checked,
121
- authenticationType: this.authenticationTypeEl.value,
122
- userName: (_a = this.userNameEl) === null || _a === void 0 ? void 0 : _a.value,
123
- password: (_b = this.passwordEl) === null || _b === void 0 ? void 0 : _b.value,
124
- savePassword: (_c = this.savePasswordEl) === null || _c === void 0 ? void 0 : _c.checked
117
+ serverName: (_g = this.serverNameEl) === null || _g === void 0 ? void 0 : _g.value,
118
+ databaseName: (_h = this.databaseNameEl) === null || _h === void 0 ? void 0 : _h.value,
119
+ collation: (_j = this.collationEl) === null || _j === void 0 ? void 0 : _j.value,
120
+ createDataFilesInKBFolder: (_k = this.createDataFilesInKBFolderEl) === null || _k === void 0 ? void 0 : _k.checked,
121
+ authenticationType: (_l = this.authenticationTypeEl) === null || _l === void 0 ? void 0 : _l.value,
122
+ userName: (_m = this.userNameEl) === null || _m === void 0 ? void 0 : _m.value,
123
+ password: (_o = this.passwordEl) === null || _o === void 0 ? void 0 : _o.value,
124
+ savePassword: (_p = this.savePasswordEl) === null || _p === void 0 ? void 0 : _p.checked
125
125
  });
126
126
  createCallbackPromise.then(formSubmitResult => {
127
127
  formSubmitValidation(formSubmitResult, this);
@@ -151,7 +151,6 @@ const GxIdeNewKb = class {
151
151
  this.userNameVisible = true;
152
152
  this.passwordVisible = true;
153
153
  this.savePasswordVisible = true;
154
- this.hideTopBar = false;
155
154
  this.dataSources = undefined;
156
155
  this.frontEnds = undefined;
157
156
  this.isAdvanced = false;
@@ -187,7 +186,7 @@ const GxIdeNewKb = class {
187
186
  * 11.RENDER() FUNCTION
188
187
  ********************************/
189
188
  render() {
190
- return (h(Host, { class: "gx-ide-component" }, !this.hideTopBar ? (h("gx-ide-top-bar", { topBarTitle: this._componentLocale.componentName })) : null, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gx-ide-container", null, h("header", { class: {
189
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gx-ide-container", null, h("header", { class: {
191
190
  "header": true,
192
191
  "grid": true,
193
192
  "header--is-advanced": this.isAdvanced
@@ -1,6 +1,6 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-4f0a5746.js';
2
2
  import { L as Locale } from './locale-e183487a.js';
3
- import { r as renderTreeItems } from './render-tree-fc8636a3.js';
3
+ import { u as updateTreeModel, r as renderTreeItems } from './update-tree-model-80419058.js';
4
4
 
5
5
  /* eslint-disable @typescript-eslint/no-use-before-define */
6
6
  const renderSuggestLists = (suggestData) => {
@@ -115,7 +115,7 @@ const GxIdeReferences = class {
115
115
  // 8.PUBLIC METHODS API //
116
116
  // 9.LOCAL METHODS //
117
117
  /**
118
- * @description It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
118
+ * It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
119
119
  */
120
120
  this.attachSelectObjectListener = () => {
121
121
  this.selectObjectSuggestEl.addEventListener("itemSelected", (e) => {
@@ -126,61 +126,7 @@ const GxIdeReferences = class {
126
126
  });
127
127
  };
128
128
  /**
129
- * @description It attaches several events on the 'referencedByEl' element, which is a tree.
130
- */
131
- this.attachReferencedByListeners = () => {
132
- /* 'toggleIconClicked' Event: This events gets fired when the user clicks on the toggle icon, that opens/close a tree. Here we only use it to check if the item has lazy items to be loaded. */
133
- this.referencedByEl.addEventListener("toggleIconClicked", async (e) => {
134
- if (e.detail.lazy && e.detail.id) {
135
- this.loadReferencesCallback(e.detail.id, false)
136
- .then(result => {
137
- this.referencedBy = result;
138
- })
139
- .catch(() => {
140
- // to do
141
- });
142
- }
143
- });
144
- /* 'selectionChanged' Event: Fired when a new tree item was selected.*/
145
- this.referencedByEl.addEventListener("selectionChanged", (e) => {
146
- this.selectReferenceCallback(e.detail.id);
147
- /* Returns void Promise*/
148
- });
149
- /* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
150
- this.referencedByEl.addEventListener("doubleClicked", (e) => {
151
- this.openObjectCallback(e.detail.id);
152
- /* Returns void Promise*/
153
- });
154
- };
155
- /**
156
- * @description It attaches several events on the 'referencesToEl' element, which is a tree.
157
- */
158
- this.attachReferencesToListeners = () => {
159
- /* 'toggleIconClicked' Event: (Read description on 'attachReferencedByListeners' as it does the same)*/
160
- this.referencesToEl.addEventListener("toggleIconClicked", async (e) => {
161
- if (e.detail.lazy && e.detail.id) {
162
- this.loadReferencesCallback(e.detail.id, true)
163
- .then(result => {
164
- this.referencesTo = result;
165
- })
166
- .catch(() => {
167
- // to do
168
- });
169
- }
170
- });
171
- /* 'selectionChanged' Event: Fired when a new tree item was selected.*/
172
- this.referencesToEl.addEventListener("selectionChanged", (e) => {
173
- this.selectReferenceCallback(e.detail.id);
174
- /* Returns void Promise*/
175
- });
176
- /* 'doubleClicked' Event: Fired when a tree item was double-clicked.*/
177
- this.referencesToEl.addEventListener("doubleClicked", (e) => {
178
- this.openObjectCallback(e.detail.id);
179
- /* Returns void Promise*/
180
- });
181
- };
182
- /**
183
- * @description This handler gets fired every time the value of the 'Select Object' ch-suggest changes. Then, it calls the 'updateSuggestedObjects' method, that keeps the state of the last suggested objects that were passed bu the host. Also, it shows the suggested objects on the ch-suggest box.
129
+ * This handler gets fired every time the value of the 'Select Object' ch-suggest changes. Then, it calls the 'updateSuggestedObjects' method, that keeps the state of the last suggested objects that were passed bu the host. Also, it shows the suggested objects on the ch-suggest box.
184
130
  */
185
131
  this.selectObjectValueChangedHandler = async (e) => {
186
132
  const value = e.detail;
@@ -200,55 +146,131 @@ const GxIdeReferences = class {
200
146
  /* Returns an empty Promise*/
201
147
  };
202
148
  /**
203
- * @description handler that gets fired when the use clicks on the ch-suggest button (...)
149
+ * handler that gets fired when the use clicks on the ch-suggest button (...)
204
150
  */
205
151
  this.openSelectorDialogCallbackHandler = async () => {
206
- this.selectedObject = await this.openSelectorDialogCallback();
152
+ this.openSelectorDialogCallback()
153
+ .then(result => {
154
+ this.selectedObject = result;
155
+ })
156
+ .catch(() => {
157
+ /* to do */
158
+ });
207
159
  };
208
160
  /**
209
- * @description It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
161
+ * It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
210
162
  */
211
163
  this.evaluateInitialReferenceData = () => {
212
- var _a;
213
- const selectedObjectId = (_a = this.selectedObject) === null || _a === void 0 ? void 0 : _a.id;
214
- selectedObjectId && this.loadReferencesHandler(selectedObjectId);
164
+ if (this.selectedObject) {
165
+ this.selectedObjectHandler(this.selectedObject);
166
+ }
215
167
  };
216
168
  /**
217
- * @description This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels.
169
+ * This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels. The second parameter "to" indicates if loadReferencesCallback callback should be called for "has references to" or "is references by"
218
170
  */
219
- this.loadReferencesHandler = async (id) => {
220
- /* Referenced By*/
171
+ this.loadReferencesHandler = async (id, to = false) => {
221
172
  if (this.loadReferencesCallback) {
222
- this.loadReferencesCallback(id, false)
223
- .then(result => {
224
- this.referencedBy = result;
225
- })
226
- .catch(() => {
227
- /* To do*/
228
- });
173
+ /* is referenced by*/
174
+ if (!to) {
175
+ this.loadReferencesCallback(id, false)
176
+ .then(result => {
177
+ this.referencedByTreeData = convertReferenceDataToTreeData(result);
178
+ })
179
+ .catch(() => {
180
+ /* To do*/
181
+ });
182
+ }
183
+ /* is referenced by*/
184
+ if (to) {
185
+ this.loadReferencesCallback(id, true)
186
+ .then(result => {
187
+ this.referencesToTreeData = convertReferenceDataToTreeData(result);
188
+ })
189
+ .catch(() => {
190
+ /* To do*/
191
+ });
192
+ }
229
193
  }
230
- /* References To*/
231
- if (this.loadReferencesCallback) {
232
- this.loadReferencesCallback(id, true)
194
+ };
195
+ /**
196
+ * It hides/show the bar (The header bottom section).
197
+ */
198
+ this.hideBarButtonClickedHandler = () => {
199
+ this.barHidden = !this.barHidden;
200
+ };
201
+ /**
202
+ * Simple helper function to get 'this.referencedByTreeData' or 'this.referencesToTreeData'
203
+ */
204
+ this.getRef = (to = false) => {
205
+ if (!to) {
206
+ /* referenced by*/
207
+ return this.referencedByTreeData;
208
+ }
209
+ else {
210
+ /* references to*/
211
+ return this.referencesToTreeData;
212
+ }
213
+ };
214
+ /**
215
+ * Simple helper function to update 'this.referencedByTreeData' or 'this.referencesToTreeData'
216
+ */
217
+ this.updateRef = (to = false, updatedData) => {
218
+ if (!to) {
219
+ /* referenced by*/
220
+ this.referencedByTreeData = updatedData;
221
+ }
222
+ else {
223
+ /* references to*/
224
+ this.referencesToTreeData = updatedData;
225
+ }
226
+ };
227
+ /**
228
+ * Handles changes on any of the references (by or to). Used to:
229
+ * 1) Keep the models updated.
230
+ * 2) call the openObjectCallback.
231
+ * 3) call the loadReferencesCallback if a lazy node was toggled.
232
+ */
233
+ this.referencesPanelStateChangedHandler = (to = false) => (e) => {
234
+ const event = e.detail.emittedBy;
235
+ const nodeData = e.detail.itemData;
236
+ const nodeId = e.detail.itemData.id;
237
+ const nodeLabel = e.detail.itemData.label;
238
+ /* tree item was selected*/
239
+ if (event === "selectionChanged") {
240
+ this.selectReferenceCallback(nodeId);
241
+ /* Returns void Promise*/
242
+ }
243
+ /* tree item was double-clicked.*/
244
+ if (event === "doubleClicked") {
245
+ this.openObjectCallback(nodeId);
246
+ }
247
+ let updatedTreeModel = [];
248
+ const lazy = nodeData.lazy;
249
+ if (lazy) {
250
+ // loadReferencesCallback
251
+ let children = [];
252
+ this.loadReferencesCallback(nodeId, to)
233
253
  .then(result => {
234
- this.referencesTo = result;
254
+ children = convertReferenceDataToTreeData(result);
255
+ // Then update model
256
+ updatedTreeModel = updateTreeModel(this.getRef(to), { id: nodeId, label: nodeLabel, items: children }, nodeId);
257
+ this.updateRef(to, updatedTreeModel);
235
258
  })
236
259
  .catch(() => {
237
260
  /* To do*/
238
261
  });
239
262
  }
263
+ else {
264
+ updatedTreeModel = updateTreeModel(this.getRef(to), nodeData, nodeId);
265
+ this.updateRef(to, updatedTreeModel);
266
+ }
240
267
  };
241
- /**
242
- * @description It hides/show the bar (The header bottom section).
243
- */
244
- this.hideBarButtonClickedHandler = () => {
245
- this.barHidden = !this.barHidden;
246
- };
268
+ this.referencedByTreeData = undefined;
269
+ this.referencesToTreeData = undefined;
247
270
  this.barHidden = false;
248
271
  this.objectsSuggestions = undefined;
249
272
  this.referencedBy = undefined;
250
273
  this.referencesTo = undefined;
251
- this.hideTopBar = false;
252
274
  this.selectedObject = undefined;
253
275
  this.selectorSourceCallback = undefined;
254
276
  this.loadReferencesCallback = undefined;
@@ -257,7 +279,12 @@ const GxIdeReferences = class {
257
279
  this.selectReferenceCallback = undefined;
258
280
  }
259
281
  selectedObjectHandler(newSelectedObject) {
260
- this.loadReferencesHandler(newSelectedObject.id);
282
+ if (newSelectedObject.id) {
283
+ /* update "is referenced by*/
284
+ this.loadReferencesHandler(newSelectedObject.id, false);
285
+ /* update "has references to*/
286
+ this.loadReferencesHandler(newSelectedObject.id, true);
287
+ }
261
288
  }
262
289
  // 6.COMPONENT LIFECYCLE EVENTS //
263
290
  async componentWillLoad() {
@@ -266,8 +293,6 @@ const GxIdeReferences = class {
266
293
  }
267
294
  componentDidLoad() {
268
295
  this.attachSelectObjectListener();
269
- this.attachReferencedByListeners();
270
- this.attachReferencesToListeners();
271
296
  }
272
297
  componentDidRender() {
273
298
  this.componentDidRenderEvent.emit(this._componentLocale.componentName);
@@ -275,12 +300,12 @@ const GxIdeReferences = class {
275
300
  // 10.RENDER() FUNCTION //
276
301
  render() {
277
302
  var _a, _b, _c, _d, _e, _f;
278
- return (h(Host, { class: "gx-ide-component" }, !this.hideTopBar ? (h("gx-ide-top-bar", { topBarTitle: this._componentLocale.componentName })) : null, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gx-ide-container", { displayBorderBottom: true }, h("header", { class: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.id, onValueChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest" }, renderSuggestLists(this.objectsSuggestions))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.openSelectorDialogCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" })), h("div", { class: {
303
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gx-ide-container", { displayBorderBottom: true }, h("header", { class: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.id, onValueChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest" }, renderSuggestLists(this.objectsSuggestions))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.openSelectorDialogCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" })), h("div", { class: {
279
304
  "header__bottom": true,
280
305
  "header__bottom--hidden": this.barHidden
281
- } }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), h("main", { class: "main grid" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, justifyContent: "center", part: "referenced-by-container" }, h("gxg-tree", { ref: el => (this.referencedByEl = el), class: { "gxi-hidden": !((_a = this.referencedBy) === null || _a === void 0 ? void 0 : _a.length) }, checkbox: false, part: "referenced-by-tree" }, renderTreeItems(convertReferenceDataToTreeData(this.referencedBy))), !((_b = this.referencedBy) === null || _b === void 0 ? void 0 : _b.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "referenced-by-text" }, ((_c = this.referencedBy) === null || _c === void 0 ? void 0 : _c.length) === 0
306
+ } }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), h("main", { class: "main grid" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, justifyContent: "center", fullHeight: true, part: "referenced-by-container" }, h("gxg-tree", { class: { "gxi-hidden": !((_a = this.referencedByTreeData) === null || _a === void 0 ? void 0 : _a.length) }, checkbox: true, onTreeItemStateChanged: this.referencesPanelStateChangedHandler(false), part: "referenced-by-tree" }, renderTreeItems(this.referencedByTreeData)), !((_b = this.referencedByTreeData) === null || _b === void 0 ? void 0 : _b.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "referenced-by-text" }, ((_c = this.referencedByTreeData) === null || _c === void 0 ? void 0 : _c.length) === 0
282
307
  ? this._componentLocale.main.isReferencedByEmpty
283
- : this._componentLocale.main.isReferencedByError))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, justifyContent: "center", part: "references-to-container" }, h("gxg-tree", { ref: el => (this.referencesToEl = el), class: { "gxi-hidden": !((_d = this.referencesTo) === null || _d === void 0 ? void 0 : _d.length) }, checkbox: false, part: "references-to-tree" }, renderTreeItems(convertReferenceDataToTreeData(this.referencesTo))), !((_e = this.referencesTo) === null || _e === void 0 ? void 0 : _e.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "references-to-text" }, ((_f = this.referencesTo) === null || _f === void 0 ? void 0 : _f.length) === 0
308
+ : this._componentLocale.main.isReferencedByError))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, justifyContent: "center", fullHeight: true, part: "references-to-container" }, h("gxg-tree", { class: { "gxi-hidden": !((_d = this.referencesToTreeData) === null || _d === void 0 ? void 0 : _d.length) }, checkbox: false, onTreeItemStateChanged: this.referencesPanelStateChangedHandler(true), part: "references-to-tree" }, renderTreeItems(this.referencesToTreeData)), !((_e = this.referencesToTreeData) === null || _e === void 0 ? void 0 : _e.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "references-to-text" }, ((_f = this.referencesToTreeData) === null || _f === void 0 ? void 0 : _f.length) === 0
284
309
  ? this._componentLocale.main.hasReferencesEmpty
285
310
  : this._componentLocale.main.hasReferencesToError)))))));
286
311
  }
@@ -7,7 +7,7 @@ const GxIdeTemplate = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  this.componentDidRenderEvent = createEvent(this, "componentDidRenderEvent", 7);
10
- this.hideTopBar = false;
10
+ this.mainTile = undefined;
11
11
  }
12
12
  // 6.COMPONENT LIFECYCLE METHODS //
13
13
  async componentWillLoad() {
@@ -21,7 +21,7 @@ const GxIdeTemplate = class {
21
21
  // 9.LOCAL METHODS //
22
22
  // 10.RENDER() FUNCTION //
23
23
  render() {
24
- return (h(Host, { class: "gx-ide-component" }, !this.hideTopBar ? (h("gx-ide-top-bar", { topBarTitle: this._componentLocale.componentName })) : null, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gx-ide-container", { fullHeight: true, "container-title": "Header Title" }, h("p", null, "Lorem ipsum dolor sit amet consectetur adipisicing elit. Facilis natus nam, veritatis aspernatur consequatur omnis blanditiis! Praesentium, ex labore? Odit, officiis eius rerum pariatur ea dicta possimus perferendis molestiae sunt!q"), h("gxg-form-text", { label: "Name", placeholder: "Elon Musk", labelPosition: "start", centerLabel: true }), h("gxg-button", { slot: "footer" }, "Create")))));
24
+ return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gx-ide-container", { fullHeight: true, "container-title": "Header Title" }, h("p", null, "Lorem ipsum dolor sit amet consectetur adipisicing elit. Facilis natus nam, veritatis aspernatur consequatur omnis blanditiis! Praesentium, ex labore? Odit, officiis eius rerum pariatur ea dicta possimus perferendis molestiae sunt!q"), h("gxg-form-text", { label: "Name", placeholder: "Elon Musk", labelPosition: "start", centerLabel: true }), h("gxg-button", { slot: "footer" }, "Create")))));
25
25
  }
26
26
  static get assetsDirs() { return ["gx-ide-assets/template"]; }
27
27
  get el() { return getElement(this); }
@@ -1,11 +1,13 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-4f0a5746.js';
2
- import { r as renderTreeItems } from './render-tree-fc8636a3.js';
2
+ import { u as updateTreeModel, r as renderTreeItems } from './update-tree-model-80419058.js';
3
3
 
4
4
  const testCss = ":host{display:block}";
5
5
 
6
6
  const GxIdeUiTest = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
+ // 8.PUBLIC METHODS API //
10
+ // 9.LOCAL METHODS //
9
11
  /* Gxg-Tree Methods*/
10
12
  this.closeTreeNodeHandler = () => {
11
13
  this.tree.toggleItems(["number-1-1-2"], false);
@@ -31,9 +33,36 @@ const GxIdeUiTest = class {
31
33
  this.deleteNodeHandler = () => {
32
34
  this.treeModel = [];
33
35
  };
36
+ /* Update model test*/
37
+ // private showTree = () => {
38
+ // this.treeModel = [];
39
+ // };
40
+ // private updateTree = () => {
41
+ // this.treeModel = [];
42
+ // };
43
+ this.treeItemStateChangedHandler = (e) => {
44
+ // const event = e.detail.emittedBy;
45
+ const nodeData = e.detail.itemData;
46
+ const nodeId = e.detail.itemData.id;
47
+ if (nodeData.lazy) {
48
+ this.updateLazyCallback(nodeId).then(children => {
49
+ if (children === null || children === void 0 ? void 0 : children.length) {
50
+ const updatedTreeModel = updateTreeModel(this.treeModel, { id: nodeId, label: nodeData.label, items: children }, nodeId);
51
+ this.treeModel = updatedTreeModel;
52
+ }
53
+ });
54
+ }
55
+ };
34
56
  this.treeModel = undefined;
57
+ this.lazyNode = undefined;
58
+ this.updateLazyCallback = undefined;
59
+ this.newNode = undefined;
60
+ this.testUpdateNode = false;
35
61
  this.lazyLoadTreeItemsCallback = undefined;
36
62
  }
63
+ // 5.EVENTS (EMIT) //
64
+ // 6.COMPONENT LIFECYCLE METHODS //
65
+ // 7.LISTENERS //
37
66
  loadLazyChildrenHandler(e) {
38
67
  const treeItemId = e.detail;
39
68
  if (this.lazyLoadTreeItemsCallback) {
@@ -45,9 +74,17 @@ const GxIdeUiTest = class {
45
74
  }, 1000);
46
75
  }
47
76
  }
77
+ treeItemStateChanged(event) {
78
+ const updatedTreeModel = updateTreeModel(this.treeModel, event.detail, event.detail.id);
79
+ console.log("updatedTreeModel", updatedTreeModel);
80
+ }
81
+ // 10.RENDER() FUNCTION //
48
82
  render() {
49
- if (this.treeModel) {
50
- return (h(Host, null, h("gxg-tree", { id: "masterTree", checked: true, checkbox: true, multiSelection: true, ref: el => (this.tree = el) }, renderTreeItems(this.treeModel)), ",", h("div", { class: "tree-buttons" }, h("gxg-button", { type: "outlined", onClick: this.closeTreeNodeHandler }, "Close 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.openTreeNodeHandler }, "Open 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.toggleTreeNodeHandler }, "Toggle 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.getSelectedItemsHandler }, "Get Selected Items"), h("gxg-button", { type: "outlined", onClick: this.getCheckedItemsHandler }, "Get Checked Items"), h("gxg-button", { type: "outlined", onClick: this.deleteNodeHandler }, "Delete Tree"))));
83
+ if (!this.testUpdateNode && this.treeModel) {
84
+ return (h(Host, null, h("gxg-tree", { checked: true, checkbox: true, multiSelection: true, ref: (el) => (this.tree = el) }, renderTreeItems(this.treeModel)), ",", h("div", { class: "tree-buttons" }, h("gxg-button", { type: "outlined", onClick: this.closeTreeNodeHandler }, "Close 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.openTreeNodeHandler }, "Open 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.toggleTreeNodeHandler }, "Toggle 1-1-2"), h("gxg-button", { type: "outlined", onClick: this.getSelectedItemsHandler }, "Get Selected Items"), h("gxg-button", { type: "outlined", onClick: this.getCheckedItemsHandler }, "Get Checked Items"), h("gxg-button", { type: "outlined", onClick: this.deleteNodeHandler }, "Delete Tree"))));
85
+ }
86
+ else if (this.testUpdateNode) {
87
+ return (h(Host, null, h("gxg-tree", { checked: true, checkbox: true, multiSelection: true, ref: (el) => (this.tree = el), onTreeItemStateChanged: this.treeItemStateChangedHandler }, renderTreeItems(this.treeModel))));
51
88
  }
52
89
  else {
53
90
  return h("slot", null);
@@ -1,7 +1,37 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f0a5746.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-4f0a5746.js';
2
2
  import { f as formMessageLogic, r as requiredLabel } from './form-73d85602.js';
3
3
  import { f as formClasses } from './classesNames-6cd8fadb.js';
4
4
 
5
+ const topBarCss = ":host{display:block;box-sizing:border-box}.wrapper{display:flex;justify-content:space-between;padding:var(--spacing-comp-01) var(--spacing-comp-02);transition:background-color var(--gx-ide-timing-super-fast-ms);background-color:var(--gray-01)}gxg-title::part(title){color:var(--color-on-secondary);transition:color var(--gx-ide-timing-super-fast-ms)}";
6
+
7
+ const GxIdeTopBar = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.topBarTitle = undefined;
11
+ }
12
+ // 5.EVENTS (EMIT) //
13
+ // 6.METHODS //
14
+ componentWillLoad() {
15
+ this.evaluateSlots();
16
+ }
17
+ // 7.LISTENERS //
18
+ // 8.PUBLIC METHODS API //
19
+ // 9.LOCAL METHODS //
20
+ evaluateSlots() {
21
+ // header
22
+ const menuSlot = this.el.querySelectorAll('[slot="menu"]');
23
+ if (menuSlot.length) {
24
+ this._hasMenuSlot = true;
25
+ }
26
+ }
27
+ // 10.RENDER() FUNCTION //
28
+ render() {
29
+ return (h(Host, null, h("div", { class: "wrapper", part: "wrapper" }, h("div", { class: "wrapper__left", part: "wrapper-left" }, h("gxg-title", { type: "title-04", exportparts: "title: gxg-title" }, this.topBarTitle)), h("div", { class: "wrapper__right", part: "wrapper-right" }, this._hasMenuSlot ? (h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-vertical" }, h("slot", { name: "menu" }))) : null))));
30
+ }
31
+ get el() { return getElement(this); }
32
+ };
33
+ GxIdeTopBar.style = topBarCss;
34
+
5
35
  const formRadioGroupCss = "/*! 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}:host{display:block}: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;margin-bottom:var(--spacing-lay-xs);display:inline-block;margin-bottom:var(--spacing-comp-02)}:host .radios-wrapper{display:flex;flex-direction:column;gap:var(--gxg-form-control-gap--vertical)}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}:host(.gxg-form-radio-group--row) .radios-wrapper{flex-direction:row;gap:var(--gxg-form-control-gap--horizontal);align-items:center}:host .required{padding-left:2px}";
6
36
 
7
37
  const GxgFormRadioGroup = class {
@@ -205,4 +235,4 @@ const GxgFormRadioGroup = class {
205
235
  };
206
236
  GxgFormRadioGroup.style = formRadioGroupCss;
207
237
 
208
- export { GxgFormRadioGroup as gxg_form_radio_group };
238
+ export { GxIdeTopBar as gx_ide_top_bar, GxgFormRadioGroup as gxg_form_radio_group };
@@ -7,7 +7,7 @@ import { s as state } from './store-75f5d491.js';
7
7
  import { c as commonClassesNames, f as formClasses } from './classesNames-6cd8fadb.js';
8
8
 
9
9
  function mutationObserverRemoved(target, ref) {
10
- const observer = new MutationObserver((mutationsList, observer) => {
10
+ const observer = new MutationObserver((mutationsList) => {
11
11
  for (const mutation of mutationsList) {
12
12
  if (mutation.type === "childList") {
13
13
  const removedNodesArray = Array.from(mutation.removedNodes);
@@ -439,7 +439,7 @@ const GxgComboBox = class {
439
439
  this.value = event.detail.value;
440
440
  this.inputText.focus();
441
441
  }
442
- itemDidLoadHandler(itemLoaded) {
442
+ itemDidLoadHandler() {
443
443
  this.setIndexes();
444
444
  this.setInitialValue();
445
445
  }
@@ -592,7 +592,7 @@ const GxgComboBox = class {
592
592
  large: state.large,
593
593
  }, style: { maxWidth: this.maxWidth, minWidth: this.minWidth }, exportParts: this.exportparts ? this.exportparts : null }, h("div", { class: {
594
594
  "main-container": true,
595
- }, ref: (el) => (this.mainContainer = el) }, this.label ? (h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label)) : null, h("div", { class: "search-and-items-container", ref: (el) => (this.searchItemsContainer = el) }, h("div", { class: { "search-container": true } }, h("gxg-form-text", { placeholder: this.placeholder, onInput: this.inputHandler.bind(this), onKeyDown: this.keyDownHandler, onClick: this.inputTextClickHandler, value: this.text, icon: this.inputTextIcon, iconPosition: this.inputTextIconPosition, readonly: this.disableFilter, ref: (el) => (this.inputText = el), validationStatus: this.validationStatus, disabled: this.disabled, onValueChanged: this.handleValueChangeFormText, cursorEnd: this.cursorEnd, preventValueChangedEmit: true, preventValueChangeOnDisabled: true, class: { "clear-icon": clearIcon }, part: this.parts.input }), h("div", { class: "buttons-wrapper" }, clearIcon ? (h("gxg-button", { class: { "button-icon delete-icon": true }, icon: "menus/delete", type: "tertiary", onClick: () => this.clearCombo(), tabindex: "-1", fit: true, disabled: this.disabled, part: this.parts.clearButton })) : null, h("gxg-button", { class: { "button-icon": true }, icon: "navigation/arrow-down", type: "secondary-icon-only", onClick: this.toggleListButtonClickHandler, fit: true, disabled: this.disabled, tabindex: "-1", part: this.parts.toggleButton }))), h("div", { class: {
595
+ }, ref: (el) => (this.mainContainer = el) }, this.label ? (h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label)) : null, h("div", { class: "search-and-items-container", ref: (el) => (this.searchItemsContainer = el) }, h("div", { class: { "search-container": true } }, h("gxg-form-text", { placeholder: this.placeholder, onInput: this.inputHandler.bind(this), onKeyDown: this.keyDownHandler, onClick: this.inputTextClickHandler, value: this.text, icon: this.fixedIcon || this.inputTextIcon, iconPosition: this.fixedIcon ? "start" : this.inputTextIconPosition, readonly: this.disableFilter, ref: (el) => (this.inputText = el), validationStatus: this.validationStatus, disabled: this.disabled, onValueChanged: this.handleValueChangeFormText, cursorEnd: this.cursorEnd, preventValueChangedEmit: true, preventValueChangeOnDisabled: true, class: { "clear-icon": clearIcon }, part: this.parts.input }), h("div", { class: "buttons-wrapper" }, clearIcon ? (h("gxg-button", { class: { "button-icon delete-icon": true }, icon: "menus/delete", type: "tertiary", onClick: () => this.clearCombo(), tabindex: "-1", fit: true, disabled: this.disabled, part: this.parts.clearButton })) : null, h("gxg-button", { class: { "button-icon": true }, icon: "navigation/arrow-down", type: "secondary-icon-only", onClick: this.toggleListButtonClickHandler, fit: true, disabled: this.disabled, tabindex: "-1", part: this.parts.toggleButton }))), h("div", { class: {
596
596
  "items-container": true,
597
597
  "items-container--show": this.listIsOpen,
598
598
  "items-container--no-match": this.noMatch,
@@ -799,11 +799,6 @@ const GxgFormRadio = class {
799
799
  /*********************************
800
800
  METHODS
801
801
  *********************************/
802
- componentDidLoad() {
803
- this.radioInput.addEventListener("change", (e) => {
804
- console.log("changed", e);
805
- });
806
- }
807
802
  checkedHandler(newValue) {
808
803
  if (newValue) {
809
804
  this.radioChecked.emit({
@@ -105,7 +105,7 @@ const GxgMenu = class {
105
105
  this.removeMouseEnter = () => {
106
106
  this.el.removeEventListener("mouseenter", this.detectMouseEnter);
107
107
  };
108
- this.detectMouseEnter = (e) => {
108
+ this.detectMouseEnter = () => {
109
109
  //Mouse enter
110
110
  this.clearMouseOutTimeout();
111
111
  };
@@ -183,7 +183,7 @@ const GxgMenu = class {
183
183
  }
184
184
  keyboardNavigationHandler(triggeredItem) {
185
185
  const triggeringItem = triggeredItem.detail.ref;
186
- const triggeringItemIndex = this._enabledItems.findIndex((item, i) => {
186
+ const triggeringItemIndex = this._enabledItems.findIndex((item) => {
187
187
  return item === triggeringItem;
188
188
  });
189
189
  let newFocusedItem;