vibrant-tool 0.1.7 → 0.1.9

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.
@@ -13,4 +13,7 @@ export interface CanvasZoomAPI {
13
13
  zoomReset: () => void;
14
14
  zoomTo: (value: number) => void;
15
15
  }
16
- export declare function useCanvasZoom(canvas: Canvas | null): CanvasZoomAPI;
16
+ export interface CanvasZoomOptions {
17
+ onReset?: () => void;
18
+ }
19
+ export declare function useCanvasZoom(canvas: Canvas | null, options?: CanvasZoomOptions): CanvasZoomAPI;
@@ -0,0 +1,29 @@
1
+ import { Canvas, FabricImage } from 'fabric';
2
+ /**
3
+ * Official CDN path for @imgly/background-removal assets.
4
+ * Fetches the ONNX runtime binaries (.wasm) and neural network models on-demand directly
5
+ * from staticimgly.com instead of bundling 65 MB binaries into the local repository.
6
+ */
7
+ export declare const IMGLY_CDN_PATH = "https://staticimgly.com/@imgly/background-removal-data/1.7.0/dist/";
8
+ export declare class BackgroundRemovalService {
9
+ /**
10
+ * Automatically cuts out the background of a FabricImage using client-side AI
11
+ */
12
+ static removeBackgroundAI(canvas: Canvas, imageObj: FabricImage, onProgress?: (message: string) => void): Promise<boolean>;
13
+ /**
14
+ * Restores the original image background prior to AI cutout
15
+ */
16
+ static restoreOriginalBackground(canvas: Canvas, imageObj: FabricImage): Promise<boolean>;
17
+ /**
18
+ * Applies Fabric native RemoveColor filter for instant solid-color transparency
19
+ */
20
+ static applyColorRemovalFilter(canvas: Canvas, imageObj: FabricImage, color?: string, distance?: number, saveHistory?: boolean): void;
21
+ /**
22
+ * Removes the solid-color background filter
23
+ */
24
+ static removeColorRemovalFilter(canvas: Canvas, imageObj: FabricImage, saveHistory?: boolean): void;
25
+ /**
26
+ * Checks if an image has active background removal (AI or color filter)
27
+ */
28
+ static hasBackgroundRemoval(imageObj: FabricImage): boolean;
29
+ }
@@ -1,4 +1,5 @@
1
1
  export declare function dataUrlToFile(dataUrl: string, filename?: string): File;
