@smart-webcomponents-angular/combobox 19.0.8 → 25.0.0

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.
@@ -44,6 +44,13 @@ class BaseElement {
44
44
  focus(options) {
45
45
  this.nativeElement.focus(options);
46
46
  }
47
+ /** @description Sets or gets the license. */
48
+ get license() {
49
+ return this.nativeElement ? this.nativeElement.license : undefined;
50
+ }
51
+ set license(value) {
52
+ this.nativeElement ? this.nativeElement.license = value : undefined;
53
+ }
47
54
  /** @description Sets or gets the language. Used in conjunction with the property messages. */
48
55
  get locale() {
49
56
  return this.nativeElement ? this.nativeElement.locale : undefined;
@@ -81,7 +88,7 @@ class BaseElement {
81
88
  }
82
89
  }
83
90
  BaseElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
84
- BaseElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: BaseElement, inputs: { locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", rightToLeft: "rightToLeft", theme: "theme" }, outputs: { onCreate: "onCreate", onReady: "onReady", onAttach: "onAttach", onDetach: "onDetach" }, ngImport: i0 });
91
+ BaseElement.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: BaseElement, inputs: { license: "license", locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", rightToLeft: "rightToLeft", theme: "theme" }, outputs: { onCreate: "onCreate", onReady: "onReady", onAttach: "onAttach", onDetach: "onDetach" }, ngImport: i0 });
85
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: BaseElement, decorators: [{
86
93
  type: Directive
87
94
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onCreate: [{
@@ -92,6 +99,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
92
99
  type: Output
93
100
  }], onDetach: [{
94
101
  type: Output
102
+ }], license: [{
103
+ type: Input
95
104
  }], locale: [{
96
105
  type: Input
97
106
  }], localizeFormatFunction: [{
@@ -103,7 +112,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
103
112
  }], theme: [{
104
113
  type: Input
105
114
  }] } });
106
- const Smart = window.Smart;
115
+ let Smart;
116
+ if (typeof window !== "undefined") {
117
+ Smart = window.Smart;
118
+ }
107
119
 
108
120
  const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = {
109
121
  provide: NG_VALUE_ACCESSOR,
@@ -124,7 +136,7 @@ class ComboBoxComponent extends BaseElement {
124
136
  * The registered callback function called when a blur event occurs on the form elements.
125
137
  */
126
138
  this._onTouched = () => { };
127
- /** @description This event is triggered when the selection is changed.
139
+ /** @description This event is triggered whenever the user changes the current selection, such as highlighting different text or selecting a new item in a list. It allows you to detect and respond to updates in the selected content or options within the interface.
128
140
  * @param event. The custom event. Custom event was created with: event.detail( addedItems, disabled, index, label, removedItems, selected, value)
129
141
  * addedItems - An array of List items that have been selected.
130
142
  * disabled - A flag indicating whether or not the item that caused the change event is disabled.
@@ -135,13 +147,13 @@ class ComboBoxComponent extends BaseElement {
135
147
  * value - The value of the List item that triggered the event.
136
148
  */
137
149
  this.onChange = new EventEmitter();
138
- /** @description This event is triggered when the drop down list is closed.
150
+ /** @description This event is triggered when the drop-down list is closed, either by the user selecting an option or by clicking outside the menu. It occurs after the drop-down menu is no longer visible, allowing you to perform actions in response to the menu's closure.
139
151
  * @param event. The custom event. */
140
152
  this.onClose = new EventEmitter();
141
- /** @description This event is triggered when the drop down list is about to be closed. This event allows to cancel the closing operation calling event.preventDefault() in the event handler function.
153
+ /** @description This event is triggered right before the dropdown list is about to close, providing an opportunity to intervene. By calling event.preventDefault() within the event handler, you can cancel the closing operation, allowing you to perform validation, display a confirmation dialog, or execute custom logic before the dropdown is closed.
142
154
  * @param event. The custom event. */
143
155
  this.onClosing = new EventEmitter();
144
- /** @description This event is triggered when an item is clicked.
156
+ /** @description This event is triggered whenever a user clicks on a specific item, allowing you to execute custom actions in response to the user's selection. The event provides context about the clicked item, enabling you to access its properties or perform related updates within your application.
145
157
  * @param event. The custom event. Custom event was created with: event.detail( disabled, index, label, selected, value)
146
158
  * disabled - Indicates whether the List item that was clicked is disabled or not.
147
159
  * index - Indicates the index of the List item that was clicked.
@@ -150,29 +162,29 @@ class ComboBoxComponent extends BaseElement {
150
162
  * value - The value of the List item that was clicked.
151
163
  */
152
164
  this.onItemClick = new EventEmitter();
153
- /** @description This event is triggered when the drop down list is opened.
165
+ /** @description This event is triggered whenever the dropdown list becomes visible to the user, such as when the user clicks or interacts with the control to expand and display the list of available options. Use this event to execute custom logic when the dropdown menu is opened.
154
166
  * @param event. The custom event. */
155
167
  this.onOpen = new EventEmitter();
156
- /** @description This event is triggered when the drop down list is about to be opened. This event allows to cancel the opening operation calling event.preventDefault() in the event handler function.
168
+ /** @description This event is triggered immediately before the dropdown list is displayed to the user. Within the event handler, you can prevent the dropdown from opening by calling event.preventDefault(). This allows you to implement custom logic to conditionally allow or block the opening of the dropdown, such as validating conditions or managing user permissions before the list is shown.
157
169
  * @param event. The custom event. */
158
170
  this.onOpening = new EventEmitter();
159
- /** @description This event is triggered when user starts resizing the drop down.
171
+ /** @description This event is triggered when the user initiates the resizing action on the dropdown component, such as clicking and dragging a resize handle. It allows developers to detect the exact moment when a resize operation on the dropdown begins.
160
172
  * @param event. The custom event. Custom event was created with: event.detail( position)
161
173
  * position - An object containing the current left and top positions of the drop down.
162
174
  */
163
175
  this.onResizeStart = new EventEmitter();
164
- /** @description This event is triggered when the resizing of the drop down is finished.
176
+ /** @description This event is triggered after the user has completed resizing the dropdown menu, signaling that the resizing action has ended and the new dimensions have been set.
165
177
  * @param event. The custom event. Custom event was created with: event.detail( position)
166
178
  * position - An object containing the current left and top positions of the drop down.
167
179
  */
168
180
  this.onResizeEnd = new EventEmitter();
169
- /** @description This event is triggered when user scrolls to the end of the dropDown list.
181
+ /** @description This event is triggered when the user scrolls to the bottom of the dropdown list, indicating that all available options have been displayed. It can be used to detect when additional data should be loaded or when no further options remain in the dropdown.
170
182
  * @param event. The custom event. */
171
183
  this.onScrollBottomReached = new EventEmitter();
172
- /** @description This event is triggered when user scrolls to the start of the dropDown list.
184
+ /** @description This event is triggered when the user scrolls to the very beginning (top) of the dropdown list, indicating that no more items are available above the current view.
173
185
  * @param event. The custom event. */
174
186
  this.onScrollTopReached = new EventEmitter();
175
- /** @description This event is triggered when a token item(pill) has been clicked. This event allows to cancel the opening operation calling event.preventDefault() in the event handler function.
187
+ /** @description This event is triggered when a token item (also known as a 'pill') is clicked by the user. By handling this event, developers have the opportunity to intercept the default action that would normally occur when the token is clicked—such as opening a dropdown or performing another related operation. To prevent the default behavior from executing, call event.preventDefault() within your event handler function."
176
188
  * @param event. The custom event. */
177
189
  this.onTokenClick = new EventEmitter();
178
190
  this._initialChange = true;
@@ -188,455 +200,462 @@ class ComboBoxComponent extends BaseElement {
188
200
  }
189
201
  return this.nativeElement;
190
202
  }
191
- /** @description Used only when dropDownOpenMode is set to 'auto'. Determines the delay before the opened drop down closes if the pointer is not over the element. */
203
+ /** @description This property is applicable only when dropDownOpenMode is set to 'auto'. It specifies the amount of time (in milliseconds) the dropdown will remain open after the pointer leaves the element, before it automatically closes. If the pointer is not hovering over the dropdown or its trigger element, the dropdown will close after this delay. */
192
204
  get autoCloseDelay() {
193
205
  return this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;
194
206
  }
195
207
  set autoCloseDelay(value) {
196
208
  this.nativeElement ? this.nativeElement.autoCloseDelay = value : undefined;
197
209
  }
198
- /** @description Determines the autocomplete mode. Auto complete modes filter the items from the dataSource and show only those that match the input. */
210
+ /** @description Specifies the autocomplete mode for the input field. The selected mode defines how the component filters and displays items from the dataSource, showing only those entries that match the user's input according to the chosen matching strategy. This setting directly impacts the suggestions presented to the user as they type. */
199
211
  get autoComplete() {
200
212
  return this.nativeElement ? this.nativeElement.autoComplete : undefined;
201
213
  }
202
214
  set autoComplete(value) {
203
215
  this.nativeElement ? this.nativeElement.autoComplete = value : undefined;
204
216
  }
205
- /** @description Determines the delay before the drop down opens to show the matches from the auto complete operation. The delay is measured in miliseconds. */
217
+ /** @description Specifies the amount of time, in milliseconds, to wait after the user input before displaying the dropdown list of autocomplete suggestions. This delay helps control how quickly the suggestions appear, allowing for smoother user experience and reducing unnecessary searches as the user types. */
206
218
  get autoCompleteDelay() {
207
219
  return this.nativeElement ? this.nativeElement.autoCompleteDelay : undefined;
208
220
  }
209
221
  set autoCompleteDelay(value) {
210
222
  this.nativeElement ? this.nativeElement.autoCompleteDelay = value : undefined;
211
223
  }
212
- /** @description Allows the user to define a custom key name ( or multiple key names) to open that popup with. */
224
+ /** @description Enables users to specify one or more custom key names that will trigger the opening of the popup when pressed. This allows for flexible keyboard shortcuts tailored to user preferences or application requirements. */
213
225
  get autoOpenShortcutKey() {
214
226
  return this.nativeElement ? this.nativeElement.autoOpenShortcutKey : undefined;
215
227
  }
216
228
  set autoOpenShortcutKey(value) {
217
229
  this.nativeElement ? this.nativeElement.autoOpenShortcutKey = value : undefined;
218
230
  }
219
- /** @description Determines the data source that will be loaded to the ComboBox. The dataSource can be an array of strings/numbers or objects where the attributes represent the properties of a List Item. For example label, value, group. It can also be a callback that returns an Array of items as previously described. */
231
+ /** @description Specifies the source of data to populate the ComboBox. The dataSource can be provided in several formats:- An array of strings or numbers, where each item becomes a selectable option in the ComboBox.- An array of objects, where each object represents a list item and its properties define the displayed information and associated value (e.g., label for display text, value for the underlying value, and optionally group to categorize items).- A callback function that returns an array of items in either of the above formats, enabling dynamic or asynchronous data loading.This flexible dataSource configuration allows the ComboBox to support simple lists, categorized lists, or dynamically retrieved data. */
220
232
  get dataSource() {
221
233
  return this.nativeElement ? this.nativeElement.dataSource : undefined;
222
234
  }
223
235
  set dataSource(value) {
224
236
  this.nativeElement ? this.nativeElement.dataSource = value : undefined;
225
237
  }
226
- /** @description Enables or disables the combo box. */
238
+ /** @description Controls whether the combo box is active or inactive. When enabled, users can interact with the combo box to select or enter a value. When disabled, the combo box is non-interactive and appears grayed out, preventing any user input or selection. */
227
239
  get disabled() {
228
240
  return this.nativeElement ? this.nativeElement.disabled : undefined;
229
241
  }
230
242
  set disabled(value) {
231
243
  this.nativeElement ? this.nativeElement.disabled = value : undefined;
232
244
  }
233
- /** @description Determines whether an indicator will appear during filtering and remote item loading. */
245
+ /** @description Specifies whether a visual indicator (such as a loading spinner or progress bar) will be displayed while filtering data locally or when retrieving items from a remote source. This helps inform users that a filtering operation or data fetch is in progress. */
234
246
  get displayLoadingIndicator() {
235
247
  return this.nativeElement ? this.nativeElement.displayLoadingIndicator : undefined;
236
248
  }
237
249
  set displayLoadingIndicator(value) {
238
250
  this.nativeElement ? this.nativeElement.displayLoadingIndicator = value : undefined;
239
251
  }
240
- /** @description Sets or gets the displayMember. The displayMember specifies the name of a property to display. The name is contained in the collection specified by the 'dataSource' property. */
252
+ /** @description Sets or retrieves the displayMember property. The displayMember property defines the specific field name within each data object in the collection provided by the 'dataSource' property. This field's value is used for displaying items in the UI component, allowing you to control which attribute of your data objects is shown to the user. */
241
253
  get displayMember() {
242
254
  return this.nativeElement ? this.nativeElement.displayMember : undefined;
243
255
  }
244
256
  set displayMember(value) {
245
257
  this.nativeElement ? this.nativeElement.displayMember = value : undefined;
246
258
  }
247
- /** @description Determines the drop down parent. The expected value is CSS Selector, ID or 'body'. The drop down can be removed from the body of the element and continue to work in another container. This is usefull when one of the parents of the element doesn't allow overflowing, by settings this property to 'body' the drop down will be appended to the DOM and the popup will open/close as usual. dropDownAppendTo can be a string representing the id of an HTML element on the page or a direct reference to that element. Reseting it back to null will take the drop down back to it's original place. */
259
+ /** @description Specifies the parent container for the dropdown element. The dropDownAppendTo property accepts a CSS selector string, an element's ID, the string value 'body', or a direct reference to an HTML element. By default, the dropdown is appended to its original parent in the DOM. However, if one of the containing elements has CSS properties (such as overflow: hidden) that restrict the dropdown's visibility, you can set this property—commonly to 'body'—to append the dropdown directly to the <body> element and ensure it displays properly.Possible values:- A CSS selector string (e.g., '.container' or '#mainDiv')- The string 'body'- A direct reference to an existing HTML element- An element's ID (as a string)- null (to reset and move the dropdown back to its original parent)This property improves compatibility in layouts with restricted overflow by allowing the dropdown to be rendered in a container of your choosing. Resetting dropDownAppendTo to null restores the dropdown to its initial placement within the DOM. */
248
260
  get dropDownAppendTo() {
249
261
  return this.nativeElement ? this.nativeElement.dropDownAppendTo : undefined;
250
262
  }
251
263
  set dropDownAppendTo(value) {
252
264
  this.nativeElement ? this.nativeElement.dropDownAppendTo = value : undefined;
253
265
  }
254
- /** @description Determines the position of the drop down button. */
266
+ /** @description Specifies the location of the dropdown button relative to its associated input field or container. Possible positions may include "left," "right," "top," or "bottom," allowing developers to control where the dropdown button appears in the user interface. */
255
267
  get dropDownButtonPosition() {
256
268
  return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
257
269
  }
258
270
  set dropDownButtonPosition(value) {
259
271
  this.nativeElement ? this.nativeElement.dropDownButtonPosition = value : undefined;
260
272
  }
261
- /** @description Sets the height of the drop down. By default it's set to an empty string. In this case the height of the drop down is controlled by a CSS variable. */
273
+ /** @description Specifies the height of the dropdown menu. By default, this property is set to an empty string, which means the dropdown’s height will be determined by the corresponding CSS variable. If a specific value is provided, it will override the CSS variable and set the dropdown height explicitly. */
262
274
  get dropDownHeight() {
263
275
  return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
264
276
  }
265
277
  set dropDownHeight(value) {
266
278
  this.nativeElement ? this.nativeElement.dropDownHeight = value : undefined;
267
279
  }
268
- /** @description Sets the maximum Height of the drop down. By default it's set to an empty string. In this case the maxHeight of the drop down is controlled by a CSS variable. */
280
+ /** @description Specifies the maximum height of the dropdown menu. By default, this value is set to an empty string, which means the dropdown's max-height will be controlled by a CSS variable instead of an explicit value. If you provide a specific value (e.g., "300px" or "50vh"), it will override the default CSS variable and directly set the maximum height of the dropdown. */
269
281
  get dropDownMaxHeight() {
270
282
  return this.nativeElement ? this.nativeElement.dropDownMaxHeight : undefined;
271
283
  }
272
284
  set dropDownMaxHeight(value) {
273
285
  this.nativeElement ? this.nativeElement.dropDownMaxHeight = value : undefined;
274
286
  }
275
- /** @description Sets the maximum Width of the drop down. By default it's set to an empty string. In this case the maxWidth of the drop down is controlled by a CSS variable. */
287
+ /** @description Defines the maximum width of the dropdown menu. By default, this value is set to an empty string, which means the dropdown's maximum width will be determined by a corresponding CSS variable. If a specific value is provided (e.g., "300px" or "50%"), it will override the CSS variable and directly set the maximum width of the dropdown. */
276
288
  get dropDownMaxWidth() {
277
289
  return this.nativeElement ? this.nativeElement.dropDownMaxWidth : undefined;
278
290
  }
279
291
  set dropDownMaxWidth(value) {
280
292
  this.nativeElement ? this.nativeElement.dropDownMaxWidth = value : undefined;
281
293
  }
282
- /** @description Sets the minimum Height of the drop down. By default it's set to an empty string. In this case the minHeight of the drop down is controlled by a CSS variable. */
294
+ /** @description Defines the minimum height of the dropdown component. By default, this property is set to an empty string, which means the dropdown's minimum height is determined by a corresponding CSS variable. If a specific value is provided for this property, it will override the CSS variable and explicitly set the dropdown's minimum height. */
283
295
  get dropDownMinHeight() {
284
296
  return this.nativeElement ? this.nativeElement.dropDownMinHeight : undefined;
285
297
  }
286
298
  set dropDownMinHeight(value) {
287
299
  this.nativeElement ? this.nativeElement.dropDownMinHeight = value : undefined;
288
300
  }
289
- /** @description Sets the minimum Width of the drop down. By default it's set to an empty string. In this case the minWidth of the drop down is controlled by a CSS variable. */
301
+ /** @description Specifies the minimum width of the dropdown component. By default, this property is set to an empty string (""). When left unset, the dropdown’s minimum width is determined by a CSS variable, allowing for flexible styling through external stylesheets. To override the CSS value, assign a specific width value (e.g., "200px" or "10rem") to this property. */
290
302
  get dropDownMinWidth() {
291
303
  return this.nativeElement ? this.nativeElement.dropDownMinWidth : undefined;
292
304
  }
293
305
  set dropDownMinWidth(value) {
294
306
  this.nativeElement ? this.nativeElement.dropDownMinWidth = value : undefined;
295
307
  }
296
- /** @description Determines how the drop down is going to open. */
308
+ /** @description Specifies the direction or animation in which the dropdown menu will appear when activated, such as opening upwards, downwards, or with a specific transition effect. */
297
309
  get dropDownOpenMode() {
298
310
  return this.nativeElement ? this.nativeElement.dropDownOpenMode : undefined;
299
311
  }
300
312
  set dropDownOpenMode(value) {
301
313
  this.nativeElement ? this.nativeElement.dropDownOpenMode = value : undefined;
302
314
  }
303
- /** @description If this property is enabled, when the element's dropdown is opened, a transparent overlay is positioned between the dropdown and the rest of the document. The purpose of the overlay is to make sure that clicking anywhere outside the popup will will target the overlay and not the DOM. */
315
+ /** @description If this property is enabled, opening the element's dropdown will insert a transparent overlay between the dropdown and the rest of the document. This overlay covers the entire viewport except for the dropdown itself, capturing all click events outside the dropdown. As a result, any clicks outside the popup will interact with the overlay instead of other elements on the page, allowing you to reliably detect and handle outside clicks (such as to close the dropdown) without unintentionally triggering other DOM elements. */
304
316
  get dropDownOverlay() {
305
317
  return this.nativeElement ? this.nativeElement.dropDownOverlay : undefined;
306
318
  }
307
319
  set dropDownOverlay(value) {
308
320
  this.nativeElement ? this.nativeElement.dropDownOverlay = value : undefined;
309
321
  }
310
- /** @description Determines the placeholder for the drop down, displayed when there are no items in it. */
322
+ /** @description Specifies the text or content to be shown in the dropdown as a placeholder when the dropdown contains no selectable items. This placeholder provides guidance or context to the user, indicating that there are currently no available options. */
311
323
  get dropDownPlaceholder() {
312
324
  return this.nativeElement ? this.nativeElement.dropDownPlaceholder : undefined;
313
325
  }
314
326
  set dropDownPlaceholder(value) {
315
327
  this.nativeElement ? this.nativeElement.dropDownPlaceholder = value : undefined;
316
328
  }
317
- /** @description Determines the position of the drop down when opened. */
329
+ /** @description Specifies the placement of the dropdown menu relative to its trigger element when opened (e.g., above, below, left, or right). This setting controls where the dropdown appears on the screen in relation to the element that activates it. */
318
330
  get dropDownPosition() {
319
331
  return this.nativeElement ? this.nativeElement.dropDownPosition : undefined;
320
332
  }
321
333
  set dropDownPosition(value) {
322
334
  this.nativeElement ? this.nativeElement.dropDownPosition = value : undefined;
323
335
  }
324
- /** @description Sets the width of the drop down. By default it's set to an empty string. In this case the width of the drop down is controlled by a CSS variable. */
336
+ /** @description Specifies the width of the dropdown menu. By default, this property is set to an empty string, allowing the dropdown's width to be determined by the associated CSS variable (typically via custom properties or theme settings). If a value is provided, it overrides the CSS variable and directly sets the dropdown's width. */
325
337
  get dropDownWidth() {
326
338
  return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
327
339
  }
328
340
  set dropDownWidth(value) {
329
341
  this.nativeElement ? this.nativeElement.dropDownWidth = value : undefined;
330
342
  }
331
- /** @description Determines the behavior of the element when Escape key is pressed. */
343
+ /** @description Specifies how the element should respond when the Escape key is pressed by the user. This property allows you to define actions such as closing a modal, dismissing a dialog, or triggering a custom event when the Escape key is detected while the element is focused or active. */
332
344
  get escKeyMode() {
333
345
  return this.nativeElement ? this.nativeElement.escKeyMode : undefined;
334
346
  }
335
347
  set escKeyMode(value) {
336
348
  this.nativeElement ? this.nativeElement.escKeyMode = value : undefined;
337
349
  }
338
- /** @description Determines whether filtering is enabled. */
350
+ /** @description Specifies whether the filtering feature is active. When set to true, users can apply filters to narrow down displayed data; when false, filtering options are disabled and all data is shown without restriction. */
339
351
  get filterable() {
340
352
  return this.nativeElement ? this.nativeElement.filterable : undefined;
341
353
  }
342
354
  set filterable(value) {
343
355
  this.nativeElement ? this.nativeElement.filterable = value : undefined;
344
356
  }
345
- /** @description Determines the placeholder for the drop down list filter input field. */
357
+ /** @description Specifies the placeholder text displayed inside the dropdown list’s filter input field, guiding users on what to enter when searching or filtering options. */
346
358
  get filterInputPlaceholder() {
347
359
  return this.nativeElement ? this.nativeElement.filterInputPlaceholder : undefined;
348
360
  }
349
361
  set filterInputPlaceholder(value) {
350
362
  this.nativeElement ? this.nativeElement.filterInputPlaceholder = value : undefined;
351
363
  }
352
- /** @description Determines the filtering mode of the Combo box. */
364
+ /** @description Specifies the filtering behavior for the Combo Box, controlling how user input is matched against the available options (e.g., contains, starts with, or exact match). This property determines which options are displayed in the dropdown list as the user types. */
353
365
  get filterMode() {
354
366
  return this.nativeElement ? this.nativeElement.filterMode : undefined;
355
367
  }
356
368
  set filterMode(value) {
357
369
  this.nativeElement ? this.nativeElement.filterMode = value : undefined;
358
370
  }
359
- /** @description If enabled, the items will be grouped by their first letter. Can't be applied if the dataSource already contains groups. */
371
+ /** @description When enabled, this option automatically groups the items based on the first letter of each item's value or label. Note: This grouping feature is only available if the dataSource does not already include predefined groups. If the dataSource is already grouped, this setting will have no effect. */
360
372
  get grouped() {
361
373
  return this.nativeElement ? this.nativeElement.grouped : undefined;
362
374
  }
363
375
  set grouped(value) {
364
376
  this.nativeElement ? this.nativeElement.grouped = value : undefined;
365
377
  }
366
- /** @description Determines which attribute from the dataSource object will be used as the group member for the items. If not set, by default 'group' property is used from the source object. groupMember is especially usefull when loading the data from a JSON file as a dataSource for the ListBox and there's a specific property that should be used to group the items. */
378
+ /** @description Specifies which attribute of the dataSource object should be used to group items in the ListBox. By default, if this property (groupMember) is not set, the ListBox will use the 'group' property from each dataSource item to organize groups. This property is particularly useful when loading data from a JSON file, allowing you to designate a specific property from your data objects to determine the grouping of items—especially if your JSON structure uses a different property name for grouping. */
367
379
  get groupMember() {
368
380
  return this.nativeElement ? this.nativeElement.groupMember : undefined;
369
381
  }
370
382
  set groupMember(value) {
371
383
  this.nativeElement ? this.nativeElement.groupMember = value : undefined;
372
384
  }
373
- /** @description Sets additional helper text below the element. The hint is visible only when the element is focused. */
385
+ /** @description Displays supplementary helper text beneath the element. This hint is visible exclusively when the element is in focus, providing contextual guidance to users as they interact with the field. */
374
386
  get hint() {
375
387
  return this.nativeElement ? this.nativeElement.hint : undefined;
376
388
  }
377
389
  set hint(value) {
378
390
  this.nativeElement ? this.nativeElement.hint = value : undefined;
379
391
  }
380
- /** @description Determines the visibility of the horizontal Scroll bar inside the drop down. */
392
+ /** @description Controls whether the horizontal scroll bar is displayed within the dropdown menu when the content exceeds the available width. */
381
393
  get horizontalScrollBarVisibility() {
382
394
  return this.nativeElement ? this.nativeElement.horizontalScrollBarVisibility : undefined;
383
395
  }
384
396
  set horizontalScrollBarVisibility(value) {
385
397
  this.nativeElement ? this.nativeElement.horizontalScrollBarVisibility = value : undefined;
386
398
  }
387
- /** @description Represents the property name of a List item. Determines the value of the input when a ListItem is selected. Usefull in cases where the user wants to display for example the value of an item instead of it's label. By default the label is displayed in the input. */
399
+ /** @description Represents the property name of a List item whose value will be displayed in the input field when a ListItem is selected. This allows developers to control which property of each item is shown in the input, such as displaying the item's value instead of its label. By default, the label property is used for display. This option is useful when you want to customize the displayed content, for example, to show a unique identifier or value rather than the descriptive label. */
388
400
  get inputMember() {
389
401
  return this.nativeElement ? this.nativeElement.inputMember : undefined;
390
402
  }
391
403
  set inputMember(value) {
392
404
  this.nativeElement ? this.nativeElement.inputMember = value : undefined;
393
405
  }
394
- /** @description Sets the purpose of the input and what, if any, permission the user agent has to provide automated assistance in filling out the element's input when in a form, as well as guidance to the browser as to the type of information expected in the element. This value corresponds to the standard HTML autocomplete attribute and can be set to values such as 'on', 'name', 'organization', 'street-address', etc. */
406
+ /** @description Specifies the expected type of information for the input field and informs the browser about the nature of the data to be entered. This guidance allows user agents (such as browsers and password managers) to determine if they can provide automated assistance—like autofilling relevant values—when the element is used in a form. The value assigned to this property directly maps to the standard HTML autocomplete attribute. Common values include 'on' (enable autocomplete), 'off' (disable autocomplete), 'name' (full name), 'organization' (company or organization), 'email', 'street-address', and many others, as specified by the HTML standard. Using an appropriate value improves user experience, enhances accessibility, and helps maintain privacy and security standards within web forms. */
395
407
  get inputPurpose() {
396
408
  return this.nativeElement ? this.nativeElement.inputPurpose : undefined;
397
409
  }
398
410
  set inputPurpose(value) {
399
411
  this.nativeElement ? this.nativeElement.inputPurpose = value : undefined;
400
412
  }
401
- /** @description IncrementalSearchDelay property specifies the time-interval in milliseconds until the previous search query is cleared. The timer starts when the user stops typing. A new query can be started only when the delay has passed. */
413
+ /** @description The 'IncrementalSearchDelay' property defines the duration, in milliseconds, to wait after the user stops typing before clearing the previous search query. This timer begins as soon as the user finishes typing. During this delay period, no new search query will be initiated. Only after the specified delay has elapsed will the current search input be cleared, allowing a new search query to be started. This helps to optimize performance and user experience by preventing unnecessary or premature queries while the user is still entering their search terms. */
402
414
  get incrementalSearchDelay() {
403
415
  return this.nativeElement ? this.nativeElement.incrementalSearchDelay : undefined;
404
416
  }
405
417
  set incrementalSearchDelay(value) {
406
418
  this.nativeElement ? this.nativeElement.incrementalSearchDelay = value : undefined;
407
419
  }
408
- /** @description Sets ot gets the mode of the incremental search mode. Incremental search is enabled by default. Typing while the drop down is focused starts the incremental search. */
420
+ /** @description Configures or retrieves the current mode of incremental search. By default, incremental search is enabled, allowing users to type while the dropdown is focused to quickly filter and highlight matching options. Modifying this setting controls how user input is processed for searching within the dropdown list. */
409
421
  get incrementalSearchMode() {
410
422
  return this.nativeElement ? this.nativeElement.incrementalSearchMode : undefined;
411
423
  }
412
424
  set incrementalSearchMode(value) {
413
425
  this.nativeElement ? this.nativeElement.incrementalSearchMode = value : undefined;
414
426
  }
415
- /** @description Sets the height for all list items. Used only when virtualization is enabled. */
427
+ /** @description Specifies the height (in pixels) for each list item when rendering the list. This property is only applicable when list virtualization is enabled, as it helps optimize rendering performance by allowing the component to calculate and render only the visible items. */
416
428
  get itemHeight() {
417
429
  return this.nativeElement ? this.nativeElement.itemHeight : undefined;
418
430
  }
419
431
  set itemHeight(value) {
420
432
  this.nativeElement ? this.nativeElement.itemHeight = value : undefined;
421
433
  }
422
- /** @description Determines the item width measuring algorithm. */
434
+ /** @description Specifies the algorithm used to calculate the width of each item. This setting determines how the width of an item is measured, such as using the item's intrinsic content size, a fixed value, or a percentage of the container. Adjust this parameter to control how item widths are determined within the layout. */
423
435
  get itemMeasureMode() {
424
436
  return this.nativeElement ? this.nativeElement.itemMeasureMode : undefined;
425
437
  }
426
438
  set itemMeasureMode(value) {
427
439
  this.nativeElement ? this.nativeElement.itemMeasureMode = value : undefined;
428
440
  }
429
- /** @description A getter that returns an array of all List items inside the drop down. */
441
+ /** @description A getter method that retrieves and returns an array containing all list ('') elements currently present within the dropdown menu. This allows you to easily access and manipulate every item displayed in the dropdown. */
430
442
  get items() {
431
443
  return this.nativeElement ? this.nativeElement.items : undefined;
432
444
  }
433
445
  set items(value) {
434
446
  this.nativeElement ? this.nativeElement.items = value : undefined;
435
447
  }
436
- /** @description The itemTemplate property is a string that represents the id of an HTMLTemplateElement in the DOM. It's used to set a customize the content of the list items. */
448
+ /** @description The itemTemplate property is a string that specifies the ID of an HTMLTemplateElement present in the DOM. This template is used to define and customize the structure and content of individual list items, allowing developers to control how each item appears when rendered in the list. */
437
449
  get itemTemplate() {
438
450
  return this.nativeElement ? this.nativeElement.itemTemplate : undefined;
439
451
  }
440
452
  set itemTemplate(value) {
441
453
  this.nativeElement ? this.nativeElement.itemTemplate = value : undefined;
442
454
  }
443
- /** @description Sets a little text label above the element. */
455
+ /** @description Displays a small text label positioned above the element, typically used to provide context, instructions, or additional information to users. */
444
456
  get label() {
445
457
  return this.nativeElement ? this.nativeElement.label : undefined;
446
458
  }
447
459
  set label(value) {
448
460
  this.nativeElement ? this.nativeElement.label = value : undefined;
449
461
  }
450
- /** @description Determines the text that will be displayed next to the loading indicator when the loader is visible and it's position is top or bottom. */
462
+ /** @description Specifies the text that appears alongside the loading indicator when the loader is visible and positioned at the top or bottom of the component. This text provides users with contextual information or status updates during loading. */
451
463
  get loadingIndicatorPlaceholder() {
452
464
  return this.nativeElement ? this.nativeElement.loadingIndicatorPlaceholder : undefined;
453
465
  }
454
466
  set loadingIndicatorPlaceholder(value) {
455
467
  this.nativeElement ? this.nativeElement.loadingIndicatorPlaceholder = value : undefined;
456
468
  }
457
- /** @description Determines the position of the loading indicator. */
469
+ /** @description Specifies the exact location on the user interface where the loading indicator will be displayed, such as at the top, center, or bottom of the screen or component. */
458
470
  get loadingIndicatorPosition() {
459
471
  return this.nativeElement ? this.nativeElement.loadingIndicatorPosition : undefined;
460
472
  }
461
473
  set loadingIndicatorPosition(value) {
462
474
  this.nativeElement ? this.nativeElement.loadingIndicatorPosition = value : undefined;
463
475
  }
464
- /** @description Sets or gets the language. Used in conjunction with the property messages. */
476
+ /** @description Sets or retrieves the unlockKey, a unique value required to grant access to the product’s premium features or activate its full functionality. */
477
+ get unlockKey() {
478
+ return this.nativeElement ? this.nativeElement.unlockKey : undefined;
479
+ }
480
+ set unlockKey(value) {
481
+ this.nativeElement ? this.nativeElement.unlockKey = value : undefined;
482
+ }
483
+ /** @description Specifies or retrieves the current language setting for the component. This property determines which language is used when displaying content from the messages property, allowing for localization and internationalization of displayed messages. Set this property to a supported language code (e.g., "en", "fr") to load the corresponding translations from the messages object. */
465
484
  get locale() {
466
485
  return this.nativeElement ? this.nativeElement.locale : undefined;
467
486
  }
468
487
  set locale(value) {
469
488
  this.nativeElement ? this.nativeElement.locale = value : undefined;
470
489
  }
471
- /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
490
+ /** @description A callback function that allows you to customize the formatting of messages returned by the Localization Module. Use this callback to modify message text, apply dynamic values, or implement custom formatting logic before the localized messages are delivered to your application. */
472
491
  get localizeFormatFunction() {
473
492
  return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
474
493
  }
475
494
  set localizeFormatFunction(value) {
476
495
  this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;
477
496
  }
478
- /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */
497
+ /** @description Specifies or retrieves an object containing localized string values used within the widget’s user interface. This property enables the customization and translation of UI text for different languages or regions. It is intended to be used together with the locale property, allowing you to easily provide or update localized strings according to the selected locale. */
479
498
  get messages() {
480
499
  return this.nativeElement ? this.nativeElement.messages : undefined;
481
500
  }
482
501
  set messages(value) {
483
502
  this.nativeElement ? this.nativeElement.messages = value : undefined;
484
503
  }
485
- /** @description Determines the minimum number of characters inside the input in order to trigger the autocomplete functionality */
504
+ /** @description Specifies the minimum number of characters a user must enter in the input field before the autocomplete feature is activated and suggestions are displayed. */
486
505
  get minLength() {
487
506
  return this.nativeElement ? this.nativeElement.minLength : undefined;
488
507
  }
489
508
  set minLength(value) {
490
509
  this.nativeElement ? this.nativeElement.minLength = value : undefined;
491
510
  }
492
- /** @description Determines the maximum number of characters inside the input. */
511
+ /** @description Specifies the maximum number of characters that can be entered into the input field. Any additional characters beyond this limit will not be accepted. This helps enforce data validation and consistency for user input. */
493
512
  get maxLength() {
494
513
  return this.nativeElement ? this.nativeElement.maxLength : undefined;
495
514
  }
496
515
  set maxLength(value) {
497
516
  this.nativeElement ? this.nativeElement.maxLength = value : undefined;
498
517
  }
499
- /** @description Sets or gets the name attribute for the element. Name is used when submiting HTML forms. */
518
+ /** @description Sets or retrieves the value of the element's name attribute. The name attribute uniquely identifies form elements when submitting HTML forms, allowing the form data to be organized and accessed by name on the server side. This attribute is essential for grouping form controls and accurately transmitting user input during form submission. */
500
519
  get name() {
501
520
  return this.nativeElement ? this.nativeElement.name : undefined;
502
521
  }
503
522
  set name(value) {
504
523
  this.nativeElement ? this.nativeElement.name = value : undefined;
505
524
  }
506
- /** @description Determines whether the popup is opened or closed */
525
+ /** @description Specifies whether the popup is currently visible (open) or hidden (closed) in the user interface. */
507
526
  get opened() {
508
527
  return this.nativeElement ? this.nativeElement.opened : undefined;
509
528
  }
510
529
  set opened(value) {
511
530
  this.nativeElement ? this.nativeElement.opened = value : undefined;
512
531
  }
513
- /** @description Determines the input's placeholder. */
532
+ /** @description Specifies the placeholder text that appears inside the input field when it is empty, providing guidance or example content to the user. */
514
533
  get placeholder() {
515
534
  return this.nativeElement ? this.nativeElement.placeholder : undefined;
516
535
  }
517
536
  set placeholder(value) {
518
537
  this.nativeElement ? this.nativeElement.placeholder = value : undefined;
519
538
  }
520
- /** @description Disables user interaction with the element. */
539
+ /** @description Prevents any user interactions with the element, including clicking, tapping, selecting, hovering, or focusing. While this is enabled, the element will not respond to mouse, keyboard, or touch events, effectively making it non-interactive for users. */
521
540
  get readonly() {
522
541
  return this.nativeElement ? this.nativeElement.readonly : undefined;
523
542
  }
524
543
  set readonly(value) {
525
544
  this.nativeElement ? this.nativeElement.readonly = value : undefined;
526
545
  }
527
- /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
546
+ /** @description Specifies or retrieves a value that determines whether the element’s text direction is set to support right-to-left (RTL) languages, such as Arabic or Hebrew. When enabled, the element and its content are aligned according to RTL formatting, ensuring proper display for locales that use right-to-left scripts. */
528
547
  get rightToLeft() {
529
548
  return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
530
549
  }
531
550
  set rightToLeft(value) {
532
551
  this.nativeElement ? this.nativeElement.rightToLeft = value : undefined;
533
552
  }
534
- /** @description Determines whether the resize indicator in the bottom right corner of the drop down is visible or not. This property is used in conjunction with resizeMode. */
553
+ /** @description Controls the visibility of the resize indicator located in the bottom-right corner of the dropdown component. When this property is set to true, users will see a handle allowing them to resize the dropdown area. This property should be used together with the resizeMode property to define both the availability and behavior of the resizing feature. */
535
554
  get resizeIndicator() {
536
555
  return this.nativeElement ? this.nativeElement.resizeIndicator : undefined;
537
556
  }
538
557
  set resizeIndicator(value) {
539
558
  this.nativeElement ? this.nativeElement.resizeIndicator = value : undefined;
540
559
  }
541
- /** @description Determines whether the dropDown can be resized or not. When resizing is enabled, a resize bar appears on the top/bottom side of the drop down. */
560
+ /** @description Specifies whether the drop-down menu is resizable by the user. If resizing is enabled, a resize bar will be displayed along the top or bottom edge of the drop-down, allowing users to click and drag to adjust its height. Disabling this option removes the resize bar and prevents any manual resizing of the drop-down component. */
542
561
  get resizeMode() {
543
562
  return this.nativeElement ? this.nativeElement.resizeMode : undefined;
544
563
  }
545
564
  set resizeMode(value) {
546
565
  this.nativeElement ? this.nativeElement.resizeMode = value : undefined;
547
566
  }
548
- /** @description Determines what will be displayed in the input. */
567
+ /** @description Specifies the content or value that will appear within the input field, either as a default value, user-entered data, or dynamically generated content. This setting controls what the user sees and interacts with inside the input element. */
549
568
  get selectionDisplayMode() {
550
569
  return this.nativeElement ? this.nativeElement.selectionDisplayMode : undefined;
551
570
  }
552
571
  set selectionDisplayMode(value) {
553
572
  this.nativeElement ? this.nativeElement.selectionDisplayMode = value : undefined;
554
573
  }
555
- /** @description Sets or gets the selected indexes. Selected indexes represents an array of the indexes of the items that should be selected. */
574
+ /** @description Sets or retrieves the selected indexes. The selected indexes property is an array containing the numeric indexes of the items that are currently selected. Each value in the array corresponds to the position of a selected item within the overall list or collection. Assigning a new array to this property updates the selection state to match the specified indexes; retrieving it returns the current selection as an array of indexes. */
556
575
  get selectedIndexes() {
557
576
  return this.nativeElement ? this.nativeElement.selectedIndexes : undefined;
558
577
  }
559
578
  set selectedIndexes(value) {
560
579
  this.nativeElement ? this.nativeElement.selectedIndexes = value : undefined;
561
580
  }
562
- /** @description Sets or gets elected indexes. Selected values represents the values of the items that should be selected. */
581
+ /** @description "Sets or retrieves the currently selected indexes. The 'selected' property holds an array of the indices corresponding to the items that are marked as selected. When setting this property, provide an array of indexes to specify which items should be selected. When getting this property, it returns the array of indexes for the currently selected items." */
563
582
  get selectedValues() {
564
583
  return this.nativeElement ? this.nativeElement.selectedValues : undefined;
565
584
  }
566
585
  set selectedValues(value) {
567
586
  this.nativeElement ? this.nativeElement.selectedValues = value : undefined;
568
587
  }
569
- /** @description Determines how many items can be selected. */
588
+ /** @description Specifies the maximum number of items that a user is allowed to select at one time. If this value is set to 1, only single selection is permitted; higher values allow multiple selections up to the defined limit. */
570
589
  get selectionMode() {
571
590
  return this.nativeElement ? this.nativeElement.selectionMode : undefined;
572
591
  }
573
592
  set selectionMode(value) {
574
593
  this.nativeElement ? this.nativeElement.selectionMode = value : undefined;
575
594
  }
576
- /** @description Determines whether the items are sorted alphabetically or not */
595
+ /** @description Specifies whether the items are arranged in alphabetical order. If set to true, the items will be sorted alphabetically; if false, the original order will be preserved. */
577
596
  get sorted() {
578
597
  return this.nativeElement ? this.nativeElement.sorted : undefined;
579
598
  }
580
599
  set sorted(value) {
581
600
  this.nativeElement ? this.nativeElement.sorted = value : undefined;
582
601
  }
583
- /** @description Determines sorting direction - ascending(asc) or descending(desc) */
602
+ /** @description Specifies the sorting order for data, allowing you to choose between ascending ("asc") for lowest-to-highest or alphabetical A–Z sorting, and descending ("desc") for highest-to-lowest or Z–A sorting. */
584
603
  get sortDirection() {
585
604
  return this.nativeElement ? this.nativeElement.sortDirection : undefined;
586
605
  }
587
606
  set sortDirection(value) {
588
607
  this.nativeElement ? this.nativeElement.sortDirection = value : undefined;
589
608
  }
590
- /** @description Determines the theme for the element. Themes define the look of the elements. */
609
+ /** @description Specifies the visual theme to be applied to the element. The selected theme controls the element’s appearance, including colors, fonts, and other stylistic properties, ensuring a consistent look and feel across the user interface. */
591
610
  get theme() {
592
611
  return this.nativeElement ? this.nativeElement.theme : undefined;
593
612
  }
594
613
  set theme(value) {
595
614
  this.nativeElement ? this.nativeElement.theme = value : undefined;
596
615
  }
597
- /** @description Sets a custom content for the tokens when selectionDisplayMode is set to 'tokens'. Tokens are used only for multiple selection. */
616
+ /** @description Defines the custom content to display within each token when the selectionDisplayMode is set to "tokens". Tokens visually represent selected items in a multi-select interface and are only applicable when multiple selection is enabled. Use this option to customize how each token appears, such as displaying specific text, icons, or additional data for each selected item. */
598
617
  get tokenTemplate() {
599
618
  return this.nativeElement ? this.nativeElement.tokenTemplate : undefined;
600
619
  }
601
620
  set tokenTemplate(value) {
602
621
  this.nativeElement ? this.nativeElement.tokenTemplate = value : undefined;
603
622
  }
604
- /** @description If is set to true, the element cannot be focused. */
623
+ /** @description If set to true, the element will not be able to receive keyboard or mouse focus, making it inaccessible via tab navigation or programmatic focus methods. */
605
624
  get unfocusable() {
606
625
  return this.nativeElement ? this.nativeElement.unfocusable : undefined;
607
626
  }
608
627
  set unfocusable(value) {
609
628
  this.nativeElement ? this.nativeElement.unfocusable = value : undefined;
610
629
  }
611
- /** @description Sets or gets the value. */
630
+ /** @description Provides functionality to retrieve (get) or assign (set) the current value of the property. When used as a getter, it returns the property's current value. When used as a setter, it updates the property with the specified value. */
612
631
  get value() {
613
632
  return this.nativeElement ? this.nativeElement.value : undefined;
614
633
  }
615
634
  set value(value) {
616
635
  this.nativeElement ? this.nativeElement.value = value : undefined;
617
636
  }
618
- /** @description Determines the value member of an item. Stored as value in the item object. Similar to groupMember, valueMember is especially usefull when using data from a JSON file as a dataSource for the ListBox and there's a specific property that should be used for the value the items. */
637
+ /** @description Specifies which property of each item object should be used as the value for that item. The value designated by valueMember will be stored in the item's value field. This property functions similarly to groupMember, but is focused on identifying the value rather than the group. valueMember is particularly useful when populating a ListBox from a JSON data source, as it allows you to specify which property of your data objects should serve as the unique value for each item in the ListBox. */
619
638
  get valueMember() {
620
639
  return this.nativeElement ? this.nativeElement.valueMember : undefined;
621
640
  }
622
641
  set valueMember(value) {
623
642
  this.nativeElement ? this.nativeElement.valueMember = value : undefined;
624
643
  }
625
- /** @description Determines the visibility of the vertical scroll bar. */
644
+ /** @description Controls whether the vertical scroll bar is displayed within the content area, allowing users to scroll vertically when the content extends beyond the visible region. */
626
645
  get verticalScrollBarVisibility() {
627
646
  return this.nativeElement ? this.nativeElement.verticalScrollBarVisibility : undefined;
628
647
  }
629
648
  set verticalScrollBarVisibility(value) {
630
649
  this.nativeElement ? this.nativeElement.verticalScrollBarVisibility = value : undefined;
631
650
  }
632
- /** @description Determines weather or not Virtualization is used for the Combo box. Virtualization allows a huge amount of items to be loaded to the List box while preserving the performance. For example a milion items can be loaded to the list box. */
651
+ /** @description Determines whether virtualization is enabled for the ComboBox. When virtualization is enabled, the ComboBox can efficiently display a very large number of items—such as a million—by only rendering the visible items in the ListBox and dynamically loading items as needed. This significantly improves performance and reduces memory usage, especially with large data sets. */
633
652
  get virtualized() {
634
653
  return this.nativeElement ? this.nativeElement.virtualized : undefined;
635
654
  }
636
655
  set virtualized(value) {
637
656
  this.nativeElement ? this.nativeElement.virtualized = value : undefined;
638
657
  }
639
- /** @description Appends a ListItem to the end of the list of items inside element.
658
+ /** @description Appends a new ListItem element to the end of the existing list of items within the specified container element, thereby updating the list to include the newly added item as its last entry.
640
659
  * @param {Node} node. A ListItem element that should be added to the rest of the items as the last item.
641
660
  * @returns {Node}
642
661
  */
@@ -652,7 +671,13 @@ class ComboBoxComponent extends BaseElement {
652
671
  const result = await getResultOnRender();
653
672
  return result;
654
673
  }
655
- /** @description Adds a new item(s).
674
+ appendChildSync(node) {
675
+ if (this.nativeElement.isRendered) {
676
+ return this.nativeElement.appendChild(node);
677
+ }
678
+ return null;
679
+ }
680
+ /** @description Creates and appends one or more new items to the collection or list.
656
681
  * @param {any} item. Describes the properties of the item that will be inserted. You can also pass an array of items.
657
682
  */
658
683
  add(item) {
@@ -665,7 +690,7 @@ class ComboBoxComponent extends BaseElement {
665
690
  });
666
691
  }
667
692
  }
668
- /** @description Removes all items from the drop down list.
693
+ /** @description Removes all existing items from the dropdown list, resulting in an empty list with no selectable options displayed to the user.
669
694
  */
670
695
  clearItems() {
671
696
  if (this.nativeElement.isRendered) {
@@ -677,7 +702,7 @@ class ComboBoxComponent extends BaseElement {
677
702
  });
678
703
  }
679
704
  }
