@abduljebar/text-editor 2.2.5 → 2.3.1

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