antd-solid 0.0.16 → 0.0.18
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/css/index.css +1 -1
- package/dist/index.esm.js +64 -18
- package/dist/index.umd.js +1 -1
- package/es/Button/index.js +7 -25
- package/es/Checkbox/Group.js +2 -2
- package/es/Checkbox/index.js +13 -26
- package/es/CodeInput/index.js +0 -3
- package/es/Collapse/Item.js +8 -50
- package/es/Collapse/index.js +3 -5
- package/es/ColorPicker/ColorPickerInput.js +210 -224
- package/es/ColorPicker/ColorPickerSelect.js +4 -61
- package/es/ColorPicker/ColorPickerSlider.js +67 -100
- package/es/ColorPicker/index.js +16 -62
- package/es/Command/createCommand.d.ts +1 -1
- package/es/ContextMenu/index.js +1 -5
- package/es/Cursor/index.js +3 -15
- package/es/Divider/index.js +3 -12
- package/es/Drawer/index.js +42 -83
- package/es/Element/index.js +6 -2
- package/es/Empty/PRESENTED_IMAGE_SIMPLE.js +4 -12
- package/es/Empty/assets/EmptySvg.js +3 -3
- package/es/Empty/assets/SimpleEmptySvg.js +3 -3
- package/es/Empty/index.js +4 -12
- package/es/Form/FormItem.js +47 -76
- package/es/Fragment/index.js +1 -3
- package/es/Image/index.js +11 -31
- package/es/Input/TextArea.js +5 -31
- package/es/Input/index.js +46 -103
- package/es/InputNumber/index.js +4 -11
- package/es/Menu/InternalMenu.js +37 -93
- package/es/Message/Message.js +7 -11
- package/es/Modal/index.js +55 -107
- package/es/Modal/useModal.js +5 -14
- package/es/Modal/warning.js +5 -14
- package/es/Popconfirm/index.js +24 -36
- package/es/Popover/index.js +11 -20
- package/es/Progress/Circle.js +14 -63
- package/es/Progress/index.js +14 -38
- package/es/Radio/Button.js +4 -20
- package/es/Radio/index.js +5 -35
- package/es/RangeInput/index.js +22 -76
- package/es/Result/index.js +6 -27
- package/es/Segmented/index.js +13 -33
- package/es/Select/index.js +6 -35
- package/es/SelectInput/index.js +48 -112
- package/es/Slider/index.js +11 -84
- package/es/Space/index.js +2 -2
- package/es/Spin/index.js +14 -26
- package/es/Switch/index.js +4 -6
- package/es/Table/index.js +18 -40
- package/es/Tabs/index.js +91 -195
- package/es/Timeline/index.js +4 -14
- package/es/Tooltip/index.js +20 -48
- package/es/Transformer/index.js +59 -123
- package/es/Tree/SingleLevelTree.js +30 -191
- package/es/TreeFor/index.js +3 -3
- package/es/TreeSelect/index.js +4 -6
- package/es/Upload/index.js +4 -38
- package/es/assets/svg/ColorPickUp.js +6 -19
- package/es/assets/svg/Crosshair.js +6 -45
- package/es/assets/svg/Resize.js +6 -19
- package/es/assets/svg/Rotate.js +13 -14
- package/es/assets/svg/RotateArrow.js +20 -15
- package/es/hooks/useClickAway.js +6 -4
- package/es/utils/DOMRect.d.ts +22 -0
- package/es/utils/DOMRect.js +41 -0
- package/package.json +14 -15
- package/src/index.ts +102 -0
package/es/Transformer/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createComponent, ssr, ssrHydrationKey, ssrAttribute, escape, Portal, ssrElement, mergeProps } from 'solid-js/web';
|
|
2
2
|
import { createMemo, createSignal, Show } from 'solid-js';
|
|
3
3
|
import { inRange } from 'lodash-es';
|
|
4
4
|
import NP from 'number-precision';
|
|
@@ -13,17 +13,12 @@ import { setRef } from '../utils/solid.js';
|
|
|
13
13
|
import { setupGlobalDrag } from '../utils/setupGlobalDrag.js';
|
|
14
14
|
import { subDOMPoint } from '../utils/domPoint.js';
|
|
15
15
|
|
|
16
|
-
var _tmpl$ =
|
|
17
|
-
_tmpl$2 =
|
|
18
|
-
_tmpl$3 =
|
|
19
|
-
_tmpl$4 = /*#__PURE__*/template(`<svg><path class="pointer-events-initial cursor-none"opacity=0 stroke=var(--ant-color-primary) stroke-width=3></svg>`, false, true),
|
|
20
|
-
_tmpl$5 = /*#__PURE__*/template(`<svg><path class="pointer-events-initial cursor-none"opacity=0 fill=red></svg>`, false, true),
|
|
21
|
-
_tmpl$6 = /*#__PURE__*/template(`<svg><path class="pointer-events-initial cursor-none"fill=var(--ant-color-white) stroke=var(--ant-color-primary)></svg>`, false, true),
|
|
22
|
-
_tmpl$7 = /*#__PURE__*/template(`<svg><path class="pointer-events-initial cursor-none"opacity=0 fill=blue></svg>`, false, true);
|
|
16
|
+
var _tmpl$ = ["<foreignObject", " class=\"overflow-visible\">", "</foreignObject>"],
|
|
17
|
+
_tmpl$2 = ["<svg", "><path class=\"pointer-events-initial\"", " opacity=\"0\"></path><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--><!--$-->", "<!--/--></svg>"],
|
|
18
|
+
_tmpl$3 = ["<path", " d=\"", "\" stroke=\"var(--ant-color-primary)\" stroke-width=\"1\"></path>"];
|
|
23
19
|
// 判断是否鼠标左键触发
|
|
24
20
|
const isMainButton = e => e.button === 0;
|
|
25
21
|
const Transformer = props => {
|
|
26
|
-
let ref;
|
|
27
22
|
const adsorbGap = createMemo(() => props.adsorb ? props.adsorb.gap ?? 5 : 0);
|
|
28
23
|
const getTransform = (value, transformOrigin) => new DOMMatrix().translate(value.x, value.y).translate(transformOrigin.x, transformOrigin.y).rotate(value.rotate).translate(-transformOrigin.x, -transformOrigin.y);
|
|
29
24
|
const [_value, setValue] = createControllableValue(props);
|
|
@@ -50,10 +45,6 @@ const Transformer = props => {
|
|
|
50
45
|
return point.matrixTransform(getTransform(transformValue, transformOrigin));
|
|
51
46
|
};
|
|
52
47
|
const worldToParent = point => {
|
|
53
|
-
if (ref) {
|
|
54
|
-
const rect = ref.getBoundingClientRect();
|
|
55
|
-
point = new DOMPoint(point.x - rect.x, point.y - rect.y);
|
|
56
|
-
}
|
|
57
48
|
if (props.worldToParentPoint) return props.worldToParentPoint(point);
|
|
58
49
|
return point;
|
|
59
50
|
};
|
|
@@ -390,16 +381,9 @@ const Transformer = props => {
|
|
|
390
381
|
return [x, y, width, height].join(' ');
|
|
391
382
|
});
|
|
392
383
|
return createComponent(Element, {
|
|
393
|
-
ref(r$) {
|
|
394
|
-
var _ref$ = ref;
|
|
395
|
-
typeof _ref$ === "function" ? _ref$(r$) : ref = r$;
|
|
396
|
-
},
|
|
397
384
|
"class": "relative",
|
|
398
385
|
get children() {
|
|
399
|
-
|
|
400
|
-
_el$2 = _el$.firstChild;
|
|
401
|
-
_el$2.$$mousedown = onMoveMouseDown;
|
|
402
|
-
insert(_el$, createComponent(Edge, {
|
|
386
|
+
return ssr(_tmpl$2, ssrHydrationKey() + ssrAttribute("class", escape(cs('absolute pointer-events-none', !props.viewBox && 'overflow-visible w-1px h-1px'), true), false) + ssrAttribute("viewBox", escape(viewBoxStr(), true), false), ssrAttribute("d", escape(pathD(), true), false), escape(createComponent(Edge, {
|
|
403
387
|
direction: "top",
|
|
404
388
|
get layout() {
|
|
405
389
|
return layoutInWorld();
|
|
@@ -408,8 +392,7 @@ const Transformer = props => {
|
|
|
408
392
|
return layoutInWorld().yCenterLine;
|
|
409
393
|
},
|
|
410
394
|
getResizeHandlerProps: getResizeHandlerProps
|
|
411
|
-
}),
|
|
412
|
-
insert(_el$, createComponent(Edge, {
|
|
395
|
+
})), escape(createComponent(Edge, {
|
|
413
396
|
direction: "bottom",
|
|
414
397
|
get layout() {
|
|
415
398
|
return layoutInWorld();
|
|
@@ -418,8 +401,7 @@ const Transformer = props => {
|
|
|
418
401
|
return layoutInWorld().yCenterLine;
|
|
419
402
|
},
|
|
420
403
|
getResizeHandlerProps: getResizeHandlerProps
|
|
421
|
-
}),
|
|
422
|
-
insert(_el$, createComponent(Edge, {
|
|
404
|
+
})), escape(createComponent(Edge, {
|
|
423
405
|
direction: "left",
|
|
424
406
|
get layout() {
|
|
425
407
|
return layoutInWorld();
|
|
@@ -428,8 +410,7 @@ const Transformer = props => {
|
|
|
428
410
|
return layoutInWorld().xCenterLine;
|
|
429
411
|
},
|
|
430
412
|
getResizeHandlerProps: getResizeHandlerProps
|
|
431
|
-
}),
|
|
432
|
-
insert(_el$, createComponent(Edge, {
|
|
413
|
+
})), escape(createComponent(Edge, {
|
|
433
414
|
direction: "right",
|
|
434
415
|
get layout() {
|
|
435
416
|
return layoutInWorld();
|
|
@@ -438,8 +419,7 @@ const Transformer = props => {
|
|
|
438
419
|
return layoutInWorld().xCenterLine;
|
|
439
420
|
},
|
|
440
421
|
getResizeHandlerProps: getResizeHandlerProps
|
|
441
|
-
}),
|
|
442
|
-
insert(_el$, createComponent(Show, {
|
|
422
|
+
})), escape(createComponent(Show, {
|
|
443
423
|
get when() {
|
|
444
424
|
return layoutInWorld().topLeftPoint instanceof DOMPoint;
|
|
445
425
|
},
|
|
@@ -453,8 +433,7 @@ const Transformer = props => {
|
|
|
453
433
|
getRotateHandlerProps: getRotateHandlerProps
|
|
454
434
|
});
|
|
455
435
|
}
|
|
456
|
-
}),
|
|
457
|
-
insert(_el$, createComponent(Show, {
|
|
436
|
+
})), escape(createComponent(Show, {
|
|
458
437
|
get when() {
|
|
459
438
|
return layoutInWorld().topRightPoint instanceof DOMPoint;
|
|
460
439
|
},
|
|
@@ -468,8 +447,7 @@ const Transformer = props => {
|
|
|
468
447
|
getRotateHandlerProps: getRotateHandlerProps
|
|
469
448
|
});
|
|
470
449
|
}
|
|
471
|
-
}),
|
|
472
|
-
insert(_el$, createComponent(Show, {
|
|
450
|
+
})), escape(createComponent(Show, {
|
|
473
451
|
get when() {
|
|
474
452
|
return layoutInWorld().bottomLeftPoint instanceof DOMPoint;
|
|
475
453
|
},
|
|
@@ -483,8 +461,7 @@ const Transformer = props => {
|
|
|
483
461
|
getRotateHandlerProps: getRotateHandlerProps
|
|
484
462
|
});
|
|
485
463
|
}
|
|
486
|
-
}),
|
|
487
|
-
insert(_el$, createComponent(Show, {
|
|
464
|
+
})), escape(createComponent(Show, {
|
|
488
465
|
get when() {
|
|
489
466
|
return layoutInWorld().bottomRightPoint instanceof DOMPoint;
|
|
490
467
|
},
|
|
@@ -498,8 +475,7 @@ const Transformer = props => {
|
|
|
498
475
|
getRotateHandlerProps: getRotateHandlerProps
|
|
499
476
|
});
|
|
500
477
|
}
|
|
501
|
-
}),
|
|
502
|
-
insert(_el$, createComponent(Show, {
|
|
478
|
+
})), escape(createComponent(Show, {
|
|
503
479
|
get when() {
|
|
504
480
|
return adsorbLine()?.top;
|
|
505
481
|
},
|
|
@@ -511,8 +487,7 @@ const Transformer = props => {
|
|
|
511
487
|
}
|
|
512
488
|
});
|
|
513
489
|
}
|
|
514
|
-
}),
|
|
515
|
-
insert(_el$, createComponent(Show, {
|
|
490
|
+
})), escape(createComponent(Show, {
|
|
516
491
|
get when() {
|
|
517
492
|
return adsorbLine()?.bottom;
|
|
518
493
|
},
|
|
@@ -524,8 +499,7 @@ const Transformer = props => {
|
|
|
524
499
|
}
|
|
525
500
|
});
|
|
526
501
|
}
|
|
527
|
-
}),
|
|
528
|
-
insert(_el$, createComponent(Show, {
|
|
502
|
+
})), escape(createComponent(Show, {
|
|
529
503
|
get when() {
|
|
530
504
|
return adsorbLine()?.left;
|
|
531
505
|
},
|
|
@@ -537,8 +511,7 @@ const Transformer = props => {
|
|
|
537
511
|
}
|
|
538
512
|
});
|
|
539
513
|
}
|
|
540
|
-
}),
|
|
541
|
-
insert(_el$, createComponent(Show, {
|
|
514
|
+
})), escape(createComponent(Show, {
|
|
542
515
|
get when() {
|
|
543
516
|
return adsorbLine()?.right;
|
|
544
517
|
},
|
|
@@ -550,8 +523,7 @@ const Transformer = props => {
|
|
|
550
523
|
}
|
|
551
524
|
});
|
|
552
525
|
}
|
|
553
|
-
}),
|
|
554
|
-
insert(_el$, createComponent(Show, {
|
|
526
|
+
})), escape(createComponent(Show, {
|
|
555
527
|
get when() {
|
|
556
528
|
return adsorbLine()?.centerX;
|
|
557
529
|
},
|
|
@@ -562,8 +534,7 @@ const Transformer = props => {
|
|
|
562
534
|
}
|
|
563
535
|
});
|
|
564
536
|
}
|
|
565
|
-
}),
|
|
566
|
-
insert(_el$, createComponent(Show, {
|
|
537
|
+
})), escape(createComponent(Show, {
|
|
567
538
|
get when() {
|
|
568
539
|
return adsorbLine()?.centerY;
|
|
569
540
|
},
|
|
@@ -574,14 +545,12 @@ const Transformer = props => {
|
|
|
574
545
|
}
|
|
575
546
|
});
|
|
576
547
|
}
|
|
577
|
-
}),
|
|
578
|
-
insert(_el$, createComponent(Show, {
|
|
548
|
+
})), escape(createComponent(Show, {
|
|
579
549
|
get when() {
|
|
580
|
-
return
|
|
550
|
+
return props.transformOriginIcon && transformOrigin();
|
|
581
551
|
},
|
|
582
552
|
get children() {
|
|
583
|
-
|
|
584
|
-
insert(_el$3, createComponent(CrosshairSvg, {
|
|
553
|
+
return ssr(_tmpl$, ssrHydrationKey(), escape(createComponent(CrosshairSvg, {
|
|
585
554
|
"class": "absolute [font-size:var(--size)] text-black pointer-events-none",
|
|
586
555
|
get style() {
|
|
587
556
|
return {
|
|
@@ -592,13 +561,11 @@ const Transformer = props => {
|
|
|
592
561
|
},
|
|
593
562
|
innerColor: "white",
|
|
594
563
|
outerColor: "black"
|
|
595
|
-
}));
|
|
596
|
-
return _el$3;
|
|
564
|
+
})));
|
|
597
565
|
}
|
|
598
|
-
}),
|
|
599
|
-
insert(_el$, createComponent(Show, {
|
|
566
|
+
})), escape(createComponent(Show, {
|
|
600
567
|
get when() {
|
|
601
|
-
return
|
|
568
|
+
return !resizeDirection() && rotateDirection();
|
|
602
569
|
},
|
|
603
570
|
get children() {
|
|
604
571
|
return createComponent(Portal, {
|
|
@@ -616,8 +583,7 @@ const Transformer = props => {
|
|
|
616
583
|
}
|
|
617
584
|
});
|
|
618
585
|
}
|
|
619
|
-
}),
|
|
620
|
-
insert(_el$, createComponent(Show, {
|
|
586
|
+
})), escape(createComponent(Show, {
|
|
621
587
|
get when() {
|
|
622
588
|
return resizeDirection();
|
|
623
589
|
},
|
|
@@ -637,21 +603,7 @@ const Transformer = props => {
|
|
|
637
603
|
}
|
|
638
604
|
});
|
|
639
605
|
}
|
|
640
|
-
})
|
|
641
|
-
effect(_p$ => {
|
|
642
|
-
var _v$ = cs('absolute pointer-events-none', !props.viewBox && 'overflow-visible w-1px h-1px'),
|
|
643
|
-
_v$2 = viewBoxStr(),
|
|
644
|
-
_v$3 = pathD();
|
|
645
|
-
_v$ !== _p$.e && setAttribute(_el$, "class", _p$.e = _v$);
|
|
646
|
-
_v$2 !== _p$.t && setAttribute(_el$, "viewBox", _p$.t = _v$2);
|
|
647
|
-
_v$3 !== _p$.a && setAttribute(_el$2, "d", _p$.a = _v$3);
|
|
648
|
-
return _p$;
|
|
649
|
-
}, {
|
|
650
|
-
e: undefined,
|
|
651
|
-
t: undefined,
|
|
652
|
-
a: undefined
|
|
653
|
-
});
|
|
654
|
-
return _el$;
|
|
606
|
+
})));
|
|
655
607
|
}
|
|
656
608
|
});
|
|
657
609
|
};
|
|
@@ -692,19 +644,15 @@ const Edge = props => {
|
|
|
692
644
|
}
|
|
693
645
|
return getAngleOfDOMPoint(subDOMPoint(endPoint(), startPoint()));
|
|
694
646
|
};
|
|
695
|
-
return [(()
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
}
|
|
705
|
-
}, () => props.getResizeHandlerProps(props.direction, getMouseRotate)), true, false);
|
|
706
|
-
return _el$5;
|
|
707
|
-
})()];
|
|
647
|
+
return [ssr(_tmpl$3, ssrHydrationKey(), `M ${escape(startPoint().x, true)},${escape(startPoint().y, true)} L ${escape(endPoint().x, true)},${escape(endPoint().y, true)}`), ssrElement("path", mergeProps({
|
|
648
|
+
"class": "pointer-events-initial cursor-none",
|
|
649
|
+
get d() {
|
|
650
|
+
return `M ${startPoint().x},${startPoint().y} L ${endPoint().x},${endPoint().y}`;
|
|
651
|
+
},
|
|
652
|
+
opacity: 0,
|
|
653
|
+
stroke: "var(--ant-color-primary)",
|
|
654
|
+
"stroke-width": 3
|
|
655
|
+
}, () => props.getResizeHandlerProps(props.direction, getMouseRotate)), undefined, true)];
|
|
708
656
|
};
|
|
709
657
|
const Vertex = props => {
|
|
710
658
|
const prevPoint = createMemo(() => {
|
|
@@ -817,31 +765,28 @@ const Vertex = props => {
|
|
|
817
765
|
}
|
|
818
766
|
return centerAngle() + Math.PI / 2;
|
|
819
767
|
};
|
|
820
|
-
return [((
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
}, () => props.getResizeHandlerProps(props.direction, getMouseRotate)), true, false);
|
|
843
|
-
return _el$8;
|
|
844
|
-
})()];
|
|
768
|
+
return [ssrElement("path", mergeProps({
|
|
769
|
+
"class": "pointer-events-initial cursor-none",
|
|
770
|
+
get d() {
|
|
771
|
+
return layoutToPathD(rotateLayout());
|
|
772
|
+
},
|
|
773
|
+
opacity: 0,
|
|
774
|
+
fill: "red"
|
|
775
|
+
}, () => props.getRotateHandlerProps(props.direction, getMouseRotate)), undefined, true), ssrElement("path", mergeProps({
|
|
776
|
+
"class": "pointer-events-initial cursor-none",
|
|
777
|
+
get d() {
|
|
778
|
+
return layoutToPathD(displayLayout());
|
|
779
|
+
},
|
|
780
|
+
fill: "var(--ant-color-white)",
|
|
781
|
+
stroke: "var(--ant-color-primary)"
|
|
782
|
+
}, () => props.getResizeHandlerProps(props.direction, getMouseRotate)), undefined, true), ssrElement("path", mergeProps({
|
|
783
|
+
"class": "pointer-events-initial cursor-none",
|
|
784
|
+
get d() {
|
|
785
|
+
return layoutToPathD(reseizLayout());
|
|
786
|
+
},
|
|
787
|
+
opacity: 0,
|
|
788
|
+
fill: "blue"
|
|
789
|
+
}, () => props.getResizeHandlerProps(props.direction, getMouseRotate)), undefined, true)];
|
|
845
790
|
};
|
|
846
791
|
const ParentEdge = props => {
|
|
847
792
|
const startPoint = createMemo(() => {
|
|
@@ -864,19 +809,10 @@ const ParentEdge = props => {
|
|
|
864
809
|
}[props.direction];
|
|
865
810
|
return (Array.isArray(p) ? p[0] : p) ?? new DOMPoint();
|
|
866
811
|
});
|
|
867
|
-
return (()
|
|
868
|
-
var _el$9 = _tmpl$3();
|
|
869
|
-
effect(() => setAttribute(_el$9, "d", `M ${startPoint().x},${startPoint().y} L ${endPoint().x},${endPoint().y}`));
|
|
870
|
-
return _el$9;
|
|
871
|
-
})();
|
|
812
|
+
return ssr(_tmpl$3, ssrHydrationKey(), `M ${escape(startPoint().x, true)},${escape(startPoint().y, true)} L ${escape(endPoint().x, true)},${escape(endPoint().y, true)}`);
|
|
872
813
|
};
|
|
873
814
|
const ParentCenterLine = props => {
|
|
874
|
-
return
|
|
875
|
-
var _el$10 = _tmpl$3();
|
|
876
|
-
effect(() => setAttribute(_el$10, "d", `M ${props.line[0].x},${props.line[0].y} L ${props.line[1].x},${props.line[1].y}`));
|
|
877
|
-
return _el$10;
|
|
878
|
-
})() : null);
|
|
815
|
+
return props.line ? ssr(_tmpl$3, ssrHydrationKey(), `M ${escape(props.line[0].x, true)},${escape(props.line[0].y, true)} L ${escape(props.line[1].x, true)},${escape(props.line[1].y, true)}`) : null;
|
|
879
816
|
};
|
|
880
|
-
delegateEvents(["mousedown"]);
|
|
881
817
|
|
|
882
818
|
export { Transformer as default };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createComponent, ssr, ssrHydrationKey, ssrAttribute, escape, mergeProps } from 'solid-js/web';
|
|
2
2
|
import { isEmpty, last, uniq } from 'lodash-es';
|
|
3
3
|
import { For, createMemo, createSignal, untrack, Show } from 'solid-js';
|
|
4
4
|
import cs from 'classnames';
|
|
5
5
|
import Checkbox from '../Checkbox/index.js';
|
|
6
6
|
|
|
7
|
-
var _tmpl$ =
|
|
8
|
-
_tmpl$2 =
|
|
9
|
-
_tmpl$3 =
|
|
7
|
+
var _tmpl$ = ["<span", " class=\"i-ant-design:caret-down-outlined\"></span>"],
|
|
8
|
+
_tmpl$2 = ["<div", " style=\"", "\"", "><div", "><div class=\"flex-shrink-0\" aria-label=\"indent\" style=\"", "\"></div><div", ">", "</div><!--$-->", "<!--/--><div", ">", "</div></div></div>"],
|
|
9
|
+
_tmpl$3 = ["<span", " class=\"i-ant-design:caret-right-outlined\"></span>"];
|
|
10
10
|
const SingleLevelTree = props => {
|
|
11
11
|
return createComponent(For, {
|
|
12
12
|
get each() {
|
|
@@ -84,198 +84,38 @@ const SingleLevelTree = props => {
|
|
|
84
84
|
props.setCheckedKeys(keys => keys.filter(k => !deleteChildDict.has(k)));
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
|
-
let dragEnterClientX = 0;
|
|
88
87
|
const [targetIndexes, setTargetIndexes] = createSignal(untrack(indexes));
|
|
89
88
|
const [isTarget, setIsTarget] = createSignal(false);
|
|
90
89
|
const [targetPosition, setTargetPosition] = createSignal('before');
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
let isLastNode = props.treeData?.length === i() + 1;
|
|
101
|
-
if (isLastNode && e.clientX < dragEnterClientX) {
|
|
102
|
-
const levelOffset = Math.ceil((e.clientX - dragEnterClientX) / props.indentSize);
|
|
103
|
-
if (levelOffset < 0) {
|
|
104
|
-
setTargetIndexes(() => {
|
|
105
|
-
const _indexes = [...indexes()];
|
|
106
|
-
for (let _i = 0; _i < -levelOffset; _i++) {
|
|
107
|
-
if (_i > 0) {
|
|
108
|
-
if (_indexes.length < 2) break;
|
|
109
|
-
const grandfatherNode = props.getNodeByIndexes(_indexes.slice(0, -1));
|
|
110
|
-
isLastNode = grandfatherNode ? props.getChildren(grandfatherNode)?.length === last(_indexes) + 1 : false;
|
|
111
|
-
if (!isLastNode) break;
|
|
112
|
-
}
|
|
113
|
-
_indexes.pop();
|
|
114
|
-
}
|
|
115
|
-
_indexes[_indexes.length - 1] = _indexes[_indexes.length - 1] + 1;
|
|
116
|
-
return _indexes;
|
|
117
|
-
});
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
if (isEndNode() && e.clientX > dragEnterClientX) {
|
|
122
|
-
const levelOffset = (e.clientX - dragEnterClientX) / props.indentSize;
|
|
123
|
-
if (levelOffset >= 1) {
|
|
124
|
-
setTargetIndexes([...indexes(), 0]);
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
} else {
|
|
129
|
-
// 上一个兄弟节点
|
|
130
|
-
let prevNode = i() > 0 ? props.treeData?.[i() - 1] : undefined;
|
|
131
|
-
let isPrevNodeExpanded = prevNode ? !isEmpty(props.getChildren(prevNode)) && props.expandedKeys().includes(props.getKey(prevNode)) : false;
|
|
132
|
-
if (isPrevNodeExpanded && e.clientX > dragEnterClientX) {
|
|
133
|
-
const levelOffset = Math.floor((e.clientX - dragEnterClientX) / props.indentSize);
|
|
134
|
-
if (levelOffset > 0) {
|
|
135
|
-
setTargetIndexes(() => {
|
|
136
|
-
const _indexes = [...indexes().slice(0, -1), i() - 1];
|
|
137
|
-
for (let _i = 0; _i < levelOffset; _i++) {
|
|
138
|
-
if (_i > 0) {
|
|
139
|
-
prevNode = props.getNodeByIndexes(_indexes);
|
|
140
|
-
isPrevNodeExpanded = prevNode ? !isEmpty(props.getChildren(prevNode)) && props.expandedKeys().includes(props.getKey(prevNode)) : false;
|
|
141
|
-
if (!isPrevNodeExpanded) break;
|
|
142
|
-
}
|
|
143
|
-
_indexes.push(props.getChildren(prevNode).length);
|
|
144
|
-
}
|
|
145
|
-
return _indexes;
|
|
146
|
-
});
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
90
|
+
return [ssr(_tmpl$2, ssrHydrationKey() + ssrAttribute("class", escape(cs('p-[var(--ant-tree-node-wrapper-padding)] relative', props.draggableNode() && 'child[]:pointer-events-none', isTarget() && ['before:content-empty before:inline-block before:w-8px before:h-8px before:absolute before:left-[var(--ant-tree-target-node-left)] before:-translate-x-full before:rounded-1/2 before:[border:2px_solid_var(--ant-color-primary)]', 'after:content-empty after:inline-block after:h-2px after:absolute after:left-[var(--ant-tree-target-node-left)] after:right-0 after:bg-[var(--ant-color-primary)]', targetPosition() === 'before' ? 'before:top-0 before:translate-y--1/2 after:top--1px' : 'before:bottom-0 before:translate-y-1/2 after:bottom--1px']), true), false), "--ant-tree-target-node-left:" + `calc(${escape(contentRef?.offsetLeft, true) ?? 0}px + ${"0px"} + ${(escape(targetIndexes().length, true) - escape(indexes().length, true)) * escape(props.indentSize, true)}px)`, ssrAttribute("draggable", escape(props.draggable, true), false), ssrAttribute("class", escape(cs('flex items-center relative', props.isDraggable(item) && 'after:content-empty after:absolute after:inset--1px after:[border:1px_solid_var(--ant-color-primary)]'), true), false), "width:" + `${escape(props.indent, true) * escape(props.indentSize, true)}px`, ssrAttribute("class", escape(cs('flex-shrink-0 w-[var(--ant-tree-expand-icon-width)] flex items-center justify-center cursor-pointer', isEndNode() && 'opacity-0'), true), false), escape(createComponent(Show, {
|
|
91
|
+
get when() {
|
|
92
|
+
return isExpanded();
|
|
93
|
+
},
|
|
94
|
+
get fallback() {
|
|
95
|
+
return ssr(_tmpl$3, ssrHydrationKey());
|
|
96
|
+
},
|
|
97
|
+
get children() {
|
|
98
|
+
return ssr(_tmpl$, ssrHydrationKey());
|
|
150
99
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
100
|
+
})), escape(createComponent(Show, {
|
|
101
|
+
get when() {
|
|
102
|
+
return props.checkable;
|
|
103
|
+
},
|
|
104
|
+
get children() {
|
|
105
|
+
return createComponent(Checkbox, {
|
|
106
|
+
"class": "mr-8px mt-2px",
|
|
107
|
+
get checked() {
|
|
108
|
+
return props.checkedMap().get(props.getKey(item))?.checked;
|
|
109
|
+
},
|
|
110
|
+
get indeterminate() {
|
|
111
|
+
return props.checkedMap().get(props.getKey(item))?.indeterminate;
|
|
112
|
+
},
|
|
113
|
+
onChange: onCheck
|
|
165
114
|
});
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
setIsTarget(false);
|
|
169
|
-
});
|
|
170
|
-
_el$.addEventListener("dragenter", e => {
|
|
171
|
-
dragEnterClientX = e.clientX;
|
|
172
|
-
setIsTarget(true);
|
|
173
|
-
setTargetPositionAndLevelOffset(e);
|
|
174
|
-
});
|
|
175
|
-
_el$.addEventListener("dragover", e => {
|
|
176
|
-
e.preventDefault();
|
|
177
|
-
setTargetPositionAndLevelOffset(e);
|
|
178
|
-
});
|
|
179
|
-
_el$.addEventListener("dragend", () => {
|
|
180
|
-
props.setDraggableNode(null);
|
|
181
|
-
props.setDraggableIndexes(null);
|
|
182
|
-
});
|
|
183
|
-
_el$.addEventListener("dragstart", () => {
|
|
184
|
-
props.setDraggableNode(item);
|
|
185
|
-
props.setDraggableIndexes(indexes());
|
|
186
|
-
});
|
|
187
|
-
insert(_el$4, createComponent(Show, {
|
|
188
|
-
get when() {
|
|
189
|
-
return isExpanded();
|
|
190
|
-
},
|
|
191
|
-
get fallback() {
|
|
192
|
-
return (() => {
|
|
193
|
-
var _el$7 = _tmpl$3();
|
|
194
|
-
_el$7.$$click = () => {
|
|
195
|
-
const key = props.getKey(item);
|
|
196
|
-
props.setExpandedKeys(l => [...l, key]);
|
|
197
|
-
};
|
|
198
|
-
return _el$7;
|
|
199
|
-
})();
|
|
200
|
-
},
|
|
201
|
-
get children() {
|
|
202
|
-
var _el$5 = _tmpl$();
|
|
203
|
-
_el$5.$$click = () => {
|
|
204
|
-
const key = props.getKey(item);
|
|
205
|
-
props.setExpandedKeys(l => l.filter(k => k !== key));
|
|
206
|
-
};
|
|
207
|
-
return _el$5;
|
|
208
|
-
}
|
|
209
|
-
}));
|
|
210
|
-
insert(_el$2, createComponent(Show, {
|
|
211
|
-
get when() {
|
|
212
|
-
return props.checkable;
|
|
213
|
-
},
|
|
214
|
-
get children() {
|
|
215
|
-
return createComponent(Checkbox, {
|
|
216
|
-
"class": "mr-8px mt-2px",
|
|
217
|
-
get checked() {
|
|
218
|
-
return props.checkedMap().get(props.getKey(item))?.checked;
|
|
219
|
-
},
|
|
220
|
-
get indeterminate() {
|
|
221
|
-
return props.checkedMap().get(props.getKey(item))?.indeterminate;
|
|
222
|
-
},
|
|
223
|
-
onChange: onCheck
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
}), _el$6);
|
|
227
|
-
_el$6.$$click = () => {
|
|
228
|
-
const key = props.getKey(item);
|
|
229
|
-
if (!props.selectable) return;
|
|
230
|
-
if (props.multiple) {
|
|
231
|
-
props.setSelectedKeys(keys => {
|
|
232
|
-
keys = keys ?? [];
|
|
233
|
-
if (keys.includes(key)) {
|
|
234
|
-
return keys.filter(n => n !== key);
|
|
235
|
-
}
|
|
236
|
-
return [...keys, key];
|
|
237
|
-
});
|
|
238
|
-
} else {
|
|
239
|
-
props.setSelectedKeys(keys => {
|
|
240
|
-
return keys?.includes(key) ? [] : [key];
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
if (props.checkOnClick) {
|
|
244
|
-
onCheck();
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
var _ref$ = contentRef;
|
|
248
|
-
typeof _ref$ === "function" ? use(_ref$, _el$6) : contentRef = _el$6;
|
|
249
|
-
insert(_el$6, () => props.getTitle(item));
|
|
250
|
-
effect(_p$ => {
|
|
251
|
-
var _v$ = cs('p-[var(--ant-tree-node-wrapper-padding)] relative', props.draggableNode() && 'child[]:pointer-events-none', isTarget() && ['before:content-empty before:inline-block before:w-8px before:h-8px before:absolute before:left-[var(--ant-tree-target-node-left)] before:-translate-x-full before:rounded-1/2 before:[border:2px_solid_var(--ant-color-primary)]', 'after:content-empty after:inline-block after:h-2px after:absolute after:left-[var(--ant-tree-target-node-left)] after:right-0 after:bg-[var(--ant-color-primary)]', targetPosition() === 'before' ? 'before:top-0 before:translate-y--1/2 after:top--1px' : 'before:bottom-0 before:translate-y-1/2 after:bottom--1px']),
|
|
252
|
-
_v$2 = `calc(${contentRef?.offsetLeft ?? 0}px + ${contentRef && window.getComputedStyle(contentRef).paddingLeft || '0px'} + ${(targetIndexes().length - indexes().length) * props.indentSize}px)`,
|
|
253
|
-
_v$3 = props.draggable,
|
|
254
|
-
_v$4 = cs('flex items-center relative', props.isDraggable(item) && 'after:content-empty after:absolute after:inset--1px after:[border:1px_solid_var(--ant-color-primary)]'),
|
|
255
|
-
_v$5 = `${props.indent * props.indentSize}px`,
|
|
256
|
-
_v$6 = cs('flex-shrink-0 w-[var(--ant-tree-expand-icon-width)] flex items-center justify-center cursor-pointer', isEndNode() && 'opacity-0'),
|
|
257
|
-
_v$7 = cs('rounded-[var(--ant-border-radius-sm)] px-[var(--ant-padding-xxs)] cursor-pointer relative min-w-0', props.blockNode && 'w-full', props.isDraggable(item) || props.selectedKeys()?.includes(props.getKey(item)) ? 'bg-[var(--ant-tree-node-selected-bg)]' : 'hover:bg-[var(--ant-tree-node-hover-bg)]');
|
|
258
|
-
_v$ !== _p$.e && className(_el$, _p$.e = _v$);
|
|
259
|
-
_v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$.style.setProperty("--ant-tree-target-node-left", _v$2) : _el$.style.removeProperty("--ant-tree-target-node-left"));
|
|
260
|
-
_v$3 !== _p$.a && setAttribute(_el$, "draggable", _p$.a = _v$3);
|
|
261
|
-
_v$4 !== _p$.o && className(_el$2, _p$.o = _v$4);
|
|
262
|
-
_v$5 !== _p$.i && ((_p$.i = _v$5) != null ? _el$3.style.setProperty("width", _v$5) : _el$3.style.removeProperty("width"));
|
|
263
|
-
_v$6 !== _p$.n && className(_el$4, _p$.n = _v$6);
|
|
264
|
-
_v$7 !== _p$.s && className(_el$6, _p$.s = _v$7);
|
|
265
|
-
return _p$;
|
|
266
|
-
}, {
|
|
267
|
-
e: undefined,
|
|
268
|
-
t: undefined,
|
|
269
|
-
a: undefined,
|
|
270
|
-
o: undefined,
|
|
271
|
-
i: undefined,
|
|
272
|
-
n: undefined,
|
|
273
|
-
s: undefined
|
|
274
|
-
});
|
|
275
|
-
return _el$;
|
|
276
|
-
})(), createComponent(Show, {
|
|
115
|
+
}
|
|
116
|
+
})), ssrAttribute("class", escape(cs('rounded-[var(--ant-border-radius-sm)] px-[var(--ant-padding-xxs)] cursor-pointer relative min-w-0', props.blockNode && 'w-full', props.isDraggable(item) || props.selectedKeys()?.includes(props.getKey(item)) ? 'bg-[var(--ant-tree-node-selected-bg)]' : 'hover:bg-[var(--ant-tree-node-hover-bg)]'), true), false), escape(props.getTitle(item))), createComponent(Show, {
|
|
277
117
|
get when() {
|
|
278
|
-
return
|
|
118
|
+
return isExpanded() && !isEndNode();
|
|
279
119
|
},
|
|
280
120
|
get children() {
|
|
281
121
|
return createComponent(SingleLevelTree, mergeProps(props, {
|
|
@@ -294,6 +134,5 @@ const SingleLevelTree = props => {
|
|
|
294
134
|
}
|
|
295
135
|
});
|
|
296
136
|
};
|
|
297
|
-
delegateEvents(["click"]);
|
|
298
137
|
|
|
299
138
|
export { SingleLevelTree as default };
|
package/es/TreeFor/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createComponent
|
|
1
|
+
import { createComponent } from 'solid-js/web';
|
|
2
2
|
import { isEmpty, remove } from 'lodash-es';
|
|
3
3
|
import { For, createMemo, createSignal, untrack, Show } from 'solid-js';
|
|
4
4
|
|
|
@@ -42,9 +42,9 @@ function TreeFor(props) {
|
|
|
42
42
|
onChildChange: props.onChildChange
|
|
43
43
|
};
|
|
44
44
|
const isExpanded = createMemo(() => props.expanded ? props.expanded(item, options) : true);
|
|
45
|
-
return [
|
|
45
|
+
return [props.children(item, options), createComponent(Show, {
|
|
46
46
|
get when() {
|
|
47
|
-
return
|
|
47
|
+
return isParent() && isExpanded();
|
|
48
48
|
},
|
|
49
49
|
get children() {
|
|
50
50
|
return createComponent(TreeFor, {
|
package/es/TreeSelect/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createComponent, mergeProps,
|
|
1
|
+
import { createComponent, mergeProps, ssr, ssrHydrationKey, escape } from 'solid-js/web';
|
|
2
2
|
import { splitProps, untrack, createMemo, Show } from 'solid-js';
|
|
3
3
|
import { isNil, isEmpty, get } from 'lodash-es';
|
|
4
4
|
import createControllableValue from '../hooks/createControllableValue.js';
|
|
@@ -7,7 +7,7 @@ import SelectInput from '../SelectInput/index.js';
|
|
|
7
7
|
import { unwrapStringOrJSXElement } from '../utils/solid.js';
|
|
8
8
|
import Empty from '../Empty/index.js';
|
|
9
9
|
|
|
10
|
-
var _tmpl$ =
|
|
10
|
+
var _tmpl$ = ["<div", " class=\"px-4px py-8px\">", "</div>"];
|
|
11
11
|
const TreeSelect = props => {
|
|
12
12
|
const [selectInputProps] = splitProps(props, ['multiple', 'allowClear', 'class', 'disabled', 'placeholder', 'status', 'size']);
|
|
13
13
|
const [treeProps] = splitProps(props, ['treeData', 'checkable', 'checkStrategy']);
|
|
@@ -62,8 +62,7 @@ const TreeSelect = props => {
|
|
|
62
62
|
return createComponent(Empty.PRESENTED_IMAGE_SIMPLE, {});
|
|
63
63
|
},
|
|
64
64
|
get children() {
|
|
65
|
-
|
|
66
|
-
insert(_el$, createComponent(Tree, mergeProps({
|
|
65
|
+
return ssr(_tmpl$, ssrHydrationKey(), escape(createComponent(Tree, mergeProps({
|
|
67
66
|
get multiple() {
|
|
68
67
|
return props.multiple;
|
|
69
68
|
},
|
|
@@ -88,8 +87,7 @@ const TreeSelect = props => {
|
|
|
88
87
|
setValueArr(selectedKeys);
|
|
89
88
|
if (!props.multiple) close();
|
|
90
89
|
}
|
|
91
|
-
}, treeProps)));
|
|
92
|
-
return _el$;
|
|
90
|
+
}, treeProps))));
|
|
93
91
|
}
|
|
94
92
|
})
|
|
95
93
|
}));
|