| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-08-24 | 36.3 kB | |
| v0.111.1 source code.tar.gz | 2026-08-24 | 1.7 MB | |
| v0.111.1 source code.zip | 2026-08-24 | 3.2 MB | |
| Totals: 3 Items | 4.9 MB | 0 | |
This release focuses on performance and bug fixes. Components and helpers were benchmarked with mitata across wall-clock speed and memory, which drove the wins on list boxes, tables, trees, tabs, and the CSS bundle. The 70 fixes cover form invalid-state accessibility, menu selectable layout, modal scrolling, combo box typeahead, list-box form serialization, pagination, keyboard behavior, and ARIA.
90 changes in this release:
| Category | Count |
|---|---|
| Breaking changes | 0 |
| Features | 0 |
| Bug fixes | 70 |
| Performance | 20 |
Full Changelog: https://github.com/carbon-design-system/carbon-components-svelte/compare/v0.111.0...v0.111.1
Performance: benchmarks
Benchmarks use mitata to find the slow spots. Two kinds of benches:
- Pure speed. DataTable and MultiSelect sorting, virtualization math, tree helpers, fuzzy match, and similar hot paths.
- Component mount and interaction (vitest + jsdom). Wall-clock time to mount Tabs, OverflowMenu, UserAvatarGroup, TreeView, MultiSelect, and others at increasing child counts. Also times interactions like ArrowDown highlight, filter keystrokes, first expand, and menu open.
The main findings were O(n²) child registration, rebuilding Intl.Collator on every sort comparison, mounting whole trees while branches stayed collapsed, and fanning highlight state through every list-box option on ArrowDown. Each fix has a paired before/after run in the PR.
Perf PRs:
| PR | Focus |
|---|---|
| #3651 | Baseline suite; DataTable Intl.Collator sort cache |
| #3652 | MultiSelect sort cache; lazy TreeView collapsed mounts |
| #3653 | batchStoreUpdates; Tabs, OverflowMenu, UserAvatarGroup |
| #3654 | TabsVertical, TagSet, ProgressIndicator registration batching |
| #3657 | List-box highlight cursor; MultiSelect unmount; Pagination; DataTable paint window; ContentSwitcher |
| #3715 | CSS prune for dead bx-- selectors |
Gains
| Path | N | Before | After | Factor | PR |
|---|---|---|---|---|---|
css/all.css gzip (minified) |
shipped bundle | 85,164 B | 83,306 B | -1.8 KB | #3715 |
css/all.css raw (minified) |
shipped bundle | 912,825 B | 898,320 B | -14.2 KB | #3715 |
| DataTable string-column sort | 10,000 rows | 131.93ms | 4.60ms | ~29x | #3651 |
| MultiSelect default item sort | 10,000 items | 1x | ~10x faster | ~10x | #3652 |
| MultiSelect mount (virtualized) | 1,000 items | 1x | ~3x faster | ~3x | #3652 |
| TreeView collapsed mount | (suite default) | 1x | ~3.5x faster | ~3.5x | #3652 |
TreeView nodes update (non-virtualized) |
1,000 | 1x | ~120x faster | ~120x | #3652 |
| Tabs mount | 10 | 12.11ms | 2.66ms | ~4.6x | #3653 |
| Tabs mount | 80 | 1.09s | 15.76ms | ~69x | #3653 |
| Tabs mount | 100 | 1.72s | 20.33ms | ~85x | #3653 |
| OverflowMenu mount | 10 | 11.65ms | 2.44ms | ~4.8x | #3653 |
| OverflowMenu mount | 80 | 1.34s | 14.27ms | ~94x | #3653 |
| OverflowMenu mount | 100 | 2.12s | 16.88ms | ~126x | #3653 |
| UserAvatarGroup mount | 10 | 31.01ms | 2.55ms | ~12x | #3653 |
| UserAvatarGroup mount | 80 | 2.70s | 16.39ms | ~165x | #3653 |
| UserAvatarGroup mount | 100 | 4.56s | 22.83ms | ~200x | #3653 |
| TabsVertical mount | 10 | 11.97ms | 2.48ms | ~4.8x | #3654 |
| TabsVertical mount | 80 | 1.10s | 16.82ms | ~65x | #3654 |
| TabsVertical mount | 100 | 1.71s | 24.34ms | ~70x | #3654 |
| TagSet mount | 10 | 8.40ms | 2.75ms | ~3.1x | #3654 |
| TagSet mount | 80 | 74.84ms | 15.37ms | ~4.9x | #3654 |
| TagSet mount | 100 | 98.41ms | 20.00ms | ~4.9x | #3654 |
| ProgressIndicator mount | 10 | 16.28ms | 2.92ms | ~5.6x | #3654 |
| ProgressIndicator mount | 80 | 1.31s | 20.58ms | ~64x | #3654 |
| ProgressIndicator mount | 100 | 2.03s | 24.87ms | ~82x | #3654 |
| Dropdown ArrowDown highlight | 1,000 | 5.05ms | 641µs | ~8x | #3657 |
| MultiSelect closed mount | 100 | 92ms | 3.5ms | ~26x | #3657 |
| MultiSelect closed mount (no virt.) | 1,000 | 967ms | 8.6ms | ~110x | #3657 |
| ContentSwitcher mount | 10 | 10.3ms | 2.6ms | ~4.0x | #3657 |
| ContentSwitcher mount | 80 | 54.3ms | 17.5ms | ~3.1x | #3657 |
| ContentSwitcher mount | 1,000 | 1.25s | 365ms | ~3.4x | #3657 |
| Pagination mount (100k items) | pageWindow 1000 | 212ms | 103ms | ~2.1x | #3657 |
| Pagination mount (100k items) | pageWindow 100 | 26.2ms | 7.2ms | ~3.6x | #3657 |
| DataTable virtualized mount | 30k×20 | 270ms | 172ms | ~1.6x | #3657 |
| DataTable virtualized rows swap | 30k×20 | 399ms | 86ms | ~4.6x | #3657 |
Closed MultiSelect at 1,000 items also dropped heap from ~119MB to ~1.4MB (#3657). ComboBox filterMode defaults to "remove" (100-item keystroke ~3.7ms vs ~20.5ms for "hide").
What changed
- CSS. Dead
bx--selectors removed from vendored SCSS after an AST diff ofcss/all.css(#3715). Intl.Collatorcache. DataTable string sorts and MultiSelect defaultsortItemreuse one collator instead of rebuilding per comparison.- Lazy tree mount. Collapsed TreeView branches mount on first expand and stay mounted, so collapsed mount and
nodesupdates scale with visible nodes. - Batched registration. Tabs, TabsVertical, OverflowMenu, UserAvatarGroup, TagSet, ProgressIndicator, and ContentSwitcher flush child registration in one store update via
batchStoreUpdates(was O(n²) per-childstore.update()). - List-box highlight cursor. ArrowDown updates only the previous and next highlighted options instead of every item.
- Closed MultiSelect unmount. Menu DOM stays off until open, same as ComboBox. Selection still serializes through hidden inputs (see form serialization below).
- ComboBox / SearchMenu
filterMode."hide"keeps unmatched options mounted. Default"remove"is faster per keystroke. - Pagination. Page numbers render as native
<option>s. -
DataTable. Under virtualization, cell records are built for the painted window only.
:::svelte <script> import { TreeView, Tabs, Tab, TabContent } from "carbon-components-svelte";</p> <p>const nodes = [ { id: 0, text: "Analytics", nodes: [{ id: 1, text: "Spark" }] }, { id: 2, text: "Blockchain" }, ]; </script>
<treeview labeltext="Products" {nodes}>
<tabs> <tab label="Overview"> <tab label="Metrics"> <svelte:fragment slot="content"> <tabcontent>Overview</tabcontent> <tabcontent>Metrics</tabcontent> </svelte:fragment> </tabs>
Form invalid state: aria-errormessage and live alerts
Invalid fields now point at their error text with aria-errormessage and announce it with role="alert". That covers text input, text area, password input, combo box, and date picker. Date picker also links invalid, warn, and helper text through aria-describedby, and calendar day labels include the weekday.
See TextInput, ComboBox, and DatePicker.
:::svelte
<script>
import { TextInput, ComboBox } from "carbon-components-svelte";
</script>
<TextInput
labelText="Workspace name"
invalid
invalidText="Name is required"
/>
<ComboBox
labelText="Region"
invalid
invalidText="Select a region"
items={[
{ id: "us-east", text: "US East" },
{ id: "eu-de", text: "EU Germany" },
]}
/>
Combo box: Tab commit, controlled blur, and typeahead
Keyboard-highlighted items commit on Tab. Controlled selection restores the label when blur leaves a non-matching query. Typeahead skips disabled items. Use filterMode="hide" to keep filtered options mounted (hidden) so option state survives filtering. It falls back to "remove" under virtualization.
See ComboBox typeahead and filter mode.
:::svelte
<script>
import { ComboBox } from "carbon-components-svelte";
let selectedId = "us-east";
</script>
<ComboBox
bind:selectedId
typeahead
filterMode="hide"
labelText="Region"
items={[
{ id: "us-east", text: "US East" },
{ id: "eu-de", text: "EU Germany", disabled: true },
]}
/>
Modal: native select mouseup, stacked Escape, scrolling content
Picking an option from a native <select> inside a modal no longer closes the dialog on the orphaned mouseup. Same for composed modal. Escape closes only the topmost stacked modal. With hasScrollingContent, modals show a bottom overflow gradient and scroll newly focused elements out from under it. Popover ignores clicks on a portaled date picker calendar so nested calendars stay open.
See Modal and ComposedModal.
:::svelte
<script>
import { Modal, Select, SelectItem } from "carbon-components-svelte";
let open = true;
</script>
<Modal bind:open modalHeading="Export" hasScrollingContent>
<Select labelText="Format">
<SelectItem value="csv" text="CSV" />
<SelectItem value="json" text="JSON" />
</Select>
</Modal>
List-box form serialization
Dropdown writes selectedId through a hidden input. Multi-select serializes selection with hidden inputs instead of the open menu DOM, so native form submit works whether the menu is open or closed. Select-all only applies to currently filtered items. Clearing the filter with the button forwards input.
:::svelte
<script>
import { Dropdown, MultiSelect } from "carbon-components-svelte";
</script>
<form method="post">
<Dropdown
name="region"
labelText="Region"
selectedId="us-east"
items={[
{ id: "us-east", text: "US East" },
{ id: "eu-de", text: "EU Germany" },
]}
/>
<MultiSelect
name="tags"
labelText="Tags"
items={[
{ id: "a", text: "Alpha" },
{ id: "b", text: "Beta" },
]}
/>
</form>
Menu: selectable layout and keyboard
Selectable and radio items get a checkmark column separate from leading icons. If any sibling is selectable or radio, every label indents to line up. Tab closes the menu and returns focus to the anchor, same as Escape. Title tooltips sit on the interactive element. Disabled items no longer take mouse focus.
See Menu and MenuButton.
:::svelte
<script>
import { MenuButton, MenuItem } from "carbon-components-svelte";
</script>
<MenuButton labelText="View">
<MenuItem selectable selected>Grid</MenuItem>
<MenuItem selectable>List</MenuItem>
<MenuItem disabled>Archive</MenuItem>
</MenuButton>
Pagination: labels, tooltips, focus, and narrow layouts
pageSelectLabelText customizes the page-number select label. backwardTextTooltipPosition and forwardTextTooltipPosition place the prev/next tooltips. A pageSelect slot replaces the default page picker. Below the medium breakpoint, item count and nav buttons stack. Disabled forwards to the page-size and page-number selects. When one nav button becomes disabled, focus moves to the sibling. pageSize syncs when pageSizes drops the current value. Page numbers are native options.
See Pagination.
:::svelte
<script>
import { Pagination } from "carbon-components-svelte";
</script>
<Pagination
totalItems={240}
pageSizes={[10, 20, 50]}
pageSelectLabelText={(total) => `Go to page, ${total} pages total`}
backwardTextTooltipPosition="bottom"
forwardTextTooltipPosition="bottom"
/>
Data table and side nav
Wide tables get a horizontal scroll wrapper so sticky headers and selection columns stay usable. Side nav applies the fixed class on rail layouts so the rail does not expand on hover.
See DataTable and UIShell side navigation.
Number input: readonly, inputmode, and digit normalization
Readonly fields block arrow-key value changes. type="number" defaults inputmode to decimal for mobile keyboards. Non-Western digit glyphs normalize before parsing so pasted or IME input still resolves.
See NumberInput.
:::svelte
<script>
import { NumberInput } from "carbon-components-svelte";
</script>
<NumberInput labelText="Quantity" value={12} />
<NumberInput labelText="Locked total" value={100} readonly />
More in this release
- Checkbox group. Invalid and warn states propagate to child checkboxes.
- Clickable tile. Space fires the click handler, not only Enter.
- Code snippet. Inline variant respects
disabled. - Data table. Horizontal scroll wrapper for wide tables. Expanded row content aligns with checkbox/radio columns. Skeleton gains the missing medium size class.
- File uploader. Invalid icon spaced from the close button.
- Link.
visitedforces visited styling. Icon wrapper is aspan. Disabled clicks are blocked. - List box. Singular clear label when exactly one item is selected.
- Multi-select. Rest props forward to the non-filterable trigger.
- Popover / toggletip. Outside-click resolves through shadow DOM. Toggletip no longer closes on browser window blur.
- Progress bar / radio button. Label-text class for truncation on progress bar and readonly radio labels.
- Progress indicator. Steps stay tabbable. Labels use spans inside buttons.
- Search. Native
type="search". Collapsed expandable input is hidden from assistive tech. - Search menu. Escape-clear no longer reopens the menu.
- Structured list. Hover highlight suppressed on selected rows.
- Tabs. Scroll buttons appear only when overflow is greater than 1px.
- Text input. Fluid
maxCountcounter sits opposite the label. - Time picker. Invalid/warn suppressed when disabled or readonly.
- Tooltip. Stops stacking and off-center caret.
- UI Shell.
HeaderPanelLinksupportsisSelected. Current-page class on nav items.HeaderPanelDividerwrapshrin anli.
What's Changed
Bug Fixes
- fix(checkbox): propagate CheckboxGroup invalid/warn to child checkboxes by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/dc2a8e8a7e3c7503623718e8bf236479fe2edc84
- fix(clickable-tile): fire click handler on Space, not just Enter by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/4bbdd4468479117dc3fefe99cb85992c73669d23
- fix(code-snippet): respect disabled on the inline variant by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/e56a53d89d82b0f0f9f4de4782178b78c87db44a
- fix(combo-box): add role=alert to invalid state error message by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/ada99eb81b71288487098767cc1233a091213ed2
- fix(combo-box): commit a keyboard-highlighted item on Tab by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/ebfa57970f8b1467cd3e99bf20dc4672d08dc8cf
- fix(combo-box): restore controlled selection label on non-matching blur by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/dd4d89eac1df5ab4767f9f68948ea9f2fd89fa01
- fix(combo-box): skip disabled items in typeahead suggestions by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/5859ef72fe37c88e12dd717c649e956b230d5605
- fix(combo-box): use aria-errormessage for invalid state by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/7b85d67eeef910cdb67becb81030a39b4b2004f0
- fix(composed-modal): don't dismiss on a native select's orphaned mouseup (#3710) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/a1dec4c59113f0ceb3ccc604b953b0229cbb7f3c
- fix(composed-modal): scroll a newly-focused element out from under the scroll gradient by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/a2d3ab1b215fdd9c438f897e83adbe6ee0cf6275
- fix(data-table-skeleton): add missing medium size class (#3684) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/91008fa43d444ff450d263b3611127f7ecc1fb48
- fix(data-table): add horizontal scroll wrapper for wide tables by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/6460d97bf0081999e23012500ac1c49e17ac9d2d
- fix(data-table): align expanded row content with checkbox/radio columns by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/89cb52afcf31b7ff5e343ac40e2011c49971edb6
- fix(date-picker): add role=alert to invalid state error message by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/28b647a13cdfd6414c76b4b67fb7136c8c5dd4b9
- fix(date-picker): include weekday in calendar day aria-labels by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/519d3b1e28f202482b8b3cffb896ded9da628f33
- fix(date-picker): link invalid/warn/helper text via aria-describedby by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/ca236b65bf7aa354b2d2fc9a85adac559e0641ef
- fix(date-picker): use aria-errormessage for invalid state by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/db1391a0ff0172c478596539c2882b571216f72a
- fix(dropdown): serialize selectedId via a hidden input by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/05bf2a885b8d2941575eac20e734fe28f2993b68
- fix(file-uploader): space the invalid icon from the close button (#3716) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/ac91fb101587754a782a7fcfb9a346abebf94035
- fix(link): make the visited prop force visited styling (#3688) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/107c3ac7462f19a79644aa800b9c87a3e12fd309
- fix(link): use span for icon wrapper, block disabled clicks by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/10362a967e3a996f1e04027b818d2adc2cdeea70
- fix(list-box): use singular clear label for exactly one selection by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/6d51a3dec0cb825295f7837595e1e08c8e21b068
- fix(menu): apply indented-content modifier to selectable/radio menu items by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/b9d9aaa1e6d40ce34a4b8426cbddf3236dafc78b
- fix(menu): close and return focus to the anchor on Tab, same as Escape (#3676) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/0ffd19a1aef12b06a910a0900ce85351d1e102f1
- fix(menu): give the checkmark its own column, separate from the icon by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/d6aade3daf6d7242897615f71d49a6e7b415ec41
- fix(menu): indent every item's label when any sibling is selectable/radio by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/2a9c7aa1aac373b1ae3bbe8a063f316cb5d65693
- fix(menu): move item title tooltip to the interactive element (#3677) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/62a30b90cb7e685c7f6fb13cae5b14ca1e90bae5
- fix(menu): prevent mouse focus on disabled MenuItem by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/caddb210aca226c076b730d9387840440f898377
- fix(modal):
hasScrollingContenthas bottom overflow gradient by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/3b67d47a9593ba56141518a83f1f6b6b009d5436 - fix(modal): close only the topmost stacked modal on Escape by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/c0a2656ed9006adfd412832e715bd09f52a51dc1
- fix(modal): don't dismiss on a native select's orphaned mouseup (#3710) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/b1f95aae429b75c90245914d8d7e52aa28e50af5
- fix(modal): scroll a newly-focused element out from under the scroll gradient by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/7ab7cb8579d2e73b16a92082f86b8b4d5f94f29a
- fix(multi-select): forward input event when filter is cleared via button by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/f7f4dc634170eadf44e472294bf2f0deccd71723
- fix(multi-select): forward rest props to the non-filterable trigger (#3700) by @b-r-i-a-n-w-e-s-t in https://github.com/carbon-design-system/carbon-components-svelte/commit/0398cc1ffa8411aa94b0ef68fbd6228801f78787
- fix(multi-select): scope select-all to the currently filtered items by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/14a3adb0cacadd269dbdf5ecdbf859b9a35a60eb
- fix(multi-select): serialize selection via hidden inputs, not the menu by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/f3474ae9fb8760949afa47fe22de6c4fa5628d07
- fix(number-input): block arrow-key value changes when readonly by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/57c4de8d3f261093b32b4c394d5dbc89acb736cd
- fix(number-input): default inputmode to decimal for type=number by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/ed0ce12032e56474a53b25152f4bd89257e15095
- fix(number-input): normalize non-Western digit glyphs before parsing by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/5c9bcace3e78b283e0b0d4effc38247cdac0cfc2
- fix(pagination): add
pageSelectLabelTextprop (#3704) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/71f1695f07db132a86fcc2266694bc961c8ff1d6 - fix(pagination): add backward/forwardTextTooltipPosition props (#3705) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/9f0e168c0a4558fd4ab00f68275ce0571f0304fe
- fix(pagination): add pageSelect slot for custom page-selection UI by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/f0db69990aae10207bdf3b2f4a037e831e2870f1
- fix(pagination): forward disabled to the page-size and page-number selects by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/d81ec68d042cb21ae0b3c0b547561b03107b0016
- fix(pagination): refocus the sibling nav button when one becomes disabled (#3669) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/6f950246e1a04865a20ed7f711803df0d2adc243
- fix(pagination): show item count and nav buttons below md (#3719) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/0703214cff0fd2d52938fc13874ab45db26055ff
- fix(pagination): sync pageSize when pageSizes drops the current value by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/36b193694b8184af5af08bfc53e84eb448a14a94
- fix(password-input): add role=alert to invalid state error message by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/bcc6787967b04b70bbe4f2d748cef0cf1a97f837
- fix(password-input): use aria-errormessage for invalid state by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/173f47d3b64fb4b84e1799fdecb3234dee5c5756
- fix(popover): ignore clicks on a portaled DatePicker calendar by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/eb4564571bc73f983437ce96c01463a4a80b51e8
- fix(progress-bar): apply label-text class for truncation (#3717) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/9498eaec6150f88bc68dc565ac938ba3f400df18
- fix(progress-indicator): keep steps tabbable, use spans in buttons by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/c954af232d79510a5ee0993e5a02fff2bf328a9d
- fix(radio-button): apply label-text class in readonly mode (#3718) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/fae44ede29f5bda5f837a6796b8589061f80d663
- fix(search-menu): prevent native Escape-clear from reopening the menu by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/c21f105f2e2ef692c5c1d9fc85b58b9f6c18ea8f
- fix(search): hide collapsed expandable input from assistive tech by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/ed8886592fb53ac4d633e797bd003b6a4144d65d
- fix(search): use native type=search input by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/0037688fc33354e0f544c27b2f6f80d810150b67
- fix(side-nav): apply the fixed class so rail stops expanding on hover by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/369b513576e269bc40d9325703fd09f6f848fe44
- fix(structured-list): suppress hover highlight on selected row by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/5664dd03042ce727deda2dbbe95b738f97da2225
- fix(tabs): require >1px overflow before showing scroll buttons by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/e1432005401e04e2ecd0330e0350b6b0065706fe
- fix(text-area): add role=alert to invalid state error message by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/7ef1967e17f19631c9e7bbd636cd6e56fca753c2
- fix(text-area): use aria-errormessage for invalid state by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/67baa5c2da80e9a6523fcd3d42f197a3909cbaa3
- fix(text-input): position the fluid maxCount counter opposite the label (#3699) by @b-r-i-a-n-w-e-s-t in https://github.com/carbon-design-system/carbon-components-svelte/commit/67263708eb6f01537ad0ee2a759e7dcde7f9a422
- fix(text-input): use aria-errormessage for invalid state by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/5863c629f32e735d0cc42609f91ca59a2b36e3e2
- fix(time-picker): suppress invalid/warn when disabled or readonly (#3670) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/0647694068677ff7a7bcdb04e36a2a76cd6a0249
- fix(toggle-tip): resolve outside-click through shadow DOM boundaries by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/23f0267457226f7b1c382029f4ffab524dc5772d
- fix(toggletip): stop closing on browser window blur by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/f07217c93cfe00637090d430f036ec997ab873c3
- fix(tooltip): stop tooltip stacking and off-center caret (#3660) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/38fe5d4dd97ea76afadb43a23c836382f21c0a90
- fix(ui-shell):
HeaderPanelLinksupportsisSelectedprop by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/966a6e9c5c53309ad29eb1bbb4a613863be5c69f - fix(ui-shell): apply the current-page styling class on nav items (#3678) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/6b4fa5ded67466a1004c6eacc0c3e8e75fa2f134
- fix(ui-shell): wrap HeaderPanelDivider's hr in an li for valid list semantics by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/afbbabc2bf00c5beacf861a23e49b24aa5509edf
- fix(utils): keep outsideDismiss pressed state until an explicit outside press by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/1f7b599d45010fe04e5ea89d2868cd21c1067849
Performance
- perf(combo-box): add filterMode hide vs remove by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/20084a8755f69f758b87f2d28963e84933cd6abe
- perf(combo-box): apply highlight as a two-node class cursor by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/c063b23b1d9a419787ab3582fddd3cdd031fe259
- perf(content-switcher): batch switch registration into a single store flush by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/fc67705e1017957d81dfb7d81582f5700a70278b
- perf(css): prune selectors for classes the library never renders (#3715) by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/315748acf66abda1234164e0392ae29aac76ef5e
- perf(data-table): build cell records for the painted window only by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/88bfddcda417a10f87efe090698c641eed785c98
- perf(data-table): cache Intl.Collator for string column sorting by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/89cbc1c0b23cb03bfd57fdf80f2d6683caaa8171
- perf(dropdown): apply highlight as a two-node class cursor by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/74a1fcec99b1a5fef9c2dc8442b48404bc232157
- perf(list-box): apply highlight as a two-node class cursor by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/e372b9f3973ea5a74e7374ed7e664a9337e0f1e2
- perf(multi-select): apply highlight as a two-node class cursor by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/54fefdb89d906fe864f69efff4df16c47476061d
- perf(multi-select): cache Intl.Collator for default item sorting by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/2e790e8d3983dfceda1c8a725f4bfc1da6312168
- perf(multi-select): unmount the menu while closed by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/e2bf9869b4168ea50cf7c13104e283cda32b1854
- perf(overflow-menu): batch item registration into a single store flush by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/9942c96359b87d8e0579e1c0cd0d0015418bd105
- perf(pagination): render page numbers as native options by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/7ea97997bb57dd11c1f1383cb2063879cb80e264
- perf(progress-indicator): batch step registration into a single store flush by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/fc737f8255470e7d283bcc9a294cbb385d15e533
- perf(search-menu): keep unmatched items mounted and hidden by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/f5cddbd11ba6b9a70535d51c3b5dcbe00c76ec6e
- perf(tabs-vertical): batch tab/content registration into a single store flush by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/d7aa2be033dc4696cdf1f8ee06e3c6c02d26e968
- perf(tabs): batch tab/content registration into a single store flush by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/5428ecb5e7563cdb652927db6e057434cc978856
- perf(tag-set): batch tag registration into a single store flush by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/bac4024d1825cd1da2ff250aae308c8c6536c167
- perf(tree-view): mount collapsed subtrees lazily on first expansion by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/eabe9c3dcf22cdca70f53e4c212884bd1c962b95
- perf(user-avatar-group): batch avatar registration into a single store flush by @metonym in https://github.com/carbon-design-system/carbon-components-svelte/commit/7f69d28cdad76ad8d239f8113ece09e8426960e7