680
- /** @description Unselects all items.
705
+ /** @description Deselects all currently selected items, ensuring that no items remain selected. This action clears any existing selections and resets the selection state.
681
706
  */
682
707
  clearSelection() {
683
708
  if (this.nativeElement.isRendered) {
@@ -689,7 +714,7 @@ class ComboBoxComponent extends BaseElement {
689
714
  });
690
715
  }
691
716
  }
692
- /** @description Closes the dropDown list.
717
+ /** @description Closes the currently open drop-down list, hiding all available options from view and returning the component to its collapsed state. This action ensures that the drop-down menu is no longer visible to the user.
693
718
  */
694
719
  close() {
695
720
  if (this.nativeElement.isRendered) {
@@ -701,7 +726,7 @@ class ComboBoxComponent extends BaseElement {
701
726
  });
702
727
  }
703
728
  }
704
- /** @description Performs a data bind. This can be used to refresh the data source.
729
+ /** @description Initiates a data binding process, connecting UI components to the underlying data source. This method refreshes the data source, ensuring that any changes made to the data are reflected in the user interface. It can be used to update displayed information after modifying, adding, or deleting data.
705
730
  */
706
731
  dataBind() {
707
732
  if (this.nativeElement.isRendered) {
@@ -713,7 +738,7 @@ class ComboBoxComponent extends BaseElement {
713
738
  });
714
739
  }
