@abduljebar/text-editor 2.2.6 → 2.3.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/dist/index.js CHANGED
@@ -1,357 +1,862 @@
1
- import De, { useRef as be, useState as le, useEffect as ve, useCallback as G } from "react";
2
- var ue = { exports: {} }, ie = {};
3
- /**
4
- * @license React
5
- * react-jsx-runtime.production.js
6
- *
7
- * Copyright (c) Meta Platforms, Inc. and affiliates.
8
- *
9
- * This source code is licensed under the MIT license found in the
10
- * LICENSE file in the root directory of this source tree.
11
- */
12
- var Ce;
13
- function $e() {
14
- if (Ce) return ie;
15
- Ce = 1;
16
- var e = Symbol.for("react.transitional.element"), l = Symbol.for("react.fragment");
17
- function a(t, o, b) {
18
- var p = null;
19
- if (b !== void 0 && (p = "" + b), o.key !== void 0 && (p = "" + o.key), "key" in o) {
20
- b = {};
21
- for (var w in o)
22
- w !== "key" && (b[w] = o[w]);
23
- } else b = o;
24
- return o = b.ref, {
1
+ import kt, { useState as ge, useEffect as ee, useRef as te, useCallback as W, forwardRef as Tt } from "react";
2
+ import { Save as st, FileDown as jt, Trash2 as St, Bold as Rt, Italic as Ct, Underline as Et, Strikethrough as _t, List as At, ListOrdered as Ot, Heading1 as It, Heading2 as Nt, Type as zt, AlignLeft as Lt, AlignCenter as Pt, AlignRight as Mt, Link as qt, Image as ze, Upload as Ft } from "lucide-react";
3
+ var ue = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
4
+ function Gt(e) {
5
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
6
+ }
7
+ var me = { exports: {} }, ie = {};
8
+ var Me;
9
+ function $t() {
10
+ if (Me) return ie;
11
+ Me = 1;
12
+ var e = /* @__PURE__ */ Symbol.for("react.transitional.element"), t = /* @__PURE__ */ Symbol.for("react.fragment");
13
+ function r(n, s, l) {
14
+ var a = null;
15
+ if (l !== void 0 && (a = "" + l), s.key !== void 0 && (a = "" + s.key), "key" in s) {
16
+ l = {};
17
+ for (var i in s)
18
+ i !== "key" && (l[i] = s[i]);
19
+ } else l = s;
20
+ return s = l.ref, {
25
21
  $$typeof: e,
26
- type: t,
27
- key: p,
28
- ref: o !== void 0 ? o : null,
29
- props: b
22
+ type: n,
23
+ key: a,
24
+ ref: s !== void 0 ? s : null,
25
+ props: l
30
26
  };
31
27
  }
32
- return ie.Fragment = l, ie.jsx = a, ie.jsxs = a, ie;
28
+ return ie.Fragment = t, ie.jsx = r, ie.jsxs = r, ie;
33
29
  }
34
- var ce = {};
35
- /**
36
- * @license React
37
- * react-jsx-runtime.development.js
38
- *
39
- * Copyright (c) Meta Platforms, Inc. and affiliates.
40
- *
41
- * This source code is licensed under the MIT license found in the
42
- * LICENSE file in the root directory of this source tree.
43
- */
44
- var je;
45
- function Ve() {
46
- return je || (je = 1, process.env.NODE_ENV !== "production" && (function() {
47
- function e(r) {
48
- if (r == null) return null;
49
- if (typeof r == "function")
50
- return r.$$typeof === Q ? null : r.displayName || r.name || null;
51
- if (typeof r == "string") return r;
52
- switch (r) {
53
- case L:
30
+ var le = {};
31
+ var qe;
32
+ function Dt() {
33
+ return qe || (qe = 1, process.env.NODE_ENV !== "production" && (function() {
34
+ function e(o) {
35
+ if (o == null) return null;
36
+ if (typeof o == "function")
37
+ return o.$$typeof === F ? null : o.displayName || o.name || null;
38
+ if (typeof o == "string") return o;
39
+ switch (o) {
40
+ case p:
54
41
  return "Fragment";
55
- case $:
42
+ case M:
56
43
  return "Profiler";
57
- case I:
44
+ case q:
58
45
  return "StrictMode";
59
- case T:
46
+ case k:
60
47
  return "Suspense";
61
- case A:
48
+ case j:
62
49
  return "SuspenseList";
63
- case X:
50
+ case O:
64
51
  return "Activity";
65
52
  }
66
- if (typeof r == "object")
67
- switch (typeof r.tag == "number" && console.error(
53
+ if (typeof o == "object")
54
+ switch (typeof o.tag == "number" && console.error(
68
55
  "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
69
- ), r.$$typeof) {
70
- case F:
56
+ ), o.$$typeof) {
57
+ case g:
71
58
  return "Portal";
72
- case R:
73
- return r.displayName || "Context";
74
- case U:
75
- return (r._context.displayName || "Context") + ".Consumer";
76
- case O:
77
- var h = r.render;
78
- return r = r.displayName, r || (r = h.displayName || h.name || "", r = r !== "" ? "ForwardRef(" + r + ")" : "ForwardRef"), r;
79
- case m:
80
- return h = r.displayName || null, h !== null ? h : e(r.type) || "Memo";
81
- case z:
82
- h = r._payload, r = r._init;
59
+ case L:
60
+ return o.displayName || "Context";
61
+ case $:
62
+ return (o._context.displayName || "Context") + ".Consumer";
63
+ case b:
64
+ var y = o.render;
65
+ return o = o.displayName, o || (o = y.displayName || y.name || "", o = o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef"), o;
66
+ case c:
67
+ return y = o.displayName || null, y !== null ? y : e(o.type) || "Memo";
68
+ case _:
69
+ y = o._payload, o = o._init;
83
70
  try {
84
- return e(r(h));
71
+ return e(o(y));
85
72
  } catch {
86
73
  }
87
74
  }
88
75
  return null;
89
76
  }
90
- function l(r) {
91
- return "" + r;
77
+ function t(o) {
78
+ return "" + o;
92
79
  }
93
- function a(r) {
80
+ function r(o) {
94
81
  try {
95
- l(r);
96
- var h = !1;
82
+ t(o);
83
+ var y = !1;
97
84
  } catch {
98
- h = !0;
85
+ y = !0;
99
86
  }
100
- if (h) {
101
- h = console;
102
- var d = h.error, k = typeof Symbol == "function" && Symbol.toStringTag && r[Symbol.toStringTag] || r.constructor.name || "Object";
103
- return d.call(
104
- h,
87
+ if (y) {
88
+ y = console;
89
+ var w = y.error, C = typeof Symbol == "function" && Symbol.toStringTag && o[Symbol.toStringTag] || o.constructor.name || "Object";
90
+ return w.call(
91
+ y,
105
92
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
106
- k
107
- ), l(r);
93
+ C
94
+ ), t(o);
108
95
  }
109
96
  }
110
- function t(r) {
111
- if (r === L) return "<>";
112
- if (typeof r == "object" && r !== null && r.$$typeof === z)
97
+ function n(o) {
98
+ if (o === p) return "<>";
99
+ if (typeof o == "object" && o !== null && o.$$typeof === _)
113
100
  return "<...>";
114
101
  try {
115
- var h = e(r);
116
- return h ? "<" + h + ">" : "<...>";
102
+ var y = e(o);
103
+ return y ? "<" + y + ">" : "<...>";
117
104
  } catch {
118
105
  return "<...>";
119
106
  }
120
107
  }
121
- function o() {
122
- var r = V.A;
123
- return r === null ? null : r.getOwner();
108
+ function s() {
109
+ var o = P.A;
110
+ return o === null ? null : o.getOwner();
124
111
  }
125
- function b() {
112
+ function l() {
126
113
  return Error("react-stack-top-frame");
127
114
  }
128
- function p(r) {
129
- if (K.call(r, "key")) {
130
- var h = Object.getOwnPropertyDescriptor(r, "key").get;
131
- if (h && h.isReactWarning) return !1;
115
+ function a(o) {
116
+ if (R.call(o, "key")) {
117
+ var y = Object.getOwnPropertyDescriptor(o, "key").get;
118
+ if (y && y.isReactWarning) return !1;
132
119
  }
133
- return r.key !== void 0;
120
+ return o.key !== void 0;
134
121
  }
135
- function w(r, h) {
136
- function d() {
137
- P || (P = !0, console.error(
122
+ function i(o, y) {
123
+ function w() {
124
+ U || (U = !0, console.error(
138
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)",
139
- h
126
+ y
140
127
  ));
141
128
  }
142
- d.isReactWarning = !0, Object.defineProperty(r, "key", {
143
- get: d,
129
+ w.isReactWarning = !0, Object.defineProperty(o, "key", {
130
+ get: w,
144
131
  configurable: !0
145
132
  });
146
133
  }
147
- function g() {
148
- var r = e(this.type);
149
- return B[r] || (B[r] = !0, console.error(
134
+ function d() {
135
+ var o = e(this.type);
136
+ return V[o] || (V[o] = !0, console.error(
150
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."
151
- )), r = this.props.ref, r !== void 0 ? r : null;
138
+ )), o = this.props.ref, o !== void 0 ? o : null;
152
139
  }
153
- function x(r, h, d, k, q, u) {
154
- var n = d.ref;
155
- return r = {
156
- $$typeof: _,
157
- type: r,
158
- key: h,
159
- props: d,
160
- _owner: k
161
- }, (n !== void 0 ? n : null) !== null ? Object.defineProperty(r, "ref", {
140
+ function u(o, y, w, C, B, re) {
141
+ var S = w.ref;
142
+ return o = {
143
+ $$typeof: E,
144
+ type: o,
145
+ key: y,
146
+ props: w,
147
+ _owner: C
148
+ }, (S !== void 0 ? S : null) !== null ? Object.defineProperty(o, "ref", {
162
149
  enumerable: !1,
163
- get: g
164
- }) : Object.defineProperty(r, "ref", { enumerable: !1, value: null }), r._store = {}, Object.defineProperty(r._store, "validated", {
150
+ get: d
151
+ }) : Object.defineProperty(o, "ref", { enumerable: !1, value: null }), o._store = {}, Object.defineProperty(o._store, "validated", {
165
152
  configurable: !1,
166
153
  enumerable: !1,
167
154
  writable: !0,
168
155
  value: 0
169
- }), Object.defineProperty(r, "_debugInfo", {
156
+ }), Object.defineProperty(o, "_debugInfo", {
170
157
  configurable: !1,
171
158
  enumerable: !1,
172
159
  writable: !0,
173
160
  value: null
174
- }), Object.defineProperty(r, "_debugStack", {
161
+ }), Object.defineProperty(o, "_debugStack", {
175
162
  configurable: !1,
176
163
  enumerable: !1,
177
164
  writable: !0,
178
- value: q
179
- }), Object.defineProperty(r, "_debugTask", {
165
+ value: B
166
+ }), Object.defineProperty(o, "_debugTask", {
180
167
  configurable: !1,
181
168
  enumerable: !1,
182
169
  writable: !0,
183
- value: u
184
- }), Object.freeze && (Object.freeze(r.props), Object.freeze(r)), r;
170
+ value: re
171
+ }), Object.freeze && (Object.freeze(o.props), Object.freeze(o)), o;
185
172
  }
186
- function C(r, h, d, k, q, u) {
187
- var n = h.children;
188
- if (n !== void 0)
189
- if (k)
190
- if (v(n)) {
191
- for (k = 0; k < n.length; k++)
192
- S(n[k]);
193
- Object.freeze && Object.freeze(n);
173
+ function v(o, y, w, C, B, re) {
174
+ var S = y.children;
175
+ if (S !== void 0)
176
+ if (C)
177
+ if (N(S)) {
178
+ for (C = 0; C < S.length; C++)
179
+ A(S[C]);
180
+ Object.freeze && Object.freeze(S);
194
181
  } else
195
182
  console.error(
196
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."
197
184
  );
198
- else S(n);
199
- if (K.call(h, "key")) {
200
- n = e(r);
201
- var E = Object.keys(h).filter(function(W) {
202
- return W !== "key";
185
+ else A(S);
186
+ if (R.call(y, "key")) {
187
+ S = e(o);
188
+ var Y = Object.keys(y).filter(function(ne) {
189
+ return ne !== "key";
203
190
  });
204
- k = 0 < E.length ? "{key: someKey, " + E.join(": ..., ") + ": ...}" : "{key: someKey}", re[n + k] || (E = 0 < E.length ? "{" + E.join(": ..., ") + ": ...}" : "{}", console.error(
191
+ C = 0 < Y.length ? "{key: someKey, " + Y.join(": ..., ") + ": ...}" : "{key: someKey}", Q[S + C] || (Y = 0 < Y.length ? "{" + Y.join(": ..., ") + ": ...}" : "{}", console.error(
205
192
  `A props object containing a "key" prop is being spread into JSX:
206
193
  let props = %s;
207
194
  <%s {...props} />
208
195
  React keys must be passed directly to JSX without using spread:
209
196
  let props = %s;
210
197
  <%s key={someKey} {...props} />`,
211
- k,
212
- n,
213
- E,
214
- n
215
- ), re[n + k] = !0);
198
+ C,
199
+ S,
200
+ Y,
201
+ S
202
+ ), Q[S + C] = !0);
216
203
  }
217
- if (n = null, d !== void 0 && (a(d), n = "" + d), p(h) && (a(h.key), n = "" + h.key), "key" in h) {
218
- d = {};
219
- for (var M in h)
220
- M !== "key" && (d[M] = h[M]);
221
- } else d = h;
222
- return n && w(
223
- d,
224
- typeof r == "function" ? r.displayName || r.name || "Unknown" : r
225
- ), x(
226
- r,
227
- n,
228
- d,
229
- o(),
230
- q,
231
- u
204
+ if (S = null, w !== void 0 && (r(w), S = "" + w), a(y) && (r(y.key), S = "" + y.key), "key" in y) {
205
+ w = {};
206
+ for (var J in y)
207
+ J !== "key" && (w[J] = y[J]);
208
+ } else w = y;
209
+ return S && i(
210
+ w,
211
+ typeof o == "function" ? o.displayName || o.name || "Unknown" : o
212
+ ), u(
213
+ o,
214
+ S,
215
+ w,
216
+ s(),
217
+ B,
218
+ re
232
219
  );
233
220
  }
234
- function S(r) {
235
- D(r) ? r._store && (r._store.validated = 1) : typeof r == "object" && r !== null && r.$$typeof === z && (r._payload.status === "fulfilled" ? D(r._payload.value) && r._payload.value._store && (r._payload.value._store.validated = 1) : r._store && (r._store.validated = 1));
221
+ function A(o) {
222
+ z(o) ? o._store && (o._store.validated = 1) : typeof o == "object" && o !== null && o.$$typeof === _ && (o._payload.status === "fulfilled" ? z(o._payload.value) && o._payload.value._store && (o._payload.value._store.validated = 1) : o._store && (o._store.validated = 1));
236
223
  }
237
- function D(r) {
238
- return typeof r == "object" && r !== null && r.$$typeof === _;
224
+ function z(o) {
225
+ return typeof o == "object" && o !== null && o.$$typeof === E;
239
226
  }
240
- var N = De, _ = Symbol.for("react.transitional.element"), F = Symbol.for("react.portal"), L = Symbol.for("react.fragment"), I = Symbol.for("react.strict_mode"), $ = Symbol.for("react.profiler"), U = Symbol.for("react.consumer"), R = Symbol.for("react.context"), O = Symbol.for("react.forward_ref"), T = Symbol.for("react.suspense"), A = Symbol.for("react.suspense_list"), m = Symbol.for("react.memo"), z = Symbol.for("react.lazy"), X = Symbol.for("react.activity"), Q = Symbol.for("react.client.reference"), V = N.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, K = Object.prototype.hasOwnProperty, v = Array.isArray, H = console.createTask ? console.createTask : function() {
227
+ var I = kt, E = /* @__PURE__ */ Symbol.for("react.transitional.element"), g = /* @__PURE__ */ Symbol.for("react.portal"), p = /* @__PURE__ */ Symbol.for("react.fragment"), q = /* @__PURE__ */ Symbol.for("react.strict_mode"), M = /* @__PURE__ */ Symbol.for("react.profiler"), $ = /* @__PURE__ */ Symbol.for("react.consumer"), L = /* @__PURE__ */ Symbol.for("react.context"), b = /* @__PURE__ */ Symbol.for("react.forward_ref"), k = /* @__PURE__ */ Symbol.for("react.suspense"), j = /* @__PURE__ */ Symbol.for("react.suspense_list"), c = /* @__PURE__ */ Symbol.for("react.memo"), _ = /* @__PURE__ */ Symbol.for("react.lazy"), O = /* @__PURE__ */ Symbol.for("react.activity"), F = /* @__PURE__ */ Symbol.for("react.client.reference"), P = I.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, R = Object.prototype.hasOwnProperty, N = Array.isArray, D = console.createTask ? console.createTask : function() {
241
228
  return null;
242
229
  };
243
- N = {
244
- react_stack_bottom_frame: function(r) {
245
- return r();
230
+ I = {
231
+ react_stack_bottom_frame: function(o) {
232
+ return o();
246
233
  }
247
234
  };
248
- var P, B = {}, f = N.react_stack_bottom_frame.bind(
249
- N,
250
- b
251
- )(), ee = H(t(b)), re = {};
252
- ce.Fragment = L, ce.jsx = function(r, h, d) {
253
- var k = 1e4 > V.recentlyCreatedOwnerStacks++;
254
- return C(
255
- r,
256
- h,
257
- d,
235
+ var U, V = {}, x = I.react_stack_bottom_frame.bind(
236
+ I,
237
+ l
238
+ )(), Z = D(n(l)), Q = {};
239
+ le.Fragment = p, le.jsx = function(o, y, w) {
240
+ var C = 1e4 > P.recentlyCreatedOwnerStacks++;
241
+ return v(
242
+ o,
243
+ y,
244
+ w,
258
245
  !1,
259
- k ? Error("react-stack-top-frame") : f,
260
- k ? H(t(r)) : ee
246
+ C ? Error("react-stack-top-frame") : x,
247
+ C ? D(n(o)) : Z
261
248
  );
262
- }, ce.jsxs = function(r, h, d) {
263
- var k = 1e4 > V.recentlyCreatedOwnerStacks++;
264
- return C(
265
- r,
266
- h,
267
- d,
249
+ }, le.jsxs = function(o, y, w) {
250
+ var C = 1e4 > P.recentlyCreatedOwnerStacks++;
251
+ return v(
252
+ o,
253
+ y,
254
+ w,
268
255
  !0,
269
- k ? Error("react-stack-top-frame") : f,
270
- k ? H(t(r)) : ee
256
+ C ? Error("react-stack-top-frame") : x,
257
+ C ? D(n(o)) : Z
271
258
  );
272
259
  };
273
- })()), ce;
260
+ })()), le;
274
261
  }
275
- var _e;
276
- function qe() {
277
- return _e || (_e = 1, process.env.NODE_ENV === "production" ? ue.exports = $e() : ue.exports = Ve()), ue.exports;
262
+ var Fe;
263
+ function Ut() {
264
+ return Fe || (Fe = 1, process.env.NODE_ENV === "production" ? me.exports = $t() : me.exports = Dt()), me.exports;
278
265
  }
279
- var s = qe();
280
- const we = "-", We = (e) => {
281
- const l = Ye(e), {
282
- conflictingClassGroups: a,
283
- conflictingClassGroupModifiers: t
266
+ var h = Ut();
267
+ const Wt = ({
268
+ onCommand: e,
269
+ onSave: t,
270
+ onExport: r,
271
+ onClear: n,
272
+ onImageUpload: s,
273
+ showButtons: l = !1,
274
+ hasUnsavedChanges: a,
275
+ pendingImagesCount: i = 0
276
+ }) => {
277
+ const [d, u] = ge([]), [v, A] = ge("p"), z = () => {
278
+ const g = [];
279
+ let p = "p";
280
+ document.queryCommandState("bold") && g.push("bold"), document.queryCommandState("italic") && g.push("italic"), document.queryCommandState("underline") && g.push("underline"), document.queryCommandState("strikeThrough") && g.push("strikeThrough"), document.queryCommandState("insertUnorderedList") && g.push("insertUnorderedList"), document.queryCommandState("insertOrderedList") && g.push("insertOrderedList"), document.queryCommandState("justifyLeft") && g.push("justifyLeft"), document.queryCommandState("justifyCenter") && g.push("justifyCenter"), document.queryCommandState("justifyRight") && g.push("justifyRight");
281
+ const q = window.getSelection();
282
+ if (q && q.rangeCount > 0) {
283
+ let M = q.getRangeAt(0).commonAncestorContainer;
284
+ for (; M && M.nodeType === Node.ELEMENT_NODE; ) {
285
+ const $ = M, L = $.tagName.toLowerCase();
286
+ if (["h1", "h2", "p", "div"].includes(L)) {
287
+ L === "h1" || L === "h2" ? (p = L, g.push(`formatBlock:${L}`)) : (L === "p" || L === "div" && !p) && (p = "p");
288
+ break;
289
+ }
290
+ M = $.parentNode;
291
+ }
292
+ }
293
+ A(p), u(g);
294
+ };
295
+ ee(() => {
296
+ const g = () => {
297
+ z();
298
+ }, p = () => {
299
+ setTimeout(z, 10);
300
+ };
301
+ return document.addEventListener("selectionchange", g), document.addEventListener("click", p), document.addEventListener("keyup", p), () => {
302
+ document.removeEventListener("selectionchange", g), document.removeEventListener("click", p), document.removeEventListener("keyup", p);
303
+ };
304
+ }, []);
305
+ const I = () => {
306
+ const g = prompt("Enter URL:");
307
+ g && e("createLink", g);
308
+ }, E = [
309
+ {
310
+ id: "bold",
311
+ command: "bold",
312
+ icon: /* @__PURE__ */ h.jsx(Rt, { size: 18 }),
313
+ title: "Bold"
314
+ },
315
+ {
316
+ id: "italic",
317
+ command: "italic",
318
+ icon: /* @__PURE__ */ h.jsx(Ct, { size: 18 }),
319
+ title: "Italic"
320
+ },
321
+ {
322
+ id: "underline",
323
+ command: "underline",
324
+ icon: /* @__PURE__ */ h.jsx(Et, { size: 18 }),
325
+ title: "Underline"
326
+ },
327
+ {
328
+ id: "strikeThrough",
329
+ command: "strikeThrough",
330
+ icon: /* @__PURE__ */ h.jsx(_t, { size: 18 }),
331
+ title: "Strikethrough"
332
+ },
333
+ { id: "separator-1", separator: !0 },
334
+ {
335
+ id: "unordered-list",
336
+ command: "insertUnorderedList",
337
+ icon: /* @__PURE__ */ h.jsx(At, { size: 18 }),
338
+ title: "Bullet List"
339
+ },
340
+ {
341
+ id: "ordered-list",
342
+ command: "insertOrderedList",
343
+ icon: /* @__PURE__ */ h.jsx(Ot, { size: 18 }),
344
+ title: "Numbered List"
345
+ },
346
+ { id: "separator-2", separator: !0 },
347
+ {
348
+ id: "heading-1",
349
+ command: "formatBlock",
350
+ value: "h1",
351
+ icon: /* @__PURE__ */ h.jsx(It, { size: 18 }),
352
+ title: "Heading 1",
353
+ isActive: v === "h1"
354
+ },
355
+ {
356
+ id: "heading-2",
357
+ command: "formatBlock",
358
+ value: "h2",
359
+ icon: /* @__PURE__ */ h.jsx(Nt, { size: 18 }),
360
+ title: "Heading 2",
361
+ isActive: v === "h2"
362
+ },
363
+ {
364
+ id: "paragraph",
365
+ command: "formatBlock",
366
+ value: "p",
367
+ icon: /* @__PURE__ */ h.jsx(zt, { size: 18 }),
368
+ title: "Paragraph",
369
+ isActive: v === "p"
370
+ },
371
+ { id: "separator-3", separator: !0 },
372
+ {
373
+ id: "align-left",
374
+ command: "justifyLeft",
375
+ icon: /* @__PURE__ */ h.jsx(Lt, { size: 18 }),
376
+ title: "Align Left"
377
+ },
378
+ {
379
+ id: "align-center",
380
+ command: "justifyCenter",
381
+ icon: /* @__PURE__ */ h.jsx(Pt, { size: 18 }),
382
+ title: "Center"
383
+ },
384
+ {
385
+ id: "align-right",
386
+ command: "justifyRight",
387
+ icon: /* @__PURE__ */ h.jsx(Mt, { size: 18 }),
388
+ title: "Align Right"
389
+ },
390
+ { id: "separator-4", separator: !0 },
391
+ {
392
+ id: "link",
393
+ command: "createLink",
394
+ icon: /* @__PURE__ */ h.jsx(qt, { size: 18 }),
395
+ title: "Insert Link",
396
+ onClick: I
397
+ },
398
+ {
399
+ id: "image",
400
+ command: "insertImage",
401
+ icon: i > 0 ? /* @__PURE__ */ h.jsxs("div", { className: "relative", children: [
402
+ /* @__PURE__ */ h.jsx(ze, { size: 18 }),
403
+ /* @__PURE__ */ h.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: i })
404
+ ] }) : /* @__PURE__ */ h.jsx(ze, { size: 18 }),
405
+ title: "Insert Image",
406
+ onClick: s
407
+ }
408
+ ];
409
+ return /* @__PURE__ */ h.jsxs("div", { className: "flex flex-wrap justify-between items-center p-3 bg-gray-50 border-b border-gray-200", children: [
410
+ /* @__PURE__ */ h.jsx("div", { className: "flex flex-wrap items-center gap-1", children: E.map((g) => {
411
+ if ("separator" in g)
412
+ return /* @__PURE__ */ h.jsx("div", { className: "w-px h-6 bg-gray-300 mx-2" }, g.id);
413
+ const p = g.isActive !== void 0 ? g.isActive : d.includes(g.command);
414
+ return /* @__PURE__ */ h.jsx(
415
+ "button",
416
+ {
417
+ onClick: () => g.onClick ? g.onClick() : e(g.command, g.value),
418
+ title: g.title,
419
+ type: "button",
420
+ className: `w-9 h-9 flex items-center justify-center rounded-md border transition-colors duration-200 ${p ? "bg-blue-100 text-blue-600 border-blue-300 hover:bg-blue-200" : "bg-white border-gray-300 text-gray-700 hover:bg-gray-100"}`,
421
+ children: g.icon
422
+ },
423
+ g.id
424
+ );
425
+ }) }),
426
+ l && /* @__PURE__ */ h.jsxs("div", { className: "flex items-center gap-2 mt-2 sm:mt-0", children: [
427
+ /* @__PURE__ */ h.jsxs(
428
+ "button",
429
+ {
430
+ onClick: t,
431
+ disabled: !a,
432
+ title: "Save Document",
433
+ 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",
434
+ children: [
435
+ /* @__PURE__ */ h.jsx(st, { size: 16 }),
436
+ /* @__PURE__ */ h.jsx("span", { children: "Save" })
437
+ ]
438
+ }
439
+ ),
440
+ /* @__PURE__ */ h.jsxs(
441
+ "button",
442
+ {
443
+ onClick: r,
444
+ title: "Export as HTML",
445
+ 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",
446
+ children: [
447
+ /* @__PURE__ */ h.jsx(jt, { size: 16 }),
448
+ /* @__PURE__ */ h.jsx("span", { children: "Export" })
449
+ ]
450
+ }
451
+ ),
452
+ /* @__PURE__ */ h.jsxs(
453
+ "button",
454
+ {
455
+ onClick: n,
456
+ title: "Clear Editor",
457
+ 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",
458
+ children: [
459
+ /* @__PURE__ */ h.jsx(St, { size: 16 }),
460
+ /* @__PURE__ */ h.jsx("span", { children: "Clear" })
461
+ ]
462
+ }
463
+ )
464
+ ] })
465
+ ] });
466
+ }, Vt = ({
467
+ wordCount: e,
468
+ characterCount: t,
469
+ hasUnsavedChanges: r,
470
+ pendingImagesCount: n = 0
471
+ }) => /* @__PURE__ */ h.jsxs("div", { className: "flex justify-between items-center px-5 py-3 bg-gray-50 border-t border-gray-200 text-sm text-gray-600", children: [
472
+ /* @__PURE__ */ h.jsxs("div", { className: "flex items-center gap-6", children: [
473
+ /* @__PURE__ */ h.jsxs("div", { children: [
474
+ "Words: ",
475
+ /* @__PURE__ */ h.jsx("strong", { className: "text-gray-800", children: e })
476
+ ] }),
477
+ /* @__PURE__ */ h.jsxs("div", { children: [
478
+ "Characters: ",
479
+ /* @__PURE__ */ h.jsx("strong", { className: "text-gray-800", children: t })
480
+ ] }),
481
+ n > 0 && /* @__PURE__ */ h.jsxs("div", { className: "flex items-center gap-1", children: [
482
+ /* @__PURE__ */ h.jsx(ze, { size: 14, className: "text-blue-600" }),
483
+ /* @__PURE__ */ h.jsxs("span", { className: "text-blue-600", children: [
484
+ n,
485
+ " image",
486
+ n !== 1 ? "s" : ""
487
+ ] })
488
+ ] })
489
+ ] }),
490
+ /* @__PURE__ */ h.jsx("div", { className: "flex items-center gap-2", children: /* @__PURE__ */ h.jsxs("div", { className: `flex items-center gap-1 ${r ? "text-orange-600" : "text-green-600"}`, children: [
491
+ r && /* @__PURE__ */ h.jsx(st, { size: 14, className: "animate-pulse" }),
492
+ /* @__PURE__ */ h.jsx("strong", { children: r ? "Unsaved Changes" : "Saved" })
493
+ ] }) })
494
+ ] }), Bt = ({
495
+ initialContent: e = "",
496
+ onImageUpload: t,
497
+ imageUploadEndpoint: r,
498
+ allowedImageTypes: n,
499
+ maxImageSize: s
500
+ }) => {
501
+ const [l, a] = ge({
502
+ content: e,
503
+ title: "Untitled Document",
504
+ wordCount: e.trim() ? e.trim().split(/\s+/).length : 0,
505
+ characterCount: e.length,
506
+ hasUnsavedChanges: !1,
507
+ pendingImages: []
508
+ }), i = te(null), d = te(/* @__PURE__ */ new Map()), u = te(e);
509
+ ee(() => {
510
+ e !== u.current && (i.current && (i.current.innerHTML = e), a((b) => ({
511
+ ...b,
512
+ content: e,
513
+ wordCount: e.trim() ? e.trim().split(/\s+/).length : 0,
514
+ characterCount: e.length,
515
+ hasUnsavedChanges: !1
516
+ })), u.current = e);
517
+ }, [e]), ee(() => {
518
+ i.current && !i.current.innerHTML && e && (i.current.innerHTML = e);
519
+ }, [e]);
520
+ const v = W((b) => {
521
+ const k = b.trim() ? b.trim().split(/\s+/).length : 0, j = b.length;
522
+ a((c) => ({
523
+ ...c,
524
+ content: b,
525
+ wordCount: k,
526
+ characterCount: j,
527
+ hasUnsavedChanges: !0
528
+ })), u.current = b;
529
+ }, []), A = W((b) => {
530
+ a((k) => ({
531
+ ...k,
532
+ title: b,
533
+ hasUnsavedChanges: !0
534
+ }));
535
+ }, []), z = W((b, k) => {
536
+ i.current && (i.current.focus(), document.execCommand(b, !1, k), v(i.current.innerHTML));
537
+ }, [v]), I = (b) => n.includes(b.type) ? b.size > s ? {
538
+ valid: !1,
539
+ error: `File too large. Maximum size: ${Math.round(s / (1024 * 1024))}MB`
540
+ } : { valid: !0 } : {
541
+ valid: !1,
542
+ error: `Invalid file type. Allowed types: ${n.join(", ")}`
543
+ }, E = W(async (b, k = !0) => {
544
+ const j = I(b);
545
+ if (!j.valid) {
546
+ alert(j.error);
547
+ return;
548
+ }
549
+ if (!i.current) return;
550
+ const c = `image-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, _ = new FileReader();
551
+ _.onload = (O) => {
552
+ const F = O.target?.result;
553
+ d.current.set(c, {
554
+ originalUrl: F,
555
+ fileName: b.name,
556
+ size: b.size,
557
+ type: b.type
558
+ });
559
+ const P = document.createElement("img");
560
+ if (P.src = F, P.alt = b.name, P.className = "image-uploading", P.setAttribute("data-image-id", c), P.setAttribute("data-file-name", b.name), k && window.getSelection) {
561
+ const R = window.getSelection();
562
+ if (R && R.rangeCount > 0) {
563
+ const N = R.getRangeAt(0);
564
+ N.deleteContents(), N.insertNode(P), N.setStartAfter(P), N.collapse(!0), R.removeAllRanges(), R.addRange(N);
565
+ } else
566
+ i.current.appendChild(P);
567
+ } else
568
+ i.current.appendChild(P);
569
+ v(i.current.innerHTML), (t || r) && a((R) => ({
570
+ ...R,
571
+ pendingImages: [
572
+ ...R.pendingImages,
573
+ {
574
+ id: c,
575
+ file: b,
576
+ placeholderUrl: F,
577
+ status: "pending"
578
+ }
579
+ ]
580
+ }));
581
+ }, _.readAsDataURL(b);
582
+ }, [t, r, v, n, s]), g = W(async () => {
583
+ if (!t && !r)
584
+ return;
585
+ const b = l.pendingImages.filter((k) => k.status === "pending");
586
+ if (b.length !== 0) {
587
+ for (const k of b)
588
+ try {
589
+ a((_) => ({
590
+ ..._,
591
+ pendingImages: _.pendingImages.map(
592
+ (O) => O.id === k.id ? { ...O, status: "uploading" } : O
593
+ )
594
+ }));
595
+ let j;
596
+ if (t)
597
+ j = await t(k.file);
598
+ else if (r) {
599
+ const _ = new FormData();
600
+ _.append("image", k.file);
601
+ const O = await fetch(r, {
602
+ method: "POST",
603
+ body: _
604
+ });
605
+ if (!O.ok)
606
+ throw new Error(`Upload failed: ${O.statusText}`);
607
+ const F = await O.json();
608
+ j = F.url || F.imageUrl || F.data;
609
+ } else
610
+ throw new Error("No upload method provided");
611
+ const c = i.current?.querySelector(`img[data-image-id="${k.id}"]`);
612
+ if (c) {
613
+ c.src = j, c.classList.remove("image-uploading"), c.classList.add("image-uploaded");
614
+ const _ = d.current.get(k.id);
615
+ _ && d.current.set(k.id, {
616
+ ..._,
617
+ uploadedUrl: j
618
+ });
619
+ }
620
+ a((_) => ({
621
+ ..._,
622
+ pendingImages: _.pendingImages.map(
623
+ (O) => O.id === k.id ? { ...O, status: "uploaded" } : O
624
+ )
625
+ }));
626
+ } catch (j) {
627
+ console.error("Image upload failed:", j);
628
+ const c = i.current?.querySelector(`img[data-image-id="${k.id}"]`);
629
+ c && (c.classList.remove("image-uploading"), c.classList.add("image-failed")), a((_) => ({
630
+ ..._,
631
+ pendingImages: _.pendingImages.map(
632
+ (O) => O.id === k.id ? { ...O, status: "failed" } : O
633
+ )
634
+ }));
635
+ }
636
+ i.current && v(i.current.innerHTML);
637
+ }
638
+ }, [l.pendingImages, t, r, v]), p = W((b) => {
639
+ const k = b.clipboardData.items;
640
+ for (const j of k)
641
+ if (j.type.indexOf("image") !== -1) {
642
+ b.preventDefault();
643
+ const c = j.getAsFile();
644
+ c && E(c);
645
+ break;
646
+ }
647
+ setTimeout(() => {
648
+ i.current && v(i.current.innerHTML);
649
+ }, 0);
650
+ }, [E, v]), q = W((b) => {
651
+ b.preventDefault();
652
+ const k = b.dataTransfer.files;
653
+ for (const j of k)
654
+ j.type.startsWith("image/") && E(j, !1);
655
+ }, [E]), M = W(() => {
656
+ try {
657
+ const b = i.current?.innerHTML || l.content;
658
+ return { success: !0, data: {
659
+ title: l.title,
660
+ content: b,
661
+ metadata: {
662
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
663
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
664
+ wordCount: l.wordCount,
665
+ characterCount: l.characterCount
666
+ }
667
+ } };
668
+ } catch (b) {
669
+ return { success: !1, error: b instanceof Error ? b.message : "Validation failed" };
670
+ }
671
+ }, [l]), $ = W(
672
+ (b = { includeStyles: !0, includeMeta: !0 }) => {
673
+ const k = M();
674
+ if (!k.success)
675
+ throw new Error(k.error);
676
+ const { data: j } = k;
677
+ let c = `<!DOCTYPE html>
678
+ <html>
679
+ <head>
680
+ <meta charset="UTF-8">
681
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
682
+ <title>${j?.title || "Document"}</title>`;
683
+ return b.includeStyles && (c += `
684
+ <style>
685
+ body {
686
+ font-family: system-ui, -apple-system, sans-serif;
687
+ line-height: 1.6;
688
+ margin: 40px;
689
+ max-width: 800px;
690
+ background: #f8fafc;
691
+ }
692
+ .editor-content {
693
+ border: 1px solid #e2e8f0;
694
+ padding: 24px;
695
+ border-radius: 12px;
696
+ background: white;
697
+ box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
698
+ }
699
+ .readonly-content {
700
+ background: #f9f9f9;
701
+ cursor: default;
702
+ user-select: text;
703
+ }
704
+ img {
705
+ max-width: 100%;
706
+ height: auto;
707
+ border-radius: 8px;
708
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
709
+ margin: 16px 0;
710
+ }
711
+ </style>`), c += `
712
+ </head>
713
+ <body>`, b.includeMeta && j && (c += `
714
+ <div class="document-meta">
715
+ <h1>${j.title}</h1>
716
+ <p><small>Created: ${new Date(j.metadata.createdAt).toLocaleString()} |
717
+ Words: ${j.metadata.wordCount} |
718
+ Characters: ${j.metadata.characterCount}</small></p>
719
+ <hr>
720
+ </div>`), c += `
721
+ <div class="${b.includeStyles ? "readonly-content" : ""}">
722
+ ${j?.content || ""}
723
+ </div>
724
+ </body>
725
+ </html>`, c;
726
+ },
727
+ [M]
728
+ ), L = W(() => {
729
+ a({
730
+ content: "",
731
+ title: "Untitled Document",
732
+ wordCount: 0,
733
+ characterCount: 0,
734
+ hasUnsavedChanges: !1,
735
+ pendingImages: []
736
+ }), d.current.clear(), i.current && (i.current.innerHTML = ""), u.current = "";
737
+ }, []);
738
+ return {
739
+ editorState: l,
740
+ editorRef: i,
741
+ updateContent: v,
742
+ updateTitle: A,
743
+ executeCommand: z,
744
+ getValidationResult: M,
745
+ exportToHTML: $,
746
+ clearEditor: L,
747
+ handlePaste: p,
748
+ handleDrop: q,
749
+ insertImage: E,
750
+ uploadPendingImages: g
751
+ };
752
+ }, Yt = (e, t) => {
753
+ const r = new Array(e.length + t.length);
754
+ for (let n = 0; n < e.length; n++)
755
+ r[n] = e[n];
756
+ for (let n = 0; n < t.length; n++)
757
+ r[e.length + n] = t[n];
758
+ return r;
759
+ }, Ht = (e, t) => ({
760
+ classGroupId: e,
761
+ validator: t
762
+ }), at = (e = /* @__PURE__ */ new Map(), t = null, r) => ({
763
+ nextPart: e,
764
+ validators: t,
765
+ classGroupId: r
766
+ }), be = "-", Ge = [], Jt = "arbitrary..", Xt = (e) => {
767
+ const t = Qt(e), {
768
+ conflictingClassGroups: r,
769
+ conflictingClassGroupModifiers: n
284
770
  } = e;
285
771
  return {
286
- getClassGroupId: (p) => {
287
- const w = p.split(we);
288
- return w[0] === "" && w.length !== 1 && w.shift(), Ae(w, l) || Ue(p);
772
+ getClassGroupId: (a) => {
773
+ if (a.startsWith("[") && a.endsWith("]"))
774
+ return Zt(a);
775
+ const i = a.split(be), d = i[0] === "" && i.length > 1 ? 1 : 0;
776
+ return it(i, d, t);
289
777
  },
290
- getConflictingClassGroupIds: (p, w) => {
291
- const g = a[p] || [];
292
- return w && t[p] ? [...g, ...t[p]] : g;
778
+ getConflictingClassGroupIds: (a, i) => {
779
+ if (i) {
780
+ const d = n[a], u = r[a];
781
+ return d ? u ? Yt(u, d) : d : u || Ge;
782
+ }
783
+ return r[a] || Ge;
293
784
  }
294
785
  };
295
- }, Ae = (e, l) => {
296
- if (e.length === 0)
297
- return l.classGroupId;
298
- const a = e[0], t = l.nextPart.get(a), o = t ? Ae(e.slice(1), t) : void 0;
299
- if (o)
300
- return o;
301
- if (l.validators.length === 0)
786
+ }, it = (e, t, r) => {
787
+ if (e.length - t === 0)
788
+ return r.classGroupId;
789
+ const s = e[t], l = r.nextPart.get(s);
790
+ if (l) {
791
+ const u = it(e, t + 1, l);
792
+ if (u) return u;
793
+ }
794
+ const a = r.validators;
795
+ if (a === null)
302
796
  return;
303
- const b = e.join(we);
304
- return l.validators.find(({
305
- validator: p
306
- }) => p(b))?.classGroupId;
307
- }, Ee = /^\[(.+)\]$/, Ue = (e) => {
308
- if (Ee.test(e)) {
309
- const l = Ee.exec(e)[1], a = l?.substring(0, l.indexOf(":"));
310
- if (a)
311
- return "arbitrary.." + a;
797
+ const i = t === 0 ? e.join(be) : e.slice(t).join(be), d = a.length;
798
+ for (let u = 0; u < d; u++) {
799
+ const v = a[u];
800
+ if (v.validator(i))
801
+ return v.classGroupId;
312
802
  }
313
- }, Ye = (e) => {
803
+ }, Zt = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
804
+ const t = e.slice(1, -1), r = t.indexOf(":"), n = t.slice(0, r);
805
+ return n ? Jt + n : void 0;
806
+ })(), Qt = (e) => {
314
807
  const {
315
- theme: l,
316
- classGroups: a
317
- } = e, t = {
318
- nextPart: /* @__PURE__ */ new Map(),
319
- validators: []
320
- };
321
- for (const o in a)
322
- xe(a[o], t, o, l);
323
- return t;
324
- }, xe = (e, l, a, t) => {
325
- e.forEach((o) => {
326
- if (typeof o == "string") {
327
- const b = o === "" ? l : Fe(l, o);
328
- b.classGroupId = a;
329
- return;
330
- }
331
- if (typeof o == "function") {
332
- if (Ze(o)) {
333
- xe(o(t), l, a, t);
334
- return;
335
- }
336
- l.validators.push({
337
- validator: o,
338
- classGroupId: a
339
- });
340
- return;
341
- }
342
- Object.entries(o).forEach(([b, p]) => {
343
- xe(p, Fe(l, b), a, t);
344
- });
345
- });
346
- }, Fe = (e, l) => {
347
- let a = e;
348
- return l.split(we).forEach((t) => {
349
- a.nextPart.has(t) || a.nextPart.set(t, {
350
- nextPart: /* @__PURE__ */ new Map(),
351
- validators: []
352
- }), a = a.nextPart.get(t);
353
- }), a;
354
- }, Ze = (e) => e.isThemeGetter, Je = (e) => {
808
+ theme: t,
809
+ classGroups: r
810
+ } = e;
811
+ return Kt(r, t);
812
+ }, Kt = (e, t) => {
813
+ const r = at();
814
+ for (const n in e) {
815
+ const s = e[n];
816
+ Pe(s, r, n, t);
817
+ }
818
+ return r;
819
+ }, Pe = (e, t, r, n) => {
820
+ const s = e.length;
821
+ for (let l = 0; l < s; l++) {
822
+ const a = e[l];
823
+ er(a, t, r, n);
824
+ }
825
+ }, er = (e, t, r, n) => {
826
+ if (typeof e == "string") {
827
+ tr(e, t, r);
828
+ return;
829
+ }
830
+ if (typeof e == "function") {
831
+ rr(e, t, r, n);
832
+ return;
833
+ }
834
+ nr(e, t, r, n);
835
+ }, tr = (e, t, r) => {
836
+ const n = e === "" ? t : lt(t, e);
837
+ n.classGroupId = r;
838
+ }, rr = (e, t, r, n) => {
839
+ if (or(e)) {
840
+ Pe(e(n), t, r, n);
841
+ return;
842
+ }
843
+ t.validators === null && (t.validators = []), t.validators.push(Ht(r, e));
844
+ }, nr = (e, t, r, n) => {
845
+ const s = Object.entries(e), l = s.length;
846
+ for (let a = 0; a < l; a++) {
847
+ const [i, d] = s[a];
848
+ Pe(d, lt(t, i), r, n);
849
+ }
850
+ }, lt = (e, t) => {
851
+ let r = e;
852
+ const n = t.split(be), s = n.length;
853
+ for (let l = 0; l < s; l++) {
854
+ const a = n[l];
855
+ let i = r.nextPart.get(a);
856
+ i || (i = at(), r.nextPart.set(a, i)), r = i;
857
+ }
858
+ return r;
859
+ }, or = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, sr = (e) => {
355
860
  if (e < 1)
356
861
  return {
357
862
  get: () => {
@@ -359,178 +864,178 @@ const we = "-", We = (e) => {
359
864
  set: () => {
360
865
  }
361
866
  };
362
- let l = 0, a = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map();
363
- const o = (b, p) => {
364
- a.set(b, p), l++, l > e && (l = 0, t = a, a = /* @__PURE__ */ new Map());
867
+ let t = 0, r = /* @__PURE__ */ Object.create(null), n = /* @__PURE__ */ Object.create(null);
868
+ const s = (l, a) => {
869
+ r[l] = a, t++, t > e && (t = 0, n = r, r = /* @__PURE__ */ Object.create(null));
365
870
  };
366
871
  return {
367
- get(b) {
368
- let p = a.get(b);
369
- if (p !== void 0)
370
- return p;
371
- if ((p = t.get(b)) !== void 0)
372
- return o(b, p), p;
872
+ get(l) {
873
+ let a = r[l];
874
+ if (a !== void 0)
875
+ return a;
876
+ if ((a = n[l]) !== void 0)
877
+ return s(l, a), a;
373
878
  },
374
- set(b, p) {
375
- a.has(b) ? a.set(b, p) : o(b, p);
879
+ set(l, a) {
880
+ l in r ? r[l] = a : s(l, a);
376
881
  }
377
882
  };
378
- }, ye = "!", ke = ":", Xe = ke.length, Qe = (e) => {
883
+ }, Le = "!", $e = ":", ar = [], De = (e, t, r, n, s) => ({
884
+ modifiers: e,
885
+ hasImportantModifier: t,
886
+ baseClassName: r,
887
+ maybePostfixModifierPosition: n,
888
+ isExternal: s
889
+ }), ir = (e) => {
379
890
  const {
380
- prefix: l,
381
- experimentalParseClassName: a
891
+ prefix: t,
892
+ experimentalParseClassName: r
382
893
  } = e;
383
- let t = (o) => {
384
- const b = [];
385
- let p = 0, w = 0, g = 0, x;
386
- for (let _ = 0; _ < o.length; _++) {
387
- let F = o[_];
388
- if (p === 0 && w === 0) {
389
- if (F === ke) {
390
- b.push(o.slice(g, _)), g = _ + Xe;
894
+ let n = (s) => {
895
+ const l = [];
896
+ let a = 0, i = 0, d = 0, u;
897
+ const v = s.length;
898
+ for (let g = 0; g < v; g++) {
899
+ const p = s[g];
900
+ if (a === 0 && i === 0) {
901
+ if (p === $e) {
902
+ l.push(s.slice(d, g)), d = g + 1;
391
903
  continue;
392
904
  }
393
- if (F === "/") {
394
- x = _;
905
+ if (p === "/") {
906
+ u = g;
395
907
  continue;
396
908
  }
397
909
  }
398
- F === "[" ? p++ : F === "]" ? p-- : F === "(" ? w++ : F === ")" && w--;
910
+ p === "[" ? a++ : p === "]" ? a-- : p === "(" ? i++ : p === ")" && i--;
399
911
  }
400
- const C = b.length === 0 ? o : o.substring(g), S = Ke(C), D = S !== C, N = x && x > g ? x - g : void 0;
401
- return {
402
- modifiers: b,
403
- hasImportantModifier: D,
404
- baseClassName: S,
405
- maybePostfixModifierPosition: N
406
- };
912
+ const A = l.length === 0 ? s : s.slice(d);
913
+ let z = A, I = !1;
914
+ A.endsWith(Le) ? (z = A.slice(0, -1), I = !0) : (
915
+ /**
916
+ * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
917
+ * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
918
+ */
919
+ A.startsWith(Le) && (z = A.slice(1), I = !0)
920
+ );
921
+ const E = u && u > d ? u - d : void 0;
922
+ return De(l, I, z, E);
407
923
  };
408
- if (l) {
409
- const o = l + ke, b = t;
410
- t = (p) => p.startsWith(o) ? b(p.substring(o.length)) : {
411
- isExternal: !0,
412
- modifiers: [],
413
- hasImportantModifier: !1,
414
- baseClassName: p,
415
- maybePostfixModifierPosition: void 0
416
- };
924
+ if (t) {
925
+ const s = t + $e, l = n;
926
+ n = (a) => a.startsWith(s) ? l(a.slice(s.length)) : De(ar, !1, a, void 0, !0);
417
927
  }
418
- if (a) {
419
- const o = t;
420
- t = (b) => a({
421
- className: b,
422
- parseClassName: o
928
+ if (r) {
929
+ const s = n;
930
+ n = (l) => r({
931
+ className: l,
932
+ parseClassName: s
423
933
  });
424
934
  }
425
- return t;
426
- }, Ke = (e) => e.endsWith(ye) ? e.substring(0, e.length - 1) : e.startsWith(ye) ? e.substring(1) : e, er = (e) => {
427
- const l = Object.fromEntries(e.orderSensitiveModifiers.map((t) => [t, !0]));
428
- return (t) => {
429
- if (t.length <= 1)
430
- return t;
431
- const o = [];
432
- let b = [];
433
- return t.forEach((p) => {
434
- p[0] === "[" || l[p] ? (o.push(...b.sort(), p), b = []) : b.push(p);
435
- }), o.push(...b.sort()), o;
935
+ return n;
936
+ }, lr = (e) => {
937
+ const t = /* @__PURE__ */ new Map();
938
+ return e.orderSensitiveModifiers.forEach((r, n) => {
939
+ t.set(r, 1e6 + n);
940
+ }), (r) => {
941
+ const n = [];
942
+ let s = [];
943
+ for (let l = 0; l < r.length; l++) {
944
+ const a = r[l], i = a[0] === "[", d = t.has(a);
945
+ i || d ? (s.length > 0 && (s.sort(), n.push(...s), s = []), n.push(a)) : s.push(a);
946
+ }
947
+ return s.length > 0 && (s.sort(), n.push(...s)), n;
436
948
  };
437
- }, rr = (e) => ({
438
- cache: Je(e.cacheSize),
439
- parseClassName: Qe(e),
440
- sortModifiers: er(e),
441
- ...We(e)
442
- }), tr = /\s+/, or = (e, l) => {
949
+ }, cr = (e) => ({
950
+ cache: sr(e.cacheSize),
951
+ parseClassName: ir(e),
952
+ sortModifiers: lr(e),
953
+ ...Xt(e)
954
+ }), dr = /\s+/, ur = (e, t) => {
443
955
  const {
444
- parseClassName: a,
445
- getClassGroupId: t,
446
- getConflictingClassGroupIds: o,
447
- sortModifiers: b
448
- } = l, p = [], w = e.trim().split(tr);
449
- let g = "";
450
- for (let x = w.length - 1; x >= 0; x -= 1) {
451
- const C = w[x], {
452
- isExternal: S,
453
- modifiers: D,
454
- hasImportantModifier: N,
455
- baseClassName: _,
456
- maybePostfixModifierPosition: F
457
- } = a(C);
458
- if (S) {
459
- g = C + (g.length > 0 ? " " + g : g);
956
+ parseClassName: r,
957
+ getClassGroupId: n,
958
+ getConflictingClassGroupIds: s,
959
+ sortModifiers: l
960
+ } = t, a = [], i = e.trim().split(dr);
961
+ let d = "";
962
+ for (let u = i.length - 1; u >= 0; u -= 1) {
963
+ const v = i[u], {
964
+ isExternal: A,
965
+ modifiers: z,
966
+ hasImportantModifier: I,
967
+ baseClassName: E,
968
+ maybePostfixModifierPosition: g
969
+ } = r(v);
970
+ if (A) {
971
+ d = v + (d.length > 0 ? " " + d : d);
460
972
  continue;
461
973
  }
462
- let L = !!F, I = t(L ? _.substring(0, F) : _);
463
- if (!I) {
464
- if (!L) {
465
- g = C + (g.length > 0 ? " " + g : g);
974
+ let p = !!g, q = n(p ? E.substring(0, g) : E);
975
+ if (!q) {
976
+ if (!p) {
977
+ d = v + (d.length > 0 ? " " + d : d);
466
978
  continue;
467
979
  }
468
- if (I = t(_), !I) {
469
- g = C + (g.length > 0 ? " " + g : g);
980
+ if (q = n(E), !q) {
981
+ d = v + (d.length > 0 ? " " + d : d);
470
982
  continue;
471
983
  }
472
- L = !1;
984
+ p = !1;
473
985
  }
474
- const $ = b(D).join(":"), U = N ? $ + ye : $, R = U + I;
475
- if (p.includes(R))
986
+ const M = z.length === 0 ? "" : z.length === 1 ? z[0] : l(z).join(":"), $ = I ? M + Le : M, L = $ + q;
987
+ if (a.indexOf(L) > -1)
476
988
  continue;
477
- p.push(R);
478
- const O = o(I, L);
479
- for (let T = 0; T < O.length; ++T) {
480
- const A = O[T];
481
- p.push(U + A);
989
+ a.push(L);
990
+ const b = s(q, p);
991
+ for (let k = 0; k < b.length; ++k) {
992
+ const j = b[k];
993
+ a.push($ + j);
482
994
  }
483
- g = C + (g.length > 0 ? " " + g : g);
995
+ d = v + (d.length > 0 ? " " + d : d);
484
996
  }
485
- return g;
486
- };
487
- function sr() {
488
- let e = 0, l, a, t = "";
489
- for (; e < arguments.length; )
490
- (l = arguments[e++]) && (a = Se(l)) && (t && (t += " "), t += a);
491
- return t;
492
- }
493
- const Se = (e) => {
997
+ return d;
998
+ }, mr = (...e) => {
999
+ let t = 0, r, n, s = "";
1000
+ for (; t < e.length; )
1001
+ (r = e[t++]) && (n = ct(r)) && (s && (s += " "), s += n);
1002
+ return s;
1003
+ }, ct = (e) => {
494
1004
  if (typeof e == "string")
495
1005
  return e;
496
- let l, a = "";
497
- for (let t = 0; t < e.length; t++)
498
- e[t] && (l = Se(e[t])) && (a && (a += " "), a += l);
499
- return a;
500
- };
501
- function nr(e, ...l) {
502
- let a, t, o, b = p;
503
- function p(g) {
504
- const x = l.reduce((C, S) => S(C), e());
505
- return a = rr(x), t = a.cache.get, o = a.cache.set, b = w, w(g);
506
- }
507
- function w(g) {
508
- const x = t(g);
509
- if (x)
510
- return x;
511
- const C = or(g, a);
512
- return o(g, C), C;
513
- }
514
- return function() {
515
- return b(sr.apply(null, arguments));
1006
+ let t, r = "";
1007
+ for (let n = 0; n < e.length; n++)
1008
+ e[n] && (t = ct(e[n])) && (r && (r += " "), r += t);
1009
+ return r;
1010
+ }, fr = (e, ...t) => {
1011
+ let r, n, s, l;
1012
+ const a = (d) => {
1013
+ const u = t.reduce((v, A) => A(v), e());
1014
+ return r = cr(u), n = r.cache.get, s = r.cache.set, l = i, i(d);
1015
+ }, i = (d) => {
1016
+ const u = n(d);
1017
+ if (u)
1018
+ return u;
1019
+ const v = ur(d, r);
1020
+ return s(d, v), v;
516
1021
  };
517
- }
518
- const j = (e) => {
519
- const l = (a) => a[e] || [];
520
- return l.isThemeGetter = !0, l;
521
- }, ze = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Me = /^\((?:(\w[\w-]*):)?(.+)\)$/i, ar = /^\d+\/\d+$/, lr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, ir = /\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$/, cr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, dr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, ur = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, se = (e) => ar.test(e), y = (e) => !!e && !Number.isNaN(Number(e)), J = (e) => !!e && Number.isInteger(Number(e)), he = (e) => e.endsWith("%") && y(e.slice(0, -1)), Z = (e) => lr.test(e), mr = () => !0, fr = (e) => (
1022
+ return l = a, (...d) => l(mr(...d));
1023
+ }, pr = [], G = (e) => {
1024
+ const t = (r) => r[e] || pr;
1025
+ return t.isThemeGetter = !0, t;
1026
+ }, dt = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, ut = /^\((?:(\w[\w-]*):)?(.+)\)$/i, gr = /^\d+\/\d+$/, br = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, hr = /\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$/, xr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, vr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, yr = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, oe = (e) => gr.test(e), T = (e) => !!e && !Number.isNaN(Number(e)), X = (e) => !!e && Number.isInteger(Number(e)), xe = (e) => e.endsWith("%") && T(e.slice(0, -1)), H = (e) => br.test(e), wr = () => !0, kr = (e) => (
522
1027
  // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
523
1028
  // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
524
1029
  // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
525
- ir.test(e) && !cr.test(e)
526
- ), Ne = () => !1, pr = (e) => dr.test(e), br = (e) => ur.test(e), hr = (e) => !i(e) && !c(e), gr = (e) => ne(e, Ie, Ne), i = (e) => ze.test(e), oe = (e) => ne(e, He, fr), ge = (e) => ne(e, vr, y), Te = (e) => ne(e, Pe, Ne), xr = (e) => ne(e, Le, br), me = (e) => ne(e, Be, pr), c = (e) => Me.test(e), de = (e) => ae(e, He), yr = (e) => ae(e, Cr), Re = (e) => ae(e, Pe), kr = (e) => ae(e, Ie), wr = (e) => ae(e, Le), fe = (e) => ae(e, Be, !0), ne = (e, l, a) => {
527
- const t = ze.exec(e);
528
- return t ? t[1] ? l(t[1]) : a(t[2]) : !1;
529
- }, ae = (e, l, a = !1) => {
530
- const t = Me.exec(e);
531
- return t ? t[1] ? l(t[1]) : a : !1;
532
- }, Pe = (e) => e === "position" || e === "percentage", Le = (e) => e === "image" || e === "url", Ie = (e) => e === "length" || e === "size" || e === "bg-size", He = (e) => e === "length", vr = (e) => e === "number", Cr = (e) => e === "family-name", Be = (e) => e === "shadow", jr = () => {
533
- const e = j("color"), l = j("font"), a = j("text"), t = j("font-weight"), o = j("tracking"), b = j("leading"), p = j("breakpoint"), w = j("container"), g = j("spacing"), x = j("radius"), C = j("shadow"), S = j("inset-shadow"), D = j("text-shadow"), N = j("drop-shadow"), _ = j("blur"), F = j("perspective"), L = j("aspect"), I = j("ease"), $ = j("animate"), U = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], R = () => [
1030
+ hr.test(e) && !xr.test(e)
1031
+ ), mt = () => !1, Tr = (e) => vr.test(e), jr = (e) => yr.test(e), Sr = (e) => !m(e) && !f(e), Rr = (e) => se(e, gt, mt), m = (e) => dt.test(e), K = (e) => se(e, bt, kr), ve = (e) => se(e, Or, T), Ue = (e) => se(e, ft, mt), Cr = (e) => se(e, pt, jr), fe = (e) => se(e, ht, Tr), f = (e) => ut.test(e), ce = (e) => ae(e, bt), Er = (e) => ae(e, Ir), We = (e) => ae(e, ft), _r = (e) => ae(e, gt), Ar = (e) => ae(e, pt), pe = (e) => ae(e, ht, !0), se = (e, t, r) => {
1032
+ const n = dt.exec(e);
1033
+ return n ? n[1] ? t(n[1]) : r(n[2]) : !1;
1034
+ }, ae = (e, t, r = !1) => {
1035
+ const n = ut.exec(e);
1036
+ return n ? n[1] ? t(n[1]) : r : !1;
1037
+ }, ft = (e) => e === "position" || e === "percentage", pt = (e) => e === "image" || e === "url", gt = (e) => e === "length" || e === "size" || e === "bg-size", bt = (e) => e === "length", Or = (e) => e === "number", Ir = (e) => e === "family-name", ht = (e) => e === "shadow", Nr = () => {
1038
+ const e = G("color"), t = G("font"), r = G("text"), n = G("font-weight"), s = G("tracking"), l = G("leading"), a = G("breakpoint"), i = G("container"), d = G("spacing"), u = G("radius"), v = G("shadow"), A = G("inset-shadow"), z = G("text-shadow"), I = G("drop-shadow"), E = G("blur"), g = G("perspective"), p = G("aspect"), q = G("ease"), M = G("animate"), $ = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], L = () => [
534
1039
  "center",
535
1040
  "top",
536
1041
  "bottom",
@@ -548,51 +1053,51 @@ const j = (e) => {
548
1053
  "bottom-left",
549
1054
  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
550
1055
  "left-bottom"
551
- ], O = () => [...R(), c, i], T = () => ["auto", "hidden", "clip", "visible", "scroll"], A = () => ["auto", "contain", "none"], m = () => [c, i, g], z = () => [se, "full", "auto", ...m()], X = () => [J, "none", "subgrid", c, i], Q = () => ["auto", {
552
- span: ["full", J, c, i]
553
- }, J, c, i], V = () => [J, "auto", c, i], K = () => ["auto", "min", "max", "fr", c, i], v = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], H = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], P = () => ["auto", ...m()], B = () => [se, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...m()], f = () => [e, c, i], ee = () => [...R(), Re, Te, {
554
- position: [c, i]
555
- }], re = () => ["no-repeat", {
1056
+ ], b = () => [...L(), f, m], k = () => ["auto", "hidden", "clip", "visible", "scroll"], j = () => ["auto", "contain", "none"], c = () => [f, m, d], _ = () => [oe, "full", "auto", ...c()], O = () => [X, "none", "subgrid", f, m], F = () => ["auto", {
1057
+ span: ["full", X, f, m]
1058
+ }, X, f, m], P = () => [X, "auto", f, m], R = () => ["auto", "min", "max", "fr", f, m], N = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], D = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], U = () => ["auto", ...c()], V = () => [oe, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...c()], x = () => [e, f, m], Z = () => [...L(), We, Ue, {
1059
+ position: [f, m]
1060
+ }], Q = () => ["no-repeat", {
556
1061
  repeat: ["", "x", "y", "space", "round"]
557
- }], r = () => ["auto", "cover", "contain", kr, gr, {
558
- size: [c, i]
559
- }], h = () => [he, de, oe], d = () => [
1062
+ }], o = () => ["auto", "cover", "contain", _r, Rr, {
1063
+ size: [f, m]
1064
+ }], y = () => [xe, ce, K], w = () => [
560
1065
  // Deprecated since Tailwind CSS v4.0.0
561
1066
  "",
562
1067
  "none",
563
1068
  "full",
564
- x,
565
- c,
566
- i
567
- ], k = () => ["", y, de, oe], q = () => ["solid", "dashed", "dotted", "double"], u = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], n = () => [y, he, Re, Te], E = () => [
1069
+ u,
1070
+ f,
1071
+ m
1072
+ ], C = () => ["", T, ce, K], B = () => ["solid", "dashed", "dotted", "double"], re = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], S = () => [T, xe, We, Ue], Y = () => [
568
1073
  // Deprecated since Tailwind CSS v4.0.0
569
1074
  "",
570
1075
  "none",
571
- _,
572
- c,
573
- i
574
- ], M = () => ["none", y, c, i], W = () => ["none", y, c, i], te = () => [y, c, i], Y = () => [se, "full", ...m()];
1076
+ E,
1077
+ f,
1078
+ m
1079
+ ], J = () => ["none", T, f, m], ne = () => ["none", T, f, m], he = () => [T, f, m], de = () => [oe, "full", ...c()];
575
1080
  return {
576
1081
  cacheSize: 500,
577
1082
  theme: {
578
1083
  animate: ["spin", "ping", "pulse", "bounce"],
579
1084
  aspect: ["video"],
580
- blur: [Z],
581
- breakpoint: [Z],
582
- color: [mr],
583
- container: [Z],
584
- "drop-shadow": [Z],
1085
+ blur: [H],
1086
+ breakpoint: [H],
1087
+ color: [wr],
1088
+ container: [H],
1089
+ "drop-shadow": [H],
585
1090
  ease: ["in", "out", "in-out"],
586
- font: [hr],
1091
+ font: [Sr],
587
1092
  "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
588
- "inset-shadow": [Z],
1093
+ "inset-shadow": [H],
589
1094
  leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
590
1095
  perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
591
- radius: [Z],
592
- shadow: [Z],
593
- spacing: ["px", y],
594
- text: [Z],
595
- "text-shadow": [Z],
1096
+ radius: [H],
1097
+ shadow: [H],
1098
+ spacing: ["px", T],
1099
+ text: [H],
1100
+ "text-shadow": [H],
596
1101
  tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
597
1102
  },
598
1103
  classGroups: {
@@ -604,7 +1109,7 @@ const j = (e) => {
604
1109
  * @see https://tailwindcss.com/docs/aspect-ratio
605
1110
  */
606
1111
  aspect: [{
607
- aspect: ["auto", "square", se, i, c, L]
1112
+ aspect: ["auto", "square", oe, m, f, p]
608
1113
  }],
609
1114
  /**
610
1115
  * Container
@@ -617,21 +1122,21 @@ const j = (e) => {
617
1122
  * @see https://tailwindcss.com/docs/columns
618
1123
  */
619
1124
  columns: [{
620
- columns: [y, i, c, w]
1125
+ columns: [T, m, f, i]
621
1126
  }],
622
1127
  /**
623
1128
  * Break After
624
1129
  * @see https://tailwindcss.com/docs/break-after
625
1130
  */
626
1131
  "break-after": [{
627
- "break-after": U()
1132
+ "break-after": $()
628
1133
  }],
629
1134
  /**
630
1135
  * Break Before
631
1136
  * @see https://tailwindcss.com/docs/break-before
632
1137
  */
633
1138
  "break-before": [{
634
- "break-before": U()
1139
+ "break-before": $()
635
1140
  }],
636
1141
  /**
637
1142
  * Break Inside
@@ -695,49 +1200,49 @@ const j = (e) => {
695
1200
  * @see https://tailwindcss.com/docs/object-position
696
1201
  */
697
1202
  "object-position": [{
698
- object: O()
1203
+ object: b()
699
1204
  }],
700
1205
  /**
701
1206
  * Overflow
702
1207
  * @see https://tailwindcss.com/docs/overflow
703
1208
  */
704
1209
  overflow: [{
705
- overflow: T()
1210
+ overflow: k()
706
1211
  }],
707
1212
  /**
708
1213
  * Overflow X
709
1214
  * @see https://tailwindcss.com/docs/overflow
710
1215
  */
711
1216
  "overflow-x": [{
712
- "overflow-x": T()
1217
+ "overflow-x": k()
713
1218
  }],
714
1219
  /**
715
1220
  * Overflow Y
716
1221
  * @see https://tailwindcss.com/docs/overflow
717
1222
  */
718
1223
  "overflow-y": [{
719
- "overflow-y": T()
1224
+ "overflow-y": k()
720
1225
  }],
721
1226
  /**
722
1227
  * Overscroll Behavior
723
1228
  * @see https://tailwindcss.com/docs/overscroll-behavior
724
1229
  */
725
1230
  overscroll: [{
726
- overscroll: A()
1231
+ overscroll: j()
727
1232
  }],
728
1233
  /**
729
1234
  * Overscroll Behavior X
730
1235
  * @see https://tailwindcss.com/docs/overscroll-behavior
731
1236
  */
732
1237
  "overscroll-x": [{
733
- "overscroll-x": A()
1238
+ "overscroll-x": j()
734
1239
  }],
735
1240
  /**
736
1241
  * Overscroll Behavior Y
737
1242
  * @see https://tailwindcss.com/docs/overscroll-behavior
738
1243
  */
739
1244
  "overscroll-y": [{
740
- "overscroll-y": A()
1245
+ "overscroll-y": j()
741
1246
  }],
742
1247
  /**
743
1248
  * Position
@@ -749,63 +1254,63 @@ const j = (e) => {
749
1254
  * @see https://tailwindcss.com/docs/top-right-bottom-left
750
1255
  */
751
1256
  inset: [{
752
- inset: z()
1257
+ inset: _()
753
1258
  }],
754
1259
  /**
755
1260
  * Right / Left
756
1261
  * @see https://tailwindcss.com/docs/top-right-bottom-left
757
1262
  */
758
1263
  "inset-x": [{
759
- "inset-x": z()
1264
+ "inset-x": _()
760
1265
  }],
761
1266
  /**
762
1267
  * Top / Bottom
763
1268
  * @see https://tailwindcss.com/docs/top-right-bottom-left
764
1269
  */
765
1270
  "inset-y": [{
766
- "inset-y": z()
1271
+ "inset-y": _()
767
1272
  }],
768
1273
  /**
769
1274
  * Start
770
1275
  * @see https://tailwindcss.com/docs/top-right-bottom-left
771
1276
  */
772
1277
  start: [{
773
- start: z()
1278
+ start: _()
774
1279
  }],
775
1280
  /**
776
1281
  * End
777
1282
  * @see https://tailwindcss.com/docs/top-right-bottom-left
778
1283
  */
779
1284
  end: [{
780
- end: z()
1285
+ end: _()
781
1286
  }],
782
1287
  /**
783
1288
  * Top
784
1289
  * @see https://tailwindcss.com/docs/top-right-bottom-left
785
1290
  */
786
1291
  top: [{
787
- top: z()
1292
+ top: _()
788
1293
  }],
789
1294
  /**
790
1295
  * Right
791
1296
  * @see https://tailwindcss.com/docs/top-right-bottom-left
792
1297
  */
793
1298
  right: [{
794
- right: z()
1299
+ right: _()
795
1300
  }],
796
1301
  /**
797
1302
  * Bottom
798
1303
  * @see https://tailwindcss.com/docs/top-right-bottom-left
799
1304
  */
800
1305
  bottom: [{
801
- bottom: z()
1306
+ bottom: _()
802
1307
  }],
803
1308
  /**
804
1309
  * Left
805
1310
  * @see https://tailwindcss.com/docs/top-right-bottom-left
806
1311
  */
807
1312
  left: [{
808
- left: z()
1313
+ left: _()
809
1314
  }],
810
1315
  /**
811
1316
  * Visibility
@@ -817,7 +1322,7 @@ const j = (e) => {
817
1322
  * @see https://tailwindcss.com/docs/z-index
818
1323
  */
819
1324
  z: [{
820
- z: [J, "auto", c, i]
1325
+ z: [X, "auto", f, m]
821
1326
  }],
822
1327
  // ------------------------
823
1328
  // --- Flexbox and Grid ---
@@ -827,7 +1332,7 @@ const j = (e) => {
827
1332
  * @see https://tailwindcss.com/docs/flex-basis
828
1333
  */
829
1334
  basis: [{
830
- basis: [se, "full", "auto", w, ...m()]
1335
+ basis: [oe, "full", "auto", i, ...c()]
831
1336
  }],
832
1337
  /**
833
1338
  * Flex Direction
@@ -848,84 +1353,84 @@ const j = (e) => {
848
1353
  * @see https://tailwindcss.com/docs/flex
849
1354
  */
850
1355
  flex: [{
851
- flex: [y, se, "auto", "initial", "none", i]
1356
+ flex: [T, oe, "auto", "initial", "none", m]
852
1357
  }],
853
1358
  /**
854
1359
  * Flex Grow
855
1360
  * @see https://tailwindcss.com/docs/flex-grow
856
1361
  */
857
1362
  grow: [{
858
- grow: ["", y, c, i]
1363
+ grow: ["", T, f, m]
859
1364
  }],
860
1365
  /**
861
1366
  * Flex Shrink
862
1367
  * @see https://tailwindcss.com/docs/flex-shrink
863
1368
  */
864
1369
  shrink: [{
865
- shrink: ["", y, c, i]
1370
+ shrink: ["", T, f, m]
866
1371
  }],
867
1372
  /**
868
1373
  * Order
869
1374
  * @see https://tailwindcss.com/docs/order
870
1375
  */
871
1376
  order: [{
872
- order: [J, "first", "last", "none", c, i]
1377
+ order: [X, "first", "last", "none", f, m]
873
1378
  }],
874
1379
  /**
875
1380
  * Grid Template Columns
876
1381
  * @see https://tailwindcss.com/docs/grid-template-columns
877
1382
  */
878
1383
  "grid-cols": [{
879
- "grid-cols": X()
1384
+ "grid-cols": O()
880
1385
  }],
881
1386
  /**
882
1387
  * Grid Column Start / End
883
1388
  * @see https://tailwindcss.com/docs/grid-column
884
1389
  */
885
1390
  "col-start-end": [{
886
- col: Q()
1391
+ col: F()
887
1392
  }],
888
1393
  /**
889
1394
  * Grid Column Start
890
1395
  * @see https://tailwindcss.com/docs/grid-column
891
1396
  */
892
1397
  "col-start": [{
893
- "col-start": V()
1398
+ "col-start": P()
894
1399
  }],
895
1400
  /**
896
1401
  * Grid Column End
897
1402
  * @see https://tailwindcss.com/docs/grid-column
898
1403
  */
899
1404
  "col-end": [{
900
- "col-end": V()
1405
+ "col-end": P()
901
1406
  }],
902
1407
  /**
903
1408
  * Grid Template Rows
904
1409
  * @see https://tailwindcss.com/docs/grid-template-rows
905
1410
  */
906
1411
  "grid-rows": [{
907
- "grid-rows": X()
1412
+ "grid-rows": O()
908
1413
  }],
909
1414
  /**
910
1415
  * Grid Row Start / End
911
1416
  * @see https://tailwindcss.com/docs/grid-row
912
1417
  */
913
1418
  "row-start-end": [{
914
- row: Q()
1419
+ row: F()
915
1420
  }],
916
1421
  /**
917
1422
  * Grid Row Start
918
1423
  * @see https://tailwindcss.com/docs/grid-row
919
1424
  */
920
1425
  "row-start": [{
921
- "row-start": V()
1426
+ "row-start": P()
922
1427
  }],
923
1428
  /**
924
1429
  * Grid Row End
925
1430
  * @see https://tailwindcss.com/docs/grid-row
926
1431
  */
927
1432
  "row-end": [{
928
- "row-end": V()
1433
+ "row-end": P()
929
1434
  }],
930
1435
  /**
931
1436
  * Grid Auto Flow
@@ -939,70 +1444,70 @@ const j = (e) => {
939
1444
  * @see https://tailwindcss.com/docs/grid-auto-columns
940
1445
  */
941
1446
  "auto-cols": [{
942
- "auto-cols": K()
1447
+ "auto-cols": R()
943
1448
  }],
944
1449
  /**
945
1450
  * Grid Auto Rows
946
1451
  * @see https://tailwindcss.com/docs/grid-auto-rows
947
1452
  */
948
1453
  "auto-rows": [{
949
- "auto-rows": K()
1454
+ "auto-rows": R()
950
1455
  }],
951
1456
  /**
952
1457
  * Gap
953
1458
  * @see https://tailwindcss.com/docs/gap
954
1459
  */
955
1460
  gap: [{
956
- gap: m()
1461
+ gap: c()
957
1462
  }],
958
1463
  /**
959
1464
  * Gap X
960
1465
  * @see https://tailwindcss.com/docs/gap
961
1466
  */
962
1467
  "gap-x": [{
963
- "gap-x": m()
1468
+ "gap-x": c()
964
1469
  }],
965
1470
  /**
966
1471
  * Gap Y
967
1472
  * @see https://tailwindcss.com/docs/gap
968
1473
  */
969
1474
  "gap-y": [{
970
- "gap-y": m()
1475
+ "gap-y": c()
971
1476
  }],
972
1477
  /**
973
1478
  * Justify Content
974
1479
  * @see https://tailwindcss.com/docs/justify-content
975
1480
  */
976
1481
  "justify-content": [{
977
- justify: [...v(), "normal"]
1482
+ justify: [...N(), "normal"]
978
1483
  }],
979
1484
  /**
980
1485
  * Justify Items
981
1486
  * @see https://tailwindcss.com/docs/justify-items
982
1487
  */
983
1488
  "justify-items": [{
984
- "justify-items": [...H(), "normal"]
1489
+ "justify-items": [...D(), "normal"]
985
1490
  }],
986
1491
  /**
987
1492
  * Justify Self
988
1493
  * @see https://tailwindcss.com/docs/justify-self
989
1494
  */
990
1495
  "justify-self": [{
991
- "justify-self": ["auto", ...H()]
1496
+ "justify-self": ["auto", ...D()]
992
1497
  }],
993
1498
  /**
994
1499
  * Align Content
995
1500
  * @see https://tailwindcss.com/docs/align-content
996
1501
  */
997
1502
  "align-content": [{
998
- content: ["normal", ...v()]
1503
+ content: ["normal", ...N()]
999
1504
  }],
1000
1505
  /**
1001
1506
  * Align Items
1002
1507
  * @see https://tailwindcss.com/docs/align-items
1003
1508
  */
1004
1509
  "align-items": [{
1005
- items: [...H(), {
1510
+ items: [...D(), {
1006
1511
  baseline: ["", "last"]
1007
1512
  }]
1008
1513
  }],
@@ -1011,7 +1516,7 @@ const j = (e) => {
1011
1516
  * @see https://tailwindcss.com/docs/align-self
1012
1517
  */
1013
1518
  "align-self": [{
1014
- self: ["auto", ...H(), {
1519
+ self: ["auto", ...D(), {
1015
1520
  baseline: ["", "last"]
1016
1521
  }]
1017
1522
  }],
@@ -1020,21 +1525,21 @@ const j = (e) => {
1020
1525
  * @see https://tailwindcss.com/docs/place-content
1021
1526
  */
1022
1527
  "place-content": [{
1023
- "place-content": v()
1528
+ "place-content": N()
1024
1529
  }],
1025
1530
  /**
1026
1531
  * Place Items
1027
1532
  * @see https://tailwindcss.com/docs/place-items
1028
1533
  */
1029
1534
  "place-items": [{
1030
- "place-items": [...H(), "baseline"]
1535
+ "place-items": [...D(), "baseline"]
1031
1536
  }],
1032
1537
  /**
1033
1538
  * Place Self
1034
1539
  * @see https://tailwindcss.com/docs/place-self
1035
1540
  */
1036
1541
  "place-self": [{
1037
- "place-self": ["auto", ...H()]
1542
+ "place-self": ["auto", ...D()]
1038
1543
  }],
1039
1544
  // Spacing
1040
1545
  /**
@@ -1042,133 +1547,133 @@ const j = (e) => {
1042
1547
  * @see https://tailwindcss.com/docs/padding
1043
1548
  */
1044
1549
  p: [{
1045
- p: m()
1550
+ p: c()
1046
1551
  }],
1047
1552
  /**
1048
1553
  * Padding X
1049
1554
  * @see https://tailwindcss.com/docs/padding
1050
1555
  */
1051
1556
  px: [{
1052
- px: m()
1557
+ px: c()
1053
1558
  }],
1054
1559
  /**
1055
1560
  * Padding Y
1056
1561
  * @see https://tailwindcss.com/docs/padding
1057
1562
  */
1058
1563
  py: [{
1059
- py: m()
1564
+ py: c()
1060
1565
  }],
1061
1566
  /**
1062
1567
  * Padding Start
1063
1568
  * @see https://tailwindcss.com/docs/padding
1064
1569
  */
1065
1570
  ps: [{
1066
- ps: m()
1571
+ ps: c()
1067
1572
  }],
1068
1573
  /**
1069
1574
  * Padding End
1070
1575
  * @see https://tailwindcss.com/docs/padding
1071
1576
  */
1072
1577
  pe: [{
1073
- pe: m()
1578
+ pe: c()
1074
1579
  }],
1075
1580
  /**
1076
1581
  * Padding Top
1077
1582
  * @see https://tailwindcss.com/docs/padding
1078
1583
  */
1079
1584
  pt: [{
1080
- pt: m()
1585
+ pt: c()
1081
1586
  }],
1082
1587
  /**
1083
1588
  * Padding Right
1084
1589
  * @see https://tailwindcss.com/docs/padding
1085
1590
  */
1086
1591
  pr: [{
1087
- pr: m()
1592
+ pr: c()
1088
1593
  }],
1089
1594
  /**
1090
1595
  * Padding Bottom
1091
1596
  * @see https://tailwindcss.com/docs/padding
1092
1597
  */
1093
1598
  pb: [{
1094
- pb: m()
1599
+ pb: c()
1095
1600
  }],
1096
1601
  /**
1097
1602
  * Padding Left
1098
1603
  * @see https://tailwindcss.com/docs/padding
1099
1604
  */
1100
1605
  pl: [{
1101
- pl: m()
1606
+ pl: c()
1102
1607
  }],
1103
1608
  /**
1104
1609
  * Margin
1105
1610
  * @see https://tailwindcss.com/docs/margin
1106
1611
  */
1107
1612
  m: [{
1108
- m: P()
1613
+ m: U()
1109
1614
  }],
1110
1615
  /**
1111
1616
  * Margin X
1112
1617
  * @see https://tailwindcss.com/docs/margin
1113
1618
  */
1114
1619
  mx: [{
1115
- mx: P()
1620
+ mx: U()
1116
1621
  }],
1117
1622
  /**
1118
1623
  * Margin Y
1119
1624
  * @see https://tailwindcss.com/docs/margin
1120
1625
  */
1121
1626
  my: [{
1122
- my: P()
1627
+ my: U()
1123
1628
  }],
1124
1629
  /**
1125
1630
  * Margin Start
1126
1631
  * @see https://tailwindcss.com/docs/margin
1127
1632
  */
1128
1633
  ms: [{
1129
- ms: P()
1634
+ ms: U()
1130
1635
  }],
1131
1636
  /**
1132
1637
  * Margin End
1133
1638
  * @see https://tailwindcss.com/docs/margin
1134
1639
  */
1135
1640
  me: [{
1136
- me: P()
1641
+ me: U()
1137
1642
  }],
1138
1643
  /**
1139
1644
  * Margin Top
1140
1645
  * @see https://tailwindcss.com/docs/margin
1141
1646
  */
1142
1647
  mt: [{
1143
- mt: P()
1648
+ mt: U()
1144
1649
  }],
1145
1650
  /**
1146
1651
  * Margin Right
1147
1652
  * @see https://tailwindcss.com/docs/margin
1148
1653
  */
1149
1654
  mr: [{
1150
- mr: P()
1655
+ mr: U()
1151
1656
  }],
1152
1657
  /**
1153
1658
  * Margin Bottom
1154
1659
  * @see https://tailwindcss.com/docs/margin
1155
1660
  */
1156
1661
  mb: [{
1157
- mb: P()
1662
+ mb: U()
1158
1663
  }],
1159
1664
  /**
1160
1665
  * Margin Left
1161
1666
  * @see https://tailwindcss.com/docs/margin
1162
1667
  */
1163
1668
  ml: [{
1164
- ml: P()
1669
+ ml: U()
1165
1670
  }],
1166
1671
  /**
1167
1672
  * Space Between X
1168
1673
  * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1169
1674
  */
1170
1675
  "space-x": [{
1171
- "space-x": m()
1676
+ "space-x": c()
1172
1677
  }],
1173
1678
  /**
1174
1679
  * Space Between X Reverse
@@ -1180,7 +1685,7 @@ const j = (e) => {
1180
1685
  * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1181
1686
  */
1182
1687
  "space-y": [{
1183
- "space-y": m()
1688
+ "space-y": c()
1184
1689
  }],
1185
1690
  /**
1186
1691
  * Space Between Y Reverse
@@ -1195,14 +1700,14 @@ const j = (e) => {
1195
1700
  * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1196
1701
  */
1197
1702
  size: [{
1198
- size: B()
1703
+ size: V()
1199
1704
  }],
1200
1705
  /**
1201
1706
  * Width
1202
1707
  * @see https://tailwindcss.com/docs/width
1203
1708
  */
1204
1709
  w: [{
1205
- w: [w, "screen", ...B()]
1710
+ w: [i, "screen", ...V()]
1206
1711
  }],
1207
1712
  /**
1208
1713
  * Min-Width
@@ -1210,11 +1715,11 @@ const j = (e) => {
1210
1715
  */
1211
1716
  "min-w": [{
1212
1717
  "min-w": [
1213
- w,
1718
+ i,
1214
1719
  "screen",
1215
1720
  /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1216
1721
  "none",
1217
- ...B()
1722
+ ...V()
1218
1723
  ]
1219
1724
  }],
1220
1725
  /**
@@ -1223,16 +1728,16 @@ const j = (e) => {
1223
1728
  */
1224
1729
  "max-w": [{
1225
1730
  "max-w": [
1226
- w,
1731
+ i,
1227
1732
  "screen",
1228
1733
  "none",
1229
1734
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1230
1735
  "prose",
1231
1736
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1232
1737
  {
1233
- screen: [p]
1738
+ screen: [a]
1234
1739
  },
1235
- ...B()
1740
+ ...V()
1236
1741
  ]
1237
1742
  }],
1238
1743
  /**
@@ -1240,21 +1745,21 @@ const j = (e) => {
1240
1745
  * @see https://tailwindcss.com/docs/height
1241
1746
  */
1242
1747
  h: [{
1243
- h: ["screen", "lh", ...B()]
1748
+ h: ["screen", "lh", ...V()]
1244
1749
  }],
1245
1750
  /**
1246
1751
  * Min-Height
1247
1752
  * @see https://tailwindcss.com/docs/min-height
1248
1753
  */
1249
1754
  "min-h": [{
1250
- "min-h": ["screen", "lh", "none", ...B()]
1755
+ "min-h": ["screen", "lh", "none", ...V()]
1251
1756
  }],
1252
1757
  /**
1253
1758
  * Max-Height
1254
1759
  * @see https://tailwindcss.com/docs/max-height
1255
1760
  */
1256
1761
  "max-h": [{
1257
- "max-h": ["screen", "lh", ...B()]
1762
+ "max-h": ["screen", "lh", ...V()]
1258
1763
  }],
1259
1764
  // ------------------
1260
1765
  // --- Typography ---
@@ -1264,7 +1769,7 @@ const j = (e) => {
1264
1769
  * @see https://tailwindcss.com/docs/font-size
1265
1770
  */
1266
1771
  "font-size": [{
1267
- text: ["base", a, de, oe]
1772
+ text: ["base", r, ce, K]
1268
1773
  }],
1269
1774
  /**
1270
1775
  * Font Smoothing
@@ -1281,21 +1786,21 @@ const j = (e) => {
1281
1786
  * @see https://tailwindcss.com/docs/font-weight
1282
1787
  */
1283
1788
  "font-weight": [{
1284
- font: [t, c, ge]
1789
+ font: [n, f, ve]
1285
1790
  }],
1286
1791
  /**
1287
1792
  * Font Stretch
1288
1793
  * @see https://tailwindcss.com/docs/font-stretch
1289
1794
  */
1290
1795
  "font-stretch": [{
1291
- "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", he, i]
1796
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", xe, m]
1292
1797
  }],
1293
1798
  /**
1294
1799
  * Font Family
1295
1800
  * @see https://tailwindcss.com/docs/font-family
1296
1801
  */
1297
1802
  "font-family": [{
1298
- font: [yr, i, l]
1803
+ font: [Er, m, t]
1299
1804
  }],
1300
1805
  /**
1301
1806
  * Font Variant Numeric
@@ -1332,14 +1837,14 @@ const j = (e) => {
1332
1837
  * @see https://tailwindcss.com/docs/letter-spacing
1333
1838
  */
1334
1839
  tracking: [{
1335
- tracking: [o, c, i]
1840
+ tracking: [s, f, m]
1336
1841
  }],
1337
1842
  /**
1338
1843
  * Line Clamp
1339
1844
  * @see https://tailwindcss.com/docs/line-clamp
1340
1845
  */
1341
1846
  "line-clamp": [{
1342
- "line-clamp": [y, "none", c, ge]
1847
+ "line-clamp": [T, "none", f, ve]
1343
1848
  }],
1344
1849
  /**
1345
1850
  * Line Height
@@ -1348,8 +1853,8 @@ const j = (e) => {
1348
1853
  leading: [{
1349
1854
  leading: [
1350
1855
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1351
- b,
1352
- ...m()
1856
+ l,
1857
+ ...c()
1353
1858
  ]
1354
1859
  }],
1355
1860
  /**
@@ -1357,7 +1862,7 @@ const j = (e) => {
1357
1862
  * @see https://tailwindcss.com/docs/list-style-image
1358
1863
  */
1359
1864
  "list-image": [{
1360
- "list-image": ["none", c, i]
1865
+ "list-image": ["none", f, m]
1361
1866
  }],
1362
1867
  /**
1363
1868
  * List Style Position
@@ -1371,7 +1876,7 @@ const j = (e) => {
1371
1876
  * @see https://tailwindcss.com/docs/list-style-type
1372
1877
  */
1373
1878
  "list-style-type": [{
1374
- list: ["disc", "decimal", "none", c, i]
1879
+ list: ["disc", "decimal", "none", f, m]
1375
1880
  }],
1376
1881
  /**
1377
1882
  * Text Alignment
@@ -1386,14 +1891,14 @@ const j = (e) => {
1386
1891
  * @see https://v3.tailwindcss.com/docs/placeholder-color
1387
1892
  */
1388
1893
  "placeholder-color": [{
1389
- placeholder: f()
1894
+ placeholder: x()
1390
1895
  }],
1391
1896
  /**
1392
1897
  * Text Color
1393
1898
  * @see https://tailwindcss.com/docs/text-color
1394
1899
  */
1395
1900
  "text-color": [{
1396
- text: f()
1901
+ text: x()
1397
1902
  }],
1398
1903
  /**
1399
1904
  * Text Decoration
@@ -1405,28 +1910,28 @@ const j = (e) => {
1405
1910
  * @see https://tailwindcss.com/docs/text-decoration-style
1406
1911
  */
1407
1912
  "text-decoration-style": [{
1408
- decoration: [...q(), "wavy"]
1913
+ decoration: [...B(), "wavy"]
1409
1914
  }],
1410
1915
  /**
1411
1916
  * Text Decoration Thickness
1412
1917
  * @see https://tailwindcss.com/docs/text-decoration-thickness
1413
1918
  */
1414
1919
  "text-decoration-thickness": [{
1415
- decoration: [y, "from-font", "auto", c, oe]
1920
+ decoration: [T, "from-font", "auto", f, K]
1416
1921
  }],
1417
1922
  /**
1418
1923
  * Text Decoration Color
1419
1924
  * @see https://tailwindcss.com/docs/text-decoration-color
1420
1925
  */
1421
1926
  "text-decoration-color": [{
1422
- decoration: f()
1927
+ decoration: x()
1423
1928
  }],
1424
1929
  /**
1425
1930
  * Text Underline Offset
1426
1931
  * @see https://tailwindcss.com/docs/text-underline-offset
1427
1932
  */
1428
1933
  "underline-offset": [{
1429
- "underline-offset": [y, "auto", c, i]
1934
+ "underline-offset": [T, "auto", f, m]
1430
1935
  }],
1431
1936
  /**
1432
1937
  * Text Transform
@@ -1450,14 +1955,14 @@ const j = (e) => {
1450
1955
  * @see https://tailwindcss.com/docs/text-indent
1451
1956
  */
1452
1957
  indent: [{
1453
- indent: m()
1958
+ indent: c()
1454
1959
  }],
1455
1960
  /**
1456
1961
  * Vertical Alignment
1457
1962
  * @see https://tailwindcss.com/docs/vertical-align
1458
1963
  */
1459
1964
  "vertical-align": [{
1460
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", c, i]
1965
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", f, m]
1461
1966
  }],
1462
1967
  /**
1463
1968
  * Whitespace
@@ -1492,7 +1997,7 @@ const j = (e) => {
1492
1997
  * @see https://tailwindcss.com/docs/content
1493
1998
  */
1494
1999
  content: [{
1495
- content: ["none", c, i]
2000
+ content: ["none", f, m]
1496
2001
  }],
1497
2002
  // -------------------
1498
2003
  // --- Backgrounds ---
@@ -1523,21 +2028,21 @@ const j = (e) => {
1523
2028
  * @see https://tailwindcss.com/docs/background-position
1524
2029
  */
1525
2030
  "bg-position": [{
1526
- bg: ee()
2031
+ bg: Z()
1527
2032
  }],
1528
2033
  /**
1529
2034
  * Background Repeat
1530
2035
  * @see https://tailwindcss.com/docs/background-repeat
1531
2036
  */
1532
2037
  "bg-repeat": [{
1533
- bg: re()
2038
+ bg: Q()
1534
2039
  }],
1535
2040
  /**
1536
2041
  * Background Size
1537
2042
  * @see https://tailwindcss.com/docs/background-size
1538
2043
  */
1539
2044
  "bg-size": [{
1540
- bg: r()
2045
+ bg: o()
1541
2046
  }],
1542
2047
  /**
1543
2048
  * Background Image
@@ -1547,59 +2052,59 @@ const j = (e) => {
1547
2052
  bg: ["none", {
1548
2053
  linear: [{
1549
2054
  to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1550
- }, J, c, i],
1551
- radial: ["", c, i],
1552
- conic: [J, c, i]
1553
- }, wr, xr]
2055
+ }, X, f, m],
2056
+ radial: ["", f, m],
2057
+ conic: [X, f, m]
2058
+ }, Ar, Cr]
1554
2059
  }],
1555
2060
  /**
1556
2061
  * Background Color
1557
2062
  * @see https://tailwindcss.com/docs/background-color
1558
2063
  */
1559
2064
  "bg-color": [{
1560
- bg: f()
2065
+ bg: x()
1561
2066
  }],
1562
2067
  /**
1563
2068
  * Gradient Color Stops From Position
1564
2069
  * @see https://tailwindcss.com/docs/gradient-color-stops
1565
2070
  */
1566
2071
  "gradient-from-pos": [{
1567
- from: h()
2072
+ from: y()
1568
2073
  }],
1569
2074
  /**
1570
2075
  * Gradient Color Stops Via Position
1571
2076
  * @see https://tailwindcss.com/docs/gradient-color-stops
1572
2077
  */
1573
2078
  "gradient-via-pos": [{
1574
- via: h()
2079
+ via: y()
1575
2080
  }],
1576
2081
  /**
1577
2082
  * Gradient Color Stops To Position
1578
2083
  * @see https://tailwindcss.com/docs/gradient-color-stops
1579
2084
  */
1580
2085
  "gradient-to-pos": [{
1581
- to: h()
2086
+ to: y()
1582
2087
  }],
1583
2088
  /**
1584
2089
  * Gradient Color Stops From
1585
2090
  * @see https://tailwindcss.com/docs/gradient-color-stops
1586
2091
  */
1587
2092
  "gradient-from": [{
1588
- from: f()
2093
+ from: x()
1589
2094
  }],
1590
2095
  /**
1591
2096
  * Gradient Color Stops Via
1592
2097
  * @see https://tailwindcss.com/docs/gradient-color-stops
1593
2098
  */
1594
2099
  "gradient-via": [{
1595
- via: f()
2100
+ via: x()
1596
2101
  }],
1597
2102
  /**
1598
2103
  * Gradient Color Stops To
1599
2104
  * @see https://tailwindcss.com/docs/gradient-color-stops
1600
2105
  */
1601
2106
  "gradient-to": [{
1602
- to: f()
2107
+ to: x()
1603
2108
  }],
1604
2109
  // ---------------
1605
2110
  // --- Borders ---
@@ -1609,175 +2114,175 @@ const j = (e) => {
1609
2114
  * @see https://tailwindcss.com/docs/border-radius
1610
2115
  */
1611
2116
  rounded: [{
1612
- rounded: d()
2117
+ rounded: w()
1613
2118
  }],
1614
2119
  /**
1615
2120
  * Border Radius Start
1616
2121
  * @see https://tailwindcss.com/docs/border-radius
1617
2122
  */
1618
2123
  "rounded-s": [{
1619
- "rounded-s": d()
2124
+ "rounded-s": w()
1620
2125
  }],
1621
2126
  /**
1622
2127
  * Border Radius End
1623
2128
  * @see https://tailwindcss.com/docs/border-radius
1624
2129
  */
1625
2130
  "rounded-e": [{
1626
- "rounded-e": d()
2131
+ "rounded-e": w()
1627
2132
  }],
1628
2133
  /**
1629
2134
  * Border Radius Top
1630
2135
  * @see https://tailwindcss.com/docs/border-radius
1631
2136
  */
1632
2137
  "rounded-t": [{
1633
- "rounded-t": d()
2138
+ "rounded-t": w()
1634
2139
  }],
1635
2140
  /**
1636
2141
  * Border Radius Right
1637
2142
  * @see https://tailwindcss.com/docs/border-radius
1638
2143
  */
1639
2144
  "rounded-r": [{
1640
- "rounded-r": d()
2145
+ "rounded-r": w()
1641
2146
  }],
1642
2147
  /**
1643
2148
  * Border Radius Bottom
1644
2149
  * @see https://tailwindcss.com/docs/border-radius
1645
2150
  */
1646
2151
  "rounded-b": [{
1647
- "rounded-b": d()
2152
+ "rounded-b": w()
1648
2153
  }],
1649
2154
  /**
1650
2155
  * Border Radius Left
1651
2156
  * @see https://tailwindcss.com/docs/border-radius
1652
2157
  */
1653
2158
  "rounded-l": [{
1654
- "rounded-l": d()
2159
+ "rounded-l": w()
1655
2160
  }],
1656
2161
  /**
1657
2162
  * Border Radius Start Start
1658
2163
  * @see https://tailwindcss.com/docs/border-radius
1659
2164
  */
1660
2165
  "rounded-ss": [{
1661
- "rounded-ss": d()
2166
+ "rounded-ss": w()
1662
2167
  }],
1663
2168
  /**
1664
2169
  * Border Radius Start End
1665
2170
  * @see https://tailwindcss.com/docs/border-radius
1666
2171
  */
1667
2172
  "rounded-se": [{
1668
- "rounded-se": d()
2173
+ "rounded-se": w()
1669
2174
  }],
1670
2175
  /**
1671
2176
  * Border Radius End End
1672
2177
  * @see https://tailwindcss.com/docs/border-radius
1673
2178
  */
1674
2179
  "rounded-ee": [{
1675
- "rounded-ee": d()
2180
+ "rounded-ee": w()
1676
2181
  }],
1677
2182
  /**
1678
2183
  * Border Radius End Start
1679
2184
  * @see https://tailwindcss.com/docs/border-radius
1680
2185
  */
1681
2186
  "rounded-es": [{
1682
- "rounded-es": d()
2187
+ "rounded-es": w()
1683
2188
  }],
1684
2189
  /**
1685
2190
  * Border Radius Top Left
1686
2191
  * @see https://tailwindcss.com/docs/border-radius
1687
2192
  */
1688
2193
  "rounded-tl": [{
1689
- "rounded-tl": d()
2194
+ "rounded-tl": w()
1690
2195
  }],
1691
2196
  /**
1692
2197
  * Border Radius Top Right
1693
2198
  * @see https://tailwindcss.com/docs/border-radius
1694
2199
  */
1695
2200
  "rounded-tr": [{
1696
- "rounded-tr": d()
2201
+ "rounded-tr": w()
1697
2202
  }],
1698
2203
  /**
1699
2204
  * Border Radius Bottom Right
1700
2205
  * @see https://tailwindcss.com/docs/border-radius
1701
2206
  */
1702
2207
  "rounded-br": [{
1703
- "rounded-br": d()
2208
+ "rounded-br": w()
1704
2209
  }],
1705
2210
  /**
1706
2211
  * Border Radius Bottom Left
1707
2212
  * @see https://tailwindcss.com/docs/border-radius
1708
2213
  */
1709
2214
  "rounded-bl": [{
1710
- "rounded-bl": d()
2215
+ "rounded-bl": w()
1711
2216
  }],
1712
2217
  /**
1713
2218
  * Border Width
1714
2219
  * @see https://tailwindcss.com/docs/border-width
1715
2220
  */
1716
2221
  "border-w": [{
1717
- border: k()
2222
+ border: C()
1718
2223
  }],
1719
2224
  /**
1720
2225
  * Border Width X
1721
2226
  * @see https://tailwindcss.com/docs/border-width
1722
2227
  */
1723
2228
  "border-w-x": [{
1724
- "border-x": k()
2229
+ "border-x": C()
1725
2230
  }],
1726
2231
  /**
1727
2232
  * Border Width Y
1728
2233
  * @see https://tailwindcss.com/docs/border-width
1729
2234
  */
1730
2235
  "border-w-y": [{
1731
- "border-y": k()
2236
+ "border-y": C()
1732
2237
  }],
1733
2238
  /**
1734
2239
  * Border Width Start
1735
2240
  * @see https://tailwindcss.com/docs/border-width
1736
2241
  */
1737
2242
  "border-w-s": [{
1738
- "border-s": k()
2243
+ "border-s": C()
1739
2244
  }],
1740
2245
  /**
1741
2246
  * Border Width End
1742
2247
  * @see https://tailwindcss.com/docs/border-width
1743
2248
  */
1744
2249
  "border-w-e": [{
1745
- "border-e": k()
2250
+ "border-e": C()
1746
2251
  }],
1747
2252
  /**
1748
2253
  * Border Width Top
1749
2254
  * @see https://tailwindcss.com/docs/border-width
1750
2255
  */
1751
2256
  "border-w-t": [{
1752
- "border-t": k()
2257
+ "border-t": C()
1753
2258
  }],
1754
2259
  /**
1755
2260
  * Border Width Right
1756
2261
  * @see https://tailwindcss.com/docs/border-width
1757
2262
  */
1758
2263
  "border-w-r": [{
1759
- "border-r": k()
2264
+ "border-r": C()
1760
2265
  }],
1761
2266
  /**
1762
2267
  * Border Width Bottom
1763
2268
  * @see https://tailwindcss.com/docs/border-width
1764
2269
  */
1765
2270
  "border-w-b": [{
1766
- "border-b": k()
2271
+ "border-b": C()
1767
2272
  }],
1768
2273
  /**
1769
2274
  * Border Width Left
1770
2275
  * @see https://tailwindcss.com/docs/border-width
1771
2276
  */
1772
2277
  "border-w-l": [{
1773
- "border-l": k()
2278
+ "border-l": C()
1774
2279
  }],
1775
2280
  /**
1776
2281
  * Divide Width X
1777
2282
  * @see https://tailwindcss.com/docs/border-width#between-children
1778
2283
  */
1779
2284
  "divide-x": [{
1780
- "divide-x": k()
2285
+ "divide-x": C()
1781
2286
  }],
1782
2287
  /**
1783
2288
  * Divide Width X Reverse
@@ -1789,7 +2294,7 @@ const j = (e) => {
1789
2294
  * @see https://tailwindcss.com/docs/border-width#between-children
1790
2295
  */
1791
2296
  "divide-y": [{
1792
- "divide-y": k()
2297
+ "divide-y": C()
1793
2298
  }],
1794
2299
  /**
1795
2300
  * Divide Width Y Reverse
@@ -1801,112 +2306,112 @@ const j = (e) => {
1801
2306
  * @see https://tailwindcss.com/docs/border-style
1802
2307
  */
1803
2308
  "border-style": [{
1804
- border: [...q(), "hidden", "none"]
2309
+ border: [...B(), "hidden", "none"]
1805
2310
  }],
1806
2311
  /**
1807
2312
  * Divide Style
1808
2313
  * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
1809
2314
  */
1810
2315
  "divide-style": [{
1811
- divide: [...q(), "hidden", "none"]
2316
+ divide: [...B(), "hidden", "none"]
1812
2317
  }],
1813
2318
  /**
1814
2319
  * Border Color
1815
2320
  * @see https://tailwindcss.com/docs/border-color
1816
2321
  */
1817
2322
  "border-color": [{
1818
- border: f()
2323
+ border: x()
1819
2324
  }],
1820
2325
  /**
1821
2326
  * Border Color X
1822
2327
  * @see https://tailwindcss.com/docs/border-color
1823
2328
  */
1824
2329
  "border-color-x": [{
1825
- "border-x": f()
2330
+ "border-x": x()
1826
2331
  }],
1827
2332
  /**
1828
2333
  * Border Color Y
1829
2334
  * @see https://tailwindcss.com/docs/border-color
1830
2335
  */
1831
2336
  "border-color-y": [{
1832
- "border-y": f()
2337
+ "border-y": x()
1833
2338
  }],
1834
2339
  /**
1835
2340
  * Border Color S
1836
2341
  * @see https://tailwindcss.com/docs/border-color
1837
2342
  */
1838
2343
  "border-color-s": [{
1839
- "border-s": f()
2344
+ "border-s": x()
1840
2345
  }],
1841
2346
  /**
1842
2347
  * Border Color E
1843
2348
  * @see https://tailwindcss.com/docs/border-color
1844
2349
  */
1845
2350
  "border-color-e": [{
1846
- "border-e": f()
2351
+ "border-e": x()
1847
2352
  }],
1848
2353
  /**
1849
2354
  * Border Color Top
1850
2355
  * @see https://tailwindcss.com/docs/border-color
1851
2356
  */
1852
2357
  "border-color-t": [{
1853
- "border-t": f()
2358
+ "border-t": x()
1854
2359
  }],
1855
2360
  /**
1856
2361
  * Border Color Right
1857
2362
  * @see https://tailwindcss.com/docs/border-color
1858
2363
  */
1859
2364
  "border-color-r": [{
1860
- "border-r": f()
2365
+ "border-r": x()
1861
2366
  }],
1862
2367
  /**
1863
2368
  * Border Color Bottom
1864
2369
  * @see https://tailwindcss.com/docs/border-color
1865
2370
  */
1866
2371
  "border-color-b": [{
1867
- "border-b": f()
2372
+ "border-b": x()
1868
2373
  }],
1869
2374
  /**
1870
2375
  * Border Color Left
1871
2376
  * @see https://tailwindcss.com/docs/border-color
1872
2377
  */
1873
2378
  "border-color-l": [{
1874
- "border-l": f()
2379
+ "border-l": x()
1875
2380
  }],
1876
2381
  /**
1877
2382
  * Divide Color
1878
2383
  * @see https://tailwindcss.com/docs/divide-color
1879
2384
  */
1880
2385
  "divide-color": [{
1881
- divide: f()
2386
+ divide: x()
1882
2387
  }],
1883
2388
  /**
1884
2389
  * Outline Style
1885
2390
  * @see https://tailwindcss.com/docs/outline-style
1886
2391
  */
1887
2392
  "outline-style": [{
1888
- outline: [...q(), "none", "hidden"]
2393
+ outline: [...B(), "none", "hidden"]
1889
2394
  }],
1890
2395
  /**
1891
2396
  * Outline Offset
1892
2397
  * @see https://tailwindcss.com/docs/outline-offset
1893
2398
  */
1894
2399
  "outline-offset": [{
1895
- "outline-offset": [y, c, i]
2400
+ "outline-offset": [T, f, m]
1896
2401
  }],
1897
2402
  /**
1898
2403
  * Outline Width
1899
2404
  * @see https://tailwindcss.com/docs/outline-width
1900
2405
  */
1901
2406
  "outline-w": [{
1902
- outline: ["", y, de, oe]
2407
+ outline: ["", T, ce, K]
1903
2408
  }],
1904
2409
  /**
1905
2410
  * Outline Color
1906
2411
  * @see https://tailwindcss.com/docs/outline-color
1907
2412
  */
1908
2413
  "outline-color": [{
1909
- outline: f()
2414
+ outline: x()
1910
2415
  }],
1911
2416
  // ---------------
1912
2417
  // --- Effects ---
@@ -1920,9 +2425,9 @@ const j = (e) => {
1920
2425
  // Deprecated since Tailwind CSS v4.0.0
1921
2426
  "",
1922
2427
  "none",
1923
- C,
1924
- fe,
1925
- me
2428
+ v,
2429
+ pe,
2430
+ fe
1926
2431
  ]
1927
2432
  }],
1928
2433
  /**
@@ -1930,28 +2435,28 @@ const j = (e) => {
1930
2435
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
1931
2436
  */
1932
2437
  "shadow-color": [{
1933
- shadow: f()
2438
+ shadow: x()
1934
2439
  }],
1935
2440
  /**
1936
2441
  * Inset Box Shadow
1937
2442
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1938
2443
  */
1939
2444
  "inset-shadow": [{
1940
- "inset-shadow": ["none", S, fe, me]
2445
+ "inset-shadow": ["none", A, pe, fe]
1941
2446
  }],
1942
2447
  /**
1943
2448
  * Inset Box Shadow Color
1944
2449
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
1945
2450
  */
1946
2451
  "inset-shadow-color": [{
1947
- "inset-shadow": f()
2452
+ "inset-shadow": x()
1948
2453
  }],
1949
2454
  /**
1950
2455
  * Ring Width
1951
2456
  * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
1952
2457
  */
1953
2458
  "ring-w": [{
1954
- ring: k()
2459
+ ring: C()
1955
2460
  }],
1956
2461
  /**
1957
2462
  * Ring Width Inset
@@ -1965,7 +2470,7 @@ const j = (e) => {
1965
2470
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
1966
2471
  */
1967
2472
  "ring-color": [{
1968
- ring: f()
2473
+ ring: x()
1969
2474
  }],
1970
2475
  /**
1971
2476
  * Ring Offset Width
@@ -1974,7 +2479,7 @@ const j = (e) => {
1974
2479
  * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1975
2480
  */
1976
2481
  "ring-offset-w": [{
1977
- "ring-offset": [y, oe]
2482
+ "ring-offset": [T, K]
1978
2483
  }],
1979
2484
  /**
1980
2485
  * Ring Offset Color
@@ -1983,56 +2488,56 @@ const j = (e) => {
1983
2488
  * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1984
2489
  */
1985
2490
  "ring-offset-color": [{
1986
- "ring-offset": f()
2491
+ "ring-offset": x()
1987
2492
  }],
1988
2493
  /**
1989
2494
  * Inset Ring Width
1990
2495
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
1991
2496
  */
1992
2497
  "inset-ring-w": [{
1993
- "inset-ring": k()
2498
+ "inset-ring": C()
1994
2499
  }],
1995
2500
  /**
1996
2501
  * Inset Ring Color
1997
2502
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
1998
2503
  */
1999
2504
  "inset-ring-color": [{
2000
- "inset-ring": f()
2505
+ "inset-ring": x()
2001
2506
  }],
2002
2507
  /**
2003
2508
  * Text Shadow
2004
2509
  * @see https://tailwindcss.com/docs/text-shadow
2005
2510
  */
2006
2511
  "text-shadow": [{
2007
- "text-shadow": ["none", D, fe, me]
2512
+ "text-shadow": ["none", z, pe, fe]
2008
2513
  }],
2009
2514
  /**
2010
2515
  * Text Shadow Color
2011
2516
  * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
2012
2517
  */
2013
2518
  "text-shadow-color": [{
2014
- "text-shadow": f()
2519
+ "text-shadow": x()
2015
2520
  }],
2016
2521
  /**
2017
2522
  * Opacity
2018
2523
  * @see https://tailwindcss.com/docs/opacity
2019
2524
  */
2020
2525
  opacity: [{
2021
- opacity: [y, c, i]
2526
+ opacity: [T, f, m]
2022
2527
  }],
2023
2528
  /**
2024
2529
  * Mix Blend Mode
2025
2530
  * @see https://tailwindcss.com/docs/mix-blend-mode
2026
2531
  */
2027
2532
  "mix-blend": [{
2028
- "mix-blend": [...u(), "plus-darker", "plus-lighter"]
2533
+ "mix-blend": [...re(), "plus-darker", "plus-lighter"]
2029
2534
  }],
2030
2535
  /**
2031
2536
  * Background Blend Mode
2032
2537
  * @see https://tailwindcss.com/docs/background-blend-mode
2033
2538
  */
2034
2539
  "bg-blend": [{
2035
- "bg-blend": u()
2540
+ "bg-blend": re()
2036
2541
  }],
2037
2542
  /**
2038
2543
  * Mask Clip
@@ -2053,106 +2558,106 @@ const j = (e) => {
2053
2558
  * @see https://tailwindcss.com/docs/mask-image
2054
2559
  */
2055
2560
  "mask-image-linear-pos": [{
2056
- "mask-linear": [y]
2561
+ "mask-linear": [T]
2057
2562
  }],
2058
2563
  "mask-image-linear-from-pos": [{
2059
- "mask-linear-from": n()
2564
+ "mask-linear-from": S()
2060
2565
  }],
2061
2566
  "mask-image-linear-to-pos": [{
2062
- "mask-linear-to": n()
2567
+ "mask-linear-to": S()
2063
2568
  }],
2064
2569
  "mask-image-linear-from-color": [{
2065
- "mask-linear-from": f()
2570
+ "mask-linear-from": x()
2066
2571
  }],
2067
2572
  "mask-image-linear-to-color": [{
2068
- "mask-linear-to": f()
2573
+ "mask-linear-to": x()
2069
2574
  }],
2070
2575
  "mask-image-t-from-pos": [{
2071
- "mask-t-from": n()
2576
+ "mask-t-from": S()
2072
2577
  }],
2073
2578
  "mask-image-t-to-pos": [{
2074
- "mask-t-to": n()
2579
+ "mask-t-to": S()
2075
2580
  }],
2076
2581
  "mask-image-t-from-color": [{
2077
- "mask-t-from": f()
2582
+ "mask-t-from": x()
2078
2583
  }],
2079
2584
  "mask-image-t-to-color": [{
2080
- "mask-t-to": f()
2585
+ "mask-t-to": x()
2081
2586
  }],
2082
2587
  "mask-image-r-from-pos": [{
2083
- "mask-r-from": n()
2588
+ "mask-r-from": S()
2084
2589
  }],
2085
2590
  "mask-image-r-to-pos": [{
2086
- "mask-r-to": n()
2591
+ "mask-r-to": S()
2087
2592
  }],
2088
2593
  "mask-image-r-from-color": [{
2089
- "mask-r-from": f()
2594
+ "mask-r-from": x()
2090
2595
  }],
2091
2596
  "mask-image-r-to-color": [{
2092
- "mask-r-to": f()
2597
+ "mask-r-to": x()
2093
2598
  }],
2094
2599
  "mask-image-b-from-pos": [{
2095
- "mask-b-from": n()
2600
+ "mask-b-from": S()
2096
2601
  }],
2097
2602
  "mask-image-b-to-pos": [{
2098
- "mask-b-to": n()
2603
+ "mask-b-to": S()
2099
2604
  }],
2100
2605
  "mask-image-b-from-color": [{
2101
- "mask-b-from": f()
2606
+ "mask-b-from": x()
2102
2607
  }],
2103
2608
  "mask-image-b-to-color": [{
2104
- "mask-b-to": f()
2609
+ "mask-b-to": x()
2105
2610
  }],
2106
2611
  "mask-image-l-from-pos": [{
2107
- "mask-l-from": n()
2612
+ "mask-l-from": S()
2108
2613
  }],
2109
2614
  "mask-image-l-to-pos": [{
2110
- "mask-l-to": n()
2615
+ "mask-l-to": S()
2111
2616
  }],
2112
2617
  "mask-image-l-from-color": [{
2113
- "mask-l-from": f()
2618
+ "mask-l-from": x()
2114
2619
  }],
2115
2620
  "mask-image-l-to-color": [{
2116
- "mask-l-to": f()
2621
+ "mask-l-to": x()
2117
2622
  }],
2118
2623
  "mask-image-x-from-pos": [{
2119
- "mask-x-from": n()
2624
+ "mask-x-from": S()
2120
2625
  }],
2121
2626
  "mask-image-x-to-pos": [{
2122
- "mask-x-to": n()
2627
+ "mask-x-to": S()
2123
2628
  }],
2124
2629
  "mask-image-x-from-color": [{
2125
- "mask-x-from": f()
2630
+ "mask-x-from": x()
2126
2631
  }],
2127
2632
  "mask-image-x-to-color": [{
2128
- "mask-x-to": f()
2633
+ "mask-x-to": x()
2129
2634
  }],
2130
2635
  "mask-image-y-from-pos": [{
2131
- "mask-y-from": n()
2636
+ "mask-y-from": S()
2132
2637
  }],
2133
2638
  "mask-image-y-to-pos": [{
2134
- "mask-y-to": n()
2639
+ "mask-y-to": S()
2135
2640
  }],
2136
2641
  "mask-image-y-from-color": [{
2137
- "mask-y-from": f()
2642
+ "mask-y-from": x()
2138
2643
  }],
2139
2644
  "mask-image-y-to-color": [{
2140
- "mask-y-to": f()
2645
+ "mask-y-to": x()
2141
2646
  }],
2142
2647
  "mask-image-radial": [{
2143
- "mask-radial": [c, i]
2648
+ "mask-radial": [f, m]
2144
2649
  }],
2145
2650
  "mask-image-radial-from-pos": [{
2146
- "mask-radial-from": n()
2651
+ "mask-radial-from": S()
2147
2652
  }],
2148
2653
  "mask-image-radial-to-pos": [{
2149
- "mask-radial-to": n()
2654
+ "mask-radial-to": S()
2150
2655
  }],
2151
2656
  "mask-image-radial-from-color": [{
2152
- "mask-radial-from": f()
2657
+ "mask-radial-from": x()
2153
2658
  }],
2154
2659
  "mask-image-radial-to-color": [{
2155
- "mask-radial-to": f()
2660
+ "mask-radial-to": x()
2156
2661
  }],
2157
2662
  "mask-image-radial-shape": [{
2158
2663
  "mask-radial": ["circle", "ellipse"]
@@ -2164,22 +2669,22 @@ const j = (e) => {
2164
2669
  }]
2165
2670
  }],
2166
2671
  "mask-image-radial-pos": [{
2167
- "mask-radial-at": R()
2672
+ "mask-radial-at": L()
2168
2673
  }],
2169
2674
  "mask-image-conic-pos": [{
2170
- "mask-conic": [y]
2675
+ "mask-conic": [T]
2171
2676
  }],
2172
2677
  "mask-image-conic-from-pos": [{
2173
- "mask-conic-from": n()
2678
+ "mask-conic-from": S()
2174
2679
  }],
2175
2680
  "mask-image-conic-to-pos": [{
2176
- "mask-conic-to": n()
2681
+ "mask-conic-to": S()
2177
2682
  }],
2178
2683
  "mask-image-conic-from-color": [{
2179
- "mask-conic-from": f()
2684
+ "mask-conic-from": x()
2180
2685
  }],
2181
2686
  "mask-image-conic-to-color": [{
2182
- "mask-conic-to": f()
2687
+ "mask-conic-to": x()
2183
2688
  }],
2184
2689
  /**
2185
2690
  * Mask Mode
@@ -2200,21 +2705,21 @@ const j = (e) => {
2200
2705
  * @see https://tailwindcss.com/docs/mask-position
2201
2706
  */
2202
2707
  "mask-position": [{
2203
- mask: ee()
2708
+ mask: Z()
2204
2709
  }],
2205
2710
  /**
2206
2711
  * Mask Repeat
2207
2712
  * @see https://tailwindcss.com/docs/mask-repeat
2208
2713
  */
2209
2714
  "mask-repeat": [{
2210
- mask: re()
2715
+ mask: Q()
2211
2716
  }],
2212
2717
  /**
2213
2718
  * Mask Size
2214
2719
  * @see https://tailwindcss.com/docs/mask-size
2215
2720
  */
2216
2721
  "mask-size": [{
2217
- mask: r()
2722
+ mask: o()
2218
2723
  }],
2219
2724
  /**
2220
2725
  * Mask Type
@@ -2228,7 +2733,7 @@ const j = (e) => {
2228
2733
  * @see https://tailwindcss.com/docs/mask-image
2229
2734
  */
2230
2735
  "mask-image": [{
2231
- mask: ["none", c, i]
2736
+ mask: ["none", f, m]
2232
2737
  }],
2233
2738
  // ---------------
2234
2739
  // --- Filters ---
@@ -2242,8 +2747,8 @@ const j = (e) => {
2242
2747
  // Deprecated since Tailwind CSS v3.0.0
2243
2748
  "",
2244
2749
  "none",
2245
- c,
2246
- i
2750
+ f,
2751
+ m
2247
2752
  ]
2248
2753
  }],
2249
2754
  /**
@@ -2251,21 +2756,21 @@ const j = (e) => {
2251
2756
  * @see https://tailwindcss.com/docs/blur
2252
2757
  */
2253
2758
  blur: [{
2254
- blur: E()
2759
+ blur: Y()
2255
2760
  }],
2256
2761
  /**
2257
2762
  * Brightness
2258
2763
  * @see https://tailwindcss.com/docs/brightness
2259
2764
  */
2260
2765
  brightness: [{
2261
- brightness: [y, c, i]
2766
+ brightness: [T, f, m]
2262
2767
  }],
2263
2768
  /**
2264
2769
  * Contrast
2265
2770
  * @see https://tailwindcss.com/docs/contrast
2266
2771
  */
2267
2772
  contrast: [{
2268
- contrast: [y, c, i]
2773
+ contrast: [T, f, m]
2269
2774
  }],
2270
2775
  /**
2271
2776
  * Drop Shadow
@@ -2276,9 +2781,9 @@ const j = (e) => {
2276
2781
  // Deprecated since Tailwind CSS v4.0.0
2277
2782
  "",
2278
2783
  "none",
2279
- N,
2280
- fe,
2281
- me
2784
+ I,
2785
+ pe,
2786
+ fe
2282
2787
  ]
2283
2788
  }],
2284
2789
  /**
@@ -2286,42 +2791,42 @@ const j = (e) => {
2286
2791
  * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2287
2792
  */
2288
2793
  "drop-shadow-color": [{
2289
- "drop-shadow": f()
2794
+ "drop-shadow": x()
2290
2795
  }],
2291
2796
  /**
2292
2797
  * Grayscale
2293
2798
  * @see https://tailwindcss.com/docs/grayscale
2294
2799
  */
2295
2800
  grayscale: [{
2296
- grayscale: ["", y, c, i]
2801
+ grayscale: ["", T, f, m]
2297
2802
  }],
2298
2803
  /**
2299
2804
  * Hue Rotate
2300
2805
  * @see https://tailwindcss.com/docs/hue-rotate
2301
2806
  */
2302
2807
  "hue-rotate": [{
2303
- "hue-rotate": [y, c, i]
2808
+ "hue-rotate": [T, f, m]
2304
2809
  }],
2305
2810
  /**
2306
2811
  * Invert
2307
2812
  * @see https://tailwindcss.com/docs/invert
2308
2813
  */
2309
2814
  invert: [{
2310
- invert: ["", y, c, i]
2815
+ invert: ["", T, f, m]
2311
2816
  }],
2312
2817
  /**
2313
2818
  * Saturate
2314
2819
  * @see https://tailwindcss.com/docs/saturate
2315
2820
  */
2316
2821
  saturate: [{
2317
- saturate: [y, c, i]
2822
+ saturate: [T, f, m]
2318
2823
  }],
2319
2824
  /**
2320
2825
  * Sepia
2321
2826
  * @see https://tailwindcss.com/docs/sepia
2322
2827
  */
2323
2828
  sepia: [{
2324
- sepia: ["", y, c, i]
2829
+ sepia: ["", T, f, m]
2325
2830
  }],
2326
2831
  /**
2327
2832
  * Backdrop Filter
@@ -2332,8 +2837,8 @@ const j = (e) => {
2332
2837
  // Deprecated since Tailwind CSS v3.0.0
2333
2838
  "",
2334
2839
  "none",
2335
- c,
2336
- i
2840
+ f,
2841
+ m
2337
2842
  ]
2338
2843
  }],
2339
2844
  /**
@@ -2341,63 +2846,63 @@ const j = (e) => {
2341
2846
  * @see https://tailwindcss.com/docs/backdrop-blur
2342
2847
  */
2343
2848
  "backdrop-blur": [{
2344
- "backdrop-blur": E()
2849
+ "backdrop-blur": Y()
2345
2850
  }],
2346
2851
  /**
2347
2852
  * Backdrop Brightness
2348
2853
  * @see https://tailwindcss.com/docs/backdrop-brightness
2349
2854
  */
2350
2855
  "backdrop-brightness": [{
2351
- "backdrop-brightness": [y, c, i]
2856
+ "backdrop-brightness": [T, f, m]
2352
2857
  }],
2353
2858
  /**
2354
2859
  * Backdrop Contrast
2355
2860
  * @see https://tailwindcss.com/docs/backdrop-contrast
2356
2861
  */
2357
2862
  "backdrop-contrast": [{
2358
- "backdrop-contrast": [y, c, i]
2863
+ "backdrop-contrast": [T, f, m]
2359
2864
  }],
2360
2865
  /**
2361
2866
  * Backdrop Grayscale
2362
2867
  * @see https://tailwindcss.com/docs/backdrop-grayscale
2363
2868
  */
2364
2869
  "backdrop-grayscale": [{
2365
- "backdrop-grayscale": ["", y, c, i]
2870
+ "backdrop-grayscale": ["", T, f, m]
2366
2871
  }],
2367
2872
  /**
2368
2873
  * Backdrop Hue Rotate
2369
2874
  * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2370
2875
  */
2371
2876
  "backdrop-hue-rotate": [{
2372
- "backdrop-hue-rotate": [y, c, i]
2877
+ "backdrop-hue-rotate": [T, f, m]
2373
2878
  }],
2374
2879
  /**
2375
2880
  * Backdrop Invert
2376
2881
  * @see https://tailwindcss.com/docs/backdrop-invert
2377
2882
  */
2378
2883
  "backdrop-invert": [{
2379
- "backdrop-invert": ["", y, c, i]
2884
+ "backdrop-invert": ["", T, f, m]
2380
2885
  }],
2381
2886
  /**
2382
2887
  * Backdrop Opacity
2383
2888
  * @see https://tailwindcss.com/docs/backdrop-opacity
2384
2889
  */
2385
2890
  "backdrop-opacity": [{
2386
- "backdrop-opacity": [y, c, i]
2891
+ "backdrop-opacity": [T, f, m]
2387
2892
  }],
2388
2893
  /**
2389
2894
  * Backdrop Saturate
2390
2895
  * @see https://tailwindcss.com/docs/backdrop-saturate
2391
2896
  */
2392
2897
  "backdrop-saturate": [{
2393
- "backdrop-saturate": [y, c, i]
2898
+ "backdrop-saturate": [T, f, m]
2394
2899
  }],
2395
2900
  /**
2396
2901
  * Backdrop Sepia
2397
2902
  * @see https://tailwindcss.com/docs/backdrop-sepia
2398
2903
  */
2399
2904
  "backdrop-sepia": [{
2400
- "backdrop-sepia": ["", y, c, i]
2905
+ "backdrop-sepia": ["", T, f, m]
2401
2906
  }],
2402
2907
  // --------------
2403
2908
  // --- Tables ---
@@ -2414,21 +2919,21 @@ const j = (e) => {
2414
2919
  * @see https://tailwindcss.com/docs/border-spacing
2415
2920
  */
2416
2921
  "border-spacing": [{
2417
- "border-spacing": m()
2922
+ "border-spacing": c()
2418
2923
  }],
2419
2924
  /**
2420
2925
  * Border Spacing X
2421
2926
  * @see https://tailwindcss.com/docs/border-spacing
2422
2927
  */
2423
2928
  "border-spacing-x": [{
2424
- "border-spacing-x": m()
2929
+ "border-spacing-x": c()
2425
2930
  }],
2426
2931
  /**
2427
2932
  * Border Spacing Y
2428
2933
  * @see https://tailwindcss.com/docs/border-spacing
2429
2934
  */
2430
2935
  "border-spacing-y": [{
2431
- "border-spacing-y": m()
2936
+ "border-spacing-y": c()
2432
2937
  }],
2433
2938
  /**
2434
2939
  * Table Layout
@@ -2452,7 +2957,7 @@ const j = (e) => {
2452
2957
  * @see https://tailwindcss.com/docs/transition-property
2453
2958
  */
2454
2959
  transition: [{
2455
- transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", c, i]
2960
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", f, m]
2456
2961
  }],
2457
2962
  /**
2458
2963
  * Transition Behavior
@@ -2466,28 +2971,28 @@ const j = (e) => {
2466
2971
  * @see https://tailwindcss.com/docs/transition-duration
2467
2972
  */
2468
2973
  duration: [{
2469
- duration: [y, "initial", c, i]
2974
+ duration: [T, "initial", f, m]
2470
2975
  }],
2471
2976
  /**
2472
2977
  * Transition Timing Function
2473
2978
  * @see https://tailwindcss.com/docs/transition-timing-function
2474
2979
  */
2475
2980
  ease: [{
2476
- ease: ["linear", "initial", I, c, i]
2981
+ ease: ["linear", "initial", q, f, m]
2477
2982
  }],
2478
2983
  /**
2479
2984
  * Transition Delay
2480
2985
  * @see https://tailwindcss.com/docs/transition-delay
2481
2986
  */
2482
2987
  delay: [{
2483
- delay: [y, c, i]
2988
+ delay: [T, f, m]
2484
2989
  }],
2485
2990
  /**
2486
2991
  * Animation
2487
2992
  * @see https://tailwindcss.com/docs/animation
2488
2993
  */
2489
2994
  animate: [{
2490
- animate: ["none", $, c, i]
2995
+ animate: ["none", M, f, m]
2491
2996
  }],
2492
2997
  // ------------------
2493
2998
  // --- Transforms ---
@@ -2504,70 +3009,70 @@ const j = (e) => {
2504
3009
  * @see https://tailwindcss.com/docs/perspective
2505
3010
  */
2506
3011
  perspective: [{
2507
- perspective: [F, c, i]
3012
+ perspective: [g, f, m]
2508
3013
  }],
2509
3014
  /**
2510
3015
  * Perspective Origin
2511
3016
  * @see https://tailwindcss.com/docs/perspective-origin
2512
3017
  */
2513
3018
  "perspective-origin": [{
2514
- "perspective-origin": O()
3019
+ "perspective-origin": b()
2515
3020
  }],
2516
3021
  /**
2517
3022
  * Rotate
2518
3023
  * @see https://tailwindcss.com/docs/rotate
2519
3024
  */
2520
3025
  rotate: [{
2521
- rotate: M()
3026
+ rotate: J()
2522
3027
  }],
2523
3028
  /**
2524
3029
  * Rotate X
2525
3030
  * @see https://tailwindcss.com/docs/rotate
2526
3031
  */
2527
3032
  "rotate-x": [{
2528
- "rotate-x": M()
3033
+ "rotate-x": J()
2529
3034
  }],
2530
3035
  /**
2531
3036
  * Rotate Y
2532
3037
  * @see https://tailwindcss.com/docs/rotate
2533
3038
  */
2534
3039
  "rotate-y": [{
2535
- "rotate-y": M()
3040
+ "rotate-y": J()
2536
3041
  }],
2537
3042
  /**
2538
3043
  * Rotate Z
2539
3044
  * @see https://tailwindcss.com/docs/rotate
2540
3045
  */
2541
3046
  "rotate-z": [{
2542
- "rotate-z": M()
3047
+ "rotate-z": J()
2543
3048
  }],
2544
3049
  /**
2545
3050
  * Scale
2546
3051
  * @see https://tailwindcss.com/docs/scale
2547
3052
  */
2548
3053
  scale: [{
2549
- scale: W()
3054
+ scale: ne()
2550
3055
  }],
2551
3056
  /**
2552
3057
  * Scale X
2553
3058
  * @see https://tailwindcss.com/docs/scale
2554
3059
  */
2555
3060
  "scale-x": [{
2556
- "scale-x": W()
3061
+ "scale-x": ne()
2557
3062
  }],
2558
3063
  /**
2559
3064
  * Scale Y
2560
3065
  * @see https://tailwindcss.com/docs/scale
2561
3066
  */
2562
3067
  "scale-y": [{
2563
- "scale-y": W()
3068
+ "scale-y": ne()
2564
3069
  }],
2565
3070
  /**
2566
3071
  * Scale Z
2567
3072
  * @see https://tailwindcss.com/docs/scale
2568
3073
  */
2569
3074
  "scale-z": [{
2570
- "scale-z": W()
3075
+ "scale-z": ne()
2571
3076
  }],
2572
3077
  /**
2573
3078
  * Scale 3D
@@ -2579,35 +3084,35 @@ const j = (e) => {
2579
3084
  * @see https://tailwindcss.com/docs/skew
2580
3085
  */
2581
3086
  skew: [{
2582
- skew: te()
3087
+ skew: he()
2583
3088
  }],
2584
3089
  /**
2585
3090
  * Skew X
2586
3091
  * @see https://tailwindcss.com/docs/skew
2587
3092
  */
2588
3093
  "skew-x": [{
2589
- "skew-x": te()
3094
+ "skew-x": he()
2590
3095
  }],
2591
3096
  /**
2592
3097
  * Skew Y
2593
3098
  * @see https://tailwindcss.com/docs/skew
2594
3099
  */
2595
3100
  "skew-y": [{
2596
- "skew-y": te()
3101
+ "skew-y": he()
2597
3102
  }],
2598
3103
  /**
2599
3104
  * Transform
2600
3105
  * @see https://tailwindcss.com/docs/transform
2601
3106
  */
2602
3107
  transform: [{
2603
- transform: [c, i, "", "none", "gpu", "cpu"]
3108
+ transform: [f, m, "", "none", "gpu", "cpu"]
2604
3109
  }],
2605
3110
  /**
2606
3111
  * Transform Origin
2607
3112
  * @see https://tailwindcss.com/docs/transform-origin
2608
3113
  */
2609
3114
  "transform-origin": [{
2610
- origin: O()
3115
+ origin: b()
2611
3116
  }],
2612
3117
  /**
2613
3118
  * Transform Style
@@ -2621,28 +3126,28 @@ const j = (e) => {
2621
3126
  * @see https://tailwindcss.com/docs/translate
2622
3127
  */
2623
3128
  translate: [{
2624
- translate: Y()
3129
+ translate: de()
2625
3130
  }],
2626
3131
  /**
2627
3132
  * Translate X
2628
3133
  * @see https://tailwindcss.com/docs/translate
2629
3134
  */
2630
3135
  "translate-x": [{
2631
- "translate-x": Y()
3136
+ "translate-x": de()
2632
3137
  }],
2633
3138
  /**
2634
3139
  * Translate Y
2635
3140
  * @see https://tailwindcss.com/docs/translate
2636
3141
  */
2637
3142
  "translate-y": [{
2638
- "translate-y": Y()
3143
+ "translate-y": de()
2639
3144
  }],
2640
3145
  /**
2641
3146
  * Translate Z
2642
3147
  * @see https://tailwindcss.com/docs/translate
2643
3148
  */
2644
3149
  "translate-z": [{
2645
- "translate-z": Y()
3150
+ "translate-z": de()
2646
3151
  }],
2647
3152
  /**
2648
3153
  * Translate None
@@ -2657,7 +3162,7 @@ const j = (e) => {
2657
3162
  * @see https://tailwindcss.com/docs/accent-color
2658
3163
  */
2659
3164
  accent: [{
2660
- accent: f()
3165
+ accent: x()
2661
3166
  }],
2662
3167
  /**
2663
3168
  * Appearance
@@ -2671,7 +3176,7 @@ const j = (e) => {
2671
3176
  * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2672
3177
  */
2673
3178
  "caret-color": [{
2674
- caret: f()
3179
+ caret: x()
2675
3180
  }],
2676
3181
  /**
2677
3182
  * Color Scheme
@@ -2685,7 +3190,7 @@ const j = (e) => {
2685
3190
  * @see https://tailwindcss.com/docs/cursor
2686
3191
  */
2687
3192
  cursor: [{
2688
- 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", c, i]
3193
+ 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", f, m]
2689
3194
  }],
2690
3195
  /**
2691
3196
  * Field Sizing
@@ -2720,126 +3225,126 @@ const j = (e) => {
2720
3225
  * @see https://tailwindcss.com/docs/scroll-margin
2721
3226
  */
2722
3227
  "scroll-m": [{
2723
- "scroll-m": m()
3228
+ "scroll-m": c()
2724
3229
  }],
2725
3230
  /**
2726
3231
  * Scroll Margin X
2727
3232
  * @see https://tailwindcss.com/docs/scroll-margin
2728
3233
  */
2729
3234
  "scroll-mx": [{
2730
- "scroll-mx": m()
3235
+ "scroll-mx": c()
2731
3236
  }],
2732
3237
  /**
2733
3238
  * Scroll Margin Y
2734
3239
  * @see https://tailwindcss.com/docs/scroll-margin
2735
3240
  */
2736
3241
  "scroll-my": [{
2737
- "scroll-my": m()
3242
+ "scroll-my": c()
2738
3243
  }],
2739
3244
  /**
2740
3245
  * Scroll Margin Start
2741
3246
  * @see https://tailwindcss.com/docs/scroll-margin
2742
3247
  */
2743
3248
  "scroll-ms": [{
2744
- "scroll-ms": m()
3249
+ "scroll-ms": c()
2745
3250
  }],
2746
3251
  /**
2747
3252
  * Scroll Margin End
2748
3253
  * @see https://tailwindcss.com/docs/scroll-margin
2749
3254
  */
2750
3255
  "scroll-me": [{
2751
- "scroll-me": m()
3256
+ "scroll-me": c()
2752
3257
  }],
2753
3258
  /**
2754
3259
  * Scroll Margin Top
2755
3260
  * @see https://tailwindcss.com/docs/scroll-margin
2756
3261
  */
2757
3262
  "scroll-mt": [{
2758
- "scroll-mt": m()
3263
+ "scroll-mt": c()
2759
3264
  }],
2760
3265
  /**
2761
3266
  * Scroll Margin Right
2762
3267
  * @see https://tailwindcss.com/docs/scroll-margin
2763
3268
  */
2764
3269
  "scroll-mr": [{
2765
- "scroll-mr": m()
3270
+ "scroll-mr": c()
2766
3271
  }],
2767
3272
  /**
2768
3273
  * Scroll Margin Bottom
2769
3274
  * @see https://tailwindcss.com/docs/scroll-margin
2770
3275
  */
2771
3276
  "scroll-mb": [{
2772
- "scroll-mb": m()
3277
+ "scroll-mb": c()
2773
3278
  }],
2774
3279
  /**
2775
3280
  * Scroll Margin Left
2776
3281
  * @see https://tailwindcss.com/docs/scroll-margin
2777
3282
  */
2778
3283
  "scroll-ml": [{
2779
- "scroll-ml": m()
3284
+ "scroll-ml": c()
2780
3285
  }],
2781
3286
  /**
2782
3287
  * Scroll Padding
2783
3288
  * @see https://tailwindcss.com/docs/scroll-padding
2784
3289
  */
2785
3290
  "scroll-p": [{
2786
- "scroll-p": m()
3291
+ "scroll-p": c()
2787
3292
  }],
2788
3293
  /**
2789
3294
  * Scroll Padding X
2790
3295
  * @see https://tailwindcss.com/docs/scroll-padding
2791
3296
  */
2792
3297
  "scroll-px": [{
2793
- "scroll-px": m()
3298
+ "scroll-px": c()
2794
3299
  }],
2795
3300
  /**
2796
3301
  * Scroll Padding Y
2797
3302
  * @see https://tailwindcss.com/docs/scroll-padding
2798
3303
  */
2799
3304
  "scroll-py": [{
2800
- "scroll-py": m()
3305
+ "scroll-py": c()
2801
3306
  }],
2802
3307
  /**
2803
3308
  * Scroll Padding Start
2804
3309
  * @see https://tailwindcss.com/docs/scroll-padding
2805
3310
  */
2806
3311
  "scroll-ps": [{
2807
- "scroll-ps": m()
3312
+ "scroll-ps": c()
2808
3313
  }],
2809
3314
  /**
2810
3315
  * Scroll Padding End
2811
3316
  * @see https://tailwindcss.com/docs/scroll-padding
2812
3317
  */
2813
3318
  "scroll-pe": [{
2814
- "scroll-pe": m()
3319
+ "scroll-pe": c()
2815
3320
  }],
2816
3321
  /**
2817
3322
  * Scroll Padding Top
2818
3323
  * @see https://tailwindcss.com/docs/scroll-padding
2819
3324
  */
2820
3325
  "scroll-pt": [{
2821
- "scroll-pt": m()
3326
+ "scroll-pt": c()
2822
3327
  }],
2823
3328
  /**
2824
3329
  * Scroll Padding Right
2825
3330
  * @see https://tailwindcss.com/docs/scroll-padding
2826
3331
  */
2827
3332
  "scroll-pr": [{
2828
- "scroll-pr": m()
3333
+ "scroll-pr": c()
2829
3334
  }],
2830
3335
  /**
2831
3336
  * Scroll Padding Bottom
2832
3337
  * @see https://tailwindcss.com/docs/scroll-padding
2833
3338
  */
2834
3339
  "scroll-pb": [{
2835
- "scroll-pb": m()
3340
+ "scroll-pb": c()
2836
3341
  }],
2837
3342
  /**
2838
3343
  * Scroll Padding Left
2839
3344
  * @see https://tailwindcss.com/docs/scroll-padding
2840
3345
  */
2841
3346
  "scroll-pl": [{
2842
- "scroll-pl": m()
3347
+ "scroll-pl": c()
2843
3348
  }],
2844
3349
  /**
2845
3350
  * Scroll Snap Align
@@ -2907,7 +3412,7 @@ const j = (e) => {
2907
3412
  * @see https://tailwindcss.com/docs/will-change
2908
3413
  */
2909
3414
  "will-change": [{
2910
- "will-change": ["auto", "scroll", "contents", "transform", c, i]
3415
+ "will-change": ["auto", "scroll", "contents", "transform", f, m]
2911
3416
  }],
2912
3417
  // -----------
2913
3418
  // --- SVG ---
@@ -2917,21 +3422,21 @@ const j = (e) => {
2917
3422
  * @see https://tailwindcss.com/docs/fill
2918
3423
  */
2919
3424
  fill: [{
2920
- fill: ["none", ...f()]
3425
+ fill: ["none", ...x()]
2921
3426
  }],
2922
3427
  /**
2923
3428
  * Stroke Width
2924
3429
  * @see https://tailwindcss.com/docs/stroke-width
2925
3430
  */
2926
3431
  "stroke-w": [{
2927
- stroke: [y, de, oe, ge]
3432
+ stroke: [T, ce, K, ve]
2928
3433
  }],
2929
3434
  /**
2930
3435
  * Stroke
2931
3436
  * @see https://tailwindcss.com/docs/stroke
2932
3437
  */
2933
3438
  stroke: [{
2934
- stroke: ["none", ...f()]
3439
+ stroke: ["none", ...x()]
2935
3440
  }],
2936
3441
  // ---------------------
2937
3442
  // --- Accessibility ---
@@ -2999,534 +3504,400 @@ const j = (e) => {
2999
3504
  },
3000
3505
  orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
3001
3506
  };
3002
- }, _r = /* @__PURE__ */ nr(jr);
3003
- function Oe(e) {
3004
- var l, a, t = "";
3005
- if (typeof e == "string" || typeof e == "number") t += e;
3507
+ }, zr = /* @__PURE__ */ fr(Nr);
3508
+ function xt(e) {
3509
+ var t, r, n = "";
3510
+ if (typeof e == "string" || typeof e == "number") n += e;
3006
3511
  else if (typeof e == "object") if (Array.isArray(e)) {
3007
- var o = e.length;
3008
- for (l = 0; l < o; l++) e[l] && (a = Oe(e[l])) && (t && (t += " "), t += a);
3009
- } else for (a in e) e[a] && (t && (t += " "), t += a);
3010
- return t;
3512
+ var s = e.length;
3513
+ for (t = 0; t < s; t++) e[t] && (r = xt(e[t])) && (n && (n += " "), n += r);
3514
+ } else for (r in e) e[r] && (n && (n += " "), n += r);
3515
+ return n;
3011
3516
  }
3012
- function Er() {
3013
- for (var e, l, a = 0, t = "", o = arguments.length; a < o; a++) (e = arguments[a]) && (l = Oe(e)) && (t && (t += " "), t += l);
3014
- return t;
3517
+ function Lr() {
3518
+ for (var e, t, r = 0, n = "", s = arguments.length; r < s; r++) (e = arguments[r]) && (t = xt(e)) && (n && (n += " "), n += t);
3519
+ return n;
3015
3520
  }
3016
- function pe(...e) {
3017
- return _r(Er(e));
3521
+ function Pr(...e) {
3522
+ return zr(Lr(e));
3018
3523
  }
3019
- const Tr = ({
3020
- initialContent: e = "",
3021
- onChange: l,
3022
- onSave: a,
3023
- onExport: t,
3024
- readOnly: o = !1,
3025
- showButtons: b = !1,
3026
- showSaveTitle: p = !1,
3027
- showStatusBar: w = !1,
3028
- height: g = "500px"
3029
- }) => {
3030
- const x = be(null), C = be(null), S = be(null), [D, N] = le(!1), [_, F] = le(!1), [L, I] = le(!1), [$, U] = le("Untitled Document"), [R, O] = le({
3031
- bold: !1,
3032
- italic: !1,
3033
- underline: !1,
3034
- strikeThrough: !1,
3035
- justifyLeft: !1,
3036
- justifyCenter: !1,
3037
- justifyRight: !1,
3038
- justifyFull: !1
3039
- });
3040
- ve(() => {
3041
- x.current && e && (x.current.innerHTML = e, T());
3042
- }, [e]);
3043
- const T = G(() => {
3044
- if (!x.current) return;
3045
- const u = (n) => {
3046
- switch (n.tagName.toLowerCase()) {
3047
- case "h1":
3048
- n.classList.add("text-3xl", "font-bold", "mt-6", "mb-4", "text-gray-800", "border-b", "pb-2");
3049
- break;
3050
- case "h2":
3051
- n.classList.add("text-2xl", "font-bold", "mt-5", "mb-3", "text-gray-800");
3052
- break;
3053
- case "h3":
3054
- n.classList.add("text-xl", "font-bold", "mt-4", "mb-2", "text-gray-800");
3055
- break;
3056
- case "p":
3057
- n.classList.add("mb-4", "text-gray-700", "leading-relaxed");
3058
- break;
3059
- case "ul":
3060
- n.classList.add("list-disc", "list-inside", "mb-4", "ml-4", "space-y-1");
3061
- break;
3062
- case "ol":
3063
- n.classList.add("list-decimal", "list-inside", "mb-4", "ml-4", "space-y-1");
3064
- break;
3065
- case "li":
3066
- n.classList.add("mb-1");
3067
- break;
3068
- case "a":
3069
- n.classList.add("text-blue-600", "hover:text-blue-800", "underline", "transition-colors");
3070
- break;
3071
- case "blockquote":
3072
- n.classList.add("border-l-4", "border-blue-500", "pl-4", "italic", "text-gray-600", "my-4");
3073
- break;
3074
- case "code":
3075
- n.parentElement?.tagName.toLowerCase() !== "pre" && n.classList.add("bg-gray-100", "px-2", "py-1", "rounded", "text-sm", "font-mono");
3076
- break;
3077
- case "pre":
3078
- n.classList.add("bg-gray-800", "text-gray-100", "p-4", "rounded-lg", "overflow-x-auto", "my-4");
3079
- break;
3080
- }
3081
- Array.from(n.children).forEach(u);
3082
- };
3083
- Array.from(x.current.children).forEach(u);
3084
- }, []), A = G(() => {
3085
- if (!(o || !x.current))
3086
- try {
3087
- const u = window.getSelection();
3088
- u && u.rangeCount > 0 ? O({
3089
- bold: document.queryCommandState("bold"),
3090
- italic: document.queryCommandState("italic"),
3091
- underline: document.queryCommandState("underline"),
3092
- strikeThrough: document.queryCommandState("strikeThrough"),
3093
- justifyLeft: document.queryCommandState("justifyLeft"),
3094
- justifyCenter: document.queryCommandState("justifyCenter"),
3095
- justifyRight: document.queryCommandState("justifyRight"),
3096
- justifyFull: document.queryCommandState("justifyFull")
3097
- }) : O({
3098
- bold: !1,
3099
- italic: !1,
3100
- underline: !1,
3101
- strikeThrough: !1,
3102
- justifyLeft: !1,
3103
- justifyCenter: !1,
3104
- justifyRight: !1,
3105
- justifyFull: !1
3106
- });
3107
- } catch (u) {
3108
- console.warn("Format state detection not available:", u);
3524
+ var ye, Ve;
3525
+ function vt() {
3526
+ if (Ve) return ye;
3527
+ Ve = 1;
3528
+ function e(t) {
3529
+ var r = typeof t;
3530
+ return t != null && (r == "object" || r == "function");
3531
+ }
3532
+ return ye = e, ye;
3533
+ }
3534
+ var we, Be;
3535
+ function Mr() {
3536
+ if (Be) return we;
3537
+ Be = 1;
3538
+ var e = typeof ue == "object" && ue && ue.Object === Object && ue;
3539
+ return we = e, we;
3540
+ }
3541
+ var ke, Ye;
3542
+ function yt() {
3543
+ if (Ye) return ke;
3544
+ Ye = 1;
3545
+ var e = Mr(), t = typeof self == "object" && self && self.Object === Object && self, r = e || t || Function("return this")();
3546
+ return ke = r, ke;
3547
+ }
3548
+ var Te, He;
3549
+ function qr() {
3550
+ if (He) return Te;
3551
+ He = 1;
3552
+ var e = yt(), t = function() {
3553
+ return e.Date.now();
3554
+ };
3555
+ return Te = t, Te;
3556
+ }
3557
+ var je, Je;
3558
+ function Fr() {
3559
+ if (Je) return je;
3560
+ Je = 1;
3561
+ var e = /\s/;
3562
+ function t(r) {
3563
+ for (var n = r.length; n-- && e.test(r.charAt(n)); )
3564
+ ;
3565
+ return n;
3566
+ }
3567
+ return je = t, je;
3568
+ }
3569
+ var Se, Xe;
3570
+ function Gr() {
3571
+ if (Xe) return Se;
3572
+ Xe = 1;
3573
+ var e = Fr(), t = /^\s+/;
3574
+ function r(n) {
3575
+ return n && n.slice(0, e(n) + 1).replace(t, "");
3576
+ }
3577
+ return Se = r, Se;
3578
+ }
3579
+ var Re, Ze;
3580
+ function wt() {
3581
+ if (Ze) return Re;
3582
+ Ze = 1;
3583
+ var e = yt(), t = e.Symbol;
3584
+ return Re = t, Re;
3585
+ }
3586
+ var Ce, Qe;
3587
+ function $r() {
3588
+ if (Qe) return Ce;
3589
+ Qe = 1;
3590
+ var e = wt(), t = Object.prototype, r = t.hasOwnProperty, n = t.toString, s = e ? e.toStringTag : void 0;
3591
+ function l(a) {
3592
+ var i = r.call(a, s), d = a[s];
3593
+ try {
3594
+ a[s] = void 0;
3595
+ var u = !0;
3596
+ } catch {
3597
+ }
3598
+ var v = n.call(a);
3599
+ return u && (i ? a[s] = d : delete a[s]), v;
3600
+ }
3601
+ return Ce = l, Ce;
3602
+ }
3603
+ var Ee, Ke;
3604
+ function Dr() {
3605
+ if (Ke) return Ee;
3606
+ Ke = 1;
3607
+ var e = Object.prototype, t = e.toString;
3608
+ function r(n) {
3609
+ return t.call(n);
3610
+ }
3611
+ return Ee = r, Ee;
3612
+ }
3613
+ var _e, et;
3614
+ function Ur() {
3615
+ if (et) return _e;
3616
+ et = 1;
3617
+ var e = wt(), t = $r(), r = Dr(), n = "[object Null]", s = "[object Undefined]", l = e ? e.toStringTag : void 0;
3618
+ function a(i) {
3619
+ return i == null ? i === void 0 ? s : n : l && l in Object(i) ? t(i) : r(i);
3620
+ }
3621
+ return _e = a, _e;
3622
+ }
3623
+ var Ae, tt;
3624
+ function Wr() {
3625
+ if (tt) return Ae;
3626
+ tt = 1;
3627
+ function e(t) {
3628
+ return t != null && typeof t == "object";
3629
+ }
3630
+ return Ae = e, Ae;
3631
+ }
3632
+ var Oe, rt;
3633
+ function Vr() {
3634
+ if (rt) return Oe;
3635
+ rt = 1;
3636
+ var e = Ur(), t = Wr(), r = "[object Symbol]";
3637
+ function n(s) {
3638
+ return typeof s == "symbol" || t(s) && e(s) == r;
3639
+ }
3640
+ return Oe = n, Oe;
3641
+ }
3642
+ var Ie, nt;
3643
+ function Br() {
3644
+ if (nt) return Ie;
3645
+ nt = 1;
3646
+ var e = Gr(), t = vt(), r = Vr(), n = NaN, s = /^[-+]0x[0-9a-f]+$/i, l = /^0b[01]+$/i, a = /^0o[0-7]+$/i, i = parseInt;
3647
+ function d(u) {
3648
+ if (typeof u == "number")
3649
+ return u;
3650
+ if (r(u))
3651
+ return n;
3652
+ if (t(u)) {
3653
+ var v = typeof u.valueOf == "function" ? u.valueOf() : u;
3654
+ u = t(v) ? v + "" : v;
3655
+ }
3656
+ if (typeof u != "string")
3657
+ return u === 0 ? u : +u;
3658
+ u = e(u);
3659
+ var A = l.test(u);
3660
+ return A || a.test(u) ? i(u.slice(2), A ? 2 : 8) : s.test(u) ? n : +u;
3661
+ }
3662
+ return Ie = d, Ie;
3663
+ }
3664
+ var Ne, ot;
3665
+ function Yr() {
3666
+ if (ot) return Ne;
3667
+ ot = 1;
3668
+ var e = vt(), t = qr(), r = Br(), n = "Expected a function", s = Math.max, l = Math.min;
3669
+ function a(i, d, u) {
3670
+ var v, A, z, I, E, g, p = 0, q = !1, M = !1, $ = !0;
3671
+ if (typeof i != "function")
3672
+ throw new TypeError(n);
3673
+ d = r(d) || 0, e(u) && (q = !!u.leading, M = "maxWait" in u, z = M ? s(r(u.maxWait) || 0, d) : z, $ = "trailing" in u ? !!u.trailing : $);
3674
+ function L(R) {
3675
+ var N = v, D = A;
3676
+ return v = A = void 0, p = R, I = i.apply(D, N), I;
3677
+ }
3678
+ function b(R) {
3679
+ return p = R, E = setTimeout(c, d), q ? L(R) : I;
3680
+ }
3681
+ function k(R) {
3682
+ var N = R - g, D = R - p, U = d - N;
3683
+ return M ? l(U, z - D) : U;
3684
+ }
3685
+ function j(R) {
3686
+ var N = R - g, D = R - p;
3687
+ return g === void 0 || N >= d || N < 0 || M && D >= z;
3688
+ }
3689
+ function c() {
3690
+ var R = t();
3691
+ if (j(R))
3692
+ return _(R);
3693
+ E = setTimeout(c, k(R));
3694
+ }
3695
+ function _(R) {
3696
+ return E = void 0, $ && v ? L(R) : (v = A = void 0, I);
3697
+ }
3698
+ function O() {
3699
+ E !== void 0 && clearTimeout(E), p = 0, v = g = A = E = void 0;
3700
+ }
3701
+ function F() {
3702
+ return E === void 0 ? I : _(t());
3703
+ }
3704
+ function P() {
3705
+ var R = t(), N = j(R);
3706
+ if (v = arguments, A = this, g = R, N) {
3707
+ if (E === void 0)
3708
+ return b(g);
3709
+ if (M)
3710
+ return clearTimeout(E), E = setTimeout(c, d), L(g);
3109
3711
  }
3110
- }, [o]), m = G(() => {
3111
- if (!x.current) return;
3112
- const u = x.current.innerHTML || "", n = x.current.innerText || "";
3113
- l?.(n, u, $), T(), A();
3114
- }, [l, $, T, A]), z = (u) => {
3115
- const n = u.target.value;
3116
- U(n);
3117
- const E = x.current?.innerHTML || "", M = x.current?.innerText || "";
3118
- l?.(M, E, n);
3119
- }, X = G((u) => {
3120
- if (!(o || !x.current))
3121
- try {
3122
- x.current.focus(), document.execCommand("formatBlock", !1, `<${u}>`), setTimeout(T, 10), m(), A();
3123
- } catch (n) {
3124
- console.warn(`Format block ${u} failed:`, n);
3712
+ return E === void 0 && (E = setTimeout(c, d)), I;
3713
+ }
3714
+ return P.cancel = O, P.flush = F, P;
3715
+ }
3716
+ return Ne = a, Ne;
3717
+ }
3718
+ var Hr = Yr();
3719
+ const Jr = /* @__PURE__ */ Gt(Hr), Qr = Tt(
3720
+ ({
3721
+ initialContent: e = "",
3722
+ onChange: t,
3723
+ onSave: r,
3724
+ onExport: n,
3725
+ readOnly: s = !1,
3726
+ showButtons: l = !1,
3727
+ showSaveTitle: a = !1,
3728
+ showStatusBar: i = !1,
3729
+ height: d = "500px",
3730
+ onImageUpload: u,
3731
+ imageUploadEndpoint: v,
3732
+ allowedImageTypes: A = [
3733
+ "image/jpeg",
3734
+ "image/png",
3735
+ "image/gif",
3736
+ "image/webp"
3737
+ ],
3738
+ maxImageSize: z = 5 * 1024 * 1024,
3739
+ onInit: I,
3740
+ debounceDelay: E = 300
3741
+ }, g) => {
3742
+ const {
3743
+ editorState: p,
3744
+ updateContent: q,
3745
+ updateTitle: M,
3746
+ executeCommand: $,
3747
+ getValidationResult: L,
3748
+ exportToHTML: b,
3749
+ clearEditor: k,
3750
+ handlePaste: j,
3751
+ handleDrop: c,
3752
+ insertImage: _,
3753
+ uploadPendingImages: O
3754
+ } = Bt({
3755
+ initialContent: e,
3756
+ onImageUpload: u,
3757
+ imageUploadEndpoint: v,
3758
+ allowedImageTypes: A,
3759
+ maxImageSize: z
3760
+ }), F = te(null), P = te(null), R = te(!1), N = te(null), [D, U] = ge(!1);
3761
+ ee(() => {
3762
+ F.current && (typeof g == "function" ? g(F.current) : g && (g.current = F.current));
3763
+ }, [g]), ee(() => {
3764
+ I && F.current && !R.current && (I(F.current), R.current = !0);
3765
+ }, [I]), ee(() => {
3766
+ if (t)
3767
+ return N.current = Jr(
3768
+ (o, y, w) => {
3769
+ t(o, y, w);
3770
+ },
3771
+ E
3772
+ ), () => N.current?.cancel();
3773
+ }, [t, E]), ee(() => {
3774
+ if (!t || !p.content) return;
3775
+ const o = (() => {
3776
+ try {
3777
+ return b({
3778
+ includeStyles: !1,
3779
+ includeMeta: !1
3780
+ });
3781
+ } catch {
3782
+ return `<!DOCTYPE html><html><body>${p.content}</body></html>`;
3783
+ }
3784
+ })();
3785
+ E > 0 && N.current ? N.current(
3786
+ p.content,
3787
+ o,
3788
+ p.title
3789
+ ) : t(p.content, o, p.title);
3790
+ }, [
3791
+ p.content,
3792
+ p.title,
3793
+ t,
3794
+ b,
3795
+ E
3796
+ ]);
3797
+ const V = W(async () => {
3798
+ if (N.current?.flush(), p.pendingImages.length > 0 && await O(), !L().success) {
3799
+ U(!0), setTimeout(() => U(!1), 3e3);
3800
+ return;
3125
3801
  }
3126
- }, [o, T, m, A]), Q = G((u) => {
3127
- if (!(o || !x.current))
3128
- try {
3129
- x.current.focus(), document.execCommand(u, !1, void 0), setTimeout(T, 10), m(), A();
3130
- } catch (n) {
3131
- console.warn(`List command ${u} failed:`, n);
3802
+ r?.(p.content, b());
3803
+ }, [
3804
+ p,
3805
+ O,
3806
+ L,
3807
+ b,
3808
+ r
3809
+ ]), x = W(async () => {
3810
+ N.current?.flush(), p.pendingImages.length > 0 && await O();
3811
+ const o = b();
3812
+ n?.(o);
3813
+ const y = new Blob([o], { type: "text/html" }), w = URL.createObjectURL(y), C = document.createElement("a");
3814
+ C.href = w, C.download = p.title.replace(/\s+/g, "_") || "document.html", C.click(), URL.revokeObjectURL(w);
3815
+ }, [p, O, b, n]), Z = W(
3816
+ (o) => q(o),
3817
+ [q]
3818
+ ), Q = async (o) => {
3819
+ if (o.target.files) {
3820
+ for (const y of Array.from(o.target.files))
3821
+ await _(y);
3822
+ o.target.value = "";
3132
3823
  }
3133
- }, [o, T, m, A]);
3134
- ve(() => {
3135
- const u = (n) => {
3136
- S.current && !S.current.contains(n.target) && (N(!1), F(!1), I(!1));
3137
3824
  };
3138
- if (!o)
3139
- return document.addEventListener("mousedown", u), () => document.removeEventListener("mousedown", u);
3140
- }, [o]);
3141
- const V = () => {
3142
- o || N(!0);
3143
- }, K = () => {
3144
- o || setTimeout(() => N(!1), 200);
3145
- }, v = G(
3146
- (u, n) => {
3147
- if (!o)
3148
- try {
3149
- if (x.current?.focus(), u === "formatBlock") {
3150
- X(n || "p");
3151
- return;
3152
- } else if (u === "insertUnorderedList" || u === "insertOrderedList") {
3153
- Q(u);
3154
- return;
3155
- } else
3156
- document.execCommand(u, !1, n);
3157
- m(), A();
3158
- } catch (E) {
3159
- console.warn(`Command ${u} failed:`, E);
3160
- }
3161
- },
3162
- [o, X, Q, m, A]
3163
- ), H = G((u) => (n) => {
3164
- n.preventDefault(), u();
3165
- }, []), P = [
3166
- "#000000",
3167
- "#FFFFFF",
3168
- "#FF0000",
3169
- "#00FF00",
3170
- "#0000FF",
3171
- "#FFFF00",
3172
- "#FF00FF",
3173
- "#00FFFF",
3174
- "#FFA500",
3175
- "#800080",
3176
- "#008000",
3177
- "#800000",
3178
- "#008080",
3179
- "#000080",
3180
- "#808080",
3181
- "#A52A2A",
3182
- "#FFC0CB",
3183
- "#FFD700",
3184
- "#90EE90",
3185
- "#ADD8E6"
3186
- ], B = [
3187
- "#FFFFFF",
3188
- "#000000",
3189
- "#FF0000",
3190
- "#00FF00",
3191
- "#0000FF",
3192
- "#FFFF00",
3193
- "#FF00FF",
3194
- "#00FFFF",
3195
- "#FFA500",
3196
- "#800080",
3197
- "#008000",
3198
- "#800000",
3199
- "#008080",
3200
- "#000080",
3201
- "#808080",
3202
- "#FFE4E1",
3203
- "#F0FFF0",
3204
- "#F0F8FF",
3205
- "#FFFACD",
3206
- "#F5F5F5",
3207
- "#E6E6FA",
3208
- "#FFEFD5",
3209
- "#F0E68C",
3210
- "#F5DEB3",
3211
- "#D3D3D3"
3212
- ], f = G((u) => {
3213
- v("foreColor", u);
3214
- }, [v]), ee = G((u) => {
3215
- v("hiliteColor", u);
3216
- }, [v]), re = G(() => {
3217
- const u = x.current?.innerHTML || "", n = x.current?.innerText || "";
3218
- a?.(n, u);
3219
- }, [a]), r = G(() => {
3220
- const u = x.current?.innerHTML || "";
3221
- t?.(u);
3222
- }, [t]), h = () => /* @__PURE__ */ s.jsx("div", { className: "w-px h-6 bg-gray-300 mx-1" }), d = ({ onClick: u, title: n, children: E, isActive: M = !1, className: W = "" }) => /* @__PURE__ */ s.jsx(
3223
- "button",
3224
- {
3225
- className: pe(
3226
- "w-8 h-8 flex items-center justify-center rounded hover:bg-gray-100 transition-colors",
3227
- M && "bg-blue-100 text-blue-600 border border-blue-300",
3228
- W
3229
- ),
3230
- onMouseDown: (te) => te.preventDefault(),
3231
- onClick: H(u),
3232
- title: n,
3233
- type: "button",
3234
- disabled: o,
3235
- children: E
3236
- }
3237
- ), k = ({ colors: u, onColorSelect: n, isOpen: E, onToggle: M, buttonContent: W, title: te }) => /* @__PURE__ */ s.jsxs("div", { className: "relative", children: [
3238
- /* @__PURE__ */ s.jsxs(
3239
- d,
3825
+ return /* @__PURE__ */ h.jsxs(
3826
+ "div",
3240
3827
  {
3241
- onClick: M,
3242
- title: te,
3243
- className: "relative",
3828
+ className: Pr(
3829
+ "relative w-full bg-white border border-gray-300 rounded-lg overflow-hidden",
3830
+ s && "pointer-events-none opacity-80"
3831
+ ),
3832
+ style: { height: d },
3244
3833
  children: [
3245
- W,
3246
- /* @__PURE__ */ s.jsx("span", { className: "absolute -bottom-1 -right-1 text-[8px]", children: "▼" })
3247
- ]
3248
- }
3249
- ),
3250
- E && /* @__PURE__ */ s.jsx("div", { className: "absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded-lg shadow-lg p-2 grid grid-cols-5 gap-1 z-20 min-w-[140px]", children: u.map((Y) => /* @__PURE__ */ s.jsx(
3251
- "button",
3252
- {
3253
- className: "w-5 h-5 rounded border border-gray-300 hover:scale-110 transition-transform",
3254
- style: { backgroundColor: Y },
3255
- title: Y,
3256
- onMouseDown: (Ge) => Ge.preventDefault(),
3257
- onClick: H(() => {
3258
- n(Y), M();
3259
- })
3260
- },
3261
- Y
3262
- )) })
3263
- ] });
3264
- return /* @__PURE__ */ s.jsxs(
3265
- "div",
3266
- {
3267
- ref: S,
3268
- className: pe(
3269
- "relative w-full bg-white border border-gray-300 rounded-lg overflow-hidden",
3270
- o && "pointer-events-none opacity-80"
3271
- ),
3272
- children: [
3273
- p && /* @__PURE__ */ s.jsx("div", { className: "p-6 border-b border-gray-200 bg-gray-50", children: /* @__PURE__ */ s.jsx(
3274
- "input",
3275
- {
3276
- type: "text",
3277
- className: pe(
3278
- "w-full bg-transparent text-2xl font-bold text-gray-800 outline-none placeholder-gray-400",
3279
- o && "cursor-default"
3280
- ),
3281
- value: $,
3282
- onChange: z,
3283
- placeholder: "Document Title",
3284
- readOnly: o
3285
- }
3286
- ) }),
3287
- b && /* @__PURE__ */ s.jsxs("div", { className: "border-b border-gray-200 bg-gray-50 px-4 py-2 flex items-center gap-2", children: [
3288
- /* @__PURE__ */ s.jsx(
3289
- "button",
3834
+ a && /* @__PURE__ */ h.jsx("div", { className: "p-6 border-b bg-gray-50", children: /* @__PURE__ */ h.jsx(
3835
+ "input",
3290
3836
  {
3291
- onClick: re,
3292
- disabled: o,
3293
- className: "px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed",
3294
- children: "Save"
3837
+ className: "w-full text-2xl font-bold bg-transparent outline-none",
3838
+ value: p.title,
3839
+ onChange: (o) => M(o.target.value),
3840
+ placeholder: "Document Title",
3841
+ readOnly: s
3842
+ }
3843
+ ) }),
3844
+ /* @__PURE__ */ h.jsx(
3845
+ Wt,
3846
+ {
3847
+ onCommand: $,
3848
+ onSave: V,
3849
+ onExport: x,
3850
+ showButtons: l,
3851
+ onClear: k,
3852
+ hasUnsavedChanges: p.hasUnsavedChanges,
3853
+ onImageUpload: () => P.current?.click(),
3854
+ pendingImagesCount: p.pendingImages.length
3295
3855
  }
3296
3856
  ),
3297
- /* @__PURE__ */ s.jsx(
3298
- "button",
3857
+ /* @__PURE__ */ h.jsx(
3858
+ "input",
3299
3859
  {
3300
- onClick: r,
3301
- className: "px-4 py-2 bg-green-600 text-white rounded hover:bg-green-700",
3302
- children: "Export"
3860
+ ref: P,
3861
+ type: "file",
3862
+ className: "hidden",
3863
+ accept: A.join(","),
3864
+ multiple: !0,
3865
+ onChange: Q
3303
3866
  }
3304
- )
3305
- ] }),
3306
- !o && D && /* @__PURE__ */ s.jsxs(
3307
- "div",
3308
- {
3309
- ref: C,
3310
- className: "border-b border-gray-200 bg-white px-4 py-2 flex items-center gap-1 flex-wrap sticky top-0 z-10",
3311
- children: [
3312
- /* @__PURE__ */ s.jsx(
3313
- d,
3314
- {
3315
- onClick: () => v("bold"),
3316
- title: "Bold",
3317
- isActive: R.bold,
3318
- children: /* @__PURE__ */ s.jsx("span", { className: "font-bold text-sm", children: "B" })
3319
- }
3320
- ),
3321
- /* @__PURE__ */ s.jsx(
3322
- d,
3323
- {
3324
- onClick: () => v("italic"),
3325
- title: "Italic",
3326
- isActive: R.italic,
3327
- children: /* @__PURE__ */ s.jsx("span", { className: "italic text-sm", children: "I" })
3328
- }
3329
- ),
3330
- /* @__PURE__ */ s.jsx(
3331
- d,
3332
- {
3333
- onClick: () => v("underline"),
3334
- title: "Underline",
3335
- isActive: R.underline,
3336
- children: /* @__PURE__ */ s.jsx("span", { className: "underline text-sm", children: "U" })
3337
- }
3338
- ),
3339
- /* @__PURE__ */ s.jsx(h, {}),
3340
- /* @__PURE__ */ s.jsx(
3341
- d,
3342
- {
3343
- onClick: () => v("justifyLeft"),
3344
- title: "Align Left",
3345
- isActive: R.justifyLeft,
3346
- children: /* @__PURE__ */ s.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ s.jsx("path", { d: "M3 5h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm0 4h12a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm0 4h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm0 4h12a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm0 4h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2z" }) })
3347
- }
3348
- ),
3349
- /* @__PURE__ */ s.jsx(
3350
- d,
3351
- {
3352
- onClick: () => v("justifyCenter"),
3353
- title: "Align Center",
3354
- isActive: R.justifyCenter,
3355
- children: /* @__PURE__ */ s.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ s.jsx("path", { d: "M3 5h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm3 4h12a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2zm-3 4h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm3 4h12a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2zm-3 4h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2z" }) })
3356
- }
3357
- ),
3358
- /* @__PURE__ */ s.jsx(
3359
- d,
3360
- {
3361
- onClick: () => v("justifyRight"),
3362
- title: "Align Right",
3363
- isActive: R.justifyRight,
3364
- children: /* @__PURE__ */ s.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ s.jsx("path", { d: "M3 5h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm9 4h9a1 1 0 1 0 0-2h-9a1 1 0 1 0 0 2zm9 4H3a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2zm-9 4h9a1 1 0 1 0 0-2h-9a1 1 0 1 0 0 2zm9 4H3a1 1 0 1 0 0 2h18a1 1 0 1 0 0-2z" }) })
3365
- }
3366
- ),
3367
- /* @__PURE__ */ s.jsx(
3368
- d,
3369
- {
3370
- onClick: () => v("justifyFull"),
3371
- title: "Justify",
3372
- isActive: R.justifyFull,
3373
- children: /* @__PURE__ */ s.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ s.jsx("path", { d: "M3 5h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm0 4h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm0 4h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm0 4h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2zm0 4h18a1 1 0 1 0 0-2H3a1 1 0 1 0 0 2z" }) })
3374
- }
3375
- ),
3376
- /* @__PURE__ */ s.jsx(h, {}),
3377
- /* @__PURE__ */ s.jsx(
3378
- k,
3379
- {
3380
- colors: P,
3381
- onColorSelect: f,
3382
- isOpen: _,
3383
- onToggle: () => {
3384
- F(!_), I(!1);
3385
- },
3386
- buttonContent: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col items-center", children: [
3387
- /* @__PURE__ */ s.jsx("span", { className: "text-xs font-bold", children: "A" }),
3388
- /* @__PURE__ */ s.jsx("div", { className: "w-3 h-1 bg-red-500 mt-[-2px]" })
3389
- ] }),
3390
- title: "Text Color"
3391
- }
3392
- ),
3393
- /* @__PURE__ */ s.jsx(
3394
- k,
3395
- {
3396
- colors: B,
3397
- onColorSelect: ee,
3398
- isOpen: L,
3399
- onToggle: () => {
3400
- I(!L), F(!1);
3401
- },
3402
- buttonContent: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col items-center", children: [
3403
- /* @__PURE__ */ s.jsx("div", { className: "w-4 h-3 border border-gray-400 bg-yellow-200" }),
3404
- /* @__PURE__ */ s.jsx("span", { className: "text-[8px] mt-[-2px]", children: "Bg" })
3405
- ] }),
3406
- title: "Background Color"
3407
- }
3408
- ),
3409
- /* @__PURE__ */ s.jsx(h, {}),
3410
- /* @__PURE__ */ s.jsx(
3411
- d,
3412
- {
3413
- onClick: () => v("insertUnorderedList"),
3414
- title: "Bulleted List",
3415
- children: /* @__PURE__ */ s.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ s.jsx("path", { d: "M4,3c0,1.1-0.9,2-2,2S0,4.1,0,3s0.9-2,2-2S4,1.9,4,3z M2,9c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S3.1,9,2,9z M2,17c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S3.1,17,2,17z M24,19c0-0.6-0.4-1-1-1H8c-0.6,0-1,0.4-1,1s0.4,1,1,1h15C23.6,20,24,19.6,24,19z M24,11c0-0.6-0.4-1-1-1H8c-0.6,0-1,0.4-1,1s0.4,1,1,1h15C23.6,12,24,11.6,24,11z M24,3c0-0.6-0.4-1-1-1H8C7.4,2,7,2.4,7,3s0.4,1,1,1h15C23.6,4,24,3.6,24,3z" }) })
3416
- }
3417
- ),
3418
- /* @__PURE__ */ s.jsx(
3419
- d,
3420
- {
3421
- onClick: () => v("insertOrderedList"),
3422
- title: "Numbered List",
3423
- children: /* @__PURE__ */ s.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ s.jsx("path", { d: "M10 3a1 1 0 0 1 1-1h12a1 1 0 1 1 0 2H11a1 1 0 0 1-1-1Zm13 9H11a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2Zm0 10H11a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2ZM4 2.41V9.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V1A1 1 0 0 0 4.669.056L.925 1.37a.499.499 0 0 0-.306.637l.331.944a.5.5 0 0 0 .637.307l2.414-.846H4ZM1 24h6.5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5H2.287c.556-.938 1.787-1.578 2.532-1.965l.339-.177C6.425 19.195 8 18.372 8 15.813 8 13.971 6.393 12 4 12 1.363 12 .409 14.103.272 15.214c0 0-.039.284-.062.504-.023.22.151.483.416.54.265.055.797.094 1.015.13.218.034.5-.06.537-.387.025-.22.078-.533.078-.533C2.291 15.223 2.543 14 4 14c1.239 0 2 1.056 2 1.813 0 1.293-.542 1.631-1.769 2.272l-.333.174C2.632 18.916 0 20.282 0 23 0 23 0 24 1 24Z" }) })
3424
- }
3425
- ),
3426
- /* @__PURE__ */ s.jsx(h, {}),
3427
- /* @__PURE__ */ s.jsx(
3428
- d,
3429
- {
3430
- onClick: () => v("formatBlock", "h1"),
3431
- title: "Heading 1",
3432
- children: /* @__PURE__ */ s.jsx("span", { className: "text-xs font-bold", children: "H1" })
3433
- }
3434
- ),
3435
- /* @__PURE__ */ s.jsx(
3436
- d,
3437
- {
3438
- onClick: () => v("formatBlock", "h2"),
3439
- title: "Heading 2",
3440
- children: /* @__PURE__ */ s.jsx("span", { className: "text-xs font-bold", children: "H2" })
3441
- }
3442
- ),
3443
- /* @__PURE__ */ s.jsx(
3444
- d,
3445
- {
3446
- onClick: () => v("formatBlock", "h3"),
3447
- title: "Heading 3",
3448
- children: /* @__PURE__ */ s.jsx("span", { className: "text-xs font-bold", children: "H3" })
3449
- }
3450
- ),
3451
- /* @__PURE__ */ s.jsx(h, {}),
3452
- /* @__PURE__ */ s.jsx(
3453
- d,
3454
- {
3455
- onClick: () => v("formatBlock", "blockquote"),
3456
- title: "Quote",
3457
- children: /* @__PURE__ */ s.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ s.jsx("path", { d: "M2 3v20a1 1 0 1 1-2 0V3a1 1 0 1 1 2 0Zm5 3h12a1 1 0 1 0 0 2H7a1 1 0 1 0 0 2Zm16 6H7a1 1 0 1 0 0 2h16a1 1 0 1 0 0-2Zm-4 8H7a1 1 0 1 0 0 2h12a1 1 0 1 0 0-2Z" }) })
3458
- }
3459
- ),
3460
- /* @__PURE__ */ s.jsx(
3461
- d,
3462
- {
3463
- onClick: () => v("formatBlock", "pre"),
3464
- title: "Code Block",
3465
- children: /* @__PURE__ */ s.jsx("svg", { width: "16", height: "16", viewBox: "0 0 32 32", fill: "currentColor", children: /* @__PURE__ */ s.jsx("path", { d: "M32 10v6a1 1 0 1 1-2 0v-6c0-2.206-1.794-4-4-4H6c-2.206 0-4 1.794-4 4v12c0 2.206 1.794 4 4 4h3a1 1 0 1 1 0 2H6c-3.309 0-6-2.691-6-6V10c0-3.309 2.691-6 6-6h20c3.309 0 6 2.691 6 6Zm-13.359 8.232a1 1 0 0 0-1.409.128l-5 6a1 1 0 0 0 0 1.28l5 6a1 1 0 0 0 1.538-1.28L14.303 25l4.467-5.36a1 1 0 0 0-.129-1.408Zm8.128.128a1 1 0 0 0-1.537 1.28L29.699 25l-4.467 5.36a1 1 0 1 0 1.538 1.28l5-6a1 1 0 0 0 0-1.28l-5.001-6Z" }) })
3466
- }
3467
- ),
3468
- /* @__PURE__ */ s.jsx(h, {}),
3469
- /* @__PURE__ */ s.jsx(d, { onClick: () => v("undo"), title: "Undo", children: /* @__PURE__ */ s.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: [
3470
- /* @__PURE__ */ s.jsx("path", { d: "M7.18 4.8a1 1 0 0 1 .77 1.84A7.8 7.8 0 1 0 16 12a1 1 0 1 1 2 0 9.8 9.8 0 1 1-9.37-9.88 1 1 0 0 1 .55.68Z" }),
3471
- /* @__PURE__ */ s.jsx("path", { d: "M11.29 7.71a1 1 0 0 1 0 1.42L9.41 11H17a1 1 0 1 1 0 2H9.41l1.88 1.88a1 1 0 0 1-1.42 1.41l-3.58-3.59a1 1 0 0 1 0-1.41l3.58-3.59a1 1 0 0 1 1.42 0Z" })
3472
- ] }) }),
3473
- /* @__PURE__ */ s.jsx(d, { onClick: () => v("redo"), title: "Redo", children: /* @__PURE__ */ s.jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: [
3474
- /* @__PURE__ */ s.jsx("path", { d: "M16.82 4.8a1 1 0 0 0-.77 1.84A7.8 7.8 0 1 1 8 12a1 1 0 1 0-2 0 9.8 9.8 0 1 0 9.37-9.88 1 1 0 0 0-.55.68Z" }),
3475
- /* @__PURE__ */ s.jsx("path", { d: "M12.71 7.71a1 1 0 0 0 0 1.42L14.59 11H7a1 1 0 1 0 0 2h7.59l-1.88 1.88a1 1 0 1 0 1.42 1.41l3.58-3.59a1 1 0 0 0 0-1.41l-3.58-3.59a1 1 0 0 0-1.42 0Z" })
3476
- ] }) })
3477
- ]
3478
- }
3479
- ),
3480
- /* @__PURE__ */ s.jsx(
3481
- "div",
3482
- {
3483
- ref: x,
3484
- className: pe(
3485
- "p-6 outline-none",
3486
- `
3487
- [&_h1]:text-3xl [&_h1]:font-bold [&_h1]:mt-6 [&_h1]:mb-4 [&_h1]:text-gray-800 [&_h1]:border-b [&_h1]:pb-2
3488
- [&_h2]:text-2xl [&_h2]:font-bold [&_h2]:mt-5 [&_h2]:mb-3 [&_h2]:text-gray-800
3489
- [&_h3]:text-xl [&_h3]:font-bold [&_h3]:mt-4 [&_h3]:mb-2 [&_h3]:text-gray-800
3490
- [&_p]:mb-4 [&_p]:text-gray-700 [&_p]:leading-relaxed
3491
- [&_ul]:list-disc [&_ul]:list-inside [&_ul]:mb-4 [&_ul]:ml-4 [&_ul]:space-y-1
3492
- [&_ol]:list-decimal [&_ol]:list-inside [&_ol]:mb-4 [&_ol]:ml-4 [&_ol]:space-y-1
3493
- [&_li]:mb-1
3494
- [&_a]:text-blue-600 [&_a]:hover:text-blue-800 [&_a]:underline [&_a]:transition-colors
3495
- [&_blockquote]:border-l-4 [&_blockquote]:border-blue-500 [&_blockquote]:pl-4 [&_blockquote]:italic [&_blockquote]:text-gray-600 [&_blockquote]:my-4
3496
- [&_code]:bg-gray-100 [&_code]:px-2 [&_code]:py-1 [&_code]:rounded [&_code]:text-sm [&_code]:font-mono
3497
- [&_pre]:bg-gray-800 [&_pre]:text-gray-100 [&_pre]:p-4 [&_pre]:rounded-lg [&_pre]:overflow-x-auto [&_pre]:my-4
3498
- [&_pre_code]:bg-transparent [&_pre_code]:text-inherit [&_pre_code]:p-0
3499
- `,
3500
- o ? "bg-transparent cursor-default" : "cursor-text bg-white",
3501
- "min-h-[500px]"
3502
- ),
3503
- contentEditable: !o,
3504
- suppressContentEditableWarning: !0,
3505
- onFocus: V,
3506
- onBlur: K,
3507
- onInput: m,
3508
- onKeyDown: (u) => {
3509
- u.key === "Tab" && (u.preventDefault(), v("indent"));
3510
- },
3511
- "data-placeholder": o ? "" : "Start typing...",
3512
- style: { minHeight: g }
3513
- }
3514
- ),
3515
- w && /* @__PURE__ */ s.jsxs("div", { className: "px-6 py-3 border-t border-gray-200 bg-gray-50 text-xs text-gray-500 flex justify-between", children: [
3516
- /* @__PURE__ */ s.jsxs("span", { children: [
3517
- "Words:",
3518
- " ",
3519
- x.current?.innerText?.split(/\s+/).filter((u) => u.length > 0).length || 0
3867
+ ),
3868
+ D && /* @__PURE__ */ h.jsx("div", { className: "px-6 py-2 text-sm text-red-600 bg-red-50", children: "Please fix validation errors before saving." }),
3869
+ /* @__PURE__ */ h.jsx(
3870
+ "div",
3871
+ {
3872
+ ref: F,
3873
+ className: "p-6 outline-none overflow-y-auto min-h-[200px]",
3874
+ contentEditable: !s,
3875
+ suppressContentEditableWarning: !0,
3876
+ onInput: (o) => Z(o.currentTarget.innerHTML),
3877
+ onPaste: j,
3878
+ onDrop: c,
3879
+ onDragOver: (o) => o.preventDefault()
3880
+ }
3881
+ ),
3882
+ p.pendingImages.length > 0 && /* @__PURE__ */ h.jsxs("div", { className: "p-4 text-sm text-blue-600 bg-blue-50 flex gap-2", children: [
3883
+ /* @__PURE__ */ h.jsx(Ft, { size: 16 }),
3884
+ p.pendingImages.length,
3885
+ " image(s) pending upload"
3520
3886
  ] }),
3521
- /* @__PURE__ */ s.jsxs("span", { children: [
3522
- "Characters: ",
3523
- x.current?.innerText?.length || 0
3524
- ] })
3525
- ] })
3526
- ]
3527
- }
3528
- );
3529
- };
3887
+ i && /* @__PURE__ */ h.jsx(
3888
+ Vt,
3889
+ {
3890
+ wordCount: p.wordCount,
3891
+ characterCount: p.characterCount,
3892
+ hasUnsavedChanges: p.hasUnsavedChanges,
3893
+ pendingImagesCount: p.pendingImages.length
3894
+ }
3895
+ )
3896
+ ]
3897
+ }
3898
+ );
3899
+ }
3900
+ );
3530
3901
  export {
3531
- Tr as TextEditor
3902
+ Qr as TextEditor
3532
3903
  };