SD-2527 - feat: implement new types of ordered lists#2873
SD-2527 - feat: implement new types of ordered lists#2873chittolinag wants to merge 18 commits intomainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 038936be5a
ℹ️ 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 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 address that feedback".
… (SD-2527) Coverage for the 10 styles this PR introduces (3 bullet + 7 ordered): - Unit: full mapping matrix for markerTextToBulletStyle and numberingInfoToOrderedStyle, plus the BULLET_STYLE_CHARS and ORDERED_LIST_STYLES override branches in numbering-transforms. - Unit: style param threading through toggleList, including the same-style-toggle-off and different-style-create cases. - Unit: headless toolbar deriver values for all 10 styles plus documented null cases (upper-alpha-paren, decimalZero, prefixed). - Unit: registry rename compatibility (legacy toggleBulletList / toggleOrderedList no longer flows through bullet-list/numbered-list). - Behavior: each toggle command produces correct OOXML and locks in current partial-selection style-switch fragmentation behavior. - Visual: fixture spec for sd-2527-list-styles.docx (auto-discovered).
caio-pizzol
left a comment
There was a problem hiding this comment.
hey @chittolinag! nicely scoped :)
i pushed a follow-up (c2685a3) with tests for all 10 styles - unit + behavior + visual, all passing.
three things inline. one more small thing: the bullet menu and the numbered menu return different shapes when you read their state - bullets give you the character (•), numbered gives you the name (decimal-paren). worth lining up.
needs work.
| role="menuitem" | ||
| :aria-label="button.ariaLabel" | ||
| ref="buttonRefs" | ||
| @keydown.prevent="(event) => handleKeyDown(event, index)" |
There was a problem hiding this comment.
.prevent blocks every key, so Tab, Escape, and Space all stop working inside the menu. same fix in NumberedStyleButtons.vue:86.
| @keydown.prevent="(event) => handleKeyDown(event, index)" | |
| @keydown="(event) => handleKeyDown(event, index)" |
then call event.preventDefault() inside the cases the switch handles.
Resolve conflicts between SD-2527 (ordered list styles + abstract-mutation for whole-list restyling) and SD-2526 (bullet style picker + split button). Behavior decisions: - SD-2527's abstract-mutation gate wins for bullet style swaps too: caret in one item now restyles every sibling at the same (numId, ilvl), preserving list identity and continuous numbering. SD-2526's "swap mints a new numId" tests updated to assert the new whole-level semantics. - Kept SD-2526's `bulletStyleLevel` plumbing on `generateNewListDefinition` so the create path still lands the override at the paragraph's existing nesting level when the abstract gate doesn't apply. - Extended the split-button toolbar pattern to the numbered list dropdown for parity with bullets. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
hey @chittolina! I gave this one a quick pass and found these:
|
@luccas-harbour , thanks for the feedback. the 1st issue if fixed. the 2nd, I spoke to Missy and we decided to follow this approach:
|
Introducing new types of ordered lists:
Even though we supported rendering the styles when opening documents from Word, the user couldn't start a new list using these types.
This PR introduces a dropdown that allows the user to do so.
Note
This PR depends on #2857. Let's merge the other one first.