react-grab 0.0.47 → 0.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +149 -0
- package/dist/index.cjs +4320 -207
- package/dist/index.global.js +25 -24
- package/dist/index.js +4203 -90
- package/dist/styles.css +2 -0
- package/package.json +10 -2
package/dist/index.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import { delegateEvents, render, createComponent, memo, template, effect, style, insert, setStyleProperty, use } from 'solid-js/web';
|
|
2
|
-
import { createRoot, createSignal, createMemo, createEffect, on, onCleanup, Show, For, onMount } from 'solid-js';
|
|
3
|
-
import { isInstrumentationActive, getFiberFromHostInstance, traverseFiber, isCompositeFiber, getDisplayName, isFiber, getLatestFiber, isHostFiber } from 'bippy';
|
|
4
|
-
import { getSource, isSourceFile, normalizeFileName } from 'bippy/source';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* @license MIT
|
|
8
3
|
*
|
|
@@ -12,6 +7,740 @@ import { getSource, isSourceFile, normalizeFileName } from 'bippy/source';
|
|
|
12
7
|
* LICENSE file in the root directory of this source tree.
|
|
13
8
|
*/
|
|
14
9
|
|
|
10
|
+
var IS_DEV = false;
|
|
11
|
+
var equalFn = (a3, b3) => a3 === b3;
|
|
12
|
+
var $TRACK = Symbol("solid-track");
|
|
13
|
+
var signalOptions = {
|
|
14
|
+
equals: equalFn
|
|
15
|
+
};
|
|
16
|
+
var runEffects = runQueue;
|
|
17
|
+
var STALE = 1;
|
|
18
|
+
var PENDING = 2;
|
|
19
|
+
var UNOWNED = {
|
|
20
|
+
owned: null,
|
|
21
|
+
cleanups: null,
|
|
22
|
+
context: null,
|
|
23
|
+
owner: null
|
|
24
|
+
};
|
|
25
|
+
var Owner = null;
|
|
26
|
+
var Transition = null;
|
|
27
|
+
var ExternalSourceConfig = null;
|
|
28
|
+
var Listener = null;
|
|
29
|
+
var Updates = null;
|
|
30
|
+
var Effects = null;
|
|
31
|
+
var ExecCount = 0;
|
|
32
|
+
function createRoot(fn, detachedOwner) {
|
|
33
|
+
const listener = Listener, owner = Owner, unowned = fn.length === 0, current = detachedOwner === void 0 ? owner : detachedOwner, root = unowned ? UNOWNED : {
|
|
34
|
+
owned: null,
|
|
35
|
+
cleanups: null,
|
|
36
|
+
context: current ? current.context : null,
|
|
37
|
+
owner: current
|
|
38
|
+
}, updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));
|
|
39
|
+
Owner = root;
|
|
40
|
+
Listener = null;
|
|
41
|
+
try {
|
|
42
|
+
return runUpdates(updateFn, true);
|
|
43
|
+
} finally {
|
|
44
|
+
Listener = listener;
|
|
45
|
+
Owner = owner;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function createSignal(value, options) {
|
|
49
|
+
options = options ? Object.assign({}, signalOptions, options) : signalOptions;
|
|
50
|
+
const s3 = {
|
|
51
|
+
value,
|
|
52
|
+
observers: null,
|
|
53
|
+
observerSlots: null,
|
|
54
|
+
comparator: options.equals || void 0
|
|
55
|
+
};
|
|
56
|
+
const setter = (value2) => {
|
|
57
|
+
if (typeof value2 === "function") {
|
|
58
|
+
value2 = value2(s3.value);
|
|
59
|
+
}
|
|
60
|
+
return writeSignal(s3, value2);
|
|
61
|
+
};
|
|
62
|
+
return [readSignal.bind(s3), setter];
|
|
63
|
+
}
|
|
64
|
+
function createRenderEffect(fn, value, options) {
|
|
65
|
+
const c3 = createComputation(fn, value, false, STALE);
|
|
66
|
+
updateComputation(c3);
|
|
67
|
+
}
|
|
68
|
+
function createEffect(fn, value, options) {
|
|
69
|
+
runEffects = runUserEffects;
|
|
70
|
+
const c3 = createComputation(fn, value, false, STALE);
|
|
71
|
+
c3.user = true;
|
|
72
|
+
Effects ? Effects.push(c3) : updateComputation(c3);
|
|
73
|
+
}
|
|
74
|
+
function createMemo(fn, value, options) {
|
|
75
|
+
options = options ? Object.assign({}, signalOptions, options) : signalOptions;
|
|
76
|
+
const c3 = createComputation(fn, value, true, 0);
|
|
77
|
+
c3.observers = null;
|
|
78
|
+
c3.observerSlots = null;
|
|
79
|
+
c3.comparator = options.equals || void 0;
|
|
80
|
+
updateComputation(c3);
|
|
81
|
+
return readSignal.bind(c3);
|
|
82
|
+
}
|
|
83
|
+
function untrack(fn) {
|
|
84
|
+
if (Listener === null) return fn();
|
|
85
|
+
const listener = Listener;
|
|
86
|
+
Listener = null;
|
|
87
|
+
try {
|
|
88
|
+
if (ExternalSourceConfig) ;
|
|
89
|
+
return fn();
|
|
90
|
+
} finally {
|
|
91
|
+
Listener = listener;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function on(deps, fn, options) {
|
|
95
|
+
const isArray = Array.isArray(deps);
|
|
96
|
+
let prevInput;
|
|
97
|
+
return (prevValue) => {
|
|
98
|
+
let input;
|
|
99
|
+
if (isArray) {
|
|
100
|
+
input = Array(deps.length);
|
|
101
|
+
for (let i2 = 0; i2 < deps.length; i2++) input[i2] = deps[i2]();
|
|
102
|
+
} else input = deps();
|
|
103
|
+
const result = untrack(() => fn(input, prevInput, prevValue));
|
|
104
|
+
prevInput = input;
|
|
105
|
+
return result;
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
function onMount(fn) {
|
|
109
|
+
createEffect(() => untrack(fn));
|
|
110
|
+
}
|
|
111
|
+
function onCleanup(fn) {
|
|
112
|
+
if (Owner === null) ;
|
|
113
|
+
else if (Owner.cleanups === null) Owner.cleanups = [fn];
|
|
114
|
+
else Owner.cleanups.push(fn);
|
|
115
|
+
return fn;
|
|
116
|
+
}
|
|
117
|
+
function readSignal() {
|
|
118
|
+
if (this.sources && (this.state)) {
|
|
119
|
+
if ((this.state) === STALE) updateComputation(this);
|
|
120
|
+
else {
|
|
121
|
+
const updates = Updates;
|
|
122
|
+
Updates = null;
|
|
123
|
+
runUpdates(() => lookUpstream(this), false);
|
|
124
|
+
Updates = updates;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (Listener) {
|
|
128
|
+
const sSlot = this.observers ? this.observers.length : 0;
|
|
129
|
+
if (!Listener.sources) {
|
|
130
|
+
Listener.sources = [this];
|
|
131
|
+
Listener.sourceSlots = [sSlot];
|
|
132
|
+
} else {
|
|
133
|
+
Listener.sources.push(this);
|
|
134
|
+
Listener.sourceSlots.push(sSlot);
|
|
135
|
+
}
|
|
136
|
+
if (!this.observers) {
|
|
137
|
+
this.observers = [Listener];
|
|
138
|
+
this.observerSlots = [Listener.sources.length - 1];
|
|
139
|
+
} else {
|
|
140
|
+
this.observers.push(Listener);
|
|
141
|
+
this.observerSlots.push(Listener.sources.length - 1);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return this.value;
|
|
145
|
+
}
|
|
146
|
+
function writeSignal(node, value, isComp) {
|
|
147
|
+
let current = node.value;
|
|
148
|
+
if (!node.comparator || !node.comparator(current, value)) {
|
|
149
|
+
node.value = value;
|
|
150
|
+
if (node.observers && node.observers.length) {
|
|
151
|
+
runUpdates(() => {
|
|
152
|
+
for (let i2 = 0; i2 < node.observers.length; i2 += 1) {
|
|
153
|
+
const o3 = node.observers[i2];
|
|
154
|
+
const TransitionRunning = Transition && Transition.running;
|
|
155
|
+
if (TransitionRunning && Transition.disposed.has(o3)) ;
|
|
156
|
+
if (TransitionRunning ? !o3.tState : !o3.state) {
|
|
157
|
+
if (o3.pure) Updates.push(o3);
|
|
158
|
+
else Effects.push(o3);
|
|
159
|
+
if (o3.observers) markDownstream(o3);
|
|
160
|
+
}
|
|
161
|
+
if (!TransitionRunning) o3.state = STALE;
|
|
162
|
+
}
|
|
163
|
+
if (Updates.length > 1e6) {
|
|
164
|
+
Updates = [];
|
|
165
|
+
if (IS_DEV) ;
|
|
166
|
+
throw new Error();
|
|
167
|
+
}
|
|
168
|
+
}, false);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return value;
|
|
172
|
+
}
|
|
173
|
+
function updateComputation(node) {
|
|
174
|
+
if (!node.fn) return;
|
|
175
|
+
cleanNode(node);
|
|
176
|
+
const time = ExecCount;
|
|
177
|
+
runComputation(node, node.value, time);
|
|
178
|
+
}
|
|
179
|
+
function runComputation(node, value, time) {
|
|
180
|
+
let nextValue;
|
|
181
|
+
const owner = Owner, listener = Listener;
|
|
182
|
+
Listener = Owner = node;
|
|
183
|
+
try {
|
|
184
|
+
nextValue = node.fn(value);
|
|
185
|
+
} catch (err) {
|
|
186
|
+
if (node.pure) {
|
|
187
|
+
{
|
|
188
|
+
node.state = STALE;
|
|
189
|
+
node.owned && node.owned.forEach(cleanNode);
|
|
190
|
+
node.owned = null;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
node.updatedAt = time + 1;
|
|
194
|
+
return handleError(err);
|
|
195
|
+
} finally {
|
|
196
|
+
Listener = listener;
|
|
197
|
+
Owner = owner;
|
|
198
|
+
}
|
|
199
|
+
if (!node.updatedAt || node.updatedAt <= time) {
|
|
200
|
+
if (node.updatedAt != null && "observers" in node) {
|
|
201
|
+
writeSignal(node, nextValue);
|
|
202
|
+
} else node.value = nextValue;
|
|
203
|
+
node.updatedAt = time;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function createComputation(fn, init2, pure, state = STALE, options) {
|
|
207
|
+
const c3 = {
|
|
208
|
+
fn,
|
|
209
|
+
state,
|
|
210
|
+
updatedAt: null,
|
|
211
|
+
owned: null,
|
|
212
|
+
sources: null,
|
|
213
|
+
sourceSlots: null,
|
|
214
|
+
cleanups: null,
|
|
215
|
+
value: init2,
|
|
216
|
+
owner: Owner,
|
|
217
|
+
context: Owner ? Owner.context : null,
|
|
218
|
+
pure
|
|
219
|
+
};
|
|
220
|
+
if (Owner === null) ;
|
|
221
|
+
else if (Owner !== UNOWNED) {
|
|
222
|
+
{
|
|
223
|
+
if (!Owner.owned) Owner.owned = [c3];
|
|
224
|
+
else Owner.owned.push(c3);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
return c3;
|
|
228
|
+
}
|
|
229
|
+
function runTop(node) {
|
|
230
|
+
if ((node.state) === 0) return;
|
|
231
|
+
if ((node.state) === PENDING) return lookUpstream(node);
|
|
232
|
+
if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);
|
|
233
|
+
const ancestors = [node];
|
|
234
|
+
while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {
|
|
235
|
+
if (node.state) ancestors.push(node);
|
|
236
|
+
}
|
|
237
|
+
for (let i2 = ancestors.length - 1; i2 >= 0; i2--) {
|
|
238
|
+
node = ancestors[i2];
|
|
239
|
+
if ((node.state) === STALE) {
|
|
240
|
+
updateComputation(node);
|
|
241
|
+
} else if ((node.state) === PENDING) {
|
|
242
|
+
const updates = Updates;
|
|
243
|
+
Updates = null;
|
|
244
|
+
runUpdates(() => lookUpstream(node, ancestors[0]), false);
|
|
245
|
+
Updates = updates;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
function runUpdates(fn, init2) {
|
|
250
|
+
if (Updates) return fn();
|
|
251
|
+
let wait = false;
|
|
252
|
+
if (!init2) Updates = [];
|
|
253
|
+
if (Effects) wait = true;
|
|
254
|
+
else Effects = [];
|
|
255
|
+
ExecCount++;
|
|
256
|
+
try {
|
|
257
|
+
const res = fn();
|
|
258
|
+
completeUpdates(wait);
|
|
259
|
+
return res;
|
|
260
|
+
} catch (err) {
|
|
261
|
+
if (!wait) Effects = null;
|
|
262
|
+
Updates = null;
|
|
263
|
+
handleError(err);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function completeUpdates(wait) {
|
|
267
|
+
if (Updates) {
|
|
268
|
+
runQueue(Updates);
|
|
269
|
+
Updates = null;
|
|
270
|
+
}
|
|
271
|
+
if (wait) return;
|
|
272
|
+
const e2 = Effects;
|
|
273
|
+
Effects = null;
|
|
274
|
+
if (e2.length) runUpdates(() => runEffects(e2), false);
|
|
275
|
+
}
|
|
276
|
+
function runQueue(queue) {
|
|
277
|
+
for (let i2 = 0; i2 < queue.length; i2++) runTop(queue[i2]);
|
|
278
|
+
}
|
|
279
|
+
function runUserEffects(queue) {
|
|
280
|
+
let i2, userLength = 0;
|
|
281
|
+
for (i2 = 0; i2 < queue.length; i2++) {
|
|
282
|
+
const e2 = queue[i2];
|
|
283
|
+
if (!e2.user) runTop(e2);
|
|
284
|
+
else queue[userLength++] = e2;
|
|
285
|
+
}
|
|
286
|
+
for (i2 = 0; i2 < userLength; i2++) runTop(queue[i2]);
|
|
287
|
+
}
|
|
288
|
+
function lookUpstream(node, ignore) {
|
|
289
|
+
node.state = 0;
|
|
290
|
+
for (let i2 = 0; i2 < node.sources.length; i2 += 1) {
|
|
291
|
+
const source = node.sources[i2];
|
|
292
|
+
if (source.sources) {
|
|
293
|
+
const state = source.state;
|
|
294
|
+
if (state === STALE) {
|
|
295
|
+
if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);
|
|
296
|
+
} else if (state === PENDING) lookUpstream(source, ignore);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
function markDownstream(node) {
|
|
301
|
+
for (let i2 = 0; i2 < node.observers.length; i2 += 1) {
|
|
302
|
+
const o3 = node.observers[i2];
|
|
303
|
+
if (!o3.state) {
|
|
304
|
+
o3.state = PENDING;
|
|
305
|
+
if (o3.pure) Updates.push(o3);
|
|
306
|
+
else Effects.push(o3);
|
|
307
|
+
o3.observers && markDownstream(o3);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
function cleanNode(node) {
|
|
312
|
+
let i2;
|
|
313
|
+
if (node.sources) {
|
|
314
|
+
while (node.sources.length) {
|
|
315
|
+
const source = node.sources.pop(), index = node.sourceSlots.pop(), obs = source.observers;
|
|
316
|
+
if (obs && obs.length) {
|
|
317
|
+
const n2 = obs.pop(), s3 = source.observerSlots.pop();
|
|
318
|
+
if (index < obs.length) {
|
|
319
|
+
n2.sourceSlots[s3] = index;
|
|
320
|
+
obs[index] = n2;
|
|
321
|
+
source.observerSlots[index] = s3;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
if (node.tOwned) {
|
|
327
|
+
for (i2 = node.tOwned.length - 1; i2 >= 0; i2--) cleanNode(node.tOwned[i2]);
|
|
328
|
+
delete node.tOwned;
|
|
329
|
+
}
|
|
330
|
+
if (node.owned) {
|
|
331
|
+
for (i2 = node.owned.length - 1; i2 >= 0; i2--) cleanNode(node.owned[i2]);
|
|
332
|
+
node.owned = null;
|
|
333
|
+
}
|
|
334
|
+
if (node.cleanups) {
|
|
335
|
+
for (i2 = node.cleanups.length - 1; i2 >= 0; i2--) node.cleanups[i2]();
|
|
336
|
+
node.cleanups = null;
|
|
337
|
+
}
|
|
338
|
+
node.state = 0;
|
|
339
|
+
}
|
|
340
|
+
function castError(err) {
|
|
341
|
+
if (err instanceof Error) return err;
|
|
342
|
+
return new Error(typeof err === "string" ? err : "Unknown error", {
|
|
343
|
+
cause: err
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
function handleError(err, owner = Owner) {
|
|
347
|
+
const error = castError(err);
|
|
348
|
+
throw error;
|
|
349
|
+
}
|
|
350
|
+
var FALLBACK = Symbol("fallback");
|
|
351
|
+
function dispose(d3) {
|
|
352
|
+
for (let i2 = 0; i2 < d3.length; i2++) d3[i2]();
|
|
353
|
+
}
|
|
354
|
+
function mapArray(list, mapFn, options = {}) {
|
|
355
|
+
let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null;
|
|
356
|
+
onCleanup(() => dispose(disposers));
|
|
357
|
+
return () => {
|
|
358
|
+
let newItems = list() || [], newLen = newItems.length, i2, j2;
|
|
359
|
+
newItems[$TRACK];
|
|
360
|
+
return untrack(() => {
|
|
361
|
+
let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;
|
|
362
|
+
if (newLen === 0) {
|
|
363
|
+
if (len !== 0) {
|
|
364
|
+
dispose(disposers);
|
|
365
|
+
disposers = [];
|
|
366
|
+
items = [];
|
|
367
|
+
mapped = [];
|
|
368
|
+
len = 0;
|
|
369
|
+
indexes && (indexes = []);
|
|
370
|
+
}
|
|
371
|
+
if (options.fallback) {
|
|
372
|
+
items = [FALLBACK];
|
|
373
|
+
mapped[0] = createRoot((disposer) => {
|
|
374
|
+
disposers[0] = disposer;
|
|
375
|
+
return options.fallback();
|
|
376
|
+
});
|
|
377
|
+
len = 1;
|
|
378
|
+
}
|
|
379
|
+
} else if (len === 0) {
|
|
380
|
+
mapped = new Array(newLen);
|
|
381
|
+
for (j2 = 0; j2 < newLen; j2++) {
|
|
382
|
+
items[j2] = newItems[j2];
|
|
383
|
+
mapped[j2] = createRoot(mapper);
|
|
384
|
+
}
|
|
385
|
+
len = newLen;
|
|
386
|
+
} else {
|
|
387
|
+
temp = new Array(newLen);
|
|
388
|
+
tempdisposers = new Array(newLen);
|
|
389
|
+
indexes && (tempIndexes = new Array(newLen));
|
|
390
|
+
for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++) ;
|
|
391
|
+
for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {
|
|
392
|
+
temp[newEnd] = mapped[end];
|
|
393
|
+
tempdisposers[newEnd] = disposers[end];
|
|
394
|
+
indexes && (tempIndexes[newEnd] = indexes[end]);
|
|
395
|
+
}
|
|
396
|
+
newIndices = /* @__PURE__ */ new Map();
|
|
397
|
+
newIndicesNext = new Array(newEnd + 1);
|
|
398
|
+
for (j2 = newEnd; j2 >= start; j2--) {
|
|
399
|
+
item = newItems[j2];
|
|
400
|
+
i2 = newIndices.get(item);
|
|
401
|
+
newIndicesNext[j2] = i2 === void 0 ? -1 : i2;
|
|
402
|
+
newIndices.set(item, j2);
|
|
403
|
+
}
|
|
404
|
+
for (i2 = start; i2 <= end; i2++) {
|
|
405
|
+
item = items[i2];
|
|
406
|
+
j2 = newIndices.get(item);
|
|
407
|
+
if (j2 !== void 0 && j2 !== -1) {
|
|
408
|
+
temp[j2] = mapped[i2];
|
|
409
|
+
tempdisposers[j2] = disposers[i2];
|
|
410
|
+
indexes && (tempIndexes[j2] = indexes[i2]);
|
|
411
|
+
j2 = newIndicesNext[j2];
|
|
412
|
+
newIndices.set(item, j2);
|
|
413
|
+
} else disposers[i2]();
|
|
414
|
+
}
|
|
415
|
+
for (j2 = start; j2 < newLen; j2++) {
|
|
416
|
+
if (j2 in temp) {
|
|
417
|
+
mapped[j2] = temp[j2];
|
|
418
|
+
disposers[j2] = tempdisposers[j2];
|
|
419
|
+
if (indexes) {
|
|
420
|
+
indexes[j2] = tempIndexes[j2];
|
|
421
|
+
indexes[j2](j2);
|
|
422
|
+
}
|
|
423
|
+
} else mapped[j2] = createRoot(mapper);
|
|
424
|
+
}
|
|
425
|
+
mapped = mapped.slice(0, len = newLen);
|
|
426
|
+
items = newItems.slice(0);
|
|
427
|
+
}
|
|
428
|
+
return mapped;
|
|
429
|
+
});
|
|
430
|
+
function mapper(disposer) {
|
|
431
|
+
disposers[j2] = disposer;
|
|
432
|
+
if (indexes) {
|
|
433
|
+
const [s3, set] = createSignal(j2);
|
|
434
|
+
indexes[j2] = set;
|
|
435
|
+
return mapFn(newItems[j2], s3);
|
|
436
|
+
}
|
|
437
|
+
return mapFn(newItems[j2]);
|
|
438
|
+
}
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
function createComponent(Comp, props) {
|
|
442
|
+
return untrack(() => Comp(props || {}));
|
|
443
|
+
}
|
|
444
|
+
var narrowedError = (name) => `Stale read from <${name}>.`;
|
|
445
|
+
function For(props) {
|
|
446
|
+
const fallback = "fallback" in props && {
|
|
447
|
+
fallback: () => props.fallback
|
|
448
|
+
};
|
|
449
|
+
return createMemo(mapArray(() => props.each, props.children, fallback || void 0));
|
|
450
|
+
}
|
|
451
|
+
function Show(props) {
|
|
452
|
+
const keyed = props.keyed;
|
|
453
|
+
const conditionValue = createMemo(() => props.when, void 0, void 0);
|
|
454
|
+
const condition = keyed ? conditionValue : createMemo(conditionValue, void 0, {
|
|
455
|
+
equals: (a3, b3) => !a3 === !b3
|
|
456
|
+
});
|
|
457
|
+
return createMemo(() => {
|
|
458
|
+
const c3 = condition();
|
|
459
|
+
if (c3) {
|
|
460
|
+
const child = props.children;
|
|
461
|
+
const fn = typeof child === "function" && child.length > 0;
|
|
462
|
+
return fn ? untrack(() => child(keyed ? c3 : () => {
|
|
463
|
+
if (!untrack(condition)) throw narrowedError("Show");
|
|
464
|
+
return conditionValue();
|
|
465
|
+
})) : child;
|
|
466
|
+
}
|
|
467
|
+
return props.fallback;
|
|
468
|
+
}, void 0, void 0);
|
|
469
|
+
}
|
|
470
|
+
var memo = (fn) => createMemo(() => fn());
|
|
471
|
+
function reconcileArrays(parentNode, a3, b3) {
|
|
472
|
+
let bLength = b3.length, aEnd = a3.length, bEnd = bLength, aStart = 0, bStart = 0, after = a3[aEnd - 1].nextSibling, map = null;
|
|
473
|
+
while (aStart < aEnd || bStart < bEnd) {
|
|
474
|
+
if (a3[aStart] === b3[bStart]) {
|
|
475
|
+
aStart++;
|
|
476
|
+
bStart++;
|
|
477
|
+
continue;
|
|
478
|
+
}
|
|
479
|
+
while (a3[aEnd - 1] === b3[bEnd - 1]) {
|
|
480
|
+
aEnd--;
|
|
481
|
+
bEnd--;
|
|
482
|
+
}
|
|
483
|
+
if (aEnd === aStart) {
|
|
484
|
+
const node = bEnd < bLength ? bStart ? b3[bStart - 1].nextSibling : b3[bEnd - bStart] : after;
|
|
485
|
+
while (bStart < bEnd) parentNode.insertBefore(b3[bStart++], node);
|
|
486
|
+
} else if (bEnd === bStart) {
|
|
487
|
+
while (aStart < aEnd) {
|
|
488
|
+
if (!map || !map.has(a3[aStart])) a3[aStart].remove();
|
|
489
|
+
aStart++;
|
|
490
|
+
}
|
|
491
|
+
} else if (a3[aStart] === b3[bEnd - 1] && b3[bStart] === a3[aEnd - 1]) {
|
|
492
|
+
const node = a3[--aEnd].nextSibling;
|
|
493
|
+
parentNode.insertBefore(b3[bStart++], a3[aStart++].nextSibling);
|
|
494
|
+
parentNode.insertBefore(b3[--bEnd], node);
|
|
495
|
+
a3[aEnd] = b3[bEnd];
|
|
496
|
+
} else {
|
|
497
|
+
if (!map) {
|
|
498
|
+
map = /* @__PURE__ */ new Map();
|
|
499
|
+
let i2 = bStart;
|
|
500
|
+
while (i2 < bEnd) map.set(b3[i2], i2++);
|
|
501
|
+
}
|
|
502
|
+
const index = map.get(a3[aStart]);
|
|
503
|
+
if (index != null) {
|
|
504
|
+
if (bStart < index && index < bEnd) {
|
|
505
|
+
let i2 = aStart, sequence = 1, t2;
|
|
506
|
+
while (++i2 < aEnd && i2 < bEnd) {
|
|
507
|
+
if ((t2 = map.get(a3[i2])) == null || t2 !== index + sequence) break;
|
|
508
|
+
sequence++;
|
|
509
|
+
}
|
|
510
|
+
if (sequence > index - bStart) {
|
|
511
|
+
const node = a3[aStart];
|
|
512
|
+
while (bStart < index) parentNode.insertBefore(b3[bStart++], node);
|
|
513
|
+
} else parentNode.replaceChild(b3[bStart++], a3[aStart++]);
|
|
514
|
+
} else aStart++;
|
|
515
|
+
} else a3[aStart++].remove();
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
var $$EVENTS = "_$DX_DELEGATE";
|
|
520
|
+
function render(code, element, init2, options = {}) {
|
|
521
|
+
let disposer;
|
|
522
|
+
createRoot((dispose2) => {
|
|
523
|
+
disposer = dispose2;
|
|
524
|
+
element === document ? code() : insert(element, code(), element.firstChild ? null : void 0, init2);
|
|
525
|
+
}, options.owner);
|
|
526
|
+
return () => {
|
|
527
|
+
disposer();
|
|
528
|
+
element.textContent = "";
|
|
529
|
+
};
|
|
530
|
+
}
|
|
531
|
+
function template(html, isImportNode, isSVG, isMathML) {
|
|
532
|
+
let node;
|
|
533
|
+
const create = () => {
|
|
534
|
+
const t2 = document.createElement("template");
|
|
535
|
+
t2.innerHTML = html;
|
|
536
|
+
return t2.content.firstChild;
|
|
537
|
+
};
|
|
538
|
+
const fn = () => (node || (node = create())).cloneNode(true);
|
|
539
|
+
fn.cloneNode = fn;
|
|
540
|
+
return fn;
|
|
541
|
+
}
|
|
542
|
+
function delegateEvents(eventNames, document2 = window.document) {
|
|
543
|
+
const e2 = document2[$$EVENTS] || (document2[$$EVENTS] = /* @__PURE__ */ new Set());
|
|
544
|
+
for (let i2 = 0, l3 = eventNames.length; i2 < l3; i2++) {
|
|
545
|
+
const name = eventNames[i2];
|
|
546
|
+
if (!e2.has(name)) {
|
|
547
|
+
e2.add(name);
|
|
548
|
+
document2.addEventListener(name, eventHandler);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
function setAttribute(node, name, value) {
|
|
553
|
+
node.removeAttribute(name);
|
|
554
|
+
}
|
|
555
|
+
function className(node, value) {
|
|
556
|
+
if (value == null) node.removeAttribute("class");
|
|
557
|
+
else node.className = value;
|
|
558
|
+
}
|
|
559
|
+
function style(node, value, prev) {
|
|
560
|
+
if (!value) return prev ? setAttribute(node, "style") : value;
|
|
561
|
+
const nodeStyle = node.style;
|
|
562
|
+
if (typeof value === "string") return nodeStyle.cssText = value;
|
|
563
|
+
typeof prev === "string" && (nodeStyle.cssText = prev = void 0);
|
|
564
|
+
prev || (prev = {});
|
|
565
|
+
value || (value = {});
|
|
566
|
+
let v2, s3;
|
|
567
|
+
for (s3 in prev) {
|
|
568
|
+
value[s3] == null && nodeStyle.removeProperty(s3);
|
|
569
|
+
delete prev[s3];
|
|
570
|
+
}
|
|
571
|
+
for (s3 in value) {
|
|
572
|
+
v2 = value[s3];
|
|
573
|
+
if (v2 !== prev[s3]) {
|
|
574
|
+
nodeStyle.setProperty(s3, v2);
|
|
575
|
+
prev[s3] = v2;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
return prev;
|
|
579
|
+
}
|
|
580
|
+
function setStyleProperty(node, name, value) {
|
|
581
|
+
value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);
|
|
582
|
+
}
|
|
583
|
+
function use(fn, element, arg) {
|
|
584
|
+
return untrack(() => fn(element, arg));
|
|
585
|
+
}
|
|
586
|
+
function insert(parent, accessor, marker, initial) {
|
|
587
|
+
if (marker !== void 0 && !initial) initial = [];
|
|
588
|
+
if (typeof accessor !== "function") return insertExpression(parent, accessor, initial, marker);
|
|
589
|
+
createRenderEffect((current) => insertExpression(parent, accessor(), current, marker), initial);
|
|
590
|
+
}
|
|
591
|
+
function eventHandler(e2) {
|
|
592
|
+
let node = e2.target;
|
|
593
|
+
const key = `$$${e2.type}`;
|
|
594
|
+
const oriTarget = e2.target;
|
|
595
|
+
const oriCurrentTarget = e2.currentTarget;
|
|
596
|
+
const retarget = (value) => Object.defineProperty(e2, "target", {
|
|
597
|
+
configurable: true,
|
|
598
|
+
value
|
|
599
|
+
});
|
|
600
|
+
const handleNode = () => {
|
|
601
|
+
const handler = node[key];
|
|
602
|
+
if (handler && !node.disabled) {
|
|
603
|
+
const data = node[`${key}Data`];
|
|
604
|
+
data !== void 0 ? handler.call(node, data, e2) : handler.call(node, e2);
|
|
605
|
+
if (e2.cancelBubble) return;
|
|
606
|
+
}
|
|
607
|
+
node.host && typeof node.host !== "string" && !node.host._$host && node.contains(e2.target) && retarget(node.host);
|
|
608
|
+
return true;
|
|
609
|
+
};
|
|
610
|
+
const walkUpTree = () => {
|
|
611
|
+
while (handleNode() && (node = node._$host || node.parentNode || node.host)) ;
|
|
612
|
+
};
|
|
613
|
+
Object.defineProperty(e2, "currentTarget", {
|
|
614
|
+
configurable: true,
|
|
615
|
+
get() {
|
|
616
|
+
return node || document;
|
|
617
|
+
}
|
|
618
|
+
});
|
|
619
|
+
if (e2.composedPath) {
|
|
620
|
+
const path = e2.composedPath();
|
|
621
|
+
retarget(path[0]);
|
|
622
|
+
for (let i2 = 0; i2 < path.length - 2; i2++) {
|
|
623
|
+
node = path[i2];
|
|
624
|
+
if (!handleNode()) break;
|
|
625
|
+
if (node._$host) {
|
|
626
|
+
node = node._$host;
|
|
627
|
+
walkUpTree();
|
|
628
|
+
break;
|
|
629
|
+
}
|
|
630
|
+
if (node.parentNode === oriCurrentTarget) {
|
|
631
|
+
break;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
} else walkUpTree();
|
|
635
|
+
retarget(oriTarget);
|
|
636
|
+
}
|
|
637
|
+
function insertExpression(parent, value, current, marker, unwrapArray) {
|
|
638
|
+
while (typeof current === "function") current = current();
|
|
639
|
+
if (value === current) return current;
|
|
640
|
+
const t2 = typeof value, multi = marker !== void 0;
|
|
641
|
+
parent = multi && current[0] && current[0].parentNode || parent;
|
|
642
|
+
if (t2 === "string" || t2 === "number") {
|
|
643
|
+
if (t2 === "number") {
|
|
644
|
+
value = value.toString();
|
|
645
|
+
if (value === current) return current;
|
|
646
|
+
}
|
|
647
|
+
if (multi) {
|
|
648
|
+
let node = current[0];
|
|
649
|
+
if (node && node.nodeType === 3) {
|
|
650
|
+
node.data !== value && (node.data = value);
|
|
651
|
+
} else node = document.createTextNode(value);
|
|
652
|
+
current = cleanChildren(parent, current, marker, node);
|
|
653
|
+
} else {
|
|
654
|
+
if (current !== "" && typeof current === "string") {
|
|
655
|
+
current = parent.firstChild.data = value;
|
|
656
|
+
} else current = parent.textContent = value;
|
|
657
|
+
}
|
|
658
|
+
} else if (value == null || t2 === "boolean") {
|
|
659
|
+
current = cleanChildren(parent, current, marker);
|
|
660
|
+
} else if (t2 === "function") {
|
|
661
|
+
createRenderEffect(() => {
|
|
662
|
+
let v2 = value();
|
|
663
|
+
while (typeof v2 === "function") v2 = v2();
|
|
664
|
+
current = insertExpression(parent, v2, current, marker);
|
|
665
|
+
});
|
|
666
|
+
return () => current;
|
|
667
|
+
} else if (Array.isArray(value)) {
|
|
668
|
+
const array = [];
|
|
669
|
+
const currentArray = current && Array.isArray(current);
|
|
670
|
+
if (normalizeIncomingArray(array, value, current, unwrapArray)) {
|
|
671
|
+
createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
|
|
672
|
+
return () => current;
|
|
673
|
+
}
|
|
674
|
+
if (array.length === 0) {
|
|
675
|
+
current = cleanChildren(parent, current, marker);
|
|
676
|
+
if (multi) return current;
|
|
677
|
+
} else if (currentArray) {
|
|
678
|
+
if (current.length === 0) {
|
|
679
|
+
appendNodes(parent, array, marker);
|
|
680
|
+
} else reconcileArrays(parent, current, array);
|
|
681
|
+
} else {
|
|
682
|
+
current && cleanChildren(parent);
|
|
683
|
+
appendNodes(parent, array);
|
|
684
|
+
}
|
|
685
|
+
current = array;
|
|
686
|
+
} else if (value.nodeType) {
|
|
687
|
+
if (Array.isArray(current)) {
|
|
688
|
+
if (multi) return current = cleanChildren(parent, current, marker, value);
|
|
689
|
+
cleanChildren(parent, current, null, value);
|
|
690
|
+
} else if (current == null || current === "" || !parent.firstChild) {
|
|
691
|
+
parent.appendChild(value);
|
|
692
|
+
} else parent.replaceChild(value, parent.firstChild);
|
|
693
|
+
current = value;
|
|
694
|
+
} else ;
|
|
695
|
+
return current;
|
|
696
|
+
}
|
|
697
|
+
function normalizeIncomingArray(normalized, array, current, unwrap) {
|
|
698
|
+
let dynamic = false;
|
|
699
|
+
for (let i2 = 0, len = array.length; i2 < len; i2++) {
|
|
700
|
+
let item = array[i2], prev = current && current[normalized.length], t2;
|
|
701
|
+
if (item == null || item === true || item === false) ;
|
|
702
|
+
else if ((t2 = typeof item) === "object" && item.nodeType) {
|
|
703
|
+
normalized.push(item);
|
|
704
|
+
} else if (Array.isArray(item)) {
|
|
705
|
+
dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
|
|
706
|
+
} else if (t2 === "function") {
|
|
707
|
+
if (unwrap) {
|
|
708
|
+
while (typeof item === "function") item = item();
|
|
709
|
+
dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;
|
|
710
|
+
} else {
|
|
711
|
+
normalized.push(item);
|
|
712
|
+
dynamic = true;
|
|
713
|
+
}
|
|
714
|
+
} else {
|
|
715
|
+
const value = String(item);
|
|
716
|
+
if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);
|
|
717
|
+
else normalized.push(document.createTextNode(value));
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
return dynamic;
|
|
721
|
+
}
|
|
722
|
+
function appendNodes(parent, array, marker = null) {
|
|
723
|
+
for (let i2 = 0, len = array.length; i2 < len; i2++) parent.insertBefore(array[i2], marker);
|
|
724
|
+
}
|
|
725
|
+
function cleanChildren(parent, current, marker, replacement) {
|
|
726
|
+
if (marker === void 0) return parent.textContent = "";
|
|
727
|
+
const node = replacement || document.createTextNode("");
|
|
728
|
+
if (current.length) {
|
|
729
|
+
let inserted = false;
|
|
730
|
+
for (let i2 = current.length - 1; i2 >= 0; i2--) {
|
|
731
|
+
const el = current[i2];
|
|
732
|
+
if (node !== el) {
|
|
733
|
+
const isParent = el.parentNode === parent;
|
|
734
|
+
if (!inserted && !i2) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);
|
|
735
|
+
else isParent && el.remove();
|
|
736
|
+
} else inserted = true;
|
|
737
|
+
}
|
|
738
|
+
} else parent.insertBefore(node, marker);
|
|
739
|
+
return [node];
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
// dist/styles.css
|
|
743
|
+
var styles_default = '/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grab-pink:#b21c8e;--color-grab-pink-light:#fde7f7;--color-grab-pink-border:#f7c5ec;--color-grab-purple:#d239c0}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-0{top:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-2147483645{z-index:2147483645}.z-2147483646{z-index:2147483646}.z-\\[2147483645\\]{z-index:2147483645}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.ml-1{margin-left:calc(var(--spacing)*1)}.box-border{box-sizing:border-box}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.h-2{height:calc(var(--spacing)*2)}.min-h-\\[18px\\]{min-height:18px}.w-2{width:calc(var(--spacing)*2)}.w-\\[240px\\]{width:240px}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-crosshair{cursor:crosshair}.resize{resize:both}.resize-y{resize:vertical}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-\\[3px\\]{border-radius:3px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-grab-pink-border{border-color:var(--color-grab-pink-border)}.border-grab-purple{border-color:var(--color-grab-purple)}.border-grab-purple\\/40{border-color:#d239c066}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/40{border-color:color-mix(in oklab,var(--color-grab-purple)40%,transparent)}}.border-grab-purple\\/50{border-color:#d239c080}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/50{border-color:color-mix(in oklab,var(--color-grab-purple)50%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-grab-pink-light{background-color:var(--color-grab-pink-light)}.bg-grab-pink\\/20{background-color:#b21c8e33}@supports (color:color-mix(in lab, red, red)){.bg-grab-pink\\/20{background-color:color-mix(in oklab,var(--color-grab-pink)20%,transparent)}}.bg-grab-purple\\/5{background-color:#d239c00d}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/5{background-color:color-mix(in oklab,var(--color-grab-purple)5%,transparent)}}.bg-grab-purple\\/8{background-color:#d239c014}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/8{background-color:color-mix(in oklab,var(--color-grab-purple)8%,transparent)}}.bg-white{background-color:var(--color-white)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-\\[3px\\]{padding-inline:3px}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-grab-pink{color:var(--color-grab-pink)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.opacity-60{opacity:.6}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-\\[width\\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[transform\\,width\\,height\\]{will-change:transform,width,height}.outline-none{--tw-outline-style:none;outline-style:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}';
|
|
15
744
|
|
|
16
745
|
// src/utils/is-keyboard-event-triggered-by-input.ts
|
|
17
746
|
var FORM_TAGS_AND_ROLES = [
|
|
@@ -64,7 +793,7 @@ var isKeyboardEventTriggeredByInput = (event) => {
|
|
|
64
793
|
|
|
65
794
|
// src/utils/mount-root.ts
|
|
66
795
|
var ATTRIBUTE_NAME = "data-react-grab";
|
|
67
|
-
var mountRoot = () => {
|
|
796
|
+
var mountRoot = (cssText) => {
|
|
68
797
|
const mountedHost = document.querySelector(`[${ATTRIBUTE_NAME}]`);
|
|
69
798
|
if (mountedHost) {
|
|
70
799
|
const mountedRoot = mountedHost.shadowRoot?.querySelector(
|
|
@@ -81,6 +810,11 @@ var mountRoot = () => {
|
|
|
81
810
|
host.style.top = "0";
|
|
82
811
|
host.style.left = "0";
|
|
83
812
|
const shadowRoot = host.attachShadow({ mode: "open" });
|
|
813
|
+
{
|
|
814
|
+
const styleElement = document.createElement("style");
|
|
815
|
+
styleElement.textContent = cssText;
|
|
816
|
+
shadowRoot.appendChild(styleElement);
|
|
817
|
+
}
|
|
84
818
|
const root = document.createElement("div");
|
|
85
819
|
root.setAttribute(ATTRIBUTE_NAME, "true");
|
|
86
820
|
shadowRoot.appendChild(root);
|
|
@@ -107,6 +841,2486 @@ var lerp = (start, end, factor) => {
|
|
|
107
841
|
return start + (end - start) * factor;
|
|
108
842
|
};
|
|
109
843
|
|
|
844
|
+
// ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
845
|
+
function r(e2) {
|
|
846
|
+
var t2, f3, n2 = "";
|
|
847
|
+
if ("string" == typeof e2 || "number" == typeof e2) n2 += e2;
|
|
848
|
+
else if ("object" == typeof e2) if (Array.isArray(e2)) {
|
|
849
|
+
var o3 = e2.length;
|
|
850
|
+
for (t2 = 0; t2 < o3; t2++) e2[t2] && (f3 = r(e2[t2])) && (n2 && (n2 += " "), n2 += f3);
|
|
851
|
+
} else for (f3 in e2) e2[f3] && (n2 && (n2 += " "), n2 += f3);
|
|
852
|
+
return n2;
|
|
853
|
+
}
|
|
854
|
+
function clsx() {
|
|
855
|
+
for (var e2, t2, f3 = 0, n2 = "", o3 = arguments.length; f3 < o3; f3++) (e2 = arguments[f3]) && (t2 = r(e2)) && (n2 && (n2 += " "), n2 += t2);
|
|
856
|
+
return n2;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
// ../../node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs
|
|
860
|
+
var CLASS_PART_SEPARATOR = "-";
|
|
861
|
+
var createClassGroupUtils = (config) => {
|
|
862
|
+
const classMap = createClassMap(config);
|
|
863
|
+
const {
|
|
864
|
+
conflictingClassGroups,
|
|
865
|
+
conflictingClassGroupModifiers
|
|
866
|
+
} = config;
|
|
867
|
+
const getClassGroupId = (className2) => {
|
|
868
|
+
const classParts = className2.split(CLASS_PART_SEPARATOR);
|
|
869
|
+
if (classParts[0] === "" && classParts.length !== 1) {
|
|
870
|
+
classParts.shift();
|
|
871
|
+
}
|
|
872
|
+
return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className2);
|
|
873
|
+
};
|
|
874
|
+
const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
|
|
875
|
+
const conflicts = conflictingClassGroups[classGroupId] || [];
|
|
876
|
+
if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
|
|
877
|
+
return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
|
|
878
|
+
}
|
|
879
|
+
return conflicts;
|
|
880
|
+
};
|
|
881
|
+
return {
|
|
882
|
+
getClassGroupId,
|
|
883
|
+
getConflictingClassGroupIds
|
|
884
|
+
};
|
|
885
|
+
};
|
|
886
|
+
var getGroupRecursive = (classParts, classPartObject) => {
|
|
887
|
+
if (classParts.length === 0) {
|
|
888
|
+
return classPartObject.classGroupId;
|
|
889
|
+
}
|
|
890
|
+
const currentClassPart = classParts[0];
|
|
891
|
+
const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
|
|
892
|
+
const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
|
|
893
|
+
if (classGroupFromNextClassPart) {
|
|
894
|
+
return classGroupFromNextClassPart;
|
|
895
|
+
}
|
|
896
|
+
if (classPartObject.validators.length === 0) {
|
|
897
|
+
return void 0;
|
|
898
|
+
}
|
|
899
|
+
const classRest = classParts.join(CLASS_PART_SEPARATOR);
|
|
900
|
+
return classPartObject.validators.find(({
|
|
901
|
+
validator
|
|
902
|
+
}) => validator(classRest))?.classGroupId;
|
|
903
|
+
};
|
|
904
|
+
var arbitraryPropertyRegex = /^\[(.+)\]$/;
|
|
905
|
+
var getGroupIdForArbitraryProperty = (className2) => {
|
|
906
|
+
if (arbitraryPropertyRegex.test(className2)) {
|
|
907
|
+
const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className2)[1];
|
|
908
|
+
const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(":"));
|
|
909
|
+
if (property) {
|
|
910
|
+
return "arbitrary.." + property;
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
};
|
|
914
|
+
var createClassMap = (config) => {
|
|
915
|
+
const {
|
|
916
|
+
theme,
|
|
917
|
+
prefix
|
|
918
|
+
} = config;
|
|
919
|
+
const classMap = {
|
|
920
|
+
nextPart: /* @__PURE__ */ new Map(),
|
|
921
|
+
validators: []
|
|
922
|
+
};
|
|
923
|
+
const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
|
|
924
|
+
prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {
|
|
925
|
+
processClassesRecursively(classGroup, classMap, classGroupId, theme);
|
|
926
|
+
});
|
|
927
|
+
return classMap;
|
|
928
|
+
};
|
|
929
|
+
var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
|
|
930
|
+
classGroup.forEach((classDefinition) => {
|
|
931
|
+
if (typeof classDefinition === "string") {
|
|
932
|
+
const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
|
|
933
|
+
classPartObjectToEdit.classGroupId = classGroupId;
|
|
934
|
+
return;
|
|
935
|
+
}
|
|
936
|
+
if (typeof classDefinition === "function") {
|
|
937
|
+
if (isThemeGetter(classDefinition)) {
|
|
938
|
+
processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
|
|
939
|
+
return;
|
|
940
|
+
}
|
|
941
|
+
classPartObject.validators.push({
|
|
942
|
+
validator: classDefinition,
|
|
943
|
+
classGroupId
|
|
944
|
+
});
|
|
945
|
+
return;
|
|
946
|
+
}
|
|
947
|
+
Object.entries(classDefinition).forEach(([key, classGroup2]) => {
|
|
948
|
+
processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
|
|
949
|
+
});
|
|
950
|
+
});
|
|
951
|
+
};
|
|
952
|
+
var getPart = (classPartObject, path) => {
|
|
953
|
+
let currentClassPartObject = classPartObject;
|
|
954
|
+
path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
|
|
955
|
+
if (!currentClassPartObject.nextPart.has(pathPart)) {
|
|
956
|
+
currentClassPartObject.nextPart.set(pathPart, {
|
|
957
|
+
nextPart: /* @__PURE__ */ new Map(),
|
|
958
|
+
validators: []
|
|
959
|
+
});
|
|
960
|
+
}
|
|
961
|
+
currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
|
|
962
|
+
});
|
|
963
|
+
return currentClassPartObject;
|
|
964
|
+
};
|
|
965
|
+
var isThemeGetter = (func) => func.isThemeGetter;
|
|
966
|
+
var getPrefixedClassGroupEntries = (classGroupEntries, prefix) => {
|
|
967
|
+
if (!prefix) {
|
|
968
|
+
return classGroupEntries;
|
|
969
|
+
}
|
|
970
|
+
return classGroupEntries.map(([classGroupId, classGroup]) => {
|
|
971
|
+
const prefixedClassGroup = classGroup.map((classDefinition) => {
|
|
972
|
+
if (typeof classDefinition === "string") {
|
|
973
|
+
return prefix + classDefinition;
|
|
974
|
+
}
|
|
975
|
+
if (typeof classDefinition === "object") {
|
|
976
|
+
return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));
|
|
977
|
+
}
|
|
978
|
+
return classDefinition;
|
|
979
|
+
});
|
|
980
|
+
return [classGroupId, prefixedClassGroup];
|
|
981
|
+
});
|
|
982
|
+
};
|
|
983
|
+
var createLruCache = (maxCacheSize) => {
|
|
984
|
+
if (maxCacheSize < 1) {
|
|
985
|
+
return {
|
|
986
|
+
get: () => void 0,
|
|
987
|
+
set: () => {
|
|
988
|
+
}
|
|
989
|
+
};
|
|
990
|
+
}
|
|
991
|
+
let cacheSize = 0;
|
|
992
|
+
let cache = /* @__PURE__ */ new Map();
|
|
993
|
+
let previousCache = /* @__PURE__ */ new Map();
|
|
994
|
+
const update = (key, value) => {
|
|
995
|
+
cache.set(key, value);
|
|
996
|
+
cacheSize++;
|
|
997
|
+
if (cacheSize > maxCacheSize) {
|
|
998
|
+
cacheSize = 0;
|
|
999
|
+
previousCache = cache;
|
|
1000
|
+
cache = /* @__PURE__ */ new Map();
|
|
1001
|
+
}
|
|
1002
|
+
};
|
|
1003
|
+
return {
|
|
1004
|
+
get(key) {
|
|
1005
|
+
let value = cache.get(key);
|
|
1006
|
+
if (value !== void 0) {
|
|
1007
|
+
return value;
|
|
1008
|
+
}
|
|
1009
|
+
if ((value = previousCache.get(key)) !== void 0) {
|
|
1010
|
+
update(key, value);
|
|
1011
|
+
return value;
|
|
1012
|
+
}
|
|
1013
|
+
},
|
|
1014
|
+
set(key, value) {
|
|
1015
|
+
if (cache.has(key)) {
|
|
1016
|
+
cache.set(key, value);
|
|
1017
|
+
} else {
|
|
1018
|
+
update(key, value);
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
};
|
|
1022
|
+
};
|
|
1023
|
+
var IMPORTANT_MODIFIER = "!";
|
|
1024
|
+
var createParseClassName = (config) => {
|
|
1025
|
+
const {
|
|
1026
|
+
separator,
|
|
1027
|
+
experimentalParseClassName
|
|
1028
|
+
} = config;
|
|
1029
|
+
const isSeparatorSingleCharacter = separator.length === 1;
|
|
1030
|
+
const firstSeparatorCharacter = separator[0];
|
|
1031
|
+
const separatorLength = separator.length;
|
|
1032
|
+
const parseClassName = (className2) => {
|
|
1033
|
+
const modifiers = [];
|
|
1034
|
+
let bracketDepth = 0;
|
|
1035
|
+
let modifierStart = 0;
|
|
1036
|
+
let postfixModifierPosition;
|
|
1037
|
+
for (let index = 0; index < className2.length; index++) {
|
|
1038
|
+
let currentCharacter = className2[index];
|
|
1039
|
+
if (bracketDepth === 0) {
|
|
1040
|
+
if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className2.slice(index, index + separatorLength) === separator)) {
|
|
1041
|
+
modifiers.push(className2.slice(modifierStart, index));
|
|
1042
|
+
modifierStart = index + separatorLength;
|
|
1043
|
+
continue;
|
|
1044
|
+
}
|
|
1045
|
+
if (currentCharacter === "/") {
|
|
1046
|
+
postfixModifierPosition = index;
|
|
1047
|
+
continue;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
if (currentCharacter === "[") {
|
|
1051
|
+
bracketDepth++;
|
|
1052
|
+
} else if (currentCharacter === "]") {
|
|
1053
|
+
bracketDepth--;
|
|
1054
|
+
}
|
|
1055
|
+
}
|
|
1056
|
+
const baseClassNameWithImportantModifier = modifiers.length === 0 ? className2 : className2.substring(modifierStart);
|
|
1057
|
+
const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
|
|
1058
|
+
const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
|
|
1059
|
+
const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
|
|
1060
|
+
return {
|
|
1061
|
+
modifiers,
|
|
1062
|
+
hasImportantModifier,
|
|
1063
|
+
baseClassName,
|
|
1064
|
+
maybePostfixModifierPosition
|
|
1065
|
+
};
|
|
1066
|
+
};
|
|
1067
|
+
if (experimentalParseClassName) {
|
|
1068
|
+
return (className2) => experimentalParseClassName({
|
|
1069
|
+
className: className2,
|
|
1070
|
+
parseClassName
|
|
1071
|
+
});
|
|
1072
|
+
}
|
|
1073
|
+
return parseClassName;
|
|
1074
|
+
};
|
|
1075
|
+
var sortModifiers = (modifiers) => {
|
|
1076
|
+
if (modifiers.length <= 1) {
|
|
1077
|
+
return modifiers;
|
|
1078
|
+
}
|
|
1079
|
+
const sortedModifiers = [];
|
|
1080
|
+
let unsortedModifiers = [];
|
|
1081
|
+
modifiers.forEach((modifier) => {
|
|
1082
|
+
const isArbitraryVariant = modifier[0] === "[";
|
|
1083
|
+
if (isArbitraryVariant) {
|
|
1084
|
+
sortedModifiers.push(...unsortedModifiers.sort(), modifier);
|
|
1085
|
+
unsortedModifiers = [];
|
|
1086
|
+
} else {
|
|
1087
|
+
unsortedModifiers.push(modifier);
|
|
1088
|
+
}
|
|
1089
|
+
});
|
|
1090
|
+
sortedModifiers.push(...unsortedModifiers.sort());
|
|
1091
|
+
return sortedModifiers;
|
|
1092
|
+
};
|
|
1093
|
+
var createConfigUtils = (config) => ({
|
|
1094
|
+
cache: createLruCache(config.cacheSize),
|
|
1095
|
+
parseClassName: createParseClassName(config),
|
|
1096
|
+
...createClassGroupUtils(config)
|
|
1097
|
+
});
|
|
1098
|
+
var SPLIT_CLASSES_REGEX = /\s+/;
|
|
1099
|
+
var mergeClassList = (classList, configUtils) => {
|
|
1100
|
+
const {
|
|
1101
|
+
parseClassName,
|
|
1102
|
+
getClassGroupId,
|
|
1103
|
+
getConflictingClassGroupIds
|
|
1104
|
+
} = configUtils;
|
|
1105
|
+
const classGroupsInConflict = [];
|
|
1106
|
+
const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
|
|
1107
|
+
let result = "";
|
|
1108
|
+
for (let index = classNames.length - 1; index >= 0; index -= 1) {
|
|
1109
|
+
const originalClassName = classNames[index];
|
|
1110
|
+
const {
|
|
1111
|
+
modifiers,
|
|
1112
|
+
hasImportantModifier,
|
|
1113
|
+
baseClassName,
|
|
1114
|
+
maybePostfixModifierPosition
|
|
1115
|
+
} = parseClassName(originalClassName);
|
|
1116
|
+
let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
|
|
1117
|
+
let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
|
|
1118
|
+
if (!classGroupId) {
|
|
1119
|
+
if (!hasPostfixModifier) {
|
|
1120
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
1121
|
+
continue;
|
|
1122
|
+
}
|
|
1123
|
+
classGroupId = getClassGroupId(baseClassName);
|
|
1124
|
+
if (!classGroupId) {
|
|
1125
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
1126
|
+
continue;
|
|
1127
|
+
}
|
|
1128
|
+
hasPostfixModifier = false;
|
|
1129
|
+
}
|
|
1130
|
+
const variantModifier = sortModifiers(modifiers).join(":");
|
|
1131
|
+
const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
|
|
1132
|
+
const classId = modifierId + classGroupId;
|
|
1133
|
+
if (classGroupsInConflict.includes(classId)) {
|
|
1134
|
+
continue;
|
|
1135
|
+
}
|
|
1136
|
+
classGroupsInConflict.push(classId);
|
|
1137
|
+
const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
|
|
1138
|
+
for (let i2 = 0; i2 < conflictGroups.length; ++i2) {
|
|
1139
|
+
const group = conflictGroups[i2];
|
|
1140
|
+
classGroupsInConflict.push(modifierId + group);
|
|
1141
|
+
}
|
|
1142
|
+
result = originalClassName + (result.length > 0 ? " " + result : result);
|
|
1143
|
+
}
|
|
1144
|
+
return result;
|
|
1145
|
+
};
|
|
1146
|
+
function twJoin() {
|
|
1147
|
+
let index = 0;
|
|
1148
|
+
let argument;
|
|
1149
|
+
let resolvedValue;
|
|
1150
|
+
let string = "";
|
|
1151
|
+
while (index < arguments.length) {
|
|
1152
|
+
if (argument = arguments[index++]) {
|
|
1153
|
+
if (resolvedValue = toValue(argument)) {
|
|
1154
|
+
string && (string += " ");
|
|
1155
|
+
string += resolvedValue;
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1159
|
+
return string;
|
|
1160
|
+
}
|
|
1161
|
+
var toValue = (mix) => {
|
|
1162
|
+
if (typeof mix === "string") {
|
|
1163
|
+
return mix;
|
|
1164
|
+
}
|
|
1165
|
+
let resolvedValue;
|
|
1166
|
+
let string = "";
|
|
1167
|
+
for (let k3 = 0; k3 < mix.length; k3++) {
|
|
1168
|
+
if (mix[k3]) {
|
|
1169
|
+
if (resolvedValue = toValue(mix[k3])) {
|
|
1170
|
+
string && (string += " ");
|
|
1171
|
+
string += resolvedValue;
|
|
1172
|
+
}
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
return string;
|
|
1176
|
+
};
|
|
1177
|
+
function createTailwindMerge(createConfigFirst, ...createConfigRest) {
|
|
1178
|
+
let configUtils;
|
|
1179
|
+
let cacheGet;
|
|
1180
|
+
let cacheSet;
|
|
1181
|
+
let functionToCall = initTailwindMerge;
|
|
1182
|
+
function initTailwindMerge(classList) {
|
|
1183
|
+
const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
|
|
1184
|
+
configUtils = createConfigUtils(config);
|
|
1185
|
+
cacheGet = configUtils.cache.get;
|
|
1186
|
+
cacheSet = configUtils.cache.set;
|
|
1187
|
+
functionToCall = tailwindMerge;
|
|
1188
|
+
return tailwindMerge(classList);
|
|
1189
|
+
}
|
|
1190
|
+
function tailwindMerge(classList) {
|
|
1191
|
+
const cachedResult = cacheGet(classList);
|
|
1192
|
+
if (cachedResult) {
|
|
1193
|
+
return cachedResult;
|
|
1194
|
+
}
|
|
1195
|
+
const result = mergeClassList(classList, configUtils);
|
|
1196
|
+
cacheSet(classList, result);
|
|
1197
|
+
return result;
|
|
1198
|
+
}
|
|
1199
|
+
return function callTailwindMerge() {
|
|
1200
|
+
return functionToCall(twJoin.apply(null, arguments));
|
|
1201
|
+
};
|
|
1202
|
+
}
|
|
1203
|
+
var fromTheme = (key) => {
|
|
1204
|
+
const themeGetter = (theme) => theme[key] || [];
|
|
1205
|
+
themeGetter.isThemeGetter = true;
|
|
1206
|
+
return themeGetter;
|
|
1207
|
+
};
|
|
1208
|
+
var arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
|
|
1209
|
+
var fractionRegex = /^\d+\/\d+$/;
|
|
1210
|
+
var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
|
|
1211
|
+
var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
|
|
1212
|
+
var lengthUnitRegex = /\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$/;
|
|
1213
|
+
var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
|
|
1214
|
+
var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
|
|
1215
|
+
var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
|
|
1216
|
+
var isLength = (value) => isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
|
|
1217
|
+
var isArbitraryLength = (value) => getIsArbitraryValue(value, "length", isLengthOnly);
|
|
1218
|
+
var isNumber = (value) => Boolean(value) && !Number.isNaN(Number(value));
|
|
1219
|
+
var isArbitraryNumber = (value) => getIsArbitraryValue(value, "number", isNumber);
|
|
1220
|
+
var isInteger = (value) => Boolean(value) && Number.isInteger(Number(value));
|
|
1221
|
+
var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
|
|
1222
|
+
var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
|
|
1223
|
+
var isTshirtSize = (value) => tshirtUnitRegex.test(value);
|
|
1224
|
+
var sizeLabels = /* @__PURE__ */ new Set(["length", "size", "percentage"]);
|
|
1225
|
+
var isArbitrarySize = (value) => getIsArbitraryValue(value, sizeLabels, isNever);
|
|
1226
|
+
var isArbitraryPosition = (value) => getIsArbitraryValue(value, "position", isNever);
|
|
1227
|
+
var imageLabels = /* @__PURE__ */ new Set(["image", "url"]);
|
|
1228
|
+
var isArbitraryImage = (value) => getIsArbitraryValue(value, imageLabels, isImage);
|
|
1229
|
+
var isArbitraryShadow = (value) => getIsArbitraryValue(value, "", isShadow);
|
|
1230
|
+
var isAny = () => true;
|
|
1231
|
+
var getIsArbitraryValue = (value, label, testValue) => {
|
|
1232
|
+
const result = arbitraryValueRegex.exec(value);
|
|
1233
|
+
if (result) {
|
|
1234
|
+
if (result[1]) {
|
|
1235
|
+
return typeof label === "string" ? result[1] === label : label.has(result[1]);
|
|
1236
|
+
}
|
|
1237
|
+
return testValue(result[2]);
|
|
1238
|
+
}
|
|
1239
|
+
return false;
|
|
1240
|
+
};
|
|
1241
|
+
var isLengthOnly = (value) => (
|
|
1242
|
+
// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
|
|
1243
|
+
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
1244
|
+
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
1245
|
+
lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
|
|
1246
|
+
);
|
|
1247
|
+
var isNever = () => false;
|
|
1248
|
+
var isShadow = (value) => shadowRegex.test(value);
|
|
1249
|
+
var isImage = (value) => imageRegex.test(value);
|
|
1250
|
+
var getDefaultConfig = () => {
|
|
1251
|
+
const colors = fromTheme("colors");
|
|
1252
|
+
const spacing = fromTheme("spacing");
|
|
1253
|
+
const blur = fromTheme("blur");
|
|
1254
|
+
const brightness = fromTheme("brightness");
|
|
1255
|
+
const borderColor = fromTheme("borderColor");
|
|
1256
|
+
const borderRadius = fromTheme("borderRadius");
|
|
1257
|
+
const borderSpacing = fromTheme("borderSpacing");
|
|
1258
|
+
const borderWidth = fromTheme("borderWidth");
|
|
1259
|
+
const contrast = fromTheme("contrast");
|
|
1260
|
+
const grayscale = fromTheme("grayscale");
|
|
1261
|
+
const hueRotate = fromTheme("hueRotate");
|
|
1262
|
+
const invert = fromTheme("invert");
|
|
1263
|
+
const gap = fromTheme("gap");
|
|
1264
|
+
const gradientColorStops = fromTheme("gradientColorStops");
|
|
1265
|
+
const gradientColorStopPositions = fromTheme("gradientColorStopPositions");
|
|
1266
|
+
const inset = fromTheme("inset");
|
|
1267
|
+
const margin = fromTheme("margin");
|
|
1268
|
+
const opacity = fromTheme("opacity");
|
|
1269
|
+
const padding = fromTheme("padding");
|
|
1270
|
+
const saturate = fromTheme("saturate");
|
|
1271
|
+
const scale = fromTheme("scale");
|
|
1272
|
+
const sepia = fromTheme("sepia");
|
|
1273
|
+
const skew = fromTheme("skew");
|
|
1274
|
+
const space = fromTheme("space");
|
|
1275
|
+
const translate = fromTheme("translate");
|
|
1276
|
+
const getOverscroll = () => ["auto", "contain", "none"];
|
|
1277
|
+
const getOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
|
|
1278
|
+
const getSpacingWithAutoAndArbitrary = () => ["auto", isArbitraryValue, spacing];
|
|
1279
|
+
const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];
|
|
1280
|
+
const getLengthWithEmptyAndArbitrary = () => ["", isLength, isArbitraryLength];
|
|
1281
|
+
const getNumberWithAutoAndArbitrary = () => ["auto", isNumber, isArbitraryValue];
|
|
1282
|
+
const getPositions = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
|
|
1283
|
+
const getLineStyles = () => ["solid", "dashed", "dotted", "double", "none"];
|
|
1284
|
+
const getBlendModes = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
|
|
1285
|
+
const getAlign = () => ["start", "end", "center", "between", "around", "evenly", "stretch"];
|
|
1286
|
+
const getZeroAndEmpty = () => ["", "0", isArbitraryValue];
|
|
1287
|
+
const getBreaks = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
|
|
1288
|
+
const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];
|
|
1289
|
+
return {
|
|
1290
|
+
cacheSize: 500,
|
|
1291
|
+
separator: ":",
|
|
1292
|
+
theme: {
|
|
1293
|
+
colors: [isAny],
|
|
1294
|
+
spacing: [isLength, isArbitraryLength],
|
|
1295
|
+
blur: ["none", "", isTshirtSize, isArbitraryValue],
|
|
1296
|
+
brightness: getNumberAndArbitrary(),
|
|
1297
|
+
borderColor: [colors],
|
|
1298
|
+
borderRadius: ["none", "", "full", isTshirtSize, isArbitraryValue],
|
|
1299
|
+
borderSpacing: getSpacingWithArbitrary(),
|
|
1300
|
+
borderWidth: getLengthWithEmptyAndArbitrary(),
|
|
1301
|
+
contrast: getNumberAndArbitrary(),
|
|
1302
|
+
grayscale: getZeroAndEmpty(),
|
|
1303
|
+
hueRotate: getNumberAndArbitrary(),
|
|
1304
|
+
invert: getZeroAndEmpty(),
|
|
1305
|
+
gap: getSpacingWithArbitrary(),
|
|
1306
|
+
gradientColorStops: [colors],
|
|
1307
|
+
gradientColorStopPositions: [isPercent, isArbitraryLength],
|
|
1308
|
+
inset: getSpacingWithAutoAndArbitrary(),
|
|
1309
|
+
margin: getSpacingWithAutoAndArbitrary(),
|
|
1310
|
+
opacity: getNumberAndArbitrary(),
|
|
1311
|
+
padding: getSpacingWithArbitrary(),
|
|
1312
|
+
saturate: getNumberAndArbitrary(),
|
|
1313
|
+
scale: getNumberAndArbitrary(),
|
|
1314
|
+
sepia: getZeroAndEmpty(),
|
|
1315
|
+
skew: getNumberAndArbitrary(),
|
|
1316
|
+
space: getSpacingWithArbitrary(),
|
|
1317
|
+
translate: getSpacingWithArbitrary()
|
|
1318
|
+
},
|
|
1319
|
+
classGroups: {
|
|
1320
|
+
// Layout
|
|
1321
|
+
/**
|
|
1322
|
+
* Aspect Ratio
|
|
1323
|
+
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
1324
|
+
*/
|
|
1325
|
+
aspect: [{
|
|
1326
|
+
aspect: ["auto", "square", "video", isArbitraryValue]
|
|
1327
|
+
}],
|
|
1328
|
+
/**
|
|
1329
|
+
* Container
|
|
1330
|
+
* @see https://tailwindcss.com/docs/container
|
|
1331
|
+
*/
|
|
1332
|
+
container: ["container"],
|
|
1333
|
+
/**
|
|
1334
|
+
* Columns
|
|
1335
|
+
* @see https://tailwindcss.com/docs/columns
|
|
1336
|
+
*/
|
|
1337
|
+
columns: [{
|
|
1338
|
+
columns: [isTshirtSize]
|
|
1339
|
+
}],
|
|
1340
|
+
/**
|
|
1341
|
+
* Break After
|
|
1342
|
+
* @see https://tailwindcss.com/docs/break-after
|
|
1343
|
+
*/
|
|
1344
|
+
"break-after": [{
|
|
1345
|
+
"break-after": getBreaks()
|
|
1346
|
+
}],
|
|
1347
|
+
/**
|
|
1348
|
+
* Break Before
|
|
1349
|
+
* @see https://tailwindcss.com/docs/break-before
|
|
1350
|
+
*/
|
|
1351
|
+
"break-before": [{
|
|
1352
|
+
"break-before": getBreaks()
|
|
1353
|
+
}],
|
|
1354
|
+
/**
|
|
1355
|
+
* Break Inside
|
|
1356
|
+
* @see https://tailwindcss.com/docs/break-inside
|
|
1357
|
+
*/
|
|
1358
|
+
"break-inside": [{
|
|
1359
|
+
"break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
|
|
1360
|
+
}],
|
|
1361
|
+
/**
|
|
1362
|
+
* Box Decoration Break
|
|
1363
|
+
* @see https://tailwindcss.com/docs/box-decoration-break
|
|
1364
|
+
*/
|
|
1365
|
+
"box-decoration": [{
|
|
1366
|
+
"box-decoration": ["slice", "clone"]
|
|
1367
|
+
}],
|
|
1368
|
+
/**
|
|
1369
|
+
* Box Sizing
|
|
1370
|
+
* @see https://tailwindcss.com/docs/box-sizing
|
|
1371
|
+
*/
|
|
1372
|
+
box: [{
|
|
1373
|
+
box: ["border", "content"]
|
|
1374
|
+
}],
|
|
1375
|
+
/**
|
|
1376
|
+
* Display
|
|
1377
|
+
* @see https://tailwindcss.com/docs/display
|
|
1378
|
+
*/
|
|
1379
|
+
display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
|
|
1380
|
+
/**
|
|
1381
|
+
* Floats
|
|
1382
|
+
* @see https://tailwindcss.com/docs/float
|
|
1383
|
+
*/
|
|
1384
|
+
float: [{
|
|
1385
|
+
float: ["right", "left", "none", "start", "end"]
|
|
1386
|
+
}],
|
|
1387
|
+
/**
|
|
1388
|
+
* Clear
|
|
1389
|
+
* @see https://tailwindcss.com/docs/clear
|
|
1390
|
+
*/
|
|
1391
|
+
clear: [{
|
|
1392
|
+
clear: ["left", "right", "both", "none", "start", "end"]
|
|
1393
|
+
}],
|
|
1394
|
+
/**
|
|
1395
|
+
* Isolation
|
|
1396
|
+
* @see https://tailwindcss.com/docs/isolation
|
|
1397
|
+
*/
|
|
1398
|
+
isolation: ["isolate", "isolation-auto"],
|
|
1399
|
+
/**
|
|
1400
|
+
* Object Fit
|
|
1401
|
+
* @see https://tailwindcss.com/docs/object-fit
|
|
1402
|
+
*/
|
|
1403
|
+
"object-fit": [{
|
|
1404
|
+
object: ["contain", "cover", "fill", "none", "scale-down"]
|
|
1405
|
+
}],
|
|
1406
|
+
/**
|
|
1407
|
+
* Object Position
|
|
1408
|
+
* @see https://tailwindcss.com/docs/object-position
|
|
1409
|
+
*/
|
|
1410
|
+
"object-position": [{
|
|
1411
|
+
object: [...getPositions(), isArbitraryValue]
|
|
1412
|
+
}],
|
|
1413
|
+
/**
|
|
1414
|
+
* Overflow
|
|
1415
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
1416
|
+
*/
|
|
1417
|
+
overflow: [{
|
|
1418
|
+
overflow: getOverflow()
|
|
1419
|
+
}],
|
|
1420
|
+
/**
|
|
1421
|
+
* Overflow X
|
|
1422
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
1423
|
+
*/
|
|
1424
|
+
"overflow-x": [{
|
|
1425
|
+
"overflow-x": getOverflow()
|
|
1426
|
+
}],
|
|
1427
|
+
/**
|
|
1428
|
+
* Overflow Y
|
|
1429
|
+
* @see https://tailwindcss.com/docs/overflow
|
|
1430
|
+
*/
|
|
1431
|
+
"overflow-y": [{
|
|
1432
|
+
"overflow-y": getOverflow()
|
|
1433
|
+
}],
|
|
1434
|
+
/**
|
|
1435
|
+
* Overscroll Behavior
|
|
1436
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
1437
|
+
*/
|
|
1438
|
+
overscroll: [{
|
|
1439
|
+
overscroll: getOverscroll()
|
|
1440
|
+
}],
|
|
1441
|
+
/**
|
|
1442
|
+
* Overscroll Behavior X
|
|
1443
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
1444
|
+
*/
|
|
1445
|
+
"overscroll-x": [{
|
|
1446
|
+
"overscroll-x": getOverscroll()
|
|
1447
|
+
}],
|
|
1448
|
+
/**
|
|
1449
|
+
* Overscroll Behavior Y
|
|
1450
|
+
* @see https://tailwindcss.com/docs/overscroll-behavior
|
|
1451
|
+
*/
|
|
1452
|
+
"overscroll-y": [{
|
|
1453
|
+
"overscroll-y": getOverscroll()
|
|
1454
|
+
}],
|
|
1455
|
+
/**
|
|
1456
|
+
* Position
|
|
1457
|
+
* @see https://tailwindcss.com/docs/position
|
|
1458
|
+
*/
|
|
1459
|
+
position: ["static", "fixed", "absolute", "relative", "sticky"],
|
|
1460
|
+
/**
|
|
1461
|
+
* Top / Right / Bottom / Left
|
|
1462
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1463
|
+
*/
|
|
1464
|
+
inset: [{
|
|
1465
|
+
inset: [inset]
|
|
1466
|
+
}],
|
|
1467
|
+
/**
|
|
1468
|
+
* Right / Left
|
|
1469
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1470
|
+
*/
|
|
1471
|
+
"inset-x": [{
|
|
1472
|
+
"inset-x": [inset]
|
|
1473
|
+
}],
|
|
1474
|
+
/**
|
|
1475
|
+
* Top / Bottom
|
|
1476
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1477
|
+
*/
|
|
1478
|
+
"inset-y": [{
|
|
1479
|
+
"inset-y": [inset]
|
|
1480
|
+
}],
|
|
1481
|
+
/**
|
|
1482
|
+
* Start
|
|
1483
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1484
|
+
*/
|
|
1485
|
+
start: [{
|
|
1486
|
+
start: [inset]
|
|
1487
|
+
}],
|
|
1488
|
+
/**
|
|
1489
|
+
* End
|
|
1490
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1491
|
+
*/
|
|
1492
|
+
end: [{
|
|
1493
|
+
end: [inset]
|
|
1494
|
+
}],
|
|
1495
|
+
/**
|
|
1496
|
+
* Top
|
|
1497
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1498
|
+
*/
|
|
1499
|
+
top: [{
|
|
1500
|
+
top: [inset]
|
|
1501
|
+
}],
|
|
1502
|
+
/**
|
|
1503
|
+
* Right
|
|
1504
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1505
|
+
*/
|
|
1506
|
+
right: [{
|
|
1507
|
+
right: [inset]
|
|
1508
|
+
}],
|
|
1509
|
+
/**
|
|
1510
|
+
* Bottom
|
|
1511
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1512
|
+
*/
|
|
1513
|
+
bottom: [{
|
|
1514
|
+
bottom: [inset]
|
|
1515
|
+
}],
|
|
1516
|
+
/**
|
|
1517
|
+
* Left
|
|
1518
|
+
* @see https://tailwindcss.com/docs/top-right-bottom-left
|
|
1519
|
+
*/
|
|
1520
|
+
left: [{
|
|
1521
|
+
left: [inset]
|
|
1522
|
+
}],
|
|
1523
|
+
/**
|
|
1524
|
+
* Visibility
|
|
1525
|
+
* @see https://tailwindcss.com/docs/visibility
|
|
1526
|
+
*/
|
|
1527
|
+
visibility: ["visible", "invisible", "collapse"],
|
|
1528
|
+
/**
|
|
1529
|
+
* Z-Index
|
|
1530
|
+
* @see https://tailwindcss.com/docs/z-index
|
|
1531
|
+
*/
|
|
1532
|
+
z: [{
|
|
1533
|
+
z: ["auto", isInteger, isArbitraryValue]
|
|
1534
|
+
}],
|
|
1535
|
+
// Flexbox and Grid
|
|
1536
|
+
/**
|
|
1537
|
+
* Flex Basis
|
|
1538
|
+
* @see https://tailwindcss.com/docs/flex-basis
|
|
1539
|
+
*/
|
|
1540
|
+
basis: [{
|
|
1541
|
+
basis: getSpacingWithAutoAndArbitrary()
|
|
1542
|
+
}],
|
|
1543
|
+
/**
|
|
1544
|
+
* Flex Direction
|
|
1545
|
+
* @see https://tailwindcss.com/docs/flex-direction
|
|
1546
|
+
*/
|
|
1547
|
+
"flex-direction": [{
|
|
1548
|
+
flex: ["row", "row-reverse", "col", "col-reverse"]
|
|
1549
|
+
}],
|
|
1550
|
+
/**
|
|
1551
|
+
* Flex Wrap
|
|
1552
|
+
* @see https://tailwindcss.com/docs/flex-wrap
|
|
1553
|
+
*/
|
|
1554
|
+
"flex-wrap": [{
|
|
1555
|
+
flex: ["wrap", "wrap-reverse", "nowrap"]
|
|
1556
|
+
}],
|
|
1557
|
+
/**
|
|
1558
|
+
* Flex
|
|
1559
|
+
* @see https://tailwindcss.com/docs/flex
|
|
1560
|
+
*/
|
|
1561
|
+
flex: [{
|
|
1562
|
+
flex: ["1", "auto", "initial", "none", isArbitraryValue]
|
|
1563
|
+
}],
|
|
1564
|
+
/**
|
|
1565
|
+
* Flex Grow
|
|
1566
|
+
* @see https://tailwindcss.com/docs/flex-grow
|
|
1567
|
+
*/
|
|
1568
|
+
grow: [{
|
|
1569
|
+
grow: getZeroAndEmpty()
|
|
1570
|
+
}],
|
|
1571
|
+
/**
|
|
1572
|
+
* Flex Shrink
|
|
1573
|
+
* @see https://tailwindcss.com/docs/flex-shrink
|
|
1574
|
+
*/
|
|
1575
|
+
shrink: [{
|
|
1576
|
+
shrink: getZeroAndEmpty()
|
|
1577
|
+
}],
|
|
1578
|
+
/**
|
|
1579
|
+
* Order
|
|
1580
|
+
* @see https://tailwindcss.com/docs/order
|
|
1581
|
+
*/
|
|
1582
|
+
order: [{
|
|
1583
|
+
order: ["first", "last", "none", isInteger, isArbitraryValue]
|
|
1584
|
+
}],
|
|
1585
|
+
/**
|
|
1586
|
+
* Grid Template Columns
|
|
1587
|
+
* @see https://tailwindcss.com/docs/grid-template-columns
|
|
1588
|
+
*/
|
|
1589
|
+
"grid-cols": [{
|
|
1590
|
+
"grid-cols": [isAny]
|
|
1591
|
+
}],
|
|
1592
|
+
/**
|
|
1593
|
+
* Grid Column Start / End
|
|
1594
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
1595
|
+
*/
|
|
1596
|
+
"col-start-end": [{
|
|
1597
|
+
col: ["auto", {
|
|
1598
|
+
span: ["full", isInteger, isArbitraryValue]
|
|
1599
|
+
}, isArbitraryValue]
|
|
1600
|
+
}],
|
|
1601
|
+
/**
|
|
1602
|
+
* Grid Column Start
|
|
1603
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
1604
|
+
*/
|
|
1605
|
+
"col-start": [{
|
|
1606
|
+
"col-start": getNumberWithAutoAndArbitrary()
|
|
1607
|
+
}],
|
|
1608
|
+
/**
|
|
1609
|
+
* Grid Column End
|
|
1610
|
+
* @see https://tailwindcss.com/docs/grid-column
|
|
1611
|
+
*/
|
|
1612
|
+
"col-end": [{
|
|
1613
|
+
"col-end": getNumberWithAutoAndArbitrary()
|
|
1614
|
+
}],
|
|
1615
|
+
/**
|
|
1616
|
+
* Grid Template Rows
|
|
1617
|
+
* @see https://tailwindcss.com/docs/grid-template-rows
|
|
1618
|
+
*/
|
|
1619
|
+
"grid-rows": [{
|
|
1620
|
+
"grid-rows": [isAny]
|
|
1621
|
+
}],
|
|
1622
|
+
/**
|
|
1623
|
+
* Grid Row Start / End
|
|
1624
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
1625
|
+
*/
|
|
1626
|
+
"row-start-end": [{
|
|
1627
|
+
row: ["auto", {
|
|
1628
|
+
span: [isInteger, isArbitraryValue]
|
|
1629
|
+
}, isArbitraryValue]
|
|
1630
|
+
}],
|
|
1631
|
+
/**
|
|
1632
|
+
* Grid Row Start
|
|
1633
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
1634
|
+
*/
|
|
1635
|
+
"row-start": [{
|
|
1636
|
+
"row-start": getNumberWithAutoAndArbitrary()
|
|
1637
|
+
}],
|
|
1638
|
+
/**
|
|
1639
|
+
* Grid Row End
|
|
1640
|
+
* @see https://tailwindcss.com/docs/grid-row
|
|
1641
|
+
*/
|
|
1642
|
+
"row-end": [{
|
|
1643
|
+
"row-end": getNumberWithAutoAndArbitrary()
|
|
1644
|
+
}],
|
|
1645
|
+
/**
|
|
1646
|
+
* Grid Auto Flow
|
|
1647
|
+
* @see https://tailwindcss.com/docs/grid-auto-flow
|
|
1648
|
+
*/
|
|
1649
|
+
"grid-flow": [{
|
|
1650
|
+
"grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
|
|
1651
|
+
}],
|
|
1652
|
+
/**
|
|
1653
|
+
* Grid Auto Columns
|
|
1654
|
+
* @see https://tailwindcss.com/docs/grid-auto-columns
|
|
1655
|
+
*/
|
|
1656
|
+
"auto-cols": [{
|
|
1657
|
+
"auto-cols": ["auto", "min", "max", "fr", isArbitraryValue]
|
|
1658
|
+
}],
|
|
1659
|
+
/**
|
|
1660
|
+
* Grid Auto Rows
|
|
1661
|
+
* @see https://tailwindcss.com/docs/grid-auto-rows
|
|
1662
|
+
*/
|
|
1663
|
+
"auto-rows": [{
|
|
1664
|
+
"auto-rows": ["auto", "min", "max", "fr", isArbitraryValue]
|
|
1665
|
+
}],
|
|
1666
|
+
/**
|
|
1667
|
+
* Gap
|
|
1668
|
+
* @see https://tailwindcss.com/docs/gap
|
|
1669
|
+
*/
|
|
1670
|
+
gap: [{
|
|
1671
|
+
gap: [gap]
|
|
1672
|
+
}],
|
|
1673
|
+
/**
|
|
1674
|
+
* Gap X
|
|
1675
|
+
* @see https://tailwindcss.com/docs/gap
|
|
1676
|
+
*/
|
|
1677
|
+
"gap-x": [{
|
|
1678
|
+
"gap-x": [gap]
|
|
1679
|
+
}],
|
|
1680
|
+
/**
|
|
1681
|
+
* Gap Y
|
|
1682
|
+
* @see https://tailwindcss.com/docs/gap
|
|
1683
|
+
*/
|
|
1684
|
+
"gap-y": [{
|
|
1685
|
+
"gap-y": [gap]
|
|
1686
|
+
}],
|
|
1687
|
+
/**
|
|
1688
|
+
* Justify Content
|
|
1689
|
+
* @see https://tailwindcss.com/docs/justify-content
|
|
1690
|
+
*/
|
|
1691
|
+
"justify-content": [{
|
|
1692
|
+
justify: ["normal", ...getAlign()]
|
|
1693
|
+
}],
|
|
1694
|
+
/**
|
|
1695
|
+
* Justify Items
|
|
1696
|
+
* @see https://tailwindcss.com/docs/justify-items
|
|
1697
|
+
*/
|
|
1698
|
+
"justify-items": [{
|
|
1699
|
+
"justify-items": ["start", "end", "center", "stretch"]
|
|
1700
|
+
}],
|
|
1701
|
+
/**
|
|
1702
|
+
* Justify Self
|
|
1703
|
+
* @see https://tailwindcss.com/docs/justify-self
|
|
1704
|
+
*/
|
|
1705
|
+
"justify-self": [{
|
|
1706
|
+
"justify-self": ["auto", "start", "end", "center", "stretch"]
|
|
1707
|
+
}],
|
|
1708
|
+
/**
|
|
1709
|
+
* Align Content
|
|
1710
|
+
* @see https://tailwindcss.com/docs/align-content
|
|
1711
|
+
*/
|
|
1712
|
+
"align-content": [{
|
|
1713
|
+
content: ["normal", ...getAlign(), "baseline"]
|
|
1714
|
+
}],
|
|
1715
|
+
/**
|
|
1716
|
+
* Align Items
|
|
1717
|
+
* @see https://tailwindcss.com/docs/align-items
|
|
1718
|
+
*/
|
|
1719
|
+
"align-items": [{
|
|
1720
|
+
items: ["start", "end", "center", "baseline", "stretch"]
|
|
1721
|
+
}],
|
|
1722
|
+
/**
|
|
1723
|
+
* Align Self
|
|
1724
|
+
* @see https://tailwindcss.com/docs/align-self
|
|
1725
|
+
*/
|
|
1726
|
+
"align-self": [{
|
|
1727
|
+
self: ["auto", "start", "end", "center", "stretch", "baseline"]
|
|
1728
|
+
}],
|
|
1729
|
+
/**
|
|
1730
|
+
* Place Content
|
|
1731
|
+
* @see https://tailwindcss.com/docs/place-content
|
|
1732
|
+
*/
|
|
1733
|
+
"place-content": [{
|
|
1734
|
+
"place-content": [...getAlign(), "baseline"]
|
|
1735
|
+
}],
|
|
1736
|
+
/**
|
|
1737
|
+
* Place Items
|
|
1738
|
+
* @see https://tailwindcss.com/docs/place-items
|
|
1739
|
+
*/
|
|
1740
|
+
"place-items": [{
|
|
1741
|
+
"place-items": ["start", "end", "center", "baseline", "stretch"]
|
|
1742
|
+
}],
|
|
1743
|
+
/**
|
|
1744
|
+
* Place Self
|
|
1745
|
+
* @see https://tailwindcss.com/docs/place-self
|
|
1746
|
+
*/
|
|
1747
|
+
"place-self": [{
|
|
1748
|
+
"place-self": ["auto", "start", "end", "center", "stretch"]
|
|
1749
|
+
}],
|
|
1750
|
+
// Spacing
|
|
1751
|
+
/**
|
|
1752
|
+
* Padding
|
|
1753
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1754
|
+
*/
|
|
1755
|
+
p: [{
|
|
1756
|
+
p: [padding]
|
|
1757
|
+
}],
|
|
1758
|
+
/**
|
|
1759
|
+
* Padding X
|
|
1760
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1761
|
+
*/
|
|
1762
|
+
px: [{
|
|
1763
|
+
px: [padding]
|
|
1764
|
+
}],
|
|
1765
|
+
/**
|
|
1766
|
+
* Padding Y
|
|
1767
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1768
|
+
*/
|
|
1769
|
+
py: [{
|
|
1770
|
+
py: [padding]
|
|
1771
|
+
}],
|
|
1772
|
+
/**
|
|
1773
|
+
* Padding Start
|
|
1774
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1775
|
+
*/
|
|
1776
|
+
ps: [{
|
|
1777
|
+
ps: [padding]
|
|
1778
|
+
}],
|
|
1779
|
+
/**
|
|
1780
|
+
* Padding End
|
|
1781
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1782
|
+
*/
|
|
1783
|
+
pe: [{
|
|
1784
|
+
pe: [padding]
|
|
1785
|
+
}],
|
|
1786
|
+
/**
|
|
1787
|
+
* Padding Top
|
|
1788
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1789
|
+
*/
|
|
1790
|
+
pt: [{
|
|
1791
|
+
pt: [padding]
|
|
1792
|
+
}],
|
|
1793
|
+
/**
|
|
1794
|
+
* Padding Right
|
|
1795
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1796
|
+
*/
|
|
1797
|
+
pr: [{
|
|
1798
|
+
pr: [padding]
|
|
1799
|
+
}],
|
|
1800
|
+
/**
|
|
1801
|
+
* Padding Bottom
|
|
1802
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1803
|
+
*/
|
|
1804
|
+
pb: [{
|
|
1805
|
+
pb: [padding]
|
|
1806
|
+
}],
|
|
1807
|
+
/**
|
|
1808
|
+
* Padding Left
|
|
1809
|
+
* @see https://tailwindcss.com/docs/padding
|
|
1810
|
+
*/
|
|
1811
|
+
pl: [{
|
|
1812
|
+
pl: [padding]
|
|
1813
|
+
}],
|
|
1814
|
+
/**
|
|
1815
|
+
* Margin
|
|
1816
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1817
|
+
*/
|
|
1818
|
+
m: [{
|
|
1819
|
+
m: [margin]
|
|
1820
|
+
}],
|
|
1821
|
+
/**
|
|
1822
|
+
* Margin X
|
|
1823
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1824
|
+
*/
|
|
1825
|
+
mx: [{
|
|
1826
|
+
mx: [margin]
|
|
1827
|
+
}],
|
|
1828
|
+
/**
|
|
1829
|
+
* Margin Y
|
|
1830
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1831
|
+
*/
|
|
1832
|
+
my: [{
|
|
1833
|
+
my: [margin]
|
|
1834
|
+
}],
|
|
1835
|
+
/**
|
|
1836
|
+
* Margin Start
|
|
1837
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1838
|
+
*/
|
|
1839
|
+
ms: [{
|
|
1840
|
+
ms: [margin]
|
|
1841
|
+
}],
|
|
1842
|
+
/**
|
|
1843
|
+
* Margin End
|
|
1844
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1845
|
+
*/
|
|
1846
|
+
me: [{
|
|
1847
|
+
me: [margin]
|
|
1848
|
+
}],
|
|
1849
|
+
/**
|
|
1850
|
+
* Margin Top
|
|
1851
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1852
|
+
*/
|
|
1853
|
+
mt: [{
|
|
1854
|
+
mt: [margin]
|
|
1855
|
+
}],
|
|
1856
|
+
/**
|
|
1857
|
+
* Margin Right
|
|
1858
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1859
|
+
*/
|
|
1860
|
+
mr: [{
|
|
1861
|
+
mr: [margin]
|
|
1862
|
+
}],
|
|
1863
|
+
/**
|
|
1864
|
+
* Margin Bottom
|
|
1865
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1866
|
+
*/
|
|
1867
|
+
mb: [{
|
|
1868
|
+
mb: [margin]
|
|
1869
|
+
}],
|
|
1870
|
+
/**
|
|
1871
|
+
* Margin Left
|
|
1872
|
+
* @see https://tailwindcss.com/docs/margin
|
|
1873
|
+
*/
|
|
1874
|
+
ml: [{
|
|
1875
|
+
ml: [margin]
|
|
1876
|
+
}],
|
|
1877
|
+
/**
|
|
1878
|
+
* Space Between X
|
|
1879
|
+
* @see https://tailwindcss.com/docs/space
|
|
1880
|
+
*/
|
|
1881
|
+
"space-x": [{
|
|
1882
|
+
"space-x": [space]
|
|
1883
|
+
}],
|
|
1884
|
+
/**
|
|
1885
|
+
* Space Between X Reverse
|
|
1886
|
+
* @see https://tailwindcss.com/docs/space
|
|
1887
|
+
*/
|
|
1888
|
+
"space-x-reverse": ["space-x-reverse"],
|
|
1889
|
+
/**
|
|
1890
|
+
* Space Between Y
|
|
1891
|
+
* @see https://tailwindcss.com/docs/space
|
|
1892
|
+
*/
|
|
1893
|
+
"space-y": [{
|
|
1894
|
+
"space-y": [space]
|
|
1895
|
+
}],
|
|
1896
|
+
/**
|
|
1897
|
+
* Space Between Y Reverse
|
|
1898
|
+
* @see https://tailwindcss.com/docs/space
|
|
1899
|
+
*/
|
|
1900
|
+
"space-y-reverse": ["space-y-reverse"],
|
|
1901
|
+
// Sizing
|
|
1902
|
+
/**
|
|
1903
|
+
* Width
|
|
1904
|
+
* @see https://tailwindcss.com/docs/width
|
|
1905
|
+
*/
|
|
1906
|
+
w: [{
|
|
1907
|
+
w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", isArbitraryValue, spacing]
|
|
1908
|
+
}],
|
|
1909
|
+
/**
|
|
1910
|
+
* Min-Width
|
|
1911
|
+
* @see https://tailwindcss.com/docs/min-width
|
|
1912
|
+
*/
|
|
1913
|
+
"min-w": [{
|
|
1914
|
+
"min-w": [isArbitraryValue, spacing, "min", "max", "fit"]
|
|
1915
|
+
}],
|
|
1916
|
+
/**
|
|
1917
|
+
* Max-Width
|
|
1918
|
+
* @see https://tailwindcss.com/docs/max-width
|
|
1919
|
+
*/
|
|
1920
|
+
"max-w": [{
|
|
1921
|
+
"max-w": [isArbitraryValue, spacing, "none", "full", "min", "max", "fit", "prose", {
|
|
1922
|
+
screen: [isTshirtSize]
|
|
1923
|
+
}, isTshirtSize]
|
|
1924
|
+
}],
|
|
1925
|
+
/**
|
|
1926
|
+
* Height
|
|
1927
|
+
* @see https://tailwindcss.com/docs/height
|
|
1928
|
+
*/
|
|
1929
|
+
h: [{
|
|
1930
|
+
h: [isArbitraryValue, spacing, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
1931
|
+
}],
|
|
1932
|
+
/**
|
|
1933
|
+
* Min-Height
|
|
1934
|
+
* @see https://tailwindcss.com/docs/min-height
|
|
1935
|
+
*/
|
|
1936
|
+
"min-h": [{
|
|
1937
|
+
"min-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
1938
|
+
}],
|
|
1939
|
+
/**
|
|
1940
|
+
* Max-Height
|
|
1941
|
+
* @see https://tailwindcss.com/docs/max-height
|
|
1942
|
+
*/
|
|
1943
|
+
"max-h": [{
|
|
1944
|
+
"max-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
|
|
1945
|
+
}],
|
|
1946
|
+
/**
|
|
1947
|
+
* Size
|
|
1948
|
+
* @see https://tailwindcss.com/docs/size
|
|
1949
|
+
*/
|
|
1950
|
+
size: [{
|
|
1951
|
+
size: [isArbitraryValue, spacing, "auto", "min", "max", "fit"]
|
|
1952
|
+
}],
|
|
1953
|
+
// Typography
|
|
1954
|
+
/**
|
|
1955
|
+
* Font Size
|
|
1956
|
+
* @see https://tailwindcss.com/docs/font-size
|
|
1957
|
+
*/
|
|
1958
|
+
"font-size": [{
|
|
1959
|
+
text: ["base", isTshirtSize, isArbitraryLength]
|
|
1960
|
+
}],
|
|
1961
|
+
/**
|
|
1962
|
+
* Font Smoothing
|
|
1963
|
+
* @see https://tailwindcss.com/docs/font-smoothing
|
|
1964
|
+
*/
|
|
1965
|
+
"font-smoothing": ["antialiased", "subpixel-antialiased"],
|
|
1966
|
+
/**
|
|
1967
|
+
* Font Style
|
|
1968
|
+
* @see https://tailwindcss.com/docs/font-style
|
|
1969
|
+
*/
|
|
1970
|
+
"font-style": ["italic", "not-italic"],
|
|
1971
|
+
/**
|
|
1972
|
+
* Font Weight
|
|
1973
|
+
* @see https://tailwindcss.com/docs/font-weight
|
|
1974
|
+
*/
|
|
1975
|
+
"font-weight": [{
|
|
1976
|
+
font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", isArbitraryNumber]
|
|
1977
|
+
}],
|
|
1978
|
+
/**
|
|
1979
|
+
* Font Family
|
|
1980
|
+
* @see https://tailwindcss.com/docs/font-family
|
|
1981
|
+
*/
|
|
1982
|
+
"font-family": [{
|
|
1983
|
+
font: [isAny]
|
|
1984
|
+
}],
|
|
1985
|
+
/**
|
|
1986
|
+
* Font Variant Numeric
|
|
1987
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
1988
|
+
*/
|
|
1989
|
+
"fvn-normal": ["normal-nums"],
|
|
1990
|
+
/**
|
|
1991
|
+
* Font Variant Numeric
|
|
1992
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
1993
|
+
*/
|
|
1994
|
+
"fvn-ordinal": ["ordinal"],
|
|
1995
|
+
/**
|
|
1996
|
+
* Font Variant Numeric
|
|
1997
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
1998
|
+
*/
|
|
1999
|
+
"fvn-slashed-zero": ["slashed-zero"],
|
|
2000
|
+
/**
|
|
2001
|
+
* Font Variant Numeric
|
|
2002
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
2003
|
+
*/
|
|
2004
|
+
"fvn-figure": ["lining-nums", "oldstyle-nums"],
|
|
2005
|
+
/**
|
|
2006
|
+
* Font Variant Numeric
|
|
2007
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
2008
|
+
*/
|
|
2009
|
+
"fvn-spacing": ["proportional-nums", "tabular-nums"],
|
|
2010
|
+
/**
|
|
2011
|
+
* Font Variant Numeric
|
|
2012
|
+
* @see https://tailwindcss.com/docs/font-variant-numeric
|
|
2013
|
+
*/
|
|
2014
|
+
"fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
|
|
2015
|
+
/**
|
|
2016
|
+
* Letter Spacing
|
|
2017
|
+
* @see https://tailwindcss.com/docs/letter-spacing
|
|
2018
|
+
*/
|
|
2019
|
+
tracking: [{
|
|
2020
|
+
tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", isArbitraryValue]
|
|
2021
|
+
}],
|
|
2022
|
+
/**
|
|
2023
|
+
* Line Clamp
|
|
2024
|
+
* @see https://tailwindcss.com/docs/line-clamp
|
|
2025
|
+
*/
|
|
2026
|
+
"line-clamp": [{
|
|
2027
|
+
"line-clamp": ["none", isNumber, isArbitraryNumber]
|
|
2028
|
+
}],
|
|
2029
|
+
/**
|
|
2030
|
+
* Line Height
|
|
2031
|
+
* @see https://tailwindcss.com/docs/line-height
|
|
2032
|
+
*/
|
|
2033
|
+
leading: [{
|
|
2034
|
+
leading: ["none", "tight", "snug", "normal", "relaxed", "loose", isLength, isArbitraryValue]
|
|
2035
|
+
}],
|
|
2036
|
+
/**
|
|
2037
|
+
* List Style Image
|
|
2038
|
+
* @see https://tailwindcss.com/docs/list-style-image
|
|
2039
|
+
*/
|
|
2040
|
+
"list-image": [{
|
|
2041
|
+
"list-image": ["none", isArbitraryValue]
|
|
2042
|
+
}],
|
|
2043
|
+
/**
|
|
2044
|
+
* List Style Type
|
|
2045
|
+
* @see https://tailwindcss.com/docs/list-style-type
|
|
2046
|
+
*/
|
|
2047
|
+
"list-style-type": [{
|
|
2048
|
+
list: ["none", "disc", "decimal", isArbitraryValue]
|
|
2049
|
+
}],
|
|
2050
|
+
/**
|
|
2051
|
+
* List Style Position
|
|
2052
|
+
* @see https://tailwindcss.com/docs/list-style-position
|
|
2053
|
+
*/
|
|
2054
|
+
"list-style-position": [{
|
|
2055
|
+
list: ["inside", "outside"]
|
|
2056
|
+
}],
|
|
2057
|
+
/**
|
|
2058
|
+
* Placeholder Color
|
|
2059
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
2060
|
+
* @see https://tailwindcss.com/docs/placeholder-color
|
|
2061
|
+
*/
|
|
2062
|
+
"placeholder-color": [{
|
|
2063
|
+
placeholder: [colors]
|
|
2064
|
+
}],
|
|
2065
|
+
/**
|
|
2066
|
+
* Placeholder Opacity
|
|
2067
|
+
* @see https://tailwindcss.com/docs/placeholder-opacity
|
|
2068
|
+
*/
|
|
2069
|
+
"placeholder-opacity": [{
|
|
2070
|
+
"placeholder-opacity": [opacity]
|
|
2071
|
+
}],
|
|
2072
|
+
/**
|
|
2073
|
+
* Text Alignment
|
|
2074
|
+
* @see https://tailwindcss.com/docs/text-align
|
|
2075
|
+
*/
|
|
2076
|
+
"text-alignment": [{
|
|
2077
|
+
text: ["left", "center", "right", "justify", "start", "end"]
|
|
2078
|
+
}],
|
|
2079
|
+
/**
|
|
2080
|
+
* Text Color
|
|
2081
|
+
* @see https://tailwindcss.com/docs/text-color
|
|
2082
|
+
*/
|
|
2083
|
+
"text-color": [{
|
|
2084
|
+
text: [colors]
|
|
2085
|
+
}],
|
|
2086
|
+
/**
|
|
2087
|
+
* Text Opacity
|
|
2088
|
+
* @see https://tailwindcss.com/docs/text-opacity
|
|
2089
|
+
*/
|
|
2090
|
+
"text-opacity": [{
|
|
2091
|
+
"text-opacity": [opacity]
|
|
2092
|
+
}],
|
|
2093
|
+
/**
|
|
2094
|
+
* Text Decoration
|
|
2095
|
+
* @see https://tailwindcss.com/docs/text-decoration
|
|
2096
|
+
*/
|
|
2097
|
+
"text-decoration": ["underline", "overline", "line-through", "no-underline"],
|
|
2098
|
+
/**
|
|
2099
|
+
* Text Decoration Style
|
|
2100
|
+
* @see https://tailwindcss.com/docs/text-decoration-style
|
|
2101
|
+
*/
|
|
2102
|
+
"text-decoration-style": [{
|
|
2103
|
+
decoration: [...getLineStyles(), "wavy"]
|
|
2104
|
+
}],
|
|
2105
|
+
/**
|
|
2106
|
+
* Text Decoration Thickness
|
|
2107
|
+
* @see https://tailwindcss.com/docs/text-decoration-thickness
|
|
2108
|
+
*/
|
|
2109
|
+
"text-decoration-thickness": [{
|
|
2110
|
+
decoration: ["auto", "from-font", isLength, isArbitraryLength]
|
|
2111
|
+
}],
|
|
2112
|
+
/**
|
|
2113
|
+
* Text Underline Offset
|
|
2114
|
+
* @see https://tailwindcss.com/docs/text-underline-offset
|
|
2115
|
+
*/
|
|
2116
|
+
"underline-offset": [{
|
|
2117
|
+
"underline-offset": ["auto", isLength, isArbitraryValue]
|
|
2118
|
+
}],
|
|
2119
|
+
/**
|
|
2120
|
+
* Text Decoration Color
|
|
2121
|
+
* @see https://tailwindcss.com/docs/text-decoration-color
|
|
2122
|
+
*/
|
|
2123
|
+
"text-decoration-color": [{
|
|
2124
|
+
decoration: [colors]
|
|
2125
|
+
}],
|
|
2126
|
+
/**
|
|
2127
|
+
* Text Transform
|
|
2128
|
+
* @see https://tailwindcss.com/docs/text-transform
|
|
2129
|
+
*/
|
|
2130
|
+
"text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
|
|
2131
|
+
/**
|
|
2132
|
+
* Text Overflow
|
|
2133
|
+
* @see https://tailwindcss.com/docs/text-overflow
|
|
2134
|
+
*/
|
|
2135
|
+
"text-overflow": ["truncate", "text-ellipsis", "text-clip"],
|
|
2136
|
+
/**
|
|
2137
|
+
* Text Wrap
|
|
2138
|
+
* @see https://tailwindcss.com/docs/text-wrap
|
|
2139
|
+
*/
|
|
2140
|
+
"text-wrap": [{
|
|
2141
|
+
text: ["wrap", "nowrap", "balance", "pretty"]
|
|
2142
|
+
}],
|
|
2143
|
+
/**
|
|
2144
|
+
* Text Indent
|
|
2145
|
+
* @see https://tailwindcss.com/docs/text-indent
|
|
2146
|
+
*/
|
|
2147
|
+
indent: [{
|
|
2148
|
+
indent: getSpacingWithArbitrary()
|
|
2149
|
+
}],
|
|
2150
|
+
/**
|
|
2151
|
+
* Vertical Alignment
|
|
2152
|
+
* @see https://tailwindcss.com/docs/vertical-align
|
|
2153
|
+
*/
|
|
2154
|
+
"vertical-align": [{
|
|
2155
|
+
align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryValue]
|
|
2156
|
+
}],
|
|
2157
|
+
/**
|
|
2158
|
+
* Whitespace
|
|
2159
|
+
* @see https://tailwindcss.com/docs/whitespace
|
|
2160
|
+
*/
|
|
2161
|
+
whitespace: [{
|
|
2162
|
+
whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
|
|
2163
|
+
}],
|
|
2164
|
+
/**
|
|
2165
|
+
* Word Break
|
|
2166
|
+
* @see https://tailwindcss.com/docs/word-break
|
|
2167
|
+
*/
|
|
2168
|
+
break: [{
|
|
2169
|
+
break: ["normal", "words", "all", "keep"]
|
|
2170
|
+
}],
|
|
2171
|
+
/**
|
|
2172
|
+
* Hyphens
|
|
2173
|
+
* @see https://tailwindcss.com/docs/hyphens
|
|
2174
|
+
*/
|
|
2175
|
+
hyphens: [{
|
|
2176
|
+
hyphens: ["none", "manual", "auto"]
|
|
2177
|
+
}],
|
|
2178
|
+
/**
|
|
2179
|
+
* Content
|
|
2180
|
+
* @see https://tailwindcss.com/docs/content
|
|
2181
|
+
*/
|
|
2182
|
+
content: [{
|
|
2183
|
+
content: ["none", isArbitraryValue]
|
|
2184
|
+
}],
|
|
2185
|
+
// Backgrounds
|
|
2186
|
+
/**
|
|
2187
|
+
* Background Attachment
|
|
2188
|
+
* @see https://tailwindcss.com/docs/background-attachment
|
|
2189
|
+
*/
|
|
2190
|
+
"bg-attachment": [{
|
|
2191
|
+
bg: ["fixed", "local", "scroll"]
|
|
2192
|
+
}],
|
|
2193
|
+
/**
|
|
2194
|
+
* Background Clip
|
|
2195
|
+
* @see https://tailwindcss.com/docs/background-clip
|
|
2196
|
+
*/
|
|
2197
|
+
"bg-clip": [{
|
|
2198
|
+
"bg-clip": ["border", "padding", "content", "text"]
|
|
2199
|
+
}],
|
|
2200
|
+
/**
|
|
2201
|
+
* Background Opacity
|
|
2202
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
2203
|
+
* @see https://tailwindcss.com/docs/background-opacity
|
|
2204
|
+
*/
|
|
2205
|
+
"bg-opacity": [{
|
|
2206
|
+
"bg-opacity": [opacity]
|
|
2207
|
+
}],
|
|
2208
|
+
/**
|
|
2209
|
+
* Background Origin
|
|
2210
|
+
* @see https://tailwindcss.com/docs/background-origin
|
|
2211
|
+
*/
|
|
2212
|
+
"bg-origin": [{
|
|
2213
|
+
"bg-origin": ["border", "padding", "content"]
|
|
2214
|
+
}],
|
|
2215
|
+
/**
|
|
2216
|
+
* Background Position
|
|
2217
|
+
* @see https://tailwindcss.com/docs/background-position
|
|
2218
|
+
*/
|
|
2219
|
+
"bg-position": [{
|
|
2220
|
+
bg: [...getPositions(), isArbitraryPosition]
|
|
2221
|
+
}],
|
|
2222
|
+
/**
|
|
2223
|
+
* Background Repeat
|
|
2224
|
+
* @see https://tailwindcss.com/docs/background-repeat
|
|
2225
|
+
*/
|
|
2226
|
+
"bg-repeat": [{
|
|
2227
|
+
bg: ["no-repeat", {
|
|
2228
|
+
repeat: ["", "x", "y", "round", "space"]
|
|
2229
|
+
}]
|
|
2230
|
+
}],
|
|
2231
|
+
/**
|
|
2232
|
+
* Background Size
|
|
2233
|
+
* @see https://tailwindcss.com/docs/background-size
|
|
2234
|
+
*/
|
|
2235
|
+
"bg-size": [{
|
|
2236
|
+
bg: ["auto", "cover", "contain", isArbitrarySize]
|
|
2237
|
+
}],
|
|
2238
|
+
/**
|
|
2239
|
+
* Background Image
|
|
2240
|
+
* @see https://tailwindcss.com/docs/background-image
|
|
2241
|
+
*/
|
|
2242
|
+
"bg-image": [{
|
|
2243
|
+
bg: ["none", {
|
|
2244
|
+
"gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
|
|
2245
|
+
}, isArbitraryImage]
|
|
2246
|
+
}],
|
|
2247
|
+
/**
|
|
2248
|
+
* Background Color
|
|
2249
|
+
* @see https://tailwindcss.com/docs/background-color
|
|
2250
|
+
*/
|
|
2251
|
+
"bg-color": [{
|
|
2252
|
+
bg: [colors]
|
|
2253
|
+
}],
|
|
2254
|
+
/**
|
|
2255
|
+
* Gradient Color Stops From Position
|
|
2256
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2257
|
+
*/
|
|
2258
|
+
"gradient-from-pos": [{
|
|
2259
|
+
from: [gradientColorStopPositions]
|
|
2260
|
+
}],
|
|
2261
|
+
/**
|
|
2262
|
+
* Gradient Color Stops Via Position
|
|
2263
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2264
|
+
*/
|
|
2265
|
+
"gradient-via-pos": [{
|
|
2266
|
+
via: [gradientColorStopPositions]
|
|
2267
|
+
}],
|
|
2268
|
+
/**
|
|
2269
|
+
* Gradient Color Stops To Position
|
|
2270
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2271
|
+
*/
|
|
2272
|
+
"gradient-to-pos": [{
|
|
2273
|
+
to: [gradientColorStopPositions]
|
|
2274
|
+
}],
|
|
2275
|
+
/**
|
|
2276
|
+
* Gradient Color Stops From
|
|
2277
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2278
|
+
*/
|
|
2279
|
+
"gradient-from": [{
|
|
2280
|
+
from: [gradientColorStops]
|
|
2281
|
+
}],
|
|
2282
|
+
/**
|
|
2283
|
+
* Gradient Color Stops Via
|
|
2284
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2285
|
+
*/
|
|
2286
|
+
"gradient-via": [{
|
|
2287
|
+
via: [gradientColorStops]
|
|
2288
|
+
}],
|
|
2289
|
+
/**
|
|
2290
|
+
* Gradient Color Stops To
|
|
2291
|
+
* @see https://tailwindcss.com/docs/gradient-color-stops
|
|
2292
|
+
*/
|
|
2293
|
+
"gradient-to": [{
|
|
2294
|
+
to: [gradientColorStops]
|
|
2295
|
+
}],
|
|
2296
|
+
// Borders
|
|
2297
|
+
/**
|
|
2298
|
+
* Border Radius
|
|
2299
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2300
|
+
*/
|
|
2301
|
+
rounded: [{
|
|
2302
|
+
rounded: [borderRadius]
|
|
2303
|
+
}],
|
|
2304
|
+
/**
|
|
2305
|
+
* Border Radius Start
|
|
2306
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2307
|
+
*/
|
|
2308
|
+
"rounded-s": [{
|
|
2309
|
+
"rounded-s": [borderRadius]
|
|
2310
|
+
}],
|
|
2311
|
+
/**
|
|
2312
|
+
* Border Radius End
|
|
2313
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2314
|
+
*/
|
|
2315
|
+
"rounded-e": [{
|
|
2316
|
+
"rounded-e": [borderRadius]
|
|
2317
|
+
}],
|
|
2318
|
+
/**
|
|
2319
|
+
* Border Radius Top
|
|
2320
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2321
|
+
*/
|
|
2322
|
+
"rounded-t": [{
|
|
2323
|
+
"rounded-t": [borderRadius]
|
|
2324
|
+
}],
|
|
2325
|
+
/**
|
|
2326
|
+
* Border Radius Right
|
|
2327
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2328
|
+
*/
|
|
2329
|
+
"rounded-r": [{
|
|
2330
|
+
"rounded-r": [borderRadius]
|
|
2331
|
+
}],
|
|
2332
|
+
/**
|
|
2333
|
+
* Border Radius Bottom
|
|
2334
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2335
|
+
*/
|
|
2336
|
+
"rounded-b": [{
|
|
2337
|
+
"rounded-b": [borderRadius]
|
|
2338
|
+
}],
|
|
2339
|
+
/**
|
|
2340
|
+
* Border Radius Left
|
|
2341
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2342
|
+
*/
|
|
2343
|
+
"rounded-l": [{
|
|
2344
|
+
"rounded-l": [borderRadius]
|
|
2345
|
+
}],
|
|
2346
|
+
/**
|
|
2347
|
+
* Border Radius Start Start
|
|
2348
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2349
|
+
*/
|
|
2350
|
+
"rounded-ss": [{
|
|
2351
|
+
"rounded-ss": [borderRadius]
|
|
2352
|
+
}],
|
|
2353
|
+
/**
|
|
2354
|
+
* Border Radius Start End
|
|
2355
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2356
|
+
*/
|
|
2357
|
+
"rounded-se": [{
|
|
2358
|
+
"rounded-se": [borderRadius]
|
|
2359
|
+
}],
|
|
2360
|
+
/**
|
|
2361
|
+
* Border Radius End End
|
|
2362
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2363
|
+
*/
|
|
2364
|
+
"rounded-ee": [{
|
|
2365
|
+
"rounded-ee": [borderRadius]
|
|
2366
|
+
}],
|
|
2367
|
+
/**
|
|
2368
|
+
* Border Radius End Start
|
|
2369
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2370
|
+
*/
|
|
2371
|
+
"rounded-es": [{
|
|
2372
|
+
"rounded-es": [borderRadius]
|
|
2373
|
+
}],
|
|
2374
|
+
/**
|
|
2375
|
+
* Border Radius Top Left
|
|
2376
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2377
|
+
*/
|
|
2378
|
+
"rounded-tl": [{
|
|
2379
|
+
"rounded-tl": [borderRadius]
|
|
2380
|
+
}],
|
|
2381
|
+
/**
|
|
2382
|
+
* Border Radius Top Right
|
|
2383
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2384
|
+
*/
|
|
2385
|
+
"rounded-tr": [{
|
|
2386
|
+
"rounded-tr": [borderRadius]
|
|
2387
|
+
}],
|
|
2388
|
+
/**
|
|
2389
|
+
* Border Radius Bottom Right
|
|
2390
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2391
|
+
*/
|
|
2392
|
+
"rounded-br": [{
|
|
2393
|
+
"rounded-br": [borderRadius]
|
|
2394
|
+
}],
|
|
2395
|
+
/**
|
|
2396
|
+
* Border Radius Bottom Left
|
|
2397
|
+
* @see https://tailwindcss.com/docs/border-radius
|
|
2398
|
+
*/
|
|
2399
|
+
"rounded-bl": [{
|
|
2400
|
+
"rounded-bl": [borderRadius]
|
|
2401
|
+
}],
|
|
2402
|
+
/**
|
|
2403
|
+
* Border Width
|
|
2404
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2405
|
+
*/
|
|
2406
|
+
"border-w": [{
|
|
2407
|
+
border: [borderWidth]
|
|
2408
|
+
}],
|
|
2409
|
+
/**
|
|
2410
|
+
* Border Width X
|
|
2411
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2412
|
+
*/
|
|
2413
|
+
"border-w-x": [{
|
|
2414
|
+
"border-x": [borderWidth]
|
|
2415
|
+
}],
|
|
2416
|
+
/**
|
|
2417
|
+
* Border Width Y
|
|
2418
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2419
|
+
*/
|
|
2420
|
+
"border-w-y": [{
|
|
2421
|
+
"border-y": [borderWidth]
|
|
2422
|
+
}],
|
|
2423
|
+
/**
|
|
2424
|
+
* Border Width Start
|
|
2425
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2426
|
+
*/
|
|
2427
|
+
"border-w-s": [{
|
|
2428
|
+
"border-s": [borderWidth]
|
|
2429
|
+
}],
|
|
2430
|
+
/**
|
|
2431
|
+
* Border Width End
|
|
2432
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2433
|
+
*/
|
|
2434
|
+
"border-w-e": [{
|
|
2435
|
+
"border-e": [borderWidth]
|
|
2436
|
+
}],
|
|
2437
|
+
/**
|
|
2438
|
+
* Border Width Top
|
|
2439
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2440
|
+
*/
|
|
2441
|
+
"border-w-t": [{
|
|
2442
|
+
"border-t": [borderWidth]
|
|
2443
|
+
}],
|
|
2444
|
+
/**
|
|
2445
|
+
* Border Width Right
|
|
2446
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2447
|
+
*/
|
|
2448
|
+
"border-w-r": [{
|
|
2449
|
+
"border-r": [borderWidth]
|
|
2450
|
+
}],
|
|
2451
|
+
/**
|
|
2452
|
+
* Border Width Bottom
|
|
2453
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2454
|
+
*/
|
|
2455
|
+
"border-w-b": [{
|
|
2456
|
+
"border-b": [borderWidth]
|
|
2457
|
+
}],
|
|
2458
|
+
/**
|
|
2459
|
+
* Border Width Left
|
|
2460
|
+
* @see https://tailwindcss.com/docs/border-width
|
|
2461
|
+
*/
|
|
2462
|
+
"border-w-l": [{
|
|
2463
|
+
"border-l": [borderWidth]
|
|
2464
|
+
}],
|
|
2465
|
+
/**
|
|
2466
|
+
* Border Opacity
|
|
2467
|
+
* @see https://tailwindcss.com/docs/border-opacity
|
|
2468
|
+
*/
|
|
2469
|
+
"border-opacity": [{
|
|
2470
|
+
"border-opacity": [opacity]
|
|
2471
|
+
}],
|
|
2472
|
+
/**
|
|
2473
|
+
* Border Style
|
|
2474
|
+
* @see https://tailwindcss.com/docs/border-style
|
|
2475
|
+
*/
|
|
2476
|
+
"border-style": [{
|
|
2477
|
+
border: [...getLineStyles(), "hidden"]
|
|
2478
|
+
}],
|
|
2479
|
+
/**
|
|
2480
|
+
* Divide Width X
|
|
2481
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
2482
|
+
*/
|
|
2483
|
+
"divide-x": [{
|
|
2484
|
+
"divide-x": [borderWidth]
|
|
2485
|
+
}],
|
|
2486
|
+
/**
|
|
2487
|
+
* Divide Width X Reverse
|
|
2488
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
2489
|
+
*/
|
|
2490
|
+
"divide-x-reverse": ["divide-x-reverse"],
|
|
2491
|
+
/**
|
|
2492
|
+
* Divide Width Y
|
|
2493
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
2494
|
+
*/
|
|
2495
|
+
"divide-y": [{
|
|
2496
|
+
"divide-y": [borderWidth]
|
|
2497
|
+
}],
|
|
2498
|
+
/**
|
|
2499
|
+
* Divide Width Y Reverse
|
|
2500
|
+
* @see https://tailwindcss.com/docs/divide-width
|
|
2501
|
+
*/
|
|
2502
|
+
"divide-y-reverse": ["divide-y-reverse"],
|
|
2503
|
+
/**
|
|
2504
|
+
* Divide Opacity
|
|
2505
|
+
* @see https://tailwindcss.com/docs/divide-opacity
|
|
2506
|
+
*/
|
|
2507
|
+
"divide-opacity": [{
|
|
2508
|
+
"divide-opacity": [opacity]
|
|
2509
|
+
}],
|
|
2510
|
+
/**
|
|
2511
|
+
* Divide Style
|
|
2512
|
+
* @see https://tailwindcss.com/docs/divide-style
|
|
2513
|
+
*/
|
|
2514
|
+
"divide-style": [{
|
|
2515
|
+
divide: getLineStyles()
|
|
2516
|
+
}],
|
|
2517
|
+
/**
|
|
2518
|
+
* Border Color
|
|
2519
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2520
|
+
*/
|
|
2521
|
+
"border-color": [{
|
|
2522
|
+
border: [borderColor]
|
|
2523
|
+
}],
|
|
2524
|
+
/**
|
|
2525
|
+
* Border Color X
|
|
2526
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2527
|
+
*/
|
|
2528
|
+
"border-color-x": [{
|
|
2529
|
+
"border-x": [borderColor]
|
|
2530
|
+
}],
|
|
2531
|
+
/**
|
|
2532
|
+
* Border Color Y
|
|
2533
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2534
|
+
*/
|
|
2535
|
+
"border-color-y": [{
|
|
2536
|
+
"border-y": [borderColor]
|
|
2537
|
+
}],
|
|
2538
|
+
/**
|
|
2539
|
+
* Border Color S
|
|
2540
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2541
|
+
*/
|
|
2542
|
+
"border-color-s": [{
|
|
2543
|
+
"border-s": [borderColor]
|
|
2544
|
+
}],
|
|
2545
|
+
/**
|
|
2546
|
+
* Border Color E
|
|
2547
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2548
|
+
*/
|
|
2549
|
+
"border-color-e": [{
|
|
2550
|
+
"border-e": [borderColor]
|
|
2551
|
+
}],
|
|
2552
|
+
/**
|
|
2553
|
+
* Border Color Top
|
|
2554
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2555
|
+
*/
|
|
2556
|
+
"border-color-t": [{
|
|
2557
|
+
"border-t": [borderColor]
|
|
2558
|
+
}],
|
|
2559
|
+
/**
|
|
2560
|
+
* Border Color Right
|
|
2561
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2562
|
+
*/
|
|
2563
|
+
"border-color-r": [{
|
|
2564
|
+
"border-r": [borderColor]
|
|
2565
|
+
}],
|
|
2566
|
+
/**
|
|
2567
|
+
* Border Color Bottom
|
|
2568
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2569
|
+
*/
|
|
2570
|
+
"border-color-b": [{
|
|
2571
|
+
"border-b": [borderColor]
|
|
2572
|
+
}],
|
|
2573
|
+
/**
|
|
2574
|
+
* Border Color Left
|
|
2575
|
+
* @see https://tailwindcss.com/docs/border-color
|
|
2576
|
+
*/
|
|
2577
|
+
"border-color-l": [{
|
|
2578
|
+
"border-l": [borderColor]
|
|
2579
|
+
}],
|
|
2580
|
+
/**
|
|
2581
|
+
* Divide Color
|
|
2582
|
+
* @see https://tailwindcss.com/docs/divide-color
|
|
2583
|
+
*/
|
|
2584
|
+
"divide-color": [{
|
|
2585
|
+
divide: [borderColor]
|
|
2586
|
+
}],
|
|
2587
|
+
/**
|
|
2588
|
+
* Outline Style
|
|
2589
|
+
* @see https://tailwindcss.com/docs/outline-style
|
|
2590
|
+
*/
|
|
2591
|
+
"outline-style": [{
|
|
2592
|
+
outline: ["", ...getLineStyles()]
|
|
2593
|
+
}],
|
|
2594
|
+
/**
|
|
2595
|
+
* Outline Offset
|
|
2596
|
+
* @see https://tailwindcss.com/docs/outline-offset
|
|
2597
|
+
*/
|
|
2598
|
+
"outline-offset": [{
|
|
2599
|
+
"outline-offset": [isLength, isArbitraryValue]
|
|
2600
|
+
}],
|
|
2601
|
+
/**
|
|
2602
|
+
* Outline Width
|
|
2603
|
+
* @see https://tailwindcss.com/docs/outline-width
|
|
2604
|
+
*/
|
|
2605
|
+
"outline-w": [{
|
|
2606
|
+
outline: [isLength, isArbitraryLength]
|
|
2607
|
+
}],
|
|
2608
|
+
/**
|
|
2609
|
+
* Outline Color
|
|
2610
|
+
* @see https://tailwindcss.com/docs/outline-color
|
|
2611
|
+
*/
|
|
2612
|
+
"outline-color": [{
|
|
2613
|
+
outline: [colors]
|
|
2614
|
+
}],
|
|
2615
|
+
/**
|
|
2616
|
+
* Ring Width
|
|
2617
|
+
* @see https://tailwindcss.com/docs/ring-width
|
|
2618
|
+
*/
|
|
2619
|
+
"ring-w": [{
|
|
2620
|
+
ring: getLengthWithEmptyAndArbitrary()
|
|
2621
|
+
}],
|
|
2622
|
+
/**
|
|
2623
|
+
* Ring Width Inset
|
|
2624
|
+
* @see https://tailwindcss.com/docs/ring-width
|
|
2625
|
+
*/
|
|
2626
|
+
"ring-w-inset": ["ring-inset"],
|
|
2627
|
+
/**
|
|
2628
|
+
* Ring Color
|
|
2629
|
+
* @see https://tailwindcss.com/docs/ring-color
|
|
2630
|
+
*/
|
|
2631
|
+
"ring-color": [{
|
|
2632
|
+
ring: [colors]
|
|
2633
|
+
}],
|
|
2634
|
+
/**
|
|
2635
|
+
* Ring Opacity
|
|
2636
|
+
* @see https://tailwindcss.com/docs/ring-opacity
|
|
2637
|
+
*/
|
|
2638
|
+
"ring-opacity": [{
|
|
2639
|
+
"ring-opacity": [opacity]
|
|
2640
|
+
}],
|
|
2641
|
+
/**
|
|
2642
|
+
* Ring Offset Width
|
|
2643
|
+
* @see https://tailwindcss.com/docs/ring-offset-width
|
|
2644
|
+
*/
|
|
2645
|
+
"ring-offset-w": [{
|
|
2646
|
+
"ring-offset": [isLength, isArbitraryLength]
|
|
2647
|
+
}],
|
|
2648
|
+
/**
|
|
2649
|
+
* Ring Offset Color
|
|
2650
|
+
* @see https://tailwindcss.com/docs/ring-offset-color
|
|
2651
|
+
*/
|
|
2652
|
+
"ring-offset-color": [{
|
|
2653
|
+
"ring-offset": [colors]
|
|
2654
|
+
}],
|
|
2655
|
+
// Effects
|
|
2656
|
+
/**
|
|
2657
|
+
* Box Shadow
|
|
2658
|
+
* @see https://tailwindcss.com/docs/box-shadow
|
|
2659
|
+
*/
|
|
2660
|
+
shadow: [{
|
|
2661
|
+
shadow: ["", "inner", "none", isTshirtSize, isArbitraryShadow]
|
|
2662
|
+
}],
|
|
2663
|
+
/**
|
|
2664
|
+
* Box Shadow Color
|
|
2665
|
+
* @see https://tailwindcss.com/docs/box-shadow-color
|
|
2666
|
+
*/
|
|
2667
|
+
"shadow-color": [{
|
|
2668
|
+
shadow: [isAny]
|
|
2669
|
+
}],
|
|
2670
|
+
/**
|
|
2671
|
+
* Opacity
|
|
2672
|
+
* @see https://tailwindcss.com/docs/opacity
|
|
2673
|
+
*/
|
|
2674
|
+
opacity: [{
|
|
2675
|
+
opacity: [opacity]
|
|
2676
|
+
}],
|
|
2677
|
+
/**
|
|
2678
|
+
* Mix Blend Mode
|
|
2679
|
+
* @see https://tailwindcss.com/docs/mix-blend-mode
|
|
2680
|
+
*/
|
|
2681
|
+
"mix-blend": [{
|
|
2682
|
+
"mix-blend": [...getBlendModes(), "plus-lighter", "plus-darker"]
|
|
2683
|
+
}],
|
|
2684
|
+
/**
|
|
2685
|
+
* Background Blend Mode
|
|
2686
|
+
* @see https://tailwindcss.com/docs/background-blend-mode
|
|
2687
|
+
*/
|
|
2688
|
+
"bg-blend": [{
|
|
2689
|
+
"bg-blend": getBlendModes()
|
|
2690
|
+
}],
|
|
2691
|
+
// Filters
|
|
2692
|
+
/**
|
|
2693
|
+
* Filter
|
|
2694
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
2695
|
+
* @see https://tailwindcss.com/docs/filter
|
|
2696
|
+
*/
|
|
2697
|
+
filter: [{
|
|
2698
|
+
filter: ["", "none"]
|
|
2699
|
+
}],
|
|
2700
|
+
/**
|
|
2701
|
+
* Blur
|
|
2702
|
+
* @see https://tailwindcss.com/docs/blur
|
|
2703
|
+
*/
|
|
2704
|
+
blur: [{
|
|
2705
|
+
blur: [blur]
|
|
2706
|
+
}],
|
|
2707
|
+
/**
|
|
2708
|
+
* Brightness
|
|
2709
|
+
* @see https://tailwindcss.com/docs/brightness
|
|
2710
|
+
*/
|
|
2711
|
+
brightness: [{
|
|
2712
|
+
brightness: [brightness]
|
|
2713
|
+
}],
|
|
2714
|
+
/**
|
|
2715
|
+
* Contrast
|
|
2716
|
+
* @see https://tailwindcss.com/docs/contrast
|
|
2717
|
+
*/
|
|
2718
|
+
contrast: [{
|
|
2719
|
+
contrast: [contrast]
|
|
2720
|
+
}],
|
|
2721
|
+
/**
|
|
2722
|
+
* Drop Shadow
|
|
2723
|
+
* @see https://tailwindcss.com/docs/drop-shadow
|
|
2724
|
+
*/
|
|
2725
|
+
"drop-shadow": [{
|
|
2726
|
+
"drop-shadow": ["", "none", isTshirtSize, isArbitraryValue]
|
|
2727
|
+
}],
|
|
2728
|
+
/**
|
|
2729
|
+
* Grayscale
|
|
2730
|
+
* @see https://tailwindcss.com/docs/grayscale
|
|
2731
|
+
*/
|
|
2732
|
+
grayscale: [{
|
|
2733
|
+
grayscale: [grayscale]
|
|
2734
|
+
}],
|
|
2735
|
+
/**
|
|
2736
|
+
* Hue Rotate
|
|
2737
|
+
* @see https://tailwindcss.com/docs/hue-rotate
|
|
2738
|
+
*/
|
|
2739
|
+
"hue-rotate": [{
|
|
2740
|
+
"hue-rotate": [hueRotate]
|
|
2741
|
+
}],
|
|
2742
|
+
/**
|
|
2743
|
+
* Invert
|
|
2744
|
+
* @see https://tailwindcss.com/docs/invert
|
|
2745
|
+
*/
|
|
2746
|
+
invert: [{
|
|
2747
|
+
invert: [invert]
|
|
2748
|
+
}],
|
|
2749
|
+
/**
|
|
2750
|
+
* Saturate
|
|
2751
|
+
* @see https://tailwindcss.com/docs/saturate
|
|
2752
|
+
*/
|
|
2753
|
+
saturate: [{
|
|
2754
|
+
saturate: [saturate]
|
|
2755
|
+
}],
|
|
2756
|
+
/**
|
|
2757
|
+
* Sepia
|
|
2758
|
+
* @see https://tailwindcss.com/docs/sepia
|
|
2759
|
+
*/
|
|
2760
|
+
sepia: [{
|
|
2761
|
+
sepia: [sepia]
|
|
2762
|
+
}],
|
|
2763
|
+
/**
|
|
2764
|
+
* Backdrop Filter
|
|
2765
|
+
* @deprecated since Tailwind CSS v3.0.0
|
|
2766
|
+
* @see https://tailwindcss.com/docs/backdrop-filter
|
|
2767
|
+
*/
|
|
2768
|
+
"backdrop-filter": [{
|
|
2769
|
+
"backdrop-filter": ["", "none"]
|
|
2770
|
+
}],
|
|
2771
|
+
/**
|
|
2772
|
+
* Backdrop Blur
|
|
2773
|
+
* @see https://tailwindcss.com/docs/backdrop-blur
|
|
2774
|
+
*/
|
|
2775
|
+
"backdrop-blur": [{
|
|
2776
|
+
"backdrop-blur": [blur]
|
|
2777
|
+
}],
|
|
2778
|
+
/**
|
|
2779
|
+
* Backdrop Brightness
|
|
2780
|
+
* @see https://tailwindcss.com/docs/backdrop-brightness
|
|
2781
|
+
*/
|
|
2782
|
+
"backdrop-brightness": [{
|
|
2783
|
+
"backdrop-brightness": [brightness]
|
|
2784
|
+
}],
|
|
2785
|
+
/**
|
|
2786
|
+
* Backdrop Contrast
|
|
2787
|
+
* @see https://tailwindcss.com/docs/backdrop-contrast
|
|
2788
|
+
*/
|
|
2789
|
+
"backdrop-contrast": [{
|
|
2790
|
+
"backdrop-contrast": [contrast]
|
|
2791
|
+
}],
|
|
2792
|
+
/**
|
|
2793
|
+
* Backdrop Grayscale
|
|
2794
|
+
* @see https://tailwindcss.com/docs/backdrop-grayscale
|
|
2795
|
+
*/
|
|
2796
|
+
"backdrop-grayscale": [{
|
|
2797
|
+
"backdrop-grayscale": [grayscale]
|
|
2798
|
+
}],
|
|
2799
|
+
/**
|
|
2800
|
+
* Backdrop Hue Rotate
|
|
2801
|
+
* @see https://tailwindcss.com/docs/backdrop-hue-rotate
|
|
2802
|
+
*/
|
|
2803
|
+
"backdrop-hue-rotate": [{
|
|
2804
|
+
"backdrop-hue-rotate": [hueRotate]
|
|
2805
|
+
}],
|
|
2806
|
+
/**
|
|
2807
|
+
* Backdrop Invert
|
|
2808
|
+
* @see https://tailwindcss.com/docs/backdrop-invert
|
|
2809
|
+
*/
|
|
2810
|
+
"backdrop-invert": [{
|
|
2811
|
+
"backdrop-invert": [invert]
|
|
2812
|
+
}],
|
|
2813
|
+
/**
|
|
2814
|
+
* Backdrop Opacity
|
|
2815
|
+
* @see https://tailwindcss.com/docs/backdrop-opacity
|
|
2816
|
+
*/
|
|
2817
|
+
"backdrop-opacity": [{
|
|
2818
|
+
"backdrop-opacity": [opacity]
|
|
2819
|
+
}],
|
|
2820
|
+
/**
|
|
2821
|
+
* Backdrop Saturate
|
|
2822
|
+
* @see https://tailwindcss.com/docs/backdrop-saturate
|
|
2823
|
+
*/
|
|
2824
|
+
"backdrop-saturate": [{
|
|
2825
|
+
"backdrop-saturate": [saturate]
|
|
2826
|
+
}],
|
|
2827
|
+
/**
|
|
2828
|
+
* Backdrop Sepia
|
|
2829
|
+
* @see https://tailwindcss.com/docs/backdrop-sepia
|
|
2830
|
+
*/
|
|
2831
|
+
"backdrop-sepia": [{
|
|
2832
|
+
"backdrop-sepia": [sepia]
|
|
2833
|
+
}],
|
|
2834
|
+
// Tables
|
|
2835
|
+
/**
|
|
2836
|
+
* Border Collapse
|
|
2837
|
+
* @see https://tailwindcss.com/docs/border-collapse
|
|
2838
|
+
*/
|
|
2839
|
+
"border-collapse": [{
|
|
2840
|
+
border: ["collapse", "separate"]
|
|
2841
|
+
}],
|
|
2842
|
+
/**
|
|
2843
|
+
* Border Spacing
|
|
2844
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
2845
|
+
*/
|
|
2846
|
+
"border-spacing": [{
|
|
2847
|
+
"border-spacing": [borderSpacing]
|
|
2848
|
+
}],
|
|
2849
|
+
/**
|
|
2850
|
+
* Border Spacing X
|
|
2851
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
2852
|
+
*/
|
|
2853
|
+
"border-spacing-x": [{
|
|
2854
|
+
"border-spacing-x": [borderSpacing]
|
|
2855
|
+
}],
|
|
2856
|
+
/**
|
|
2857
|
+
* Border Spacing Y
|
|
2858
|
+
* @see https://tailwindcss.com/docs/border-spacing
|
|
2859
|
+
*/
|
|
2860
|
+
"border-spacing-y": [{
|
|
2861
|
+
"border-spacing-y": [borderSpacing]
|
|
2862
|
+
}],
|
|
2863
|
+
/**
|
|
2864
|
+
* Table Layout
|
|
2865
|
+
* @see https://tailwindcss.com/docs/table-layout
|
|
2866
|
+
*/
|
|
2867
|
+
"table-layout": [{
|
|
2868
|
+
table: ["auto", "fixed"]
|
|
2869
|
+
}],
|
|
2870
|
+
/**
|
|
2871
|
+
* Caption Side
|
|
2872
|
+
* @see https://tailwindcss.com/docs/caption-side
|
|
2873
|
+
*/
|
|
2874
|
+
caption: [{
|
|
2875
|
+
caption: ["top", "bottom"]
|
|
2876
|
+
}],
|
|
2877
|
+
// Transitions and Animation
|
|
2878
|
+
/**
|
|
2879
|
+
* Tranisition Property
|
|
2880
|
+
* @see https://tailwindcss.com/docs/transition-property
|
|
2881
|
+
*/
|
|
2882
|
+
transition: [{
|
|
2883
|
+
transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", isArbitraryValue]
|
|
2884
|
+
}],
|
|
2885
|
+
/**
|
|
2886
|
+
* Transition Duration
|
|
2887
|
+
* @see https://tailwindcss.com/docs/transition-duration
|
|
2888
|
+
*/
|
|
2889
|
+
duration: [{
|
|
2890
|
+
duration: getNumberAndArbitrary()
|
|
2891
|
+
}],
|
|
2892
|
+
/**
|
|
2893
|
+
* Transition Timing Function
|
|
2894
|
+
* @see https://tailwindcss.com/docs/transition-timing-function
|
|
2895
|
+
*/
|
|
2896
|
+
ease: [{
|
|
2897
|
+
ease: ["linear", "in", "out", "in-out", isArbitraryValue]
|
|
2898
|
+
}],
|
|
2899
|
+
/**
|
|
2900
|
+
* Transition Delay
|
|
2901
|
+
* @see https://tailwindcss.com/docs/transition-delay
|
|
2902
|
+
*/
|
|
2903
|
+
delay: [{
|
|
2904
|
+
delay: getNumberAndArbitrary()
|
|
2905
|
+
}],
|
|
2906
|
+
/**
|
|
2907
|
+
* Animation
|
|
2908
|
+
* @see https://tailwindcss.com/docs/animation
|
|
2909
|
+
*/
|
|
2910
|
+
animate: [{
|
|
2911
|
+
animate: ["none", "spin", "ping", "pulse", "bounce", isArbitraryValue]
|
|
2912
|
+
}],
|
|
2913
|
+
// Transforms
|
|
2914
|
+
/**
|
|
2915
|
+
* Transform
|
|
2916
|
+
* @see https://tailwindcss.com/docs/transform
|
|
2917
|
+
*/
|
|
2918
|
+
transform: [{
|
|
2919
|
+
transform: ["", "gpu", "none"]
|
|
2920
|
+
}],
|
|
2921
|
+
/**
|
|
2922
|
+
* Scale
|
|
2923
|
+
* @see https://tailwindcss.com/docs/scale
|
|
2924
|
+
*/
|
|
2925
|
+
scale: [{
|
|
2926
|
+
scale: [scale]
|
|
2927
|
+
}],
|
|
2928
|
+
/**
|
|
2929
|
+
* Scale X
|
|
2930
|
+
* @see https://tailwindcss.com/docs/scale
|
|
2931
|
+
*/
|
|
2932
|
+
"scale-x": [{
|
|
2933
|
+
"scale-x": [scale]
|
|
2934
|
+
}],
|
|
2935
|
+
/**
|
|
2936
|
+
* Scale Y
|
|
2937
|
+
* @see https://tailwindcss.com/docs/scale
|
|
2938
|
+
*/
|
|
2939
|
+
"scale-y": [{
|
|
2940
|
+
"scale-y": [scale]
|
|
2941
|
+
}],
|
|
2942
|
+
/**
|
|
2943
|
+
* Rotate
|
|
2944
|
+
* @see https://tailwindcss.com/docs/rotate
|
|
2945
|
+
*/
|
|
2946
|
+
rotate: [{
|
|
2947
|
+
rotate: [isInteger, isArbitraryValue]
|
|
2948
|
+
}],
|
|
2949
|
+
/**
|
|
2950
|
+
* Translate X
|
|
2951
|
+
* @see https://tailwindcss.com/docs/translate
|
|
2952
|
+
*/
|
|
2953
|
+
"translate-x": [{
|
|
2954
|
+
"translate-x": [translate]
|
|
2955
|
+
}],
|
|
2956
|
+
/**
|
|
2957
|
+
* Translate Y
|
|
2958
|
+
* @see https://tailwindcss.com/docs/translate
|
|
2959
|
+
*/
|
|
2960
|
+
"translate-y": [{
|
|
2961
|
+
"translate-y": [translate]
|
|
2962
|
+
}],
|
|
2963
|
+
/**
|
|
2964
|
+
* Skew X
|
|
2965
|
+
* @see https://tailwindcss.com/docs/skew
|
|
2966
|
+
*/
|
|
2967
|
+
"skew-x": [{
|
|
2968
|
+
"skew-x": [skew]
|
|
2969
|
+
}],
|
|
2970
|
+
/**
|
|
2971
|
+
* Skew Y
|
|
2972
|
+
* @see https://tailwindcss.com/docs/skew
|
|
2973
|
+
*/
|
|
2974
|
+
"skew-y": [{
|
|
2975
|
+
"skew-y": [skew]
|
|
2976
|
+
}],
|
|
2977
|
+
/**
|
|
2978
|
+
* Transform Origin
|
|
2979
|
+
* @see https://tailwindcss.com/docs/transform-origin
|
|
2980
|
+
*/
|
|
2981
|
+
"transform-origin": [{
|
|
2982
|
+
origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryValue]
|
|
2983
|
+
}],
|
|
2984
|
+
// Interactivity
|
|
2985
|
+
/**
|
|
2986
|
+
* Accent Color
|
|
2987
|
+
* @see https://tailwindcss.com/docs/accent-color
|
|
2988
|
+
*/
|
|
2989
|
+
accent: [{
|
|
2990
|
+
accent: ["auto", colors]
|
|
2991
|
+
}],
|
|
2992
|
+
/**
|
|
2993
|
+
* Appearance
|
|
2994
|
+
* @see https://tailwindcss.com/docs/appearance
|
|
2995
|
+
*/
|
|
2996
|
+
appearance: [{
|
|
2997
|
+
appearance: ["none", "auto"]
|
|
2998
|
+
}],
|
|
2999
|
+
/**
|
|
3000
|
+
* Cursor
|
|
3001
|
+
* @see https://tailwindcss.com/docs/cursor
|
|
3002
|
+
*/
|
|
3003
|
+
cursor: [{
|
|
3004
|
+
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", isArbitraryValue]
|
|
3005
|
+
}],
|
|
3006
|
+
/**
|
|
3007
|
+
* Caret Color
|
|
3008
|
+
* @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
|
|
3009
|
+
*/
|
|
3010
|
+
"caret-color": [{
|
|
3011
|
+
caret: [colors]
|
|
3012
|
+
}],
|
|
3013
|
+
/**
|
|
3014
|
+
* Pointer Events
|
|
3015
|
+
* @see https://tailwindcss.com/docs/pointer-events
|
|
3016
|
+
*/
|
|
3017
|
+
"pointer-events": [{
|
|
3018
|
+
"pointer-events": ["none", "auto"]
|
|
3019
|
+
}],
|
|
3020
|
+
/**
|
|
3021
|
+
* Resize
|
|
3022
|
+
* @see https://tailwindcss.com/docs/resize
|
|
3023
|
+
*/
|
|
3024
|
+
resize: [{
|
|
3025
|
+
resize: ["none", "y", "x", ""]
|
|
3026
|
+
}],
|
|
3027
|
+
/**
|
|
3028
|
+
* Scroll Behavior
|
|
3029
|
+
* @see https://tailwindcss.com/docs/scroll-behavior
|
|
3030
|
+
*/
|
|
3031
|
+
"scroll-behavior": [{
|
|
3032
|
+
scroll: ["auto", "smooth"]
|
|
3033
|
+
}],
|
|
3034
|
+
/**
|
|
3035
|
+
* Scroll Margin
|
|
3036
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3037
|
+
*/
|
|
3038
|
+
"scroll-m": [{
|
|
3039
|
+
"scroll-m": getSpacingWithArbitrary()
|
|
3040
|
+
}],
|
|
3041
|
+
/**
|
|
3042
|
+
* Scroll Margin X
|
|
3043
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3044
|
+
*/
|
|
3045
|
+
"scroll-mx": [{
|
|
3046
|
+
"scroll-mx": getSpacingWithArbitrary()
|
|
3047
|
+
}],
|
|
3048
|
+
/**
|
|
3049
|
+
* Scroll Margin Y
|
|
3050
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3051
|
+
*/
|
|
3052
|
+
"scroll-my": [{
|
|
3053
|
+
"scroll-my": getSpacingWithArbitrary()
|
|
3054
|
+
}],
|
|
3055
|
+
/**
|
|
3056
|
+
* Scroll Margin Start
|
|
3057
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3058
|
+
*/
|
|
3059
|
+
"scroll-ms": [{
|
|
3060
|
+
"scroll-ms": getSpacingWithArbitrary()
|
|
3061
|
+
}],
|
|
3062
|
+
/**
|
|
3063
|
+
* Scroll Margin End
|
|
3064
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3065
|
+
*/
|
|
3066
|
+
"scroll-me": [{
|
|
3067
|
+
"scroll-me": getSpacingWithArbitrary()
|
|
3068
|
+
}],
|
|
3069
|
+
/**
|
|
3070
|
+
* Scroll Margin Top
|
|
3071
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3072
|
+
*/
|
|
3073
|
+
"scroll-mt": [{
|
|
3074
|
+
"scroll-mt": getSpacingWithArbitrary()
|
|
3075
|
+
}],
|
|
3076
|
+
/**
|
|
3077
|
+
* Scroll Margin Right
|
|
3078
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3079
|
+
*/
|
|
3080
|
+
"scroll-mr": [{
|
|
3081
|
+
"scroll-mr": getSpacingWithArbitrary()
|
|
3082
|
+
}],
|
|
3083
|
+
/**
|
|
3084
|
+
* Scroll Margin Bottom
|
|
3085
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3086
|
+
*/
|
|
3087
|
+
"scroll-mb": [{
|
|
3088
|
+
"scroll-mb": getSpacingWithArbitrary()
|
|
3089
|
+
}],
|
|
3090
|
+
/**
|
|
3091
|
+
* Scroll Margin Left
|
|
3092
|
+
* @see https://tailwindcss.com/docs/scroll-margin
|
|
3093
|
+
*/
|
|
3094
|
+
"scroll-ml": [{
|
|
3095
|
+
"scroll-ml": getSpacingWithArbitrary()
|
|
3096
|
+
}],
|
|
3097
|
+
/**
|
|
3098
|
+
* Scroll Padding
|
|
3099
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3100
|
+
*/
|
|
3101
|
+
"scroll-p": [{
|
|
3102
|
+
"scroll-p": getSpacingWithArbitrary()
|
|
3103
|
+
}],
|
|
3104
|
+
/**
|
|
3105
|
+
* Scroll Padding X
|
|
3106
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3107
|
+
*/
|
|
3108
|
+
"scroll-px": [{
|
|
3109
|
+
"scroll-px": getSpacingWithArbitrary()
|
|
3110
|
+
}],
|
|
3111
|
+
/**
|
|
3112
|
+
* Scroll Padding Y
|
|
3113
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3114
|
+
*/
|
|
3115
|
+
"scroll-py": [{
|
|
3116
|
+
"scroll-py": getSpacingWithArbitrary()
|
|
3117
|
+
}],
|
|
3118
|
+
/**
|
|
3119
|
+
* Scroll Padding Start
|
|
3120
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3121
|
+
*/
|
|
3122
|
+
"scroll-ps": [{
|
|
3123
|
+
"scroll-ps": getSpacingWithArbitrary()
|
|
3124
|
+
}],
|
|
3125
|
+
/**
|
|
3126
|
+
* Scroll Padding End
|
|
3127
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3128
|
+
*/
|
|
3129
|
+
"scroll-pe": [{
|
|
3130
|
+
"scroll-pe": getSpacingWithArbitrary()
|
|
3131
|
+
}],
|
|
3132
|
+
/**
|
|
3133
|
+
* Scroll Padding Top
|
|
3134
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3135
|
+
*/
|
|
3136
|
+
"scroll-pt": [{
|
|
3137
|
+
"scroll-pt": getSpacingWithArbitrary()
|
|
3138
|
+
}],
|
|
3139
|
+
/**
|
|
3140
|
+
* Scroll Padding Right
|
|
3141
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3142
|
+
*/
|
|
3143
|
+
"scroll-pr": [{
|
|
3144
|
+
"scroll-pr": getSpacingWithArbitrary()
|
|
3145
|
+
}],
|
|
3146
|
+
/**
|
|
3147
|
+
* Scroll Padding Bottom
|
|
3148
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3149
|
+
*/
|
|
3150
|
+
"scroll-pb": [{
|
|
3151
|
+
"scroll-pb": getSpacingWithArbitrary()
|
|
3152
|
+
}],
|
|
3153
|
+
/**
|
|
3154
|
+
* Scroll Padding Left
|
|
3155
|
+
* @see https://tailwindcss.com/docs/scroll-padding
|
|
3156
|
+
*/
|
|
3157
|
+
"scroll-pl": [{
|
|
3158
|
+
"scroll-pl": getSpacingWithArbitrary()
|
|
3159
|
+
}],
|
|
3160
|
+
/**
|
|
3161
|
+
* Scroll Snap Align
|
|
3162
|
+
* @see https://tailwindcss.com/docs/scroll-snap-align
|
|
3163
|
+
*/
|
|
3164
|
+
"snap-align": [{
|
|
3165
|
+
snap: ["start", "end", "center", "align-none"]
|
|
3166
|
+
}],
|
|
3167
|
+
/**
|
|
3168
|
+
* Scroll Snap Stop
|
|
3169
|
+
* @see https://tailwindcss.com/docs/scroll-snap-stop
|
|
3170
|
+
*/
|
|
3171
|
+
"snap-stop": [{
|
|
3172
|
+
snap: ["normal", "always"]
|
|
3173
|
+
}],
|
|
3174
|
+
/**
|
|
3175
|
+
* Scroll Snap Type
|
|
3176
|
+
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
3177
|
+
*/
|
|
3178
|
+
"snap-type": [{
|
|
3179
|
+
snap: ["none", "x", "y", "both"]
|
|
3180
|
+
}],
|
|
3181
|
+
/**
|
|
3182
|
+
* Scroll Snap Type Strictness
|
|
3183
|
+
* @see https://tailwindcss.com/docs/scroll-snap-type
|
|
3184
|
+
*/
|
|
3185
|
+
"snap-strictness": [{
|
|
3186
|
+
snap: ["mandatory", "proximity"]
|
|
3187
|
+
}],
|
|
3188
|
+
/**
|
|
3189
|
+
* Touch Action
|
|
3190
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
3191
|
+
*/
|
|
3192
|
+
touch: [{
|
|
3193
|
+
touch: ["auto", "none", "manipulation"]
|
|
3194
|
+
}],
|
|
3195
|
+
/**
|
|
3196
|
+
* Touch Action X
|
|
3197
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
3198
|
+
*/
|
|
3199
|
+
"touch-x": [{
|
|
3200
|
+
"touch-pan": ["x", "left", "right"]
|
|
3201
|
+
}],
|
|
3202
|
+
/**
|
|
3203
|
+
* Touch Action Y
|
|
3204
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
3205
|
+
*/
|
|
3206
|
+
"touch-y": [{
|
|
3207
|
+
"touch-pan": ["y", "up", "down"]
|
|
3208
|
+
}],
|
|
3209
|
+
/**
|
|
3210
|
+
* Touch Action Pinch Zoom
|
|
3211
|
+
* @see https://tailwindcss.com/docs/touch-action
|
|
3212
|
+
*/
|
|
3213
|
+
"touch-pz": ["touch-pinch-zoom"],
|
|
3214
|
+
/**
|
|
3215
|
+
* User Select
|
|
3216
|
+
* @see https://tailwindcss.com/docs/user-select
|
|
3217
|
+
*/
|
|
3218
|
+
select: [{
|
|
3219
|
+
select: ["none", "text", "all", "auto"]
|
|
3220
|
+
}],
|
|
3221
|
+
/**
|
|
3222
|
+
* Will Change
|
|
3223
|
+
* @see https://tailwindcss.com/docs/will-change
|
|
3224
|
+
*/
|
|
3225
|
+
"will-change": [{
|
|
3226
|
+
"will-change": ["auto", "scroll", "contents", "transform", isArbitraryValue]
|
|
3227
|
+
}],
|
|
3228
|
+
// SVG
|
|
3229
|
+
/**
|
|
3230
|
+
* Fill
|
|
3231
|
+
* @see https://tailwindcss.com/docs/fill
|
|
3232
|
+
*/
|
|
3233
|
+
fill: [{
|
|
3234
|
+
fill: [colors, "none"]
|
|
3235
|
+
}],
|
|
3236
|
+
/**
|
|
3237
|
+
* Stroke Width
|
|
3238
|
+
* @see https://tailwindcss.com/docs/stroke-width
|
|
3239
|
+
*/
|
|
3240
|
+
"stroke-w": [{
|
|
3241
|
+
stroke: [isLength, isArbitraryLength, isArbitraryNumber]
|
|
3242
|
+
}],
|
|
3243
|
+
/**
|
|
3244
|
+
* Stroke
|
|
3245
|
+
* @see https://tailwindcss.com/docs/stroke
|
|
3246
|
+
*/
|
|
3247
|
+
stroke: [{
|
|
3248
|
+
stroke: [colors, "none"]
|
|
3249
|
+
}],
|
|
3250
|
+
// Accessibility
|
|
3251
|
+
/**
|
|
3252
|
+
* Screen Readers
|
|
3253
|
+
* @see https://tailwindcss.com/docs/screen-readers
|
|
3254
|
+
*/
|
|
3255
|
+
sr: ["sr-only", "not-sr-only"],
|
|
3256
|
+
/**
|
|
3257
|
+
* Forced Color Adjust
|
|
3258
|
+
* @see https://tailwindcss.com/docs/forced-color-adjust
|
|
3259
|
+
*/
|
|
3260
|
+
"forced-color-adjust": [{
|
|
3261
|
+
"forced-color-adjust": ["auto", "none"]
|
|
3262
|
+
}]
|
|
3263
|
+
},
|
|
3264
|
+
conflictingClassGroups: {
|
|
3265
|
+
overflow: ["overflow-x", "overflow-y"],
|
|
3266
|
+
overscroll: ["overscroll-x", "overscroll-y"],
|
|
3267
|
+
inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
|
|
3268
|
+
"inset-x": ["right", "left"],
|
|
3269
|
+
"inset-y": ["top", "bottom"],
|
|
3270
|
+
flex: ["basis", "grow", "shrink"],
|
|
3271
|
+
gap: ["gap-x", "gap-y"],
|
|
3272
|
+
p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
|
|
3273
|
+
px: ["pr", "pl"],
|
|
3274
|
+
py: ["pt", "pb"],
|
|
3275
|
+
m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
|
|
3276
|
+
mx: ["mr", "ml"],
|
|
3277
|
+
my: ["mt", "mb"],
|
|
3278
|
+
size: ["w", "h"],
|
|
3279
|
+
"font-size": ["leading"],
|
|
3280
|
+
"fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
|
|
3281
|
+
"fvn-ordinal": ["fvn-normal"],
|
|
3282
|
+
"fvn-slashed-zero": ["fvn-normal"],
|
|
3283
|
+
"fvn-figure": ["fvn-normal"],
|
|
3284
|
+
"fvn-spacing": ["fvn-normal"],
|
|
3285
|
+
"fvn-fraction": ["fvn-normal"],
|
|
3286
|
+
"line-clamp": ["display", "overflow"],
|
|
3287
|
+
rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
|
|
3288
|
+
"rounded-s": ["rounded-ss", "rounded-es"],
|
|
3289
|
+
"rounded-e": ["rounded-se", "rounded-ee"],
|
|
3290
|
+
"rounded-t": ["rounded-tl", "rounded-tr"],
|
|
3291
|
+
"rounded-r": ["rounded-tr", "rounded-br"],
|
|
3292
|
+
"rounded-b": ["rounded-br", "rounded-bl"],
|
|
3293
|
+
"rounded-l": ["rounded-tl", "rounded-bl"],
|
|
3294
|
+
"border-spacing": ["border-spacing-x", "border-spacing-y"],
|
|
3295
|
+
"border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
|
|
3296
|
+
"border-w-x": ["border-w-r", "border-w-l"],
|
|
3297
|
+
"border-w-y": ["border-w-t", "border-w-b"],
|
|
3298
|
+
"border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
|
|
3299
|
+
"border-color-x": ["border-color-r", "border-color-l"],
|
|
3300
|
+
"border-color-y": ["border-color-t", "border-color-b"],
|
|
3301
|
+
"scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
|
|
3302
|
+
"scroll-mx": ["scroll-mr", "scroll-ml"],
|
|
3303
|
+
"scroll-my": ["scroll-mt", "scroll-mb"],
|
|
3304
|
+
"scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
|
|
3305
|
+
"scroll-px": ["scroll-pr", "scroll-pl"],
|
|
3306
|
+
"scroll-py": ["scroll-pt", "scroll-pb"],
|
|
3307
|
+
touch: ["touch-x", "touch-y", "touch-pz"],
|
|
3308
|
+
"touch-x": ["touch"],
|
|
3309
|
+
"touch-y": ["touch"],
|
|
3310
|
+
"touch-pz": ["touch"]
|
|
3311
|
+
},
|
|
3312
|
+
conflictingClassGroupModifiers: {
|
|
3313
|
+
"font-size": ["leading"]
|
|
3314
|
+
}
|
|
3315
|
+
};
|
|
3316
|
+
};
|
|
3317
|
+
var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
|
|
3318
|
+
|
|
3319
|
+
// src/utils/cn.ts
|
|
3320
|
+
var cn = (...inputs) => {
|
|
3321
|
+
return twMerge(clsx(inputs));
|
|
3322
|
+
};
|
|
3323
|
+
|
|
110
3324
|
// src/components/selection-box.tsx
|
|
111
3325
|
var _tmpl$ = /* @__PURE__ */ template(`<div>`);
|
|
112
3326
|
var SelectionBox = (props) => {
|
|
@@ -177,56 +3391,42 @@ var SelectionBox = (props) => {
|
|
|
177
3391
|
}
|
|
178
3392
|
isAnimating = false;
|
|
179
3393
|
});
|
|
180
|
-
const baseStyle = {
|
|
181
|
-
position: "fixed",
|
|
182
|
-
"box-sizing": "border-box",
|
|
183
|
-
"pointer-events": props.variant === "drag" ? "none" : "auto",
|
|
184
|
-
"z-index": props.variant === "grabbed" ? "2147483645" : "2147483646"
|
|
185
|
-
};
|
|
186
|
-
const variantStyle = () => {
|
|
187
|
-
if (props.variant === "drag") {
|
|
188
|
-
return {
|
|
189
|
-
border: "1px dashed rgba(210, 57, 192, 0.4)",
|
|
190
|
-
"background-color": "rgba(210, 57, 192, 0.05)",
|
|
191
|
-
"will-change": "transform, width, height",
|
|
192
|
-
contain: "layout paint size",
|
|
193
|
-
cursor: "crosshair"
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
if (props.variant === "selection") {
|
|
197
|
-
return {
|
|
198
|
-
border: "1px dashed rgba(210, 57, 192, 0.5)",
|
|
199
|
-
"background-color": "rgba(210, 57, 192, 0.08)"
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
return {
|
|
203
|
-
border: "1px solid rgb(210, 57, 192)",
|
|
204
|
-
"background-color": "rgba(210, 57, 192, 0.08)",
|
|
205
|
-
transition: "opacity 0.3s ease-out"
|
|
206
|
-
};
|
|
207
|
-
};
|
|
208
3394
|
return createComponent(Show, {
|
|
209
3395
|
get when() {
|
|
210
3396
|
return props.visible !== false;
|
|
211
3397
|
},
|
|
212
3398
|
get children() {
|
|
213
3399
|
var _el$ = _tmpl$();
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
top
|
|
218
|
-
left
|
|
219
|
-
width
|
|
220
|
-
height
|
|
221
|
-
"border-radius"
|
|
222
|
-
|
|
223
|
-
opacity
|
|
224
|
-
|
|
3400
|
+
createRenderEffect((_p$) => {
|
|
3401
|
+
var _v$ = cn("fixed box-border", props.variant === "drag" && "pointer-events-none", props.variant !== "drag" && "pointer-events-auto", props.variant === "grabbed" && "z-2147483645", props.variant !== "grabbed" && "z-2147483646", props.variant === "drag" && "border border-dashed border-grab-purple/40 bg-grab-purple/5 will-change-[transform,width,height] cursor-crosshair", props.variant === "selection" && "border border-dashed border-grab-purple/50 bg-grab-purple/8", props.variant === "grabbed" && "border border-grab-purple bg-grab-purple/8 transition-opacity duration-300 ease-out"), _v$2 = `${currentY()}px`, _v$3 = `${currentX()}px`, _v$4 = `${currentWidth()}px`, _v$5 = `${currentHeight()}px`, _v$6 = props.bounds.borderRadius, _v$7 = props.bounds.transform, _v$8 = opacity(), _v$9 = props.variant === "drag" ? "layout paint size" : void 0;
|
|
3402
|
+
_v$ !== _p$.e && className(_el$, _p$.e = _v$);
|
|
3403
|
+
_v$2 !== _p$.t && setStyleProperty(_el$, "top", _p$.t = _v$2);
|
|
3404
|
+
_v$3 !== _p$.a && setStyleProperty(_el$, "left", _p$.a = _v$3);
|
|
3405
|
+
_v$4 !== _p$.o && setStyleProperty(_el$, "width", _p$.o = _v$4);
|
|
3406
|
+
_v$5 !== _p$.i && setStyleProperty(_el$, "height", _p$.i = _v$5);
|
|
3407
|
+
_v$6 !== _p$.n && setStyleProperty(_el$, "border-radius", _p$.n = _v$6);
|
|
3408
|
+
_v$7 !== _p$.s && setStyleProperty(_el$, "transform", _p$.s = _v$7);
|
|
3409
|
+
_v$8 !== _p$.h && setStyleProperty(_el$, "opacity", _p$.h = _v$8);
|
|
3410
|
+
_v$9 !== _p$.r && setStyleProperty(_el$, "contain", _p$.r = _v$9);
|
|
3411
|
+
return _p$;
|
|
3412
|
+
}, {
|
|
3413
|
+
e: void 0,
|
|
3414
|
+
t: void 0,
|
|
3415
|
+
a: void 0,
|
|
3416
|
+
o: void 0,
|
|
3417
|
+
i: void 0,
|
|
3418
|
+
n: void 0,
|
|
3419
|
+
s: void 0,
|
|
3420
|
+
h: void 0,
|
|
3421
|
+
r: void 0
|
|
3422
|
+
});
|
|
225
3423
|
return _el$;
|
|
226
3424
|
}
|
|
227
3425
|
});
|
|
228
3426
|
};
|
|
229
|
-
|
|
3427
|
+
|
|
3428
|
+
// src/components/spinner.tsx
|
|
3429
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<span class="inline-block w-2 h-2 border-[1.5px] border-grab-dark-pink border-t-transparent rounded-full mr-1 align-middle">`);
|
|
230
3430
|
var Spinner = (props) => {
|
|
231
3431
|
let spinnerRef;
|
|
232
3432
|
onMount(() => {
|
|
@@ -246,9 +3446,7 @@ var Spinner = (props) => {
|
|
|
246
3446
|
var _el$ = _tmpl$2();
|
|
247
3447
|
var _ref$ = spinnerRef;
|
|
248
3448
|
typeof _ref$ === "function" ? use(_ref$, _el$) : spinnerRef = _el$;
|
|
249
|
-
|
|
250
|
-
...props.style
|
|
251
|
-
}, _$p));
|
|
3449
|
+
createRenderEffect((_$p) => style(_el$, props.style, _$p));
|
|
252
3450
|
return _el$;
|
|
253
3451
|
})();
|
|
254
3452
|
};
|
|
@@ -265,18 +3463,20 @@ var getClampedElementPosition = (positionLeft, positionTop, elementWidth, elemen
|
|
|
265
3463
|
const clampedTop = Math.max(minTop, Math.min(positionTop, maxTop));
|
|
266
3464
|
return { left: clampedLeft, top: clampedTop };
|
|
267
3465
|
};
|
|
3466
|
+
|
|
3467
|
+
// src/hooks/use-animated-lerp.ts
|
|
268
3468
|
var useAnimatedPosition = (options) => {
|
|
269
3469
|
const lerpFactor = options.lerpFactor ?? 0.3;
|
|
270
3470
|
const convergenceThreshold = options.convergenceThreshold ?? 0.5;
|
|
271
|
-
const [
|
|
272
|
-
const [
|
|
3471
|
+
const [x3, setX] = createSignal(options.x());
|
|
3472
|
+
const [y2, setY] = createSignal(options.y());
|
|
273
3473
|
let targetX = options.x();
|
|
274
3474
|
let targetY = options.y();
|
|
275
3475
|
let animationFrameId = null;
|
|
276
3476
|
let hasBeenRenderedOnce = false;
|
|
277
3477
|
const animate = () => {
|
|
278
|
-
const currentX = lerp(
|
|
279
|
-
const currentY = lerp(
|
|
3478
|
+
const currentX = lerp(x3(), targetX, lerpFactor);
|
|
3479
|
+
const currentY = lerp(y2(), targetY, lerpFactor);
|
|
280
3480
|
setX(currentX);
|
|
281
3481
|
setY(currentY);
|
|
282
3482
|
const hasConverged = Math.abs(currentX - targetX) < convergenceThreshold && Math.abs(currentY - targetY) < convergenceThreshold;
|
|
@@ -307,8 +3507,10 @@ var useAnimatedPosition = (options) => {
|
|
|
307
3507
|
animationFrameId = null;
|
|
308
3508
|
}
|
|
309
3509
|
});
|
|
310
|
-
return { x, y };
|
|
3510
|
+
return { x: x3, y: y2 };
|
|
311
3511
|
};
|
|
3512
|
+
|
|
3513
|
+
// src/hooks/use-fade-in-out.ts
|
|
312
3514
|
var useFadeInOut = (options) => {
|
|
313
3515
|
const [opacity, setOpacity] = createSignal(0);
|
|
314
3516
|
createEffect(
|
|
@@ -358,14 +3560,14 @@ var getCursorQuadrants = (cursorX, cursorY, elementWidth, elementHeight, offset)
|
|
|
358
3560
|
};
|
|
359
3561
|
|
|
360
3562
|
// src/components/label.tsx
|
|
361
|
-
var _tmpl$3 = /* @__PURE__ */ template(`<div
|
|
362
|
-
var _tmpl$22 = /* @__PURE__ */ template(`<span
|
|
363
|
-
var _tmpl$32 = /* @__PURE__ */ template(`<div
|
|
364
|
-
var _tmpl$4 = /* @__PURE__ */ template(`<span
|
|
365
|
-
var _tmpl$5 = /* @__PURE__ */ template(`<span
|
|
366
|
-
var _tmpl$6 = /* @__PURE__ */ template(`<div
|
|
367
|
-
var _tmpl$7 = /* @__PURE__ */ template(`<div
|
|
368
|
-
var _tmpl$8 = /* @__PURE__ */ template(`<div
|
|
3563
|
+
var _tmpl$3 = /* @__PURE__ */ template(`<div class="absolute top-0 left-0 bottom-0 bg-grab-pink/20 rounded-[3px] transition-[width] duration-100 ease-out pointer-events-none">`);
|
|
3564
|
+
var _tmpl$22 = /* @__PURE__ */ template(`<span class="inline-block mr-1 font-semibold">\u2713`);
|
|
3565
|
+
var _tmpl$32 = /* @__PURE__ */ template(`<div class=mr-1>Copied`);
|
|
3566
|
+
var _tmpl$4 = /* @__PURE__ */ template(`<span class="font-mono tabular-nums align-middle">`);
|
|
3567
|
+
var _tmpl$5 = /* @__PURE__ */ template(`<span class="tabular-nums text-[10px] ml-1 align-middle">`);
|
|
3568
|
+
var _tmpl$6 = /* @__PURE__ */ template(`<div class=ml-1>to clipboard`);
|
|
3569
|
+
var _tmpl$7 = /* @__PURE__ */ template(`<div class="text-[9px] opacity-60 text-center mt-0.5">Click or drag to select`);
|
|
3570
|
+
var _tmpl$8 = /* @__PURE__ */ template(`<div class="fixed bg-grab-pink-light text-grab-pink border border-grab-pink-border rounded text-[11px] font-medium font-sans pointer-events-none transition-opacity duration-200 ease-in-out overflow-hidden"style="max-width:calc(100vw - (16px + env(safe-area-inset-left) + env(safe-area-inset-right)))"><div class="relative py-0.5 px-1.5 flex flex-col"><div class="flex items-center text-ellipsis whitespace-nowrap">`);
|
|
369
3571
|
var Label = (props) => {
|
|
370
3572
|
let labelRef;
|
|
371
3573
|
const position = useAnimatedPosition({
|
|
@@ -427,7 +3629,7 @@ var Label = (props) => {
|
|
|
427
3629
|
},
|
|
428
3630
|
get children() {
|
|
429
3631
|
var _el$2 = _tmpl$3();
|
|
430
|
-
|
|
3632
|
+
createRenderEffect((_$p) => setStyleProperty(_el$2, "width", `${Math.min(100, Math.max(0, (props.progress ?? 0) * 100))}%`));
|
|
431
3633
|
return _el$2;
|
|
432
3634
|
}
|
|
433
3635
|
}), _el$3);
|
|
@@ -498,7 +3700,7 @@ var Label = (props) => {
|
|
|
498
3700
|
return _tmpl$7();
|
|
499
3701
|
}
|
|
500
3702
|
}), null);
|
|
501
|
-
|
|
3703
|
+
createRenderEffect((_p$) => {
|
|
502
3704
|
var _v$ = `${computedPosition().top}px`, _v$2 = `${computedPosition().left}px`, _v$3 = props.zIndex?.toString() ?? "2147483647", _v$4 = opacity();
|
|
503
3705
|
_v$ !== _p$.e && setStyleProperty(_el$, "top", _p$.e = _v$);
|
|
504
3706
|
_v$2 !== _p$.t && setStyleProperty(_el$, "left", _p$.t = _v$2);
|
|
@@ -515,7 +3717,9 @@ var Label = (props) => {
|
|
|
515
3717
|
}
|
|
516
3718
|
});
|
|
517
3719
|
};
|
|
518
|
-
|
|
3720
|
+
|
|
3721
|
+
// src/components/crosshair.tsx
|
|
3722
|
+
var _tmpl$9 = /* @__PURE__ */ template(`<canvas class="fixed top-0 left-0 pointer-events-none z-[2147483645]">`);
|
|
519
3723
|
var Crosshair = (props) => {
|
|
520
3724
|
let canvasRef;
|
|
521
3725
|
let context = null;
|
|
@@ -582,7 +3786,9 @@ var Crosshair = (props) => {
|
|
|
582
3786
|
}
|
|
583
3787
|
});
|
|
584
3788
|
};
|
|
585
|
-
|
|
3789
|
+
|
|
3790
|
+
// src/components/input-overlay.tsx
|
|
3791
|
+
var _tmpl$10 = /* @__PURE__ */ template(`<div data-react-grab-input class="fixed bg-grab-pink-light text-grab-pink border border-grab-pink-border rounded text-[11px] font-medium font-sans overflow-hidden"style="max-width:calc(100vw - (16px + env(safe-area-inset-left) + env(safe-area-inset-right)))"><div class="relative p-0.5 px-[3px] flex flex-col gap-0.5"><textarea placeholder="e.g., Make this button larger"rows=1 class="w-[240px] px-1 py-0.5 bg-white text-grab-pink border border-grab-pink-border rounded-[3px] text-[11px] leading-tight font-sans outline-none resize-y min-h-[18px]"></textarea><div class="text-[9px] opacity-60 text-center">Enter \u23CE to submit, Escape to cancel`);
|
|
586
3792
|
var InputOverlay = (props) => {
|
|
587
3793
|
let containerRef;
|
|
588
3794
|
let inputRef;
|
|
@@ -636,14 +3842,14 @@ var InputOverlay = (props) => {
|
|
|
636
3842
|
}
|
|
637
3843
|
});
|
|
638
3844
|
return (() => {
|
|
639
|
-
var _el$ = _tmpl$10(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
|
|
3845
|
+
var _el$ = _tmpl$10(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
|
|
640
3846
|
var _ref$ = containerRef;
|
|
641
3847
|
typeof _ref$ === "function" ? use(_ref$, _el$) : containerRef = _el$;
|
|
642
3848
|
_el$3.$$keydown = handleKeyDown;
|
|
643
3849
|
_el$3.$$input = handleInput;
|
|
644
3850
|
var _ref$2 = inputRef;
|
|
645
3851
|
typeof _ref$2 === "function" ? use(_ref$2, _el$3) : inputRef = _el$3;
|
|
646
|
-
|
|
3852
|
+
createRenderEffect((_p$) => {
|
|
647
3853
|
var _v$ = props.visible ? "block" : "none", _v$2 = `${computedPosition().top}px`, _v$3 = `${computedPosition().left}px`, _v$4 = props.zIndex?.toString() ?? "2147483647", _v$5 = props.visible ? "auto" : "none";
|
|
648
3854
|
_v$ !== _p$.e && setStyleProperty(_el$, "display", _p$.e = _v$);
|
|
649
3855
|
_v$2 !== _p$.t && setStyleProperty(_el$, "top", _p$.t = _v$2);
|
|
@@ -658,7 +3864,7 @@ var InputOverlay = (props) => {
|
|
|
658
3864
|
o: void 0,
|
|
659
3865
|
i: void 0
|
|
660
3866
|
});
|
|
661
|
-
|
|
3867
|
+
createRenderEffect(() => _el$3.value = props.value);
|
|
662
3868
|
return _el$;
|
|
663
3869
|
})();
|
|
664
3870
|
};
|
|
@@ -807,6 +4013,842 @@ var ReactGrabRenderer = (props) => {
|
|
|
807
4013
|
})];
|
|
808
4014
|
};
|
|
809
4015
|
|
|
4016
|
+
// ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/rdt-hook-CrcWl4lP.js
|
|
4017
|
+
var e = `0.5.16`;
|
|
4018
|
+
var t = `bippy-${e}`;
|
|
4019
|
+
var n = Object.defineProperty;
|
|
4020
|
+
var r2 = Object.prototype.hasOwnProperty;
|
|
4021
|
+
var i = () => {
|
|
4022
|
+
};
|
|
4023
|
+
var a = (e2) => {
|
|
4024
|
+
try {
|
|
4025
|
+
let t2 = Function.prototype.toString.call(e2);
|
|
4026
|
+
t2.indexOf(`^_^`) > -1 && setTimeout(() => {
|
|
4027
|
+
throw Error(`React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build`);
|
|
4028
|
+
});
|
|
4029
|
+
} catch {
|
|
4030
|
+
}
|
|
4031
|
+
};
|
|
4032
|
+
var o = (e2 = h()) => `getFiberRoots` in e2;
|
|
4033
|
+
var s = false;
|
|
4034
|
+
var c;
|
|
4035
|
+
var l = (e2 = h()) => s ? true : (typeof e2.inject == `function` && (c = e2.inject.toString()), !!c?.includes(`(injected)`));
|
|
4036
|
+
var u = /* @__PURE__ */ new Set();
|
|
4037
|
+
var d = /* @__PURE__ */ new Set();
|
|
4038
|
+
var f = (e2) => {
|
|
4039
|
+
let r3 = /* @__PURE__ */ new Map(), o3 = 0, s3 = { _instrumentationIsActive: false, _instrumentationSource: t, checkDCE: a, hasUnsupportedRendererAttached: false, inject(e3) {
|
|
4040
|
+
let t2 = ++o3;
|
|
4041
|
+
return r3.set(t2, e3), d.add(e3), s3._instrumentationIsActive || (s3._instrumentationIsActive = true, u.forEach((e4) => e4())), t2;
|
|
4042
|
+
}, on: i, onCommitFiberRoot: i, onCommitFiberUnmount: i, onPostCommitFiberRoot: i, renderers: r3, supportsFiber: true, supportsFlight: true };
|
|
4043
|
+
try {
|
|
4044
|
+
n(globalThis, `__REACT_DEVTOOLS_GLOBAL_HOOK__`, { configurable: true, enumerable: true, get() {
|
|
4045
|
+
return s3;
|
|
4046
|
+
}, set(t3) {
|
|
4047
|
+
if (t3 && typeof t3 == `object`) {
|
|
4048
|
+
let n2 = s3.renderers;
|
|
4049
|
+
s3 = t3, n2.size > 0 && (n2.forEach((e3, n3) => {
|
|
4050
|
+
d.add(e3), t3.renderers.set(n3, e3);
|
|
4051
|
+
}), p(e2));
|
|
4052
|
+
}
|
|
4053
|
+
} });
|
|
4054
|
+
let t2 = window.hasOwnProperty, r4 = false;
|
|
4055
|
+
n(window, `hasOwnProperty`, { configurable: true, value: function(...e3) {
|
|
4056
|
+
try {
|
|
4057
|
+
if (!r4 && e3[0] === `__REACT_DEVTOOLS_GLOBAL_HOOK__`) return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__ = void 0, r4 = true, -0;
|
|
4058
|
+
} catch {
|
|
4059
|
+
}
|
|
4060
|
+
return t2.apply(this, e3);
|
|
4061
|
+
}, writable: true });
|
|
4062
|
+
} catch {
|
|
4063
|
+
p(e2);
|
|
4064
|
+
}
|
|
4065
|
+
return s3;
|
|
4066
|
+
};
|
|
4067
|
+
var p = (e2) => {
|
|
4068
|
+
try {
|
|
4069
|
+
let n2 = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
4070
|
+
if (!n2) return;
|
|
4071
|
+
if (!n2._instrumentationSource) {
|
|
4072
|
+
n2.checkDCE = a, n2.supportsFiber = true, n2.supportsFlight = true, n2.hasUnsupportedRendererAttached = false, n2._instrumentationSource = t, n2._instrumentationIsActive = false;
|
|
4073
|
+
let e3 = o(n2);
|
|
4074
|
+
if (e3 || (n2.on = i), n2.renderers.size) {
|
|
4075
|
+
n2._instrumentationIsActive = true, u.forEach((e4) => e4());
|
|
4076
|
+
return;
|
|
4077
|
+
}
|
|
4078
|
+
let r3 = n2.inject, c3 = l(n2);
|
|
4079
|
+
if (c3 && !e3) {
|
|
4080
|
+
s = true;
|
|
4081
|
+
let e4 = n2.inject({ scheduleRefresh() {
|
|
4082
|
+
} });
|
|
4083
|
+
e4 && (n2._instrumentationIsActive = true);
|
|
4084
|
+
}
|
|
4085
|
+
n2.inject = (e4) => {
|
|
4086
|
+
let t2 = r3(e4);
|
|
4087
|
+
return d.add(e4), c3 && n2.renderers.set(t2, e4), n2._instrumentationIsActive = true, u.forEach((e5) => e5()), t2;
|
|
4088
|
+
};
|
|
4089
|
+
}
|
|
4090
|
+
(n2.renderers.size || n2._instrumentationIsActive || l()) && e2?.();
|
|
4091
|
+
} catch {
|
|
4092
|
+
}
|
|
4093
|
+
};
|
|
4094
|
+
var m = () => r2.call(globalThis, `__REACT_DEVTOOLS_GLOBAL_HOOK__`);
|
|
4095
|
+
var h = (e2) => m() ? (p(e2), globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__) : f(e2);
|
|
4096
|
+
var g = () => !!(typeof window < `u` && (window.document?.createElement || window.navigator?.product === `ReactNative`));
|
|
4097
|
+
var _ = () => {
|
|
4098
|
+
try {
|
|
4099
|
+
g() && h();
|
|
4100
|
+
} catch {
|
|
4101
|
+
}
|
|
4102
|
+
};
|
|
4103
|
+
|
|
4104
|
+
// ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/install-hook-only-DtUPvEBg.js
|
|
4105
|
+
_();
|
|
4106
|
+
|
|
4107
|
+
// ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/core-D7_ABaNC.js
|
|
4108
|
+
var a2 = 0;
|
|
4109
|
+
var o2 = 1;
|
|
4110
|
+
var c2 = 5;
|
|
4111
|
+
var f2 = 11;
|
|
4112
|
+
var p2 = 13;
|
|
4113
|
+
var m2 = 14;
|
|
4114
|
+
var h2 = 15;
|
|
4115
|
+
var ee = 16;
|
|
4116
|
+
var te = 19;
|
|
4117
|
+
var y = 26;
|
|
4118
|
+
var b = 27;
|
|
4119
|
+
var ne = 28;
|
|
4120
|
+
var re = 30;
|
|
4121
|
+
var k = (e2) => {
|
|
4122
|
+
switch (e2.tag) {
|
|
4123
|
+
case c2:
|
|
4124
|
+
case y:
|
|
4125
|
+
case b:
|
|
4126
|
+
return true;
|
|
4127
|
+
default:
|
|
4128
|
+
return typeof e2.type == `string`;
|
|
4129
|
+
}
|
|
4130
|
+
};
|
|
4131
|
+
var pe = (e2) => {
|
|
4132
|
+
switch (e2.tag) {
|
|
4133
|
+
case o2:
|
|
4134
|
+
case f2:
|
|
4135
|
+
case a2:
|
|
4136
|
+
case m2:
|
|
4137
|
+
case h2:
|
|
4138
|
+
return true;
|
|
4139
|
+
default:
|
|
4140
|
+
return false;
|
|
4141
|
+
}
|
|
4142
|
+
};
|
|
4143
|
+
var me = (e2) => !e2 || typeof e2 != `object` ? true : `pendingProps` in e2 && !(`containerInfo` in e2);
|
|
4144
|
+
function N(e2, t2, n2 = false) {
|
|
4145
|
+
if (!e2) return null;
|
|
4146
|
+
let r3 = t2(e2);
|
|
4147
|
+
if (r3 instanceof Promise) return (async () => {
|
|
4148
|
+
if (await r3 === true) return e2;
|
|
4149
|
+
let i3 = n2 ? e2.return : e2.child;
|
|
4150
|
+
for (; i3; ) {
|
|
4151
|
+
let e3 = await F(i3, t2, n2);
|
|
4152
|
+
if (e3) return e3;
|
|
4153
|
+
i3 = n2 ? null : i3.sibling;
|
|
4154
|
+
}
|
|
4155
|
+
return null;
|
|
4156
|
+
})();
|
|
4157
|
+
if (r3 === true) return e2;
|
|
4158
|
+
let i2 = n2 ? e2.return : e2.child;
|
|
4159
|
+
for (; i2; ) {
|
|
4160
|
+
let e3 = P(i2, t2, n2);
|
|
4161
|
+
if (e3) return e3;
|
|
4162
|
+
i2 = n2 ? null : i2.sibling;
|
|
4163
|
+
}
|
|
4164
|
+
return null;
|
|
4165
|
+
}
|
|
4166
|
+
var P = (e2, t2, n2 = false) => {
|
|
4167
|
+
if (!e2) return null;
|
|
4168
|
+
if (t2(e2) === true) return e2;
|
|
4169
|
+
let r3 = n2 ? e2.return : e2.child;
|
|
4170
|
+
for (; r3; ) {
|
|
4171
|
+
let e3 = P(r3, t2, n2);
|
|
4172
|
+
if (e3) return e3;
|
|
4173
|
+
r3 = n2 ? null : r3.sibling;
|
|
4174
|
+
}
|
|
4175
|
+
return null;
|
|
4176
|
+
};
|
|
4177
|
+
var F = async (e2, t2, n2 = false) => {
|
|
4178
|
+
if (!e2) return null;
|
|
4179
|
+
if (await t2(e2) === true) return e2;
|
|
4180
|
+
let r3 = n2 ? e2.return : e2.child;
|
|
4181
|
+
for (; r3; ) {
|
|
4182
|
+
let e3 = await F(r3, t2, n2);
|
|
4183
|
+
if (e3) return e3;
|
|
4184
|
+
r3 = n2 ? null : r3.sibling;
|
|
4185
|
+
}
|
|
4186
|
+
return null;
|
|
4187
|
+
};
|
|
4188
|
+
var I = (e2) => {
|
|
4189
|
+
let t2 = e2;
|
|
4190
|
+
return typeof t2 == `function` ? t2 : typeof t2 == `object` && t2 ? I(t2.type || t2.render) : null;
|
|
4191
|
+
};
|
|
4192
|
+
var Te = (e2) => {
|
|
4193
|
+
let t2 = e2;
|
|
4194
|
+
if (typeof t2 == `string`) return t2;
|
|
4195
|
+
if (typeof t2 != `function` && !(typeof t2 == `object` && t2)) return null;
|
|
4196
|
+
let n2 = t2.displayName || t2.name || null;
|
|
4197
|
+
if (n2) return n2;
|
|
4198
|
+
let r3 = I(t2);
|
|
4199
|
+
return r3 && (r3.displayName || r3.name) || null;
|
|
4200
|
+
};
|
|
4201
|
+
var Ee = () => {
|
|
4202
|
+
let e2 = h();
|
|
4203
|
+
return !!e2._instrumentationIsActive || o() || l();
|
|
4204
|
+
};
|
|
4205
|
+
var De = (e2) => {
|
|
4206
|
+
let t2 = e2.alternate;
|
|
4207
|
+
if (!t2) return e2;
|
|
4208
|
+
if (t2.actualStartTime && e2.actualStartTime) return t2.actualStartTime > e2.actualStartTime ? t2 : e2;
|
|
4209
|
+
for (let t3 of $) {
|
|
4210
|
+
let n2 = N(t3.current, (t4) => {
|
|
4211
|
+
if (t4 === e2) return true;
|
|
4212
|
+
});
|
|
4213
|
+
if (n2) return n2;
|
|
4214
|
+
}
|
|
4215
|
+
return e2;
|
|
4216
|
+
};
|
|
4217
|
+
var Pe = (e2) => {
|
|
4218
|
+
let n2 = h();
|
|
4219
|
+
for (let t2 of n2.renderers.values()) try {
|
|
4220
|
+
let n3 = t2.findFiberByHostInstance?.(e2);
|
|
4221
|
+
if (n3) return n3;
|
|
4222
|
+
} catch {
|
|
4223
|
+
}
|
|
4224
|
+
if (typeof e2 == `object` && e2) {
|
|
4225
|
+
if (`_reactRootContainer` in e2) return e2._reactRootContainer?._internalRoot?.current?.child;
|
|
4226
|
+
for (let t2 in e2) if (t2.startsWith(`__reactContainer$`) || t2.startsWith(`__reactInternalInstance$`) || t2.startsWith(`__reactFiber`)) return e2[t2] || null;
|
|
4227
|
+
}
|
|
4228
|
+
return null;
|
|
4229
|
+
};
|
|
4230
|
+
var $ = /* @__PURE__ */ new Set();
|
|
4231
|
+
|
|
4232
|
+
// ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/source.js
|
|
4233
|
+
var b2 = Object.create;
|
|
4234
|
+
var x2 = Object.defineProperty;
|
|
4235
|
+
var S2 = Object.getOwnPropertyDescriptor;
|
|
4236
|
+
var C2 = Object.getOwnPropertyNames;
|
|
4237
|
+
var ee2 = Object.getPrototypeOf;
|
|
4238
|
+
var te2 = Object.prototype.hasOwnProperty;
|
|
4239
|
+
var ne2 = (e2, t2) => () => (t2 || e2((t2 = { exports: {} }).exports, t2), t2.exports);
|
|
4240
|
+
var re2 = (e2, t2, n2, r3) => {
|
|
4241
|
+
if (t2 && typeof t2 == `object` || typeof t2 == `function`) for (var i2 = C2(t2), a3 = 0, o3 = i2.length, s3; a3 < o3; a3++) s3 = i2[a3], !te2.call(e2, s3) && s3 !== n2 && x2(e2, s3, { get: ((e3) => t2[e3]).bind(null, s3), enumerable: !(r3 = S2(t2, s3)) || r3.enumerable });
|
|
4242
|
+
return e2;
|
|
4243
|
+
};
|
|
4244
|
+
var ie2 = (e2, t2, n2) => (n2 = e2 == null ? {} : b2(ee2(e2)), re2(x2(n2, `default`, { value: e2, enumerable: true }) , e2));
|
|
4245
|
+
var ae2 = () => {
|
|
4246
|
+
let n2 = h();
|
|
4247
|
+
for (let t2 of [...Array.from(d), ...Array.from(n2.renderers.values())]) {
|
|
4248
|
+
let e2 = t2.currentDispatcherRef;
|
|
4249
|
+
if (e2 && typeof e2 == `object`) return `H` in e2 ? e2.H : e2.current;
|
|
4250
|
+
}
|
|
4251
|
+
return null;
|
|
4252
|
+
};
|
|
4253
|
+
var w2 = (t2) => {
|
|
4254
|
+
for (let n2 of d) {
|
|
4255
|
+
let e2 = n2.currentDispatcherRef;
|
|
4256
|
+
e2 && typeof e2 == `object` && (`H` in e2 ? e2.H = t2 : e2.current = t2);
|
|
4257
|
+
}
|
|
4258
|
+
};
|
|
4259
|
+
var T2 = (e2) => `
|
|
4260
|
+
in ${e2}`;
|
|
4261
|
+
var oe2 = (e2, t2) => {
|
|
4262
|
+
let n2 = T2(e2);
|
|
4263
|
+
return t2 && (n2 += ` (at ${t2})`), n2;
|
|
4264
|
+
};
|
|
4265
|
+
var E = false;
|
|
4266
|
+
var D = (e2, t2) => {
|
|
4267
|
+
if (!e2 || E) return ``;
|
|
4268
|
+
let n2 = Error.prepareStackTrace;
|
|
4269
|
+
Error.prepareStackTrace = void 0, E = true;
|
|
4270
|
+
let r3 = ae2();
|
|
4271
|
+
w2(null);
|
|
4272
|
+
let i2 = console.error, a3 = console.warn;
|
|
4273
|
+
console.error = () => {
|
|
4274
|
+
}, console.warn = () => {
|
|
4275
|
+
};
|
|
4276
|
+
try {
|
|
4277
|
+
let n3 = { DetermineComponentFrameRoot() {
|
|
4278
|
+
let n4;
|
|
4279
|
+
try {
|
|
4280
|
+
if (t2) {
|
|
4281
|
+
let t3 = function() {
|
|
4282
|
+
throw Error();
|
|
4283
|
+
};
|
|
4284
|
+
if (Object.defineProperty(t3.prototype, `props`, { set: function() {
|
|
4285
|
+
throw Error();
|
|
4286
|
+
} }), typeof Reflect == `object` && Reflect.construct) {
|
|
4287
|
+
try {
|
|
4288
|
+
Reflect.construct(t3, []);
|
|
4289
|
+
} catch (e3) {
|
|
4290
|
+
n4 = e3;
|
|
4291
|
+
}
|
|
4292
|
+
Reflect.construct(e2, [], t3);
|
|
4293
|
+
} else {
|
|
4294
|
+
try {
|
|
4295
|
+
t3.call();
|
|
4296
|
+
} catch (e3) {
|
|
4297
|
+
n4 = e3;
|
|
4298
|
+
}
|
|
4299
|
+
e2.call(t3.prototype);
|
|
4300
|
+
}
|
|
4301
|
+
} else {
|
|
4302
|
+
try {
|
|
4303
|
+
throw Error();
|
|
4304
|
+
} catch (e3) {
|
|
4305
|
+
n4 = e3;
|
|
4306
|
+
}
|
|
4307
|
+
let t3 = e2();
|
|
4308
|
+
t3 && typeof t3.catch == `function` && t3.catch(() => {
|
|
4309
|
+
});
|
|
4310
|
+
}
|
|
4311
|
+
} catch (e3) {
|
|
4312
|
+
if (e3 instanceof Error && n4 instanceof Error && typeof e3.stack == `string`) return [e3.stack, n4.stack];
|
|
4313
|
+
}
|
|
4314
|
+
return [null, null];
|
|
4315
|
+
} };
|
|
4316
|
+
n3.DetermineComponentFrameRoot.displayName = `DetermineComponentFrameRoot`;
|
|
4317
|
+
let r4 = Object.getOwnPropertyDescriptor(n3.DetermineComponentFrameRoot, `name`);
|
|
4318
|
+
r4?.configurable && Object.defineProperty(n3.DetermineComponentFrameRoot, `name`, { value: `DetermineComponentFrameRoot` });
|
|
4319
|
+
let [i3, a4] = n3.DetermineComponentFrameRoot();
|
|
4320
|
+
if (i3 && a4) {
|
|
4321
|
+
let t3 = i3.split(`
|
|
4322
|
+
`), n4 = a4.split(`
|
|
4323
|
+
`), r5 = 0, o4 = 0;
|
|
4324
|
+
for (; r5 < t3.length && !t3[r5].includes(`DetermineComponentFrameRoot`); ) r5++;
|
|
4325
|
+
for (; o4 < n4.length && !n4[o4].includes(`DetermineComponentFrameRoot`); ) o4++;
|
|
4326
|
+
if (r5 === t3.length || o4 === n4.length) for (r5 = t3.length - 1, o4 = n4.length - 1; r5 >= 1 && o4 >= 0 && t3[r5] !== n4[o4]; ) o4--;
|
|
4327
|
+
for (; r5 >= 1 && o4 >= 0; r5--, o4--) if (t3[r5] !== n4[o4]) {
|
|
4328
|
+
if (r5 !== 1 || o4 !== 1) do
|
|
4329
|
+
if (r5--, o4--, o4 < 0 || t3[r5] !== n4[o4]) {
|
|
4330
|
+
let n5 = `
|
|
4331
|
+
${t3[r5].replace(` at new `, ` at `)}`, i4 = Te(e2);
|
|
4332
|
+
return i4 && n5.includes(`<anonymous>`) && (n5 = n5.replace(`<anonymous>`, i4)), n5;
|
|
4333
|
+
}
|
|
4334
|
+
while (r5 >= 1 && o4 >= 0);
|
|
4335
|
+
break;
|
|
4336
|
+
}
|
|
4337
|
+
}
|
|
4338
|
+
} finally {
|
|
4339
|
+
E = false, Error.prepareStackTrace = n2, w2(r3), console.error = i2, console.warn = a3;
|
|
4340
|
+
}
|
|
4341
|
+
let o3 = e2 ? Te(e2) : ``, s3 = o3 ? T2(o3) : ``;
|
|
4342
|
+
return s3;
|
|
4343
|
+
};
|
|
4344
|
+
var se2 = (e2, t2) => {
|
|
4345
|
+
let m3 = e2.tag, h3 = ``;
|
|
4346
|
+
switch (m3) {
|
|
4347
|
+
case ne:
|
|
4348
|
+
h3 = T2(`Activity`);
|
|
4349
|
+
break;
|
|
4350
|
+
case o2:
|
|
4351
|
+
h3 = D(e2.type, true);
|
|
4352
|
+
break;
|
|
4353
|
+
case f2:
|
|
4354
|
+
h3 = D(e2.type.render, false);
|
|
4355
|
+
break;
|
|
4356
|
+
case a2:
|
|
4357
|
+
case h2:
|
|
4358
|
+
h3 = D(e2.type, false);
|
|
4359
|
+
break;
|
|
4360
|
+
case c2:
|
|
4361
|
+
case y:
|
|
4362
|
+
case b:
|
|
4363
|
+
h3 = T2(e2.type);
|
|
4364
|
+
break;
|
|
4365
|
+
case ee:
|
|
4366
|
+
h3 = T2(`Lazy`);
|
|
4367
|
+
break;
|
|
4368
|
+
case p2:
|
|
4369
|
+
h3 = e2.child !== t2 && t2 !== null ? T2(`Suspense Fallback`) : T2(`Suspense`);
|
|
4370
|
+
break;
|
|
4371
|
+
case te:
|
|
4372
|
+
h3 = T2(`SuspenseList`);
|
|
4373
|
+
break;
|
|
4374
|
+
case re:
|
|
4375
|
+
h3 = T2(`ViewTransition`);
|
|
4376
|
+
break;
|
|
4377
|
+
default:
|
|
4378
|
+
return ``;
|
|
4379
|
+
}
|
|
4380
|
+
return h3;
|
|
4381
|
+
};
|
|
4382
|
+
var ce2 = (e2) => {
|
|
4383
|
+
try {
|
|
4384
|
+
let t2 = ``, n2 = e2, r3 = null;
|
|
4385
|
+
do {
|
|
4386
|
+
t2 += se2(n2, r3);
|
|
4387
|
+
let e3 = n2._debugInfo;
|
|
4388
|
+
if (e3 && Array.isArray(e3)) for (let n3 = e3.length - 1; n3 >= 0; n3--) {
|
|
4389
|
+
let r4 = e3[n3];
|
|
4390
|
+
typeof r4.name == `string` && (t2 += oe2(r4.name, r4.env));
|
|
4391
|
+
}
|
|
4392
|
+
r3 = n2, n2 = n2.return;
|
|
4393
|
+
} while (n2);
|
|
4394
|
+
return t2;
|
|
4395
|
+
} catch (e3) {
|
|
4396
|
+
return e3 instanceof Error ? `
|
|
4397
|
+
Error generating stack: ${e3.message}
|
|
4398
|
+
${e3.stack}` : ``;
|
|
4399
|
+
}
|
|
4400
|
+
};
|
|
4401
|
+
var O2 = (e2) => {
|
|
4402
|
+
let t2 = Error.prepareStackTrace;
|
|
4403
|
+
Error.prepareStackTrace = void 0;
|
|
4404
|
+
let n2 = e2;
|
|
4405
|
+
if (!n2) return ``;
|
|
4406
|
+
Error.prepareStackTrace = t2, n2.startsWith(`Error: react-stack-top-frame
|
|
4407
|
+
`) && (n2 = n2.slice(29));
|
|
4408
|
+
let r3 = n2.indexOf(`
|
|
4409
|
+
`);
|
|
4410
|
+
if (r3 !== -1 && (n2 = n2.slice(r3 + 1)), r3 = Math.max(n2.indexOf(`react_stack_bottom_frame`), n2.indexOf(`react-stack-bottom-frame`)), r3 !== -1 && (r3 = n2.lastIndexOf(`
|
|
4411
|
+
`, r3)), r3 !== -1) n2 = n2.slice(0, r3);
|
|
4412
|
+
else return ``;
|
|
4413
|
+
return n2;
|
|
4414
|
+
};
|
|
4415
|
+
var k2 = /(^|@)\S+:\d+/;
|
|
4416
|
+
var A2 = /^\s*at .*(\S+:\d+|\(native\))/m;
|
|
4417
|
+
var le2 = /^(eval@)?(\[native code\])?$/;
|
|
4418
|
+
var M2 = (e2, t2) => {
|
|
4419
|
+
if (t2?.includeInElement !== false) {
|
|
4420
|
+
let n2 = e2.split(`
|
|
4421
|
+
`), r3 = [];
|
|
4422
|
+
for (let e3 of n2) if (/^\s*at\s+/.test(e3)) {
|
|
4423
|
+
let t3 = F2(e3, void 0)[0];
|
|
4424
|
+
t3 && r3.push(t3);
|
|
4425
|
+
} else if (/^\s*in\s+/.test(e3)) {
|
|
4426
|
+
let t3 = e3.replace(/^\s*in\s+/, ``).replace(/\s*\(at .*\)$/, ``);
|
|
4427
|
+
r3.push({ function: t3, raw: e3 });
|
|
4428
|
+
} else if (e3.match(k2)) {
|
|
4429
|
+
let t3 = I2(e3, void 0)[0];
|
|
4430
|
+
t3 && r3.push(t3);
|
|
4431
|
+
}
|
|
4432
|
+
return P2(r3, t2);
|
|
4433
|
+
}
|
|
4434
|
+
return e2.match(A2) ? F2(e2, t2) : I2(e2, t2);
|
|
4435
|
+
};
|
|
4436
|
+
var N2 = (e2) => {
|
|
4437
|
+
if (!e2.includes(`:`)) return [e2, void 0, void 0];
|
|
4438
|
+
let t2 = /(.+?)(?::(\d+))?(?::(\d+))?$/, n2 = t2.exec(e2.replace(/[()]/g, ``));
|
|
4439
|
+
return [n2[1], n2[2] || void 0, n2[3] || void 0];
|
|
4440
|
+
};
|
|
4441
|
+
var P2 = (e2, t2) => t2 && t2.slice != null ? Array.isArray(t2.slice) ? e2.slice(t2.slice[0], t2.slice[1]) : e2.slice(0, t2.slice) : e2;
|
|
4442
|
+
var F2 = (e2, t2) => {
|
|
4443
|
+
let n2 = P2(e2.split(`
|
|
4444
|
+
`).filter((e3) => !!e3.match(A2)), t2);
|
|
4445
|
+
return n2.map((e3) => {
|
|
4446
|
+
let t3 = e3;
|
|
4447
|
+
t3.includes(`(eval `) && (t3 = t3.replace(/eval code/g, `eval`).replace(/(\(eval at [^()]*)|(,.*$)/g, ``));
|
|
4448
|
+
let n3 = t3.replace(/^\s+/, ``).replace(/\(eval code/g, `(`).replace(/^.*?\s+/, ``), r3 = n3.match(/ (\(.+\)$)/);
|
|
4449
|
+
n3 = r3 ? n3.replace(r3[0], ``) : n3;
|
|
4450
|
+
let i2 = N2(r3 ? r3[1] : n3), a3 = r3 && n3 || void 0, o3 = [`eval`, `<anonymous>`].includes(i2[0]) ? void 0 : i2[0];
|
|
4451
|
+
return { function: a3, file: o3, line: i2[1] ? +i2[1] : void 0, col: i2[2] ? +i2[2] : void 0, raw: t3 };
|
|
4452
|
+
});
|
|
4453
|
+
};
|
|
4454
|
+
var I2 = (e2, t2) => {
|
|
4455
|
+
let n2 = P2(e2.split(`
|
|
4456
|
+
`).filter((e3) => !e3.match(le2)), t2);
|
|
4457
|
+
return n2.map((e3) => {
|
|
4458
|
+
let t3 = e3;
|
|
4459
|
+
if (t3.includes(` > eval`) && (t3 = t3.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, `:$1`)), !t3.includes(`@`) && !t3.includes(`:`)) return { function: t3 };
|
|
4460
|
+
{
|
|
4461
|
+
let e4 = /(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/, n3 = t3.match(e4), r3 = n3 && n3[1] ? n3[1] : void 0, i2 = N2(t3.replace(e4, ``));
|
|
4462
|
+
return { function: r3, file: i2[0], line: i2[1] ? +i2[1] : void 0, col: i2[2] ? +i2[2] : void 0, raw: t3 };
|
|
4463
|
+
}
|
|
4464
|
+
});
|
|
4465
|
+
};
|
|
4466
|
+
var pe2 = ne2((exports, t2) => {
|
|
4467
|
+
(function(n2, r3) {
|
|
4468
|
+
typeof exports == `object` && t2 !== void 0 ? r3(exports) : typeof define == `function` && define.amd ? define([`exports`], r3) : (n2 = typeof globalThis < `u` ? globalThis : n2 || self, r3(n2.sourcemapCodec = {}));
|
|
4469
|
+
})(void 0, function(e2) {
|
|
4470
|
+
let t3 = 44, n2 = 59, r3 = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`, i2 = new Uint8Array(64), a3 = new Uint8Array(128);
|
|
4471
|
+
for (let e3 = 0; e3 < r3.length; e3++) {
|
|
4472
|
+
let t4 = r3.charCodeAt(e3);
|
|
4473
|
+
i2[e3] = t4, a3[t4] = e3;
|
|
4474
|
+
}
|
|
4475
|
+
function o3(e3, t4) {
|
|
4476
|
+
let n3 = 0, r4 = 0, i3 = 0;
|
|
4477
|
+
do {
|
|
4478
|
+
let t5 = e3.next();
|
|
4479
|
+
i3 = a3[t5], n3 |= (i3 & 31) << r4, r4 += 5;
|
|
4480
|
+
} while (i3 & 32);
|
|
4481
|
+
let o4 = n3 & 1;
|
|
4482
|
+
return n3 >>>= 1, o4 && (n3 = -2147483648 | -n3), t4 + n3;
|
|
4483
|
+
}
|
|
4484
|
+
function s3(e3, t4, n3) {
|
|
4485
|
+
let r4 = t4 - n3;
|
|
4486
|
+
r4 = r4 < 0 ? -r4 << 1 | 1 : r4 << 1;
|
|
4487
|
+
do {
|
|
4488
|
+
let t5 = r4 & 31;
|
|
4489
|
+
r4 >>>= 5, r4 > 0 && (t5 |= 32), e3.write(i2[t5]);
|
|
4490
|
+
} while (r4 > 0);
|
|
4491
|
+
return t4;
|
|
4492
|
+
}
|
|
4493
|
+
function c3(e3, n3) {
|
|
4494
|
+
return e3.pos >= n3 ? false : e3.peek() !== t3;
|
|
4495
|
+
}
|
|
4496
|
+
let l3 = 1024 * 16, u3 = typeof TextDecoder < `u` ? new TextDecoder() : typeof Buffer < `u` ? { decode(e3) {
|
|
4497
|
+
let t4 = Buffer.from(e3.buffer, e3.byteOffset, e3.byteLength);
|
|
4498
|
+
return t4.toString();
|
|
4499
|
+
} } : { decode(e3) {
|
|
4500
|
+
let t4 = ``;
|
|
4501
|
+
for (let n3 = 0; n3 < e3.length; n3++) t4 += String.fromCharCode(e3[n3]);
|
|
4502
|
+
return t4;
|
|
4503
|
+
} };
|
|
4504
|
+
class d3 {
|
|
4505
|
+
constructor() {
|
|
4506
|
+
this.pos = 0, this.out = ``, this.buffer = new Uint8Array(l3);
|
|
4507
|
+
}
|
|
4508
|
+
write(e3) {
|
|
4509
|
+
let { buffer: t4 } = this;
|
|
4510
|
+
t4[this.pos++] = e3, this.pos === l3 && (this.out += u3.decode(t4), this.pos = 0);
|
|
4511
|
+
}
|
|
4512
|
+
flush() {
|
|
4513
|
+
let { buffer: e3, out: t4, pos: n3 } = this;
|
|
4514
|
+
return n3 > 0 ? t4 + u3.decode(e3.subarray(0, n3)) : t4;
|
|
4515
|
+
}
|
|
4516
|
+
}
|
|
4517
|
+
class f3 {
|
|
4518
|
+
constructor(e3) {
|
|
4519
|
+
this.pos = 0, this.buffer = e3;
|
|
4520
|
+
}
|
|
4521
|
+
next() {
|
|
4522
|
+
return this.buffer.charCodeAt(this.pos++);
|
|
4523
|
+
}
|
|
4524
|
+
peek() {
|
|
4525
|
+
return this.buffer.charCodeAt(this.pos);
|
|
4526
|
+
}
|
|
4527
|
+
indexOf(e3) {
|
|
4528
|
+
let { buffer: t4, pos: n3 } = this, r4 = t4.indexOf(e3, n3);
|
|
4529
|
+
return r4 === -1 ? t4.length : r4;
|
|
4530
|
+
}
|
|
4531
|
+
}
|
|
4532
|
+
let p3 = [];
|
|
4533
|
+
function m3(e3) {
|
|
4534
|
+
let { length: t4 } = e3, n3 = new f3(e3), r4 = [], i3 = [], a4 = 0;
|
|
4535
|
+
for (; n3.pos < t4; n3.pos++) {
|
|
4536
|
+
a4 = o3(n3, a4);
|
|
4537
|
+
let e4 = o3(n3, 0);
|
|
4538
|
+
if (!c3(n3, t4)) {
|
|
4539
|
+
let t5 = i3.pop();
|
|
4540
|
+
t5[2] = a4, t5[3] = e4;
|
|
4541
|
+
continue;
|
|
4542
|
+
}
|
|
4543
|
+
let s4 = o3(n3, 0), l4 = o3(n3, 0), u4 = l4 & 1, d4 = u4 ? [a4, e4, 0, 0, s4, o3(n3, 0)] : [a4, e4, 0, 0, s4], f4 = p3;
|
|
4544
|
+
if (c3(n3, t4)) {
|
|
4545
|
+
f4 = [];
|
|
4546
|
+
do {
|
|
4547
|
+
let e5 = o3(n3, 0);
|
|
4548
|
+
f4.push(e5);
|
|
4549
|
+
} while (c3(n3, t4));
|
|
4550
|
+
}
|
|
4551
|
+
d4.vars = f4, r4.push(d4), i3.push(d4);
|
|
4552
|
+
}
|
|
4553
|
+
return r4;
|
|
4554
|
+
}
|
|
4555
|
+
function h3(e3) {
|
|
4556
|
+
let t4 = new d3();
|
|
4557
|
+
for (let n3 = 0; n3 < e3.length; ) n3 = g3(e3, n3, t4, [0]);
|
|
4558
|
+
return t4.flush();
|
|
4559
|
+
}
|
|
4560
|
+
function g3(e3, n3, r4, i3) {
|
|
4561
|
+
let a4 = e3[n3], { 0: o4, 1: c4, 2: l4, 3: u4, 4: d4, vars: f4 } = a4;
|
|
4562
|
+
n3 > 0 && r4.write(t3), i3[0] = s3(r4, o4, i3[0]), s3(r4, c4, 0), s3(r4, d4, 0);
|
|
4563
|
+
let p4 = a4.length === 6 ? 1 : 0;
|
|
4564
|
+
s3(r4, p4, 0), a4.length === 6 && s3(r4, a4[5], 0);
|
|
4565
|
+
for (let e4 of f4) s3(r4, e4, 0);
|
|
4566
|
+
for (n3++; n3 < e3.length; ) {
|
|
4567
|
+
let t4 = e3[n3], { 0: a5, 1: o5 } = t4;
|
|
4568
|
+
if (a5 > l4 || a5 === l4 && o5 >= u4) break;
|
|
4569
|
+
n3 = g3(e3, n3, r4, i3);
|
|
4570
|
+
}
|
|
4571
|
+
return r4.write(t3), i3[0] = s3(r4, l4, i3[0]), s3(r4, u4, 0), n3;
|
|
4572
|
+
}
|
|
4573
|
+
function _3(e3) {
|
|
4574
|
+
let { length: t4 } = e3, n3 = new f3(e3), r4 = [], i3 = [], a4 = 0, s4 = 0, l4 = 0, u4 = 0, d4 = 0, m4 = 0, h4 = 0, g4 = 0;
|
|
4575
|
+
do {
|
|
4576
|
+
let e4 = n3.indexOf(`;`), t5 = 0;
|
|
4577
|
+
for (; n3.pos < e4; n3.pos++) {
|
|
4578
|
+
if (t5 = o3(n3, t5), !c3(n3, e4)) {
|
|
4579
|
+
let e5 = i3.pop();
|
|
4580
|
+
e5[2] = a4, e5[3] = t5;
|
|
4581
|
+
continue;
|
|
4582
|
+
}
|
|
4583
|
+
let f4 = o3(n3, 0), _4 = f4 & 1, v3 = f4 & 2, y3 = f4 & 4, b4 = null, x4 = p3, S4;
|
|
4584
|
+
if (_4) {
|
|
4585
|
+
let e5 = o3(n3, s4);
|
|
4586
|
+
l4 = o3(n3, s4 === e5 ? l4 : 0), s4 = e5, S4 = [a4, t5, 0, 0, e5, l4];
|
|
4587
|
+
} else S4 = [a4, t5, 0, 0];
|
|
4588
|
+
if (S4.isScope = !!y3, v3) {
|
|
4589
|
+
let e5 = u4, t6 = d4;
|
|
4590
|
+
u4 = o3(n3, u4);
|
|
4591
|
+
let r5 = e5 === u4;
|
|
4592
|
+
d4 = o3(n3, r5 ? d4 : 0), m4 = o3(n3, r5 && t6 === d4 ? m4 : 0), b4 = [u4, d4, m4];
|
|
4593
|
+
}
|
|
4594
|
+
if (S4.callsite = b4, c3(n3, e4)) {
|
|
4595
|
+
x4 = [];
|
|
4596
|
+
do {
|
|
4597
|
+
h4 = a4, g4 = t5;
|
|
4598
|
+
let e5 = o3(n3, 0), r5;
|
|
4599
|
+
if (e5 < -1) {
|
|
4600
|
+
r5 = [[o3(n3, 0)]];
|
|
4601
|
+
for (let t6 = -1; t6 > e5; t6--) {
|
|
4602
|
+
let e6 = h4;
|
|
4603
|
+
h4 = o3(n3, h4), g4 = o3(n3, h4 === e6 ? g4 : 0);
|
|
4604
|
+
let t7 = o3(n3, 0);
|
|
4605
|
+
r5.push([t7, h4, g4]);
|
|
4606
|
+
}
|
|
4607
|
+
} else r5 = [[e5]];
|
|
4608
|
+
x4.push(r5);
|
|
4609
|
+
} while (c3(n3, e4));
|
|
4610
|
+
}
|
|
4611
|
+
S4.bindings = x4, r4.push(S4), i3.push(S4);
|
|
4612
|
+
}
|
|
4613
|
+
a4++, n3.pos = e4 + 1;
|
|
4614
|
+
} while (n3.pos < t4);
|
|
4615
|
+
return r4;
|
|
4616
|
+
}
|
|
4617
|
+
function v2(e3) {
|
|
4618
|
+
if (e3.length === 0) return ``;
|
|
4619
|
+
let t4 = new d3();
|
|
4620
|
+
for (let n3 = 0; n3 < e3.length; ) n3 = y2(e3, n3, t4, [0, 0, 0, 0, 0, 0, 0]);
|
|
4621
|
+
return t4.flush();
|
|
4622
|
+
}
|
|
4623
|
+
function y2(e3, n3, r4, i3) {
|
|
4624
|
+
let a4 = e3[n3], { 0: o4, 1: c4, 2: l4, 3: u4, isScope: d4, callsite: f4, bindings: p4 } = a4;
|
|
4625
|
+
i3[0] < o4 ? (b3(r4, i3[0], o4), i3[0] = o4, i3[1] = 0) : n3 > 0 && r4.write(t3), i3[1] = s3(r4, a4[1], i3[1]);
|
|
4626
|
+
let m4 = (a4.length === 6 ? 1 : 0) | (f4 ? 2 : 0) | (d4 ? 4 : 0);
|
|
4627
|
+
if (s3(r4, m4, 0), a4.length === 6) {
|
|
4628
|
+
let { 4: e4, 5: t4 } = a4;
|
|
4629
|
+
e4 !== i3[2] && (i3[3] = 0), i3[2] = s3(r4, e4, i3[2]), i3[3] = s3(r4, t4, i3[3]);
|
|
4630
|
+
}
|
|
4631
|
+
if (f4) {
|
|
4632
|
+
let { 0: e4, 1: t4, 2: n4 } = a4.callsite;
|
|
4633
|
+
e4 === i3[4] ? t4 !== i3[5] && (i3[6] = 0) : (i3[5] = 0, i3[6] = 0), i3[4] = s3(r4, e4, i3[4]), i3[5] = s3(r4, t4, i3[5]), i3[6] = s3(r4, n4, i3[6]);
|
|
4634
|
+
}
|
|
4635
|
+
if (p4) for (let e4 of p4) {
|
|
4636
|
+
e4.length > 1 && s3(r4, -e4.length, 0);
|
|
4637
|
+
let t4 = e4[0][0];
|
|
4638
|
+
s3(r4, t4, 0);
|
|
4639
|
+
let n4 = o4, i4 = c4;
|
|
4640
|
+
for (let t5 = 1; t5 < e4.length; t5++) {
|
|
4641
|
+
let a5 = e4[t5];
|
|
4642
|
+
n4 = s3(r4, a5[1], n4), i4 = s3(r4, a5[2], i4), s3(r4, a5[0], 0);
|
|
4643
|
+
}
|
|
4644
|
+
}
|
|
4645
|
+
for (n3++; n3 < e3.length; ) {
|
|
4646
|
+
let t4 = e3[n3], { 0: a5, 1: o5 } = t4;
|
|
4647
|
+
if (a5 > l4 || a5 === l4 && o5 >= u4) break;
|
|
4648
|
+
n3 = y2(e3, n3, r4, i3);
|
|
4649
|
+
}
|
|
4650
|
+
return i3[0] < l4 ? (b3(r4, i3[0], l4), i3[0] = l4, i3[1] = 0) : r4.write(t3), i3[1] = s3(r4, u4, i3[1]), n3;
|
|
4651
|
+
}
|
|
4652
|
+
function b3(e3, t4, r4) {
|
|
4653
|
+
do
|
|
4654
|
+
e3.write(n2);
|
|
4655
|
+
while (++t4 < r4);
|
|
4656
|
+
}
|
|
4657
|
+
function x3(e3) {
|
|
4658
|
+
let { length: t4 } = e3, n3 = new f3(e3), r4 = [], i3 = 0, a4 = 0, s4 = 0, l4 = 0, u4 = 0;
|
|
4659
|
+
do {
|
|
4660
|
+
let e4 = n3.indexOf(`;`), t5 = [], d4 = true, f4 = 0;
|
|
4661
|
+
for (i3 = 0; n3.pos < e4; ) {
|
|
4662
|
+
let r5;
|
|
4663
|
+
i3 = o3(n3, i3), i3 < f4 && (d4 = false), f4 = i3, c3(n3, e4) ? (a4 = o3(n3, a4), s4 = o3(n3, s4), l4 = o3(n3, l4), c3(n3, e4) ? (u4 = o3(n3, u4), r5 = [i3, a4, s4, l4, u4]) : r5 = [i3, a4, s4, l4]) : r5 = [i3], t5.push(r5), n3.pos++;
|
|
4664
|
+
}
|
|
4665
|
+
d4 || S3(t5), r4.push(t5), n3.pos = e4 + 1;
|
|
4666
|
+
} while (n3.pos <= t4);
|
|
4667
|
+
return r4;
|
|
4668
|
+
}
|
|
4669
|
+
function S3(e3) {
|
|
4670
|
+
e3.sort(C3);
|
|
4671
|
+
}
|
|
4672
|
+
function C3(e3, t4) {
|
|
4673
|
+
return e3[0] - t4[0];
|
|
4674
|
+
}
|
|
4675
|
+
function ee3(e3) {
|
|
4676
|
+
let r4 = new d3(), i3 = 0, a4 = 0, o4 = 0, c4 = 0;
|
|
4677
|
+
for (let l4 = 0; l4 < e3.length; l4++) {
|
|
4678
|
+
let u4 = e3[l4];
|
|
4679
|
+
if (l4 > 0 && r4.write(n2), u4.length === 0) continue;
|
|
4680
|
+
let d4 = 0;
|
|
4681
|
+
for (let e4 = 0; e4 < u4.length; e4++) {
|
|
4682
|
+
let n3 = u4[e4];
|
|
4683
|
+
e4 > 0 && r4.write(t3), d4 = s3(r4, n3[0], d4), n3.length !== 1 && (i3 = s3(r4, n3[1], i3), a4 = s3(r4, n3[2], a4), o4 = s3(r4, n3[3], o4), n3.length !== 4 && (c4 = s3(r4, n3[4], c4)));
|
|
4684
|
+
}
|
|
4685
|
+
}
|
|
4686
|
+
return r4.flush();
|
|
4687
|
+
}
|
|
4688
|
+
e2.decode = x3, e2.decodeGeneratedRanges = _3, e2.decodeOriginalScopes = m3, e2.encode = ee3, e2.encodeGeneratedRanges = v2, e2.encodeOriginalScopes = h3, Object.defineProperty(e2, `__esModule`, { value: true });
|
|
4689
|
+
});
|
|
4690
|
+
});
|
|
4691
|
+
var B2 = ie2(pe2());
|
|
4692
|
+
var V2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
|
|
4693
|
+
var me2 = /^data:application\/json[^,]+base64,/;
|
|
4694
|
+
var he2 = /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/;
|
|
4695
|
+
var H2 = typeof WeakRef < `u`;
|
|
4696
|
+
var U2 = /* @__PURE__ */ new Map();
|
|
4697
|
+
var W2 = /* @__PURE__ */ new Map();
|
|
4698
|
+
var ge2 = (e2) => H2 && e2 instanceof WeakRef;
|
|
4699
|
+
var G2 = (e2, t2, n2, r3) => {
|
|
4700
|
+
if (n2 < 0 || n2 >= e2.length) return null;
|
|
4701
|
+
let i2 = e2[n2];
|
|
4702
|
+
if (!i2 || i2.length === 0) return null;
|
|
4703
|
+
let a3 = null;
|
|
4704
|
+
for (let e3 of i2) if (e3[0] <= r3) a3 = e3;
|
|
4705
|
+
else break;
|
|
4706
|
+
if (!a3 || a3.length < 4) return null;
|
|
4707
|
+
let [, o3, s3, c3] = a3;
|
|
4708
|
+
if (o3 === void 0 || s3 === void 0 || c3 === void 0) return null;
|
|
4709
|
+
let l3 = t2[o3];
|
|
4710
|
+
return l3 ? { columnNumber: c3, fileName: l3, lineNumber: s3 + 1 } : null;
|
|
4711
|
+
};
|
|
4712
|
+
var K = (e2, t2, n2) => {
|
|
4713
|
+
if (e2.sections) {
|
|
4714
|
+
let r3 = null;
|
|
4715
|
+
for (let i3 of e2.sections) if (t2 > i3.offset.line || t2 === i3.offset.line && n2 >= i3.offset.column) r3 = i3;
|
|
4716
|
+
else break;
|
|
4717
|
+
if (!r3) return null;
|
|
4718
|
+
let i2 = t2 - r3.offset.line, a3 = t2 === r3.offset.line ? n2 - r3.offset.column : n2;
|
|
4719
|
+
return G2(r3.map.mappings, r3.map.sources, i2, a3);
|
|
4720
|
+
}
|
|
4721
|
+
return G2(e2.mappings, e2.sources, t2 - 1, n2);
|
|
4722
|
+
};
|
|
4723
|
+
var _e2 = (e2, t2) => {
|
|
4724
|
+
let n2 = t2.split(`
|
|
4725
|
+
`), r3;
|
|
4726
|
+
for (let e3 = n2.length - 1; e3 >= 0 && !r3; e3--) {
|
|
4727
|
+
let t3 = n2[e3].match(he2);
|
|
4728
|
+
t3 && (r3 = t3[1] || t3[2]);
|
|
4729
|
+
}
|
|
4730
|
+
if (!r3) return null;
|
|
4731
|
+
let i2 = V2.test(r3);
|
|
4732
|
+
if (!(me2.test(r3) || i2 || r3.startsWith(`/`))) {
|
|
4733
|
+
let t3 = e2.split(`/`);
|
|
4734
|
+
t3[t3.length - 1] = r3, r3 = t3.join(`/`);
|
|
4735
|
+
}
|
|
4736
|
+
return r3;
|
|
4737
|
+
};
|
|
4738
|
+
var ve2 = (e2) => ({ file: e2.file, mappings: (0, B2.decode)(e2.mappings), names: e2.names, sourceRoot: e2.sourceRoot, sources: e2.sources, sourcesContent: e2.sourcesContent, version: 3 });
|
|
4739
|
+
var ye2 = (e2) => {
|
|
4740
|
+
let t2 = e2.sections.map(({ map: e3, offset: t3 }) => ({ map: { ...e3, mappings: (0, B2.decode)(e3.mappings) }, offset: t3 })), n2 = /* @__PURE__ */ new Set();
|
|
4741
|
+
for (let e3 of t2) for (let t3 of e3.map.sources) n2.add(t3);
|
|
4742
|
+
return { file: e2.file, mappings: [], names: [], sections: t2, sourceRoot: void 0, sources: Array.from(n2), sourcesContent: void 0, version: 3 };
|
|
4743
|
+
};
|
|
4744
|
+
var q = (e2) => {
|
|
4745
|
+
if (!e2) return false;
|
|
4746
|
+
let t2 = e2.trim();
|
|
4747
|
+
if (!t2) return false;
|
|
4748
|
+
let n2 = t2.match(V2);
|
|
4749
|
+
if (!n2) return true;
|
|
4750
|
+
let r3 = n2[0].toLowerCase();
|
|
4751
|
+
return r3 === `http:` || r3 === `https:`;
|
|
4752
|
+
};
|
|
4753
|
+
var J = async (e2, t2 = fetch) => {
|
|
4754
|
+
if (!q(e2)) return null;
|
|
4755
|
+
let n2;
|
|
4756
|
+
try {
|
|
4757
|
+
let r4 = await t2(e2);
|
|
4758
|
+
n2 = await r4.text();
|
|
4759
|
+
} catch {
|
|
4760
|
+
return null;
|
|
4761
|
+
}
|
|
4762
|
+
if (!n2) return null;
|
|
4763
|
+
let r3 = _e2(e2, n2);
|
|
4764
|
+
if (!r3 || !q(r3)) return null;
|
|
4765
|
+
try {
|
|
4766
|
+
let e3 = await t2(r3), n3 = await e3.json();
|
|
4767
|
+
return `sections` in n3 ? ye2(n3) : ve2(n3);
|
|
4768
|
+
} catch {
|
|
4769
|
+
return null;
|
|
4770
|
+
}
|
|
4771
|
+
};
|
|
4772
|
+
var Y = async (e2, t2 = true, n2) => {
|
|
4773
|
+
if (t2 && U2.has(e2)) {
|
|
4774
|
+
let t3 = U2.get(e2);
|
|
4775
|
+
if (t3 == null) return null;
|
|
4776
|
+
if (ge2(t3)) {
|
|
4777
|
+
let n3 = t3.deref();
|
|
4778
|
+
if (n3) return n3;
|
|
4779
|
+
U2.delete(e2);
|
|
4780
|
+
} else return t3;
|
|
4781
|
+
}
|
|
4782
|
+
if (t2 && W2.has(e2)) return W2.get(e2);
|
|
4783
|
+
let r3 = J(e2, n2);
|
|
4784
|
+
t2 && W2.set(e2, r3);
|
|
4785
|
+
let i2 = await r3;
|
|
4786
|
+
return t2 && W2.delete(e2), t2 && (i2 === null ? U2.set(e2, null) : U2.set(e2, H2 ? new WeakRef(i2) : i2)), i2;
|
|
4787
|
+
};
|
|
4788
|
+
var be2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
|
|
4789
|
+
var xe2 = [`rsc://`, `file:///`, `webpack://`, `node:`, `turbopack://`, `metro://`];
|
|
4790
|
+
var Se2 = `about://React/`;
|
|
4791
|
+
var Ce2 = [`<anonymous>`, `eval`, ``];
|
|
4792
|
+
var we2 = /\.(jsx|tsx|ts|js)$/;
|
|
4793
|
+
var Te2 = /(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i;
|
|
4794
|
+
var Ee2 = /^\?[\w~.\-]+(?:=[^&#]*)?(?:&[\w~.\-]+(?:=[^&#]*)?)*$/;
|
|
4795
|
+
var De2 = (e2) => e2._debugStack instanceof Error && typeof e2._debugStack?.stack == `string`;
|
|
4796
|
+
var Oe = (e2) => {
|
|
4797
|
+
let t2 = e2._debugSource;
|
|
4798
|
+
return t2 ? typeof t2 == `object` && !!t2 && `fileName` in t2 && typeof t2.fileName == `string` && `lineNumber` in t2 && typeof t2.lineNumber == `number` : false;
|
|
4799
|
+
};
|
|
4800
|
+
var ke2 = async (e2, t2 = true, n2) => {
|
|
4801
|
+
if (Oe(e2)) {
|
|
4802
|
+
let t3 = e2._debugSource;
|
|
4803
|
+
return t3 || null;
|
|
4804
|
+
}
|
|
4805
|
+
let r3 = X2(e2), i2 = await Z(r3, 1, t2, n2);
|
|
4806
|
+
return !i2 || i2.length === 0 ? null : i2[0];
|
|
4807
|
+
};
|
|
4808
|
+
var X2 = (e2) => De2(e2) ? O2(e2._debugStack.stack) : ce2(e2);
|
|
4809
|
+
var Z = async (e2, t2 = 1, n2 = true, r3) => {
|
|
4810
|
+
let i2 = M2(e2, { slice: t2 ?? 1 }), a3 = [];
|
|
4811
|
+
for (let e3 of i2) {
|
|
4812
|
+
if (!e3?.file) continue;
|
|
4813
|
+
let t3 = await Y(e3.file, n2, r3);
|
|
4814
|
+
if (t3 && typeof e3.line == `number` && typeof e3.col == `number`) {
|
|
4815
|
+
let n3 = K(t3, e3.line, e3.col);
|
|
4816
|
+
if (n3) {
|
|
4817
|
+
a3.push(n3);
|
|
4818
|
+
continue;
|
|
4819
|
+
}
|
|
4820
|
+
}
|
|
4821
|
+
a3.push({ fileName: e3.file, lineNumber: e3.line, columnNumber: e3.col, functionName: e3.function });
|
|
4822
|
+
}
|
|
4823
|
+
return a3;
|
|
4824
|
+
};
|
|
4825
|
+
var Q = (e2) => {
|
|
4826
|
+
if (!e2 || Ce2.includes(e2)) return ``;
|
|
4827
|
+
let t2 = e2;
|
|
4828
|
+
if (t2.startsWith(Se2)) {
|
|
4829
|
+
let e3 = t2.slice(Se2.length), n3 = e3.indexOf(`/`), r3 = e3.indexOf(`:`);
|
|
4830
|
+
t2 = n3 !== -1 && (r3 === -1 || n3 < r3) ? e3.slice(n3 + 1) : e3;
|
|
4831
|
+
}
|
|
4832
|
+
for (let e3 of xe2) if (t2.startsWith(e3)) {
|
|
4833
|
+
t2 = t2.slice(e3.length), e3 === `file:///` && (t2 = `/${t2.replace(/^\/+/, ``)}`);
|
|
4834
|
+
break;
|
|
4835
|
+
}
|
|
4836
|
+
if (be2.test(t2)) {
|
|
4837
|
+
let e3 = t2.match(be2);
|
|
4838
|
+
e3 && (t2 = t2.slice(e3[0].length));
|
|
4839
|
+
}
|
|
4840
|
+
let n2 = t2.indexOf(`?`);
|
|
4841
|
+
if (n2 !== -1) {
|
|
4842
|
+
let e3 = t2.slice(n2);
|
|
4843
|
+
Ee2.test(e3) && (t2 = t2.slice(0, n2));
|
|
4844
|
+
}
|
|
4845
|
+
return t2;
|
|
4846
|
+
};
|
|
4847
|
+
var je2 = (e2) => {
|
|
4848
|
+
let t2 = Q(e2);
|
|
4849
|
+
return !(!t2 || !we2.test(t2) || Te2.test(t2));
|
|
4850
|
+
};
|
|
4851
|
+
|
|
810
4852
|
// src/utils/is-capitalized.ts
|
|
811
4853
|
var isCapitalized = (value) => value.length > 0 && /^[A-Z]/.test(value);
|
|
812
4854
|
|
|
@@ -857,16 +4899,16 @@ var checkIsSourceComponentName = (name) => {
|
|
|
857
4899
|
return true;
|
|
858
4900
|
};
|
|
859
4901
|
var getNearestComponentName = (element) => {
|
|
860
|
-
if (!
|
|
4902
|
+
if (!Ee()) return null;
|
|
861
4903
|
try {
|
|
862
|
-
const fiber =
|
|
4904
|
+
const fiber = Pe(element);
|
|
863
4905
|
if (!fiber) return null;
|
|
864
4906
|
let foundComponentName = null;
|
|
865
|
-
|
|
4907
|
+
N(
|
|
866
4908
|
fiber,
|
|
867
4909
|
(currentFiber) => {
|
|
868
|
-
if (
|
|
869
|
-
const displayName =
|
|
4910
|
+
if (pe(currentFiber)) {
|
|
4911
|
+
const displayName = Te(currentFiber);
|
|
870
4912
|
if (displayName && checkIsSourceComponentName(displayName)) {
|
|
871
4913
|
foundComponentName = displayName;
|
|
872
4914
|
return true;
|
|
@@ -882,20 +4924,20 @@ var getNearestComponentName = (element) => {
|
|
|
882
4924
|
}
|
|
883
4925
|
};
|
|
884
4926
|
var getStack = async (element) => {
|
|
885
|
-
if (!
|
|
4927
|
+
if (!Ee()) return [];
|
|
886
4928
|
try {
|
|
887
|
-
const maybeFiber =
|
|
888
|
-
if (!maybeFiber || !
|
|
889
|
-
const fiber =
|
|
4929
|
+
const maybeFiber = Pe(element);
|
|
4930
|
+
if (!maybeFiber || !me(maybeFiber)) return [];
|
|
4931
|
+
const fiber = De(maybeFiber);
|
|
890
4932
|
const unresolvedStack = [];
|
|
891
|
-
|
|
4933
|
+
N(
|
|
892
4934
|
fiber,
|
|
893
4935
|
(currentFiber) => {
|
|
894
|
-
const displayName =
|
|
4936
|
+
const displayName = k(currentFiber) ? typeof currentFiber.type === "string" ? currentFiber.type : null : Te(currentFiber);
|
|
895
4937
|
if (displayName && !checkIsInternalComponentName(displayName)) {
|
|
896
4938
|
unresolvedStack.push({
|
|
897
4939
|
name: displayName,
|
|
898
|
-
sourcePromise:
|
|
4940
|
+
sourcePromise: ke2(currentFiber)
|
|
899
4941
|
});
|
|
900
4942
|
}
|
|
901
4943
|
},
|
|
@@ -919,8 +4961,8 @@ var formatStack = (stack) => {
|
|
|
919
4961
|
if (source.fileName.startsWith("about://React/Server")) {
|
|
920
4962
|
return ` at ${name} (Server)`;
|
|
921
4963
|
}
|
|
922
|
-
if (!
|
|
923
|
-
const framePart = ` at ${name} in ${
|
|
4964
|
+
if (!je2(source.fileName)) return ` at ${name}`;
|
|
4965
|
+
const framePart = ` at ${name} in ${Q(source.fileName)}`;
|
|
924
4966
|
if (isNextProject) {
|
|
925
4967
|
return `${framePart}:${source.lineNumber}:${source.columnNumber}`;
|
|
926
4968
|
}
|
|
@@ -1208,17 +5250,24 @@ var init = (rawOptions) => {
|
|
|
1208
5250
|
hasInited = true;
|
|
1209
5251
|
const logIntro = () => {
|
|
1210
5252
|
try {
|
|
1211
|
-
const version = "0.0.
|
|
5253
|
+
const version = "0.0.49";
|
|
1212
5254
|
const logoSvg = `<svg width="294" height="294" viewBox="0 0 294 294" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_0_3)"><mask id="mask0_0_3" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="294" height="294"><path d="M294 0H0V294H294V0Z" fill="white"/></mask><g mask="url(#mask0_0_3)"><path d="M144.599 47.4924C169.712 27.3959 194.548 20.0265 212.132 30.1797C227.847 39.2555 234.881 60.3243 231.926 89.516C231.677 92.0069 231.328 94.5423 230.94 97.1058L228.526 110.14C228.517 110.136 228.505 110.132 228.495 110.127C228.486 110.165 228.479 110.203 228.468 110.24L216.255 105.741C216.256 105.736 216.248 105.728 216.248 105.723C207.915 103.125 199.421 101.075 190.82 99.5888L190.696 99.5588L173.526 97.2648L173.511 97.2631C173.492 97.236 173.467 97.2176 173.447 97.1905C163.862 96.2064 154.233 95.7166 144.599 95.7223C134.943 95.7162 125.295 96.219 115.693 97.2286C110.075 105.033 104.859 113.118 100.063 121.453C95.2426 129.798 90.8624 138.391 86.939 147.193C90.8624 155.996 95.2426 164.588 100.063 172.933C104.866 181.302 110.099 189.417 115.741 197.245C115.749 197.245 115.758 197.246 115.766 197.247L115.752 197.27L115.745 197.283L115.754 197.296L126.501 211.013L126.574 211.089C132.136 217.767 138.126 224.075 144.507 229.974L144.609 230.082L154.572 238.287C154.539 238.319 154.506 238.35 154.472 238.38C154.485 238.392 154.499 238.402 154.513 238.412L143.846 247.482L143.827 247.497C126.56 261.128 109.472 268.745 94.8019 268.745C88.5916 268.837 82.4687 267.272 77.0657 264.208C61.3496 255.132 54.3164 234.062 57.2707 204.871C57.528 202.307 57.8806 199.694 58.2904 197.054C28.3363 185.327 9.52301 167.51 9.52301 147.193C9.52301 129.042 24.2476 112.396 50.9901 100.375C53.3443 99.3163 55.7938 98.3058 58.2904 97.3526C57.8806 94.7023 57.528 92.0803 57.2707 89.516C54.3164 60.3243 61.3496 39.2555 77.0657 30.1797C94.6494 20.0265 119.486 27.3959 144.599 47.4924ZM70.6423 201.315C70.423 202.955 70.2229 204.566 70.0704 206.168C67.6686 229.567 72.5478 246.628 83.3615 252.988L83.5176 253.062C95.0399 259.717 114.015 254.426 134.782 238.38C125.298 229.45 116.594 219.725 108.764 209.314C95.8516 207.742 83.0977 205.066 70.6423 201.315ZM80.3534 163.438C77.34 171.677 74.8666 180.104 72.9484 188.664C81.1787 191.224 89.5657 193.247 98.0572 194.724L98.4618 194.813C95.2115 189.865 92.0191 184.66 88.9311 179.378C85.8433 174.097 83.003 168.768 80.3534 163.438ZM60.759 110.203C59.234 110.839 57.7378 111.475 56.27 112.11C34.7788 121.806 22.3891 134.591 22.3891 147.193C22.3891 160.493 36.4657 174.297 60.7494 184.26C63.7439 171.581 67.8124 159.182 72.9104 147.193C67.822 135.23 63.7566 122.855 60.759 110.203ZM98.4137 99.6404C89.8078 101.145 81.3075 103.206 72.9676 105.809C74.854 114.203 77.2741 122.468 80.2132 130.554L80.3059 130.939C82.9938 125.6 85.8049 120.338 88.8834 115.008C91.9618 109.679 95.1544 104.569 98.4137 99.6404ZM94.9258 38.5215C90.9331 38.4284 86.9866 39.3955 83.4891 41.3243C72.6291 47.6015 67.6975 64.5954 70.0424 87.9446L70.0416 88.2194C70.194 89.8208 70.3941 91.4325 70.6134 93.0624C83.0737 89.3364 95.8263 86.6703 108.736 85.0924C116.57 74.6779 125.28 64.9532 134.773 56.0249C119.877 44.5087 105.895 38.5215 94.9258 38.5215ZM205.737 41.3148C202.268 39.398 198.355 38.4308 194.394 38.5099L194.29 38.512C183.321 38.512 169.34 44.4991 154.444 56.0153C163.93 64.9374 172.634 74.6557 180.462 85.064C193.375 86.6345 206.128 89.3102 218.584 93.0624C218.812 91.4325 219.003 89.8118 219.165 88.2098C221.548 64.7099 216.65 47.6164 205.737 41.3148ZM144.552 64.3097C138.104 70.2614 132.054 76.6306 126.443 83.3765C132.39 82.995 138.426 82.8046 144.552 82.8046C150.727 82.8046 156.778 83.0143 162.707 83.3765C157.08 76.6293 151.015 70.2596 144.552 64.3097Z" fill="white"/><path d="M144.598 47.4924C169.712 27.3959 194.547 20.0265 212.131 30.1797C227.847 39.2555 234.88 60.3243 231.926 89.516C231.677 92.0069 231.327 94.5423 230.941 97.1058L228.526 110.14L228.496 110.127C228.487 110.165 228.478 110.203 228.469 110.24L216.255 105.741L216.249 105.723C207.916 103.125 199.42 101.075 190.82 99.5888L190.696 99.5588L173.525 97.2648L173.511 97.263C173.492 97.236 173.468 97.2176 173.447 97.1905C163.863 96.2064 154.234 95.7166 144.598 95.7223C134.943 95.7162 125.295 96.219 115.693 97.2286C110.075 105.033 104.859 113.118 100.063 121.453C95.2426 129.798 90.8622 138.391 86.939 147.193C90.8622 155.996 95.2426 164.588 100.063 172.933C104.866 181.302 110.099 189.417 115.741 197.245L115.766 197.247L115.752 197.27L115.745 197.283L115.754 197.296L126.501 211.013L126.574 211.089C132.136 217.767 138.126 224.075 144.506 229.974L144.61 230.082L154.572 238.287C154.539 238.319 154.506 238.35 154.473 238.38L154.512 238.412L143.847 247.482L143.827 247.497C126.56 261.13 109.472 268.745 94.8018 268.745C88.5915 268.837 82.4687 267.272 77.0657 264.208C61.3496 255.132 54.3162 234.062 57.2707 204.871C57.528 202.307 57.8806 199.694 58.2904 197.054C28.3362 185.327 9.52298 167.51 9.52298 147.193C9.52298 129.042 24.2476 112.396 50.9901 100.375C53.3443 99.3163 55.7938 98.3058 58.2904 97.3526C57.8806 94.7023 57.528 92.0803 57.2707 89.516C54.3162 60.3243 61.3496 39.2555 77.0657 30.1797C94.6493 20.0265 119.486 27.3959 144.598 47.4924ZM70.6422 201.315C70.423 202.955 70.2229 204.566 70.0704 206.168C67.6686 229.567 72.5478 246.628 83.3615 252.988L83.5175 253.062C95.0399 259.717 114.015 254.426 134.782 238.38C125.298 229.45 116.594 219.725 108.764 209.314C95.8515 207.742 83.0977 205.066 70.6422 201.315ZM80.3534 163.438C77.34 171.677 74.8666 180.104 72.9484 188.664C81.1786 191.224 89.5657 193.247 98.0572 194.724L98.4618 194.813C95.2115 189.865 92.0191 184.66 88.931 179.378C85.8433 174.097 83.003 168.768 80.3534 163.438ZM60.7589 110.203C59.234 110.839 57.7378 111.475 56.2699 112.11C34.7788 121.806 22.3891 134.591 22.3891 147.193C22.3891 160.493 36.4657 174.297 60.7494 184.26C63.7439 171.581 67.8124 159.182 72.9103 147.193C67.822 135.23 63.7566 122.855 60.7589 110.203ZM98.4137 99.6404C89.8078 101.145 81.3075 103.206 72.9676 105.809C74.8539 114.203 77.2741 122.468 80.2132 130.554L80.3059 130.939C82.9938 125.6 85.8049 120.338 88.8834 115.008C91.9618 109.679 95.1544 104.569 98.4137 99.6404ZM94.9258 38.5215C90.9331 38.4284 86.9866 39.3955 83.4891 41.3243C72.629 47.6015 67.6975 64.5954 70.0424 87.9446L70.0415 88.2194C70.194 89.8208 70.3941 91.4325 70.6134 93.0624C83.0737 89.3364 95.8262 86.6703 108.736 85.0924C116.57 74.6779 125.28 64.9532 134.772 56.0249C119.877 44.5087 105.895 38.5215 94.9258 38.5215ZM205.737 41.3148C202.268 39.398 198.355 38.4308 194.394 38.5099L194.291 38.512C183.321 38.512 169.34 44.4991 154.443 56.0153C163.929 64.9374 172.634 74.6557 180.462 85.064C193.374 86.6345 206.129 89.3102 218.584 93.0624C218.813 91.4325 219.003 89.8118 219.166 88.2098C221.548 64.7099 216.65 47.6164 205.737 41.3148ZM144.551 64.3097C138.103 70.2614 132.055 76.6306 126.443 83.3765C132.389 82.995 138.427 82.8046 144.551 82.8046C150.727 82.8046 156.779 83.0143 162.707 83.3765C157.079 76.6293 151.015 70.2596 144.551 64.3097Z" fill="#FF40E0"/></g><mask id="mask1_0_3" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="102" y="84" width="161" height="162"><path d="M235.282 84.827L102.261 112.259L129.693 245.28L262.714 217.848L235.282 84.827Z" fill="white"/></mask><g mask="url(#mask1_0_3)"><path d="M136.863 129.916L213.258 141.224C220.669 142.322 222.495 152.179 215.967 155.856L187.592 171.843L184.135 204.227C183.339 211.678 173.564 213.901 169.624 207.526L129.021 141.831C125.503 136.14 130.245 128.936 136.863 129.916Z" fill="#FF40E0" stroke="#FF40E0" stroke-width="0.817337" stroke-linecap="round" stroke-linejoin="round"/></g></g><defs><clipPath id="clip0_0_3"><rect width="294" height="294" fill="white"/></clipPath></defs></svg>`;
|
|
1213
5255
|
const logoDataUri = `data:image/svg+xml;base64,${btoa(logoSvg)}`;
|
|
1214
5256
|
console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
|
|
1215
5257
|
https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid #d75fcb; padding: 4px 4px 4px 24px; border-radius: 4px; background-image: url("${logoDataUri}"); background-size: 16px 16px; background-repeat: no-repeat; background-position: 4px center; display: inline-block; margin-bottom: 4px;`, "");
|
|
1216
|
-
|
|
5258
|
+
if (navigator.onLine) {
|
|
5259
|
+
fetch("https://www.react-grab.com/api/version", {
|
|
5260
|
+
referrerPolicy: "origin",
|
|
5261
|
+
keepalive: true,
|
|
5262
|
+
priority: "low",
|
|
5263
|
+
cache: "no-store"
|
|
5264
|
+
}).then((res) => res.text()).catch(() => null);
|
|
5265
|
+
}
|
|
1217
5266
|
} catch {
|
|
1218
5267
|
}
|
|
1219
5268
|
};
|
|
1220
5269
|
logIntro();
|
|
1221
|
-
return createRoot((
|
|
5270
|
+
return createRoot((dispose2) => {
|
|
1222
5271
|
const [isHoldingKeys, setIsHoldingKeys] = createSignal(false);
|
|
1223
5272
|
const [mouseX, setMouseX] = createSignal(OFFSCREEN_POSITION);
|
|
1224
5273
|
const [mouseY, setMouseY] = createSignal(OFFSCREEN_POSITION);
|
|
@@ -1337,7 +5386,7 @@ ${context}
|
|
|
1337
5386
|
const createCombinedTextContent = (elements) => elements.map((element) => extractElementTextContent(element).trim()).filter((textContent) => textContent.length > 0).join("\n\n");
|
|
1338
5387
|
const tryCopyWithFallback = async (elements, extraPrompt) => {
|
|
1339
5388
|
let didCopy = false;
|
|
1340
|
-
const isReactProject =
|
|
5389
|
+
const isReactProject = Ee();
|
|
1341
5390
|
try {
|
|
1342
5391
|
const elementSnippetResults = await Promise.allSettled(elements.map(async (element) => {
|
|
1343
5392
|
const htmlPreview = getHTMLPreview(element);
|
|
@@ -1619,6 +5668,8 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
1619
5668
|
return;
|
|
1620
5669
|
}
|
|
1621
5670
|
if (event.code === "Enter" && isHoldingKeys() && !isInputMode()) {
|
|
5671
|
+
event.preventDefault();
|
|
5672
|
+
event.stopPropagation();
|
|
1622
5673
|
setIsToggleMode(true);
|
|
1623
5674
|
if (keydownSpamTimerId !== null) {
|
|
1624
5675
|
window.clearTimeout(keydownSpamTimerId);
|
|
@@ -1645,7 +5696,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
1645
5696
|
}, 200);
|
|
1646
5697
|
return;
|
|
1647
5698
|
}
|
|
1648
|
-
if (event.repeat) return;
|
|
5699
|
+
if (isHoldingKeys() && event.repeat) return;
|
|
1649
5700
|
if (holdTimerId !== null) {
|
|
1650
5701
|
window.clearTimeout(holdTimerId);
|
|
1651
5702
|
}
|
|
@@ -1788,7 +5839,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
1788
5839
|
document.body.style.userSelect = "";
|
|
1789
5840
|
document.body.style.cursor = "";
|
|
1790
5841
|
});
|
|
1791
|
-
const rendererRoot = mountRoot();
|
|
5842
|
+
const rendererRoot = mountRoot(styles_default);
|
|
1792
5843
|
const selectionVisible = createMemo(() => isRendererActive() && !isDragging() && Boolean(targetElement()));
|
|
1793
5844
|
const dragVisible = createMemo(() => isRendererActive() && isDraggingBeyondThreshold());
|
|
1794
5845
|
const labelVariant = createMemo(() => isCopying() ? "processing" : "hover");
|
|
@@ -1889,7 +5940,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
1889
5940
|
}
|
|
1890
5941
|
},
|
|
1891
5942
|
isActive: () => isActivated(),
|
|
1892
|
-
dispose
|
|
5943
|
+
dispose: dispose2
|
|
1893
5944
|
};
|
|
1894
5945
|
});
|
|
1895
5946
|
};
|
|
@@ -1898,5 +5949,67 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
1898
5949
|
var globalApi = null;
|
|
1899
5950
|
var getGlobalApi = () => globalApi;
|
|
1900
5951
|
globalApi = init();
|
|
5952
|
+
/*! Bundled license information:
|
|
5953
|
+
|
|
5954
|
+
bippy/dist/rdt-hook-CrcWl4lP.js:
|
|
5955
|
+
(**
|
|
5956
|
+
* @license bippy
|
|
5957
|
+
*
|
|
5958
|
+
* Copyright (c) Aiden Bai
|
|
5959
|
+
*
|
|
5960
|
+
* This source code is licensed under the MIT license found in the
|
|
5961
|
+
* LICENSE file in the root directory of this source tree.
|
|
5962
|
+
*)
|
|
5963
|
+
|
|
5964
|
+
bippy/dist/install-hook-only-DtUPvEBg.js:
|
|
5965
|
+
(**
|
|
5966
|
+
* @license bippy
|
|
5967
|
+
*
|
|
5968
|
+
* Copyright (c) Aiden Bai
|
|
5969
|
+
*
|
|
5970
|
+
* This source code is licensed under the MIT license found in the
|
|
5971
|
+
* LICENSE file in the root directory of this source tree.
|
|
5972
|
+
*)
|
|
5973
|
+
|
|
5974
|
+
bippy/dist/core-D7_ABaNC.js:
|
|
5975
|
+
(**
|
|
5976
|
+
* @license bippy
|
|
5977
|
+
*
|
|
5978
|
+
* Copyright (c) Aiden Bai
|
|
5979
|
+
*
|
|
5980
|
+
* This source code is licensed under the MIT license found in the
|
|
5981
|
+
* LICENSE file in the root directory of this source tree.
|
|
5982
|
+
*)
|
|
5983
|
+
|
|
5984
|
+
bippy/dist/src-C_DvVIY-.js:
|
|
5985
|
+
(**
|
|
5986
|
+
* @license bippy
|
|
5987
|
+
*
|
|
5988
|
+
* Copyright (c) Aiden Bai
|
|
5989
|
+
*
|
|
5990
|
+
* This source code is licensed under the MIT license found in the
|
|
5991
|
+
* LICENSE file in the root directory of this source tree.
|
|
5992
|
+
*)
|
|
5993
|
+
|
|
5994
|
+
bippy/dist/index.js:
|
|
5995
|
+
(**
|
|
5996
|
+
* @license bippy
|
|
5997
|
+
*
|
|
5998
|
+
* Copyright (c) Aiden Bai
|
|
5999
|
+
*
|
|
6000
|
+
* This source code is licensed under the MIT license found in the
|
|
6001
|
+
* LICENSE file in the root directory of this source tree.
|
|
6002
|
+
*)
|
|
6003
|
+
|
|
6004
|
+
bippy/dist/source.js:
|
|
6005
|
+
(**
|
|
6006
|
+
* @license bippy
|
|
6007
|
+
*
|
|
6008
|
+
* Copyright (c) Aiden Bai
|
|
6009
|
+
*
|
|
6010
|
+
* This source code is licensed under the MIT license found in the
|
|
6011
|
+
* LICENSE file in the root directory of this source tree.
|
|
6012
|
+
*)
|
|
6013
|
+
*/
|
|
1901
6014
|
|
|
1902
6015
|
export { getGlobalApi, init, playCopySound };
|