diff --git a/COMPONENT_INDEX.md b/COMPONENT_INDEX.md index 60816426..3600d371 100644 --- a/COMPONENT_INDEX.md +++ b/COMPONENT_INDEX.md @@ -453,7 +453,7 @@ None. | :------------ | :------- | :--------------- | :------- | ----------------------------------------- | ------------------------------------------------ | ------------------------------------------------- | | ref | No | let | Yes | null | HTMLInputElement | null | Obtain a reference to the input HTML element | | title | No | let | Yes | string | undefined | Specify the title attribute for the label element | -| group | No | let | Yes | any[] | undefined | Specify the bound group | +| group | No | let | Yes | ReadonlyArray | undefined | Specify the bound group | | checked | No | let | Yes | boolean | false | Specify whether the checkbox is checked | | value | No | let | No | any | "" | Specify the value of the checkbox | | indeterminate | No | let | No | boolean | false | Specify whether the checkbox is indeterminate | @@ -659,7 +659,7 @@ export interface ComboBoxItem { | open | No | let | Yes | boolean | false | Set to `true` to open the combobox menu dropdown | | value | No | let | Yes | string | "" | Specify the selected combobox value | | selectedId | No | let | Yes | ComboBoxItemId | undefined | Set the selected item by value id | -| items | No | let | No | ComboBoxItem[] | [] | Set the combobox items | +| items | No | let | No | ReadonlyArray | [] | Set the combobox items | | itemToString | No | let | No | (item: ComboBoxItem) => string | (item) => item.text || item.id | Override the display of a combobox item | | direction | No | let | No | "bottom" | "top" | "bottom" | Specify the direction of the combobox dropdown menu | | size | No | let | No | "sm" | "xl" | undefined | Set the size of the combobox | @@ -780,13 +780,13 @@ None. ### Props -| Prop name | Required | Kind | Reactive | Type | Default value | Description | -| :-------- | :------- | :--------------- | :------- | --------------------------------------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | -| ref | No | let | Yes | null | HTMLUListElement | null | Obtain a reference to the unordered list HTML element | -| y | No | let | Yes | number | 0 | Specify the vertical offset of the menu position | -| x | No | let | Yes | number | 0 | Specify the horizontal offset of the menu position | -| open | No | let | Yes | boolean | false | Set to `true` to open the menu
Either `x` and `y` must be greater than zero | -| target | No | let | No | null | HTMLElement | HTMLElement[] | null | Specify an element or list of elements to trigger the context menu.
If no element is specified, the context menu applies to the entire window | +| Prop name | Required | Kind | Reactive | Type | Default value | Description | +| :-------- | :------- | :--------------- | :------- | --------------------------------------------------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| ref | No | let | Yes | null | HTMLUListElement | null | Obtain a reference to the unordered list HTML element | +| y | No | let | Yes | number | 0 | Specify the vertical offset of the menu position | +| x | No | let | Yes | number | 0 | Specify the horizontal offset of the menu position | +| open | No | let | Yes | boolean | false | Set to `true` to open the menu
Either `x` and `y` must be greater than zero | +| target | No | let | No | null | ReadonlyArray | null | Specify an element or list of elements to trigger the context menu.
If no element is specified, the context menu applies to the entire window | ### Slots @@ -821,10 +821,10 @@ None. ### Props -| Prop name | Required | Kind | Reactive | Type | Default value | Description | -| :---------- | :------- | :--------------- | :------- | --------------------- | --------------- | ---------------------- | -| selectedIds | No | let | Yes | string[] | [] | -- | -| labelText | No | let | No | string | "" | Specify the label text | +| Prop name | Required | Kind | Reactive | Type | Default value | Description | +| :---------- | :------- | :--------------- | :------- | ---------------------------------- | --------------- | ---------------------- | +| selectedIds | No | let | Yes | ReadonlyArray | [] | -- | +| labelText | No | let | No | string | "" | Specify the label text | ### Slots @@ -963,22 +963,22 @@ export interface DataTableCell { | Prop name | Required | Kind | Reactive | Type | Default value | Description | | :------------------ | :------- | :--------------- | :------- | ------------------------------------------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------- | -| selectedRowIds | No | let | Yes | DataTableRowId[] | [] | Specify the row ids to be selected | +| selectedRowIds | No | let | Yes | ReadonlyArray | [] | Specify the row ids to be selected | | selectable | No | let | Yes | boolean | false | Set to `true` for the selectable variant
Automatically set to `true` if `radio` or `batchSelection` are `true` | -| expandedRowIds | No | let | Yes | DataTableRowId[] | [] | Specify the row ids to be expanded | +| expandedRowIds | No | let | Yes | ReadonlyArray | [] | Specify the row ids to be expanded | | expandable | No | let | Yes | boolean | false | Set to `true` for the expandable variant
Automatically set to `true` if `batchExpansion` is `true` | -| headers | No | let | No | DataTableHeader[] | [] | Specify the data table headers | -| rows | No | let | No | DataTableRow[] | [] | Specify the rows the data table should render
keys defined in `headers` are used for the row ids | +| headers | No | let | No | ReadonlyArray | [] | Specify the data table headers | +| rows | No | let | No | ReadonlyArray | [] | Specify the rows the data table should render
keys defined in `headers` are used for the row ids | | size | No | let | No | "compact" | "short" | "medium" | "tall" | undefined | Set the size of the data table | | title | No | let | No | string | "" | Specify the title of the data table | | description | No | let | No | string | "" | Specify the description of the data table | | zebra | No | let | No | boolean | false | Set to `true` to use zebra styles | | sortable | No | let | No | boolean | false | Set to `true` for the sortable variant | | batchExpansion | No | let | No | boolean | false | Set to `true` to enable batch expansion | -| nonExpandableRowIds | No | let | No | DataTableRowId[] | [] | Specify the ids for rows that should not be expandable | +| nonExpandableRowIds | No | let | No | ReadonlyArray | [] | Specify the ids for rows that should not be expandable | | radio | No | let | No | boolean | false | Set to `true` for the radio selection variant | | batchSelection | No | let | No | boolean | false | Set to `true` to enable batch selection | -| nonSelectableRowIds | No | let | No | DataTableRowId[] | [] | Specify the ids of rows that should not be selectable | +| nonSelectableRowIds | No | let | No | ReadonlyArray | [] | Specify the ids of rows that should not be selectable | | stickyHeader | No | let | No | boolean | false | Set to `true` to enable a sticky header | | useStaticWidth | No | let | No | boolean | false | Set to `true` to use static width | | pageSize | No | let | No | number | 0 | Specify the number of items to display in a page | @@ -1012,15 +1012,15 @@ export interface DataTableCell { ### Props -| Prop name | Required | Kind | Reactive | Type | Default value | Description | -| :---------- | :------- | :--------------- | :------- | ------------------------------------------------------- | ---------------------- | -------------------------------------------------------------------------------------------- | -| columns | No | let | No | number | 5 | Specify the number of columns
Superseded by `headers` if `headers` is a non-empty array | -| rows | No | let | No | number | 5 | Specify the number of rows | -| size | No | let | No | "compact" | "short" | "tall" | undefined | Set the size of the data table | -| zebra | No | let | No | boolean | false | Set to `true` to apply zebra styles to the datatable rows | -| showHeader | No | let | No | boolean | true | Set to `false` to hide the header | -| headers | No | let | No | string[] | Partial[] | [] | Set the column headers
Supersedes `columns` if value is a non-empty array | -| showToolbar | No | let | No | boolean | true | Set to `false` to hide the toolbar | +| Prop name | Required | Kind | Reactive | Type | Default value | Description | +| :---------- | :------- | :--------------- | :------- | ------------------------------------------------------------------ | ---------------------- | -------------------------------------------------------------------------------------------- | +| columns | No | let | No | number | 5 | Specify the number of columns
Superseded by `headers` if `headers` is a non-empty array | +| rows | No | let | No | number | 5 | Specify the number of rows | +| size | No | let | No | "compact" | "short" | "tall" | undefined | Set the size of the data table | +| zebra | No | let | No | boolean | false | Set to `true` to apply zebra styles to the datatable rows | +| showHeader | No | let | No | boolean | true | Set to `false` to hide the header | +| headers | No | let | No | ReadonlyArray> | [] | Set the column headers
Supersedes `columns` if value is a non-empty array | +| showToolbar | No | let | No | boolean | true | Set to `false` to hide the toolbar | ### Slots @@ -1154,7 +1154,7 @@ export interface DropdownItem { | ref | No | let | Yes | null | HTMLButtonElement | null | Obtain a reference to the button HTML element | | open | No | let | Yes | boolean | false | Set to `true` to open the dropdown | | selectedId | Yes | let | Yes | DropdownItemId | undefined | Specify the selected item id | -| items | No | let | No | DropdownItem[] | [] | Set the dropdown items | +| items | No | let | No | ReadonlyArray | [] | Set the dropdown items | | itemToString | No | let | No | (item: DropdownItem) => string | (item) => item.text || item.id | Override the display of a dropdown item | | type | No | let | No | "default" | "inline" | "default" | Specify the type of dropdown | | direction | No | let | No | "bottom" | "top" | "bottom" | Specify the direction of the dropdown menu | @@ -1247,10 +1247,10 @@ None. | Prop name | Required | Kind | Reactive | Type | Default value | Description | | :--------------- | :------- | :----------------- | :------- | ------------------------------------------------------------------------------------------ | --------------------------------------- | ----------------------------------------------------------- | -| files | No | let | Yes | File[] | [] | Obtain a reference to the uploaded files | +| files | No | let | Yes | ReadonlyArray | [] | Obtain a reference to the uploaded files | | status | No | let | No | "uploading" | "edit" | "complete" | "uploading" | Specify the file uploader status | | disabled | No | let | No | boolean | false | Set to `true` to disable the file uploader | -| accept | No | let | No | string[] | [] | Specify the accepted file types | +| accept | No | let | No | ReadonlyArray | [] | Specify the accepted file types | | multiple | No | let | No | boolean | false | Set to `true` to allow multiple files | | clearFiles | No | const | No | () => void | () => { files = []; } | Programmatically clear the uploaded files | | labelDescription | No | let | No | string | "" | Specify the label description | @@ -1266,16 +1266,16 @@ None. ### Events -| Event name | Type | Detail | -| :--------- | :--------- | :------------------ | -| add | dispatched | File[] | -| remove | dispatched | File[] | -| change | dispatched | File[] | -| click | forwarded | -- | -| mouseover | forwarded | -- | -| mouseenter | forwarded | -- | -| mouseleave | forwarded | -- | -| keydown | forwarded | -- | +| Event name | Type | Detail | +| :--------- | :--------- | :------------------------------- | +| add | dispatched | ReadonlyArray | +| remove | dispatched | ReadonlyArray | +| change | dispatched | ReadonlyArray | +| click | forwarded | -- | +| mouseover | forwarded | -- | +| mouseenter | forwarded | -- | +| mouseleave | forwarded | -- | +| keydown | forwarded | -- | ## `FileUploaderButton` @@ -1285,8 +1285,8 @@ None. | :------------------ | :------- | :--------------- | :------- | ------------------------------------------------------------------------------------------ | ------------------------------------------------ | -------------------------------------------- | | ref | No | let | Yes | null | HTMLInputElement | null | Obtain a reference to the input HTML element | | labelText | No | let | Yes | string | "Add file" | Specify the label text | -| files | No | let | Yes | File[] | [] | Obtain a reference to the uploaded files | -| accept | No | let | No | string[] | [] | Specify the accepted file types | +| files | No | let | Yes | ReadonlyArray | [] | Obtain a reference to the uploaded files | +| accept | No | let | No | ReadonlyArray | [] | Specify the accepted file types | | multiple | No | let | No | boolean | false | Set to `true` to allow multiple files | | disabled | No | let | No | boolean | false | Set to `true` to disable the input | | disableLabelChanges | No | let | No | boolean | false | Set to `true` to disable label changes | @@ -1304,29 +1304,29 @@ None. ### Events -| Event name | Type | Detail | -| :--------- | :--------- | :------------------ | -| change | dispatched | File[] | -| keydown | forwarded | -- | -| click | forwarded | -- | +| Event name | Type | Detail | +| :--------- | :--------- | :------------------------------- | +| change | dispatched | ReadonlyArray | +| keydown | forwarded | -- | +| click | forwarded | -- | ## `FileUploaderDropContainer` ### Props -| Prop name | Required | Kind | Reactive | Type | Default value | Description | -| :------------ | :------- | :--------------- | :------- | ----------------------------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| ref | No | let | Yes | null | HTMLInputElement | null | Obtain a reference to the input HTML element | -| files | No | let | Yes | File[] | [] | Obtain a reference to the uploaded files | -| accept | No | let | No | string[] | [] | Specify the accepted file types | -| multiple | No | let | No | boolean | false | Set to `true` to allow multiple files | -| validateFiles | No | let | No | (files: File[]) => File[] | (files) => files | Override the default behavior of validating uploaded files
The default behavior does not validate files | -| labelText | No | let | No | string | "Add file" | Specify the label text | -| role | No | let | No | string | "button" | Specify the `role` attribute of the drop container | -| disabled | No | let | No | boolean | false | Set to `true` to disable the input | -| tabindex | No | let | No | string | "0" | Specify `tabindex` attribute | -| id | No | let | No | string | "ccs-" + Math.random().toString(36) | Set an id for the input element | -| name | No | let | No | string | "" | Specify a name attribute for the input | +| Prop name | Required | Kind | Reactive | Type | Default value | Description | +| :------------ | :------- | :--------------- | :------- | ---------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | +| ref | No | let | Yes | null | HTMLInputElement | null | Obtain a reference to the input HTML element | +| files | No | let | Yes | ReadonlyArray | [] | Obtain a reference to the uploaded files | +| accept | No | let | No | ReadonlyArray | [] | Specify the accepted file types | +| multiple | No | let | No | boolean | false | Set to `true` to allow multiple files | +| validateFiles | No | let | No | (files: ReadonlyArray) => ReadonlyArray | (files) => files | Override the default behavior of validating uploaded files.
By default, files are not validated | +| labelText | No | let | No | string | "Add file" | Specify the label text | +| role | No | let | No | string | "button" | Specify the `role` attribute of the drop container | +| disabled | No | let | No | boolean | false | Set to `true` to disable the input | +| tabindex | No | let | No | string | "0" | Specify `tabindex` attribute | +| id | No | let | No | string | "ccs-" + Math.random().toString(36) | Set an id for the input element | +| name | No | let | No | string | "" | Specify a name attribute for the input | ### Slots @@ -1336,15 +1336,15 @@ None. ### Events -| Event name | Type | Detail | -| :--------- | :--------- | :------------------ | -| add | dispatched | File[] | -| change | dispatched | File[] | -| dragover | forwarded | -- | -| dragleave | forwarded | -- | -| drop | forwarded | -- | -| keydown | forwarded | -- | -| click | forwarded | -- | +| Event name | Type | Detail | +| :--------- | :--------- | :------------------------------- | +| add | dispatched | ReadonlyArray | +| change | dispatched | ReadonlyArray | +| dragover | forwarded | -- | +| dragleave | forwarded | -- | +| drop | forwarded | -- | +| keydown | forwarded | -- | +| click | forwarded | -- | ## `FileUploaderItem` @@ -1805,13 +1805,13 @@ export interface HeaderSearchResult { ### Props -| Prop name | Required | Kind | Reactive | Type | Default value | Description | -| :------------------ | :------- | :--------------- | :------- | ----------------------------------------- | ------------------ | -------------------------------------------------- | -| selectedResultIndex | No | let | Yes | number | 0 | Specify the selected result index | -| ref | No | let | Yes | null | HTMLInputElement | null | Obtain a reference to the input HTML element | -| active | No | let | Yes | boolean | false | Set to `true` to activate and focus the search bar | -| value | No | let | Yes | string | "" | Specify the search input value | -| results | No | let | No | HeaderSearchResult[] | [] | Render a list of search results | +| Prop name | Required | Kind | Reactive | Type | Default value | Description | +| :------------------ | :------- | :--------------- | :------- | ---------------------------------------------- | ------------------ | -------------------------------------------------- | +| selectedResultIndex | No | let | Yes | number | 0 | Specify the selected result index | +| ref | No | let | Yes | null | HTMLInputElement | null | Obtain a reference to the input HTML element | +| active | No | let | Yes | boolean | false | Set to `true` to activate and focus the search bar | +| value | No | let | Yes | string | "" | Specify the search input value | +| results | No | let | No | ReadonlyArray | [] | Render a list of search results | ### Slots @@ -2348,8 +2348,8 @@ export interface MultiSelectItem { | inputRef | No | let | Yes | null | HTMLInputElement | null | Obtain a reference to the input HTML element | | open | No | let | Yes | boolean | false | Set to `true` to open the dropdown | | value | No | let | Yes | string | "" | Specify the multiselect value | -| selectedIds | No | let | Yes | MultiSelectItemId[] | [] | Set the selected ids | -| items | No | let | Yes | MultiSelectItem[] | [] | Set the multiselect items | +| selectedIds | No | let | Yes | ReadonlyArray | [] | Set the selected ids | +| items | No | let | Yes | ReadonlyArray | [] | Set the multiselect items | | itemToString | No | let | No | (item: MultiSelectItem) => any | (item) => item.text || item.id | Override the display of a multiselect item | | itemToInput | No | let | No | (item: MultiSelectItem) => { name?: string; labelText?: any; title?: string; } | (item) => {} | Override the item name, title, labelText passed to the checkbox input | | size | No | let | No | "sm" | "lg" | "xl" | undefined | Set the size of the combobox | @@ -2664,7 +2664,7 @@ None. | itemRangeText | No | let | No | (min: number, max: number, total: number) => string | (min, max, total) => \`${min}–${max} of ${total} items\` | Override the item range text | | pageInputDisabled | No | let | No | boolean | false | Set to `true` to disable the page input | | pageSizeInputDisabled | No | let | No | boolean | false | Set to `true` to disable the page size input | -| pageSizes | No | let | No | number[] | [10] | Specify the available page sizes | +| pageSizes | No | let | No | ReadonlyArray | [10] | Specify the available page sizes | | pagesUnknown | No | let | No | boolean | false | Set to `true` if the number of pages is unknown | | pageText | No | let | No | (page: number) => string | (page) => \`page ${page}\` | Override the page text | | pageRangeText | No | let | No | (current: number, total: number) => string | (current, total) => \`of ${total} page${total === 1 ? "" : "s"}\` | Override the page range text | @@ -4648,8 +4648,8 @@ export interface TreeNode { | Prop name | Required | Kind | Reactive | Type | Default value | Description | | :------------ | :------- | :-------------------- | :------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | -| expandedIds | No | let | Yes | TreeNodeId[] | [] | Set the node ids to be expanded | -| selectedIds | No | let | Yes | TreeNodeId[] | [] | Set the node ids to be selected | +| expandedIds | No | let | Yes | ReadonlyArray | [] | Set the node ids to be expanded | +| selectedIds | No | let | Yes | ReadonlyArray | [] | Set the node ids to be selected | | activeId | No | let | Yes | TreeNodeId | "" | Set the current active node id
Only one node can be active | | children | No | let | No | Array | [] | Provide an array of children nodes to render | | size | No | let | No | "default" | "compact" | "default" | Specify the TreeView size | diff --git a/docs/src/COMPONENT_API.json b/docs/src/COMPONENT_API.json index dfc29c4c..562853ce 100644 --- a/docs/src/COMPONENT_API.json +++ b/docs/src/COMPONENT_API.json @@ -754,7 +754,7 @@ "name": "group", "kind": "let", "description": "Specify the bound group", - "type": "any[]", + "type": "ReadonlyArray", "isFunction": false, "isFunctionDeclaration": false, "isRequired": false, @@ -1460,7 +1460,7 @@ "name": "items", "kind": "let", "description": "Set the combobox items", - "type": "ComboBoxItem[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -1961,7 +1961,7 @@ "name": "target", "kind": "let", "description": "Specify an element or list of elements to trigger the context menu.\nIf no element is specified, the context menu applies to the entire window", - "type": "null | HTMLElement | HTMLElement[]", + "type": "null | ReadonlyArray", "value": "null", "isFunction": false, "isFunctionDeclaration": false, @@ -2045,7 +2045,7 @@ { "name": "selectedIds", "kind": "let", - "type": "string[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -2342,7 +2342,7 @@ "name": "headers", "kind": "let", "description": "Specify the data table headers", - "type": "DataTableHeader[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -2354,7 +2354,7 @@ "name": "rows", "kind": "let", "description": "Specify the rows the data table should render\nkeys defined in `headers` are used for the row ids", - "type": "DataTableRow[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -2449,7 +2449,7 @@ "name": "expandedRowIds", "kind": "let", "description": "Specify the row ids to be expanded", - "type": "DataTableRowId[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -2461,7 +2461,7 @@ "name": "nonExpandableRowIds", "kind": "let", "description": "Specify the ids for rows that should not be expandable", - "type": "DataTableRowId[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -2509,7 +2509,7 @@ "name": "selectedRowIds", "kind": "let", "description": "Specify the row ids to be selected", - "type": "DataTableRowId[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -2521,7 +2521,7 @@ "name": "nonSelectableRowIds", "kind": "let", "description": "Specify the ids of rows that should not be selectable", - "type": "DataTableRowId[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -2760,7 +2760,7 @@ "name": "headers", "kind": "let", "description": "Set the column headers\nSupersedes `columns` if value is a non-empty array", - "type": "string[] | Partial[]", + "type": "ReadonlyArray>", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -3223,7 +3223,7 @@ "name": "items", "kind": "let", "description": "Set the dropdown items", - "type": "DropdownItem[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -3714,7 +3714,7 @@ "name": "accept", "kind": "let", "description": "Specify the accepted file types", - "type": "string[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -3726,7 +3726,7 @@ "name": "files", "kind": "let", "description": "Obtain a reference to the uploaded files", - "type": "File[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -3834,9 +3834,21 @@ "moduleExports": [], "slots": [], "events": [ - { "type": "dispatched", "name": "add", "detail": "File[]" }, - { "type": "dispatched", "name": "remove", "detail": "File[]" }, - { "type": "dispatched", "name": "change", "detail": "File[]" }, + { + "type": "dispatched", + "name": "add", + "detail": "ReadonlyArray" + }, + { + "type": "dispatched", + "name": "remove", + "detail": "ReadonlyArray" + }, + { + "type": "dispatched", + "name": "change", + "detail": "ReadonlyArray" + }, { "type": "forwarded", "name": "click", "element": "div" }, { "type": "forwarded", "name": "mouseover", "element": "div" }, { "type": "forwarded", "name": "mouseenter", "element": "div" }, @@ -3854,7 +3866,7 @@ "name": "accept", "kind": "let", "description": "Specify the accepted file types", - "type": "string[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -3866,7 +3878,7 @@ "name": "files", "kind": "let", "description": "Obtain a reference to the uploaded files", - "type": "File[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -4005,7 +4017,11 @@ } ], "events": [ - { "type": "dispatched", "name": "change", "detail": "File[]" }, + { + "type": "dispatched", + "name": "change", + "detail": "ReadonlyArray" + }, { "type": "forwarded", "name": "keydown", "element": "label" }, { "type": "forwarded", "name": "click", "element": "input" } ], @@ -4020,7 +4036,7 @@ "name": "accept", "kind": "let", "description": "Specify the accepted file types", - "type": "string[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -4032,7 +4048,7 @@ "name": "files", "kind": "let", "description": "Obtain a reference to the uploaded files", - "type": "File[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -4055,8 +4071,8 @@ { "name": "validateFiles", "kind": "let", - "description": "Override the default behavior of validating uploaded files\nThe default behavior does not validate files", - "type": "(files: File[]) => File[]", + "description": "Override the default behavior of validating uploaded files.\nBy default, files are not validated", + "type": "(files: ReadonlyArray) => ReadonlyArray", "value": "(files) => files", "isFunction": true, "isFunctionDeclaration": false, @@ -4159,8 +4175,16 @@ } ], "events": [ - { "type": "dispatched", "name": "add", "detail": "File[]" }, - { "type": "dispatched", "name": "change", "detail": "File[]" }, + { + "type": "dispatched", + "name": "add", + "detail": "ReadonlyArray" + }, + { + "type": "dispatched", + "name": "change", + "detail": "ReadonlyArray" + }, { "type": "forwarded", "name": "dragover", "element": "div" }, { "type": "forwarded", "name": "dragleave", "element": "div" }, { "type": "forwarded", "name": "drop", "element": "div" }, @@ -5245,7 +5269,7 @@ "name": "results", "kind": "let", "description": "Render a list of search results", - "type": "HeaderSearchResult[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -6861,7 +6885,7 @@ "name": "items", "kind": "let", "description": "Set the multiselect items", - "type": "MultiSelectItem[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -6897,7 +6921,7 @@ "name": "selectedIds", "kind": "let", "description": "Set the selected ids", - "type": "MultiSelectItemId[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -8283,7 +8307,7 @@ "name": "pageSizes", "kind": "let", "description": "Specify the available page sizes", - "type": "number[]", + "type": "ReadonlyArray", "value": "[10]", "isFunction": false, "isFunctionDeclaration": false, @@ -14210,7 +14234,7 @@ "name": "selectedIds", "kind": "let", "description": "Set the node ids to be selected", - "type": "TreeNodeId[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, @@ -14222,7 +14246,7 @@ "name": "expandedIds", "kind": "let", "description": "Set the node ids to be expanded", - "type": "TreeNodeId[]", + "type": "ReadonlyArray", "value": "[]", "isFunction": false, "isFunctionDeclaration": false, diff --git a/src/Checkbox/Checkbox.svelte b/src/Checkbox/Checkbox.svelte index 1c7a2789..a98efe29 100644 --- a/src/Checkbox/Checkbox.svelte +++ b/src/Checkbox/Checkbox.svelte @@ -14,7 +14,7 @@ /** * Specify the bound group - * @type {any[]} + * @type {ReadonlyArray} */ export let group = undefined; diff --git a/src/ComboBox/ComboBox.svelte b/src/ComboBox/ComboBox.svelte index b1100b25..76e59a44 100644 --- a/src/ComboBox/ComboBox.svelte +++ b/src/ComboBox/ComboBox.svelte @@ -8,7 +8,7 @@ /** * Set the combobox items - * @type {ComboBoxItem[]} + * @type {ReadonlyArray} */ export let items = []; diff --git a/src/ContextMenu/ContextMenu.svelte b/src/ContextMenu/ContextMenu.svelte index c1490844..68adc47a 100644 --- a/src/ContextMenu/ContextMenu.svelte +++ b/src/ContextMenu/ContextMenu.svelte @@ -6,7 +6,7 @@ /** * Specify an element or list of elements to trigger the context menu. * If no element is specified, the context menu applies to the entire window - * @type {null | HTMLElement | HTMLElement[]} + * @type {null | ReadonlyArray} */ export let target = null; diff --git a/src/ContextMenu/ContextMenuGroup.svelte b/src/ContextMenu/ContextMenuGroup.svelte index 2ae256c7..c38d683a 100644 --- a/src/ContextMenu/ContextMenuGroup.svelte +++ b/src/ContextMenu/ContextMenuGroup.svelte @@ -1,5 +1,5 @@ - +
+ + - + diff --git a/tests/Dropdown.test.svelte b/tests/Dropdown.test.svelte index 4c420fcf..b0ad3251 100644 --- a/tests/Dropdown.test.svelte +++ b/tests/Dropdown.test.svelte @@ -1,16 +1,41 @@ @@ -27,6 +34,7 @@ labelDescription="Only JPEG files are accepted." accept="{['.jpg', '.jpeg']}" status="complete" + bind:files on:add="{(e) => { console.log(e.detail); // File[] }}" diff --git a/tests/MultiSelect.test.svelte b/tests/MultiSelect.test.svelte index 720f2a7c..48c9f37e 100644 --- a/tests/MultiSelect.test.svelte +++ b/tests/MultiSelect.test.svelte @@ -1,5 +1,13 @@ ; /** * Obtain a reference to the uploaded files * @default [] */ - files?: File[]; + files?: ReadonlyArray; /** * Set to `true` to allow multiple files @@ -79,7 +79,7 @@ export interface FileUploaderButtonProps export default class FileUploaderButton extends SvelteComponentTyped< FileUploaderButtonProps, { - change: CustomEvent; + change: CustomEvent>; keydown: WindowEventMap["keydown"]; click: WindowEventMap["click"]; }, diff --git a/types/FileUploader/FileUploaderDropContainer.svelte.d.ts b/types/FileUploader/FileUploaderDropContainer.svelte.d.ts index 382003cb..e891a735 100644 --- a/types/FileUploader/FileUploaderDropContainer.svelte.d.ts +++ b/types/FileUploader/FileUploaderDropContainer.svelte.d.ts @@ -7,13 +7,13 @@ export interface FileUploaderDropContainerProps * Specify the accepted file types * @default [] */ - accept?: string[]; + accept?: ReadonlyArray; /** * Obtain a reference to the uploaded files * @default [] */ - files?: File[]; + files?: ReadonlyArray; /** * Set to `true` to allow multiple files @@ -22,11 +22,11 @@ export interface FileUploaderDropContainerProps multiple?: boolean; /** - * Override the default behavior of validating uploaded files - * The default behavior does not validate files + * Override the default behavior of validating uploaded files. + * By default, files are not validated * @default (files) => files */ - validateFiles?: (files: File[]) => File[]; + validateFiles?: (files: ReadonlyArray) => ReadonlyArray; /** * Specify the label text @@ -74,8 +74,8 @@ export interface FileUploaderDropContainerProps export default class FileUploaderDropContainer extends SvelteComponentTyped< FileUploaderDropContainerProps, { - add: CustomEvent; - change: CustomEvent; + add: CustomEvent>; + change: CustomEvent>; dragover: WindowEventMap["dragover"]; dragleave: WindowEventMap["dragleave"]; drop: WindowEventMap["drop"]; diff --git a/types/MultiSelect/MultiSelect.svelte.d.ts b/types/MultiSelect/MultiSelect.svelte.d.ts index b761a1ec..0673a24f 100644 --- a/types/MultiSelect/MultiSelect.svelte.d.ts +++ b/types/MultiSelect/MultiSelect.svelte.d.ts @@ -17,7 +17,7 @@ export interface MultiSelectProps * Set the multiselect items * @default [] */ - items?: MultiSelectItem[]; + items?: ReadonlyArray; /** * Override the display of a multiselect item @@ -39,7 +39,7 @@ export interface MultiSelectProps * Set the selected ids * @default [] */ - selectedIds?: MultiSelectItemId[]; + selectedIds?: ReadonlyArray; /** * Specify the multiselect value diff --git a/types/Pagination/Pagination.svelte.d.ts b/types/Pagination/Pagination.svelte.d.ts index 7c2bdd65..e076da7b 100644 --- a/types/Pagination/Pagination.svelte.d.ts +++ b/types/Pagination/Pagination.svelte.d.ts @@ -73,7 +73,7 @@ export interface PaginationProps * Specify the available page sizes * @default [10] */ - pageSizes?: number[]; + pageSizes?: ReadonlyArray; /** * Set to `true` if the number of pages is unknown diff --git a/types/TreeView/TreeView.svelte.d.ts b/types/TreeView/TreeView.svelte.d.ts index f6a41319..f35b8c26 100644 --- a/types/TreeView/TreeView.svelte.d.ts +++ b/types/TreeView/TreeView.svelte.d.ts @@ -30,13 +30,13 @@ export interface TreeViewProps * Set the node ids to be selected * @default [] */ - selectedIds?: TreeNodeId[]; + selectedIds?: ReadonlyArray; /** * Set the node ids to be expanded * @default [] */ - expandedIds?: TreeNodeId[]; + expandedIds?: ReadonlyArray; /** * Specify the TreeView size diff --git a/types/UIShell/HeaderSearch.svelte.d.ts b/types/UIShell/HeaderSearch.svelte.d.ts index 18604f7c..65dac599 100644 --- a/types/UIShell/HeaderSearch.svelte.d.ts +++ b/types/UIShell/HeaderSearch.svelte.d.ts @@ -31,7 +31,7 @@ export interface HeaderSearchProps * Render a list of search results * @default [] */ - results?: HeaderSearchResult[]; + results?: ReadonlyArray; /** * Specify the selected result index