@genexus/genexus-ide-ui 0.0.37 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/cjs/ch-alert.cjs.entry.js +120 -0
  2. package/dist/cjs/ch-suggest_4.cjs.entry.js +46 -11
  3. package/dist/cjs/ch-timer.cjs.entry.js +45 -0
  4. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  5. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +87 -0
  6. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -2
  7. package/dist/cjs/gx-ide-new-object.cjs.entry.js +147 -0
  8. package/dist/cjs/gx-ide-references.cjs.entry.js +15 -35
  9. package/dist/cjs/{gx-ide-entity-selector_2.cjs.entry.js → gxg-date-picker.cjs.entry.js} +0 -81
  10. package/dist/cjs/gxg-list-box_2.cjs.entry.js +2 -2
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/collection/collection-manifest.json +3 -0
  13. package/dist/collection/common/render-suggest.js +4 -1
  14. package/dist/collection/components/new-environment/new-environment.js +24 -3
  15. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.en.json +13 -0
  16. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.ja.json +11 -0
  17. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.zh.json +11 -0
  18. package/dist/collection/components/new-object/new-object.css +143 -0
  19. package/dist/collection/components/new-object/new-object.js +380 -0
  20. package/dist/collection/components/references/helpers.js +0 -22
  21. package/dist/collection/components/references/references.js +12 -13
  22. package/dist/components/ch-alert.js +150 -0
  23. package/dist/components/ch-suggest-list-item2.js +41 -4
  24. package/dist/components/ch-suggest2.js +5 -9
  25. package/dist/components/ch-timer.js +6 -0
  26. package/dist/components/gx-ide-new-environment.js +4 -2
  27. package/dist/components/gx-ide-new-object.d.ts +11 -0
  28. package/dist/components/gx-ide-new-object.js +247 -0
  29. package/dist/components/gx-ide-references.js +15 -35
  30. package/dist/components/index.d.ts +1 -0
  31. package/dist/components/index.js +3 -0
  32. package/dist/components/list-box-item.js +2 -2
  33. package/dist/components/timer.js +61 -0
  34. package/dist/esm/ch-alert.entry.js +116 -0
  35. package/dist/esm/ch-suggest_4.entry.js +46 -11
  36. package/dist/esm/ch-timer.entry.js +41 -0
  37. package/dist/esm/genexus-ide-ui.js +1 -1
  38. package/dist/esm/gx-ide-entity-selector.entry.js +83 -0
  39. package/dist/esm/gx-ide-new-environment.entry.js +3 -2
  40. package/dist/esm/gx-ide-new-object.entry.js +143 -0
  41. package/dist/esm/gx-ide-references.entry.js +15 -35
  42. package/dist/esm/{gx-ide-entity-selector_2.entry.js → gxg-date-picker.entry.js} +1 -81
  43. package/dist/esm/gxg-list-box_2.entry.js +2 -2
  44. package/dist/esm/loader.js +1 -1
  45. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  46. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.en.json +13 -0
  47. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.ja.json +11 -0
  48. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.zh.json +11 -0
  49. package/dist/genexus-ide-ui/p-04df38d0.entry.js +1 -0
  50. package/dist/genexus-ide-ui/{p-06ddf2a3.entry.js → p-37ecffdc.entry.js} +1 -1
  51. package/dist/genexus-ide-ui/p-48412811.entry.js +1 -0
  52. package/dist/genexus-ide-ui/p-4f02b7bf.entry.js +1 -0
  53. package/dist/genexus-ide-ui/p-532bf5cb.entry.js +1 -0
  54. package/dist/genexus-ide-ui/p-5fe59458.entry.js +1 -0
  55. package/dist/genexus-ide-ui/p-9be97571.entry.js +1 -0
  56. package/dist/genexus-ide-ui/p-a82042ee.entry.js +1 -0
  57. package/dist/genexus-ide-ui/p-db4f2732.entry.js +1 -0
  58. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/alert/alert.css +46 -0
  59. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/alert/timer/timer.css +13 -0
  60. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +13 -5
  61. package/dist/types/common/render-suggest.d.ts +1 -1
  62. package/dist/types/components/new-environment/new-environment.d.ts +5 -1
  63. package/dist/types/components/new-object/new-object.d.ts +107 -0
  64. package/dist/types/components/references/helpers.d.ts +1 -6
  65. package/dist/types/components/references/references.d.ts +6 -6
  66. package/dist/types/components.d.ts +110 -4
  67. package/package.json +3 -3
  68. package/dist/genexus-ide-ui/p-35bc6e3a.entry.js +0 -1
  69. package/dist/genexus-ide-ui/p-4aa2885b.entry.js +0 -1
  70. package/dist/genexus-ide-ui/p-714bd8ea.entry.js +0 -1
  71. package/dist/genexus-ide-ui/p-74a88934.entry.js +0 -1
@@ -15,11 +15,49 @@ const ChSuggestListItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
15
15
  // 7.LISTENERS //
16
16
  // 8.PUBLIC METHODS API //
17
17
  // 9.LOCAL METHODS //
