vibrant-tool 0.1.9 → 0.1.11

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.
@@ -1,2 +1,2 @@
1
1
  import { Canvas } from 'fabric';
2
- export declare function useKeyboardEvents(canvas: Canvas | null): void;
2
+ export declare function useKeyboardEvents(canvasParam?: Canvas | null): void;
@@ -6,6 +6,7 @@ declare class CropService {
6
6
  private darkOverlay;
7
7
  private focusedImage;
8
8
  private cropZone;
9
+ private maskPath;
9
10
  private onEnd;
10
11
  init(canvas: Canvas): void;
11
12
  start(image: FabricImage, onEnd?: () => void): Promise<void>;
@@ -1,5 +1,6 @@
1
1
  export interface ShapeType {
2
2
  category?: string | null;
3
+ search?: string | null;
3
4
  page?: number | 1;
4
5
  limit?: number | 10;
5
6
  }
@@ -0,0 +1,9 @@
1
+ import { Canvas, FabricObject } from 'fabric';
2
+ /**
3
+ * Removes active alignment guidelines from the canvas
4
+ */
5
+ export declare function clearAlignmentGuidelines(canvas: Canvas | null): void;
6
+ /**
7
+ * Handles automatic center and smart alignment snapping while an object is being moved
8
+ */
9
+ export declare function handleObjectAlignmentSnap(canvas: Canvas, target: FabricObject): void;
@@ -1,4 +1,5 @@
1
1
  import { FabricImage, FabricObject } from 'fabric';
2
2
  export declare const isImage: (obj: FabricObject) => obj is FabricImage;
3
+ export declare function flushBackgroundSave(): void;
3
4
  export declare function addBackgroundImage(url: string): Promise<void>;
4
- export declare function addBackgroundColor(color: string | any): Promise<void>;
5
+ export declare function addBackgroundColor(color: string | any, immediate?: boolean): Promise<void>;
@@ -0,0 +1,4 @@
1
+ import { Canvas } from 'fabric';
2
+ export declare function getGridStep(width: number, height: number): number;
3
+ export declare function renderGrid(canvas: Canvas | null): void;
4
+ export declare function toggleGrid(canvas?: Canvas | null): void;
@@ -1,4 +1,5 @@
1
1
  import { Canvas } from 'fabric';
2
2
  import { PageSide } from '../../zustand/historyStore';
3
3
  export type { PageSide };
4
+ export declare const CUSTOM_PROPERTIES: string[];
4
5
  export declare function switchCanvasPage(canvas: Canvas, currentPage: PageSide, targetPage: PageSide, pageJSON: Record<PageSide, any>, clearSelection: () => void, containerRef: React.MutableRefObject<HTMLDivElement | null>): Promise<void>;
@@ -1,8 +1,11 @@
1
1
  import { RefObject } from 'react';
2
2
  import { ElementItem } from '../../../lib/types/shape.types';
3
- export default function AllElements({ elements, onBack, scrollRef, onSearch }: {
3
+ export default function AllElements({ elements, onBack, scrollRef, onSearch, initialSearch, title, backText, }: {
4
4
  elements: ElementItem[];
5
5
  onBack?: () => void;
6
6
  scrollRef: RefObject<HTMLDivElement | null>;
7
7
  onSearch: (value: string) => void;
8
+ initialSearch?: string;
9
+ title?: string;
10
+ backText?: string;
8
11
  }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export declare function GridIcon({ size, className }: {
2
+ size?: number;
3
+ className?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -7,5 +7,9 @@ export declare function TextAlignButton({ value, onChange }: {
7
7
  value: TextAlign;
8
8
  onChange: (v: TextAlign) => void;
9
9
  }): import("react/jsx-runtime").JSX.Element;
10
+ export declare function TextAlignGroup({ value, onChange }: {
11
+ value: TextAlign;
12
+ onChange: (v: TextAlign) => void;
13
+ }): import("react/jsx-runtime").JSX.Element;
10
14
  export default function TextToolbar(): import("react/jsx-runtime").JSX.Element | null;
11
15
  export {};
@@ -78,6 +78,7 @@
78
78
  --color-red-500: oklch(63.7% .237 25.331);
79
79
  --color-red-700: oklch(50.5% .213 27.518);
80
80
  --color-yellow-400: oklch(85.2% .199 91.936);
81
+ --color-green-200: oklch(92.5% .084 155.995);
81
82
  --color-green-600: oklch(62.7% .194 149.214);
82
83
  --color-green-700: oklch(52.7% .154 150.069);
83
84
  --color-emerald-50: oklch(97.9% .021 166.113);
@@ -98,7 +99,6 @@
98
99
  --color-sky-200: oklch(90.1% .058 230.902);
99
100
  --color-sky-500: oklch(68.5% .169 237.323);
100
101
  --color-sky-900: oklch(39.1% .09 240.876);
101
- --color-blue-200: oklch(88.2% .059 254.128);
102
102
  --color-blue-400: oklch(70.7% .165 254.624);
103
103
  --color-blue-500: oklch(62.3% .214 259.815);
104
104
  --color-blue-600: oklch(54.6% .245 262.881);
@@ -152,6 +152,7 @@
152
152
  --font-weight-semibold: 600;
153
153
  --font-weight-bold: 700;
154
154
  --font-weight-extrabold: 800;
155
+ --tracking-tight: -.025em;
155
156
  --tracking-wide: .025em;
156
157
  --tracking-wider: .05em;
157
158
  --leading-relaxed: 1.625;
@@ -749,6 +750,10 @@
749
750
  margin-bottom: calc(var(--spacing) * 2);
750
751
  }
751
752
 
753
+ .mb-2\.5 {
754
+ margin-bottom: calc(var(--spacing) * 2.5);
755
+ }
756
+
752
757
  .mb-3 {
753
758
  margin-bottom: calc(var(--spacing) * 3);
754
759
  }
@@ -765,6 +770,10 @@
765
770
  margin-bottom: calc(var(--spacing) * 6);
766
771
  }
767
772
 
773
+ .ml-1 {
774
+ margin-left: calc(var(--spacing) * 1);
775
+ }
776
+
768
777
  .ml-2 {
769
778
  margin-left: calc(var(--spacing) * 2);
770
779
  }
@@ -929,8 +938,8 @@
929
938
  height: 135px;
930
939
  }
931
940
 
932
- .h-\[calc\(100dvh-180px\)\] {
933
- height: calc(100dvh - 180px);
941
+ .h-\[calc\(100dvh-200px\)\] {
942
+ height: calc(100dvh - 200px);
934
943
  }
935
944
 
936
945
  .h-\[calc\(100vh-56px\)\] {
@@ -945,10 +954,6 @@
945
954
  height: calc(100vh - 126px);
946
955
  }
947
956
 
948
- .h-\[calc\(100vh-160px\)\] {
949
- height: calc(100vh - 160px);
950
- }
951
-
952
957
  .h-\[calc\(100vh-165px\)\] {
953
958
  height: calc(100vh - 165px);
954
959
  }
@@ -1109,6 +1114,10 @@
1109
1114
  max-width: var(--container-6xl);
1110
1115
  }
1111
1116
 
1117
+ .max-w-\[240px\] {
1118
+ max-width: 240px;
1119
+ }
1120
+
1112
1121
  .max-w-\[360px\] {
1113
1122
  max-width: 360px;
1114
1123
  }
@@ -1275,6 +1284,10 @@
1275
1284
  justify-content: flex-end;
1276
1285
  }
1277
1286
 
1287
+ .gap-0\.5 {
1288
+ gap: calc(var(--spacing) * .5);
1289
+ }
1290
+
1278
1291
  .gap-1 {
1279
1292
  gap: calc(var(--spacing) * 1);
1280
1293
  }
@@ -1303,10 +1316,6 @@
1303
1316
  gap: calc(var(--spacing) * 4);
1304
1317
  }
1305
1318
 
1306
- .gap-5 {
1307
- gap: calc(var(--spacing) * 5);
1308
- }
1309
-
1310
1319
  :where(.space-y-1 > :not(:last-child)) {
1311
1320
  --tw-space-y-reverse: 0;
1312
1321
  margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
@@ -1546,6 +1555,16 @@
1546
1555
  border-color: var(--color-gray-300);
1547
1556
  }
1548
1557
 
1558
+ .border-gray-300\/60 {
1559
+ border-color: #d1d5dc99;
1560
+ }
1561
+
1562
+ @supports (color: color-mix(in lab, red, red)) {
1563
+ .border-gray-300\/60 {
1564
+ border-color: color-mix(in oklab, var(--color-gray-300) 60%, transparent);
1565
+ }
1566
+ }
1567
+
1549
1568
  .border-gray-400 {
1550
1569
  border-color: var(--color-gray-400);
1551
1570
  }
@@ -1558,6 +1577,16 @@
1558
1577
  border-color: var(--color-gray-700);
1559
1578
  }