2
+ export declare function getFullImageUrl(url: string): string;
2
3
  export declare const UploadService: {
3
4
  uploadFileApi(file: File | Blob, filename?: string): Promise<string>;
4
5
  uploadDataUrl(dataUrl: string, filename?: string): Promise<string>;
@@ -5,6 +5,8 @@ export declare function createInitialWorkarea(canvas: Canvas): Rect<{
5
5
  width: number;
6
6
  height: number;
7
7
  fill: string;
8
+ strokeWidth: number;
9
+ stroke: null;
8
10
  selectable: false;
9
11
  evented: false;
10
12
  name: string;
@@ -13,6 +15,8 @@ export declare function createLargeWorkarea(canvas: Canvas, config: VCanvasConfi
13
15
  width: number;
14
16
  height: number;
15
17
  fill: string;
18
+ strokeWidth: number;
19
+ stroke: null;
16
20
  selectable: false;
17
21
  evented: false;
18
22
  name: string;
@@ -30,6 +34,8 @@ export declare function createWorkarea(canvas: Canvas, container: HTMLDivElement
30
34
  width: number;
31
35
  height: number;
32
36
  fill: string;
37
+ strokeWidth: number;
38
+ stroke: null;
33
39
  selectable: false;
34
40
  evented: false;
35
41
  name: string;
@@ -1,4 +1,7 @@
1
1
  import { Canvas } from 'fabric';
2
2
  export declare function loadPageToCanvas(canvas: Canvas, json: any, pageSide?: string): Promise<void>;
3
- export declare function getWorkareaDataUrl(cvs: Canvas, multiplier?: number, pageSide?: string): string;
4
- export declare function renderPageDataUrl(json: any, baseCanvas: Canvas, multiplier?: number, targetSide?: string): Promise<string>;
3
+ /**
4
+ * Exports high-resolution Workarea data URL cleanly cropped to its exact boundary
5
+ */
6
+ export declare function getWorkareaDataUrl(cvs: Canvas, multiplier?: number, pageSide?: string, includeGuidelines?: boolean): string;
7
+ export declare function renderPageDataUrl(json: any, baseCanvas: Canvas, multiplier?: number, targetSide?: string, includeGuidelines?: boolean): Promise<string>;
@@ -1,3 +1,7 @@
1
1
  import { FabricImage, FabricObject } from 'fabric';
2
2
  export declare const isImage: (obj: FabricObject) => obj is FabricImage;
3
+ /**
4
+ * Converts any image URL (http, https, blob, relative) into a base64 Data URL
5
+ */
6
+ export declare function getBase64ImageFromURL(url: string): Promise<string>;
3
7
  export declare function addImageToCanvas(url: string): Promise<void>;
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ interface IconProps {
3
+ className?: string;
4
+ size?: number;
5
+ }
6
+ export declare const AlignTopIcon: React.FC<IconProps>;
7
+ export declare const AlignLeftIcon: React.FC<IconProps>;
8
+ export declare const AlignMiddleIcon: React.FC<IconProps>;
9
+ export declare const AlignCenterIcon: React.FC<IconProps>;
10
+ export declare const AlignBottomIcon: React.FC<IconProps>;
11
+ export declare const AlignRightIcon: React.FC<IconProps>;
12
+ export {};
@@ -1 +1,5 @@
1
- export default function ZoomControls(): import("react/jsx-runtime").JSX.Element;
1
+ interface ZoomControlsProps {
2
+ onReset?: () => void;
3
+ }
4
+ export default function ZoomControls({ onReset }: ZoomControlsProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare function BgRemoveIcon({ size, className }: {
2
+ size?: number;
3
+ className?: string;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,9 @@
1
- export default function PreviewModal({ onClose }: {
1
+ export interface PreviewModalProps {
2
2
  onClose: () => void;
3
- }): import("react/jsx-runtime").JSX.Element;
3
+ onUpload?: (urls: {
4
+ front: string;
5
+ back?: string;
6
+ active: string;
7
+ }) => void;
8
+ }
9
+ export default function PreviewModal({ onClose, onUpload }: PreviewModalProps): import("react/jsx-runtime").JSX.Element;
@@ -76,14 +76,19 @@
76
76
  :root, :host {
77
77
  --color-red-400: oklch(70.4% .191 22.216);
78
78
  --color-red-500: oklch(63.7% .237 25.331);
79
+ --color-red-700: oklch(50.5% .213 27.518);
79
80
  --color-yellow-400: oklch(85.2% .199 91.936);
80
81
  --color-green-600: oklch(62.7% .194 149.214);
81
82
  --color-green-700: oklch(52.7% .154 150.069);
82
83
  --color-emerald-50: oklch(97.9% .021 166.113);
84
+ --color-emerald-100: oklch(95% .052 163.051);
83
85
  --color-emerald-200: oklch(90.5% .093 164.15);
86
+ --color-emerald-300: oklch(84.5% .143 164.978);
84
87
  --color-emerald-400: oklch(76.5% .177 163.223);
85
88
  --color-emerald-500: oklch(69.6% .17 162.48);
86
89
  --color-emerald-600: oklch(59.6% .145 163.225);
90
+ --color-emerald-700: oklch(50.8% .118 165.612);
91
+ --color-emerald-800: oklch(43.2% .095 166.913);
87
92
  --color-emerald-900: oklch(37.8% .077 168.94);
88
93
  --color-emerald-950: oklch(26.2% .051 172.552);
89
94
  --color-teal-500: oklch(70.4% .14 182.503);
@@ -160,7 +165,6 @@
160
165
  --animate-spin: spin 1s linear infinite;
161
166
  --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite;
162
167
  --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
163
- --blur-xs: 4px;
164
168
  --blur-sm: 8px;
165
169
  --blur-md: 12px;
166
170
  --blur-xl: 24px;
@@ -451,6 +455,10 @@
451
455
  position: relative;
452
456
  }
453
457
 
458
+ .static {
459
+ position: static;
460
+ }
461
+
454
462
  .inset-0 {
455
463
  inset: calc(var(--spacing) * 0);
456
464
  }
@@ -793,6 +801,10 @@
793
801
  display: none;
794
802
  }
795
803
 
804
+ .inline {
805
+ display: inline;
806
+ }
807
+
796
808
  .inline-block {
797
809
  display: inline-block;
798
810
  }
@@ -805,6 +817,10 @@
805
817
  aspect-ratio: 1;
806
818
  }
807
819
 
820
+ .h-0 {
821
+ height: calc(var(--spacing) * 0);
822
+ }
823
+
808
824
  .h-1 {
809
825
  height: calc(var(--spacing) * 1);
810
826
  }
@@ -1065,14 +1081,14 @@
1065
1081
  width: 200px;
1066
1082
  }
1067
1083
 
1068
- .w-\[260px\] {
1069
- width: 260px;
1070
- }
1071
-
1072
1084
  .w-\[270px\] {
1073
1085
  width: 270px;
1074
1086
  }
1075
1087
 
1088
+ .w-\[280px\] {
1089
+ width: 280px;
1090
+ }
1091
+
1076
1092
  .w-auto {
1077
1093
  width: auto;
1078
1094
  }
@@ -1093,6 +1109,10 @@
1093
1109
  max-width: var(--container-6xl);
1094
1110
  }
1095
1111
 
1112
+ .max-w-\[360px\] {
1113
+ max-width: 360px;
1114
+ }
1115
+
1096
1116
  .max-w-full {
1097
1117
  max-width: 100%;
1098
1118
  }
@@ -1121,6 +1141,10 @@
1121
1141
  min-width: 90px;
1122
1142
  }
1123
1143
 
1144
+ .min-w-\[240px\] {
1145
+ min-width: 240px;
1146
+ }
1147
+
1124
1148
  .flex-1 {
1125
1149
  flex: 1;
1126
1150
  }
@@ -1187,6 +1211,10 @@
1187
1211
  cursor: pointer;
1188
1212
  }
1189
1213
 
1214
+ .cursor-wait {
1215
+ cursor: wait;
1216
+ }
1217
+
1190
1218
  .touch-none {
1191
1219
  touch-action: none;
1192
1220
  }
@@ -1279,6 +1307,12 @@
1279
1307
  gap: calc(var(--spacing) * 5);
1280
1308
  }