18
+ this.getItemIndexes = () => {
19
+ const parentElement = this.el.parentElement;
20
+ if (parentElement.nodeName === "CH-SUGGEST") {
21
+ const chSuggest = parentElement;
22
+ let itemIndex = -1;
23
+ const suggestListItemsArray = Array.from(chSuggest.querySelectorAll(":scope > ch-suggest-list-item"));
24
+ for (let index = 0; index < suggestListItemsArray.length; index++) {
25
+ // Then get the item index
26
+ if (suggestListItemsArray[index] === this.el) {
27
+ itemIndex = index;
28
+ break;
29
+ }
30
+ }
31
+ return {
32
+ itemIndex: itemIndex,
33
+ listIndex: undefined // the items does not belongs to a list
34
+ };
35
+ }
36
+ else if (parentElement.nodeName === "CH-SUGGEST-LIST") {
37
+ const chSuggestList = parentElement;
38
+ const chSuggestListsArray = Array.from(chSuggestList.parentElement.querySelectorAll(":scope > ch-suggest-list"));
39
+ const listIndex = chSuggestListsArray.findIndex(list => {
40
+ return list === chSuggestList;
41
+ });
42
+ if (listIndex !== -1) {
43
+ const listItemsArray = Array.from(chSuggestList.querySelectorAll("ch-suggest-list-item"));
44
+ const itemIndex = listItemsArray.findIndex(item => {
45
+ return item === this.el;
46
+ });
47
+ return {
48
+ itemIndex: itemIndex,
49
+ listIndex: listIndex
50
+ };
51
+ }
52
+ }
53
+ };
18
54
  this.handleClick = () => {
55
+ const indexes = this.getItemIndexes();
19
56
  this.itemSelected.emit({
20
57
  value: this.value || this.el.innerText,
21
- caption: this.el.innerText,
22
- description: this.description
58
+ description: this.el.innerText,
59
+ icon: this.iconSrc,
60
+ indexes: indexes
23
61
  });
24
62
  };
25
63
  this.handleKeyDown = (e) => {
@@ -34,14 +72,13 @@ const ChSuggestListItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
34
72
  }
35
73
  // 10.RENDER() FUNCTION //
36
74
  render() {
37
- return (h(Host, { role: "listitem", onKeyDown: this.handleKeyDown }, h("button", { part: "button", onClick: this.handleClick }, h("slot", { name: "icon" }), h("div", { class: "content-wrapper", part: "content-wrapper" }, h("slot", null), this.description && (h("span", { part: "description" }, this.description))))));
75
+ return (h(Host, { role: "listitem", onKeyDown: this.handleKeyDown }, h("button", { part: "button", onClick: this.handleClick }, h("slot", { name: "icon" }), h("div", { class: "content-wrapper", part: "content-wrapper" }, h("slot", null)))));
38
76
  }
39
77
  static get delegatesFocus() { return true; }
40
78
  get el() { return this; }
41
79
  static get style() { return chSuggestListItemCss; }
42
80
  }, [17, "ch-suggest-list-item", {
43
81
  "iconSrc": [1, "icon-src"],
44
- "description": [1],
45
82
  "value": [8]
46
83
  }]);