1560
1579
 
1580
+ .border-gray-700\/70 {
1581
+ border-color: #364153b3;
1582
+ }
1583
+
1584
+ @supports (color: color-mix(in lab, red, red)) {
1585
+ .border-gray-700\/70 {
1586
+ border-color: color-mix(in oklab, var(--color-gray-700) 70%, transparent);
1587
+ }
1588
+ }
1589
+
1561
1590
  .border-gray-800 {
1562
1591
  border-color: var(--color-gray-800);
1563
1592
  }
@@ -1604,6 +1633,16 @@
1604
1633
  border-color: var(--color-neutral-800);
1605
1634
  }
1606
1635
 
1636
+ .border-neutral-800\/60 {
1637
+ border-color: #26262699;
1638
+ }
1639
+
1640
+ @supports (color: color-mix(in lab, red, red)) {
1641
+ .border-neutral-800\/60 {
1642
+ border-color: color-mix(in oklab, var(--color-neutral-800) 60%, transparent);
1643
+ }
1644
+ }
1645
+
1607
1646
  .border-red-500 {
1608
1647
  border-color: var(--color-red-500);
1609
1648
  }
@@ -1902,6 +1941,16 @@
1902
1941
  background-color: var(--color-gray-700);
1903
1942
  }
1904
1943
 