715
740
  }
716
- /** @description Ensures the desired item is visible by scrolling to it.
741
+ /** @description Scrolls the target item into view within its container, automatically adjusting the scroll position as needed to make sure the entire item is fully visible to the user.
717
742
  * @param {HTMLElement | string} item. A list item or value of the desired item to be visible.
718
743
  */
719
744
  ensureVisible(item) {
@@ -726,7 +751,7 @@ class ComboBoxComponent extends BaseElement {
726
751
  });
727
752
  }
728
753
  }
729
- /** @description Returns an item instance from the dropDown list.
754
+ /** @description Returns a specific item instance from the dropDown list, allowing you to access the properties and methods of the selected list item. This can be used to retrieve information about the item, such as its value, label, or index within the dropDown.
730
755
  * @param {string} value. The value of an item from the drop down list.
731
756
  * @returns {HTMLElement}
732
757
  */
@@ -742,7 +767,13 @@ class ComboBoxComponent extends BaseElement {
742
767
  const result = await getResultOnRender();
743
768
  return result;
744
769
  }
745
- /** @description Inserts a new item at a specified position.
770
+ getItemSync(value) {
771
+ if (this.nativeElement.isRendered) {
772
+ return this.nativeElement.getItem(value);
773
+ }
774
+ return null;
775
+ }
776
+ /** @description Inserts a new item into the array at the specified index position, shifting existing elements to the right to accommodate the new item.
746
777
  * @param {number} position. The position where the item must be inserted.
747
778
  * @param {any} item. Describes the properties of the item that will be inserted. You can also pass an array of items.
748
779
  */
