Commit Graph

902 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
aa7a6e96ed
fix: select 2026-03-03 13:05:01 +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
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
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
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
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
-LAN-
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
-LAN-
f73be8d69e
feat(web): add hover clear button for provider search (#32707)
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-02-27 20:42:30 +08:00
Poojan
5b45b62994
test: improve coverage for header components (#32628) 2026-02-27 10:27:46 +08:00
Pandaaaa906
fd799fa3f4
fix: spin-animation animation-delay (#32560)
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-02-25 23:17:08 +08:00
Poojan
b5f62b98f9
test: add unit tests for base-components-part-5 (#32457)
Co-authored-by: sahil-infocusp <73810410+sahil-infocusp@users.noreply.github.com>
2026-02-25 22:13:10 +08:00
Poojan
0ac09127c7
test: add unit tests for base components-part-4 (#32452)
Co-authored-by: sahil-infocusp <73810410+sahil-infocusp@users.noreply.github.com>
2026-02-25 17:36:58 +08:00
Saumya Talwani
6f2c101e3c
test: add tests for some base components (#32479) 2026-02-25 16:08:03 +08:00
Saumya Talwani
34b6fc92d7
test: add tests for some components in base > prompt-editor (#32472)
Co-authored-by: sahil-infocusp <73810410+sahil-infocusp@users.noreply.github.com>
2026-02-25 16:07:14 +08:00
akashseth-ifp
4e142f72e8
test(base): add test coverage for more base/form components (#32437)
Co-authored-by: sahil-infocusp <73810410+sahil-infocusp@users.noreply.github.com>
2026-02-25 10:47:25 +08:00
akashseth-ifp
8761109a34
test(base): added test coverage to form components (#32436) 2026-02-24 22:30:35 +08:00
Saumya Talwani
00935fe526
test: add tests for base > image-uploader (#32416) 2026-02-24 21:29:28 +08:00
Saumya Talwani
0358925d7d
test: add tests for some base components (#32415) 2026-02-24 21:08:57 +08:00
Poojan
b8fbd7b0f6
test: add unit tests for chat/embedded-chatbot components (#32361)
Co-authored-by: akashseth-ifp <akash.seth@infocusp.com>
2026-02-24 20:58:45 +08:00
Poojan
b2fa6cb4d3
test: add unit tests for chat components (#32367) 2026-02-24 18:29:21 +08:00
akashseth-ifp
ad3a195734
test(web): increase test coverage for model-provider-page folder (#32374) 2026-02-24 18:28:12 +08:00
Saumya Talwani
0eaae4f573
test: added tests for some base components (#32370) 2026-02-24 16:22:43 +08:00
Saumya Talwani
9819f7d69c
test: add tests for file-upload components (#32373)
Co-authored-by: sahil <sahil@infocusp.com>
2026-02-24 16:16:06 +08:00
Saumya Talwani
740d94c6ed
test: add tests for some base components (#32356) 2026-02-24 14:35:23 +08:00
Poojan
657eeb65b8
test: add unit tests for base-components-part-2 (#32409) 2026-02-24 14:34:48 +08:00
Saumya Talwani
f923901d3f
test: add tests for base > features (#32397)
Co-authored-by: sahil <sahil@infocusp.com>
2026-02-24 13:01:45 +08:00
mahammadasim
0070891114
test: add unit tests for prompt editor's component picker block plugin. (#32412) 2026-02-24 12:42:57 +08:00
Poojan
6e531fe44f
test: add unit tests for base-components part-3 (#32408) 2026-02-24 12:21:02 +08:00