1281
1309
 
1310
+ :where(.space-y-1 > :not(:last-child)) {
1311
+ --tw-space-y-reverse: 0;
1312
+ margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
1313
+ margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
1314
+ }
1315
+
1282
1316
  :where(.space-y-1\.5 > :not(:last-child)) {
1283
1317
  --tw-space-y-reverse: 0;
1284
1318
  margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
@@ -1291,6 +1325,12 @@
1291
1325
  margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
1292
1326
  }
1293
1327
 
1328
+ :where(.space-y-2\.5 > :not(:last-child)) {
1329
+ --tw-space-y-reverse: 0;
1330
+ margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
1331
+ margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
1332
+ }
1333
+
1294
1334
  :where(.space-y-3 > :not(:last-child)) {
1295
1335
  --tw-space-y-reverse: 0;
1296
1336
  margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
@@ -1309,10 +1349,18 @@
1309
1349
  margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
1310
1350
  }
1311
1351
 
1352
+ .gap-x-2 {
1353
+ column-gap: calc(var(--spacing) * 2);
1354
+ }
1355
+
1312
1356
  .gap-x-5 {
1313
1357
  column-gap: calc(var(--spacing) * 5);
1314
1358
  }
1315
1359
 
1360
+ .gap-y-1\.5 {
1361
+ row-gap: calc(var(--spacing) * 1.5);
1362
+ }
1363
+
1316
1364
  .gap-y-3\.5 {
1317
1365
  row-gap: calc(var(--spacing) * 3.5);
1318
1366
  }
