@aquera/nile-elements 0.1.34-beta-1.0 → 0.1.34-beta-1.2

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 (51) hide show
  1. package/README.md +3 -0
  2. package/dist/nile-code-editor/extensionSetup.cjs.js +1 -1
  3. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  4. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  5. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  6. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  7. package/dist/nile-code-editor/nile-code-editor.esm.js +2 -2
  8. package/dist/nile-progress-bar/nile-progress-bar.css.cjs.js +1 -1
  9. package/dist/nile-progress-bar/nile-progress-bar.css.cjs.js.map +1 -1
  10. package/dist/nile-progress-bar/nile-progress-bar.css.esm.js +1 -0
  11. package/dist/nile-tooltip/index.cjs.js +1 -1
  12. package/dist/nile-tooltip/index.esm.js +1 -1
  13. package/dist/nile-tooltip/nile-tooltip-utils.cjs.js +1 -1
  14. package/dist/nile-tooltip/nile-tooltip-utils.cjs.js.map +1 -1
  15. package/dist/nile-tooltip/nile-tooltip-utils.esm.js +1 -1
  16. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  17. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  18. package/dist/nile-tooltip/nile-tooltip.css.cjs.js +1 -1
  19. package/dist/nile-tooltip/nile-tooltip.css.cjs.js.map +1 -1
  20. package/dist/nile-tooltip/nile-tooltip.css.esm.js +36 -6
  21. package/dist/nile-tooltip/nile-tooltip.esm.js +4 -4
  22. package/dist/nile-tooltip/nile-tooltip.test.cjs.js +1 -1
  23. package/dist/nile-tooltip/nile-tooltip.test.cjs.js.map +1 -1
  24. package/dist/nile-tooltip/nile-tooltip.test.esm.js +12 -16
  25. package/dist/src/nile-code-editor/extensionSetup.d.ts +2 -1
  26. package/dist/src/nile-code-editor/extensionSetup.js +8 -0
  27. package/dist/src/nile-code-editor/extensionSetup.js.map +1 -1
  28. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -0
  29. package/dist/src/nile-code-editor/nile-code-editor.js +7 -2
  30. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  31. package/dist/src/nile-progress-bar/nile-progress-bar.css.js +1 -0
  32. package/dist/src/nile-progress-bar/nile-progress-bar.css.js.map +1 -1
  33. package/dist/src/nile-tooltip/nile-tooltip-utils.js +46 -9
  34. package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +1 -1
  35. package/dist/src/nile-tooltip/nile-tooltip.css.js +35 -5
  36. package/dist/src/nile-tooltip/nile-tooltip.css.js.map +1 -1
  37. package/dist/src/nile-tooltip/nile-tooltip.d.ts +1 -2
  38. package/dist/src/nile-tooltip/nile-tooltip.js +33 -16
  39. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  40. package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -10
  41. package/dist/src/nile-tooltip/nile-tooltip.test.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +1 -1
  44. package/src/nile-code-editor/extensionSetup.ts +13 -1
  45. package/src/nile-code-editor/nile-code-editor.ts +5 -2
  46. package/src/nile-progress-bar/nile-progress-bar.css.ts +1 -0
  47. package/src/nile-tooltip/nile-tooltip-utils.ts +66 -16
  48. package/src/nile-tooltip/nile-tooltip.css.ts +35 -5
  49. package/src/nile-tooltip/nile-tooltip.test.ts +0 -10
  50. package/src/nile-tooltip/nile-tooltip.ts +50 -15
  51. package/vscode-html-custom-data.json +7 -14
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "0.1.34-beta-1.0",
6
+ "version": "0.1.34-beta-1.2",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -56,7 +56,8 @@ export interface BasicSetupOptions extends MinimalSetupOptions {
56
56
  completionKeymap?: boolean;
57
57
  lintKeymap?: boolean;
58
58
  tabSize?: number;
59
- readonly?: false;
59
+ readonly?: boolean;
60
+ enableSearch?: boolean;
60
61
  }
61
62
 
62
63
  export const isValidSetup = (item: any) => {
@@ -88,6 +89,17 @@ export const basicSetup = (options: BasicSetupOptions = {}): Extension[] => {
88
89
  isValidSetup(options.crosshairCursor) && extensions.push(crosshairCursor());
89
90
  isValidSetup(options.highlightActiveLine) && extensions.push(highlightActiveLine());
90
91
  isValidSetup(options.highlightSelectionMatches) && extensions.push(highlightSelectionMatches());
92
+
93
+ if(!options.enableSearch){
94
+ extensions.push(
95
+ keymap.of([{
96
+ key: "Mod-f", // Ctrl+F (Cmd+F on Mac)
97
+ run: () => {
98
+ return true;
99
+ }
100
+ }]))
101
+ }
102
+
91
103
  if (options.tabSize && typeof options.tabSize === 'number')
92
104
  extensions.push(indentUnit.of(' '.repeat(options.tabSize)));
93
105
  return extensions.concat([keymap.of(keymaps.flat())]).filter(Boolean);
@@ -68,9 +68,11 @@ export class NileCodeEditor extends NileElement {
68
68
 
69
69
  @property({ type: String, reflect: true , attribute: 'error-message' }) errorMessage: string = '';
70
70
 
71
- @property({ type: Boolean, reflect: true , attribute: 'error' }) error: boolean = false;
71
+ @property({ type: Boolean, reflect: true , attribute: true }) error: boolean = false;
72
72
 
73
- @property({ type: Boolean, reflect: true , attribute: 'noborder' }) noborder: boolean = false;
73
+ @property({ type: Boolean, reflect: true , attribute: true }) enableSearch: boolean = false;
74
+
75
+ @property({ type: Boolean, reflect: true , attribute: true }) noborder: boolean = false;
74
76
 
75
77
  @property({ type: Boolean, reflect: true , attribute: true }) multiline: boolean = false;
76
78
 
@@ -262,6 +264,7 @@ export class NileCodeEditor extends NileElement {
262
264
  basicSetup({
263
265
  highlightActiveLine: false,
264
266
  foldGutter: this.enableFoldGutters,
267
+ enableSearch:this.enableSearch
265
268
  }),
266
269
  lineNumbersExtension,
267
270
  readOnlyExtension,
@@ -15,6 +15,7 @@ export default css`
15
15
  display: flex;
16
16
  height: 6px;
17
17
  justify-content: space-between;
18
+ display: inline-block;
18
19
  }
19
20
 
20
21
  .nile-progress-bar__progress-bar li {
@@ -30,26 +30,46 @@ export function getValidTooltipPosition(
30
30
  top = triggerRect.top - tooltipRect.height - distance;
31
31
  left = triggerRect.left + (triggerRect.width - tooltipRect.width) / 2 + skidding;
32
32
  break;
33
- case 'top-start':
33
+ case 'top-start': {
34
34
  top = triggerRect.top - tooltipRect.height - distance;
35
- left = triggerCenterX - caretSize + skidding;
36
- break;
37
- case 'top-end':
38
- top = triggerRect.top - tooltipRect.height - distance;
39
- left = triggerCenterX - tooltipRect.width + caretSize + 10 + skidding;
40
- break;
35
+ const centeredLeft = triggerRect.left + (triggerRect.width / 2) - (tooltipRect.width / 2) + skidding;
36
+ left = Math.max(triggerRect.left + skidding, centeredLeft);
37
+ break;}
38
+ case 'top-end': {
39
+
40
+ top = triggerRect.top - tooltipRect.height - distance;
41
+
42
+
43
+ const centeredLeft = triggerRect.left + (triggerRect.width / 2) - (tooltipRect.width / 2) + skidding;
44
+
45
+
46
+ const maxLeft = triggerRect.right - tooltipRect.width + skidding;
47
+
48
+
49
+ left = Math.min(centeredLeft, maxLeft);
50
+ break;
51
+ }
52
+
41
53
  case 'bottom':
42
54
  top = triggerRect.bottom + distance;
43
55
  left = triggerRect.left + (triggerRect.width - tooltipRect.width) / 2 + skidding;
44
56
  break;
45
- case 'bottom-start':
46
- top = triggerRect.bottom + distance;
47
- left = triggerCenterX - caretSize - 10 + skidding;
48
- break;
49
- case 'bottom-end':
50
- top = triggerRect.bottom + distance;
51
- left = triggerCenterX - (tooltipRect.width - caretSize) + 10 + skidding;
52
- break;
57
+ case 'bottom-start': {
58
+ top = triggerRect.bottom + distance;
59
+ const centeredLeft = triggerRect.left + (triggerRect.width / 2) - (tooltipRect.width / 2) + skidding;
60
+ left = Math.max(triggerRect.left + skidding, centeredLeft);
61
+
62
+ break;
63
+ }
64
+
65
+ case 'bottom-end': {
66
+ top = triggerRect.bottom + distance;
67
+ const centeredLeft = triggerRect.left + (triggerRect.width / 2) - (tooltipRect.width / 2) + skidding;
68
+ const maxLeft = triggerRect.right - tooltipRect.width + skidding;
69
+ left = Math.min(centeredLeft, maxLeft);
70
+ break;
71
+ }
72
+
53
73
  case 'left':
54
74
  top = triggerRect.top + (triggerRect.height - tooltipRect.height) / 2 + skidding;
55
75
  left = triggerRect.left - tooltipRect.width - distance;
@@ -92,10 +112,38 @@ export function getValidTooltipPosition(
92
112
  let candidate = getCandidatePosition(placement);
93
113
 
94
114
  if (!candidateFits(candidate.top, candidate.left)) {
95
- if (!placement.startsWith('bottom')) {
115
+ if (['top', 'top-start', 'top-end'].includes(originalPlacement)) {
96
116
  placement = 'bottom';
117
+ } else if (['bottom', 'bottom-start', 'bottom-end'].includes(originalPlacement)) {
118
+ placement = 'top';
119
+ } else if (['right', 'right-start', 'right-end'].includes(originalPlacement)) {
120
+ placement = 'left';
121
+ } else if (['left', 'left-start', 'left-end'].includes(originalPlacement)) {
122
+ placement = 'right';
123
+ }
124
+ candidate = getCandidatePosition(placement);
125
+ const leftCandidate = getCandidatePosition('left');
126
+ const bottomCandidate = getCandidatePosition('bottom');
127
+ const topCandidate = getCandidatePosition('top');
128
+ if (
129
+ !candidateFits(leftCandidate.top, leftCandidate.left) &&
130
+ !candidateFits(bottomCandidate.top, bottomCandidate.left) &&
131
+ !candidateFits(topCandidate.top, topCandidate.left)
132
+ ) {
133
+ placement = 'right';
97
134
  candidate = getCandidatePosition(placement);
98
135
  }
136
+ else {
137
+ const rightCandidate = getCandidatePosition('right');
138
+ if (
139
+ !candidateFits(rightCandidate.top, rightCandidate.left) &&
140
+ !candidateFits(bottomCandidate.top, bottomCandidate.left) &&
141
+ !candidateFits(topCandidate.top, topCandidate.left)
142
+ ) {
143
+ placement = 'left';
144
+ candidate = getCandidatePosition(placement);
145
+ }
146
+ }
99
147
  }
100
148
 
101
149
  if (candidate.left < 0) {
@@ -113,6 +161,8 @@ export function getValidTooltipPosition(
113
161
  return { ...candidate, placement };
114
162
  }
115
163
 
164
+
165
+
116
166
  export interface CaretPositionInput {
117
167
  placement: string;
118
168
  tooltipRect: DOMRect;
@@ -39,13 +39,9 @@ export const styles = css`
39
39
  visibility: visible;
40
40
  pointer-events: auto;
41
41
  }
42
- .tooltip__body--large {
43
- font-size: var(--nile-tooltip-font-size-lg, 16px);
44
- line-height: var(--nile-tooltip-line-height-lg, 1.75);
45
- }
46
42
  .tooltip-content {
47
43
  overflow: auto;
48
- max-width: 252px;
44
+ max-width: 250px;
49
45
  max-height: 116px;
50
46
  }
51
47
  .tooltip-caret {
@@ -60,7 +56,41 @@ export const styles = css`
60
56
  display: inline-block;
61
57
  }
62
58
 
59
+
60
+ :host([open]) .tooltip {
61
+ visibility: visible;
62
+ pointer-events: auto;
63
+ animation: fadeIn 150ms forwards;
64
+ }
65
+
66
+
67
+ .tooltip.hide {
68
+ animation: fadeOut 100ms forwards;
69
+ }
63
70
 
71
+
72
+ @keyframes fadeIn {
73
+ from {
74
+ opacity: 0;
75
+ transform: translateY(5px);
76
+ }
77
+ to {
78
+ opacity: 1;
79
+ transform: translateY(0);
80
+ }
81
+ }
82
+
83
+
84
+ @keyframes fadeOut {
85
+ from {
86
+ opacity: 1;
87
+ transform: translateY(0);
88
+ }
89
+ to {
90
+ opacity: 0;
91
+ transform: translateY(5px);
92
+ }
93
+ }
64
94
 
65
95
 
66
96
 
@@ -8,7 +8,6 @@ describe('NileTooltip', () => {
8
8
  const el = await fixture<NileTooltip>(html`<nile-tooltip content="Hello"><button>Hover me</button></nile-tooltip>`);
9
9
  assert.equal(el.content, 'Hello');
10
10
  assert.equal(el.placement, 'bottom');
11
- assert.equal(el.size, 'small');
12
11
  assert.equal(el.disabled, false);
13
12
  assert.equal(el.open, false);
14
13
  });
@@ -96,15 +95,6 @@ describe('NileTooltip', () => {
96
95
  assert.isFalse(el.open);
97
96
  });
98
97
 
99
- it('applies size class correctly', async () => {
100
- const el = await fixture<NileTooltip>(html`
101
- <nile-tooltip content="Tooltip" size="large">
102
- <button>Trigger</button>
103
- </nile-tooltip>
104
- `);
105
- const tooltip = el.shadowRoot!.querySelector('.tooltip')!;
106
- assert.isTrue(tooltip.classList.contains('tooltip__body--large'));
107
- });
108
98
 
109
99
  it('emits nile-show and nile-after-show events', async () => {
110
100
  const el = await fixture<NileTooltip>(html`
@@ -10,17 +10,16 @@ import { classMap } from 'lit/directives/class-map.js';
10
10
  import { styles } from './nile-tooltip.css';
11
11
  import NileElement from '../internal/nile-element';
12
12
  import { isInViewport, getValidTooltipPosition, getCaretPosition } from './nile-tooltip-utils';
13
+
13
14
  /**
14
- * Nile icon component.
15
+ * Nile tooltip component.
15
16
  *
16
17
  * @tag nile-tooltip
17
18
  *
18
19
  */
19
-
20
20
  @customElement('nile-tooltip')
21
21
  export class NileTooltip extends NileElement {
22
22
  @property({ type: String }) content = '';
23
- @property({ reflect: true }) size: 'small' | 'large' = 'small';
24
23
  @property({ type: String })
25
24
  placement:
26
25
  | 'top'
@@ -42,10 +41,10 @@ export class NileTooltip extends NileElement {
42
41
  * options can be passed by separating them with a space. When manual is used, the tooltip must be activated
43
42
  * programmatically.
44
43
  */
45
- @property() trigger = 'hover focus';
44
+ @property() trigger = 'hover focus';
46
45
  @property({ type: Number }) distance = 8;
47
46
  private readonly SHIFT_OFFSET = 16;
48
- /** The distance in pixels from which to offset the tooltip along its target. */
47
+ /** The distance in pixels from which to offset the tooltip along its target. */
49
48
  @property({ type: Number }) skidding = 0;
50
49
  @property({ type: Boolean, reflect: true }) hoist = false;
51
50
 
@@ -88,6 +87,14 @@ export class NileTooltip extends NileElement {
88
87
  if (!validPlacements.includes(this.originalPlacement)) {
89
88
  this.originalPlacement = 'bottom';
90
89
  }
90
+
91
+ if (changedProps.has('open') && this.open) {
92
+ this.updateComplete.then(() => {
93
+ requestAnimationFrame(() => {
94
+ this.updateTooltipPosition();
95
+ });
96
+ });
97
+ }
91
98
  }
92
99
 
93
100
  disconnectedCallback() {
@@ -113,7 +120,8 @@ export class NileTooltip extends NileElement {
113
120
  const viewportWidth = window.innerWidth;
114
121
  const viewportHeight = window.innerHeight;
115
122
 
116
- const { top, left, placement } = getValidTooltipPosition(
123
+
124
+ let { top, left, placement } = getValidTooltipPosition(
117
125
  triggerRect,
118
126
  tooltipRect,
119
127
  this.originalPlacement,
@@ -124,6 +132,33 @@ export class NileTooltip extends NileElement {
124
132
  viewportHeight
125
133
  );
126
134
 
135
+
136
+ if (this.originalPlacement.startsWith('bottom')) {
137
+ const availableSpaceBelow = viewportHeight - triggerRect.bottom;
138
+ if (availableSpaceBelow < tooltipRect.height + this.distance) {
139
+ let newPlacement: typeof this.originalPlacement = 'top';
140
+ if (this.originalPlacement === 'bottom-start') {
141
+ newPlacement = 'top';
142
+ } else if (this.originalPlacement === 'bottom-end') {
143
+ newPlacement = 'top';
144
+ }
145
+
146
+ const newPosition = getValidTooltipPosition(
147
+ triggerRect,
148
+ tooltipRect,
149
+ newPlacement,
150
+ this.distance,
151
+ this.skidding,
152
+ this.caretSize,
153
+ viewportWidth,
154
+ viewportHeight
155
+ );
156
+ top = newPosition.top;
157
+ left = newPosition.left;
158
+ placement = newPosition.placement;
159
+ }
160
+ }
161
+
127
162
  this.setAttribute('placement', placement);
128
163
  this.tooltip.style.top = `${top}px`;
129
164
  this.tooltip.style.left = `${left}px`;
@@ -150,8 +185,10 @@ export class NileTooltip extends NileElement {
150
185
  this.emit('nile-show');
151
186
  this.open = true;
152
187
  this.updateComplete.then(() => {
153
- this.updateTooltipPosition();
154
- this.emit('nile-after-show');
188
+ requestAnimationFrame(() => {
189
+ this.updateTooltipPosition();
190
+ this.emit('nile-after-show');
191
+ });
155
192
  });
156
193
  } else {
157
194
  this.open = false;
@@ -169,14 +206,14 @@ export class NileTooltip extends NileElement {
169
206
  private handleMouseOver = () => {
170
207
  if (this.trigger.includes('hover')) {
171
208
  clearTimeout(this.hoverTimeout);
172
- this.hoverTimeout = window.setTimeout(() => this.showTooltip(), 150);
209
+ this.hoverTimeout = window.setTimeout(() => this.showTooltip(), 300);
173
210
  }
174
211
  };
175
212
 
176
213
  private handleMouseOut = () => {
177
214
  if (this.trigger.includes('hover')) {
178
215
  clearTimeout(this.hoverTimeout);
179
- this.hoverTimeout = window.setTimeout(() => this.hideTooltip(), 0);
216
+ this.hoverTimeout = window.setTimeout(() => this.hideTooltip(), 150);
180
217
  }
181
218
  };
182
219
 
@@ -195,6 +232,7 @@ export class NileTooltip extends NileElement {
195
232
  this.showTooltip();
196
233
  }
197
234
  };
235
+
198
236
 
199
237
  private handleBlur = () => {
200
238
  if (this.trigger.includes('focus')) {
@@ -205,10 +243,7 @@ export class NileTooltip extends NileElement {
205
243
  render() {
206
244
  return html`
207
245
  <div
208
- class=${classMap({
209
- tooltip: true,
210
- 'tooltip__body--large': this.size === 'large',
211
- })}
246
+ class="tooltip"
212
247
  id="tooltip"
213
248
  >
214
249
  <div class="tooltip-content" part="content">
@@ -228,7 +263,7 @@ export class NileTooltip extends NileElement {
228
263
  @focusout=${this.handleBlur}
229
264
  aria-describedby="tooltip"
230
265
  >
231
- <slot></slot>
266
+ <slot></slot>
232
267
  </div>
233
268
  `;
234
269
  }
@@ -818,7 +818,7 @@
818
818
  },
819
819
  {
820
820
  "name": "nile-code-editor",
821
- "description": "Nile icon component.\n\nEvents:\n\n * `nile-focus` {`Event`} - \n\n * `nile-blur` {`Event`} - \n\nAttributes:\n\n * `value` {`string`} - \n\n * `expandIcon` {`string`} - \n\n * `placeholder` {`string`} - \n\n * `customAutoCompletions` - \n\n * `customCompletionsPaths` {`string[]`} - \n\n * `language` {`\"html\" | \"javascript\" | \"sql\" | \"json\"`} - \n\n * `error-message` {`string`} - \n\n * `error` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `enableFoldGutters` {`boolean`} - \n\n * `allowVariableInCustomSuggestion` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `debounceTimeout` {`number`} - \n\nProperties:\n\n * `codeEditor` {`HTMLInputElement`} - \n\n * `value` {`string`} - \n\n * `expandIcon` {`string`} - \n\n * `placeholder` {`string`} - \n\n * `customAutoCompletions` - \n\n * `customCompletionsPaths` {`string[]`} - \n\n * `language` {`\"html\" | \"javascript\" | \"sql\" | \"json\"`} - \n\n * `errorMessage` {`string`} - \n\n * `error` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `enableFoldGutters` {`boolean`} - \n\n * `allowVariableInCustomSuggestion` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `disableSyntaxHighlighting` {`boolean`} - \n\n * `customThemeCSS` {`object | null`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `debounceTimeout` {`number`} - \n\n * `view` - \n\n * `viewState` - \n\n * `timeOut` - \n\n * `lineNumbersComp` - \n\n * `restrictSingleLineComp` - \n\n * `readOnlyComp` - \n\n * `customCompletionComp` - \n\n * `placeholderComp` - \n\n * `defaultSyntaxHighlightingComp` - \n\n * `themeComp` - \n\n * `customAutocomplete` - Custom autocomplete handler for code editor suggestions\n\n * `insertBetweenCode` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
821
+ "description": "Nile icon component.\n\nEvents:\n\n * `nile-focus` {`Event`} - \n\n * `nile-blur` {`Event`} - \n\nAttributes:\n\n * `value` {`string`} - \n\n * `expandIcon` {`string`} - \n\n * `placeholder` {`string`} - \n\n * `customAutoCompletions` - \n\n * `customCompletionsPaths` {`string[]`} - \n\n * `language` {`\"html\" | \"javascript\" | \"sql\" | \"json\"`} - \n\n * `error-message` {`string`} - \n\n * `error` {`boolean`} - \n\n * `enableSearch` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `enableFoldGutters` {`boolean`} - \n\n * `allowVariableInCustomSuggestion` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `debounceTimeout` {`number`} - \n\nProperties:\n\n * `codeEditor` {`HTMLInputElement`} - \n\n * `value` {`string`} - \n\n * `expandIcon` {`string`} - \n\n * `placeholder` {`string`} - \n\n * `customAutoCompletions` - \n\n * `customCompletionsPaths` {`string[]`} - \n\n * `language` {`\"html\" | \"javascript\" | \"sql\" | \"json\"`} - \n\n * `errorMessage` {`string`} - \n\n * `error` {`boolean`} - \n\n * `enableSearch` {`boolean`} - \n\n * `noborder` {`boolean`} - \n\n * `multiline` {`boolean`} - \n\n * `enableFoldGutters` {`boolean`} - \n\n * `allowVariableInCustomSuggestion` {`boolean`} - \n\n * `lineNumbers` {`boolean`} - \n\n * `disableSyntaxHighlighting` {`boolean`} - \n\n * `customThemeCSS` {`object | null`} - \n\n * `lineNumbersMultiline` {`boolean`} - \n\n * `hasScroller` {`boolean`} - \n\n * `expandable` {`boolean`} - \n\n * `readonly` {`boolean`} - \n\n * `debounce` {`boolean`} - \n\n * `debounceTimeout` {`number`} - \n\n * `view` - \n\n * `viewState` - \n\n * `timeOut` - \n\n * `lineNumbersComp` - \n\n * `restrictSingleLineComp` - \n\n * `readOnlyComp` - \n\n * `customCompletionComp` - \n\n * `placeholderComp` - \n\n * `defaultSyntaxHighlightingComp` - \n\n * `themeComp` - \n\n * `customAutocomplete` - Custom autocomplete handler for code editor suggestions\n\n * `insertBetweenCode` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
822
822
  "attributes": [
823
823
  {
824
824
  "name": "value",
@@ -867,6 +867,11 @@
867
867
  "description": "`error` {`boolean`} - \n\nProperty: error\n\nDefault: false",
868
868
  "valueSet": "v"
869
869
  },
870
+ {
871
+ "name": "enableSearch",
872
+ "description": "`enableSearch` {`boolean`} - \n\nProperty: enableSearch\n\nDefault: false",
873
+ "valueSet": "v"
874
+ },
870
875
  {
871
876
  "name": "noborder",
872
877
  "description": "`noborder` {`boolean`} - \n\nProperty: noborder\n\nDefault: false",
@@ -3765,24 +3770,12 @@
3765
3770
  },
3766
3771
  {
3767
3772
  "name": "nile-tooltip",
3768
- "description": "Nile icon component.\n\nAttributes:\n\n * `content` {`string`} - \n\n * `size` {`\"small\" | \"large\"`} - \n\n * `placement` {`\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"`} - \n\n * `disabled` {`boolean`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.\n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - The distance in pixels from which to offset the tooltip along its target.\n\n * `hoist` {`boolean`} - \n\nProperties:\n\n * `content` {`string`} - \n\n * `size` {`\"small\" | \"large\"`} - \n\n * `placement` {`\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"`} - \n\n * `disabled` {`boolean`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.\n\n * `distance` {`number`} - \n\n * `SHIFT_OFFSET` {`16`} - \n\n * `skidding` {`number`} - The distance in pixels from which to offset the tooltip along its target.\n\n * `hoist` {`boolean`} - \n\n * `tooltip` {`HTMLElement`} - \n\n * `triggerContainer` {`HTMLElement`} - \n\n * `caret` {`HTMLElement`} - \n\n * `tooltipSlot` {`HTMLSlotElement`} - \n\n * `hasTooltipSlot` {`boolean`} - \n\n * `hoverTimeout` {`number`} - \n\n * `caretSize` {`number`} - \n\n * `originalPlacement` {`string`} - \n\n * `updateTooltipPosition` - \n\n * `showTooltip` - \n\n * `hideTooltip` - \n\n * `handleMouseOver` - \n\n * `handleMouseOut` - \n\n * `handleClick` - \n\n * `handleFocus` - \n\n * `handleBlur` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3773
+ "description": "Nile tooltip component.\n\nAttributes:\n\n * `content` {`string`} - \n\n * `placement` {`\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"`} - \n\n * `disabled` {`boolean`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.\n\n * `distance` {`number`} - \n\n * `skidding` {`number`} - The distance in pixels from which to offset the tooltip along its target.\n\n * `hoist` {`boolean`} - \n\nProperties:\n\n * `content` {`string`} - \n\n * `placement` {`\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"`} - \n\n * `disabled` {`boolean`} - \n\n * `open` {`boolean`} - \n\n * `trigger` {`string`} - Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.\n\n * `distance` {`number`} - \n\n * `SHIFT_OFFSET` {`16`} - \n\n * `skidding` {`number`} - The distance in pixels from which to offset the tooltip along its target.\n\n * `hoist` {`boolean`} - \n\n * `tooltip` {`HTMLElement`} - \n\n * `triggerContainer` {`HTMLElement`} - \n\n * `caret` {`HTMLElement`} - \n\n * `tooltipSlot` {`HTMLSlotElement`} - \n\n * `hasTooltipSlot` {`boolean`} - \n\n * `hoverTimeout` {`number`} - \n\n * `caretSize` {`number`} - \n\n * `originalPlacement` {`string`} - \n\n * `updateTooltipPosition` - \n\n * `showTooltip` - \n\n * `hideTooltip` - \n\n * `handleMouseOver` - \n\n * `handleMouseOut` - \n\n * `handleClick` - \n\n * `handleFocus` - \n\n * `handleBlur` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3769
3774
  "attributes": [
3770
3775
  {
3771
3776
  "name": "content",
3772
3777
  "description": "`content` {`string`} - \n\nProperty: content\n\nDefault: "
3773
3778
  },
3774
- {
3775
- "name": "size",
3776
- "description": "`size` {`\"small\" | \"large\"`} - \n\nProperty: size\n\nDefault: small",
3777
- "values": [
3778
- {
3779
- "name": "small"
3780
- },
3781
- {
3782
- "name": "large"
3783
- }
3784
- ]
3785
- },
3786
3779
  {
3787
3780
  "name": "placement",
3788
3781
  "description": "`placement` {`\"top\" | \"top-start\" | \"top-end\" | \"right\" | \"right-start\" | \"right-end\" | \"bottom\" | \"bottom-start\" | \"bottom-end\" | \"left\" | \"left-start\" | \"left-end\"`} - \n\nProperty: placement\n\nDefault: bottom",