# Changelog Shoelace follows [Semantic Versioning](https://semver.org/). Breaking changes in components with the Stable badge will not be accepted until the next major version. As such, all contributions must consider the project's roadmap and take this into consideration. Features that are deemed no longer necessary will be deprecated but not removed. Components with the Experimental badge should not be used in production. They are made available as release candidates for development and testing purposes. As such, changes to experimental components will not be subject to semantic versioning. New versions of Shoelace are released as-needed and generally occur when a critical mass of changes have accumulated. At any time, you can see what's coming in the next release by visiting [next.shoelace.style](https://next.shoelace.style). ## Next - Fixed a bug in `` where the play and pause buttons were transposed [#1147](https://github.com/shoelace-style/shoelace/issues/1147) - Fixed a bug that prevented `web-types.json` from being generated [#1154](https://github.com/shoelace-style/shoelace/discussions/1154) - Fixed a bug in `` that prevented `sl-change` and `sl-input` from emitting when using the eye dropper [#1157](https://github.com/shoelace-style/shoelace/issues/1157) - Fixed a bug in `` that prevented keyboard users from selecting menu items when using the keyboard [#1165](https://github.com/shoelace-style/shoelace/issues/1165) ## 2.0.0 This is the first stable release of Shoelace 2, meaning breaking changes to the API will no longer be accepted for this version. Development of Shoelace 2.0 started in January 2020. The first beta was released on [July 15, 2020](https://github.com/shoelace-style/shoelace/releases/tag/v2.0.0-beta.1). Since then, Shoelace has grown quite a bit! Here are some stats from the project as of January 24, 2023: - 55 components have been built - [Over 2,500 commits](https://github.com/shoelace-style/shoelace/commits/next) have been made to the project - [88 beta versions](https://github.com/shoelace-style/shoelace/tags) have been released - [85 people](https://github.com/shoelace-style/shoelace/graphs/contributors) have contributed to the project - [669 issues](https://github.com/shoelace-style/shoelace/issues?q=is%3Aissue+is%3Aclosed) have been filed on GitHub - [274 pull requests](https://github.com/shoelace-style/shoelace/pulls) have been opened - [More than 150 discussions](https://github.com/shoelace-style/shoelace/discussions) have been started on GitHub - [Over 500 people](https://discord.com/invite/mg8f26C) have joined the Shoelace community on Discord - [Over 300 million CDN hits](https://www.jsdelivr.com/package/npm/@shoelace-style/shoelace) per month - [Over 13,000 npm downloads](https://www.npmjs.com/package/@shoelace-style/shoelace) per week - [73rd most popular project](https://www.jsdelivr.com/statistics) on jsDelivr - [#2 product of the day](https://www.producthunt.com/products/shoelace-css) on Product Hunt (July 25, 2020) I'd like to extend a very special thank you to every single contributor who worked to make this possible. Everyone who's filed a bug, submitted a PR, requested a feature, started a discussion, helped with testing, and advocated for the project. You are just as responsible for Shoelace's success as I am. I'd also like to thank the folks at [Font Awesome](https://fontawesome.com/) for recognizing Shoelace's potential and [believing in me](https://blog.fontawesome.com/shoelace-joins-font-awesome/) to make it happen. Thank you! And keep building _awesome_ stuff! Without further ado, here are the notes for this release. - Added support for the `inert` attribute on `` to allow hidden menu items to not accept focus [#1107](https://github.com/shoelace-style/shoelace/issues/1107) - Added the `tag` part to `` - Added `sl-hover` event to `` [#1125](https://github.com/shoelace-style/shoelace/issues/1125) - Added the `@documentation` tag with a link to the docs for each component - Added the `form` attribute to all form controls to allow placing them outside of a `
` element [#1130](https://github.com/shoelace-style/shoelace/issues/1130) - Added the `getFormControls()` function as an alternative to `HTMLFormElement.elements` - Added missing docs for the `header-actions` slot in `` and `` - Added `hue-slider-handle` and `opacity-slider-handle` parts to `` and correct other part names in the docs [#1142](https://github.com/shoelace-style/shoelace/issues/1142) - Fixed a bug in `` that prevented placeholders from showing when `multiple` was used [#1109](https://github.com/shoelace-style/shoelace/issues/1109) - Fixed a bug in `` that caused tags to not be rounded when using the `pill` attribute [#1117](https://github.com/shoelace-style/shoelace/issues/1117) - Fixed a bug in `` where the `sl-change` and `sl-input` events didn't weren't emitted when removing tags [#1119](https://github.com/shoelace-style/shoelace/issues/1119) - Fixed a bug in `` that caused the listbox to scroll to the first selected item when selecting multiple items [#1138](https://github.com/shoelace-style/shoelace/issues/1138) - Fixed a bug in `` where the input color and input hover color wasn't using the correct design tokens [#1143](https://github.com/shoelace-style/shoelace/issues/1143) - Fixed a bug in `` that logged a console error when parsing swatches with whitespace - Fixed a bug in `` that caused selected colors to be wrong due to incorrect HSV calculations - Fixed a bug in `` that prevented the initial value from being set correct when assigned as a property [#1141](https://github.com/shoelace-style/shoelace/issues/1141) - Fixed a bug in `` that caused the checked button's right border to be incorrect [#1110](https://github.com/shoelace-style/shoelace/issues/1110) - Fixed a bug in `` that caused the animation to stop working correctly in Safari [#1121](https://github.com/shoelace-style/shoelace/issues/1121) - Fixed a bug that prevented the entire `` to be hidden when inactive - Fixed a bug that caused the value of `` to be `undefined` depending on where the radio was activated [#1134](https://github.com/shoelace-style/shoelace/issues/1134) - Fixed a bug that caused body content to shift when scroll locking was enabled [#1132](https://github.com/shoelace-style/shoelace/issues/1132) - Fixed a bug in `` that caused icons to sometimes be clipped in Safari - Fixed a bug that prevented label colors from inheriting by default in ``, ``, and `` - Fixed a bug in `` that caused an extra margin between the host element and the internal fieldset [#1139](https://github.com/shoelace-style/shoelace/issues/1139) - Refactored the `ShoelaceFormControl` interface to remove the `invalid` property, allowing a more intuitive API for controlling validation internally - Renamed the internal `FormSubmitController` to `FormControlController` to better reflect what it's used for - Updated Lit to 2.6.1 - Updated Floating UI to 1.1.0 - Updated all other dependencies to latest versions ## 2.0.0-beta.88 This release includes a complete rewrite of `` to improve accessibility and simplify its internals. - 🚨 BREAKING: rewrote `` - Accessibility has been significantly improved, especially in screen readers - You must use `` instead of `` for options now - The `suffix` slot was removed because it was confusing to users and its position made the clear button inaccessible - The `max-tags-visible` attribute has been renamed to `max-options-visible` - Many parts have been removed or renamed (please see the docs for more details) - 🚨 BREAKING: removed the `sl-label-change` event from `` (listen for `slotchange` instead) - 🚨 BREAKING: removed type to select logic from `` (this was added specifically for `` which no longer uses ``) - 🚨 BREAKING: swatches in `` are no longer present by default (but you can set them using the `swatches` attribute now) - 🚨 BREAKING: improved the accessibility of `` so checked items are announced as such - Checkbox menu items must now have `type="checkbox"` before applying the `checked` attribute - Checkbox menu items will now toggle their `checked` state on their own when selected - Disabled menu items will now receive focus, but are still not selectable - Added the `` component - Added Traditional Chinese translation [#1086](https://github.com/shoelace-style/shoelace/pull/1086) - Added support for `swatches` to be an attribute of `` so swatches can be defined declaratively (it was previously a property; use a `;` to separate color values) - Fixed a bug in `` where the checked/indeterminate states could get out of sync when using the `multiple` option [#1076](https://github.com/shoelace-style/shoelace/issues/1076) - Fixed a bug in `` that caused `sl-selection-change` to emit before the DOM updated [#1096](https://github.com/shoelace-style/shoelace/issues/1096) - Fixed a bug that prevented `` from submitting a default value of `on` when no value was provided [#1103](https://github.com/shoelace-style/shoelace/discussions/1103) - Fixed a bug in `` that caused the scrollbar to show sometimes when using `resize="auto"` - Fixed a bug in `` and `` that caused its validation states to be out of sync in some cases [#1063](https://github.com/shoelace-style/shoelace/issues/1063) - Reorganized all components to make class structures more consistent - Updated some incorrect default values for design tokens in the docs [#1097](https://github.com/shoelace-style/shoelace/issues/1097) - Updated non-public fields to use the `private` keyword (these were previously private only by convention, but now TypeScript will warn you) - Updated the hover style of `` to be consistent with `` - Updated the status of `` and `` from experimental to stable - Updated React wrappers to use the latest API from `@lit-labs/react` [#1090](https://github.com/shoelace-style/shoelace/pull/1090) - Updated Bootstrap Icons to 1.10.3 ## 2.0.0-beta.87 - 🚨 BREAKING: changed the default size of medium checkboxes, radios, and switches to 18px instead of 16px - 🚨 BREAKING: renamed the `--sl-toggle-size` design token to `--sl-toggle-size-medium` - Added the `--sl-toggle-size-small` and `--sl-toggle-size-large` design tokens - Added the `size` attribute to ``, ``, and `` [#1071](https://github.com/shoelace-style/shoelace/issues/1071) - Added the `sl-input` event to ``, ``, ``, ``, and `` - Added HSV format to `` [#1072](https://github.com/shoelace-style/shoelace/pull/1072) - Fixed a bug in `` that sometimes prevented the color from updating when clicking or tapping on the controls - Fixed a bug in `` that prevented text from being entered in the color input - Fixed a bug in `` that caused the `sl-change` event to be incorrectly emitted when the value was set programmatically [#917](https://github.com/shoelace-style/shoelace/issues/917) - Fixed a bug in `` and `` that made it impossible to disable spell checking [#1061](https://github.com/shoelace-style/shoelace/issues/1061) - Fixed non-modal behaviors in `` when using the `contained` attribute [#1051](https://github.com/shoelace-style/shoelace/issues/1051) - Fixed a bug in `` and `` that caused the checked icons to not scale property when resized - Fixed a bug that broke React imports [#1050](https://github.com/shoelace-style/shoelace/pull/1050) - Refactored `` to use `@ctrl/tinycolor` instead of `color` saving ~67KB [#1072](https://github.com/shoelace-style/shoelace/pull/1072) - Removed the `formdata` event polyfill since it's now available in the last two versions of all major browsers ## 2.0.0-beta.86 - 🚨 BREAKING: changed the default value of `date` in `` to the current date instead of the Unix epoch - 🚨 BREAKING: removed the `handle-icon` part and slot from `` (use `handle` instead) - 🚨 BREAKING: removed the `handle` slot from `` (use the `divider` slot instead) - 🚨 BREAKING: removed the `--box-shadow` custom property from `` (apply a box shadow to `::part(base)` instead) - 🚨 BREAKING: removed the `play-icon` and `pause-icon` parts (use the `play-icon` and `pause-icon` slots instead) - Added `header-actions` slot to `` and `` - Added the `expand-icon` and `collapse-icon` slots to `` and refactored the icon animation [#1046](https://github.com/shoelace-style/shoelace/discussions/1046) - Added the `play-icon` and `pause-icon` slots to `` so you can customize the default icons - Converted `isTreeItem()` export to a static method of `` - Fixed a bug in `` where `sl-selection-change` was emitted when the selection didn't change [#1030](https://github.com/shoelace-style/shoelace/pull/1030) - Fixed a bug in `` that caused the border to render incorrectly when hovering over icons inside buttons [#1035](https://github.com/shoelace-style/shoelace/issues/1035) - Fixed an incorrect default for `flip-fallback-strategy` in `` that caused the fallback strategy to be `initial` instead of `best-fit`, which is inconsistent with Floating UI's default [#1036](https://github.com/shoelace-style/shoelace/issues/1036) - Fixed a bug where browser validation tooltips would show up when hovering over form controls [#1037](https://github.com/shoelace-style/shoelace/issues/1037) - Fixed a bug in `` that sometimes caused the active tab indicator to not animate - Fixed a bug in `` that caused the expand/collapse icon slot to be out of sync when the node is open initially - Fixed the mislabeled `handle-icon` slot in `` (it now points to the ``, not the slot's fallback content) - Fixed the border radius in `` so it matches with nested `` elements - Fixed a bug that caused all button values to appear in submitted form data even if they weren't the submitter - Improved IntelliSense in VS Code, courtesy of [Burton's amazing CEM Analyzer plugin](https://github.com/break-stuff/cem-plugin-vs-code-custom-data-generator) - Improved accessibility of `` so the alert is announced and the close button has a label - Improved accessibility of `` so slotted labels are announced along with visually hidden labels - Refactored all styles and animations to use `translate`, `rotate`, and `scale` instead of `transform` - Removed slot wrappers from many components, allowing better control over user-applied styles - Removed unused aria attributes from `` - Replaced the `x` icon in the system icon library with `x-lg` to improve icon consistency ## 2.0.0-beta.85 - Fixed a bug in `` that caused containing dialogs, drawers, etc. to close when pressing Escape while focused [#1024](https://github.com/shoelace-style/shoelace/issues/1024) - Fixed a bug in `` that allowed lazy nodes to be incorrectly selected [#1023](https://github.com/shoelace-style/shoelace/pull/1023) - Fixed a typing bug in `` [#1026](https://github.com/shoelace-style/shoelace/pull/1026) - Updated Floating UI to 1.0.7 to fix a bug that prevented `hoist` from working correctly in `` after a recent update [#1024](https://github.com/shoelace-style/shoelace/issues/1024) ## 2.0.0-beta.84 - 🚨 BREAKING: Removed the `fieldset` property from `` (use CSS parts if you want to keep the border) [#965](https://github.com/shoelace-style/shoelace/issues/965) - 🚨 BREAKING: Removed `base` and `label` parts from `` (use `form-control` and `form-control__label` instead) [#965](https://github.com/shoelace-style/shoelace/issues/965) - 🚨 BREAKING: Removed the `base` part from `` (style the host element directly instead) - 🚨 BREAKING: Removed the `invalid` attribute from form controls (use `[data-invalid]` to target it with CSS) - Added validation states to all form controls to allow styling based on various validation states [#1011](https://github.com/shoelace-style/shoelace/issues/1011) - `data-required` - indicates that a value is required - `data-optional` - indicates that a value is NOT required - `data-invalid` - indicates that the form control is invalid - `data-valid` - indicates that the form control is valid - `data-user-invalid` - indicates the form control is invalid and the user has interacted with it - `data-user-valid` - indicates the form control is valid and the user has interacted with it - Added npm exports [#1020](https://github.com/shoelace-style/shoelace/pull/1020) - Added `checkValidity()` method to all form controls - Added `reportValidity()` method to `` - Added `button--checked` to `` and `control--checked` to `` to style just the checked state [#933](https://github.com/shoelace-style/shoelace/pull/933) - Added tests for ``, ``, ``, ``, ``, ``, `` and `` [#935](https://github.com/shoelace-style/shoelace/pull/935) [#949](https://github.com/shoelace-style/shoelace/pull/949) [#951](https://github.com/shoelace-style/shoelace/pull/951) [#953](https://github.com/shoelace-style/shoelace/pull/953) [#956](https://github.com/shoelace-style/shoelace/pull/956) [#984](https://github.com/shoelace-style/shoelace/pull/984) [#991](https://github.com/shoelace-style/shoelace/pull/991) - Added translations for Hungarian, Turkish, English (United Kingdom) and German (Austria) [#982](https://github.com/shoelace-style/shoelace/pull/982) [#989](https://github.com/shoelace-style/shoelace/pull/989) - Added `--indicator-transition-duration` custom property to `` [#986](https://github.com/shoelace-style/shoelace/issues/986) - Added `--sl-input-required-content-color` custom property to all form controls [#948](https://github.com/shoelace-style/shoelace/pull/948) - Added the ability to cancel `sl-show` and `sl-hide` events in `` [#993](https://github.com/shoelace-style/shoelace/issues/993) - Added `focus()` and `blur()` methods to `` - Added `stepUp()` and `stepDown()` methods to `` and `` [#1013](https://github.com/shoelace-style/shoelace/pull/1013) - Added `showPicker()` method to `` [#1013](https://github.com/shoelace-style/shoelace/pull/1013) - Added the `handle-icon` part to `` - Added `caret`, `check`, `grip-vertical`, `indeterminate`, and `radio` icons to the system library and removed `check-lg` [#985](https://github.com/shoelace-style/shoelace/issues/985) - Added the `loading` attribute to `` to allow lazy loading of image avatars [#1006](https://github.com/shoelace-style/shoelace/pull/1006) - Added `formenctype` attribute to `` [#1009](https://github.com/shoelace-style/shoelace/pull/1009) - Added `exports` to `package.json` and removed the `main` and `module` properties [#1007](https://github.com/shoelace-style/shoelace/pull/1007) - Fixed a bug in `` that prevented the border radius to apply correctly to the header [#934](https://github.com/shoelace-style/shoelace/pull/934) - Fixed a bug in `` where the inner border disappeared on focus [#980](https://github.com/shoelace-style/shoelace/pull/980) - Fixed a bug that caused prefix/suffix animations in `` to wobble [#996](https://github.com/shoelace-style/shoelace/issues/996) - Fixed a bug in `` that prevented color from being set on the host element [#999](https://github.com/shoelace-style/shoelace/issues/999) - Fixed a bug in `` where the `keydown` event erroneously propagated to ancestors when pressing Escape [#990](https://github.com/shoelace-style/shoelace/issues/990) - Fixed a bug that prevented arrow keys from scrolling content within `` and `` [#925](https://github.com/shoelace-style/shoelace/issues/925) - Fixed a bug that prevented Escape from closing `` and `` in some cases - Fixed a bug that caused forms to submit unexpectedly when selecting certain characters [#988](https://github.com/shoelace-style/shoelace/pull/988) - Fixed a bug in `` that prevented the `invalid` property from correctly reflecting validity sometimes [#992](https://github.com/shoelace-style/shoelace/issues/992) - Fixed a bug in `` that prevented selections from working correctly on dynamically added tree items [#963](https://github.com/shoelace-style/shoelace/issues/963) - Fixed module paths in `custom-elements.json` so they point to the dist file instead of the source file [#725](https://github.com/shoelace-style/shoelace/issues/725) - Fixed an incorrect return value for `reportValidity()` in `` - Improved `` to improve padding and render relative to the current font size - Improved how many components display in forced-colors mode / Windows High Contrast mode - Improved `` so it's usable in forced-colors mode - Improved `` and `` so the panel is more visible in forced-colors mode - Improved `` so selections are visible in forced-colors mode - Improved `` so it's visible in forced-colors mode - Improved `` so checked states are visible in forced-colors mode - Improved `` so the thumb, track, and tooltips are visible in forced-colors mode - Improved `` so icons are visible in forced-colors mode - Improved `` so the divider is visible in forced-colors mode - Improved `` so selected items are visible in forced-colors mode - Improved `` so tabs are cleaner and easier to understand in forced-colors mode - Improved positioning of the menu in `` so you can customize the menu width [#1018](https://github.com/shoelace-style/shoelace/issues/1018) - Moved all component descriptions to `@summary` to get them within documentation tools [#962](https://github.com/shoelace-style/shoelace/pull/962) - Refactored form controls to use the `ShoelaceFormControl` interface to improve type safety and consistency - Updated Lit to 2.4.1 - Updated `@shoelace-style/localize` t0 3.0.3 to support for extended language codes - Updated Bootstrap Icons to 1.10.2 - Updated TypeScript to 4.8.4 - Updated esbuild to 0.15.14 - Updated all other dependencies to latest versions ## 2.0.0-beta.83 This release removes the `` component. When this component was introduced, support for [`aspect-ratio`](https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio)) wasn't great. These days, [the property is supported](https://caniuse.com/mdn-css_properties_aspect-ratio) by all of Shoelace's target browsers, making a dedicated component redundant. - 🚨 BREAKING: Removed `` (use the well-supported `aspect-ratio` CSS property instead) - 🚨 BREAKING: Changed the `toggle-password` attribute of `` to `password-toggle` for consistency - Added an expand/collapse animation to `` - Added `sl-lazy-change` event to `` - Added `expand-button` part to `` [#893](https://github.com/shoelace-style/shoelace/pull/893) - Added `password-visible` attribute to `` [#913](https://github.com/shoelace-style/shoelace/issues/913) - Fixed a bug in `` that didn't account for the arrow's diagonal size - Fixed a bug in `` that caused arrow placement to be incorrect with RTL - Fixed a bug in `` that caused the indeterminate animation to stop working in Safari [#891](https://github.com/shoelace-style/shoelace/issues/891) - Fixed a bug in `` that caused it to overflow a container at 100% width [#905](https://github.com/shoelace-style/shoelace/issues/905) - Fixed a bug in `` that prevented custom expand/collapse icons from rendering - Fixed a bug in `` where the `expand-icon` and `collapse-icon` slots were reversed - Fixed a bug in `` that prevented the keyboard from working after lazy loading [#882](https://github.com/shoelace-style/shoelace/issues/882) - Fixed a bug in `` that prevented the textarea from resizing automatically when setting the value programmatically [#912](https://github.com/shoelace-style/shoelace/discussions/912) - Fixed a handful of paths to prevent TypeScript from getting upset [#886](https://github.com/shoelace-style/shoelace/issues/886) - Fixed a bug in `` where the `button-group__base` part was documented but not exposed [#909](https://github.com/shoelace-style/shoelace/discussions/909) - Fixed a bug in `` that caused the active track color to render on the wrong side in RTL [#916](https://github.com/shoelace-style/shoelace/issues/916) - Refactored the internal event emitter to be part of `ShoelaceElement` to reduce imports and improve DX - Downgraded Floating UI from 1.0.1 to 1.0.0 due to new logic that makes positioning much slower for certain components [#915](https://github.com/shoelace-style/shoelace/issues/915) - Upgraded the status of ``, ``, and `` from experimental to stable ## 2.0.0-beta.82 - Added the `sync` and `arrow-placement` attributes to `` - Changed the `auto-size` attribute of the experimental `` component so it accepts `horizontal`, `vertical`, and `both` instead of a boolean value - Changed the `flip-fallback-placement` attribute of the experimental `` component to `flip-fallback-placements` - Changed the `flip-fallback-strategy` in the experimental `` component to accept `best-fit` and `initial` instead of `bestFit` and `initialPlacement` - Fixed a bug in `` that caused the panel to resize horizontally when the trigger is clipped by the viewport [#860](https://github.com/shoelace-style/shoelace/issues/860) - Fixed a bug in `` where dynamically changing slotted items wouldn't update the tree properly - Fixed a bug in `` that caused the panel to stack when clicking on the divider in mobile versions of Chrome [#862](https://github.com/shoelace-style/shoelace/issues/862) - Fixed a bug in `` that prevented flip fallbacks from working as intended - Fixed a bug that caused concurrent animations to work incorrectly when the durations were different [#867](https://github.com/shoelace-style/shoelace/issues/867) - Fixed a bug in `` that caused the trigger and color preview to ignore opacity on first render [#869](https://github.com/shoelace-style/shoelace/issues/869) - Fixed a bug in `` that prevented the keyboard from working when the component was nested in a shadow root [#871](https://github.com/shoelace-style/shoelace/issues/871) - Fixed a bug in `` that prevented the keyboard from working when the component was nested in a shadow root [#872](https://github.com/shoelace-style/shoelace/issues/872) - Fixed a bug in `` that allowed disabled tabs to erroneously receive focus - Improved single selection in `` so nodes expand and collapse and rece ive selection when clicking on the label - Renamed `expanded-icon` and `collapsed-icon` slots to `expand-icon` and `collapse-icon` in the experimental `` and `` components - Improved RTL support for `` - Refactored components to extend from `ShoelaceElement` to make `dir` and `lang` reactive properties in all components ## 2.0.0-beta.81 - 🚨 BREAKING: removed the `base` part from `` and removed an unnecessary `
` that made styling more difficult - Added the `anchor` property to `` to support external anchors - Added read-only custom properties `--auto-size-available-width` and `--auto-size-available-height` to `` to improve support for overflowing popup content - Added `label` to `` to improve accessibility for screen readers - Added the `base__popup` and `base__arrow` parts to `` [#858](https://github.com/shoelace-style/shoelace/issues/858) - Fixed a bug where auto-size wasn't being applied to `` and `` - Fixed a bug in `` that caused auto-size to kick in before flip - Fixed a bug in `` that prevented the `arrow-padding` attribute from working as expected - Fixed a bug in `` that prevented the popup from appearing with the correct z-index [#854](https://github.com/shoelace-style/shoelace/issues/854) - Improved accessibility of `` so keyboard nav works better and screen readers announce it properly - Improved accessibility of `` so screen readers no longer skip over it - Removed a user agent sniffing notice that appeared in Chrome [#855](https://github.com/shoelace-style/shoelace/issues/855) - Removed the default hover effect in `` to make selections more obvious - Updated Floating UI to 1.0.1 - Updated esbuild to 0.15.1 - Updated all other dependencies to latest versions ## 2.0.0-beta.80 This release breaks radio buttons, which is something that needed to happen to solve a longstanding accessibility issue where screen readers announced an incorrect number of radios, e.g. "1 of 1" instead of "1 of 3." Many attempts to solve this without breaking the existing API were made, but none worked across the board. The new implementation upgrades `` to serve as the "form control" while `` and `` serve as options within the form control. To upgrade to this version, you will need to rework your radio controls by moving `name` up to the radio group. And instead of setting `checked` to select a specific radio, you can set `value` on the radio group and the checked item will update automatically. - 🚨 BREAKING: improved accessibility of ``, ``, and `` so they announce properly in screen readers - Added the `name` attribute to `` and removed it from `` and `` - Added the `value` attribute to `` (use this to control which radio is checked) - Added the `sl-change` event to `sl-radio-group` - Added `setCustomValidity()` and `reportValidity()` to `` - Removed the `checked` attribute from `` and `` (use the radio group's `value` attribute instead) - Removed the `sl-change` event from `` and `` (listen for it on the radio group instead) - Removed the `invalid` attribute from `` and `` - Removed `setCustomValidity()` and `reportValidity()` from `` and `` (now available on the radio group) - Added the experimental `` component - Fixed a bug in `` where labels weren't always aligned correctly - Fixed a bug in `` that caused the tooltip to be positioned incorrectly when switching between LTR/RTL - Refactored `` to use `` - Refactored `` to use `` and added the `body` part - Revert disabled focus behavior in ``, ``, and `` to be consistent with native form controls and menus [#845](https://github.com/shoelace-style/shoelace/issues/845) ## 2.0.0-beta.79 - Added experimental `` and `` components [#823](https://github.com/shoelace-style/shoelace/pull/823) - Added `--indicator-width` custom property to `` [#837](https://github.com/shoelace-style/shoelace/issues/837) - Added Swedish translation [#838](https://github.com/shoelace-style/shoelace/pull/838) - Added support for `step="any"` for `` [#839](https://github.com/shoelace-style/shoelace/issues/839) - Changed the type of component styles from `CSSResult` to `CSSResultGroup` [#828](https://github.com/shoelace-style/shoelace/issues/828) - Fixed a bug in `` where using Left and Right would select the wrong color - Fixed a bug in `` that caused the position to be incorrect on the first show when using `hoist` [#843](https://github.com/shoelace-style/shoelace/issues/843) - Fixed a bug in `` where the divider was on the wrong side when using `placement="end"` - Fixed a bug in `` that caused nested tab groups to scroll when using `placement="start|end"` [#815](https://github.com/shoelace-style/shoelace/issues/815) - Fixed a bug in `` that caused the target to be lost after a slot change [#831](https://github.com/shoelace-style/shoelace/pull/831) - Fixed a bug in `` that caused the position to be incorrect on the first show when using `hoist` - Improved accessibility of ``, ``, and `` to announce better in screen readers and by allowing focus on disabled items - Improved accessibility of `` and `` by allowing focus on disabled items - Updated Lit to 2.2.8 - Update esbuild to 0.14.50 - Updated Bootstrap Icons to 1.9.1 - Updated Floating UI to 1.0.0 - Updated all other dependencies to latest versions ## 2.0.0-beta.78 - 🚨 BREAKING: Moved the `checked-icon` and `indeterminate-icon` parts from a wrapper `` to the `` in `` [#786](https://github.com/shoelace-style/shoelace/issues/786) - 🚨 BREAKING: Moved the `checked-icon` part from a wrapper `` to the `` in `` [#786](https://github.com/shoelace-style/shoelace/issues/786) - Added the `--track-active-offset` custom property to `` [#806](https://github.com/shoelace-style/shoelace/issues/806) - Fixed a bug that caused `` to sometimes have two vertical scrollbars [#814](https://github.com/shoelace-style/shoelace/issues/814) - Fixed a bug that caused a gray line to appear between radio buttons [#821](https://github.com/shoelace-style/shoelace/discussions/821) - Fixed a bug that caused `` to not render anything when using the `play` attribute initially [#824](https://github.com/shoelace-style/shoelace/issues/824) - Removed `:focus-visible` shim now that the last two major versions of Safari support it - Updated Bootstrap Icons to 1.9.0 - Updated esbuild to 0.14.49 - Updated Floating UI to 0.5.4 - Updated Lit to 2.2.7 - Updated all other dependencies to latest versions ## 2.0.0-beta.77 - Added styles to required form controls so they show an asterisk next to the label by default - Added the `--sl-input-required-content` design token - Added the `required` attribute to `` and fixed constraint validation logic to support custom validation - Added the `checked-icon` part to `` - Added the `no-spin-buttons` attribute to `` [#798](https://github.com/shoelace-style/shoelace/issues/798) - Added support for resetting forms using `` [#799](https://github.com/shoelace-style/shoelace/pull/799) - Fixed a bug where a duplicate clear button showed in Firefox [#791](https://github.com/shoelace-style/shoelace/issues/791) - Fixed a bug where setting `valueAsDate` or `valueAsNumber` too early on `` would throw an error [#796](https://github.com/shoelace-style/shoelace/issues/796) - Fixed a bug in `` where empty values weren't properly supported [#797](https://github.com/shoelace-style/shoelace/issues/797) - Fixed a bug in `` where values were logged to the console when using the keyboard - Fixed a bug in `` where password controls would try to autocorrect/autocomplete/autocapitalize when the password is visible - Fixed label alignment in `` and `` so they align to the top of the control instead of the center when wrapping - Fixed labels in `` and `` so they use the `--sl-input-label-color` design token - Improved performance of the tabbable utility which can prevent the browser from temporarily locking up in focus traps [#800](https://github.com/shoelace-style/shoelace/pull/800) - Updated the `fieldset` attribute so it reflects in `` ## 2.0.0-beta.76 - Added support for RTL animations in the Animation Registry - Fixed a bug where the bottom border of `` could be cut off when the dropdown scrolls - Fixed a bug in `` that could result in the browser locking up due to an infinite positioning loop [#777](https://github.com/shoelace-style/shoelace/issues/777) - Improved RTL animations for `` [#784](https://github.com/shoelace-style/shoelace/issues/784) - Improved RTL styles for `` [#783](https://github.com/shoelace-style/shoelace/issues/783) - Improved RTL styles for the toast stack [#785](https://github.com/shoelace-style/shoelace/issues/785) - Improved typings for translations and localized terms - Upgraded @shoelace-style/localize to 3.0 ## 2.0.0-beta.75 - Added Persian translation [#774](https://github.com/shoelace-style/shoelace/pull/774) - Added `color-scheme` to light and dark themes to improve rendering of browser-provided UI [#776](https://github.com/shoelace-style/shoelace/issues/776) - Added `--track-width` custom property to `` - Fixed focus rings for ``, ``, and `` in Safari since they don't use `:focus-visible` [#767](https://github.com/shoelace-style/shoelace/issues/767) - Fixed a bug where calling `HTMLFormElement.reportValidity()` would skip Shoelace form controls [#772](https://github.com/shoelace-style/shoelace/issues/772) - Fixed a bug that prevented `` from closing when disabled [#775](https://github.com/shoelace-style/shoelace/issues/775) - Fixed a bug that allowed `` to emit a `click` event when disabled [#781](https://github.com/shoelace-style/shoelace/issues/781) - Improved the default icon for `` so it's more intuitive and removed `grip-vertical` from system icon library - Improved RTL styles for many components [#768](https://github.com/shoelace-style/shoelace/pull/768) - Improved base path logic to execute only when `getBasePath()` is first called to better support SSR [#778](https://github.com/shoelace-style/shoelace/issues/778) - Improved `DOMParser` instantiation in `` to better support SSR [#778](https://github.com/shoelace-style/shoelace/issues/778) - Reverted menu item caching due to regression [#766](https://github.com/shoelace-style/shoelace/issues/766) - Updated Floating UI to 0.5.2 ## 2.0.0-beta.74 - 🚨 BREAKING: reworked focus rings to use outlines instead of box shadows - Removed the `--sl-focus-ring-alpha` design token - Refactored `--sl-focus-ring` to be an `outline` property instead of a `box-shadow` property - Added `--sl-focus-ring-color`, `--sl-focus-ring-style`, and `--sl-focus-ring-offset` - 🚨 BREAKING: removed `variant` from `` - Added `sl-label-change` event to `` - Added `blur()`, `click()`, and `focus()` methods as well as `sl-blur` and `sl-focus` events to `` [#730](https://github.com/shoelace-style/shoelace/issues/730) - Added Tabler Icons example to icons page - Fixed a bug where updating a menu item's label wouldn't update the display label in `` [#729](https://github.com/shoelace-style/shoelace/issues/729) - Fixed a bug where the FormData event polyfill was causing issues with older browsers [#747](https://github.com/shoelace-style/shoelace/issues/747) - Fixed a bug that caused a console error when setting `value` to `null` or `undefined` in ``, ``, and `` [#751](https://github.com/shoelace-style/shoelace/pull/751) - Fixed a bug that caused `` and `` controls without a `value` to submit as `null` instead of `on` like native inputs [#744](https://github.com/shoelace-style/shoelace/issues/744) - Fixed a bug that caused `` and dependent components to add unexpected padding around the panel [#743](https://github.com/shoelace-style/shoelace/issues/743) - Fixed a bug that prevented `valueAsDate` and `valueAsNumber` from updating synchronously [#760](https://github.com/shoelace-style/shoelace/issues/760) - Fixed a bug that caused `` to load icons from the default library instead of the system library [#765](https://github.com/shoelace-style/shoelace/issues/765) - Fixed a bug in `` that prevented a canceled `keydown` event from submitting the containing form when pressing enter [#764](https://github.com/shoelace-style/shoelace/issues/764) - Improved behavior of clearable and password toggle buttons in `` and `` [#745](https://github.com/shoelace-style/shoelace/issues/745) - Improved performance of `` by caching menu items instead of traversing for them each time - Improved drag utility so initial click/touch events can be accepted [#758](https://github.com/shoelace-style/shoelace/issues/758) - Improved `` to use an HSB grid instead of HSL to be more consistent with existing color picker implementations [#762](https://github.com/shoelace-style/shoelace/issues/762) - Improved `` so the cursor is hidden and the preview is larger when dragging the grid - Refactored `` to be more performant by caching menu items on slot change - Reverted form submit logic [#718](https://github.com/shoelace-style/shoelace/issues/718) - Updated the `disabled` attribute so it reflects in `` [#741](https://github.com/shoelace-style/shoelace/discussions/741) - Updated the `name` and `icon` attribute so they reflect in `` [#742](https://github.com/shoelace-style/shoelace/pull/742) - Updated Lit to 2.2.5 - Updated Bootstrap Icons to 1.8.3 - Updated TypeScript to 4.7.2 - Updated esbuild to 0.14.40 - Updated all other dependencies to latest versions ## 2.0.0-beta.73 - Added `button` part to `` - Added custom validity examples and tests to ``, ``, and `` - Added `enterkeyhint` attribute to `` and `` - Fixed a bug that prevented `setCustomValidity()` from working with `` - Fixed a bug where the right border of a checked `` was the wrong color - Fixed a bug that prevented a number of properties, methods, etc. from being documented in `` and `` - Fixed a bug in `` that prevented valid images from showing after an invalid or missing image was provided [#717](https://github.com/shoelace-style/shoelace/issues/717) - Fixed a bug that resulted in a console error being thrown on keydown in `` [#719](https://github.com/shoelace-style/shoelace/issues/719) - Fixed a bug that prevented `` from being closed when opened initially [#720](https://github.com/shoelace-style/shoelace/issues/720) - Fixed a bug that caused the test runner to fail when using a locale other than en-US [#726](https://github.com/shoelace-style/shoelace/issues/726) - Improved form submit logic so most user-added event listeners will run after form data is attached and validation occurs [#718](https://github.com/shoelace-style/shoelace/issues/718) - Improved accessibility of `` so screen readers announce the content on hover/focus [#219](https://github.com/shoelace-style/shoelace/issues/219) - Improved accessibility of form controls by exposing clear buttons and password visibility buttons to screen readers while keeping them out of the tab order [#727](https://github.com/shoelace-style/shoelace/issues/727) - Updated `` and `` to cycle through tabs and menu items instead of stopping at the first/last when using the keyboard - Removed path aliasing (again) because it doesn't work with Web Test Runner's esbuild plugin ## 2.0.0-beta.72 - 🚨 BREAKING: refactored parts in ``, ``, ``, and `` to allow you to customize the label and help text position - Added `form-control-input` part - Renamed `label` to `form-control-label` - Renamed `help-text` to `form-control-help-text` - 🚨 BREAKING: removed status from the `sl-error` event payload in `` - Added the experimental `` component - Added `button-group` and `button-group__base` parts to `` - Added the `label` attribute and slot to `` to improve accessibility with screen readers - Fixed a bug that prevented form submission from working as expected in some cases - Fixed a bug that prevented `` from toggling `vertical` properly [#703](https://github.com/shoelace-style/shoelace/issues/703) - Fixed a bug that prevented `` from rendering a color initially [#704](https://github.com/shoelace-style/shoelace/issues/704) - Fixed a bug that caused focus trapping to fail when used inside a shadow root [#709](https://github.com/shoelace-style/shoelace/issues/709) - Improved accessibility throughout the docs - Improved accessibility of `` so the trigger's expanded state is announced correctly - Improved accessibility of `` but rendering a `` that wrapped it - Moved the `close-button` part in `` and `` to point to the host element and added the `close-button__base` part - Renamed parts in `` from `tag-base` to `tag__base`, `tag-content` to `tag__content`, and `tag-remove-button` to `tag__remove-button` - Moved the `close-button` part in `` to the internal `` and added the `close-button__base` part - Moved the `scroll-button` part in `` to the internal `` and added the `scroll-button__base`, `scroll-button--start`, and `scroll-button--end` parts - Moved the `remove-button` part in `` to the internal `` and added the `remove-button__base` part - 🚨 BREAKING: removed `checked-icon` part from `` in preparation for parts refactor - 🚨 BREAKING: changed the `typeToSelect()` method's argument from `String` to `KeyboardEvent` in `` to support more advanced key combinations - Added `form`, `formaction`, `formmethod`, `formnovalidate`, and `formtarget` attributes to `` [#699](https://github.com/shoelace-style/shoelace/issues/699) - Added Prettier and ESLint to markdown files - Added background color and border to `` - Added more tests for ``, ``, and `` - Fixed a bug that prevented forms from submitting when pressing Enter inside of an `` [#700](https://github.com/shoelace-style/shoelace/issues/700) - Fixed a bug in `` that prevented the `valueAsDate` and `valueAsNumber` properties from working when set before the component was initialized - Fixed a bug in `` where pressing Home or End wouldn't select the first or last menu items, respectively - Improved `autofocus` behavior in Safari for `` and `` [#693](https://github.com/shoelace-style/shoelace/issues/693) - Improved type to select logic in `` so it supports Backspace and gives users more time before resetting - Improved checkmark size and positioning in `` - Improved accessibility in form controls that have help text so they're announced correctly in various screen readers - Removed feature detection for `focus({ preventScroll })` since it no longer works in Safari - Removed the `--sl-tooltip-arrow-start-end-offset` design token - Removed the `pattern` attribute from `` as it was documented incorrectly and never supported - Replaced Popper positioning dependency with Floating UI in `` and `` ## 2.0.0-beta.70 - Added `tag-base`, `tag-content`, and `tag-remove-button` parts to `` [#682](https://github.com/shoelace-style/shoelace/discussions/682) - Added support for focusing elements with `autofocus` when `` and `` open [#688](https://github.com/shoelace-style/shoelace/issues/688) - Added the `placement` attribute to `` [#687](https://github.com/shoelace-style/shoelace/pull/687) - Added Danish translation [#690](https://github.com/shoelace-style/shoelace/pull/690) - Fixed a bug that allowed `` to go into an incorrect state when activating the trigger while disabled [#684](https://github.com/shoelace-style/shoelace/pull/684) - Fixed a bug where Safari would sometimes not focus after preventing `sl-initial-focus` [#688](https://github.com/shoelace-style/shoelace/issues/688) - Fixed a bug where the active tab indicator in `` would be misaligned when using disabled tabs [#695](https://github.com/shoelace-style/shoelace/pull/695) - Improved the size of the remove button in `` - Removed Google Analytics from the docs ## 2.0.0-beta.69 - Added `web-types.json` to improve the dev experience for WebStorm/PHPStorm users [#328](https://github.com/shoelace-style/shoelace/issues/328) - Fixed a bug that caused an error when pressing up/down in `` - Fixed a bug that caused `` to not show when double clicking the summary while open [#662](https://github.com/shoelace-style/shoelace/issues/662) - Fixed a bug that prevented the first/last menu item from receiving focus when pressing up/down in `` - Fixed a bug that caused the active tab indicator in `` to render incorrectly when used inside an element that animates [#671](https://github.com/shoelace-style/shoelace/pull/671) - Fixed a bug that allowed values in `` to be invalid according to its `min|max|step` [#674](https://github.com/shoelace-style/shoelace/issues/674) - Updated Lit to 2.1.4 - Updated all other dependencies to latest versions ## 2.0.0-beta.68 - Fixed path aliases in generated files so they're relative again [#669](https://github.com/shoelace-style/shoelace/pull/669) ## 2.0.0-beta.67 - Fixed a TypeScript config regression introduced in [#647](https://github.com/shoelace-style/shoelace/pull/647) that removed the `rootDir`, breaking the expected build output ## 2.0.0-beta.66 - Attempted to fix a bug that prevented types from being generated in the build ## 2.0.0-beta.65 - 🚨 BREAKING: the `unit` property of `` has changed to `byte | bit` instead of `bytes | bits` - Added `display-label` part to `` [#650](https://github.com/shoelace-style/shoelace/issues/650) - Added `--spacing` custom property to `` [#664](https://github.com/shoelace-style/shoelace/pull/664) - Added `event.detail.source` to the `sl-request-close` event in `` and `` - Fixed a bug that caused `` to render the wrong size when `--track-width` was increased [#656](https://github.com/shoelace-style/shoelace/issues/656) - Fixed a bug that allowed `` to open and close when disabled using a screen reader [#658](https://github.com/shoelace-style/shoelace/issues/658) - Fixed a bug in the FormData event polyfill that threw an error in some environments [#666](https://github.com/shoelace-style/shoelace/issues/666) - Implemented stricter linting to improve consistency and reduce errors, which resulted in many small refactors throughout the codebase [#647](https://github.com/shoelace-style/shoelace/pull/647) - Improved accessibility of `` and `` by making the title an `

` and adding a label to the close button - Improved search results in the documentation - Refactored `` to use `Intl.NumberFormat` so it supports localization - Refactored themes so utility styles are no longer injected as `