From fc9daa80a3729d83bb645e217db50e164322762e Mon Sep 17 00:00:00 2001 From: wangdicoder Date: Sat, 18 Apr 2026 20:49:50 +1000 Subject: [PATCH 1/3] feat(react): redesign split component --- .changeset/major-split-product-upgrade.md | 6 + .../__snapshots__/split.test.tsx.snap | 31 - .../react/src/split/__tests__/split.test.tsx | 280 ++++++- packages/react/src/split/demo/Collapse.tsx | 20 + .../react/src/split/demo/CustomHandle.tsx | 78 ++ packages/react/src/split/demo/HitAreaSize.tsx | 44 ++ packages/react/src/split/demo/Horizontal.tsx | 21 +- packages/react/src/split/demo/Multiple.tsx | 21 +- packages/react/src/split/demo/Nest.tsx | 28 +- packages/react/src/split/demo/Step.tsx | 16 +- packages/react/src/split/demo/Vertical.tsx | 16 +- packages/react/src/split/index.md | 129 +++- packages/react/src/split/index.tsx | 11 +- packages/react/src/split/index.zh_CN.md | 133 +++- packages/react/src/split/resizer.tsx | 152 ++-- packages/react/src/split/split-context.ts | 6 +- packages/react/src/split/split-pane.tsx | 45 +- packages/react/src/split/split.tsx | 686 ++++++++++++++---- packages/react/src/split/style/index.scss | 191 +++-- packages/react/src/split/types.ts | 98 ++- packages/tokens/source/components/split.json | 71 +- packages/tokens/source/themes/dark.json | 9 +- 22 files changed, 1632 insertions(+), 460 deletions(-) create mode 100644 .changeset/major-split-product-upgrade.md delete mode 100644 packages/react/src/split/__tests__/__snapshots__/split.test.tsx.snap create mode 100644 packages/react/src/split/demo/Collapse.tsx create mode 100644 packages/react/src/split/demo/CustomHandle.tsx create mode 100644 packages/react/src/split/demo/HitAreaSize.tsx mode change 100755 => 100644 packages/react/src/split/index.tsx mode change 100755 => 100644 packages/react/src/split/resizer.tsx mode change 100755 => 100644 packages/react/src/split/split-pane.tsx mode change 100755 => 100644 packages/react/src/split/style/index.scss diff --git a/.changeset/major-split-product-upgrade.md b/.changeset/major-split-product-upgrade.md new file mode 100644 index 000000000..9d2ef29b3 --- /dev/null +++ b/.changeset/major-split-product-upgrade.md @@ -0,0 +1,6 @@ +--- +'@tiny-design/react': major +'@tiny-design/tokens': major +--- + +Redesign the Split component with a product-grade pane model, refreshed separator styling, updated tokens, and rewritten docs/demos. diff --git a/packages/react/src/split/__tests__/__snapshots__/split.test.tsx.snap b/packages/react/src/split/__tests__/__snapshots__/split.test.tsx.snap deleted file mode 100644 index 155675184..000000000 --- a/packages/react/src/split/__tests__/__snapshots__/split.test.tsx.snap +++ /dev/null @@ -1,31 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` should match the snapshot 1`] = ` - -
-
- Content -
- )} - style={{ height: 220, border: '1px solid #dcdee2', background: '#f8fafc' }}> - + style={{ + height: 220, + border: '1px solid var(--ty-color-border-secondary)', + background: 'var(--ty-color-fill)', + }}> + Navigation diff --git a/packages/react/src/split/demo/HitAreaSize.tsx b/packages/react/src/split/demo/HitAreaSize.tsx index 3dce8da2e..7c5bc1bfc 100644 --- a/packages/react/src/split/demo/HitAreaSize.tsx +++ b/packages/react/src/split/demo/HitAreaSize.tsx @@ -7,7 +7,7 @@ export default function HitAreaSizeDemo() { return ( -
Hit area: {hitAreaSize}px
+
Hit area: {hitAreaSize}px
- + style={{ + height: 240, + border: '1px solid var(--ty-color-border-secondary)', + background: 'var(--ty-color-fill)', + }}> + Navigation diff --git a/packages/react/src/split/demo/Horizontal.tsx b/packages/react/src/split/demo/Horizontal.tsx index c149227e1..fee4b2098 100644 --- a/packages/react/src/split/demo/Horizontal.tsx +++ b/packages/react/src/split/demo/Horizontal.tsx @@ -3,16 +3,23 @@ import { Split } from '@tiny-design/react'; const paneStyle: React.CSSProperties = { padding: 16, - background: '#ffffff', + background: 'var(--ty-color-bg-container)', }; export default function HorizontalDemo() { return ( - + Navigation - + Workspace diff --git a/packages/react/src/split/demo/Multiple.tsx b/packages/react/src/split/demo/Multiple.tsx index 1a37ae39b..06dab14af 100644 --- a/packages/react/src/split/demo/Multiple.tsx +++ b/packages/react/src/split/demo/Multiple.tsx @@ -8,11 +8,15 @@ export default function MultipleDemo() { defaultSize="28%" min="160px" max="420px" - style={{ height: 220, border: '1px solid #dcdee2', background: '#f8fafc' }}> + style={{ + height: 220, + border: '1px solid var(--ty-color-border-secondary)', + background: 'var(--ty-color-fill)', + }}> Canvas - + Secondary panel diff --git a/packages/react/src/split/demo/Nest.tsx b/packages/react/src/split/demo/Nest.tsx index def3998b3..e8cd75eaf 100644 --- a/packages/react/src/split/demo/Nest.tsx +++ b/packages/react/src/split/demo/Nest.tsx @@ -3,16 +3,27 @@ import { Split } from '@tiny-design/react'; export default function NestDemo() { return ( - - + + Sidebar - + Summary - + Detail diff --git a/packages/react/src/split/demo/Step.tsx b/packages/react/src/split/demo/Step.tsx index 8b63a13dc..264327717 100644 --- a/packages/react/src/split/demo/Step.tsx +++ b/packages/react/src/split/demo/Step.tsx @@ -3,11 +3,16 @@ import { Split } from '@tiny-design/react'; export default function StepDemo() { return ( - - + + Step-based pane - + Content diff --git a/packages/react/src/split/demo/Vertical.tsx b/packages/react/src/split/demo/Vertical.tsx index 511c68e74..c4836dff1 100644 --- a/packages/react/src/split/demo/Vertical.tsx +++ b/packages/react/src/split/demo/Vertical.tsx @@ -3,11 +3,19 @@ import { Split } from '@tiny-design/react'; export default function VerticalDemo() { return ( - - + + Preview - + Inspector From 15640cbc1c4bf1e17bd242bdf57ef4eb5c449367 Mon Sep 17 00:00:00 2001 From: wangdicoder Date: Sat, 18 Apr 2026 20:57:40 +1000 Subject: [PATCH 3/3] chore: lint --- .changeset/major-split-product-upgrade.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.changeset/major-split-product-upgrade.md b/.changeset/major-split-product-upgrade.md index 9d2ef29b3..1514d3696 100644 --- a/.changeset/major-split-product-upgrade.md +++ b/.changeset/major-split-product-upgrade.md @@ -1,6 +1,6 @@ --- -'@tiny-design/react': major -'@tiny-design/tokens': major +'@tiny-design/react': patch +'@tiny-design/tokens': patch --- Redesign the Split component with a product-grade pane model, refreshed separator styling, updated tokens, and rewritten docs/demos.