1944
+ .bg-gray-700\/80 {
1945
+ background-color: #364153cc;
1946
+ }
1947
+
1948
+ @supports (color: color-mix(in lab, red, red)) {
1949
+ .bg-gray-700\/80 {
1950
+ background-color: color-mix(in oklab, var(--color-gray-700) 80%, transparent);
1951
+ }
1952
+ }
1953
+
1905
1954
  .bg-gray-800 {
1906
1955
  background-color: var(--color-gray-800);
1907
1956
  }
@@ -1928,6 +1977,10 @@
1928
1977
  background-color: var(--color-neutral-200);
1929
1978
  }
1930
1979
 
1980
+ .bg-neutral-600 {
1981
+ background-color: var(--color-neutral-600);
1982
+ }
1983
+
1931
1984
  .bg-neutral-700 {
1932
1985
  background-color: var(--color-neutral-700);
1933
1986
  }
@@ -2068,6 +2121,16 @@
2068
2121
  }
2069
2122
  }
2070
2123
 
2124
+ .bg-white\/90 {
2125
+ background-color: #ffffffe6;
2126
+ }
2127
+
2128
+ @supports (color: color-mix(in lab, red, red)) {
2129
+ .bg-white\/90 {
2130
+ background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
2131
+ }
2132
+ }
2133
+
2071
2134
  .bg-white\/95 {
2072
2135
  background-color: #fffffff2;
2073
2136
  }
@@ -2264,6 +2327,10 @@
2264
2327
  padding-block: calc(var(--spacing) * 8);
2265
2328
  }
2266
2329
 
2330
+ .py-12 {
2331
+ padding-block: calc(var(--spacing) * 12);
2332
+ }
2333
+
2267
2334
  .py-\[5px\] {
2268
2335
  padding-block: 5px;
2269
2336
  }
@@ -2300,6 +2367,10 @@
2300
2367
  padding-right: calc(var(--spacing) * 3);
2301
2368
  }
2302
2369
 
2370
+ .pr-7 {
2371
+ padding-right: calc(var(--spacing) * 7);
2372
+ }
2373
+
2303
2374
  .pr-8 {
2304
2375
  padding-right: calc(var(--spacing) * 8);
2305
2376
  }
@@ -2456,6 +2527,11 @@
2456
2527
  font-weight: var(--font-weight-semibold);
2457
2528
  }
2458
2529
 
2530
+ .tracking-tight {
2531
+ --tw-tracking: var(--tracking-tight);
2532
+ letter-spacing: var(--tracking-tight);
2533
+ }
2534
+
2459
2535
  .tracking-wide {
2460
2536
  --tw-tracking: var(--tracking-wide);
2461
2537
  letter-spacing: var(--tracking-wide);
@@ -2603,6 +2679,10 @@
2603
2679
  font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
2604
2680
  }
2605
2681
 
2682
+ .overline {
2683
+ text-decoration-line: overline;
2684
+ }
2685
+
2606
2686
  .underline {
2607
2687
  text-decoration-line: underline;
2608
2688
  }
@@ -2616,6 +2696,10 @@
2616
2696
  color: var(--color-gray-400);
2617
2697
  }
2618
2698
 
2699
+ .placeholder-gray-500::placeholder {
2700
+ color: var(--color-gray-500);
2701
+ }
2702
+
2619
2703
  .accent-\[\#02bc71\] {
2620
2704
  accent-color: #02bc71;
2621
2705
  }
@@ -2640,6 +2724,10 @@
2640
2724
  opacity: .4;
2641
2725
  }
2642
2726
 
2727
+ .opacity-50 {
2728
+ opacity: .5;
2729
+ }
2730
+
2643
2731
  .opacity-60 {
2644
2732
  opacity: .6;
2645
2733
  }
@@ -2744,16 +2832,6 @@
2744
2832
  }
2745
2833
  }
2746
2834
 
