Skip to content

feat(dialtone-css, dialtone-documentation): DLT-3363 add theme-to-mode migration guide and codemod - #1260

Merged
Belu Montoya (belumontoya) merged 5 commits into
nextfrom
feat/dlt-3363-theme-to-mode-migration-guide
May 20, 2026
Merged

feat(dialtone-css, dialtone-documentation): DLT-3363 add theme-to-mode migration guide and codemod#1260
Belu Montoya (belumontoya) merged 5 commits into
nextfrom
feat/dlt-3363-theme-to-mode-migration-guide

Conversation

@belumontoya

@belumontoya Belu Montoya (belumontoya) commented May 8, 2026

Copy link
Copy Markdown
Contributor

🛠️ Type Of Change

  • Feature
  • Documentation

📖 Jira Ticket

DLT-3363

📖 Description

Adds a migration guide and codemod for consumers moving from the legacy setTheme() theming API to the new layered API (setMode / setBrand / setContrast / initDialtoneTheme) shipping in next.

What's new

  • New migration guide page at /guides/migration/theme-to-mode/ covering the deprecation, root attribute changes (data-dt-themedata-dt-mode + data-dt-brand + data-dt-contrast), and recommendation to adopt the v-dt-mode directive for inverted regions.
  • New theme-to-mode config in dialtone-migration-helper. Run with npx dialtone-migration-helper --cwd ./src and select theme to mode.
  • 36 node:test cases covering each codemod transformation plus edge cases.

What's patched (existing docs)

  • guides/theme-and-mode/index.md — fixed 5 stale module paths (@dialpad/dialtone/themes/config@dialpad/dialtone-tokens/themes/config) and added a cross-link to the new dedicated migration guide.
  • guides/getting-started/index.md — same module path fix on the Quick Start example.
  • dialtone/whats-new/posts/2024-8-1.md[!WARNING] notice block at the top redirecting readers to the new migration guide. Body unchanged (historical post).

💡 Context

Without this guide, consumers adopting next will hit silent breakage in three places: call sites still importing setTheme from the old @dialpad/dialtone module path, JS code reading data-dt-theme from the root, and CSS using [data-dt-theme=...] selectors. The codemod handles the obvious patterns; the guide explains the rest (especially the manual review needed for data-dt-theme="invert" regions, where a static rewrite is unsafe because the v-dt-mode directive resolves dynamically against the live parent mode).

Codemod scope

  • Import path: @dialpad/dialtone/themes/<name>@dialpad/dialtone-tokens/themes/<name> (filename unchanged).
  • setTheme(KnownTheme)initDialtoneTheme(KnownTheme, 'mode') for the eight legacy theme identifiers (Dp/Tmo/Expressive/ExpressiveSm × Light/Dark).
  • setTheme(dynamicVar) → preserved + leading // TODO comment for manual review (no AST means we can't safely rewrite).
  • data-dt-themedata-dt-mode in HTML attributes, JS setAttribute/getAttribute calls, CSS attribute selectors.
  • [data-dt-theme="invert"] CSS selectors → flagged with a /* TODO */ comment for v-dt-mode adoption review.

Negative-case coverage: data-dt-theme-x longer attributes, myObj.setTheme() unrelated methods, and already-migrated imports are all left untouched.

What's NOT included (separate Jiras to be created)

  • ESLint rule for setTheme deprecation
  • Stylelint rule for [data-dt-theme] selectors
  • Removal of setTheme from the source
  • Regenerating the stale dist/types/themes/config.d.ts (only declares legacy setTheme)

📝 Checklist

  • I have ensured no private Dialpad links or info are in the code or pull request description.
  • I have reviewed my changes.
  • I have added all relevant documentation.
  • I have considered the performance impact of my change.

- new migration guide at guides/migration/theme-to-mode/ covering
  setTheme deprecation, layered API (setMode/setBrand/setContrast/
  initDialtoneTheme), data-dt-theme → data-dt-mode attribute split
- migration index entry + Quick Start step + sidebar nav
- surgical fixes to theme-and-mode and getting-started reference
  docs that still imported from @dialpad/dialtone/themes/config
- redirect notice on the 2024-8-1 whats-new post
regex-based codemod that consumers run via:
  npx dialtone-migration-helper --cwd ./src
  # Select "theme to mode"