47
84
  function defineCustomElement() {
@@ -11,7 +11,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
11
11
  super();
12
12
  this.__registerHost();
13
13
  this.__attachShadow();
14
- this.inputChanged = createEvent(this, "inputChanged", 7);
14
+ this.valueChanged = createEvent(this, "valueChanged", 7);
15
15
  this.keyEventsDictionary = {
16
16
  ArrowDown: (e) => {
17
17
  const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_DOWN);
@@ -38,7 +38,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
38
38
  /**
39
39
  * The debounce amount in milliseconds (This is the time the suggest waits after the user has finished typing, to show the suggestions).
40
40
  */
41
- this.debounce = 500;
41
+ this.debounce = 300;
42
42
  /**
43
43
  * The label position
44
44
  */
@@ -126,7 +126,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
126
126
  */
127
127
  this.handleInput = (e) => {
128
128
  const inputValue = e.target.value;
129
- this.caption = inputValue;
129
+ this.value = inputValue;
130
130
  if (this.timeoutReference) {
131
131
  clearTimeout(this.timeoutReference);
132
132
  }
@@ -157,9 +157,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
157
157
  partWindow.scrollTop = partWindow.scrollHeight;
158
158
  };
159
159
  this.processInputEvent = (inputValue) => {
160
- this.inputChanged.emit(inputValue);
161
- this.caption = inputValue;
162
- this.value = undefined;
160
+ this.valueChanged.emit(inputValue);
163
161
  this.evaluateWindowMaxHeight();
164
162
  };
165
163
  this.closeWindow = () => {
@@ -175,7 +173,6 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
175
173
  // 7.LISTENERS //
176
174
  itemSelectedHandler(event) {
177
175
  this.value = event.detail.value;
178
- this.caption = event.detail.caption;
179
176
  this.closeWindow();
180
177
  }
181
178
  focusChangeAttemptHandler(event) {
@@ -210,7 +207,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
210
207
  }
211
208
  // 10.RENDER() FUNCTION //
212
209
  render() {
213
- return (h(Host, null, h("div", { class: "main-wrapper", part: "main-wrapper" }, h("div", { class: "label-input-wrapper", part: "label-input-wrapper" }, this.showLabel && this.label && (h("label", { id: "label", htmlFor: "input", part: "label" }, this.label)), h("input", { type: "text", id: "input", part: "input", class: "input", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.caption, autocomplete: "off", "aria-controls": "ch-window", "aria-label": !this.showLabel && this.label ? this.label : undefined, "aria-labelledby": this.showLabel && this.label ? "label" : undefined, "aria-expanded": this.windowHidden.toString() })), h("ch-window", { id: "ch-window", container: this.textInput, "close-on-outside-click": true, "close-on-escape": true, xAlign: "inside-start", yAlign: "outside-end", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: "\n header:header, \n caption:title, \n close:close-button,\n window:dropdown" }, h("slot", { onSlotchange: this.evaluateSlotIsEmpty })))));
210
+ return (h(Host, null, h("div", { class: "main-wrapper", part: "main-wrapper" }, h("div", { class: "label-input-wrapper", part: "label-input-wrapper" }, this.showLabel && this.label && (h("label", { id: "label", htmlFor: "input", part: "label" }, this.label)), h("input", { type: "text", id: "input", part: "input", class: "input", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.value, autocomplete: "off", "aria-controls": "ch-window", "aria-label": !this.showLabel && this.label ? this.label : undefined, "aria-labelledby": this.showLabel && this.label ? "label" : undefined, "aria-expanded": this.windowHidden.toString() })), h("ch-window", { id: "ch-window", container: this.textInput, "close-on-outside-click": true, "close-on-escape": true, xAlign: "inside-start", yAlign: "outside-end", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: "\n header:header, \n caption:title, \n close:close-button,\n window:dropdown" }, h("slot", { onSlotchange: this.evaluateSlotIsEmpty })))));
214
211
  }
215
212
  static get delegatesFocus() { return true; }
216
213
  get el() { return this; }
@@ -221,7 +218,6 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
221
218
  "labelPosition": [513, "label-position"],
222
219
  "showLabel": [4, "show-label"],
223
220
  "value": [1025],
224
- "caption": [1025],
225
221
  "showHeader": [4, "show-header"],
226
222
  "suggestTitle": [1, "suggest-title"],
227
223
  "cursorEnd": [4, "cursor-end"],
@@ -0,0 +1,6 @@
1
+ import { C as ChTimer$1, d as defineCustomElement$1 } from './timer.js';
2
+
3
+ const ChTimer = ChTimer$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { ChTimer, defineCustomElement };
@@ -36,7 +36,7 @@ const GxIdeNewEnvironment$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
36
36
  const gxOptions = [];
37
37
  const frontEndValues = this.frontEndsEl.getValues();
38
38
  frontEndValues.then(result => {
39
- result.forEach(checkbox => {
39
+ result.forEach((checkbox) => {
40
40
  gxOptions.push({
41
41
  id: checkbox.id,
42
42
  checked: checkbox.value,
@@ -99,13 +99,14 @@ const GxIdeNewEnvironment$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
99
99
  this.changedCallback(newEnvData);
100
100
  };
101
101
  this.renderTabBasic = () => {
102
- return (h("gxg-tab", { tab: "basic", "no-padding": true, flexContainer: true }, h("gx-ide-container", { containerTitle: this._componentLocale.runtime, fieldset: true, displayBorderTop: true, displayBorderBottom: true }, h("gxg-form-radio-group", { ref: (el) => (this.runtimeGroup = el), row: true, onChange: this.runtimeEnvironmentChangedHandler, slot: "header" }, renderFormItems("gxg-form-radio", this.runtimes, "runtime-environment"))), h("div", { class: "grid grid--no-gap grid--basic" }, h("gx-ide-container", { fieldset: true, noHeadingBorder: true, "container-title": this._componentLocale.tabBasic.backEnd.backEndLabel }, h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.tabBasic.backEnd.language, value: this.languages[0]["id"], ref: (el) => (this.languageEl = el), onValueChanged: this.languageValueChangedHandler, part: "language" }, renderFormItems("gxg-combo-box-item", this.languages)), h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.tabBasic.backEnd.dataStores, value: this.dataStores[0]["id"], ref: (el) => (this.dataStoreEl = el), onValueChanged: this.dataStoreValueChangedHandler, part: "data-store" }, renderFormItems("gxg-combo-box-item", this.dataStores))), h("gx-ide-container", { fieldset: true, noHeadingBorder: true, "container-title": this._componentLocale.tabBasic.frontEnd.frontEndLabel }, h("gxg-form-checkbox-group", { ref: el => (this.frontEndsEl = el) }, renderFormItems("gxg-form-checkbox", this.frontEnds))))));
102
+ return (h("gxg-tab", { tab: "basic", "no-padding": true }, h("gx-ide-container", { containerTitle: this._componentLocale.runtime, fieldset: true, displayBorderTop: true, displayBorderBottom: true }, h("gxg-form-radio-group", { ref: (el) => (this.runtimeGroup = el), row: true, onChange: this.runtimeEnvironmentChangedHandler, slot: "header" }, renderFormItems("gxg-form-radio", this.runtimes, "runtime-environment"))), h("div", { class: "grid grid--no-gap grid--basic" }, h("gx-ide-container", { fieldset: true, noHeadingBorder: true, "container-title": this._componentLocale.tabBasic.backEnd.backEndLabel }, h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.tabBasic.backEnd.language, value: this.languages[0]["id"], ref: (el) => (this.languageEl = el), onValueChanged: this.languageValueChangedHandler, part: "language" }, renderFormItems("gxg-combo-box-item", this.languages)), h("gxg-combo-box", { "disable-filter": true, label: this._componentLocale.tabBasic.backEnd.dataStores, value: this.dataStores[0]["id"], ref: (el) => (this.dataStoreEl = el), onValueChanged: this.dataStoreValueChangedHandler, part: "data-store" }, renderFormItems("gxg-combo-box-item", this.dataStores))), h("gx-ide-container", { fieldset: true, noHeadingBorder: true, "container-title": this._componentLocale.tabBasic.frontEnd.frontEndLabel }, h("gxg-form-checkbox-group", { ref: (el) => (this.frontEndsEl = el) }, renderFormItems("gxg-form-checkbox", this.frontEnds))))));
103
103
  };
104
104
  this.renderTabAdvanced = () => {
105
105
  return (h("gxg-tab", { tab: "advanced", "no-padding": true }, h("gx-ide-container", { displayBorderTop: true }, h("slot", { name: "property-grid" }))));
106
106
  };
107
107
  this.hideTopBar = false;
108
108
  this.dataStores = undefined;
109
+ this.frontEnd = undefined;
109
110
  this.frontEnds = undefined;
110
111
  this.disableAdvanced = false;
111
112
  this.setAsTarget = true;
@@ -133,6 +134,7 @@ const GxIdeNewEnvironment$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
133
134
  }, [1, "gx-ide-new-environment", {
134
135
  "hideTopBar": [4, "hide-top-bar"],
135
136
  "dataStores": [16],
137
+ "frontEnd": [16],
136
138
  "frontEnds": [16],
137
139
  "disableAdvanced": [4, "disable-advanced"],
138
140
  "setAsTarget": [4, "set-as-target"],
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface GxIdeNewObject extends Components.GxIdeNewObject, HTMLElement {}
4
+ export const GxIdeNewObject: {
5
+ prototype: GxIdeNewObject;
6
+ new (): GxIdeNewObject;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,247 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { L as Locale } from './locale.js';
3
+ import { d as defineCustomElement$d } from './icon.js';
4
+ import { d as defineCustomElement$c } from './entity-selector.js';
5
+ import { d as defineCustomElement$b } from './button.js';
6
+ import { d as defineCustomElement$a } from './container2.js';
7
+ import { d as defineCustomElement$9 } from './form-checkbox.js';
8
+ import { d as defineCustomElement$8 } from './form-text.js';
9
+ import { d as defineCustomElement$7 } from './icon2.js';
10
+ import { d as defineCustomElement$6 } from './gxg-label2.js';
11
+ import { d as defineCustomElement$5 } from './list-box.js';
12
+ import { d as defineCustomElement$4 } from './list-box-item.js';
13
+ import { d as defineCustomElement$3 } from './title.js';
14
+ import { d as defineCustomElement$2 } from './tooltip.js';
15
+
16
+ const newObjectCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--color-background)}:host(.gxi-new-object--shadow){border:none;box-shadow:var(--box-shadow-01)}.header{grid-template-columns:auto 1fr}.first-row{grid-template-columns:1fr 3fr;grid-template-rows:1fr}.first-row *:nth-child(3){grid-column:1/3}";
17
+
18
+ const GxIdeNewObject$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
19
+ constructor() {
20
+ super();
21
+ this.__registerHost();
22
+ this.__attachShadow();
23
+ this.create = createEvent(this, "create", 7);
24
+ this.validateName = createEvent(this, "validateName", 7);
25
+ this.cancel = createEvent(this, "cancel", 7);
26
+ this.componentDidLoadEvent = createEvent(this, "componentDidLoadEvent", 7);
27
+ this.descriptionModifiedByUser = false;
28
+ // 7.LISTENERS //
29
+ // 8.PUBLIC METHODS API //
30
+ // 9.LOCAL METHODS //
31
+ this.renderModuleFolder = () => {
32
+ if (this.selectedType.hasModule || this.selectedType.hasFolder) {
33
+ let labelDescription = this._componentLocale.moduleFolder;
34
+ if (!this.selectedType.hasFolder) {
35
+ labelDescription = this._componentLocale.moduleOnly;
36
+ }
37
+ else if (!this.selectedType.hasModule) {
38
+ labelDescription = this._componentLocale.folderOnly;
39
+ }
40
+ return [
41
+ h("gxg-label", { labelPosition: "start" }, labelDescription),
42
+ h("gx-ide-entity-selector", { value: this.parent, defaultValue: this.defaultParent, selectEntityCallback: this.selectModuleCallback, ref: (el) => (this.parentEl = el), part: "module" })
43
+ ];
44
+ }
45
+ return null;
46
+ };
47
+ /**
48
+ * This method initializes tha name value. It depends on 'this.selectedType'
49
+ */
50
+ this.init = () => {
51
+ if (this.selectedType && this.selectedType.name.length > 0) {
52
+ this.name = this.selectedType.name;
53
+ this.description = this.selectedType.name;
54
+ }
55
+ };
56
+ this.onInputNameHandler = (e) => {
57
+ const name = e.detail;
58
+ if (!this.descriptionModifiedByUser) {
59
+ // description should be equal to name, unless the description was already modified by the user.
60
+ this.descriptionEl.value = name;
61
+ }
62
+ this.processName(name);
63
+ };
64
+ this.onBlurNameHandler = () => {
65
+ this.validateNameHandler(this.nameEl.value);
66
+ };
67
+ this.onInputDescriptionHandler = (e) => {
68
+ this.description = e.detail;
69
+ this.descriptionModifiedByUser = true;
70
+ };
71
+ this.processName = (name) => {
72
+ if (this.validateNameTimeoutRef) {
73
+ clearTimeout(this.validateNameTimeoutRef);
74
+ }
75
+ this.validateNameTimeoutRef = setTimeout(() => {
76
+ this.validateNameHandler(name);
77
+ }, 300);
78
+ };
79
+ this.validateNameHandler = async (name) => {
80
+ const result = await this.validateNameCallback(name);
81
+ if (result !== undefined) {
82
+ // the name is not valid. display message
83
+ this.nameEl.validationMessage = result;
84
+ this.nameEl.validationStatus = "error";
85
+ this.nameIsValid = false;
86
+ }
87
+ else {
88
+ // valid name
89
+ this.nameEl.validationMessage = null;
90
+ this.nameEl.validationStatus = "indeterminate";
91
+ this.nameIsValid = true;
92
+ }
93
+ };
94
+ this.createCallbackHandler = async () => {
95
+ var _a;
96
+ const data = {
97
+ typeId: (_a = this.selectedType) === null || _a === void 0 ? void 0 : _a.id,
98
+ name: this.nameEl.value,
99
+ description: this.descriptionEl.value,
100
+ moduleId: this.parentEl.value.id
101
+ };
102
+ await this.createCallback(data);
103
+ };
104
+ this.cancelCallbackHandler = async () => {
105
+ await this.cancelCallback();
106
+ };
107
+ this.categoryOnClickHandler = (category) => {
108
+ this.selectedCategory = category;
109
+ if (category.types[0]) {
110
+ this.selectedType = category.types[0];
111
+ }
112
+ };
113
+ this.typeOnClickHandler = (type) => {
114
+ this.selectedType = type;
115
+ };
116
+ this.selectedCategory = undefined;
117
+ this.selectedType = undefined;
118
+ this.nameIsValid = false;
119
+ this.name = undefined;
120
+ this.description = undefined;
121
+ this.shadow = false;
122
+ this.typeCategories = undefined;
123
+ this.parent = undefined;
124
+ this.defaultParent = undefined;
125
+ this.selectModuleCallback = undefined;
126
+ this.validateNameCallback = undefined;
127
+ this.createCallback = undefined;
128
+ this.cancelCallback = undefined;
129
+ }
130
+ // 6.COMPONENT LIFECYCLE EVENTS //
131
+ async componentWillLoad() {
132
+ this.selectedCategory = this.typeCategories[0];
133
+ this.selectedType = this.typeCategories[0].types[0];
134
+ this.init();
135
+ this._componentLocale = await Locale.getComponentStrings(this.el);
136
+ }
137
+ componentDidLoad() {
138
+ this.nameEl.focus();
139
+ this.validateNameHandler(this.name);
140
+ this.componentDidLoadEvent.emit(true);
141
+ }
142
+ // 10.LOCAL METHODS (RENDER) //
143
+ // 11.RENDER() FUNCTION //
144
+ render() {
145
+ return (h(Host, { class: {
146
+ "gxi-new-kb": true,
147
+ "gxi-new-object--shadow": this.shadow
148
+ } }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("main", { class: "main" }, h("gxg-container", { fieldset: true, displayBorderBottom: true }, h("div", { class: "grid first-row" }, this.typeCategories.length > 1 ? (h("gxg-list-box", { "single-selection": true, id: "list-box-category", "the-title": this._componentLocale.categorySelection, height: "100%" }, this.typeCategories.map(category => (h("gxg-list-box-item", { index: Number(category.id), icon: category.icon, part: `${category}-${category.id}`, onClick: () => this.categoryOnClickHandler(category) }, category.name))))) : null, h("gxg-list-box", { "single-selection": true, id: "list-box-type", "the-title": this._componentLocale.typeSelection, height: "100%" }, this.selectedCategory.types
149
+ ? this.selectedCategory.types.map(type => (h("gxg-list-box-item", { index: Number(type.id), icon: type.icon, selected: this.selectedType.id === type.id, part: `${type}-${type.id}`, onClick: () => this.typeOnClickHandler(type) }, type.name)))
150
+ : null), h("gxg-title", { type: "title-05" }, "Text about the ", this.selectedType.name))), h("gxg-container", { fieldset: true }, h("div", { class: "grid" }, h("header", { class: "header grid" }, h("gxg-label", { labelPosition: "start" }, this._componentLocale.name), h("gxg-form-text", { "label-position": "start", placeholder: "Name", "max-width": "100%", value: this.name, ref: (el) => (this.nameEl = el), onInput: this.onInputNameHandler, onBlur: this.onBlurNameHandler, part: "name", "display-validation-styles": true, "display-validation-message": true }), h("gxg-label", { labelPosition: "start" }, this._componentLocale.description), h("gxg-form-text", { "label-position": "start", placeholder: "Description", "max-width": "100%", value: this.description, ref: (el) => (this.descriptionEl = el), onInput: this.onInputDescriptionHandler, part: "description", "display-validation-styles": true, "display-validation-message": true }), this.renderModuleFolder()))), h("gxg-container", { fieldset: true, displayBorderTop: true }, h("gxg-button", { id: "button-create", slot: "footer", type: "primary-text-only", onClick: this.createCallbackHandler, disabled: !this.nameIsValid, part: "gxg-button gxg-button--create" }, this._componentLocale.footer.btnCreate), h("gxg-button", { id: "button-cancel", slot: "footer", type: "outlined", onClick: this.cancelCallbackHandler, part: "gxg-button gxg-button--cancel" }, this._componentLocale.footer.btnCancel))))));
151
+ }
152
+ static get assetsDirs() { return ["gx-ide-assets/new-object"]; }
153
+ get el() { return this; }
154
+ static get style() { return newObjectCss; }
155
+ }, [1, "gx-ide-new-object", {
156
+ "shadow": [4],
157
+ "typeCategories": [16],
158
+ "parent": [16],
159
+ "defaultParent": [16],
160
+ "selectModuleCallback": [16],
161
+ "validateNameCallback": [16],
162
+ "createCallback": [16],
163
+ "cancelCallback": [16],
164
+ "selectedCategory": [32],
165
+ "selectedType": [32],
166
+ "nameIsValid": [32],
167
+ "name": [32],
168
+ "description": [32]
169
+ }]);
170
+ function defineCustomElement$1() {
171
+ if (typeof customElements === "undefined") {
172
+ return;
173
+ }
174
+ const components = ["gx-ide-new-object", "ch-icon", "gx-ide-entity-selector", "gxg-button", "gxg-container", "gxg-form-checkbox", "gxg-form-text", "gxg-icon", "gxg-label", "gxg-list-box", "gxg-list-box-item", "gxg-title", "gxg-tooltip"];
175
+ components.forEach(tagName => { switch (tagName) {
176
+ case "gx-ide-new-object":
177
+ if (!customElements.get(tagName)) {
178
+ customElements.define(tagName, GxIdeNewObject$1);
179
+ }
180
+ break;
181
+ case "ch-icon":
182
+ if (!customElements.get(tagName)) {
183
+ defineCustomElement$d();
184
+ }
185
+ break;
186
+ case "gx-ide-entity-selector":
187
+ if (!customElements.get(tagName)) {
188
+ defineCustomElement$c();
189
+ }
190
+ break;
191
+ case "gxg-button":
192
+ if (!customElements.get(tagName)) {
193
+ defineCustomElement$b();
194
+ }
195
+ break;
196
+ case "gxg-container":
197
+ if (!customElements.get(tagName)) {
198
+ defineCustomElement$a();
199
+ }
200
+ break;
201
+ case "gxg-form-checkbox":
202
+ if (!customElements.get(tagName)) {
203
+ defineCustomElement$9();
204
+ }
205
+ break;
206
+ case "gxg-form-text":
207
+ if (!customElements.get(tagName)) {
208
+ defineCustomElement$8();
209
+ }
210
+ break;
211
+ case "gxg-icon":
212
+ if (!customElements.get(tagName)) {
213
+ defineCustomElement$7();
214
+ }
215
+ break;
216
+ case "gxg-label":
217
+ if (!customElements.get(tagName)) {
218
+ defineCustomElement$6();
219
+ }
220
+ break;
221
+ case "gxg-list-box":
222
+ if (!customElements.get(tagName)) {
223
+ defineCustomElement$5();
224
+ }
225
+ break;
226
+ case "gxg-list-box-item":
227
+ if (!customElements.get(tagName)) {
228
+ defineCustomElement$4();
229
+ }
230
+ break;
231
+ case "gxg-title":
232
+ if (!customElements.get(tagName)) {
233
+ defineCustomElement$3();
234
+ }
235
+ break;
236
+ case "gxg-tooltip":
237
+ if (!customElements.get(tagName)) {
238
+ defineCustomElement$2();
239
+ }
240
+ break;
241
+ } });
242
+ }
243
+
244
+ const GxIdeNewObject = GxIdeNewObject$1;
245
+ const defineCustomElement = defineCustomElement$1;
246
+
247
+ export { GxIdeNewObject, defineCustomElement };
@@ -31,7 +31,10 @@ const renderSuggestLists = (suggestData) => {
31
31
  return [];
32
32
  };
33
33
  const renderSuggestListsItem = (suggestItem) => {
34
- return (h("ch-suggest-list-item", { description: suggestItem.description, value: suggestItem.value }, [suggestItem.caption, suggestItem.icon && renderIcon(suggestItem.icon)]));
34
+ return (h("ch-suggest-list-item", { value: suggestItem.value }, [
35
+ suggestItem.description || suggestItem.value,
36
+ suggestItem.icon && renderIcon(suggestItem.icon)
37
+ ]));
35
38
  };
36
39
  const renderIcon = (iconName) => {
37
40
  return h("gxg-icon", { color: "auto", type: iconName, slot: "icon" });
@@ -54,7 +57,6 @@ const convertObjectDataToSuggestData = (selectorCategoriesData) => {
54
57
  selectorCategory.items.forEach((objectData) => {
55
58
  const suggestItem = {
56
59
  value: objectData.id,
57
- caption: objectData.name,
58
60
  description: objectData.description,
59
61
  icon: objectData.icon
60
62
  };
@@ -65,27 +67,6 @@ const convertObjectDataToSuggestData = (selectorCategoriesData) => {
65
67
  }
66
68
  return suggestData;
67
69
  };
68
- /**
69
- * @description Keeps an updated state of the last suggested categories objects passed by the host.
70
- */
71
- const updateSuggestedObjects = (selectorCategoryData) => {
72
- const suggestedObjects = [];
73
- if (selectorCategoryData === null || selectorCategoryData === void 0 ? void 0 : selectorCategoryData.length) {
74
- selectorCategoryData.forEach(category => {
75
- if (category.items) {
76
- category.items.forEach(object => {
77
- suggestedObjects.push({
78
- id: object.id,
79
- icon: object.icon,
80
- name: object.name,
81
- description: object.description
82
- });
83
- });
84
- }
85
- });
86
- }
87
- return suggestedObjects;
88
- };
89
70
  /**
90
71
  * @description This function converts ReferenceData[] data to GxgTreeItemData[]
91
72
  */
@@ -122,14 +103,14 @@ const GxIdeReferences$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
122
103
  this.__registerHost();
123
104
  this.__attachShadow();
124
105
  this.componentDidRenderEvent = createEvent(this, "componentDidRenderEvent", 7);
125
- /**
126
- * Keeps an array of the last suggested objects, returned by selectorSourceCallback
127
- */
128
- this.suggestedObjects = [];
129
106
  /**
130
107
  * The references messages max. width that appear if the tree is empty or could not be retrieved.
131
108
  */
132
109
  this.referencesMessagesMaxWidth = "200px";
110
+ /**
111
+ * The last SelectorCategoryData[] returned by selectorSourceCallback
112
+ */
113
+ this.selectorCategoryData = [];
133
114
  // 7.LISTENERS //
134
115
  // 8.PUBLIC METHODS API //
135
116
  // 9.LOCAL METHODS //
@@ -138,21 +119,20 @@ const GxIdeReferences$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
138
119
  */
139
120
  this.attachSelectObjectListener = () => {
140
121
  this.selectObjectSuggestEl.addEventListener("itemSelected", (e) => {
141
- const itemValue = e.detail.value;
142
- this.selectedObject = this.suggestedObjects.find(item => {
143
- return item.id === itemValue;
144
- });
122
+ const categoryIndex = e.detail.indexes.listIndex;
123
+ const itemIndex = e.detail.indexes.itemIndex;
124
+ this.selectedObject =
125
+ this.selectorCategoryData[categoryIndex].items[itemIndex];
145
126
  });
146
127
  };
147
128
  /**
148
- * 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.
149
130
  */
150
131
  this.selectObjectValueChangedHandler = async (e) => {
151
132
  const value = e.detail;
152
133
  this.selectorSourceCallback(value)
153
134
  .then(result => {
154
- /* update selected objects state*/
155
- this.suggestedObjects = updateSuggestedObjects(result);
135
+ this.selectorCategoryData = result;
156
136
  /* show suggestions*/
157
137
  this.objectsSuggestions = convertObjectDataToSuggestData(result);
158
138
  })
@@ -319,7 +299,7 @@ const GxIdeReferences$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEle
319
299
  // 10.RENDER() FUNCTION //
320
300
  render() {
321
301
  var _a, _b, _c, _d, _e, _f;
322
- 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, onInputChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest", exportparts: "dropdown:select-object-dropdown" }, 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: {
302
+ 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.name, onValueChanged: this.selectObjectValueChangedHandler, ref: el => (this.selectObjectSuggestEl = el), part: "object-selector-suggest", exportparts: "dropdown:select-object-dropdown" }, 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: {
323
303
  "header__bottom": true,
324
304
  "header__bottom--hidden": this.barHidden
325
305
  } }, 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: false, 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
@@ -6,6 +6,7 @@ export { GxIdeListSelector as GxIdeListSelector } from '../types/components/list
6
6
  export { GxIdeListSelectorItem as GxIdeListSelectorItem } from '../types/components/list-selector/list-selector-item/list-selector-item';
7
7
  export { GxIdeNewEnvironment as GxIdeNewEnvironment } from '../types/components/new-environment/new-environment';
8
8
  export { GxIdeNewKb as GxIdeNewKb } from '../types/components/new-kb/new-kb';
9
+ export { GxIdeNewObject as GxIdeNewObject } from '../types/components/new-object/new-object';
9
10
  export { GxIdeObjectSelector as GxIdeObjectSelector } from '../types/components/object-selector/object-selector';
10
11
  export { GxIdeReferences as GxIdeReferences } from '../types/components/references/references';
11
12
  export { GxIdeTeamDevCommit as GxIdeTeamDevCommit } from '../types/components/team-dev-commit/team-dev-commit';
@@ -2,6 +2,7 @@ export { setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/intern
2
2
  export { ChAccordion, defineCustomElement as defineCustomElementChAccordion } from './ch-accordion.js';
3
3
  export { ChActionGroup, defineCustomElement as defineCustomElementChActionGroup } from './ch-action-group.js';
4
4
  export { ChActionGroupItem, defineCustomElement as defineCustomElementChActionGroupItem } from './ch-action-group-item.js';
5
+ export { ChAlert, defineCustomElement as defineCustomElementChAlert } from './ch-alert.js';
5
6
  export { ChCheckbox, defineCustomElement as defineCustomElementChCheckbox } from './ch-checkbox.js';
6
7
  export { ChDragBar, defineCustomElement as defineCustomElementChDragBar } from './ch-drag-bar.js';
7
8
  export { ChDropdown, defineCustomElement as defineCustomElementChDropdown } from './ch-dropdown.js';
@@ -49,6 +50,7 @@ export { ChTestActionGroup, defineCustomElement as defineCustomElementChTestActi
49
50
  export { ChTestDropdown, defineCustomElement as defineCustomElementChTestDropdown } from './ch-test-dropdown.js';
50
51
  export { ChTestTreeX, defineCustomElement as defineCustomElementChTestTreeX } from './ch-test-tree-x.js';
51
52
  export { ChTextblock, defineCustomElement as defineCustomElementChTextblock } from './ch-textblock.js';
53
+ export { ChTimer, defineCustomElement as defineCustomElementChTimer } from './ch-timer.js';
52
54
  export { ChTree, defineCustomElement as defineCustomElementChTree } from './ch-tree.js';
53
55
  export { ChTreeItem, defineCustomElement as defineCustomElementChTreeItem } from './ch-tree-item.js';
54
56
  export { ChTreeX, defineCustomElement as defineCustomElementChTreeX } from './ch-tree-x.js';
@@ -65,6 +67,7 @@ export { GxIdeListSelector, defineCustomElement as defineCustomElementGxIdeListS
65
67
  export { GxIdeListSelectorItem, defineCustomElement as defineCustomElementGxIdeListSelectorItem } from './gx-ide-list-selector-item.js';
66
68
  export { GxIdeNewEnvironment, defineCustomElement as defineCustomElementGxIdeNewEnvironment } from './gx-ide-new-environment.js';
67
69
  export { GxIdeNewKb, defineCustomElement as defineCustomElementGxIdeNewKb } from './gx-ide-new-kb.js';
70
+ export { GxIdeNewObject, defineCustomElement as defineCustomElementGxIdeNewObject } from './gx-ide-new-object.js';
68
71
  export { GxIdeObjectSelector, defineCustomElement as defineCustomElementGxIdeObjectSelector } from './gx-ide-object-selector.js';
69
72
  export { GxIdeReferences, defineCustomElement as defineCustomElementGxIdeReferences } from './gx-ide-references.js';
70
73
  export { GxIdeTeamDevCommit, defineCustomElement as defineCustomElementGxIdeTeamDevCommit } from './gx-ide-team-dev-commit.js';
@@ -8,7 +8,7 @@ import { d as defineCustomElement$3 } from './icon2.js';
8
8
  import { d as defineCustomElement$2 } from './gxg-label2.js';
9
9
  import { d as defineCustomElement$1 } from './tooltip.js';
10
10
 
11
- const listBoxItemCss = ":host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--color-background-disabled) !important;color:var(--color-on-background--disabled) !important;border-color:var(--gxg-border-color--disabled) !important;cursor:default !important}: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:6px;height:6px}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}:host{display:block;font-family:var(--font-family-primary);font-size:inherit;color:inherit;display:flex;box-sizing:border-box;align-items:center;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;outline:none}:host .container{display:flex;align-items:center;padding:var(--spacing-comp-00) var(--spacing-comp-02);width:100%;height:var(--gxg-list-item-height--spaced);box-sizing:border-box}:host .icon{margin-inline-end:var(--spacing-comp-01);flex-shrink:0}:host gxg-form-checkbox{margin-inline-end:var(--spacing-comp-01)}:host gxg-form-checkbox::part(box){outline:none}:host(:not([disabled])){cursor:pointer !important}:host(:hover:not([selected])){background-color:var(--gxg-background-color-item-hover)}:host(.has-icon.no-checkbox) .container{padding-inline-start:var(--spacing-comp-01)}:host([selected]){background-color:var(--gxg-background-color-item-selected);color:var(--gxg-color-item-active)}:host([highlighted]){background-color:var(--gxg-background-color-item-active);color:var(--color-always-white)}:host(.large) .container{padding:var(--spacing-comp-01)}";
11
+ const listBoxItemCss = ":host(.gxg--disabled) .form-element,:host(.gxg--disabled.form-element){pointer-events:none;background-color:var(--color-background-disabled) !important;color:var(--color-on-background--disabled) !important;border-color:var(--gxg-border-color--disabled) !important;cursor:default !important}: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:6px;height:6px}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}:host{display:block;font-family:var(--font-family-primary);font-size:inherit;color:inherit;display:flex;box-sizing:border-box;align-items:center;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;outline:none}:host .container{display:flex;align-items:center;padding:var(--spacing-comp-00) var(--spacing-comp-02);width:100%;height:var(--gxg-list-item-height--spaced);box-sizing:border-box}:host .icon{margin-inline-end:var(--spacing-comp-01);flex-shrink:0}:host gxg-form-checkbox{margin-inline-end:var(--spacing-comp-01)}:host gxg-form-checkbox::part(box){outline:none}:host(:not([disabled])){cursor:pointer !important}:host(:hover:not([selected])){background-color:var(--gxg-background-color-item-hover)}:host(.has-icon.no-checkbox) .container{padding-inline-start:var(--spacing-comp-01)}.description{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;}:host([highlighted]){background-color:var(--gxg-background-color-item-selected);color:var(--color-on-background)}:host([selected]){background-color:var(--gxg-background-color-item-active);color:var(--gxg-color-item-active)}:host(.large) .container{padding:var(--spacing-comp-01)}";
12
12
 
13
13
  const GxgListboxItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
14
14
  constructor() {
@@ -121,7 +121,7 @@ const GxgListboxItem = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
121
121
  }, onClick: this.itemClickedFunc.bind(this),
122
122
  // onMouseOver={this.onMouseOver.bind(this)}
123
123
  // onMouseOut={this.onMouseOut.bind(this)}
124
- exportParts: this.exportparts ? this.exportparts : null }, h("div", { class: { container: true, "form-element": true } }, this.checkbox && !this.disabled ? (h("gxg-form-checkbox", { tabindex: "-1", checked: this.checked, onClick: this.handleCheckboxClick, disabled: this.disabled, part: this.parts.checkbox })) : null, this.icon !== undefined ? (h("gxg-icon", { class: "icon", color: this.iconColor(), size: "regular", type: this.icon })) : null, h("slot", null))));
124
+ exportParts: this.exportparts ? this.exportparts : null }, h("div", { class: { container: true, "form-element": true } }, this.checkbox && !this.disabled ? (h("gxg-form-checkbox", { tabindex: "-1", checked: this.checked, onClick: this.handleCheckboxClick, disabled: this.disabled, part: this.parts.checkbox })) : null, this.icon !== undefined ? (h("gxg-icon", { class: "icon", color: this.iconColor(), size: "regular", type: this.icon })) : null, h("div", { class: "description" }, h("slot", null)))));
125
125
  }
126
126
  get el() { return this; }
127
127
  static get style() { return listBoxItemCss; }