@chenzy-design/core 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-chat-dialogue.d.ts +300 -0
- package/dist/ai-chat-dialogue.d.ts.map +1 -0
- package/dist/ai-chat-dialogue.js +699 -0
- package/dist/ai-chat-dialogue.js.map +1 -0
- package/dist/ai-chat-dialogue.test.d.ts +2 -0
- package/dist/ai-chat-dialogue.test.d.ts.map +1 -0
- package/dist/ai-chat-dialogue.test.js +338 -0
- package/dist/ai-chat-dialogue.test.js.map +1 -0
- package/dist/ai-chat-input.d.ts +191 -0
- package/dist/ai-chat-input.d.ts.map +1 -0
- package/dist/ai-chat-input.js +274 -0
- package/dist/ai-chat-input.js.map +1 -0
- package/dist/ai-chat-input.test.d.ts +2 -0
- package/dist/ai-chat-input.test.d.ts.map +1 -0
- package/dist/ai-chat-input.test.js +339 -0
- package/dist/ai-chat-input.test.js.map +1 -0
- package/dist/audio-player.d.ts +154 -0
- package/dist/audio-player.d.ts.map +1 -0
- package/dist/audio-player.js +254 -0
- package/dist/audio-player.js.map +1 -0
- package/dist/audio-player.test.d.ts +2 -0
- package/dist/audio-player.test.d.ts.map +1 -0
- package/dist/audio-player.test.js +275 -0
- package/dist/audio-player.test.js.map +1 -0
- package/dist/back-top.d.ts +4 -1
- package/dist/back-top.d.ts.map +1 -1
- package/dist/back-top.js +5 -2
- package/dist/back-top.js.map +1 -1
- package/dist/back-top.test.js +3 -2
- package/dist/back-top.test.js.map +1 -1
- package/dist/calendar.d.ts +132 -44
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +413 -70
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.test.js +160 -76
- package/dist/calendar.test.js.map +1 -1
- package/dist/chat.d.ts +172 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +210 -0
- package/dist/chat.js.map +1 -0
- package/dist/chat.test.d.ts +2 -0
- package/dist/chat.test.d.ts.map +1 -0
- package/dist/chat.test.js +181 -0
- package/dist/chat.test.js.map +1 -0
- package/dist/code-highlight.d.ts +30 -0
- package/dist/code-highlight.d.ts.map +1 -0
- package/dist/code-highlight.js +37 -0
- package/dist/code-highlight.js.map +1 -0
- package/dist/code-highlight.test.d.ts +2 -0
- package/dist/code-highlight.test.d.ts.map +1 -0
- package/dist/code-highlight.test.js +36 -0
- package/dist/code-highlight.test.js.map +1 -0
- package/dist/collapsible.d.ts +41 -0
- package/dist/collapsible.d.ts.map +1 -0
- package/dist/collapsible.js +33 -0
- package/dist/collapsible.js.map +1 -0
- package/dist/collapsible.test.d.ts +2 -0
- package/dist/collapsible.test.d.ts.map +1 -0
- package/dist/collapsible.test.js +57 -0
- package/dist/collapsible.test.js.map +1 -0
- package/dist/color-value.d.ts +60 -0
- package/dist/color-value.d.ts.map +1 -0
- package/dist/color-value.js +165 -0
- package/dist/color-value.js.map +1 -0
- package/dist/color-value.test.d.ts +2 -0
- package/dist/color-value.test.d.ts.map +1 -0
- package/dist/color-value.test.js +104 -0
- package/dist/color-value.test.js.map +1 -0
- package/dist/config-provider.d.ts +76 -37
- package/dist/config-provider.d.ts.map +1 -1
- package/dist/config-provider.js +107 -32
- package/dist/config-provider.js.map +1 -1
- package/dist/config-provider.test.js +123 -60
- package/dist/config-provider.test.js.map +1 -1
- package/dist/cropper.d.ts +164 -0
- package/dist/cropper.d.ts.map +1 -0
- package/dist/cropper.js +841 -0
- package/dist/cropper.js.map +1 -0
- package/dist/cropper.test.d.ts +2 -0
- package/dist/cropper.test.d.ts.map +1 -0
- package/dist/cropper.test.js +259 -0
- package/dist/cropper.test.js.map +1 -0
- package/dist/drag-move.d.ts +119 -0
- package/dist/drag-move.d.ts.map +1 -0
- package/dist/drag-move.js +237 -0
- package/dist/drag-move.js.map +1 -0
- package/dist/drag-move.test.d.ts +2 -0
- package/dist/drag-move.test.d.ts.map +1 -0
- package/dist/drag-move.test.js +304 -0
- package/dist/drag-move.test.js.map +1 -0
- package/dist/editable.d.ts +24 -4
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +18 -0
- package/dist/editable.js.map +1 -1
- package/dist/editable.test.js +55 -2
- package/dist/editable.test.js.map +1 -1
- package/dist/ellipsis.d.ts +13 -0
- package/dist/ellipsis.d.ts.map +1 -1
- package/dist/ellipsis.js +36 -0
- package/dist/ellipsis.js.map +1 -1
- package/dist/ellipsis.test.js +37 -1
- package/dist/ellipsis.test.js.map +1 -1
- package/dist/form-path.d.ts +19 -0
- package/dist/form-path.d.ts.map +1 -0
- package/dist/form-path.js +97 -0
- package/dist/form-path.js.map +1 -0
- package/dist/form-path.test.d.ts +2 -0
- package/dist/form-path.test.d.ts.map +1 -0
- package/dist/form-path.test.js +57 -0
- package/dist/form-path.test.js.map +1 -0
- package/dist/form-validate.d.ts +13 -0
- package/dist/form-validate.d.ts.map +1 -0
- package/dist/form-validate.js +204 -0
- package/dist/form-validate.js.map +1 -0
- package/dist/form.d.ts +91 -18
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +170 -115
- package/dist/form.js.map +1 -1
- package/dist/form.test.js +349 -76
- package/dist/form.test.js.map +1 -1
- package/dist/highlight.d.ts +42 -32
- package/dist/highlight.d.ts.map +1 -1
- package/dist/highlight.js +67 -41
- package/dist/highlight.js.map +1 -1
- package/dist/highlight.test.js +73 -32
- package/dist/highlight.test.js.map +1 -1
- package/dist/hotkeys.d.ts +151 -0
- package/dist/hotkeys.d.ts.map +1 -0
- package/dist/hotkeys.js +188 -0
- package/dist/hotkeys.js.map +1 -0
- package/dist/hotkeys.test.d.ts +2 -0
- package/dist/hotkeys.test.d.ts.map +1 -0
- package/dist/hotkeys.test.js +170 -0
- package/dist/hotkeys.test.js.map +1 -0
- package/dist/index.d.ts +33 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -13
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +34 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +54 -0
- package/dist/input.js.map +1 -0
- package/dist/input.test.d.ts +2 -0
- package/dist/input.test.d.ts.map +1 -0
- package/dist/input.test.js +56 -0
- package/dist/input.test.js.map +1 -0
- package/dist/markdown-render.d.ts +49 -0
- package/dist/markdown-render.d.ts.map +1 -0
- package/dist/markdown-render.js +61 -0
- package/dist/markdown-render.js.map +1 -0
- package/dist/markdown-render.test.d.ts +2 -0
- package/dist/markdown-render.test.d.ts.map +1 -0
- package/dist/markdown-render.test.js +106 -0
- package/dist/markdown-render.test.js.map +1 -0
- package/dist/notification.d.ts +40 -31
- package/dist/notification.d.ts.map +1 -1
- package/dist/notification.js +86 -70
- package/dist/notification.js.map +1 -1
- package/dist/notification.test.js +62 -39
- package/dist/notification.test.js.map +1 -1
- package/dist/numeral.d.ts +32 -0
- package/dist/numeral.d.ts.map +1 -0
- package/dist/numeral.js +67 -0
- package/dist/numeral.js.map +1 -0
- package/dist/numeral.test.d.ts +2 -0
- package/dist/numeral.test.d.ts.map +1 -0
- package/dist/numeral.test.js +59 -0
- package/dist/numeral.test.js.map +1 -0
- package/dist/overflow-list.d.ts +9 -40
- package/dist/overflow-list.d.ts.map +1 -1
- package/dist/overflow-list.js +9 -70
- package/dist/overflow-list.js.map +1 -1
- package/dist/overflow-list.test.js +1 -122
- package/dist/overflow-list.test.js.map +1 -1
- package/dist/pagination.d.ts +17 -0
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +48 -0
- package/dist/pagination.js.map +1 -1
- package/dist/pagination.test.js +40 -1
- package/dist/pagination.test.js.map +1 -1
- package/dist/pincode.d.ts +79 -0
- package/dist/pincode.d.ts.map +1 -0
- package/dist/pincode.js +119 -0
- package/dist/pincode.js.map +1 -0
- package/dist/pincode.test.d.ts +2 -0
- package/dist/pincode.test.d.ts.map +1 -0
- package/dist/pincode.test.js +151 -0
- package/dist/pincode.test.js.map +1 -0
- package/dist/progress.d.ts +32 -30
- package/dist/progress.d.ts.map +1 -1
- package/dist/progress.js +257 -64
- package/dist/progress.js.map +1 -1
- package/dist/progress.test.js +50 -47
- package/dist/progress.test.js.map +1 -1
- package/dist/resizable.d.ts +200 -0
- package/dist/resizable.d.ts.map +1 -0
- package/dist/resizable.js +329 -0
- package/dist/resizable.js.map +1 -0
- package/dist/resizable.test.d.ts +2 -0
- package/dist/resizable.test.d.ts.map +1 -0
- package/dist/resizable.test.js +302 -0
- package/dist/resizable.test.js.map +1 -0
- package/dist/scroll-list.d.ts +69 -62
- package/dist/scroll-list.d.ts.map +1 -1
- package/dist/scroll-list.js +103 -144
- package/dist/scroll-list.js.map +1 -1
- package/dist/scroll-list.test.js +100 -110
- package/dist/scroll-list.test.js.map +1 -1
- package/dist/sidebar.d.ts +46 -0
- package/dist/sidebar.d.ts.map +1 -0
- package/dist/sidebar.js +65 -0
- package/dist/sidebar.js.map +1 -0
- package/dist/sidebar.test.d.ts +2 -0
- package/dist/sidebar.test.d.ts.map +1 -0
- package/dist/sidebar.test.js +88 -0
- package/dist/sidebar.test.js.map +1 -0
- package/dist/spin.d.ts +5 -5
- package/dist/spin.d.ts.map +1 -1
- package/dist/spin.js +13 -39
- package/dist/spin.js.map +1 -1
- package/dist/spin.test.js +2 -26
- package/dist/spin.test.js.map +1 -1
- package/dist/toast.d.ts +33 -30
- package/dist/toast.d.ts.map +1 -1
- package/dist/toast.js +77 -72
- package/dist/toast.js.map +1 -1
- package/dist/toast.test.js +63 -37
- package/dist/toast.test.js.map +1 -1
- package/dist/tree.d.ts +22 -5
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +61 -9
- package/dist/tree.js.map +1 -1
- package/dist/tree.test.js +72 -1
- package/dist/tree.test.js.map +1 -1
- package/dist/user-guide.d.ts +73 -0
- package/dist/user-guide.d.ts.map +1 -0
- package/dist/user-guide.js +95 -0
- package/dist/user-guide.js.map +1 -0
- package/dist/user-guide.test.d.ts +2 -0
- package/dist/user-guide.test.d.ts.map +1 -0
- package/dist/user-guide.test.js +109 -0
- package/dist/user-guide.test.js.map +1 -0
- package/dist/video-player.d.ts +196 -0
- package/dist/video-player.d.ts.map +1 -0
- package/dist/video-player.js +461 -0
- package/dist/video-player.js.map +1 -0
- package/dist/video-player.test.d.ts +2 -0
- package/dist/video-player.test.d.ts.map +1 -0
- package/dist/video-player.test.js +435 -0
- package/dist/video-player.test.js.map +1 -0
- package/package.json +17 -1
- package/dist/banner.d.ts +0 -19
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js +0 -20
- package/dist/banner.js.map +0 -1
- package/dist/banner.test.d.ts +0 -2
- package/dist/banner.test.d.ts.map +0 -1
- package/dist/banner.test.js +0 -29
- package/dist/banner.test.js.map +0 -1
- package/dist/breakpoints.d.ts +0 -30
- package/dist/breakpoints.d.ts.map +0 -1
- package/dist/breakpoints.js +0 -45
- package/dist/breakpoints.js.map +0 -1
- package/dist/breakpoints.test.d.ts +0 -2
- package/dist/breakpoints.test.d.ts.map +0 -1
- package/dist/breakpoints.test.js +0 -46
- package/dist/breakpoints.test.js.map +0 -1
- package/dist/lottie-icon.d.ts +0 -88
- package/dist/lottie-icon.d.ts.map +0 -1
- package/dist/lottie-icon.js +0 -84
- package/dist/lottie-icon.js.map +0 -1
- package/dist/lottie-icon.test.d.ts +0 -2
- package/dist/lottie-icon.test.d.ts.map +0 -1
- package/dist/lottie-icon.test.js +0 -88
- package/dist/lottie-icon.test.js.map +0 -1
- package/dist/sider.d.ts +0 -26
- package/dist/sider.d.ts.map +0 -1
- package/dist/sider.js +0 -55
- package/dist/sider.js.map +0 -1
- package/dist/sider.test.d.ts +0 -2
- package/dist/sider.test.d.ts.map +0 -1
- package/dist/sider.test.js +0 -29
- package/dist/sider.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cropper.js","sourceRoot":"","sources":["../src/cropper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cropper.test.d.ts","sourceRoot":"","sources":["../src/cropper.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { createCropperFoundation, getMiddle, getAspectHW, getMoveParamByDir, CROPPER_CORNERS, CROPPER_ROUND_CORNERS, } from './cropper.js';
|
|
3
|
+
/**
|
|
4
|
+
* jsdom 无关的纯几何单测。构造一个内存 harness:
|
|
5
|
+
* - container 500×400,getBoundingClientRect 原点 (0,0)
|
|
6
|
+
* - state 用一个可变对象,setState 浅合并
|
|
7
|
+
*/
|
|
8
|
+
function makeHarness(props = {}, containerSize = { width: 500, height: 400 }) {
|
|
9
|
+
const state = {
|
|
10
|
+
imgData: { width: 0, height: 0, centerPoint: { x: 0, y: 0 } },
|
|
11
|
+
cropperBox: { width: 0, height: 0, centerPoint: { x: 0, y: 0 } },
|
|
12
|
+
zoom: 1,
|
|
13
|
+
rotate: 0,
|
|
14
|
+
loaded: false,
|
|
15
|
+
};
|
|
16
|
+
const notifyZoomChange = vi.fn();
|
|
17
|
+
const container = {
|
|
18
|
+
clientWidth: containerSize.width,
|
|
19
|
+
clientHeight: containerSize.height,
|
|
20
|
+
getBoundingClientRect: () => ({ left: 0, top: 0, width: containerSize.width, height: containerSize.height }),
|
|
21
|
+
};
|
|
22
|
+
const foundation = createCropperFoundation({
|
|
23
|
+
adapter: {
|
|
24
|
+
getContainer: () => container,
|
|
25
|
+
getImg: () => null,
|
|
26
|
+
notifyZoomChange,
|
|
27
|
+
},
|
|
28
|
+
getProps: () => props,
|
|
29
|
+
getState: () => state,
|
|
30
|
+
setState: (patch) => Object.assign(state, patch),
|
|
31
|
+
});
|
|
32
|
+
return { foundation, state, notifyZoomChange, container };
|
|
33
|
+
}
|
|
34
|
+
describe('cropper utils', () => {
|
|
35
|
+
it('getMiddle clamps to [min, max]', () => {
|
|
36
|
+
expect(getMiddle(5, [0, 10])).toBe(5);
|
|
37
|
+
expect(getMiddle(-3, [0, 10])).toBe(0);
|
|
38
|
+
expect(getMiddle(99, [0, 10])).toBe(10);
|
|
39
|
+
});
|
|
40
|
+
it('getAspectHW fits a box to a target aspect (w/h)', () => {
|
|
41
|
+
// wide outer box, aspect 1 → shrink width to match height
|
|
42
|
+
expect(getAspectHW(200, 100, 1)).toEqual([100, 100]);
|
|
43
|
+
// tall outer box, aspect 2 → shrink height to match width
|
|
44
|
+
expect(getAspectHW(100, 200, 2)).toEqual([100, 50]);
|
|
45
|
+
});
|
|
46
|
+
it('getMoveParamByDir maps corners to sign vectors', () => {
|
|
47
|
+
expect(getMoveParamByDir('tl')).toEqual({ paramX: -1, paramY: -1 });
|
|
48
|
+
expect(getMoveParamByDir('br')).toEqual({ paramX: 1, paramY: 1 });
|
|
49
|
+
expect(getMoveParamByDir('tm')).toEqual({ paramX: 0, paramY: -1 });
|
|
50
|
+
expect(getMoveParamByDir('mr')).toEqual({ paramX: 1, paramY: 0 });
|
|
51
|
+
});
|
|
52
|
+
it('exposes the canonical corner sets', () => {
|
|
53
|
+
expect(CROPPER_CORNERS).toHaveLength(8);
|
|
54
|
+
expect(CROPPER_ROUND_CORNERS).toEqual(['tm', 'ml', 'mr', 'bm']);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
describe('cropper image load', () => {
|
|
58
|
+
it('landscape image (wider than container ratio) fits to container width', () => {
|
|
59
|
+
const { foundation, state } = makeHarness({}, { width: 500, height: 400 });
|
|
60
|
+
// natural 1000×400 → ratio 2.5 > container 1.25 → fit width
|
|
61
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 400 });
|
|
62
|
+
expect(state.loaded).toBe(true);
|
|
63
|
+
expect(state.imgData.width).toBe(500);
|
|
64
|
+
expect(state.imgData.height).toBe(200); // 400 * 0.5
|
|
65
|
+
expect(state.imgData.centerPoint).toEqual({ x: 250, y: 200 });
|
|
66
|
+
expect(foundation.getImageMeta().scale).toBe(0.5);
|
|
67
|
+
expect(foundation.getImageMeta().originalWidth).toBe(1000);
|
|
68
|
+
});
|
|
69
|
+
it('portrait image fits to container height', () => {
|
|
70
|
+
const { foundation, state } = makeHarness({}, { width: 500, height: 400 });
|
|
71
|
+
// natural 400×1000 → naturalW/containerW=0.8 < naturalH/containerH=2.5 → fit height
|
|
72
|
+
foundation.handleImageLoad({ naturalWidth: 400, naturalHeight: 1000 });
|
|
73
|
+
expect(state.imgData.height).toBe(400);
|
|
74
|
+
expect(state.imgData.width).toBe(160); // 400 * 0.4
|
|
75
|
+
expect(foundation.getImageMeta().scale).toBe(0.4);
|
|
76
|
+
});
|
|
77
|
+
it('default cropper box uses defaultAspectRatio=1 centered', () => {
|
|
78
|
+
const { foundation, state } = makeHarness({}, { width: 500, height: 400 });
|
|
79
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
80
|
+
// container 500/400=1.25 > aspect 1 → width = height*aspect = 400, height = 400
|
|
81
|
+
expect(state.cropperBox.width).toBe(400);
|
|
82
|
+
expect(state.cropperBox.height).toBe(400);
|
|
83
|
+
expect(state.cropperBox.centerPoint).toEqual({ x: 250, y: 200 });
|
|
84
|
+
});
|
|
85
|
+
it('aspectRatio prop overrides defaultAspectRatio for initial box', () => {
|
|
86
|
+
const { foundation, state } = makeHarness({ aspectRatio: 2 }, { width: 500, height: 400 });
|
|
87
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
88
|
+
// container 1.25 < aspect 2 → width = containerWidth = 500, height = 500/2 = 250
|
|
89
|
+
expect(state.cropperBox.width).toBe(500);
|
|
90
|
+
expect(state.cropperBox.height).toBe(250);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
describe('cropper wheel zoom', () => {
|
|
94
|
+
it('zooms in by zoomStep and notifies, clamped by maxZoom', () => {
|
|
95
|
+
const { foundation, state, notifyZoomChange } = makeHarness({ maxZoom: 1.3, zoomStep: 0.1 });
|
|
96
|
+
foundation.handleImageLoad({ naturalWidth: 500, naturalHeight: 400 });
|
|
97
|
+
const w0 = state.imgData.width;
|
|
98
|
+
foundation.handleWheel({ deltaY: -10, clientX: 250, clientY: 200 });
|
|
99
|
+
expect(state.zoom).toBe(1.1);
|
|
100
|
+
expect(state.imgData.width).toBeCloseTo((w0 / 1) * 1.1);
|
|
101
|
+
expect(notifyZoomChange).toHaveBeenLastCalledWith(1.1);
|
|
102
|
+
// step again 1.1→1.2→1.3 ok, next would exceed 1.3 → no change
|
|
103
|
+
foundation.handleWheel({ deltaY: -10, clientX: 250, clientY: 200 });
|
|
104
|
+
foundation.handleWheel({ deltaY: -10, clientX: 250, clientY: 200 });
|
|
105
|
+
expect(state.zoom).toBe(1.3);
|
|
106
|
+
notifyZoomChange.mockClear();
|
|
107
|
+
foundation.handleWheel({ deltaY: -10, clientX: 250, clientY: 200 });
|
|
108
|
+
expect(state.zoom).toBe(1.3); // clamped, unchanged
|
|
109
|
+
expect(notifyZoomChange).not.toHaveBeenCalled();
|
|
110
|
+
});
|
|
111
|
+
it('zooms out clamped by minZoom', () => {
|
|
112
|
+
const { foundation, state } = makeHarness({ minZoom: 0.9, zoomStep: 0.1 });
|
|
113
|
+
foundation.handleImageLoad({ naturalWidth: 500, naturalHeight: 400 });
|
|
114
|
+
foundation.handleWheel({ deltaY: 10, clientX: 250, clientY: 200 });
|
|
115
|
+
expect(state.zoom).toBe(0.9);
|
|
116
|
+
foundation.handleWheel({ deltaY: 10, clientX: 250, clientY: 200 });
|
|
117
|
+
expect(state.zoom).toBe(0.9); // clamped
|
|
118
|
+
});
|
|
119
|
+
it('calls preventDefault on wheel', () => {
|
|
120
|
+
const { foundation } = makeHarness();
|
|
121
|
+
foundation.handleImageLoad({ naturalWidth: 500, naturalHeight: 400 });
|
|
122
|
+
const preventDefault = vi.fn();
|
|
123
|
+
foundation.handleWheel({ deltaY: -10, clientX: 10, clientY: 10, preventDefault });
|
|
124
|
+
expect(preventDefault).toHaveBeenCalled();
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
describe('cropper box drag (bounded)', () => {
|
|
128
|
+
it('clamps center point within container by half box size', () => {
|
|
129
|
+
const { foundation, state } = makeHarness({}, { width: 500, height: 400 });
|
|
130
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
131
|
+
// box 400×400 centered at 250,200; moveRange x:[200,300], y:[200,200]
|
|
132
|
+
foundation.handleCropperBoxMouseDown(250, 200);
|
|
133
|
+
// try to drag far right & down
|
|
134
|
+
foundation.handleCropperBoxMouseMove(9999, 9999);
|
|
135
|
+
expect(state.cropperBox.centerPoint.x).toBe(300); // 500-200
|
|
136
|
+
expect(state.cropperBox.centerPoint.y).toBe(200); // 400-200 == 200
|
|
137
|
+
foundation.handleCropperBoxMouseUp();
|
|
138
|
+
// after up, further moves are ignored
|
|
139
|
+
foundation.handleCropperBoxMouseMove(0, 0);
|
|
140
|
+
expect(state.cropperBox.centerPoint.x).toBe(300);
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
describe('cropper image drag', () => {
|
|
144
|
+
it('translates image center by drag delta (unbounded)', () => {
|
|
145
|
+
const { foundation, state } = makeHarness();
|
|
146
|
+
foundation.handleImageLoad({ naturalWidth: 500, naturalHeight: 400 });
|
|
147
|
+
const c0 = { ...state.imgData.centerPoint };
|
|
148
|
+
foundation.handleImgMoveStart(100, 100);
|
|
149
|
+
foundation.handleImgMove(130, 90);
|
|
150
|
+
expect(state.imgData.centerPoint.x).toBe(c0.x + 30);
|
|
151
|
+
expect(state.imgData.centerPoint.y).toBe(c0.y - 10);
|
|
152
|
+
foundation.handleImgMoveUp();
|
|
153
|
+
foundation.handleImgMove(999, 999);
|
|
154
|
+
expect(state.imgData.centerPoint.x).toBe(c0.x + 30); // ignored after up
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
describe('cropper free corner resize', () => {
|
|
158
|
+
it('br corner grows box toward bottom-right, clamped to container', () => {
|
|
159
|
+
const { foundation, state } = makeHarness({}, { width: 500, height: 400 });
|
|
160
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
161
|
+
// box 400×400 at center 250,200: left=50 top=0 right=450 bottom=400
|
|
162
|
+
foundation.handleCornerMouseDown('br');
|
|
163
|
+
expect(foundation.getRangeX()).toEqual([0, 500]);
|
|
164
|
+
expect(foundation.getRangeY()).toEqual([0, 400]);
|
|
165
|
+
// drag br to (480, 380): width grows toward that point
|
|
166
|
+
foundation.handleCornerMove(480, 380);
|
|
167
|
+
// paramX=1, x = cx + width/2 = 250+200 = 450; newWidth = 400 + (480-450) = 430
|
|
168
|
+
expect(state.cropperBox.width).toBeCloseTo(430);
|
|
169
|
+
// paramY=1, y = 200+200 = 400; newHeight = 400 + (380-400) = 380
|
|
170
|
+
expect(state.cropperBox.height).toBeCloseTo(380);
|
|
171
|
+
});
|
|
172
|
+
it('tl corner resize shrinks from top-left', () => {
|
|
173
|
+
const { foundation, state } = makeHarness({}, { width: 500, height: 400 });
|
|
174
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
175
|
+
foundation.handleCornerMouseDown('tl');
|
|
176
|
+
// paramX=-1,paramY=-1. box left=50 top=0. drag tl to (100, 50)
|
|
177
|
+
foundation.handleCornerMove(100, 50);
|
|
178
|
+
// x = cx + (-1)*w/2 = 250-200 = 50; newWidth = 400 + (-1)*(100-50)=350
|
|
179
|
+
expect(state.cropperBox.width).toBeCloseTo(350);
|
|
180
|
+
// y = 200 + (-1)*200 = 0; newHeight = 400 + (-1)*(50-0)=350
|
|
181
|
+
expect(state.cropperBox.height).toBeCloseTo(350);
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
describe('cropper aspect-constrained corner resize', () => {
|
|
185
|
+
it('br corner keeps aspectRatio while resizing', () => {
|
|
186
|
+
const { foundation, state } = makeHarness({ aspectRatio: 1 }, { width: 500, height: 400 });
|
|
187
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
188
|
+
// aspect 1: initial box 400×400 at 250,200
|
|
189
|
+
foundation.handleCornerMouseDown('br');
|
|
190
|
+
// range computed for br. drag toward (300, 250)
|
|
191
|
+
foundation.handleCornerMove(300, 250);
|
|
192
|
+
// height = offsetY - rangeY[0]; width = height*aspect → equal (aspect 1)
|
|
193
|
+
expect(state.cropperBox.width).toBeCloseTo(state.cropperBox.height);
|
|
194
|
+
});
|
|
195
|
+
it('mr corner resize under aspect constraint stays symmetric vertically', () => {
|
|
196
|
+
const { foundation, state } = makeHarness({ aspectRatio: 1 }, { width: 500, height: 400 });
|
|
197
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
198
|
+
const cy0 = state.cropperBox.centerPoint.y;
|
|
199
|
+
foundation.handleCornerMouseDown('mr');
|
|
200
|
+
foundation.handleCornerMove(400, 200);
|
|
201
|
+
// ml/mr keep centerPoint.y fixed
|
|
202
|
+
expect(state.cropperBox.centerPoint.y).toBeCloseTo(cy0);
|
|
203
|
+
expect(state.cropperBox.width).toBeCloseTo(state.cropperBox.height);
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
describe('cropper resize (container change) reflow', () => {
|
|
207
|
+
it('scales img + box proportionally on second resize', () => {
|
|
208
|
+
const { foundation, state, container } = makeHarness({}, { width: 500, height: 400 });
|
|
209
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
210
|
+
const box0 = { ...state.cropperBox };
|
|
211
|
+
const img0 = { ...state.imgData };
|
|
212
|
+
// first handleResize is skipped (initial guard)
|
|
213
|
+
foundation.handleResize();
|
|
214
|
+
expect(state.cropperBox.width).toBe(box0.width);
|
|
215
|
+
// now shrink container to 250 wide (ratio 0.5)
|
|
216
|
+
container.clientWidth = 250;
|
|
217
|
+
foundation.handleResize();
|
|
218
|
+
expect(state.imgData.width).toBeCloseTo(img0.width * 0.5);
|
|
219
|
+
expect(foundation.getContainerData().width).toBe(250);
|
|
220
|
+
});
|
|
221
|
+
it('aspect-constrained reflow keeps box within new container', () => {
|
|
222
|
+
const { foundation, state, container } = makeHarness({ aspectRatio: 1 }, { width: 500, height: 400 });
|
|
223
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
224
|
+
foundation.handleResize(); // skipped (initial)
|
|
225
|
+
container.clientWidth = 300;
|
|
226
|
+
foundation.handleResize();
|
|
227
|
+
const box = state.cropperBox;
|
|
228
|
+
expect(box.centerPoint.x + box.width / 2).toBeLessThanOrEqual(300 + 0.001);
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
describe('cropper controlled rotate/zoom', () => {
|
|
232
|
+
it('computeControlledImgData scales width/height by zoom ratio', () => {
|
|
233
|
+
const { foundation, state } = makeHarness();
|
|
234
|
+
foundation.handleImageLoad({ naturalWidth: 500, naturalHeight: 400 });
|
|
235
|
+
const w0 = state.imgData.width;
|
|
236
|
+
const next = foundation.computeControlledImgData(0, 2); // zoom 1→2
|
|
237
|
+
expect(next.width).toBeCloseTo(w0 * 2);
|
|
238
|
+
});
|
|
239
|
+
it('computeControlledImgData rotates image center around box center', () => {
|
|
240
|
+
const { foundation } = makeHarness();
|
|
241
|
+
foundation.handleImageLoad({ naturalWidth: 500, naturalHeight: 400 });
|
|
242
|
+
const next = foundation.computeControlledImgData(90, 1);
|
|
243
|
+
// rotating 90deg about box center should move the img center (was coincident → stays)
|
|
244
|
+
expect(typeof next.centerPoint.x).toBe('number');
|
|
245
|
+
expect(Number.isFinite(next.centerPoint.x)).toBe(true);
|
|
246
|
+
});
|
|
247
|
+
});
|
|
248
|
+
describe('cropper preview geometry', () => {
|
|
249
|
+
it('computePreview fits box into a square preview container', () => {
|
|
250
|
+
const { foundation, state } = makeHarness();
|
|
251
|
+
foundation.handleImageLoad({ naturalWidth: 1000, naturalHeight: 1000 });
|
|
252
|
+
const box = state.cropperBox; // 400×400
|
|
253
|
+
const out = foundation.computePreview({ width: 100, height: 100 }, { width: 200, height: 200, translateX: 0, translateY: 0, rotate: 0 });
|
|
254
|
+
// zoom = 100/400 = 0.25
|
|
255
|
+
expect(out.imgWidth).toBeCloseTo(200 * 0.25);
|
|
256
|
+
expect(out.containerWidth).toBeCloseTo((100 / box.width) * box.width);
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
//# sourceMappingURL=cropper.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cropper.test.js","sourceRoot":"","sources":["../src/cropper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* drag-move — framework-agnostic drag-to-move geometry primitive for the
|
|
3
|
+
* DragMove component. Second shared drag primitive lowered to core (after
|
|
4
|
+
* createResizeDrag): moves an element's position within an optional constrainer
|
|
5
|
+
* region. Designed to converge Modal's draggable title bar + Cropper's canvas
|
|
6
|
+
* drag (see specs/components/other/DragMove.spec.md §12).
|
|
7
|
+
*
|
|
8
|
+
* Geometry ported from semi-foundation/dragMove/foundation. No framework deps,
|
|
9
|
+
* no reactive attachments — the start listener is bound on the handler and the
|
|
10
|
+
* document move/up listeners are bound imperatively on pointerdown and released
|
|
11
|
+
* on up/destroy (DragMove.spec.md §3, redline #3).
|
|
12
|
+
*
|
|
13
|
+
* Unlike createResizeDrag (which changes size), createDragMove changes the
|
|
14
|
+
* element's top/left position, clamping into the constrainer bounds.
|
|
15
|
+
*/
|
|
16
|
+
/** Clamp `value` into `[min, max]`. */
|
|
17
|
+
export declare const clampValueInRange: (value: number, min: number, max: number) => number;
|
|
18
|
+
/** Resolve the drag element (the element that actually moves). */
|
|
19
|
+
export type DragMoveElementGetter = () => HTMLElement | null;
|
|
20
|
+
/** Resolve the handler (drag-trigger) element; defaults to the drag element. */
|
|
21
|
+
export type DragMoveHandlerGetter = () => HTMLElement | null;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve the constrainer: the element whose box bounds the movement.
|
|
24
|
+
* Return `null` for no constraint (free move within the viewport).
|
|
25
|
+
*/
|
|
26
|
+
export type DragMoveConstrainerGetter = () => HTMLElement | null;
|
|
27
|
+
/**
|
|
28
|
+
* Predicate deciding whether a given pointerdown should start a drag.
|
|
29
|
+
* Return `false` to cancel this drag. Receives the originating event and the
|
|
30
|
+
* drag element.
|
|
31
|
+
*/
|
|
32
|
+
export type DragMoveAllow = (event: MouseEvent | TouchEvent, element: HTMLElement) => boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Custom position applier. When provided, DragMove does NOT write
|
|
35
|
+
* `el.style.top/left` itself; the caller applies the new position however it
|
|
36
|
+
* likes (payload order matches Semi customMove: `(el, top, left)`).
|
|
37
|
+
*/
|
|
38
|
+
export type DragMoveCustomMove = (element: HTMLElement, top: number, left: number) => void;
|
|
39
|
+
export interface CreateDragMoveOptions {
|
|
40
|
+
/** Resolve the element that moves (imperative, never reactive). */
|
|
41
|
+
handler?: DragMoveHandlerGetter;
|
|
42
|
+
/** Resolve the drag element. Required — the thing whose position changes. */
|
|
43
|
+
getElement: DragMoveElementGetter;
|
|
44
|
+
/** Resolve the constrainer box, or `null` for no constraint. */
|
|
45
|
+
constrainer?: DragMoveConstrainerGetter;
|
|
46
|
+
/** Gate a drag; return `false` to cancel. */
|
|
47
|
+
allowMove?: DragMoveAllow;
|
|
48
|
+
/** Apply the new position yourself (else DragMove writes style.top/left). */
|
|
49
|
+
customMove?: DragMoveCustomMove;
|
|
50
|
+
/**
|
|
51
|
+
* Allow starting a drag from a form control (`<input>`/`<textarea>`).
|
|
52
|
+
* Default `false` so text selection is not hijacked.
|
|
53
|
+
*/
|
|
54
|
+
allowInputDrag?: boolean;
|
|
55
|
+
/** Called at drag start (after allowMove passes) with the origin event. */
|
|
56
|
+
onStart?: (event: MouseEvent | TouchEvent, element: HTMLElement) => void;
|
|
57
|
+
/** Called on every move with the clamped position + origin event. */
|
|
58
|
+
onMove?: (top: number, left: number, event: MouseEvent | TouchEvent, element: HTMLElement) => void;
|
|
59
|
+
/** Called at drag end. */
|
|
60
|
+
onEnd?: (event: MouseEvent | TouchEvent, element: HTMLElement) => void;
|
|
61
|
+
/** Pointer-event passthrough (mirrors Semi notify* adapter hooks). */
|
|
62
|
+
onMouseDown?: (e: MouseEvent) => void;
|
|
63
|
+
onMouseMove?: (e: MouseEvent) => void;
|
|
64
|
+
onMouseUp?: (e: MouseEvent) => void;
|
|
65
|
+
onTouchStart?: (e: TouchEvent) => void;
|
|
66
|
+
onTouchMove?: (e: TouchEvent) => void;
|
|
67
|
+
onTouchEnd?: (e: TouchEvent) => void;
|
|
68
|
+
onTouchCancel?: (e: TouchEvent) => void;
|
|
69
|
+
/** Document to bind listeners on (defaults to the global document). */
|
|
70
|
+
ownerDocument?: Document;
|
|
71
|
+
}
|
|
72
|
+
export interface DragMoveController {
|
|
73
|
+
/**
|
|
74
|
+
* Register the pointerdown/touchstart listener on the handler element and
|
|
75
|
+
* force it to `position: absolute` so top/left take effect. Idempotent.
|
|
76
|
+
*/
|
|
77
|
+
init(): void;
|
|
78
|
+
/** Whether a drag is currently active. */
|
|
79
|
+
isDragging(): boolean;
|
|
80
|
+
/** Detach handler + any live document listeners (unmount safety net). */
|
|
81
|
+
destroy(): void;
|
|
82
|
+
}
|
|
83
|
+
export interface MoveRange {
|
|
84
|
+
xMin: number;
|
|
85
|
+
xMax: number;
|
|
86
|
+
yMin: number;
|
|
87
|
+
yMax: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Compute the pixel range within which `element` may move so it stays inside
|
|
91
|
+
* `constrainer`. Ported from semi-foundation dragMove `_calcMoveRange`: walks
|
|
92
|
+
* offsetParent chain from the element up to the constrainer, accumulating the
|
|
93
|
+
* offset, then derives min/max from the constrainer box minus the element box.
|
|
94
|
+
* Returns `null` when there is no constrainer (free move).
|
|
95
|
+
*/
|
|
96
|
+
export declare const calcMoveRange: (element: HTMLElement, constrainer: HTMLElement | null) => MoveRange | null;
|
|
97
|
+
/**
|
|
98
|
+
* Given the pointer position, the recorded start offset, and an optional move
|
|
99
|
+
* range, compute the clamped `{ top, left }` for the element. Pure — no DOM
|
|
100
|
+
* writes, so it is trivially unit-testable.
|
|
101
|
+
*/
|
|
102
|
+
export declare const computeNextPosition: (clientX: number, clientY: number, startOffsetX: number, startOffsetY: number, range: MoveRange | null) => {
|
|
103
|
+
top: number;
|
|
104
|
+
left: number;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* createDragMove — manages the full drag-to-move lifecycle:
|
|
108
|
+
* `init()` binds mousedown/touchstart on the handler and forces the drag
|
|
109
|
+
* element to `position: absolute`. On pointerdown it records the pointer→element
|
|
110
|
+
* offset + move range, binds document move/up listeners, then each move computes
|
|
111
|
+
* the clamped position and applies it (via `customMove` or `style.top/left`),
|
|
112
|
+
* and up releases the document listeners. `destroy()` is an unmount safety net.
|
|
113
|
+
*
|
|
114
|
+
* Covers the Modal draggable-title-bar case (DragMove.spec.md §12): supply a
|
|
115
|
+
* `handler` returning the title bar, `getElement` returning the dialog, and a
|
|
116
|
+
* `constrainer` returning the viewport/parent.
|
|
117
|
+
*/
|
|
118
|
+
export declare function createDragMove(options: CreateDragMoveOptions): DragMoveController;
|
|
119
|
+
//# sourceMappingURL=drag-move.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag-move.d.ts","sourceRoot":"","sources":["../src/drag-move.ts"],"names":[],"mappings":"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"}
|