Commit Graph

3735 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
8234bced70
fix: lint config 2026-03-03 15:21:56 +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
2dfd7f4c65
fix: docs 2026-03-03 14:03:55 +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
dependabot[bot]
48c8aac092
chore(deps): bump @orpc/client from 1.13.4 to 1.13.6 in /web (#32883)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2026-03-03 13:50:13 +08:00
Coding On Star
4c07bc99f7
refactor(web): restructure app-sidebar with component decomposition and folder organization (#32887)
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
2026-03-03 13:32:52 +08:00
yyh
7d64082c6f
fix: lint 2026-03-03 13:09:47 +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
yyh
c761e737f5
Merge branch 'main' into feat/web-overlay-phase0-primitives 2026-03-03 11:56:03 +08:00
Stephen Zhou
d6ab36ff1e
chore: update vinext, add workaround (#32878) 2026-03-03 11:21:04 +08:00
yyh
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
yyh
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
autofix-ci[bot]
a9266fb7ed
[autofix.ci] apply automated fixes 2026-03-02 11:58:46 +00: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
yyh
78e6d0b88a
Merge branch 'feat/web-overlay-phase0-primitives' into test/ui-primitive-wrapper-tests-pr 2026-03-02 19:35:38 +08:00
yyh
967f8caecd
fix: lint 2026-03-02 19:33:47 +08:00
yyh
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
afcd3b81ce
lint 2026-03-02 19:00:17 +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
Coding On Star
9c33923985
feat(tests): add comprehensive test suite for workflow utilities and node creation (#32841)
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
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
Coding On Star
335b500aea
test: add unit tests for base components (#32818)
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
2026-03-02 11:40:43 +08:00
yyh
1a33903887
feat(web): add root isolation layer for portal stacking context (#32807) 2026-03-02 10:59:56 +08:00