Commit Graph
2870 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 109cae8692 fix(dropdown-menu): align menu item padding with main branch and use DropdownMenuItem for theme row
Reduce menuRowBaseClassName padding from px-3 to px-2 to match main branch spacing.
Replace raw div with DropdownMenuItem for theme row to fix icon alignment and ARIA semantics.
2026-03-03 16:42:44 +08:00
yyh 959121aa0b fix 2026-03-03 16:09:31 +08:00
yyh 156d9d8de2 fix: add aria-label 2026-03-03 15:57:56 +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 174e95cb41 chore: deprecate base/tooltip, base/modal, base/select and restrict imports via eslint
- Add @deprecated JSDoc to base/tooltip, base/modal, base/select
- Add no-restricted-imports patterns for all three in eslint overlay-migration rule
- Regenerate eslint-suppressions.json with bulk-suppressed violations
- Add --pass-on-unpruned-suppressions to lint-staged eslint command
2026-03-03 15:16:19 +08:00
yyh 933e173ac8 refactor(dropdown-menu): wrap Radio/Checkbox items with shared styles and sealed indicators
- Extract menuRowBaseClassName and menuRowStateClassName constants shared across all row components
- Wrap RadioItem and CheckboxItem with default styles matching DropdownMenuItem
- Wrap RadioItemIndicator and CheckboxItemIndicator with hardcoded check icon, Omit children to prevent misuse
- Refactor DropdownMenuItem and SubTrigger to use shared className constants
2026-03-03 14:53:54 +08:00
yyh a32ab27ce0 refactor(dropdown-menu): improve primitive defaults and deduplicate account-dropdown
- Add overflow handling (max-h-[var(--available-height)]) to Popup
- Add disabled styles (cursor-not-allowed, opacity-50) to Item and SubTrigger
- Change hover token to bg-state-base-hover for consistency
- Build arrow icon into SubTrigger so callers don't repeat it
- Style DropdownMenuGroupLabel with default typography
- Extract shared MenuItemContent and ExternalLinkIndicator into menu-item-content.tsx
- Remove duplicated className constants and component definitions across account-dropdown files
- Remove !important overrides from callers now that primitive defaults are correct
- Remove manual max-h-[70vh] from SubContent (handled by primitive)
2026-03-03 14:45:02 +08:00
yyh bda226c18e Merge remote-tracking branch 'origin/main' into feat/web-overlay-phase0-primitives
# Conflicts:
#	web/eslint-suppressions.json
2026-03-03 13:56:46 +08:00
4c07bc99f7 refactor(web): restructure app-sidebar with component decomposition and folder organization (#32887)
Co-authored-by: CodingOnStar <[email protected]>
2026-03-03 13:32:52 +08:00
yyh aa7a6e96ed fix: select 2026-03-03 13:05:01 +08:00
yyh d6aac66c25 fix 2026-03-03 12:53:31 +08:00
yyhandGitHub c761e737f5 Merge branch 'main' into feat/web-overlay-phase0-primitives 2026-03-03 11:56:03 +08:00
Stephen ZhouandGitHub d6ab36ff1e chore: update vinext, add workaround (#32878) 2026-03-03 11:21:04 +08:00
yyhandGitHub a41f4aa982 refactor(web): refactor account menu component with Base UI primitives (#32854) 2026-03-03 10:45:22 +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 74f96d54ca test(web): cover passthrough props in base ui wrappers 2026-03-02 20:18:30 +08:00
yyhandGitHub ceb8c8bf1e Merge branch 'feat/web-overlay-phase0-primitives' into test/ui-primitive-wrapper-tests-pr 2026-03-02 20:10:15 +08:00
yyh 4562a11903 refactor(web): align overlay primitive content prop pass-through
- add positioner/popup/list pass-through props for select/popover/dropdown wrappers

- keep existing semantic placement API while enabling Base UI behavioral extensibility

- align wrapper ergonomics across overlay primitives
2026-03-02 20:08:09 +08:00
yyh 52d02b132e feat(web): tighten overlay migration lint governance
- narrow overlay-migration ignore scope to explicit legacy base file allowlist

- replace directory-level react-refresh disable with allowExportNames for base UI primitives

- extract long lint constants into eslint.constants.mjs for config readability

- add overlay migration guide and link it from lint docs

- refactor dropdown-menu internal popup helper to avoid react-refresh false positives
2026-03-02 19:56:15 +08:00
yyhandGitHub 78e6d0b88a Merge branch 'feat/web-overlay-phase0-primitives' into test/ui-primitive-wrapper-tests-pr 2026-03-02 19:35:38 +08:00
yyhandGitHub 7e8f22a85a Merge branch 'main' into feat/web-overlay-phase0-primitives 2026-03-02 19:28:41 +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 3385a41075 chore(web): drop residual account menu formatting deltas 2026-03-02 18:54:27 +08:00
yyh e358ca9a12 chore(web): keep phase0 branch focused on base ui primitives 2026-03-02 18:52:43 +08:00
9c33923985 feat(tests): add comprehensive test suite for workflow utilities and node creation (#32841)
Co-authored-by: CodingOnStar <[email protected]>
Co-authored-by: Asuka Minato <[email protected]>
Co-authored-by: yyh <[email protected]>
2026-03-02 18:24:01 +08:00
yyh f5e32e533b fix(ui-tooltip): prevent popup className override 2026-03-02 18:21:56 +08:00
yyh 4b3dceeda1 fix 2026-03-02 18:07:57 +08:00
yyh c4fe93a8b8 refactor(ui): compose tooltip primitives and dedupe menu popup 2026-03-02 18:03:25 +08:00
yyh f83f84afac refactor(tooltip): support per-instance delay and apply in compliance menu 2026-03-02 17:54:59 +08:00
yyh 5c278d99d4 refactor(header): align account submenu contract and tests 2026-03-02 17:41:20 +08:00
yyh 80f86afbca fix: tests and named import 2026-03-02 15:21:53 +08:00
yyh 3377240c3b refactor(web): align account dropdown submenu semantics 2026-03-02 15:18:32 +08:00
yyh dde6f82e9e fix 2026-03-02 15:09:44 +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 f65159bd00 refactor(web): share placement parser across base ui primitives 2026-03-02 14:57:06 +08:00
yyh 6b55e50106 refactor(web): migrate account dropdown to dropdown primitives 2026-03-02 14:50:04 +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
335b500aea test: add unit tests for base components (#32818)
Co-authored-by: CodingOnStar <[email protected]>
2026-03-02 11:40:43 +08:00
yyhandGitHub 1a33903887 feat(web): add root isolation layer for portal stacking context (#32807) 2026-03-02 10:59:56 +08:00
yyhandGitHub 6a3db151a8 fix: improve TanStack Query client setup and fix queryKey bug (#32422) 2026-03-01 16:32:42 +08:00
-LAN-GitHubgemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
36fad7256d fix(web): improve chat edit input behavior and shortcuts (#32757)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-01 16:24:19 +08:00
Stephen ZhouandGitHub 46d45e4c39 fix: remove REDIRECT_URL_KEY from url (#32770) 2026-03-01 14:29:23 +08:00
eb66d36ea8 chore: add vinext as dev server (#32559)
Co-authored-by: Copilot <[email protected]>
Co-authored-by: yyh <[email protected]>
2026-03-01 09:54:39 +08:00
yyhandGitHub 35b31d0cdd ci(web): parallelize web tests with 4-shard Vitest sharding (#32713) 2026-02-27 21:33:12 +08:00
f73be8d69e feat(web): add hover clear button for provider search (#32707)
Signed-off-by: -LAN- <[email protected]>
Co-authored-by: yyh <[email protected]>
Co-authored-by: yyh <[email protected]>
2026-02-27 20:42:30 +08:00
Stephen ZhouandGitHub 439ff3775d chore: update to eslint 10 (#32646) 2026-02-27 19:44:54 +08:00