refactor(components): DLT-3100 remove rootClass references#1184
refactor(components): DLT-3100 remove rootClass references#1184Ignacio Ropolo (iropolo) wants to merge 4 commits intonextfrom
Conversation
|
Please add either the |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ca84a76137
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "Codex (@codex) address that feedback".
| :class="['d-input__root', { 'd-input--hidden': hidden }, $attrs.class]" | ||
| :style="$attrs.style" |
There was a problem hiding this comment.
Migrate remaining root-class call sites
This change makes root styling depend on $attrs.class and removes rootClass, but there are still in-repo callers using root-class (for example packages/dialtone-vue/recipes/conversation_view/editor/editor.vue and packages/combinator/src/components/option_bar/*.vue). Because this component has inheritAttrs: false, those legacy attrs are no longer interpreted as root classes, so expected wrapper styling is dropped and layouts regress in those screens. Please either keep a temporary rootClass compatibility path or update those call sites in the same PR.
Useful? React with 👍 / 👎.
| compatConfig: { MODE: 3 }, | ||
| name: 'DtCard', | ||
|
|
||
| inheritAttrs: false, |
There was a problem hiding this comment.
Preserve passthrough attrs on DtCard root
Adding inheritAttrs: false here drops all non-prop attributes unless they are manually rebound, and the template currently only reapplies class/style. That means consumer attributes like id, data-*, and aria-* no longer reach the root card element, which can break selectors and accessibility hooks. Forwarding the remaining $attrs to the root (while handling class/style explicitly) avoids this regression.
Useful? React with 👍 / 👎.
Ignacio Ropolo (@iropolo) I took the liberty of creating DLT-3281 as a followup action item within DLT-2980, including a speculative planning document. This is a highly repeatable pattern that should be fairly straight-forward to provide a codemod-like migration script, and even lint with autofix. When I've created the migration scripts on others within
|
Then should DLT-3100 be broken out into multiple stories? Make sense to have one that is solely for this |
|
Not sure |
|
I'm sure you're treating it this way anyway, but would it be prudent to connect https://dialpad.atlassian.net/browse/DLT-3096 as blocked by this one, https://dialpad.atlassian.net/browse/DLT-3100? |
Claude's reaction:
|
I can change it for refactor, it was the old title before I split the task.
Sure, will be the way to go.
Yeah, no big deal Im on both.
Im on it, thanks for the images! |
|
✔️ Deploy previews ready! |




Remove rootClass references
🛠️ Type Of Change
These types will increment the version number on release:
📖 Jira Ticket
This is just the first part of the ticket.
https://dialpad.atlassian.net/browse/DLT-3100
📖 Description
Updated
rootClassto be onlyclasson components:Breaking Changes
New Props (not breaking, but worth noting)
Before:
After:
Side note: I also removed
addClassStyleAttrs($attrs)since seems like it is for Vue2 compat mode which is not needed anymore.It is still present on some
recipes, if this get approves I will remove it from there too.There is still
inputWrapperClassoninput.vueandwrapperClassonListItemThey are for a nested wrapper element, not the root but ... stil confusing..
on
input.vuewe still haveinputClassandinputWrapperClass. At least we don't haverootClassanymore. My goodness