Modal / popover dialogs opened from the toolbar — color picker, font picker, icon picker, image crop, layers, design vars. Lives in packages/sdk/src/chrome/toolbar/dialogs/.
Modal / popover dialogs opened from the toolbar — color picker, font picker, icon picker, image crop, layers, design vars. Lives in packages/sdk/src/chrome/toolbar/dialogs/.
State for each dialog is held in Jotai-style atoms (dialogAtoms.ts) — open state + anchor rect / payload — so the trigger button can be unmounted by the time the dialog renders. Dialogs read the rect at click time and feed it into AnchoredPopover via anchorRect.
PageHubConfig.curatedGoogleFontFamilies — see host-configuration.md. Defaults live in curatedGoogleFontFamilies.ts; runtime helpers in googleFonts.ts.IconDialog/components/, hooks/, utils/ — search, filtering, set tabsSidebarLayersPanel)Every dialog follows: Open atom + anchor rect atom + AnchoredPopover with anchorRect. This keeps the trigger lightweight (just sets atoms on click) and lets the dialog mount in a portal at .pagehub-sdk-root.
AnchoredPopover primitive