@@ -756,7 +787,7 @@ class ComboBoxComponent extends BaseElement {
756
787
  });
757
788
  }
758
789
  }
759
- /** @description Inserts a new ListItem before another in the list.
790
+ /** @description Inserts a new ListItem element directly before a specified existing ListItem within the list, preserving the order of the remaining items.
760
791
  * @param {Node} node. A ListItem element that should be added before the referenceItem in the list.
761
792
  * @param {Node | null} referenceNode. A ListItem element that acts as the reference item before which a new item is about to be inserted. The referenceNode must be in the same list as the node.
762
793
  * @returns {Node}
@@ -773,7 +804,13 @@ class ComboBoxComponent extends BaseElement {
773
804
  const result = await getResultOnRender();
774
805
  return result;
775
806
  }
776
- /** @description Opens the dropDown list.
807
+ insertBeforeSync(node, referenceNode) {
808
+ if (this.nativeElement.isRendered) {
809
+ return this.nativeElement.insertBefore(node, referenceNode);
810
+ }
811
+ return null;
812
+ }
813
+ /** @description Displays and expands the drop-down list, making all available options visible for selection.
777
814
  */
778
815
  open() {
779
816
  if (this.nativeElement.isRendered) {
@@ -785,7 +822,7 @@ class ComboBoxComponent extends BaseElement {
785
822
  });
786
823
  }
