@genexus/genexus-ide-ui 0.0.13 → 0.0.14

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 (77) hide show
  1. package/dist/cjs/ch-suggest_5.cjs.entry.js +388 -0
  2. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  3. package/dist/cjs/gx-ide-container_2.cjs.entry.js +168 -0
  4. package/dist/cjs/gx-ide-references.cjs.entry.js +299 -0
  5. package/dist/cjs/gx-ide-test.cjs.entry.js +2 -25
  6. package/dist/cjs/{gx-ide-container_10.cjs.entry.js → gxg-combo-box_8.cjs.entry.js} +0 -162
  7. package/dist/cjs/{gxg-tree-item.cjs.entry.js → gxg-tree_2.cjs.entry.js} +167 -0
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/render-tree-25d5b8a1.js +29 -0
  10. package/dist/collection/collection-manifest.json +1 -0
  11. package/dist/collection/common/render-suggest.js +18 -0
  12. package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.en.json +15 -0
  13. package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.ja.json +3 -0
  14. package/dist/collection/components/references/gx-ide-assets/references/langs/references.lang.zh.json +3 -0
  15. package/dist/collection/components/references/helpers.js +76 -0
  16. package/dist/collection/components/references/references.css +194 -0
  17. package/dist/collection/components/references/references.js +377 -0
  18. package/dist/collection/index.js +1 -0
  19. package/dist/components/ch-suggest-list-item.js +1 -58
  20. package/dist/{esm/ch-suggest-list-item.entry.js → components/ch-suggest-list-item2.js} +27 -8
  21. package/dist/components/ch-suggest-list.js +1 -39
  22. package/dist/components/ch-suggest-list2.js +41 -0
  23. package/dist/components/ch-suggest.js +1 -259
  24. package/dist/{esm/ch-suggest.entry.js → components/ch-suggest2.js} +47 -8
  25. package/dist/components/gx-ide-references.d.ts +11 -0
  26. package/dist/components/gx-ide-references.js +433 -0
  27. package/dist/components/gx-ide-test.js +2 -25
  28. package/dist/components/gxg-suggest.js +1 -55
  29. package/dist/components/gxg-text.js +1 -88
  30. package/dist/components/index.d.ts +1 -0
  31. package/dist/components/index.js +1 -0
  32. package/dist/components/render-tree.js +27 -0
  33. package/dist/{esm/gxg-suggest.entry.js → components/suggest.js} +29 -10
  34. package/dist/{esm/gxg-text.entry.js → components/text.js} +30 -8
  35. package/dist/esm/ch-suggest_5.entry.js +380 -0
  36. package/dist/esm/genexus-ide-ui.js +1 -1
  37. package/dist/esm/gx-ide-container_2.entry.js +163 -0
  38. package/dist/esm/gx-ide-references.entry.js +295 -0
  39. package/dist/esm/gx-ide-test.entry.js +2 -25
  40. package/dist/esm/{gx-ide-container_10.entry.js → gxg-combo-box_8.entry.js} +2 -162
  41. package/dist/esm/{gxg-tree-item.entry.js → gxg-tree_2.entry.js} +168 -2
  42. package/dist/esm/loader.js +1 -1
  43. package/dist/esm/render-tree-fc8636a3.js +27 -0
  44. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  45. package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.en.json +15 -0
  46. package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.ja.json +3 -0
  47. package/dist/genexus-ide-ui/gx-ide-assets/references/langs/references.lang.zh.json +3 -0
  48. package/dist/genexus-ide-ui/p-1e412d88.entry.js +1 -0
  49. package/dist/genexus-ide-ui/p-62814082.entry.js +1 -0
  50. package/dist/genexus-ide-ui/p-8cdad9e1.entry.js +1 -0
  51. package/dist/genexus-ide-ui/p-92b75873.entry.js +1 -0
  52. package/dist/genexus-ide-ui/p-a5fee36d.entry.js +1 -0
  53. package/dist/genexus-ide-ui/p-abee8c7b.js +1 -0
  54. package/dist/genexus-ide-ui/p-be9406e7.entry.js +1 -0
  55. package/dist/types/common/render-suggest.d.ts +2 -0
  56. package/dist/types/components/references/helpers.d.ts +17 -0
  57. package/dist/types/components/references/references.d.ts +125 -0
  58. package/dist/types/components.d.ts +78 -0
  59. package/dist/types/index.d.ts +1 -0
  60. package/package.json +1 -1
  61. package/dist/cjs/ch-suggest-list-item.cjs.entry.js +0 -45
  62. package/dist/cjs/ch-suggest-list.cjs.entry.js +0 -28
  63. package/dist/cjs/ch-suggest.cjs.entry.js +0 -226
  64. package/dist/cjs/gxg-suggest.cjs.entry.js +0 -42
  65. package/dist/cjs/gxg-text.cjs.entry.js +0 -72
  66. package/dist/cjs/gxg-tree.cjs.entry.js +0 -173
  67. package/dist/esm/ch-suggest-list.entry.js +0 -24
  68. package/dist/esm/gxg-tree.entry.js +0 -169
  69. package/dist/genexus-ide-ui/p-0a954e0f.entry.js +0 -1
  70. package/dist/genexus-ide-ui/p-20a45778.entry.js +0 -1
  71. package/dist/genexus-ide-ui/p-23d4b295.entry.js +0 -1
  72. package/dist/genexus-ide-ui/p-5463844e.entry.js +0 -1
  73. package/dist/genexus-ide-ui/p-5faaf0e5.entry.js +0 -1
  74. package/dist/genexus-ide-ui/p-7a5e0988.entry.js +0 -1
  75. package/dist/genexus-ide-ui/p-a985b448.entry.js +0 -1
  76. package/dist/genexus-ide-ui/p-ad9fe469.entry.js +0 -1
  77. package/dist/genexus-ide-ui/p-b3727324.entry.js +0 -1
@@ -1,42 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
-
3
- const chSuggestListCss = "*,::after,::before{box-sizing:border-box}:host{display:block}.title{margin:0;font:inherit}.list{margin:0;padding:0}";
4
-
5
- const ChSuggestList$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
- constructor() {
7
- super();
8
- this.__registerHost();
9
- this.__attachShadow();
10
- }
11
- // 2.REFERENCE TO ELEMENTS //
12
- // 3.STATE() VARIABLES //
13
- // 4.PUBLIC PROPERTY API / WATCH'S //
14
- // 5.EVENTS (EMIT) //
15
- // 6.COMPONENT LIFECYCLE EVENTS //
16
- // 7.LISTENERS //
17
- // 8.PUBLIC METHODS API //
18
- // 9.LOCAL METHODS //
19
- // 10.RENDER() FUNCTION //
20
- render() {
21
- return (h(Host, null, this.label && (h("h2", { id: "heading", part: "title", class: "title" }, this.label)), h("ul", { "aria-labelledby": this.label ? "heading" : undefined, part: "list", class: "list" }, h("slot", null))));
22
- }
23
- static get style() { return chSuggestListCss; }
24
- }, [1, "ch-suggest-list", {
25
- "label": [1]
26
- }]);
27
- function defineCustomElement$1() {
28
- if (typeof customElements === "undefined") {
29
- return;
30
- }
31
- const components = ["ch-suggest-list"];
32
- components.forEach(tagName => { switch (tagName) {
33
- case "ch-suggest-list":
34
- if (!customElements.get(tagName)) {
35
- customElements.define(tagName, ChSuggestList$1);
36
- }
37
- break;
38
- } });
39
- }
1
+ import { C as ChSuggestList$1, d as defineCustomElement$1 } from './ch-suggest-list2.js';
40
2
 
41
3
  const ChSuggestList = ChSuggestList$1;
42
4
  const defineCustomElement = defineCustomElement$1;
