The Svelte Language Server allows component-level comments through `<!-- @component ... -->` syntax.
Deprecation notices for components should be moved from the script block to the markup template.
Currently, the input `name` for each item uses the same value as `itemToString(item)`.
This adds an `itemToInput` prop to allow the consumer to customize the name/title/labelText values passed to the `Checkbox` input.
The name attribute now defaults to use the `item.id` instead of `item.text`.
- adjust run rules to run on any pull request or a push to `master`
- use action to cache install folder to speed up builds
- run `build:api` and `build:lib` in parallel
The non-filterable `MultiSelect` is missing a `blur` event.
Implementation-wise, we have to dispatch it and include the event as the `detail`. Otherwise, the filterable variant will dispatch "blur" twice because it has both a button and input.
The filterable `MultiSelect` continues to forward the blur event to the input.
Fixes:
- move `FileUploaderDropContainer` input outside of label to fix a11y error
- prevent inadvertent text selection when clicking through flatpickr months
Fixes:
- pressing "Enter" on a `HeaderNavMenuItem` should close the menu
- tab blurring the last item in an open menu should close the menu
- remove "role" to fix a11y warning
Currently, opening a MultiSelect and then clicking an interactive target will cause the MultiSelect to retain focus. This removes the logic that interferes with native blurring behavior.
Use the native `bind:value` to fix two-way reactivity. As a result, "type" is read through `$$restProps` because it cannot be dynamic when using `bind:value`.
Extend value type to include `null` for the "number" type. This is similar to how `NumberInput` works; `null` represents "no value."
- role="listbox" children require the role="option" attribute
- add a "aria-multiselectable" attribute to the listbox menu
- move "aria-label" attribute from listbox to listbox menu
- listbox field should not have a "combobox" role when expanded (the non-filterable variant serves as a button)
If `headers` is dynamically updated, clicking a sortable table header will sort the incorrect column. Instead of randomly generating an id and keeping track of it through context, we can simply use the required key in `headers` as the id.
* add `Checkbox` reactive example for `bind:checked` (#967)
* update `Checkbox` reactive example for `bind:group` to demo two-way binding
* simplify `Tabs` reactive example
* add `NumberInput` "No value" example