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