chore(playground): merge main into playground-updates and align with EMB-389 API renames#748
Merged
effie-ms merged 7 commits intoMay 27, 2026
Conversation
# Conflicts: # packages/widget-playground/src/components/DrawerControls/DesignControls/SubvariantControl.tsx # packages/widget-playground/src/store/widgetConfig/utils/getConfigOutput.ts # packages/widget-playground/src/store/widgetConfig/utils/getLocalStorageOutput.ts # pnpm-lock.yaml
effie-ms
approved these changes
May 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which Linear task is linked to this PR?
EMB-389 — follow-up to bring PR #716 up to date with the four merged EMB-389 PRs.
Why was it implemented this way?
PR #716 was written against
mainbefore the EMB-389 PRs (#741, #742, #743, #744) and PR #740 (mitt → eventemitter3) merged. The playground source still referenced the renamed/removed APIs, so a straight rebase produces a non-compiling tree.This PR is a coordination layer: merges current
mainintoplayground-updates(single merge commit), resolves the direct conflicts, and sweeps the remaining semantic references to the new API surface so the result compiles, passes tests, and renders the widget correctly.Merge into
playground-updates, notmain. Once this lands onplayground-updates, PR #716 is ready to re-review against current main.Direct conflicts resolved
packages/widget/src/types/widget.ts— auto-merged:MuiDraweraddition from feat(playground)!: redesign sidebar with nav-based layout and theme editing #716 + EMB-389 type restructure from main both preserved.packages/widget-playground/.../SubvariantControl.tsx— deleted (per feat(playground)!: redesign sidebar with nav-based layout and theme editing #716's sidebar redesign).packages/widget-playground/src/store/widgetConfig/utils/getConfigOutput.ts+getLocalStorageOutput.ts— emit bothmodeandmodeOptions(feat(playground)!: redesign sidebar with nav-based layout and theme editing #716 needed both; main's version only emittedmode).pnpm-lock.yaml— regenerated viapnpm install.Semantic renames applied (#716 code referencing removed APIs)
WidgetSubvariant/SplitSubvariant/SubvariantOptions→WidgetMode/SplitMode/ModeOptionsinutils/mode.ts(type fields renamed:subvariant→mode).useConfigSubvariant/useConfigSubvariantOptions→useConfigMode/useConfigModeOptionsinstore/widgetConfig/useConfigValues.ts.ModeDetailView.tsx— switched tosetMode,defaultConfig?.mode,modeOptions?.split.VariantDetailView.tsx— chain sidebar toggle now readshiddenUI?.chainSidebar(wassubvariantOptions?.wide?.disableChainSidebar).hooks/useSidebarNavLabels.ts— same hook + config field renames.E2E selector update
PR #716's playground sidebar replaces the "Subvariant" UI label with "Mode". The e2e test selector regex
/^Subvariant/iwould have failed against the new label. Updated:e2e/tests/components/PlaygroundSidebar.ts:17,29—subvariantButton→modeButton, regex/^Subvariant/i→/^Mode/i.e2e/tests/playground/smoke.spec.ts:21— same field name.#740 (mitt → eventemitter3) impact
Verified — all
WidgetEvent.*enum members used in the playground (WidgetEventsDetailView,WidgetEventsControls, etc.) still exist on main. No playground changes needed beyond what the auto-merge already absorbed.Visual showcase
N/A — coordination PR. Smoke test confirms:
Checklist before requesting a review
Verification
pnpm check— 1 pre-existing info (useless React fragment inThemePaletteSection.tsx, not from this PR)pnpm check:types— all packages passpnpm check:circular-deps— cleanpnpm --filter @lifi/widget test— 35/35pnpm --filter @lifi/widget-playground test— 14/14pnpm build— all packages