@@ -0,0 +1,41 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const chSuggestListCss = "*,::after,::before{box-sizing:border-box}:host{display:block}.title{margin:0;font:inherit}.list{margin:0;padding:0}";
4
+
5
+ const ChSuggestList = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ }
11
+ // 2.REFERENCE TO ELEMENTS //
12
+ // 3.STATE() VARIABLES //
13
+ // 4.PUBLIC PROPERTY API / WATCH'S //
14
+ // 5.EVENTS (EMIT) //
15
+ // 6.COMPONENT LIFECYCLE EVENTS //
16
+ // 7.LISTENERS //
17
+ // 8.PUBLIC METHODS API //
18
+ // 9.LOCAL METHODS //
19
+ // 10.RENDER() FUNCTION //
20
+ render() {
21
+ return (h(Host, null, this.label && (h("h2", { id: "heading", part: "title", class: "title" }, this.label)), h("ul", { "aria-labelledby": this.label ? "heading" : undefined, part: "list", class: "list" }, h("slot", null))));
22
+ }
23
+ static get style() { return chSuggestListCss; }
24
+ }, [1, "ch-suggest-list", {
25
+ "label": [1]
26
+ }]);
27
+ function defineCustomElement() {
28
+ if (typeof customElements === "undefined") {
29
+ return;
30
+ }
31
+ const components = ["ch-suggest-list"];
32
+ components.forEach(tagName => { switch (tagName) {
33
+ case "ch-suggest-list":
34
+ if (!customElements.get(tagName)) {
35
+ customElements.define(tagName, ChSuggestList);
36
+ }
37
+ break;
38
+ } });
39
+ }
40
+
41
+ export { ChSuggestList as C, defineCustomElement as d };
@@ -1,262 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$3 } from './ch-window2.js';
3
- import { d as defineCustomElement$2 } from './ch-window-close2.js';
4
-
5
- const chSuggestCss = "*,::after,::before{box-sizing:border-box}:host{--window-max-height:none;--window-gap:50px}.main-wrapper{display:block}.label-input-wrapper{display:flex}.label-input-wrapper .input{flex:1}:host([label-position=start]) .label-input-wrapper{flex-direction:row}:host([label-position=above]) .label-input-wrapper{flex-direction:column}.input{background-color:unset;border:none;color:inherit;font:inherit;margin:0;padding:0;outline:0}.ch-window-container{position:relative}ch-window::part(window){width:100%;max-height:calc(var(--window-max-height) - var(--window-gap));overflow-y:auto}";
6
-
7
- const ARROW_DOWN = "ArrowDown";
8
- const ARROW_UP = "ArrowUp";
9
- const ChSuggest$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
10
- constructor() {
11
- super();
12
- this.__registerHost();
13
- this.__attachShadow();
14
- this.valueChanged = createEvent(this, "valueChanged", 7);
15
- this.keyEventsDictionary = {
16
- ArrowDown: (e) => {
17
- const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_DOWN);
18
- const nextFocusedItem = this.getNewFocusedItem(newFocusedItem, ARROW_DOWN);
19
- newFocusedItem && newFocusedItem.focus();
20
- if (!nextFocusedItem) {
21
- /* This is the last item. Adjust window scroll to be at the very bottom*/
22
- this.scrollListToBottom();
23
- }
24
- },
25
- ArrowUp: (e) => {
26
- const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_UP);
27
- const nextFocusedItem = this.getNewFocusedItem(newFocusedItem, ARROW_UP);
28
- newFocusedItem && newFocusedItem.focus();
29
- if (!nextFocusedItem) {
30
- /* This is the first item. Adjust window scroll to be at the very top*/
31
- this.scrollListToTop();
32
- }
33
- }
34
- };
35
- // 3.STATE() VARIABLES //
36
- this.windowHidden = true;
37
- this.slotIsEmpty = true;
38
- // 4.PUBLIC PROPERTY API / WATCH'S //
39
- /**
40
- * The debounce amount in milliseconds (This is the time the suggest waits after the user has finished typing, to show the suggestions).
41
- */
42
- this.debounce = 500;
43
- /**
44
- * The label position
45
- */
46
- this.labelPosition = "start";
47
- /**
48
- * Whether or not to display the label
49
- */
50
- this.showLabel = true;
51
- /**
52
- * Wether or not the suggest has a header. The header will show the "suggestTitle" if provided, and a close button.
53
- */
54
- this.showHeader = false;
55
- /**
56
- * If true, it will position the cursor at the end when the input is focused.
57
- */
58
- this.cursorEnd = false;
59
- // 10.LOCAL METHODS //
60
- this.evaluateSlotIsEmpty = () => {
61
- this.slotIsEmpty = !this.el.firstElementChild;
62
- };
63
- this.setFocusOnFirstItem = () => {
64
- const firstItem = this.el.querySelector("ch-suggest-list-item");
65
- firstItem && firstItem.focus();
66
- };
67
- this.getChSuggestListItems = () => Array.from(this.el.querySelectorAll("ch-suggest-list-item"));
68
- this.getNewFocusedItem = (currentFocusedItem, direction) => {
69
- /* Helper function that returns the list item that should get focus (the first one, or the last one)*/
70
- const getListChild = (list) => {
71
- const listItems = list.querySelectorAll("ch-suggest-list-item");
72
- let listChild = listItems && listItems[listItems.length - 1];
73
- if (direction === ARROW_DOWN) {
74
- listChild = list.querySelector("ch-suggest-list-item");
75
- }
76
- else {
77
- const parentListItems = list.querySelectorAll("ch-suggest-list-item");
78
- listChild =
79
- parentListItems && parentListItems[parentListItems.length - 1];
80
- }
81
- return listChild;
82
- };
83
- if (!currentFocusedItem) {
84
- return;
85
- }
86
- let newFocusedItem = direction === ARROW_DOWN
87
- ? currentFocusedItem.nextElementSibling
88
- : currentFocusedItem.previousElementSibling;
89
- if ((newFocusedItem === null || newFocusedItem === void 0 ? void 0 : newFocusedItem.nodeName) === "CH-SUGGEST-LIST") {
90
- newFocusedItem = getListChild(newFocusedItem);
91
- }
92
- else if (!newFocusedItem) {
93
- /* this could be the last item of a list, but not the last item*/
94
- const parent = currentFocusedItem.parentElement;
95
- const sibling = direction === ARROW_DOWN
96
- ? parent.nextElementSibling
97
- : parent.previousElementSibling;
98
- const parentIsList = parent.nodeName === "CH-SUGGEST-LIST";
99
- if (parentIsList &&
100
- sibling &&
101
- sibling.nodeName === "CH-SUGGEST-LIST-ITEM") {
102
- newFocusedItem =
103
- direction === ARROW_DOWN
104
- ? parent.nextElementSibling
105
- : parent.previousElementSibling;
106
- }
107
- else if (parentIsList &&
108
- sibling &&
109
- sibling.nodeName === "CH-SUGGEST-LIST") {
110
- const parentList = direction === ARROW_DOWN
111
- ? parent.nextElementSibling
112
- : parent.previousElementSibling;
113
- let listChild;
114
- if (direction === ARROW_DOWN) {
115
- listChild = parentList.querySelector("ch-suggest-list-item");
116
- }
117
- else {
118
- listChild = getListChild(parentList);
119
- }
120
- newFocusedItem = listChild ? listChild : null;
121
- }
122
- }
123
- return newFocusedItem;
124
- };
125
- /**
126
- * Every time the input event is triggered, the value of the input is sent to processInputEvent, which is responsible for displaying a window with the suggested options. this.debounce is a delay that, along with clearTimeout, ensures that the window is only shown after the user has stopped typing.
127
- */
128
- this.handleInput = (e) => {
129
- this.value = e.target.value;
130
- if (this.timeoutReference) {
131
- clearTimeout(this.timeoutReference);
132
- }
133
- this.timeoutReference = setTimeout(() => {
134
- this.processInputEvent();
135
- }, this.debounce);
136
- };
137
- this.handleKeyDown = (e) => {
138
- if (e.key === ARROW_DOWN) {
139
- e.preventDefault();
140
- this.setFocusOnFirstItem();
141
- }
142
- };
143
- this.evaluateWindowMaxHeight = () => {
144
- const viewportHeight = window.innerHeight;
145
- const documentHeight = document.body.scrollHeight;
146
- const height = documentHeight >= viewportHeight ? documentHeight : viewportHeight;
147
- const inputBottomPosition = this.textInput.getBoundingClientRect().bottom + window.scrollY;
148
- const windowMaxHeight = height - inputBottomPosition + "px";
149
- this.el.style.setProperty("--window-max-height", windowMaxHeight);
150
- };
151
- this.scrollListToTop = () => {
152
- const partWindow = this.chWindow.shadowRoot.querySelector("[part='window']");
153
- partWindow.scrollTop = 0;
154
- };
155
- this.scrollListToBottom = () => {
156
- const partWindow = this.chWindow.shadowRoot.querySelector("[part='window']");
157
- partWindow.scrollTop = partWindow.scrollHeight;
158
- };
159
- this.processInputEvent = () => {
160
- this.evaluateWindowMaxHeight();
161
- this.chWindow.hidden = this.slotIsEmpty;
162
- };
163
- this.closeWindow = () => {
164
- this.chWindow.hidden = true;
165
- };
166
- this.onFocusHandler = () => {
167
- if (this.cursorEnd) {
168
- this.textInput.setSelectionRange(this.textInput.value.length, this.textInput.value.length);
169
- }
170
- };
171
- }
172
- watchValueHandler(newValue) {
173
- this.valueChanged.emit(newValue);
174
- }
175
- // 6.COMPONENT LIFECYCLE EVENTS //
176
- componentWillLoad() {
177
- this.evaluateSlotIsEmpty();
178
- }
179
- // 7.LISTENERS //
180
- itemSelectedHandler(event) {
181
- this.value = event.detail.value;
182
- this.closeWindow();
183
- }
184
- focusChangeAttemptHandler(event) {
185
- const keyEventHandler = this.keyEventsDictionary[event.detail.code];
186
- if (keyEventHandler) {
187
- const currentFocusedItem = event.detail.el;
188
- const chSuggestListItemsArray = this.getChSuggestListItems();
189
- const currentFocusedItemIndex = chSuggestListItemsArray.findIndex(item => {
190
- return item === currentFocusedItem;
191
- });
192
- const newItemToSetFocusOn = null;
193
- keyEventHandler({
194
- event: event.detail,
195
- currentFocusedItem: currentFocusedItem,
196
- chSuggestListItemsArray: chSuggestListItemsArray,
197
- currentFocusedItemIndex: currentFocusedItemIndex,
198
- newItemToSetFocusOn: newItemToSetFocusOn
199
- });
200
- }
201
- }
202
- windowClosedHandler() {
203
- this.textInput.focus();
204
- this.windowHidden = true;
205
- }
206
- // 9.PUBLIC METHODS API //
207
- /**
208
- * @description It selects/highlights the input text.
209
- */
210
- async selectInputText() {
211
- this.textInput.focus();
212
- this.textInput.select();
213
- }
214
- // 10.RENDER() FUNCTION //
215
- render() {
216
- 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 })))));
217
- }
218
- static get delegatesFocus() { return true; }
219
- get el() { return this; }
220
- static get watchers() { return {
221
- "value": ["watchValueHandler"]
222
- }; }
223
- static get style() { return chSuggestCss; }
224
- }, [17, "ch-suggest", {
225
- "debounce": [2],
226
- "label": [1],
227
- "labelPosition": [513, "label-position"],
228
- "showLabel": [4, "show-label"],
229
- "value": [1025],
230
- "showHeader": [4, "show-header"],
231
- "suggestTitle": [1, "suggest-title"],
232
- "cursorEnd": [4, "cursor-end"],
233
- "windowHidden": [32],
234
- "slotIsEmpty": [32],
235
- "selectInputText": [64]
236
- }, [[0, "itemSelected", "itemSelectedHandler"], [0, "focusChangeAttempt", "focusChangeAttemptHandler"], [0, "windowClosed", "windowClosedHandler"]]]);
237
- function defineCustomElement$1() {
238
- if (typeof customElements === "undefined") {
239
- return;
240
- }
241
- const components = ["ch-suggest", "ch-window", "ch-window-close"];
242
- components.forEach(tagName => { switch (tagName) {
243
- case "ch-suggest":
244
- if (!customElements.get(tagName)) {
245
- customElements.define(tagName, ChSuggest$1);
246
- }
247
- break;
248
- case "ch-window":
249
- if (!customElements.get(tagName)) {
250
- defineCustomElement$3();
251
- }
252
- break;
253
- case "ch-window-close":
254
- if (!customElements.get(tagName)) {
255
- defineCustomElement$2();
256
- }
257
- break;
258
- } });
259
- }
1
+ import { C as ChSuggest$1, d as defineCustomElement$1 } from './ch-suggest2.js';
260
2
 
261
3
  const ChSuggest = ChSuggest$1;
262
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,12 +1,16 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-4f0a5746.js';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$2 } from './ch-window2.js';
3
+ import { d as defineCustomElement$1 } from './ch-window-close2.js';
2
4
 
3
5
  const chSuggestCss = "*,::after,::before{box-sizing:border-box}:host{--window-max-height:none;--window-gap:50px}.main-wrapper{display:block}.label-input-wrapper{display:flex}.label-input-wrapper .input{flex:1}:host([label-position=start]) .label-input-wrapper{flex-direction:row}:host([label-position=above]) .label-input-wrapper{flex-direction:column}.input{background-color:unset;border:none;color:inherit;font:inherit;margin:0;padding:0;outline:0}.ch-window-container{position:relative}ch-window::part(window){width:100%;max-height:calc(var(--window-max-height) - var(--window-gap));overflow-y:auto}";
4
6
 
5
7
  const ARROW_DOWN = "ArrowDown";
6
8
  const ARROW_UP = "ArrowUp";
7
- const ChSuggest = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
9
+ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
10
+ constructor() {
11
+ super();
12
+ this.__registerHost();
13
+ this.__attachShadow();
10
14
  this.valueChanged = createEvent(this, "valueChanged", 7);
11
15
  this.keyEventsDictionary = {
12
16
  ArrowDown: (e) => {
@@ -212,11 +216,46 @@ const ChSuggest = class {
212
216
  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 })))));
213
217
  }
214
218
  static get delegatesFocus() { return true; }
215
- get el() { return getElement(this); }
219
+ get el() { return this; }
216
220
  static get watchers() { return {
217
221
  "value": ["watchValueHandler"]
218
222
  }; }
219
- };
220
- ChSuggest.style = chSuggestCss;
223
+ static get style() { return chSuggestCss; }
224
+ }, [17, "ch-suggest", {
225
+ "debounce": [2],
226
+ "label": [1],
227
+ "labelPosition": [513, "label-position"],
228
+ "showLabel": [4, "show-label"],
229
+ "value": [1025],
230
+ "showHeader": [4, "show-header"],
231
+ "suggestTitle": [1, "suggest-title"],
232
+ "cursorEnd": [4, "cursor-end"],
233
+ "windowHidden": [32],
234
+ "slotIsEmpty": [32],
235
+ "selectInputText": [64]
236
+ }, [[0, "itemSelected", "itemSelectedHandler"], [0, "focusChangeAttempt", "focusChangeAttemptHandler"], [0, "windowClosed", "windowClosedHandler"]]]);
237
+ function defineCustomElement() {
238
+ if (typeof customElements === "undefined") {
239
+ return;
240
+ }
241
+ const components = ["ch-suggest", "ch-window", "ch-window-close"];
242
+ components.forEach(tagName => { switch (tagName) {
243
+ case "ch-suggest":
244
+ if (!customElements.get(tagName)) {
245
+ customElements.define(tagName, ChSuggest);
246
+ }
247
+ break;
248
+ case "ch-window":
249
+ if (!customElements.get(tagName)) {
250
+ defineCustomElement$2();
251
+ }
252
+ break;
253
+ case "ch-window-close":
254
+ if (!customElements.get(tagName)) {
255
+ defineCustomElement$1();
256
+ }
257
+ break;
258
+ } });
259
+ }
221
260
 
222
- export { ChSuggest as ch_suggest };
261
+ export { ChSuggest as C, defineCustomElement as d };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface GxIdeReferences extends Components.GxIdeReferences, HTMLElement {}
4
+ export const GxIdeReferences: {
5
+ prototype: GxIdeReferences;
6
+ new (): GxIdeReferences;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;