@@ -1414,6 +1462,11 @@
1414
1462
  border-top-width: 1px;
1415
1463
  }
1416
1464
 
1465
+ .border-t-2 {
1466
+ border-top-style: var(--tw-border-style);
1467
+ border-top-width: 2px;
1468
+ }
1469
+
1417
1470
  .border-r {
1418
1471
  border-right-style: var(--tw-border-style);
1419
1472
  border-right-width: 1px;
@@ -1449,6 +1502,10 @@
1449
1502
  border-color: var(--color-blue-500);
1450
1503
  }
1451
1504
 
1505
+ .border-emerald-100 {
1506
+ border-color: var(--color-emerald-100);
1507
+ }
1508
+
1452
1509
  .border-emerald-200\/70 {
1453
1510
  border-color: #a4f4cfb3;
1454
1511
  }
@@ -1459,6 +1516,14 @@
1459
1516
  }
1460
1517
  }
1461
1518
 
1519
+ .border-emerald-300 {
1520
+ border-color: var(--color-emerald-300);
1521
+ }
1522
+
1523
+ .border-emerald-600 {
1524
+ border-color: var(--color-emerald-600);
1525
+ }
1526
+
1462
1527
  .border-gray-100 {
1463
1528
  border-color: var(--color-gray-100);
1464
1529
  }
@@ -1481,6 +1546,10 @@
1481
1546
  border-color: var(--color-gray-300);
1482
1547
  }
1483
1548
 
1549
+ .border-gray-400 {
1550
+ border-color: var(--color-gray-400);
1551
+ }
1552
+
1484
1553
  .border-gray-600 {
1485
1554
  border-color: var(--color-gray-600);
1486
1555
  }
@@ -1501,6 +1570,16 @@
1501
1570
  border-color: var(--color-neutral-700);
1502
1571
  }
1503
1572
 
1573
+ .border-neutral-700\/50 {
1574
+ border-color: #40404080;
1575
+ }
1576
+
1577
+ @supports (color: color-mix(in lab, red, red)) {
1578
+ .border-neutral-700\/50 {
1579
+ border-color: color-mix(in oklab, var(--color-neutral-700) 50%, transparent);
1580
+ }
1581
+ }
1582
+
1504
1583
  .border-neutral-700\/70 {
1505
1584
  border-color: #404040b3;
1506
1585
  }
@@ -1571,6 +1650,16 @@
1571
1650
  }
1572
1651
  }
1573
1652
 
1653
+ .border-white\/30 {
1654
+ border-color: #ffffff4d;
1655
+ }
1656
+
1657
+ @supports (color: color-mix(in lab, red, red)) {
1658
+ .border-white\/30 {
1659
+ border-color: color-mix(in oklab, var(--color-white) 30%, transparent);
1660
+ }
1661
+ }
1662
+
1574
1663
  .border-white\/40 {
1575
1664
  border-color: #fff6;
1576
1665
  }
@@ -1595,6 +1684,10 @@
1595
1684
  border-top-color: #0000;
1596
1685
  }
1597
1686
 
1687
+ .border-t-white {
1688
+ border-top-color: var(--color-white);
1689
+ }
1690
+
1598
1691
  .bg-\[\#1d1d1d\] {
1599
1692
  background-color: #1d1d1d;
1600
1693
  }
@@ -1611,6 +1704,10 @@
1611
1704
  background-color: oklab(69.9534% -.154036 .0673199 / .15);
1612
1705
  }
1613
1706
 
1707
+ .bg-\[\#02bc71\]\/20 {
1708
+ background-color: oklab(69.9534% -.154036 .0673199 / .2);
1709
+ }
1710
+
1614
1711
  .bg-\[\#2b2b2b\] {
1615
1712
  background-color: #2b2b2b;
1616
1713
  }
@@ -1663,6 +1760,16 @@
1663
1760
  }
1664
1761
  }
1665
1762
 
1763
+ .bg-black\/65 {
1764
+ background-color: #000000a6;
1765
+ }
1766
+
1767
+ @supports (color: color-mix(in lab, red, red)) {
1768
+ .bg-black\/65 {
1769
+ background-color: color-mix(in oklab, var(--color-black) 65%, transparent);
1770
+ }
1771
+ }
1772
+
1666
1773
  .bg-blue-500 {
1667
1774
  background-color: var(--color-blue-500);
1668
1775
  }
@@ -1681,6 +1788,20 @@
1681
1788
  background-color: var(--color-blue-600);
1682
1789
  }
1683
1790
 
1791
+ .bg-emerald-50 {
1792
+ background-color: var(--color-emerald-50);
1793
+ }
1794
+
1795
+ .bg-emerald-50\/70 {
1796
+ background-color: #ecfdf5b3;
1797
+ }
1798
+
1799
+ @supports (color: color-mix(in lab, red, red)) {
1800
+ .bg-emerald-50\/70 {
1801
+ background-color: color-mix(in oklab, var(--color-emerald-50) 70%, transparent);
1802
+ }
1803
+ }
1804
+
1684
1805
  .bg-emerald-50\/90 {
1685
1806
  background-color: #ecfdf5e6;
1686
1807
  }
@@ -1691,6 +1812,10 @@
1691
1812
  }
1692
1813
  }
1693
1814
 
1815
+ .bg-emerald-100 {
1816
+ background-color: var(--color-emerald-100);
1817
+ }
1818
+
1694
1819
  .bg-emerald-500 {
1695
1820
  background-color: var(--color-emerald-500);
1696
1821
  }
@@ -1761,6 +1886,10 @@
1761
1886
  }
1762
1887
  }
1763
1888
 
1889
+ .bg-gray-400 {
1890
+ background-color: var(--color-gray-400);
1891
+ }
1892
+
1764
1893
  .bg-gray-500 {
1765
1894
  background-color: var(--color-gray-500);
1766
1895
  }
@@ -1851,16 +1980,6 @@
1851
1980
  }
1852
1981
  }
1853
1982
 
1854
- .bg-neutral-900\/90 {
1855
- background-color: #171717e6;
1856
- }
1857
-
1858
- @supports (color: color-mix(in lab, red, red)) {
1859
- .bg-neutral-900\/90 {
1860
- background-color: color-mix(in oklab, var(--color-neutral-900) 90%, transparent);
1861
- }
1862
- }
1863
-
1864
1983
  .bg-neutral-900\/95 {
1865
1984
  background-color: #171717f2;
1866
1985
  }
@@ -2097,6 +2216,10 @@
2097
2216
  padding-inline: calc(var(--spacing) * 6);
2098
2217
  }
2099
2218
 
2219
+ .px-8 {
2220
+ padding-inline: calc(var(--spacing) * 8);
2221
+ }
2222
+
2100
2223
  .py-0\.5 {
2101
2224
  padding-block: calc(var(--spacing) * .5);
2102
2225
  }
@@ -2133,6 +2256,10 @@
2133
2256
  padding-block: calc(var(--spacing) * 5);
2134
2257
  }
2135
2258
 
2259
+ .py-6 {
2260
+ padding-block: calc(var(--spacing) * 6);
2261
+ }
2262
+
2136
2263
  .py-8 {
2137
2264
  padding-block: calc(var(--spacing) * 8);
2138
2265
  }
@@ -2141,6 +2268,10 @@
2141
2268
  padding-block: 5px;
2142
2269
  }
2143
2270
 
2271
+ .pt-0\.5 {
2272
+ padding-top: calc(var(--spacing) * .5);
2273
+ }
2274
+
2144
2275
  .pt-1 {
2145
2276
  padding-top: calc(var(--spacing) * 1);
2146
2277
  }
@@ -2351,10 +2482,26 @@
2351
2482
  color: var(--color-emerald-200);
2352
2483
  }
2353
2484
 
2485
+ .text-emerald-400 {
2486
+ color: var(--color-emerald-400);
2487
+ }
2488
+
2489
+ .text-emerald-700 {
2490
+ color: var(--color-emerald-700);
2491
+ }
2492
+
2493
+ .text-emerald-800 {
2494
+ color: var(--color-emerald-800);
2495
+ }
2496
+
2354
2497
  .text-emerald-900 {
2355
2498
  color: var(--color-emerald-900);
2356
2499
  }
2357
2500
 
2501
+ .text-emerald-950 {
2502
+ color: var(--color-emerald-950);
2503
+ }
2504
+
2358
2505
  .text-gray-200 {
2359
2506
  color: var(--color-gray-200);
2360
2507
  }
@@ -2419,6 +2566,10 @@
2419
2566
  color: var(--color-red-500);
2420
2567
  }
2421
2568
 
2569
+ .text-red-700 {
2570
+ color: var(--color-red-700);
2571
+ }
2572
+
2422
2573
  .text-rose-600 {
2423
2574
  color: var(--color-rose-600);
2424
2575
  }
@@ -2647,6 +2798,16 @@
2647
2798
  }
2648
2799
  }
2649
2800
 
2801
+ .ring-black\/10 {
2802
+ --tw-ring-color: #0000001a;
2803
+ }
2804
+
2805
+ @supports (color: color-mix(in lab, red, red)) {
2806
+ .ring-black\/10 {
2807
+ --tw-ring-color: color-mix(in oklab, var(--color-black) 10%, transparent);
2808
+ }
2809
+ }
2810
+
2650
2811
  .ring-black\/30 {
2651
2812
  --tw-ring-color: #0000004d;
2652
2813
  }
@@ -2699,6 +2860,12 @@
2699
2860
  filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
2700
2861
  }
2701
2862
 
2863
+ .backdrop-blur-\[2px\] {
2864
+ --tw-backdrop-blur: blur(2px);
2865
+ -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2866
+ backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2867
+ }
2868
+
2702
2869
  .backdrop-blur-md {
2703
2870
  --tw-backdrop-blur: blur(var(--blur-md));
2704
2871
  -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
@@ -2717,12 +2884,6 @@
2717
2884
  backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2718
2885
  }
2719
2886
 
2720
- .backdrop-blur-xs {
2721
- --tw-backdrop-blur: blur(var(--blur-xs));
2722
- -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2723
- backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
2724
- }
2725
-
2726
2887
  .transition {
2727
2888
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
2728
2889
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -2808,6 +2969,10 @@
2808
2969
  }
2809
2970
  }
2810
2971
 
2972
+ .peer-checked\:left-4\.5:is(:where(.peer):checked ~ *) {
2973
+ left: calc(var(--spacing) * 4.5);
2974
+ }
2975
+
2811
2976
  .peer-checked\:left-6:is(:where(.peer):checked ~ *) {
2812
2977
  left: calc(var(--spacing) * 6);
2813
2978
  }
@@ -2884,6 +3049,10 @@
2884
3049
  background-color: #8f99a826;
2885
3050
  }
2886
3051
 
3052
+ .hover\:bg-\[\#029a5d\]:hover {
3053
+ background-color: #029a5d;
3054
+ }
3055
+
2887
3056
  .hover\:bg-\[\#333\]:hover {
2888
3057
  background-color: #333;
2889
3058
  }
@@ -3161,6 +3330,10 @@
3161
3330
  display: none;
3162
3331
  }
3163
3332
 
3333
+ .md\:inline {
3334
+ display: inline;
3335
+ }
3336
+
3164
3337
  .md\:h-20 {
3165
3338
  height: calc(var(--spacing) * 20);
3166
3339
  }