@sentroy-co/client-sdk 2.13.3 → 2.13.6
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/README.md +52 -0
- package/dist/react/crop/CropDialog.d.ts +1 -2
- package/dist/react/crop/CropDialog.d.ts.map +1 -1
- package/dist/react/crop/CropDialog.js +51 -164
- package/dist/react/crop/CropDialog.js.map +1 -1
- package/dist/react/crop/styles.css +821 -0
- package/package.json +4 -3
- package/src/react/crop/CropDialog.tsx +141 -375
package/README.md
CHANGED
|
@@ -78,6 +78,58 @@ console.log(media.url) // signed URL, served from the CDN
|
|
|
78
78
|
|
|
79
79
|
That's the smallest useful surface. Every other resource (`domains`, `mailboxes`, `templates`, `inbox`, `audience`, `webhooks`, `suppressions`, `logs`, `buckets`, `media`) follows the same `sentroy.<resource>.<verb>(...)` shape with full TypeScript types.
|
|
80
80
|
|
|
81
|
+
## React: CropDialog
|
|
82
|
+
|
|
83
|
+
A full-screen, iOS Photos-style image crop dialog built on [`react-mobile-cropper`](https://advanced-cropper.github.io/react-mobile-cropper/) (which sits on top of [`react-advanced-cropper`](https://advanced-cropper.github.io/react-advanced-cropper/)). Lazy subpath — only imported when you reference it.
|
|
84
|
+
|
|
85
|
+
**1. Add the stylesheet once** (root layout / `_app` / global CSS entry — anywhere it loads on every page that may open the dialog):
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import "@sentroy-co/client-sdk/react/crop/styles.css"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
We ship `react-mobile-cropper`'s baseline `style.css`, no extra theme. If you'd rather use the desktop-flavored variants (`compact` / `bubble` / `classic` / `corners` from advanced-cropper, or the mobile baseline directly), see [advanced-cropper themes](https://advanced-cropper.github.io/react-advanced-cropper/docs/guides/themes) and import the package CSS yourself instead of ours.
|
|
92
|
+
|
|
93
|
+
**2. Open the dialog with a `File`:**
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
"use client"
|
|
97
|
+
import { useState } from "react"
|
|
98
|
+
import dynamic from "next/dynamic"
|
|
99
|
+
|
|
100
|
+
const CropDialog = dynamic(
|
|
101
|
+
() => import("@sentroy-co/client-sdk/react/crop").then((m) => m.CropDialog),
|
|
102
|
+
{ ssr: false },
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
export function UploadButton() {
|
|
106
|
+
const [file, setFile] = useState<File | null>(null)
|
|
107
|
+
return (
|
|
108
|
+
<>
|
|
109
|
+
<input
|
|
110
|
+
type="file"
|
|
111
|
+
accept="image/*"
|
|
112
|
+
onChange={(e) => setFile(e.target.files?.[0] ?? null)}
|
|
113
|
+
/>
|
|
114
|
+
{file && (
|
|
115
|
+
<CropDialog
|
|
116
|
+
open
|
|
117
|
+
file={file}
|
|
118
|
+
defaultAspect="1:1"
|
|
119
|
+
onClose={(out) => {
|
|
120
|
+
setFile(null)
|
|
121
|
+
if (out) uploadCroppedFile(out) // Apply → cropped File
|
|
122
|
+
// out === null → Cancel; out === file → Use original
|
|
123
|
+
}}
|
|
124
|
+
/>
|
|
125
|
+
)}
|
|
126
|
+
</>
|
|
127
|
+
)
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
The dialog returns a `File` (cropped or original), `null` on cancel. Aspect presets, rotate (`R` / `Shift+R`), flip, zoom and a live preview are built in.
|
|
132
|
+
|
|
81
133
|
## Env Vault
|
|
82
134
|
|
|
83
135
|
Manage your env vars in the dashboard at [vault.sentroy.com](https://vault.sentroy.com), bootstrap your deploy with one token, and read values via a typed helper — no rebuild on change.
|
|
@@ -7,8 +7,7 @@ export interface CropDialogProps {
|
|
|
7
7
|
onClose: (result: File | null) => void;
|
|
8
8
|
/** Default aspect preset id'si — 'free' (default) veya '1:1', '16:9', vb. */
|
|
9
9
|
defaultAspect?: string;
|
|
10
|
-
/** Output JPEG quality 0-1 (default 0.92).
|
|
11
|
-
* veya orijinal MIME (PNG'ler için PNG korunur). */
|
|
10
|
+
/** Output JPEG quality 0-1 (default 0.92). PNG'ler için PNG korunur. */
|
|
12
11
|
outputQuality?: number;
|
|
13
12
|
}
|
|
14
13
|
export declare function CropDialog({ open, file, onClose, defaultAspect, outputQuality, }: CropDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CropDialog.d.ts","sourceRoot":"","sources":["../../../src/react/crop/CropDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CropDialog.d.ts","sourceRoot":"","sources":["../../../src/react/crop/CropDialog.tsx"],"names":[],"mappings":"AAsCA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAA;IACb;mBACe;IACf,IAAI,EAAE,IAAI,CAAA;IACV,4EAA4E;IAC5E,OAAO,EAAE,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAA;IACtC,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,aAAsB,EACtB,aAAoB,GACrB,EAAE,eAAe,2CA8PjB"}
|
|
@@ -3,31 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CropDialog = CropDialog;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
|
-
const
|
|
6
|
+
const react_mobile_cropper_1 = require("react-mobile-cropper");
|
|
7
7
|
const react_2 = require("motion/react");
|
|
8
8
|
/**
|
|
9
|
-
* Image crop dialog — iOS Photos benzeri full-screen crop UI.
|
|
10
|
-
* `react-
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Image crop dialog — iOS Photos benzeri full-screen crop UI.
|
|
10
|
+
* `react-mobile-cropper` üzerine kurulu; paket native olarak iOS-vari
|
|
11
|
+
* stencil + handler + transition davranışı veriyor (manual layout/icon
|
|
12
|
+
* gerek yok).
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
14
|
+
* iOS Photos pattern:
|
|
15
|
+
* - Header: Cancel (sol) — "Crop" başlığı (orta) — Done (sağ)
|
|
16
|
+
* - Main: Cropper full width, stencil ile karartılmış kenar
|
|
17
|
+
* - Bottom toolbar: aspect chip'leri (Free / 1:1 / 4:3 / 16:9 / 3:2 / 9:16)
|
|
18
|
+
* + sağ tarafta tek rotate ikonu
|
|
19
19
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* - Rotate 90° CW/CCW butonları (R / Shift+R)
|
|
23
|
-
* - Cropper'ın `getCanvas()` çıktısından **live preview**
|
|
24
|
-
* thumbnail — kullanıcı Apply'a basmadan sonucu görür.
|
|
25
|
-
* - Output pixel boyutu (örn. 1200×800) read-out.
|
|
26
|
-
* - Apply: ref üzerinden `getCanvas().toBlob` → File.
|
|
27
|
-
* - "Use original": orijinal File döner; Cancel: null.
|
|
28
|
-
*
|
|
29
|
-
* Tam ekran: `inset-0`, scrim'siz; consent flow gibi destination-only UX —
|
|
30
|
-
* dialog her şeyi kaplar, dikkat dağıtmaz.
|
|
20
|
+
* Preview thumbnail kasıtlı olarak yok — iOS Photos'ta da yok; kullanıcı
|
|
21
|
+
* stencil'in içini direkt görüyor.
|
|
31
22
|
*
|
|
32
23
|
* Lazy subpath (`@sentroy-co/client-sdk/react/crop`) — ana SDK import'u
|
|
33
24
|
* cropper bundle'ı yutmasın.
|
|
@@ -40,17 +31,13 @@ const ASPECT_PRESETS = [
|
|
|
40
31
|
{ id: "3:2", label: "3:2", aspect: 3 / 2 },
|
|
41
32
|
{ id: "9:16", label: "9:16", aspect: 9 / 16 },
|
|
42
33
|
];
|
|
43
|
-
const MAX_PIXEL_GUARD = 50_000_000; // ~24 MP
|
|
44
|
-
const PREVIEW_MAX_DIM = 240;
|
|
34
|
+
const MAX_PIXEL_GUARD = 50_000_000; // ~24 MP
|
|
45
35
|
function CropDialog({ open, file, onClose, defaultAspect = "free", outputQuality = 0.92, }) {
|
|
46
36
|
const [imageUrl, setImageUrl] = (0, react_1.useState)(null);
|
|
47
37
|
const [aspectId, setAspectId] = (0, react_1.useState)(defaultAspect);
|
|
48
38
|
const [busy, setBusy] = (0, react_1.useState)(false);
|
|
49
39
|
const [tooLarge, setTooLarge] = (0, react_1.useState)(false);
|
|
50
|
-
const [outputSize, setOutputSize] = (0, react_1.useState)(null);
|
|
51
|
-
const [previewDataUrl, setPreviewDataUrl] = (0, react_1.useState)(null);
|
|
52
40
|
const cropperRef = (0, react_1.useRef)(null);
|
|
53
|
-
const previewRafRef = (0, react_1.useRef)(null);
|
|
54
41
|
// Object URL lifecycle
|
|
55
42
|
(0, react_1.useEffect)(() => {
|
|
56
43
|
if (!open)
|
|
@@ -59,9 +46,6 @@ function CropDialog({ open, file, onClose, defaultAspect = "free", outputQuality
|
|
|
59
46
|
setImageUrl(url);
|
|
60
47
|
setAspectId(defaultAspect);
|
|
61
48
|
setTooLarge(false);
|
|
62
|
-
setOutputSize(null);
|
|
63
|
-
setPreviewDataUrl(null);
|
|
64
|
-
// Pixel guard — large image decode tarayıcıyı çökertir
|
|
65
49
|
const img = new Image();
|
|
66
50
|
img.onload = () => {
|
|
67
51
|
if (img.naturalWidth * img.naturalHeight > MAX_PIXEL_GUARD) {
|
|
@@ -69,83 +53,29 @@ function CropDialog({ open, file, onClose, defaultAspect = "free", outputQuality
|
|
|
69
53
|
}
|
|
70
54
|
};
|
|
71
55
|
img.src = url;
|
|
72
|
-
return () =>
|
|
73
|
-
URL.revokeObjectURL(url);
|
|
74
|
-
if (previewRafRef.current !== null) {
|
|
75
|
-
cancelAnimationFrame(previewRafRef.current);
|
|
76
|
-
previewRafRef.current = null;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
56
|
+
return () => URL.revokeObjectURL(url);
|
|
79
57
|
}, [open, file, defaultAspect]);
|
|
80
58
|
const aspectRatio = ASPECT_PRESETS.find((p) => p.id === aspectId)?.aspect ?? undefined;
|
|
81
|
-
// Aspect preset değişirse
|
|
82
|
-
// güncelle. `setCoordinates` ile aspect'i zorla.
|
|
59
|
+
// Aspect preset değişirse stencil koordinatlarını yeni aspect'e snap'le
|
|
83
60
|
(0, react_1.useEffect)(() => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if (aspectRatio === undefined)
|
|
87
|
-
return;
|
|
88
|
-
const state = cropperRef.current.getState();
|
|
89
|
-
if (!state)
|
|
90
|
-
return;
|
|
91
|
-
const { coordinates } = state;
|
|
92
|
-
if (!coordinates)
|
|
61
|
+
const cropper = cropperRef.current;
|
|
62
|
+
if (!cropper || aspectRatio === undefined)
|
|
93
63
|
return;
|
|
94
|
-
const
|
|
95
|
-
|
|
64
|
+
const state = cropper.getState();
|
|
65
|
+
const c = state?.coordinates;
|
|
66
|
+
if (!c)
|
|
96
67
|
return;
|
|
97
|
-
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
cropperRef.current.setCoordinates({
|
|
101
|
-
width: newWidth,
|
|
102
|
-
height: newHeight,
|
|
103
|
-
});
|
|
68
|
+
const newWidth = c.width;
|
|
69
|
+
const newHeight = c.width / aspectRatio;
|
|
70
|
+
cropper.setCoordinates({ width: newWidth, height: newHeight });
|
|
104
71
|
}, [aspectRatio, aspectId]);
|
|
105
|
-
// Live preview render — cropper change event'inde getCanvas() ile
|
|
106
|
-
// küçük thumbnail üret. RAF ile throttle.
|
|
107
|
-
const renderPreview = (0, react_1.useCallback)(() => {
|
|
108
|
-
if (previewRafRef.current !== null) {
|
|
109
|
-
cancelAnimationFrame(previewRafRef.current);
|
|
110
|
-
}
|
|
111
|
-
previewRafRef.current = requestAnimationFrame(() => {
|
|
112
|
-
previewRafRef.current = null;
|
|
113
|
-
const cropper = cropperRef.current;
|
|
114
|
-
if (!cropper)
|
|
115
|
-
return;
|
|
116
|
-
const canvas = cropper.getCanvas({
|
|
117
|
-
// Preview canvas — düşük boyut, smooth (output quality değil)
|
|
118
|
-
maxWidth: PREVIEW_MAX_DIM * 2,
|
|
119
|
-
maxHeight: PREVIEW_MAX_DIM * 2,
|
|
120
|
-
imageSmoothingQuality: "medium",
|
|
121
|
-
});
|
|
122
|
-
if (!canvas)
|
|
123
|
-
return;
|
|
124
|
-
setOutputSize({ w: canvas.width, h: canvas.height });
|
|
125
|
-
// Data URL — küçük canvas; performant
|
|
126
|
-
try {
|
|
127
|
-
setPreviewDataUrl(canvas.toDataURL("image/jpeg", 0.7));
|
|
128
|
-
}
|
|
129
|
-
catch {
|
|
130
|
-
// toDataURL nadir tainted-canvas durumunda fail edebilir; sessiz geç
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}, []);
|
|
134
|
-
const handleCropperChange = (0, react_1.useCallback)(() => {
|
|
135
|
-
renderPreview();
|
|
136
|
-
}, [renderPreview]);
|
|
137
|
-
const handleCropperReady = (0, react_1.useCallback)(() => {
|
|
138
|
-
renderPreview();
|
|
139
|
-
}, [renderPreview]);
|
|
140
72
|
const handleApply = (0, react_1.useCallback)(async () => {
|
|
141
73
|
const cropper = cropperRef.current;
|
|
142
74
|
if (!cropper)
|
|
143
75
|
return;
|
|
144
76
|
setBusy(true);
|
|
145
77
|
try {
|
|
146
|
-
const canvas = cropper.getCanvas({
|
|
147
|
-
imageSmoothingQuality: "high",
|
|
148
|
-
});
|
|
78
|
+
const canvas = cropper.getCanvas({ imageSmoothingQuality: "high" });
|
|
149
79
|
if (!canvas) {
|
|
150
80
|
setBusy(false);
|
|
151
81
|
return;
|
|
@@ -171,13 +101,10 @@ function CropDialog({ open, file, onClose, defaultAspect = "free", outputQuality
|
|
|
171
101
|
}, [file, onClose, outputQuality]);
|
|
172
102
|
const handleUseOriginal = (0, react_1.useCallback)(() => onClose(file), [file, onClose]);
|
|
173
103
|
const handleCancel = (0, react_1.useCallback)(() => onClose(null), [onClose]);
|
|
174
|
-
const handleRotate = (0, react_1.useCallback)((
|
|
175
|
-
cropperRef.current?.rotateImage(
|
|
176
|
-
}, []);
|
|
177
|
-
const handleFlip = (0, react_1.useCallback)((axis) => {
|
|
178
|
-
cropperRef.current?.flipImage(axis === "h", axis === "v");
|
|
104
|
+
const handleRotate = (0, react_1.useCallback)(() => {
|
|
105
|
+
cropperRef.current?.rotateImage(90);
|
|
179
106
|
}, []);
|
|
180
|
-
//
|
|
107
|
+
// ESC kapat, R rotate
|
|
181
108
|
(0, react_1.useEffect)(() => {
|
|
182
109
|
if (!open)
|
|
183
110
|
return;
|
|
@@ -193,81 +120,41 @@ function CropDialog({ open, file, onClose, defaultAspect = "free", outputQuality
|
|
|
193
120
|
}
|
|
194
121
|
if (e.key === "r" || e.key === "R") {
|
|
195
122
|
e.preventDefault();
|
|
196
|
-
handleRotate(
|
|
123
|
+
handleRotate();
|
|
197
124
|
}
|
|
198
125
|
};
|
|
199
126
|
window.addEventListener("keydown", onKey);
|
|
200
127
|
return () => window.removeEventListener("keydown", onKey);
|
|
201
128
|
}, [open, handleCancel, handleRotate]);
|
|
202
129
|
return ((0, jsx_runtime_1.jsx)(react_2.AnimatePresence, { children: open && imageUrl && ((0, jsx_runtime_1.jsxs)(react_2.motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.2 },
|
|
203
|
-
//
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
130
|
+
// Inline color — host app'in tema değişkenleri text-white
|
|
131
|
+
// utility'sini override etse bile child icon/text bu rengi
|
|
132
|
+
// inherit eder (rotate ikonu, chip metinleri vs).
|
|
133
|
+
style: { color: "#ffffff" }, className: "fixed inset-0 z-[60] flex flex-col bg-black", children: [(0, jsx_runtime_1.jsxs)("header", { className: "flex items-center justify-between gap-3 px-4 py-3", style: {
|
|
134
|
+
borderBottom: "1px solid rgba(255,255,255,0.08)",
|
|
135
|
+
background: "rgba(0,0,0,0.4)",
|
|
136
|
+
backdropFilter: "blur(8px)",
|
|
137
|
+
}, children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleCancel, disabled: busy, style: { color: "rgba(255,255,255,0.85)" }, className: "rounded-md px-3 py-1.5 text-sm transition-colors hover:bg-white/10 disabled:opacity-50", children: "Cancel" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex min-w-0 flex-col items-center text-center", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-sm font-semibold", children: "Crop" }), (0, jsx_runtime_1.jsx)("span", { style: { color: "rgba(255,255,255,0.5)" }, className: "truncate max-w-xs text-[11px]", children: file.name })] }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleApply, disabled: busy || tooLarge, style: { backgroundColor: "#fff", color: "#0a0a0a" }, className: "rounded-md px-3 py-1.5 text-sm font-medium transition-opacity hover:opacity-90 disabled:opacity-50", children: busy ? "Cropping…" : "Done" })] }), (0, jsx_runtime_1.jsx)("div", { className: "relative flex-1 min-h-0 bg-black", children: tooLarge ? ((0, jsx_runtime_1.jsx)("div", { style: { color: "rgba(255,255,255,0.7)" }, className: "flex h-full w-full items-center justify-center p-6 text-center text-sm", children: "Image too large to crop in browser. Upload as-is or resize beforehand." })) : ((0, jsx_runtime_1.jsx)(react_mobile_cropper_1.Cropper, { ref: cropperRef, src: imageUrl, stencilProps: {
|
|
138
|
+
aspectRatio: aspectRatio,
|
|
139
|
+
}, className: "sentroy-mobile-cropper" })) }), (0, jsx_runtime_1.jsxs)("footer", { className: "flex items-center gap-2 px-3 py-3", style: {
|
|
140
|
+
borderTop: "1px solid rgba(255,255,255,0.08)",
|
|
141
|
+
background: "rgba(0,0,0,0.4)",
|
|
142
|
+
backdropFilter: "blur(8px)",
|
|
143
|
+
}, children: [(0, jsx_runtime_1.jsx)("div", { className: "flex flex-1 items-center gap-1 overflow-x-auto", style: { scrollbarWidth: "none" }, children: ASPECT_PRESETS.map((p) => {
|
|
144
|
+
const active = aspectId === p.id;
|
|
145
|
+
return ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: () => setAspectId(p.id), style: active
|
|
146
|
+
? { backgroundColor: "#fff", color: "#0a0a0a" }
|
|
147
|
+
: { color: "rgba(255,255,255,0.7)" }, className: "shrink-0 rounded-full px-3 py-1.5 text-xs transition-colors " +
|
|
148
|
+
(active ? "font-medium" : "hover:bg-white/10"), children: p.label }, p.id));
|
|
149
|
+
}) }), (0, jsx_runtime_1.jsx)("div", { className: "mx-2 hidden h-5 w-px md:block", style: { background: "rgba(255,255,255,0.15)" } }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleRotate, title: "Rotate (R)", "aria-label": "Rotate", style: { color: "rgba(255,255,255,0.85)" }, className: "inline-flex shrink-0 size-9 items-center justify-center rounded-full transition-colors hover:bg-white/10", children: (0, jsx_runtime_1.jsx)(RotateIcon, {}) }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: handleUseOriginal, disabled: busy, style: { color: "rgba(255,255,255,0.6)" }, className: "hidden shrink-0 rounded-md px-3 py-1.5 text-[11px] transition-colors hover:bg-white/10 disabled:opacity-50 sm:inline-flex", children: "Use original" })] }), (0, jsx_runtime_1.jsx)("style", { children: `
|
|
150
|
+
.sentroy-mobile-cropper {
|
|
220
151
|
height: 100%;
|
|
221
152
|
width: 100%;
|
|
222
153
|
background: #000;
|
|
223
154
|
}
|
|
224
|
-
.sentroy-cropper-background {
|
|
225
|
-
background-color: rgba(0, 0, 0, 0.7);
|
|
226
|
-
}
|
|
227
|
-
.sentroy-cropper .advanced-cropper-stencil-overlay {
|
|
228
|
-
background: rgba(0, 0, 0, 0.55);
|
|
229
|
-
}
|
|
230
|
-
.sentroy-cropper .advanced-cropper-rectangle-stencil__draggable-area {
|
|
231
|
-
border: 1px solid rgba(255, 255, 255, 0.95);
|
|
232
|
-
}
|
|
233
|
-
.sentroy-cropper .advanced-cropper-line-wrapper {
|
|
234
|
-
background: rgba(255, 255, 255, 0.95);
|
|
235
|
-
}
|
|
236
|
-
.sentroy-cropper .advanced-cropper-handler-wrapper--west-north,
|
|
237
|
-
.sentroy-cropper .advanced-cropper-handler-wrapper--north-east,
|
|
238
|
-
.sentroy-cropper .advanced-cropper-handler-wrapper--east-south,
|
|
239
|
-
.sentroy-cropper .advanced-cropper-handler-wrapper--south-west {
|
|
240
|
-
width: 22px;
|
|
241
|
-
height: 22px;
|
|
242
|
-
}
|
|
243
|
-
.sentroy-cropper .advanced-cropper-handler-wrapper__draggable {
|
|
244
|
-
background: #fff;
|
|
245
|
-
border: 2px solid #000;
|
|
246
|
-
width: 12px;
|
|
247
|
-
height: 12px;
|
|
248
|
-
border-radius: 2px;
|
|
249
|
-
}
|
|
250
155
|
` })] }, "backdrop")) }));
|
|
251
156
|
}
|
|
252
|
-
function
|
|
253
|
-
return ((0, jsx_runtime_1.jsxs)("
|
|
254
|
-
}
|
|
255
|
-
function ToolbarIconButton({ onClick, title, ariaLabel, children, }) {
|
|
256
|
-
return ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: onClick, title: title, "aria-label": ariaLabel, className: "inline-flex size-8 items-center justify-center rounded-md text-white/70 transition-colors hover:bg-white/10 hover:text-white", children: children }));
|
|
257
|
-
}
|
|
258
|
-
function cls(...arr) {
|
|
259
|
-
return arr.filter(Boolean).join(" ");
|
|
260
|
-
}
|
|
261
|
-
function RotateLeftIcon() {
|
|
262
|
-
return ((0, jsx_runtime_1.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "size-4", "aria-hidden": "true", children: [(0, jsx_runtime_1.jsx)("path", { d: "M3 12a9 9 0 1 0 3-6.7" }), (0, jsx_runtime_1.jsx)("path", { d: "M3 4v5h5" })] }));
|
|
263
|
-
}
|
|
264
|
-
function RotateRightIcon() {
|
|
265
|
-
return ((0, jsx_runtime_1.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "size-4", "aria-hidden": "true", children: [(0, jsx_runtime_1.jsx)("path", { d: "M21 12a9 9 0 1 1-3-6.7" }), (0, jsx_runtime_1.jsx)("path", { d: "M21 4v5h-5" })] }));
|
|
266
|
-
}
|
|
267
|
-
function FlipHorizontalIcon() {
|
|
268
|
-
return ((0, jsx_runtime_1.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "size-4", "aria-hidden": "true", children: [(0, jsx_runtime_1.jsx)("path", { d: "M12 3v18" }), (0, jsx_runtime_1.jsx)("path", { d: "M16 7l4 5-4 5" }), (0, jsx_runtime_1.jsx)("path", { d: "M8 7l-4 5 4 5" })] }));
|
|
269
|
-
}
|
|
270
|
-
function FlipVerticalIcon() {
|
|
271
|
-
return ((0, jsx_runtime_1.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "size-4", "aria-hidden": "true", children: [(0, jsx_runtime_1.jsx)("path", { d: "M3 12h18" }), (0, jsx_runtime_1.jsx)("path", { d: "M7 8l5-4 5 4" }), (0, jsx_runtime_1.jsx)("path", { d: "M7 16l5 4 5-4" })] }));
|
|
157
|
+
function RotateIcon() {
|
|
158
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "size-5", "aria-hidden": "true", children: [(0, jsx_runtime_1.jsx)("path", { d: "M21 12a9 9 0 1 1-3-6.7" }), (0, jsx_runtime_1.jsx)("path", { d: "M21 4v5h-5" })] }));
|
|
272
159
|
}
|
|
273
160
|
//# sourceMappingURL=CropDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CropDialog.js","sourceRoot":"","sources":["../../../src/react/crop/CropDialog.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CropDialog.js","sourceRoot":"","sources":["../../../src/react/crop/CropDialog.tsx"],"names":[],"mappings":"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"}
|