covers:
- import path: @dialpad/dialtone/themes/* → @dialpad/dialtone-tokens/themes/*
- setTheme(KnownTheme) → initDialtoneTheme(KnownTheme, 'mode') for the
  eight legacy theme identifiers (Dp/Tmo/Expressive/ExpressiveSm × Light/Dark)
- setTheme(dynamic) → preserved with TODO comment for manual review
- data-dt-theme → data-dt-mode in HTML attrs, JS setAttribute calls,
  CSS attribute selectors
- [data-dt-theme="invert"] CSS selectors flagged with TODO comment
  for v-dt-mode adoption review

36 node:test cases covering each transformation plus edge cases
(longer attribute names, unrelated method calls, dynamic args)
@coderabbitai

coderabbitai Bot commented May 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: 8ca32fe4-08dd-40f2-b10c-5c776018d234

📥 Commits

Reviewing files that changed from the base of the PR and between a7f76f5 and 8b226fa.

📒 Files selected for processing (2)
  • apps/dialtone-documentation/docs/guides/migration/index.md
  • apps/dialtone-documentation/docs/guides/migration/theme-to-mode/index.md

Adds a migration guide and codemod to move from deprecated setTheme() to the layered API (initDialtoneTheme, setMode, setBrand, setContrast, setMaterial); updates docs, tests, and removes incorrect import-path rewrites; flags invert selectors for manual review.

Overall Judgement: ✅ Ready to merge — P0 import-path and P1 Material issues were fixed, tests updated, and remaining items are documentation-facing or review TODOs.

Walkthrough

Adds a "Theme to Mode" migration guide and site nav entry, implements a migration-helper config that rewrites legacy setTheme()/data-dt-theme patterns to the layered theming API, and adds test examples and a test suite validating the transformations.

Changes

Theme-to-Mode Migration: Guide and Helper

Layer / File(s) Summary
Migration guide documentation and site integration
apps/dialtone-documentation/docs/_data/site-nav.json, apps/dialtone-documentation/docs/guides/migration/index.md, apps/dialtone-documentation/docs/dialtone/whats-new/posts/2024-8-1.md, apps/dialtone-documentation/docs/guides/migration/theme-to-mode/index.md
Navigation, migration index, and deprecation warning updated. New comprehensive guide documents the breaking change, explains startup migration to initDialtoneTheme(Dp, 'light'), runtime mode switching via setMode('dark'), brand changes, contrast toggling, material application, and attribute/selector rewrites from data-dt-theme to data-dt-mode. Includes special handling for invert cases requiring manual v-dt-mode directive adoption.
Migration helper configuration and transformation rules
packages/dialtone-css/lib/build/js/dialtone_migration_helper/configs/theme-to-mode.mjs
Regex transformation rules rewrite setTheme(KnownLight|KnownDark) to initDialtoneTheme(identifier, 'light'|'dark'), preserve dynamic calls with TODO markers, rename data-dt-theme to data-dt-mode across HTML/Vue/JSX attributes, JavaScript setAttribute/getAttribute/removeAttribute/hasAttribute calls, and CSS selectors, and flag invert selectors for manual review.
Migration helper test examples and validation
packages/dialtone-css/lib/build/js/dialtone_migration_helper/tests/theme-to-mode-test-examples.vue, packages/dialtone-css/lib/build/js/dialtone_migration_helper/tests/theme-to-mode.test.mjs
Vue example demonstrates legacy data-dt-theme="light" and setTheme imports/calls. Node.js test suite validates setTheme() rewrites, HTML attribute migrations, JavaScript API rewrites, CSS selector transformations, and invert value handling with TODO insertion.

Suggested labels

no-visual-test

Suggested reviewers

  • francisrupert
  • braddialpad
  • ninarepetto
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/dlt-3363-theme-to-mode-migration-guide

Comment @coderabbitai help to get the list of available commands and usage tips.

@francisrupert

Copy link
Copy Markdown
Contributor

Belu Montoya (@belumontoya) I know you're still in Draft mode, but I figured I'd jump in since I merged #1252 and this is now more meaningfully out of date than just merge conflicts:

  1. Opposite import-path direction. 1260 migrates consumers toward @dialpad/dialtone-tokens/themes/config. The work that just merged to next standardized toward @dialpad/dialtone/themes/config meta-package. Its docs now contradict the migration guide.
  2. Documents a 3-dimensional theming system when there are now 4. Material is the new dimension, and should be added to the migration guide.

The codemod's setTheme → initDialtoneTheme and data-dt-theme → data-dt-mode rewrites are still correct (the legacy API hasn't moved). Only the import-path rewrite and the "what does the new system look like" framing are stale.

What's stale

Direction conflict: meta vs. sub-package

PR #1260's "What Changed" table claims:

Before After
Import path @dialpad/dialtone/themes/config @dialpad/dialtone-tokens/themes/config

This direction is exactly backwards relative to what landed on next. The just-merged refactor standardized theme-and-mode/index.md, getting-started/index.md, README.md, and the architecture doc all on @dialpad/dialtone/themes/config. The migration guide and codemod tell users to do the opposite.

The codemod (packages/dialtone-css/lib/build/js/dialtone_migration_helper/configs/theme-to-mode.mjs, lines 47–50):

{                                                                                                                                                                                                                                                                                                                      
  from: /(['"])@dialpad\/dialtone\/themes\//g,                                                                                                                                                                                                                                                                           
  to: (_match, quote) => `${quote}@dialpad/dialtone-tokens/themes/`,                                                                                                                                                                                                                                                     
},                                                                                                                                                                                                                                                                                                                       

This expression moves consumers in the wrong direction. Anyone who runs npx dialtone-migration-helper after the PR ships ends up on a path the freshly-updated docs say not to use.

File-level merge conflicts on rebase

PR #1260 changes three locations against files that just got merged:

  • guides/getting-started/index.md line 35: @dialpad/dialtone/themes/config@dialpad/dialtone-tokens/themes/config. Conflict. The merged change leaves it on the meta-package.
  • guides/theme-and-mode/index.md lines 29, 62, 71, 82, 248: 5 imports flipped meta → sub. Conflict. The merged change standardized all on meta.
  • guides/theme-and-mode/index.md lines 211–214: adds an [!INFO] cross-link block in the Migrating-from-Legacy section. Possible context drift. The merged change simplified the surrounding section; the chosen anchor may need adjustment, but the cross-link itself is fine.

Migration guide content gaps

The new file guides/migration/theme-to-mode/index.md (281 lines) needs material added in five places:

  1. TLDR section. Lists the new API as initDialtoneTheme() for startup, setMode() / setBrand() / setContrast() for runtime switching. Missing setMaterial().
  2. "Why" section. Lists three orthogonal dimensions (Mode, Brand, Contrast). Missing the fourth (Material) and its rationale.
  3. "What Changed" table. The Import path row is wrong-direction post-merge (should be removed). No data-dt-material row. No row for setMaterial.
  4. "Root attribute" section's HTML example shows <html data-dt-mode="light" data-dt-brand="dp" data-dt-contrast="default">. Missing data-dt-material="sandstone".
  5. "Quick Checklist" mentions smoke-testing mode, brand, contrast. No mention of material.

The guide also does not mention brand-locked materials, getBrandMaterial / hasBrandMaterialLock, the setBrand side effect, or the attribute-only switching mechanism. These aren't strictly required for migration from legacy, but the guide reads as a "current state of the new system" reference, which migrators will treat as authoritative.

What's still correct

The setTheme → initDialtoneTheme rewrites for the 8 legacy identifiers (DpLight / DpDark / TmoLight / TmoDark / Expressive ×4), the data-dt-theme → data-dt-mode HTML/JS/CSS rewrites, the v-dt-mode adoption guidance for data-dt-theme="invert" regions, the 36 codemod test cases, and the "Manual Review for v-dt-mode Candidates" section are all unchanged in correctness. The just-merged work didn't touch the legacy API or mode handling, so most of the PR's value is preserved.

What needs to happen, in priority order

P0: Direction reconciliation (blocks merge cleanly)

Choose: meta-package (where the merged change landed) or sub-package (PR #1260's current direction). Since the meta-package version is already merged to next, defending that direction is the lower-friction path:

  • Remove the import-path rewrite expression from the codemod (from: /(['"])@dialpad\/dialtone\/themes\//g).
  • Drop the "Import path" row from the migration guide's "What Changed" table.
  • Drop the "Import path" Before/After code block in the migration guide (~lines 60–90 of the new file).
  • Drop the "Theme JSON imports" Before/After block (~lines 92–124). The legacy theme-module paths can stay on whatever package they're on; the codemod no longer touches them.
  • Drop import { setContrast } from '@dialpad/dialtone-tokens/themes/config' from the Contrast Before/After example; revert to meta-package.
  • Reconcile the 6 conflicting line-changes in getting-started/index.md and theme-and-mode/index.md. They become no-ops after rebase.
  • Update relevant codemod test cases that asserted the import-path rewrite happens.

P1: Add material as a 4th dimension to the migration guide

  • Update TLDR and "Why" sections: 3 dimensions → 4.
  • Add setMaterial to the function list.
  • Add data-dt-material row to "What Changed" table.
  • Add data-dt-material="sandstone" to the HTML root-element example.
  • Add Material to the smoke-test checklist.

P2: Optional contextual additions

  • Brief paragraph on brand-locked materials with a cross-link to /guides/theme-and-mode/#brand-locked-materials.
  • Note that material switching is attribute-only (vs. brand/contrast injection).

@wiz-inc-55b470eb7e

This comment was marked as resolved.

@belumontoya
Belu Montoya (belumontoya) force-pushed the feat/dlt-3363-theme-to-mode-migration-guide branch from 2331c56 to 916971c Compare May 19, 2026 20:42
@belumontoya

Copy link
Copy Markdown
Contributor Author

Thanks Francis Rupert (@francisrupert) — pushed a commit addressing this. Summary of what changed:

P0 — direction reconciliation ✅

Verified against origin/next: meta-package (@dialpad/dialtone/themes/) is the canonical direction post-#1252. Removed the wrong-direction rewrite from the codemod and the guide.

Codemod (packages/dialtone-css/lib/build/js/dialtone_migration_helper/configs/theme-to-mode.mjs)

  • Removed expression ci: test #1 (the @dialpad/dialtone/themes/@dialpad/dialtone-tokens/themes/ rewrite)
  • Renumbered the remaining 6 expressions and updated the header docstring

Codemod tests (theme-to-mode.test.mjs)

  • Removed the 11 import-path test cases (the describe('import path: ...') block). 25/25 remaining tests pass.

Migration guide (guides/migration/theme-to-mode/index.md)

  • Removed the "Import path" bullet from the TLDR
  • Removed the "Import path" row from the "What Changed" table
  • Removed both ### Import path and ### Theme JSON imports Before/After sections
  • Reverted the setContrast/HighContrast import in the Contrast example back to the meta-package

guides/theme-and-mode/index.md — fixed one leftover sub-package reference on line 90 (setMode import). The rest of the file was already on the meta-package after the merge from next.

guides/getting-started/index.md — no changes needed; already on the meta-package.

P1 — Material as 4th dimension ✅

Added Material in five places in the migration guide:

  • TLDR: setMaterial() added to the runtime functions list; data-dt-material added to the new attributes list
  • Why: changed "three orthogonal dimensions" → "four"; added Material bullet (with the full set: sandstone default, plus steel, graphite, iron, amethyst, jade)
  • What Changed table: added Material row (setMaterial('sandstone')) and Root attribute (material) row (data-dt-material="sandstone")
  • Root HTML example: added data-dt-material="sandstone"
  • Quick Checklist smoke-test: "...apply a material if your app uses one"

P2 — brand-locked materials

Kept minimal: added a one-line cross-link to /guides/theme-and-mode/#brand-locked-materials from the Material bullet in the "Why" section, rather than duplicating getBrandMaterial / hasBrandMaterialLock / brand-lock behavior into this guide. Reasoning: this is a migration guide from the legacy API; brand-lock semantics are advanced features of the new API and live more cleanly in the theme-and-mode reference. Happy to expand if you think it's needed for migrators specifically.

Let me know if I've missed anything.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/dialtone-documentation/docs/guides/migration/index.md`:
- Around line 45-46: The Framework migration table has duplicated/incorrect
checklist numbers (rows for "Theme to Mode" and "Vue 2 Removal" show 15/16 while
the previous section already reached 16), so update the numeric sequence to
continue rather than reset: change the numeric prefixes for the "Theme to Mode"
and "Vue 2 Removal" rows to 17 and 18 respectively (or apply a consistent
per-table restart policy across all migration tables), and scan other table
entries to ensure numbering continuity for entries like "Theme to Mode" and "Vue
2 Removal".

In `@apps/dialtone-documentation/docs/guides/migration/theme-to-mode/index.md`:
- Around line 206-207: The import path for DtModeDirective is incorrect; change
the import statement that references DtModeDirective from
'`@dialpad/dialtone-vue`' to the public consumer package '`@dialpad/dialtone/vue`',
keeping the subsequent usage app.use(DtModeDirective) unchanged so the directive
is loaded from the correct exported module.

In
`@packages/dialtone-css/lib/build/js/dialtone_migration_helper/configs/theme-to-mode.mjs`:
- Around line 64-66: The RegExp used to match setTheme calls (the new RegExp
using `(?<!\\.)setTheme\\(\\s*(?!(${KNOWN_PATTERN})\\s*\\))([^)]*)\\)` ) fails
on nested parentheses (e.g., setTheme(getTheme()) or ternaries with nested
calls); replace this naive capture with a safe parser: either implement a small
balanced-parenthesis scanner that locates the matching closing `)` for the
setTheme(...) argument or switch to AST-based detection (parse source to an AST
and find CallExpression nodes where callee.name === "setTheme"), ensuring you
still skip known constants via KNOWN_PATTERN; update the logic around where this
RegExp is used so the TODO wrapper is applied to well-formed full argument text
only.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: ea2e5788-5a18-4623-abc9-8e34db329f36

📥 Commits

Reviewing files that changed from the base of the PR and between daace31 and a7f76f5.

📒 Files selected for processing (7)
  • apps/dialtone-documentation/docs/_data/site-nav.json
  • apps/dialtone-documentation/docs/dialtone/whats-new/posts/2024-8-1.md
  • apps/dialtone-documentation/docs/guides/migration/index.md
  • apps/dialtone-documentation/docs/guides/migration/theme-to-mode/index.md
  • packages/dialtone-css/lib/build/js/dialtone_migration_helper/configs/theme-to-mode.mjs
  • packages/dialtone-css/lib/build/js/dialtone_migration_helper/tests/theme-to-mode-test-examples.vue
  • packages/dialtone-css/lib/build/js/dialtone_migration_helper/tests/theme-to-mode.test.mjs

Comment thread apps/dialtone-documentation/docs/guides/migration/index.md Outdated
Comment thread apps/dialtone-documentation/docs/guides/migration/theme-to-mode/index.md Outdated
… migration guide

- migration/index.md: continue numbering in Framework section (15,16 -> 17,18) so the doc-wide sequence stays monotonic across CSS/Components/Framework tables
- theme-to-mode/index.md: import DtModeDirective from '@dialpad/dialtone/vue' (the canonical umbrella export, matching vue2-removal/index.md:29) instead of '@dialpad/dialtone-vue'
@github-actions

Copy link
Copy Markdown
Contributor

✔️ Deploy previews ready!
😎 Dialtone documentation preview: https://dialtone.dialpad.com/deploy-previews/pr-1260/

@belumontoya

Copy link
Copy Markdown
Contributor Author

Francis Rupert (@francisrupert) mind checking again? thanks

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Belu Montoya (@belumontoya), This looks great! I'm refraining from approving, though I approve from a design perspective and defer to technical review by a dialtone engineer. Thanks!

@iropolo Ignacio Ropolo (iropolo) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Belu!

@belumontoya
Belu Montoya (belumontoya) merged commit 90aa4b4 into next May 20, 2026
13 checks passed
@belumontoya
Belu Montoya (belumontoya) deleted the feat/dlt-3363-theme-to-mode-migration-guide branch May 20, 2026 14:49
Brad Paugh (braddialpad) pushed a commit that referenced this pull request May 22, 2026
# [8.80.0-next.7](dialtone-css/v8.80.0-next.6...dialtone-css/v8.80.0-next.7) (2026-05-22)

### Bug Fixes

* **Segmented Control, Button:** NO-JIRA correct layering of slot items ([#1283](#1283)) ([046f212](046f212))

### Code Refactoring

* **Validation Messages:** DLT-3422 update to use icon slot over embedded icon ([#1272](#1272)) ([344b737](344b737))

### Documentation

* **Border Radius:** dlt-3362 border-radius migration guide ([#1280](#1280)) ([12fd76a](12fd76a))

### Features

* **Design Tokens, Modal, Notice, Popover, Hovercard, Emoji Picker:** DLT-3436 add overlay surface color ([#1282](#1282)) ([62d60f2](62d60f2))
* **Dialtone Css, Dialtone Documentation:** DLT-3363 add theme-to-mode migration guide and codemod ([#1260](#1260)) ([90aa4b4](90aa4b4))
* **Dialtone Css:** DLT-3278 add dialtone-migrate-typography codemod ([#1289](#1289)) ([aea7eba](aea7eba))
* **Modal:** DLT-3432 add transparentBackdrop prop ([#1277](#1277)) ([daace31](daace31))
* **Presence, Avatar:** DLT-3438 add icons to presence ([#1287](#1287)) ([51062be](51062be))
* **Validation Messages:** DLT-3423 add info variant ([#1274](#1274)) ([412154b](412154b))
Brad Paugh (braddialpad) pushed a commit that referenced this pull request May 22, 2026
# [9.184.0-next.1](dialtone/v9.183.0...dialtone/v9.184.0-next.1) (2026-05-22)

### Bug Fixes

* **Combinator:** NO-JIRA remove unnecessary eslint-disable max-len comments ([e431bf6](e431bf6))
* **Components:** dlt-3408 components clean up ([#1264](#1264)) ([38c383a](38c383a))
* **Components:** no-jira update tree-shaking export ([#1270](#1270)) ([f12ddcc](f12ddcc))
* correct types paths in package.json exports ([#1239](#1239)) ([21667f9](21667f9))
* **Css:** DLT-3321 reorder utility classes so single-direction wins over shorthand ([#1205](#1205)) ([df3bd74](df3bd74))
* **Css:** DLT-3336 register bgo, fco, bco vars as non-inheriting ([#1209](#1209)) ([0278620](0278620))
* **Dialtone Tokens:** NO-JIRA fix shadow DOM setAttribute crash in theme setters ([#1271](#1271)) ([554047b](554047b))
* **Doc:** NO-JIRA correct font size utility json ([#1015](#1015)) ([76cf0fa](76cf0fa))
* **Editor:** NO-JIRA remove extra blank line in editor.mdx ([18c47ef](18c47ef))
* **Modal:** auto-detect shadow root and teleport dialog into it ([#1268](#1268)) ([f945c84](f945c84))
* NO-JIRA regenerate pnpm-lock.yaml after staging merge ([4462a1a](4462a1a))
* possible merge issue in sidebarItem.vue ([5e2e91b](5e2e91b))
* **Resizable:** DLT-3444 center handle position ([#1291](#1291)) ([0d5d639](0d5d639))
* **Rich Text Editor:** bubble menu error ([68e3591](68e3591))
* **Segmented Control, Button:** NO-JIRA correct layering of slot items ([#1283](#1283)) ([046f212](046f212))
* **Segmented Control:** DLT-3443 correct background color of traveling indicator ([#1290](#1290)) ([5fc4fa8](5fc4fa8))
* **Split Button, Filter Pill:** DLT-3260 DLT-3261 correct misalignment at size 100 ([#1176](#1176)) ([fe2b777](fe2b777))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([81f886e](81f886e))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([8721f43](8721f43))
* **Tabs:** DLT-3251 improve accessibility ([#1171](#1171)) ([01b101e](01b101e))
* **Tokens:** DLT-3053 preserve root font size variable as reference ([#1093](#1093)) ([112ab4b](112ab4b))
* **Tokens:** handle multi-layer box shadows correctly in postcss plugin ([feea7f1](feea7f1))
* **Tokens:** NO-JIRA output line-height as unitless instead of percentages ([#1040](#1040)) ([33d8505](33d8505))
* **Tokens:** wrap css math expressions with calc() in layered build ([#966](#966)) ([1635f61](1635f61))
* update @dialpad/i18n dependencies to latest versions ([7a4b777](7a4b777))

### Code Refactoring

* **Box:** DLT-3333 rename percent prop values to p-suffix ([#1208](#1208)) ([e5fa5da](e5fa5da))
* **Combinator:** DLT-3418 migrate controls prop changes ([#1261](#1261)) ([ab03b44](ab03b44))
* **Combobox Multi Select:** NO-JIRA use logical css properties ([#1104](#1104)) ([a675daf](a675daf))
* **Components,recipes:** DLT-3043 DLT-3046 logical start/end naming with deprecated backward-compatible fallbacks ([#1079](#1079)) ([1d26a4e](1d26a4e))
* **Components:** DLT-3100 remove rootClass references ([#1184](#1184)) ([6531783](6531783))
* **Components:** DLT-3160 standardize v-model event handling ([#1201](#1201)) ([f1624d4](f1624d4))
* **Components:** dlt-3196 components to pascal case ([#1255](#1255)) ([aa6d259](aa6d259))
* **Components:** dlt-3282 renamed show prop to open ([#1190](#1190)) ([5509d0f](5509d0f))
* **Components:** dlt-3283 refactor prop/slots to be consistent ([#1196](#1196)) ([2d22c76](2d22c76))
* **Components:** DLT-3284 refactor props to not have native html attributes names ([#1204](#1204)) ([48a0f57](48a0f57))
* **Css:** DLT-1876 css logical properties ([#872](#872)) ([1acd6c9](1acd6c9))
* **Modal:** DLT-3262 migrate DtModal to native dialog element ([#1179](#1179)) ([589edb5](589edb5))
* **Notice,banner,toast:** DLT-3296 decouple CSS and fix specificity violations ([#1194](#1194)) ([9579ac0](9579ac0))
* **Resizable:** DLT-3335 align size props on --dt-layout-* instead of --dt-size-* ([#1215](#1215)) ([c156dbc](c156dbc))
* **Style:** DLT-3014 wrap all styles in css cascade layers ([#1061](#1061)) ([f8b3fed](f8b3fed))
* **Text:** DLT-2883 rename headline sizes from xxl => 2xl, etc ([#1029](#1029)) ([0ac86f3](0ac86f3))
* **Text:** DLT-3302 tone prop uses css variables instead of css utilities ([#1197](#1197)) ([75df16f](75df16f))
* **Tokens,css,link,text,breadcrumbs,input Group,split Button:** tokens, CSS foundation, deprecations, tooling DLT-3011 DLT-2961 DLT-3068 DLT-3069 DLT-3070 DLT-3071 DLT-3072 ([#1092](#1092)) ([7783090](7783090))
* **Tokens:** DLT-2884 deprecate space tokens in favor of size tokens ([#1013](#1013)) ([63f6d2f](63f6d2f))
* **Tokens:** DLT-3013 convert color system from HSL to OKLCH ([#1060](#1060)) ([42dc418](42dc418))
* **Validation Messages:** DLT-3422 update to use icon slot over embedded icon ([#1272](#1272)) ([344b737](344b737))

### Documentation

* **Border Radius:** dlt-3362 border-radius migration guide ([#1280](#1280)) ([12fd76a](12fd76a))
* **Combinator:** DLT-3424 bridge logical to physical naming ([#1273](#1273)) ([ad4a5a1](ad4a5a1))
* **Components:** DLT-3178 DLT-3182 unify code examples into single code-example component ([#1147](#1147)) ([d0b6e14](d0b6e14))
* **Css Utilities:** DLT-3295 DLT-3280 mark physical utilities as deprecated ([#1193](#1193)) ([73f1479](73f1479))
* **Css Utilities:** DLT-3337 migrate internal utility-class consumers to token-indexed names and rewrite radius docs ([#1212](#1212)) ([d675238](d675238))
* **Dialog:** dlt-3361 dtmodal native dialog migration ([#1275](#1275)) ([4ef8a09](4ef8a09))
* **Dialtone Vue:** DLT-3226 update documentation and consuming code to numeric size scale ([#1158](#1158)) ([149c763](149c763))
* DLT-1510 DLT-1511 DLT-1512 site redesign and ia ([#968](#968)) ([6ea7eb9](6ea7eb9))
* DLT-2908 ui kits landing page ([#1049](#1049)) ([d805b9d](d805b9d))
* DLT-3016 migration docs ([#1224](#1224)) ([3d73a43](3d73a43))
* DLT-3243 fenced code blocks for examples and snippets ([#1166](#1166)) ([cb169df](cb169df))
* DLT-3250 display component status badges in sidebar and page headers ([#1170](#1170)) ([7d5f5d5](7d5f5d5))
* DLT-3252 add GFM alert syntax for notices ([#1172](#1172)) ([1697911](1697911))
* DLT-3258 DLT-3259 improve sidebar search with logical keywords and fuzzy matching ([#1174](#1174)) ([2bf4639](2bf4639))
* DLT-3345 migrate d-stack*/d-flow* wrappers to DtStack ([#1218](#1218)) ([fa090ef](fa090ef))
* **Downloads:** DLT-3052 DLT-3355 add downloads section and navbar hovercards ([#1229](#1229)) ([ecf5f85](ecf5f85))
* **Foundations, Homepage:** DLT-3349 DLT-3350 refresh foundations content and homepage ([#1228](#1228)) ([ab73dfd](ab73dfd))
* **Layout And Spacing:** improve to focus on understanding new layout and spacing system ([c75201f](c75201f))
* **Migration Guide:** NO-JIRA improve prop/slot migration guide ([#1227](#1227)) ([1328452](1328452))
* NO-JIRA fix focus left-nav items on keypress down up ([#1106](#1106)) ([882c9b9](882c9b9))
* **Playground:** DLT-3119 refine playground UI and integrate across doc site ([#1127](#1127)) ([ba6b599](ba6b599))
* **Playground:** DLT-3242 segmented control for compact enum props ([#1165](#1165)) ([fa440d8](fa440d8))
* **Recipes:** dlt-3308 recipes removed from dialtone - migration guide ([#1269](#1269)) ([d1d5c59](d1d5c59))
* **Tabs, Skeleton, Rich Text Editor:** DLT-3347 update doc page code examples on next branch ([#1248](#1248)) ([5837895](5837895))
* **Utilities:** DLT-3183 convert to vue demo fenced block ([#1167](#1167)) ([522197f](522197f))

### Features

* **Avatar:** DLT-2942 updated avatar component ([#1047](#1047)) ([e50563d](e50563d))
* **Avatar:** DLT-3161 change from clickable to "interactive" ([#1182](#1182)) ([2d00fe0](2d00fe0))
* **Banner, Notice, Toast, Breadcrumbs, Checkbox, Radio, Input, Select Menu, Empty State:** visual refresh, dt-text integration, form api parity DLT-2944 DLT-2945 DLT-2949 DLT-2959 DLT-2960 DLT-2957 ([#1091](#1091)) ([16e908a](16e908a))
* **Box:** DLT-3315 new DtBox primitive component ([#1203](#1203)) ([e0c942e](e0c942e))
* **Button,tabs,split Button:** visual refresh and slot updates DLT-2946 DLT-2947 DLT-2965 ([#1090](#1090)) ([ffdd56f](ffdd56f))
* **Chip:** DLT-3195 change interactive prop default from true to false ([#1246](#1246)) ([30a5ea2](30a5ea2))
* **Colors, Link, Tokens:** DLT-3360 retune blue/gold/purple/black/red palette, add mention semantic tokens, migrate success to positive ([#1245](#1245)) ([880b37b](880b37b))
* **Colors:** DLT-3354 split green palette into distinct light and dark mode values ([#1225](#1225)) ([cf63034](cf63034))
* **Combinator:** DLT-3312 preview resolved value in sized props ([#1199](#1199)) ([61bb610](61bb610))
* **Combobox Multi Select:** DLT-3366 forward input-level escape, enter, keydown events ([#1253](#1253)) ([a635301](a635301))
* **Components:** dlt-3096 add slot classes ([#1214](#1214)) ([5f6528e](5f6528e))
* **Components:** DLT-3157 align critical/positive prop values and CSS class names ([#1177](#1177)) ([edd98b2](edd98b2))
* **Components:** DLT-3159 enforce positive boolean props ([#1198](#1198)) ([ac73bdc](ac73bdc))
* **Components:** DLT-3192 establish the slotclass convention rule ([#1216](#1216)) ([3c399d4](3c399d4))
* **Css Utilities, Design Tokens:** DLT-3330 DLT-3332 add off-scale pixel-indexed layout tokens and sizing utilities ([#1206](#1206)) ([1054875](1054875))
* **Css Utilities, Eslint Plugin Dialtone:** DLT-3329 update border-radius css utilities and associated tooling ([#1211](#1211)) ([6bc3599](6bc3599))
* **Css Utilities:** DLT-3357 DLT-3358 add ease-in and retune ease-out ([#1226](#1226)) ([961965a](961965a))
* **Css Utility:** DLT-2715 add default color for border css utilities ([#874](#874)) ([71310ab](71310ab))
* **Design Tokens, Modal, Notice, Popover, Hovercard, Emoji Picker:** DLT-3436 add overlay surface color ([#1282](#1282)) ([62d60f2](62d60f2))
* **Design Tokens, Text, Link, Box, Css:** DLT-3338 add info semantic tokens and consumers ([#1210](#1210)) ([2f04b45](2f04b45))
* **Design Tokens:** DLT-3356 extend prota/deuter/trita accessible themes to semantic and components ([#1237](#1237)) ([d8fbf58](d8fbf58))
* **Design Tokens:** DLT-3368 DLT-3371 DLT-3410 add material dimension and brand-locked pairings ([#1252](#1252)) ([eeedc67](eeedc67))
* **Dialtone Css, Dialtone Documentation:** DLT-3363 add theme-to-mode migration guide and codemod ([#1260](#1260)) ([90aa4b4](90aa4b4))
* **Dialtone Css, Dialtone Tokens, Dialtone Vue:** DLT-3197 DLT-3198 DLT-3199 DLT-3200 DLT-3201 DLT-3202 DLT-3203 DLT-3204 DLT-3205 DLT-3206 DLT-3207 DLT-3208 DLT-3209 DLT-3210 DLT-3211 token-stop utility classes, migration tooling, and documentation ([#1150](#1150)) ([6237b84](6237b84))
* **Dialtone Css:** DLT-3278 add dialtone-migrate-typography codemod ([#1289](#1289)) ([aea7eba](aea7eba))
* **Dialtone Icons:** NO-JIRA add agent-assist-color brand-full-color icon ([#1265](#1265)) ([d159d78](d159d78))
* **Dialtone Vue:** DLT-3225 migrate component size props to numeric ordinal scale ([#1157](#1157)) ([725bd41](725bd41))
* **Eslint Plugin Dialtone:** DLT-3047 physical-to-logical naming migration tooling ([#1163](#1163)) ([d94dc4b](d94dc4b))
* **Eslint Plugin Dialtone:** DLT-3227 DLT-3228 add deprecated-tshirt-sizes ESLint rule and migration codemod ([#1159](#1159)) ([21a011f](21a011f))
* **Eslint Plugin Dialtone:** DLT-3365 add deprecated-stack-flow-classes rule ([#1247](#1247)) ([8554f5a](8554f5a))
* **Filter Pill:** DLT-2704 create component ([#473](#473)) ([6267445](6267445))
* **Filter Pill:** DLT-2941 DtFilterPill improvements ([#1110](#1110)) ([23c5689](23c5689))
* **Focusgroup:** DLT-3285 add v-dt-focusgroup directive for declarative roving tabindex ([#1187](#1187)) ([e1ea074](e1ea074))
* **Focustrap:** DLT-3297 add v-dt-focustrap directive for declarative focus trapping ([#1195](#1195)) ([6ef9a21](6ef9a21))
* **Link,button:** DLT-3012 add underline prop ([#1059](#1059)) ([1cb91ea](1cb91ea))
* **Modal:** DLT-3432 add transparentBackdrop prop ([#1277](#1277)) ([daace31](daace31))
* **Mode Directive, Mode Island:** DLT-3067 DLT-3078 DLT-3077 add `v-dt-mode` directive ([#1109](#1109)) ([f97efca](f97efca))
* **Popover, Tooltip:** DLT-3419 auto-append to nearest dialog for top-layer support ([#1266](#1266)) ([a5427e8](a5427e8))
* **Presence, Avatar:** DLT-3438 add icons to presence ([#1287](#1287)) ([51062be](51062be))
* **Prose:** DLT-3245 new component ([#1169](#1169)) ([adee928](adee928))
* **Scripts, Eslint, Stylelint:** DLT-3359 add success-to-positive migration tooling ([#1231](#1231)) ([0d652a5](0d652a5))
* **Scripts:** DLT-3033 DLT-3034 DLT-3035 add link-rendering migration codemod and ESLint rule ([#1233](#1233)) ([35a7238](35a7238))
* **Scripts:** DLT-3304 add scripts/docs for migration props changes ([#1219](#1219)) ([589173f](589173f))
* **Scrollbar:** DLT-3158 implement object props ([#1249](#1249)) ([09ff456](09ff456))
* **Segmented Control:** DLT-413 new component ([#1144](#1144)) ([ad4c6c3](ad4c6c3))
* **Split Button:** DLT-3257 add show-divider prop ([#1173](#1173)) ([5bef411](5bef411))
* **Style:** DLT-2976 update underline thickness and offset ([#1058](#1058)) ([1e56947](1e56947))
* **Tabs:** DLT-3114 add vertical orientation variant ([#1120](#1120)) ([3290a23](3290a23))
* **Tabs:** DLT-3162 add spread prop for horizontal distribution ([#1135](#1135)) ([6e7cd04](6e7cd04))
* **Text:** export text component from dialtone-vue ([757fdb7](757fdb7))
* **Text:** new vue component DLT-2864 DLT-2863 DLT-2862 ([#995](#995)) ([196ef8a](196ef8a))
* **Tokens, Css:** DLT-3331 rename success tokens and utility classes to positive ([#1230](#1230)) ([34bdff5](34bdff5))
* **Tokens:** DLT-1977 add high contrast design tokens and theme ([#938](#938)) ([a1c0457](a1c0457))
* **Tokens:** DLT-2767 exploratory shell themes ([#909](#909)) ([3afcf63](3afcf63))
* **Tokens:** DLT-2781 create color-assistive themes ([#921](#921)) ([a6cc397](a6cc397))
* **Tokens:** DLT-2802 DLT-2563 layered theming system and mode island component ([#945](#945)) ([5c72c6c](5c72c6c))
* **Tokens:** DLT-2937 introduce spacing and layout token systems ([#1045](#1045)) ([de23e12](de23e12))
* **Tokens:** update color ramps and consumer color migration tools DLT-3004 DLT-3005 DLT-3006 DLT-3007 DLT-3008 ([#1054](#1054)) ([28cb1de](28cb1de))
* **Typography, Tokens:** DLT-2856 DLT-2857 next typography system ([#994](#994)) ([d744e97](d744e97))
* **Validation Messages:** DLT-3423 add info variant ([#1274](#1274)) ([412154b](412154b))
Brad Paugh (braddialpad) pushed a commit that referenced this pull request Jun 2, 2026
# [9.185.0-next.1](dialtone/v9.184.0...dialtone/v9.185.0-next.1) (2026-06-02)

### Bug Fixes

* **Combinator:** NO-JIRA remove unnecessary eslint-disable max-len comments ([e431bf6](e431bf6))
* **Combobox Multi Select:** DLT-3409 stop input from shrinking when chips are added ([#1257](#1257)) ([7f54cff](7f54cff))
* **Components:** dlt-3408 components clean up ([#1264](#1264)) ([38c383a](38c383a))
* **Components:** no-jira update tree-shaking export ([#1270](#1270)) ([f12ddcc](f12ddcc))
* correct types paths in package.json exports ([#1239](#1239)) ([21667f9](21667f9))
* **Css:** DLT-3321 reorder utility classes so single-direction wins over shorthand ([#1205](#1205)) ([df3bd74](df3bd74))
* **Css:** DLT-3336 register bgo, fco, bco vars as non-inheriting ([#1209](#1209)) ([0278620](0278620))
* **Dialtone Tokens:** NO-JIRA fix shadow DOM setAttribute crash in theme setters ([#1271](#1271)) ([554047b](554047b))
* **Doc:** NO-JIRA correct font size utility json ([#1015](#1015)) ([76cf0fa](76cf0fa))
* **Editor:** NO-JIRA remove extra blank line in editor.mdx ([18c47ef](18c47ef))
* **Modal:** auto-detect shadow root and teleport dialog into it ([#1268](#1268)) ([f945c84](f945c84))
* NO-JIRA regenerate pnpm-lock.yaml after staging merge ([4462a1a](4462a1a))
* possible merge issue in sidebarItem.vue ([5e2e91b](5e2e91b))
* **Resizable, Box:** DLT-3445 accept full layout token set ([#1293](#1293)) ([4a63990](4a63990))
* **Resizable:** DLT-3444 center handle position ([#1291](#1291)) ([0d5d639](0d5d639))
* **Rich Text Editor:** bubble menu error ([68e3591](68e3591))
* **Segmented Control, Button:** DLT-3446 update disabled active button style ([#1294](#1294)) ([9968aac](9968aac))
* **Segmented Control, Button:** NO-JIRA correct layering of slot items ([#1283](#1283)) ([046f212](046f212))
* **Segmented Control:** DLT-3443 correct background color of traveling indicator ([#1290](#1290)) ([5fc4fa8](5fc4fa8))
* **Split Button, Filter Pill:** DLT-3260 DLT-3261 correct misalignment at size 100 ([#1176](#1176)) ([fe2b777](fe2b777))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([81f886e](81f886e))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([8721f43](8721f43))
* **Tabs:** DLT-3251 improve accessibility ([#1171](#1171)) ([01b101e](01b101e))
* **Tokens:** DLT-3053 preserve root font size variable as reference ([#1093](#1093)) ([112ab4b](112ab4b))
* **Tokens:** handle multi-layer box shadows correctly in postcss plugin ([feea7f1](feea7f1))
* **Tokens:** NO-JIRA output line-height as unitless instead of percentages ([#1040](#1040)) ([33d8505](33d8505))
* **Tokens:** wrap css math expressions with calc() in layered build ([#966](#966)) ([1635f61](1635f61))
* update @dialpad/i18n dependencies to latest versions ([7a4b777](7a4b777))
* **Validation Messages:** DLT-3430 fix VoiceOver silent on validation messages ([#1285](#1285)) ([96adfdf](96adfdf))

### Code Refactoring

* **Box:** DLT-3333 rename percent prop values to p-suffix ([#1208](#1208)) ([e5fa5da](e5fa5da))
* **Combinator:** DLT-3418 migrate controls prop changes ([#1261](#1261)) ([ab03b44](ab03b44))
* **Combobox Multi Select:** NO-JIRA use logical css properties ([#1104](#1104)) ([a675daf](a675daf))
* **Components,recipes:** DLT-3043 DLT-3046 logical start/end naming with deprecated backward-compatible fallbacks ([#1079](#1079)) ([1d26a4e](1d26a4e))
* **Components:** DLT-3100 remove rootClass references ([#1184](#1184)) ([6531783](6531783))
* **Components:** DLT-3160 standardize v-model event handling ([#1201](#1201)) ([f1624d4](f1624d4))
* **Components:** dlt-3196 components to pascal case ([#1255](#1255)) ([aa6d259](aa6d259))
* **Components:** dlt-3282 renamed show prop to open ([#1190](#1190)) ([5509d0f](5509d0f))
* **Components:** dlt-3283 refactor prop/slots to be consistent ([#1196](#1196)) ([2d22c76](2d22c76))
* **Components:** DLT-3284 refactor props to not have native html attributes names ([#1204](#1204)) ([48a0f57](48a0f57))
* **Css:** DLT-1876 css logical properties ([#872](#872)) ([1acd6c9](1acd6c9))
* **Modal:** DLT-3262 migrate DtModal to native dialog element ([#1179](#1179)) ([589edb5](589edb5))
* **Notice,banner,toast:** DLT-3296 decouple CSS and fix specificity violations ([#1194](#1194)) ([9579ac0](9579ac0))
* **Resizable:** DLT-3335 align size props on --dt-layout-* instead of --dt-size-* ([#1215](#1215)) ([c156dbc](c156dbc))
* **Style:** DLT-3014 wrap all styles in css cascade layers ([#1061](#1061)) ([f8b3fed](f8b3fed))
* **Text:** DLT-2883 rename headline sizes from xxl => 2xl, etc ([#1029](#1029)) ([0ac86f3](0ac86f3))
* **Text:** DLT-3302 tone prop uses css variables instead of css utilities ([#1197](#1197)) ([75df16f](75df16f))
* **Tokens,css,link,text,breadcrumbs,input Group,split Button:** tokens, CSS foundation, deprecations, tooling DLT-3011 DLT-2961 DLT-3068 DLT-3069 DLT-3070 DLT-3071 DLT-3072 ([#1092](#1092)) ([7783090](7783090))
* **Tokens:** DLT-2884 deprecate space tokens in favor of size tokens ([#1013](#1013)) ([63f6d2f](63f6d2f))
* **Tokens:** DLT-3013 convert color system from HSL to OKLCH ([#1060](#1060)) ([42dc418](42dc418))
* **Validation Messages:** DLT-3422 update to use icon slot over embedded icon ([#1272](#1272)) ([344b737](344b737))

### Documentation

* **Border Radius:** dlt-3362 border-radius migration guide ([#1280](#1280)) ([12fd76a](12fd76a))
* **Combinator:** DLT-3424 bridge logical to physical naming ([#1273](#1273)) ([ad4a5a1](ad4a5a1))
* **Components:** DLT-3178 DLT-3182 unify code examples into single code-example component ([#1147](#1147)) ([d0b6e14](d0b6e14))
* **Css Utilities:** DLT-3295 DLT-3280 mark physical utilities as deprecated ([#1193](#1193)) ([73f1479](73f1479))
* **Css Utilities:** DLT-3337 migrate internal utility-class consumers to token-indexed names and rewrite radius docs ([#1212](#1212)) ([d675238](d675238))
* **Dialog:** dlt-3361 dtmodal native dialog migration ([#1275](#1275)) ([4ef8a09](4ef8a09))
* **Dialtone Vue:** DLT-3226 update documentation and consuming code to numeric size scale ([#1158](#1158)) ([149c763](149c763))
* DLT-1510 DLT-1511 DLT-1512 site redesign and ia ([#968](#968)) ([6ea7eb9](6ea7eb9))
* DLT-2908 ui kits landing page ([#1049](#1049)) ([d805b9d](d805b9d))
* DLT-3016 migration docs ([#1224](#1224)) ([3d73a43](3d73a43))
* DLT-3243 fenced code blocks for examples and snippets ([#1166](#1166)) ([cb169df](cb169df))
* DLT-3250 display component status badges in sidebar and page headers ([#1170](#1170)) ([7d5f5d5](7d5f5d5))
* DLT-3252 add GFM alert syntax for notices ([#1172](#1172)) ([1697911](1697911))
* DLT-3258 DLT-3259 improve sidebar search with logical keywords and fuzzy matching ([#1174](#1174)) ([2bf4639](2bf4639))
* DLT-3345 migrate d-stack*/d-flow* wrappers to DtStack ([#1218](#1218)) ([fa090ef](fa090ef))
* DLT-3434 build pipeline for component wall thumbs ([#1278](#1278)) ([cb9992f](cb9992f))
* **Downloads:** DLT-3052 DLT-3355 add downloads section and navbar hovercards ([#1229](#1229)) ([ecf5f85](ecf5f85))
* **Foundations, Homepage:** DLT-3349 DLT-3350 refresh foundations content and homepage ([#1228](#1228)) ([ab73dfd](ab73dfd))
* **Layout And Spacing:** improve to focus on understanding new layout and spacing system ([c75201f](c75201f))
* **Migration Guide:** NO-JIRA improve prop/slot migration guide ([#1227](#1227)) ([1328452](1328452))
* NO-JIRA add typography utilities to DtText migration guide ([#1296](#1296)) ([1dcf975](1dcf975))
* NO-JIRA fix focus left-nav items on keypress down up ([#1106](#1106)) ([882c9b9](882c9b9))
* **Playground:** DLT-3119 refine playground UI and integrate across doc site ([#1127](#1127)) ([ba6b599](ba6b599))
* **Playground:** DLT-3242 segmented control for compact enum props ([#1165](#1165)) ([fa440d8](fa440d8))
* **Recipes:** dlt-3308 recipes removed from dialtone - migration guide ([#1269](#1269)) ([d1d5c59](d1d5c59))
* **Tabs, Skeleton, Rich Text Editor:** DLT-3347 update doc page code examples on next branch ([#1248](#1248)) ([5837895](5837895))
* **Utilities:** DLT-3183 convert to vue demo fenced block ([#1167](#1167)) ([522197f](522197f))

### Features

* **Avatar:** DLT-2942 updated avatar component ([#1047](#1047)) ([e50563d](e50563d))
* **Avatar:** DLT-3161 change from clickable to "interactive" ([#1182](#1182)) ([2d00fe0](2d00fe0))
* **Banner, Notice, Toast, Breadcrumbs, Checkbox, Radio, Input, Select Menu, Empty State:** visual refresh, dt-text integration, form api parity DLT-2944 DLT-2945 DLT-2949 DLT-2959 DLT-2960 DLT-2957 ([#1091](#1091)) ([16e908a](16e908a))
* **Box:** DLT-3315 new DtBox primitive component ([#1203](#1203)) ([e0c942e](e0c942e))
* **Button,tabs,split Button:** visual refresh and slot updates DLT-2946 DLT-2947 DLT-2965 ([#1090](#1090)) ([ffdd56f](ffdd56f))
* **Chip:** DLT-3195 change interactive prop default from true to false ([#1246](#1246)) ([30a5ea2](30a5ea2))
* **Colors, Link, Tokens:** DLT-3360 retune blue/gold/purple/black/red palette, add mention semantic tokens, migrate success to positive ([#1245](#1245)) ([880b37b](880b37b))
* **Colors:** DLT-3354 split green palette into distinct light and dark mode values ([#1225](#1225)) ([cf63034](cf63034))
* **Combinator:** DLT-3312 preview resolved value in sized props ([#1199](#1199)) ([61bb610](61bb610))
* **Components:** dlt-3096 add slot classes ([#1214](#1214)) ([5f6528e](5f6528e))
* **Components:** DLT-3157 align critical/positive prop values and CSS class names ([#1177](#1177)) ([edd98b2](edd98b2))
* **Components:** DLT-3159 enforce positive boolean props ([#1198](#1198)) ([ac73bdc](ac73bdc))
* **Components:** DLT-3192 establish the slotclass convention rule ([#1216](#1216)) ([3c399d4](3c399d4))
* **Css Utilities, Design Tokens:** DLT-3330 DLT-3332 add off-scale pixel-indexed layout tokens and sizing utilities ([#1206](#1206)) ([1054875](1054875))
* **Css Utilities, Eslint Plugin Dialtone:** DLT-3329 update border-radius css utilities and associated tooling ([#1211](#1211)) ([6bc3599](6bc3599))
* **Css Utilities:** DLT-3357 DLT-3358 add ease-in and retune ease-out ([#1226](#1226)) ([961965a](961965a))
* **Css Utility:** DLT-2715 add default color for border css utilities ([#874](#874)) ([71310ab](71310ab))
* **Design Tokens, Modal, Notice, Popover, Hovercard, Emoji Picker:** DLT-3436 add overlay surface color ([#1282](#1282)) ([62d60f2](62d60f2))
* **Design Tokens, Text, Link, Box, Css:** DLT-3338 add info semantic tokens and consumers ([#1210](#1210)) ([2f04b45](2f04b45))
* **Design Tokens:** DLT-3356 extend prota/deuter/trita accessible themes to semantic and components ([#1237](#1237)) ([d8fbf58](d8fbf58))
* **Design Tokens:** DLT-3368 DLT-3371 DLT-3410 add material dimension and brand-locked pairings ([#1252](#1252)) ([eeedc67](eeedc67))
* **Dialtone Css, Dialtone Documentation:** DLT-3363 add theme-to-mode migration guide and codemod ([#1260](#1260)) ([90aa4b4](90aa4b4))
* **Dialtone Css, Dialtone Tokens, Dialtone Vue:** DLT-3197 DLT-3198 DLT-3199 DLT-3200 DLT-3201 DLT-3202 DLT-3203 DLT-3204 DLT-3205 DLT-3206 DLT-3207 DLT-3208 DLT-3209 DLT-3210 DLT-3211 token-stop utility classes, migration tooling, and documentation ([#1150](#1150)) ([6237b84](6237b84))
* **Dialtone Css:** DLT-3278 add dialtone-migrate-typography codemod ([#1289](#1289)) ([aea7eba](aea7eba))
* **Dialtone Icons:** NO-JIRA add /vue export to dialtone-icon ([#1304](#1304)) ([081b0e9](081b0e9))
* **Dialtone Vue:** DLT-3225 migrate component size props to numeric ordinal scale ([#1157](#1157)) ([725bd41](725bd41))
* **Eslint Plugin Dialtone:** DLT-3047 physical-to-logical naming migration tooling ([#1163](#1163)) ([d94dc4b](d94dc4b))
* **Eslint Plugin Dialtone:** DLT-3227 DLT-3228 add deprecated-tshirt-sizes ESLint rule and migration codemod ([#1159](#1159)) ([21a011f](21a011f))
* **Eslint Plugin Dialtone:** DLT-3365 add deprecated-stack-flow-classes rule ([#1247](#1247)) ([8554f5a](8554f5a))
* **Filter Pill:** DLT-2704 create component ([#473](#473)) ([6267445](6267445))
* **Filter Pill:** DLT-2941 DtFilterPill improvements ([#1110](#1110)) ([23c5689](23c5689))
* **Focusgroup:** DLT-3285 add v-dt-focusgroup directive for declarative roving tabindex ([#1187](#1187)) ([e1ea074](e1ea074))
* **Focustrap:** DLT-3297 add v-dt-focustrap directive for declarative focus trapping ([#1195](#1195)) ([6ef9a21](6ef9a21))
* **Link,button:** DLT-3012 add underline prop ([#1059](#1059)) ([1cb91ea](1cb91ea))
* **Mcp Server, Query Core, Dialtone Docs, Dialtone Cli:** DLT-3416 add search_documentation tool ([#1259](#1259)) ([ef1d5a8](ef1d5a8))
* **Modal:** DLT-3432 add transparentBackdrop prop ([#1277](#1277)) ([daace31](daace31))
* **Modal:** NO-JIRA apply headerClass to header text element ([#1279](#1279)) ([3cb4282](3cb4282))
* **Mode Directive, Mode Island:** DLT-3067 DLT-3078 DLT-3077 add `v-dt-mode` directive ([#1109](#1109)) ([f97efca](f97efca))
* **Popover, Tooltip:** DLT-3419 auto-append to nearest dialog for top-layer support ([#1266](#1266)) ([a5427e8](a5427e8))
* **Presence, Avatar:** DLT-3438 add icons to presence ([#1287](#1287)) ([51062be](51062be))
* **Prose:** DLT-3245 new component ([#1169](#1169)) ([adee928](adee928))
* **Scripts, Eslint, Stylelint:** DLT-3359 add success-to-positive migration tooling ([#1231](#1231)) ([0d652a5](0d652a5))
* **Scripts:** DLT-3033 DLT-3034 DLT-3035 add link-rendering migration codemod and ESLint rule ([#1233](#1233)) ([35a7238](35a7238))
* **Scripts:** DLT-3304 add scripts/docs for migration props changes ([#1219](#1219)) ([589173f](589173f))
* **Scrollbar:** DLT-3158 implement object props ([#1249](#1249)) ([09ff456](09ff456))
* **Segmented Control:** DLT-413 new component ([#1144](#1144)) ([ad4c6c3](ad4c6c3))
* **Split Button:** DLT-3257 add show-divider prop ([#1173](#1173)) ([5bef411](5bef411))
* **Style:** DLT-2976 update underline thickness and offset ([#1058](#1058)) ([1e56947](1e56947))
* **Tabs:** DLT-3114 add vertical orientation variant ([#1120](#1120)) ([3290a23](3290a23))
* **Tabs:** DLT-3162 add spread prop for horizontal distribution ([#1135](#1135)) ([6e7cd04](6e7cd04))
* **Text:** export text component from dialtone-vue ([757fdb7](757fdb7))
* **Text:** new vue component DLT-2864 DLT-2863 DLT-2862 ([#995](#995)) ([196ef8a](196ef8a))
* **Tokens, Css:** DLT-3331 rename success tokens and utility classes to positive ([#1230](#1230)) ([34bdff5](34bdff5))
* **Tokens:** DLT-1977 add high contrast design tokens and theme ([#938](#938)) ([a1c0457](a1c0457))
* **Tokens:** DLT-2767 exploratory shell themes ([#909](#909)) ([3afcf63](3afcf63))
* **Tokens:** DLT-2781 create color-assistive themes ([#921](#921)) ([a6cc397](a6cc397))
* **Tokens:** DLT-2802 DLT-2563 layered theming system and mode island component ([#945](#945)) ([5c72c6c](5c72c6c))
* **Tokens:** DLT-2937 introduce spacing and layout token systems ([#1045](#1045)) ([de23e12](de23e12))
* **Tokens:** update color ramps and consumer color migration tools DLT-3004 DLT-3005 DLT-3006 DLT-3007 DLT-3008 ([#1054](#1054)) ([28cb1de](28cb1de))
* **Typography, Tokens:** DLT-2856 DLT-2857 next typography system ([#994](#994)) ([d744e97](d744e97))
* **Validation Messages:** DLT-3423 add info variant ([#1274](#1274)) ([412154b](412154b))
Brad Paugh (braddialpad) pushed a commit that referenced this pull request Jun 4, 2026
# [9.187.0-next.1](dialtone/v9.186.0...dialtone/v9.187.0-next.1) (2026-06-04)

### Bug Fixes

* **Combinator:** DLT-3171 update v-model bindings from rendered component events ([#1299](#1299)) ([81d0c15](81d0c15))
* **Combinator:** NO-JIRA remove unnecessary eslint-disable max-len comments ([e431bf6](e431bf6))
* **Components:** dlt-3408 components clean up ([#1264](#1264)) ([38c383a](38c383a))
* **Components:** no-jira update tree-shaking export ([#1270](#1270)) ([f12ddcc](f12ddcc))
* **Contact Info:** no-jira remove min-inline-size regression from token migration ([ed8ee12](ed8ee12))
* correct types paths in package.json exports ([#1239](#1239)) ([21667f9](21667f9))
* **Css:** DLT-3321 reorder utility classes so single-direction wins over shorthand ([#1205](#1205)) ([df3bd74](df3bd74))
* **Css:** DLT-3336 register bgo, fco, bco vars as non-inheriting ([#1209](#1209)) ([0278620](0278620))
* **Dialtone Tokens:** NO-JIRA fix shadow DOM setAttribute crash in theme setters ([#1271](#1271)) ([554047b](554047b))
* **Doc:** NO-JIRA correct font size utility json ([#1015](#1015)) ([76cf0fa](76cf0fa))
* **Documentation:** DLT-3451 migrate stale @change/[@input](https://github.com/input) handlers to [@update](https://github.com/update):model-value ([#1300](#1300)) ([9260128](9260128))
* **Editor:** NO-JIRA remove extra blank line in editor.mdx ([18c47ef](18c47ef))
* **Modal:** auto-detect shadow root and teleport dialog into it ([#1268](#1268)) ([f945c84](f945c84))
* NO-JIRA regenerate pnpm-lock.yaml after staging merge ([4462a1a](4462a1a))
* possible merge issue in sidebarItem.vue ([5e2e91b](5e2e91b))
* **Resizable, Box:** DLT-3445 accept full layout token set ([#1293](#1293)) ([4a63990](4a63990))
* **Resizable:** DLT-3444 center handle position ([#1291](#1291)) ([0d5d639](0d5d639))
* **Rich Text Editor:** bubble menu error ([68e3591](68e3591))
* **Segmented Control, Button:** DLT-3446 update disabled active button style ([#1294](#1294)) ([9968aac](9968aac))
* **Segmented Control, Button:** NO-JIRA correct layering of slot items ([#1283](#1283)) ([046f212](046f212))
* **Segmented Control:** DLT-3443 correct background color of traveling indicator ([#1290](#1290)) ([5fc4fa8](5fc4fa8))
* **Split Button, Filter Pill:** DLT-3260 DLT-3261 correct misalignment at size 100 ([#1176](#1176)) ([fe2b777](fe2b777))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([81f886e](81f886e))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([8721f43](8721f43))
* **Tabs:** DLT-3251 improve accessibility ([#1171](#1171)) ([01b101e](01b101e))
* **Tokens:** DLT-3053 preserve root font size variable as reference ([#1093](#1093)) ([112ab4b](112ab4b))
* **Tokens:** handle multi-layer box shadows correctly in postcss plugin ([feea7f1](feea7f1))
* **Tokens:** NO-JIRA output line-height as unitless instead of percentages ([#1040](#1040)) ([33d8505](33d8505))
* **Tokens:** wrap css math expressions with calc() in layered build ([#966](#966)) ([1635f61](1635f61))
* update @dialpad/i18n dependencies to latest versions ([7a4b777](7a4b777))
* **Validation Messages:** DLT-3430 fix VoiceOver silent on validation messages ([#1285](#1285)) ([96adfdf](96adfdf))

### Code Refactoring

* **Box:** DLT-3333 rename percent prop values to p-suffix ([#1208](#1208)) ([e5fa5da](e5fa5da))
* **Combinator:** DLT-3418 migrate controls prop changes ([#1261](#1261)) ([ab03b44](ab03b44))
* **Combobox Multi Select:** NO-JIRA use logical css properties ([#1104](#1104)) ([a675daf](a675daf))
* **Components,recipes:** DLT-3043 DLT-3046 logical start/end naming with deprecated backward-compatible fallbacks ([#1079](#1079)) ([1d26a4e](1d26a4e))
* **Components:** DLT-3100 remove rootClass references ([#1184](#1184)) ([6531783](6531783))
* **Components:** DLT-3160 standardize v-model event handling ([#1201](#1201)) ([f1624d4](f1624d4))
* **Components:** dlt-3196 components to pascal case ([#1255](#1255)) ([aa6d259](aa6d259))
* **Components:** dlt-3282 renamed show prop to open ([#1190](#1190)) ([5509d0f](5509d0f))
* **Components:** dlt-3283 refactor prop/slots to be consistent ([#1196](#1196)) ([2d22c76](2d22c76))
* **Components:** DLT-3284 refactor props to not have native html attributes names ([#1204](#1204)) ([48a0f57](48a0f57))
* **Css:** DLT-1876 css logical properties ([#872](#872)) ([1acd6c9](1acd6c9))
* **Modal:** DLT-3262 migrate DtModal to native dialog element ([#1179](#1179)) ([589edb5](589edb5))
* **Notice,banner,toast:** DLT-3296 decouple CSS and fix specificity violations ([#1194](#1194)) ([9579ac0](9579ac0))
* **Resizable:** DLT-3335 align size props on --dt-layout-* instead of --dt-size-* ([#1215](#1215)) ([c156dbc](c156dbc))
* **Style:** DLT-3014 wrap all styles in css cascade layers ([#1061](#1061)) ([f8b3fed](f8b3fed))
* **Text:** DLT-2883 rename headline sizes from xxl => 2xl, etc ([#1029](#1029)) ([0ac86f3](0ac86f3))
* **Text:** DLT-3302 tone prop uses css variables instead of css utilities ([#1197](#1197)) ([75df16f](75df16f))
* **Tokens,css,link,text,breadcrumbs,input Group,split Button:** tokens, CSS foundation, deprecations, tooling DLT-3011 DLT-2961 DLT-3068 DLT-3069 DLT-3070 DLT-3071 DLT-3072 ([#1092](#1092)) ([7783090](7783090))
* **Tokens:** DLT-2884 deprecate space tokens in favor of size tokens ([#1013](#1013)) ([63f6d2f](63f6d2f))
* **Tokens:** DLT-3013 convert color system from HSL to OKLCH ([#1060](#1060)) ([42dc418](42dc418))
* **Validation Messages:** DLT-3422 update to use icon slot over embedded icon ([#1272](#1272)) ([344b737](344b737))

### Documentation

* **Border Radius:** dlt-3362 border-radius migration guide ([#1280](#1280)) ([12fd76a](12fd76a))
* **Combinator:** DLT-3424 bridge logical to physical naming ([#1273](#1273)) ([ad4a5a1](ad4a5a1))
* **Components:** DLT-3178 DLT-3182 unify code examples into single code-example component ([#1147](#1147)) ([d0b6e14](d0b6e14))
* **Css Utilities:** DLT-3295 DLT-3280 mark physical utilities as deprecated ([#1193](#1193)) ([73f1479](73f1479))
* **Css Utilities:** DLT-3337 migrate internal utility-class consumers to token-indexed names and rewrite radius docs ([#1212](#1212)) ([d675238](d675238))
* **Dialog:** dlt-3361 dtmodal native dialog migration ([#1275](#1275)) ([4ef8a09](4ef8a09))
* **Dialtone Vue:** DLT-3226 update documentation and consuming code to numeric size scale ([#1158](#1158)) ([149c763](149c763))
* DLT-1510 DLT-1511 DLT-1512 site redesign and ia ([#968](#968)) ([6ea7eb9](6ea7eb9))
* DLT-2908 ui kits landing page ([#1049](#1049)) ([d805b9d](d805b9d))
* DLT-3016 migration docs ([#1224](#1224)) ([3d73a43](3d73a43))
* DLT-3212 automate token-derived docs data files from build sources ([#1298](#1298)) ([cf064f1](cf064f1))
* DLT-3243 fenced code blocks for examples and snippets ([#1166](#1166)) ([cb169df](cb169df))
* DLT-3250 display component status badges in sidebar and page headers ([#1170](#1170)) ([7d5f5d5](7d5f5d5))
* DLT-3252 add GFM alert syntax for notices ([#1172](#1172)) ([1697911](1697911))
* DLT-3258 DLT-3259 improve sidebar search with logical keywords and fuzzy matching ([#1174](#1174)) ([2bf4639](2bf4639))
* DLT-3345 migrate d-stack*/d-flow* wrappers to DtStack ([#1218](#1218)) ([fa090ef](fa090ef))
* DLT-3434 build pipeline for component wall thumbs ([#1278](#1278)) ([cb9992f](cb9992f))
* **Downloads:** DLT-3052 DLT-3355 add downloads section and navbar hovercards ([#1229](#1229)) ([ecf5f85](ecf5f85))
* **Foundations, Homepage:** DLT-3349 DLT-3350 refresh foundations content and homepage ([#1228](#1228)) ([ab73dfd](ab73dfd))
* **Layout And Spacing:** improve to focus on understanding new layout and spacing system ([c75201f](c75201f))
* **Migration Guide:** NO-JIRA improve prop/slot migration guide ([#1227](#1227)) ([1328452](1328452))
* **Migration Script:** dlt-3303 master migration script to next ([#1288](#1288)) ([332b3cc](332b3cc))
* NO-JIRA add typography utilities to DtText migration guide ([#1296](#1296)) ([1dcf975](1dcf975))
* NO-JIRA fix focus left-nav items on keypress down up ([#1106](#1106)) ([882c9b9](882c9b9))
* **Playground:** DLT-3119 refine playground UI and integrate across doc site ([#1127](#1127)) ([ba6b599](ba6b599))
* **Playground:** DLT-3242 segmented control for compact enum props ([#1165](#1165)) ([fa440d8](fa440d8))
* **Recipes:** dlt-3308 recipes removed from dialtone - migration guide ([#1269](#1269)) ([d1d5c59](d1d5c59))
* **Tabs, Skeleton, Rich Text Editor:** DLT-3347 update doc page code examples on next branch ([#1248](#1248)) ([5837895](5837895))
* **Utilities:** DLT-3183 convert to vue demo fenced block ([#1167](#1167)) ([522197f](522197f))

### Features

* **Avatar:** DLT-2942 updated avatar component ([#1047](#1047)) ([e50563d](e50563d))
* **Avatar:** DLT-3161 change from clickable to "interactive" ([#1182](#1182)) ([2d00fe0](2d00fe0))
* **Banner, Notice, Toast, Breadcrumbs, Checkbox, Radio, Input, Select Menu, Empty State:** visual refresh, dt-text integration, form api parity DLT-2944 DLT-2945 DLT-2949 DLT-2959 DLT-2960 DLT-2957 ([#1091](#1091)) ([16e908a](16e908a))
* **Box:** DLT-3315 new DtBox primitive component ([#1203](#1203)) ([e0c942e](e0c942e))
* **Button,tabs,split Button:** visual refresh and slot updates DLT-2946 DLT-2947 DLT-2965 ([#1090](#1090)) ([ffdd56f](ffdd56f))
* **Chip:** DLT-3195 change interactive prop default from true to false ([#1246](#1246)) ([30a5ea2](30a5ea2))
* **Colors, Link, Tokens:** DLT-3360 retune blue/gold/purple/black/red palette, add mention semantic tokens, migrate success to positive ([#1245](#1245)) ([880b37b](880b37b))
* **Colors:** DLT-3354 split green palette into distinct light and dark mode values ([#1225](#1225)) ([cf63034](cf63034))
* **Combinator:** DLT-3312 preview resolved value in sized props ([#1199](#1199)) ([61bb610](61bb610))
* **Components:** dlt-3096 add slot classes ([#1214](#1214)) ([5f6528e](5f6528e))
* **Components:** DLT-3157 align critical/positive prop values and CSS class names ([#1177](#1177)) ([edd98b2](edd98b2))
* **Components:** DLT-3159 enforce positive boolean props ([#1198](#1198)) ([ac73bdc](ac73bdc))
* **Components:** DLT-3192 establish the slotclass convention rule ([#1216](#1216)) ([3c399d4](3c399d4))
* **Css Utilities, Design Tokens:** DLT-3330 DLT-3332 add off-scale pixel-indexed layout tokens and sizing utilities ([#1206](#1206)) ([1054875](1054875))
* **Css Utilities, Eslint Plugin Dialtone:** DLT-3329 update border-radius css utilities and associated tooling ([#1211](#1211)) ([6bc3599](6bc3599))
* **Css Utilities:** DLT-3357 DLT-3358 add ease-in and retune ease-out ([#1226](#1226)) ([961965a](961965a))
* **Css Utility:** DLT-2715 add default color for border css utilities ([#874](#874)) ([71310ab](71310ab))
* **Design Tokens, Modal, Notice, Popover, Hovercard, Emoji Picker:** DLT-3436 add overlay surface color ([#1282](#1282)) ([62d60f2](62d60f2))
* **Design Tokens, Text, Link, Box, Css:** DLT-3338 add info semantic tokens and consumers ([#1210](#1210)) ([2f04b45](2f04b45))
* **Design Tokens:** DLT-3356 extend prota/deuter/trita accessible themes to semantic and components ([#1237](#1237)) ([d8fbf58](d8fbf58))
* **Design Tokens:** DLT-3368 DLT-3371 DLT-3410 add material dimension and brand-locked pairings ([#1252](#1252)) ([eeedc67](eeedc67))
* **Dialtone Css, Dialtone Documentation:** DLT-3363 add theme-to-mode migration guide and codemod ([#1260](#1260)) ([90aa4b4](90aa4b4))
* **Dialtone Css, Dialtone Tokens, Dialtone Vue:** DLT-3197 DLT-3198 DLT-3199 DLT-3200 DLT-3201 DLT-3202 DLT-3203 DLT-3204 DLT-3205 DLT-3206 DLT-3207 DLT-3208 DLT-3209 DLT-3210 DLT-3211 token-stop utility classes, migration tooling, and documentation ([#1150](#1150)) ([6237b84](6237b84))
* **Dialtone Css:** DLT-3278 add dialtone-migrate-typography codemod ([#1289](#1289)) ([aea7eba](aea7eba))
* **Dialtone Icons:** NO-JIRA add /vue export to dialtone-icon ([#1304](#1304)) ([081b0e9](081b0e9))
* **Dialtone Vue:** DLT-3225 migrate component size props to numeric ordinal scale ([#1157](#1157)) ([725bd41](725bd41))
* **Eslint Plugin Dialtone:** DLT-3047 physical-to-logical naming migration tooling ([#1163](#1163)) ([d94dc4b](d94dc4b))
* **Eslint Plugin Dialtone:** DLT-3227 DLT-3228 add deprecated-tshirt-sizes ESLint rule and migration codemod ([#1159](#1159)) ([21a011f](21a011f))
* **Eslint Plugin Dialtone:** DLT-3365 add deprecated-stack-flow-classes rule ([#1247](#1247)) ([8554f5a](8554f5a))
* **Filter Pill:** DLT-2704 create component ([#473](#473)) ([6267445](6267445))
* **Filter Pill:** DLT-2941 DtFilterPill improvements ([#1110](#1110)) ([23c5689](23c5689))
* **Focusgroup:** DLT-3285 add v-dt-focusgroup directive for declarative roving tabindex ([#1187](#1187)) ([e1ea074](e1ea074))
* **Focustrap:** DLT-3297 add v-dt-focustrap directive for declarative focus trapping ([#1195](#1195)) ([6ef9a21](6ef9a21))
* **Icons:** DP-192459 add circle and circle-dashed icons ([#1305](#1305)) ([8c41212](8c41212))
* **Link,button:** DLT-3012 add underline prop ([#1059](#1059)) ([1cb91ea](1cb91ea))
* **Modal:** DLT-3432 add transparentBackdrop prop ([#1277](#1277)) ([daace31](daace31))
* **Modal:** NO-JIRA apply headerClass to header text element ([#1279](#1279)) ([3cb4282](3cb4282))
* **Mode Directive, Mode Island:** DLT-3067 DLT-3078 DLT-3077 add `v-dt-mode` directive ([#1109](#1109)) ([f97efca](f97efca))
* **Popover, Tooltip:** DLT-3419 auto-append to nearest dialog for top-layer support ([#1266](#1266)) ([a5427e8](a5427e8))
* **Presence, Avatar:** DLT-3438 add icons to presence ([#1287](#1287)) ([51062be](51062be))
* **Prose:** DLT-3245 new component ([#1169](#1169)) ([adee928](adee928))
* **Scripts, Eslint, Stylelint:** DLT-3359 add success-to-positive migration tooling ([#1231](#1231)) ([0d652a5](0d652a5))
* **Scripts:** DLT-3033 DLT-3034 DLT-3035 add link-rendering migration codemod and ESLint rule ([#1233](#1233)) ([35a7238](35a7238))
* **Scripts:** DLT-3304 add scripts/docs for migration props changes ([#1219](#1219)) ([589173f](589173f))
* **Scrollbar:** DLT-3158 implement object props ([#1249](#1249)) ([09ff456](09ff456))
* **Segmented Control:** DLT-413 new component ([#1144](#1144)) ([ad4c6c3](ad4c6c3))
* **Split Button:** DLT-3257 add show-divider prop ([#1173](#1173)) ([5bef411](5bef411))
* **Style:** DLT-2976 update underline thickness and offset ([#1058](#1058)) ([1e56947](1e56947))
* **Tabs:** DLT-3114 add vertical orientation variant ([#1120](#1120)) ([3290a23](3290a23))
* **Tabs:** DLT-3162 add spread prop for horizontal distribution ([#1135](#1135)) ([6e7cd04](6e7cd04))
* **Text:** export text component from dialtone-vue ([757fdb7](757fdb7))
* **Text:** new vue component DLT-2864 DLT-2863 DLT-2862 ([#995](#995)) ([196ef8a](196ef8a))
* **Tokens, Css:** DLT-3331 rename success tokens and utility classes to positive ([#1230](#1230)) ([34bdff5](34bdff5))
* **Tokens:** DLT-1977 add high contrast design tokens and theme ([#938](#938)) ([a1c0457](a1c0457))
* **Tokens:** DLT-2767 exploratory shell themes ([#909](#909)) ([3afcf63](3afcf63))
* **Tokens:** DLT-2781 create color-assistive themes ([#921](#921)) ([a6cc397](a6cc397))
* **Tokens:** DLT-2802 DLT-2563 layered theming system and mode island component ([#945](#945)) ([5c72c6c](5c72c6c))
* **Tokens:** DLT-2937 introduce spacing and layout token systems ([#1045](#1045)) ([de23e12](de23e12))
* **Tokens:** update color ramps and consumer color migration tools DLT-3004 DLT-3005 DLT-3006 DLT-3007 DLT-3008 ([#1054](#1054)) ([28cb1de](28cb1de))
* **Typography, Tokens:** DLT-2856 DLT-2857 next typography system ([#994](#994)) ([d744e97](d744e97))
* **Validation Messages:** DLT-3423 add info variant ([#1274](#1274)) ([412154b](412154b))

### Reverts

* remove accidental next-shadows commits from next ([868a502](868a502))
Brad Paugh (braddialpad) pushed a commit that referenced this pull request Jun 16, 2026
# [8.81.0-next.1](dialtone-css/v8.80.0...dialtone-css/v8.81.0-next.1) (2026-06-16)

### Bug Fixes

* **Contact Info:** no-jira remove min-inline-size regression from token migration ([ed8ee12](ed8ee12))
* **Css:** DLT-3321 reorder utility classes so single-direction wins over shorthand ([#1205](#1205)) ([df3bd74](df3bd74))
* **Css:** DLT-3336 register bgo, fco, bco vars as non-inheriting ([#1209](#1209)) ([0278620](0278620))
* **Resizable, Box:** DLT-3445 accept full layout token set ([#1293](#1293)) ([4a63990](4a63990))
* **Segmented Control, Button:** DLT-3446 update disabled active button style ([#1294](#1294)) ([9968aac](9968aac))
* **Segmented Control, Button:** NO-JIRA correct layering of slot items ([#1283](#1283)) ([046f212](046f212))
* **Split Button, Filter Pill:** DLT-3260 DLT-3261 correct misalignment at size 100 ([#1176](#1176)) ([fe2b777](fe2b777))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([81f886e](81f886e))
* **Tokens:** wrap css math expressions with calc() in layered build ([#966](#966)) ([1635f61](1635f61))

### Code Refactoring

* **Box:** DLT-3333 rename percent prop values to p-suffix ([#1208](#1208)) ([e5fa5da](e5fa5da))
* **Components:** dlt-3196 components to pascal case ([#1255](#1255)) ([aa6d259](aa6d259))
* **Css:** DLT-1876 css logical properties ([#872](#872)) ([1acd6c9](1acd6c9))
* **Modal:** DLT-3262 migrate DtModal to native dialog element ([#1179](#1179)) ([589edb5](589edb5))
* **Notice,banner,toast:** DLT-3296 decouple CSS and fix specificity violations ([#1194](#1194)) ([9579ac0](9579ac0))
* **Style:** DLT-3014 wrap all styles in css cascade layers ([#1061](#1061)) ([f8b3fed](f8b3fed))
* **Text:** DLT-2883 rename headline sizes from xxl => 2xl, etc ([#1029](#1029)) ([0ac86f3](0ac86f3))
* **Text:** DLT-3302 tone prop uses css variables instead of css utilities ([#1197](#1197)) ([75df16f](75df16f))
* **Tokens,css,link,text,breadcrumbs,input Group,split Button:** tokens, CSS foundation, deprecations, tooling DLT-3011 DLT-2961 DLT-3068 DLT-3069 DLT-3070 DLT-3071 DLT-3072 ([#1092](#1092)) ([7783090](7783090))
* **Tokens:** DLT-2884 deprecate space tokens in favor of size tokens ([#1013](#1013)) ([63f6d2f](63f6d2f))
* **Tokens:** DLT-3013 convert color system from HSL to OKLCH ([#1060](#1060)) ([42dc418](42dc418))
* **Validation Messages:** DLT-3422 update to use icon slot over embedded icon ([#1272](#1272)) ([344b737](344b737))

### Documentation

* **Border Radius:** dlt-3362 border-radius migration guide ([#1280](#1280)) ([12fd76a](12fd76a))
* **Css Utilities:** DLT-3295 DLT-3280 mark physical utilities as deprecated ([#1193](#1193)) ([73f1479](73f1479))
* DLT-1510 DLT-1511 DLT-1512 site redesign and ia ([#968](#968)) ([6ea7eb9](6ea7eb9))
* DLT-2908 ui kits landing page ([#1049](#1049)) ([d805b9d](d805b9d))
* **Foundations, Homepage:** DLT-3349 DLT-3350 refresh foundations content and homepage ([#1228](#1228)) ([ab73dfd](ab73dfd))
* **Migration Guide:** NO-JIRA improve prop/slot migration guide ([#1227](#1227)) ([1328452](1328452))
* **Migration Script:** dlt-3303 master migration script to next ([#1288](#1288)) ([332b3cc](332b3cc))
* **Playground:** DLT-3119 refine playground UI and integrate across doc site ([#1127](#1127)) ([ba6b599](ba6b599))

### Features

* **Avatar:** DLT-2942 updated avatar component ([#1047](#1047)) ([e50563d](e50563d))
* **Banner, Notice, Toast, Breadcrumbs, Checkbox, Radio, Input, Select Menu, Empty State:** visual refresh, dt-text integration, form api parity DLT-2944 DLT-2945 DLT-2949 DLT-2959 DLT-2960 DLT-2957 ([#1091](#1091)) ([16e908a](16e908a))
* **Box:** DLT-3315 new DtBox primitive component ([#1203](#1203)) ([e0c942e](e0c942e))
* **Box:** NO-JIRA add overlay surface value ([#1328](#1328)) ([ea7a8a5](ea7a8a5))
* **Button,tabs,split Button:** visual refresh and slot updates DLT-2946 DLT-2947 DLT-2965 ([#1090](#1090)) ([ffdd56f](ffdd56f))
* **Chip:** DLT-3195 change interactive prop default from true to false ([#1246](#1246)) ([30a5ea2](30a5ea2))
* **Colors, Link, Tokens:** DLT-3360 retune blue/gold/purple/black/red palette, add mention semantic tokens, migrate success to positive ([#1245](#1245)) ([880b37b](880b37b))
* **Components:** DLT-3157 align critical/positive prop values and CSS class names ([#1177](#1177)) ([edd98b2](edd98b2))
* **Css Utilities, Design Tokens:** DLT-3330 DLT-3332 add off-scale pixel-indexed layout tokens and sizing utilities ([#1206](#1206)) ([1054875](1054875))
* **Css Utilities, Eslint Plugin Dialtone:** DLT-3329 update border-radius css utilities and associated tooling ([#1211](#1211)) ([6bc3599](6bc3599))
* **Css Utilities:** DLT-3357 DLT-3358 add ease-in and retune ease-out ([#1226](#1226)) ([961965a](961965a))
* **Css Utility:** DLT-2715 add default color for border css utilities ([#874](#874)) ([71310ab](71310ab))
* **Design Tokens, Modal, Notice, Popover, Hovercard, Emoji Picker:** DLT-3436 add overlay surface color ([#1282](#1282)) ([62d60f2](62d60f2))
* **Design Tokens, Text, Link, Box, Css:** DLT-3338 add info semantic tokens and consumers ([#1210](#1210)) ([2f04b45](2f04b45))
* **Design Tokens:** DLT-3356 extend prota/deuter/trita accessible themes to semantic and components ([#1237](#1237)) ([d8fbf58](d8fbf58))
* **Design Tokens:** DLT-3368 DLT-3371 DLT-3410 add material dimension and brand-locked pairings ([#1252](#1252)) ([eeedc67](eeedc67))
* **Dialtone Css, Dialtone Documentation:** DLT-3363 add theme-to-mode migration guide and codemod ([#1260](#1260)) ([90aa4b4](90aa4b4))
* **Dialtone Css, Dialtone Tokens, Dialtone Vue:** DLT-3197 DLT-3198 DLT-3199 DLT-3200 DLT-3201 DLT-3202 DLT-3203 DLT-3204 DLT-3205 DLT-3206 DLT-3207 DLT-3208 DLT-3209 DLT-3210 DLT-3211 token-stop utility classes, migration tooling, and documentation ([#1150](#1150)) ([6237b84](6237b84))
* **Dialtone Css:** DLT-3278 add dialtone-migrate-typography codemod ([#1289](#1289)) ([aea7eba](aea7eba))
* **Dialtone Css:** NO-JIRA add dialtone-migrate bin and color-stops run-once marker ([#1329](#1329)) ([0286af1](0286af1))
* **Eslint Plugin Dialtone:** DLT-3047 physical-to-logical naming migration tooling ([#1163](#1163)) ([d94dc4b](d94dc4b))
* **Eslint Plugin Dialtone:** DLT-3227 DLT-3228 add deprecated-tshirt-sizes ESLint rule and migration codemod ([#1159](#1159)) ([21a011f](21a011f))
* **Filter Pill:** DLT-2704 create component ([#473](#473)) ([6267445](6267445))
* **Filter Pill:** DLT-2941 DtFilterPill improvements ([#1110](#1110)) ([23c5689](23c5689))
* **Fonts:** DLT-3475 export font module ([#1325](#1325)) ([bb8c966](bb8c966))
* **Link,button:** DLT-3012 add underline prop ([#1059](#1059)) ([1cb91ea](1cb91ea))
* **Master Script:** no-jira migration script ignore gitignore folders ([#1314](#1314)) ([e0af275](e0af275))
* **Modal:** DLT-3432 add transparentBackdrop prop ([#1277](#1277)) ([daace31](daace31))
* **Mode Directive, Mode Island:** DLT-3067 DLT-3078 DLT-3077 add `v-dt-mode` directive ([#1109](#1109)) ([f97efca](f97efca))
* **Presence, Avatar:** DLT-3438 add icons to presence ([#1287](#1287)) ([51062be](51062be))
* **Prose:** DLT-3245 new component ([#1169](#1169)) ([adee928](adee928))
* **Scripts, Eslint, Stylelint:** DLT-3359 add success-to-positive migration tooling ([#1231](#1231)) ([0d652a5](0d652a5))
* **Scripts:** DLT-3033 DLT-3034 DLT-3035 add link-rendering migration codemod and ESLint rule ([#1233](#1233)) ([35a7238](35a7238))
* **Scripts:** DLT-3304 add scripts/docs for migration props changes ([#1219](#1219)) ([589173f](589173f))
* **Scrollbar:** DLT-3158 implement object props ([#1249](#1249)) ([09ff456](09ff456))
* **Segmented Control:** DLT-413 new component ([#1144](#1144)) ([ad4c6c3](ad4c6c3))
* **Split Button:** DLT-3257 add show-divider prop ([#1173](#1173)) ([5bef411](5bef411))
* **Style:** DLT-2976 update underline thickness and offset ([#1058](#1058)) ([1e56947](1e56947))
* **Tabs:** DLT-3114 add vertical orientation variant ([#1120](#1120)) ([3290a23](3290a23))
* **Tabs:** DLT-3162 add spread prop for horizontal distribution ([#1135](#1135)) ([6e7cd04](6e7cd04))
* **Text:** new vue component DLT-2864 DLT-2863 DLT-2862 ([#995](#995)) ([196ef8a](196ef8a))
* **Tokens, Css:** DLT-3331 rename success tokens and utility classes to positive ([#1230](#1230)) ([34bdff5](34bdff5))
* **Tokens:** DLT-1977 add high contrast design tokens and theme ([#938](#938)) ([a1c0457](a1c0457))
* **Tokens:** DLT-2802 DLT-2563 layered theming system and mode island component ([#945](#945)) ([5c72c6c](5c72c6c))
* **Tokens:** DLT-2937 introduce spacing and layout token systems ([#1045](#1045)) ([de23e12](de23e12))
* **Tokens:** update color ramps and consumer color migration tools DLT-3004 DLT-3005 DLT-3006 DLT-3007 DLT-3008 ([#1054](#1054)) ([28cb1de](28cb1de))
* **Typography, Tokens:** DLT-2856 DLT-2857 next typography system ([#994](#994)) ([d744e97](d744e97))
* **Validation Messages:** DLT-3423 add info variant ([#1274](#1274)) ([412154b](412154b))

### Reverts

* remove accidental next-shadows commits from next ([868a502](868a502))
Brad Paugh (braddialpad) pushed a commit that referenced this pull request Jun 16, 2026
# [9.188.0-next.1](dialtone/v9.187.0...dialtone/v9.188.0-next.1) (2026-06-16)

### Bug Fixes

* **Combinator:** DLT-3171 update v-model bindings from rendered component events ([#1299](#1299)) ([81d0c15](81d0c15))
* **Combinator:** DLT-3232 pass app context to renderer target for directive resolution ([#1301](#1301)) ([41e125b](41e125b))
* **Combinator:** NO-JIRA remove unnecessary eslint-disable max-len comments ([e431bf6](e431bf6))
* **Components:** dlt-3408 components clean up ([#1264](#1264)) ([38c383a](38c383a))
* **Components:** no-jira update tree-shaking export ([#1270](#1270)) ([f12ddcc](f12ddcc))
* **Contact Info:** no-jira remove min-inline-size regression from token migration ([ed8ee12](ed8ee12))
* correct types paths in package.json exports ([#1239](#1239)) ([21667f9](21667f9))
* **Css:** DLT-3321 reorder utility classes so single-direction wins over shorthand ([#1205](#1205)) ([df3bd74](df3bd74))
* **Css:** DLT-3336 register bgo, fco, bco vars as non-inheriting ([#1209](#1209)) ([0278620](0278620))
* **Dialtone Docs:** NO-JIRA trim ai_summary to within 150-char limit ([ec59b13](ec59b13))
* **Dialtone Documentation:** NO-JIRA update @dialpad/i18n to 1.25.3 ([291789a](291789a))
* **Dialtone Icons:** NO-JIRA restore vue/dist export paths after staging merge ([d78b4b6](d78b4b6))
* **Dialtone Tokens:** NO-JIRA fix shadow DOM setAttribute crash in theme setters ([#1271](#1271)) ([554047b](554047b))
* **Dialtone Vue:** NO-JIRA declare @vitejs/plugin-react devDependency for storybook build ([0a02bf8](0a02bf8))
* **Doc:** NO-JIRA correct font size utility json ([#1015](#1015)) ([76cf0fa](76cf0fa))
* **Docs:** NO-JIRA actually static render the docs ([#1319](#1319)) ([0107a8e](0107a8e))
* **Documentation:** DLT-3451 migrate stale @change/[@input](https://github.com/input) handlers to [@update](https://github.com/update):model-value ([#1300](#1300)) ([9260128](9260128))
* **Editor:** NO-JIRA remove extra blank line in editor.mdx ([18c47ef](18c47ef))
* **Filter Pill, Mode Island:** NO-JIRA make next-only code SSR-safe after static rendering merge ([cd174ca](cd174ca))
* **Image Viewer:** DLT-3456 trap focus within the modal via v-dt-focustrap directive ([#1313](#1313)) ([a5aa3e7](a5aa3e7))
* **Modal:** auto-detect shadow root and teleport dialog into it ([#1268](#1268)) ([f945c84](f945c84))
* NO-JIRA regenerate pnpm-lock.yaml after staging merge ([4462a1a](4462a1a))
* possible merge issue in sidebarItem.vue ([5e2e91b](5e2e91b))
* **Resizable, Box:** DLT-3445 accept full layout token set ([#1293](#1293)) ([4a63990](4a63990))
* **Resizable:** DLT-3444 center handle position ([#1291](#1291)) ([0d5d639](0d5d639))
* **Rich Text Editor:** bubble menu error ([68e3591](68e3591))
* **Segmented Control, Button:** DLT-3446 update disabled active button style ([#1294](#1294)) ([9968aac](9968aac))
* **Segmented Control, Button:** NO-JIRA correct layering of slot items ([#1283](#1283)) ([046f212](046f212))
* **Segmented Control:** DLT-3443 correct background color of traveling indicator ([#1290](#1290)) ([5fc4fa8](5fc4fa8))
* **Split Button, Filter Pill:** DLT-3260 DLT-3261 correct misalignment at size 100 ([#1176](#1176)) ([fe2b777](fe2b777))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([81f886e](81f886e))
* **Stylelint:** disable hue-degree-notation rule and update OKLCH color syntax ([8721f43](8721f43))
* **Tabs:** DLT-3251 improve accessibility ([#1171](#1171)) ([01b101e](01b101e))
* **Tokens:** DLT-3053 preserve root font size variable as reference ([#1093](#1093)) ([112ab4b](112ab4b))
* **Tokens:** handle multi-layer box shadows correctly in postcss plugin ([feea7f1](feea7f1))
* **Tokens:** NO-JIRA output line-height as unitless instead of percentages ([#1040](#1040)) ([33d8505](33d8505))
* **Tokens:** wrap css math expressions with calc() in layered build ([#966](#966)) ([1635f61](1635f61))
* update @dialpad/i18n dependencies to latest versions ([7a4b777](7a4b777))
* **Validation Messages:** DLT-3430 fix VoiceOver silent on validation messages ([#1285](#1285)) ([96adfdf](96adfdf))

### Code Refactoring

* **Box:** DLT-3333 rename percent prop values to p-suffix ([#1208](#1208)) ([e5fa5da](e5fa5da))
* **Combinator:** DLT-3418 migrate controls prop changes ([#1261](#1261)) ([ab03b44](ab03b44))
* **Combobox Multi Select:** NO-JIRA use logical css properties ([#1104](#1104)) ([a675daf](a675daf))
* **Components,recipes:** DLT-3043 DLT-3046 logical start/end naming with deprecated backward-compatible fallbacks ([#1079](#1079)) ([1d26a4e](1d26a4e))
* **Components:** DLT-3100 remove rootClass references ([#1184](#1184)) ([6531783](6531783))
* **Components:** DLT-3160 standardize v-model event handling ([#1201](#1201)) ([f1624d4](f1624d4))
* **Components:** dlt-3196 components to pascal case ([#1255](#1255)) ([aa6d259](aa6d259))
* **Components:** dlt-3282 renamed show prop to open ([#1190](#1190)) ([5509d0f](5509d0f))
* **Components:** dlt-3283 refactor prop/slots to be consistent ([#1196](#1196)) ([2d22c76](2d22c76))
* **Components:** DLT-3284 refactor props to not have native html attributes names ([#1204](#1204)) ([48a0f57](48a0f57))
* **Css:** DLT-1876 css logical properties ([#872](#872)) ([1acd6c9](1acd6c9))
* **Modal:** DLT-3262 migrate DtModal to native dialog element ([#1179](#1179)) ([589edb5](589edb5))
* **Modal:** DLT-3453 trap focus with v-dt-focustrap directive ([#1316](#1316)) ([6e2a868](6e2a868))
* **Notice,banner,toast:** DLT-3296 decouple CSS and fix specificity violations ([#1194](#1194)) ([9579ac0](9579ac0))
* **Popover:** DLT-3455 trap focus with v-dt-focustrap directive ([#1312](#1312)) ([e57e227](e57e227))
* **Resizable:** DLT-3335 align size props on --dt-layout-* instead of --dt-size-* ([#1215](#1215)) ([c156dbc](c156dbc))
* **Style:** DLT-3014 wrap all styles in css cascade layers ([#1061](#1061)) ([f8b3fed](f8b3fed))
* **Text:** DLT-2883 rename headline sizes from xxl => 2xl, etc ([#1029](#1029)) ([0ac86f3](0ac86f3))
* **Text:** DLT-3302 tone prop uses css variables instead of css utilities ([#1197](#1197)) ([75df16f](75df16f))
* **Tokens,css,link,text,breadcrumbs,input Group,split Button:** tokens, CSS foundation, deprecations, tooling DLT-3011 DLT-2961 DLT-3068 DLT-3069 DLT-3070 DLT-3071 DLT-3072 ([#1092](#1092)) ([7783090](7783090))
* **Tokens:** DLT-2884 deprecate space tokens in favor of size tokens ([#1013](#1013)) ([63f6d2f](63f6d2f))
* **Tokens:** DLT-3013 convert color system from HSL to OKLCH ([#1060](#1060)) ([42dc418](42dc418))
* **Validation Messages:** DLT-3422 update to use icon slot over embedded icon ([#1272](#1272)) ([344b737](344b737))

### Documentation

* **Border Radius:** dlt-3362 border-radius migration guide ([#1280](#1280)) ([12fd76a](12fd76a))
* **Combinator:** DLT-3424 bridge logical to physical naming ([#1273](#1273)) ([ad4a5a1](ad4a5a1))
* **Components:** DLT-3178 DLT-3182 unify code examples into single code-example component ([#1147](#1147)) ([d0b6e14](d0b6e14))
* **Css Utilities:** DLT-3295 DLT-3280 mark physical utilities as deprecated ([#1193](#1193)) ([73f1479](73f1479))
* **Css Utilities:** DLT-3337 migrate internal utility-class consumers to token-indexed names and rewrite radius docs ([#1212](#1212)) ([d675238](d675238))
* **Dialog:** dlt-3361 dtmodal native dialog migration ([#1275](#1275)) ([4ef8a09](4ef8a09))
* **Dialtone Vue:** DLT-3226 update documentation and consuming code to numeric size scale ([#1158](#1158)) ([149c763](149c763))
* DLT-1510 DLT-1511 DLT-1512 site redesign and ia ([#968](#968)) ([6ea7eb9](6ea7eb9))
* DLT-2908 ui kits landing page ([#1049](#1049)) ([d805b9d](d805b9d))
* DLT-3016 migration docs ([#1224](#1224)) ([3d73a43](3d73a43))
* DLT-3212 automate token-derived docs data files from build sources ([#1298](#1298)) ([cf064f1](cf064f1))
* DLT-3243 fenced code blocks for examples and snippets ([#1166](#1166)) ([cb169df](cb169df))
* DLT-3250 display component status badges in sidebar and page headers ([#1170](#1170)) ([7d5f5d5](7d5f5d5))
* DLT-3252 add GFM alert syntax for notices ([#1172](#1172)) ([1697911](1697911))
* DLT-3258 DLT-3259 improve sidebar search with logical keywords and fuzzy matching ([#1174](#1174)) ([2bf4639](2bf4639))
* DLT-3345 migrate d-stack*/d-flow* wrappers to DtStack ([#1218](#1218)) ([fa090ef](fa090ef))
* DLT-3434 build pipeline for component wall thumbs ([#1278](#1278)) ([cb9992f](cb9992f))
* **Downloads:** DLT-3052 DLT-3355 add downloads section and navbar hovercards ([#1229](#1229)) ([ecf5f85](ecf5f85))
* **Foundations, Homepage:** DLT-3349 DLT-3350 refresh foundations content and homepage ([#1228](#1228)) ([ab73dfd](ab73dfd))
* **Layout And Spacing:** improve to focus on understanding new layout and spacing system ([c75201f](c75201f))
* **Migration Guide:** NO-JIRA improve prop/slot migration guide ([#1227](#1227)) ([1328452](1328452))
* **Migration Script:** dlt-3303 master migration script to next ([#1288](#1288)) ([332b3cc](332b3cc))
* NO-JIRA add functions-and-utilities to raw markdown pipeline ([628ce32](628ce32))
* NO-JIRA add typography utilities to DtText migration guide ([#1296](#1296)) ([1dcf975](1dcf975))
* NO-JIRA fix focus left-nav items on keypress down up ([#1106](#1106)) ([882c9b9](882c9b9))
* **Playground:** DLT-3119 refine playground UI and integrate across doc site ([#1127](#1127)) ([ba6b599](ba6b599))
* **Playground:** DLT-3242 segmented control for compact enum props ([#1165](#1165)) ([fa440d8](fa440d8))
* **Recipes:** dlt-3308 recipes removed from dialtone - migration guide ([#1269](#1269)) ([d1d5c59](d1d5c59))
* **Tabs, Skeleton, Rich Text Editor:** DLT-3347 update doc page code examples on next branch ([#1248](#1248)) ([5837895](5837895))
* **Utilities:** DLT-3183 convert to vue demo fenced block ([#1167](#1167)) ([522197f](522197f))

### Features

* **Avatar:** DLT-2942 updated avatar component ([#1047](#1047)) ([e50563d](e50563d))
* **Avatar:** DLT-3161 change from clickable to "interactive" ([#1182](#1182)) ([2d00fe0](2d00fe0))
* **Banner, Notice, Toast, Breadcrumbs, Checkbox, Radio, Input, Select Menu, Empty State:** visual refresh, dt-text integration, form api parity DLT-2944 DLT-2945 DLT-2949 DLT-2959 DLT-2960 DLT-2957 ([#1091](#1091)) ([16e908a](16e908a))
* **Banner:** DLT-3454 trap focus with v-dt-focustrap directive ([#1310](#1310)) ([22faacf](22faacf))
* **Box:** DLT-3315 new DtBox primitive component ([#1203](#1203)) ([e0c942e](e0c942e))
* **Box:** NO-JIRA add overlay surface value ([#1328](#1328)) ([ea7a8a5](ea7a8a5))
* **Button,tabs,split Button:** visual refresh and slot updates DLT-2946 DLT-2947 DLT-2965 ([#1090](#1090)) ([ffdd56f](ffdd56f))
* **Chip:** DLT-3195 change interactive prop default from true to false ([#1246](#1246)) ([30a5ea2](30a5ea2))
* **Colors, Link, Tokens:** DLT-3360 retune blue/gold/purple/black/red palette, add mention semantic tokens, migrate success to positive ([#1245](#1245)) ([880b37b](880b37b))
* **Colors:** DLT-3354 split green palette into distinct light and dark mode values ([#1225](#1225)) ([cf63034](cf63034))
* **Combinator:** DLT-3312 preview resolved value in sized props ([#1199](#1199)) ([61bb610](61bb610))
* **Combinator:** DLT-3470 render DtToggle mixed state as a segmented control ([#1309](#1309)) ([ff2a7b8](ff2a7b8))
* **Components:** dlt-3096 add slot classes ([#1214](#1214)) ([5f6528e](5f6528e))
* **Components:** DLT-3157 align critical/positive prop values and CSS class names ([#1177](#1177)) ([edd98b2](edd98b2))
* **Components:** DLT-3159 enforce positive boolean props ([#1198](#1198)) ([ac73bdc](ac73bdc))
* **Components:** DLT-3192 establish the slotclass convention rule ([#1216](#1216)) ([3c399d4](3c399d4))
* **Css Utilities, Design Tokens:** DLT-3330 DLT-3332 add off-scale pixel-indexed layout tokens and sizing utilities ([#1206](#1206)) ([1054875](1054875))
* **Css Utilities, Eslint Plugin Dialtone:** DLT-3329 update border-radius css utilities and associated tooling ([#1211](#1211)) ([6bc3599](6bc3599))
* **Css Utilities:** DLT-3357 DLT-3358 add ease-in and retune ease-out ([#1226](#1226)) ([961965a](961965a))
* **Css Utility:** DLT-2715 add default color for border css utilities ([#874](#874)) ([71310ab](71310ab))
* **Design Tokens, Modal, Notice, Popover, Hovercard, Emoji Picker:** DLT-3436 add overlay surface color ([#1282](#1282)) ([62d60f2](62d60f2))
* **Design Tokens, Text, Link, Box, Css:** DLT-3338 add info semantic tokens and consumers ([#1210](#1210)) ([2f04b45](2f04b45))
* **Design Tokens:** DLT-3356 extend prota/deuter/trita accessible themes to semantic and components ([#1237](#1237)) ([d8fbf58](d8fbf58))
* **Design Tokens:** DLT-3368 DLT-3371 DLT-3410 add material dimension and brand-locked pairings ([#1252](#1252)) ([eeedc67](eeedc67))
* **Dialtone Css, Dialtone Documentation:** DLT-3363 add theme-to-mode migration guide and codemod ([#1260](#1260)) ([90aa4b4](90aa4b4))
* **Dialtone Css, Dialtone Tokens, Dialtone Vue:** DLT-3197 DLT-3198 DLT-3199 DLT-3200 DLT-3201 DLT-3202 DLT-3203 DLT-3204 DLT-3205 DLT-3206 DLT-3207 DLT-3208 DLT-3209 DLT-3210 DLT-3211 token-stop utility classes, migration tooling, and documentation ([#1150](#1150)) ([6237b84](6237b84))
* **Dialtone Css:** DLT-3278 add dialtone-migrate-typography codemod ([#1289](#1289)) ([aea7eba](aea7eba))
* **Dialtone Css:** NO-JIRA add dialtone-migrate bin and color-stops run-once marker ([#1329](#1329)) ([0286af1](0286af1))
* **Dialtone Icons:** NO-JIRA add /vue export to dialtone-icon ([#1304](#1304)) ([081b0e9](081b0e9))
* **Dialtone Vue:** DLT-3225 migrate component size props to numeric ordinal scale ([#1157](#1157)) ([725bd41](725bd41))
* **Eslint Plugin Dialtone:** DLT-3047 physical-to-logical naming migration tooling ([#1163](#1163)) ([d94dc4b](d94dc4b))
* **Eslint Plugin Dialtone:** DLT-3227 DLT-3228 add deprecated-tshirt-sizes ESLint rule and migration codemod ([#1159](#1159)) ([21a011f](21a011f))
* **Eslint Plugin Dialtone:** DLT-3365 add deprecated-stack-flow-classes rule ([#1247](#1247)) ([8554f5a](8554f5a))
* **Filter Pill:** DLT-2704 create component ([#473](#473)) ([6267445](6267445))
* **Filter Pill:** DLT-2941 DtFilterPill improvements ([#1110](#1110)) ([23c5689](23c5689))
* **Focusgroup:** DLT-3285 add v-dt-focusgroup directive for declarative roving tabindex ([#1187](#1187)) ([e1ea074](e1ea074))
* **Focustrap:** DLT-3297 add v-dt-focustrap directive for declarative focus trapping ([#1195](#1195)) ([6ef9a21](6ef9a21))
* **Fonts:** DLT-3475 export font module ([#1325](#1325)) ([bb8c966](bb8c966))
* **Link,button:** DLT-3012 add underline prop ([#1059](#1059)) ([1cb91ea](1cb91ea))
* **Master Script:** no-jira migration script ignore gitignore folders ([#1314](#1314)) ([e0af275](e0af275))
* **Modal:** DLT-3432 add transparentBackdrop prop ([#1277](#1277)) ([daace31](daace31))
* **Modal:** NO-JIRA apply headerClass to header text element ([#1279](#1279)) ([3cb4282](3cb4282))
* **Mode Directive, Mode Island:** DLT-3067 DLT-3078 DLT-3077 add `v-dt-mode` directive ([#1109](#1109)) ([f97efca](f97efca))
* **Popover, Tooltip:** DLT-3419 auto-append to nearest dialog for top-layer support ([#1266](#1266)) ([a5427e8](a5427e8))
* **Presence, Avatar:** DLT-3438 add icons to presence ([#1287](#1287)) ([51062be](51062be))
* **Prose:** DLT-3245 new component ([#1169](#1169)) ([adee928](adee928))
* **Scripts, Eslint, Stylelint:** DLT-3359 add success-to-positive migration tooling ([#1231](#1231)) ([0d652a5](0d652a5))
* **Scripts:** DLT-3033 DLT-3034 DLT-3035 add link-rendering migration codemod and ESLint rule ([#1233](#1233)) ([35a7238](35a7238))
* **Scripts:** DLT-3304 add scripts/docs for migration props changes ([#1219](#1219)) ([589173f](589173f))
* **Scrollbar:** DLT-3158 implement object props ([#1249](#1249)) ([09ff456](09ff456))
* **Segmented Control:** DLT-413 new component ([#1144](#1144)) ([ad4c6c3](ad4c6c3))
* **Split Button:** DLT-3257 add show-divider prop ([#1173](#1173)) ([5bef411](5bef411))
* **Style:** DLT-2976 update underline thickness and offset ([#1058](#1058)) ([1e56947](1e56947))
* **Tabs:** DLT-3114 add vertical orientation variant ([#1120](#1120)) ([3290a23](3290a23))
* **Tabs:** DLT-3162 add spread prop for horizontal distribution ([#1135](#1135)) ([6e7cd04](6e7cd04))
* **Text:** export text component from dialtone-vue ([757fdb7](757fdb7))
* **Text:** new vue component DLT-2864 DLT-2863 DLT-2862 ([#995](#995)) ([196ef8a](196ef8a))
* **Tokens, Css:** DLT-3331 rename success tokens and utility classes to positive ([#1230](#1230)) ([34bdff5](34bdff5))
* **Tokens:** DLT-1977 add high contrast design tokens and theme ([#938](#938)) ([a1c0457](a1c0457))
* **Tokens:** DLT-2767 exploratory shell themes ([#909](#909)) ([3afcf63](3afcf63))
* **Tokens:** DLT-2781 create color-assistive themes ([#921](#921)) ([a6cc397](a6cc397))
* **Tokens:** DLT-2802 DLT-2563 layered theming system and mode island component ([#945](#945)) ([5c72c6c](5c72c6c))
* **Tokens:** DLT-2937 introduce spacing and layout token systems ([#1045](#1045)) ([de23e12](de23e12))
* **Tokens:** update color ramps and consumer color migration tools DLT-3004 DLT-3005 DLT-3006 DLT-3007 DLT-3008 ([#1054](#1054)) ([28cb1de](28cb1de))
* **Typography, Tokens:** DLT-2856 DLT-2857 next typography system ([#994](#994)) ([d744e97](d744e97))
* **Validation Messages:** DLT-3423 add info variant ([#1274](#1274)) ([412154b](412154b))
* **Whats New:** DLT-3450 show author photos from GitHub avatars ([#1302](#1302)) ([d885432](d885432))

### Reverts

* remove accidental next-shadows commits from next ([868a502](868a502))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants