@aplus-frontend/ui 0.5.31 → 0.5.32

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.
Files changed (92) hide show
  1. package/es/index.mjs +104 -100
  2. package/es/src/ap-grid/constants.d.ts +1 -0
  3. package/es/src/ap-grid/constants.mjs +4 -3
  4. package/es/src/ap-grid/editable/style/css.js +1 -0
  5. package/es/src/ap-grid/editable/style/index.js +1 -0
  6. package/es/src/ap-grid/index.d.ts +1 -0
  7. package/es/src/ap-grid/index.mjs +4 -0
  8. package/es/src/ap-grid/index.vue.mjs +94 -94
  9. package/es/src/ap-grid/utils/col.mjs +77 -88
  10. package/es/src/business/ap-product-info/ApProductInfo.mjs +33 -27
  11. package/es/src/index.d.ts +1 -0
  12. package/es/src/index.mjs +247 -243
  13. package/es/src/path-map.mjs +2 -1
  14. package/es/src/splitter/Panel.vue.d.ts +21 -0
  15. package/es/src/splitter/Panel.vue.mjs +4 -0
  16. package/es/src/splitter/Panel.vue2.mjs +36 -0
  17. package/es/src/splitter/SplitBar.vue.d.ts +4 -0
  18. package/es/src/splitter/SplitBar.vue.mjs +4 -0
  19. package/es/src/splitter/SplitBar.vue2.mjs +129 -0
  20. package/es/src/splitter/Splitter.vue.d.ts +6 -0
  21. package/es/src/splitter/Splitter.vue.mjs +4 -0
  22. package/es/src/splitter/Splitter.vue2.mjs +131 -0
  23. package/es/src/splitter/_Panel.vue.d.ts +4 -0
  24. package/es/src/splitter/_Panel.vue.mjs +4 -0
  25. package/es/src/splitter/_Panel.vue2.mjs +22 -0
  26. package/es/src/splitter/hooks/useItems.d.ts +10 -0
  27. package/es/src/splitter/hooks/useItems.mjs +26 -0
  28. package/es/src/splitter/hooks/useResizable.d.ts +8 -0
  29. package/es/src/splitter/hooks/useResizable.mjs +37 -0
  30. package/es/src/splitter/hooks/useResize.d.ts +4 -0
  31. package/es/src/splitter/hooks/useResize.mjs +72 -0
  32. package/es/src/splitter/hooks/useSizes.d.ts +4 -0
  33. package/es/src/splitter/hooks/useSizes.mjs +58 -0
  34. package/es/src/splitter/index.d.ts +8 -0
  35. package/es/src/splitter/index.mjs +10 -0
  36. package/es/src/splitter/interface.d.ts +70 -0
  37. package/es/src/splitter/interface.mjs +1 -0
  38. package/es/src/splitter/style/css.d.ts +0 -0
  39. package/es/src/splitter/style/css.js +1 -0
  40. package/es/src/splitter/style/index.d.ts +0 -0
  41. package/es/src/splitter/style/index.js +1 -0
  42. package/lib/index.js +1 -1
  43. package/lib/src/ap-grid/constants.d.ts +1 -0
  44. package/lib/src/ap-grid/constants.js +1 -1
  45. package/lib/src/ap-grid/editable/style/css.cjs +1 -0
  46. package/lib/src/ap-grid/editable/style/index.cjs +1 -0
  47. package/lib/src/ap-grid/index.d.ts +1 -0
  48. package/lib/src/ap-grid/index.js +1 -1
  49. package/lib/src/ap-grid/index.vue.js +1 -1
  50. package/lib/src/ap-grid/utils/col.js +1 -1
  51. package/lib/src/business/ap-product-info/ApProductInfo.js +1 -1
  52. package/lib/src/index.d.ts +1 -0
  53. package/lib/src/index.js +1 -1
  54. package/lib/src/path-map.js +1 -1
  55. package/lib/src/splitter/Panel.vue.d.ts +21 -0
  56. package/lib/src/splitter/Panel.vue.js +1 -0
  57. package/lib/src/splitter/Panel.vue2.js +1 -0
  58. package/lib/src/splitter/SplitBar.vue.d.ts +4 -0
  59. package/lib/src/splitter/SplitBar.vue.js +1 -0
  60. package/lib/src/splitter/SplitBar.vue2.js +1 -0
  61. package/lib/src/splitter/Splitter.vue.d.ts +6 -0
  62. package/lib/src/splitter/Splitter.vue.js +1 -0
  63. package/lib/src/splitter/Splitter.vue2.js +1 -0
  64. package/lib/src/splitter/_Panel.vue.d.ts +4 -0
  65. package/lib/src/splitter/_Panel.vue.js +1 -0
  66. package/lib/src/splitter/_Panel.vue2.js +1 -0
  67. package/lib/src/splitter/hooks/useItems.d.ts +10 -0
  68. package/lib/src/splitter/hooks/useItems.js +1 -0
  69. package/lib/src/splitter/hooks/useResizable.d.ts +8 -0
  70. package/lib/src/splitter/hooks/useResizable.js +1 -0
  71. package/lib/src/splitter/hooks/useResize.d.ts +4 -0
  72. package/lib/src/splitter/hooks/useResize.js +1 -0
  73. package/lib/src/splitter/hooks/useSizes.d.ts +4 -0
  74. package/lib/src/splitter/hooks/useSizes.js +1 -0
  75. package/lib/src/splitter/index.d.ts +8 -0
  76. package/lib/src/splitter/index.js +1 -0
  77. package/lib/src/splitter/interface.d.ts +70 -0
  78. package/lib/src/splitter/interface.js +1 -0
  79. package/lib/src/splitter/style/css.cjs +1 -0
  80. package/lib/src/splitter/style/css.d.ts +0 -0
  81. package/lib/src/splitter/style/index.cjs +1 -0
  82. package/lib/src/splitter/style/index.d.ts +0 -0
  83. package/package.json +1 -1
  84. package/theme/ap-grid/index.css +9 -0
  85. package/theme/ap-grid/index.less +10 -0
  86. package/theme/ap-product-info/ap-product-info.css +0 -1
  87. package/theme/ap-product-info/ap-product-info.less +1 -1
  88. package/theme/index.css +243 -5
  89. package/theme/index.less +1 -0
  90. package/theme/mixins/config.less +11 -0
  91. package/theme/splitter/index.css +230 -0
  92. package/theme/splitter/index.less +240 -0
@@ -0,0 +1,70 @@
1
+ import { CSSProperties } from 'vue';
2
+ export interface SplitterProps {
3
+ prefixCls?: string;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ rootClassName?: string;
7
+ layout?: 'horizontal' | 'vertical';
8
+ onResizeStart?: (sizes: number[]) => void;
9
+ onResize?: (sizes: number[]) => void;
10
+ onResizeEnd?: (sizes: number[]) => void;
11
+ lazy?: boolean;
12
+ }
13
+ export interface PanelProps {
14
+ className?: string;
15
+ style?: CSSProperties;
16
+ min?: number | string;
17
+ max?: number | string;
18
+ size?: number | string;
19
+ collapsible?: boolean | {
20
+ start?: boolean;
21
+ end?: boolean;
22
+ };
23
+ resizable?: boolean;
24
+ defaultSize?: number | string;
25
+ }
26
+ export interface InternalPanelProps extends PanelProps {
27
+ className?: string;
28
+ prefixCls?: string;
29
+ }
30
+ export interface UseResize {
31
+ setSize: (data: {
32
+ size: number;
33
+ index: number;
34
+ }[]) => void;
35
+ setOffset: (offset: number, containerSize: number, index: number) => void;
36
+ }
37
+ export interface UseHandle {
38
+ onStart: (x: number, y: number, index: number) => void;
39
+ }
40
+ export interface UseCollapsibleProps {
41
+ basicsState: number[];
42
+ collapsible?: PanelProps['collapsible'];
43
+ index: number;
44
+ reverse: boolean;
45
+ setSize?: UseResize['setSize'];
46
+ }
47
+ export interface UseCollapsible {
48
+ nextIcon: boolean;
49
+ overlap: boolean;
50
+ previousIcon: boolean;
51
+ onFold: (type: 'previous' | 'next') => void;
52
+ setOldBasics: () => void;
53
+ }
54
+ export interface SplitBarProps {
55
+ index: number;
56
+ active: boolean;
57
+ resizable: boolean;
58
+ startCollapsible: boolean;
59
+ endCollapsible: boolean;
60
+ onOffsetStart: (index: number) => void;
61
+ onOffsetUpdate: (index: number, offsetX: number, offsetY: number) => void;
62
+ onOffsetEnd: VoidFunction;
63
+ onCollapse: (index: number, type: 'start' | 'end') => void;
64
+ vertical: boolean;
65
+ ariaNow?: number;
66
+ ariaMin?: number;
67
+ ariaMax?: number;
68
+ lazy?: boolean;
69
+ containerSize: number;
70
+ }
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ import '@aplus-frontend/ui/theme/splitter/index.css';
File without changes
@@ -0,0 +1 @@
1
+ import '@aplus-frontend/ui/theme/splitter/index.less';
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aplus-frontend/ui",
3
- "version": "0.5.31",
3
+ "version": "0.5.32",
4
4
  "main": "./lib/index.js",
5
5
  "type": "module",
6
6
  "files": [
@@ -336,3 +336,12 @@
336
336
  word-break: break-all;
337
337
  flex: 1;
338
338
  }
339
+ .aplus-ap-grid .vxe-cell--wrapper {
340
+ display: flex;
341
+ flex-direction: row;
342
+ flex-wrap: nowrap;
343
+ align-items: center;
344
+ }
345
+ .aplus-ap-grid .vxe-cell--wrapper .vxe-cell--title {
346
+ flex-shrink: 1;
347
+ }
@@ -108,4 +108,14 @@
108
108
  flex: 1;
109
109
  }
110
110
  }
111
+
112
+ .vxe-cell--wrapper {
113
+ display: flex;
114
+ flex-direction: row;
115
+ flex-wrap: nowrap;
116
+ align-items: center;
117
+ .vxe-cell--title {
118
+ flex-shrink: 1;
119
+ }
120
+ }
111
121
  });
@@ -14,7 +14,6 @@
14
14
  overflow: hidden;
15
15
  }
16
16
  .aplus-ap-product-info__title {
17
- color: #182948;
18
17
  overflow: hidden;
19
18
  text-overflow: ellipsis;
20
19
  white-space: nowrap;
@@ -16,7 +16,7 @@
16
16
  overflow: hidden;
17
17
  }
18
18
  &__title{
19
- color:#182948;
19
+ // color:#182948;
20
20
  overflow: hidden;
21
21
  text-overflow: ellipsis;
22
22
  white-space: nowrap;
package/theme/index.css CHANGED
@@ -757,7 +757,6 @@
757
757
  overflow: hidden;
758
758
  }
759
759
  .aplus-ap-product-info__title {
760
- color: #182948;
761
760
  overflow: hidden;
762
761
  text-overflow: ellipsis;
763
762
  white-space: nowrap;
@@ -2368,17 +2367,17 @@ div.aplus-ap-info-layout-admin__header-shadow.aplus-ap-info-layout-admin__sticky
2368
2367
  bottom: 0;
2369
2368
  padding-bottom: 16px;
2370
2369
  }
2371
- .aplus-ap-grid-sticky:has(.aplus-scroll-bar) .aplus-ap-grid-pagination-wrapper {
2370
+ .aplus-ap-grid-sticky:has(.aplus-splitter-bar) .aplus-ap-grid-pagination-wrapper {
2372
2371
  bottom: 0;
2373
2372
  }
2374
- .aplus-ap-grid-sticky:has(.aplus-scroll-bar) .aplus-ap-grid-pagination-wrapper ul.ant-pagination {
2373
+ .aplus-ap-grid-sticky:has(.aplus-splitter-bar) .aplus-ap-grid-pagination-wrapper ul.ant-pagination {
2375
2374
  margin-top: 0;
2376
2375
  padding-top: 8px;
2377
2376
  }
2378
- .aplus-ap-grid-sticky:has(.aplus-scroll-bar) .vxe-table--scroll-x-wrapper {
2377
+ .aplus-ap-grid-sticky:has(.aplus-splitter-bar) .vxe-table--scroll-x-wrapper {
2379
2378
  opacity: 0;
2380
2379
  }
2381
- .aplus-ap-grid-sticky:has(.aplus-scroll-bar) .vxe-table .vxe-table--scroll-x-virtual {
2380
+ .aplus-ap-grid-sticky:has(.aplus-splitter-bar) .vxe-table .vxe-table--scroll-x-virtual {
2382
2381
  height: 0px !important;
2383
2382
  }
2384
2383
  .aplus-ap-grid-wrapper {
@@ -2436,6 +2435,15 @@ div.aplus-ap-info-layout-admin__header-shadow.aplus-ap-info-layout-admin__sticky
2436
2435
  word-break: break-all;
2437
2436
  flex: 1;
2438
2437
  }
2438
+ .aplus-ap-grid .vxe-cell--wrapper {
2439
+ display: flex;
2440
+ flex-direction: row;
2441
+ flex-wrap: nowrap;
2442
+ align-items: center;
2443
+ }
2444
+ .aplus-ap-grid .vxe-cell--wrapper .vxe-cell--title {
2445
+ flex-shrink: 1;
2446
+ }
2439
2447
  .aplus-editable-grid__header-cell--required {
2440
2448
  color: #FF4D4F;
2441
2449
  padding-right: 2px;
@@ -2570,3 +2578,233 @@ div.aplus-ap-info-layout-admin__header-shadow.aplus-ap-info-layout-admin__sticky
2570
2578
  background-color: currentColor;
2571
2579
  opacity: 0.45;
2572
2580
  }
2581
+ .split-center {
2582
+ position: absolute;
2583
+ top: 50%;
2584
+ left: 50%;
2585
+ transform: translate(-50%, -50%);
2586
+ }
2587
+ .split-bar-preview {
2588
+ position: absolute;
2589
+ z-index: 1;
2590
+ display: none;
2591
+ background: var(--basic-color-primary, #0070ff);
2592
+ opacity: 0.2;
2593
+ transition: none;
2594
+ pointer-events: none;
2595
+ }
2596
+ .aplus-splitter {
2597
+ box-sizing: border-box;
2598
+ margin: 0;
2599
+ padding: 0;
2600
+ color: rgba(0 0 0 / 85%);
2601
+ font-size: 14px;
2602
+ line-height: 22px;
2603
+ list-style: none;
2604
+ font-family: inherit;
2605
+ display: flex;
2606
+ width: 100%;
2607
+ height: 100%;
2608
+ align-items: stretch;
2609
+ }
2610
+ .aplus-splitter > .aplus-splitter-bar {
2611
+ flex: none;
2612
+ position: relative;
2613
+ -webkit-user-select: none;
2614
+ -moz-user-select: none;
2615
+ user-select: none;
2616
+ }
2617
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger {
2618
+ z-index: 1;
2619
+ position: absolute;
2620
+ top: 50%;
2621
+ left: 50%;
2622
+ transform: translate(-50%, -50%);
2623
+ }
2624
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger::before {
2625
+ content: "";
2626
+ background: rgba(0, 0, 0, 0.04);
2627
+ position: absolute;
2628
+ top: 50%;
2629
+ left: 50%;
2630
+ transform: translate(-50%, -50%);
2631
+ }
2632
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger::after {
2633
+ content: "";
2634
+ background: rgba(0, 0, 0, 0.15);
2635
+ position: absolute;
2636
+ top: 50%;
2637
+ left: 50%;
2638
+ transform: translate(-50%, -50%);
2639
+ }
2640
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger:hover:not(.aplus-splitter-bar-dragger-active)::before {
2641
+ background: #e6f4ff;
2642
+ }
2643
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-active {
2644
+ z-index: 2px;
2645
+ }
2646
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-active::before {
2647
+ background: #bae0ff;
2648
+ }
2649
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger {
2650
+ z-index: 0;
2651
+ }
2652
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger,
2653
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger:hover,
2654
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger-active {
2655
+ cursor: default;
2656
+ }
2657
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger::before,
2658
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger:hover::before,
2659
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger-active::before {
2660
+ background: rgba(0, 0, 0, 0.04);
2661
+ }
2662
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger::after {
2663
+ display: none;
2664
+ }
2665
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar {
2666
+ position: absolute;
2667
+ top: 50%;
2668
+ left: 50%;
2669
+ transform: translate(-50%, -50%);
2670
+ z-index: 1000;
2671
+ background: rgba(0, 0, 0, 0.04);
2672
+ font-size: 12px;
2673
+ border-radius: 2px;
2674
+ color: rgba(0 0 0 / 85%);
2675
+ cursor: pointer;
2676
+ opacity: 0;
2677
+ display: flex;
2678
+ justify-content: center;
2679
+ align-items: center;
2680
+ }
2681
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar:hover {
2682
+ background-color: rgba(0, 0, 0, 0.15);
2683
+ }
2684
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar:active {
2685
+ background-color: #e6f4ff;
2686
+ }
2687
+ .aplus-splitter > .aplus-splitter-bar:hover .aplus-splitter-bar-collapse-bar,
2688
+ .aplus-splitter > .aplus-splitter-bar:active .aplus-splitter-bar-collapse-bar {
2689
+ opacity: 1;
2690
+ }
2691
+ .aplus-splitter-mask {
2692
+ position: fixed;
2693
+ z-index: 1000;
2694
+ inset: 0;
2695
+ }
2696
+ .aplus-splitter-mask-horizontal {
2697
+ cursor: col-resize;
2698
+ }
2699
+ .aplus-splitter-mask-vertical {
2700
+ cursor: row-resize;
2701
+ }
2702
+ .aplus-splitter-horizontal {
2703
+ flex-direction: row;
2704
+ }
2705
+ .aplus-splitter-horizontal > .aplus-splitter-bar {
2706
+ width: 0;
2707
+ }
2708
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-preview {
2709
+ height: 100%;
2710
+ width: 2px;
2711
+ position: absolute;
2712
+ z-index: 1;
2713
+ display: none;
2714
+ background: var(--basic-color-primary, #0070ff);
2715
+ opacity: 0.2;
2716
+ transition: none;
2717
+ pointer-events: none;
2718
+ }
2719
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-preview-active {
2720
+ display: block;
2721
+ transform: translateX(var(--aplus-splitter-bar-preview-offset));
2722
+ }
2723
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-dragger {
2724
+ cursor: col-resize;
2725
+ height: 100%;
2726
+ width: 6px;
2727
+ }
2728
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-dragger::before {
2729
+ height: 100%;
2730
+ width: 2px;
2731
+ }
2732
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-dragger::after {
2733
+ height: 20px;
2734
+ width: 2px;
2735
+ }
2736
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar {
2737
+ width: 12px;
2738
+ height: 24px;
2739
+ }
2740
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar-start {
2741
+ left: auto;
2742
+ right: calc(6px / 2);
2743
+ transform: translateY(-50%);
2744
+ }
2745
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar-end {
2746
+ left: calc(6px / 2);
2747
+ right: auto;
2748
+ transform: translateY(-50%);
2749
+ }
2750
+ .aplus-splitter-vertical {
2751
+ flex-direction: column;
2752
+ }
2753
+ .aplus-splitter-vertical > .aplus-splitter-bar {
2754
+ height: 0;
2755
+ }
2756
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-preview {
2757
+ height: 2px;
2758
+ width: 100%;
2759
+ position: absolute;
2760
+ z-index: 1;
2761
+ display: none;
2762
+ background: var(--basic-color-primary, #0070ff);
2763
+ opacity: 0.2;
2764
+ transition: none;
2765
+ pointer-events: none;
2766
+ }
2767
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-preview.aplus-splitter-bar-preview-active {
2768
+ display: block;
2769
+ transform: translateY(var(--aplus-splitter-bar-preview-offset));
2770
+ }
2771
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-dragger {
2772
+ cursor: row-resize;
2773
+ width: 100%;
2774
+ height: 6px;
2775
+ }
2776
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-dragger::before {
2777
+ width: 100%;
2778
+ height: 2px;
2779
+ }
2780
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-dragger::after {
2781
+ width: 20px;
2782
+ height: 2px;
2783
+ }
2784
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar {
2785
+ height: 12px;
2786
+ width: 24px;
2787
+ }
2788
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar-start {
2789
+ top: auto;
2790
+ bottom: calc(6px / 2);
2791
+ transform: translateX(-50%);
2792
+ }
2793
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar-end {
2794
+ top: calc(6px / 2);
2795
+ bottom: auto;
2796
+ transform: translateX(-50%);
2797
+ }
2798
+ .aplus-splitter-panel {
2799
+ overflow: auto;
2800
+ padding: 0 1px;
2801
+ scrollbar-width: thin;
2802
+ box-sizing: border-box;
2803
+ }
2804
+ .aplus-splitter-panel-hidden {
2805
+ padding: 0;
2806
+ overflow: hidden;
2807
+ }
2808
+ .aplus-splitter-panel:has(.aplus-splitter:only-child) {
2809
+ overflow: hidden;
2810
+ }
package/theme/index.less CHANGED
@@ -42,3 +42,4 @@
42
42
  @import './text/index.less';
43
43
  @import './text/group.less';
44
44
  @import './mask/index.less';
45
+ @import './splitter/index.less';
@@ -20,8 +20,19 @@
20
20
 
21
21
  @app-content-background: #fafafa;
22
22
 
23
+ @font-size-base: 14px;
24
+ @font-size-small: 12px;
25
+ @line-height-base: 22px;
26
+
23
27
  // 业务组件样式
24
28
 
25
29
  // 业务组件 两端——全局主题色
26
30
  @aplus-primary-color: #0070ff;
27
31
  @admin-primary-color: #34b77c;
32
+
33
+ // Splitter
34
+
35
+ @split-bar-size: 2px;
36
+ @split-trigger-size: 6px;
37
+ @resize-spinner-size: 20px;
38
+ @split-bar-draggable-size: 20px;
@@ -0,0 +1,230 @@
1
+ .split-center {
2
+ position: absolute;
3
+ top: 50%;
4
+ left: 50%;
5
+ transform: translate(-50%, -50%);
6
+ }
7
+ .split-bar-preview {
8
+ position: absolute;
9
+ z-index: 1;
10
+ display: none;
11
+ background: var(--basic-color-primary, #0070ff);
12
+ opacity: 0.2;
13
+ transition: none;
14
+ pointer-events: none;
15
+ }
16
+ .aplus-splitter {
17
+ box-sizing: border-box;
18
+ margin: 0;
19
+ padding: 0;
20
+ color: rgba(0 0 0 / 85%);
21
+ font-size: 14px;
22
+ line-height: 22px;
23
+ list-style: none;
24
+ font-family: inherit;
25
+ display: flex;
26
+ width: 100%;
27
+ height: 100%;
28
+ align-items: stretch;
29
+ }
30
+ .aplus-splitter > .aplus-splitter-bar {
31
+ flex: none;
32
+ position: relative;
33
+ -webkit-user-select: none;
34
+ -moz-user-select: none;
35
+ user-select: none;
36
+ }
37
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger {
38
+ z-index: 1;
39
+ position: absolute;
40
+ top: 50%;
41
+ left: 50%;
42
+ transform: translate(-50%, -50%);
43
+ }
44
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger::before {
45
+ content: "";
46
+ background: rgba(0, 0, 0, 0.04);
47
+ position: absolute;
48
+ top: 50%;
49
+ left: 50%;
50
+ transform: translate(-50%, -50%);
51
+ }
52
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger::after {
53
+ content: "";
54
+ background: rgba(0, 0, 0, 0.15);
55
+ position: absolute;
56
+ top: 50%;
57
+ left: 50%;
58
+ transform: translate(-50%, -50%);
59
+ }
60
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger:hover:not(.aplus-splitter-bar-dragger-active)::before {
61
+ background: #e6f4ff;
62
+ }
63
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-active {
64
+ z-index: 2px;
65
+ }
66
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-active::before {
67
+ background: #bae0ff;
68
+ }
69
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger {
70
+ z-index: 0;
71
+ }
72
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger,
73
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger:hover,
74
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger-active {
75
+ cursor: default;
76
+ }
77
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger::before,
78
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger:hover::before,
79
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger-active::before {
80
+ background: rgba(0, 0, 0, 0.04);
81
+ }
82
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-dragger-disabled.aplus-splitter-bar-dragger::after {
83
+ display: none;
84
+ }
85
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar {
86
+ position: absolute;
87
+ top: 50%;
88
+ left: 50%;
89
+ transform: translate(-50%, -50%);
90
+ z-index: 1000;
91
+ background: rgba(0, 0, 0, 0.04);
92
+ font-size: 12px;
93
+ border-radius: 2px;
94
+ color: rgba(0 0 0 / 85%);
95
+ cursor: pointer;
96
+ opacity: 0;
97
+ display: flex;
98
+ justify-content: center;
99
+ align-items: center;
100
+ }
101
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar:hover {
102
+ background-color: rgba(0, 0, 0, 0.15);
103
+ }
104
+ .aplus-splitter > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar:active {
105
+ background-color: #e6f4ff;
106
+ }
107
+ .aplus-splitter > .aplus-splitter-bar:hover .aplus-splitter-bar-collapse-bar,
108
+ .aplus-splitter > .aplus-splitter-bar:active .aplus-splitter-bar-collapse-bar {
109
+ opacity: 1;
110
+ }
111
+ .aplus-splitter-mask {
112
+ position: fixed;
113
+ z-index: 1000;
114
+ inset: 0;
115
+ }
116
+ .aplus-splitter-mask-horizontal {
117
+ cursor: col-resize;
118
+ }
119
+ .aplus-splitter-mask-vertical {
120
+ cursor: row-resize;
121
+ }
122
+ .aplus-splitter-horizontal {
123
+ flex-direction: row;
124
+ }
125
+ .aplus-splitter-horizontal > .aplus-splitter-bar {
126
+ width: 0;
127
+ }
128
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-preview {
129
+ height: 100%;
130
+ width: 2px;
131
+ position: absolute;
132
+ z-index: 1;
133
+ display: none;
134
+ background: var(--basic-color-primary, #0070ff);
135
+ opacity: 0.2;
136
+ transition: none;
137
+ pointer-events: none;
138
+ }
139
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-preview-active {
140
+ display: block;
141
+ transform: translateX(var(--aplus-splitter-bar-preview-offset));
142
+ }
143
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-dragger {
144
+ cursor: col-resize;
145
+ height: 100%;
146
+ width: 6px;
147
+ }
148
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-dragger::before {
149
+ height: 100%;
150
+ width: 2px;
151
+ }
152
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-dragger::after {
153
+ height: 20px;
154
+ width: 2px;
155
+ }
156
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar {
157
+ width: 12px;
158
+ height: 24px;
159
+ }
160
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar-start {
161
+ left: auto;
162
+ right: calc(6px / 2);
163
+ transform: translateY(-50%);
164
+ }
165
+ .aplus-splitter-horizontal > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar-end {
166
+ left: calc(6px / 2);
167
+ right: auto;
168
+ transform: translateY(-50%);
169
+ }
170
+ .aplus-splitter-vertical {
171
+ flex-direction: column;
172
+ }
173
+ .aplus-splitter-vertical > .aplus-splitter-bar {
174
+ height: 0;
175
+ }
176
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-preview {
177
+ height: 2px;
178
+ width: 100%;
179
+ position: absolute;
180
+ z-index: 1;
181
+ display: none;
182
+ background: var(--basic-color-primary, #0070ff);
183
+ opacity: 0.2;
184
+ transition: none;
185
+ pointer-events: none;
186
+ }
187
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-preview.aplus-splitter-bar-preview-active {
188
+ display: block;
189
+ transform: translateY(var(--aplus-splitter-bar-preview-offset));
190
+ }
191
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-dragger {
192
+ cursor: row-resize;
193
+ width: 100%;
194
+ height: 6px;
195
+ }
196
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-dragger::before {
197
+ width: 100%;
198
+ height: 2px;
199
+ }
200
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-dragger::after {
201
+ width: 20px;
202
+ height: 2px;
203
+ }
204
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar {
205
+ height: 12px;
206
+ width: 24px;
207
+ }
208
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar-start {
209
+ top: auto;
210
+ bottom: calc(6px / 2);
211
+ transform: translateX(-50%);
212
+ }
213
+ .aplus-splitter-vertical > .aplus-splitter-bar .aplus-splitter-bar-collapse-bar-end {
214
+ top: calc(6px / 2);
215
+ bottom: auto;
216
+ transform: translateX(-50%);
217
+ }
218
+ .aplus-splitter-panel {
219
+ overflow: auto;
220
+ padding: 0 1px;
221
+ scrollbar-width: thin;
222
+ box-sizing: border-box;
223
+ }
224
+ .aplus-splitter-panel-hidden {
225
+ padding: 0;
226
+ overflow: hidden;
227
+ }
228
+ .aplus-splitter-panel:has(.aplus-splitter:only-child) {
229
+ overflow: hidden;
230
+ }