Commit Graph

9 Commits

Author SHA1 Message Date
yyh
ec70e7c82f
fix: update tests 2026-03-03 17:01:17 +08:00
yyh
2c609000ec
Merge remote-tracking branch 'origin/feat/web-overlay-phase0-primitives' into test/ui-primitive-wrapper-tests-pr 2026-03-03 16:48:51 +08:00
yyh
4c8877044c
feat(ui): fill capability gaps in tooltip, dialog, and select primitives
Tooltip: add enter/exit opacity animation with data-[instant] support
Dialog: add overflow-y-auto for long content, optional closable button
Select: add clearable/loading props to trigger, disable alignItemWithTrigger
2026-03-03 15:49:29 +08:00
yyh
bf785e8df0
fix(web): unify overlay z-index, decouple Placement type, and improve animation a11y
- Add z-50 to all overlay Positioners so overlays inside a Dialog
  (e.g. Tooltip on a dialog button) are not clipped by its backdrop
- Replace @floating-ui/react Placement import with self-owned type
  definition to remove the transitive type dependency
- Change Dialog popup transition-all to explicit transition-[transform,scale,opacity]
  to avoid animating unintended CSS properties
- Add motion-reduce:transition-none to all animated overlay elements
  for prefers-reduced-motion compliance
2026-03-02 22:30:46 +08:00
yyh
5d9796b861
test(web): add unit tests for base ui primitive wrappers 2026-03-02 19:20:40 +08:00
yyh
6e7103f6d3
Revert "test(web): add unit tests for base ui primitive wrappers"
This reverts commit 03180ffc2c.
2026-03-02 19:20:40 +08:00
yyh
03180ffc2c
test(web): add unit tests for base ui primitive wrappers 2026-03-02 19:17:29 +08:00
yyh
3d7872bdcf
refactor(web): simplify z-index to rely on isolation + DOM order
Remove z-index tokens from tailwind config. With root `isolation: isolate`,
portaled overlays naturally sit above app content via DOM order.

- Tooltip / Popover / Dropdown: no z-index needed
- Dialog: z-50 (modal must cover non-modal portals)
- Toast: z-[99] (always on top, defined in toast component)
2026-03-02 15:01:08 +08:00
yyh
095a085fd4
feat(web): complete Phase 0 guardrails and add Base UI overlay primitives
- Install @base-ui/react 1.2.0
- Define semantic z-index layer tokens (dropdown/popover/modal/toast/tooltip)
- Add TooltipProvider to root layout with global timing config
- Mark portal-to-follow-elem as deprecated with migration guide
- Enforce no-restricted-imports as error with suppression baseline
- Add ESLint rule to block new portal-to-follow-elem usage in business code
- Scaffold Phase 1 semantic primitives: Tooltip, DropdownMenu, Popover, Dialog

Part of #32767
2026-03-02 13:36:12 +08:00