All Downloads are FREE. Search and download functionalities are using the official Maven repository.

multi-select-combo-boxpackage.web-types.json Maven / Gradle / Ivy

The newest version!
{
  "$schema": "https://json.schemastore.org/web-types",
  "name": "@vaadin/multi-select-combo-box",
  "version": "24.5.3",
  "description-markup": "markdown",
  "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.",
          "attributes": [
            {
              "name": "disabled",
              "description": "If true, the user cannot interact with this element.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "autofocus",
              "description": "Specify that this control should have input focus when the page loads.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "label",
              "description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "invalid",
              "description": "Set to true when the field is invalid.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "required",
              "description": "Specifies that the user must fill in a value.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "error-message",
              "description": "Error to show when the field is invalid.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "helper-text",
              "description": "String used for the helper text.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "accessible-name",
              "description": "String used to label the component to screen reader users.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "accessible-name-ref",
              "description": "Id of the element used as label of the component to screen reader users.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "value",
              "description": "The value of the field.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "clear-button-visible",
              "description": "Set to true to display the clear icon which clears the input.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "allowed-char-pattern",
              "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": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "autoselect",
              "description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "name",
              "description": "The name of this field.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "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": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "readonly",
              "description": "When present, it specifies that the field is read-only.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "title",
              "description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "auto-expand-horizontally",
              "description": "Set to true to auto expand horizontally, causing input field to\ngrow until max width is reached.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "auto-expand-vertically",
              "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": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "auto-open-disabled",
              "description": "Set true to prevent the overlay from opening automatically.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "item-label-path",
              "description": "The item property used for a visual representation of the item.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "item-value-path",
              "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": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "item-id-path",
              "description": "Path for the id of the item, used to detect whether the item is selected.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "keep-filter",
              "description": "When true, filter string isn't cleared after selecting an item.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "loading",
              "description": "True when loading items from the data provider, false otherwise.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "overlay-class",
              "description": "A space-delimited list of CSS class names to set on the overlay element.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "opened",
              "description": "True if the dropdown is open, false otherwise.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "size",
              "description": "Total number of items.",
              "value": {
                "type": [
                  "number",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "page-size",
              "description": "Number of items fetched at a time from the data provider.",
              "value": {
                "type": [
                  "number",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "allow-custom-value",
              "description": "When true, the user can input a value that is not present in the items list.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "filter",
              "description": "Filtering string the user has typed into the input field.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "selected-items-on-top",
              "description": "Set to true to group selected items at the top of the overlay.",
              "value": {
                "type": [
                  "boolean",
                  "null",
                  "undefined"
                ]
              }
            },
            {
              "name": "theme",
              "description": "The theme variants to apply to the component.",
              "value": {
                "type": [
                  "string",
                  "null",
                  "undefined"
                ]
              }
            }
          ],
          "js": {
            "properties": [
              {
                "name": "disabled",
                "description": "If true, the user cannot interact with this element.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "autofocus",
                "description": "Specify that this control should have input focus when the page loads.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "label",
                "description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "invalid",
                "description": "Set to true when the field is invalid.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "required",
                "description": "Specifies that the user must fill in a value.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "errorMessage",
                "description": "Error to show when the field is invalid.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "helperText",
                "description": "String used for the helper text.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "accessibleName",
                "description": "String used to label the component to screen reader users.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "accessibleNameRef",
                "description": "Id of the element used as label of the component to screen reader users.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "clearButtonVisible",
                "description": "Set to true to display the clear icon which clears the input.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "autoselect",
                "description": "If true, the input text gets fully selected when the field is focused using click or touch / tap.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "name",
                "description": "The name of this field.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "readonly",
                "description": "When present, it specifies that the field is read-only.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "title",
                "description": "The text usually displayed in a tooltip popup when the mouse is over the field.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "autoExpandHorizontally",
                "description": "Set to true to auto expand horizontally, causing input field to\ngrow until max width is reached.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "autoOpenDisabled",
                "description": "Set true to prevent the overlay from opening automatically.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "Array",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "itemClassNameGenerator",
                "description": "A function used to generate CSS class names for dropdown\nitems and selected chips based on the item. The return\nvalue should be the generated class name as a string, or\nmultiple class names separated by whitespace characters.",
                "value": {
                  "type": [
                    "Object",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "itemLabelPath",
                "description": "The item property used for a visual representation of the item.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "itemIdPath",
                "description": "Path for the id of the item, used to detect whether the item is selected.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "MultiSelectComboBoxI18n"
                  ]
                }
              },
              {
                "name": "keepFilter",
                "description": "When true, filter string isn't cleared after selecting an item.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "loading",
                "description": "True when loading items from the data provider, false otherwise.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "overlayClass",
                "description": "A space-delimited list of CSS class names to set on the overlay element.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "selectedItems",
                "description": "The list of selected items.\nNote: modifying the selected items creates a new array each time.",
                "value": {
                  "type": [
                    "Array",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "opened",
                "description": "True if the dropdown is open, false otherwise.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "size",
                "description": "Total number of items.",
                "value": {
                  "type": [
                    "number",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "pageSize",
                "description": "Number of items fetched at a time from the data provider.",
                "value": {
                  "type": [
                    "number",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "Object",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "allowCustomValue",
                "description": "When true, the user can input a value that is not present in the items list.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "Function",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "filter",
                "description": "Filtering string the user has typed into the input field.",
                "value": {
                  "type": [
                    "string",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "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": {
                  "type": [
                    "Array",
                    "null",
                    "undefined"
                  ]
                }
              },
              {
                "name": "selectedItemsOnTop",
                "description": "Set to true to group selected items at the top of the overlay.",
                "value": {
                  "type": [
                    "boolean",
                    "null",
                    "undefined"
                  ]
                }
              }
            ],
            "events": [
              {
                "name": "validated",
                "description": "Fired whenever the field is validated."
              },
              {
                "name": "change",
                "description": "Fired when the user commits a value change."
              },
              {
                "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."
              },
              {
                "name": "custom-value-set",
                "description": "Fired when the user sets a custom value."
              },
              {
                "name": "selected-items-changed",
                "description": "Fired when the `selectedItems` property changes."
              },
              {
                "name": "opened-changed",
                "description": "Fired when the `opened` property changes."
              },
              {
                "name": "filter-changed",
                "description": "Fired when the `filter` property changes."
              },
              {
                "name": "invalid-changed",
                "description": "Fired when the `invalid` property changes."
              }
            ]
          }
        }
      ]
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy