@wikimedia/codex
Version:
Codex Design System for Wikimedia
1,132 lines (934 loc) • 143 kB
Markdown
# 2.2.1 / 2025-07-22
## Features
- Select: Add hidden HTML form element when a name is provided (Nick Garnsworthy)
## Styles
- Button, styles: Remove padding for icon-only Buttons (Derek Torsani)
- Message, styles: Ensure icon never shrinks (Anne Tomasevich)
- styles: Add WIP responsive Grid layout system with Less mixins (Volker E.)
- styles, sandbox: apply typography mixin to Sandbox demo pages (Lauralyn Watson)
- styles: add responsive styles to the Sandbox (Lauralyn Watson)
- styles: Simplify calcs introduced in font modes (Derek Torsani)
- TypeaheadSearch, styles: Improve footer styles for mobile view (Anne Tomasevich)
- docs, styles: remove unused custom styles in contributing-icons.md (Lauralyn Watson)
- TypeaheadSearch: Fix spacing in footer without thumbnails (Formasitchijoh)
- Message: Update line-height of content (Derek Torsani)
## Tokens
- InputChip, tokens: Update max-height of chips (Derek Torsani)
## Code
- demo, sandbox: fix console warnings in the Sandbox (Lauralyn Watson)
- demo: add Select with hidden input for forms to Sandbox (Lauralyn Watson)
- Breadcrumb: Add WIP Breadcrumb component (Doğu Abaris)
- Breadcrumb: Standardize and simplify code and docs (Anne Tomasevich)
- Breadcrumb, demo: add demos and i18n translatable string (Lauralyn Watson)
- Popover: Don't close when viewport scrollbar is clicked (Roan Kattouw)
- Table: Remove nonexistent 'last' event (Roan Kattouw)
- MenuButton: Enter key should expand the menu (Lauralyn Watson)
## Build
- build: Update build-if-missing script in icons package (Anne Tomasevich)
- build: Set "moduleResolution" TypeScript config to "bundler" (Roan Kattouw)
- build: Update 'stylelint' dependencies (Volker E.)
- build: Update 'svglint' and 'svgo' dependencies (Volker E.)
## Documentation
- docs: Improve Lookup and MultiselectLookup demos with fetching (Anne Tomasevich)
- docs: add favicon (Lauralyn Watson)
- docs: Fix broken link to Wikifunctions (Timo Tijhof)
- docs: Fix display of example icons on "Contibuting icons" page (Roan Kattouw)
- docs: add favicon types (Lauralyn Watson)
- docs: Minor optimizations to new favicon files (Thiemo Kreuz)
- docs: Fix typo and use default fill shorthand color for icon example (Volker E.)
- docs: Fix number props and type links with brackets (Anne Tomasevich)
- docs: Expand on NVM for simpler onboarding and unify on "npm" term (Volker E.)
- docs: Consolidate imports in contributing-icons.md (Roan Kattouw)
# 2.2.0 / 2025-06-24
## Deprecating changes
- [DEPRECATING CHANGE] Throw deprecation warnings for old APIs (Anne Tomasevich)
Some usages of component props are now officially deprecated. Check the console for warnings from
the Dialog, Field, Label, Message, SearchInput, and TypeaheadSearch components.
## Features
- Image: move component out of WIP (Lauralyn Watson)
- Button: create small size (Daphne Smit)
- MenuButton: Fix selected prop type (Dillon)
## Styles
- Image, styles: unify placeholder, loading, and error states (Lauralyn Watson)
- styles: Improve word-breaking and remove most hyphenation (Anne Tomasevich)
## Tokens
- token: Add new border color token (Derek Torsani)
## Icons
- icons: Fix 'logo-codex.svg' so it doesn't need `fill-rule` attribute (Thiemo Kreuz)
## Build
- build: prepare-release script sorts new commits in changelog (Lauralyn Watson)
- build: Alias `lint:scripts` command to Wikimedia pseudo standard command (Volker E.)
- tests: Reorganize unit tests (Anne Tomasevich)
- Tests: Suppress some expected console warnings for better output (Eric Gardner)
- tests, Combobox, MenuButton: Add snapshot tests (Anne Tomasevich)
- tests: Fix snapshot test props, reorganize tests (Anne Tomasevich)
## Documentation
- docs: add guidelines for Image component (bmartinezcalvo)
- docs: Redesign home page (Anne Tomasevich)
- docs: Add initially selected chip to MultiselectLookupField example (Roan Kattouw)
- docs: align ImageAspectRatios docs with colon separator change (Doğu Abaris)
- docs: Include instructions to document types and constants (Anne Tomasevich)
- docs: Add general data vizualization guidelines (Derek Torsani)
- docs: Update RELEASING.md (Anne Tomasevich)
- docs: update images in Codex homepage (Lauralyn Watson)
- docs: Update Image guidelines for consistency (Anne Tomasevich)
- docs: Document breaking changes process (Anne Tomasevich)
- docs, Button: Reformat button size docs (Anne Tomasevich)
# Code
- Menu: Avoid scrolling the entire page when the menu opens (Roan Kattouw)
- useResizeObserver: Check for valid ResizeObserver entry (bernardwang)
# 2.1.0 / 2025-06-10
## Features
- TypeaheadSearch: Add support for mobile view TypeaheadSearch (bernardwang)
- InfoChip, InputChip: add tooltip to display entire label (theprotonade)
## Styles
- Image, styles: update component based on design review (Lauralyn Watson)
- Popover: adjust min-width and minClipWidth for small devices (Sergio Gimeno)
## New design tokens
- `@size-1200`
## Icons
- icons: Fix typo "anonynmous" → "anonymous" in "userAnonymous.svg" (Bartosz Dziewoński)
## Code
- TypeaheadSearch: Add mobile view TAHS sandbox demo (bernardwang)
- TypeaheadSearch: fix box shadow showing when theres no empty search recommendations (bernardwang)
- tests: Reorganize tests and remove unneeded ones (Anne Tomasevich)
- Menu: Don't close when scrollbar is clicked (Roan Kattouw)
- TypeaheadSearch: Ensure keyboard navigation works for empty search results (bernardwang)
## Documentation
- docs: make the home hero full width (theprotonade)
- docs: update design contribution guidelines (bmartinezcalvo)
- docs: update contribution guidelines (bmartinezcalvo)
- docs: Re-architect usage and contributing sections (Anne Tomasevich)
- docs: Update various docs pages part 2 (Derek Torsani)
- docs: Update and simplify developer contribution docs (Anne Tomasevich)
- docs: Update and improve icon documentation (Anne Tomasevich)
- docs: Update various docs pages part 1 (Derek Torsani)
- docs: Minor followup patch to I3a584dee62c96bfe05bf5b94cb2cf00659af16b7 to add details to AUTHORS.txt (theprotonade)
- docs: remove unused files (Lauralyn Watson)
- docs: Clean up recent changes (Anne Tomasevich)
# 2.0.0 / 2025-06-02
## Code
- tests: Update tests in docs package (Anne Tomasevich)
- tests: Update tests for composables (Anne Tomasevich)
## Documentation
- docs: Update linting command descriptions (Volker E.)
# 2.0.0-rc.2 / 2025-05-21
Codex 2.0 RC2 is a minor update to RC1 that includes a new design token
`line-height-content` to ensure that ([user-provided content is styled
appropriately](https://phabricator.wikimedia.org/T394722)),
as well as a few other minor changes.
## Styles
- styles: Unify on `-mixin` prefix for Less mixins (Volker E.)
- tokens: introduce `line-height-content` token (Eric Gardner)
- typography: Update type mixins (Derek Torsani)
## New design tokens
- `line-height-content`
## Icons
- icons: Add 'logo-Codex' icon (Volker E.)
- icons: Add UserTemporaryLocation icon (Thalia)
- icons: remove unnecessary `clip-rule` in 'logoCodex' (Volker E.)
- icons: remove unnecessary `fill-rule` and `clip-rule` in 'userTemporaryLocation' (Volker E.)
## Code
- Checkbox, Radio, styles: Fix selector for applying `cursor: pointer` (Ed Sanders)
- build: Add `lint:clear-cache` command (Volker E.)
- build: Enable eslint and stylelint caching (Umherirrender)
- build: Use common Wikimedia linting command names (Volker E.)
- Fix bug where clicking on the svg of an action button closes the Accordion instead of firing the action button click event (Daphne Smit)
- Update TAHS to work with empty search recommendations through new showEmptyQueryResults prop (bernardwang)
- docs, ProgressBar: Fix `aria-label` controlsConfig prop name (Volker E.)
## Documentation
- docs: Sync VitePress's `isDark` ref with color mode switcher (Anne Tomasevich)
- docs: fix headings in component pages (Lauralyn Watson)
- docs: improve tokens guidelines to clarify on component tokens (bmartinezcalvo)
# 2.0.0-rc.1 / 2025-04-29
## Breaking changes
- [BREAKING CHANGE] Lookup: remove initialInputValue prop (Lauralyn Watson)
- [BREAKING CHANGE] icons: remove deprecated icons (Lauralyn Watson)
- [BREAKING CHANGE] types: remove DialogAction and PrimaryDialogAction (Lauralyn Watson)
- [BREAKING CHANGE] tokens, styles: Introduce font modes and redesign type scale system (Derek Torsani)
- [BREAKING CHANGE] tokens: Add new Less mixin files and remove legacy file (Eric Gardner)
View how to handle these changes in the
[Codex 2.0 migration guide](https://www.mediawiki.org/wiki/Codex/Release_Timeline/2.0/Breaking_changes).
## Styles
- Dialog: fix padding in header, body, and footer (Derek Torsani)
- Popover, styles: ensure header icon does not shrink (Lauralyn Watson)
- Accordion, styles: Fix action button position when open (Volker E.)
- Accordion, styles: Don't let flexbox shrink the indicator icon (Eric Gardner)
### New design tokens
- `spacing-6`
- `spacing-65`
- `line-height-large`
- `line-height-x-large`
- `line-height-xx-large`
- `line-height-xxx-large`
- `size-toggle-switch-grip`
- `width-toggle-switch`
- `min-height-toggle-switch`
- `height-toggle-switch`
- `spacing-toggle-switch-grip-start`
- `spacing-toggle-switch-grip-end`
### Deprecated design tokens
- `line-height-xxx-small`
- `line-height-xx-small`
### Un-deprecated tokens
- `line-height-x-small`
## Documentation
- docs: Fix 'node_modules' file import path in documentation (Volker E.)
- docs, icons: Add an appearance menu to the docs site & 'configure' icon (Anne Tomasevich)
- docs: Adjust styles and format on Style Guide Typography page (Anne Tomasevich)
- docs: Remove sub-1.0.0 versioning comments (Volker E.)
- docs: Clarify usage of custom properties carrying design tokens (Volker E.)
# 1.23.0 / 2025-04-17
## Features
- Accordion: add support for optional v-model prop (Eric Gardner)
## Styles
- styles, tokens, Checkbox: Replace non-option token SVG image with pure CSS (Volker E.)
- styles, Checkbox: Add correct disabled color (Volker E.)
## New design tokens
- `@border-color-inverted-fixed`
- `@transform-checkbox-tick--checked`
## Documentation
- docs: Align Less bracket whitespace to Wikimedia coding guidelines (Volker E.)
- docs: Update Design Principles (Derek Torsani)
# 1.22.0 / 2025-04-01
## Styles
- styles, docs: Harden design token usage in calculations (Volker E.)
- styles: update InfoChip and InputChip `max-width` (bmartinezcalvo)
- tokens: Express transformed tokens in pixels instead of rems (Roan Kattouw)
## Code
- Thumbnail: Ensure that prop updates trigger image change when necessary (Eric Gardner)
- useFloatingMenu: Ensure flip padding is less than size padding (Eric Gardner)
## Documentation
- docs: Update to clarify introduction of Popover component (Volker E.)
- demos: Add typography demo sandbox page (Volker E.)
# 1.21.1 / 2025-03-19
## Code
- code: Update Popover imports (Anne Tomasevich)
# 1.21.0 / 2025-03-19
## Features
- Popover: add arrow tip (Lauralyn Watson)
- container: Add initial Container component (Volker E.)
- ProgressIndicator: Take component out of WIP (Volker E.)
- Popover: take component out of WIP (Lauralyn Watson)
## Styles
- styles, Popover: address design review (Lauralyn Watson)
- token, Popover: add `z-index` token (Lauralyn Watson)
- tokens: `accent-color` should also feature color mode token (Volker E.)
## New design tokens
- `z-index-popover`
## Code
- Popover: Make `anchor` loosely required (Anne Tomasevich)
- Popover: apply the i18n message key for the close button label (Lauralyn Watson)
- tests, Image: Remove redundant 'correctly' in snapshot test descriptions (Doğu Abaris)
- Popover: fix console warning (Lauralyn Watson)
- Popover: Remove Transition and mock `useFloating` in tests (Anne Tomasevich)
- Popover: Change "positionConfig" prop to "placement" (Eric Gardner)
- Popover: Update logic and tests that handle mouse interaction (Anne Tomasevich)
- Popover: Set max-width instead of width (Anne Tomasevich)
- Tooltip: Improve ID generation (Eric Gardner)
- Popover: change header button wrapper's class name (Lauralyn Watson)
- Popover: Adjust anchor prop type (Anne Tomasevich)
## Documentation
- docs: add design tokens introduced in v1.20.3 (Lauralyn Watson)
- docs, i18n: update docs about adding new message keys (Lauralyn Watson)
- demos: Fix Container demo selectors (Volker E.)
- docs: Add Popover guidelines (Derek Torsani)
- Popover: add demos (Lauralyn Watson)
- docs: Support anchor links to icons in AllIcons table (Anne Tomasevich)
- docs: Fix typos on 'TypeScript' (Volker E.)
- demo, Popover: add action button controls to config demo (Lauralyn Watson)
# 1.20.3 / 2025-03-04
## Deprecating Changes
- [DEPRECATING CHANGE] types: Generalize dialog action types (Anne Tomasevich)
## Features
- Popover: Add WIP component (Lauralyn Watson)
- Popover: Add header and footer content (Anne Tomasevich)
- ProgressIndicator, tokens: add initial implementation of component (Volker E.)
## Styles
- Popover: Update header styles per design feedback (Anne Tomasevich)
- Popover: add Floating UI behavior (Lauralyn Watson)
- Popover: handle keynav and clicks outside (Lauralyn Watson)
- styles: Consistently import tokens in Less as references (Volker E.)
## New design tokens
- `animation-duration-fast`
- `transform-progress-indicator-spinner-start`
- `transform-progress-indicator-spinner-end`
## Code
- Menu: Add `tabindex="-1"` to `ul` element (Anne Tomasevich)
- Dialog: Properly await onDialogOpen (Roan Kattouw)
- utils: add `unwrapElement` utility function (Lauralyn Watson)
- build: Stop CI from failing if Netlify deployment fails (Anne Tomasevich)
- build: Add `--glob` flag to 'rimraf' command (Volker E.)
## Documentation
- docs: Update Codex logo (Derek Torsani)
- docs: Don't break everything when there's a generic type (Anne Tomasevich)
- docs: Remove superfluous JSDoc Boolean `@values` annotations (Volker E.)
- docs: update links to Vue Test Utils (Lauralyn Watson)
- docs: include recommendation on maximum number if items in Menu (bmartinezcalvo)
- docs: Create ADR for font modes (Derek Torsani)
- docs: fix RTL issues in bidirectionality guidelines (bmartinezcalvo)
- docs: Fix hero tagline margin (Derek Torsani)
- docs: Remove client-only tag from MW examples (Eric Gardner)
- docs: Amend ProgressBar documentation for clarity with ProgressIndicator (Volker E.)
# 1.20.2 / 2025-02-19
## Deprecating Changes
- [DEPRECATING CHANGE] tokens, components: Add new and update box-shadow tokens and apply (Derek Torsani)
## Features
- MultiselectLookup: support multiple selection based on same search (Lauralyn Watson)
## Styles
- ToggleButton: update `quiet` enabled color (Derek Torsani)
- MenuItem: Update color of supporting text (Derek Torsani)
- Select: Instead of relying on hardcoded values, rely on tokens directly (Volker E.)
- tokens: Add opacity color option tokens (Derek Torsani)
- tokens, Tooltip: Add `min`, `fit` and `max` content width tokens & apply (Volker E.)
## New design tokens
- `size-content-min`
- `size-content-fit`
- `size-content-max`
- `box-shadow-small`
- `box-shadow-small-top`
- `box-shadow-small-bottom`
- `box-shadow-medium`
- `box-shadow-large`
Only used as general `box-shadow` token constructors:
- `box-shadow-outset-small-bottom`
- `box-shadow-outset-medium-below`
- `box-shadow-outset-medium-around`
- `box-shadow-outset-large-below`
- `box-shadow-outset-large-around`
## Icons
- icons: Add more language-specific text icons for Norwegian and Swedish (Jon Harald Søby)
## Code
- MultiselectLookup: Change behavior on chip click (Anne Tomasevich)
- ChipInput: Add CSS class to input chip data (Anne Tomasevich)
- build: Remove `prepare` script (Volker E.)
- build: Update 'style-dictionary' (Volker E.)
- build: Limit color references only to `box-shadow` colors, not to all tokens (Volker E.)
- build: upgrade browserslist-db to 1.0.30001700 (Volker E.)
## Documentation
- docs: Update Codex logo (Derek Torsani)
- docs: Update AUTHORS.txt (Roan Kattouw)
- docs: Conduct various clean up on the docs site (Derek Torsani)
- docs: It's 'Less', not more, not less (Volker E.)
- docs: Change icon names to be unwrapped from code markup (Volker E.)
- docs: update usage of icons (Lauralyn Watson)
- docs: Fix contributor name to unified format (Volker E.)
- demo: Add custom RCFilters MultiselectLookup demo (Anne Tomasevich)
- demos: add `id` HTML attribute (Lauralyn Watson)
- demo: Add new sandbox page for experiments + RCFilters demo (Anne Tomasevich)
- demos: Remove obsolete Less variable (Volker E.)
# 1.20.1 / 2025-02-04
## Styles
- styles: Implement `:focus-visible` in Card and Accordion components (Gauri)
- styles, mixins: Remove outdated `-webkit` vendor prefix (Volker E.)
- styles, TextInput: Remove obsolete `-ms-clear` disabling vendor rule (Volker E.)
- Revert "mixins: amend hyphens to use more solid `overflow-wrap: anywhere`" (Anne Tomasevich)
- styles, Button: fix the progressive primary button's icon (Lauralyn Watson)
## Code
- Dialog: Don't close when backdrop click started in the dialog (Daphne Smit)
- build: Clean up .gitignore files (Roan Kattouw)
- Menu: Re-work how IDs are generated (Eric Gardner)
## Documentation
- demos: Make `tbody` explicit in `table`s (Volker E.)
- docs: Fix `<table>` HTML semantics (Volker E.)
- docs: Fix link syntax (apaskulin)
- docs: Revise Using links and buttons page (Derek Torsani)
# 1.20.0 / 2025-01-22
## Deprecating changes
- useGenerateId: Deprecate, replace usage with useId() (Roan Kattouw)
## Styles
- styles, TextArea: Add `min-width: 256px` to TextArea component (millmason)
- styles: Consolidate MenuItem icon styles (Roan Kattouw)
- mixins: Reduce output of 'css-icon' when not a button icon (Volker E.)
- mixins: Reduce to shorthand hex color in 'css-icon' mixin (Volker E.)
- mixins: amend hyphens to use more solid `overflow-wrap: anywhere` (Volker E.)
## Code
- build: Bump Node version to 20.18.1 (Jon Robson)
- build: Disallow setting xlink:namespace on the `svg` element (Volker E.)
- build: Include `mask` property in the properties order list and apply (Volker E.)
- build: Relax the peerDependency on vue (Roan Kattouw)
- build: Update Vite to 6.0.7 (Roan Kattouw)
- build: Update Vue to 3.5.13 (Roan Kattouw)
- build: Update netlify-cli to 18.0.0 (Eric Gardner)
- tests: Make jsdom tricks in Tabs tests more robust (Roan Kattouw)
## Icons
- icons, docs: Remove `xmlns:xlink` namespace where unnecessary (Thiemo Kreuz)
- icons: Add 'lightbulb' to provided ones (Volker E.)
- icons: add ArrowUp and ArrowDown icons to Codex (Lauralyn Watson)
- icons: add azerbaijani definitions and new bold Q (Nemoralis)
## Documentation
- docs: Add component groups in the sidebar (Anne Tomasevich)
- docs: Add instructions to RELEASING.md for Phab tagging release commit (Roan Kattouw)
- docs: Explain vendor prefixes in 'css-icon' public mixin (Volker E.)
- docs: Revise and add resources from home page to others (Derek Torsani)
- docs: Revise mentions of color option tokens in docs (Derek Torsani)
- docs: Revise verbiage used in docs to follow content guidelines (Derek Torsani)
- docs: Update limiting statement to only use ES2016 in component demos (Volker E.)
- docs: floating button to navigate to top of component pages (Lauralyn Watson)
- docs: improve floating button (Lauralyn Watson)
- docs: include content recommendations in ToggleButton page (bmartinezcalvo)
- docs: minor edit to releasing doc (Lauralyn Watson)
- docs: update AUTHORS.txt and .mailmap (Volker E.)
- Provide a .mailmap file to consolidate where people have multiple git addresses (James D. Forrester)
- Remove Lucas Werkmeister from .mailmap (Lucas Werkmeister)
# 1.19.1 / 2025-01-07
Dummy release to fix a publishing problem with 1.19.0.
# 1.19.0 / 2025-01-07
## Styles
- MenuItem: fix selected destructive icon color (Derek Torsani)
- component: Fix icon colors in MenuItem (Derek Torsani)
## Code
- InputChip: Disable the delete button in read-only mode (Roan Kattouw)
- nvmrc: Update to Node 20 (Volker E.)
- build: Update 'browserslist-db' to 1.0.30001687 (Volker E.)
- build: Update 'prismjs' and '@types/prismjs' packages to latest (Volker E.)
- build: Update 'postcss' and plugins to latest (Volker E.)
- build: Update 'less', 'rtlcss' and 'autoprefixer' dependencies (Volker E.)
- build: Update 'glob' to latest (Volker E.)
- build: update 'npm-watch' to latest (Volker E.)
- build: Update 'netlify-cli' to v17.38.0 (Volker E.)
- build: Update 'change-case' to latest (Volker E.)
- build: update Node and npm respectively to CI (Volker E.)
- build: Raise target to ES2016 and make use of `includes()` (Volker E.)
- build: Fix build-if-missing command in the codex package (Roan Kattouw)
- build: Update ESLint config for ES2016 build target (Roan Kattouw)
- build: Update 'stylelint-config-wikimedia' and plugins to latest (Volker E.)
- tests: Add a test for expandDeprecationMessage (Roan Kattouw)
- build: Update Vue to 3.4.28 (Roan Kattouw)
- build: Update TypeScript to 5.7.2 (Roan Kattouw)
- build: Make updating codex-icons dependency work again (Roan Kattouw)
- build: Update 'postcss-rtlcss' to 5.6.0 (Volker E.)
- build: Update 'concurrently' to 9.1.0 (Volker E.)
- build: Update further '@types' packages (Volker E.)
- build: Update 'netlify-cli' to 17.38.1 (Volker E.)
- build: Update 'vue-docgen-cli' to 4.79.0 (Volker E.)
- build: Update 'concurrently' to 9.1.2 (Volker E.)
- build: Update '@rollup/plugin-typescript' to 12.1.2 (Volker E.)
- build: Update `@typescript-eslint` plugins to 8.19.0 (Volker E.)
- build: Use new @import directive in jsdoc comments (Roan Kattouw)
## Documentation
- docs: Update component page styles to prepare for simplification (Anne Tomasevich)
- docs: Simplify Checkbox, Radio, and ToggleSwitch pages (Derek Torsani)
- docs: Simplify Combobox, SearchInput, Select, and TypeaheadSearch (Anne Tomasevich)
- docs: Simplify Button, ButtonGroup, Link, ToggleButton, and ToggleButtonGroup pages (Derek Torsani)
- docs: Simplify Tooltip, Tab, and Tabs pages (Derek Torsani)
- docs: Simplify Accordion, Card, InfoChip, Message, and ProgressBar pages (Derek Torsani)
- docs: Simplify Icon, Image, and Thumbnail pages (Derek Torsani)
- docs: Simplify Dialog and Table demo pages (Anne Tomasevich)
- docs: Simplify Menu, MenuItem, and MenuButton pages (Anne Tomasevich)
- docs: Simplify Field, Label, Lookup, and MultiselectLookup pages (Anne Tomasevich)
- docs: Simplify demo pages for TextInput, TextArea, and ChipInput (Anne Tomasevich)
- docs: Update Button, ToggleButton, and group demos (Anne Tomasevich)
- docs: Delete removed component page images (Anne Tomasevich)
- docs: Update and standardize anchor links (Anne Tomasevich)
- docs: Add changes to MenuItem page back in (Anne Tomasevich)
- docs: Remove references to deleted demo files (Anne Tomasevich)
- docs: Remove remaining demo text (Anne Tomasevich)
- docs: Enable local search (Anne Tomasevich)
- docs: Update ADR page titles to be clearer (Volker E.)
- docs, images: remove metadata from embedded images (Volker E.)
## Icons
- icons: Minor SVG optimization of 'logo-Wikiquote' (Volker E.)
- icons: Rename to 'fullscreen' and deprecate cdxIconFullScreen (Volker E.)
# 1.18.0 / 2024-12-10
## Features
- MultiselectLookup, ChipInput, InputChip: add readonly and disabled support (lwatson)
## Styles
- styles: Adjust decorative icons to use `@color-subtle` (Derek Torsani)
- Image: Add rootClasses and rootStyles (Anne Tomasevich)
- tokens, components: Add new tokens to support button styles also being updated (Derek Torsani)
- tokens: Add new tokens to support changes also made to unify interactive styles phase 2 (Derek Torsani)
- Select: unify form element styles (Eric Gardner)
- Select, MenuItem: Minor style adjustments (Derek Torsani)
## Code
- components: Unify console log messages to a single style (Volker E.)
- MultiselectLookup: Remove unneeded prop (Anne Tomasevich)
- Tooltip: Add guard clauses for undefined and empty string values (Doğu Abaris)
## Documentation
- Image: Add WIP Image and component (Doğu Abaris)
- docs: Add recent authors (>1 commit) and other contributors (Volker E.)
## New design tokens
- `mix-blend-mode-base`
- `mix-blend-mode-blend`
- `background-color-interactive--hover`
- `background-color-interactive--active`
- `background-color-progressive-subtle--hover`
- `background-color-progressive-subtle--active`
- `background-color-destructive-subtle--hover`
- `background-color-destructive-subtle--active`
# 1.17.0 / 2024-11-26
## Features
- TextArea: Expose native validation methods and events (Anne Tomasevich)
- TextInput: Emit the native DOM 'invalid' event (Itamar Givon)
- TextInput: Expose native constraint Validation API DOM methods (Itamar Givon)
## Styles
- styles, images: update outdated error color to match new color palette (Volker E.)
## Code
- Table: Simplify condition in getRowHeaderScope function (Doğu Abaris)
- build: Commit 'npm audit fix' changes to at least fix the criticals (Volker E.)
- build: Point to browserslist-config-wikimedia modern, not deprecated modern-es6-only (James D. Forrester)
- build: Upgrade eslint-config-wikimedia from 0.26.0 to 0.28.2, & auto-fix to pass (James D. Forrester)
- build: update 'svglint' to latest v3.1.0 (Volker E.)
- build: update 'svgo' to latest v3.3.2 (Volker E.)
## Documentation
- IconLookup: Clarify reactive data flow and update watcher (Eric Gardner)
- docs: Document native validation for TextInput (Anne Tomasevich)
- docs: Revise colors used for top graphic on Style Guide colors page (Derek Torsani)
## Icons
- icons: Add 'power' icon (Volker E.)
# 1.16.0 / 2024-11-13
## Features
- MenuButton: add support for custom menu items (lwatson)
- Field: add custom status message slots (lwatson)
## Styles
- tokens: Add new tokens for more interactive link styles (Derek Torsani)
- tokens: Adjust hover and active states for progressive and destructive (Derek Torsani)
- TablePager: Support CSS-only icons for pager buttons (Anne Tomasevich)
- Table: Support CSS-only sort icons (Anne Tomasevich)
- Table: Use colspan and basic table styles for empty state (Eric Gardner)
- tokens: Unify interactive styles phase 1 (Derek Torsani)
## New design tokens
- `color-visited--hover`
- `color-visited--active`
- `color-destructive--visited--hover`
- `color-destructive--visited--active`
- `background-color-interactive-subtle--hover`
- `background-color-interactive-subtle--active`
- `background-color-error-subtle--hover`
- `background-color-error-subtle--active`
- `border-color-interactive--hover`
- `border-color-interactive--active`
- `color-error--hover`
- `color-error--active`
## Code
- Lookup: Ensure input event on selection has correct value (Anne Tomasevich)
## Documentation
- docs: update the Figma library links (bmartinezcalvo)
- docs: Fix typo in field demo header (Anne Tomasevich)
# 1.15.0 / 2024-10-29
## Features
- Menu: Enable groupings of menu items (Anne Tomasevich)
- Menu components: Enable use of menu groups (Anne Tomasevich)
## Styles
- tokens: Apply new icon-status application tokens to infochip (Derek Torsani)
- tokens: Apply new icon-status application tokens to message (Derek Torsani)
- tokens: Update disabled tokens and add color-disabled-emphasized (Derek Torsani)
- tokens: Update red600 value and replace red600 application tokens with red700 (Derek Torsani)
- tokens: add and adjust status tokens (Derek Torsani)
- tokens: create border-color-error--active token (Derek Torsani)
## New design tokens
- `color-icon-error`
- `color-icon-warning`
- `color-icon-success`
- `color-icon-notice`
- `color-disabled-emphasized`
## Code
- IconLookup: Use Lookup component's `inputValue` prop (Anne Tomasevich)
- Table, i18n: improve caption message for a11y (lwatson)
- ToggleButton: add button type (lwatson)
## Documentation
- InfoChip: CSS-only demo with icon (lwatson)
- docs: ADR for native constraint validation (Anne Tomasevich)
- docs: Link to the menu group docs (Anne Tomasevich)
- docs: Set correct background color (Anne Tomasevich)
- docs: Update Lookup with suggestions demos to use groups (Anne Tomasevich)
- docs: implement new design for tokens table (lwatson)
- docs: include guidelines for grouping of items in a menu (bmartinezcalvo)
- docs: remove width and height from `thumbnail` type (lwatson)
- docs: reorganize VitePress override styles (lwatson)
- docs: update images using menus in the guidelines (bmartinezcalvo)
# 1.14.0 / 2024-10-16
## Features
- Menu: disable Tab keynav selection from multi-select menus (lwatson)
- Lookup: Add ARIA `role` to no result Lookup item (Arthur Taylor)
- LookupMultiselect, ChipInput: Improve floating menu UX (Anne Tomasevich)
- LookupMultiselect: Clear the input on selection (Anne Tomasevich)
- ChipInput: On chip click, show chip label or value (Anne Tomasevich)
- MultiselectLookup: Rename component (Anne Tomasevich)
- MultiselectLookup: Export component for use (Anne Tomasevich)
- Button: trigger actual click on key interaction (Anne Tomasevich)
## Styles
- styles, ChipInput: fix separate input's disabled state (lwatson)
- tokens: Amend focus colors for dark mode (Volker E.)
- ChipInput: Make input background transparent (Anne Tomasevich)
## Code
- Menu: minor update test file (lwatson)
- MultiselectLookup: Handle race condition when editing chip (Anne Tomasevich)
## Documentation
- Lookup, LookupMultiselect: Refactor demo pages (Anne Tomasevich)
- docs: include MultiselectLookup guidelines (bmartinezcalvo)
- docs: update Lookup guidelines (bmartinezcalvo)
- docs: Fix typo in Menu keyboard nav docs (Anne Tomasevich)
- docs: Add error and warning messages to LookupField (Anne Tomasevich)
- docs: Fix style class name in Developing Components guide (Volker E.)
- docs: Add error and warning messages to MultiselectLookupField (Anne Tomasevich)
- docs: Fix typo in MultiselectLookup field demo (Anne Tomasevich)
# 1.13.1 / 2024-10-01
## Features
- LookupMultiselect: Add WIP component (Anne Tomasevich)
## Styles
- tokens: Fix `outline-color-progressive--focus` value (Volker E.)
## Icons
- icons: Add new external link icon (lwatson)
## Code
- Menu: key nav scrolls menu items into view (lwatson)
## Documentation
- docs: Remove 'color update' banner from Colors page (Volker E.)
- Radio, Checkbox: Update status prop documentation (Anne Tomasevich)
- docs: minor updates to releasing.md (lwatson)
# 1.13.0 / 2024-09-17
## Features
- MenuItem: multiselect check icon (lwatson)
- Lookup: Only clear selection on input if there is one (Anne Tomasevich)
- Radio: Add error handling (Volker E.)
- tokens: Expand color palette (Derek Torsani)
## Styles
- Message: Prevent content from being wider than the container (Bartosz Dziewoński)
- styles, Thumbnail: set background color for visibility in dark mode (lwatson)
## Code
- build: Fix npm-shrinkwrap dependency (Volker E.)
- build: upgrade browserslist-db to 1.0.30001660 (Volker E.)
## Documentation
- docs: reorder MenuItem's config demo props (lwatson)
- docs: update menu item guidelines (bmartinezcalvo)
- docs: Update Colors page of the Style Guide (Anne Tomasevich)
- docs: Link to WebAIM using HTTPS (Lucas Werkmeister)
- demo, Radio, Checkbox: custom input CSS-only version (lwatson)
- docs: Add basic usage instructions for dark mode tokens (Eric Gardner)
- docs: Update RELEASING.md to include core Jest dependency updates (Volker E.)
- docs: Fix whitespace according to coding conventions and HTML5 syntax (Volker E.)
- docs: include error states in Combobox, Lookup, and Radio (bmartinezcalvo)
- docs: Update all color mentions to use the new color names (Volker E.)
- docs: Update images and illustrations to new colors (Volker E.)
# 1.12.0 / 2024-09-04
## Deprecating Changes
- This release deprecates the `initialInputValue` prop of the Lookup component.
This prop will be removed in the next major release of Codex (v2.0). In the
meantime it is recommended that users stop using this prop in their own code;
the new `inputValue` prop should be used instead. See the Lookup component's
documentation for more information.
## Features
- ChipInput: Add optional modelValue and chipValidator props (Anne Tomasevich)
- ChipInput: Add ARIA live region (Volker E.)
- Lookup: always clear the selection when the input changes (Anne Tomasevich)
- Lookup: Add optional inputValue and deprecate initialInputValue (Anne Tomasevich)
- demo, Combobox, Lookup: error state (lwatson)
## Styles
- Link: Don't accidentally style thumbnail placeholder icons (Anne Tomasevich)
- Table: Improve column headings with sort (Anne Tomasevich)
- Table: Align column heading content to the bottom (Anne Tomasevich)
- Message: Set icon height in ems (Anne Tomasevich)
- Generate bi-directional Codex stylesheets using PostCSS RTLCSS (Eric Gardner)
## Code
- Fix variable passing in branch-deploy.sh (Roan Kattouw)
- tests: Don't use .trigger( 'keydown.enter' ) (Roan Kattouw)
- Tabs: make 2-way binding of active tab optional (Eric Gardner)
- Lookup: Make unit tests more realistic when inputting text (Anne Tomasevich)
## Documentation
- RELEASING.md: Update instructions to add make-cdx command (Roan Kattouw)
- docs: update releasing docs (lwatson)
- docs: update MenuItem interaction states (bmartinezcalvo)
- docs: update Field guidelines (bmartinezcalvo)
- docs: Also protect against VitePress styles in dialogs (Roan Kattouw)
- docs: update design contribution guidelines (bmartinezcalvo)
- docs: Highlight deprecated props in the props table (Anne Tomasevich)
- docs: Fix typos in types.ts: correct minor documentation errors (Doğu Abaris)
- docs: Fix typo in constants.ts: correct "avialable" to "available" (Doğu Abaris)
- docs: Add ADR 11 (Eric Gardner)
# 1.11.1 / 2024-08-20
## Features
- tokens: Add color-base-fixed application token (Derek Torsani)
- Table: CSS-only Pagination (NunyaKlah)
- ButtonGroup, ToggleButtonGroup: handle arrow key navigation (Anne Tomasevich)
## Styles
- Table: sortable columns inherit font styles (Lauralyn Watson)
## Code
- i18n: Build a JSON file for use in MW from Codex message keys (Eric Gardner)
- Radio, Checkbox: clean up HTML (Lauralyn Watson)
- ChipInput.vue: rootElement.value can be undefined, use nullcheck (Daphne Smit)
## Documentation
- docs: Use Codex colors for links within content (Anne Tomasevich)
- docs: Add test for getFormattedDate (Anne Tomasevich)
- docs: Update ValidationMessages type to include new properties (Anne Tomasevich)
- docs: Add support for @default tag for props, and use in Table (Roan Kattouw)
- docs: Don't attempt to link to NaN as if it's a type (Roan Kattouw)
- docs: Limit width of some tables (Anne Tomasevich)
- docs: Use new `@default` tag for object props (Anne Tomasevich)
- docs: update the Config Demo to support Select/Dropdown (Lauralyn Watson)
- docs: Use select control in Tooltip demo (Anne Tomasevich)
- docs: Use "placement" in Tooltip docs (Anne Tomasevich)
- docs: Enable dark mode and mode switching (Anne Tomasevich)
- docs: Show dark mode colors in the color tokens demo (Anne Tomasevich)
- docs: Remove unneeded colors in Rules usage (Anne Tomasevich)
# 1.11.0 / 2024-08-07
## Features
- Basic Table pagination and TablePager component (Eric Gardner)
- Table: Server-side pagination (Eric Gardner)
- Radio, Checkbox: enable nested custom inputs (lwatson)
## Styles
- Table: Fix sort icon spacing (Anne Tomasevich)
- Table: Fix alignment of sort button contents (Anne Tomasevich)
- Button: Remove min-width for non-icon-only buttons (Anne Tomasevich)
## Code
- useI18nWithOverride: Add documentation comment (Roan Kattouw)
- useI18n: Use WatchSource instead of MaybeRef for parameters (Roan Kattouw)
- i18n: Make the system more type-safe (Eric Gardner)
- FloatingUI: Use default fallbackStrategy (Anne Tomasevich)
## Documentation
- docs: include interaction states guidelines for Table's pagination (bmartinezcalvo)
- Reapply "docs: include guidelines for custom input within Radio and Checkbox" (LWatson)
- Reapply "docs: include table pagination guidelines" (LWatson)
- demo, Checkbox, Radio: add validation to demos (lwatson)
- docs: Add test cases for button flex behavior (Anne Tomasevich)
- demo: Fix Combobox section markup to be valid (Volker E.)
## New i18n Messages
- cdx-table-pager-button-first-page
- cdx-table-pager-button-last-page
- cdx-table-pager-button-next-page
- cdx-table-pager-button-prev-page
- cdx-table-pager-items-per-page-current
- cdx-table-pager-items-per-page-default
- cdx-table-pagination-status-message-determinate-long
- cdx-table-pagination-status-message-determinate-short
- cdx-table-pagination-status-message-indeterminate-short
- cdx-table-pagination-status-message-indeterminate-long
- cdx-table-pagination-status-message-indeterminate-final
- cdx-table-pagination-status-message-pending
# 1.10.0 / 2024-07-25
## Features
- useI18n: Add useI18nWithOverride and use in SearchInput (Roan Kattouw)
## Styles
- Link: Use `:focus-visible` when links are focused by keyboard (Volker E.)
## Code
- Button, ToggleButton: improve keypress event handling (Eric Gardner)
- Dialog: restore focus to previously-focused element on close (Eric Gardner)
- Dialog, Label, Message: use useI18nWithOverride composable (lwatson)
- useI18n: Simplify unit tests (Roan Kattouw)
## Documentation
- Message: fix demo's usage of `allowUserDismiss` prop (lwatson)
- docs: clarify usage of ToggleButtonGroup and Tabs (bmartinezcalvo)
- demo: Remove wrong disabled Accordion example (Volker E.)
- docs: Fix links to TextInput props docs (Anne Tomasevich)
- docs: include guidelines for combobox types (bmartinezcalvo)
- docs: Add developer docs on i18n system (Anne Tomasevich)
- demo: Add Table demo with row actions (Anne Tomasevich)
# 1.9.0 / 2024-07-10
## Features
- useI18n: Add basic i18n system (Roan Kattouw)
## Styles
- tokens: Update diff colors (Derek Torsani)
## Code
- Tooltip: add snapshot tests (lwatson)
- TypeaheadSearch: replace `searchResultsLabel` prop with i18n (lwatson)
- Table: replace string props with i18n (lwatson)
- Dialog: Use i18n, add `useCloseButton` prop (Roan Kattouw)
- ChipInput, InputChip: Remove chipAriaDescription prop, replace with i18n (Roan Kattouw)
- Message: Add useI18n and update dismissButtonLabel prop (Anne Tomasevich)
- TypeaheadSearch, Search Input: add `useButton` prop (lwatson)
- Field, Label: use i18n, add `optional` prop (lwatson)
- css-icon: Add basic support for custom icons (Roan Kattouw)
- build: Add SVGO plugin to remove whitespace in icons `title` tag (Volker E.)
## Icons
- icons: Drop `fill-rule` argument from 'appearance' icon (thiemowmde)
- icons: Re-draw 'appearance' icon for most minimal file size (thiemowmde)
## Documentation
- docs: add i18n function type (lwatson)
- docs: Update Field guidelines (bmartinezcalvo)
- docs: Standardize descriptions of props with default strings (Anne Tomasevich)
- docs: clarify field's placeholder content (bmartinezcalvo)
- docs: add link to Codex Figma spec in the Table guidelines (bmartinezcalvo)
- docs: Elaborate on Tooltip guidelines (Derek Torsani)
- docs: Add ADR for i18n support (Anne Tomasevich)
# 1.8.0 / 2024-06-25
## Breaking Changes
- [BREAKING] tokens: Remove remaining deprecated `width-*` breakpoint tokens (Volker E.)
- [BREAKING] tokens: Remove CSS variables for border- tokens (Roan Kattouw)
## Features
- Table: add empty state (lwatson)
- Tooltip: Introduce WIP component (directive) (Eric Gardner)
- Menu, MenuItem: Add multiselect mode (Anne Tomasevich)
- Tooltip: Allow tooltip to persist on hover (Eric Gardner)
- Tooltip: add line-height (lwatson)
- Tooltip: move out of WIP (lwatson)
## Styles
- tokens: Update dark mode text tokens (Derek Torsani)
- styles, Tooltip: add animation and max-width (lwatson)
- css-icon: Don't crash when `@param-size-icon` is a non-standard value (Roan Kattouw)
- tokens: Use variable references in Sass, Less and full CSS outputs (Roan Kattouw)
## Code
- Remove redundant ‘https’ term in card.md (Cyndy)
- build: Update diff-release.sh for the .mjs -> .js rename (Roan Kattouw)
- ChipInput: Make chip descriptions optional (Anne Tomasevich)
- Menu: Refactor tests using given-when-then structure (Anne Tomasevich)
- Table: minor follow-ups (Anne Tomasevich)
- tokens: Use transform instead of custom formatter for Less with CSS vars (Roan Kattouw)
## Documentation
- docs, ChipInput: Remove remove-button-label prop from examples (Roan Kattouw)
- docs: Add recent authors (>1 commit) (Anne Tomasevich)
- docs: Document Jest pitfall around optional parameters (Roan Kattouw)
- docs, Tooltip: update demos (lwatson)
- Tooltip: Add basic guidelines (Eric Gardner)
- docs: Fix typo in Jest pitfall docs (Roan Kattouw)
# 1.7.0 / 2024-06-11
## Deprecating changes
- [DEPRECATING CHANGE] icons: Unify capitalization (Winston Sung)
This release renames `cdxIconWikiText` to `cdxIconWikitext`, and
`cdxIconNoWikiText` to `cdxIconNoWikitext`. The old names are deprecated,
but can still be used.
## Features
- MenuButton: Publish the MenuButton component (Lauralyn Watson)
- Radio: Add disabled+selected state styles (akiel)
- tokens: Update `content-added` and `content-removed` token values (Derek Torsani)
## Styles
- tokens: Make CSS variable output include references (Roan Kattouw)
- tokens: Don't reformat tokens without references (Roan Kattouw)
## Code
- build: Remove unneeded filename prefix (Anne Tomasevich)
- demos: Add Vue version of disabled Radio group (Anne Tomasevich)
- tokens: Move font-family theme tokens to work around SD bug (Roan Kattouw)
- generateMWExamples: Fix script on Windows (Bartosz Dziewoński)
- ToggleButton: Use component name in icon-only warning (Anne Tomasevich)
- MenuButton: update the maximum width (Lauralyn Watson)
- MenuButton: refactor the API for consistency (Lauralyn Watson)
- MenuButton: Remove unnecessary `../components/` in import paths (Roan Kattouw)
## Documentation
- docs: remove `export` from public types (Lauralyn Watson)
- docs: add MenuButton to Menu docs (Lauralyn Watson)
- docs: add MenuButton demos (Lauralyn Watson)
- docs: update "Content" recommendations (Bárbara Martínez Calvo)
- docs: clean up MenuButton demo files and demo order (Anne Tomasevich)
- docs: make small corrections in “Bidirectionality” guidelines (Bárbara Martínez Calvo)
- docs, MenuButton: demo a selection triggering an action (Lauralyn Watson)
- docs, MenuButton: update demos based on design feedback (Lauralyn Watson)
- docs: update MenuButton max-width in the guidelines (Bárbara Martínez Calvo)
- docs: update MenuButton's "Component limitations" guidelines (Bárbara Martínez Calvo)
# 1.6.1 / 2024-05-29
## Features
- Table: Update indeterminate behavior of "select all rows" checkbox (lwatson)
- Table: Update a11y text for sort order (Anne Tomasevich)
- Table: update select row label (lwatson)
- Table: update checkbox label in CSS-only version (lwatson)
- MenuButton: implement new component (Dan Andreescu)
- MenuButton: Minor code cleanup (Roan Kattouw)
## Styles
- Table, styles: Add transition properties to the sort button (lwatson)
- Table: Improve multiline sortable column headings (Anne Tomasevich)
- Table: fix border when hidden caption and vertical borders are enabled (lwatson)
- Table: Improve wrapping behavior of Table header (Anne Tomasevich)
## Code
- build: Make the prepare-release script pin the icons dependency (Roan Kattouw)
- build: Update eslint config for the correct Vue version (Roan Kattouw)
- build: Update Vue, Vite and Vitepress, and related dependencies (Eric Gardner)
- build: Publish the sandbox on doc.wikimedia.org (Roan Kattouw)
- build: Move "npm run branch-deploy" into its own bash script (Roan Kattouw)
- build: Upgrade browserslist-config-wikimedia to 0.7.0 (James D. Forrester)
- components: Remove unnecessary `../components/` in import paths (Roan Kattouw)
## Documentation
- demos: Clean up DemoBaseLayout code (Roan Kattouw)
- demos: Use DemoBaseLayout for the table demos page (Roan Kattouw)
- docs: include "Content overflow" guidelines (bmartinezcalvo)
- docs: improve titles within components guidelines (bmartinezcalvo)
- docs: Clean up borders post-VitePress-update (Anne Tomasevich)
- docs: Add syntax highlighting to code examples that didn't have it (Roan Kattouw)
- docs: Remove double `dir` attribute on sandbox subpages (Roan Kattouw)
- docs: update info in the design contribution guidelines (bmartinezcalvo)
- docs: fix image in the fade don't example (bmartinezcalvo)
- docs: include MenuButton guidelines (bmartinezcalvo)
# 1.6.0 / 2024-05-15
## Deprecating Changes
- [DEPRECATING CHANGE] Checkbox, Radio, ToggleSwitch: Always use Label component in CSS-only version (Roan Kattouw)
## Features
- Table: Move out of WIP (Anne Tomasevich)
- Table: Add slots for custom table elements (Anne Tomasevich)
- Table: Add basic CSS-only component and clean up markup (Anne Tomasevich)
- Table: CSS-only row header, vertical borders, hidden caption (lwatson)
- Table: Add guidelines (Anne Tomasevich)
- Table: sortable table headers wrap a button (lwatson)
- Table: Add `textAlign` option for numbers (Anne Tomasevich)
- Table: Enable sorting with row selection (Anne Tomasevich)
## Styles
- ChipInput, styles: Implement error-hover state (Volker E.)
- Table, styles: Use `color-subtle` for all sorting arrow icons (Volker E.)
- Table, styles: Apply `text-align` to `th` elements only (Volker E.)
- styles: prog/dest prim buttons should not invert icons in dark mode (Derk-Jan Hartman)
- styles: Don't wrap `kbd` text (Volker E.)
- tokens: Revise component tokens for Link to work with dark mode (Derek Torsani)
- tokens: Update blue800 value (Derek Torsani)
## Code
- Checkbox: Add name prop for submittable forms (akiel)
- Table: Clean up types and styles (Anne Tomasevich)
- Table: Fix sandbox demos using default slot (Anne Tomasevich)
- Table: Add demo page (Anne Tomasevich)
- Table: Add demo of CSS-only row selection (Anne Tomasevich)
- Table: Clean up styles and CSS classes (Anne Tomasevich)
- Table: Clean up alignment classes (Anne Tomasevich)
- Table: Miscellaneous cleanup (Roan Kattouw)
- Table: Hide visible caption from assistive technology (Anne Tomasevich)
- Table: fix caption when column headers with buttons are sortable (lwatson)
- Revert "Table: Add special class to force vertical borders" (Anne Tomasevich)
- demos: Remove `// @vue/component` from MW demos (Roan Kattouw)
- demos: add `scope` to table headers in TableWithSlots example (lwatson)
- sandbox: Centralize the header and layout into DemoBaseLayout (Derk-Jan Hartman)
- build: update vue-tsc dependency (Eric Gardner)
- build: Update @vitejs/plugin-vue (Eric Gardner)
- build: Introduce a general build command with reference (Volker E.)
## Documentation
- docs: update docker command in releasing doc (lwatson)
- docs, styles: Increase `z-index` on open flyout menu (nbarnabee)
- docs: include bidirectionality guidelines (bmartinezcalvo)
- docs: Expand BEM section on child element block naming logic (Volker E.)
- docs: Add spacing between paragraphs and lists in custom blocks (Anne Tomasevich)
- docs: Unify on "sub-components" (Volker E.)
- docs: include error-hover state in Select, ChipInput and TextArea guidelines (bmartinezcalvo)
- docs: Amend guideline references and AT notes (Volker E.)
- docs, vscode: add rewrap to recommended extensions (Volker E.)
- docs: fix "Interaction states" images in Select, ChipInput and TextArea (bmartinezcalvo)
- docs: Add reference to Table guidelines (Anne Tomasevich)
- RELEASING.md: LibraryUpgrader config repo has just moved to GitLab (James D. Forrester)
# 1.5.0 / 2024-04-30
## Features
### CSS variables and dark mode support
Codex design tokens and component styles now use CSS variables for all
color-related design tokens. This change has been made in order to provide
support for an alternate "dark mode" color palette. In
@wikimedia/codex-design-tokens, new files have been introduced to provide
default (light mode) and dark versions of Codex color tokens:
theme-wikimedia-ui-root.css and theme-wikimedia-ui-mode-dark.css, respectively.
The theme-wikimedia-ui.less file can continue to be used independently of these
new CSS variable files.
### Other features
- Table: add sort icon (lwatson)
- Checkbox: Allow label to be visually hidden (Anne Tomasevich)
- Table: Add prop to show vertical borders (Volker E.)
- Table: Add special class to force vertical borders (Anne Tomasevich)
- Table: Add width and minWidth to column definitions (Anne Tomasevich)
- Table: Add row selection (Anne Tomasevich)
- Table: add single sort (lwatson)
## Styles
- tokens: Add decision tokens for content added and removed (Derek Torsani)
- Select, TextArea, TextInput: Implement error hover feedback (Volker E.)
## Code
- build: update 'svglint' to latest (Volker E.)
- build, tokens: Remove all logic for the legacy build (Eric Gardner)
- build, tokens: Fold the "experimental" build into the standard build (Eric Gardner)
- build, tokens: provide a "mode reset" mixin (Eric Gardner)
- demo: Add dark mode toggle to sandbox (Roan Kattouw)
- demo: Add a framed toggle to the Tabs sandbox (Roan Kattouw)
## Documentation
- docs: Include new error-hover state in the “Interaction states“ image (bmartinezcalvo)
- docs: expand commands in RELEASING.md and build scripts (Volker E.)
# 1.4.0 / 2024-04-16
## BREAKING CHANGES
- [BREAKING] tokens: Remove deprecated breakpoint tokens (Volker E.)
- [BREAKING] tokens: Remove deprecated tokens without replacement (Volker E.)
This release removes the following deprecated design tokens:
- `background-color-primary--hover`
- `position-offset-input-radio--focus`
- `wmui-color-modifier-blue600-translucent`
- `width-breakpoint-desktop-wide`
- `width-breakpoint-desktop-extrawide`
## Features
- Field: Add additional class if it's a `fieldset` (Volker E.)
## Styles
- styles: adjust component colors for dark mode to work (lwatson)
- tokens, docs: Change any red focus color to progressive blue (Derek Torsani)