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