@abduljebar/text-editor 2.4.0 → 2.5.2
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 +565 -373
- package/dist/Reproduction.d.ts +2 -0
- package/dist/Reproduction.d.ts.map +1 -0
- package/dist/components/TextEditor.d.ts.map +1 -1
- package/dist/hooks/useTextEditor.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +1018 -1019
- package/dist/index.umd.cjs +9 -9
- package/package.json +84 -84
- package/dist/demo.jpg +0 -1
package/dist/index.js
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Save as ft, FileDown as
|
|
3
|
-
var
|
|
4
|
-
function
|
|
1
|
+
import It, { useState as Z, useRef as ne, useCallback as H, useEffect as me, forwardRef as Lt, useImperativeHandle as zt } from "react";
|
|
2
|
+
import { Save as ft, FileDown as Ot, Trash2 as Pt, Image as je, Undo as Mt, Redo as qt, Bold as Dt, Italic as Ft, Underline as Ut, Strikethrough as $t, Heading1 as Bt, Heading2 as Gt, Type as Wt, Code as Vt, Quote as Ht, List as Yt, ListOrdered as Jt, Indent as Kt, Outdent as Xt, AlignLeft as Qt, AlignCenter as Zt, AlignRight as er, Superscript as tr, Subscript as rr, Link as nr, Loader2 as or, CheckCircle as sr, AlertCircle as ar, Upload as ir } from "lucide-react";
|
|
3
|
+
var ye = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
4
|
+
function lr(e) {
|
|
5
5
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
6
6
|
}
|
|
7
|
-
var
|
|
7
|
+
var we = { exports: {} }, he = {};
|
|
8
8
|
var We;
|
|
9
|
-
function
|
|
10
|
-
if (We) return
|
|
9
|
+
function cr() {
|
|
10
|
+
if (We) return he;
|
|
11
11
|
We = 1;
|
|
12
12
|
var e = /* @__PURE__ */ Symbol.for("react.transitional.element"), t = /* @__PURE__ */ Symbol.for("react.fragment");
|
|
13
|
-
function r(n, s,
|
|
14
|
-
var
|
|
15
|
-
if (
|
|
16
|
-
|
|
13
|
+
function r(n, s, d) {
|
|
14
|
+
var l = null;
|
|
15
|
+
if (d !== void 0 && (l = "" + d), s.key !== void 0 && (l = "" + s.key), "key" in s) {
|
|
16
|
+
d = {};
|
|
17
17
|
for (var a in s)
|
|
18
|
-
a !== "key" && (
|
|
19
|
-
} else
|
|
20
|
-
return s =
|
|
18
|
+
a !== "key" && (d[a] = s[a]);
|
|
19
|
+
} else d = s;
|
|
20
|
+
return s = d.ref, {
|
|
21
21
|
$$typeof: e,
|
|
22
22
|
type: n,
|
|
23
|
-
key:
|
|
23
|
+
key: l,
|
|
24
24
|
ref: s !== void 0 ? s : null,
|
|
25
|
-
props:
|
|
25
|
+
props: d
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
return
|
|
28
|
+
return he.Fragment = t, he.jsx = r, he.jsxs = r, he;
|
|
29
29
|
}
|
|
30
|
-
var
|
|
30
|
+
var xe = {};
|
|
31
31
|
var Ve;
|
|
32
|
-
function
|
|
32
|
+
function dr() {
|
|
33
33
|
return Ve || (Ve = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
34
34
|
function e(o) {
|
|
35
35
|
if (o == null) return null;
|
|
36
36
|
if (typeof o == "function")
|
|
37
|
-
return o.$$typeof ===
|
|
37
|
+
return o.$$typeof === j ? null : o.displayName || o.name || null;
|
|
38
38
|
if (typeof o == "string") return o;
|
|
39
39
|
switch (o) {
|
|
40
|
-
case
|
|
40
|
+
case z:
|
|
41
41
|
return "Fragment";
|
|
42
|
-
case
|
|
42
|
+
case B:
|
|
43
43
|
return "Profiler";
|
|
44
|
-
case
|
|
44
|
+
case V:
|
|
45
45
|
return "StrictMode";
|
|
46
|
-
case
|
|
46
|
+
case W:
|
|
47
47
|
return "Suspense";
|
|
48
|
-
case
|
|
48
|
+
case K:
|
|
49
49
|
return "SuspenseList";
|
|
50
50
|
case y:
|
|
51
51
|
return "Activity";
|
|
@@ -54,21 +54,21 @@ function lr() {
|
|
|
54
54
|
switch (typeof o.tag == "number" && console.error(
|
|
55
55
|
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
56
56
|
), o.$$typeof) {
|
|
57
|
-
case
|
|
57
|
+
case U:
|
|
58
58
|
return "Portal";
|
|
59
|
-
case
|
|
59
|
+
case N:
|
|
60
60
|
return o.displayName || "Context";
|
|
61
|
-
case
|
|
61
|
+
case k:
|
|
62
62
|
return (o._context.displayName || "Context") + ".Consumer";
|
|
63
|
-
case
|
|
64
|
-
var
|
|
65
|
-
return o = o.displayName, o || (o =
|
|
66
|
-
case
|
|
67
|
-
return
|
|
68
|
-
case
|
|
69
|
-
|
|
63
|
+
case Y:
|
|
64
|
+
var T = o.render;
|
|
65
|
+
return o = o.displayName, o || (o = T.displayName || T.name || "", o = o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef"), o;
|
|
66
|
+
case p:
|
|
67
|
+
return T = o.displayName || null, T !== null ? T : e(o.type) || "Memo";
|
|
68
|
+
case c:
|
|
69
|
+
T = o._payload, o = o._init;
|
|
70
70
|
try {
|
|
71
|
-
return e(o(
|
|
71
|
+
return e(o(T));
|
|
72
72
|
} catch {
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -80,27 +80,27 @@ function lr() {
|
|
|
80
80
|
function r(o) {
|
|
81
81
|
try {
|
|
82
82
|
t(o);
|
|
83
|
-
var
|
|
83
|
+
var T = !1;
|
|
84
84
|
} catch {
|
|
85
|
-
|
|
85
|
+
T = !0;
|
|
86
86
|
}
|
|
87
|
-
if (
|
|
88
|
-
|
|
89
|
-
var w =
|
|
87
|
+
if (T) {
|
|
88
|
+
T = console;
|
|
89
|
+
var w = T.error, R = typeof Symbol == "function" && Symbol.toStringTag && o[Symbol.toStringTag] || o.constructor.name || "Object";
|
|
90
90
|
return w.call(
|
|
91
|
-
|
|
91
|
+
T,
|
|
92
92
|
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
93
|
-
|
|
93
|
+
R
|
|
94
94
|
), t(o);
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
function n(o) {
|
|
98
|
-
if (o ===
|
|
99
|
-
if (typeof o == "object" && o !== null && o.$$typeof ===
|
|
98
|
+
if (o === z) return "<>";
|
|
99
|
+
if (typeof o == "object" && o !== null && o.$$typeof === c)
|
|
100
100
|
return "<...>";
|
|
101
101
|
try {
|
|
102
|
-
var
|
|
103
|
-
return
|
|
102
|
+
var T = e(o);
|
|
103
|
+
return T ? "<" + T + ">" : "<...>";
|
|
104
104
|
} catch {
|
|
105
105
|
return "<...>";
|
|
106
106
|
}
|
|
@@ -109,21 +109,21 @@ function lr() {
|
|
|
109
109
|
var o = x.A;
|
|
110
110
|
return o === null ? null : o.getOwner();
|
|
111
111
|
}
|
|
112
|
-
function
|
|
112
|
+
function d() {
|
|
113
113
|
return Error("react-stack-top-frame");
|
|
114
114
|
}
|
|
115
|
-
function
|
|
115
|
+
function l(o) {
|
|
116
116
|
if (v.call(o, "key")) {
|
|
117
|
-
var
|
|
118
|
-
if (
|
|
117
|
+
var T = Object.getOwnPropertyDescriptor(o, "key").get;
|
|
118
|
+
if (T && T.isReactWarning) return !1;
|
|
119
119
|
}
|
|
120
120
|
return o.key !== void 0;
|
|
121
121
|
}
|
|
122
|
-
function a(o,
|
|
122
|
+
function a(o, T) {
|
|
123
123
|
function w() {
|
|
124
|
-
|
|
124
|
+
O || (O = !0, console.error(
|
|
125
125
|
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
126
|
-
|
|
126
|
+
T
|
|
127
127
|
));
|
|
128
128
|
}
|
|
129
129
|
w.isReactWarning = !0, Object.defineProperty(o, "key", {
|
|
@@ -131,23 +131,23 @@ function lr() {
|
|
|
131
131
|
configurable: !0
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
|
-
function
|
|
134
|
+
function u() {
|
|
135
135
|
var o = e(this.type);
|
|
136
|
-
return
|
|
136
|
+
return $[o] || ($[o] = !0, console.error(
|
|
137
137
|
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
138
138
|
)), o = this.props.ref, o !== void 0 ? o : null;
|
|
139
139
|
}
|
|
140
|
-
function
|
|
141
|
-
var
|
|
140
|
+
function m(o, T, w, R, X, ae) {
|
|
141
|
+
var C = w.ref;
|
|
142
142
|
return o = {
|
|
143
143
|
$$typeof: S,
|
|
144
144
|
type: o,
|
|
145
|
-
key:
|
|
145
|
+
key: T,
|
|
146
146
|
props: w,
|
|
147
|
-
_owner:
|
|
148
|
-
}, (
|
|
147
|
+
_owner: R
|
|
148
|
+
}, (C !== void 0 ? C : null) !== null ? Object.defineProperty(o, "ref", {
|
|
149
149
|
enumerable: !1,
|
|
150
|
-
get:
|
|
150
|
+
get: u
|
|
151
151
|
}) : Object.defineProperty(o, "ref", { enumerable: !1, value: null }), o._store = {}, Object.defineProperty(o._store, "validated", {
|
|
152
152
|
configurable: !1,
|
|
153
153
|
enumerable: !1,
|
|
@@ -162,187 +162,187 @@ function lr() {
|
|
|
162
162
|
configurable: !1,
|
|
163
163
|
enumerable: !1,
|
|
164
164
|
writable: !0,
|
|
165
|
-
value:
|
|
165
|
+
value: X
|
|
166
166
|
}), Object.defineProperty(o, "_debugTask", {
|
|
167
167
|
configurable: !1,
|
|
168
168
|
enumerable: !1,
|
|
169
169
|
writable: !0,
|
|
170
|
-
value:
|
|
170
|
+
value: ae
|
|
171
171
|
}), Object.freeze && (Object.freeze(o.props), Object.freeze(o)), o;
|
|
172
172
|
}
|
|
173
|
-
function A(o,
|
|
174
|
-
var
|
|
175
|
-
if (
|
|
176
|
-
if (
|
|
177
|
-
if (E(
|
|
178
|
-
for (
|
|
179
|
-
|
|
180
|
-
Object.freeze && Object.freeze(
|
|
173
|
+
function A(o, T, w, R, X, ae) {
|
|
174
|
+
var C = T.children;
|
|
175
|
+
if (C !== void 0)
|
|
176
|
+
if (R)
|
|
177
|
+
if (E(C)) {
|
|
178
|
+
for (R = 0; R < C.length; R++)
|
|
179
|
+
L(C[R]);
|
|
180
|
+
Object.freeze && Object.freeze(C);
|
|
181
181
|
} else
|
|
182
182
|
console.error(
|
|
183
183
|
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
184
184
|
);
|
|
185
|
-
else
|
|
186
|
-
if (v.call(
|
|
187
|
-
|
|
188
|
-
var Q = Object.keys(
|
|
189
|
-
return
|
|
185
|
+
else L(C);
|
|
186
|
+
if (v.call(T, "key")) {
|
|
187
|
+
C = e(o);
|
|
188
|
+
var Q = Object.keys(T).filter(function(re) {
|
|
189
|
+
return re !== "key";
|
|
190
190
|
});
|
|
191
|
-
|
|
191
|
+
R = 0 < Q.length ? "{key: someKey, " + Q.join(": ..., ") + ": ...}" : "{key: someKey}", te[C + R] || (Q = 0 < Q.length ? "{" + Q.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
192
192
|
`A props object containing a "key" prop is being spread into JSX:
|
|
193
193
|
let props = %s;
|
|
194
194
|
<%s {...props} />
|
|
195
195
|
React keys must be passed directly to JSX without using spread:
|
|
196
196
|
let props = %s;
|
|
197
197
|
<%s key={someKey} {...props} />`,
|
|
198
|
-
C,
|
|
199
198
|
R,
|
|
199
|
+
C,
|
|
200
200
|
Q,
|
|
201
|
-
|
|
202
|
-
),
|
|
201
|
+
C
|
|
202
|
+
), te[C + R] = !0);
|
|
203
203
|
}
|
|
204
|
-
if (
|
|
204
|
+
if (C = null, w !== void 0 && (r(w), C = "" + w), l(T) && (r(T.key), C = "" + T.key), "key" in T) {
|
|
205
205
|
w = {};
|
|
206
|
-
for (var
|
|
207
|
-
|
|
208
|
-
} else w =
|
|
209
|
-
return
|
|
206
|
+
for (var ee in T)
|
|
207
|
+
ee !== "key" && (w[ee] = T[ee]);
|
|
208
|
+
} else w = T;
|
|
209
|
+
return C && a(
|
|
210
210
|
w,
|
|
211
211
|
typeof o == "function" ? o.displayName || o.name || "Unknown" : o
|
|
212
|
-
),
|
|
212
|
+
), m(
|
|
213
213
|
o,
|
|
214
|
-
|
|
214
|
+
C,
|
|
215
215
|
w,
|
|
216
216
|
s(),
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
X,
|
|
218
|
+
ae
|
|
219
219
|
);
|
|
220
220
|
}
|
|
221
|
-
function
|
|
222
|
-
|
|
221
|
+
function L(o) {
|
|
222
|
+
M(o) ? o._store && (o._store.validated = 1) : typeof o == "object" && o !== null && o.$$typeof === c && (o._payload.status === "fulfilled" ? M(o._payload.value) && o._payload.value._store && (o._payload.value._store.validated = 1) : o._store && (o._store.validated = 1));
|
|
223
223
|
}
|
|
224
|
-
function
|
|
224
|
+
function M(o) {
|
|
225
225
|
return typeof o == "object" && o !== null && o.$$typeof === S;
|
|
226
226
|
}
|
|
227
|
-
var
|
|
227
|
+
var D = It, S = /* @__PURE__ */ Symbol.for("react.transitional.element"), U = /* @__PURE__ */ Symbol.for("react.portal"), z = /* @__PURE__ */ Symbol.for("react.fragment"), V = /* @__PURE__ */ Symbol.for("react.strict_mode"), B = /* @__PURE__ */ Symbol.for("react.profiler"), k = /* @__PURE__ */ Symbol.for("react.consumer"), N = /* @__PURE__ */ Symbol.for("react.context"), Y = /* @__PURE__ */ Symbol.for("react.forward_ref"), W = /* @__PURE__ */ Symbol.for("react.suspense"), K = /* @__PURE__ */ Symbol.for("react.suspense_list"), p = /* @__PURE__ */ Symbol.for("react.memo"), c = /* @__PURE__ */ Symbol.for("react.lazy"), y = /* @__PURE__ */ Symbol.for("react.activity"), j = /* @__PURE__ */ Symbol.for("react.client.reference"), x = D.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, v = Object.prototype.hasOwnProperty, E = Array.isArray, q = console.createTask ? console.createTask : function() {
|
|
228
228
|
return null;
|
|
229
229
|
};
|
|
230
|
-
|
|
230
|
+
D = {
|
|
231
231
|
react_stack_bottom_frame: function(o) {
|
|
232
232
|
return o();
|
|
233
233
|
}
|
|
234
234
|
};
|
|
235
|
-
var
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
)(),
|
|
239
|
-
|
|
240
|
-
var
|
|
235
|
+
var O, $ = {}, h = D.react_stack_bottom_frame.bind(
|
|
236
|
+
D,
|
|
237
|
+
d
|
|
238
|
+
)(), G = q(n(d)), te = {};
|
|
239
|
+
xe.Fragment = z, xe.jsx = function(o, T, w) {
|
|
240
|
+
var R = 1e4 > x.recentlyCreatedOwnerStacks++;
|
|
241
241
|
return A(
|
|
242
242
|
o,
|
|
243
|
-
|
|
243
|
+
T,
|
|
244
244
|
w,
|
|
245
245
|
!1,
|
|
246
|
-
|
|
247
|
-
|
|
246
|
+
R ? Error("react-stack-top-frame") : h,
|
|
247
|
+
R ? q(n(o)) : G
|
|
248
248
|
);
|
|
249
|
-
},
|
|
250
|
-
var
|
|
249
|
+
}, xe.jsxs = function(o, T, w) {
|
|
250
|
+
var R = 1e4 > x.recentlyCreatedOwnerStacks++;
|
|
251
251
|
return A(
|
|
252
252
|
o,
|
|
253
|
-
|
|
253
|
+
T,
|
|
254
254
|
w,
|
|
255
255
|
!0,
|
|
256
|
-
|
|
257
|
-
|
|
256
|
+
R ? Error("react-stack-top-frame") : h,
|
|
257
|
+
R ? q(n(o)) : G
|
|
258
258
|
);
|
|
259
259
|
};
|
|
260
|
-
})()),
|
|
260
|
+
})()), xe;
|
|
261
261
|
}
|
|
262
262
|
var He;
|
|
263
|
-
function
|
|
264
|
-
return He || (He = 1, process.env.NODE_ENV === "production" ?
|
|
263
|
+
function ur() {
|
|
264
|
+
return He || (He = 1, process.env.NODE_ENV === "production" ? we.exports = cr() : we.exports = dr()), we.exports;
|
|
265
265
|
}
|
|
266
|
-
var i =
|
|
267
|
-
const
|
|
266
|
+
var i = ur();
|
|
267
|
+
const mr = ({
|
|
268
268
|
onCommand: e,
|
|
269
269
|
onSave: t,
|
|
270
270
|
onExport: r,
|
|
271
271
|
onClear: n,
|
|
272
272
|
onImageUpload: s,
|
|
273
|
-
showButtons:
|
|
274
|
-
hasUnsavedChanges:
|
|
273
|
+
showButtons: d = !1,
|
|
274
|
+
hasUnsavedChanges: l,
|
|
275
275
|
pendingImagesCount: a = 0
|
|
276
276
|
}) => {
|
|
277
|
-
const [
|
|
277
|
+
const [u, m] = Z([]), [A, L] = Z("p"), [M, D] = Z(!1), [S, U] = Z(!1), [z, V] = Z(!1), [B, k] = Z(!1), [N, Y] = Z(!1), [W, K] = Z(!1), [p, c] = Z("left"), y = ne(null), j = H(() => {
|
|
278
278
|
if (typeof window > "u" || typeof document > "u") return;
|
|
279
|
-
const
|
|
280
|
-
if (!
|
|
279
|
+
const P = window.getSelection();
|
|
280
|
+
if (!P || P.rangeCount === 0 || P.isCollapsed)
|
|
281
281
|
return;
|
|
282
|
-
const
|
|
283
|
-
|
|
284
|
-
let
|
|
285
|
-
for (;
|
|
286
|
-
if (
|
|
287
|
-
const
|
|
288
|
-
if (["h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "blockquote", "pre"].includes(
|
|
289
|
-
["h1", "h2"].includes(
|
|
282
|
+
const ce = P.getRangeAt(0).commonAncestorContainer;
|
|
283
|
+
D(document.queryCommandState("bold")), U(document.queryCommandState("italic")), V(document.queryCommandState("underline")), k(document.queryCommandState("strikeThrough")), Y(document.queryCommandState("insertUnorderedList")), K(document.queryCommandState("insertOrderedList")), document.queryCommandState("justifyLeft") ? c("left") : document.queryCommandState("justifyCenter") ? c("center") : document.queryCommandState("justifyRight") && c("right");
|
|
284
|
+
let oe = ce, b = "p";
|
|
285
|
+
for (; oe && oe !== document.body; ) {
|
|
286
|
+
if (oe.nodeType === Node.ELEMENT_NODE) {
|
|
287
|
+
const se = oe.tagName.toLowerCase();
|
|
288
|
+
if (["h1", "h2", "h3", "h4", "h5", "h6", "p", "div", "blockquote", "pre"].includes(se)) {
|
|
289
|
+
["h1", "h2"].includes(se) && (b = se);
|
|
290
290
|
break;
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
|
-
|
|
293
|
+
oe = oe.parentNode;
|
|
294
294
|
}
|
|
295
|
-
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
}, [
|
|
299
|
-
|
|
300
|
-
const
|
|
301
|
-
requestAnimationFrame(
|
|
302
|
-
},
|
|
303
|
-
setTimeout(
|
|
304
|
-
},
|
|
305
|
-
setTimeout(
|
|
295
|
+
L(b);
|
|
296
|
+
const F = [];
|
|
297
|
+
M && F.push("bold"), S && F.push("italic"), z && F.push("underline"), B && F.push("strikeThrough"), N && F.push("insertUnorderedList"), W && F.push("insertOrderedList"), p === "left" && F.push("justifyLeft"), p === "center" && F.push("justifyCenter"), p === "right" && F.push("justifyRight"), (b === "h1" || b === "h2") && F.push(`formatBlock:${b}`), m(F);
|
|
298
|
+
}, [M, S, z, B, N, W, p]);
|
|
299
|
+
me(() => {
|
|
300
|
+
const P = () => {
|
|
301
|
+
requestAnimationFrame(j);
|
|
302
|
+
}, I = () => {
|
|
303
|
+
setTimeout(j, 10);
|
|
304
|
+
}, ce = () => {
|
|
305
|
+
setTimeout(j, 10);
|
|
306
306
|
};
|
|
307
|
-
return document.addEventListener("selectionchange",
|
|
308
|
-
document.removeEventListener("selectionchange",
|
|
307
|
+
return document.addEventListener("selectionchange", P), document.addEventListener("mouseup", I), document.addEventListener("keyup", ce), j(), () => {
|
|
308
|
+
document.removeEventListener("selectionchange", P), document.removeEventListener("mouseup", I), document.removeEventListener("keyup", ce);
|
|
309
309
|
};
|
|
310
|
-
}, [
|
|
310
|
+
}, [j]);
|
|
311
311
|
const x = () => {
|
|
312
|
-
const
|
|
313
|
-
|
|
312
|
+
const P = prompt("Enter URL:", "https://");
|
|
313
|
+
P && e("createLink", P);
|
|
314
314
|
}, v = () => {
|
|
315
315
|
s();
|
|
316
|
-
}, E = (
|
|
317
|
-
e("formatBlock",
|
|
318
|
-
},
|
|
316
|
+
}, E = (P) => {
|
|
317
|
+
e("formatBlock", P);
|
|
318
|
+
}, q = () => {
|
|
319
319
|
e("indent");
|
|
320
|
-
},
|
|
320
|
+
}, O = () => {
|
|
321
321
|
e("outdent");
|
|
322
|
-
},
|
|
322
|
+
}, $ = () => {
|
|
323
323
|
e("undo");
|
|
324
324
|
}, h = () => {
|
|
325
325
|
e("redo");
|
|
326
|
-
},
|
|
326
|
+
}, G = () => {
|
|
327
327
|
e("formatBlock", "pre");
|
|
328
|
-
},
|
|
328
|
+
}, te = () => {
|
|
329
329
|
e("formatBlock", "blockquote");
|
|
330
330
|
}, o = () => {
|
|
331
331
|
e("superscript");
|
|
332
|
-
},
|
|
332
|
+
}, T = () => {
|
|
333
333
|
e("subscript");
|
|
334
334
|
}, w = [
|
|
335
335
|
{
|
|
336
336
|
id: "undo",
|
|
337
337
|
command: "undo",
|
|
338
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
338
|
+
icon: /* @__PURE__ */ i.jsx(Mt, { size: 18 }),
|
|
339
339
|
title: "Undo",
|
|
340
|
-
onClick:
|
|
340
|
+
onClick: $
|
|
341
341
|
},
|
|
342
342
|
{
|
|
343
343
|
id: "redo",
|
|
344
344
|
command: "redo",
|
|
345
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
345
|
+
icon: /* @__PURE__ */ i.jsx(qt, { size: 18 }),
|
|
346
346
|
title: "Redo",
|
|
347
347
|
onClick: h
|
|
348
348
|
},
|
|
@@ -350,37 +350,37 @@ const dr = ({
|
|
|
350
350
|
{
|
|
351
351
|
id: "bold",
|
|
352
352
|
command: "bold",
|
|
353
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
353
|
+
icon: /* @__PURE__ */ i.jsx(Dt, { size: 18 }),
|
|
354
354
|
title: "Bold (Ctrl+B)",
|
|
355
|
-
isActive:
|
|
355
|
+
isActive: M
|
|
356
356
|
},
|
|
357
357
|
{
|
|
358
358
|
id: "italic",
|
|
359
359
|
command: "italic",
|
|
360
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
360
|
+
icon: /* @__PURE__ */ i.jsx(Ft, { size: 18 }),
|
|
361
361
|
title: "Italic (Ctrl+I)",
|
|
362
362
|
isActive: S
|
|
363
363
|
},
|
|
364
364
|
{
|
|
365
365
|
id: "underline",
|
|
366
366
|
command: "underline",
|
|
367
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
367
|
+
icon: /* @__PURE__ */ i.jsx(Ut, { size: 18 }),
|
|
368
368
|
title: "Underline (Ctrl+U)",
|
|
369
|
-
isActive:
|
|
369
|
+
isActive: z
|
|
370
370
|
},
|
|
371
371
|
{
|
|
372
372
|
id: "strikeThrough",
|
|
373
373
|
command: "strikeThrough",
|
|
374
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
374
|
+
icon: /* @__PURE__ */ i.jsx($t, { size: 18 }),
|
|
375
375
|
title: "Strikethrough",
|
|
376
|
-
isActive:
|
|
376
|
+
isActive: B
|
|
377
377
|
},
|
|
378
378
|
{ id: "separator-2", separator: !0 },
|
|
379
379
|
{
|
|
380
380
|
id: "heading-1",
|
|
381
381
|
command: "formatBlock",
|
|
382
382
|
value: "h1",
|
|
383
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
383
|
+
icon: /* @__PURE__ */ i.jsx(Bt, { size: 18 }),
|
|
384
384
|
title: "Heading 1",
|
|
385
385
|
isActive: A === "h1"
|
|
386
386
|
},
|
|
@@ -388,7 +388,7 @@ const dr = ({
|
|
|
388
388
|
id: "heading-2",
|
|
389
389
|
command: "formatBlock",
|
|
390
390
|
value: "h2",
|
|
391
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
391
|
+
icon: /* @__PURE__ */ i.jsx(Gt, { size: 18 }),
|
|
392
392
|
title: "Heading 2",
|
|
393
393
|
isActive: A === "h2"
|
|
394
394
|
},
|
|
@@ -396,7 +396,7 @@ const dr = ({
|
|
|
396
396
|
id: "paragraph",
|
|
397
397
|
command: "formatBlock",
|
|
398
398
|
value: "p",
|
|
399
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
399
|
+
icon: /* @__PURE__ */ i.jsx(Wt, { size: 18 }),
|
|
400
400
|
title: "Paragraph",
|
|
401
401
|
isActive: A === "p"
|
|
402
402
|
},
|
|
@@ -404,88 +404,88 @@ const dr = ({
|
|
|
404
404
|
id: "code",
|
|
405
405
|
command: "formatBlock",
|
|
406
406
|
value: "pre",
|
|
407
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
407
|
+
icon: /* @__PURE__ */ i.jsx(Vt, { size: 18 }),
|
|
408
408
|
title: "Code Block",
|
|
409
|
-
onClick:
|
|
409
|
+
onClick: G
|
|
410
410
|
},
|
|
411
411
|
{
|
|
412
412
|
id: "quote",
|
|
413
413
|
command: "formatBlock",
|
|
414
414
|
value: "blockquote",
|
|
415
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
415
|
+
icon: /* @__PURE__ */ i.jsx(Ht, { size: 18 }),
|
|
416
416
|
title: "Blockquote",
|
|
417
|
-
onClick:
|
|
417
|
+
onClick: te
|
|
418
418
|
},
|
|
419
419
|
{ id: "separator-3", separator: !0 },
|
|
420
420
|
{
|
|
421
421
|
id: "unordered-list",
|
|
422
422
|
command: "insertUnorderedList",
|
|
423
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
423
|
+
icon: /* @__PURE__ */ i.jsx(Yt, { size: 18 }),
|
|
424
424
|
title: "Bullet List",
|
|
425
|
-
isActive:
|
|
425
|
+
isActive: N
|
|
426
426
|
},
|
|
427
427
|
{
|
|
428
428
|
id: "ordered-list",
|
|
429
429
|
command: "insertOrderedList",
|
|
430
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
430
|
+
icon: /* @__PURE__ */ i.jsx(Jt, { size: 18 }),
|
|
431
431
|
title: "Numbered List",
|
|
432
|
-
isActive:
|
|
432
|
+
isActive: W
|
|
433
433
|
},
|
|
434
434
|
{
|
|
435
435
|
id: "indent",
|
|
436
436
|
command: "indent",
|
|
437
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
437
|
+
icon: /* @__PURE__ */ i.jsx(Kt, { size: 18 }),
|
|
438
438
|
title: "Indent",
|
|
439
|
-
onClick:
|
|
439
|
+
onClick: q
|
|
440
440
|
},
|
|
441
441
|
{
|
|
442
442
|
id: "outdent",
|
|
443
443
|
command: "outdent",
|
|
444
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
444
|
+
icon: /* @__PURE__ */ i.jsx(Xt, { size: 18 }),
|
|
445
445
|
title: "Outdent",
|
|
446
|
-
onClick:
|
|
446
|
+
onClick: O
|
|
447
447
|
},
|
|
448
448
|
{ id: "separator-4", separator: !0 },
|
|
449
449
|
{
|
|
450
450
|
id: "align-left",
|
|
451
451
|
command: "justifyLeft",
|
|
452
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
452
|
+
icon: /* @__PURE__ */ i.jsx(Qt, { size: 18 }),
|
|
453
453
|
title: "Align Left",
|
|
454
|
-
isActive:
|
|
454
|
+
isActive: p === "left"
|
|
455
455
|
},
|
|
456
456
|
{
|
|
457
457
|
id: "align-center",
|
|
458
458
|
command: "justifyCenter",
|
|
459
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
459
|
+
icon: /* @__PURE__ */ i.jsx(Zt, { size: 18 }),
|
|
460
460
|
title: "Center",
|
|
461
|
-
isActive:
|
|
461
|
+
isActive: p === "center"
|
|
462
462
|
},
|
|
463
463
|
{
|
|
464
464
|
id: "align-right",
|
|
465
465
|
command: "justifyRight",
|
|
466
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
466
|
+
icon: /* @__PURE__ */ i.jsx(er, { size: 18 }),
|
|
467
467
|
title: "Align Right",
|
|
468
|
-
isActive:
|
|
468
|
+
isActive: p === "right"
|
|
469
469
|
},
|
|
470
470
|
{ id: "separator-5", separator: !0 },
|
|
471
471
|
{
|
|
472
472
|
id: "superscript",
|
|
473
473
|
command: "superscript",
|
|
474
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
474
|
+
icon: /* @__PURE__ */ i.jsx(tr, { size: 18 }),
|
|
475
475
|
title: "Superscript",
|
|
476
476
|
onClick: o
|
|
477
477
|
},
|
|
478
478
|
{
|
|
479
479
|
id: "subscript",
|
|
480
480
|
command: "subscript",
|
|
481
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
481
|
+
icon: /* @__PURE__ */ i.jsx(rr, { size: 18 }),
|
|
482
482
|
title: "Subscript",
|
|
483
|
-
onClick:
|
|
483
|
+
onClick: T
|
|
484
484
|
},
|
|
485
485
|
{
|
|
486
486
|
id: "link",
|
|
487
487
|
command: "createLink",
|
|
488
|
-
icon: /* @__PURE__ */ i.jsx(
|
|
488
|
+
icon: /* @__PURE__ */ i.jsx(nr, { size: 18 }),
|
|
489
489
|
title: "Insert Link",
|
|
490
490
|
onClick: x
|
|
491
491
|
},
|
|
@@ -493,34 +493,34 @@ const dr = ({
|
|
|
493
493
|
id: "image",
|
|
494
494
|
command: "insertImage",
|
|
495
495
|
icon: a > 0 ? /* @__PURE__ */ i.jsxs("div", { className: "relative", children: [
|
|
496
|
-
/* @__PURE__ */ i.jsx(
|
|
496
|
+
/* @__PURE__ */ i.jsx(je, { size: 18 }),
|
|
497
497
|
/* @__PURE__ */ i.jsx("span", { className: "absolute -top-2 -right-2 bg-blue-600 text-white text-xs rounded-full w-4 h-4 flex items-center justify-center", children: a })
|
|
498
|
-
] }) : /* @__PURE__ */ i.jsx(
|
|
498
|
+
] }) : /* @__PURE__ */ i.jsx(je, { size: 18 }),
|
|
499
499
|
title: "Insert Image",
|
|
500
500
|
onClick: v
|
|
501
501
|
}
|
|
502
|
-
],
|
|
503
|
-
if (
|
|
504
|
-
return /* @__PURE__ */ i.jsx("div", { className: "w-px h-6 bg-gray-300 mx-2" },
|
|
505
|
-
const
|
|
502
|
+
], R = (P) => /* @__PURE__ */ i.jsx("div", { className: "flex items-center border-r border-gray-200 pr-2 mr-2 last:border-r-0 last:pr-0 last:mr-0", children: P.map((I) => {
|
|
503
|
+
if (I.separator)
|
|
504
|
+
return /* @__PURE__ */ i.jsx("div", { className: "w-px h-6 bg-gray-300 mx-2" }, I.id);
|
|
505
|
+
const ce = I.isActive !== void 0 ? I.isActive : I.command ? u.includes(I.command) || I.command === "formatBlock" && I.value === A : !1;
|
|
506
506
|
return /* @__PURE__ */ i.jsx(
|
|
507
507
|
"button",
|
|
508
508
|
{
|
|
509
|
-
onClick: (
|
|
510
|
-
|
|
511
|
-
const
|
|
512
|
-
|
|
509
|
+
onClick: (oe) => {
|
|
510
|
+
oe.preventDefault(), oe.stopPropagation(), I.onClick ? I.onClick() : I.command === "formatBlock" && I.value ? E(I.value) : I.command && e(I.command, I.value), setTimeout(() => {
|
|
511
|
+
const b = document.querySelector('[contenteditable="true"]');
|
|
512
|
+
b && b.focus();
|
|
513
513
|
}, 10);
|
|
514
514
|
},
|
|
515
|
-
title:
|
|
515
|
+
title: I.title,
|
|
516
516
|
type: "button",
|
|
517
|
-
className: `min-w-[36px] h-9 flex items-center justify-center rounded-md border transition-all duration-150 ${
|
|
518
|
-
disabled:
|
|
519
|
-
children:
|
|
517
|
+
className: `min-w-[36px] h-9 flex items-center justify-center rounded-md border transition-all duration-150 ${ce ? "bg-blue-100 text-blue-600 border-blue-300 hover:bg-blue-200 shadow-sm" : "bg-white border-gray-300 text-gray-700 hover:bg-gray-100 hover:border-gray-400"} active:scale-95 mx-0.5`,
|
|
518
|
+
disabled: I.disabled,
|
|
519
|
+
children: I.icon
|
|
520
520
|
},
|
|
521
|
-
|
|
521
|
+
I.id
|
|
522
522
|
);
|
|
523
|
-
}) }),
|
|
523
|
+
}) }), X = w.slice(0, 3), ae = w.slice(3, 10), C = w.slice(10, 16), Q = w.slice(16, 20), ee = w.slice(20, 24), re = w.slice(24, 28), ie = w.slice(28);
|
|
524
524
|
return /* @__PURE__ */ i.jsxs(
|
|
525
525
|
"div",
|
|
526
526
|
{
|
|
@@ -528,25 +528,25 @@ const dr = ({
|
|
|
528
528
|
className: "flex flex-col sm:flex-row flex-wrap items-start sm:items-center justify-between p-3 bg-gray-50 border-b border-gray-200 gap-2",
|
|
529
529
|
children: [
|
|
530
530
|
/* @__PURE__ */ i.jsxs("div", { className: "flex flex-wrap items-center gap-1 order-1 w-full sm:w-auto", children: [
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
C
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
531
|
+
R(X),
|
|
532
|
+
R(ae),
|
|
533
|
+
R(C),
|
|
534
|
+
R(Q),
|
|
535
|
+
R(ee),
|
|
536
|
+
R(re),
|
|
537
|
+
R(ie)
|
|
538
538
|
] }),
|
|
539
|
-
|
|
539
|
+
d && /* @__PURE__ */ i.jsxs("div", { className: "flex items-center gap-2 order-2 sm:order-3 mt-2 sm:mt-0 flex-shrink-0", children: [
|
|
540
540
|
/* @__PURE__ */ i.jsxs(
|
|
541
541
|
"button",
|
|
542
542
|
{
|
|
543
|
-
onClick: (
|
|
544
|
-
|
|
545
|
-
const
|
|
546
|
-
|
|
543
|
+
onClick: (P) => {
|
|
544
|
+
P.preventDefault(), P.stopPropagation(), t(), setTimeout(() => {
|
|
545
|
+
const I = document.querySelector('[contenteditable="true"]');
|
|
546
|
+
I && I.focus();
|
|
547
547
|
}, 10);
|
|
548
548
|
},
|
|
549
|
-
disabled: !
|
|
549
|
+
disabled: !l,
|
|
550
550
|
title: "Save Document (Ctrl+S)",
|
|
551
551
|
className: "flex items-center gap-2 px-4 py-2 bg-blue-600 text-white text-sm font-medium rounded-md hover:bg-blue-700 disabled:bg-blue-300 disabled:cursor-not-allowed transition-colors duration-200 active:scale-95",
|
|
552
552
|
children: [
|
|
@@ -558,16 +558,16 @@ const dr = ({
|
|
|
558
558
|
/* @__PURE__ */ i.jsxs(
|
|
559
559
|
"button",
|
|
560
560
|
{
|
|
561
|
-
onClick: (
|
|
562
|
-
|
|
563
|
-
const
|
|
564
|
-
|
|
561
|
+
onClick: (P) => {
|
|
562
|
+
P.preventDefault(), P.stopPropagation(), r(), setTimeout(() => {
|
|
563
|
+
const I = document.querySelector('[contenteditable="true"]');
|
|
564
|
+
I && I.focus();
|
|
565
565
|
}, 10);
|
|
566
566
|
},
|
|
567
567
|
title: "Export as HTML",
|
|
568
568
|
className: "flex items-center gap-2 px-4 py-2 bg-green-600 text-white text-sm font-medium rounded-md hover:bg-green-700 transition-colors duration-200 active:scale-95",
|
|
569
569
|
children: [
|
|
570
|
-
/* @__PURE__ */ i.jsx(
|
|
570
|
+
/* @__PURE__ */ i.jsx(Ot, { size: 16 }),
|
|
571
571
|
/* @__PURE__ */ i.jsx("span", { className: "hidden sm:inline", children: "Export" })
|
|
572
572
|
]
|
|
573
573
|
}
|
|
@@ -575,16 +575,16 @@ const dr = ({
|
|
|
575
575
|
/* @__PURE__ */ i.jsxs(
|
|
576
576
|
"button",
|
|
577
577
|
{
|
|
578
|
-
onClick: (
|
|
579
|
-
|
|
580
|
-
const
|
|
581
|
-
|
|
578
|
+
onClick: (P) => {
|
|
579
|
+
P.preventDefault(), P.stopPropagation(), n(), setTimeout(() => {
|
|
580
|
+
const I = document.querySelector('[contenteditable="true"]');
|
|
581
|
+
I && I.focus();
|
|
582
582
|
}, 10);
|
|
583
583
|
},
|
|
584
584
|
title: "Clear Editor",
|
|
585
585
|
className: "flex items-center gap-2 px-4 py-2 bg-red-600 text-white text-sm font-medium rounded-md hover:bg-red-700 transition-colors duration-200 active:scale-95",
|
|
586
586
|
children: [
|
|
587
|
-
/* @__PURE__ */ i.jsx(
|
|
587
|
+
/* @__PURE__ */ i.jsx(Pt, { size: 16 }),
|
|
588
588
|
/* @__PURE__ */ i.jsx("span", { className: "hidden sm:inline", children: "Clear" })
|
|
589
589
|
]
|
|
590
590
|
}
|
|
@@ -592,13 +592,13 @@ const dr = ({
|
|
|
592
592
|
] }),
|
|
593
593
|
/* @__PURE__ */ i.jsxs("div", { className: "flex items-center gap-3 text-sm text-gray-500 order-3 sm:order-2 mt-2 sm:mt-0 flex-shrink-0", children: [
|
|
594
594
|
a > 0 && /* @__PURE__ */ i.jsxs("span", { className: "flex items-center gap-1", children: [
|
|
595
|
-
/* @__PURE__ */ i.jsx(
|
|
595
|
+
/* @__PURE__ */ i.jsx(je, { size: 14 }),
|
|
596
596
|
/* @__PURE__ */ i.jsxs("span", { children: [
|
|
597
597
|
a,
|
|
598
598
|
" pending"
|
|
599
599
|
] })
|
|
600
600
|
] }),
|
|
601
|
-
|
|
601
|
+
l && /* @__PURE__ */ i.jsxs("span", { className: "flex items-center gap-1 text-amber-600", children: [
|
|
602
602
|
/* @__PURE__ */ i.jsx("span", { className: "w-2 h-2 bg-amber-500 rounded-full animate-pulse" }),
|
|
603
603
|
/* @__PURE__ */ i.jsx("span", { children: "Unsaved changes" })
|
|
604
604
|
] })
|
|
@@ -606,7 +606,7 @@ const dr = ({
|
|
|
606
606
|
]
|
|
607
607
|
}
|
|
608
608
|
);
|
|
609
|
-
},
|
|
609
|
+
}, fr = ({
|
|
610
610
|
wordCount: e,
|
|
611
611
|
characterCount: t,
|
|
612
612
|
hasUnsavedChanges: r,
|
|
@@ -622,7 +622,7 @@ const dr = ({
|
|
|
622
622
|
/* @__PURE__ */ i.jsx("strong", { className: "text-gray-800", children: t })
|
|
623
623
|
] }),
|
|
624
624
|
n > 0 && /* @__PURE__ */ i.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
625
|
-
/* @__PURE__ */ i.jsx(
|
|
625
|
+
/* @__PURE__ */ i.jsx(je, { size: 14, className: "text-blue-600" }),
|
|
626
626
|
/* @__PURE__ */ i.jsxs("span", { className: "text-blue-600", children: [
|
|
627
627
|
n,
|
|
628
628
|
" image",
|
|
@@ -634,75 +634,75 @@ const dr = ({
|
|
|
634
634
|
r && /* @__PURE__ */ i.jsx(ft, { size: 14, className: "animate-pulse" }),
|
|
635
635
|
/* @__PURE__ */ i.jsx("strong", { children: r ? "Unsaved Changes" : "Saved" })
|
|
636
636
|
] }) })
|
|
637
|
-
] }),
|
|
637
|
+
] }), gr = ({
|
|
638
638
|
initialContent: e = "",
|
|
639
639
|
onImageUpload: t,
|
|
640
640
|
imageUploadEndpoint: r,
|
|
641
641
|
allowedImageTypes: n = ["image/jpeg", "image/png", "image/gif", "image/webp"],
|
|
642
642
|
maxImageSize: s = 5 * 1024 * 1024
|
|
643
643
|
}) => {
|
|
644
|
-
const [
|
|
644
|
+
const [d, l] = Z({
|
|
645
645
|
content: e,
|
|
646
646
|
title: "Untitled Document",
|
|
647
647
|
wordCount: e.trim() ? e.trim().split(/\s+/).length : 0,
|
|
648
648
|
characterCount: e.length,
|
|
649
649
|
hasUnsavedChanges: !1,
|
|
650
650
|
pendingImages: []
|
|
651
|
-
}), a =
|
|
651
|
+
}), a = ne(null), u = ne(/* @__PURE__ */ new Map()), m = ne(e), A = ne(!0), L = H(() => {
|
|
652
652
|
if (!a.current) return;
|
|
653
653
|
a.current.focus();
|
|
654
|
-
const
|
|
655
|
-
if (
|
|
656
|
-
const x =
|
|
654
|
+
const c = window.getSelection();
|
|
655
|
+
if (c && c.rangeCount > 0) {
|
|
656
|
+
const x = c.getRangeAt(0);
|
|
657
657
|
if (a.current.contains(x.commonAncestorContainer))
|
|
658
658
|
return;
|
|
659
659
|
}
|
|
660
660
|
const y = document.createRange();
|
|
661
661
|
y.selectNodeContents(a.current), y.collapse(!1);
|
|
662
|
-
const
|
|
663
|
-
|
|
664
|
-
}, []),
|
|
665
|
-
const
|
|
666
|
-
if (!
|
|
667
|
-
const y =
|
|
662
|
+
const j = window.getSelection();
|
|
663
|
+
j?.removeAllRanges(), j?.addRange(y);
|
|
664
|
+
}, []), M = H(() => {
|
|
665
|
+
const c = window.getSelection();
|
|
666
|
+
if (!c || c.rangeCount === 0 || !a.current) return null;
|
|
667
|
+
const y = c.getRangeAt(0);
|
|
668
668
|
return a.current.contains(y.commonAncestorContainer) ? y.cloneRange() : null;
|
|
669
|
-
}, []),
|
|
670
|
-
if (!
|
|
669
|
+
}, []), D = H((c) => {
|
|
670
|
+
if (!c || !a.current) return;
|
|
671
671
|
a.current.focus();
|
|
672
672
|
const y = window.getSelection();
|
|
673
|
-
y?.removeAllRanges(), y?.addRange(
|
|
673
|
+
y?.removeAllRanges(), y?.addRange(c);
|
|
674
674
|
}, []);
|
|
675
|
-
|
|
675
|
+
me(() => {
|
|
676
676
|
a.current && A.current && (a.current.innerHTML = e || "", A.current = !1);
|
|
677
|
-
}, [e]),
|
|
678
|
-
e !==
|
|
679
|
-
...
|
|
677
|
+
}, [e]), me(() => {
|
|
678
|
+
e !== m.current && a.current && (a.current.innerHTML !== e && (a.current.innerHTML = e), m.current = e, l((c) => ({
|
|
679
|
+
...c,
|
|
680
680
|
content: e,
|
|
681
681
|
wordCount: e.trim() ? e.trim().split(/\s+/).length : 0,
|
|
682
682
|
characterCount: e.length,
|
|
683
683
|
hasUnsavedChanges: !1
|
|
684
684
|
})));
|
|
685
685
|
}, [e]);
|
|
686
|
-
const S =
|
|
687
|
-
const y =
|
|
688
|
-
|
|
686
|
+
const S = H((c) => {
|
|
687
|
+
const y = c.trim() ? c.trim().split(/\s+/).length : 0, j = c.length;
|
|
688
|
+
l((x) => ({
|
|
689
689
|
...x,
|
|
690
|
-
content:
|
|
690
|
+
content: c,
|
|
691
691
|
wordCount: y,
|
|
692
|
-
characterCount:
|
|
692
|
+
characterCount: j,
|
|
693
693
|
hasUnsavedChanges: !0
|
|
694
|
-
})),
|
|
695
|
-
}, []),
|
|
696
|
-
|
|
694
|
+
})), m.current = c;
|
|
695
|
+
}, []), U = H((c) => {
|
|
696
|
+
l((y) => ({
|
|
697
697
|
...y,
|
|
698
|
-
title:
|
|
698
|
+
title: c,
|
|
699
699
|
hasUnsavedChanges: !0
|
|
700
700
|
}));
|
|
701
|
-
}, []),
|
|
701
|
+
}, []), z = H((c, y) => {
|
|
702
702
|
if (!a.current) return;
|
|
703
|
-
const
|
|
704
|
-
if (a.current.focus(),
|
|
705
|
-
|
|
703
|
+
const j = M();
|
|
704
|
+
if (a.current.focus(), j)
|
|
705
|
+
D(j);
|
|
706
706
|
else {
|
|
707
707
|
const x = window.getSelection();
|
|
708
708
|
if (!x || x.rangeCount === 0) {
|
|
@@ -712,82 +712,82 @@ const dr = ({
|
|
|
712
712
|
}
|
|
713
713
|
try {
|
|
714
714
|
let x = !1;
|
|
715
|
-
if (
|
|
715
|
+
if (c === "formatBlock" && y)
|
|
716
716
|
x = document.execCommand("formatBlock", !1, `<${y}>`);
|
|
717
|
-
else if (
|
|
717
|
+
else if (c === "createLink" && y) {
|
|
718
718
|
const v = window.getSelection();
|
|
719
719
|
v && !v.isCollapsed ? x = document.execCommand("createLink", !1, y) : (document.execCommand("insertHTML", !1, `<a href="${y}" target="_blank">${y}</a>`), x = !0);
|
|
720
720
|
} else
|
|
721
|
-
x = document.execCommand(
|
|
722
|
-
x || console.warn(`Command ${
|
|
721
|
+
x = document.execCommand(c, !1, y);
|
|
722
|
+
x || console.warn(`Command ${c} failed to execute`), setTimeout(() => {
|
|
723
723
|
a.current && S(a.current.innerHTML);
|
|
724
724
|
}, 0);
|
|
725
725
|
} catch (x) {
|
|
726
|
-
console.error(`Command ${
|
|
726
|
+
console.error(`Command ${c} failed:`, x);
|
|
727
727
|
}
|
|
728
728
|
a.current.focus();
|
|
729
|
-
}, [S,
|
|
729
|
+
}, [S, M, D]), V = H((c) => n.includes(c.type) ? c.size > s ? {
|
|
730
730
|
valid: !1,
|
|
731
731
|
error: `File too large. Maximum size: ${Math.round(s / (1024 * 1024))}MB`
|
|
732
732
|
} : { valid: !0 } : {
|
|
733
733
|
valid: !1,
|
|
734
734
|
error: `Invalid file type. Allowed types: ${n.join(", ")}`
|
|
735
|
-
}, [n, s]),
|
|
736
|
-
const
|
|
737
|
-
if (!
|
|
738
|
-
alert(
|
|
735
|
+
}, [n, s]), B = H(async (c, y = !0) => {
|
|
736
|
+
const j = V(c);
|
|
737
|
+
if (!j.valid) {
|
|
738
|
+
alert(j.error);
|
|
739
739
|
return;
|
|
740
740
|
}
|
|
741
741
|
if (!a.current) return;
|
|
742
742
|
const x = `image-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, v = new FileReader();
|
|
743
743
|
v.onload = (E) => {
|
|
744
|
-
const
|
|
745
|
-
|
|
746
|
-
originalUrl:
|
|
747
|
-
fileName:
|
|
748
|
-
size:
|
|
749
|
-
type:
|
|
744
|
+
const q = E.target?.result;
|
|
745
|
+
u.current.set(x, {
|
|
746
|
+
originalUrl: q,
|
|
747
|
+
fileName: c.name,
|
|
748
|
+
size: c.size,
|
|
749
|
+
type: c.type
|
|
750
750
|
});
|
|
751
|
-
const
|
|
752
|
-
|
|
753
|
-
const
|
|
754
|
-
if (y &&
|
|
755
|
-
|
|
751
|
+
const O = document.createElement("img");
|
|
752
|
+
O.src = q, O.alt = c.name, O.className = "max-w-full h-auto border rounded", O.setAttribute("data-image-id", x), O.setAttribute("data-file-name", c.name), O.style.maxWidth = "100%", O.style.height = "auto";
|
|
753
|
+
const $ = M();
|
|
754
|
+
if (y && $) {
|
|
755
|
+
$.deleteContents(), $.insertNode(O);
|
|
756
756
|
const h = document.createRange();
|
|
757
|
-
h.setStartAfter(
|
|
758
|
-
const
|
|
759
|
-
|
|
757
|
+
h.setStartAfter(O), h.collapse(!0);
|
|
758
|
+
const G = window.getSelection();
|
|
759
|
+
G?.removeAllRanges(), G?.addRange(h);
|
|
760
760
|
} else
|
|
761
|
-
a.current?.appendChild(
|
|
762
|
-
a.current && S(a?.current?.innerHTML), (t || r) &&
|
|
761
|
+
a.current?.appendChild(O);
|
|
762
|
+
a.current && S(a?.current?.innerHTML), (t || r) && l((h) => ({
|
|
763
763
|
...h,
|
|
764
764
|
pendingImages: [
|
|
765
765
|
...h.pendingImages,
|
|
766
766
|
{
|
|
767
767
|
id: x,
|
|
768
|
-
file:
|
|
769
|
-
placeholderUrl:
|
|
768
|
+
file: c,
|
|
769
|
+
placeholderUrl: q,
|
|
770
770
|
status: "pending"
|
|
771
771
|
}
|
|
772
772
|
]
|
|
773
773
|
})), a.current?.focus();
|
|
774
|
-
}, v.readAsDataURL(
|
|
775
|
-
}, [
|
|
774
|
+
}, v.readAsDataURL(c);
|
|
775
|
+
}, [V, S, t, r, M]), k = H(async () => {
|
|
776
776
|
if (!t && !r)
|
|
777
777
|
return;
|
|
778
|
-
const
|
|
779
|
-
if (
|
|
780
|
-
for (const y of
|
|
778
|
+
const c = d.pendingImages.filter((y) => y.status === "pending");
|
|
779
|
+
if (c.length !== 0) {
|
|
780
|
+
for (const y of c)
|
|
781
781
|
try {
|
|
782
|
-
|
|
782
|
+
l((v) => ({
|
|
783
783
|
...v,
|
|
784
784
|
pendingImages: v.pendingImages.map(
|
|
785
785
|
(E) => E.id === y.id ? { ...E, status: "uploading" } : E
|
|
786
786
|
)
|
|
787
787
|
}));
|
|
788
|
-
let
|
|
788
|
+
let j;
|
|
789
789
|
if (t)
|
|
790
|
-
|
|
790
|
+
j = await t(y.file);
|
|
791
791
|
else if (r) {
|
|
792
792
|
const v = new FormData();
|
|
793
793
|
v.append("image", y.file);
|
|
@@ -797,29 +797,29 @@ const dr = ({
|
|
|
797
797
|
});
|
|
798
798
|
if (!E.ok)
|
|
799
799
|
throw new Error(`Upload failed: ${E.statusText}`);
|
|
800
|
-
const
|
|
801
|
-
|
|
800
|
+
const q = await E.json();
|
|
801
|
+
j = q.url || q.imageUrl || q.data;
|
|
802
802
|
} else
|
|
803
803
|
throw new Error("No upload method provided");
|
|
804
804
|
const x = a.current?.querySelector(`img[data-image-id="${y.id}"]`);
|
|
805
805
|
if (x) {
|
|
806
|
-
x.src =
|
|
807
|
-
const v =
|
|
808
|
-
v &&
|
|
806
|
+
x.src = j, x.classList.add("uploaded");
|
|
807
|
+
const v = u.current.get(y.id);
|
|
808
|
+
v && u.current.set(y.id, {
|
|
809
809
|
...v,
|
|
810
|
-
uploadedUrl:
|
|
810
|
+
uploadedUrl: j
|
|
811
811
|
});
|
|
812
812
|
}
|
|
813
|
-
|
|
813
|
+
l((v) => ({
|
|
814
814
|
...v,
|
|
815
815
|
pendingImages: v.pendingImages.map(
|
|
816
816
|
(E) => E.id === y.id ? { ...E, status: "uploaded" } : E
|
|
817
817
|
)
|
|
818
818
|
}));
|
|
819
|
-
} catch (
|
|
820
|
-
console.error("Image upload failed:",
|
|
819
|
+
} catch (j) {
|
|
820
|
+
console.error("Image upload failed:", j);
|
|
821
821
|
const x = a.current?.querySelector(`img[data-image-id="${y.id}"]`);
|
|
822
|
-
x && x.classList.add("failed"),
|
|
822
|
+
x && x.classList.add("failed"), l((v) => ({
|
|
823
823
|
...v,
|
|
824
824
|
pendingImages: v.pendingImages.map(
|
|
825
825
|
(E) => E.id === y.id ? { ...E, status: "failed" } : E
|
|
@@ -828,26 +828,26 @@ const dr = ({
|
|
|
828
828
|
}
|
|
829
829
|
a.current && S(a.current.innerHTML);
|
|
830
830
|
}
|
|
831
|
-
}, [
|
|
832
|
-
const y =
|
|
833
|
-
let
|
|
831
|
+
}, [d.pendingImages, t, r, S]), N = H((c) => {
|
|
832
|
+
const y = c.clipboardData.items;
|
|
833
|
+
let j = !1;
|
|
834
834
|
for (const x of y)
|
|
835
835
|
if (x.type.indexOf("image") !== -1) {
|
|
836
|
-
|
|
836
|
+
c.preventDefault();
|
|
837
837
|
const v = x.getAsFile();
|
|
838
|
-
v && (
|
|
838
|
+
v && (j = !0, B(v));
|
|
839
839
|
break;
|
|
840
840
|
}
|
|
841
|
-
|
|
841
|
+
j || setTimeout(() => {
|
|
842
842
|
a.current && S(a.current.innerHTML);
|
|
843
843
|
}, 0);
|
|
844
|
-
}, [
|
|
845
|
-
|
|
846
|
-
const y = Array.from(
|
|
847
|
-
let
|
|
844
|
+
}, [B, S]), Y = H((c) => {
|
|
845
|
+
c.preventDefault();
|
|
846
|
+
const y = Array.from(c.dataTransfer.files);
|
|
847
|
+
let j = !1;
|
|
848
848
|
for (const x of y)
|
|
849
|
-
x.type.startsWith("image/") && (
|
|
850
|
-
if (!
|
|
849
|
+
x.type.startsWith("image/") && (j = !0, B(x, !1));
|
|
850
|
+
if (!j && a.current) {
|
|
851
851
|
const x = window.getSelection();
|
|
852
852
|
if (x && x.rangeCount > 0) {
|
|
853
853
|
const v = x.getRangeAt(0);
|
|
@@ -856,35 +856,35 @@ const dr = ({
|
|
|
856
856
|
}, 0);
|
|
857
857
|
}
|
|
858
858
|
}
|
|
859
|
-
}, [
|
|
859
|
+
}, [B, S]), W = H(() => {
|
|
860
860
|
try {
|
|
861
|
-
const
|
|
861
|
+
const c = a.current?.innerHTML || d.content;
|
|
862
862
|
return { success: !0, data: {
|
|
863
|
-
title:
|
|
864
|
-
content:
|
|
863
|
+
title: d.title,
|
|
864
|
+
content: c,
|
|
865
865
|
metadata: {
|
|
866
866
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
867
867
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
868
|
-
wordCount:
|
|
869
|
-
characterCount:
|
|
868
|
+
wordCount: d.wordCount,
|
|
869
|
+
characterCount: d.characterCount
|
|
870
870
|
}
|
|
871
871
|
} };
|
|
872
|
-
} catch (
|
|
873
|
-
return { success: !1, error:
|
|
872
|
+
} catch (c) {
|
|
873
|
+
return { success: !1, error: c instanceof Error ? c.message : "Validation failed" };
|
|
874
874
|
}
|
|
875
|
-
}, [
|
|
876
|
-
(
|
|
877
|
-
const y =
|
|
875
|
+
}, [d]), K = H(
|
|
876
|
+
(c = { includeStyles: !0, includeMeta: !0 }) => {
|
|
877
|
+
const y = W();
|
|
878
878
|
if (!y.success)
|
|
879
879
|
throw new Error(y.error);
|
|
880
|
-
const { data:
|
|
880
|
+
const { data: j } = y;
|
|
881
881
|
let x = `<!DOCTYPE html>
|
|
882
882
|
<html>
|
|
883
883
|
<head>
|
|
884
884
|
<meta charset="UTF-8">
|
|
885
885
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
886
|
-
<title>${
|
|
887
|
-
return
|
|
886
|
+
<title>${j?.title || "Document"}</title>`;
|
|
887
|
+
return c.includeStyles && (x += `
|
|
888
888
|
<style>
|
|
889
889
|
body {
|
|
890
890
|
font-family: system-ui, -apple-system, sans-serif;
|
|
@@ -921,153 +921,153 @@ const dr = ({
|
|
|
921
921
|
.image-failed { border: 2px solid #ef4444; }
|
|
922
922
|
</style>`), x += `
|
|
923
923
|
</head>
|
|
924
|
-
<body>`,
|
|
924
|
+
<body>`, c.includeMeta && j && (x += `
|
|
925
925
|
<div class="document-meta">
|
|
926
|
-
<h1>${
|
|
927
|
-
<p><small>Created: ${new Date(
|
|
928
|
-
Words: ${
|
|
929
|
-
Characters: ${
|
|
926
|
+
<h1>${j.title}</h1>
|
|
927
|
+
<p><small>Created: ${new Date(j.metadata.createdAt).toLocaleString()} |
|
|
928
|
+
Words: ${j.metadata.wordCount} |
|
|
929
|
+
Characters: ${j.metadata.characterCount}</small></p>
|
|
930
930
|
<hr>
|
|
931
931
|
</div>`), x += `
|
|
932
|
-
<div class="${
|
|
933
|
-
${
|
|
932
|
+
<div class="${c.includeStyles ? "readonly-content" : ""}">
|
|
933
|
+
${j?.content || ""}
|
|
934
934
|
</div>
|
|
935
935
|
</body>
|
|
936
936
|
</html>`, x;
|
|
937
937
|
},
|
|
938
|
-
[
|
|
939
|
-
),
|
|
940
|
-
|
|
938
|
+
[W]
|
|
939
|
+
), p = H(() => {
|
|
940
|
+
l({
|
|
941
941
|
content: "",
|
|
942
942
|
title: "Untitled Document",
|
|
943
943
|
wordCount: 0,
|
|
944
944
|
characterCount: 0,
|
|
945
945
|
hasUnsavedChanges: !1,
|
|
946
946
|
pendingImages: []
|
|
947
|
-
}),
|
|
948
|
-
}, [
|
|
947
|
+
}), u.current.clear(), a.current && (a.current.innerHTML = "", L()), m.current = "";
|
|
948
|
+
}, [L]);
|
|
949
949
|
return {
|
|
950
|
-
editorState:
|
|
950
|
+
editorState: d,
|
|
951
951
|
editorRef: a,
|
|
952
952
|
updateContent: S,
|
|
953
|
-
updateTitle:
|
|
954
|
-
executeCommand:
|
|
955
|
-
getValidationResult:
|
|
956
|
-
exportToHTML:
|
|
957
|
-
clearEditor:
|
|
958
|
-
handlePaste:
|
|
959
|
-
handleDrop:
|
|
960
|
-
insertImage:
|
|
961
|
-
uploadPendingImages:
|
|
953
|
+
updateTitle: U,
|
|
954
|
+
executeCommand: z,
|
|
955
|
+
getValidationResult: W,
|
|
956
|
+
exportToHTML: K,
|
|
957
|
+
clearEditor: p,
|
|
958
|
+
handlePaste: N,
|
|
959
|
+
handleDrop: Y,
|
|
960
|
+
insertImage: B,
|
|
961
|
+
uploadPendingImages: k
|
|
962
962
|
};
|
|
963
|
-
},
|
|
963
|
+
}, pr = (e, t) => {
|
|
964
964
|
const r = new Array(e.length + t.length);
|
|
965
965
|
for (let n = 0; n < e.length; n++)
|
|
966
966
|
r[n] = e[n];
|
|
967
967
|
for (let n = 0; n < t.length; n++)
|
|
968
968
|
r[e.length + n] = t[n];
|
|
969
969
|
return r;
|
|
970
|
-
},
|
|
970
|
+
}, br = (e, t) => ({
|
|
971
971
|
classGroupId: e,
|
|
972
972
|
validator: t
|
|
973
|
-
}),
|
|
973
|
+
}), gt = (e = /* @__PURE__ */ new Map(), t = null, r) => ({
|
|
974
974
|
nextPart: e,
|
|
975
975
|
validators: t,
|
|
976
976
|
classGroupId: r
|
|
977
|
-
}),
|
|
978
|
-
const t =
|
|
977
|
+
}), Ce = "-", Ye = [], hr = "arbitrary..", xr = (e) => {
|
|
978
|
+
const t = yr(e), {
|
|
979
979
|
conflictingClassGroups: r,
|
|
980
980
|
conflictingClassGroupModifiers: n
|
|
981
981
|
} = e;
|
|
982
982
|
return {
|
|
983
|
-
getClassGroupId: (
|
|
984
|
-
if (
|
|
985
|
-
return
|
|
986
|
-
const a =
|
|
987
|
-
return
|
|
983
|
+
getClassGroupId: (l) => {
|
|
984
|
+
if (l.startsWith("[") && l.endsWith("]"))
|
|
985
|
+
return vr(l);
|
|
986
|
+
const a = l.split(Ce), u = a[0] === "" && a.length > 1 ? 1 : 0;
|
|
987
|
+
return pt(a, u, t);
|
|
988
988
|
},
|
|
989
|
-
getConflictingClassGroupIds: (
|
|
989
|
+
getConflictingClassGroupIds: (l, a) => {
|
|
990
990
|
if (a) {
|
|
991
|
-
const
|
|
992
|
-
return
|
|
991
|
+
const u = n[l], m = r[l];
|
|
992
|
+
return u ? m ? pr(m, u) : u : m || Ye;
|
|
993
993
|
}
|
|
994
|
-
return r[
|
|
994
|
+
return r[l] || Ye;
|
|
995
995
|
}
|
|
996
996
|
};
|
|
997
|
-
},
|
|
997
|
+
}, pt = (e, t, r) => {
|
|
998
998
|
if (e.length - t === 0)
|
|
999
999
|
return r.classGroupId;
|
|
1000
|
-
const s = e[t],
|
|
1001
|
-
if (
|
|
1002
|
-
const
|
|
1003
|
-
if (
|
|
1000
|
+
const s = e[t], d = r.nextPart.get(s);
|
|
1001
|
+
if (d) {
|
|
1002
|
+
const m = pt(e, t + 1, d);
|
|
1003
|
+
if (m) return m;
|
|
1004
1004
|
}
|
|
1005
|
-
const
|
|
1006
|
-
if (
|
|
1005
|
+
const l = r.validators;
|
|
1006
|
+
if (l === null)
|
|
1007
1007
|
return;
|
|
1008
|
-
const a = t === 0 ? e.join(
|
|
1009
|
-
for (let
|
|
1010
|
-
const A =
|
|
1008
|
+
const a = t === 0 ? e.join(Ce) : e.slice(t).join(Ce), u = l.length;
|
|
1009
|
+
for (let m = 0; m < u; m++) {
|
|
1010
|
+
const A = l[m];
|
|
1011
1011
|
if (A.validator(a))
|
|
1012
1012
|
return A.classGroupId;
|
|
1013
1013
|
}
|
|
1014
|
-
},
|
|
1014
|
+
}, vr = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
|
|
1015
1015
|
const t = e.slice(1, -1), r = t.indexOf(":"), n = t.slice(0, r);
|
|
1016
|
-
return n ?
|
|
1017
|
-
})(),
|
|
1016
|
+
return n ? hr + n : void 0;
|
|
1017
|
+
})(), yr = (e) => {
|
|
1018
1018
|
const {
|
|
1019
1019
|
theme: t,
|
|
1020
1020
|
classGroups: r
|
|
1021
1021
|
} = e;
|
|
1022
|
-
return
|
|
1023
|
-
},
|
|
1024
|
-
const r =
|
|
1022
|
+
return wr(r, t);
|
|
1023
|
+
}, wr = (e, t) => {
|
|
1024
|
+
const r = gt();
|
|
1025
1025
|
for (const n in e) {
|
|
1026
1026
|
const s = e[n];
|
|
1027
|
-
|
|
1027
|
+
Ge(s, r, n, t);
|
|
1028
1028
|
}
|
|
1029
1029
|
return r;
|
|
1030
|
-
},
|
|
1030
|
+
}, Ge = (e, t, r, n) => {
|
|
1031
1031
|
const s = e.length;
|
|
1032
|
-
for (let
|
|
1033
|
-
const
|
|
1034
|
-
|
|
1032
|
+
for (let d = 0; d < s; d++) {
|
|
1033
|
+
const l = e[d];
|
|
1034
|
+
kr(l, t, r, n);
|
|
1035
1035
|
}
|
|
1036
|
-
},
|
|
1036
|
+
}, kr = (e, t, r, n) => {
|
|
1037
1037
|
if (typeof e == "string") {
|
|
1038
|
-
|
|
1038
|
+
Tr(e, t, r);
|
|
1039
1039
|
return;
|
|
1040
1040
|
}
|
|
1041
1041
|
if (typeof e == "function") {
|
|
1042
|
-
|
|
1042
|
+
jr(e, t, r, n);
|
|
1043
1043
|
return;
|
|
1044
1044
|
}
|
|
1045
|
-
|
|
1046
|
-
},
|
|
1045
|
+
Cr(e, t, r, n);
|
|
1046
|
+
}, Tr = (e, t, r) => {
|
|
1047
1047
|
const n = e === "" ? t : bt(t, e);
|
|
1048
1048
|
n.classGroupId = r;
|
|
1049
|
-
},
|
|
1050
|
-
if (
|
|
1051
|
-
|
|
1049
|
+
}, jr = (e, t, r, n) => {
|
|
1050
|
+
if (Sr(e)) {
|
|
1051
|
+
Ge(e(n), t, r, n);
|
|
1052
1052
|
return;
|
|
1053
1053
|
}
|
|
1054
|
-
t.validators === null && (t.validators = []), t.validators.push(
|
|
1055
|
-
},
|
|
1056
|
-
const s = Object.entries(e),
|
|
1057
|
-
for (let
|
|
1058
|
-
const [a,
|
|
1059
|
-
|
|
1054
|
+
t.validators === null && (t.validators = []), t.validators.push(br(r, e));
|
|
1055
|
+
}, Cr = (e, t, r, n) => {
|
|
1056
|
+
const s = Object.entries(e), d = s.length;
|
|
1057
|
+
for (let l = 0; l < d; l++) {
|
|
1058
|
+
const [a, u] = s[l];
|
|
1059
|
+
Ge(u, bt(t, a), r, n);
|
|
1060
1060
|
}
|
|
1061
1061
|
}, bt = (e, t) => {
|
|
1062
1062
|
let r = e;
|
|
1063
|
-
const n = t.split(
|
|
1064
|
-
for (let
|
|
1065
|
-
const
|
|
1066
|
-
let a = r.nextPart.get(
|
|
1067
|
-
a || (a =
|
|
1063
|
+
const n = t.split(Ce), s = n.length;
|
|
1064
|
+
for (let d = 0; d < s; d++) {
|
|
1065
|
+
const l = n[d];
|
|
1066
|
+
let a = r.nextPart.get(l);
|
|
1067
|
+
a || (a = gt(), r.nextPart.set(l, a)), r = a;
|
|
1068
1068
|
}
|
|
1069
1069
|
return r;
|
|
1070
|
-
},
|
|
1070
|
+
}, Sr = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, Rr = (e) => {
|
|
1071
1071
|
if (e < 1)
|
|
1072
1072
|
return {
|
|
1073
1073
|
get: () => {
|
|
@@ -1076,137 +1076,137 @@ const dr = ({
|
|
|
1076
1076
|
}
|
|
1077
1077
|
};
|
|
1078
1078
|
let t = 0, r = /* @__PURE__ */ Object.create(null), n = /* @__PURE__ */ Object.create(null);
|
|
1079
|
-
const s = (
|
|
1080
|
-
r[
|
|
1079
|
+
const s = (d, l) => {
|
|
1080
|
+
r[d] = l, t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ Object.create(null));
|
|
1081
1081
|
};
|
|
1082
1082
|
return {
|
|
1083
|
-
get(
|
|
1084
|
-
let
|
|
1085
|
-
if (
|
|
1086
|
-
return
|
|
1087
|
-
if ((
|
|
1088
|
-
return s(
|
|
1083
|
+
get(d) {
|
|
1084
|
+
let l = r[d];
|
|
1085
|
+
if (l !== void 0)
|
|
1086
|
+
return l;
|
|
1087
|
+
if ((l = n[d]) !== void 0)
|
|
1088
|
+
return s(d, l), l;
|
|
1089
1089
|
},
|
|
1090
|
-
set(
|
|
1091
|
-
|
|
1090
|
+
set(d, l) {
|
|
1091
|
+
d in r ? r[d] = l : s(d, l);
|
|
1092
1092
|
}
|
|
1093
1093
|
};
|
|
1094
|
-
},
|
|
1094
|
+
}, Be = "!", Je = ":", Ar = [], Ke = (e, t, r, n, s) => ({
|
|
1095
1095
|
modifiers: e,
|
|
1096
1096
|
hasImportantModifier: t,
|
|
1097
1097
|
baseClassName: r,
|
|
1098
1098
|
maybePostfixModifierPosition: n,
|
|
1099
1099
|
isExternal: s
|
|
1100
|
-
}),
|
|
1100
|
+
}), Er = (e) => {
|
|
1101
1101
|
const {
|
|
1102
1102
|
prefix: t,
|
|
1103
1103
|
experimentalParseClassName: r
|
|
1104
1104
|
} = e;
|
|
1105
1105
|
let n = (s) => {
|
|
1106
|
-
const
|
|
1107
|
-
let
|
|
1106
|
+
const d = [];
|
|
1107
|
+
let l = 0, a = 0, u = 0, m;
|
|
1108
1108
|
const A = s.length;
|
|
1109
|
-
for (let
|
|
1110
|
-
const
|
|
1111
|
-
if (
|
|
1112
|
-
if (
|
|
1113
|
-
|
|
1109
|
+
for (let U = 0; U < A; U++) {
|
|
1110
|
+
const z = s[U];
|
|
1111
|
+
if (l === 0 && a === 0) {
|
|
1112
|
+
if (z === Je) {
|
|
1113
|
+
d.push(s.slice(u, U)), u = U + 1;
|
|
1114
1114
|
continue;
|
|
1115
1115
|
}
|
|
1116
|
-
if (
|
|
1117
|
-
|
|
1116
|
+
if (z === "/") {
|
|
1117
|
+
m = U;
|
|
1118
1118
|
continue;
|
|
1119
1119
|
}
|
|
1120
1120
|
}
|
|
1121
|
-
|
|
1121
|
+
z === "[" ? l++ : z === "]" ? l-- : z === "(" ? a++ : z === ")" && a--;
|
|
1122
1122
|
}
|
|
1123
|
-
const
|
|
1124
|
-
let
|
|
1125
|
-
|
|
1123
|
+
const L = d.length === 0 ? s : s.slice(u);
|
|
1124
|
+
let M = L, D = !1;
|
|
1125
|
+
L.endsWith(Be) ? (M = L.slice(0, -1), D = !0) : (
|
|
1126
1126
|
/**
|
|
1127
1127
|
* In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
|
|
1128
1128
|
* @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
|
|
1129
1129
|
*/
|
|
1130
|
-
|
|
1130
|
+
L.startsWith(Be) && (M = L.slice(1), D = !0)
|
|
1131
1131
|
);
|
|
1132
|
-
const S =
|
|
1133
|
-
return Ke(
|
|
1132
|
+
const S = m && m > u ? m - u : void 0;
|
|
1133
|
+
return Ke(d, D, M, S);
|
|
1134
1134
|
};
|
|
1135
1135
|
if (t) {
|
|
1136
|
-
const s = t + Je,
|
|
1137
|
-
n = (
|
|
1136
|
+
const s = t + Je, d = n;
|
|
1137
|
+
n = (l) => l.startsWith(s) ? d(l.slice(s.length)) : Ke(Ar, !1, l, void 0, !0);
|
|
1138
1138
|
}
|
|
1139
1139
|
if (r) {
|
|
1140
1140
|
const s = n;
|
|
1141
|
-
n = (
|
|
1142
|
-
className:
|
|
1141
|
+
n = (d) => r({
|
|
1142
|
+
className: d,
|
|
1143
1143
|
parseClassName: s
|
|
1144
1144
|
});
|
|
1145
1145
|
}
|
|
1146
1146
|
return n;
|
|
1147
|
-
},
|
|
1147
|
+
}, _r = (e) => {
|
|
1148
1148
|
const t = /* @__PURE__ */ new Map();
|
|
1149
1149
|
return e.orderSensitiveModifiers.forEach((r, n) => {
|
|
1150
1150
|
t.set(r, 1e6 + n);
|
|
1151
1151
|
}), (r) => {
|
|
1152
1152
|
const n = [];
|
|
1153
1153
|
let s = [];
|
|
1154
|
-
for (let
|
|
1155
|
-
const
|
|
1156
|
-
a ||
|
|
1154
|
+
for (let d = 0; d < r.length; d++) {
|
|
1155
|
+
const l = r[d], a = l[0] === "[", u = t.has(l);
|
|
1156
|
+
a || u ? (s.length > 0 && (s.sort(), n.push(...s), s = []), n.push(l)) : s.push(l);
|
|
1157
1157
|
}
|
|
1158
1158
|
return s.length > 0 && (s.sort(), n.push(...s)), n;
|
|
1159
1159
|
};
|
|
1160
|
-
},
|
|
1161
|
-
cache:
|
|
1162
|
-
parseClassName:
|
|
1163
|
-
sortModifiers:
|
|
1164
|
-
...
|
|
1165
|
-
}),
|
|
1160
|
+
}, Nr = (e) => ({
|
|
1161
|
+
cache: Rr(e.cacheSize),
|
|
1162
|
+
parseClassName: Er(e),
|
|
1163
|
+
sortModifiers: _r(e),
|
|
1164
|
+
...xr(e)
|
|
1165
|
+
}), Ir = /\s+/, Lr = (e, t) => {
|
|
1166
1166
|
const {
|
|
1167
1167
|
parseClassName: r,
|
|
1168
1168
|
getClassGroupId: n,
|
|
1169
1169
|
getConflictingClassGroupIds: s,
|
|
1170
|
-
sortModifiers:
|
|
1171
|
-
} = t,
|
|
1172
|
-
let
|
|
1173
|
-
for (let
|
|
1174
|
-
const A = a[
|
|
1175
|
-
isExternal:
|
|
1176
|
-
modifiers:
|
|
1177
|
-
hasImportantModifier:
|
|
1170
|
+
sortModifiers: d
|
|
1171
|
+
} = t, l = [], a = e.trim().split(Ir);
|
|
1172
|
+
let u = "";
|
|
1173
|
+
for (let m = a.length - 1; m >= 0; m -= 1) {
|
|
1174
|
+
const A = a[m], {
|
|
1175
|
+
isExternal: L,
|
|
1176
|
+
modifiers: M,
|
|
1177
|
+
hasImportantModifier: D,
|
|
1178
1178
|
baseClassName: S,
|
|
1179
|
-
maybePostfixModifierPosition:
|
|
1179
|
+
maybePostfixModifierPosition: U
|
|
1180
1180
|
} = r(A);
|
|
1181
|
-
if (
|
|
1182
|
-
|
|
1181
|
+
if (L) {
|
|
1182
|
+
u = A + (u.length > 0 ? " " + u : u);
|
|
1183
1183
|
continue;
|
|
1184
1184
|
}
|
|
1185
|
-
let
|
|
1186
|
-
if (!
|
|
1187
|
-
if (!
|
|
1188
|
-
|
|
1185
|
+
let z = !!U, V = n(z ? S.substring(0, U) : S);
|
|
1186
|
+
if (!V) {
|
|
1187
|
+
if (!z) {
|
|
1188
|
+
u = A + (u.length > 0 ? " " + u : u);
|
|
1189
1189
|
continue;
|
|
1190
1190
|
}
|
|
1191
|
-
if (
|
|
1192
|
-
|
|
1191
|
+
if (V = n(S), !V) {
|
|
1192
|
+
u = A + (u.length > 0 ? " " + u : u);
|
|
1193
1193
|
continue;
|
|
1194
1194
|
}
|
|
1195
|
-
|
|
1195
|
+
z = !1;
|
|
1196
1196
|
}
|
|
1197
|
-
const
|
|
1198
|
-
if (
|
|
1197
|
+
const B = M.length === 0 ? "" : M.length === 1 ? M[0] : d(M).join(":"), k = D ? B + Be : B, N = k + V;
|
|
1198
|
+
if (l.indexOf(N) > -1)
|
|
1199
1199
|
continue;
|
|
1200
|
-
|
|
1201
|
-
const
|
|
1202
|
-
for (let
|
|
1203
|
-
const
|
|
1204
|
-
|
|
1200
|
+
l.push(N);
|
|
1201
|
+
const Y = s(V, z);
|
|
1202
|
+
for (let W = 0; W < Y.length; ++W) {
|
|
1203
|
+
const K = Y[W];
|
|
1204
|
+
l.push(k + K);
|
|
1205
1205
|
}
|
|
1206
|
-
|
|
1206
|
+
u = A + (u.length > 0 ? " " + u : u);
|
|
1207
1207
|
}
|
|
1208
|
-
return
|
|
1209
|
-
},
|
|
1208
|
+
return u;
|
|
1209
|
+
}, zr = (...e) => {
|
|
1210
1210
|
let t = 0, r, n, s = "";
|
|
1211
1211
|
for (; t < e.length; )
|
|
1212
1212
|
(r = e[t++]) && (n = ht(r)) && (s && (s += " "), s += n);
|
|
@@ -1218,35 +1218,35 @@ const dr = ({
|
|
|
1218
1218
|
for (let n = 0; n < e.length; n++)
|
|
1219
1219
|
e[n] && (t = ht(e[n])) && (r && (r += " "), r += t);
|
|
1220
1220
|
return r;
|
|
1221
|
-
},
|
|
1222
|
-
let r, n, s,
|
|
1223
|
-
const
|
|
1224
|
-
const
|
|
1225
|
-
return r =
|
|
1226
|
-
}, a = (
|
|
1227
|
-
const
|
|
1228
|
-
if (
|
|
1229
|
-
return
|
|
1230
|
-
const A =
|
|
1231
|
-
return s(
|
|
1221
|
+
}, Or = (e, ...t) => {
|
|
1222
|
+
let r, n, s, d;
|
|
1223
|
+
const l = (u) => {
|
|
1224
|
+
const m = t.reduce((A, L) => L(A), e());
|
|
1225
|
+
return r = Nr(m), n = r.cache.get, s = r.cache.set, d = a, a(u);
|
|
1226
|
+
}, a = (u) => {
|
|
1227
|
+
const m = n(u);
|
|
1228
|
+
if (m)
|
|
1229
|
+
return m;
|
|
1230
|
+
const A = Lr(u, r);
|
|
1231
|
+
return s(u, A), A;
|
|
1232
1232
|
};
|
|
1233
|
-
return
|
|
1234
|
-
},
|
|
1235
|
-
const t = (r) => r[e] ||
|
|
1233
|
+
return d = l, (...u) => d(zr(...u));
|
|
1234
|
+
}, Pr = [], J = (e) => {
|
|
1235
|
+
const t = (r) => r[e] || Pr;
|
|
1236
1236
|
return t.isThemeGetter = !0, t;
|
|
1237
|
-
}, xt = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, vt = /^\((?:(\w[\w-]*):)?(.+)\)$/i,
|
|
1237
|
+
}, xt = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, vt = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Mr = /^\d+\/\d+$/, qr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Dr = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Fr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, Ur = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, $r = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, ge = (e) => Mr.test(e), _ = (e) => !!e && !Number.isNaN(Number(e)), ue = (e) => !!e && Number.isInteger(Number(e)), Se = (e) => e.endsWith("%") && _(e.slice(0, -1)), le = (e) => qr.test(e), Br = () => !0, Gr = (e) => (
|
|
1238
1238
|
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
1239
1239
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
1240
1240
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
1241
|
-
|
|
1242
|
-
), yt = () => !1,
|
|
1241
|
+
Dr.test(e) && !Fr.test(e)
|
|
1242
|
+
), yt = () => !1, Wr = (e) => Ur.test(e), Vr = (e) => $r.test(e), Hr = (e) => !f(e) && !g(e), Yr = (e) => pe(e, Tt, yt), f = (e) => xt.test(e), fe = (e) => pe(e, jt, Gr), Re = (e) => pe(e, Zr, _), Xe = (e) => pe(e, wt, yt), Jr = (e) => pe(e, kt, Vr), ke = (e) => pe(e, Ct, Wr), g = (e) => vt.test(e), ve = (e) => be(e, jt), Kr = (e) => be(e, en), Qe = (e) => be(e, wt), Xr = (e) => be(e, Tt), Qr = (e) => be(e, kt), Te = (e) => be(e, Ct, !0), pe = (e, t, r) => {
|
|
1243
1243
|
const n = xt.exec(e);
|
|
1244
1244
|
return n ? n[1] ? t(n[1]) : r(n[2]) : !1;
|
|
1245
|
-
},
|
|
1245
|
+
}, be = (e, t, r = !1) => {
|
|
1246
1246
|
const n = vt.exec(e);
|
|
1247
1247
|
return n ? n[1] ? t(n[1]) : r : !1;
|
|
1248
|
-
}, wt = (e) => e === "position" || e === "percentage", kt = (e) => e === "image" || e === "url",
|
|
1249
|
-
const e =
|
|
1248
|
+
}, wt = (e) => e === "position" || e === "percentage", kt = (e) => e === "image" || e === "url", Tt = (e) => e === "length" || e === "size" || e === "bg-size", jt = (e) => e === "length", Zr = (e) => e === "number", en = (e) => e === "family-name", Ct = (e) => e === "shadow", tn = () => {
|
|
1249
|
+
const e = J("color"), t = J("font"), r = J("text"), n = J("font-weight"), s = J("tracking"), d = J("leading"), l = J("breakpoint"), a = J("container"), u = J("spacing"), m = J("radius"), A = J("shadow"), L = J("inset-shadow"), M = J("text-shadow"), D = J("drop-shadow"), S = J("blur"), U = J("perspective"), z = J("aspect"), V = J("ease"), B = J("animate"), k = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], N = () => [
|
|
1250
1250
|
"center",
|
|
1251
1251
|
"top",
|
|
1252
1252
|
"bottom",
|
|
@@ -1264,51 +1264,51 @@ const dr = ({
|
|
|
1264
1264
|
"bottom-left",
|
|
1265
1265
|
// Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
|
|
1266
1266
|
"left-bottom"
|
|
1267
|
-
],
|
|
1268
|
-
span: ["full",
|
|
1269
|
-
},
|
|
1270
|
-
position: [g,
|
|
1271
|
-
}],
|
|
1267
|
+
], Y = () => [...N(), g, f], W = () => ["auto", "hidden", "clip", "visible", "scroll"], K = () => ["auto", "contain", "none"], p = () => [g, f, u], c = () => [ge, "full", "auto", ...p()], y = () => [ue, "none", "subgrid", g, f], j = () => ["auto", {
|
|
1268
|
+
span: ["full", ue, g, f]
|
|
1269
|
+
}, ue, g, f], x = () => [ue, "auto", g, f], v = () => ["auto", "min", "max", "fr", g, f], E = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], q = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], O = () => ["auto", ...p()], $ = () => [ge, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...p()], h = () => [e, g, f], G = () => [...N(), Qe, Xe, {
|
|
1270
|
+
position: [g, f]
|
|
1271
|
+
}], te = () => ["no-repeat", {
|
|
1272
1272
|
repeat: ["", "x", "y", "space", "round"]
|
|
1273
|
-
}], o = () => ["auto", "cover", "contain",
|
|
1274
|
-
size: [g,
|
|
1275
|
-
}],
|
|
1273
|
+
}], o = () => ["auto", "cover", "contain", Xr, Yr, {
|
|
1274
|
+
size: [g, f]
|
|
1275
|
+
}], T = () => [Se, ve, fe], w = () => [
|
|
1276
1276
|
// Deprecated since Tailwind CSS v4.0.0
|
|
1277
1277
|
"",
|
|
1278
1278
|
"none",
|
|
1279
1279
|
"full",
|
|
1280
|
-
|
|
1280
|
+
m,
|
|
1281
1281
|
g,
|
|
1282
|
-
|
|
1283
|
-
],
|
|
1282
|
+
f
|
|
1283
|
+
], R = () => ["", _, ve, fe], X = () => ["solid", "dashed", "dotted", "double"], ae = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], C = () => [_, Se, Qe, Xe], Q = () => [
|
|
1284
1284
|
// Deprecated since Tailwind CSS v4.0.0
|
|
1285
1285
|
"",
|
|
1286
1286
|
"none",
|
|
1287
1287
|
S,
|
|
1288
1288
|
g,
|
|
1289
|
-
|
|
1290
|
-
],
|
|
1289
|
+
f
|
|
1290
|
+
], ee = () => ["none", _, g, f], re = () => ["none", _, g, f], ie = () => [_, g, f], P = () => [ge, "full", ...p()];
|
|
1291
1291
|
return {
|
|
1292
1292
|
cacheSize: 500,
|
|
1293
1293
|
theme: {
|
|
1294
1294
|
animate: ["spin", "ping", "pulse", "bounce"],
|
|
1295
1295
|
aspect: ["video"],
|
|
1296
|
-
blur: [
|
|
1297
|
-
breakpoint: [
|
|
1298
|
-
color: [
|
|
1299
|
-
container: [
|
|
1300
|
-
"drop-shadow": [
|
|
1296
|
+
blur: [le],
|
|
1297
|
+
breakpoint: [le],
|
|
1298
|
+
color: [Br],
|
|
1299
|
+
container: [le],
|
|
1300
|
+
"drop-shadow": [le],
|
|
1301
1301
|
ease: ["in", "out", "in-out"],
|
|
1302
|
-
font: [
|
|
1302
|
+
font: [Hr],
|
|
1303
1303
|
"font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
|
|
1304
|
-
"inset-shadow": [
|
|
1304
|
+
"inset-shadow": [le],
|
|
1305
1305
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
|
|
1306
1306
|
perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
|
|
1307
|
-
radius: [
|
|
1308
|
-
shadow: [
|
|
1307
|
+
radius: [le],
|
|
1308
|
+
shadow: [le],
|
|
1309
1309
|
spacing: ["px", _],
|
|
1310
|
-
text: [
|
|
1311
|
-
"text-shadow": [
|
|
1310
|
+
text: [le],
|
|
1311
|
+
"text-shadow": [le],
|
|
1312
1312
|
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
|
|
1313
1313
|
},
|
|
1314
1314
|
classGroups: {
|
|
@@ -1320,7 +1320,7 @@ const dr = ({
|
|
|
1320
1320
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
1321
1321
|
*/
|
|
1322
1322
|
aspect: [{
|
|
1323
|
-
aspect: ["auto", "square",
|
|
1323
|
+
aspect: ["auto", "square", ge, f, g, z]
|
|
1324
1324
|
}],
|
|
1325
1325
|
/**
|
|
1326
1326
|
* Container
|
|
@@ -1333,21 +1333,21 @@ const dr = ({
|
|
|
1333
1333
|
* @see https://tailwindcss.com/docs/columns
|
|
1334
1334
|
*/
|
|
1335
1335
|
columns: [{
|
|
1336
|
-
columns: [_,
|
|
1336
|
+
columns: [_, f, g, a]
|
|
1337
1337
|
}],
|
|
1338
1338
|
/**
|
|
1339
1339
|
* Break After
|
|
1340
1340
|
* @see https://tailwindcss.com/docs/break-after
|
|
1341
1341
|
*/
|
|
1342
1342
|
"break-after": [{
|
|
1343
|
-
"break-after":
|
|
1343
|
+
"break-after": k()
|
|
1344
1344
|
}],
|
|
1345
1345
|
/**
|
|
1346
1346
|
* Break Before
|
|
1347
1347
|
* @see https://tailwindcss.com/docs/break-before
|
|
1348
1348
|
*/
|
|
1349
1349
|
"break-before": [{
|
|
1350
|
-
"break-before":
|
|
1350
|
+
"break-before": k()
|
|
1351
1351
|
}],
|
|
1352
1352
|
/**
|
|
1353
1353
|
* Break Inside
|
|
@@ -1411,49 +1411,49 @@ const dr = ({
|
|
|
1411
1411
|
* @see https://tailwindcss.com/docs/object-position
|
|
1412
1412
|
*/
|
|
1413
1413
|
"object-position": [{
|
|
1414
|
-
object:
|
|
1414
|
+
object: Y()
|
|
1415
1415
|
}],
|
|
1416
1416
|
/**
|
|
1417
1417
|
* Overflow
|
|
1418
1418
|
* @see https://tailwindcss.com/docs/overflow
|
|
1419
1419
|
*/
|
|
1420
1420
|
overflow: [{
|
|
1421
|
-
overflow:
|
|
1421
|
+
overflow: W()
|
|
1422
1422
|
}],
|
|
1423
1423
|
/**
|
|
1424
1424
|
* Overflow X
|
|
1425
1425
|
* @see https://tailwindcss.com/docs/overflow
|
|
1426
1426
|
*/
|
|
1427
1427
|
"overflow-x": [{
|
|
1428
|
-
"overflow-x":
|
|
1428
|
+
"overflow-x": W()
|
|
1429
1429
|
}],
|
|
1430
1430
|
/**
|
|
1431
1431
|
* Overflow Y
|
|
1432
1432
|
* @see https://tailwindcss.com/docs/overflow
|
|
1433
1433
|
*/
|
|
1434
1434
|
"overflow-y": [{
|
|
1435
|
-
"overflow-y":
|
|
1435
|
+
"overflow-y": W()
|
|
1436
1436
|
}],
|
|
1437
1437
|
/**
|
|
1438
1438
|
* Overscroll Behavior
|
|
1439
1439
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
1440
1440
|
*/
|
|
1441
1441
|
overscroll: [{
|
|
1442
|
-
overscroll:
|
|
1442
|
+
overscroll: K()
|
|
1443
1443
|
}],
|
|
1444
1444
|
/**
|
|
1445
1445
|
* Overscroll Behavior X
|
|
1446
1446
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
1447
1447
|
*/
|
|
1448
1448
|
"overscroll-x": [{
|
|
1449
|
-
"overscroll-x":
|
|
1449
|
+
"overscroll-x": K()
|
|
1450
1450
|
}],
|
|
1451
1451
|
/**
|
|
1452
1452
|
* Overscroll Behavior Y
|
|
1453
1453
|
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
1454
1454
|
*/
|
|
1455
1455
|
"overscroll-y": [{
|
|
1456
|
-
"overscroll-y":
|
|
1456
|
+
"overscroll-y": K()
|
|
1457
1457
|
}],
|
|
1458
1458
|
/**
|
|
1459
1459
|
* Position
|
|
@@ -1465,63 +1465,63 @@ const dr = ({
|
|
|
1465
1465
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1466
1466
|
*/
|
|
1467
1467
|
inset: [{
|
|
1468
|
-
inset:
|
|
1468
|
+
inset: c()
|
|
1469
1469
|
}],
|
|
1470
1470
|
/**
|
|
1471
1471
|
* Right / Left
|
|
1472
1472
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1473
1473
|
*/
|
|
1474
1474
|
"inset-x": [{
|
|
1475
|
-
"inset-x":
|
|
1475
|
+
"inset-x": c()
|
|
1476
1476
|
}],
|
|
1477
1477
|
/**
|
|
1478
1478
|
* Top / Bottom
|
|
1479
1479
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1480
1480
|
*/
|
|
1481
1481
|
"inset-y": [{
|
|
1482
|
-
"inset-y":
|
|
1482
|
+
"inset-y": c()
|
|
1483
1483
|
}],
|
|
1484
1484
|
/**
|
|
1485
1485
|
* Start
|
|
1486
1486
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1487
1487
|
*/
|
|
1488
1488
|
start: [{
|
|
1489
|
-
start:
|
|
1489
|
+
start: c()
|
|
1490
1490
|
}],
|
|
1491
1491
|
/**
|
|
1492
1492
|
* End
|
|
1493
1493
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1494
1494
|
*/
|
|
1495
1495
|
end: [{
|
|
1496
|
-
end:
|
|
1496
|
+
end: c()
|
|
1497
1497
|
}],
|
|
1498
1498
|
/**
|
|
1499
1499
|
* Top
|
|
1500
1500
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1501
1501
|
*/
|
|
1502
1502
|
top: [{
|
|
1503
|
-
top:
|
|
1503
|
+
top: c()
|
|
1504
1504
|
}],
|
|
1505
1505
|
/**
|
|
1506
1506
|
* Right
|
|
1507
1507
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1508
1508
|
*/
|
|
1509
1509
|
right: [{
|
|
1510
|
-
right:
|
|
1510
|
+
right: c()
|
|
1511
1511
|
}],
|
|
1512
1512
|
/**
|
|
1513
1513
|
* Bottom
|
|
1514
1514
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1515
1515
|
*/
|
|
1516
1516
|
bottom: [{
|
|
1517
|
-
bottom:
|
|
1517
|
+
bottom: c()
|
|
1518
1518
|
}],
|
|
1519
1519
|
/**
|
|
1520
1520
|
* Left
|
|
1521
1521
|
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1522
1522
|
*/
|
|
1523
1523
|
left: [{
|
|
1524
|
-
left:
|
|
1524
|
+
left: c()
|
|
1525
1525
|
}],
|
|
1526
1526
|
/**
|
|
1527
1527
|
* Visibility
|
|
@@ -1533,7 +1533,7 @@ const dr = ({
|
|
|
1533
1533
|
* @see https://tailwindcss.com/docs/z-index
|
|
1534
1534
|
*/
|
|
1535
1535
|
z: [{
|
|
1536
|
-
z: [
|
|
1536
|
+
z: [ue, "auto", g, f]
|
|
1537
1537
|
}],
|
|
1538
1538
|
// ------------------------
|
|
1539
1539
|
// --- Flexbox and Grid ---
|
|
@@ -1543,7 +1543,7 @@ const dr = ({
|
|
|
1543
1543
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
1544
1544
|
*/
|
|
1545
1545
|
basis: [{
|
|
1546
|
-
basis: [
|
|
1546
|
+
basis: [ge, "full", "auto", a, ...p()]
|
|
1547
1547
|
}],
|
|
1548
1548
|
/**
|
|
1549
1549
|
* Flex Direction
|
|
@@ -1564,28 +1564,28 @@ const dr = ({
|
|
|
1564
1564
|
* @see https://tailwindcss.com/docs/flex
|
|
1565
1565
|
*/
|
|
1566
1566
|
flex: [{
|
|
1567
|
-
flex: [_,
|
|
1567
|
+
flex: [_, ge, "auto", "initial", "none", f]
|
|
1568
1568
|
}],
|
|
1569
1569
|
/**
|
|
1570
1570
|
* Flex Grow
|
|
1571
1571
|
* @see https://tailwindcss.com/docs/flex-grow
|
|
1572
1572
|
*/
|
|
1573
1573
|
grow: [{
|
|
1574
|
-
grow: ["", _, g,
|
|
1574
|
+
grow: ["", _, g, f]
|
|
1575
1575
|
}],
|
|
1576
1576
|
/**
|
|
1577
1577
|
* Flex Shrink
|
|
1578
1578
|
* @see https://tailwindcss.com/docs/flex-shrink
|
|
1579
1579
|
*/
|
|
1580
1580
|
shrink: [{
|
|
1581
|
-
shrink: ["", _, g,
|
|
1581
|
+
shrink: ["", _, g, f]
|
|
1582
1582
|
}],
|
|
1583
1583
|
/**
|
|
1584
1584
|
* Order
|
|
1585
1585
|
* @see https://tailwindcss.com/docs/order
|
|
1586
1586
|
*/
|
|
1587
1587
|
order: [{
|
|
1588
|
-
order: [
|
|
1588
|
+
order: [ue, "first", "last", "none", g, f]
|
|
1589
1589
|
}],
|
|
1590
1590
|
/**
|
|
1591
1591
|
* Grid Template Columns
|
|
@@ -1599,7 +1599,7 @@ const dr = ({
|
|
|
1599
1599
|
* @see https://tailwindcss.com/docs/grid-column
|
|
1600
1600
|
*/
|
|
1601
1601
|
"col-start-end": [{
|
|
1602
|
-
col:
|
|
1602
|
+
col: j()
|
|
1603
1603
|
}],
|
|
1604
1604
|
/**
|
|
1605
1605
|
* Grid Column Start
|
|
@@ -1627,7 +1627,7 @@ const dr = ({
|
|
|
1627
1627
|
* @see https://tailwindcss.com/docs/grid-row
|
|
1628
1628
|
*/
|
|
1629
1629
|
"row-start-end": [{
|
|
1630
|
-
row:
|
|
1630
|
+
row: j()
|
|
1631
1631
|
}],
|
|
1632
1632
|
/**
|
|
1633
1633
|
* Grid Row Start
|
|
@@ -1669,21 +1669,21 @@ const dr = ({
|
|
|
1669
1669
|
* @see https://tailwindcss.com/docs/gap
|
|
1670
1670
|
*/
|
|
1671
1671
|
gap: [{
|
|
1672
|
-
gap:
|
|
1672
|
+
gap: p()
|
|
1673
1673
|
}],
|
|
1674
1674
|
/**
|
|
1675
1675
|
* Gap X
|
|
1676
1676
|
* @see https://tailwindcss.com/docs/gap
|
|
1677
1677
|
*/
|
|
1678
1678
|
"gap-x": [{
|
|
1679
|
-
"gap-x":
|
|
1679
|
+
"gap-x": p()
|
|
1680
1680
|
}],
|
|
1681
1681
|
/**
|
|
1682
1682
|
* Gap Y
|
|
1683
1683
|
* @see https://tailwindcss.com/docs/gap
|
|
1684
1684
|
*/
|
|
1685
1685
|
"gap-y": [{
|
|
1686
|
-
"gap-y":
|
|
1686
|
+
"gap-y": p()
|
|
1687
1687
|
}],
|
|
1688
1688
|
/**
|
|
1689
1689
|
* Justify Content
|
|
@@ -1697,14 +1697,14 @@ const dr = ({
|
|
|
1697
1697
|
* @see https://tailwindcss.com/docs/justify-items
|
|
1698
1698
|
*/
|
|
1699
1699
|
"justify-items": [{
|
|
1700
|
-
"justify-items": [...
|
|
1700
|
+
"justify-items": [...q(), "normal"]
|
|
1701
1701
|
}],
|
|
1702
1702
|
/**
|
|
1703
1703
|
* Justify Self
|
|
1704
1704
|
* @see https://tailwindcss.com/docs/justify-self
|
|
1705
1705
|
*/
|
|
1706
1706
|
"justify-self": [{
|
|
1707
|
-
"justify-self": ["auto", ...
|
|
1707
|
+
"justify-self": ["auto", ...q()]
|
|
1708
1708
|
}],
|
|
1709
1709
|
/**
|
|
1710
1710
|
* Align Content
|
|
@@ -1718,7 +1718,7 @@ const dr = ({
|
|
|
1718
1718
|
* @see https://tailwindcss.com/docs/align-items
|
|
1719
1719
|
*/
|
|
1720
1720
|
"align-items": [{
|
|
1721
|
-
items: [...
|
|
1721
|
+
items: [...q(), {
|
|
1722
1722
|
baseline: ["", "last"]
|
|
1723
1723
|
}]
|
|
1724
1724
|
}],
|
|
@@ -1727,7 +1727,7 @@ const dr = ({
|
|
|
1727
1727
|
* @see https://tailwindcss.com/docs/align-self
|
|
1728
1728
|
*/
|
|
1729
1729
|
"align-self": [{
|
|
1730
|
-
self: ["auto", ...
|
|
1730
|
+
self: ["auto", ...q(), {
|
|
1731
1731
|
baseline: ["", "last"]
|
|
1732
1732
|
}]
|
|
1733
1733
|
}],
|
|
@@ -1743,14 +1743,14 @@ const dr = ({
|
|
|
1743
1743
|
* @see https://tailwindcss.com/docs/place-items
|
|
1744
1744
|
*/
|
|
1745
1745
|
"place-items": [{
|
|
1746
|
-
"place-items": [...
|
|
1746
|
+
"place-items": [...q(), "baseline"]
|
|
1747
1747
|
}],
|
|
1748
1748
|
/**
|
|
1749
1749
|
* Place Self
|
|
1750
1750
|
* @see https://tailwindcss.com/docs/place-self
|
|
1751
1751
|
*/
|
|
1752
1752
|
"place-self": [{
|
|
1753
|
-
"place-self": ["auto", ...
|
|
1753
|
+
"place-self": ["auto", ...q()]
|
|
1754
1754
|
}],
|
|
1755
1755
|
// Spacing
|
|
1756
1756
|
/**
|
|
@@ -1758,133 +1758,133 @@ const dr = ({
|
|
|
1758
1758
|
* @see https://tailwindcss.com/docs/padding
|
|
1759
1759
|
*/
|
|
1760
1760
|
p: [{
|
|
1761
|
-
p:
|
|
1761
|
+
p: p()
|
|
1762
1762
|
}],
|
|
1763
1763
|
/**
|
|
1764
1764
|
* Padding X
|
|
1765
1765
|
* @see https://tailwindcss.com/docs/padding
|
|
1766
1766
|
*/
|
|
1767
1767
|
px: [{
|
|
1768
|
-
px:
|
|
1768
|
+
px: p()
|
|
1769
1769
|
}],
|
|
1770
1770
|
/**
|
|
1771
1771
|
* Padding Y
|
|
1772
1772
|
* @see https://tailwindcss.com/docs/padding
|
|
1773
1773
|
*/
|
|
1774
1774
|
py: [{
|
|
1775
|
-
py:
|
|
1775
|
+
py: p()
|
|
1776
1776
|
}],
|
|
1777
1777
|
/**
|
|
1778
1778
|
* Padding Start
|
|
1779
1779
|
* @see https://tailwindcss.com/docs/padding
|
|
1780
1780
|
*/
|
|
1781
1781
|
ps: [{
|
|
1782
|
-
ps:
|
|
1782
|
+
ps: p()
|
|
1783
1783
|
}],
|
|
1784
1784
|
/**
|
|
1785
1785
|
* Padding End
|
|
1786
1786
|
* @see https://tailwindcss.com/docs/padding
|
|
1787
1787
|
*/
|
|
1788
1788
|
pe: [{
|
|
1789
|
-
pe:
|
|
1789
|
+
pe: p()
|
|
1790
1790
|
}],
|
|
1791
1791
|
/**
|
|
1792
1792
|
* Padding Top
|
|
1793
1793
|
* @see https://tailwindcss.com/docs/padding
|
|
1794
1794
|
*/
|
|
1795
1795
|
pt: [{
|
|
1796
|
-
pt:
|
|
1796
|
+
pt: p()
|
|
1797
1797
|
}],
|
|
1798
1798
|
/**
|
|
1799
1799
|
* Padding Right
|
|
1800
1800
|
* @see https://tailwindcss.com/docs/padding
|
|
1801
1801
|
*/
|
|
1802
1802
|
pr: [{
|
|
1803
|
-
pr:
|
|
1803
|
+
pr: p()
|
|
1804
1804
|
}],
|
|
1805
1805
|
/**
|
|
1806
1806
|
* Padding Bottom
|
|
1807
1807
|
* @see https://tailwindcss.com/docs/padding
|
|
1808
1808
|
*/
|
|
1809
1809
|
pb: [{
|
|
1810
|
-
pb:
|
|
1810
|
+
pb: p()
|
|
1811
1811
|
}],
|
|
1812
1812
|
/**
|
|
1813
1813
|
* Padding Left
|
|
1814
1814
|
* @see https://tailwindcss.com/docs/padding
|
|
1815
1815
|
*/
|
|
1816
1816
|
pl: [{
|
|
1817
|
-
pl:
|
|
1817
|
+
pl: p()
|
|
1818
1818
|
}],
|
|
1819
1819
|
/**
|
|
1820
1820
|
* Margin
|
|
1821
1821
|
* @see https://tailwindcss.com/docs/margin
|
|
1822
1822
|
*/
|
|
1823
1823
|
m: [{
|
|
1824
|
-
m:
|
|
1824
|
+
m: O()
|
|
1825
1825
|
}],
|
|
1826
1826
|
/**
|
|
1827
1827
|
* Margin X
|
|
1828
1828
|
* @see https://tailwindcss.com/docs/margin
|
|
1829
1829
|
*/
|
|
1830
1830
|
mx: [{
|
|
1831
|
-
mx:
|
|
1831
|
+
mx: O()
|
|
1832
1832
|
}],
|
|
1833
1833
|
/**
|
|
1834
1834
|
* Margin Y
|
|
1835
1835
|
* @see https://tailwindcss.com/docs/margin
|
|
1836
1836
|
*/
|
|
1837
1837
|
my: [{
|
|
1838
|
-
my:
|
|
1838
|
+
my: O()
|
|
1839
1839
|
}],
|
|
1840
1840
|
/**
|
|
1841
1841
|
* Margin Start
|
|
1842
1842
|
* @see https://tailwindcss.com/docs/margin
|
|
1843
1843
|
*/
|
|
1844
1844
|
ms: [{
|
|
1845
|
-
ms:
|
|
1845
|
+
ms: O()
|
|
1846
1846
|
}],
|
|
1847
1847
|
/**
|
|
1848
1848
|
* Margin End
|
|
1849
1849
|
* @see https://tailwindcss.com/docs/margin
|
|
1850
1850
|
*/
|
|
1851
1851
|
me: [{
|
|
1852
|
-
me:
|
|
1852
|
+
me: O()
|
|
1853
1853
|
}],
|
|
1854
1854
|
/**
|
|
1855
1855
|
* Margin Top
|
|
1856
1856
|
* @see https://tailwindcss.com/docs/margin
|
|
1857
1857
|
*/
|
|
1858
1858
|
mt: [{
|
|
1859
|
-
mt:
|
|
1859
|
+
mt: O()
|
|
1860
1860
|
}],
|
|
1861
1861
|
/**
|
|
1862
1862
|
* Margin Right
|
|
1863
1863
|
* @see https://tailwindcss.com/docs/margin
|
|
1864
1864
|
*/
|
|
1865
1865
|
mr: [{
|
|
1866
|
-
mr:
|
|
1866
|
+
mr: O()
|
|
1867
1867
|
}],
|
|
1868
1868
|
/**
|
|
1869
1869
|
* Margin Bottom
|
|
1870
1870
|
* @see https://tailwindcss.com/docs/margin
|
|
1871
1871
|
*/
|
|
1872
1872
|
mb: [{
|
|
1873
|
-
mb:
|
|
1873
|
+
mb: O()
|
|
1874
1874
|
}],
|
|
1875
1875
|
/**
|
|
1876
1876
|
* Margin Left
|
|
1877
1877
|
* @see https://tailwindcss.com/docs/margin
|
|
1878
1878
|
*/
|
|
1879
1879
|
ml: [{
|
|
1880
|
-
ml:
|
|
1880
|
+
ml: O()
|
|
1881
1881
|
}],
|
|
1882
1882
|
/**
|
|
1883
1883
|
* Space Between X
|
|
1884
1884
|
* @see https://tailwindcss.com/docs/margin#adding-space-between-children
|
|
1885
1885
|
*/
|
|
1886
1886
|
"space-x": [{
|
|
1887
|
-
"space-x":
|
|
1887
|
+
"space-x": p()
|
|
1888
1888
|
}],
|
|
1889
1889
|
/**
|
|
1890
1890
|
* Space Between X Reverse
|
|
@@ -1896,7 +1896,7 @@ const dr = ({
|
|
|
1896
1896
|
* @see https://tailwindcss.com/docs/margin#adding-space-between-children
|
|
1897
1897
|
*/
|
|
1898
1898
|
"space-y": [{
|
|
1899
|
-
"space-y":
|
|
1899
|
+
"space-y": p()
|
|
1900
1900
|
}],
|
|
1901
1901
|
/**
|
|
1902
1902
|
* Space Between Y Reverse
|
|
@@ -1911,14 +1911,14 @@ const dr = ({
|
|
|
1911
1911
|
* @see https://tailwindcss.com/docs/width#setting-both-width-and-height
|
|
1912
1912
|
*/
|
|
1913
1913
|
size: [{
|
|
1914
|
-
size:
|
|
1914
|
+
size: $()
|
|
1915
1915
|
}],
|
|
1916
1916
|
/**
|
|
1917
1917
|
* Width
|
|
1918
1918
|
* @see https://tailwindcss.com/docs/width
|
|
1919
1919
|
*/
|
|
1920
1920
|
w: [{
|
|
1921
|
-
w: [a, "screen",
|
|
1921
|
+
w: [a, "screen", ...$()]
|
|
1922
1922
|
}],
|
|
1923
1923
|
/**
|
|
1924
1924
|
* Min-Width
|
|
@@ -1930,7 +1930,7 @@ const dr = ({
|
|
|
1930
1930
|
"screen",
|
|
1931
1931
|
/** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
|
|
1932
1932
|
"none",
|
|
1933
|
-
|
|
1933
|
+
...$()
|
|
1934
1934
|
]
|
|
1935
1935
|
}],
|
|
1936
1936
|
/**
|
|
@@ -1946,9 +1946,9 @@ const dr = ({
|
|
|
1946
1946
|
"prose",
|
|
1947
1947
|
/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
|
|
1948
1948
|
{
|
|
1949
|
-
screen: [
|
|
1949
|
+
screen: [l]
|
|
1950
1950
|
},
|
|
1951
|
-
|
|
1951
|
+
...$()
|
|
1952
1952
|
]
|
|
1953
1953
|
}],
|
|
1954
1954
|
/**
|
|
@@ -1956,21 +1956,21 @@ const dr = ({
|
|
|
1956
1956
|
* @see https://tailwindcss.com/docs/height
|
|
1957
1957
|
*/
|
|
1958
1958
|
h: [{
|
|
1959
|
-
h: ["screen", "lh",
|
|
1959
|
+
h: ["screen", "lh", ...$()]
|
|
1960
1960
|
}],
|
|
1961
1961
|
/**
|
|
1962
1962
|
* Min-Height
|
|
1963
1963
|
* @see https://tailwindcss.com/docs/min-height
|
|
1964
1964
|
*/
|
|
1965
1965
|
"min-h": [{
|
|
1966
|
-
"min-h": ["screen", "lh", "none",
|
|
1966
|
+
"min-h": ["screen", "lh", "none", ...$()]
|
|
1967
1967
|
}],
|
|
1968
1968
|
/**
|
|
1969
1969
|
* Max-Height
|
|
1970
1970
|
* @see https://tailwindcss.com/docs/max-height
|
|
1971
1971
|
*/
|
|
1972
1972
|
"max-h": [{
|
|
1973
|
-
"max-h": ["screen", "lh",
|
|
1973
|
+
"max-h": ["screen", "lh", ...$()]
|
|
1974
1974
|
}],
|
|
1975
1975
|
// ------------------
|
|
1976
1976
|
// --- Typography ---
|
|
@@ -1980,7 +1980,7 @@ const dr = ({
|
|
|
1980
1980
|
* @see https://tailwindcss.com/docs/font-size
|
|
1981
1981
|
*/
|
|
1982
1982
|
"font-size": [{
|
|
1983
|
-
text: ["base", r,
|
|
1983
|
+
text: ["base", r, ve, fe]
|
|
1984
1984
|
}],
|
|
1985
1985
|
/**
|
|
1986
1986
|
* Font Smoothing
|
|
@@ -1997,21 +1997,21 @@ const dr = ({
|
|
|
1997
1997
|
* @see https://tailwindcss.com/docs/font-weight
|
|
1998
1998
|
*/
|
|
1999
1999
|
"font-weight": [{
|
|
2000
|
-
font: [n, g,
|
|
2000
|
+
font: [n, g, Re]
|
|
2001
2001
|
}],
|
|
2002
2002
|
/**
|
|
2003
2003
|
* Font Stretch
|
|
2004
2004
|
* @see https://tailwindcss.com/docs/font-stretch
|
|
2005
2005
|
*/
|
|
2006
2006
|
"font-stretch": [{
|
|
2007
|
-
"font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", Se,
|
|
2007
|
+
"font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", Se, f]
|
|
2008
2008
|
}],
|
|
2009
2009
|
/**
|
|
2010
2010
|
* Font Family
|
|
2011
2011
|
* @see https://tailwindcss.com/docs/font-family
|
|
2012
2012
|
*/
|
|
2013
2013
|
"font-family": [{
|
|
2014
|
-
font: [
|
|
2014
|
+
font: [Kr, f, t]
|
|
2015
2015
|
}],
|
|
2016
2016
|
/**
|
|
2017
2017
|
* Font Variant Numeric
|
|
@@ -2048,14 +2048,14 @@ const dr = ({
|
|
|
2048
2048
|
* @see https://tailwindcss.com/docs/letter-spacing
|
|
2049
2049
|
*/
|
|
2050
2050
|
tracking: [{
|
|
2051
|
-
tracking: [s, g,
|
|
2051
|
+
tracking: [s, g, f]
|
|
2052
2052
|
}],
|
|
2053
2053
|
/**
|
|
2054
2054
|
* Line Clamp
|
|
2055
2055
|
* @see https://tailwindcss.com/docs/line-clamp
|
|
2056
2056
|
*/
|
|
2057
2057
|
"line-clamp": [{
|
|
2058
|
-
"line-clamp": [_, "none", g,
|
|
2058
|
+
"line-clamp": [_, "none", g, Re]
|
|
2059
2059
|
}],
|
|
2060
2060
|
/**
|
|
2061
2061
|
* Line Height
|
|
@@ -2064,8 +2064,8 @@ const dr = ({
|
|
|
2064
2064
|
leading: [{
|
|
2065
2065
|
leading: [
|
|
2066
2066
|
/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
|
|
2067
|
-
|
|
2068
|
-
...
|
|
2067
|
+
d,
|
|
2068
|
+
...p()
|
|
2069
2069
|
]
|
|
2070
2070
|
}],
|
|
2071
2071
|
/**
|
|
@@ -2073,7 +2073,7 @@ const dr = ({
|
|
|
2073
2073
|
* @see https://tailwindcss.com/docs/list-style-image
|
|
2074
2074
|
*/
|
|
2075
2075
|
"list-image": [{
|
|
2076
|
-
"list-image": ["none", g,
|
|
2076
|
+
"list-image": ["none", g, f]
|
|
2077
2077
|
}],
|
|
2078
2078
|
/**
|
|
2079
2079
|
* List Style Position
|
|
@@ -2087,7 +2087,7 @@ const dr = ({
|
|
|
2087
2087
|
* @see https://tailwindcss.com/docs/list-style-type
|
|
2088
2088
|
*/
|
|
2089
2089
|
"list-style-type": [{
|
|
2090
|
-
list: ["disc", "decimal", "none", g,
|
|
2090
|
+
list: ["disc", "decimal", "none", g, f]
|
|
2091
2091
|
}],
|
|
2092
2092
|
/**
|
|
2093
2093
|
* Text Alignment
|
|
@@ -2121,14 +2121,14 @@ const dr = ({
|
|
|
2121
2121
|
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
2122
2122
|
*/
|
|
2123
2123
|
"text-decoration-style": [{
|
|
2124
|
-
decoration: [...
|
|
2124
|
+
decoration: [...X(), "wavy"]
|
|
2125
2125
|
}],
|
|
2126
2126
|
/**
|
|
2127
2127
|
* Text Decoration Thickness
|
|
2128
2128
|
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
2129
2129
|
*/
|
|
2130
2130
|
"text-decoration-thickness": [{
|
|
2131
|
-
decoration: [_, "from-font", "auto", g,
|
|
2131
|
+
decoration: [_, "from-font", "auto", g, fe]
|
|
2132
2132
|
}],
|
|
2133
2133
|
/**
|
|
2134
2134
|
* Text Decoration Color
|
|
@@ -2142,7 +2142,7 @@ const dr = ({
|
|
|
2142
2142
|
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
2143
2143
|
*/
|
|
2144
2144
|
"underline-offset": [{
|
|
2145
|
-
"underline-offset": [_, "auto", g,
|
|
2145
|
+
"underline-offset": [_, "auto", g, f]
|
|
2146
2146
|
}],
|
|
2147
2147
|
/**
|
|
2148
2148
|
* Text Transform
|
|
@@ -2166,14 +2166,14 @@ const dr = ({
|
|
|
2166
2166
|
* @see https://tailwindcss.com/docs/text-indent
|
|
2167
2167
|
*/
|
|
2168
2168
|
indent: [{
|
|
2169
|
-
indent:
|
|
2169
|
+
indent: p()
|
|
2170
2170
|
}],
|
|
2171
2171
|
/**
|
|
2172
2172
|
* Vertical Alignment
|
|
2173
2173
|
* @see https://tailwindcss.com/docs/vertical-align
|
|
2174
2174
|
*/
|
|
2175
2175
|
"vertical-align": [{
|
|
2176
|
-
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", g,
|
|
2176
|
+
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", g, f]
|
|
2177
2177
|
}],
|
|
2178
2178
|
/**
|
|
2179
2179
|
* Whitespace
|
|
@@ -2208,7 +2208,7 @@ const dr = ({
|
|
|
2208
2208
|
* @see https://tailwindcss.com/docs/content
|
|
2209
2209
|
*/
|
|
2210
2210
|
content: [{
|
|
2211
|
-
content: ["none", g,
|
|
2211
|
+
content: ["none", g, f]
|
|
2212
2212
|
}],
|
|
2213
2213
|
// -------------------
|
|
2214
2214
|
// --- Backgrounds ---
|
|
@@ -2239,14 +2239,14 @@ const dr = ({
|
|
|
2239
2239
|
* @see https://tailwindcss.com/docs/background-position
|
|
2240
2240
|
*/
|
|
2241
2241
|
"bg-position": [{
|
|
2242
|
-
bg:
|
|
2242
|
+
bg: G()
|
|
2243
2243
|
}],
|
|
2244
2244
|
/**
|
|
2245
2245
|
* Background Repeat
|
|
2246
2246
|
* @see https://tailwindcss.com/docs/background-repeat
|
|
2247
2247
|
*/
|
|
2248
2248
|
"bg-repeat": [{
|
|
2249
|
-
bg:
|
|
2249
|
+
bg: te()
|
|
2250
2250
|
}],
|
|
2251
2251
|
/**
|
|
2252
2252
|
* Background Size
|
|
@@ -2263,10 +2263,10 @@ const dr = ({
|
|
|
2263
2263
|
bg: ["none", {
|
|
2264
2264
|
linear: [{
|
|
2265
2265
|
to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
2266
|
-
},
|
|
2267
|
-
radial: ["", g,
|
|
2268
|
-
conic: [
|
|
2269
|
-
},
|
|
2266
|
+
}, ue, g, f],
|
|
2267
|
+
radial: ["", g, f],
|
|
2268
|
+
conic: [ue, g, f]
|
|
2269
|
+
}, Qr, Jr]
|
|
2270
2270
|
}],
|
|
2271
2271
|
/**
|
|
2272
2272
|
* Background Color
|
|
@@ -2280,21 +2280,21 @@ const dr = ({
|
|
|
2280
2280
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2281
2281
|
*/
|
|
2282
2282
|
"gradient-from-pos": [{
|
|
2283
|
-
from:
|
|
2283
|
+
from: T()
|
|
2284
2284
|
}],
|
|
2285
2285
|
/**
|
|
2286
2286
|
* Gradient Color Stops Via Position
|
|
2287
2287
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2288
2288
|
*/
|
|
2289
2289
|
"gradient-via-pos": [{
|
|
2290
|
-
via:
|
|
2290
|
+
via: T()
|
|
2291
2291
|
}],
|
|
2292
2292
|
/**
|
|
2293
2293
|
* Gradient Color Stops To Position
|
|
2294
2294
|
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2295
2295
|
*/
|
|
2296
2296
|
"gradient-to-pos": [{
|
|
2297
|
-
to:
|
|
2297
|
+
to: T()
|
|
2298
2298
|
}],
|
|
2299
2299
|
/**
|
|
2300
2300
|
* Gradient Color Stops From
|
|
@@ -2430,70 +2430,70 @@ const dr = ({
|
|
|
2430
2430
|
* @see https://tailwindcss.com/docs/border-width
|
|
2431
2431
|
*/
|
|
2432
2432
|
"border-w": [{
|
|
2433
|
-
border:
|
|
2433
|
+
border: R()
|
|
2434
2434
|
}],
|
|
2435
2435
|
/**
|
|
2436
2436
|
* Border Width X
|
|
2437
2437
|
* @see https://tailwindcss.com/docs/border-width
|
|
2438
2438
|
*/
|
|
2439
2439
|
"border-w-x": [{
|
|
2440
|
-
"border-x":
|
|
2440
|
+
"border-x": R()
|
|
2441
2441
|
}],
|
|
2442
2442
|
/**
|
|
2443
2443
|
* Border Width Y
|
|
2444
2444
|
* @see https://tailwindcss.com/docs/border-width
|
|
2445
2445
|
*/
|
|
2446
2446
|
"border-w-y": [{
|
|
2447
|
-
"border-y":
|
|
2447
|
+
"border-y": R()
|
|
2448
2448
|
}],
|
|
2449
2449
|
/**
|
|
2450
2450
|
* Border Width Start
|
|
2451
2451
|
* @see https://tailwindcss.com/docs/border-width
|
|
2452
2452
|
*/
|
|
2453
2453
|
"border-w-s": [{
|
|
2454
|
-
"border-s":
|
|
2454
|
+
"border-s": R()
|
|
2455
2455
|
}],
|
|
2456
2456
|
/**
|
|
2457
2457
|
* Border Width End
|
|
2458
2458
|
* @see https://tailwindcss.com/docs/border-width
|
|
2459
2459
|
*/
|
|
2460
2460
|
"border-w-e": [{
|
|
2461
|
-
"border-e":
|
|
2461
|
+
"border-e": R()
|
|
2462
2462
|
}],
|
|
2463
2463
|
/**
|
|
2464
2464
|
* Border Width Top
|
|
2465
2465
|
* @see https://tailwindcss.com/docs/border-width
|
|
2466
2466
|
*/
|
|
2467
2467
|
"border-w-t": [{
|
|
2468
|
-
"border-t":
|
|
2468
|
+
"border-t": R()
|
|
2469
2469
|
}],
|
|
2470
2470
|
/**
|
|
2471
2471
|
* Border Width Right
|
|
2472
2472
|
* @see https://tailwindcss.com/docs/border-width
|
|
2473
2473
|
*/
|
|
2474
2474
|
"border-w-r": [{
|
|
2475
|
-
"border-r":
|
|
2475
|
+
"border-r": R()
|
|
2476
2476
|
}],
|
|
2477
2477
|
/**
|
|
2478
2478
|
* Border Width Bottom
|
|
2479
2479
|
* @see https://tailwindcss.com/docs/border-width
|
|
2480
2480
|
*/
|
|
2481
2481
|
"border-w-b": [{
|
|
2482
|
-
"border-b":
|
|
2482
|
+
"border-b": R()
|
|
2483
2483
|
}],
|
|
2484
2484
|
/**
|
|
2485
2485
|
* Border Width Left
|
|
2486
2486
|
* @see https://tailwindcss.com/docs/border-width
|
|
2487
2487
|
*/
|
|
2488
2488
|
"border-w-l": [{
|
|
2489
|
-
"border-l":
|
|
2489
|
+
"border-l": R()
|
|
2490
2490
|
}],
|
|
2491
2491
|
/**
|
|
2492
2492
|
* Divide Width X
|
|
2493
2493
|
* @see https://tailwindcss.com/docs/border-width#between-children
|
|
2494
2494
|
*/
|
|
2495
2495
|
"divide-x": [{
|
|
2496
|
-
"divide-x":
|
|
2496
|
+
"divide-x": R()
|
|
2497
2497
|
}],
|
|
2498
2498
|
/**
|
|
2499
2499
|
* Divide Width X Reverse
|
|
@@ -2505,7 +2505,7 @@ const dr = ({
|
|
|
2505
2505
|
* @see https://tailwindcss.com/docs/border-width#between-children
|
|
2506
2506
|
*/
|
|
2507
2507
|
"divide-y": [{
|
|
2508
|
-
"divide-y":
|
|
2508
|
+
"divide-y": R()
|
|
2509
2509
|
}],
|
|
2510
2510
|
/**
|
|
2511
2511
|
* Divide Width Y Reverse
|
|
@@ -2517,14 +2517,14 @@ const dr = ({
|
|
|
2517
2517
|
* @see https://tailwindcss.com/docs/border-style
|
|
2518
2518
|
*/
|
|
2519
2519
|
"border-style": [{
|
|
2520
|
-
border: [...
|
|
2520
|
+
border: [...X(), "hidden", "none"]
|
|
2521
2521
|
}],
|
|
2522
2522
|
/**
|
|
2523
2523
|
* Divide Style
|
|
2524
2524
|
* @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
|
|
2525
2525
|
*/
|
|
2526
2526
|
"divide-style": [{
|
|
2527
|
-
divide: [...
|
|
2527
|
+
divide: [...X(), "hidden", "none"]
|
|
2528
2528
|
}],
|
|
2529
2529
|
/**
|
|
2530
2530
|
* Border Color
|
|
@@ -2601,21 +2601,21 @@ const dr = ({
|
|
|
2601
2601
|
* @see https://tailwindcss.com/docs/outline-style
|
|
2602
2602
|
*/
|
|
2603
2603
|
"outline-style": [{
|
|
2604
|
-
outline: [...
|
|
2604
|
+
outline: [...X(), "none", "hidden"]
|
|
2605
2605
|
}],
|
|
2606
2606
|
/**
|
|
2607
2607
|
* Outline Offset
|
|
2608
2608
|
* @see https://tailwindcss.com/docs/outline-offset
|
|
2609
2609
|
*/
|
|
2610
2610
|
"outline-offset": [{
|
|
2611
|
-
"outline-offset": [_, g,
|
|
2611
|
+
"outline-offset": [_, g, f]
|
|
2612
2612
|
}],
|
|
2613
2613
|
/**
|
|
2614
2614
|
* Outline Width
|
|
2615
2615
|
* @see https://tailwindcss.com/docs/outline-width
|
|
2616
2616
|
*/
|
|
2617
2617
|
"outline-w": [{
|
|
2618
|
-
outline: ["", _,
|
|
2618
|
+
outline: ["", _, ve, fe]
|
|
2619
2619
|
}],
|
|
2620
2620
|
/**
|
|
2621
2621
|
* Outline Color
|
|
@@ -2637,8 +2637,8 @@ const dr = ({
|
|
|
2637
2637
|
"",
|
|
2638
2638
|
"none",
|
|
2639
2639
|
A,
|
|
2640
|
-
|
|
2641
|
-
|
|
2640
|
+
Te,
|
|
2641
|
+
ke
|
|
2642
2642
|
]
|
|
2643
2643
|
}],
|
|
2644
2644
|
/**
|
|
@@ -2653,7 +2653,7 @@ const dr = ({
|
|
|
2653
2653
|
* @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
|
|
2654
2654
|
*/
|
|
2655
2655
|
"inset-shadow": [{
|
|
2656
|
-
"inset-shadow": ["none",
|
|
2656
|
+
"inset-shadow": ["none", L, Te, ke]
|
|
2657
2657
|
}],
|
|
2658
2658
|
/**
|
|
2659
2659
|
* Inset Box Shadow Color
|
|
@@ -2667,7 +2667,7 @@ const dr = ({
|
|
|
2667
2667
|
* @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
|
|
2668
2668
|
*/
|
|
2669
2669
|
"ring-w": [{
|
|
2670
|
-
ring:
|
|
2670
|
+
ring: R()
|
|
2671
2671
|
}],
|
|
2672
2672
|
/**
|
|
2673
2673
|
* Ring Width Inset
|
|
@@ -2690,7 +2690,7 @@ const dr = ({
|
|
|
2690
2690
|
* @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
|
|
2691
2691
|
*/
|
|
2692
2692
|
"ring-offset-w": [{
|
|
2693
|
-
"ring-offset": [_,
|
|
2693
|
+
"ring-offset": [_, fe]
|
|
2694
2694
|
}],
|
|
2695
2695
|
/**
|
|
2696
2696
|
* Ring Offset Color
|
|
@@ -2706,7 +2706,7 @@ const dr = ({
|
|
|
2706
2706
|
* @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
|
|
2707
2707
|
*/
|
|
2708
2708
|
"inset-ring-w": [{
|
|
2709
|
-
"inset-ring":
|
|
2709
|
+
"inset-ring": R()
|
|
2710
2710
|
}],
|
|
2711
2711
|
/**
|
|
2712
2712
|
* Inset Ring Color
|
|
@@ -2720,7 +2720,7 @@ const dr = ({
|
|
|
2720
2720
|
* @see https://tailwindcss.com/docs/text-shadow
|
|
2721
2721
|
*/
|
|
2722
2722
|
"text-shadow": [{
|
|
2723
|
-
"text-shadow": ["none",
|
|
2723
|
+
"text-shadow": ["none", M, Te, ke]
|
|
2724
2724
|
}],
|
|
2725
2725
|
/**
|
|
2726
2726
|
* Text Shadow Color
|
|
@@ -2734,21 +2734,21 @@ const dr = ({
|
|
|
2734
2734
|
* @see https://tailwindcss.com/docs/opacity
|
|
2735
2735
|
*/
|
|
2736
2736
|
opacity: [{
|
|
2737
|
-
opacity: [_, g,
|
|
2737
|
+
opacity: [_, g, f]
|
|
2738
2738
|
}],
|
|
2739
2739
|
/**
|
|
2740
2740
|
* Mix Blend Mode
|
|
2741
2741
|
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
2742
2742
|
*/
|
|
2743
2743
|
"mix-blend": [{
|
|
2744
|
-
"mix-blend": [...
|
|
2744
|
+
"mix-blend": [...ae(), "plus-darker", "plus-lighter"]
|
|
2745
2745
|
}],
|
|
2746
2746
|
/**
|
|
2747
2747
|
* Background Blend Mode
|
|
2748
2748
|
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
2749
2749
|
*/
|
|
2750
2750
|
"bg-blend": [{
|
|
2751
|
-
"bg-blend":
|
|
2751
|
+
"bg-blend": ae()
|
|
2752
2752
|
}],
|
|
2753
2753
|
/**
|
|
2754
2754
|
* Mask Clip
|
|
@@ -2772,10 +2772,10 @@ const dr = ({
|
|
|
2772
2772
|
"mask-linear": [_]
|
|
2773
2773
|
}],
|
|
2774
2774
|
"mask-image-linear-from-pos": [{
|
|
2775
|
-
"mask-linear-from":
|
|
2775
|
+
"mask-linear-from": C()
|
|
2776
2776
|
}],
|
|
2777
2777
|
"mask-image-linear-to-pos": [{
|
|
2778
|
-
"mask-linear-to":
|
|
2778
|
+
"mask-linear-to": C()
|
|
2779
2779
|
}],
|
|
2780
2780
|
"mask-image-linear-from-color": [{
|
|
2781
2781
|
"mask-linear-from": h()
|
|
@@ -2784,10 +2784,10 @@ const dr = ({
|
|
|
2784
2784
|
"mask-linear-to": h()
|
|
2785
2785
|
}],
|
|
2786
2786
|
"mask-image-t-from-pos": [{
|
|
2787
|
-
"mask-t-from":
|
|
2787
|
+
"mask-t-from": C()
|
|
2788
2788
|
}],
|
|
2789
2789
|
"mask-image-t-to-pos": [{
|
|
2790
|
-
"mask-t-to":
|
|
2790
|
+
"mask-t-to": C()
|
|
2791
2791
|
}],
|
|
2792
2792
|
"mask-image-t-from-color": [{
|
|
2793
2793
|
"mask-t-from": h()
|
|
@@ -2796,10 +2796,10 @@ const dr = ({
|
|
|
2796
2796
|
"mask-t-to": h()
|
|
2797
2797
|
}],
|
|
2798
2798
|
"mask-image-r-from-pos": [{
|
|
2799
|
-
"mask-r-from":
|
|
2799
|
+
"mask-r-from": C()
|
|
2800
2800
|
}],
|
|
2801
2801
|
"mask-image-r-to-pos": [{
|
|
2802
|
-
"mask-r-to":
|
|
2802
|
+
"mask-r-to": C()
|
|
2803
2803
|
}],
|
|
2804
2804
|
"mask-image-r-from-color": [{
|
|
2805
2805
|
"mask-r-from": h()
|
|
@@ -2808,10 +2808,10 @@ const dr = ({
|
|
|
2808
2808
|
"mask-r-to": h()
|
|
2809
2809
|
}],
|
|
2810
2810
|
"mask-image-b-from-pos": [{
|
|
2811
|
-
"mask-b-from":
|
|
2811
|
+
"mask-b-from": C()
|
|
2812
2812
|
}],
|
|
2813
2813
|
"mask-image-b-to-pos": [{
|
|
2814
|
-
"mask-b-to":
|
|
2814
|
+
"mask-b-to": C()
|
|
2815
2815
|
}],
|
|
2816
2816
|
"mask-image-b-from-color": [{
|
|
2817
2817
|
"mask-b-from": h()
|
|
@@ -2820,10 +2820,10 @@ const dr = ({
|
|
|
2820
2820
|
"mask-b-to": h()
|
|
2821
2821
|
}],
|
|
2822
2822
|
"mask-image-l-from-pos": [{
|
|
2823
|
-
"mask-l-from":
|
|
2823
|
+
"mask-l-from": C()
|
|
2824
2824
|
}],
|
|
2825
2825
|
"mask-image-l-to-pos": [{
|
|
2826
|
-
"mask-l-to":
|
|
2826
|
+
"mask-l-to": C()
|
|
2827
2827
|
}],
|
|
2828
2828
|
"mask-image-l-from-color": [{
|
|
2829
2829
|
"mask-l-from": h()
|
|
@@ -2832,10 +2832,10 @@ const dr = ({
|
|
|
2832
2832
|
"mask-l-to": h()
|
|
2833
2833
|
}],
|
|
2834
2834
|
"mask-image-x-from-pos": [{
|
|
2835
|
-
"mask-x-from":
|
|
2835
|
+
"mask-x-from": C()
|
|
2836
2836
|
}],
|
|
2837
2837
|
"mask-image-x-to-pos": [{
|
|
2838
|
-
"mask-x-to":
|
|
2838
|
+
"mask-x-to": C()
|
|
2839
2839
|
}],
|
|
2840
2840
|
"mask-image-x-from-color": [{
|
|
2841
2841
|
"mask-x-from": h()
|
|
@@ -2844,10 +2844,10 @@ const dr = ({
|
|
|
2844
2844
|
"mask-x-to": h()
|
|
2845
2845
|
}],
|
|
2846
2846
|
"mask-image-y-from-pos": [{
|
|
2847
|
-
"mask-y-from":
|
|
2847
|
+
"mask-y-from": C()
|
|
2848
2848
|
}],
|
|
2849
2849
|
"mask-image-y-to-pos": [{
|
|
2850
|
-
"mask-y-to":
|
|
2850
|
+
"mask-y-to": C()
|
|
2851
2851
|
}],
|
|
2852
2852
|
"mask-image-y-from-color": [{
|
|
2853
2853
|
"mask-y-from": h()
|
|
@@ -2856,13 +2856,13 @@ const dr = ({
|
|
|
2856
2856
|
"mask-y-to": h()
|
|
2857
2857
|
}],
|
|
2858
2858
|
"mask-image-radial": [{
|
|
2859
|
-
"mask-radial": [g,
|
|
2859
|
+
"mask-radial": [g, f]
|
|
2860
2860
|
}],
|
|
2861
2861
|
"mask-image-radial-from-pos": [{
|
|
2862
|
-
"mask-radial-from":
|
|
2862
|
+
"mask-radial-from": C()
|
|
2863
2863
|
}],
|
|
2864
2864
|
"mask-image-radial-to-pos": [{
|
|
2865
|
-
"mask-radial-to":
|
|
2865
|
+
"mask-radial-to": C()
|
|
2866
2866
|
}],
|
|
2867
2867
|
"mask-image-radial-from-color": [{
|
|
2868
2868
|
"mask-radial-from": h()
|
|
@@ -2880,16 +2880,16 @@ const dr = ({
|
|
|
2880
2880
|
}]
|
|
2881
2881
|
}],
|
|
2882
2882
|
"mask-image-radial-pos": [{
|
|
2883
|
-
"mask-radial-at":
|
|
2883
|
+
"mask-radial-at": N()
|
|
2884
2884
|
}],
|
|
2885
2885
|
"mask-image-conic-pos": [{
|
|
2886
2886
|
"mask-conic": [_]
|
|
2887
2887
|
}],
|
|
2888
2888
|
"mask-image-conic-from-pos": [{
|
|
2889
|
-
"mask-conic-from":
|
|
2889
|
+
"mask-conic-from": C()
|
|
2890
2890
|
}],
|
|
2891
2891
|
"mask-image-conic-to-pos": [{
|
|
2892
|
-
"mask-conic-to":
|
|
2892
|
+
"mask-conic-to": C()
|
|
2893
2893
|
}],
|
|
2894
2894
|
"mask-image-conic-from-color": [{
|
|
2895
2895
|
"mask-conic-from": h()
|
|
@@ -2916,14 +2916,14 @@ const dr = ({
|
|
|
2916
2916
|
* @see https://tailwindcss.com/docs/mask-position
|
|
2917
2917
|
*/
|
|
2918
2918
|
"mask-position": [{
|
|
2919
|
-
mask:
|
|
2919
|
+
mask: G()
|
|
2920
2920
|
}],
|
|
2921
2921
|
/**
|
|
2922
2922
|
* Mask Repeat
|
|
2923
2923
|
* @see https://tailwindcss.com/docs/mask-repeat
|
|
2924
2924
|
*/
|
|
2925
2925
|
"mask-repeat": [{
|
|
2926
|
-
mask:
|
|
2926
|
+
mask: te()
|
|
2927
2927
|
}],
|
|
2928
2928
|
/**
|
|
2929
2929
|
* Mask Size
|
|
@@ -2944,7 +2944,7 @@ const dr = ({
|
|
|
2944
2944
|
* @see https://tailwindcss.com/docs/mask-image
|
|
2945
2945
|
*/
|
|
2946
2946
|
"mask-image": [{
|
|
2947
|
-
mask: ["none", g,
|
|
2947
|
+
mask: ["none", g, f]
|
|
2948
2948
|
}],
|
|
2949
2949
|
// ---------------
|
|
2950
2950
|
// --- Filters ---
|
|
@@ -2959,7 +2959,7 @@ const dr = ({
|
|
|
2959
2959
|
"",
|
|
2960
2960
|
"none",
|
|
2961
2961
|
g,
|
|
2962
|
-
|
|
2962
|
+
f
|
|
2963
2963
|
]
|
|
2964
2964
|
}],
|
|
2965
2965
|
/**
|
|
@@ -2974,14 +2974,14 @@ const dr = ({
|
|
|
2974
2974
|
* @see https://tailwindcss.com/docs/brightness
|
|
2975
2975
|
*/
|
|
2976
2976
|
brightness: [{
|
|
2977
|
-
brightness: [_, g,
|
|
2977
|
+
brightness: [_, g, f]
|
|
2978
2978
|
}],
|
|
2979
2979
|
/**
|
|
2980
2980
|
* Contrast
|
|
2981
2981
|
* @see https://tailwindcss.com/docs/contrast
|
|
2982
2982
|
*/
|
|
2983
2983
|
contrast: [{
|
|
2984
|
-
contrast: [_, g,
|
|
2984
|
+
contrast: [_, g, f]
|
|
2985
2985
|
}],
|
|
2986
2986
|
/**
|
|
2987
2987
|
* Drop Shadow
|
|
@@ -2992,9 +2992,9 @@ const dr = ({
|
|
|
2992
2992
|
// Deprecated since Tailwind CSS v4.0.0
|
|
2993
2993
|
"",
|
|
2994
2994
|
"none",
|
|
2995
|
-
|
|
2996
|
-
|
|
2997
|
-
|
|
2995
|
+
D,
|
|
2996
|
+
Te,
|
|
2997
|
+
ke
|
|
2998
2998
|
]
|
|
2999
2999
|
}],
|
|
3000
3000
|
/**
|
|
@@ -3009,35 +3009,35 @@ const dr = ({
|
|
|
3009
3009
|
* @see https://tailwindcss.com/docs/grayscale
|
|
3010
3010
|
*/
|
|
3011
3011
|
grayscale: [{
|
|
3012
|
-
grayscale: ["", _, g,
|
|
3012
|
+
grayscale: ["", _, g, f]
|
|
3013
3013
|
}],
|
|
3014
3014
|
/**
|
|
3015
3015
|
* Hue Rotate
|
|
3016
3016
|
* @see https://tailwindcss.com/docs/hue-rotate
|
|
3017
3017
|
*/
|
|
3018
3018
|
"hue-rotate": [{
|
|
3019
|
-
"hue-rotate": [_, g,
|
|
3019
|
+
"hue-rotate": [_, g, f]
|
|
3020
3020
|
}],
|
|
3021
3021
|
/**
|
|
3022
3022
|
* Invert
|
|
3023
3023
|
* @see https://tailwindcss.com/docs/invert
|
|
3024
3024
|
*/
|
|
3025
3025
|
invert: [{
|
|
3026
|
-
invert: ["", _, g,
|
|
3026
|
+
invert: ["", _, g, f]
|
|
3027
3027
|
}],
|
|
3028
3028
|
/**
|
|
3029
3029
|
* Saturate
|
|
3030
3030
|
* @see https://tailwindcss.com/docs/saturate
|
|
3031
3031
|
*/
|
|
3032
3032
|
saturate: [{
|
|
3033
|
-
saturate: [_, g,
|
|
3033
|
+
saturate: [_, g, f]
|
|
3034
3034
|
}],
|
|
3035
3035
|
/**
|
|
3036
3036
|
* Sepia
|
|
3037
3037
|
* @see https://tailwindcss.com/docs/sepia
|
|
3038
3038
|
*/
|
|
3039
3039
|
sepia: [{
|
|
3040
|
-
sepia: ["", _, g,
|
|
3040
|
+
sepia: ["", _, g, f]
|
|
3041
3041
|
}],
|
|
3042
3042
|
/**
|
|
3043
3043
|
* Backdrop Filter
|
|
@@ -3049,7 +3049,7 @@ const dr = ({
|
|
|
3049
3049
|
"",
|
|
3050
3050
|
"none",
|
|
3051
3051
|
g,
|
|
3052
|
-
|
|
3052
|
+
f
|
|
3053
3053
|
]
|
|
3054
3054
|
}],
|
|
3055
3055
|
/**
|
|
@@ -3064,56 +3064,56 @@ const dr = ({
|
|
|
3064
3064
|
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
3065
3065
|
*/
|
|
3066
3066
|
"backdrop-brightness": [{
|
|
3067
|
-
"backdrop-brightness": [_, g,
|
|
3067
|
+
"backdrop-brightness": [_, g, f]
|
|
3068
3068
|
}],
|
|
3069
3069
|
/**
|
|
3070
3070
|
* Backdrop Contrast
|
|
3071
3071
|
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
3072
3072
|
*/
|
|
3073
3073
|
"backdrop-contrast": [{
|
|
3074
|
-
"backdrop-contrast": [_, g,
|
|
3074
|
+
"backdrop-contrast": [_, g, f]
|
|
3075
3075
|
}],
|
|
3076
3076
|
/**
|
|
3077
3077
|
* Backdrop Grayscale
|
|
3078
3078
|
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
3079
3079
|
*/
|
|
3080
3080
|
"backdrop-grayscale": [{
|
|
3081
|
-
"backdrop-grayscale": ["", _, g,
|
|
3081
|
+
"backdrop-grayscale": ["", _, g, f]
|
|
3082
3082
|
}],
|
|
3083
3083
|
/**
|
|
3084
3084
|
* Backdrop Hue Rotate
|
|
3085
3085
|
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
3086
3086
|
*/
|
|
3087
3087
|
"backdrop-hue-rotate": [{
|
|
3088
|
-
"backdrop-hue-rotate": [_, g,
|
|
3088
|
+
"backdrop-hue-rotate": [_, g, f]
|
|
3089
3089
|
}],
|
|
3090
3090
|
/**
|
|
3091
3091
|
* Backdrop Invert
|
|
3092
3092
|
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
3093
3093
|
*/
|
|
3094
3094
|
"backdrop-invert": [{
|
|
3095
|
-
"backdrop-invert": ["", _, g,
|
|
3095
|
+
"backdrop-invert": ["", _, g, f]
|
|
3096
3096
|
}],
|
|
3097
3097
|
/**
|
|
3098
3098
|
* Backdrop Opacity
|
|
3099
3099
|
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
3100
3100
|
*/
|
|
3101
3101
|
"backdrop-opacity": [{
|
|
3102
|
-
"backdrop-opacity": [_, g,
|
|
3102
|
+
"backdrop-opacity": [_, g, f]
|
|
3103
3103
|
}],
|
|
3104
3104
|
/**
|
|
3105
3105
|
* Backdrop Saturate
|
|
3106
3106
|
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
3107
3107
|
*/
|
|
3108
3108
|
"backdrop-saturate": [{
|
|
3109
|
-
"backdrop-saturate": [_, g,
|
|
3109
|
+
"backdrop-saturate": [_, g, f]
|
|
3110
3110
|
}],
|
|
3111
3111
|
/**
|
|
3112
3112
|
* Backdrop Sepia
|
|
3113
3113
|
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
3114
3114
|
*/
|
|
3115
3115
|
"backdrop-sepia": [{
|
|
3116
|
-
"backdrop-sepia": ["", _, g,
|
|
3116
|
+
"backdrop-sepia": ["", _, g, f]
|
|
3117
3117
|
}],
|
|
3118
3118
|
// --------------
|
|
3119
3119
|
// --- Tables ---
|
|
@@ -3130,21 +3130,21 @@ const dr = ({
|
|
|
3130
3130
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
3131
3131
|
*/
|
|
3132
3132
|
"border-spacing": [{
|
|
3133
|
-
"border-spacing":
|
|
3133
|
+
"border-spacing": p()
|
|
3134
3134
|
}],
|
|
3135
3135
|
/**
|
|
3136
3136
|
* Border Spacing X
|
|
3137
3137
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
3138
3138
|
*/
|
|
3139
3139
|
"border-spacing-x": [{
|
|
3140
|
-
"border-spacing-x":
|
|
3140
|
+
"border-spacing-x": p()
|
|
3141
3141
|
}],
|
|
3142
3142
|
/**
|
|
3143
3143
|
* Border Spacing Y
|
|
3144
3144
|
* @see https://tailwindcss.com/docs/border-spacing
|
|
3145
3145
|
*/
|
|
3146
3146
|
"border-spacing-y": [{
|
|
3147
|
-
"border-spacing-y":
|
|
3147
|
+
"border-spacing-y": p()
|
|
3148
3148
|
}],
|
|
3149
3149
|
/**
|
|
3150
3150
|
* Table Layout
|
|
@@ -3168,7 +3168,7 @@ const dr = ({
|
|
|
3168
3168
|
* @see https://tailwindcss.com/docs/transition-property
|
|
3169
3169
|
*/
|
|
3170
3170
|
transition: [{
|
|
3171
|
-
transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", g,
|
|
3171
|
+
transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", g, f]
|
|
3172
3172
|
}],
|
|
3173
3173
|
/**
|
|
3174
3174
|
* Transition Behavior
|
|
@@ -3182,28 +3182,28 @@ const dr = ({
|
|
|
3182
3182
|
* @see https://tailwindcss.com/docs/transition-duration
|
|
3183
3183
|
*/
|
|
3184
3184
|
duration: [{
|
|
3185
|
-
duration: [_, "initial", g,
|
|
3185
|
+
duration: [_, "initial", g, f]
|
|
3186
3186
|
}],
|
|
3187
3187
|
/**
|
|
3188
3188
|
* Transition Timing Function
|
|
3189
3189
|
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
3190
3190
|
*/
|
|
3191
3191
|
ease: [{
|
|
3192
|
-
ease: ["linear", "initial",
|
|
3192
|
+
ease: ["linear", "initial", V, g, f]
|
|
3193
3193
|
}],
|
|
3194
3194
|
/**
|
|
3195
3195
|
* Transition Delay
|
|
3196
3196
|
* @see https://tailwindcss.com/docs/transition-delay
|
|
3197
3197
|
*/
|
|
3198
3198
|
delay: [{
|
|
3199
|
-
delay: [_, g,
|
|
3199
|
+
delay: [_, g, f]
|
|
3200
3200
|
}],
|
|
3201
3201
|
/**
|
|
3202
3202
|
* Animation
|
|
3203
3203
|
* @see https://tailwindcss.com/docs/animation
|
|
3204
3204
|
*/
|
|
3205
3205
|
animate: [{
|
|
3206
|
-
animate: ["none",
|
|
3206
|
+
animate: ["none", B, g, f]
|
|
3207
3207
|
}],
|
|
3208
3208
|
// ------------------
|
|
3209
3209
|
// --- Transforms ---
|
|
@@ -3220,70 +3220,70 @@ const dr = ({
|
|
|
3220
3220
|
* @see https://tailwindcss.com/docs/perspective
|
|
3221
3221
|
*/
|
|
3222
3222
|
perspective: [{
|
|
3223
|
-
perspective: [
|
|
3223
|
+
perspective: [U, g, f]
|
|
3224
3224
|
}],
|
|
3225
3225
|
/**
|
|
3226
3226
|
* Perspective Origin
|
|
3227
3227
|
* @see https://tailwindcss.com/docs/perspective-origin
|
|
3228
3228
|
*/
|
|
3229
3229
|
"perspective-origin": [{
|
|
3230
|
-
"perspective-origin":
|
|
3230
|
+
"perspective-origin": Y()
|
|
3231
3231
|
}],
|
|
3232
3232
|
/**
|
|
3233
3233
|
* Rotate
|
|
3234
3234
|
* @see https://tailwindcss.com/docs/rotate
|
|
3235
3235
|
*/
|
|
3236
3236
|
rotate: [{
|
|
3237
|
-
rotate:
|
|
3237
|
+
rotate: ee()
|
|
3238
3238
|
}],
|
|
3239
3239
|
/**
|
|
3240
3240
|
* Rotate X
|
|
3241
3241
|
* @see https://tailwindcss.com/docs/rotate
|
|
3242
3242
|
*/
|
|
3243
3243
|
"rotate-x": [{
|
|
3244
|
-
"rotate-x":
|
|
3244
|
+
"rotate-x": ee()
|
|
3245
3245
|
}],
|
|
3246
3246
|
/**
|
|
3247
3247
|
* Rotate Y
|
|
3248
3248
|
* @see https://tailwindcss.com/docs/rotate
|
|
3249
3249
|
*/
|
|
3250
3250
|
"rotate-y": [{
|
|
3251
|
-
"rotate-y":
|
|
3251
|
+
"rotate-y": ee()
|
|
3252
3252
|
}],
|
|
3253
3253
|
/**
|
|
3254
3254
|
* Rotate Z
|
|
3255
3255
|
* @see https://tailwindcss.com/docs/rotate
|
|
3256
3256
|
*/
|
|
3257
3257
|
"rotate-z": [{
|
|
3258
|
-
"rotate-z":
|
|
3258
|
+
"rotate-z": ee()
|
|
3259
3259
|
}],
|
|
3260
3260
|
/**
|
|
3261
3261
|
* Scale
|
|
3262
3262
|
* @see https://tailwindcss.com/docs/scale
|
|
3263
3263
|
*/
|
|
3264
3264
|
scale: [{
|
|
3265
|
-
scale:
|
|
3265
|
+
scale: re()
|
|
3266
3266
|
}],
|
|
3267
3267
|
/**
|
|
3268
3268
|
* Scale X
|
|
3269
3269
|
* @see https://tailwindcss.com/docs/scale
|
|
3270
3270
|
*/
|
|
3271
3271
|
"scale-x": [{
|
|
3272
|
-
"scale-x":
|
|
3272
|
+
"scale-x": re()
|
|
3273
3273
|
}],
|
|
3274
3274
|
/**
|
|
3275
3275
|
* Scale Y
|
|
3276
3276
|
* @see https://tailwindcss.com/docs/scale
|
|
3277
3277
|
*/
|
|
3278
3278
|
"scale-y": [{
|
|
3279
|
-
"scale-y":
|
|
3279
|
+
"scale-y": re()
|
|
3280
3280
|
}],
|
|
3281
3281
|
/**
|
|
3282
3282
|
* Scale Z
|
|
3283
3283
|
* @see https://tailwindcss.com/docs/scale
|
|
3284
3284
|
*/
|
|
3285
3285
|
"scale-z": [{
|
|
3286
|
-
"scale-z":
|
|
3286
|
+
"scale-z": re()
|
|
3287
3287
|
}],
|
|
3288
3288
|
/**
|
|
3289
3289
|
* Scale 3D
|
|
@@ -3295,35 +3295,35 @@ const dr = ({
|
|
|
3295
3295
|
* @see https://tailwindcss.com/docs/skew
|
|
3296
3296
|
*/
|
|
3297
3297
|
skew: [{
|
|
3298
|
-
skew:
|
|
3298
|
+
skew: ie()
|
|
3299
3299
|
}],
|
|
3300
3300
|
/**
|
|
3301
3301
|
* Skew X
|
|
3302
3302
|
* @see https://tailwindcss.com/docs/skew
|
|
3303
3303
|
*/
|
|
3304
3304
|
"skew-x": [{
|
|
3305
|
-
"skew-x":
|
|
3305
|
+
"skew-x": ie()
|
|
3306
3306
|
}],
|
|
3307
3307
|
/**
|
|
3308
3308
|
* Skew Y
|
|
3309
3309
|
* @see https://tailwindcss.com/docs/skew
|
|
3310
3310
|
*/
|
|
3311
3311
|
"skew-y": [{
|
|
3312
|
-
"skew-y":
|
|
3312
|
+
"skew-y": ie()
|
|
3313
3313
|
}],
|
|
3314
3314
|
/**
|
|
3315
3315
|
* Transform
|
|
3316
3316
|
* @see https://tailwindcss.com/docs/transform
|
|
3317
3317
|
*/
|
|
3318
3318
|
transform: [{
|
|
3319
|
-
transform: [g,
|
|
3319
|
+
transform: [g, f, "", "none", "gpu", "cpu"]
|
|
3320
3320
|
}],
|
|
3321
3321
|
/**
|
|
3322
3322
|
* Transform Origin
|
|
3323
3323
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
3324
3324
|
*/
|
|
3325
3325
|
"transform-origin": [{
|
|
3326
|
-
origin:
|
|
3326
|
+
origin: Y()
|
|
3327
3327
|
}],
|
|
3328
3328
|
/**
|
|
3329
3329
|
* Transform Style
|
|
@@ -3337,28 +3337,28 @@ const dr = ({
|
|
|
3337
3337
|
* @see https://tailwindcss.com/docs/translate
|
|
3338
3338
|
*/
|
|
3339
3339
|
translate: [{
|
|
3340
|
-
translate:
|
|
3340
|
+
translate: P()
|
|
3341
3341
|
}],
|
|
3342
3342
|
/**
|
|
3343
3343
|
* Translate X
|
|
3344
3344
|
* @see https://tailwindcss.com/docs/translate
|
|
3345
3345
|
*/
|
|
3346
3346
|
"translate-x": [{
|
|
3347
|
-
"translate-x":
|
|
3347
|
+
"translate-x": P()
|
|
3348
3348
|
}],
|
|
3349
3349
|
/**
|
|
3350
3350
|
* Translate Y
|
|
3351
3351
|
* @see https://tailwindcss.com/docs/translate
|
|
3352
3352
|
*/
|
|
3353
3353
|
"translate-y": [{
|
|
3354
|
-
"translate-y":
|
|
3354
|
+
"translate-y": P()
|
|
3355
3355
|
}],
|
|
3356
3356
|
/**
|
|
3357
3357
|
* Translate Z
|
|
3358
3358
|
* @see https://tailwindcss.com/docs/translate
|
|
3359
3359
|
*/
|
|
3360
3360
|
"translate-z": [{
|
|
3361
|
-
"translate-z":
|
|
3361
|
+
"translate-z": P()
|
|
3362
3362
|
}],
|
|
3363
3363
|
/**
|
|
3364
3364
|
* Translate None
|
|
@@ -3401,7 +3401,7 @@ const dr = ({
|
|
|
3401
3401
|
* @see https://tailwindcss.com/docs/cursor
|
|
3402
3402
|
*/
|
|
3403
3403
|
cursor: [{
|
|
3404
|
-
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", g,
|
|
3404
|
+
cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", g, f]
|
|
3405
3405
|
}],
|
|
3406
3406
|
/**
|
|
3407
3407
|
* Field Sizing
|
|
@@ -3436,126 +3436,126 @@ const dr = ({
|
|
|
3436
3436
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3437
3437
|
*/
|
|
3438
3438
|
"scroll-m": [{
|
|
3439
|
-
"scroll-m":
|
|
3439
|
+
"scroll-m": p()
|
|
3440
3440
|
}],
|
|
3441
3441
|
/**
|
|
3442
3442
|
* Scroll Margin X
|
|
3443
3443
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3444
3444
|
*/
|
|
3445
3445
|
"scroll-mx": [{
|
|
3446
|
-
"scroll-mx":
|
|
3446
|
+
"scroll-mx": p()
|
|
3447
3447
|
}],
|
|
3448
3448
|
/**
|
|
3449
3449
|
* Scroll Margin Y
|
|
3450
3450
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3451
3451
|
*/
|
|
3452
3452
|
"scroll-my": [{
|
|
3453
|
-
"scroll-my":
|
|
3453
|
+
"scroll-my": p()
|
|
3454
3454
|
}],
|
|
3455
3455
|
/**
|
|
3456
3456
|
* Scroll Margin Start
|
|
3457
3457
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3458
3458
|
*/
|
|
3459
3459
|
"scroll-ms": [{
|
|
3460
|
-
"scroll-ms":
|
|
3460
|
+
"scroll-ms": p()
|
|
3461
3461
|
}],
|
|
3462
3462
|
/**
|
|
3463
3463
|
* Scroll Margin End
|
|
3464
3464
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3465
3465
|
*/
|
|
3466
3466
|
"scroll-me": [{
|
|
3467
|
-
"scroll-me":
|
|
3467
|
+
"scroll-me": p()
|
|
3468
3468
|
}],
|
|
3469
3469
|
/**
|
|
3470
3470
|
* Scroll Margin Top
|
|
3471
3471
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3472
3472
|
*/
|
|
3473
3473
|
"scroll-mt": [{
|
|
3474
|
-
"scroll-mt":
|
|
3474
|
+
"scroll-mt": p()
|
|
3475
3475
|
}],
|
|
3476
3476
|
/**
|
|
3477
3477
|
* Scroll Margin Right
|
|
3478
3478
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3479
3479
|
*/
|
|
3480
3480
|
"scroll-mr": [{
|
|
3481
|
-
"scroll-mr":
|
|
3481
|
+
"scroll-mr": p()
|
|
3482
3482
|
}],
|
|
3483
3483
|
/**
|
|
3484
3484
|
* Scroll Margin Bottom
|
|
3485
3485
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3486
3486
|
*/
|
|
3487
3487
|
"scroll-mb": [{
|
|
3488
|
-
"scroll-mb":
|
|
3488
|
+
"scroll-mb": p()
|
|
3489
3489
|
}],
|
|
3490
3490
|
/**
|
|
3491
3491
|
* Scroll Margin Left
|
|
3492
3492
|
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3493
3493
|
*/
|
|
3494
3494
|
"scroll-ml": [{
|
|
3495
|
-
"scroll-ml":
|
|
3495
|
+
"scroll-ml": p()
|
|
3496
3496
|
}],
|
|
3497
3497
|
/**
|
|
3498
3498
|
* Scroll Padding
|
|
3499
3499
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3500
3500
|
*/
|
|
3501
3501
|
"scroll-p": [{
|
|
3502
|
-
"scroll-p":
|
|
3502
|
+
"scroll-p": p()
|
|
3503
3503
|
}],
|
|
3504
3504
|
/**
|
|
3505
3505
|
* Scroll Padding X
|
|
3506
3506
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3507
3507
|
*/
|
|
3508
3508
|
"scroll-px": [{
|
|
3509
|
-
"scroll-px":
|
|
3509
|
+
"scroll-px": p()
|
|
3510
3510
|
}],
|
|
3511
3511
|
/**
|
|
3512
3512
|
* Scroll Padding Y
|
|
3513
3513
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3514
3514
|
*/
|
|
3515
3515
|
"scroll-py": [{
|
|
3516
|
-
"scroll-py":
|
|
3516
|
+
"scroll-py": p()
|
|
3517
3517
|
}],
|
|
3518
3518
|
/**
|
|
3519
3519
|
* Scroll Padding Start
|
|
3520
3520
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3521
3521
|
*/
|
|
3522
3522
|
"scroll-ps": [{
|
|
3523
|
-
"scroll-ps":
|
|
3523
|
+
"scroll-ps": p()
|
|
3524
3524
|
}],
|
|
3525
3525
|
/**
|
|
3526
3526
|
* Scroll Padding End
|
|
3527
3527
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3528
3528
|
*/
|
|
3529
3529
|
"scroll-pe": [{
|
|
3530
|
-
"scroll-pe":
|
|
3530
|
+
"scroll-pe": p()
|
|
3531
3531
|
}],
|
|
3532
3532
|
/**
|
|
3533
3533
|
* Scroll Padding Top
|
|
3534
3534
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3535
3535
|
*/
|
|
3536
3536
|
"scroll-pt": [{
|
|
3537
|
-
"scroll-pt":
|
|
3537
|
+
"scroll-pt": p()
|
|
3538
3538
|
}],
|
|
3539
3539
|
/**
|
|
3540
3540
|
* Scroll Padding Right
|
|
3541
3541
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3542
3542
|
*/
|
|
3543
3543
|
"scroll-pr": [{
|
|
3544
|
-
"scroll-pr":
|
|
3544
|
+
"scroll-pr": p()
|
|
3545
3545
|
}],
|
|
3546
3546
|
/**
|
|
3547
3547
|
* Scroll Padding Bottom
|
|
3548
3548
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3549
3549
|
*/
|
|
3550
3550
|
"scroll-pb": [{
|
|
3551
|
-
"scroll-pb":
|
|
3551
|
+
"scroll-pb": p()
|
|
3552
3552
|
}],
|
|
3553
3553
|
/**
|
|
3554
3554
|
* Scroll Padding Left
|
|
3555
3555
|
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3556
3556
|
*/
|
|
3557
3557
|
"scroll-pl": [{
|
|
3558
|
-
"scroll-pl":
|
|
3558
|
+
"scroll-pl": p()
|
|
3559
3559
|
}],
|
|
3560
3560
|
/**
|
|
3561
3561
|
* Scroll Snap Align
|
|
@@ -3623,7 +3623,7 @@ const dr = ({
|
|
|
3623
3623
|
* @see https://tailwindcss.com/docs/will-change
|
|
3624
3624
|
*/
|
|
3625
3625
|
"will-change": [{
|
|
3626
|
-
"will-change": ["auto", "scroll", "contents", "transform", g,
|
|
3626
|
+
"will-change": ["auto", "scroll", "contents", "transform", g, f]
|
|
3627
3627
|
}],
|
|
3628
3628
|
// -----------
|
|
3629
3629
|
// --- SVG ---
|
|
@@ -3640,7 +3640,7 @@ const dr = ({
|
|
|
3640
3640
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
3641
3641
|
*/
|
|
3642
3642
|
"stroke-w": [{
|
|
3643
|
-
stroke: [_,
|
|
3643
|
+
stroke: [_, ve, fe, Re]
|
|
3644
3644
|
}],
|
|
3645
3645
|
/**
|
|
3646
3646
|
* Stroke
|
|
@@ -3715,49 +3715,49 @@ const dr = ({
|
|
|
3715
3715
|
},
|
|
3716
3716
|
orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
|
|
3717
3717
|
};
|
|
3718
|
-
},
|
|
3719
|
-
function
|
|
3718
|
+
}, rn = /* @__PURE__ */ Or(tn);
|
|
3719
|
+
function St(e) {
|
|
3720
3720
|
var t, r, n = "";
|
|
3721
3721
|
if (typeof e == "string" || typeof e == "number") n += e;
|
|
3722
3722
|
else if (typeof e == "object") if (Array.isArray(e)) {
|
|
3723
3723
|
var s = e.length;
|
|
3724
|
-
for (t = 0; t < s; t++) e[t] && (r =
|
|
3724
|
+
for (t = 0; t < s; t++) e[t] && (r = St(e[t])) && (n && (n += " "), n += r);
|
|
3725
3725
|
} else for (r in e) e[r] && (n && (n += " "), n += r);
|
|
3726
3726
|
return n;
|
|
3727
3727
|
}
|
|
3728
|
-
function
|
|
3729
|
-
for (var e, t, r = 0, n = "", s = arguments.length; r < s; r++) (e = arguments[r]) && (t =
|
|
3728
|
+
function nn() {
|
|
3729
|
+
for (var e, t, r = 0, n = "", s = arguments.length; r < s; r++) (e = arguments[r]) && (t = St(e)) && (n && (n += " "), n += t);
|
|
3730
3730
|
return n;
|
|
3731
3731
|
}
|
|
3732
|
-
function
|
|
3733
|
-
return
|
|
3732
|
+
function Ae(...e) {
|
|
3733
|
+
return rn(nn(e));
|
|
3734
3734
|
}
|
|
3735
|
-
var
|
|
3735
|
+
var Ee, Ze;
|
|
3736
3736
|
function Rt() {
|
|
3737
|
-
if (Ze) return
|
|
3737
|
+
if (Ze) return Ee;
|
|
3738
3738
|
Ze = 1;
|
|
3739
3739
|
function e(t) {
|
|
3740
3740
|
var r = typeof t;
|
|
3741
3741
|
return t != null && (r == "object" || r == "function");
|
|
3742
3742
|
}
|
|
3743
|
-
return
|
|
3743
|
+
return Ee = e, Ee;
|
|
3744
3744
|
}
|
|
3745
|
-
var
|
|
3746
|
-
function
|
|
3747
|
-
if (et) return
|
|
3745
|
+
var _e, et;
|
|
3746
|
+
function on() {
|
|
3747
|
+
if (et) return _e;
|
|
3748
3748
|
et = 1;
|
|
3749
|
-
var e = typeof
|
|
3750
|
-
return
|
|
3749
|
+
var e = typeof ye == "object" && ye && ye.Object === Object && ye;
|
|
3750
|
+
return _e = e, _e;
|
|
3751
3751
|
}
|
|
3752
|
-
var
|
|
3752
|
+
var Ne, tt;
|
|
3753
3753
|
function At() {
|
|
3754
|
-
if (tt) return
|
|
3754
|
+
if (tt) return Ne;
|
|
3755
3755
|
tt = 1;
|
|
3756
|
-
var e =
|
|
3757
|
-
return
|
|
3756
|
+
var e = on(), t = typeof self == "object" && self && self.Object === Object && self, r = e || t || Function("return this")();
|
|
3757
|
+
return Ne = r, Ne;
|
|
3758
3758
|
}
|
|
3759
3759
|
var Ie, rt;
|
|
3760
|
-
function
|
|
3760
|
+
function sn() {
|
|
3761
3761
|
if (rt) return Ie;
|
|
3762
3762
|
rt = 1;
|
|
3763
3763
|
var e = At(), t = function() {
|
|
@@ -3765,9 +3765,9 @@ function nn() {
|
|
|
3765
3765
|
};
|
|
3766
3766
|
return Ie = t, Ie;
|
|
3767
3767
|
}
|
|
3768
|
-
var
|
|
3769
|
-
function
|
|
3770
|
-
if (nt) return
|
|
3768
|
+
var Le, nt;
|
|
3769
|
+
function an() {
|
|
3770
|
+
if (nt) return Le;
|
|
3771
3771
|
nt = 1;
|
|
3772
3772
|
var e = /\s/;
|
|
3773
3773
|
function t(r) {
|
|
@@ -3775,455 +3775,454 @@ function on() {
|
|
|
3775
3775
|
;
|
|
3776
3776
|
return n;
|
|
3777
3777
|
}
|
|
3778
|
-
return
|
|
3778
|
+
return Le = t, Le;
|
|
3779
3779
|
}
|
|
3780
|
-
var
|
|
3781
|
-
function
|
|
3782
|
-
if (ot) return
|
|
3780
|
+
var ze, ot;
|
|
3781
|
+
function ln() {
|
|
3782
|
+
if (ot) return ze;
|
|
3783
3783
|
ot = 1;
|
|
3784
|
-
var e =
|
|
3784
|
+
var e = an(), t = /^\s+/;
|
|
3785
3785
|
function r(n) {
|
|
3786
3786
|
return n && n.slice(0, e(n) + 1).replace(t, "");
|
|
3787
3787
|
}
|
|
3788
|
-
return
|
|
3788
|
+
return ze = r, ze;
|
|
3789
3789
|
}
|
|
3790
|
-
var
|
|
3790
|
+
var Oe, st;
|
|
3791
3791
|
function Et() {
|
|
3792
|
-
if (st) return
|
|
3792
|
+
if (st) return Oe;
|
|
3793
3793
|
st = 1;
|
|
3794
3794
|
var e = At(), t = e.Symbol;
|
|
3795
|
-
return
|
|
3795
|
+
return Oe = t, Oe;
|
|
3796
3796
|
}
|
|
3797
|
-
var
|
|
3798
|
-
function
|
|
3799
|
-
if (at) return
|
|
3797
|
+
var Pe, at;
|
|
3798
|
+
function cn() {
|
|
3799
|
+
if (at) return Pe;
|
|
3800
3800
|
at = 1;
|
|
3801
3801
|
var e = Et(), t = Object.prototype, r = t.hasOwnProperty, n = t.toString, s = e ? e.toStringTag : void 0;
|
|
3802
|
-
function
|
|
3803
|
-
var a = r.call(
|
|
3802
|
+
function d(l) {
|
|
3803
|
+
var a = r.call(l, s), u = l[s];
|
|
3804
3804
|
try {
|
|
3805
|
-
|
|
3806
|
-
var
|
|
3805
|
+
l[s] = void 0;
|
|
3806
|
+
var m = !0;
|
|
3807
3807
|
} catch {
|
|
3808
3808
|
}
|
|
3809
|
-
var A = n.call(
|
|
3810
|
-
return
|
|
3809
|
+
var A = n.call(l);
|
|
3810
|
+
return m && (a ? l[s] = u : delete l[s]), A;
|
|
3811
3811
|
}
|
|
3812
|
-
return
|
|
3812
|
+
return Pe = d, Pe;
|
|
3813
3813
|
}
|
|
3814
|
-
var
|
|
3815
|
-
function
|
|
3816
|
-
if (it) return
|
|
3814
|
+
var Me, it;
|
|
3815
|
+
function dn() {
|
|
3816
|
+
if (it) return Me;
|
|
3817
3817
|
it = 1;
|
|
3818
3818
|
var e = Object.prototype, t = e.toString;
|
|
3819
3819
|
function r(n) {
|
|
3820
3820
|
return t.call(n);
|
|
3821
3821
|
}
|
|
3822
|
-
return
|
|
3822
|
+
return Me = r, Me;
|
|
3823
3823
|
}
|
|
3824
|
-
var
|
|
3825
|
-
function
|
|
3826
|
-
if (lt) return
|
|
3824
|
+
var qe, lt;
|
|
3825
|
+
function un() {
|
|
3826
|
+
if (lt) return qe;
|
|
3827
3827
|
lt = 1;
|
|
3828
|
-
var e = Et(), t =
|
|
3829
|
-
function
|
|
3830
|
-
return a == null ? a === void 0 ? s : n :
|
|
3828
|
+
var e = Et(), t = cn(), r = dn(), n = "[object Null]", s = "[object Undefined]", d = e ? e.toStringTag : void 0;
|
|
3829
|
+
function l(a) {
|
|
3830
|
+
return a == null ? a === void 0 ? s : n : d && d in Object(a) ? t(a) : r(a);
|
|
3831
3831
|
}
|
|
3832
|
-
return
|
|
3832
|
+
return qe = l, qe;
|
|
3833
3833
|
}
|
|
3834
|
-
var
|
|
3835
|
-
function
|
|
3836
|
-
if (ct) return
|
|
3834
|
+
var De, ct;
|
|
3835
|
+
function mn() {
|
|
3836
|
+
if (ct) return De;
|
|
3837
3837
|
ct = 1;
|
|
3838
3838
|
function e(t) {
|
|
3839
3839
|
return t != null && typeof t == "object";
|
|
3840
3840
|
}
|
|
3841
|
-
return
|
|
3841
|
+
return De = e, De;
|
|
3842
3842
|
}
|
|
3843
|
-
var
|
|
3844
|
-
function
|
|
3845
|
-
if (dt) return
|
|
3843
|
+
var Fe, dt;
|
|
3844
|
+
function fn() {
|
|
3845
|
+
if (dt) return Fe;
|
|
3846
3846
|
dt = 1;
|
|
3847
|
-
var e =
|
|
3847
|
+
var e = un(), t = mn(), r = "[object Symbol]";
|
|
3848
3848
|
function n(s) {
|
|
3849
3849
|
return typeof s == "symbol" || t(s) && e(s) == r;
|
|
3850
3850
|
}
|
|
3851
|
-
return
|
|
3851
|
+
return Fe = n, Fe;
|
|
3852
3852
|
}
|
|
3853
|
-
var
|
|
3854
|
-
function
|
|
3855
|
-
if (ut) return
|
|
3853
|
+
var Ue, ut;
|
|
3854
|
+
function gn() {
|
|
3855
|
+
if (ut) return Ue;
|
|
3856
3856
|
ut = 1;
|
|
3857
|
-
var e =
|
|
3858
|
-
function m
|
|
3859
|
-
if (typeof
|
|
3860
|
-
return
|
|
3861
|
-
if (r(
|
|
3857
|
+
var e = ln(), t = Rt(), r = fn(), n = NaN, s = /^[-+]0x[0-9a-f]+$/i, d = /^0b[01]+$/i, l = /^0o[0-7]+$/i, a = parseInt;
|
|
3858
|
+
function u(m) {
|
|
3859
|
+
if (typeof m == "number")
|
|
3860
|
+
return m;
|
|
3861
|
+
if (r(m))
|
|
3862
3862
|
return n;
|
|
3863
|
-
if (t(
|
|
3864
|
-
var A = typeof
|
|
3865
|
-
|
|
3863
|
+
if (t(m)) {
|
|
3864
|
+
var A = typeof m.valueOf == "function" ? m.valueOf() : m;
|
|
3865
|
+
m = t(A) ? A + "" : A;
|
|
3866
3866
|
}
|
|
3867
|
-
if (typeof
|
|
3868
|
-
return
|
|
3869
|
-
|
|
3870
|
-
var
|
|
3871
|
-
return
|
|
3867
|
+
if (typeof m != "string")
|
|
3868
|
+
return m === 0 ? m : +m;
|
|
3869
|
+
m = e(m);
|
|
3870
|
+
var L = d.test(m);
|
|
3871
|
+
return L || l.test(m) ? a(m.slice(2), L ? 2 : 8) : s.test(m) ? n : +m;
|
|
3872
3872
|
}
|
|
3873
|
-
return
|
|
3873
|
+
return Ue = u, Ue;
|
|
3874
3874
|
}
|
|
3875
|
-
var
|
|
3876
|
-
function
|
|
3877
|
-
if (mt) return
|
|
3875
|
+
var $e, mt;
|
|
3876
|
+
function pn() {
|
|
3877
|
+
if (mt) return $e;
|
|
3878
3878
|
mt = 1;
|
|
3879
|
-
var e = Rt(), t =
|
|
3880
|
-
function
|
|
3881
|
-
var A,
|
|
3879
|
+
var e = Rt(), t = sn(), r = gn(), n = "Expected a function", s = Math.max, d = Math.min;
|
|
3880
|
+
function l(a, u, m) {
|
|
3881
|
+
var A, L, M, D, S, U, z = 0, V = !1, B = !1, k = !0;
|
|
3882
3882
|
if (typeof a != "function")
|
|
3883
3883
|
throw new TypeError(n);
|
|
3884
|
-
|
|
3885
|
-
function
|
|
3886
|
-
var E = A,
|
|
3887
|
-
return A =
|
|
3884
|
+
u = r(u) || 0, e(m) && (V = !!m.leading, B = "maxWait" in m, M = B ? s(r(m.maxWait) || 0, u) : M, k = "trailing" in m ? !!m.trailing : k);
|
|
3885
|
+
function N(v) {
|
|
3886
|
+
var E = A, q = L;
|
|
3887
|
+
return A = L = void 0, z = v, D = a.apply(q, E), D;
|
|
3888
3888
|
}
|
|
3889
|
-
function
|
|
3890
|
-
return
|
|
3889
|
+
function Y(v) {
|
|
3890
|
+
return z = v, S = setTimeout(p, u), V ? N(v) : D;
|
|
3891
3891
|
}
|
|
3892
|
-
function
|
|
3893
|
-
var E = v -
|
|
3894
|
-
return
|
|
3892
|
+
function W(v) {
|
|
3893
|
+
var E = v - U, q = v - z, O = u - E;
|
|
3894
|
+
return B ? d(O, M - q) : O;
|
|
3895
3895
|
}
|
|
3896
|
-
function
|
|
3897
|
-
var E = v -
|
|
3898
|
-
return
|
|
3896
|
+
function K(v) {
|
|
3897
|
+
var E = v - U, q = v - z;
|
|
3898
|
+
return U === void 0 || E >= u || E < 0 || B && q >= M;
|
|
3899
3899
|
}
|
|
3900
|
-
function
|
|
3900
|
+
function p() {
|
|
3901
3901
|
var v = t();
|
|
3902
|
-
if (
|
|
3903
|
-
return
|
|
3904
|
-
S = setTimeout(
|
|
3902
|
+
if (K(v))
|
|
3903
|
+
return c(v);
|
|
3904
|
+
S = setTimeout(p, W(v));
|
|
3905
3905
|
}
|
|
3906
|
-
function
|
|
3907
|
-
return S = void 0,
|
|
3906
|
+
function c(v) {
|
|
3907
|
+
return S = void 0, k && A ? N(v) : (A = L = void 0, D);
|
|
3908
3908
|
}
|
|
3909
3909
|
function y() {
|
|
3910
|
-
S !== void 0 && clearTimeout(S),
|
|
3910
|
+
S !== void 0 && clearTimeout(S), z = 0, A = U = L = S = void 0;
|
|
3911
3911
|
}
|
|
3912
|
-
function
|
|
3913
|
-
return S === void 0 ?
|
|
3912
|
+
function j() {
|
|
3913
|
+
return S === void 0 ? D : c(t());
|
|
3914
3914
|
}
|
|
3915
3915
|
function x() {
|
|
3916
|
-
var v = t(), E =
|
|
3917
|
-
if (A = arguments,
|
|
3916
|
+
var v = t(), E = K(v);
|
|
3917
|
+
if (A = arguments, L = this, U = v, E) {
|
|
3918
3918
|
if (S === void 0)
|
|
3919
|
-
return
|
|
3920
|
-
if (
|
|
3921
|
-
return clearTimeout(S), S = setTimeout(
|
|
3919
|
+
return Y(U);
|
|
3920
|
+
if (B)
|
|
3921
|
+
return clearTimeout(S), S = setTimeout(p, u), N(U);
|
|
3922
3922
|
}
|
|
3923
|
-
return S === void 0 && (S = setTimeout(
|
|
3923
|
+
return S === void 0 && (S = setTimeout(p, u)), D;
|
|
3924
3924
|
}
|
|
3925
|
-
return x.cancel = y, x.flush =
|
|
3925
|
+
return x.cancel = y, x.flush = j, x;
|
|
3926
3926
|
}
|
|
3927
|
-
return
|
|
3927
|
+
return $e = l, $e;
|
|
3928
3928
|
}
|
|
3929
|
-
var
|
|
3930
|
-
const
|
|
3929
|
+
var bn = pn();
|
|
3930
|
+
const hn = /* @__PURE__ */ lr(bn), xn = Lt(
|
|
3931
3931
|
({
|
|
3932
3932
|
initialContent: e = "",
|
|
3933
3933
|
onChange: t,
|
|
3934
3934
|
onSave: r,
|
|
3935
3935
|
onExport: n,
|
|
3936
3936
|
readOnly: s = !1,
|
|
3937
|
-
showButtons:
|
|
3938
|
-
showSaveTitle:
|
|
3937
|
+
showButtons: d = !1,
|
|
3938
|
+
showSaveTitle: l = !1,
|
|
3939
3939
|
showStatusBar: a = !1,
|
|
3940
|
-
height:
|
|
3941
|
-
onImageUpload:
|
|
3940
|
+
height: u = "500px",
|
|
3941
|
+
onImageUpload: m,
|
|
3942
3942
|
imageUploadEndpoint: A,
|
|
3943
|
-
allowedImageTypes:
|
|
3943
|
+
allowedImageTypes: L = [
|
|
3944
3944
|
"image/jpeg",
|
|
3945
3945
|
"image/png",
|
|
3946
3946
|
"image/gif",
|
|
3947
3947
|
"image/webp",
|
|
3948
3948
|
"image/svg+xml"
|
|
3949
3949
|
],
|
|
3950
|
-
maxImageSize:
|
|
3951
|
-
onInit:
|
|
3950
|
+
maxImageSize: M = 5 * 1024 * 1024,
|
|
3951
|
+
onInit: D,
|
|
3952
3952
|
debounceDelay: S = 300,
|
|
3953
|
-
className:
|
|
3954
|
-
placeholder:
|
|
3955
|
-
autoFocus:
|
|
3956
|
-
},
|
|
3953
|
+
className: U = "",
|
|
3954
|
+
placeholder: z = "Start typing here...",
|
|
3955
|
+
autoFocus: V = !1
|
|
3956
|
+
}, B) => {
|
|
3957
3957
|
const {
|
|
3958
|
-
editorState:
|
|
3959
|
-
editorRef:
|
|
3960
|
-
updateContent:
|
|
3961
|
-
updateTitle:
|
|
3962
|
-
executeCommand:
|
|
3963
|
-
getValidationResult:
|
|
3964
|
-
exportToHTML:
|
|
3958
|
+
editorState: k,
|
|
3959
|
+
editorRef: N,
|
|
3960
|
+
updateContent: Y,
|
|
3961
|
+
updateTitle: W,
|
|
3962
|
+
executeCommand: K,
|
|
3963
|
+
getValidationResult: p,
|
|
3964
|
+
exportToHTML: c,
|
|
3965
3965
|
clearEditor: y,
|
|
3966
|
-
handlePaste:
|
|
3966
|
+
handlePaste: j,
|
|
3967
3967
|
handleDrop: x,
|
|
3968
3968
|
insertImage: v,
|
|
3969
3969
|
uploadPendingImages: E
|
|
3970
|
-
} =
|
|
3970
|
+
} = gr({
|
|
3971
3971
|
initialContent: e,
|
|
3972
|
-
onImageUpload:
|
|
3972
|
+
onImageUpload: m,
|
|
3973
3973
|
imageUploadEndpoint: A,
|
|
3974
|
-
allowedImageTypes:
|
|
3975
|
-
maxImageSize:
|
|
3976
|
-
}),
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
3974
|
+
allowedImageTypes: L,
|
|
3975
|
+
maxImageSize: M
|
|
3976
|
+
}), q = ne(null), O = ne(!1), $ = ne(null), [h, G] = Z(!1), [te, o] = Z(""), [T, w] = Z(!1), [R, X] = Z(0), ae = ne(null), C = ne(t), Q = ne(k.content), ee = ne(k.title);
|
|
3977
|
+
me(() => {
|
|
3978
|
+
C.current = t;
|
|
3979
|
+
}, [t]), zt(B, () => ({
|
|
3980
|
+
getContent: () => k.content,
|
|
3981
|
+
getHTML: () => c(),
|
|
3982
|
+
getTitle: () => k.title,
|
|
3981
3983
|
clear: y,
|
|
3982
3984
|
focus: () => {
|
|
3983
|
-
if (
|
|
3984
|
-
|
|
3985
|
-
const
|
|
3986
|
-
|
|
3987
|
-
const
|
|
3988
|
-
|
|
3985
|
+
if (N.current) {
|
|
3986
|
+
N.current.focus();
|
|
3987
|
+
const b = document.createRange();
|
|
3988
|
+
b.selectNodeContents(N.current), b.collapse(!1);
|
|
3989
|
+
const F = window.getSelection();
|
|
3990
|
+
F?.removeAllRanges(), F?.addRange(b);
|
|
3989
3991
|
}
|
|
3990
3992
|
},
|
|
3991
|
-
insertText: (
|
|
3992
|
-
|
|
3993
|
+
insertText: (b) => {
|
|
3994
|
+
N.current && (document.execCommand("insertText", !1, b), Y(N.current.innerHTML));
|
|
3993
3995
|
},
|
|
3994
|
-
insertHTML: (
|
|
3995
|
-
|
|
3996
|
+
insertHTML: (b) => {
|
|
3997
|
+
N.current && (document.execCommand("insertHTML", !1, b), Y(N.current.innerHTML));
|
|
3996
3998
|
},
|
|
3997
|
-
executeCommand: (
|
|
3998
|
-
|
|
3999
|
+
executeCommand: (b, F) => {
|
|
4000
|
+
K(b, F);
|
|
3999
4001
|
}
|
|
4000
|
-
})),
|
|
4001
|
-
|
|
4002
|
-
}, [
|
|
4003
|
-
|
|
4004
|
-
if (
|
|
4005
|
-
|
|
4006
|
-
const
|
|
4007
|
-
|
|
4008
|
-
const
|
|
4009
|
-
|
|
4002
|
+
})), me(() => {
|
|
4003
|
+
D && N.current && !O.current && (D(N.current), O.current = !0);
|
|
4004
|
+
}, [D, N]), me(() => {
|
|
4005
|
+
V && N.current && !s && setTimeout(() => {
|
|
4006
|
+
if (N.current) {
|
|
4007
|
+
N.current.focus();
|
|
4008
|
+
const b = document.createRange();
|
|
4009
|
+
b.selectNodeContents(N.current), b.collapse(!1);
|
|
4010
|
+
const F = window.getSelection();
|
|
4011
|
+
F?.removeAllRanges(), F?.addRange(b);
|
|
4010
4012
|
}
|
|
4011
4013
|
}, 100);
|
|
4012
|
-
}, [
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
|
-
|
|
4016
|
-
|
|
4017
|
-
|
|
4018
|
-
|
|
4019
|
-
|
|
4020
|
-
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
if (!t || !j.content && !j.content.trim()) return;
|
|
4024
|
-
const l = (() => {
|
|
4014
|
+
}, [V, s, N]), me(() => ($.current = hn(
|
|
4015
|
+
(b, F, de) => {
|
|
4016
|
+
C.current?.(b, F, de);
|
|
4017
|
+
},
|
|
4018
|
+
S
|
|
4019
|
+
), () => {
|
|
4020
|
+
$.current && $.current.cancel();
|
|
4021
|
+
}), [S]), me(() => {
|
|
4022
|
+
if (!C.current || k.content === Q.current && k.title === ee.current)
|
|
4023
|
+
return;
|
|
4024
|
+
const b = (() => {
|
|
4025
4025
|
try {
|
|
4026
|
-
return
|
|
4026
|
+
return c({
|
|
4027
4027
|
includeStyles: !1,
|
|
4028
4028
|
includeMeta: !1
|
|
4029
4029
|
});
|
|
4030
4030
|
} catch {
|
|
4031
|
-
return `<!DOCTYPE html><html><body>${
|
|
4031
|
+
return `<!DOCTYPE html><html><body>${k.content}</body></html>`;
|
|
4032
4032
|
}
|
|
4033
4033
|
})();
|
|
4034
|
-
S > 0 &&
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
) :
|
|
4034
|
+
Q.current = k.content, ee.current = k.title, S > 0 && $.current ? $.current(
|
|
4035
|
+
k.content,
|
|
4036
|
+
b,
|
|
4037
|
+
k.title
|
|
4038
|
+
) : C.current(k.content, b, k.title);
|
|
4039
4039
|
}, [
|
|
4040
|
-
|
|
4041
|
-
|
|
4042
|
-
|
|
4043
|
-
d,
|
|
4040
|
+
k.content,
|
|
4041
|
+
k.title,
|
|
4042
|
+
c,
|
|
4044
4043
|
S
|
|
4045
4044
|
]);
|
|
4046
|
-
const
|
|
4047
|
-
if (
|
|
4045
|
+
const re = H(async () => {
|
|
4046
|
+
if ($.current && $.current.flush?.(), k.pendingImages.length > 0) {
|
|
4048
4047
|
w(!0);
|
|
4049
4048
|
try {
|
|
4050
4049
|
await E(), o("Images uploaded successfully!"), setTimeout(() => o(""), 3e3);
|
|
4051
4050
|
} catch {
|
|
4052
|
-
o("Failed to upload images. Please try again."),
|
|
4053
|
-
|
|
4051
|
+
o("Failed to upload images. Please try again."), G(!0), setTimeout(() => {
|
|
4052
|
+
G(!1), o("");
|
|
4054
4053
|
}, 5e3), w(!1);
|
|
4055
4054
|
return;
|
|
4056
4055
|
} finally {
|
|
4057
4056
|
w(!1);
|
|
4058
4057
|
}
|
|
4059
4058
|
}
|
|
4060
|
-
const
|
|
4061
|
-
if (!
|
|
4062
|
-
o(
|
|
4063
|
-
|
|
4059
|
+
const b = p();
|
|
4060
|
+
if (!b.success) {
|
|
4061
|
+
o(b.error || "Please fix validation errors before saving."), G(!0), setTimeout(() => {
|
|
4062
|
+
G(!1), o("");
|
|
4064
4063
|
}, 3e3);
|
|
4065
4064
|
return;
|
|
4066
4065
|
}
|
|
4067
4066
|
try {
|
|
4068
|
-
r?.(
|
|
4069
|
-
|
|
4067
|
+
r?.(k.content, c()), o("Document saved successfully!"), G(!0), setTimeout(() => {
|
|
4068
|
+
G(!1), o("");
|
|
4070
4069
|
}, 2e3);
|
|
4071
4070
|
} catch {
|
|
4072
|
-
o("Failed to save document."),
|
|
4073
|
-
|
|
4071
|
+
o("Failed to save document."), G(!0), setTimeout(() => {
|
|
4072
|
+
G(!1), o("");
|
|
4074
4073
|
}, 3e3);
|
|
4075
4074
|
}
|
|
4076
4075
|
}, [
|
|
4077
|
-
|
|
4076
|
+
k,
|
|
4078
4077
|
E,
|
|
4079
|
-
|
|
4080
|
-
|
|
4078
|
+
p,
|
|
4079
|
+
c,
|
|
4081
4080
|
r
|
|
4082
|
-
]),
|
|
4083
|
-
if (
|
|
4081
|
+
]), ie = H(async () => {
|
|
4082
|
+
if ($.current && $.current.flush?.(), k.pendingImages.length > 0) {
|
|
4084
4083
|
w(!0);
|
|
4085
4084
|
try {
|
|
4086
4085
|
await E();
|
|
4087
|
-
} catch (
|
|
4088
|
-
console.error("Failed to upload images:",
|
|
4086
|
+
} catch (b) {
|
|
4087
|
+
console.error("Failed to upload images:", b);
|
|
4089
4088
|
} finally {
|
|
4090
4089
|
w(!1);
|
|
4091
4090
|
}
|
|
4092
4091
|
}
|
|
4093
4092
|
try {
|
|
4094
|
-
const
|
|
4095
|
-
n?.(
|
|
4096
|
-
const
|
|
4097
|
-
|
|
4098
|
-
|
|
4093
|
+
const b = c();
|
|
4094
|
+
n?.(b);
|
|
4095
|
+
const F = new Blob([b], { type: "text/html" }), de = URL.createObjectURL(F), se = document.createElement("a");
|
|
4096
|
+
se.href = de, se.download = `${k.title.replace(/[^\w\s]/gi, "").replace(/\s+/g, "_") || "document"}.html`, document.body.appendChild(se), se.click(), document.body.removeChild(se), URL.revokeObjectURL(de), o("Document exported successfully!"), G(!0), setTimeout(() => {
|
|
4097
|
+
G(!1), o("");
|
|
4099
4098
|
}, 2e3);
|
|
4100
4099
|
} catch {
|
|
4101
|
-
o("Failed to export document."),
|
|
4102
|
-
|
|
4100
|
+
o("Failed to export document."), G(!0), setTimeout(() => {
|
|
4101
|
+
G(!1), o("");
|
|
4103
4102
|
}, 3e3);
|
|
4104
4103
|
}
|
|
4105
|
-
}, [
|
|
4106
|
-
(
|
|
4107
|
-
|
|
4104
|
+
}, [k, E, c, n]), P = H(
|
|
4105
|
+
(b) => {
|
|
4106
|
+
Y(b);
|
|
4108
4107
|
},
|
|
4109
|
-
[
|
|
4110
|
-
),
|
|
4111
|
-
if (!
|
|
4112
|
-
const
|
|
4113
|
-
let
|
|
4114
|
-
const
|
|
4115
|
-
for (const
|
|
4108
|
+
[Y]
|
|
4109
|
+
), I = async (b) => {
|
|
4110
|
+
if (!b.target.files || s) return;
|
|
4111
|
+
const F = Array.from(b.target.files);
|
|
4112
|
+
let de = 0;
|
|
4113
|
+
const se = F.length;
|
|
4114
|
+
for (const _t of F)
|
|
4116
4115
|
try {
|
|
4117
|
-
await v(
|
|
4118
|
-
} catch (
|
|
4119
|
-
console.error("Failed to insert image:",
|
|
4116
|
+
await v(_t), de++, X(Math.round(de / se * 100));
|
|
4117
|
+
} catch (Nt) {
|
|
4118
|
+
console.error("Failed to insert image:", Nt);
|
|
4120
4119
|
}
|
|
4121
|
-
|
|
4122
|
-
}, ce =
|
|
4123
|
-
s ||
|
|
4124
|
-
}, [s,
|
|
4125
|
-
(
|
|
4126
|
-
}, [
|
|
4120
|
+
X(0), b.target.value = "";
|
|
4121
|
+
}, ce = H(() => {
|
|
4122
|
+
s || N.current && N.current.focus();
|
|
4123
|
+
}, [s, N]), oe = H((b) => {
|
|
4124
|
+
(b.ctrlKey || b.metaKey) && b.key === "s" && (b.preventDefault(), re()), (b.ctrlKey || b.metaKey) && b.key === "e" && (b.preventDefault(), ie()), (b.ctrlKey || b.metaKey) && b.key === "k" && b.shiftKey && (b.preventDefault(), y());
|
|
4125
|
+
}, [re, ie, y]);
|
|
4127
4126
|
return /* @__PURE__ */ i.jsxs(
|
|
4128
4127
|
"div",
|
|
4129
4128
|
{
|
|
4130
|
-
ref:
|
|
4131
|
-
className:
|
|
4129
|
+
ref: ae,
|
|
4130
|
+
className: Ae(
|
|
4132
4131
|
"relative w-full bg-white border border-gray-300 rounded-lg overflow-hidden flex flex-col",
|
|
4133
4132
|
s && "pointer-events-none opacity-80",
|
|
4134
|
-
|
|
4133
|
+
U
|
|
4135
4134
|
),
|
|
4136
|
-
style: { height:
|
|
4135
|
+
style: { height: u },
|
|
4137
4136
|
children: [
|
|
4138
|
-
|
|
4137
|
+
l && /* @__PURE__ */ i.jsxs("div", { className: "p-4 md:p-6 border-b bg-gradient-to-r from-gray-50 to-white", children: [
|
|
4139
4138
|
/* @__PURE__ */ i.jsx(
|
|
4140
4139
|
"input",
|
|
4141
4140
|
{
|
|
4142
4141
|
className: "w-full text-xl md:text-2xl font-bold bg-transparent outline-none placeholder:text-gray-400",
|
|
4143
|
-
value:
|
|
4144
|
-
onChange: (
|
|
4142
|
+
value: k.title,
|
|
4143
|
+
onChange: (b) => W(b.target.value),
|
|
4145
4144
|
placeholder: "Document Title",
|
|
4146
4145
|
readOnly: s,
|
|
4147
4146
|
maxLength: 100
|
|
4148
4147
|
}
|
|
4149
4148
|
),
|
|
4150
|
-
|
|
4151
|
-
|
|
4149
|
+
k.title.length >= 90 && /* @__PURE__ */ i.jsxs("div", { className: "text-xs text-gray-500 text-right mt-1", children: [
|
|
4150
|
+
k.title.length,
|
|
4152
4151
|
"/100 characters"
|
|
4153
4152
|
] })
|
|
4154
4153
|
] }),
|
|
4155
4154
|
/* @__PURE__ */ i.jsx(
|
|
4156
|
-
|
|
4155
|
+
mr,
|
|
4157
4156
|
{
|
|
4158
|
-
onCommand:
|
|
4159
|
-
onSave:
|
|
4160
|
-
onExport:
|
|
4161
|
-
showButtons:
|
|
4157
|
+
onCommand: K,
|
|
4158
|
+
onSave: re,
|
|
4159
|
+
onExport: ie,
|
|
4160
|
+
showButtons: d,
|
|
4162
4161
|
onClear: y,
|
|
4163
|
-
hasUnsavedChanges:
|
|
4164
|
-
onImageUpload: () =>
|
|
4165
|
-
pendingImagesCount:
|
|
4162
|
+
hasUnsavedChanges: k.hasUnsavedChanges,
|
|
4163
|
+
onImageUpload: () => q.current?.click(),
|
|
4164
|
+
pendingImagesCount: k.pendingImages.length
|
|
4166
4165
|
}
|
|
4167
4166
|
),
|
|
4168
4167
|
/* @__PURE__ */ i.jsx(
|
|
4169
4168
|
"input",
|
|
4170
4169
|
{
|
|
4171
|
-
ref:
|
|
4170
|
+
ref: q,
|
|
4172
4171
|
type: "file",
|
|
4173
4172
|
className: "hidden",
|
|
4174
|
-
accept:
|
|
4173
|
+
accept: L.join(","),
|
|
4175
4174
|
multiple: !0,
|
|
4176
|
-
onChange:
|
|
4175
|
+
onChange: I,
|
|
4177
4176
|
disabled: s
|
|
4178
4177
|
}
|
|
4179
4178
|
),
|
|
4180
|
-
(h ||
|
|
4179
|
+
(h || T) && /* @__PURE__ */ i.jsx("div", { className: Ae(
|
|
4181
4180
|
"px-4 py-3 text-sm flex items-center gap-2 transition-all duration-300",
|
|
4182
|
-
|
|
4183
|
-
), children:
|
|
4184
|
-
/* @__PURE__ */ i.jsx(
|
|
4181
|
+
T ? "bg-blue-50 text-blue-700 border-b border-blue-100" : te.includes("success") ? "bg-green-50 text-green-700 border-b border-green-100" : "bg-red-50 text-red-700 border-b border-red-100"
|
|
4182
|
+
), children: T ? /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
|
|
4183
|
+
/* @__PURE__ */ i.jsx(or, { className: "h-4 w-4 animate-spin" }),
|
|
4185
4184
|
/* @__PURE__ */ i.jsxs("span", { children: [
|
|
4186
4185
|
"Uploading images... ",
|
|
4187
|
-
|
|
4186
|
+
R > 0 && `${R}%`
|
|
4188
4187
|
] })
|
|
4189
|
-
] }) :
|
|
4190
|
-
/* @__PURE__ */ i.jsx(
|
|
4191
|
-
/* @__PURE__ */ i.jsx("span", { children:
|
|
4188
|
+
] }) : te.includes("success") ? /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
|
|
4189
|
+
/* @__PURE__ */ i.jsx(sr, { className: "h-4 w-4" }),
|
|
4190
|
+
/* @__PURE__ */ i.jsx("span", { children: te })
|
|
4192
4191
|
] }) : /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
|
|
4193
|
-
/* @__PURE__ */ i.jsx(
|
|
4194
|
-
/* @__PURE__ */ i.jsx("span", { children:
|
|
4192
|
+
/* @__PURE__ */ i.jsx(ar, { className: "h-4 w-4" }),
|
|
4193
|
+
/* @__PURE__ */ i.jsx("span", { children: te })
|
|
4195
4194
|
] }) }),
|
|
4196
4195
|
/* @__PURE__ */ i.jsx(
|
|
4197
4196
|
"div",
|
|
4198
4197
|
{
|
|
4199
|
-
ref:
|
|
4200
|
-
className:
|
|
4198
|
+
ref: N,
|
|
4199
|
+
className: Ae(
|
|
4201
4200
|
"flex-1 p-4 md:p-6 outline-none overflow-y-auto min-h-[200px] bg-white",
|
|
4202
4201
|
s ? "cursor-default select-text" : "cursor-text",
|
|
4203
|
-
!
|
|
4202
|
+
!k.content && "relative"
|
|
4204
4203
|
),
|
|
4205
4204
|
contentEditable: !s,
|
|
4206
4205
|
suppressContentEditableWarning: !0,
|
|
4207
|
-
onInput: (
|
|
4208
|
-
onPaste:
|
|
4206
|
+
onInput: (b) => P(b.currentTarget.innerHTML),
|
|
4207
|
+
onPaste: j,
|
|
4209
4208
|
onDrop: x,
|
|
4210
|
-
onDragOver: (
|
|
4209
|
+
onDragOver: (b) => b.preventDefault(),
|
|
4211
4210
|
onClick: ce,
|
|
4212
|
-
onKeyDown:
|
|
4213
|
-
"data-placeholder":
|
|
4211
|
+
onKeyDown: oe,
|
|
4212
|
+
"data-placeholder": z,
|
|
4214
4213
|
role: "textbox",
|
|
4215
4214
|
"aria-label": "Text editor",
|
|
4216
4215
|
"aria-multiline": "true",
|
|
4217
|
-
children: !
|
|
4216
|
+
children: !k.content && /* @__PURE__ */ i.jsx("div", { className: "absolute top-6 left-6 text-gray-400 pointer-events-none select-none", children: z })
|
|
4218
4217
|
}
|
|
4219
4218
|
),
|
|
4220
|
-
|
|
4219
|
+
k.pendingImages.length > 0 && /* @__PURE__ */ i.jsxs("div", { className: "px-4 py-3 text-sm text-blue-600 bg-blue-50 border-t border-blue-100 flex items-center justify-between", children: [
|
|
4221
4220
|
/* @__PURE__ */ i.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
4222
|
-
/* @__PURE__ */ i.jsx(
|
|
4221
|
+
/* @__PURE__ */ i.jsx(ir, { size: 16 }),
|
|
4223
4222
|
/* @__PURE__ */ i.jsxs("span", { children: [
|
|
4224
|
-
|
|
4223
|
+
k.pendingImages.length,
|
|
4225
4224
|
" image",
|
|
4226
|
-
|
|
4225
|
+
k.pendingImages.length !== 1 ? "s" : "",
|
|
4227
4226
|
" pending upload"
|
|
4228
4227
|
] })
|
|
4229
4228
|
] }),
|
|
@@ -4231,19 +4230,19 @@ const gn = /* @__PURE__ */ ar(pn), bn = It(
|
|
|
4231
4230
|
"button",
|
|
4232
4231
|
{
|
|
4233
4232
|
onClick: E,
|
|
4234
|
-
disabled:
|
|
4233
|
+
disabled: T,
|
|
4235
4234
|
className: "text-sm px-3 py-1 bg-blue-100 hover:bg-blue-200 text-blue-700 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
|
|
4236
|
-
children:
|
|
4235
|
+
children: T ? "Uploading..." : "Upload Now"
|
|
4237
4236
|
}
|
|
4238
4237
|
)
|
|
4239
4238
|
] }),
|
|
4240
4239
|
a && /* @__PURE__ */ i.jsx(
|
|
4241
|
-
|
|
4240
|
+
fr,
|
|
4242
4241
|
{
|
|
4243
|
-
wordCount:
|
|
4244
|
-
characterCount:
|
|
4245
|
-
hasUnsavedChanges:
|
|
4246
|
-
pendingImagesCount:
|
|
4242
|
+
wordCount: k.wordCount,
|
|
4243
|
+
characterCount: k.characterCount,
|
|
4244
|
+
hasUnsavedChanges: k.hasUnsavedChanges,
|
|
4245
|
+
pendingImagesCount: k.pendingImages.length
|
|
4247
4246
|
}
|
|
4248
4247
|
),
|
|
4249
4248
|
!s && /* @__PURE__ */ i.jsx("div", { className: "hidden md:block absolute bottom-2 right-2 text-xs text-gray-400 bg-white/80 px-2 py-1 rounded", children: "Ctrl+S to save • Ctrl+E to export" })
|
|
@@ -4252,7 +4251,7 @@ const gn = /* @__PURE__ */ ar(pn), bn = It(
|
|
|
4252
4251
|
);
|
|
4253
4252
|
}
|
|
4254
4253
|
);
|
|
4255
|
-
|
|
4254
|
+
xn.displayName = "TextEditor";
|
|
4256
4255
|
export {
|
|
4257
|
-
|
|
4256
|
+
xn as TextEditor
|
|
4258
4257
|
};
|