package.web-types.lit.json Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of multi-select-combo-box Show documentation
Show all versions of multi-select-combo-box Show documentation
vaadin-multi-select-combo-box
{
"$schema": "https://json.schemastore.org/web-types",
"name": "@vaadin/multi-select-combo-box",
"version": "24.4.9",
"description-markup": "markdown",
"framework": "lit",
"framework-config": {
"enable-when": {
"node-packages": [
"lit"
]
}
},
"contributions": {
"html": {
"elements": [
{
"name": "vaadin-multi-select-combo-box",
"description": "`` is a web component that wraps `` and extends\nits functionality to allow selecting multiple items, in addition to basic features.\n\n```html\n \n```\n```js\nconst comboBox = document.querySelector('#comboBox');\ncomboBox.items = ['apple', 'banana', 'lemon', 'orange'];\ncomboBox.selectedItems = ['lemon', 'orange'];\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n-----------------------|----------------\n`chips` | The element that wraps slotted chips for selected items\n`label` | The label element\n`input-field` | The element that wraps prefix, value and suffix\n`clear-button` | The clear button\n`error-message` | The error message element\n`helper-text` | The helper text element wrapper\n`required-indicator` | The `required` state indicator element\n`toggle-button` | The toggle button\n\nThe following state attributes are available for styling:\n\nAttribute | Description\n-----------------------|-----------------\n`disabled` | Set to a disabled element\n`has-value` | Set when the element has a value\n`has-label` | Set when the element has a label\n`has-helper` | Set when the element has helper text or slot\n`has-error-message` | Set when the element has an error message\n`invalid` | Set when the element is invalid\n`focused` | Set when the element is focused\n`focus-ring` | Set when the element is keyboard focused\n`loading` | Set when loading items from the data provider\n`opened` | Set when the dropdown is open\n`readonly` | Set to a readonly element\n\nThe following custom CSS properties are available for styling:\n\nCustom property | Description | Default\n-----------------------------------------------------|----------------------------|--------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n`--vaadin-multi-select-combo-box-overlay-width` | Width of the overlay | `auto`\n`--vaadin-multi-select-combo-box-overlay-max-height` | Max height of the overlay | `65vh`\n`--vaadin-multi-select-combo-box-chip-min-width` | Min width of the chip | `50px`\n`--vaadin-multi-select-combo-box-input-min-width` | Min width of the input | `4em`\n\n### Internal components\n\nIn addition to `` itself, the following internal\ncomponents are themable:\n\n- `` - has the same API as ``.\n- `` - has the same API as ``.\n- `` - has the same API as ``.\n\nNote: the `theme` attribute value set on `` is\npropagated to these components.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
"extension": true,
"attributes": [
{
"name": "?disabled",
"description": "If true, the user cannot interact with this element.",
"value": {
"kind": "expression"
}
},
{
"name": "?autofocus",
"description": "Specify that this control should have input focus when the page loads.",
"value": {
"kind": "expression"
}
},
{
"name": "?invalid",
"description": "Set to true when the field is invalid.",
"value": {
"kind": "expression"
}
},
{
"name": "?required",
"description": "Specifies that the user must fill in a value.",
"value": {
"kind": "expression"
}
},
{
"name": "?clearButtonVisible",
"description": "Set to true to display the clear icon which clears the input.",
"value": {
"kind": "expression"
}
},
{
"name": "?autoselect",
"description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
"value": {
"kind": "expression"
}
},
{
"name": "?readonly",
"description": "When present, it specifies that the field is read-only.",
"value": {
"kind": "expression"
}
},
{
"name": "?autoExpandHorizontally",
"description": "Set to true to auto expand horizontally, causing input field to\ngrow until max width is reached.",
"value": {
"kind": "expression"
}
},
{
"name": "?autoExpandVertically",
"description": "Set to true to not collapse selected items chips into the overflow\nchip and instead always expand vertically, causing input field to\nwrap into multiple lines when width is limited.",
"value": {
"kind": "expression"
}
},
{
"name": "?autoOpenDisabled",
"description": "Set true to prevent the overlay from opening automatically.",
"value": {
"kind": "expression"
}
},
{
"name": "?keepFilter",
"description": "When true, filter string isn't cleared after selecting an item.",
"value": {
"kind": "expression"
}
},
{
"name": "?loading",
"description": "True when loading items from the data provider, false otherwise.",
"value": {
"kind": "expression"
}
},
{
"name": "?opened",
"description": "True if the dropdown is open, false otherwise.",
"value": {
"kind": "expression"
}
},
{
"name": "?allowCustomValue",
"description": "When true, the user can input a value that is not present in the items list.",
"value": {
"kind": "expression"
}
},
{
"name": "?selectedItemsOnTop",
"description": "Set to true to group selected items at the top of the overlay.",
"value": {
"kind": "expression"
}
},
{
"name": ".label",
"description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
"value": {
"kind": "expression"
}
},
{
"name": ".errorMessage",
"description": "Error to show when the field is invalid.",
"value": {
"kind": "expression"
}
},
{
"name": ".helperText",
"description": "String used for the helper text.",
"value": {
"kind": "expression"
}
},
{
"name": ".accessibleName",
"description": "String used to label the component to screen reader users.",
"value": {
"kind": "expression"
}
},
{
"name": ".accessibleNameRef",
"description": "Id of the element used as label of the component to screen reader users.",
"value": {
"kind": "expression"
}
},
{
"name": ".allowedCharPattern",
"description": "A pattern matched against individual characters the user inputs.\n\nWhen set, the field will prevent:\n- `keydown` events if the entered key doesn't match `/^allowedCharPattern$/`\n- `paste` events if the pasted text doesn't match `/^allowedCharPattern*$/`\n- `drop` events if the dropped text doesn't match `/^allowedCharPattern*$/`\n\nFor example, to allow entering only numbers and minus signs, use:\n`allowedCharPattern = \"[\\\\d-]\"`",
"value": {
"kind": "expression"
}
},
{
"name": ".name",
"description": "The name of this field.",
"value": {
"kind": "expression"
}
},
{
"name": ".placeholder",
"description": "A hint to the user of what can be entered in the control.\nThe placeholder will be only displayed in the case when\nthere is no item selected.",
"value": {
"kind": "expression"
}
},
{
"name": ".title",
"description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
"value": {
"kind": "expression"
}
},
{
"name": ".items",
"description": "A full set of items to filter the visible options from.\nThe items can be of either `String` or `Object` type.",
"value": {
"kind": "expression"
}
},
{
"name": ".itemLabelPath",
"description": "The item property used for a visual representation of the item.",
"value": {
"kind": "expression"
}
},
{
"name": ".itemValuePath",
"description": "Path for the value of the item. If `items` is an array of objects,\nthis property is used as a string value for the selected item.",
"value": {
"kind": "expression"
}
},
{
"name": ".itemIdPath",
"description": "Path for the id of the item, used to detect whether the item is selected.",
"value": {
"kind": "expression"
}
},
{
"name": ".i18n",
"description": "The object used to localize this component.\nTo change the default localization, replace the entire\n_i18n_ object or just the property you want to modify.\n\nThe object has the following JSON structure and default values:\n```\n{\n // Screen reader announcement on clear button click.\n cleared: 'Selection cleared',\n // Screen reader announcement when a chip is focused.\n focused: ' focused. Press Backspace to remove',\n // Screen reader announcement when item is selected.\n selected: 'added to selection',\n // Screen reader announcement when item is deselected.\n deselected: 'removed from selection',\n // Screen reader announcement of the selected items count.\n // {count} is replaced with the actual count of items.\n total: '{count} items selected',\n}\n```",
"value": {
"kind": "expression"
}
},
{
"name": ".overlayClass",
"description": "A space-delimited list of CSS class names to set on the overlay element.",
"value": {
"kind": "expression"
}
},
{
"name": ".selectedItems",
"description": "The list of selected items.\nNote: modifying the selected items creates a new array each time.",
"value": {
"kind": "expression"
}
},
{
"name": ".size",
"description": "Total number of items.",
"value": {
"kind": "expression"
}
},
{
"name": ".pageSize",
"description": "Number of items fetched at a time from the data provider.",
"value": {
"kind": "expression"
}
},
{
"name": ".dataProvider",
"description": "Function that provides items lazily. Receives two arguments:\n\n- `params` - Object with the following properties:\n - `params.page` Requested page index\n - `params.pageSize` Current page size\n - `params.filter` Currently applied filter\n\n- `callback(items, size)` - Callback function with arguments:\n - `items` Current page of items\n - `size` Total number of items.",
"value": {
"kind": "expression"
}
},
{
"name": ".renderer",
"description": "Custom function for rendering the content of every item.\nReceives three arguments:\n\n- `root` The `` internal container DOM element.\n- `comboBox` The reference to the `` element.\n- `model` The object with the properties related with the rendered\n item, contains:\n - `model.index` The index of the rendered item.\n - `model.item` The item.",
"value": {
"kind": "expression"
}
},
{
"name": ".filter",
"description": "Filtering string the user has typed into the input field.",
"value": {
"kind": "expression"
}
},
{
"name": ".filteredItems",
"description": "A subset of items, filtered based on the user input. Filtered items\ncan be assigned directly to omit the internal filtering functionality.\nThe items can be of either `String` or `Object` type.",
"value": {
"kind": "expression"
}
},
{
"name": "@validated",
"description": "Fired whenever the field is validated.",
"value": {
"kind": "expression"
}
},
{
"name": "@change",
"description": "Fired when the user commits a value change.",
"value": {
"kind": "expression"
}
},
{
"name": "@input",
"description": "Fired when the value is changed by the user: on every typing keystroke,\nand the value is cleared using the clear button.",
"value": {
"kind": "expression"
}
},
{
"name": "@custom-value-set",
"description": "Fired when the user sets a custom value.",
"value": {
"kind": "expression"
}
},
{
"name": "@selected-items-changed",
"description": "Fired when the `selectedItems` property changes.",
"value": {
"kind": "expression"
}
},
{
"name": "@opened-changed",
"description": "Fired when the `opened` property changes.",
"value": {
"kind": "expression"
}
},
{
"name": "@filter-changed",
"description": "Fired when the `filter` property changes.",
"value": {
"kind": "expression"
}
},
{
"name": "@invalid-changed",
"description": "Fired when the `invalid` property changes.",
"value": {
"kind": "expression"
}
}
]
}
]
}
}
}