787
824
  }
788
- /** @description Removes an item at a specified position.
825
+ /** @description Removes the item located at the specified index or position within a collection (such as an array or list). After removal, the collection is updated so that subsequent items shift to fill the gap, ensuring contiguous indexing.
789
826
  * @param {number} position. The position of the removed item.
790
827
  */
791
828
  removeAt(position) {
@@ -798,7 +835,7 @@ class ComboBoxComponent extends BaseElement {
798
835
  });
799
836
  }
800
837
  }
801
- /** @description Removes a ListItem from the list of items inside element.
838
+ /** @description Removes a specified ListItem from the collection of items contained within the given element, updating the list to reflect the deletion.
802
839
  * @param {Node} node. A ListItem element that is part of the list of items inside the element.
803
840
  * @returns {Node}
804
841
  */
@@ -814,7 +851,13 @@ class ComboBoxComponent extends BaseElement {
814
851
  const result = await getResultOnRender();
815
852
  return result;
816
853
  }
817
- /** @description Selects an item from the dropDown list.
854
+ removeChildSync(node) {
855
+ if (this.nativeElement.isRendered) {
856
+ return this.nativeElement.removeChild(node);
857
+ }
858
+ return null;
859
+ }
860
+ /** @description Selects a specified item from the dropdown list, allowing users to choose one option from the available choices. This action updates the dropdown’s current selection and can trigger any associated event handlers or changes in the application’s state.
818
861
  * @param {string | HTMLElement} item. A string, representing the value of the item or an HTML Element referencing an item from the list
819
862
  */