2747
- .shadow-blue-200 {
2748
- --tw-shadow-color: oklch(88.2% .059 254.128);
2749
- }
2750
-
2751
- @supports (color: color-mix(in lab, red, red)) {
2752
- .shadow-blue-200 {
2753
- --tw-shadow-color: color-mix(in oklab, var(--color-blue-200) var(--tw-shadow-alpha), transparent);
2754
- }
2755
- }
2756
-
2757
2835
  .shadow-emerald-200\/50 {
2758
2836
  --tw-shadow-color: #a4f4cf80;
2759
2837
  }
@@ -2784,6 +2862,16 @@
2784
2862
  }
2785
2863
  }
2786
2864
 
2865
+ .shadow-green-200 {
2866
+ --tw-shadow-color: oklch(92.5% .084 155.995);
2867
+ }
2868
+
2869
+ @supports (color: color-mix(in lab, red, red)) {
2870
+ .shadow-green-200 {
2871
+ --tw-shadow-color: color-mix(in oklab, var(--color-green-200) var(--tw-shadow-alpha), transparent);
2872
+ }
2873
+ }
2874
+
2787
2875
  .ring-\[\#02bc71\] {
2788
2876
  --tw-ring-color: #02bc71;
2789
2877
  }
@@ -2953,6 +3041,11 @@
2953
3041
  }
2954
3042
 
2955
3043
  @media (hover: hover) {
3044
+ .group-hover\:-translate-x-0\.5:is(:where(.group):hover *) {
3045
+ --tw-translate-x: calc(var(--spacing) * -.5);
3046
+ translate: var(--tw-translate-x) var(--tw-translate-y);
3047
+ }
3048
+
2956
3049
  .group-hover\:scale-105:is(:where(.group):hover *) {
2957
3050
  --tw-scale-x: 105%;
2958
3051
  --tw-scale-y: 105%;
@@ -2994,6 +3087,15 @@
2994
3087
  background-color: var(--color-blue-600);
2995
3088
  }
2996
3089
 
3090
+ .focus-within\:ring-1:focus-within {
3091
+ --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
3092
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3093
+ }
3094
+
3095
+ .focus-within\:ring-neutral-600:focus-within {
3096
+ --tw-ring-color: var(--color-neutral-600);
3097
+ }
3098
+
2997
3099
  @media (hover: hover) {
2998
3100
  .hover\:scale-105:hover {
2999
3101
  --tw-scale-x: 105%;
@@ -3025,6 +3127,10 @@
3025
3127
  border-color: oklab(69.9534% -.154036 .0673199 / .4);
3026
3128
  }
3027
3129
 
3130
+ .hover\:border-gray-500:hover {
3131
+ border-color: var(--color-gray-500);
3132
+ }
3133
+
3028
3134
  .hover\:border-neutral-400:hover {
3029
3135
  border-color: var(--color-neutral-400);
3030
3136
  }
@@ -3045,6 +3151,10 @@
3045
3151
  background-color: oklab(69.9534% -.154036 .0673199 / .15);
3046
3152
  }
3047
3153
 
3154
+ .hover\:bg-\[\#2c2c2c\]:hover {
3155
+ background-color: #2c2c2c;
3156
+ }
3157
+
3048
3158
  .hover\:bg-\[\#8f99a826\]:hover {
3049
3159
  background-color: #8f99a826;
3050
3160
  }
@@ -3093,6 +3203,10 @@
3093
3203
  background-color: var(--color-neutral-800);
3094
3204
  }
3095
3205
 
3206
+ .hover\:bg-white:hover {
3207
+ background-color: var(--color-white);
3208
+ }
3209
+
3096
3210
  .hover\:bg-white\/10:hover {
3097
3211
  background-color: #ffffff1a;
3098
3212
  }
@@ -3155,6 +3269,10 @@
3155
3269
  color: var(--color-white);
3156
3270
  }
3157
3271
 
3272
+ .hover\:underline:hover {
3273
+ text-decoration-line: underline;
3274
+ }
3275
+
3158
3276
  .hover\:opacity-80:hover {
3159
3277
  opacity: .8;
3160
3278
  }
@@ -3241,6 +3359,10 @@
3241
3359
  cursor: grabbing;
3242
3360
  }
3243
3361
 
3362
+ .active\:bg-\[\#1a1a1a\]:active {
3363
+ background-color: #1a1a1a;
3364
+ }
3365
+
3244
3366
  .disabled\:cursor-not-allowed:disabled {
3245
3367
  cursor: not-allowed;
3246
3368
  }
@@ -3261,6 +3383,12 @@
3261
3383
  opacity: .6;
3262
3384
  }
3263
3385
 
3386
+ @media (min-width: 40rem) {
3387
+ .sm\:block {
3388
+ display: block;
3389
+ }
3390
+ }
3391
+
3264
3392
  @media (min-width: 48rem) {
3265
3393
  .md\:absolute {
3266
3394
  position: absolute;