820
863
  select(item) {
@@ -827,7 +870,7 @@ class ComboBoxComponent extends BaseElement {
827
870
  });
828
871
  }
829
872
  }
830
- /** @description Unselects an item from the dropDown list.
873
+ /** @description Deselects a specified item from the dropdown list, removing its selected state and reverting the dropdown to reflect that the item is no longer chosen by the user.
831
874
  * @param {string | HTMLElement} item. A string, representing the value of the item or an HTML Element referencing an item from the list
832
875
  */
833
876
  unselect(item) {
@@ -840,7 +883,7 @@ class ComboBoxComponent extends BaseElement {
840
883
  });
841
884
  }
842
885
  }
843
- /** @description Updates an item from the dropDown list.
886
+ /** @description Updates the selected item in the dropDown list with new data or attributes. This action modifies the existing item rather than adding or removing items from the list, ensuring that any changes are reflected immediately in the user interface. Specify the target item and the updated values to complete the operation.
844
887
  * @param {number} position. The position where the item must be updated.
845
888
  * @param {any} value. The value of the updated item.
846
889
  */
@@ -862,9 +905,11 @@ class ComboBoxComponent extends BaseElement {
862
905
  ngAfterViewInit() {
863
906
  const that = this;
864
907
  that.onCreate.emit(that.nativeElement);
865
- Smart.Render();
908
+ if (Smart)
909
+ Smart.Render();
866
910
  this.nativeElement.classList.add('smart-angular');
867
- this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
911
+ if (this.nativeElement.whenRendered)
912
+ this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
868
913
  this.listen();
869
914
  }
870
915
  ngOnDestroy() {
@@ -1021,7 +1066,7 @@ class ComboBoxComponent extends BaseElement {
1021
1066
  }
1022
1067
  }
1023
1068
  ComboBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ComboBoxComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1024
- ComboBoxComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: ComboBoxComponent, selector: "smart-combo-box, [smart-combo-box]", inputs: { autoCloseDelay: "autoCloseDelay", autoComplete: "autoComplete", autoCompleteDelay: "autoCompleteDelay", autoOpenShortcutKey: "autoOpenShortcutKey", dataSource: "dataSource", disabled: "disabled", displayLoadingIndicator: "displayLoadingIndicator", displayMember: "displayMember", dropDownAppendTo: "dropDownAppendTo", dropDownButtonPosition: "dropDownButtonPosition", dropDownHeight: "dropDownHeight", dropDownMaxHeight: "dropDownMaxHeight", dropDownMaxWidth: "dropDownMaxWidth", dropDownMinHeight: "dropDownMinHeight", dropDownMinWidth: "dropDownMinWidth", dropDownOpenMode: "dropDownOpenMode", dropDownOverlay: "dropDownOverlay", dropDownPlaceholder: "dropDownPlaceholder", dropDownPosition: "dropDownPosition", dropDownWidth: "dropDownWidth", escKeyMode: "escKeyMode", filterable: "filterable", filterInputPlaceholder: "filterInputPlaceholder", filterMode: "filterMode", grouped: "grouped", groupMember: "groupMember", hint: "hint", horizontalScrollBarVisibility: "horizontalScrollBarVisibility", inputMember: "inputMember", inputPurpose: "inputPurpose", incrementalSearchDelay: "incrementalSearchDelay", incrementalSearchMode: "incrementalSearchMode", itemHeight: "itemHeight", itemMeasureMode: "itemMeasureMode", items: "items", itemTemplate: "itemTemplate", label: "label", loadingIndicatorPlaceholder: "loadingIndicatorPlaceholder", loadingIndicatorPosition: "loadingIndicatorPosition", locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", minLength: "minLength", maxLength: "maxLength", name: "name", opened: "opened", placeholder: "placeholder", readonly: "readonly", rightToLeft: "rightToLeft", resizeIndicator: "resizeIndicator", resizeMode: "resizeMode", selectionDisplayMode: "selectionDisplayMode", selectedIndexes: "selectedIndexes", selectedValues: "selectedValues", selectionMode: "selectionMode", sorted: "sorted", sortDirection: "sortDirection", theme: "theme", tokenTemplate: "tokenTemplate", unfocusable: "unfocusable", value: "value", valueMember: "valueMember", verticalScrollBarVisibility: "verticalScrollBarVisibility", virtualized: "virtualized" }, outputs: { onChange: "onChange", onClose: "onClose", onClosing: "onClosing", onItemClick: "onItemClick", onOpen: "onOpen", onOpening: "onOpening", onResizeStart: "onResizeStart", onResizeEnd: "onResizeEnd", onScrollBottomReached: "onScrollBottomReached", onScrollTopReached: "onScrollTopReached", onTokenClick: "onTokenClick" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], exportAs: ["smart-combo-box"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
1069
+ ComboBoxComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: ComboBoxComponent, selector: "smart-combo-box, [smart-combo-box]", inputs: { autoCloseDelay: "autoCloseDelay", autoComplete: "autoComplete", autoCompleteDelay: "autoCompleteDelay", autoOpenShortcutKey: "autoOpenShortcutKey", dataSource: "dataSource", disabled: "disabled", displayLoadingIndicator: "displayLoadingIndicator", displayMember: "displayMember", dropDownAppendTo: "dropDownAppendTo", dropDownButtonPosition: "dropDownButtonPosition", dropDownHeight: "dropDownHeight", dropDownMaxHeight: "dropDownMaxHeight", dropDownMaxWidth: "dropDownMaxWidth", dropDownMinHeight: "dropDownMinHeight", dropDownMinWidth: "dropDownMinWidth", dropDownOpenMode: "dropDownOpenMode", dropDownOverlay: "dropDownOverlay", dropDownPlaceholder: "dropDownPlaceholder", dropDownPosition: "dropDownPosition", dropDownWidth: "dropDownWidth", escKeyMode: "escKeyMode", filterable: "filterable", filterInputPlaceholder: "filterInputPlaceholder", filterMode: "filterMode", grouped: "grouped", groupMember: "groupMember", hint: "hint", horizontalScrollBarVisibility: "horizontalScrollBarVisibility", inputMember: "inputMember", inputPurpose: "inputPurpose", incrementalSearchDelay: "incrementalSearchDelay", incrementalSearchMode: "incrementalSearchMode", itemHeight: "itemHeight", itemMeasureMode: "itemMeasureMode", items: "items", itemTemplate: "itemTemplate", label: "label", loadingIndicatorPlaceholder: "loadingIndicatorPlaceholder", loadingIndicatorPosition: "loadingIndicatorPosition", unlockKey: "unlockKey", locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", minLength: "minLength", maxLength: "maxLength", name: "name", opened: "opened", placeholder: "placeholder", readonly: "readonly", rightToLeft: "rightToLeft", resizeIndicator: "resizeIndicator", resizeMode: "resizeMode", selectionDisplayMode: "selectionDisplayMode", selectedIndexes: "selectedIndexes", selectedValues: "selectedValues", selectionMode: "selectionMode", sorted: "sorted", sortDirection: "sortDirection", theme: "theme", tokenTemplate: "tokenTemplate", unfocusable: "unfocusable", value: "value", valueMember: "valueMember", verticalScrollBarVisibility: "verticalScrollBarVisibility", virtualized: "virtualized" }, outputs: { onChange: "onChange", onClose: "onClose", onClosing: "onClosing", onItemClick: "onItemClick", onOpen: "onOpen", onOpening: "onOpening", onResizeStart: "onResizeStart", onResizeEnd: "onResizeEnd", onScrollBottomReached: "onScrollBottomReached", onScrollTopReached: "onScrollTopReached", onTokenClick: "onTokenClick" }, providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR], exportAs: ["smart-combo-box"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
1025
1070
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ComboBoxComponent, decorators: [{
1026
1071
  type: Directive,
1027
1072
  args: [{
@@ -1106,6 +1151,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImpor
1106
1151
  type: Input
1107
1152
  }], loadingIndicatorPosition: [{
1108
1153
  type: Input
1154
+ }], unlockKey: [{
1155
+ type: Input
1109
1156
  }], locale: [{
1110
1157
  type: Input
1111
1158
  }], localizeFormatFunction: [{
@@ -1282,7 +1329,8 @@ class ListItemComponent extends BaseElement {
1282
1329
  const that = this;
1283
1330
  that.onCreate.emit(that.nativeElement);
1284
1331
  this.nativeElement.classList.add('smart-angular');
1285
- this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
1332
+ if (this.nativeElement.whenRendered)
1333
+ this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
1286
1334
  }
1287
1335
  ngOnDestroy() { }
1288
1336
  ngOnChanges(changes) {
@@ -1358,7 +1406,8 @@ class ListItemsGroupComponent extends BaseElement {
1358
1406
  const that = this;
1359
1407
  that.onCreate.emit(that.nativeElement);
1360
1408
  this.nativeElement.classList.add('smart-angular');
1361
- this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
1409
+ if (this.nativeElement.whenRendered)
1410
+ this.nativeElement.whenRendered(() => { that.onReady.emit(that.nativeElement); });
1362
1411
  }
1363
1412
  ngOnDestroy() { }
1364
1413
  ngOnChanges(changes) {